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.rsc
|
||||||
tgstation.lk
|
tgstation.lk
|
||||||
tgstation.dyn.rsc
|
tgstation.dyn.rsc
|
||||||
libmariadb.dll
|
*.dll
|
||||||
rust_g.dll
|
|
||||||
BSQL.dll
|
|
||||||
Dockerfile
|
Dockerfile
|
||||||
|
tools/bootstrap/.cache
|
||||||
|
|||||||
@@ -12,3 +12,9 @@ indent_size = 2
|
|||||||
|
|
||||||
[*.py]
|
[*.py]
|
||||||
indent_style = space
|
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
|
*.py text eol=lf
|
||||||
*.scss text eol=lf
|
*.scss text eol=lf
|
||||||
*.sh text eol=lf
|
*.sh text eol=lf
|
||||||
# *.sql text eol=lf
|
*.sql text eol=lf
|
||||||
*.svg text eol=lf
|
*.svg text eol=lf
|
||||||
*.ts text eol=lf
|
*.ts text eol=lf
|
||||||
*.tsx 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_Config
|
||||||
tools/LinuxOneShot/TGS_Instances
|
tools/LinuxOneShot/TGS_Instances
|
||||||
tools/LinuxOneShot/TGS_Logs
|
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",
|
"EditorConfig.EditorConfig",
|
||||||
"arcanis.vscode-zipfs",
|
"arcanis.vscode-zipfs",
|
||||||
"dbaeumer.vscode-eslint",
|
"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": [
|
"eslint.workingDirectories": [
|
||||||
"./tgui"
|
"./tgui"
|
||||||
],
|
],
|
||||||
|
"typescript.tsdk": "./tgui/.yarn/sdks/typescript/lib",
|
||||||
|
"typescript.enablePromptUseWorkspaceTsdk": true,
|
||||||
"search.exclude": {
|
"search.exclude": {
|
||||||
"tgui/.yarn": true,
|
"tgui/.yarn": true,
|
||||||
"tgui/.pnp.*": true
|
"tgui/.pnp.*": true
|
||||||
@@ -14,5 +16,6 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"files.eol": "\n",
|
"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 dpkg --add-architecture i386 \
|
||||||
|
&& apt-get update \
|
||||||
RUN apt-get update \
|
&& apt-get upgrade -y \
|
||||||
|
&& apt-get dist-upgrade -y \
|
||||||
&& apt-get install -y --no-install-recommends \
|
&& 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
|
WORKDIR /rust_g
|
||||||
|
|
||||||
RUN apt-get install -y --no-install-recommends \
|
RUN apt-get install -y --no-install-recommends \
|
||||||
libssl-dev \
|
pkg-config:i386 \
|
||||||
pkg-config \
|
libssl-dev:i386 \
|
||||||
curl \
|
gcc-multilib \
|
||||||
gcc-multilib \
|
git \
|
||||||
&& curl https://sh.rustup.rs -sSf | sh -s -- -y --default-host i686-unknown-linux-gnu \
|
|
||||||
&& git init \
|
&& git init \
|
||||||
&& git remote add origin https://github.com/tgstation/rust-g
|
&& git remote add origin https://github.com/tgstation/rust-g
|
||||||
|
|
||||||
COPY dependencies.sh .
|
COPY dependencies.sh .
|
||||||
|
|
||||||
RUN /bin/bash -c "source dependencies.sh \
|
RUN . ./dependencies.sh \
|
||||||
&& git fetch --depth 1 origin \$RUST_G_VERSION" \
|
&& git fetch --depth 1 origin "${RUST_G_VERSION}" \
|
||||||
&& git checkout FETCH_HEAD \
|
&& git checkout FETCH_HEAD \
|
||||||
&& ~/.cargo/bin/cargo build --release
|
&& env PKG_CONFIG_ALLOW_CROSS=1 ~/.cargo/bin/cargo build --release --target i686-unknown-linux-gnu
|
||||||
|
|
||||||
FROM base as dm_base
|
|
||||||
|
|
||||||
|
# final = byond + runtime deps + rust_g + build
|
||||||
|
FROM byond
|
||||||
WORKDIR /tgstation
|
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=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" ]
|
VOLUME [ "/tgstation/config", "/tgstation/data" ]
|
||||||
|
|
||||||
ENTRYPOINT [ "DreamDaemon", "tgstation.dmb", "-port", "1337", "-trusted", "-close", "-verbose" ]
|
ENTRYPOINT [ "DreamDaemon", "tgstation.dmb", "-port", "1337", "-trusted", "-close", "-verbose" ]
|
||||||
|
EXPOSE 1337
|
||||||
|
|||||||
@@ -4,96 +4,105 @@
|
|||||||
#define ACHIEVEMENT_SCORE "score"
|
#define ACHIEVEMENT_SCORE "score"
|
||||||
|
|
||||||
//Misc Medal hub IDs
|
//Misc Medal hub IDs
|
||||||
#define MEDAL_METEOR "Your Life Before Your Eyes"
|
#define MEDAL_METEOR "Your Life Before Your Eyes"
|
||||||
#define MEDAL_PULSE "Jackpot"
|
#define MEDAL_PULSE "Jackpot"
|
||||||
#define MEDAL_TIMEWASTE "Overextended The Joke"
|
#define MEDAL_TIMEWASTE "Overextended The Joke"
|
||||||
#define MEDAL_RODSUPLEX "Feat of Strength"
|
#define MEDAL_RODSUPLEX "Feat of Strength"
|
||||||
#define MEDAL_CLOWNCARKING "Round and Full"
|
#define MEDAL_CLOWNCARKING "Round and Full"
|
||||||
#define MEDAL_THANKSALOT "The Best Driver"
|
#define MEDAL_THANKSALOT "The Best Driver"
|
||||||
#define MEDAL_HELBITALJANKEN "Hel-bent on Winning"
|
#define MEDAL_HELBITALJANKEN "Hel-bent on Winning"
|
||||||
#define MEDAL_MATERIALCRAFT "Getting an Upgrade"
|
#define MEDAL_MATERIALCRAFT "Getting an Upgrade"
|
||||||
#define MEDAL_DISKPLEASE "Disk, Please!"
|
#define MEDAL_DISKPLEASE "Disk, Please!"
|
||||||
#define MEDAL_GAMER "I'm Not Important"
|
#define MEDAL_GAMER "I'm Not Important"
|
||||||
#define MEDAL_VENDORSQUISH "Teenage Anarchist"
|
#define MEDAL_VENDORSQUISH "Teenage Anarchist"
|
||||||
#define MEDAL_SWIRLIE "Bowl-d"
|
#define MEDAL_SWIRLIE "Bowl-d"
|
||||||
#define MEDAL_SELFOUCH "Hands???"
|
#define MEDAL_SELFOUCH "Hands???"
|
||||||
#define MEDAL_SANDMAN "Mister Sandman"
|
#define MEDAL_SANDMAN "Mister Sandman"
|
||||||
#define MEDAL_CLEANBOSS "Cleanboss"
|
#define MEDAL_CLEANBOSS "Cleanboss"
|
||||||
#define MEDAL_RULE8 "Rule 8"
|
#define MEDAL_RULE8 "Rule 8"
|
||||||
#define MEDAL_LONGSHIFT "longshift"
|
#define MEDAL_LONGSHIFT "longshift"
|
||||||
#define MEDAL_SNAIL "KKKiiilll mmmeee"
|
#define MEDAL_SNAIL "KKKiiilll mmmeee"
|
||||||
#define MEDAL_LOOKOUTSIR "Look Out, Sir!"
|
#define MEDAL_LOOKOUTSIR "Look Out, Sir!"
|
||||||
#define MEDAL_GOTTEM "GOTTEM"
|
#define MEDAL_GOTTEM "GOTTEM"
|
||||||
#define MEDAL_ASCENSION "Ascension"
|
#define MEDAL_ASCENSION "Ascension"
|
||||||
#define MEDAL_FRENCHING "FrenchingTheBubble"
|
#define MEDAL_FRENCHING "FrenchingTheBubble"
|
||||||
#define MEDAL_ASH_ASCENSION "Ash"
|
#define MEDAL_ASH_ASCENSION "Ash"
|
||||||
#define MEDAL_FLESH_ASCENSION "Flesh"
|
#define MEDAL_FLESH_ASCENSION "Flesh"
|
||||||
#define MEDAL_RUST_ASCENSION "Rust"
|
#define MEDAL_RUST_ASCENSION "Rust"
|
||||||
#define MEDAL_VOID_ASCENSION "Void"
|
#define MEDAL_VOID_ASCENSION "Void"
|
||||||
#define MEDAL_TOOLBOX_SOUL "Toolsoul"
|
#define MEDAL_TOOLBOX_SOUL "Toolsoul"
|
||||||
|
#define MEDAL_CHEM_TUT "Beginner Chemist"
|
||||||
|
|
||||||
//Skill medal hub IDs
|
//Skill medal hub IDs
|
||||||
#define MEDAL_LEGENDARY_MINER "Legendary Miner"
|
#define MEDAL_LEGENDARY_MINER "Legendary Miner"
|
||||||
|
|
||||||
//Mafia medal hub IDs (wins)
|
//Mafia medal hub IDs (wins)
|
||||||
#define MAFIA_MEDAL_ASSISTANT "Assistant"
|
#define MAFIA_MEDAL_ASSISTANT "Assistant"
|
||||||
#define MAFIA_MEDAL_DETECTIVE "Detective"
|
#define MAFIA_MEDAL_DETECTIVE "Detective"
|
||||||
#define MAFIA_MEDAL_PSYCHOLOGIST "Psychologist"
|
#define MAFIA_MEDAL_PSYCHOLOGIST "Psychologist"
|
||||||
#define MAFIA_MEDAL_CHAPLAIN "Chaplain"
|
#define MAFIA_MEDAL_CHAPLAIN "Chaplain"
|
||||||
#define MAFIA_MEDAL_MD "Medical Doctor"
|
#define MAFIA_MEDAL_MD "Medical Doctor"
|
||||||
#define MAFIA_MEDAL_LAWYER "Lawyer"
|
#define MAFIA_MEDAL_OFFICER "Security Officer"
|
||||||
#define MAFIA_MEDAL_HOP "Head of Personnel"
|
#define MAFIA_MEDAL_LAWYER "Lawyer"
|
||||||
#define MAFIA_MEDAL_CHANGELING "CHANGELING"
|
#define MAFIA_MEDAL_HOP "Head of Personnel"
|
||||||
#define MAFIA_MEDAL_THOUGHTFEEDER "Thoughtfeeder"
|
#define MAFIA_MEDAL_HOS "Head of Security"
|
||||||
#define MAFIA_MEDAL_TRAITOR "Traitor"
|
#define MAFIA_MEDAL_WARDEN "Warden"
|
||||||
#define MAFIA_MEDAL_NIGHTMARE "Nightmare"
|
#define MAFIA_MEDAL_CHANGELING "CHANGELING"
|
||||||
#define MAFIA_MEDAL_FUGITIVE "Fugitive"
|
#define MAFIA_MEDAL_THOUGHTFEEDER "Thoughtfeeder"
|
||||||
#define MAFIA_MEDAL_OBSESSED "Obsessed"
|
#define MAFIA_MEDAL_TRAITOR "Traitor"
|
||||||
#define MAFIA_MEDAL_CLOWN "Clown"
|
#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)
|
//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
|
//Boss medals
|
||||||
|
|
||||||
// Medal hub IDs for boss medals (Pre-fixes)
|
// Medal hub IDs for boss medals (Pre-fixes)
|
||||||
#define BOSS_MEDAL_ANY "Boss Killer"
|
#define BOSS_MEDAL_ANY "Boss Killer"
|
||||||
#define BOSS_MEDAL_MINER "Blood-drunk Miner Killer"
|
#define BOSS_MEDAL_MINER "Blood-drunk Miner Killer"
|
||||||
#define BOSS_MEDAL_FROSTMINER "Demonic-frost Miner Killer"
|
#define BOSS_MEDAL_FROSTMINER "Demonic-frost Miner Killer"
|
||||||
#define BOSS_MEDAL_BUBBLEGUM "Bubblegum Killer"
|
#define BOSS_MEDAL_BUBBLEGUM "Bubblegum Killer"
|
||||||
#define BOSS_MEDAL_COLOSSUS "Colossus Killer"
|
#define BOSS_MEDAL_COLOSSUS "Colossus Killer"
|
||||||
#define BOSS_MEDAL_DRAKE "Drake Killer"
|
#define BOSS_MEDAL_DRAKE "Drake Killer"
|
||||||
#define BOSS_MEDAL_HIEROPHANT "Hierophant Killer"
|
#define BOSS_MEDAL_HIEROPHANT "Hierophant Killer"
|
||||||
#define BOSS_MEDAL_LEGION "Legion Killer"
|
#define BOSS_MEDAL_LEGION "Legion Killer"
|
||||||
#define BOSS_MEDAL_TENDRIL "Tendril Exterminator"
|
#define BOSS_MEDAL_TENDRIL "Tendril Exterminator"
|
||||||
#define BOSS_MEDAL_SWARMERS "Swarmer Beacon Killer"
|
#define BOSS_MEDAL_SWARMERS "Swarmer Beacon Killer"
|
||||||
#define BOSS_MEDAL_WENDIGO "Wendigo Killer"
|
#define BOSS_MEDAL_WENDIGO "Wendigo Killer"
|
||||||
#define BOSS_MEDAL_KINGGOAT "King Goat Killer"
|
#define BOSS_MEDAL_KINGGOAT "King Goat Killer"
|
||||||
|
|
||||||
#define BOSS_MEDAL_MINER_CRUSHER "Blood-drunk Miner Crusher"
|
#define BOSS_MEDAL_MINER_CRUSHER "Blood-drunk Miner Crusher"
|
||||||
#define BOSS_MEDAL_FROSTMINER_CRUSHER "Demonic-frost Miner Crusher"
|
#define BOSS_MEDAL_FROSTMINER_CRUSHER "Demonic-frost Miner Crusher"
|
||||||
#define BOSS_MEDAL_BUBBLEGUM_CRUSHER "Bubblegum Crusher"
|
#define BOSS_MEDAL_BUBBLEGUM_CRUSHER "Bubblegum Crusher"
|
||||||
#define BOSS_MEDAL_COLOSSUS_CRUSHER "Colossus Crusher"
|
#define BOSS_MEDAL_COLOSSUS_CRUSHER "Colossus Crusher"
|
||||||
#define BOSS_MEDAL_DRAKE_CRUSHER "Drake Crusher"
|
#define BOSS_MEDAL_DRAKE_CRUSHER "Drake Crusher"
|
||||||
#define BOSS_MEDAL_HIEROPHANT_CRUSHER "Hierophant Crusher"
|
#define BOSS_MEDAL_HIEROPHANT_CRUSHER "Hierophant Crusher"
|
||||||
#define BOSS_MEDAL_LEGION_CRUSHER "Legion Crusher"
|
#define BOSS_MEDAL_LEGION_CRUSHER "Legion Crusher"
|
||||||
#define BOSS_MEDAL_SWARMERS_CRUSHER "Swarmer Beacon Crusher"
|
#define BOSS_MEDAL_SWARMERS_CRUSHER "Swarmer Beacon Crusher"
|
||||||
#define BOSS_MEDAL_WENDIGO_CRUSHER "Wendigo Crusher"
|
#define BOSS_MEDAL_WENDIGO_CRUSHER "Wendigo Crusher"
|
||||||
#define BOSS_MEDAL_KINGGOAT_CRUSHER "King Goat Crusher"
|
#define BOSS_MEDAL_KINGGOAT_CRUSHER "King Goat Crusher"
|
||||||
|
|
||||||
// Medal hub IDs for boss-kill scores
|
// Medal hub IDs for boss-kill scores
|
||||||
#define BOSS_SCORE "Bosses Killed"
|
#define BOSS_SCORE "Bosses Killed"
|
||||||
#define MINER_SCORE "BDMs Killed"
|
#define MINER_SCORE "BDMs Killed"
|
||||||
#define FROST_MINER_SCORE "DFMs Killed"
|
#define FROST_MINER_SCORE "DFMs Killed"
|
||||||
#define BUBBLEGUM_SCORE "Bubblegum Killed"
|
#define BUBBLEGUM_SCORE "Bubblegum Killed"
|
||||||
#define COLOSSUS_SCORE "Colossus Killed"
|
#define COLOSSUS_SCORE "Colossus Killed"
|
||||||
#define DRAKE_SCORE "Drakes Killed"
|
#define DRAKE_SCORE "Drakes Killed"
|
||||||
#define HIEROPHANT_SCORE "Hierophants Killed"
|
#define HIEROPHANT_SCORE "Hierophants Killed"
|
||||||
#define LEGION_SCORE "Legion Killed"
|
#define LEGION_SCORE "Legion Killed"
|
||||||
#define SWARMER_BEACON_SCORE "Swarmer Beacs Killed"
|
#define SWARMER_BEACON_SCORE "Swarmer Beacs Killed"
|
||||||
#define WENDIGO_SCORE "Wendigos Killed"
|
#define WENDIGO_SCORE "Wendigos Killed"
|
||||||
#define KINGGOAT_SCORE "King Goat Killed"
|
#define KINGGOAT_SCORE "King Goat Killed"
|
||||||
#define TENDRIL_CLEAR_SCORE "Tendrils 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"
|
#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()
|
/datum/controller/subsystem/achievements/proc/update_metadata()
|
||||||
var/list/current_metadata = list()
|
var/list/current_metadata = list()
|
||||||
//select metadata here
|
//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))
|
if(!Q.Execute(async = TRUE))
|
||||||
qdel(Q)
|
qdel(Q)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -32,8 +32,9 @@
|
|||||||
set waitfor = FALSE
|
set waitfor = FALSE
|
||||||
|
|
||||||
var/list/kv = list()
|
var/list/kv = list()
|
||||||
var/datum/DBQuery/Query = SSdbcore.NewQuery(
|
var/datum/db_query/Query = SSdbcore.NewQuery(
|
||||||
"SELECT achievement_key,value FROM [format_table_name("achievements")] WHERE ckey = [owner_ckey]",
|
"SELECT achievement_key,value FROM [format_table_name("achievements")] WHERE ckey = :ckey",
|
||||||
|
list("ckey" = owner_ckey)
|
||||||
)
|
)
|
||||||
if(!Query.Execute())
|
if(!Query.Execute())
|
||||||
qdel(Query)
|
qdel(Query)
|
||||||
|
|||||||
@@ -44,8 +44,9 @@
|
|||||||
|
|
||||||
///Get raw numerical achievement value from the database
|
///Get raw numerical achievement value from the database
|
||||||
/datum/award/proc/get_raw_value(key)
|
/datum/award/proc/get_raw_value(key)
|
||||||
var/datum/DBQuery/Q = SSdbcore.NewQuery(
|
var/datum/db_query/Q = SSdbcore.NewQuery(
|
||||||
"SELECT value FROM [format_table_name("achievements")] WHERE ckey = [key] AND achievement_key = [database_id]"
|
"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))
|
if(!Q.Execute(async = TRUE))
|
||||||
qdel(Q)
|
qdel(Q)
|
||||||
@@ -98,8 +99,9 @@
|
|||||||
.["achievement_type"] = "score"
|
.["achievement_type"] = "score"
|
||||||
|
|
||||||
/datum/award/score/proc/LoadHighScores()
|
/datum/award/score/proc/LoadHighScores()
|
||||||
var/datum/DBQuery/Q = SSdbcore.NewQuery(
|
var/datum/db_query/Q = SSdbcore.NewQuery(
|
||||||
"SELECT ckey,value FROM [format_table_name("achievements")] WHERE achievement_key = [database_id] ORDER BY value DESC LIMIT 50"
|
"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))
|
if(!Q.Execute(async = TRUE))
|
||||||
qdel(Q)
|
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"
|
name = "Assistant Victory"
|
||||||
desc = "If you got killed instead of someone more important, you just flexed the true strength of your \"\"\"\"role\"\"\"\"."
|
desc = "If you got killed instead of someone more important, you just flexed the true strength of your \"\"\"\"role\"\"\"\"."
|
||||||
database_id = MAFIA_MEDAL_ASSISTANT
|
database_id = MAFIA_MEDAL_ASSISTANT
|
||||||
icon = "assistant"
|
icon = "town"
|
||||||
|
|
||||||
/datum/award/achievement/mafia/detective
|
/datum/award/achievement/mafia/detective
|
||||||
name = "Detective Victory"
|
name = "Detective Victory"
|
||||||
desc = "If you did this with a Medical Doctor in the game, i'm not really that impressed."
|
desc = "If you did this with a Medical Doctor in the game, i'm not really that impressed."
|
||||||
database_id = MAFIA_MEDAL_DETECTIVE
|
database_id = MAFIA_MEDAL_DETECTIVE
|
||||||
icon = "detective"
|
icon = "town"
|
||||||
|
|
||||||
/datum/award/achievement/mafia/psychologist
|
/datum/award/achievement/mafia/psychologist
|
||||||
name = "Psychologist Victory"
|
name = "Psychologist Victory"
|
||||||
desc = "You learned how to not reveal someone random night one! Or... maybe you're just a lucky bastard."
|
desc = "You learned how to not reveal someone random night one! Or... maybe you're just a lucky bastard."
|
||||||
database_id = MAFIA_MEDAL_PSYCHOLOGIST
|
database_id = MAFIA_MEDAL_PSYCHOLOGIST
|
||||||
icon = "psychologist"
|
icon = "town"
|
||||||
|
|
||||||
/datum/award/achievement/mafia/chaplain
|
/datum/award/achievement/mafia/chaplain
|
||||||
name = "Chaplain Victory"
|
name = "Chaplain Victory"
|
||||||
desc = "Useless... until the one night the thoughtfeeder confidently claims themselves as detective. Mafia's true bullshit detector."
|
desc = "Useless... until the one night the thoughtfeeder confidently claims themselves as detective. Mafia's true bullshit detector."
|
||||||
database_id = MAFIA_MEDAL_CHAPLAIN
|
database_id = MAFIA_MEDAL_CHAPLAIN
|
||||||
icon = "chaplain"
|
icon = "town"
|
||||||
|
|
||||||
/datum/award/achievement/mafia/md
|
/datum/award/achievement/mafia/md
|
||||||
name = "Medical Doctor Victory"
|
name = "Medical Doctor Victory"
|
||||||
desc = "Congratulations on learning how to not talk!"
|
desc = "Congratulations on learning how to not talk!"
|
||||||
database_id = MAFIA_MEDAL_MD
|
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
|
/datum/award/achievement/mafia/lawyer
|
||||||
name = "Lawyer Victory"
|
name = "Lawyer Victory"
|
||||||
desc = "Oh don't mind me, i'm just the worst rol- Oops, I just instantly ended the game."
|
desc = "Oh don't mind me, i'm just the worst rol- Oops, I just instantly ended the game."
|
||||||
database_id = MAFIA_MEDAL_LAWYER
|
database_id = MAFIA_MEDAL_LAWYER
|
||||||
icon = "lawyer"
|
icon = "town"
|
||||||
|
|
||||||
/datum/award/achievement/mafia/hop
|
/datum/award/achievement/mafia/hop
|
||||||
name = "Head of Personnel Victory"
|
name = "Head of Personnel Victory"
|
||||||
desc = "King of Assistants, waster of a single mafia's night, thrower of games."
|
desc = "King of Assistants, waster of a single mafia's night, thrower of games."
|
||||||
database_id = MAFIA_MEDAL_HOP
|
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
|
/datum/award/achievement/mafia/changeling
|
||||||
name = "Changeling Victory"
|
name = "Changeling Victory"
|
||||||
desc = "I think the changelings are metacomming."
|
desc = "I think the changelings are metacomming."
|
||||||
database_id = MAFIA_MEDAL_CHANGELING
|
database_id = MAFIA_MEDAL_CHANGELING
|
||||||
icon = "changeling"
|
icon = "mafia"
|
||||||
|
|
||||||
/datum/award/achievement/mafia/thoughtfeeder
|
/datum/award/achievement/mafia/thoughtfeeder
|
||||||
name = "Thoughtfeeder Victory"
|
name = "Thoughtfeeder Victory"
|
||||||
desc = "Clown's best friend. And Obsessed. And fugitive? Whose side are you on?!"
|
desc = "Clown's best friend. And Obsessed. And fugitive? Whose side are you on?!"
|
||||||
database_id = MAFIA_MEDAL_THOUGHTFEEDER
|
database_id = MAFIA_MEDAL_THOUGHTFEEDER
|
||||||
icon = "thoughtfeeder"
|
icon = "mafia"
|
||||||
|
|
||||||
/datum/award/achievement/mafia/traitor
|
/datum/award/achievement/mafia/traitor
|
||||||
name = "Traitor Victory"
|
name = "Traitor Victory"
|
||||||
desc = "Guys, we still have two more changelings to ki-!! TRAITOR VICTORY !!"
|
desc = "Guys, we still have two more changelings to ki-!! TRAITOR VICTORY !!"
|
||||||
database_id = MAFIA_MEDAL_TRAITOR
|
database_id = MAFIA_MEDAL_TRAITOR
|
||||||
icon = "traitor"
|
icon = "neutral"
|
||||||
|
|
||||||
/datum/award/achievement/mafia/nightmare
|
/datum/award/achievement/mafia/nightmare
|
||||||
name = "Nightmare Victory"
|
name = "Nightmare Victory"
|
||||||
desc = "DID YOUR LIGHT FLICKER?!"
|
desc = "DID YOUR LIGHT FLICKER?!"
|
||||||
database_id = MAFIA_MEDAL_NIGHTMARE
|
database_id = MAFIA_MEDAL_NIGHTMARE
|
||||||
icon = "nightmare"
|
icon = "neutral"
|
||||||
|
|
||||||
/datum/award/achievement/mafia/fugitive
|
/datum/award/achievement/mafia/fugitive
|
||||||
name = "Fugitive Victory"
|
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."
|
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
|
database_id = MAFIA_MEDAL_FUGITIVE
|
||||||
icon = "fugitive"
|
icon = "neutral"
|
||||||
|
|
||||||
/datum/award/achievement/mafia/obsessed
|
/datum/award/achievement/mafia/obsessed
|
||||||
name = "Obsessed Victory"
|
name = "Obsessed Victory"
|
||||||
desc = "You got your target lynched, so instead of being spiteful and annoying, you're just smug and annoying."
|
desc = "You got your target lynched, so instead of being spiteful and annoying, you're just smug and annoying."
|
||||||
database_id = MAFIA_MEDAL_OBSESSED
|
database_id = MAFIA_MEDAL_OBSESSED
|
||||||
icon = "obsessed"
|
icon = "neutral"
|
||||||
|
|
||||||
/datum/award/achievement/mafia/clown
|
/datum/award/achievement/mafia/clown
|
||||||
name = "Clown Victory"
|
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!"
|
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
|
database_id = MAFIA_MEDAL_CLOWN
|
||||||
icon = "clown"
|
icon = "neutral"
|
||||||
|
|
||||||
///ALL THE ACHIEVEMENTS FOR MISC MAFIA ODDITIES///
|
///ALL THE ACHIEVEMENTS FOR MISC MAFIA ODDITIES///
|
||||||
|
|
||||||
|
|||||||
@@ -144,7 +144,7 @@
|
|||||||
|
|
||||||
/datum/award/achievement/misc/void_ascension
|
/datum/award/achievement/misc/void_ascension
|
||||||
name = "All that perish"
|
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
|
database_id = MEDAL_VOID_ASCENSION
|
||||||
icon = "voidascend"
|
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..."
|
desc = "My eternal soul was destroyed to make a toolbox look funny and all I got was this achievement..."
|
||||||
database_id = MEDAL_TOOLBOX_SOUL
|
database_id = MEDAL_TOOLBOX_SOUL
|
||||||
icon = "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)
|
if (!server_url)
|
||||||
CRASH("Invalid cross comms config: [server_name]")
|
CRASH("Invalid cross comms config: [server_name]")
|
||||||
world.Export("[server_url]?[list2params(message)]")
|
world.Export("[server_url]?[list2params(message)]")
|
||||||
<<<<<<< HEAD
|
|
||||||
=======
|
|
||||||
|
|
||||||
>>>>>>> origin/master
|
|
||||||
|
|
||||||
/proc/ircadminwho()
|
/proc/ircadminwho()
|
||||||
var/list/message = list("Admins: ")
|
var/list/message = list("Admins: ")
|
||||||
|
|||||||
@@ -4,23 +4,21 @@
|
|||||||
#Final authority on what's required to fully build the project
|
#Final authority on what's required to fully build the project
|
||||||
|
|
||||||
# byond version
|
# byond version
|
||||||
# Extracted from the Dockerfile. Change by editing Dockerfile's FROM command.
|
export BYOND_MAJOR=513
|
||||||
LIST="$(sed -n 's/.*byond:\([0-9]\+\)\.\([0-9]\+\).*/\1 \2/p' Dockerfile)"
|
export BYOND_MINOR=1536
|
||||||
export BYOND_MAJOR=${LIST% *}
|
|
||||||
export BYOND_MINOR=${LIST#* }
|
|
||||||
unset LIST
|
|
||||||
|
|
||||||
#rust_g git tag
|
#rust_g git tag
|
||||||
export RUST_G_VERSION=0.4.7
|
export RUST_G_VERSION=0.4.7
|
||||||
|
|
||||||
#node version
|
#node version
|
||||||
export NODE_VERSION=12
|
export NODE_VERSION=12
|
||||||
|
export NODE_VERSION_PRECISE=12.20.0
|
||||||
|
|
||||||
# SpacemanDMM git tag
|
# SpacemanDMM git tag
|
||||||
export SPACEMAN_DMM_VERSION=suite-1.6
|
export SPACEMAN_DMM_VERSION=suite-1.6
|
||||||
|
|
||||||
# Extools git tag
|
# Extools git tag
|
||||||
export EXTOOLS_VERSION=v0.0.6
|
export EXTOOLS_VERSION=v0.0.7
|
||||||
|
|
||||||
# Python version for mapmerge and other tools
|
# Python version for mapmerge and other tools
|
||||||
export PYTHON_VERSION=3.6.8
|
export PYTHON_VERSION=3.6.8
|
||||||
|
|||||||
@@ -434,9 +434,9 @@
|
|||||||
#include "code\datums\achievements\_awards.dm"
|
#include "code\datums\achievements\_awards.dm"
|
||||||
#include "code\datums\achievements\boss_achievements.dm"
|
#include "code\datums\achievements\boss_achievements.dm"
|
||||||
#include "code\datums\achievements\boss_scores.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\mafia_achievements.dm"
|
||||||
#include "code\datums\achievements\misc_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\achievements\skill_achievements.dm"
|
||||||
#include "code\datums\actions\beam_rifle.dm"
|
#include "code\datums\actions\beam_rifle.dm"
|
||||||
#include "code\datums\actions\ninja.dm"
|
#include "code\datums\actions\ninja.dm"
|
||||||
|
|||||||
Reference in New Issue
Block a user