mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-09 07:48:55 +00:00
support for tgs4 noconfigs needed***
This commit is contained in:
@@ -22,7 +22,6 @@ tgstation.int
|
||||
tgstation.rsc
|
||||
tgstation.lk
|
||||
tgstation.dyn.rsc
|
||||
libmariadb.dll
|
||||
rust_g.dll
|
||||
BSQL.dll
|
||||
*.dll
|
||||
Dockerfile
|
||||
tools/bootstrap/.cache
|
||||
|
||||
@@ -12,3 +12,9 @@ indent_size = 2
|
||||
|
||||
[*.py]
|
||||
indent_style = space
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
[Dockerfile]
|
||||
indent_style = space
|
||||
|
||||
2
.gitattributes
vendored
2
.gitattributes
vendored
@@ -15,7 +15,7 @@
|
||||
*.py text eol=lf
|
||||
*.scss text eol=lf
|
||||
*.sh text eol=lf
|
||||
# *.sql text eol=lf
|
||||
*.sql text eol=lf
|
||||
*.svg text eol=lf
|
||||
*.ts text eol=lf
|
||||
*.tsx text eol=lf
|
||||
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -231,3 +231,6 @@ tools/LinuxOneShot/Database
|
||||
tools/LinuxOneShot/TGS_Config
|
||||
tools/LinuxOneShot/TGS_Instances
|
||||
tools/LinuxOneShot/TGS_Logs
|
||||
|
||||
# Common build tooling
|
||||
!/tools/build
|
||||
|
||||
8
.tgs4.yml
Normal file
8
.tgs4.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
static_files:
|
||||
- name: config
|
||||
populate: true
|
||||
- name: data
|
||||
linux_scripts:
|
||||
PreCompile.sh: tools/tgs4_scripts/PreCompile.sh
|
||||
windows_scripts:
|
||||
PreCompile.bat: tools/tgs4_scripts/PreCompile.bat
|
||||
3
.vscode/extensions.json
vendored
3
.vscode/extensions.json
vendored
@@ -5,6 +5,7 @@
|
||||
"EditorConfig.EditorConfig",
|
||||
"arcanis.vscode-zipfs",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"kevinkyang.auto-comment-blocks"
|
||||
"stylemistake.auto-comment-blocks",
|
||||
"Donkie.vscode-tgstation-test-adapter"
|
||||
]
|
||||
}
|
||||
|
||||
7
.vscode/settings.json
vendored
7
.vscode/settings.json
vendored
@@ -1,8 +1,10 @@
|
||||
{
|
||||
"eslint.nodePath": "tgui/.yarn/sdks",
|
||||
"eslint.nodePath": "./tgui/.yarn/sdks",
|
||||
"eslint.workingDirectories": [
|
||||
"./tgui"
|
||||
],
|
||||
"typescript.tsdk": "./tgui/.yarn/sdks/typescript/lib",
|
||||
"typescript.enablePromptUseWorkspaceTsdk": true,
|
||||
"search.exclude": {
|
||||
"tgui/.yarn": true,
|
||||
"tgui/.pnp.*": true
|
||||
@@ -14,5 +16,6 @@
|
||||
}
|
||||
],
|
||||
"files.eol": "\n",
|
||||
"gitlens.advanced.blame.customArguments": ["-w"]
|
||||
"gitlens.advanced.blame.customArguments": ["-w"],
|
||||
"tgstationTestExplorer.project.resultsType": "json"
|
||||
}
|
||||
|
||||
107
Dockerfile
107
Dockerfile
@@ -1,62 +1,85 @@
|
||||
FROM tgstation/byond:513.1533 as base
|
||||
# base = ubuntu + full apt update
|
||||
FROM ubuntu:xenial AS base
|
||||
|
||||
FROM base as rust_g
|
||||
|
||||
RUN apt-get update \
|
||||
RUN dpkg --add-architecture i386 \
|
||||
&& apt-get update \
|
||||
&& apt-get upgrade -y \
|
||||
&& apt-get dist-upgrade -y \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
git \
|
||||
ca-certificates
|
||||
ca-certificates
|
||||
|
||||
# byond = base + byond installed globally
|
||||
FROM base AS byond
|
||||
WORKDIR /byond
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
curl \
|
||||
unzip \
|
||||
make \
|
||||
libstdc++6:i386
|
||||
|
||||
COPY dependencies.sh .
|
||||
|
||||
RUN . ./dependencies.sh \
|
||||
&& curl "http://www.byond.com/download/build/${BYOND_MAJOR}/${BYOND_MAJOR}.${BYOND_MINOR}_byond_linux.zip" -o byond.zip \
|
||||
&& unzip byond.zip \
|
||||
&& cd byond \
|
||||
&& sed -i 's|install:|&\n\tmkdir -p $(MAN_DIR)/man6|' Makefile \
|
||||
&& make install \
|
||||
&& chmod 644 /usr/local/byond/man/man6/* \
|
||||
&& apt-get purge -y --auto-remove curl unzip make \
|
||||
&& cd .. \
|
||||
&& rm -rf byond byond.zip
|
||||
|
||||
# build = byond + tgstation compiled and deployed to /deploy
|
||||
FROM byond AS build
|
||||
WORKDIR /tgstation
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
curl
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN env TG_BOOTSTRAP_NODE_LINUX=1 tools/build/build \
|
||||
&& tools/deploy.sh /deploy
|
||||
|
||||
# rust = base + rustc and i686 target
|
||||
FROM base AS rust
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
curl && \
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal \
|
||||
&& ~/.cargo/bin/rustup target add i686-unknown-linux-gnu
|
||||
|
||||
# rust_g = base + rust_g compiled to /rust_g
|
||||
FROM rust AS rust_g
|
||||
WORKDIR /rust_g
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
libssl-dev \
|
||||
pkg-config \
|
||||
curl \
|
||||
gcc-multilib \
|
||||
&& curl https://sh.rustup.rs -sSf | sh -s -- -y --default-host i686-unknown-linux-gnu \
|
||||
pkg-config:i386 \
|
||||
libssl-dev:i386 \
|
||||
gcc-multilib \
|
||||
git \
|
||||
&& git init \
|
||||
&& git remote add origin https://github.com/tgstation/rust-g
|
||||
|
||||
COPY dependencies.sh .
|
||||
|
||||
RUN /bin/bash -c "source dependencies.sh \
|
||||
&& git fetch --depth 1 origin \$RUST_G_VERSION" \
|
||||
RUN . ./dependencies.sh \
|
||||
&& git fetch --depth 1 origin "${RUST_G_VERSION}" \
|
||||
&& git checkout FETCH_HEAD \
|
||||
&& ~/.cargo/bin/cargo build --release
|
||||
|
||||
FROM base as dm_base
|
||||
&& env PKG_CONFIG_ALLOW_CROSS=1 ~/.cargo/bin/cargo build --release --target i686-unknown-linux-gnu
|
||||
|
||||
# final = byond + runtime deps + rust_g + build
|
||||
FROM byond
|
||||
WORKDIR /tgstation
|
||||
|
||||
FROM dm_base as build
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
libssl1.0.0:i386 \
|
||||
zlib1g:i386
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN DreamMaker -max_errors 0 tgstation.dme \
|
||||
&& tools/deploy.sh /deploy \
|
||||
&& rm /deploy/*.dll
|
||||
|
||||
FROM dm_base
|
||||
|
||||
EXPOSE 1337
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends software-properties-common \
|
||||
&& add-apt-repository ppa:ubuntu-toolchain-r/test \
|
||||
&& apt-get update \
|
||||
&& apt-get upgrade -y \
|
||||
&& apt-get dist-upgrade -y \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
libmariadb2 \
|
||||
mariadb-client \
|
||||
libssl1.0.0 \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& mkdir -p /root/.byond/bin
|
||||
|
||||
COPY --from=rust_g /rust_g/target/release/librust_g.so /root/.byond/bin/rust_g
|
||||
COPY --from=build /deploy ./
|
||||
COPY --from=rust_g /rust_g/target/i686-unknown-linux-gnu/release/librust_g.so ./librust_g.so
|
||||
|
||||
VOLUME [ "/tgstation/config", "/tgstation/data" ]
|
||||
|
||||
ENTRYPOINT [ "DreamDaemon", "tgstation.dmb", "-port", "1337", "-trusted", "-close", "-verbose" ]
|
||||
EXPOSE 1337
|
||||
|
||||
@@ -4,96 +4,105 @@
|
||||
#define ACHIEVEMENT_SCORE "score"
|
||||
|
||||
//Misc Medal hub IDs
|
||||
#define MEDAL_METEOR "Your Life Before Your Eyes"
|
||||
#define MEDAL_PULSE "Jackpot"
|
||||
#define MEDAL_TIMEWASTE "Overextended The Joke"
|
||||
#define MEDAL_RODSUPLEX "Feat of Strength"
|
||||
#define MEDAL_CLOWNCARKING "Round and Full"
|
||||
#define MEDAL_THANKSALOT "The Best Driver"
|
||||
#define MEDAL_HELBITALJANKEN "Hel-bent on Winning"
|
||||
#define MEDAL_MATERIALCRAFT "Getting an Upgrade"
|
||||
#define MEDAL_DISKPLEASE "Disk, Please!"
|
||||
#define MEDAL_GAMER "I'm Not Important"
|
||||
#define MEDAL_VENDORSQUISH "Teenage Anarchist"
|
||||
#define MEDAL_SWIRLIE "Bowl-d"
|
||||
#define MEDAL_SELFOUCH "Hands???"
|
||||
#define MEDAL_SANDMAN "Mister Sandman"
|
||||
#define MEDAL_CLEANBOSS "Cleanboss"
|
||||
#define MEDAL_RULE8 "Rule 8"
|
||||
#define MEDAL_LONGSHIFT "longshift"
|
||||
#define MEDAL_SNAIL "KKKiiilll mmmeee"
|
||||
#define MEDAL_LOOKOUTSIR "Look Out, Sir!"
|
||||
#define MEDAL_GOTTEM "GOTTEM"
|
||||
#define MEDAL_ASCENSION "Ascension"
|
||||
#define MEDAL_FRENCHING "FrenchingTheBubble"
|
||||
#define MEDAL_ASH_ASCENSION "Ash"
|
||||
#define MEDAL_FLESH_ASCENSION "Flesh"
|
||||
#define MEDAL_RUST_ASCENSION "Rust"
|
||||
#define MEDAL_VOID_ASCENSION "Void"
|
||||
#define MEDAL_TOOLBOX_SOUL "Toolsoul"
|
||||
#define MEDAL_METEOR "Your Life Before Your Eyes"
|
||||
#define MEDAL_PULSE "Jackpot"
|
||||
#define MEDAL_TIMEWASTE "Overextended The Joke"
|
||||
#define MEDAL_RODSUPLEX "Feat of Strength"
|
||||
#define MEDAL_CLOWNCARKING "Round and Full"
|
||||
#define MEDAL_THANKSALOT "The Best Driver"
|
||||
#define MEDAL_HELBITALJANKEN "Hel-bent on Winning"
|
||||
#define MEDAL_MATERIALCRAFT "Getting an Upgrade"
|
||||
#define MEDAL_DISKPLEASE "Disk, Please!"
|
||||
#define MEDAL_GAMER "I'm Not Important"
|
||||
#define MEDAL_VENDORSQUISH "Teenage Anarchist"
|
||||
#define MEDAL_SWIRLIE "Bowl-d"
|
||||
#define MEDAL_SELFOUCH "Hands???"
|
||||
#define MEDAL_SANDMAN "Mister Sandman"
|
||||
#define MEDAL_CLEANBOSS "Cleanboss"
|
||||
#define MEDAL_RULE8 "Rule 8"
|
||||
#define MEDAL_LONGSHIFT "longshift"
|
||||
#define MEDAL_SNAIL "KKKiiilll mmmeee"
|
||||
#define MEDAL_LOOKOUTSIR "Look Out, Sir!"
|
||||
#define MEDAL_GOTTEM "GOTTEM"
|
||||
#define MEDAL_ASCENSION "Ascension"
|
||||
#define MEDAL_FRENCHING "FrenchingTheBubble"
|
||||
#define MEDAL_ASH_ASCENSION "Ash"
|
||||
#define MEDAL_FLESH_ASCENSION "Flesh"
|
||||
#define MEDAL_RUST_ASCENSION "Rust"
|
||||
#define MEDAL_VOID_ASCENSION "Void"
|
||||
#define MEDAL_TOOLBOX_SOUL "Toolsoul"
|
||||
#define MEDAL_CHEM_TUT "Beginner Chemist"
|
||||
|
||||
//Skill medal hub IDs
|
||||
#define MEDAL_LEGENDARY_MINER "Legendary Miner"
|
||||
#define MEDAL_LEGENDARY_MINER "Legendary Miner"
|
||||
|
||||
//Mafia medal hub IDs (wins)
|
||||
#define MAFIA_MEDAL_ASSISTANT "Assistant"
|
||||
#define MAFIA_MEDAL_DETECTIVE "Detective"
|
||||
#define MAFIA_MEDAL_PSYCHOLOGIST "Psychologist"
|
||||
#define MAFIA_MEDAL_CHAPLAIN "Chaplain"
|
||||
#define MAFIA_MEDAL_MD "Medical Doctor"
|
||||
#define MAFIA_MEDAL_LAWYER "Lawyer"
|
||||
#define MAFIA_MEDAL_HOP "Head of Personnel"
|
||||
#define MAFIA_MEDAL_CHANGELING "CHANGELING"
|
||||
#define MAFIA_MEDAL_THOUGHTFEEDER "Thoughtfeeder"
|
||||
#define MAFIA_MEDAL_TRAITOR "Traitor"
|
||||
#define MAFIA_MEDAL_NIGHTMARE "Nightmare"
|
||||
#define MAFIA_MEDAL_FUGITIVE "Fugitive"
|
||||
#define MAFIA_MEDAL_OBSESSED "Obsessed"
|
||||
#define MAFIA_MEDAL_CLOWN "Clown"
|
||||
#define MAFIA_MEDAL_ASSISTANT "Assistant"
|
||||
#define MAFIA_MEDAL_DETECTIVE "Detective"
|
||||
#define MAFIA_MEDAL_PSYCHOLOGIST "Psychologist"
|
||||
#define MAFIA_MEDAL_CHAPLAIN "Chaplain"
|
||||
#define MAFIA_MEDAL_MD "Medical Doctor"
|
||||
#define MAFIA_MEDAL_OFFICER "Security Officer"
|
||||
#define MAFIA_MEDAL_LAWYER "Lawyer"
|
||||
#define MAFIA_MEDAL_HOP "Head of Personnel"
|
||||
#define MAFIA_MEDAL_HOS "Head of Security"
|
||||
#define MAFIA_MEDAL_WARDEN "Warden"
|
||||
#define MAFIA_MEDAL_CHANGELING "CHANGELING"
|
||||
#define MAFIA_MEDAL_THOUGHTFEEDER "Thoughtfeeder"
|
||||
#define MAFIA_MEDAL_TRAITOR "Traitor"
|
||||
#define MAFIA_MEDAL_NIGHTMARE "Nightmare"
|
||||
#define MAFIA_MEDAL_FUGITIVE "Fugitive"
|
||||
#define MAFIA_MEDAL_OBSESSED "Obsessed"
|
||||
#define MAFIA_MEDAL_CLOWN "Clown"
|
||||
|
||||
//Mafia medal hub IDs (misc stuff)
|
||||
#define MAFIA_MEDAL_HATED "Universally Hated"
|
||||
#define MAFIA_MEDAL_HATED "Universally Hated"
|
||||
#define MAFIA_MEDAL_CHARISMATIC "Charismatic"
|
||||
#define MAFIA_MEDAL_VIP "VIP"
|
||||
|
||||
//Boss medals
|
||||
|
||||
// Medal hub IDs for boss medals (Pre-fixes)
|
||||
#define BOSS_MEDAL_ANY "Boss Killer"
|
||||
#define BOSS_MEDAL_MINER "Blood-drunk Miner Killer"
|
||||
#define BOSS_MEDAL_ANY "Boss Killer"
|
||||
#define BOSS_MEDAL_MINER "Blood-drunk Miner Killer"
|
||||
#define BOSS_MEDAL_FROSTMINER "Demonic-frost Miner Killer"
|
||||
#define BOSS_MEDAL_BUBBLEGUM "Bubblegum Killer"
|
||||
#define BOSS_MEDAL_COLOSSUS "Colossus Killer"
|
||||
#define BOSS_MEDAL_DRAKE "Drake Killer"
|
||||
#define BOSS_MEDAL_COLOSSUS "Colossus Killer"
|
||||
#define BOSS_MEDAL_DRAKE "Drake Killer"
|
||||
#define BOSS_MEDAL_HIEROPHANT "Hierophant Killer"
|
||||
#define BOSS_MEDAL_LEGION "Legion Killer"
|
||||
#define BOSS_MEDAL_TENDRIL "Tendril Exterminator"
|
||||
#define BOSS_MEDAL_LEGION "Legion Killer"
|
||||
#define BOSS_MEDAL_TENDRIL "Tendril Exterminator"
|
||||
#define BOSS_MEDAL_SWARMERS "Swarmer Beacon Killer"
|
||||
#define BOSS_MEDAL_WENDIGO "Wendigo Killer"
|
||||
#define BOSS_MEDAL_KINGGOAT "King Goat Killer"
|
||||
|
||||
#define BOSS_MEDAL_MINER_CRUSHER "Blood-drunk Miner Crusher"
|
||||
#define BOSS_MEDAL_FROSTMINER_CRUSHER "Demonic-frost Miner Crusher"
|
||||
#define BOSS_MEDAL_BUBBLEGUM_CRUSHER "Bubblegum Crusher"
|
||||
#define BOSS_MEDAL_COLOSSUS_CRUSHER "Colossus Crusher"
|
||||
#define BOSS_MEDAL_DRAKE_CRUSHER "Drake Crusher"
|
||||
#define BOSS_MEDAL_HIEROPHANT_CRUSHER "Hierophant Crusher"
|
||||
#define BOSS_MEDAL_LEGION_CRUSHER "Legion Crusher"
|
||||
#define BOSS_MEDAL_SWARMERS_CRUSHER "Swarmer Beacon Crusher"
|
||||
#define BOSS_MEDAL_WENDIGO_CRUSHER "Wendigo Crusher"
|
||||
#define BOSS_MEDAL_KINGGOAT_CRUSHER "King Goat Crusher"
|
||||
#define BOSS_MEDAL_MINER_CRUSHER "Blood-drunk Miner Crusher"
|
||||
#define BOSS_MEDAL_FROSTMINER_CRUSHER "Demonic-frost Miner Crusher"
|
||||
#define BOSS_MEDAL_BUBBLEGUM_CRUSHER "Bubblegum Crusher"
|
||||
#define BOSS_MEDAL_COLOSSUS_CRUSHER "Colossus Crusher"
|
||||
#define BOSS_MEDAL_DRAKE_CRUSHER "Drake Crusher"
|
||||
#define BOSS_MEDAL_HIEROPHANT_CRUSHER "Hierophant Crusher"
|
||||
#define BOSS_MEDAL_LEGION_CRUSHER "Legion Crusher"
|
||||
#define BOSS_MEDAL_SWARMERS_CRUSHER "Swarmer Beacon Crusher"
|
||||
#define BOSS_MEDAL_WENDIGO_CRUSHER "Wendigo Crusher"
|
||||
#define BOSS_MEDAL_KINGGOAT_CRUSHER "King Goat Crusher"
|
||||
|
||||
// Medal hub IDs for boss-kill scores
|
||||
#define BOSS_SCORE "Bosses Killed"
|
||||
#define MINER_SCORE "BDMs Killed"
|
||||
#define FROST_MINER_SCORE "DFMs Killed"
|
||||
#define BUBBLEGUM_SCORE "Bubblegum Killed"
|
||||
#define COLOSSUS_SCORE "Colossus Killed"
|
||||
#define DRAKE_SCORE "Drakes Killed"
|
||||
#define HIEROPHANT_SCORE "Hierophants Killed"
|
||||
#define LEGION_SCORE "Legion Killed"
|
||||
#define BOSS_SCORE "Bosses Killed"
|
||||
#define MINER_SCORE "BDMs Killed"
|
||||
#define FROST_MINER_SCORE "DFMs Killed"
|
||||
#define BUBBLEGUM_SCORE "Bubblegum Killed"
|
||||
#define COLOSSUS_SCORE "Colossus Killed"
|
||||
#define DRAKE_SCORE "Drakes Killed"
|
||||
#define HIEROPHANT_SCORE "Hierophants Killed"
|
||||
#define LEGION_SCORE "Legion Killed"
|
||||
#define SWARMER_BEACON_SCORE "Swarmer Beacs Killed"
|
||||
#define WENDIGO_SCORE "Wendigos Killed"
|
||||
#define KINGGOAT_SCORE "King Goat Killed"
|
||||
#define TENDRIL_CLEAR_SCORE "Tendrils Killed"
|
||||
#define WENDIGO_SCORE "Wendigos Killed"
|
||||
#define KINGGOAT_SCORE "King Goat Killed"
|
||||
#define TENDRIL_CLEAR_SCORE "Tendrils Killed"
|
||||
|
||||
// DB IDs for hardcore random mode
|
||||
// DB ID for hardcore random mode
|
||||
#define HARDCORE_RANDOM_SCORE "Hardcore Random Score"
|
||||
|
||||
// DB ID for amount of consumed maintenance pills
|
||||
#define MAINTENANCE_PILL_SCORE "Maintenance Pill Score"
|
||||
|
||||
@@ -53,7 +53,7 @@ SUBSYSTEM_DEF(achievements)
|
||||
/datum/controller/subsystem/achievements/proc/update_metadata()
|
||||
var/list/current_metadata = list()
|
||||
//select metadata here
|
||||
var/datum/DBQuery/Q = SSdbcore.NewQuery("SELECT achievement_key,achievement_version FROM [format_table_name("achievement_metadata")]")
|
||||
var/datum/db_query/Q = SSdbcore.NewQuery("SELECT achievement_key,achievement_version FROM [format_table_name("achievement_metadata")]")
|
||||
if(!Q.Execute(async = TRUE))
|
||||
qdel(Q)
|
||||
return
|
||||
|
||||
@@ -32,8 +32,9 @@
|
||||
set waitfor = FALSE
|
||||
|
||||
var/list/kv = list()
|
||||
var/datum/DBQuery/Query = SSdbcore.NewQuery(
|
||||
"SELECT achievement_key,value FROM [format_table_name("achievements")] WHERE ckey = [owner_ckey]",
|
||||
var/datum/db_query/Query = SSdbcore.NewQuery(
|
||||
"SELECT achievement_key,value FROM [format_table_name("achievements")] WHERE ckey = :ckey",
|
||||
list("ckey" = owner_ckey)
|
||||
)
|
||||
if(!Query.Execute())
|
||||
qdel(Query)
|
||||
|
||||
@@ -44,8 +44,9 @@
|
||||
|
||||
///Get raw numerical achievement value from the database
|
||||
/datum/award/proc/get_raw_value(key)
|
||||
var/datum/DBQuery/Q = SSdbcore.NewQuery(
|
||||
"SELECT value FROM [format_table_name("achievements")] WHERE ckey = [key] AND achievement_key = [database_id]"
|
||||
var/datum/db_query/Q = SSdbcore.NewQuery(
|
||||
"SELECT value FROM [format_table_name("achievements")] WHERE ckey = :ckey AND achievement_key = :achievement_key",
|
||||
list("ckey" = key, "achievement_key" = database_id)
|
||||
)
|
||||
if(!Q.Execute(async = TRUE))
|
||||
qdel(Q)
|
||||
@@ -98,8 +99,9 @@
|
||||
.["achievement_type"] = "score"
|
||||
|
||||
/datum/award/score/proc/LoadHighScores()
|
||||
var/datum/DBQuery/Q = SSdbcore.NewQuery(
|
||||
"SELECT ckey,value FROM [format_table_name("achievements")] WHERE achievement_key = [database_id] ORDER BY value DESC LIMIT 50"
|
||||
var/datum/db_query/Q = SSdbcore.NewQuery(
|
||||
"SELECT ckey,value FROM [format_table_name("achievements")] WHERE achievement_key = :achievement_key ORDER BY value DESC LIMIT 50",
|
||||
list("achievement_key" = database_id)
|
||||
)
|
||||
if(!Q.Execute(async = TRUE))
|
||||
qdel(Q)
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
/datum/award/score/hardcore_random
|
||||
name = "Hardcore random points"
|
||||
desc = "Well, I might be a blind, deaf, crippled guy, but hey, at least I'm alive."
|
||||
database_id = HARDCORE_RANDOM_SCORE
|
||||
@@ -8,85 +8,103 @@
|
||||
name = "Assistant Victory"
|
||||
desc = "If you got killed instead of someone more important, you just flexed the true strength of your \"\"\"\"role\"\"\"\"."
|
||||
database_id = MAFIA_MEDAL_ASSISTANT
|
||||
icon = "assistant"
|
||||
icon = "town"
|
||||
|
||||
/datum/award/achievement/mafia/detective
|
||||
name = "Detective Victory"
|
||||
desc = "If you did this with a Medical Doctor in the game, i'm not really that impressed."
|
||||
database_id = MAFIA_MEDAL_DETECTIVE
|
||||
icon = "detective"
|
||||
icon = "town"
|
||||
|
||||
/datum/award/achievement/mafia/psychologist
|
||||
name = "Psychologist Victory"
|
||||
desc = "You learned how to not reveal someone random night one! Or... maybe you're just a lucky bastard."
|
||||
database_id = MAFIA_MEDAL_PSYCHOLOGIST
|
||||
icon = "psychologist"
|
||||
icon = "town"
|
||||
|
||||
/datum/award/achievement/mafia/chaplain
|
||||
name = "Chaplain Victory"
|
||||
desc = "Useless... until the one night the thoughtfeeder confidently claims themselves as detective. Mafia's true bullshit detector."
|
||||
database_id = MAFIA_MEDAL_CHAPLAIN
|
||||
icon = "chaplain"
|
||||
icon = "town"
|
||||
|
||||
/datum/award/achievement/mafia/md
|
||||
name = "Medical Doctor Victory"
|
||||
desc = "Congratulations on learning how to not talk!"
|
||||
database_id = MAFIA_MEDAL_MD
|
||||
icon = "md"
|
||||
icon = "town"
|
||||
|
||||
/datum/award/achievement/mafia/officer
|
||||
name = "Security Officer Victory"
|
||||
desc = "Don't worry, you can win this if you're dead! You... did use your ability to become dead, right?"
|
||||
database_id = MAFIA_MEDAL_OFFICER
|
||||
icon = "town"
|
||||
|
||||
/datum/award/achievement/mafia/lawyer
|
||||
name = "Lawyer Victory"
|
||||
desc = "Oh don't mind me, i'm just the worst rol- Oops, I just instantly ended the game."
|
||||
database_id = MAFIA_MEDAL_LAWYER
|
||||
icon = "lawyer"
|
||||
icon = "town"
|
||||
|
||||
/datum/award/achievement/mafia/hop
|
||||
name = "Head of Personnel Victory"
|
||||
desc = "King of Assistants, waster of a single mafia's night, thrower of games."
|
||||
database_id = MAFIA_MEDAL_HOP
|
||||
icon = "hop"
|
||||
icon = "town"
|
||||
|
||||
/datum/award/achievement/mafia/warden
|
||||
name = "Warden Victory"
|
||||
desc = "Make changelings think you're detective, go on lockdown, actual detective investigates you and dies. Cha cha real smooth!"
|
||||
database_id = MAFIA_MEDAL_WARDEN
|
||||
icon = "town"
|
||||
|
||||
/datum/award/achievement/mafia/hos
|
||||
name = "Head of Security Victory"
|
||||
desc = "Certified not shitcurity."
|
||||
database_id = MAFIA_MEDAL_HOS
|
||||
icon = "town"
|
||||
|
||||
/datum/award/achievement/mafia/changeling
|
||||
name = "Changeling Victory"
|
||||
desc = "I think the changelings are metacomming."
|
||||
database_id = MAFIA_MEDAL_CHANGELING
|
||||
icon = "changeling"
|
||||
icon = "mafia"
|
||||
|
||||
/datum/award/achievement/mafia/thoughtfeeder
|
||||
name = "Thoughtfeeder Victory"
|
||||
desc = "Clown's best friend. And Obsessed. And fugitive? Whose side are you on?!"
|
||||
database_id = MAFIA_MEDAL_THOUGHTFEEDER
|
||||
icon = "thoughtfeeder"
|
||||
icon = "mafia"
|
||||
|
||||
/datum/award/achievement/mafia/traitor
|
||||
name = "Traitor Victory"
|
||||
desc = "Guys, we still have two more changelings to ki-!! TRAITOR VICTORY !!"
|
||||
database_id = MAFIA_MEDAL_TRAITOR
|
||||
icon = "traitor"
|
||||
icon = "neutral"
|
||||
|
||||
/datum/award/achievement/mafia/nightmare
|
||||
name = "Nightmare Victory"
|
||||
desc = "DID YOUR LIGHT FLICKER?!"
|
||||
database_id = MAFIA_MEDAL_NIGHTMARE
|
||||
icon = "nightmare"
|
||||
icon = "neutral"
|
||||
|
||||
/datum/award/achievement/mafia/fugitive
|
||||
name = "Fugitive Victory"
|
||||
desc = "I'm just the description on an achievement, but if you end up having to choose between town and changelings, go changelings."
|
||||
database_id = MAFIA_MEDAL_FUGITIVE
|
||||
icon = "fugitive"
|
||||
icon = "neutral"
|
||||
|
||||
/datum/award/achievement/mafia/obsessed
|
||||
name = "Obsessed Victory"
|
||||
desc = "You got your target lynched, so instead of being spiteful and annoying, you're just smug and annoying."
|
||||
database_id = MAFIA_MEDAL_OBSESSED
|
||||
icon = "obsessed"
|
||||
icon = "neutral"
|
||||
|
||||
/datum/award/achievement/mafia/clown
|
||||
name = "Clown Victory"
|
||||
desc = "Did you know this works on traitors, despite their immunity? If you hit the jackpot and manage to kill one, they'll salt into the next dimension. Clown tips!"
|
||||
database_id = MAFIA_MEDAL_CLOWN
|
||||
icon = "clown"
|
||||
icon = "neutral"
|
||||
|
||||
///ALL THE ACHIEVEMENTS FOR MISC MAFIA ODDITIES///
|
||||
|
||||
|
||||
@@ -144,7 +144,7 @@
|
||||
|
||||
/datum/award/achievement/misc/void_ascension
|
||||
name = "All that perish"
|
||||
desc = "Place of a diffrent being, diffrent time. Everything ends there... but maybe it is just the beginning?"
|
||||
desc = "Place of a different being, different time. Everything ends there... but maybe it is just the beginning?"
|
||||
database_id = MEDAL_VOID_ASCENSION
|
||||
icon = "voidascend"
|
||||
|
||||
@@ -153,3 +153,9 @@
|
||||
desc = "My eternal soul was destroyed to make a toolbox look funny and all I got was this achievement..."
|
||||
database_id = MEDAL_TOOLBOX_SOUL
|
||||
icon = "toolbox_soul"
|
||||
|
||||
/datum/award/achievement/misc/chemistry_tut
|
||||
name = "Perfect chemistry blossom"
|
||||
desc = "Passed the chemistry tutorial with perfect purity!"
|
||||
database_id = MEDAL_CHEM_TUT
|
||||
icon = "chem_tut"
|
||||
|
||||
11
code/datums/achievements/misc_scores.dm
Normal file
11
code/datums/achievements/misc_scores.dm
Normal file
@@ -0,0 +1,11 @@
|
||||
///How many times did we survive being a cripple?
|
||||
/datum/award/score/hardcore_random
|
||||
name = "Hardcore random points"
|
||||
desc = "Well, I might be a blind, deaf, crippled guy, but hey, at least I'm alive."
|
||||
database_id = HARDCORE_RANDOM_SCORE
|
||||
|
||||
///How many maintenance pills did you eat?
|
||||
/datum/award/score/maintenance_pill
|
||||
name = "Maintenance Pills Consumed"
|
||||
desc = "Wait why?"
|
||||
database_id = MAINTENANCE_PILL_SCORE
|
||||
@@ -642,10 +642,6 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
|
||||
if (!server_url)
|
||||
CRASH("Invalid cross comms config: [server_name]")
|
||||
world.Export("[server_url]?[list2params(message)]")
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
|
||||
>>>>>>> origin/master
|
||||
|
||||
/proc/ircadminwho()
|
||||
var/list/message = list("Admins: ")
|
||||
|
||||
@@ -4,23 +4,21 @@
|
||||
#Final authority on what's required to fully build the project
|
||||
|
||||
# byond version
|
||||
# Extracted from the Dockerfile. Change by editing Dockerfile's FROM command.
|
||||
LIST="$(sed -n 's/.*byond:\([0-9]\+\)\.\([0-9]\+\).*/\1 \2/p' Dockerfile)"
|
||||
export BYOND_MAJOR=${LIST% *}
|
||||
export BYOND_MINOR=${LIST#* }
|
||||
unset LIST
|
||||
export BYOND_MAJOR=513
|
||||
export BYOND_MINOR=1536
|
||||
|
||||
#rust_g git tag
|
||||
export RUST_G_VERSION=0.4.7
|
||||
|
||||
#node version
|
||||
export NODE_VERSION=12
|
||||
export NODE_VERSION_PRECISE=12.20.0
|
||||
|
||||
# SpacemanDMM git tag
|
||||
export SPACEMAN_DMM_VERSION=suite-1.6
|
||||
|
||||
# Extools git tag
|
||||
export EXTOOLS_VERSION=v0.0.6
|
||||
export EXTOOLS_VERSION=v0.0.7
|
||||
|
||||
# Python version for mapmerge and other tools
|
||||
export PYTHON_VERSION=3.6.8
|
||||
|
||||
@@ -434,9 +434,9 @@
|
||||
#include "code\datums\achievements\_awards.dm"
|
||||
#include "code\datums\achievements\boss_achievements.dm"
|
||||
#include "code\datums\achievements\boss_scores.dm"
|
||||
#include "code\datums\achievements\hardcore_random.dm"
|
||||
#include "code\datums\achievements\mafia_achievements.dm"
|
||||
#include "code\datums\achievements\misc_achievements.dm"
|
||||
#include "code\datums\achievements\misc_scores.dm"
|
||||
#include "code\datums\achievements\skill_achievements.dm"
|
||||
#include "code\datums\actions\beam_rifle.dm"
|
||||
#include "code\datums\actions\ninja.dm"
|
||||
|
||||
Reference in New Issue
Block a user