1. Wrench in the plasma can.
2. Turn on the waste Cooling Gas pump and set the thermomachines to cold.
3. Set up the scrubbers in the chamber using the air alarm.
4. Turn on the filter to the canisters or replace it.
5. Turn on the Supermatter Waste To Port pump.
[entry] | [functions] | [CEILING(organ.damage,1)] | " : ""]\[status] | " - var/datum/species/the_dudes_species = humantarget.dna.species var/missing_organs = list() if(!humantarget.get_organ_slot(ORGAN_SLOT_BRAIN)) missing_organs += "brain" - if(!HAS_TRAIT(humantarget, TRAIT_NOBLOOD) && !humantarget.get_organ_slot(ORGAN_SLOT_HEART)) + if(!HAS_TRAIT_FROM(humantarget, TRAIT_NOBLOOD, SPECIES_TRAIT) && !humantarget.get_organ_slot(ORGAN_SLOT_HEART)) missing_organs += "heart" - if(!(TRAIT_NOBREATH in the_dudes_species.inherent_traits) && !humantarget.get_organ_slot(ORGAN_SLOT_LUNGS)) + if(!HAS_TRAIT_FROM(humantarget, TRAIT_NOBREATH, SPECIES_TRAIT) && !humantarget.get_organ_slot(ORGAN_SLOT_LUNGS)) missing_organs += "lungs" - if(!(TRAIT_NOMETABOLISM in the_dudes_species.inherent_traits) && !humantarget.get_organ_slot(ORGAN_SLOT_LIVER)) + if(!HAS_TRAIT_FROM(humantarget, TRAIT_LIVERLESS_METABOLISM, SPECIES_TRAIT) && !humantarget.get_organ_slot(ORGAN_SLOT_LIVER)) missing_organs += "liver" - if(the_dudes_species.mutantstomach && !humantarget.get_organ_slot(ORGAN_SLOT_STOMACH)) + if(!HAS_TRAIT_FROM(humantarget, TRAIT_NOHUNGER, SPECIES_TRAIT) && !humantarget.get_organ_slot(ORGAN_SLOT_STOMACH)) missing_organs += "stomach" - if(the_dudes_species.mutanttongue && !humantarget.get_organ_slot(ORGAN_SLOT_TONGUE)) + if(!humantarget.get_organ_slot(ORGAN_SLOT_TONGUE)) missing_organs += "tongue" if(!humantarget.get_organ_slot(ORGAN_SLOT_EARS)) missing_organs += "ears" @@ -342,8 +346,8 @@ render_list += "[body_temperature_message]\n" // Time of death - if(target.tod && (target.stat == DEAD || ((HAS_TRAIT(target, TRAIT_FAKEDEATH)) && !advanced))) - render_list += "Time of Death: [target.tod]\n" + if(target.station_timestamp_timeofdeath && (target.stat == DEAD || ((HAS_TRAIT(target, TRAIT_FAKEDEATH)) && !advanced))) + render_list += "Time of Death: [target.station_timestamp_timeofdeath]\n" var/tdelta = round(world.time - target.timeofdeath) render_list += "Subject died [DisplayTimeText(tdelta)] ago.\n" @@ -360,11 +364,10 @@ render_list += "" //Diseases - for(var/thing in target.diseases) - var/datum/disease/D = thing - if(!(D.visibility_flags & HIDDEN_SCANNER)) - render_list += "Warning: [D.form] detected\n\ -
[initial(rule.name)] | \[[forced]\] | \[\ + force enabled /\ + force disabled /\ + reset\] |
[rule.name] | \ +\[Weight : [rule.weight]\]\ + | \[[active][explanation]\] | \[\ + force enabled /\ + force disabled /\ + reset\] | \ +\[VV\] |
[part.Join(" | ")] |
[part.Join(" | ")] |
Access Request |
---|
Name of requestee (with signature):
", + "[___________________________________]
", + "Access Grants:
", + "[___________________________________]
", + "[___________________________________]
", + "Reason for Access Request:
", + "[___________________________________]
", + "[___________________________________]
", + "[___________________________________]
", + "[___________________________________]
", + "Request Review |
---|
Name of the Head of Personnel or deputy head (with signature):
", + "[___________________________________]
", + "Head of Personnel Decision:
", + "[___________________________________]
", + "[___________________________________]
", + "Review Date:
", + "[___].[___].[___]
", + "[___]:[___]
", + "Place for a stamp
", + "Name of affected department head (with signature):
", + "[___________________________________]
", + "Department Head's Decision:
", + "[___________________________________]
", + "[___________________________________]
", + "Review Date:
", + "[___].[___].[___]
", + "[___]:[___]
", + "Place for a stamp
", + "Name of affected department head (with signature):
", + "[___________________________________]
", + "Department Head's Decision:
", + "[___________________________________]
", + "[___________________________________]
", + "Review Date:
", + "[___].[___].[___]
", + "[___]:[___]
", + "Place for a stamp
", + "Decision on Access Request |
---|
Request Decision:
", + "[___________________________________]
", + "[___________________________________]
", + "Decision Date:
", + "[___].[___].[___]
", + "[___]:[___]
", + "Place for a stamp
", + "Job Application |
---|
Applicant's name (with signature):
", "[___________________________________]
", @@ -13,10 +76,10 @@ "Name of the Head of Personal or deputy head (with signature):
", + "Condemnation Review |
---|
Name of the Head of Personnel or deputy head (with signature):
", "[___________________________________]
", - "Head of Personal Decision:
", + "Head of Personnel Decision:
", "[___________________________________]
", "[___________________________________]
", "Review Date:
", @@ -33,7 +96,7 @@ "[___]:[___]
", "Place for a stamp
", "Appointment decision |
---|
[___________________________________]
", "[___________________________________]
", "[___________________________________]
", @@ -46,7 +109,7 @@ "category": "Command Department", "name": "Job termination", "info": [ - "Job Termination |
---|
Name of the dismissed person:
", "[___________________________________]
", @@ -56,9 +119,9 @@ "[___________________________________]
", "[___________________________________]
", "[___________________________________]
", - "Name of the Head of Personal or deputy head (with signature):
", + "Name of the Head of Personnel or deputy head (with signature):
", "[___________________________________]
", - "Head of Personal Decision:
", + "Head of Personnel Decision:
", "[___________________________________]
", "[___________________________________]
", "Decision Date:
", @@ -86,7 +149,7 @@ "category": "Command Department", "name": "Job reassignment", "info": [ - "Job Reassignment |
---|
Name of the person to be reassigned:
", "[___________________________________]
", @@ -98,9 +161,9 @@ "[___________________________________]
", "[___________________________________]
", "[___________________________________]
", - "Name of the Head of Personal or deputy head (with signature):
", + "Name of the Head of Personnel or deputy head (with signature):
", "[___________________________________]
", - "Head of Personal Decision:
", + "Head of Personnel Decision:
", "[___________________________________]
", "[___________________________________]
", "Decision Date:
", @@ -125,7 +188,7 @@ "category": "Command Department", "name": "Complaint form", "info": [ - "Complaint form |
---|
Complainant's name (with signature):
", "[___________________________________]
", @@ -161,7 +224,7 @@ "category": "Command Department", "name": "Order form", "info": [ - "Order form |
---|
The name of the orderer (with signature):
", "[___________________________________]
", @@ -202,7 +265,7 @@ "category": "Command Department", "name": "Permit to perform hazardous work", "info": [ - "Permit to perform hazardous work |
---|
Permission requestor's name (with signature):
", "[___________________________________]
", @@ -231,7 +294,7 @@ "category": "Security Department", "name": "Warrant", "info": [ - "Warrant |
---|
Arrestee's name:
", "[___________________________________]
", @@ -257,7 +320,7 @@ "category": "Security Department", "name": "Search warrant", "info": [ - "Search Warrant |
---|
Name of the person being searched:
", "[___________________________________]
", @@ -283,7 +346,7 @@ "category": "Security Department", "name": "Interrogation Report", "info": [ - "Interrogation Report |
---|
Name of Interrogated:
", "[___________________________________]
", @@ -328,7 +391,7 @@ "category": "Security Department", "name": "Security Report", "info": [ - "Security Report |
---|
Name of the reporting person (with signature):
", "[___________________________________]
", @@ -366,7 +429,7 @@ "category": "Security Department", "name": "Execution order", "info": [ - "Execution order |
---|
The name of the condemned to the execution:
", "[___________________________________]
", @@ -398,7 +461,7 @@ "category": "Security Department", "name": "Permission to possess", "info": [ - "Permission to possess |
---|
Owner's name:
", "[___________________________________]
", @@ -435,7 +498,7 @@ "category": "Security Department", "name": "Court Summons", "info": [ - "Court Order |
---|
Requesting Party (with signature):
", "[___________________________________]
", @@ -455,7 +518,7 @@ "category": "Security Department", "name": "Lawsuit Request Form", "info":[ - "Lawsuit Request Form |
---|
Prosecuters's name (with signature):
", "[___________________________________]
", "Affected Parties:
", @@ -482,7 +545,7 @@ "Name of offical to take action:
", + "Name of official to take action:
", "[___________________________________]
", "Official Decision:
", "[___________________________________]
", @@ -502,7 +565,7 @@ "category": "Engineering Department", "name": "Permission to perform non-standard work", "info": [ - "Permission to perform non-standard work |
---|
Permission requestor's name (with signature):
", "[___________________________________]
", @@ -543,7 +606,7 @@ "category": "Engineering Department", "name": "Permit for the issuance of engineering equipment", "info": [ - "Permit for the issuance of engineering equipment |
---|
Name of the requesting equipment (with signature):
", "[___________________________________]
", @@ -588,7 +651,7 @@ "category": "Research Department", "name": "Permission to perform non-standard research", "info": [ - "Permission to perform non-standard research |
---|
Permission requestor's name (with signature):
", "[___________________________________]
", @@ -629,7 +692,7 @@ "category": "Research Department", "name": "Permit for the issuance of research equipment", "info": [ - "Permit for the issuance of research equipment |
---|
Name of the requesting equipment (with signature):
", "[___________________________________]
", @@ -674,7 +737,7 @@ "category": "Medical Department", "name": "Medical prescription", "info": [ - "Medical Prescription |
---|
Patient name:
", "[___________________________________]
", @@ -711,7 +774,7 @@ "category": "Medical Department", "name": "Autopsy report", "info": [ - "Autopsy Report |
---|
Body Name:
", "[___________________________________]
", @@ -745,7 +808,7 @@ "category": "Medical Department", "name": "Death Certificate", "info": [ - "Death Certificate |
---|
Body Name:
", "[___________________________________]
", @@ -758,7 +821,7 @@ "[___________________________________]
", "[___________________________________]
", "Coroner's Name (with signature):
", "[___________________________________]
", @@ -776,7 +839,7 @@ "category": "Supply Department", "name": "Permission to execute a non-standard order", "info": [ - "Permission to execute a non-standard order |
---|
The name of the person requesting the delivery (with signature):
", "[___________________________________]
", @@ -821,7 +884,7 @@ "category": "Other", "name": "Lunch bill", "info": [ - "Lunch Bill |
---|
Name of the place:
", "[___________________________________]
", @@ -853,7 +916,7 @@ "category": "Other", "name": "Provision of paid services", "info": [ - "Provision of paid services |
---|
Name of the place:
", "[___________________________________]
", diff --git a/config/config.txt b/config/config.txt index 681ce98fe6429..a26b6938496f0 100644 --- a/config/config.txt +++ b/config/config.txt @@ -126,11 +126,14 @@ VOTE_PERIOD 600 ## players' votes default to "No vote" (otherwise, default to "No change") # DEFAULT_NO_VOTE -## disable abandon mob -NORESPAWN +## Determines if players can respawn after death +## 0 = Cannot respawn (default) +## 1 = Can respawn +## 2 = Can respawn if choosing a different character +ALLOW_RESPAWN 0 -## Respawn delay (deciseconds), which doesn't allow to return to lobby (default 10 minutes) -#RESPAWN_DELAY 6000 +## Respawn delay (deciseconds), which doesn't allow to return to lobby +RESPAWN_DELAY 0 ## set a hosted by name for unix platforms HOSTEDBY Yournamehere @@ -138,9 +141,6 @@ HOSTEDBY Yournamehere ## Uncomment this to stop people connecting to your server without a registered ckey. (i.e. guest-* are all blocked from connecting) GUEST_BAN -## Comment this out to disable checking for the cid randomizer dll. (disabled if database isn't enabled or connected) -CHECK_RANDOMIZER - ## IPINTEL: ## This allows you to detect likely proxies by checking ips against getipintel.net ## Rating to warn at: (0.9 is good, 1 is 100% likely to be a spammer/proxy, 0.8 is 80%, etc) anything equal to or higher then this number triggers an admin warning @@ -297,6 +297,9 @@ NOTIFY_NEW_PLAYER_ACCOUNT_AGE 1 ## Requres database #IRC_FIRST_CONNECTION_ALERT +## Discord ID of a role that should be pinged when a new player makes their first connection +#NEW_PLAYER_ALERT_ROLE_ID 1138188190604341308 + ## Deny all new connections by ckeys we haven't seen before (exempts admins and only denies the connection if the database is enabled and connected) ## Requires database #PANIC_BUNKER @@ -381,7 +384,7 @@ CLIENT_ERROR_BUILD 1421 ## Set to 0 or comment out to disable. SECOND_TOPIC_LIMIT 10 -MINUTE_TOPIC_LIMIT 100 +MINUTE_TOPIC_LIMIT 200 ## CLICK RATE LIMITING @@ -469,6 +472,12 @@ DEFAULT_VIEW_SQUARE 15x15 ## Enable automatic profiling - Byond 513.1506 and newer only. #AUTO_PROFILE +## Threshold (in deciseconds) for real time between ticks before we start dumping profiles +DRIFT_DUMP_THRESHOLD 40 + +## How long to wait (in deciseconds) after a profile dump before logging another tickdrift sourced one +DRIFT_PROFILE_DELAY 150 + ## Uncomment to enable global ban DB using the provided URL. The API should expect to receive a ckey at the end of the URL. ## More API details can be found here: https://centcom.melonmesa.com #CENTCOM_BAN_DB https://centcom.melonmesa.com/ban/search @@ -568,9 +577,19 @@ PR_ANNOUNCEMENTS_PER_ROUND 5 ## The maximum number of concurrent tts http requests that can be made by the server at once. #TTS_MAX_CONCURRENT_REQUESTS 4 +## Add voices to the TTS voice blacklist. +#TTS_VOICE_BLACKLIST Sans Undertale +#TTS_VOICE_BLACKLIST Papyrus Undertale + ## Comment to disable sending a toast notification on the host server when initializations complete. ## Even if this is enabled, a notification will only be sent if there are no clients connected. TOAST_NOTIFICATION_ON_INIT ## Causes configuration errors to spit out runtimes CONFIG_ERRORS_RUNTIME + +## Restricts client uploads to the server, defined in bytes, default is 0.5MB +UPLOAD_LIMIT 524288 + +## Restricts admin client uploads to the server, defined in bytes, default is 5MB +UPLOAD_LIMIT_ADMIN 5242880 diff --git a/config/dynamic.json b/config/dynamic.json index 53f2eaa656025..a4a1eb7ebdbfb 100644 --- a/config/dynamic.json +++ b/config/dynamic.json @@ -154,5 +154,10 @@ "Stowaway Changeling": { "weight": 0 } + }, + + "Station": { + "Radioactive Nebula": { + } } } diff --git a/config/game_options.txt b/config/game_options.txt index b917f6d4567fc..ae90dcb56b91e 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -414,10 +414,12 @@ MORGUE_CADAVER_OTHER_SPECIES_PROBABILITY 50 #MORGUE_CADAVER_OVERRIDE_SPECIES lizard -##Overflow job. Default is assistant +##Overflow job. Default is assistant. +## NOTE: This will overwrite anything you put in jobconfig.toml! OVERFLOW_JOB Assistant ## Overflow slot cap. Set to -1 for unlimited. If limited, it will still open up if every other job is full. +## NOTE: This will overwrite anything you put in jobconfig.toml! OVERFLOW_CAP -1 ## Uncomment to bring back old grey suit assistants instead of the now default rainbow colored assistants. diff --git a/config/jobconfig.toml b/config/jobconfig.toml index 675a1923db64f..f1a9b65d594b9 100644 --- a/config/jobconfig.toml +++ b/config/jobconfig.toml @@ -1,10 +1,12 @@ ## This is the configuration file for the job system. ## This will only be enabled when the config flag LOAD_JOBS_FROM_TXT is enabled. ## We use a system of keys here that directly correlate to the job, just to ensure they don't desync if we choose to change the name of a job. -## You are able to change (as of now) four different variables in this file. +## You are able to change (as of now) five different variables in this file. ## Total Positions are how many job slots you get in a shift, Spawn Positions are how many you get that load in at spawn. If you set this to -1, it is unrestricted. ## Playtime Requirements is in minutes, and the job will unlock when a player reaches that amount of time. ## However, that can be superseded by Required Account Age, which is a time in days that you need to have had an account on the server for. +## Also there is a required character age in years. It prevents player from joining as this job, if their character's age as is lower than required. Setting it to 0 means it is turned off for this job. + ## As time goes on, more config options may be added to this file. ## You can use the admin verb 'Generate Job Configuration' in-game to auto-regenerate this config as a downloadable file without having to manually edit this file if we add more jobs or more things you can edit here. ## It will always respect prior-existing values in the config, but will appropriately add more fields when they generate. @@ -19,215 +21,251 @@ [AI] "# Playtime Requirements" = 180 "# Required Account Age" = 30 +"# Required Character Age" = 0 "# Spawn Positions" = 1 "# Total Positions" = 1 [ASSISTANT] "# Playtime Requirements" = 0 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = -1 "# Total Positions" = -1 [ATMOSPHERIC_TECHNICIAN] "# Playtime Requirements" = 60 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = 2 "# Total Positions" = 3 [BARTENDER] "# Playtime Requirements" = 0 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = 1 "# Total Positions" = 1 [BOTANIST] "# Playtime Requirements" = 0 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = 2 "# Total Positions" = 3 [CAPTAIN] "# Playtime Requirements" = 180 "# Required Account Age" = 14 +"# Required Character Age" = 0 "# Spawn Positions" = 1 "# Total Positions" = 1 [CARGO_TECHNICIAN] "# Playtime Requirements" = 0 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = 3 "# Total Positions" = 5 [CHAPLAIN] "# Playtime Requirements" = 0 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = 1 "# Total Positions" = 1 [CHEMIST] "# Playtime Requirements" = 60 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = 2 "# Total Positions" = 2 [CHIEF_ENGINEER] "# Playtime Requirements" = 180 "# Required Account Age" = 7 +"# Required Character Age" = 0 "# Spawn Positions" = 1 "# Total Positions" = 1 [CHIEF_MEDICAL_OFFICER] "# Playtime Requirements" = 180 "# Required Account Age" = 7 +"# Required Character Age" = 0 "# Spawn Positions" = 1 "# Total Positions" = 1 [CLOWN] "# Playtime Requirements" = 0 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = 1 "# Total Positions" = 1 [COOK] "# Playtime Requirements" = 0 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = 1 "# Total Positions" = 2 [CORONER] "# Playtime Requirements" = 0 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = 1 "# Total Positions" = 1 [CURATOR] "# Playtime Requirements" = 0 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = 1 "# Total Positions" = 1 [CYBORG] "# Playtime Requirements" = 120 "# Required Account Age" = 21 +"# Required Character Age" = 0 "# Spawn Positions" = 1 "# Total Positions" = 0 [DETECTIVE] "# Playtime Requirements" = 300 "# Required Account Age" = 7 +"# Required Character Age" = 0 "# Spawn Positions" = 1 "# Total Positions" = 1 [GENETICIST] "# Playtime Requirements" = 60 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = 2 "# Total Positions" = 2 [HEAD_OF_PERSONNEL] "# Playtime Requirements" = 180 "# Required Account Age" = 10 +"# Required Character Age" = 0 "# Spawn Positions" = 1 "# Total Positions" = 1 [HEAD_OF_SECURITY] "# Playtime Requirements" = 300 "# Required Account Age" = 14 +"# Required Character Age" = 0 "# Spawn Positions" = 1 "# Total Positions" = 1 [JANITOR] "# Playtime Requirements" = 0 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = 1 "# Total Positions" = 2 [LAWYER] "# Playtime Requirements" = 0 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = 2 "# Total Positions" = 2 [MEDICAL_DOCTOR] "# Playtime Requirements" = 0 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = 3 "# Total Positions" = 5 [MIME] "# Playtime Requirements" = 0 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = 1 "# Total Positions" = 1 [PARAMEDIC] "# Playtime Requirements" = 0 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = 2 "# Total Positions" = 2 [PRISONER] "# Playtime Requirements" = 0 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = 2 "# Total Positions" = 0 [PSYCHOLOGIST] "# Playtime Requirements" = 0 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = 1 "# Total Positions" = 1 [QUARTERMASTER] "# Playtime Requirements" = 0 "# Required Account Age" = 7 +"# Required Character Age" = 0 "# Spawn Positions" = 1 "# Total Positions" = 1 [RESEARCH_DIRECTOR] "# Playtime Requirements" = 180 "# Required Account Age" = 7 +"# Required Character Age" = 0 "# Spawn Positions" = 1 "# Total Positions" = 1 [ROBOTICIST] "# Playtime Requirements" = 60 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = 2 "# Total Positions" = 2 [SCIENTIST] "# Playtime Requirements" = 60 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = 3 "# Total Positions" = 5 [SECURITY_OFFICER] "# Playtime Requirements" = 300 "# Required Account Age" = 7 +"# Required Character Age" = 0 "# Spawn Positions" = 5 "# Total Positions" = 5 [SHAFT_MINER] "# Playtime Requirements" = 0 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = 3 "# Total Positions" = 3 [STATION_ENGINEER] "# Playtime Requirements" = 60 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = 5 "# Total Positions" = 5 [VIROLOGIST] "# Playtime Requirements" = 60 "# Required Account Age" = 0 +"# Required Character Age" = 0 "# Spawn Positions" = 1 "# Total Positions" = 1 [WARDEN] "# Playtime Requirements" = 300 "# Required Account Age" = 7 +"# Required Character Age" = 0 "# Spawn Positions" = 1 "# Total Positions" = 1 diff --git a/config/maps.txt b/config/maps.txt index e63e709eb998f..bc5373ce3548e 100644 --- a/config/maps.txt +++ b/config/maps.txt @@ -13,18 +13,14 @@ Format: votable (is this map votable) endmap +# Production-level maps. + map birdshot #default maxplayers 66 votable endmap -map metastation - minplayers 25 - #voteweight 0.5 - votable -endmap - map deltastation minplayers 50 votable @@ -35,8 +31,9 @@ map icebox votable endmap -map tramstation - minplayers 35 +map metastation + minplayers 25 + #voteweight 0.5 votable endmap @@ -45,9 +42,18 @@ map northstar votable endmap +map tramstation + minplayers 35 + votable +endmap + +# Debug-only maps. -map runtimestation +map gateway_test endmap map multiz_debug endmap + +map runtimestation +endmap diff --git a/config/spaceruinblacklist.txt b/config/spaceruinblacklist.txt index 2c3733f927fc3..f0851b1474ce1 100644 --- a/config/spaceruinblacklist.txt +++ b/config/spaceruinblacklist.txt @@ -35,6 +35,7 @@ #_maps/RandomRuins/SpaceRuins/derelict6.dmm #_maps/RandomRuins/SpaceRuins/derelict7.dmm #_maps/RandomRuins/SpaceRuins/derelict8.dmm +#_maps/RandomRuins/SpaceRuins/derelict9.dmm #_maps/RandomRuins/SpaceRuins/dj_station.dmm #_maps/RandomRuins/SpaceRuins/emptyshell.dmm #_maps/RandomRuins/SpaceRuins/fasttravel.dmm diff --git a/dependencies.sh b/dependencies.sh index b24b85d55b239..6162b349b5141 100644 --- a/dependencies.sh +++ b/dependencies.sh @@ -8,7 +8,7 @@ export BYOND_MAJOR=514 export BYOND_MINOR=1588 #rust_g git tag -export RUST_G_VERSION=1.2.0 +export RUST_G_VERSION=3.0.0 #node version export NODE_VERSION=14 diff --git a/html/changelogs/AutoChangeLog-pr-75828.yml b/html/changelogs/AutoChangeLog-pr-75828.yml deleted file mode 100644 index 4206f43448efe..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-75828.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: "necromanceranne" -delete-after: True -changes: - - bugfix: "Bows properly update their ammo when stored, dropped and stowed. You cannot load a bow without holding it in your inactive hand. You have to hold it to keep the bow loaded." - - qol: "You can remove an arrow from the bow with alt+click, much like other ballistic weapons." - - bugfix: "The divine bow can be properly stored in the chaplain armor's suit storage, much like all other bulky null rods." - - sound: "Bows have sounds for drawing, firing and loading." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-75928.yml b/html/changelogs/AutoChangeLog-pr-75928.yml deleted file mode 100644 index abcf558647c3c..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-75928.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "SyncIt21" -delete-after: True -changes: - - bugfix: "microwave's(after it has finished cooking) & other machine's that spit out contents don't spit out assemblies/signallers attached to it's wires." - - bugfix: "signallers can be picked up if you attached them to a machine's wire & later deconstructed that machine without detaching it first." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-75959.yml b/html/changelogs/AutoChangeLog-pr-75959.yml deleted file mode 100644 index b5343d4295bd4..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-75959.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Momo8289" -delete-after: True -changes: - - rscadd: "Updated the Patch of Eden lavaland ruin with a new item" - - rscadd: "Added the Plasma flower item, which can be used as an upgraded plasma MOD core" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-75966.yml b/html/changelogs/AutoChangeLog-pr-75966.yml deleted file mode 100644 index df999028995f2..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-75966.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ZephyrTFA" -delete-after: True -changes: - - bugfix: "Trees and Coconuts are no longer immune to singularities." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-75975.yml b/html/changelogs/AutoChangeLog-pr-75975.yml deleted file mode 100644 index a83e43dfc5077..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-75975.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "LT3" -delete-after: True -changes: - - qol: "ID card linking now preloads your bank account number" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-75978.yml b/html/changelogs/AutoChangeLog-pr-75978.yml deleted file mode 100644 index d05875628a27d..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-75978.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "MTandi" -delete-after: True -changes: - - qol: "Chemical burner can be crafted from any open container, not just beakers" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-75993.yml b/html/changelogs/AutoChangeLog-pr-75993.yml deleted file mode 100644 index b99858c746c64..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-75993.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "FernandoJ8" -delete-after: True -changes: - - spellcheck: "adjusted font size from 30px to 15px" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-76002.yml b/html/changelogs/AutoChangeLog-pr-76002.yml deleted file mode 100644 index ce3d7871f535d..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-76002.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Melbert" -delete-after: True -changes: - - bugfix: "Maybe fixes minor bugs in disease cure, revolution, hooded suit code" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-76004.yml b/html/changelogs/AutoChangeLog-pr-76004.yml deleted file mode 100644 index 624b7d77dddbf..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-76004.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "LT3" -delete-after: True -changes: - - bugfix: "Tram controls no longer randomly go blank on Birdshot" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-76013.yml b/html/changelogs/AutoChangeLog-pr-76013.yml deleted file mode 100644 index 7204aa5bab38b..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-76013.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Cobby" -delete-after: True -changes: - - bugfix: "Droppers/Beakers will now go to 1u/15u on the FIRST leftclick." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-76017.yml b/html/changelogs/AutoChangeLog-pr-76017.yml deleted file mode 100644 index de34f68f4c011..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-76017.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Couls" -delete-after: True -changes: - - admin: "fix combat logs for tabling and disposal shoving" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-76022.yml b/html/changelogs/AutoChangeLog-pr-76022.yml deleted file mode 100644 index aa2a104a70689..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-76022.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Hatterhat" -delete-after: True -changes: - - bugfix: "MOD plasma cores' improved recharging from sheets (2000 charge up from 1500) is back again." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-76025.yml b/html/changelogs/AutoChangeLog-pr-76025.yml deleted file mode 100644 index f7fbb01a8459d..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-76025.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Melbert" -delete-after: True -changes: - - code_imp: "Adds some runtime safety to Cinematic code" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-76026.yml b/html/changelogs/AutoChangeLog-pr-76026.yml deleted file mode 100644 index 2f516eedad803..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-76026.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "DaydreamIQ" -delete-after: True -changes: - - qol: "The CC pod bay now has proper morgue facilities that don't clip through a glass window" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-76035.yml b/html/changelogs/AutoChangeLog-pr-76035.yml deleted file mode 100644 index 1d1ef7c564d28..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-76035.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SyncIt21" -delete-after: True -changes: - - refactor: "don't send gas name to gas filter UI as the name is already decoded there from it's ID" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-76051.yml b/html/changelogs/AutoChangeLog-pr-76051.yml deleted file mode 100644 index 70ce25a191fef..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-76051.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "bobbahbrown" -delete-after: True -changes: - - server: "Fix log categories being erroneously excluded from log files." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-78738.yml b/html/changelogs/AutoChangeLog-pr-78738.yml new file mode 100644 index 0000000000000..59df6d45a9ef6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-78738.yml @@ -0,0 +1,4 @@ +author: "Hatterhat" +delete-after: True +changes: + - qol: "Miners can now tag monster spawners (necropolis tendrils, animal dens, demonic portals, and netherworld links) by using their mining scanner on it, which updates their GPS tag (and/or gives them one) to give it a numerical designation and a short identifier for what it's spawning." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-78746.yml b/html/changelogs/AutoChangeLog-pr-78746.yml new file mode 100644 index 0000000000000..8f2ca33095a7b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-78746.yml @@ -0,0 +1,4 @@ +author: "carlarctg" +delete-after: True +changes: + - qol: "Added slapcrafting to unloaded tech shells, click on them with ingredients to quickly craft your shell." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-78751.yml b/html/changelogs/AutoChangeLog-pr-78751.yml new file mode 100644 index 0000000000000..aaa9365a88206 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-78751.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - bugfix: "People who are irremediably bald can still grow a beard with barber aid." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-78752.yml b/html/changelogs/AutoChangeLog-pr-78752.yml new file mode 100644 index 0000000000000..352f9465013e6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-78752.yml @@ -0,0 +1,4 @@ +author: "san7890" +delete-after: True +changes: + - refactor: "Sloths are now basic mobs, however their overall sluggish behavior shouldn't have changed much- let us know if anything is broken." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-78781.yml b/html/changelogs/AutoChangeLog-pr-78781.yml new file mode 100644 index 0000000000000..99194b521fc62 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-78781.yml @@ -0,0 +1,4 @@ +author: "YehnBeep" +delete-after: True +changes: + - qol: "\"prison\" intercoms have been renamed to \"receive-only\" intercoms to make it clearer they cannot transmit." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-78785.yml b/html/changelogs/AutoChangeLog-pr-78785.yml new file mode 100644 index 0000000000000..b0aa0a299a6a7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-78785.yml @@ -0,0 +1,4 @@ +author: "Melbert" +delete-after: True +changes: + - bugfix: "Fixed an error from reading an ID card closely when you can't read" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-78801.yml b/html/changelogs/AutoChangeLog-pr-78801.yml new file mode 100644 index 0000000000000..15d0dbf5a51b7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-78801.yml @@ -0,0 +1,4 @@ +author: "LT3" +delete-after: True +changes: + - image: "Text alignment on ID cards slightly adjusted" \ No newline at end of file diff --git a/html/changelogs/archive/2022-10.yml b/html/changelogs/archive/2022-10.yml index 119b93c0576e7..5f26a03c00585 100644 --- a/html/changelogs/archive/2022-10.yml +++ b/html/changelogs/archive/2022-10.yml @@ -943,7 +943,7 @@ - refactor: Refactored "secluded locations" into a trait Paxilmaniac: - code_imp: The dmi that reagent holders take fill icons from is no longer hard - coded as reagentfillings.dmi, and can be changed using the fill_icon variable + coded as reagent_fillings.dmi, and can be changed using the fill_icon variable Rhials: - bugfix: The disease outbreak events will no longer attempt to fire if there are no valid players to infect. diff --git a/html/changelogs/archive/2023-06.yml b/html/changelogs/archive/2023-06.yml index e35646eb6e586..bbb195d5d3494 100644 --- a/html/changelogs/archive/2023-06.yml +++ b/html/changelogs/archive/2023-06.yml @@ -450,3 +450,627 @@ - bugfix: Fixes a stuck lightbulb in medbay treatment center. Also fixes an accidental placement of vents/scrubbers which lead to escaping xenos. - spellcheck: corrects a typo in most ethereal drinks. +2023-06-15: + Cobby: + - bugfix: Droppers/Beakers will now go to 1u/15u on the FIRST leftclick. + Couls: + - admin: fix combat logs for tabling and disposal shoving + DaydreamIQ: + - qol: The CC pod bay now has proper morgue facilities that don't clip through a + glass window + FernandoJ8: + - spellcheck: adjusted font size from 30px to 15px + FlufflesTheDog: + - bugfix: VERY small amounts of a gas (<0.0001 mol) in pipenets will once again + be fully removed + Hatterhat: + - bugfix: MOD plasma cores' improved recharging from sheets (2000 charge up from + 1500) is back again. + LT3: + - qol: ID card linking now preloads your bank account number + - bugfix: Tram controls no longer randomly go blank on Birdshot + MTandi: + - qol: Chemical burner can be crafted from any open container, not just beakers + Melbert: + - bugfix: Maybe fixes minor bugs in disease cure, revolution, hooded suit code + - code_imp: Adds some runtime safety to Cinematic code + Momo8289: + - rscadd: Updated the Patch of Eden lavaland ruin with a new item + - rscadd: Added the Plasma flower item, which can be used as an upgraded plasma + MOD core + SyncIt21: + - refactor: don't send gas name to gas filter UI as the name is already decoded + there from it's ID + - bugfix: microwave's(after it has finished cooking) & other machine's that spit + out contents don't spit out assemblies/signallers attached to it's wires. + - bugfix: signallers can be picked up if you attached them to a machine's wire & + later deconstructed that machine without detaching it first. + ZephyrTFA: + - bugfix: Trees and Coconuts are no longer immune to singularities. + bobbahbrown: + - server: Fix log categories being erroneously excluded from log files. + necromanceranne: + - bugfix: Bows properly update their ammo when stored, dropped and stowed. You cannot + load a bow without holding it in your inactive hand. You have to hold it to + keep the bow loaded. + - qol: You can remove an arrow from the bow with alt+click, much like other ballistic + weapons. + - bugfix: The divine bow can be properly stored in the chaplain armor's suit storage, + much like all other bulky null rods. + - sound: Bows have sounds for drawing, firing and loading. +2023-06-16: + Ghommie: + - rscadd: 'Expanded the Experimental MODsuit Bepis node with three new modules: + Magneto Charger, Recycler and Shooting Assistant.' + - rscadd: Added a Riot Foam Recycler module to the black market, as well a more + innocuous version as maint loot. + JohnFulpWillard: + - bugfix: Lava will no longer burn 6 of the mirrors in pride ruin + - bugfix: Lava will no longer burn plants that spawn in them. + MTandi: + - qol: You can name barrels with a pen now, changing its icon + Melbert: + - bugfix: Fix hungover people never spawning stuck in closets + Tattle: + - image: removed a stray gray pixel from the milk containers + carlarctg: + - qol: Heretic runes no longer have every single transparent pixel set to 1 alpha, + to make it easier to click on objects. + - qol: Clearing heretic runes with mansus grasp takes 0.4 seconds of standing still, + to prevent you from accidentally clearing it in combat. + - code_imp: Added code for effect remover element to use a windup if set. + mc-oofert: + - bugfix: siliconnect log tab updates correctly +2023-06-17: + ChungusGamer666: + - bugfix: You can no longer make extra cloth when looming cotton by spamming do + afters. + - rscadd: Things affected by acid now get cool particles! + EliteCreature: + - spellcheck: changed gas to correct type in description + FernandoJ8: + - bugfix: positronic brains now correctly reject the ghosts of people who have used + the suicide verb + - bugfix: Monkey revolutionaries will not be considered for a promotion into Head + Revolutionaries unless they're the only candidates... again. + - bugfix: shipping manifests labelled as erroneous due to missing contents are now + guaranteed to be missing contents + - spellcheck: shipping manifests now display repeated items on a single line + LT3: + - bugfix: Sansufentanyl won't roll as a potential extreme allergy for Hereditary + Manifold Sickness + MTandi: + - qol: Tubes and Bottles have the main reagent name prefix in Chem/CondiMaster + Melbert: + - bugfix: Fixed e-cutlasses and bananium swords having invisible inhands + - code_imp: Removed boilerplate from transforming component + - bugfix: Ghosts can click on active gateways to teleport to the destination set. + Doesn't work for secret gateways. + - refactor: Refactored Stun Absorptions (Bastard Sword, His Grace) + - refactor: Refactored Stun Immunity. Note this means that some mobs which, prior, + were immune to all forms of incapacitation are now vulnerable to some. Notably, + adult non-queen xenomorphs are now vulnerable to falling unconscious. + - bugfix: Runtimes from wingless humans using *wing + - bugfix: Fixed a cheeky way RDS revealed you were an antag before you actually + got antag. Sorry, you know who you are. + - config: RDS now has policy.json support, to allow customization of the roundstart + "anti-grief" message. + - bugfix: Runtime from ejecting beakers from a chem-master + - sound: Welding Gas Masks make the same sound effect as Welding Hard Hats when + they toggle + Momo8289: + - bugfix: After destroying unfathomable quantities of excess coins, their value + is back to what it's supposed to be! + - bugfix: The divine archer coat's hood now has armor like it's supposed to + Rhials :): + - qol: The Russian and Bounty Hunter fugitive hunter shuttles now come with enough + oxygen for everyone. + - balance: Fugitive Hunters get cool new IDs. + - balance: Fugitive Hunter shuttles are now access restricted. + - balance: The AI wires in the Bounty Hunter/Spacepol Spacevan shuttles now start + cut. + - balance: Every fugitive hunter shuttle now has a shuttle pinpointer present. + - code_imp: Fixes the spawner menu text for psyker hunter spawners. + - image: Blue and Orange mapping helper for Hunter Access. + SethLafuente: + - bugfix: fixes meatballs not having inhand sprites + SuperDrish: + - rscadd: Minimal Job Age requirments added. Disabled by default. + Youtubeboy139: + - image: Added a new Land Mine sprite + mc-oofert: + - qol: Latejoining crew start with crowbars if arrivals enviromental power is OFF + stonetear: + - bugfix: jetpack signals now pass a user argument. This fixes an error when automatically + stowing a captain jetpack into your modsuit. +2023-06-18: + ChungusGamer666: + - refactor: Species brute and burn damage modifiers are now handled by bodyparts, + instead of being universal. Go ham at the surgical bay. + - bugfix: Glass joes will no longer appear to get knocked out, while already knocked + out. + LemonInTheDark: + - admin: VV for global vars will now load MUCH faster, in exchange lists are now + perma contracted in that particular pane + Pickle-Coding: + - balance: Armour penetration calculation is now the inverse function of armour + stacking. + - bugfix: Fix space dragon fire breath hitting the same target multiple times in + a single stream. + Rhials: + - qol: Basic spider eggs no longer flash the byond window when ready to hatch. + - qol: Toy hot potatoes no longer give a ghost notification. + - qol: Deadchat will be notified in the event of an imminent macrobomb detonation, + HFR meltdown, organ harvesting, + - qol: Deadchat will be notified when a nuclear/doomsday device is activated, as + well as when a blob-infection bursts. + SyncIt21: + - bugfix: finishing & closing the turbine core rotor part will now connect itself + to the cable beneath it allowing it to share its produced power with everyone. + - bugfix: turbine's now give detailed balloon alerts if you have a missing component, + or something is not aligned correctly during turbine construction + - bugfix: turbine's will not produce power in vaccume + - bugfix: turbine's won't function if any of it's components are damaged or misaligned + after linking or during processing + - bugfix: you need to be in proximity of the airlock painter to eject its cartridge. + - bugfix: you don't hit the windoor after it has finished opening/closing. + YehnBeep: + - rscdel: Positronic brains no longer check for suicide verb use. + - bugfix: Birdshot now has an (oddly placed) atmosdrobe. + ZephyrTFA: + - bugfix: Deconstructing a papercutter will now spit out its internals if present. + - qol: Papercutters now have contextual tips +2023-06-19: + ATH1909: + - bugfix: In addition to the beakers and bottles they could already hold, mediborg + beaker apparatuses can now hold test tubes. + - spellcheck: The descriptions of beaker and drink apparatuses have been updated + to more accurately reflect what they can and can't hold. + ChungusGamer666: + - bugfix: Exotic blood types no longer persist through species change if the new + species does not have an exotic blood type + Melbert: + - bugfix: Fix Hard Delete from the captain's spare ID code paper + - bugfix: Fixed a maint loot spawner located inside a wall in North Star Chemistry + Lab Maintenance + - bugfix: Fix hard delete in traitor trap tool objective + - bugfix: Fixed hard delete with Kinetic Crusher causing the projectile function + to brick + OrionTheFox: + - bugfix: fixed the context tips on papercutters + - bugfix: fixes papercutters not properly updating their icons, removing their stored + papers/blades, and eating papers when one is already stored + Pepsilawn: + - bugfix: you cannot use departmental budget cards as withdrawal sources for NT + Pay anymore + Time-Green: + - rscadd: Adds shuttle events! If shuttle escapes weren't exciting before (doubtful), + they definitely are now! I'm joking it's mostly an atmosphere thing. + - admin: 'Adds an admin panel to interact with shuttle events, under the Events + tab: Change Shuttle Events' + - bugfix: Objects spawned in hyperspace will properly catch hyperspace drift +2023-06-20: + ChungusGamer666: + - rscadd: Food now gets stink lines when going bad. Uh oh, stinky. + DaydreamIQ: + - qol: Abductor organ surgery steps shifted around to match other surgeries + GoldenAlpharex: + - bugfix: Wheelchairs now make noises when they're meant to again, and don't make + noises on the tram nor on conveyor belts + MTandi: + - qol: You can make hairless hide from the entire stack of hides at once + Melbert: + - qol: Categorizes chef vendor + Mey-Ha-Zah: + - image: 'Updated several Null Rod Graphics. Also updated: the supermatter sword.' + OrionTheFox: + - qol: made Balaclavas layer below glasses and radios + SethLafuente: + - bugfix: Fixes a few Interdyne Pirates map flaws + - bugfix: fixes holymelons not having inhand sprites + distributivgesetz: + - rscadd: Photocopiers now use actual paper instead of materializing it out of thin + air. + - rscadd: Adds the "Access Request" form. + - refactor: Greatly improve the reliability and performance of photocopiers. + - qol: Changed the blanks so they look nicer, whilst also fixing the lawsuit request + form. + - qol: Nanotrasen's bureaucracy division has ""improved"" the quality of their printer + toner after many complaints from furious customers. +2023-06-21: + Addust: + - bugfix: somehow, somewhere, a ship's engine has been changed. + Couls: + - qol: Welders now have a more consistent fuel usage + JohnFulpWillard: + - bugfix: Maintenance data disks now properly transfer from PC to disk + - bugfix: Disks can no longer be flooded with the same app repeatedly. + LT3: + - spellcheck: Fixed a few typos + Rhials: + - bugfix: The walls adjacent to the Infiltrator docking port will no longer bend + diagonally into walls. + SyncIt21: + - bugfix: Modular machinery computer UI opens again + ZephyrTFA: + - bugfix: Cat Butcherer can no longer remove a tail you don't have. + - bugfix: You can no longer manipulate "None" organs + carlarctg: + - bugfix: Fixed being unable to reimburse syndicate spawners via uplinks. This includes + nukie reinforcements, cyborgs, and holoparasite injectors. + - refactor: Turned TC reimbursement into a bespoke element. + - spellcheck: Tuned demon's blood message when there's no ghosts to pick to be a + little more understandable and sensible. +2023-06-22: + Ghommie: + - bugfix: Fixed the honourbound trauma not reacting to attacks from basic mobs + - bugfix: Fixed the "Declare Evil" spell not working against the medical department. + Guillaume Prata: + - balance: The Atmospheric MODsuit now comes pre equipped with the quick carry module. + Go save some lives! + Helg2: + - bugfix: autolathe, protolathe, mech fabricator and component printers material + capacity are now in 20 times less, as intended. + - bugfix: protolathe material menu now should display material ejecting correctly. + Jolly: + - qol: The potted plants have been changed slightly behind the scenes. Mappers may + enjoy being able to pick a wider selection of plants to put in maps now, because + they've all been made into their own items. + LemonInTheDark: + - bugfix: Maps loaded post init will no longer randomly enter a failed state. Hopefully. + Melbert: + - bugfix: The colossus's finale attack is now 100x more lethal, because it was firing + 100x fewer projectiles than intended + - bugfix: Fix shooting guns without a magazine loaded making no fire sound effect + - bugfix: Fixed EMP'd / signaled microwaves not running as they should + - bugfix: Fix runtimes from Bileworms targeting mechas (or other objects people + are hiding in) + Peliex: + - bugfix: changed station floor tiles to be worth 25 instead of 50, one quarter + of an iron sheet. + Rhials: + - bugfix: attacking non-carbon mobs with a cuffsnapping object will no longer runtime. + Sealed101: + - sound: explosive implant's beeps get louder as it gets closer to exploding + - bugfix: fixed mecha generators using way too much fuel due to using the old values + of material units per sheet + - bugfix: fixed sechailers/SWAT masks not using the installed air filter + - bugfix: fixed Godwoken Syndrome VoG commands triggering the spam filter + SyncIt21: + - bugfix: ' material container[and hence autolathe] now won''t touch the content''s + of abstract/hologram item''s like the tentacle gun' + - bugfix: material container[and hence autolathe] consuming indestructible items + - bugfix: material container[and hence autolathe] cosuming half the content's of + an object and leaving out the rest if there isn't space producing broken behaviour + in those item's + - qol: material container[and hence autolathe] display's the item name consumed + and it's material worth to let player's fully know the content's of the item + being recycled + - rscadd: air sensor's are craftable + - refactor: air sensor's can now be turned off by hand and can only be deconstructed + by a welding tool + - refactor: removed `Params()` proc + - qol: unwrenched air sensors can be picked up & recycled like regular item's + - rscdel: air sensor are removed from the RPD UI + - qol: air sensor's are no longer restricted by their unique ID's which mean you + can craft as many air sensors as you want. + TheVekter: + - qol: Embedding an object inside a cake or loaf of bread now requires a right-click + instead of a left-click. No more accidentally putting your knife inside it! + - qol: Added context tips for slicing, embedding, and removing embedded items from + cake, bread, and cheese wheels. + carlarctg: + - bugfix: Adds wound armor to ALL jumpsuits that were missing it + cnleth: + - bugfix: Rockets can no longer embed in people and cause blunt wounds instead of + piercing + kawoppi: + - image: added lizard inhand- and onhead sprites + - image: added space lizard inhand- and onhead sprites + - bugfix: changed held weight class of lizards from normal to tiny + necromanceranne: + - rscadd: The Vorpal Scythe, a special null rod variant that gains power from beheading + people! But it is fickle about when and how you use its power. Replaces the + Reaper Scythe. + - rscadd: Beheading via the special death knell attack empowers the scythe, but + only on humans with a mind, and requires you to use the right-click button to + wind up the slice. If you succeed, you empower your scythe for a bit! + - rscadd: If they don't have a mind, you cause the heads to float around. OoooOOOooo! + Spooky! + - rscadd: With the sinister crystal that holds the Vorpal Scythe within bound to + your arm, you are Morbid! You love to do pretty unsettling things, like dissections + for fun! But helping the living stay alive is abhorrent to you! + - rscadd: '...unless you get to do it while screaming ''IT LIVES!'' via Revival + surgery. Screw conventional medicine and science, you know the true way to bring + back the dead!' +2023-06-23: + Cheshify: + - bugfix: Virology disposals now route directly to space, rather than sending their + nasty tubes to cargo. + - bugfix: A single maintenance spawner was removed from a wall by plumbing. + LemonInTheDark: + - bugfix: Dehardcodes some stuff with tram windows, they'll be easier to map with + now + - refactor: Border objects can now smooth with each other. I'm sure something cool + will come of this + Melbert: + - bugfix: Fix a runtime involving Bilingual Curators + - qol: Bilinguals get a message on spawn reporting which language they've learned, + or a message reporting they have learned no language if they're already fluent + in all possible ones. + TheVekter: + - rscadd: Adds a shark plush, obtainable from Cargo for a nominal fee. + - rscdel: Removed plush cucumber by popular request. Cucumber has been replaced + by the shark plushie in arcade machines. + YehnBeep: + - bugfix: Science department hallways now have unrestricted one-way exits on Delta, + Birdshot, and Icebox, to make these maps consistent with the others. +2023-06-24: + Guillaume Prata: + - rscadd: 'New Wizard spell branch: Vendormacy! Summon runic vending machines with + your Vending Scepter, force push them on your enemies to squish them or blow + them up while they are busy buying from the machines.' + Hatterhat: + - rscadd: Baseballs can now be crafted with 3 leather. + Helg2: + - qol: pill press' max volume for bottles are 50, as the volume of bottles itself. + Improvedname: + - balance: Weakens summoned stickmen to be 1 or 2 hit + LT3: + - image: Delam and tram flipsigns have been replaced with information displays + - bugfix: Tram hit count is centrally managed instead of independently on each sign, + so they won't get out of sync + Melbert: + - bugfix: The Syndicate Assault Cyborg can autofire their LMG + SyncIt21: + - code_imp: makes sure cargo computer doesn't use `usr` var inside `ui_act()` which + could cause undefined behaviour + Wallem: + - image: Tweaks cardboard sheet sprite + YehnBeep: + - qol: Instrument delivery beacons now fit in pockets. + necromanceranne: + - bugfix: Arm implants properly handle EMPs depending on whether it is robotic or + organic. No longer can you EMP an organic organ! + timothymtorres: + - qol: Add UI preference menus for AI hologram and status displays +2023-06-25: + ATHATH: + - rscadd: Adds a variant of the external organ manipulation surgery for robotic + body parts, similar to the robotic version of the internal organ manipulation + surgery. It uses the same procedure as non-head/torso prosthetic organ manipulation. + - rscadd: In layman's terms, augged people can get frills, antennae, wings, tails, + etc. attached to them now. + - qol: The suitability of crowbars in the "manipulate organs" and "manipulate features" + steps has been boosted from 55% to 100%, but only for the robotic versions of + those steps. Their suitability remains 55% for organic organ manipulation. + ChungusGamer666: + - refactor: Mutant livers can now handle chemicals in special ways. Currently, only + plasmaman, skeleton and golem livers do it. Every other species is the same. + Ghommie: + - bugfix: arrows can now be actually coated with reagents. + - admin: The Debug and Admin MODsuits now take a lot less time to (de)activate. + 2 and 0.5 seconds respectively, compared to the default of 10s. + Melbert: + - rscadd: 'Wizarditis Improved. Those infected will now randomly cast one of the + following (weakened) spells at max stage: Teleport, Disable Tech, Mutate, Knock, + Forcewall, Blink, Smoke, Spacetime Distortion, Timestop, Repulse, Blind, Lightning + Bolt, or Swap' + - rscadd: A source of antimagic will prevent Wizarditis's ill effects, but won't + cure you. + Pickle-Coding: + - bugfix: Fix atoms not applying proper armour penetration logic. + - bugfix: Fix silenced living armour penetration not using proper armour penetration + logic. + - code_imp: Added macro for calculating armour penetration. + Seven: + - balance: Acid on a turf no longer immediately applies acid to its contents + - bugfix: Acid applied on a tile will no longer damage pipes below that tile + - bugfix: Xeno's corrosive acid no longer instakills mobs + - bugfix: Xenos can now touch acid + - bugfix: toys, stamps, and spacecash no longer has a missing texture when put into + suit storage + - qol: stamps are now allowed suit storage items in the hop, qm, and cargo wintercoats + SyncIt21: + - bugfix: glass bottles with reagents can be used for crafting, empty glass bottles + will be used as tools(e.g. empty glass bottle as rolling pin) + - bugfix: glass bottle with welding fuel can be used for crafting improvised shotgun + shells + - bugfix: bubble gum crate actually looks correct + - bugfix: fixes balloon alert runtime when spider webs are destroyed. + Tattle: + - admin: build mode help text is in an examine block + - admin: adv build mode and fill now have item previews + Wallem: + - image: Resprites plumbing machines + Youtubeboy139: + - image: Added new Space Beer sprite + - image: Added new Carp Lite sprite + - image: Added new Ale Bottle sprite + - image: Added new Two-Time Root Beer sprite + carlarctg: + - rscadd: Adds digital clocks, can be found in all the stations' hallways! Most + noticeably in bars or the bridge. They can also be lathed. + kinneb: + - image: Resprited the Limb Grower + norsvenska: + - rscadd: Christmas now has special station prefixes. +2023-06-26: + Funnytoilet: + - qol: Allows you to craft plastitanium shards. + Ghommie: + - bugfix: Fixes the lights from Tinea Luxor being stackable to the point of crashing + the game for others. + IndieanaJones: + - balance: Xenos have been rebalanced, removing their hardstuns on their disarm + and neurotoxin, along with a slew of other changes. Xenos have received buffs + to their more unique abilities in return. + - bugfix: Fixed simplemobs ignoring xenomorph's melee damage values when being attacked + by them. + winterboekje: + - sound: Adds unique sounds to library barcode scanner + - image: Removes soul from library +2023-06-27: + ChungusGamer666: + - refactor: Liking/disliking food is now handled by the tongue organ, not the species. + Also, having a failing tongue means you can't taste food properly! + - rscadd: You can read peoples' tongues now, if you have the entrail reading skillchip. + GPeckman: + - bugfix: The lavaproof tracks cyborg upgrade now protects against liquid plasma, + the Icebox equivalent of lava. + LovliestPlant: + - qol: '[Birdshot] Adds layer adapters to gas tank output hookups in atmospherics' + - qol: '[Birdshot] Adds additional navigation verb landmarks' + - bugfix: '[Birdshot] Fixes entrances to some departments from maints not requiring + department access' + - bugfix: '[Birdshot] Converts the guard locker in perma to a normal security officer''s + locker' + - bugfix: '[Birdshot] Adds an exterior outlet vent for the incinerator' + Momo8289: + - bugfix: Items that shouldn't have been stacking should no longer stack. + ReinaCoder: + - image: the mosin and prime nagants' mob sprites have been updated + TheVekter: + - bugfix: Added the missing medical laptop to the morgue on Northstar. + axietheaxolotl / viro: + - image: resprited surgery tables, and stasis beds + cnleth: + - bugfix: Symbols display correctly when sending messages via mind link + the-og-gear: + - sound: One (1) new space ambience track has been added. Good luck and godspeed. +2023-06-28: + ChungusGamer666: + - bugfix: Plasma will now heal plasmamen properly + Ghommie: + - rscadd: You can now revive dead fishes, bees and (mindless) mice with a lazarus + injector. + - balance: Tom, the mouse, no longer counts toward the mice population cap. + Hatterhat: + - balance: The Regal Condor's base spread has been reduced to 0, like damn near + every other gun that exists. + LT3: + - refactor: Refactored maptext (those floating words) + - bugfix: Fixed special chat bubbles for yelling, clown, redtext, greentext + - bugfix: Fixed alignment of status display text + - code_imp: Status displays now synchronize their message lines when scrolling + - bugfix: MetaStation's bridge incident counter and clock no longer overlap + - bugfix: Deltastation's missing incident counter has been found. Does that count + as an incident? + - qol: Tramstation bridge and medbay now have a clock where the tram hit counter + used to be + Melbert: + - bugfix: You can once again "too slow" someone with a high five + Momo8289: + - bugfix: Had to destroy a lot more of em, but the value of iron coins are now back + to normal + SapphicOverload: + - bugfix: fixed hostile mobs trying to attack supermatter discharge bolts + Seven: + - qol: Mops, some cleaning items, and light replacers now use balloon alerts + - rscadd: Surgical caps now actually hide your hair + Time-Green: + - bugfix: hardcore random now gives you a species specific name + Youtubeboy139: + - rscadd: Added new Pirate Boots + - image: Added new Pirate Bandana sprites + - image: Added new Pirate Hat sprites + - image: Added new Pirate Uniform sprites + - image: Added new Sailor Uniform sprites + - image: Added new Pirate Coat sprites + - image: Added new Pirate EVA gear sprites + - image: Added new Cutlass sprites + - image: Added new Energy Cutlass sprites + - image: Added new `hgpirate` suit and hat sprites + vinylspiders: + - bugfix: sliding puzzles can no longer have their icons erased by the hand labeler +2023-06-29: + ChungusGamer666: + - bugfix: Clarke ore box now has a less confusing dump contents button. + Funnytoilet: + - bugfix: Plasmamen can now get HMS + Iamgoofball, Nadare, ddPn08, Mangio621, the rest of the RVC dev team: + - rscadd: Improves the audio quality and speaker fidelity by implementing Retrieval + Voice Conversion as an intermediary layer, utilizing the repository at https://github.com/ddPn08/rvc-webui. + - rscadd: Leverages RVC to allow players to set a pitch for their voice. + - rscadd: Makes silicons utilize a player's chosen voice preference on their character + slot, and adds a preview button to hear the voice as a silicon on character + creation. + - rscadd: Adds a toggle on character creation to disable having a voice on a specific + character slot. + - rscadd: Adds support for per-tongue voice filters. + - rscadd: Reworks the silicon voice effect to be a special effect done on the TTS + server level instead of via normal filters. + - rscadd: Reworks the vending machine effect to use the new robotic voicebox effect. + Jolly: + - spellcheck: Changeling hallucination sting will now tell you it costs 10 chemicals. + It always did, but now its there. Cheers? + LemonInTheDark: + - balance: Tcomms now works across connected (vertically) zlevels. No more hunting + in maint for the relay. + Melbert: + - qol: Scanning apps (Lifeline app) start with a scan + - bugfix: Fixes a potential exploit in radar apps + Rhials: + - rscadd: The abductor equipment vendor now offers a hacking/medical hypertool, + at a price of 2 research points. + - rscadd: The abductor equipment vendor now sells decorative abductor posters, at + a price of 1 research point. + - rscadd: The abductor equipment vendor now sells a cow, at the price of 1 research + point. + - bugfix: Fixes a runtime when trying to probe non-human mobs. + - image: Some abductorized versions of existing wall posters and an alien hypertool. + - code_imp: The abductor shop listings now use lists of items, rather than single + build paths. + - code_imp: The abductor_gear.dm file has been split up into a few different files. + - code_imp: Posters can now be hung on indestructible walls. + SyncIt21: + - bugfix: cable layers 1 & 3 can now be used by machine's like emitters, smes, tesla + coil & turbine. + - bugfix: terminals(smes & apc) can operate on different cable layers by installing + them with right click + chemistrymain2: + - balance: Syndicate simplemob fire-rate raised to one shot per second. + tf-4: + - bugfix: Brand intelligence can no longer affect off-station vendors in some specific + circumstances. +2023-06-30: + Chadley: + - bugfix: fixes the EHMS injector's do_after() + - code_imp: Improves the code for the disease scan proc (thank you fikou) + ChungusGamer666: + - refactor: Head rendering code has been updated significantly... Again. Please + report any issues with hair, facial hair, lipstick and such. + - refactor: Species speed is now stored in bodyparts. Leg transplants from slower + species will make you slower. + - bugfix: Healthy tongues will no longer randomly start slurring + - refactor: A significant species refactor happened, report any issues on the github. + DATA-xPUNGED: + - rscadd: Added butter slices, which you can make by cutting butter into 3. + - qol: Recipes that once required butter now only require a slice of it. With the + exception of the butter on a stick, of course. + - balance: Butter now requires 25 milk to mix and has 3 times as much nutriment. + - image: Resprited butter and butter on a stick using bluespace technology, managing + to compress more butter into a smaller space + Ghommie: + - bugfix: Fixed snatcherprods potentially giving held objects a one-way ticket to + nullspace if thrown at someone by something that's not a mob. + LemonInTheDark: + - balance: Duffelbags will now only make you slow while they are unzipped. As a + tradeoff, you now need to stand still and zip/unzip them to access their contents/not + move real slow. + Melbert: + - bugfix: Fix Debug verb "Spawn full crew" + - bugfix: Fix everyone being vampires + Sealed101: + - bugfix: fixed RPD switching layers on mousescroll when not in active hand + - qol: installing an RPD wrench upgrade & reprogramming a pipe via RMB produces + a balloon alert + Seven: + - bugfix: Fixes changelings not being put into their headslug when using last resort + - bugfix: Fixes changeling headslugs not putting their eggs into dead bodies + Singul0: + - bugfix: Names for Interdyne pirates are now less bizzare + Youtubeboy139: + - image: Added new Police Whistle sprites + oranges: + - balance: Ashlizards can no longer use the shuttle console to go on station diff --git a/html/changelogs/archive/2023-07.yml b/html/changelogs/archive/2023-07.yml new file mode 100644 index 0000000000000..a1847b8c60851 --- /dev/null +++ b/html/changelogs/archive/2023-07.yml @@ -0,0 +1,1301 @@ +2023-07-01: + Cheshify, Kinnebian, and RedSentry27: + - rscadd: Maintenance engineers have sent out blueprints across the sector for a + new laser musket. + - admin: A new energy-gun toting ERT is available to send to the crew. + Jacquerel: + - bugfix: Actions granted by equipped or held items now actually appear again + LT3: + - qol: Context tooltip size increased + - bugfix: Fixed remnants of old maptext code on various things + MTandi: + - rscadd: Food and pills have a 10% chance to infect with one of three new diseases + on consumption when left for more than 5 seconds on the floor. You can wash + it to avoid disease. ChemMaster and Pill Press are added to the list of elevated + structures (Considered as tables for pills). Made harvest spawn on top of hydrotrays + to stay protected from germs. + - rscadd: 'Added three new advanced diseases: Gastritium, Carpellosis, Nebula Nausea + with static cures obtained by digesting dirty food.' + - bugfix: Food no longer decomposes on Hydrotrays, Grilles, Bonfires and all dense + kitchen machinery + - code_imp: Decomposition now uses `germ_sensitive` component and follows 5 second + rule too. + - qol: Crafted food items spawns on nearby tables (except the one behind you) instead + of dropping on floor when hands are full. + SyncIt21: + - bugfix: jetpack modules work on mod suits again + - bugfix: jetpack cyber implants also work + - refactor: removed `get_mover` callback, user is retrieved during activation + - refactor: timestop module on `on_module_triggered()` accepts user as 2nd param + Vekter: + - balance: Increased armor penetration on xenos' neurotoxin spit. Well-protected + crew members should still take more than a few hits to down but shouldn't be + immune to it. + necromanceranne: + - rscadd: Coroners are now Morbid! + - rscadd: Coroners come with a series of special tools that are especially good + at performing certain surgeries if used by a Morbid individual (which the coroner + happens to be). They are found in the coroner's medkit. + - rscadd: The sorts of surgeries they enjoy are; dissections, autospies, revival + surgery, plastic surgery, organ/feature manipulations, amputations. Also eyesnatching. + - rscadd: Coroners therefore hate; tending the wounds of the living, defibrillation + and CPR. Why waste so much effort on breathers if you can't even carve them + up a bit first? + - rscadd: Coroners love pickles and pickle juice. + - rscadd: The coroner can finally put their autopsy scanner into their special medkit. + Not the compact one, though. + - rscadd: The elephant graveyard is safer to plunder for the morbid individual. + The rewards from the graveyard are now also slightly more lucrative...if you + don't care about being cursed, that is. + - balance: Roboticists get secure morgue access during skeleton shifts + timothymtorres: + - qol: Add hotkeys to APCs for AIs and borgs. Toggle environmental (ctrl + shift), + toggle lighting (shift), toggle equipment (alt), and toggle breaker (ctrl). + - qol: Remove APC UI popup when using RMB to toggle the lock. +2023-07-02: + ChungusGamer666: + - bugfix: Hair and facial hair gradients work again now + - bugfix: Facial hair colors apply properly again + - bugfix: Admin spawned characters will get hair color preferences applied properly + Ghommie: + - bugfix: Fixed the office chair being silent. My bad. + JohnFulpWillard: + - balance: Jousting now works on anything you're buckled to, not just Cyborgs. + - balance: Brooms, Pitchforks, the Captain's Sabre, and Energy swords can now be + used for jousting. + - balance: Spears need to travel a longer distance to joust now. + - balance: Jousting's knockdown and damage now only gets stronger after you've traveled + the minimum tiles needed to joust. + - balance: Silicon now only know Common, Uncommon and Robotic languages. + JupiterJaeden: + - qol: people now lie down when buckled to surgery tables, and you no longer need + cuffs to buckle someone to a surgery table + LemonInTheDark: + - bugfix: Fixes some fuck with duffelbags, them not holding enough + issues with + spawning gear in them (job shit and all) + - rscdel: Removed language encryption keys from cargo, s bad for species talking + among each other, a thing we want them to do + LovliestPlant: + - rscadd: Stethoscopes may be used on the chest, groin, or extremities to assess + organ damage, blood level, and/or suffocation damage depending on the targeted + area. + - rscadd: Shining flashlights into the mouth or eyes of other players will additionally + assess brain health, suffocation damage, and/or blood level depending on the + targeted area. + - balance: Halves the duration of the flash effect from shining lights into players' + eyes (2s -> 1s). Use combat mode to get the full duration. + Melbert: + - qol: Sivlerscale Tongue action is now a cooldown action, making it significantly + easier to use + - balance: Buffed the silverscale statue every so slightly, it now has innate armor + and can reflect lasers shot at it. But it also requires you not by lying down + to activate. + - bugfix: Fix organ damage being uncapped + Pickle-Coding: + - bugfix: Fix hypernoblium formation gas reaction rate sanity clamping not accounting + for the reduction factor. + - bugfix: Fix N2O formation gas reaction rate clamping clamping for incorrect consumption + rates. + - bugfix: Fix BZ formation reaction rate sanity clamping not accounting for N2O + decomposition factor. + - spellcheck: Improves gas monitor reaction information RP. + Sealed101: + - bugfix: fixed shotguns not clearing their "mag" correctly + - bugfix: fixed basalt turfs remaining visually dug up when refilled by an ash storm + - bugfix: fixed ash storm ending sounds looping after the storm is over + - bugfix: mechs are now snow storm immune + - bugfix: jaunt spells protect from weather when jaunting + Seven: + - bugfix: Cult communion and assert leadership can be used while your hands are + blocked or you are immobile + Vekter: + - balance: Adds a build time to window types which didn't have ones before. + - bugfix: Fixed the ORM not granting mining points if you added ore by hand instead + of dumping it on the floor. + carshalash: + - balance: We are now using space Monsanto brand rice/wheat seeds. Nutriment of + both grains has been changed to 12% from 4% +2023-07-03: + Cheshify: + - bugfix: Frontier Militia only have one general now, and have headsets. + - balance: Frontier Militia no longer have energy pistols. + Helg2: + - bugfix: Crayon suicide now properly colors you. + - bugfix: You can't put spraycans in crayon box via opening it and putting directly + in slot as intended, but balloon alerts for mime's and rainbow crayons are gone. + - qol: '"empty" balloon alert no longer appears on crayons.' + - qol: You can make crayon burgers now. + - qol: Box with throwing weapons now can hold the items it spawns with. Incredible! + - admin: Boxex of materials, debugtools and stabilized extracts now 99 of total + storage because they are meant to be debug. + Jacquerel: + - bugfix: Placing a mouse inside your chef hat will once more allow it to pilot + you around. + - rscadd: A player-controlled mouse inside your chef hat can compel you to perform + complex actions, such as flipping and spinning. You will obey because the mouse + knows better than you do. + - bugfix: You can now correctly Tend Wounds on most non-human animals. + - rscadd: You can now Remove Implants from non-human animals, just in case Ian swallowed + a macrobomb. + - bugfix: Tom will now always be a brown rat, instead of a random colour, as intended. + - rscadd: Budget cuts can sometimes effect the station's supply of Emergency Bluespace + Shelters. + Melbert: + - bugfix: Fixes a runtime from people with aphasia trauma getting deleted + - rscadd: Added a new 0 cost passive changeling ability, the Defibrillator Grasp. + - rscadd: DNA sing is now no longer innate, but 0 cost, allowing changelings to + not take it if they don't plan on using it. + - rscadd: Adds the Roach infusion to the DNA infuser. Do you want to survive a nuclear + apocalypse? Visit genetics today. + - rscadd: Adds a way to kill Roaches without splatting them. Visit botany for a + spray bottle of pestkiller. + - qol: Infuser book is more book-like + - bugfix: DNA infuser correctly gives on-success feedback messages + Time-Green: + - bugfix: urinal cakes wont decay anymore + Vekter: + - balance: Increased blob tiles' resistance to lasers to compensate for the recent + buff to laser damage. + - spellcheck: Fixed a typo on the Interdyne shuttle. +2023-07-04: + FlufflesTheDog: + - bugfix: Morbid (coroner's) tools now properly receive their speed boost in appropriate + conditions + Funnytoilet: + - qol: Matches command envirosuit helms' armor value with their hat counterparts. + GPeckman: + - qol: The health analyzer will now be more clear about how to treat burn wounds, + especially seriously infected ones. + Iamgoofball: + - bugfix: Fixes oversight with the voice disable config not working right for situations + in which a player re-enters their mob. + Jacquerel: + - bugfix: Horrid organics will no longer be made happy when mechanical chaplains + fail to heal them with a bible. + - bugfix: Lesser Form monkeys no longer maintain the name of the form you had prior + to transformation. + MMMiracles: + - bugfix: Tramstation lower Science is now less prone to cave-ins from their surrounding + maintenance corridors. + SyncIt21: + - code_imp: mat per unit values of materials now scale with material defines + Teleported-Bread: + - bugfix: Tips now mention telekenesis dusting you when used on the SM, not telepathy. + Vekter: + - rscdel: Plasma objects (statues, toilets, etc.) no longer explode when ignited. + They just release plasma like everything else plasma. (This doesn't impact injecting + plasma into cells or dipping cigars in plasma, those still explode.) + - bugfix: Removed nebula vomiting from the normal symptom pool. It should no longer + appear on regular viruses. + itseasytosee: + - spellcheck: You should see a lot less "you can not move while bucked too X" messages + where they don't make sense. + - admin: Added a petrify smite. Try it out on your least favorite player! + mc-oofert: + - rscadd: You can use cable on TTVs to make them wearable on the back +2023-07-05: + Archimus12: + - rscadd: Adds coloured large scarfs and winter coats to ClothesMate and black shoes + to ChefDrobe + - rscadd: Adds latex gloves to SciDrobe, ChemDrobe and GeneDrobe and nitrile gloves + to MediDrobe + - rscadd: Adds job headsets to GeneDrobe and RoboDrobe, ViroDrobe and ChemDrobe + - rscadd: Adds black wizard robes and black wizard hat to MagiVend + - rscadd: Adds grey backpack, grey satchel, leather satchel and grey duffel bag + to CargoDrobe + - rscadd: Organises Drobes + ChungusGamer666: + - bugfix: Bodyparts that should slow you down, will slow you down. + Ghommie: + - sound: Walking on conveyors, catwalks and tables no longer plays the footstep + sound of the turf. They have theirs. + Jacquerel: + - balance: Traitorous Coroners can now purchase the Evil MMI and Brainwashing Surgery + Chip. + - balance: Traitorous Chief Engineers can now purchase the Deployable Sentry. + Jolly: + - bugfix: '[MetaStation] There is no longer a random nondescript "item" outside + Xenobiology. No, it was NOT a Xenomorph.' + MTandi: + - bugfix: Plant bags now properly harvest items when you click on hydrotray with + it, and don't pick up anything except the harvest + - bugfix: Carpellosis gnashing checks owner's teeth availability instead of the + target's teeth + - bugfix: Patches don't have a message saying that they're dirty + Melbert: + - bugfix: Fixes some species / mobs keeping an understanding of galcom despite not + being intended to. + - qol: Prettied up the morgue of Deltastation + Momo8289: + - qol: Crates that come in the cargo shuttle now have the order ID in their name + - qol: Requisition forms are now blue, and named with the timestamp they were created + on + Time-Green: + - bugfix: abductors can get points again + YehnBeep: + - rscadd: Prisoners can now be jaywalkers + - qol: reordered a crime so it appears on the choice list alphabetically. + carlarctg: + - balance: Reduced the complexity cost of a lot of MODules. + - balance: Pathfinder 2 -> 1 + - balance: Tether 3 -> 2 + - balance: Temperature Regulator 2 -> 1 + - balance: DNA lock 2 -> 1 + - balance: Health analyzer 2 -> 1 + - balance: Sonar 2 -> 1 + - balance: Microwave beam 2 -> 1 + - balance: Drill 2 -> 1 + - balance: All visors (including NV and thermals) 2 -> 1 + - balance: Circuit Adapter 2 -> 1 + - balance: The Mining MODsuit has had its complexity increased to 13 and now starts + with the eating apparatus module, with a total base complexity of 10/13 now. + - balance: The Prototype MODsuit's active slowdown has been decreased from 1.5 (!) + to 1. + - spellcheck: Fixed a type on the energy net module. + san7890: + - server: job_config.toml should now comply with reload-configuration verb, meaning + you can hot-reload the configuration from disk and have it apply ingame automatically. + - config: The documentation for setting Minimum Character Age on a per-Job basis + has been altered to be more explicit. + - bugfix: The Minimum Character Age configuration entry is now sanitized to ensure + that it's within the codebase-defined ages, since there's no (legitimate) way + to get a character outside of those ages anyways. Invalid values will log to + the config log. +2023-07-06: + ChungusGamer666: + - bugfix: Punpun has gotten properly fitting clothes for his little chimp body + - bugfix: Creampies no longer float above the heads of monkeys + DATA-xPUNGED: + - qol: Leather satchels and wallets have been issued to the offices of Head of Personnel + all across the sector. Studies suggest a fashion increase of 34% + Jacquerel: + - bugfix: A nuclear operative who is a slime will now correctly drop the disk upon + death. + - image: New directional sprites for spiderlings, with movement animations. + - bugfix: Dead spiderlings will be the same colour as they were when they were alive. + - bugfix: Tarantula spiderlings are no longer invisible, + - rscadd: People who cannot read can interact with the tram console to send it to + a random station. + NotDhu: + - bugfix: Replaced the security PDA painter in the CMO's office on Birdshot with + a medical PDA painter. + SomeRandomOwl: + - qol: Request Internet Sound now has the option to credit the person who requested + the Sound. Defaults to anonymous. + Vincent983: + - balance: Improved spacepol jumpsuit wound armor from 5 to 10 + Vishenka0704: + - bugfix: Added a forgotten reason for not being allowed to work if the age is low. + Youtubeboy139: + - image: Added new Surgery Bed sprite + milktao: + - bugfix: fixed food preferences displaying incorrectly when examining tongues +2023-07-07: + Ben10Omintrix: + - refactor: Mushrooms have been refactors, please report any bugs/unintended behavior + - rscadd: the mushroom basic mob can eat the mushroom plant to heal itself + ChungusGamer666: + - rscadd: Added Alcoholic as a negative quirk. + - rscadd: Added Hemiplegic quirk. + Hatterhat: + - rscadd: A really old data disk with the MOD module designs for the status readout + was recovered, and has been haphazardly hotpatched into the research networks. + - rscadd: Also, the status readout module now plays a sound on death. + - qol: The MODsuit health analyzer's info tab health readout can now be disabled + in its settings. + Jacquerel: + - balance: Guard spider web statues despawn as the ability comes back off cooldown. + - balance: Spiderlings now only move at light speed if they're on webs, stay safe + little guys. + - bugfix: Spiders once again have random numbers after their names. + - bugfix: Mobs can once again emote (with sound) when they die. + - bugfix: Basic mobs will tell you whether they are alive if you examine them. + Jolly: + - image: The plastic spoon sprite has been nudged to appear more centered. + LT3: + - image: More maptext and font tweaks + - spellcheck: Context tooltips too small, too big... just right? + LemonInTheDark: + - bugfix: Gas, like plasma, will now properly display on multiz stations + Melbert: + - bugfix: Fixed EMPing a cybernetic heart not implanted in a body not applying effects + (stopping the heartbeat temporarily) + - bugfix: Fixed an exploit involving observers + - bugfix: Fix Tinea Luxor exposing not increasing light duration + OrionTheFox: + - qol: 'put instructions on toggling bandanas into their examines. If you didn''t + already know, it can be worn as more than a mask: use in-hand to wear as a hat, + and alt-click to wear it on your neck!' + YehnBeep: + - bugfix: Engineers can now print the non-eyewear T-Ray scanner from their department + lathe. + - qol: Scientists can also print this scanner. + atlasle: + - sound: A new ambient track will now play in space + mc-oofert: + - rscadd: rcd can make girders now + - bugfix: silicons can depower airlocks via their UI again + norsvenska: + - image: Siding now uses the correct sprite on corners and endpieces. +2023-07-08: + 1393F: + - bugfix: The cursed katana shard you can get from tendril loot no longer falsely + tells you you're not supposed to have it + BlueMemesauce: + - qol: AI VOX messages are sent over announcement instead of radio + - bugfix: AI VOX messages work properly on multi-Z stations + ChungusGamer666: + - rscadd: You can now put sandstone bricks in pillows to... make them deadlier? + - rscadd: Added colorblindness as a mild brain trauma. + - rscadd: Added two new quirks, prosthetic organ and tin man. Essentially, they + replace organs with bad bad not good cybernetic counterparts. + Ghommie: + - refactor: Replaced hardcoded "safeties" for lava, chasms and ignoring turf slowdowns + on catwalks with traits. + - balance: much like catwalks, tables and conveyors also disable turf slowdowns. + - balance: slippery turfs won't slip you when walking on a table. + - bugfix: Fixed an edge case in which a mob standing on a lava turf would be left + visually but permanently on fire if the lava is changed to another kind of + turf. + Jacquerel: + - rscadd: A bible or lighter in your suit slot, or cowboy hat on your head will + occasionally intercept a bullet. + JohnFulpWillard: + - balance: Bilingual quirk now lets you choose your language between ones given + to roundstart species. + - balance: Foreigner and Bilingual are now mutually exclusive languages. + - bugfix: Cultists promoted to Leader no longer lose their spells (rip whoever tried + saving up blood rites) + - admin: Admins can now force promote/demote people from Cult Leader if necessary. + - code_imp: Jousting now registers/unregisters properly on two-handed items. + Jolly: + - bugfix: '[TramStation] - Removed a (possibly) unused var on the barber shop doors. + Hopefully those taking refuge in the commissary wasn''t causing too many issues.' + Jolly, timothymtorres: + - code_imp: 'Jolly: Armories across all maps have been tweaked slightly. Report + to a Nanotrasen security advisor for any missing guns, armor, helmets or anything + else that was there previously (that means, post an issue on Github if theres + an issue!!)' + - code_imp: 'timothymtorres: Random item spawners now support better control of + their X/Y pixel offset.' + Melbert: + - bugfix: Fix certain emote interactions happening twice at the same time + - bugfix: Fixed some hard deletes involving constructed cyborgs + - bugfix: Cyborgs with nodrop hats no longer lose them on tip + - refactor: Refactor of connections.js. Yeah that's it. + Toastgoats: + - rscadd: Adds the Lustrous, ethereal pirates in a big bluespace geode! + - sound: Unique scream sound for the Lustrous species. + - image: Unique head icon for the Lustrous species. + Youtubeboy139: + - image: Added new HUD sprites + - image: Added new Goggle Sprites + - image: Added new NVG sprites + - image: Removed unused/depreciated sprites in `glasses.dmi` + carlarctg: + - bugfix: Serrated bone shovels can be created with any kind of shovel now, not + just a spade (???) + - rscadd: Serrated bone shovels can be used in place of circular saw in most surgeries. + - rscadd: Added a duller (still deadly) variant of the serrated bone shovel as coroner + mail. + - rscadd: Autopsy scanners now act as advanced health analyzers on dead and seemingly-dead + people. + - rscadd: Increased the force, throwforce, and wound bonus of inert ritual knives + and scythes. + - rscadd: Coroner gloves can quickly apply medicine like nitrile gloves. + - image: Heavily reworks and resprites first aid analyzers. They now display if + they're happy, sad, angry, or warning you! Also a 'pricking' animation. + - rscadd: First aid analyzers are now found in all basic and specialized medkits. + Toxin medkits get a new* disease analyzer. Miners get a miner-colored one in + their box. + - balance: Scanning yourself with a first aid analyzer will 'create a holo-image + with treatment instructions next to your wounds', doubling the speed of treatment + of scanned wounds! + - sound: Health analyzers and gene scanners now have a scanning sound, courtesy + of CM. + - refactor: Refactored some wound code to make treatment duration changes and changes + in the description of wounds easier. + - bugfix: Fixed a dummy parent feature of the health analyzer (Verbose mode) showing + up, uselessly, on the disease and first aid subtypes. + - image: Surgical processors and slime scanners have recieved a similar resprite. +2023-07-09: + DATA-xPUNGED: + - qol: It has been issued brand new mini-fridges for our active stations, Featuring + more booze and less moldy pizza! + - rscdel: Removed excess ID boxes on HoP's office + Fikou: + - balance: nightmare vision goggles give you night vision + Imaginos: + - image: A new sprite for oeprating tables + Melbert: + - bugfix: Fix hard deletes that brick all of a wizards spell when their body is + delted + - rscadd: The Atrocinator will now flip you even more. + Rhials: + - bugfix: The organ manipulator menu will now delete implants or organs that fail + to properly insert. + - code_imp: The organ manipulator menu code now looks nicer :) + YehnBeep: + - qol: Produce consoles now have tables near them. + YesterdaysPromise: + - rscadd: Added Interdyne ModSuits for Interdyne pirates. +2023-07-10: + DATA-xPUNGED: + - qol: The Warden's locker now has a garment bag + Fikou: + - bugfix: service borg apparatus now works on stoves and griddles and ovens + - qol: borgs can now activate stoves and griddles + - rscadd: rnd can research a cookbook for service borgs + FlufflesTheDog: + - bugfix: You can once again directly place patients on operating tables + Jacquerel: + - rscadd: Golems can scoop sand (or snow) off the floor by clicking on it. + Nimowa: + - bugfix: Fully charged APCs will now actually be fully charged, instead of nearly + empty. + Riggle: + - spellcheck: fix suspicious_logins + Youtubeboy139: + - image: Added new Security Cap sprite + distributivgesetz: + - spellcheck: Fixed some underscores in spiderling names. +2023-07-11: + ATHATH: + - qol: Emagged organ harvesters will no longer refuse a victim that has items on + their person, such as the handcuffs they've been bound with. + CRITAWAKETS: + - bugfix: Hereditary Manifold Sickness, and other uncurable diseases, have been + found to no longer disappear upon miraculous acts of divine restoration. In + addition, viral bonding no longer makes you into a carrier for those aswell. + ChungusGamer666: + - rscadd: Nightmare vision goggles now give you mare vision + - bugfix: Creampies will no longer irreparably stain your face + Ghommie: + - bugfix: Fixes venomous projectiles for real, and invisible arrow sprites. + - rscadd: Added cardboard IDs to the game. They can be crafted with a cardboard + sheet and wirecutters and modified with a writing tool. While worn, these will + modify the visible name of the wearer just like actual IDs, though they aren't + real IDs and won't work as such. + Helg2: + - bugfix: androids now have proper robotic organs and no appendix. + - bugfix: snakes, security, spiders and skeletons phobias now properly react on + mobs + Jacquerel: + - rscadd: AI-controlled spiders will make more web-shaped webs. + JohnFulpWillard: + - qol: Clear PDAs now has all themes in their themify app by default. + Melbert: + - bugfix: Fix ling revival for full-dead lings + - refactor: Refactored language holders, making species changes not delete all of + your known languages + Seven: + - balance: Only 2 smugglers satchels will spawn on the station at roundstart, down + from 10 + TerraGS: + - bugfix: The military surplus trader encountered by explorer drones will now correctly + ask for armor rather than "suit" + Time-Green: + - balance: Metalgen cannot spawn as a random chem anymore (strange seeds, maintpills + etc) + carshalash: + - bugfix: ' Infinite spider eggs are no more.' + cnleth: + - image: Engineering scanner goggles are now yellow and not green when in meson + mode + - image: Atmospheric thermal imaging goggles are now green + mc-oofert: + - bugfix: morgue units can no longer hold ghosts + - bugfix: Cake cats/butter bear now grab the ghost of the brain used in their making + nikothedude: + - bugfix: Quantum relays now process, meaning DOS attacks actually function + san7890: + - admin: If a circuit component outputs a radio signal, it should now be logged + in list-signalers. +2023-07-12: + Ben10Omintrix: + - bugfix: the fortunate cookie dont dropped a empty paper anymore. + FlufflesTheDog: + - bugfix: Destroying the fabled "green text" now properly releases its victims from + their curse. + Helg2: + - bugfix: warden has his garment bag in locker as should + Jacquerel: + - bugfix: Guard spiders can now only make one scary duplicate of themselves at a + time, rather than as many as they can click on the button. + - rscadd: PAIs can no longer be inserted into Bots + - rscadd: Bots can now have their sapience toggled by anyone with access to their + settings panel + - rscadd: Bots which exist on the map at the start of the round automatically have + this setting enabled + - qol: Bots, Regal Rats, and Cargorilla now appear in the Spawners menu if you are + dead + - qol: Bots can be renamed from their maintenance panel + - bugfix: Bile/Vileworms now have the same projectile and thrown weapon resistances + of other mining mobs. + Melbert: + - qol: You no longer fall over when you get dusted, making the animation line up + with your body + - bugfix: Fixes Aphasia being removed + Singul0: + - rscadd: IRS jacket is now back in the clothesvend + - rscadd: Ports breaching shells from beestation + - rscadd: Space IRS has been added into the heavy weight pirates spawn pool + - code_imp: Mosin nagant ammo boxes is now a subtype of regular ammo boxes (the + toolbox subtype) + StaringGasMask: + - qol: Now plasmamen can use the infiltrator MODsuit without having their species + revealed. The helmet's still not sealed, so remember your mask. + Tattle: + - qol: changed mouth blocked message to a balloon alert + Thunder12345: + - bugfix: Autorifle magazines are now visible in the security techfab's ammunition + category. + YehnBeep: + - spellcheck: Fixed typos in the descriptions of the mRLD and RTD as seen from protolathes. + YesterdaysPromise: + - image: added sprites for different variants of scrolls. + - image: modified couple posters with ghost pixels. + lizardqueenlexi: + - refactor: Foxes are more crafty now. They will run from danger, and hunt small + prey when no one is keeping an eye on them. Don't leave Renault alone with Ian! +2023-07-13: + Hatterhat: + - qol: When a MOD fails to store something in itself when retracting, you're now + notified in both the chat and by a balloon alert. + Helg2: + - balance: Rocket launcher's backblast doesnt ignore armor now. + - bugfix: eating mime's and rainbow crayons now properly transfers reagents. + - bugfix: I somehow fixed the amount of reagents in crayons to what it was before. + LT3: + - image: Roller bed now has an inhand sprite + - bugfix: Security records no longer accept negative values for citation payment + Melbert: + - rscadd: You can now wear multiple accessories on your uniform at once (up to five + by default) + - balance: Removed armor from accessories, and nerfs the effects of some accessories. + SomeRandomOwl: + - bugfix: Music Request Credit shows CKEY instead of character name + Timberpoes: + - rscdel: Revolution has been reverted back to old behaviour. The round once again + ends when the revolution is successful. The round continues as normal if the + revolution fails. + - rscadd: When the station is rolled in a state of Post-Revolutionary Fervor, the + Captain will find their bedsheets replaced with an anti-Nanotrasen variant. +2023-07-14: + Archimus12: + - rscadd: Adds latex gloves and medical headsets to the MediDrobe. + - rscadd: Adds pyjamas, nightcaps and white shoes to the ClothesMate. + - rscadd: Adds science backpack, duffel bag and satchel to the RoboDrobe. + BlueMemesauce: + - bugfix: Removed initial 500 point balance on mining point transfer cards. Load + them up with points instead. + - rscadd: Added mining point transfer cards to mining lockers. + - rscdel: Removed mining point transfer cards from mining equipment vendor. + Helg2: + - rscadd: You can now swab plasmaman clown clothes to get clown microbes. + - rscadd: Clown phobia makes you fear plasmaman clown's gloves and helmet. + Jacquerel: + - refactor: Goliaths now use the Basic Mob framework, please report any unusual + behaviour. + - rscadd: Goliaths learned a couple of new attacks which they will use in self-defence. + - balance: Help-clicking a miner grabbed by Goliath tentacles will immediately free + them, as will the effect of several items you can scavenge from around Lavaland. + - image: New sprites for the Goliath saddle. + LT3: + - bugfix: Maptext should now properly show superscript characters when performing + actions + Sealed101: + - qol: Lobby Menu buttons can now be collapsed. Rejoice! + - qol: Lobby Menu buttons have names, which can be seen in the prompt on the bottom + left of the viewport. + - qol: you may see your readiness status during pre-game in the Status Bar. + - qol: Reset Lobby Menu HUD verb added in case you manage to break the damn thing. + Vekter: + - rscadd: Adds support for it/its pronouns. You can select these in character preferences. + nikothedude: + - bugfix: Deployable turrets no longer runtime when firing + - qol: APCs, fire alarms, and holopads now communicate some more of their silicon + interactions via screentips. + - qol: APCs, fire alarms, holopads and turret control panels now use balloon alerts + for more of their notifications. +2023-07-15: + ATHATH: + - bugfix: Simplemobs that can't take stamina damage, including mulebots, will no + longer be reset to their default speed whenever they take damage or are healed. + Ben10Omintrix: + - refactor: paper wizard have been refactored, please report any bugs/unintended + behavior + - refactor: refacted the datum/elememt/trial to an bespoken element + - rscadd: paper wizard now have effects when he walking and he will now go and look + for paperes and write stuff in them + Melbert: + - qol: Changeling Emporium is now sorted alphabetically. + - qol: Changeling Emporium now has a search bar! + - bugfix: Ling Augmented Eyesight now no longer causes you to lose the effects of + your Meson glasses + - bugfix: Ling Augmented Eyesight now more consistently tracks the flash protection + / vulnerability it confers. + - bugfix: Fixes a runtime from clientless mobs listening to Jukeboxes + - bugfix: Fixes some potential hard-dels from Jukeboxes + - qol: Jukeboxes now start with "title3.ogg" loaded for servers which do not have + jukebox songs included in their config. + NotDhu: + - bugfix: Added missing telecomms monitoring consoles to Birdshot. + Rhials: + - qol: The Xenomorph Infestation orbit menu tab is now violet instead of red! + Striders13: + - code_imp: Admins can now choose the reward cursed slot machine gives when hitting + jackpot. + VladinXXV: + - qol: You can now rename the coroner's skeleton model with a pen! + - bugfix: Autopsy reports will now correctly report blood type and level for corpses + who happen to have blood for blood. + generalthrax: + - balance: Lionhunter on charge now has a damage modifier of 2 instead of 1.33 + - balance: Increased max range of charged shot from 16 to 30 + - balance: Increased scope modifier so you can use the new max range +2023-07-16: + DATA-xPUNGED: + - rscdel: The Head of Personnel no longer spawns with an ID box. + Helg2: + - bugfix: roundstart exodrone consoles are now unscrewable. + Jacquerel: + - rscadd: Personal AI holograms are now limited to an area around their PAI card. + The size of this are can be configured via the PAI card. + - rscadd: pAI cards can now be placed inside bots in order to grant them control + of the bot. + JohnFulpWillard: + - rscadd: The 'Sent from my PDA' message is different for Clear PDAs now (specifying + they are crystal). + - bugfix: Chaplain armor no longer blocks being shoved down. + LemonInTheDark: + - bugfix: The preference menu has had its weird index lowered (Assets are no longer + semi garbled) + Melbert: + - bugfix: Anti-magic visual effects will no longer trigger overtop one another + Thunder12345: + - qol: CTF has more reminders of how to capture flags. + Time-Green: + - bugfix: Metalgen recipe generation works again + Watermelon914: + - balance: Changed damage reduction for robotic limbs to be multiplicative instead + of additive + carshalash: + - bugfix: Intern returns misplaced droppers back to deltastation's xenobiology lab. + necromanceranne: + - bugfix: Stops manifest generation runtiming when a cargo crate is empty. + - rscadd: Abandoned crates are now available via cargo imports. + - rscadd: Dumpsters full of maintenance trash are now available via cargo imports. + - rscadd: An ultra-rare can of Shambler's Juice is now available via cargo imports. + - rscadd: Animal hides and leathers can be (unreliably) ordered via cargo imports. + - rscadd: The Dreadnog has entered this realm. To consume, purchase it via cargo + imports. + - balance: Contraband Crates (and as a consequence, smuggler's satchels) now generate + more varied goods. Mostly the same, but sometimes you get something quite different + or even valuable. + - balance: Mosins generated via the Russian supply crate are a bit more random, + weighing more heavily towards bad mosins than good mosins. + - balance: Buffed both the shocktrooper and special op crate. Shocktrooper now has + an armored helmet and vest, and special op now has 5 mirage grenades and a chameleon + belt. The survival knife in the special op crate is now a switchblade. + - bugfix: Fixes holy arrows being invisible. + nikothedude: + - bugfix: Ventilation clog no longer spawns mobs in inappropriate places + - rscadd: 'New malf ability: Remote safety overrides. Allows the AI to remotely + emag things it has access to.' + - code_imp: emag_act() now returns a boolean designating it's success in emagging + - code_imp: All instances of emag_act() now have the proper arguments + - qol: Most usecases of emagging now have some kind of feedback, and existing feedback + has been sanity checked and converted to balloon alerts. +2023-07-17: + DATA-xPUNGED: + - balance: Pyre Sect can now heal with their bible as normal. + - qol: Some of Pyre Sect's rituals have been shortened slightly + Donglesplonge: + - bugfix: replaces icebox genetics' regular science headset with a medisci headset, + making it more in line with other genetics offices + Helg2: + - bugfix: Onehuman and Freeform ai modules now have proper material prices. + - qol: People with deviant tastes now don't care about dirt on the food. + - bugfix: fixed energy cost on floor tiles for engi borgs. + - bugfix: engi borgs can now properly merge base floor tiles with other base floor + tiles. + Jacquerel: + - bugfix: Station traits can once again allow vending machines and bots to speak + a random language + - bugfix: EMPed bots and vending machines once again speak a random language + - bugfix: Carp, Trees, and Festivus Poles will once more sometimes emote at you + if they think you are looking at them the wrong way, before they come over to + beat you up. + JohnFulpWillard: + - refactor: Huds now have their hud owner set in Initialize + Melbert: + - code_imp: AI cards should react more snap-ily to having their occupant perish + OrionTheFox: + - qol: in the event the Gravity Generator becomes damaged, examining the main part + will now give repair hints! + Timberpoes: + - bugfix: Emotes now respect word filters. + Watermelon914: + - bugfix: Fixed the AI vox announcement interrupting every other sound being played. + itseasytosee: + - rscadd: A new traitor item has been added, Polarized Contacts! + necromanceranne: + - code_imp: Adds an opt out for the rest of the round for the various heretic summons. + nikothedude: + - bugfix: The malf AI emag ability now works + - bugfix: The AI can no longer untip vendors remotely/spam sparks from shocked vendors + vinylspiders: + - bugfix: transformed jellypeople with the blood deficiency quirk will now receive + the right bloodpacks as mail goodies + - qol: laser muskets' inhand sprites will show now whether or not they are charged + - image: new inhand sprites for the laser muskets +2023-07-18: + BlueMemesauce: + - bugfix: Abductor posters can no longer randomly spawn + - spellcheck: Fix duplicate sentence in space comms agent flavor text + CRITAWAKETS: + - rscadd: Added the smoothbore disabler and it's prime variant. You can now craft + a disabler with only one shot and terrible accuracy. + - code_imp: Gun cranking has been made a component and could theoretically be used + on more than guns. + Jacquerel: + - bugfix: Megafauna can be consumed by the singularity. + JohnFulpWillard: + - bugfix: Multi-z maps should now work again. + Melbert: + - rscadd: Adds a new 7 point positive quirk, "Spacer Born". You were born in space, + and as a result your body's adapted to life in artificial gravity, making you + much more effective and comfortable in lower gravity. However, travelling planet-side + is quite a chore, especially if you're assigned to work there. + - rscadd: 'Adds a chemical: Ondansetron, created by Oil + Nitrogen + Oxygen + Ethanol + catalyst. A powerful Antiemetic (lowers disgust).' + - refactor: Refactored display-ing of antag objectives in their UIs + Rhials: + - spellcheck: removes an errant period from the flux anomaly announcement. + Time-Green: + - bugfix: Triple carp player controlled shuttle event works again + - bugfix: anti-breach shields wont be dragged away during shuttle flight anymore + carlarctg: + - rscdel: There is no longer a 50% chance of catching a heretic out when examining + them drawing influences. + dieamond13: + - bugfix: adds a BCI implanter to northstar circuit lab as it didn't come with one + before + itseasytosee: + - balance: the Syndicate Tome traitor item now grants anti-magic while held and + can be used to clear cult runes. + necromanceranne: + - bugfix: Replaces direct calls of try_infect() with appropriate procs so that CRISPR + and Miasma aren't forcing diseases on the disease immune. + sergeirocks100: + - spellcheck: A spelling error in the name of the Tiziran fish case has been corrected. + timothymtorres: + - rscadd: Add healing boost to organs while mob is sleeping (does not apply to robotic + or dying organs) +2023-07-19: + Ben10Omintrix: + - refactor: the penguin is a basic animal + - rscadd: the penguin now layed eggs + - rscadd: the penguin and the chicken babys will go look for adult penguin or chicken + and be happy when he is near the adult + CoiledLamb: + - image: updated most tank sprites. + DaydreamIQ: + - spellcheck: Maints fridge doesn't have _ in its name anymore + Donglesplonge: + - bugfix: replaces the unspawnable cannonballs in birdshot maintenance with a stack + so that the 4 cannonballs properly spawn, make sure to point them away from + medical! + Melbert: + - bugfix: Cyborgs no longer drop their radio key when deleted, only when deconstructed + first + - bugfix: Cyborgs no longer drop their MMI on deletion, only prior to deletion. + This may result in bad code rearing its ugly head, open an issue report on the + github if you're a cyborg and get ghosted when you feel like you shouldn't + - bugfix: Runtime from syndie cyborgs spawning + - bugfix: AI deaths are reported to black box + - qol: Wizard Spellbook is now alphabetized + - qol: Wizard Spellbook now has a search bar! + OrionTheFox: + - refactor: refactored some code relating to greyscale clothing - please report + relevant issues on github! + Tattle: + - spellcheck: Fixed the grammar on a few revenant messages + Vekter: + - rscadd: Added 2 new brain damage lines. Beat your skull in with a wrench and discover + them today! + coldud13: + - rscadd: You can now toggle the visibility for hair on your noggin when wearing + surgery caps. + necromanceranne: + - bugfix: Cleans up the lavaland exports to the modern loot table lists. + - spellcheck: More elaborate explanation for what exactly the sinister shard does + when you look at the explanation in the null rod selection UI. + - bugfix: Sniper rifles have a range that allows them to aim more smoothly (and + still decently long ranged) + - bugfix: Fixes a runtime on inserting the vorpal scythe into your arm. You should + now gain the Morbid trait, as expected. + scriptis: + - qol: techfabs now use sheets(TM) as the default unit of measurement + - bugfix: mechfab icons aren't perpetually gray + tommysalami3: + - rscadd: Ambient tracks for icebox. + - rscadd: Independent global_list for icebox. + vinylspiders: + - bugfix: ethereal hair will now go out when they die again + - code_imp: apc's update_icon_state proc will no longer set the icon file path +2023-07-20: + FernandoJ8: + - qol: terminals built by left-clicking on SMES and APC units will now be on the + same layer as the machine. + - bugfix: constructing a terminal on a specific layer with right-click now works + for APCs, not just SMES units + Helg2: + - image: .50 incendiary magazine now has sprite. + - rscadd: Bank machine now has a circuit for it. Spawns in secure tech storage and + researchable in the same nod as comms console. + - balance: Due to possibility of creating area and making there bank machines that + aren't roundstart will have gps signals. + - bugfix: Bank machine now doesn't yell about unauthorized credit withdrawal when + its authorized. + Jacquerel: + - balance: You can't possess a MULE as soon as the round starts, someone will have + to give you permission. + - balance: MULEbots no longer crush prone characters unless they have been hacked + (or emagged). + - bugfix: Bots can put numbers in their names, what with being robots. + - admin: 'Adds attack logging when certain wires are cut (for instance: MULEbot + safeties)' + JohnFulpWillard: + - bugfix: Cult spells, bloodsense, and pylon healing now follow cultists through + mind transfer (such as body swapping) + - bugfix: Cryo cells no longer appear on when off. + LemonInTheDark: + - rscadd: Added angle lighting, applies it to most wall lights! + - rscadd: Adds a lighting prototyping tool, mappers go try it out (it's locked behind + the mapping verb) + Nerev4r: + - rscadd: Due to increased exposure to low-gravity due to constant generator failures, + Spacer-Born have been showing up with increasingly tall statures. + Seven: + - bugfix: Xeno's corrosion ability no longer breaks reinforced walls and floors + - qol: Added some balloon alerts for failing to place items in storage containers + SirNooben: + - bugfix: Fixed the alien limbgrower UI + - bugfix: Fixed being able to order negative or more than 20 items in mining order + console + SyncIt21: + - bugfix: turbine does not runtime when its input or output turf is destroyed while + its running + - qol: add warning examine for rotor when its parts are not connected + nikothedude: + - rscadd: 'New air alarm mode: Vent siphon, which disables scrubbers and forces + vents to siphon air with no pressure regulation' + vinylspiders: + - bugfix: fixes gravity generators causing CI failures from overriding a signal +2023-07-21: + Blockaboo: + - bugfix: Tin man no longer causes you to drop all of your organs. + JohnFulpWillard: + - bugfix: '[Birdshot] Xenos can no longer immediately destroy the shield wall generator + to break out.' +2023-07-22: + CoiledLamb, RyeRice: + - image: cleans up shading on plasmatank sprite, gives it a cool new symbol. + Ghommie: + - image: walking on water will now immerse you in it... visually, at least. + Improvedname: + - bugfix: Brings security berets down to softcap armor values also softcaps get + wound armor + JohnFulpWillard: + - spellcheck: Silicons using weight machines are now told how pointless the task + was. + - spellcheck: Weight machine tooltips no longer lie about using LMB to use the machine. + Justice12354: + - qol: The word "chemical" has been removed from "chemical patch" when printing + patches + Melbert: + - bugfix: Once again you can award people medals. + Momo8289: + - qol: You can now use any hat with the hat stabilizer MOD + - bugfix: The MOD eating apparatus module now properly disables pepper spray protection + Sapphoqueer: + - bugfix: fixes a bug where borgs and TK users could effectively break ID's by removing + them from modular computers. + Sealed101: + - bugfix: fixed silicon alarm reports displaying power alarms as ALARM_ALARM_POWER + Senefi: + - rscadd: MetaStation Chemical Storage now has its own APC + - rscadd: MetaStation Chemical Storage is slightly larger than before + - rscadd: Ice Box Station Chemical Storage now has its own APC + itseasytosee: + - rscadd: You can now lean against walls! Simply turn your back to the wall and + clickdrag yourself onto it. + - bugfix: There should no longer be any instances of spacemen being able to run + straight through eachother as if they weren't even there. + - spellcheck: Added more variance to item throwing text. + - refactor: Mob density has been refactored + jughu: + - bugfix: removed a false silly tip about blob taking damage from flashbangs + scriptis: + - rscadd: ponies +2023-07-23: + Inari-Whitebear: + - bugfix: Cable connections on various structures including electrified grilles, + APC terminals, and SMES terminals have been rectified and will shock as expected + again. + - bugfix: Gas miners draw power properly again. + JohnFulpWillard: + - qol: The TTS and TTS Blips option is now one choiced preference. + Melbert: + - rscadd: 'Wizards have a new Right and Wrong: Mass Teaching, allowing them to grant + everyone on the station one spell or relic of their choice!' + Thebleh: + - bugfix: Fixed several APC related issues. + vinylspiders: + - bugfix: fixed a bug that would cause you to be unable to lean again if you tried + leaning while facing the wrong direction +2023-07-24: + GPeckman: + - rscadd: Bounty pads can now be upgraded, to reduce the time until you can pick + a new bounty + - rscadd: Sunglasses can now be bought from cargo if you have security access. + - balance: Gripper gloves single-pack is now gorilla gloves singlepack + - rscdel: Removed shady jims bounty + - qol: Bounty pads can now be screwdrivered/crowbarred with left click like every + other machine + Sealed101: + - bugfix: fixed third person throw verbs displaying as just an s + Singul0: + - rscadd: You can now use the genetic sequencer secondary click (RMB) to scan someone +2023-07-25: + ArcaneMusic: + - qol: ID cards tooltips now show how to assign a new account. + Ben10Omintrix: + - balance: the bee now can fly over the machines so its easy for him to go to the + hydroponics machine + - bugfix: player bees now will not be stuck inside the hive if he entered it, they + can now leave it + - bugfix: fixed a har deleted when the hive is deleted all the bees still have a + refence to the hive now its fixed + - bugfix: now when a player interacted with the bee hive the bees will now leave + the hive to defend the hive (it was glitched) + - refactor: the bees now are a basic insect. + Cheshify: + - image: Railing ends now exist. + Comxy: + - balance: Changes some cooldowns and upgrades of spells. + Hatterhat: + - qol: Ice cream vats now count as elevated surfaces for preventing germs from getting + onto germ-sensitive items (food). + - qol: Ice cream vats now dispense cones into your hands first, if possible. + - bugfix: Germ-sensitive items that fail to be placed in-hand now check for all + elevated surfaces, not just tables. + JohnFulpWillard: + - bugfix: Crates no longer stun you when you climb onto them. + Profakos: + - bugfix: Removed duplicate and incorrect Yaki Imo recipe + - qol: "Swapped out the flour in \xC6losterrm\xE6sch with two dough slices, to avoid\ + \ competing reactions while preparing or cooking" + - spellcheck: Chicken nugget will have a description in the craft menu, and fiesta + skewers will have a description in general + Sealed101: + - bugfix: fixed possessed sword spirits summoned during destruction of the sword + spawning in the error room. those fellas are in godmode, and y'all don't need + an immortal spirit haunting your station, m'kay? + Senefi: + - rscadd: Some Metastation Medbay lights have been moved and adjusted. + SyncIt21: + - bugfix: items can be printed from autolathe & protolathe when the exact material + amounts are present in them after upgrading + - bugfix: max printable amount now shows the correct value & updates when items + are printed, materials are removed in the autolathe & protolathe + - bugfix: component printer material bar is not greyed out when there are sufficient + materials to eject + - bugfix: rcd and other devices that uses the silo link upgrade now have the correct + material usages + - bugfix: silo hold actually works + - bugfix: machines using local storage to hold materials will eject it's materials + as sheets when deconstructed/destroyed + - refactor: Autolathe Material bars now display number of sheets available + - refactor: printing an item that does not have enough materials will fail silently + with no error messages + - refactor: Drone dispenser will eject sheets upon deconstruction + - refactor: all things that store materials will auto ejects its sheets(if there + is sufficient material) when destroyed + - refactor: inserting an item into the material container will display the units + consumed as sheets not absolute units + - refactor: removed x25 & x50 print buttons from the autolathe + Thebleh: + - bugfix: South Bronx Paradise Bars are once again the best weight loss aid on station + YakumoChen: + - bugfix: Dish drive no longer spams the bar/kitchen/etc when its idle with empty + messages. + kawoppi: + - rscdel: removed floating light fixture from the Deltastation security hallway +2023-07-26: + Melbert: + - bugfix: Prisoner slots can no longer be controlled by Plexagon HR Core. (special + things to distributivgesetz) + - bugfix: HoPs can open more assistant job slots if a non-assistant job is the overflow + role + - code_imp: Dehardcode the HR core blacklist for jobs which cannot have more slots + opened by the HoP + Mooshimi: + - bugfix: Plasmaman DNA can no longer be stolen by changelings. + Paxilmaniac: + - refactor: The mag_type variable on guns has been split between accepted_magazine_type + and spawn_magazine_type, allowing weapons to safely spawn with subtypes of their + normal magazines without breaking the weapon + - bugfix: Several weapons that spawned with special magazines, the riot dart pre-loaded + donk pistol for example, will now be able to accept normal donksoft magazines + that don't spawn loaded with riot darts. + Rhials: + - qol: Modifies the contents of some Mafia lockers. Go check 'em out! + Singul0: + - bugfix: some fixes to spess IRS pirates. + - balance: IRS armor is now bulky + Time-Green: + - bugfix: Makes radiation nebula space work on high-pop by applying the radiation + more directly + - balance: Internal nebula storm no longer gives 10 seconds of immunity and has + a very, very small chance to apply mutations + - balance: Rudes nebula rad immunity from 10 seconds to 6 seconds (shouldn't differ + too much since we use a different system now) + carshalash: + - balance: Mmmh, butter on a stick. Now for americanbots. + distributivgesetz: + - spellcheck: Head of Personnel's roundstart text now says that they should answer + to the captain now instead of themselves. + - spellcheck: Phobia warnings have the same glowy text now as they would in messages. + oranges: + - balance: holodeck spawned banners no longer give the inspiration effects +2023-07-27: + Ghommie: + - bugfix: the height of runechat messages should now scale correctly with the current + size variable of living mob. + - refactor: Crabs refactored into basic mobs. They now hunt tiny critters and flee + from attackers. + - bugfix: Fixed crabs not crab-walking. + - bugfix: Fixed active conveyor belts not moving movables spawned on top of them. + Helg2: + - qol: Tactical medkits now can hold stuff it spawns with. + - bugfix: Nukie Medical Bundle now spawns with premium tactical medkit as it should. + Jacquerel: + - bugfix: Traitors can once again affix tiny bombs to lathes rather than trying + to feed them to the lathe + Kubisopplay: + - balance: Flashing borgs requires two consecutive flashes to fully immobilize + - balance: Flashed borgs can speak + - balance: Remote lockdown on cyborgs lasts 180 seconds + - balance: Cyborg stun arm works like normal baton, and costs less energy + LT3: + - bugfix: Consumables like bone gel will first be used for surgery before wounds + Licks-The-Crystal: + - qol: The "Kidnap" progression traitor objective now displays the number of telecrystals + awarded for a successful live kidnapping. + Melbert: + - bugfix: Fixes some occasions which result in TTS messages not playing + Rhials: + - bugfix: Clown cars now properly collide with deer. + - sound: Violent, slightly glassy car impact sound. + Senefi: + - bugfix: Wired MetaStation APCs that were not attached to the station's power grid + at round start. + Time-Green: + - admin: Changing shuttle events now alerts admins + carlarctg: + - bugfix: Hulks cannot be aggressive grabbed by strong grabbers anymore + - balance: Syndicate duffelbags can fit 2 extra bulky items, down from three. + - balance: Reduced syndicate duffelbag's unzipped slowdown from '1' to '0.3', and + set its zipping-up sped to 0.5, same as unzipping. + - rscadd: 'Added the following items to the Syndicate Duffelbag bulky exception + list: Greentext, mech removal tool, gibtonite, skub, golem shells, mech ammo. + Roughly sorted the list by item category.' + - bugfix: Fixed the syndie surgery duffelbag having more items than it can hold + by removing the redundant surgical drill (Upgraded cauteries can turn into one + anyways) + - qol: Any storage item with a can_hold description can be examined twice to see + what it can hold now. + - bugfix: The parent crayon's name is 'crayon' to prevent any weirdness with things + that show the parent type's name. + distributivgesetz: + - bugfix: Fixed a rare bug that let you spam bluespace bodybags everywhere. + - bugfix: Mafia chaplains can now only use their seances on dead people now. + vinylspiders: + - bugfix: fixes mobs missing most of their emissive blockers + zeroisthebiggay: + - balance: Huzzah! Interdyne Associates have finally upgraded their medborgs' firmware. + They'll now have bonesetters and bonegel available! +2023-07-28: + DATA-xPUNGED: + - bugfix: New lights have been issued to the Head of Personnel's office. + - bugfix: We've instructed our intern to no longer place the HoP's stamps UNDER + the carbon paper bin, making many think there was no stamp at all. + Ghommie: + - bugfix: Reduced the maximum allowed length for ID assignments and paintings' titles + from 1024 to 42. + Iamgoofball: + - bugfix: Removes the ability to screwdriver springlock modules to make them not + deadly because that defeats the point of the springlock module + Inari-Whitebear: + - bugfix: Determination can now actually overcome your adrenal glands, making adrenal + crisis a curable condition! + Jackal-boop: + - qol: heretic sac targets now appear on the end of round report + Jacquerel: + - rscadd: Uncollected sand and snow will be blown away by the wind when storms happen + (but don't worry, storms also allow those turfs to be freshly dug up again). + MTandi: + - refactor: Refactored MOD Suit UI + - qol: Added options to hide detailed vitals and DNA data to the MOD status module + - qol: Made MOD Ion Jetpack Module have stabilizers enabled by default + Sealed101: + - rscadd: dog with a butter on 'em + - rscadd: dead dog with da butter on 'em (dogs feigning death are so good at it, + they appear dead to medical HUDs and other things) + - rscadd: Nars-Ian now can revive from the dead if he consumes a pet + - bugfix: fixes dog fashion items with no speech modifiers set making dressed up + corgis unable to perform their speech or emote behaviors + - bugfix: fixes old Ian losing his mobility ride when shaved with a razor + - bugfix: fixes pets not dropping their collar when gibbed + - bugfix: butter don't go on Lisa and corgi puppies (Lisa won't wear hats and corgi + puppies can't wear hats and back slot items) + Time-Green: + - qol: The virologist is warned when radioactive resonance cannot be obtained + YehnBeep: + - bugfix: Fixed a floating light in Delta's bar + mc-oofert: + - bugfix: guillotines no longer runtime when logging after decapping someone if + they buckle AFTER the blade starts to drop + - bugfix: shoving a crystal down a hole no longer makes it dust itself + nikothedude: + - rscadd: 'New malf module: Remote vendor tipping. Allows you to remotely tip a + vendor in any of the 8 directions. Goofy and okay for assassinations on unaware + enemies!' + - rscadd: 'New malf module: Core rolling. Allows you to roll around, crushing anything + you fall on with a satisfying splat.' + - code_imp: Vendor tipping is now a /atom/movable proc, allowing anything to fall + over and crush you. + - code_imp: All take_damage() overrides now use the correct arguments + - image: turf_analysis.dmi's red_arrow now has orthogonal directions + - balance: Vendors now are far less likely to gib your head or make you parapalegic + - balance: Vendors now respect armor when they crush you + san7890: + - code_imp: The currently operating rust-g version on a live server is posted to + places like the runtime.log, in the same place where the revision information + and any applicable test merges already were. + vinylspiders: + - bugfix: fixes a type mismatch error with some of the phobia chat messages + volas: + - bugfix: Some explosions should be more flashy and fiery, probably. + xPokee: + - rscadd: Photophobia as a negative quirk. +2023-07-29: + DaydreamIQ: + - bugfix: Birdshot AI sat now has unrestricted exit instead of entrance + Ghommie: + - rscadd: Added a 'Vending products shortage' station trait, that randomly lowers + the availability of all vending products from vending machines on the station, + with a 1/20 chance of the vending machine itself being tilted. + Mothblocks: + - qol: pAIs now try to stay within range of their owner, and teleport back only + when necessary + - qol: Default max pAI range has been changed to the maximum range you can choose + (9 tiles) + Paxilmaniac: + - bugfix: The anomaly research ruin is no longer missing several tiles on the inside + to the void + Sealed101: + - bugfix: fixed gibtonite countdown animation interrupting clicks with the mining + scanner + Senefi: + - bugfix: Replaced 5 space tiles in the wall of the anomaly research ruin with rocks. + - bugfix: Replaced the tile under the window in the mimes vs clowns ruin with plating. + - bugfix: Replaced space tile in the emergency fish shuttle with plastitanium flooring. + - bugfix: Removed space tiles from the exterior of some ruins templates. + Time-Green: + - rscadd: Adds cliffs to the north of icebox. Try not to fall of of them! + mc-oofert: + - bugfix: you can no longer fireman carry to bypass puzzle doors + vinylspiders: + - bugfix: non-opaque curtains will no longer block emissives +2023-07-30: + ArcaneMusic: + - qol: Improvements to the accounting console in the HOP office. + - balance: Non-human species now receive a 90% racial paycut, up from 75%. + - balance: The inflation mechanic affecting vending machines has been removed, except + during the market crash event. + - balance: The market crash event now stands as it's own separate event, and ramps + up the cost of vendor items until finally popping and returning to normal. Market + crash now lasts longer to have more impact while it scales with time. + - image: New cargo exo-drone scanner sprites! + Ben10Omintrix: + - refactor: the bear is a basic now. please report any bugs + - rscadd: the bear will climb trees and search honey + Ghommie: + - bugfix: Put a cap to the amount of stickers that can be sticked to an atom (12) + to prevent icon-related issues. + - bugfix: Fixing some jank with the a greyscale modify menu, like inputs not being + sanitized. + Jacquerel: + - bugfix: Dismounting from a piggyback no longer allows you to phase through other + players. + - rscadd: You can now earn an achievement for completing the Grand Ritual. + - bugfix: Summon Magic and Summon Guns work again + - rscadd: Player-controlled bots can now play the prerecorded lines associated with + that bot. + - rscadd: Placing a pAI into a bot temporarily teaches that bot all the langauges + the pAI could speak. + Melbert: + - refactor: Refactored chameleon actions a fair bit + - rscadd: Adds outfit saving to chameleon clothes. RMB the "chameleon outfit" action + to save your current chameleon setup for quick swapping. + - rscadd: Swapping between chameleon outfits now has a slight "animation" associated, + to distinguish traitors from lings slightly. + - rscadd: Adds a new chameleon item, the "Chameleon Scanner". Use it on other crewmembers + to stealthily save their current outfit as a custom outfit to use later. And + of course, it's chameleon too. + - bugfix: Ethereals, the DNA lock mod, GPSs, and storage items now respect EMP protection + - balance: The "Long Shift" achievement is now feasibly obtainable, and admins can + no longer trigger it unknowingly + - bugfix: Fixes runtime from trying to put two pots on one stove. + SyncIt21: + - bugfix: some things not connecting to the ore silo round start + Time-Green: + - rscadd: Adds a Forested planetary station trait! Icebox exterior is now a forest! + - rscadd: Adds a Forever Storm planetary station trait! Sometimes, the storm never + stops. Stay inside or get some coffee and warm clothes + - bugfix: fixes stuff spawning in rivers and above chasms + - bugfix: emissive blockers on random flora not updating + - code_imp: Splits terrain generation and terrain population in SSmapping + - rscadd: Starlight will color with space gas parallax + - code_imp: Cleans up random parallax code / radioactive nebula parallax code + - bugfix: Staff of laval no longer works on space + necromanceranne: + - bugfix: Fixes revolvers losing ammo capacity when you reload them. + san7890: + - bugfix: Carbons with tails (felinids, lizards) who have that tail removed will + now have that tail actually look like it came from the person in question, rather + than just be a grey thing of sadness. +2023-07-31: + CRITAWAKETS: + - balance: The bluespace MOD storage can now hold bulky storage items (backpacks, + toolbelts) just like the bag of holding. + GoldenAlpharex: + - bugfix: Clothes equipped in the jumpsuit slot that happen to cover your feet will + no longer get bloody when you walk over blood if you are also wearing shoes. + Your kilt won't be getting bloody instantly anymore, it only will if you take + your shoes off! + - bugfix: Chat highlights now escape special RegEx characters from non-RegEx highlights. + - bugfix: Broken RegEx expressions no longer cause the chat to bluescreen, allowing + you to properly fix them. + SyncIt21: + - bugfix: Module duplicator has cheaper costs for circuit duplication + - rscadd: RPED can carry & install computer boards and complete computer frames + cnleth: + - bugfix: Using the timeline jumper MOD module updates stamina after resetting it, + no more infinite stamcrits + vinylspiders: + - bugfix: fixed a bug that would cause pAIs to be able to break their leash diff --git a/html/changelogs/archive/2023-08.yml b/html/changelogs/archive/2023-08.yml new file mode 100644 index 0000000000000..7aee835af2f56 --- /dev/null +++ b/html/changelogs/archive/2023-08.yml @@ -0,0 +1,1419 @@ +2023-08-01: + Fikou: + - bugfix: ghost notification icons are now centered properly + - bugfix: coroner has an implant during cybernetic revolution + - bugfix: fixes wizard loadouts + Hatterhat: + - bugfix: The blood-drunk miner has remembered how to swing their cleaving saw quickly + without having to flick it out first. + Jacquerel: + - bugfix: Losing your hooded suit (whether to theft, or because you were turned + into an ape) will also cause you to lose the hood. + Licks-The-Crystal: + - spellcheck: Corrected a large quantity of spelling, grammatical and phrasing errors + with Exploration Drone content. + Paxilmaniac: + - image: Wall and floor lights have been resprited to be a lot less dated looking, + and a lot less yellow + Sealed101: + - bugfix: fixed bluespace bodybags consuming xenomorphs when folded + Time-Green: + - bugfix: fixes a runtime in SSstation setup + - bugfix: fixes parallax not rendering correctly for latejoins + Vincent983: + - spellcheck: fixed the interdyne modsuit's typoes + Watermelon914: + - rscadd: Expanded the RPG loot wizard event by giving various different items their + own statistic boost. + YesterdaysPromise: + - rscadd: Added couple new signs to the game (med, medbay, morgue, chapel, viro, + gene, botany) + - rscadd: Way-signs now have additional states, showing vertical directions. + - image: Made the font on the signs consistant. + distributivgesetz: + - bugfix: Photophobia should work now. + - bugfix: Eyes should return to their normal flash sensitivity when the quirk is + removed. + - bugfix: Fixes pAI mind transfer from a bot to their card runtiming when the bot + gets broken. + san7890: + - refactor: Slaughter and Laughter Demons have been refactored, please place an + issue report for any unexpected things/hitches. + - bugfix: Laughter Demons should now actually drop a kitten. + zeroisthebiggay: + - spellcheck: Minor Breakage > Minor Skin Breakage for readability. +2023-08-02: + DaydreamIQ: + - bugfix: Birdshot's morgue has surgical tools and a laptop for the coroner to use + Derpguy3: + - qol: The Syndicate battlecruiser's fighters have received external cameras to + aid its pilots. + - qol: Warning lights have been added to the landing pad of the battlecruiser to + (hopefully) reduce incident numbers. + - bugfix: A stray air alarm was removed from the bridge of the Syndicate battlecruiser. + - bugfix: The turret control panel in the bridge of the battlecruiser has been moved + to a wall, allowing access without needing to climb the table. + - bugfix: Airlocks on the Syndicate battlecruiser which were missing syndicate access, + has had it added. + - bugfix: The Syndicate medibot on the battlecruiser can now be unlocked by its + crew. + Jacquerel: + - bugfix: Several places on Birdshot which were missing an APC now aren't. + - bugfix: Several places on Birdshot which were missing an air alarm now aren't. + Jolly: + - bugfix: '[Shuttles] Kilo''s Emergency Shuttle no longer has a stacked light in + its brig.' + Melbert: + - bugfix: Fixed BB admin add + - bugfix: Traitors using the sneak suit and heretics under the effects of cloak + no longer leak their identity via Text to Speech + OrionTheFox: + - image: resprited a lot of formal undersuits, enjoy! + - rscadd: Added a pre-colored type of buttondown slacks for some service roles, + to replace the "black suit" and "amish suit" + - rscdel: Removed the "amish suit", "black suit", and one of the two "white suit"s + Senefi: + - bugfix: NorthStar's Supermatter Waste Chamber guide no longer contains inaccurate + information + - qol: NorthStar's Supermatter Waste Chamber air alarm no longer shows the hallway + vent and scrubber on the configuration panel. + SyncIt21: + - bugfix: broken icons in RCD UI + Thunder12345: + - bugfix: CentCom can no longer be raided by teleporting out of the Super Secret + Room + - bugfix: The Administrative Storage and ERT Armoury blast doors can no longer be + opened by building a door button. + carlarctg: + - qol: When Space Dragons devour people they get extinguished, removing flames. + honkpocket: + - rscadd: Adds an emote to push up glasses with *glasses + - rscadd: Adds a visual effect to *sigh + timothymtorres: + - rscadd: Add a new 'Hall of Fame' emergency shuttle. It even comes with it's own + nifty photo album. +2023-08-03: + Fikou: + - balance: hat stabilizer module can now hold what plasmaman helmets can hold + - qol: kinesis module can be stopped without launching an object with right click + - balance: kinesis module stuns last until the kinesis stops + - rscadd: admin suit has a version of kinesis that can pick up anything at any range + and can be configured to make grabbed mobs phase through walls :) + Ghommie: + - bugfix: BoH bombing now correctly requires two bags to be done. + Hatterhat: + - balance: The strong-arm implant's punches now respect armor. + - spellcheck: While using an arm with the strong-arm implant to punch people, you + no longer kick them; your implant's in your arm, after all! + IndieanaJones: + - balance: Xenomorph neurotoxin has been buffed (50 -> 65 stamina damage) + Jacquerel: + - bugfix: Your pAI card won't pop out of your PDA onto the floor alongside its hologram + if it enters hologram form while inside a PDA. + Rhials: + - rscadd: Fugitive shuttles now have a "Fugitive Tracker" machine, which gives a + readout on the location of a random fugitive on a 40 second cooldown. + - spellcheck: Renames the fugitive pinpointer to the bounty shuttle pinpointer. + SpaceVampire: + - bugfix: Guard Spiders are no longer unable to attack after using Web Effigy + SyncIt21: + - bugfix: bluespace RPED can be put in bags again without dragging them into their + storage slots + - bugfix: normal RPED exchanges parts & displays part info again + Time-Green: + - qol: The random parallax layer moves more slowly, giving a more deep feel + distributivgesetz: + - bugfix: Fixes holoparasites not dusting their owners on death sometimes. + timothymtorres: + - bugfix: Fix ethereal crystal destruction not removing light + tommysalami3: + - rscadd: Adds boss music functionality. + - sound: Adds hierophants boss track, tweaks hierophant boss noises. +2023-08-04: + GPeckman: + - rscadd: Added whisper-sensitive cybernetic ears, which make it much easier for + the user to hear whispers at the cost of being more vulnerable to loud noises + - rscadd: Added wall-penetrating cybernetic ears, which allow you to hear speech + through walls + - balance: Basic cybernetic ears and upgraded cybernetic ears are now unlocked with + the other basic/normal cybernetics + - balance: The welding shield and luminiscent cybernetic eyes are now unlocked with + the other upgraded cybernetics + - bugfix: radio should no longer be broken for everyone + Helg2: + - bugfix: deleted trash in the walls from whiteship ruin box. + Jacquerel: + - rscadd: pAIs can be inserted into MODsuits and can control suit modules (but are + not capable of moving the suit). + - bugfix: AIs/pAIs in MODsuits can properly pin actions + MTandi: + - bugfix: removed fire alarm that was inside a window on oldstation + OrionTheFox: + - image: resprited the entirety of RnD! Genetics, Robotics, the RD, and the Science + Team themselves will enjoy the fresh new looks but same great taste! No, wait, + great STYLE! Don't eat these, they're covered in chemicals. + Vekter: + - bugfix: Fixes formatting for derelict and syndicate drone job names. They should + no longer tell you they're "the Ghost Role" when spawning as them. + - rscadd: Remapped the Metastation kitchen for about the tenth time. + - spellcheck: Fixed a typo in progressbar.dm and the file name for the progress + bar sprites. + cnleth: + - bugfix: Spell burger now has only one recipe + distributivgesetz: + - qol: Made reading text with the PDA retro theme a bit more accessible. + - rscadd: Updated Direct Messenger to v6.5.3. Now including brand new individual + chat rooms, proper image attachments and a revolutionary message input field! + - rscadd: Added a "Reset Imprint" option to the PDA painter. + - refactor: Refactored PDA imprinting code just a bit. + - bugfix: PDAs should now properly respond to rigged messages. + - bugfix: Fixes an extremely rare bug where a /mob/living/brain with a client would + not be moved out of nullspace correctly, causing admin log spam. + peptron1: + - qol: TTS volume preference is not actually a volume slider, instead of a volume + number input. + san7890: + - server: Added a preventative measure to prevent calling both TGSHardRestart and + TGSReboot, as well as potentially invoking sensitive procs that are only meant + to be called once. +2023-08-05: + Ghommie: + - bugfix: Areas created with the "land claim" blueprints are no longer hazardous + to free golems. + Jacquerel: + - rscadd: Lightgeists under AI control will selflessly heal any wounded creature + that they see. + - balance: Lightgeists can no longer repair non-organic tissue. + - admin: The imaginary friend smite now allows selecting "offer to ghosts" instead + of having to perform that poll yourself manually. When offering to ghosts you + can also offer for several ghosts to volunteer at the same time. + LT3: + - bugfix: Fixed disease outbreak viruses sometimes getting stuck invisible from + medHUDs + - admin: Added more admin features to create/manange disease outbreaks + - admin: Pressing 'cancel' on disease outbreak setup dialogs will actually cancel + the event instead of running it with default settings + MTandi: + - qol: You can fill microwave with stuff by hitting it with a box full of stuff. + Sealed101: + - rscdel: removed new player status tab Readiness Status + - rscadd: added a Ready Status Blip on the Collapse Menu button + - bugfix: golems that ate plasma are properly immune to ash storms +2023-08-06: + Fikou: + - bugfix: sniper scope and kinesis should work without widescreen + Jacquerel: + - bugfix: Goliaths no longer intermittently reset their target and retarget something + else. + - bugfix: Goliaths can once again step diagonally. + JohnFulpWillard: + - bugfix: Boss music cuts out when you die. + Kryson, MTandi, Zeckle (Mike): + - image: New bottles and holy grenade sprites + Rhials: + - qol: Most of the colored oval-shaped portals faintly glow now. Cool! + Senefi: + - code_imp: Autowiki module for stock parts + - bugfix: Emergency lights no longer runtime when created in nullspace + Vekter: + - bugfix: Fixed the DNA Infuser's circuit board missing from the techfab and tech + storage. + Watermelon914: + - bugfix: Fixed being unable to purchase regular-priced uplink items if you bought + the discounted variant of it. + carlarctg: + - rscadd: Cursed crewmembers can randomly, extremely rarely, spontaneously combust + for no reason. + - rscadd: Cursed crewmembers can get zapped by nearby light tubes. + - rscadd: Cursed crewmembers can freak out when passing by mirrors. + - rscadd: To make up for these, triggering a cursed effect is slightly less than + half as likely now when walking around now. + necromanceranne: + - bugfix: Restores a lost feature, Clarkes and Odysseus mechs once again can pivot + on a dime and step in the same button press. + - qol: Mechs universally have diagonal movement as to avoid unresponsive movement, + as block diagonal movement was having unintended side effects and was actually + intended for pivot step mechs. + timothymtorres: + - rscadd: Add pAI movement freedom when emagged. + - qol: The "Malicious Software Detected" button has been appropriately renamed to + "Reset Software" for when pAIs are emagged + - qol: Add a new law notification popup and flavor texts when pAI is emagged +2023-08-07: + EuSouAFazer: + - bugfix: Removed a doubled filing cabnet in Northstar's Library Book Return room + - bugfix: Exorcised uneeded variables from windoors in Meta's Xenobio + Ghommie: + - bugfix: Fixed a logic mistake for chasm fishing that resulted in only generic + items being spawned. + SandPoot: + - image: Changed screentips icons to something a lot fancier unified with the LMB + / RMB text. + - qol: There are accessibility preferences to disable this! Look for "Screentip + context with images" beside the other screentip preferences. + Sealed101: + - bugfix: fixed missing froth sprites + - image: bubblegum's blood smack and blood grab use new bubblegum sprites + Senefi: + - qol: Bluespace Artillery Cargo Crate includes a guide paper for how to assemble + it. + Sheits: + - image: Re-sprites some of the oldest hairstyles + Watermelon914: + - bugfix: Fixed particles sometimes being left behind when an object drops all of + its contents whilst having a particle active. + Wisemonster: + - bugfix: Fix mulebots receiving the wrong message when thier cell is added/removed. +2023-08-08: + Ben10Omintrix: + - bugfix: the bee will now care more about polinating + - qol: in case u miscliked the bee queen with a seringe 2 times, the raegent will + not be transfered to the quen if he alredy have this raegent + BlueMemesauce: + - rscadd: Emagged player-controlled bots now get different flavor text (depends + on policy) + - rscadd: Bots are now notified when a silicon toggles them malfunctioning + Comxy: + - bugfix: Damage on limbs get transferred on species change. + GPeckman: + - bugfix: Creatures with nobreath trait will now regenerate oxyloss. Androids, skeletons + and such will no longer be stuck with un-healable damage after being revived. + Ghommie: + - image: Mirrors now display a reflection of the mobs next to them... except for + vampires. + - rscadd: Added an Indebted negative quirk to the game, which gives the holder's + bank account a debt averaging at 15000 credits (with a variation of 1250 cr) + and forces 75% of all earnings towards solving it. A little prize awaits those + who actually extinguish it. + JohnFulpWillard: + - rscadd: Adds the Coroner surgery duffelbag; This replaces Coroner's surgery tools + in their medkit and current duffel, and has the cruel surgery tools instead + of regular ones. + - balance: Cruel surgery tools are no longer premium. + - balance: Coroner's medkit is now premium in the vendor. + - balance: All Coroner medkits are the same, there is no 'large' variant. + - balance: Coroners no longer get a folder. + LT3: + - bugfix: Advanced viruses that are supposed to be stealth will again actually be + stealth to analyzers + - code_imp: Virus visibility flags can now be toggled in view variables + Melbert: + - code_imp: Updated some status effect tick code to be more clear of how long is + elapsing between ticks. Some effects that were inadvertently weakened are now + stronger as a result (fire and some heretic effects). + Sealed101: + - bugfix: fixed goliaths digging sand that they can't actually reach (behind windows + or inbetween closed turfs) + - bugfix: fixed goliaths melee attacking their target despite the target running + away from goliath melee range + - bugfix: fixed goliath tentacles not spawning in mineral turfs + - bugfix: fixed goliaths summoning tentacles on targets that moved behind cover + but stayed in their targeting range. this applies for most basic mobs, really, + so if any basic mob was targeting you despite you hauling ass behind cover, + they shouldn't anymore + Sheits: + - image: fixes weird inconsistency on the neck and butt of the female base sprite + Watermelon914: + - bugfix: Fixed a hard delete that would occur with lua-created atoms. + YakumoChen, Thalpy: + - rscadd: Chen And Garry's Ice Cream is proud to debut a wide selection of cool + new frozen treat flavours on a space station near you! + - rscadd: Chen And Garry's Ice Cream revolutionary Korta Cones allow our ice cream + vendors to profit off the lizard demographic like never before! + - code_imp: Ice cream flavours now are all greyscaled similarly to GAGs + goobliner: + - rscadd: 4 New skin tones, hooray! + itsmeow: + - code_imp: Optimized z-level transition mirages, saving ~0.32s init. + softcerv: + - bugfix: former blobs are no longer able to respawn after having their mind transferred + to a new body. + timothymtorres: + - bugfix: Fix parasitic infection to cure upon liver removal + - qol: Add sounds and flashing effects to slot machines + - sound: Add new ding sound to slot machines from https://freesound.org/people/Natty23/sounds/411747/ +2023-08-09: + Ben10Omintrix: + - refactor: the hivebot is now a basic please report any bugs + CRITAWAKETS: + - rscadd: The Syndicate has begun rolling out new Tactical Deniability Implants + for their Nuclear Operative teams. It seems these implants are designed to make + teams "fight harder" by "giving incentives for fighting to the bitter end", + whatever they're talking about. + CliffracerX: + - image: resprited all duffelbags, including worn and inhand variants to match modern + storage. + Fazzie: + - qol: 'Many changes in Birdshot''s Library. + + Makes the curator''s bookshelf be Adult rather than Random + + Makes it so the curator can actually leave his desk to the main room + + In order to do that I had to move one of the bookshelves away; removed the spacewindow + behind bookshelves since they didn''t make any sense in-universe and put the + moved bookcase there + + Makes a wire no longer go through a wall to reach the library APC' + Ghommie: + - bugfix: Fixed certain aquarium fish eating other fish when not hungry. + - rscadd: Added a score award that counts how many achievements you've unlocked + so far. + - qol: Examining a fishing rod will now provide information on equipped hook, line, + bait, and right click functionality. + - balance: Fishing without a bait will only lower the odds (a smidge less, too) + of catching fish, not other things. + - balance: Catching something that isn't a fish or a living mob won't consume the + bait anymore. + - balance: The Bepis fishing rod will now ignore fish's bait preferences. + Melbert: + - rscadd: PAIs can now cast wizard spells should they have any. + - rscadd: AIs located in intellicards can now cast wizard spells should they have + any. + - rscadd: Some spells, such as AoE or conjure spells, are now castable from within + Mechas or Clown Cars. To varying degrees of success. + - rscadd: Knock will now unlock and open closets you are hiding within. + - rscadd: Repulse will now throw open closets you are hiding within. + - qol: Abductor Baton Recall now starts linked to their baton, and you can no longer + unlink your baton + - qol: Instant Summons now shows what item is marked over the icon + - bugfix: Fixes Instant Summon's name not updating when marking an item + Sealed101: + - bugfix: fixed basic mobs freezing up when in melee range of a target + Tattle: + - admin: Pings an admin role on discord when a new player joins (when enabled by + config) + Vekter: + - sound: Law changes will now play a sound to silicons impacted by those changes. + dieamond13: + - bugfix: removes a stray obj/item from random metastation wall + necromanceranne: + - bugfix: You can do autopsies on people who were revived and died again after they + had already been dissected. + - qol: Autopsies have become the surgery needed to complete the dissection experiments. + As a result, the dissection surgery has been removed as it is now redundant. + - qol: A coroner knows whether someone has been autopsied and recently dissected + (and thus hasn't been revived) by examining them. + - balance: Standardizes some of the nuclear operative entries to have more consistent + pricing within their respective categories. + - rscadd: Adds some new categories so that players have an easier time navigating + the nuclear operative uplink. + - balance: Many items have had prices reduced or adjusted to make them more desirable + or more consistent within their category. + - rscadd: Weapon kits have replaced almost all the individual weapons in the uplink. + You now buy these instead of the individual weapon. These often come with spare + ammo or relevant gear for success. + - rscadd: 'Most ammo types have been standardized in price. + + refactor; Removes a lot of redundant item entry code and tidies up the actual + code part of the nuclear uplink so that it is much easier to find things within + it.' + - rscadd: Added 40 new cosmetic items to the Syndicate Store. Buy them now from + the Hat Crate, only 5 TC! + - code_imp: Updated the nuclear operative uplink files. + siliconOpossum: + - rscadd: Added greyscale suitskirt, available in clothesmates + - rscadd: You can now roll up the sleeves of greyscale buttondown shirts + - qol: Re-added previously removed black suitskirt and the RD's tan suitskirt, as + pre-colored variants of the above + - bugfix: Fixed only one buttondown with slacks being available in clothesmates + - image: Slightly adjusted greyscale buttondown sprite, you look less fat now! +2023-08-10: + Boopideedoo: + - bugfix: fixed a Camera in atmos + - rscadd: missing Camera in chem storage + CoiledLamb: + - rscadd: Added wellcheers, a contraband soda with various side effects. + - image: resprites all cans in the drinks icon file + - image: resprites the canholder sprite in storage.dmi + Comxy: + - rscadd: Young Spiders that appear between spiderlings and adult spiders. + - balance: Wizard Spider version has better immunity against temp damage and can + lay webs faster. + - balance: Tangle Spider sucks more with self-healing but has more health. + - balance: Scout spiderling gets thermal vision. + - balance: Viper deals bonus damage when an enemy is below 20% health. + DeerJesus: + - balance: added the storage implanter to the syndie-kit tactical 'spy' kit to make + it decent. + Derpguy3: + - bugfix: The service cyborg's beverage apparatus is now capable of grabbing coffee + pots and syrup bottles. + Inari-Whitebear: + - bugfix: Metastation Kitchen APC is wired to the grid again. + Jacquerel: + - rscadd: Adds a new technology which utilises Bioscrambler anomaly cores to allow + you to transform into animals. + Momo8289: + - rscadd: Cigarettes can now be placed in and smoked through gas masks, so long + as the mask has no filters installed and is not covering the mouth. + Sealed101: + - bugfix: fixed gibtonite explosions having flames and flash ranges + Singul0: + - balance: Geode Pirates have upgraded their launchpad room to be more usable + - bugfix: Fixes a bug in the navigational computer of the Geode pirates causing + their shuttle to move sideways. + Vincent983: + - spellcheck: fixes one of the virus thresholds saying "scrathing" instead of scratching + carlarctg: + - qol: Biogenerators can be unwrenched + - rscadd: Adds Summon Simians, a spell that summons four monkeys or lesser gorillas, + with the amount increasing per upgrade. The monkeys have various fun gear depending + on how lucky you get and how leveled the spell is. If the spell is maximum level, + it only summons normal gorillas. + - balance: Wizard Mutate spell works on non-human races. It also gives you Gigantism + now (funny). If the Race can't support tinted bodyparts, your whole sprite is + temporarily turned green. + - balance: Made Laser eyes projectiles a subtype of actual lasers, which has various + properties such as on-hit effects and upping the damage to 30. + - rscadd: 'Added further support for nonhuman robed casting: Monkeys, cyborgs, and + drones can all now cast robed spells as long as they''re wearing a wizardly + hat as well.' + - balance: Made monkeys able to wield two-handed things again. + improvedname: + - balance: Removes standard vest from all security lockers and adds 3 of them to + the security wardrobe. + xPokee: + - bugfix: Fixed the tramstation kitchen not having any lights + - image: added a wagging tail for cake cats to match other cats +2023-08-11: + EOBGames, MrMelbert: + - rscadd: Mars celebrates the 250th anniversary of the Martian Concession this year, + and this has brought Martian cuisine to new heights of popularity. Find a new + selection of Martian foods and drinks available in your crafting menu today! + FernandoJ8: + - bugfix: crafting recipes without a name, such as the mothic pizzas, will inherit + the name of the item they make + Fikou: + - bugfix: fixes kinesis not actually immobilizing or blocking hands of grabbed mobs + - balance: Space Ninja's energy net uses a projectile to catch people now. + Ghommie: + - bugfix: Fixed fired foam darts, gumballs and (harmless) lollipops being embeddable. + - bugfix: Projectiles that should embed while being reusable will now do so correctly, + actually embedding the reusable casing instead of a shrapnel. + - balance: Arrows are generally more likely to embed now, except for blazing ones, + that kind of just blaze. + - qol: the quiver storage now uses numerical stacking (like botany and ore bags, + or the RPED, for example). + - bugfix: Fixed an oddity with morgue corpses being shakeable like they're just + unconscious. + - bugfix: Mirror reflections no longer display progress bars or runechat. + - bugfix: Fixed an oversight with processable items that lead to the same chat message + being sent multiple times. + LT3: + - bugfix: Large airlocks are now a subtype and function on both tiles + Melbert: + - bugfix: Fix some missing wizard spellbook flavor + - bugfix: Fixed latejoiners being affected by certain things twice, such as Summon + Guns and Summon Magic + Paxilmaniac: + - bugfix: The bulbs of lights will now have an emissive glow when on, making it + so they appear active no matter how dark the area surrounding them happens to + be. + Pickle-Coding: + - balance: Changeling arm blade has an armour penetration of 35%. + - balance: Changeling arm blade has a wound bonus of 10, from -20. + - balance: Changeling has a bare wound bonus of 10, from 20. + Vekter: + - bugfix: FRAG-12 shells no longer require sulfuric acid, instead needing 10 fluorosulfuric + acid. This should prevent them from leaving byproducts if crafted in a specific + way. + Vincent983: + - spellcheck: improvised fire extinguishers aren't full of typoes now + Watermelon914: + - admin: 'Added new lua functions: SS13.is_valid, SS13.stop_tracking, SS13.new_untracked, + SS13.type and SS13.qdel' + carlarctg: + - qol: Drill module automatically disables if it's about to drill into gibtonite + iain0: + - bugfix: A small clerical error fixed which will cause the Ukrainian station naming + prefix to be properly applied to the Independence Day of Ukraine holiday on + 24th August, rather than overwriting the Indigenous People's Day station prefixes. + timothymtorres: + - rscadd: Add admin blackhole shuttle event with a normal version and suicidal version. + - bugfix: Fix several shuttle event runtimes +2023-08-12: + Cheshify: + - qol: North Star's Cytology and Xenobiology are now significantly more usable. + - rscadd: North Star's Genetics has been tweaked. + - bugfix: The North Star's AI SAT has a working vent and it's service hall has a + working lightswitch + Derpguy3: + - bugfix: The metastation law office's shutters now function again. + EuSouAFazer: + - qol: The flowers in Meta's chapel are no longer stacked atop eachother + Ical92: + - bugfix: fixed missing departments and names in request consoles + Melbert: + - bugfix: Fix antimagic effect not expiring + Paxilmaniac: + - qol: Gigabeacons no longer need to be constructed like standard machines, instead + being printed as items that can be deployed quickly inhand without tools. + - qol: Gigabeacons are no longer their own research node, instead being a part of + telecomms tech (due to the fact they're RADIO navigation beacons) + - image: Navigation gigabeacons now have their own unique sprites, inspired by maritime + EPIRB devices. If you find a yellow box with an antenna on it, you probably + found a nav beacon! + - code_imp: The deployable component now gives you an option to disable the examine + blurb it adds to its parent + Wallem: + - rscadd: T + carlarctg: + - balance: Lepton Violet (wabbajack) shuttle must be unlocked by having some form + of polymorph happen in-game first (Pride Mirror or the cursed springs are the + most accessible sources) + - balance: Scrapheap shuttle can only be bought if the Cargo budget is below 600 + credits, and the shuttle has just less than half of its usual refueling time + left. However, it gives the cargo budget an influx of 3000 credits! + - qol: Uncle Pete's Rollerdome has had its price increased, and the disco machine + is no longer unbreakable. + timothymtorres: + - qol: Emergency shuttle now gracefully display occupancy limits and prerequisites + in the communication console. + - balance: Change mousetraps to kill mice instead of damaging them (except regal + rats) +2023-08-13: + FernandoJ8: + - bugfix: Plumbing Constructors can now deconstruct every machine they can make, + including the plumbing IV. + - bugfix: Plumbing IV drips no longer drop metal when deconstructed + - bugfix: rabbits are now small-sized rather than human-sized, as well as capable + of being picked up + - bugfix: baseballs are now small sized rather than large + Ghommie: + - bugfix: Fixed wheelchairs being silent. + IndieanaJones: + - bugfix: After a collective brain fart lasting for 6 months, monkeys and xenomorphs + now know how to remove embedded objects from their own bodies. + Jacquerel: + - bugfix: Giant Spiders only have an antag datum if created by the round event. + - balance: Flesh spider eggs hatch into adult spiders instead of baby spiders. + - balance: The eggs spawned by the start of the spider infestation event hatch into + adult Midwife spiders instead of baby ones. + JohnFulpWillard: + - qol: The mining order console is now a bit more compact, and the search bar works + regardless of which tab you are currently on. + - bugfix: X'ing out of the podpeople no soul prompt will no longer harvest the seeds. + - bugfix: Mime spell books don't eat itself when used in the dark or cancelled out + of. + - qol: Gateway access no longer requires a Silver ID. + Melbert: + - bugfix: Fixes Shadow Walk + Sealed101: + - bugfix: Labor Camp Sustenance vendor is no longer free; instead, it takes your + labor points that you'd otherwise use for paying off your point goal. + - rscadd: you can upgrade laser pointers with a bluespace crystal to let them shine + through walls at double the power cost, if the laser in the pointer is of tier + 3 or higher. + - qol: laser pointer charge can be seen by examining it + - bugfix: fixed laser pointers luring dead cats when shone upon + - code_imp: laser pointer code cleaned up a tad + TheBoondock: + - rscadd: Added Pulse of Entropy, a new ritual for rust heretic unlocked after leeching + walk. This ritual can be completed with 20 iron sheets, 2 garbage items to rust + in a 4 tiles radius round the rune. Useful for establishing bases and fighting + area. + - bugfix: fixed detect_room not running correctly when break_if_found is not passed + dieamond13: + - rscadd: Lets you grind things into a hauntium reagent which works similarly to + the solid form but is versatile and has some unique effects. + lizardqueenlexi: + - bugfix: The Nuke Op/Lone Op sniper briefcase now properly contains a sniper rifle. + san7890: + - refactor: Morphs are now basic mobs with a nice new ability to help you change + forms rather than the old shift-click method, much more intuitive. + - admin: With the morph rework comes a new ability you can add to mobs, "Assume + Form". Feel free to add that to any simple or basic mob for le funnies as Runtime + turns into a pen or something. + - bugfix: Growing spiders will now retaliate against you like they were always meant + to. +2023-08-14: + CoiledLamb, Jacquerel: + - rscadd: Adds mining weather radio + EOBGames: + - bugfix: a few issues with Martian food + EuSouAFazer: + - bugfix: The chef can no longer close the shutters in Meta's HoP office. + - bugfix: Doctors no longer spawn in the bedroom in the northstar + - qol: The icebox bridge had its items moved to better positions. No items were + added or removed, and none left their original room (except the captain's electric + razor, which went to the bathroom). + Hatterhat: + - bugfix: Projectile damage multipliers on guns are now reflected in their combat + information. + - admin: Admins can now make a gun's fired projectiles better or worse at wounding + by changing the gun's projectile_wound_bonus. Surely this will not have any + repercussions. + Helg2: + - bugfix: Inquisitor Commander now has just 1 box. + Jacquerel: + - bugfix: If you shapeshift into a mob which can eat things such as player corpses, + those things will fall out when you stop shapeshifting + - bugfix: Player-controlled basic mobs with ranged attacks can now only fire about + as fast as AI-controlled ones. + Shroopy: + - bugfix: You can no longer stand up without legs. + Vincent983: + - qol: xenos rest verb now is a hud button instead + lizardqueenlexi: + - bugfix: The modular receiver is now only printable from a hacked autolathe. +2023-08-15: + ABS-Helmet: + - image: modified glass pane wall mount icon + Comxy: + - rscadd: Added big slappy + - image: Added big slappy parts and big slappy sprites + DeerJesus: + - bugfix: you can no longer tactially stealth-hide donuts in your right hand + FernandoJ8: + - bugfix: mob holders no longer bug out and harddel when put into evidence bags. + GoldenAlpharex: + - bugfix: The formatting on PDA messages displayed to observers is now back to what + it used to be, rather than being all bold. + - bugfix: PDA messages are now displayed to observers from dead players, and not + just dedicated observers. + Kapu1178: + - rscadd: Lockers, crates, and machines no longer block click attempts in adjacency + checks. Basically, you can reach tables cornered between lockers/machines. + Melbert: + - qol: Minor mapping work to Metastation. Wallmounts, decal changes, etc - especially + around Medbay. + - qol: Remapped Meta's Morgue slightly. + OrionTheFox: + - bugfix: fixed the Tram Pod Bay having no lights + ShizCalev: + - bugfix: Medbots made with tactical medical kits now have the correct skin + SmoSmoSmoSmok: + - refactor: ice whelps have been refactored to basic mobs + - rscadd: ice whelps have a new dangerous ability which theyll use once their enraged + meter is full + YehnBeep: + - bugfix: fixed missing seating at the All American Diner + carlarctg: + - rscadd: Adds a unique medibot to the Syndicate Infiltrator. It doesn't like nukes + - when one is armed, disarmed, or detonating, it says an unique line. Players + can optionally enable personalities on it if they want to. Probably best to + just let it stay on the shuttle though. (It's also in the Interdyne Pharmaceuticals + ship, renamed) + - bugfix: Fixed an issue that made mapload medibots unable to load custom skins. + vinylspiders: + - bugfix: fixes a bug that can cause emotes to stop working if a client is being + created or deleted + - bugfix: fixes immerse overlays not being added the first time a mob enters a water + turf +2023-08-16: + DeerJesus: + - bugfix: removes bodybag welding tooltip + FernandoJ8: + - bugfix: items no longer stay in your hands after their respective arm is dismembered + MTandi: + - refactor: Refactored Mech UI + - refactor: Refactored mech radio into a utility module, adding extra slot to all + mechs + - refactor: Refactored mech air tank into a utility module with an air pump, adding + extra slot to all mechs + - refactor: Refactored mech cabin air - there is now a button to seal or unseal + cabin to make it airtight or exchanging gases with the environment + - refactor: Removed mech maintenance UI Access is set in mech UI, and parts are + ejected with a crowbar + - rscadd: Mech now has wires and can be hacked + - qol: Roboticists now can see MOD suit and mech wires + - rscadd: Mechs now require servo motor stock part and it affects movement power + usage instead of scanning module + - rscadd: Scanning module absence doesnt block mech movement and hides some UI data + instead. Big Bess starts without one. + - qol: Hitting mech with ID card now toggles ID lock on/off if the card has required + access + - bugfix: Fixed concealed weapon bay not being concealed on mech examine + - bugfix: Fixed mech radio not changing frequency + - bugfix: Fixed mech launcher type weapons ignoring specified cooldown + - bugfix: Fixed mech launcher type weapons not using specified power amount + - bugfix: Fixed mech temperature regulator ignoring gas heat capacity + - bugfix: Fixed mech stopping processing other things while not heating internal + air + - bugfix: Fixed mech being able to leave transit tube in transit + - bugfix: Fixed mech internal damage flags working incorrectly + - bugfix: Fixed Gygax leg overloading being useless + - bugfix: Fixed mechs ignoring their stock parts on creation. Syndicate mechs now + stronger against lasers and consume less energy on move. Upgrading from tier + 1 to tier 2 doesn't make mech consume MORE energy than before the upgrade. + - balance: Rebalanced mech energy drain with part upgrades. Base energy drain reduced + by 50%, 33%, 25% with upgrades and applies to movement (Servo rating), phasing, + punching, light (Capacitor rating). + - balance: Hydraulic clamp now can force open airlocks + - balance: Made mech RCS pack consume reasonable amount of gas + - code_imp: Fixed some other minor bugs and made some minor changes in the mech + code + Onule: + - image: modified light fixtures' sprites and overlays to be more pronounced + OrionTheFox: + - rscadd: Added the Bowtie! Bartenders start with one on, but they can also be found + in the Bardrobe, Autodrobe, and Clothesmate. No need to tie it either, it's + just a clip-on. + - rscadd: Added a Greyscale "Formal Jacket" of the style that most suits use, for + crew who want to make their own using the buttondown shirt. + - rscdel: Removed the generic Cook/Bartender uniforms and changed them to use the + Service buttondown w/ slacks. + - image: updated the majority of Lawyer suit sprites, along with the Cook's Apron-Jacket + and Hat, and updated/greyscaled Botany's Overalls! Also the Overalls are available + in the clothesmate, and the Cook Jorts' shirt is less crusty. + Paxilmaniac: + - image: The Mosin-Nagant has been given new sprites and a reflavor, looking for + the old rifle? Look for the Sakhno Precision Rifle. + - balance: The tiniest balance thing, but since Silverscales use the Sakhno-Zhihao + rifle, which has a scope on it, their main weapon now has a scope. + - sound: The cargo rifle now has a new, considerably more rifle sized firing sound. + Gotten from tgmc from https://github.com/tgstation/TerraGov-Marine-Corps/pull/12280. + SyncIt21: + - bugfix: multiple balloon alerts when the plumbing RCD is low on ammo + - code_imp: organized all plumbing designs into static lists for memory savings + - refactor: removed unused vars for further memory savings + YehnBeep: + - bugfix: fixed a disconnected APC in Delta's tech storage. +2023-08-17: + BlueMemesauce: + - rscadd: 'Add policy for sentient mobs that were revived by lazarus injector (depends + on config) + + add; Sentient mobs that were revived by malfunctioning lazarus injector now + get enslaved to whoever revived them.' + - bugfix: Servant golems get their master's real name (Won't be serving "Unknown" + if their master is wearing a mask) + DaydreamIQ: + - balance: Ascending as an Ash Heretic now reduces the cooldown of Nightwatchers + Rebirth to ten seconds, additionally Ash ascension has Bomb immunity added to + the resistances it offers (no stun immunity though) + DeerJesus: + - bugfix: Makes the ectoplasm anomaly not randomly move so deadchat can actually + control it + - balance: metal bat damage changed from 12 -> 20 + FernandoJ8: + - bugfix: dismemberment moodlets are replaced by a lesser mood debuff when you recover + the limb in question. + - balance: dismemberment moodlets can now stack for each limb you lose, and are + cleared separately. Their descriptions have been updated to reflect this. + - bugfix: items implanted on arms no longer become permanently stuck in-hand when + their limb is dismembered + - bugfix: quickly sheathing and unsheathing the vorpal scythe can no longer bug + out and prevent its effects from being applied + FlufflesTheDog: + - bugfix: Spaceacillin will once again provide antiviral effects for the deceased + Hatterhat: + - bugfix: Colored ammo bands, such as those on .357 and .38 speedloaders, no longer + permanently disappear upon icon update. + Helg2: + - bugfix: Skeletons now heal burn damage with milk once again. + IndieanaJones: + - balance: Hunter and viper spider toxins no longer deal liver damage. + - balance: Tangle spider's acid injection per bite reduced from 5 to 2.5. + Jacquerel: + - bugfix: Gravitational Anomalies will now correctly clean up after themselves, + instead of leaving an area of the station permanently heavy or with no gravity + at all. + - bugfix: Goliaths will try to attack mechs with their tentacles. + LT3: + - bugfix: Base large airlock subtype no longer spawns a normal sized airlock + - image: Added mapping icons for large airlocks + - code_imp: Repathed all public airlocks to consistent naming + LemonInTheDark: + - balance: De-escalates terry powergaming by reducing the strength of sec + Melbert: + - balance: Red toolboxes go faster + MidoriWroth: + - rscadd: Added 28 new food recipes! + Mothblocks: + - rscadd: You can now set your voice to just blips. + Vincent983: + - qol: the chemistry heater can now be unwrenched. + Y0SH1M4S73R: + - bugfix: Head Revolutionaries no longer count towards a revolution's defeat if + they have become simplemobs, basic mobs, or xenomorphs. + iwishforducks: + - spellcheck: fixed the rat king text saying that they're summoning rats + mc-oofert: + - bugfix: fixed border-only firedoors being able to be walked through while closed + san7890: + - bugfix: Beam rifles will no longer inappropriately retain any bonuses they may + gain from wizardry. + - bugfix: Inappropriate stack traces over bonuses being applied to components that + gain bonuses innately (like Mythril stacks) should cease. + vinylspiders: + - bugfix: fixes a harddel in particle holders +2023-08-18: + DeerJesus: + - bugfix: replaced injector with working passive vent in birdshot incinerator + - bugfix: conveyor lever in birdshot incinerator + - bugfix: fixes all the martian drinks having 20 boozepower + EuSouAFazer: + - bugfix: Moved the RD's plant to its proper place in Northstar + Fikou: + - spellcheck: fixes the name of the incline bench press + - balance: you cant speed up the big slappy with slime potion + Ghommie: + - bugfix: Fixed some jank with the dynamic threat curve. + Hatterhat: + - spellcheck: Fixed a lack of plurality when ejecting multiple casings from a revolver. + IndieanaJones: + - rscdel: Removed tiny mob sprite abilities for large mobs + - rscadd: Add a Self Seethrough ability, given to most large mobs and all mobs affected + by a fugu gland + - bugfix: Space Dragon's overlay will no longer vanish at times + - qol: Xenomorph Sentinel and Ambusher Spider's sneak ability now has a transition + to a lower alpha as opposed to being immediate. + - qol: The sneak ability now uses balloon alerts as opposed to chat alerts. + - bugfix: Fixed the Xenomorph Sentinel's Sneak ability icon being an error. + Jacquerel: + - admin: Adds Spider, Goliath, and Meteor Heart actions to the "Grant Mob Action" + menu. + - admin: Four players can ride the speedwagon + - bugfix: Turning into a space dragon with the polymorphic inverter will no longer + leave you existing in two places + - balance: You can no longer use the belt to transform into monkeys or xenomorphs, + for technical reasons. + - admin: The Add Mob Ability menu now prefixes the typepath of the ability with + the ability's name, so you can much more quickly see what the ability is. + Mothblocks: + - rscadd: Engineers now have an RCD round start. + - balance: RCD construction/deconstruction effects can now be attacked in order + to cancel them. You can get the anti-disruption upgrade disk to prevent this. + - balance: RCD construction/deconstruction is now slower if you already have another + effect up. This does not effect reconstruction. + - balance: Both of the above effects do not effect the CE's roundstart RCD, nor + any other RCDs such as combat RCDs. + mc-oofert: + - rscadd: cybernetic moth eyes and their variants + - bugfix: luminescent eyes no longer make you look like a cyclops in the dark + necromanceranne: + - rscadd: Settler quirk! Conqueror the great outdoors....in space. Just make sure + nobody asks you to get anything from the top shelf. + vinylspiders: + - image: bowtie sprite has been tweaked slightly to look a little bit more bowtie-ish + - bugfix: formal closet will no longer spawn with two 'error' icon suits inside + of it +2023-08-19: + DeerJesus: + - bugfix: you can actually tell what hand a reagent dartgun is in now + EuSouAFazer: + - qol: Delta's Detective Office looks better now. + - bugfix: No more stacked items in Meta's custodial closet + Ghommie: + - bugfix: Fixed dynamic. + Helg2: + - bugfix: fixed lavaland beach bartender closets looking off. + - qol: CTF assault class' (with shotgun and rocket gloves) description now mentions + that it has low armor and increased moving speed. + - balance: Decreased CTF recharge start delay for shields from 20 seconds to 12 + seconds. + - balance: Marksmans rifle now has 1.7 scope. + - bugfix: When toggling instagib mode for CTF and pressing a cross now will just + cancel instead of proceeding. + - bugfix: When clicking on other CTF teams spawners and after you already chose + your team no more will ask you to join some other team to make them even. + - bugfix: Base iron floor tiles now will be able to stack with other base iron floor + tiles after being reskined to the base subtype. + - bugfix: '[Waystation] Windoor for secret documents now can be accessed with away + station secoff''s id.' + - bugfix: '[Waystation] Deleted a window on the same place as windoor so it won''t + block your path to secret documents.' + Jacquerel: + - bugfix: the goliath and watcher mating season has ended and population has returned + to normal levels + carshalash: + - qol: Martian fried noodles now requires 2 grown peanuts instead of salted peanut + packet. + mc-oofert: + - bugfix: you can now toggle repair droids and plasma engines on mechas again + - bugfix: you can no longer destroy syndicate modsuits by just being on fire + necromanceranne: + - bugfix: Makes sure settlers are SHORTEST. + san7890: + - refactor: Regal Rats have been refactored into basic mobs. They should be a bit + smarter and retain their docility (until attacked, in which case you should + prepare to get rekt by summoned rats), and properly flee when they can instead + of just sit there as you beat them to death. The framework for them interacting + with stuff (i.e. opening doors while slobbering on food) is a bit more unified + too, now. They also have cooler names too! +2023-08-20: + EuSouAFazer: + - qol: Made the cytology lab in many maps much more convenient. + Fikou, Armhulen, Sheets (+rep for Mothblocks and Potato): + - bugfix: RD MODsuit outfit (admin only) no longer has a beret that blocks the activation + of the suit + - bugfix: The beret used by death squad officers no longer is blocked from being + put on a hat stabilizer module + - admin: Admins can now Shear matrices of objects in Modify Transform + - admin: Admins now have access to Test Matrices in the VV dropdown, an all-in-one + tool for editing transforms. + - rscadd: MODLink system, available through scryers (from RnD and Charlie Station) + and through MODsuits. Lets you call people with holographs! + Jacquerel: + - qol: Added some textual feedback to new watcher abilities + - balance: Watchers will not attack for a short period following their gaze attack + - bugfix: Watchers won't interrupt one ability to use the other one + LT3: + - bugfix: Rotated multi-tile airlocks display correctly and won't create an invisible + box next to itself + Melbert: + - bugfix: Reactive stealth armor decoys are half as healthy, as originally intended + Striders13: + - admin: admins can now upload files to the server up to 5mb (used to be 2.5mb) + - config: file upload restriction is now config + iwishforducks: + - bugfix: Some RCD constructs took more material than manual construction. The RCD + cost should be consistent in comparison to manual construction now. + mc-oofert: + - bugfix: ripley MK2 upgrade now properly transfers servos + - spellcheck: inserting parts into mechas now properly says "installed" instead + of "intalled" + spookydonut: + - bugfix: Incompatible quirks in existing savefiles shouldn't be possible anymore. + zeroisthebiggay: + - bugfix: healing holoparas will no longer kill slime people +2023-08-21: + Deadgebert: + - qol: Added two magboots to engine SMES room on icebox station + Ghommie: + - bugfix: Fixed embedding for projectiles. + Jackal-boop: + - balance: the lion hunters rifle has been pegged down the knowledge tree. to make + sure the tree is kept happy, the rust path and blade path can access rust charge + - rscadd: rust charge + - balance: the lion hunter ammo knowledge is free +2023-08-22: + CoiledLamb: + - bugfix: wellcheers is now based on sanity rather than mood + - image: resprites martian cans + - image: adds inhands for martian cans and wellcheers + - image: minor tweaks to other cans + - spellcheck: updates wellcheers mood text + DATA-xPUNGED: + - rscadd: Sacrificed heretic targets will now receive a phobia of heresy instead + of a phobia of the supernatural. Sacrificed heretics will not get this phobia, + but will lose knowledge points instead. + DeerJesus: + - rscadd: Adds green jester shoes that jingle to the autodrobe! + Ghommie: + - bugfix: The "Unlocked Achievements" score will now be properly saved at the end + of the round the first time it's loaded. + - rscadd: You can now feed fish with the can of fish feed without having to put + the fish in a aquarium first. + - balance: Some fish may survive in different, harsher atmospheres if given the + amphibious trait, like chasm chrabs on lavaland. + - qol: aquarium now uses balloon alerts when feeding fish. + - bugfix: The wary and shiny lover no longer incorrectly remove difficulty from + the minigame if conditions aren't met. + Helg2: + - bugfix: '[Birdshot] Morgue now has coroner''s surgery duffel bag instead of regular + surgery duffel.' + Ical92: + - bugfix: fixed beakers disappearing when swapped in a chem heater + IndieanaJones: + - balance: Lasers now have increased energy cost, reverting the cost back to the + initial value before the laser buff. + Jacquerel: + - balance: Watchers have less health + - balance: You can't be overwatched by several watchers at a time + - balance: Watchers won't overwatch you instantly upon seeing you + - balance: Goliaths won't launch tentacles at you instantly upon seeing you + JohnFulpWillard: + - refactor: AI's player-tracking eyes received an unwanted obligatory update, and + should now not tell you that a player is untrackable when they clearly obviously + can be. + - bugfix: Bots that can't be controlled (like beepsky) no longer has a stray 0 at + the very right side of its UI. + LukasBeedellCodestuff: + - rscadd: Added compact shotgun to the hos locker + - rscadd: Added compact shotgun as a traitor objective + - balance: gives the compact shotgun 1 extra shot + Melbert: + - bugfix: Fixed some tooltips in the sec records UI showing "false"s where they + shouldn't. + Profakos: + - bugfix: Mobs whose human appearance is set dynamically will once again have their + bespoke names and descriptions, instead of Unknown, with a blank description. + Rhials: + - rscadd: Ninjas can now temporarily disable cameras with the Ninja MOD right-click + hacking ability. + - rscadd: Ninjas can emag windoors, elevator controls, and buttons with their hacking + ability. + - rscadd: Ninjas can drain the power from energy weaponry, adding the charge to + their MODsuit. + - rscadd: Ninjas can now hack simplebots, overloading and detonating them after + a brief delay. + - rscadd: Ninjas can now hack vendors, causing them to eject their inventory at + people. + - rscadd: Ninjas can now hack the recycler, which notifies the AI and emags it once + complete. + - rscadd: Ninjas can now trigger an extended tram malfunction by hacking the tram + control console. + - rscadd: Ninjas can now hack open firelocks (temporarily) with right-click. + - balance: Hacking open doors with the Ninja Hacking MODule will subtract a paltry + amount of energy from your suit. + SyncIt21: + - code_imp: removed unused procs in ore silo + - code_imp: merged repeated code segments when using materials from the ore silo + into a single proc + - code_imp: added auto docs & cleaned up some procs + - refactor: logging when an item is inserted or sheets are ejected from the silo + is now handled directly by the silo itself + - bugfix: plumbing ducts connects to other plumbing machinery again + - bugfix: you can detach signaller from wires without the machine deconstructing + itself + Timberpoes: + - rscdel: Traitor objectives to place posters and graffiti the station have been + removed. + - rscadd: The items associated with the poster and graffiti objectives can now be + purchased from the Badassery section of the uplink. The posters come in a box + of 3 for 1TC, and the spraycans are 1TC each. + - rscadd: Adds a new Assault traitor objective, requiring you to the attack the + target a few times without needing to kill them. Earn TC and reputation by starting + barroom fights and bait players into escalation battles for fun and profit. + - rscadd: Expands low-risk steal objectives to include the Chef's fake moustache, + Lawyer's badge, and Mime's mask. + - rscadd: Adds brand new shift start Steal & Destroy objectives for early breaking + and entering. Smash your way into a sec checkpoint to grab a Space Law book, + engineering to grab some insulated gloves or the psych office to kidnap their + moth plush. + - bugfix: Fixes an issue where the steal clown shoes objective would never be valid. + YehnBeep: + - qol: Satchels can now be crafted using the same recipe (4 cloth) as backpacks. + - bugfix: Fixed a light inside a wall on Delta Station. + dieamond13: + - image: adds new sprites for opened fireaxe/mech crowbar cabinets. + distributivgesetz: + - rscadd: Replaced slime clone damage with a "Covered in Slime" status effect that + deals brute damage over time and can be washed off by standing under a shower. + - rscadd: Northstar and Birdshot Xenobiology have been outfitted with a new shower. + - code_imp: Replaced the magic strings in slime code with macros. Also included + some warnings to anyone daring to touch the macros. +2023-08-23: + Ben10Omintrix: + - refactor: the goldgrub has been refactored please report any bugs + - rscadd: the goldgrub can now be tamed and he can have babys + DATA-xPUNGED: + - rscadd: You can now fully color your hair with a hair spray! + - qol: splits hair sprays are now smoother on the transition, similar to the short + fades. + Deadgebert: + - bugfix: Birdshot pharmacy airlock now requires pharmacy access + FlufflesTheDog: + - bugfix: Taking a nap can once again heal minor wounds + - bugfix: A breath of healium will no longer knock you out for eternity + - bugfix: Healium sleep now respects sleep immunity + Melbert: + - code_imp: Cleans up limb wound examine text code a tad. + Rhials: + - bugfix: Metastation's arrivals area no longer has an intercom overlapping with + the request console. + ZephyrTFA: + - bugfix: pda messages are no longer hidden from dead players who are not observers +2023-08-24: + Fikou: + - rscadd: wizards are now introverts + JohnFulpWillard: + - balance: The Traitor's Camera bug is now a tablet app that works like a silent + camera console with an extra ability to track people through their nearby cameras. + MidoriWroth: + - bugfix: Moussaka now only uses eggplants instead of eggplants and potatoes + - bugfix: Pita bread no longer burns on the griddle/oven + Nerev4r & Zydras: + - image: Adds messenger bags to character setup and drobes/lockers! + Rhials: + - rscadd: The roundend report will now read out any achievements ("cheevos" as you + may know them) earned by players over the course of the round. + Vekter: + - balance: Grilles will now take 0-1 damage every time they shock something. + - balance: Powersinks are now available earlier in traitor progression. + YehnBeep: + - qol: Icebox perma now has holopads. +2023-08-25: + Ben10Omintrix: + - bugfix: regal rats now run away from whoever attacked them + - rscadd: new pet behavior which makes pets defend their owners if they got attacked + Deadgebert: + - qol: Adds air supply for cycling airlocks in ordnance and atmos incinerator on + all stations + - qol: Makes internal incinerator chamber a vacuum + - bugfix: Adds missing incinerator airlock control console to Tram station + Derpguy3: + - bugfix: Rotated a water tank in icebox's lower service hall, connecting the plumbing + to the water source. + Dmeto: + - bugfix: Some incident display adverts on Northstar and Birdshot have been unobstructed. + Donglesplonge: + - balance: removes the access restrictions from all animals found under the livestocks + tab of the cargo order console, now assistants can private order animals for + their farms without access hunting + Fikou: + - bugfix: fixes multitools possibly randomly losing their buffer + - bugfix: fixes modlinks checking battery charge without a battery and working without + charge + - qol: modlink stuff is a bit more explained + - bugfix: modlinks printed from rnd no longer start with a frequency (remember to + copy it from another one with a multitool buffer, robotics starts with 2 NT + frequency linked ones) + - balance: ninja's stealth module gives silent footsteps when active + - balance: all ninjas now have the light step and freerunning quirks + - balance: ninja's hacker module shove no longer stuns in 1 hit. first shove knocks + down and pushes away, second one stuns + - bugfix: fixes ninja shoves not causing sparks + - qol: the person in an energy net is now reasonable to hit, the dark part of the + sprite is now an underlay, so you can click the person inside the net pretty + easily and if you wanna hit the net you click the green part or the darker sides + that the human sprite doesnt cover + Guillaume Prata: + - qol: QM jumpsuit/skirt expose the torso when adjusted. + Helg2: + - bugfix: fixed apocalypse rune applying invisibility to mobs. + - bugfix: Unholy water preview icon is now similar with the icon it has. + LT3: + - rscadd: Immovable rod will now battle the unstoppable tram should they cross paths + - bugfix: Birdshot's maint tram doors now work properly + - bugfix: Tramstation's exterior light fixtures no longer get destroyed as soon + as the tram moves + - code_imp: Tram landmarks are now all subtyped instead of map varedits + distributivgesetz: + - rscdel: Removes miscellaneous sources of clone damage from the game. + iwishforducks: + - bugfix: You should be able to click on lattices on icebox with the RCD and construct + a floor now + mc-oofert: + - rscadd: becoming a felinid makes your brain smaller (visually) +2023-08-26: + GoldenAlpharex: + - bugfix: Fixes the recycler being able to grind the server to a halt by trying + to recycle the same sheet worth of material over and over and over again. + Guillaume Prata: + - qol: Medical Kiosk now have their wand removed with a right click, got new screentips + and have a few of its chat messages turned into balloon alerts. + YehnBeep: + - qol: Messenger bags can be crafted with 4 cloth. + distributivgesetz: + - rscadd: Replaces decloning clone damage with a strike system that you can replenish + with Mutadone. + - bugfix: The decloning virus is curable with rezadone again. + iwishforducks: + - bugfix: You should no longer attack RCD effects when they're done constructing. + san7890: + - admin: The "HREF Dock Exploit" message should now contain a bit more usable information + (such as a jump link) so you can investigate if something is really going wacky + with shuttles. + vinylspiders: + - refactor: fixed a bunch of instances of callbacks being qdeleted and cleaned up + related code +2023-08-27: + CoiledLamb: + - bugfix: the coroner medkit can now hold every item it spawns with + Deadgebert: + - bugfix: multitool can be used on APC/Teslacoil/SMES/emitter if it has exposed + wires. + - qol: Icebox monsters no longer spawn close enough to aggro Lia at round start + Fikou: + - bugfix: quartermasters get their voice of god power boost correctly + Ghommie: + - bugfix: Fixed the double-barreled shotgun not working properly + - qol: The Achievements UI now shows how many people have unlocked a given achievement. + - bugfix: The "Skills" Category for achievements should no longer be hidden. + Jacquerel: + - bugfix: Watchers won't retain an ethereal outline of their wings hovering over + their dead body. + Kubisopplay: + - bugfix: Borgs no longer get permastunned by emotes + - bugfix: Borg hud should not fuck up in few situations + MTandi: + - bugfix: Fixed Phazon construction message typo + RikuTheKiller: + - bugfix: Light eaters can no longer be eaten by their higher-grade brothers, the + trash eaters. (recyclers) + SyncIt21: + - bugfix: zipping a duffle bag closes the UI of all storage items opened inside + it + YehnBeep: + - qol: Stabilized yellow slime extracts no longer spam a message every charge pulse + (but examining characters will still show that it's active). + YesterdaysPromise: + - rscadd: 'Gave snow legions a separate corpse-drop pool: ash walkers excluded, + but eskimos included.' + carlarctg: + - rscadd: Adds a syndicate AI card for nuke ops. Costs 12 TC, can be refunded. Activating + it in-hand opens up a ghost poll like normal reinforcements. Base interaction + range for syndicate AIs is one, which means they can handle electronics only + in proximity. + - rscadd: Adds a syndicate AI interaction range upgrade for nuke ops, costs 4 TC + and can be applied onto a syndicate AI (inside any container) to increase its + interaction range by two per. (Three purchases are recommended for seven tiles + of range!) + iwishforducks: + - balance: Railings now only cost 2 rods and are much easier to construct. But they + can now be destroyed much easier and cut with wirecutters without unwrenching. + mc-oofert: + - qol: rats no longer spawn on multiz cable hubs + necromanceranne: + - bugfix: Ops wanting to get the CQC kit will actually get given the kit, and not + just the CQC book. + tf-4: + - spellcheck: Fixed a spelling error with the daps emote. + vinylspiders: + - bugfix: greyscale colors will now update on the mob when modifying them via the + VV menu + - qol: inserting new high luminosity eyes will now properly remember the previous + eyes' color and default to that initially +2023-08-28: + Comxy: + - rscadd: New rotator disposal pipe. + - bugfix: Flipped transit tube stations are now accessible in the RPD again. + - image: New rotator disposal pipe sprite. + Das15: + - bugfix: Big fuel tanks' capacity is back to 5000. + Ghommie: + - bugfix: Fixed an issue with the "recolor from string" option in the greyscale + modify menu that resulted in invisible icons. + Guillaume Prata: + - bugfix: Unary vents have a pressure cap on both their pressuring and siphoning + mode now, preventing the bypass trick of putting "infinite" pressure on tiles/pipelines. + - balance: Overclocked Volume Pumps do not have a pressure cap anymore. + Jacquerel: + - bugfix: You can't use the bioscrambler belt to turn yourself into a changeling. + JohnFulpWillard: + - qol: Display case chassis now uses balloon alerts, screentips, examine hints, + etc. Basically, the construction steps are more visible to players. + LT3: + - bugfix: Using an airlock painter on a GAGS airlock works properly + - bugfix: Tram will no longer fly off into space when admins try to reset the contents + MTandi: + - qol: Crafting menu "Can Make" category shows complex recipes first. + Sealed101: + - bugfix: after a long 6 years, alien alloy once again unlocks the Alien Technology + node (the one that lets you print alien alloy) + Watermelon914: + - rscadd: Added associative list variables and associative list variable manipulation + for finer data manipulation and storage. + - rscadd: List Find components will now return the index of the element it has found. + distributivgesetz: + - rscadd: Add an achievement for saving a cascading engine from the final countdown. + - balance: Damaging synchronous mesh blobs now incorporates damage resistance of + other blob structures when dealing shared damage to those nearby. + mc-oofert: + - rscadd: clickdragging an autolathe changes its output direction + nikothedude: + - bugfix: Woundscans no longer runtime + - bugfix: Normal health analyzers can no longer give the first aid bonus when woundscanning + vinylspiders: + - code_imp: fixed some typos + - bugfix: fixes a runtime with arrow projectiles + xXPawnStarrXx: + - bugfix: fixed corn cobs not making seeds and lying to you in the text box. +2023-08-29: + Ben10Omintrix: + - bugfix: mobs do not get stuck when running away from danger + DATA-xPUNGED: + - bugfix: Quartermaster's Overcoat and Cargo's gorka can now hold stamps in their + suit slots, just like their winter coat counterpart + Fikou: + - bugfix: roundstart modlink scryers now come with the nt frequency + FlufflesTheDog: + - bugfix: Made it easier to place tiles on multi z level holes + - bugfix: Non-surgically debraining someone no longer makes their brain unusuable + Hatterhat: + - bugfix: Ash drakes, colossi, and Bubblegum spawn on Lavaland more often; a sharp + increase from the previous bugged amount of "basically never". + Jacquerel: + - image: progress bars and cleaning particles are now centered on the tile occupied + by the target, if it is a big sprite + LT3: + - balance: Pre-equipped engineering modsuit now includes emergency tether + - balance: Pre-equipped atmospherics modsuit now includes magboots + OrionTheFox: + - rscadd: Cargo now once again has access to a "Cargo Shortskirt", a skirt variant + of their shorts! + - image: tweaks and adjustments to the Cargo resprite have been made, as well as + respriting some missed icons such as the Winter Coats and QM Cloak + Seven: + - bugfix: Syndicate ranged mobs (and probably other basic mobs) properly update + their shell's description to show they are spent. + Vincent983: + - qol: Various jobs have gotten additional programs uploaded at roundstart, engineers + now have the canary and atmospheric scanner programs, atmospheric technicians + now have the supermatter monitor, and Robotisists/RDs now have the silliconnect + program. + carlarctg: + - bugfix: Items worn on a void cloak's suit storage are no longer visible on the + stripping menu. + - qol: Misclicking the turf below a heretic influence no longer leaves a fingerprint. + iwishforducks: + - bugfix: Railings no longer give more metal than they take + san7890: + - rscadd: The Lavaland Cursed Slot Machine of Greed suddenly seems a lot more sinister... + - refactor: Instead of taking clone damage from the cursed slot machine, you now + get a status effect with a number of curses associated with it. There's some + interesting florid language associated with the status effect as a nicety until + your eventual gibbing from chasing that prize. +2023-08-30: + Ghommie: + - sound: Unlocking an achievement now plays a sound by default. You can change it + in the Sound category of the game preferences. + Melbert: + - balance: If your server has non-human morgue cadavers enabled, you will be guaranteed + one human cadaver no matter what. + - balance: All maps (with the exception of Birdboat) now have an additional morgue + cadaver roundstart. + RikuTheKiller: + - bugfix: Probital overdose no longer causes plasmamen and other inorganics to receive + the longest nap in their lives. + Sealed101: + - qol: Metastation has had more navigate landmarks added, namely for areas like + Medbay, Cargo, Engineering, department heads offices and a few more. + SyncIt21: + - refactor: sheets are merged in a better way when ejected from machines & material + related stuff + - bugfix: rcd can build wallmounts on reinforced walls + - qol: rcd can build directional windows without requiring/building a grill + Timberpoes: + - bugfix: Fixes an issue where role banned players would be able to accept certain + ghost roles they're meant to be banned from. + VladinXXV: + - qol: The coroner can now store scythes in their labcoat and winter coat suit storage. + Ask not for whom the bell tolls... + xPokee: + - bugfix: fixed skeleton wings not being visible from behind while closed +2023-08-31: + Comxy: + - bugfix: Fixes Star Gazer getting buckled + - image: Removes Star Gazer alpha pixels + Fikou: + - qol: removes the nukie tool parcel and places the tools directly in their box + GoldenAlpharex: + - bugfix: Fixes a rare issue that could lead to players entering an infinite disconnection + loop from having a null view. + Guillaume Prata: + - qol: The "You can't move while buckled to X" is now a balloon alert instead of + a to_chat message. Hopefully we all get buckle stuck processing why our inputs + are not working less often for now on. + LukasBeedellCodestuff: + - bugfix: Changed icebox permabrig door type to be correct + Momo8289: + - qol: Cryotubes will now notify medbay if the patient within is dead, and will + eject them if auto is on. + - qol: Cryotubes will now automatically turn on when a patient enters it if auto + is on, but you can no longer close the cryotube on yourself. + SyncIt21: + - bugfix: autolathe prints the correct amount of stacks and merges it with existing + stacks on the turf + - bugfix: autolathe takes constant time when printing stacks + - code_imp: autolathe will attempt to award you the "getting an upgrade" award only + once when printing multiple items & updates UI immediately + iwishforducks: + - bugfix: Space heaters no longer give extra cells when deconstructed + necromanceranne: + - bugfix: Compact fishing toolboxes no longer break space and time to contain any + normal-sized object. Instead, they only break space and time to contain fishing + rods. Settlers migrating to Nanotrasen space have no reasonable explanation + for this phenomenon. + nikothedude: + - balance: Prosthetics and slimepeople can now have limbs dismembered + - balance: Slimepeople can now receive slash wounds, but cannot bleed + - balance: Most limbs can now be dislocated + - refactor: Scar backend reworked, scars will be wiped as they update to the new + format + san7890: + - bugfix: The Cursed Slot Machine should now actually give you more than one pull. diff --git a/html/changelogs/archive/2023-09.yml b/html/changelogs/archive/2023-09.yml new file mode 100644 index 0000000000000..2759082984006 --- /dev/null +++ b/html/changelogs/archive/2023-09.yml @@ -0,0 +1,1251 @@ +2023-09-01: + 1393F: + - balance: megafauna will now gut instead of dusting or gibbing + FernandoJ8: + - bugfix: containers can no longer add more water to hydroponic trays than they + actually contain. + - bugfix: watering a hydroponic tray with amounts of water lesser than 1 will no + longer be added to nutrients rather than water + GoldenAlpharex: + - bugfix: Fixed the crafting menu being able to get stuck if your crafting recipe + somehow goes missing. + - code_imp: Improves the quality of the item crafting code slightly. + Guillaume Prata: + - balance: Fanny packs are now silent, no one will get a chat message about what + you put in or take out. + MTandi: + - rscadd: Mood buff power and duration depends on the ingredient quality and recipe + complexity of the food. + - rscadd: Hand-crafted food also gives a non-mood buff. The buff type depends on + recipe complexity and duration - on ingredient quality. + - code_imp: Added infrastructure to assign custom buff to certain dishes for unique + effects + - rscadd: Consumable reagents now care about purity, being more nutritious with + higher purity. Dispensers give synthetic food, natural sources are organic and + better and give longer buffs. + - rscadd: Grown food reagent purity now depends on lifespan, endurance and instability + stats of the seed. + - rscadd: Natural booze now uses the same purity formula and 100% purity can increase + booze power by up to 200%. + - rscadd: Added Fat reagent that is now a base type for lard, vegetable oil, olive + oil. Corn oil and cooking oil merged into vegetable oil. + - balance: Reagents and their purities are preserved during food chemical reactions, + processing, cooking and crafting. + - balance: Sugar nutrition rebalanced due to it being 100% pure in chem dispenser, + overdose happens at 100u now. + - bugfix: '`grind_results` of grown food give full amount equal to all removed nutrients + instead of just `/datum/reagent/consumable/nutriment`' + - qol: 'Seed Extractor now shows additional seed data: possible mutations, juicing + result, grinding result, fermentation result' + - bugfix: Reverts the unintended change of monkey cube biomass cost back to 50 + Momo8289: + - bugfix: Meth will no longer explode when reacting in a body + Rhials: + - rscadd: Nuclear operatives have expanded the scope of their hiring practices. + Members of all species can now roll nukie! + - qol: The preferences menu now has an option to always be human when being selected + for a nuclear operative role. Check it out! + - image: Plasmaman operative envirosuits. + Sealed101, EBAT_BASUHA for spritework: + - rscadd: Wizard's Den now has a book of Summon Cheese in the Studies Room + Seven: + - bugfix: Fixes not being able to break out of graves + - qol: Graves are no longer dense (you can walk over them now) + VladinXXV: + - qol: The organ harvester's output is more predictable, and the direction can be + changed by alt-clicking with the panel screwed open. + carshalash: + - qol: Adds accessibility to breasts for service members + nikothedude: + - rscdel: Deleted a unused file + xPokee, Pirill: + - rscadd: Added flower crowns, craftable via the clothing menu. + - image: Resprited geraniums, poppies, and lilys, along with changing their worn + icon. +2023-09-02: + Jacquerel: + - bugfix: Prevents admins from accidentally gibbing people by closing a confirmation + window. + - bugfix: Traitors should generate with "free objective" less often, and will once + more be assigned to steal things. + Profakos: + - bugfix: Ex-Interdyne pirates can now successfully spawn on case sensitive host + systems, such as Linux + Shadow-Quill: + - bugfix: Hilbert's Hotel Research ruin now has a functioning tram. As a side effect, + the malfunctioning tram event should now only fire on maps with a tram! + Thebleh: + - bugfix: fixed access on a couple of Engineering and Atmos airlocks on DeltaStation +2023-09-03: + Ben10Omintrix: + - bugfix: basic ranged mobs will now chase victims + Capsandi: + - sound: 2 new ambient tracks for maintenance tunnels + Fikou: + - bugfix: you can now examine screen objects properly + Ghommie: + - bugfix: You can now actually fish soggy wallets from toilets, rare ores on ice + moon, some boney stuff in oil puddles (good luck finding them) and lube-fishes + by the seawater. + Guillaume Prata: + - rscadd: 'New funny internals for the clowns to spawn with. They come with O2 and + a secondary gas between 3 options: BZ, Helium and N2O. Talk with a "different + tone" with Helium, giggle and laugh "uncontrollably" while under the minor effects + of N2O or have "fun" hallucinations while under the minor effects of BZ.' + - balance: To not cut on how long the clown's O2 internals last due to the mixed + gases, the funny internals have 50% more gas volume, same as engineers' internals. + Iamgoofball: + - bugfix: You can no longer create non-synthesizable chemicals with bees. + Melbert: + - bugfix: Fix bastard sword granting infinite stun immunity + - balance: Ascended Blade Heretics no longer have blanket stun immunity, they now + have 45 seconds of stun absorption that recharges after 2 minutes - think His + Grace. This doesn't affect stamcrit (still immune to that) (assuming you haven't + consumed all of your immunity charge) but does affect hard CC such as slips, + flashbangs, or beepsky. + - balance: Ascended Blade Heretics now have a 0.75 modifier to incoming knockdowns. + Profakos: + - bugfix: The HUDs of mobs with dynamic human appearance will appear properly. + Rhials: + - qol: The pirate candidate gathering poll will now mention which pirate gang it + is gathering candidates for. + Sealed101: + - bugfix: fixed implanted legion cores being available for use when unconscious/dead. + blueDev2: + - bugfix: Soups are accepted by Kitchen Smartfridges + - bugfix: Soups are not accepted by drink showcases + carlarctg: + - rscdel: Removed the threshold for confusion symptom that adds illiteracy to the + disease. + - balance: Clamps confusion symptom's confusion to a maximum of 30 seconds. + - qol: Confusion as a debuff no longer guarantees random movement if you're resting. + nikothedude: + - bugfix: Slash wounds are now compatable with pierce wounds + xPokee: + - bugfix: Fixed the air inside of a penguin pen being way too cold +2023-09-04: + CoiledLamb: + - rscadd: adds medical carts and surgery trays + - image: gives the surgery razor a unique sprite + - image: resprites the genesploicer. + DaydreamIQ: + - rscadd: Adds the medbeam module for nukies, don't cross the damn beams. (Also + removes the handheld one from the uplink) + DrDiasyl: + - sound: 'Adds/modifies next sound files: airraid.ogg, bloblarm.ogg, alert.ogg, + notice3.ogg, announce_syndi.ogg' + - sound: Code Red, Delta, and other extreme emergencies now possess more unique + alarm sound effect + - sound: Captain's arrival now is announced by Captain's announcement sound, but + not for Acting Captain's + - sound: Making Captain announcement through emagged console; hijacking or fully + corrupting evacuation shuttle now plays more ominous sound + - sound: Making announcements through Requests Console now plays a more noticeable + sound + - image: Status Displays sprites have been fully changed. Now they include displays + for every Security Level + - qol: The "Red Alert" button in the Communications console status display menu + has been replaced with a "Current Alert" button showing the current station + Security Level display on Status Displays + - qol: Communications console status display menu got a new "Radiation" button which + shows radiation symbol on Status Displays + FernandoJ8: + - bugfix: boiled rice doesn't burn instantly after being baked + - code_imp: simplifies the way burning food is handled, grilled/baked food now turns + to a burnt mess rather than being set on fire, unless they have a baking/grilling + recipe + Fikou: + - bugfix: kinesis plus properly lets you move again when grabbed once + Guillaume Prata: + - rscadd: Atmos Tech now have new drip and will spawn with Atmos Overalls to protect + their clothing from gas leaks! (It will actually not protect you against fire + or leaks, but hey! It's the thought that counts!!) + Sealed101: + - bugfix: fixed basic mobs not dropping their butcher results when gibbed + Time-Green: + - rscdel: Removes the swarmer beacon achievements from the game (no one ever got + them, and they haven't been obtainable for years) + Whoneedspacee: + - bugfix: Multi-z Icebox ruins including the Demonic Frost Miner can now be placed + again + carlarctg: + - sound: Adds a sound effect for hypospray/medipen injections. Doesn't affect sleepy + pens or HMS injectors + distributivgesetz: + - code_imp: Moved some job-related achievements from the misc category to the jobs + category. + vinylspiders: + - bugfix: '''meat product'' and imitation carp meat are now considered synthetic + meats for the purposes of reagent purity' +2023-09-05: + Ben10Omintrix: + - qol: pollinating bees will now only attack players that are standing near the + beehive + Eronymun: + - bugfix: You can no longer walk into Birdshot's secure tech storage like you own + the place - unless you do own the place. + Ghommie: + - bugfix: It's now humanly possible to reach the legendary fisherman rank, get the + achievement and the hat. + - bugfix: fixed fishing skeleton mob spawners that immediately crumble back into + the void of whatever chasm you fished them from. + - balance: The fishing minigame should be easier now. + Iamgoofball: + - bugfix: Updates the changelog link for the pre-4407 changelog as it was moved + JohnFulpWillard: + - bugfix: PDAs being on silent no longer prevents PDAs from being sent to your chat, + again. + - rscadd: pAIs inserted into a PDA can now control the PDA, and will receive PDA + messages sent to it (and can respond under the PDA's name). + LT3: + - image: New medical bed and emergency roller bed + - code_imp: Added context hints for beds + Sealed101: + - bugfix: fixed bileworm evolution deleting anything they devoured; they will now + eject their contents upon evolution to vileworms + mc-oofert: + - bugfix: emissive appearances on glowy eyes and such now properly rotate +2023-09-06: + Acantharctia: + - rscadd: Added the Numb quirk, that makes you (almost) unable to perceive how much + your injuries hurt. + Ben10Omintrix: + - refactor: the minebots have been refactored please report any bugs + - rscadd: minebots can now mine walls and collect ores automatically and they will + alert everyone if they find u dead + CoiledLamb: + - image: cleans up the engineering emergency internals sprite slightly + Jackal-boop: + - spellcheck: re-writes cosmic heretic lore + Krysonism: + - image: resprites the noticeboard + carlarctg: + - bugfix: Fixed walking into grilles to destroy them + lizardqueenlexi: + - bugfix: Fixed all-in-one grinders not giving all the correct reagents when grinding. + - spellcheck: Improved phrasing and syntax on dismemberment mood messages. + - bugfix: Snow legions now drop only one corpse, and no longer drop Lavaland corpses. +2023-09-07: + Ben10Omintrix: + - bugfix: basic mobs can now use ranged burst attacks + Dmeto: + - bugfix: Machine frames in NorthStar Cyto are now functional. + - qol: Minor cable/pipe changes to NorthStar the xeno containment. + - qol: Adds cables under birdshot xeno containment shielding. + Eronymun: + - bugfix: The Birdshot Gaming Den now has arcade circuit boards and computer frames + that actually work. + Melbert: + - rscadd: '[Icebox] Remaps arrivals and the maintenance around it. Aux base out, + mass driver into a plasma lake in.' + Sealed101: + - bugfix: fixed mirrors not breaking when a curse effect is triggered + Thunder12345: + - bugfix: Public mining storage's camera is now on the mining network instead of + the gulag. + dieamond13: + - image: adds special sprites for lungs when you use the smoker quirk + norsvenska: + - qol: NorthStar's departmental head offices have had their respective PDA & ID + imprinters added! + - qol: The NorthStar Head of Security office has gotten a small expansion. + vinylspiders: + - bugfix: leash unit test will time out less often and increases the timer until + it is considered 'timed out', to reduce false CI failures +2023-09-08: + Deadgebert: + - balance: gas mixer output now accurate to set ratio regardless of input temperatures + Ghommie: + - image: The glow shoes from the ClothesMate now actually glow and can be recolored, + even with a spraycan. + - spellcheck: Corrected the name of the telescopic fishing rod to "telescopic fishing + rod" from the more generic "fishing rod" + Jacquerel: + - rscadd: Traitors, Changelings, Heretics, Wizards, Malfunctioning AIs, and Ninjas + can now all reject their original objectives and provide one of their own in + its place. A Heretic doing this will no longer be able to ascend. + - rscadd: '"Custom" objectives which aren''t mechanically tracked will no longer + report success or failure upon round end.' + - qol: Space Ninja spider charges will now display where they can be detonated when + examined, if you are a ninja. + JohnFulpWillard: + - bugfix: Getting a node researched now properly makes it no longer hidden. + - bugfix: Ninjas draining RD servers now drains it from the connected techweb, rather + than sniping Science. + - balance: Machines will first try to connect to a techweb with servers on their + z-level, with the Science techweb remaining as fallback. + - rscadd: Oldstation RND, comes with their own Techweb and special surgery to gain + research points through dissecting Xenomorphs. + LT3: + - bugfix: Meteors no longer take damage from crossing certain unoccupied turfs + Sealed101: + - balance: colossus' near-death attack now starts after a 0.5 seconds delay + carlarctg: + - bugfix: Cauteries now have 'heat', like lighters, welders, etc. + - qol: You can smoke with a space helmet as long as you have internals on. + cnleth: + - bugfix: Megafauna now correctly prints the victim's name after a kill + san7890: + - refactor: If you transform into another mob and notice bugs with interacting with + the game world, please create a bug report as this framework was recently refactored. + vinylspiders: + - bugfix: fixes creamatorium not producing any suspicious ice cream, and fixes a + dead mouse related harrdel +2023-09-09: + CoiledLamb: + - image: updates medigel sprites + Jacquerel: + - balance: Traitors who are activated as sleeper agents or arrive late on the arrivals + shuttle will begin with more reputation and likely be able to immediately access + most of the uplink catalogue. + LT3: + - qol: Supermatter common channel alerts are less frequent if the crystal's integrity + is rising rapidly + Majkl-J: + - bugfix: The messenger app can now be used when laying down. + san7890: + - rscadd: Ever see a robot yawn? Don't worry, it makes sense now. +2023-09-10: + Jacquerel: + - bugfix: It is now possible to smoke cigarettes even if you aren't wearing a safety + helmet + - bugfix: Golems can eat + - bugfix: Cooked and crafted food should be edible + - bugfix: Medborgs can now spawn vanilla ice cream instead of nothing ice cream + - bugfix: Ghosts can examine food + - admin: Admins can add/remove the spawner component from arbitrary items again. + Rhials: + - qol: adds some more traitor objective brainwashing default objectives. + - spellcheck: fixes the double-punctuation on traitor objective brainwashing broadcasts. + - spellcheck: brainwashing deadchat broadcasts will now auto-punctuate. + carshalash: + - bugfix: ' Corrects various food types from the martian food expansion' + distributivgesetz: + - admin: The "Create Command Report" verb now has the option to not print report + papers at communications consoles. + leaKsi: + - bugfix: Exploration drones can't be used to reach Centcom anymore. + nikothedude: + - refactor: Refactored wounds yet again + - bugfix: Wounds are now picked from the most severe down again, meaning eswords + can jump to avulsions + - bugfix: Scar descs are now properly applied +2023-09-11: + Jacquerel: + - image: Hivelords have a new sprite. + - image: Hivelord and Legion brood have a death animation. + - bugfix: Your clothes and such should correctly reposition themselves if a black + charged slime extract turns you into a monkey. + Melbert: + - rscdel: Spacers are slightly shorter. They're still taller than other people, + just not as much. + - qol: Haunted 8-ball no longer requires the ghost orbit the petitioner to submit + votes + - qol: Haunted 8-ball ghosts can now change their vote after submitting it + - bugfix: Haunted 8-ball no longer always reports "yes" + - bugfix: Haunted 8-ball no longer always reports default "yes", "no", or "maybe" + and now gives a proper eight ball response + - bugfix: Haunted 8-ball can be picked up via the stat panel + Profakos: + - bugfix: Mortar and pestle can grind stuff again + Sealed101: + - balance: polymorph belt now blacklists mobs that are undead, humanoid, robotic + or spiritual (in nature, not religiously), as well as megafauna + - balance: however, this means that it works with more mobs that it should logically + work with, like slimes/bugs/lightgeists etc + - bugfix: fixed headslug shenanigans with the polymorph belt hopefully for good + this time + - bugfix: fixed headslug description mentioning its movement despite the slug being + dead + Vincent983: + - rscadd: 'Added the service borg "drink apparatus" upgrade, which adds an extra + drinking apparatus to the borg, up to a maximum of 5 extra. + + :cl:' + Wallem, MTandi: + - image: Updates chem factory tank sprites + blueDev2: + - qol: Rice Dough may be made in beaker instead of being crafted, but the rice and + flour must be added first + cnleth: + - bugfix: Changeling tentacle and bloodchiller from xenobio will no longer stop + working if you have antimagic + mc-oofert: + - rscadd: humpback emergency shuttle +2023-09-12: + CoiledLamb, Time-Green: + - image: resprites the radioactive nebula shielding + GoldenAlpharex: + - bugfix: The message sent to admins when a new admin has been added via the Permissions + Panel will now properly show the new admin's ckey. + Jacquerel: + - bugfix: Ninjas should be correctly credited for using their spider bombs + LT3: + - code_imp: Status display shuttle timer no longer scrolls + Pickle-Coding: + - balance: Supermatter zap power generation scales with the delta time between its + last zaps, preventing faster zapping from scaling power generation to extreme + levels. + - bugfix: Fixes supermatter zap rate not scaling properly. It should zap much faster + at higher energy levels as intended. + - qol: Changeling chemical generation scales with the world's delta time, making + its rate independent of subsystem lag. + - qol: Revenant essence generation scales with the world's delta time, making its + rate independent of subsystem lag. + - qol: Xenomorph plasma generation and resin healing scales with the world's delta + time, making their rates independent of subsystem lag. + carlarctg: + - rscadd: Several common 'household' reagents can be used as improvised medicine + treatment. + - rscadd: Drinking tea will help mend (non-bone) wounds over time. + - rscadd: Flour and corn starch may be splashed onto wounds to help dry them up, + though they'll have a negative effect on burn wounds. + - rscadd: Added a new reagent, saltwater, made by combining table salt with water. + - rscadd: Table salt and saltwater can be splashed onto wounds as well, reducing + bleeding and improving sanitization and disinfection significantly. However, + the coarse undiluted salt will irritate the wounds, reducing clot rate and flesh + healing, and both of the reagents will increase a burn wound's infestation rate. + - rscadd: Altered Table Salt's recipe to just need sodium and chloride. Changed + the recipe of Pentetic Acid and Heparin to need table salt (sodium x chloride) + and thus slightly altered the total output of those reagents (pentacid went + from 5u per reaction to 4u, heparin 4u->3u) + - rscadd: Saline-Glucose Solution now needs 2u of saltwater and 1u of sugar, meaning + the overall recipe should be completely unchanged in practice. Contact me on + discord if any issues arise from these chemical changes! + - qol: First aid analyzers now give easy-to-understand direct information, with + the specific recommended treatments bolded in the analysis text. They also have + a 'unique' extra bit of info, telling you about improvised ways to remedy your + wound. + necromanceranne: + - bugfix: The vorpal scythe is no longer as greedy about you murdering people, and + will once again accept striking any living creature to be sated. + nikothedude: + - bugfix: Medicine allergy can no longer roll quantum medicine + san7890: + - image: When you throw up nanites, your vomit should now be appropriately nanite-colored. + timothymtorres: + - bugfix: Fix capture devices allowing mob actions while inside +2023-09-13: + ArcaneMusic: + - qol: Shuttle engines now tell you how to install them in their screentips and + their examine text. + CoiledLamb: + - image: resprites pestkiller, weedkiller, and nolabel sprays + - image: updates shading on medigels + - image: resprites all spray bottles + Ghommie: + - bugfix: The holographic pufferfish from the holographic beach from the holodeck + no longer looks like a goldfish. + Ghommie (Based on an old PR by Trilbyspaceclone from Citadel): + - qol: The notepad app now includes basic nautical directions in its default message. + - qol: A tip about nautical directions, too. + Hatterhat: + - rscadd: The SC/FISHER disruptor pistol, a very compact, permanently silenced energy + gun, is now stocked in Nanotrasen-accessible black markets with a price generally + somewhere between 400 and 800 credits. Aspiring users are warned that it's really + bad for trying to actually kill people. Caveat emptor. + - rscadd: Guns now have a dry_fire_sound_volume variable, allowing for guns to be + less loud when trying to fire while empty. + - bugfix: Closets and crates now properly count as structures for pass flags again. + Jacquerel: + - rscadd: Operative MODsuits now have an attached "jump jet" which sends you upwards + and allows you to use your jetpack under gravity for a few seconds, perfect + for navigating the pits and valleys of Icebox Station. + JupiterJaeden: + - balance: removed anti-drop implants from the nuclear operative uplink + - balance: removed anti-drop implant from the nukie implants bundle and changed + its cost to 20 TC + Melbert: + - bugfix: Birdboat's Augment Theater is named less odd now + Rhials: + - bugfix: The psyker headset is no longer a syndicate headset subtype, and no longer + has syndie comms. + SuicidalPickles: + - qol: Cargo Coats/Jackets can now equip universal scanners on their suit-slots. + Wallem: + - qol: Examine a Dish Drive to see all the items inside of it, as well as the item + you'll pull out when you interact with it. + - qol: Dish Drive servo tier increases suction range + blueDev2: + - bugfix: Soup recipes, that make items, spawn the correct number of items per reaction + instead of just one item + - bugfix: Soup recipes, that make items, consumes the correct number of reagents + instead of the largest multiple of the reagents + starrm4nn: + - bugfix: the ablative coat's hood now hides the wearer's hair and ear + timothymtorres: + - balance: Add hypnosis vulnerability for drugged victims + vinylspiders: + - bugfix: fixed grown food items not getting the right seed type passed to them + upon creation +2023-09-14: + ArcaneMusic: + - qol: Conveyor belts now have screentips and a better examine tip to teach you + how to set one up properly. + - qol: Using a conveyor belt stack on a placed conveyor belt will extend the conveyor + belt to the output of that conveyor belt.. You can use this to place fully integrated + conveyor belts much easier now. + Das15: + - bugfix: You can no longer teleport to disabled beacon if the teleporter was previously + locked-on to it. + IHateGeese: + - bugfix: Nightmares can no longer receive wounds + - bugfix: Nightmares can no longer have limbs dismembered + Jacquerel: + - bugfix: Roundstart medbots and cleanbots are now more likely to be able to be + possessed by observers. + - admin: It's easier to modify the properties of bots to stop them from being possessed + or depossessed. + LT3: + - bugfix: Emergency shuttle should correctly scale timer up/down when changing security + levels + Mothblocks: + - bugfix: Dynamic now biases less heavily towards the exact average. + Rhials: + - rscadd: Shuttle Firesale positive station trait. Some emergency shuttle options + have been put on sale! + - rscadd: Misplaced Wallet positive station trait. You wouldn't steal from a missing + wallet, would you?? + - rscadd: Wisdom Cow Invasion positive station trait. + - rscadd: Advanced Medbots positive station trait. Better roundstart medbots! + - rscadd: Loaner Shuttle positive station trait. More shuttle loan offers and more + payout! + - qol: Station Trait titles are now italicized for easier reading. + - spellcheck: Fixes a "prerequisites" typo in the shuttle purchase menu. + Seven: + - balance: The supermatter delamination countdown has been lowered from 30 to 13 + seconds + - balance: Removing a sliver from the supermatter further lowers that down to 3 + seconds + - balance: The supermatter crystal uses bigger text on its final countdown + - spellcheck: Some supermatter delamination related mood descriptions have been + edited to explain the mood effect better + Timberpoes: + - bugfix: Fix poor dynamic threat distribution at lower population levels, causing + dynamic to generate better threat curves at lower population levels than it + did before. +2023-09-15: + Ghommie: + - bugfix: fixed fishing. + - bugfix: Fixed a race condition that made fishing yield no reward way too often. + - bugfix: The legendary fisher achievement is awarded even if you don't win the + minigame. + - bugfix: Fixed a fish hook exploit. + - bugfix: Baits are now properly consumed by caught fish and (alive) mobs. + ZephyrTFA: + - bugfix: you can no longer bypass html sanitization using the table element. >:( +2023-09-16: + AtomTheProphet: + - balance: The spontaneous brain trauma event will no longer occur if there are + fewer than 13 players. + Donglesplonge: + - bugfix: adds the bolted and welded helper to the bar backroom/kitchen coldroom + airlock on birdshot, as to prevent chefs from being able to access armor and + sunglasses roundstart with barely any work involved + Hatterhat: + - bugfix: Flares and candles no longer sound like flashlights when being turned + on. + - bugfix: Getting shot by an SC/FISHER now disables PDA lights for consistency's + sake. + - balance: Pulling embedded items e.g. shrapnel with hemostats is now a lot faster, + and scales appropriately with toolspeed. + - balance: You can now pull embedded items with wirecutters, at a speed penalty. + Jacquerel: + - balance: Watchers will no longer put you at gunpoint. + - bugfix: The nuclear operative MODsuit intellicard now actually downloads an AI + rather than simply kicking candidates from the game. + LovliestPlant: + - qol: '[Deltastation, Icebox, Metastation, Tramstation] Adds cell timers to isolation + cells. (they do not auto-open the doors)' + - qol: '[Birdshot, Deltastation, Icebox, Metastation, Northstar, Tramstation] Adds + translator glove modules to the stacks of "accessibility" (e.g. plasma fixation + / thermal regulator) modules found in security, medical, and engineering storage + rooms.' + - qol: '[Birdshot] Adds a roll of packaging paper to the cargo office.' + - qol: '[Icebox] Adds a hand labeler to security''s gear room.' + - qol: '[Northstar] Nudges the set of binoculars covering the mass driver controls + in ordnance over a few inches.' + - bugfix: '[Birdshot] Remaps the janitor''s closet such that the recycling machine + will now work.' + - bugfix: '[Icebox] Removes a duplicated hand labeler from the rack near security''s + brig cells.' + - bugfix: '[Metastation] Patches a broken corpse disposal pipe running from aux + surgery to the morgue.' + - bugfix: '[Northstar] Fixes the SM being hotwired at round-start (partially rewires + the SM room, moves the APC to the North wall).' + Pickle-Coding: + - bugfix: Fixes tesla coils duplicating the power of >7GeV supermatter zaps. + SyncIt21: + - bugfix: returning items to vendors works correctly + - bugfix: you can't return items that has stuff in it for e.g. a serving tray with + food in it + - bugfix: Unary vents & Injectors now link properly with air sensors via multitool + both ways + Thunder12345: + - rscadd: There's a new space ruin in town, be on the lookout for a hidden supply + cache. + - rscadd: Added a new type of wall which can only be destroyed by blowing it up. + Vincent983: + - qol: The supply beacon will no longer delete itself due to explosions, and you + can now anchor it with a wrench. + - spellcheck: Express console now correctly states that it needs cargo access instead + of QM access. + Zergspower: + - bugfix: Space ruin Anomaly Research - Fixes stacked windows and underplating + cnleth: + - spellcheck: Replaced an irrelevant tip of the round about scars with a better + one + mc-oofert: + - bugfix: the bank machine cannot print holochips worth 0 credits now + - rscadd: climbing hooks that allow you to go up holes for multiz, found in internals + boxes (on planetary maps), the uplink, cargo and nukie personal lockers + san7890: + - balance: You will be knocked down again on certain vomits. Don't worry, you'll + deserve it when it happens. + vinylspiders: + - bugfix: fixes a bug that would cause grown inedible plant seeds (like tower cap) + to vanish from existence upon being added to the seed extractor + - bugfix: fixes a issue that would cause fruit wine to bug out when trying to blend + its reagent color +2023-09-17: + ArcaneMusic: + - rscadd: Wall mounted objects (Things like APCs, Air Alarms, Light switches, Signs, + Posters, Newscasters, you name it) will now fall to the ground and break or + deconstruct when their attaching wall is changed or broken. + Ical92: + - bugfix: adds a few firelocks and alarms around IceBox + Timberpoes: + - bugfix: Forgetting to take dough out of the oven no longer progresses the server + to a crash-worthy state with infinite bread and ash and burned food products + for all. + Vincent983: + - qol: the recycler can now be rotated + blueDev2: + - bugfix: Lipolicide and other chems now puts you in crit, even if it is the only + source of damage + cnleth: + - image: Hercuri spray now uses the same sprite as the yellow medical spray + - spellcheck: Added a missing space to hercuri spray's description + mc-oofert: + - bugfix: the nukie medibot (oppenheimer) has access to the doors of the infiltrator + and is not shot at by the turrets + notlulz: + - bugfix: Monkeys have their tails back. + - bugfix: Recipe paper in the ruins now shows a normal recipe for Metalgen and Secret + sauce. + starrm4nn: + - spellcheck: Fixed some typos on QM's Overcoat +2023-09-18: + ArcaneMusic: + - rscadd: A new ruin has appeared on lavaland, featuring the site of an ancient + battle. + Jacquerel: + - rscadd: Ghosts (observers) can eat ghost burgers and booberry muffins. + - balance: Ghost burgers will not decay or pick up germs due to the fact that they + moved themselves off a table. + Melbert: + - balance: Humanoids without tongues cannot cast spells with vocal components + - balance: Humanoids without arms cannot cast spells with emotive components + SyncIt21: + - qol: Machines now transfer their local materials to silo during linking with multitool + - code_imp: added some null checks for general juicing & grinding items + - bugfix: grinding stacks now grinds as many pieces/sheets from the stack as possible + that can fit in a beaker/container without wasting the whole stack + - bugfix: plumbing chemical grinder now actually works again + - bugfix: the plumbing chemical grinder allows stuff to enter from any direction + but not mobs and also accepts items put inside it via hand including bags + - bugfix: You can remove the beaker from the all in 1 grinder when power is off + via right click + - bugfix: All in 1 grinder now mixes faster with upgraded parts + - refactor: you can no longer walk into a plumbing chemical grinder + - bugfix: Manually constructed windoors have correct unrestricted accesses applied + to them + - bugfix: Windoors created via RCD now actually have electronics inside them + - bugfix: Airlocks constructed via RCD have the shell component correctly installed + inside them and have no other missing variables + Thebleh: + - bugfix: Bluespace RPEDs can now be rigged again + Vincent983: + - bugfix: made the radiation protection crate's contents match it's description + ZephyrTFA: + - rscadd: NanoTrasen improved the quality of the local durathread strain; resulting + in it now being twice as filling! + jlsnow301: + - bugfix: Fixed a resource dupe in the ORM. + mc-oofert: + - refactor: heretic sacrifice room is now lazyloaded + - rscadd: added the inspectors hat to the detectives cabinet, a special hat that + allows the wearer to say a phrase to dispense a stored item + necromanceranne: + - code_imp: Cleans up some unnecessary code left over from caseless ammo. +2023-09-19: + Ben10Omintrix: + - bugfix: basic mobs retaliate targetting now selects targets they can attack + Ghommie (Thanks Sealed101): + - refactor: Reworked the fishing minigame into a game screen object from a TGUI + interface + Hypernoblium: + - bugfix: Fixes a selection window in the game rock-paper-scissors with death. + Jacquerel: + - rscadd: Many kinds of mobs can now be brought back to life through revival surgery. + - rscadd: Dogs can wear eyepatches. + - balance: Player-controlled basic mobs attack as fast as those mobs can when controlled + by the AI + - balance: Player-controlled Faithless can paralyse people they attack, like the + AI does + - balance: Player-controlled Star Gazers (if an admin felt like making one) apply + the star mark on attack and deal damage to everything around them, like the + AI does + Momo8289: + - bugfix: The Nightmare's Light Eater can no longer suck the light out of space + tiles. + Moose1002: + - bugfix: Nanotrasen has finally recalled their faulty multitools and replaced them + with working ones! The multitool's buffer now properly clears itself. + - qol: Moved multitool link messages to balloon alerts + RikuTheKiller: + - bugfix: Makes ethanol and sugar pure by default. + Shadow-Quill: + - qol: Surgery trays can now be crafted via the crafting menu (two rods, one silver), + and deconstructed via secondary click with a screwdriver! + Time-Green: + - balance: Only traitor, changeling, heretic, blood brother, headrev, wizard, obsessed, + magic/gun survivalists and greentext book holders can now double their hardcore + random score + - qol: Redtexting as antag with hardcore random score will pay you default points, + instead of none (normal survival rules) + - bugfix: End report screen will properly report hardcore random survival in case + of station destruction + Vincent983: + - rscadd: mass drivers are now buildable, you activate them by attaching a signaler + to their launch wire, and can increase their power by pulsing the safeties wire, + and reset it back to normal by cutting the safeties wire. + - bugfix: normal ethereal blood now works for electrolysis, the hydrogen and oxygen + output of the electrolysis recipe has been increased. + YehnBeep: + - server: Default-configuration MINUTE_TOPIC_LIMIT has been increased + carlarctg: + - balance: Unholy and Eldritch water are self-consuming like holy water! They don't + need a liver to be processed. + distributivgesetz: + - bugfix: Fix a runtime when trying to cycle move intents with a hotkey as a dead + mob. + - rscdel: Removes the computer vendor. + - bugfix: Fixes a misplaced status display in Meta's medical storage. + mc-oofert: + - bugfix: pancake stack layering + - bugfix: pizzabox stack layering + - bugfix: pizzabox bombs that spawn unarmed now label their pizza correctly and + cannot spawn a spriteless pizza + - bugfix: added some missing firealarms on icebox in the hall towards departures + and the upper section of chapel + necromanceranne: + - bugfix: Makes sure pump-up properly grants the baton resistance trait. + nikothedude: + - code_imp: Scars now stack trace if they fail to get a valid description + timothymtorres: + - bugfix: Fix wooden barricade description "This looks like it can be barricaded + with planks of wood" being spammed on objects. +2023-09-20: + LT3: + - rscadd: 'New random event: Supermatter Surge' + - code_imp: Individual supermatter crystals can have custom gas properties + RikuTheKiller: + - spellcheck: Unreverted and improved resonance cascade message. + - balance: Supermatter now takes 15 seconds to delaminate normally and 5 if a sliver + has been taken from it. Gives a little more time to escape in the case of the + sliver and also evens out the times to please perfectionists. + - bugfix: Supermatter now accurately reports it's detonation time. + - spellcheck: Supermatter mood descriptions have been reverted back to their old, + more flavorful selves. + Thunder12345: + - balance: Improvised shotgun shells now deal half as much damage to humans and + cause less wounds, but do 50% more damage to structures and machines. They also + require a glass shard for crafting. + ZephyrTFA: + - bugfix: Lava can no longer occasionally generate inside of previously loaded templates + and breach and/or destroy shit + antropod: + - bugfix: Fixed Mafia achievements + carlarctg: + - qol: Crafting R&D guns from gun kits no longer requires tools or cable coil. The + decloner and energy crossbow still need reagents. + - qol: Halved R&D gun crafting time. 20->10 seconds. + intercepti0n: + - image: resprites t-ray scanner, gas analyzer, geiger counter and hand drill. + jlsnow301: + - refactor: Refactors the camera console UI. + mc-oofert: + - rscadd: heretic knock path and its respective items and award + - qol: mice and rats now are visually spaced out from eachother for visual clarity + nikothedude: + - balance: 'EMP damage on augs: 2/1.5 from 3/2' + - balance: Augs now only get paralyzed by EMP for 3/6 seconds if they are damaged + below 70% HP, + - balance: Aug EMP knockdown reduced to 3 seconds + - balance: Synthetic ears now take far less EMP damage + vinylspiders: + - bugfix: fixes inedible grown items (such as tower caps) becoming unclickable when + harvested, fixes their seeds disappearing when inserted into the seed machine +2023-09-21: + Coconutwarrior97: + - bugfix: Fixes a bug allowing holopara injectors to be refundable when used. + Exester509: + - rscadd: Splashing antihol on a patient before surgery will make it to go slower. + GPeckman: + - bugfix: The caller in a holopad call should now be able to hear people on the + other end. + Rhials: + - qol: Restores holiday hats for drones. + - qol: Extends holiday hat behavior to assistants. Get festive! + Shadow-Quill: + - bugfix: RCD Construction effects will no longer fall into chasms. + SyncIt21: + - bugfix: wall mounted objects air alarms, fire alarms etc now actually falls off/gets + destroyed when their attached wall is deconstructed + - bugfix: wall mounts crafted in game also properly falls off/gets destroyed when + their attached wall is deconstructed + blueDev2: + - bugfix: Recipe that converts Vegetable Oil into Olive Oil works properly + nikothedude: + - bugfix: Projectiles no longer cause a blood graphic or blood splatters if they + hit a limb that cant bleed + - rscadd: Prosthetics/Augments now spark when shot + - bugfix: Gauze no longer falls off if a wound is demoted or promoted + vinylspiders: + - bugfix: rescue hooks will once again drop the mob next to the fisherman instead + of just displaying a balloon alert and doing nothing +2023-09-22: + Jacquerel: + - admin: Admins can transform misbehaving players into arbitrary objects at will. + Sealed101: + - bugfix: fixed moonicorns making space/chasm/lava/water bridges with their fairy + grass + Toastgoats: + - balance: Peacekeeper cyborg's emagged hug is no longer a hardstun. + intercepti0n: + - image: resprites t-ray scanner. +2023-09-23: + ArcaneMusic: + - bugfix: Conveyor belts now properly show their new screentips on mouseover with + tools. + Ben10Omintrix: + - refactor: seedlings have been refactored into basic mobs please report any bugs + - rscadd: seedlings now can have different colored petals and can look after botanys + plants + - rscadd: seedlings are re-added to the game! they grow out of seedling seeds obtainable + from exotic seed crates or traitor uplink + GPeckman: + - admin: Boneless smite should work properly again. + LT3: + - rscadd: Poly now causes a power surge when dusted by the supermatter crystal + - bugfix: Ghosts and godmode mobs will no longer create resonance when touching + the supermatter crystal + Shadow-Quill: + - rscadd: The Message Monitor console's board can now be obtained via the telecoms + research node. + distributivgesetz, CoiledLamb: + - rscadd: 'Added two new awards specifically for engineering and medical: The "Emergency + Services Award" and the "Atmospheric Mastery Award". CEs get 3 Emergency Services + Awards and 1 Atmospheric Mastery Award and CMOs get 3 Emergency Services Awards.' + lizardqueenlexi: + - bugfix: Foods that have special conditions for liking/disliking them (such as + donuts for sec officers) have these conditions again. + - bugfix: Characters with ageusia properly ignore non-toxic food types that they + eat. + - bugfix: If you examine toxic food, it can no longer appear to you as edible. + mc-oofert: + - bugfix: clown bomb payload is no longer named badmin payload and no longer disperses + clowns in cardinal directions only +2023-09-24: + GPeckman: + - bugfix: Epinephrine will now update health properly. + Jacquerel: + - rscadd: Brimdemon corpses release an explosion shortly after death, just to keep + you on your toes. + - refactor: Brimdemons now use the basic mob framework which (should) improve their + pathfinding somewhat. Please bug report any unusual behaviour. + - admin: The brimdemon's beam ability can be given to any mob, for your Binding + of Isaac event + - admin: Admins can now reset or modify the chaplain's sect from a UI panel + LT3: + - bugfix: Fixed supermatter surges always being the lowest severity + Melbert: + - bugfix: Maybe fixes some weird occurrences where you lose the ability to pass + over tables when you shouldn't, and visa versa + jlsnow301: + - rscadd: Adds Bitrunning to supply department- a semi-offstation role that rewards + teamwork. + - rscadd: Adds new machines to complement the job- net pod, quantum server, quantum + consoles, and the nexacache vendor. + - rscadd: Adds several new maps which can be loaded and unloaded at will. + - rscadd: Some flair for the new bitrunning vendor. + - rscadd: Adds a new antagonist for the virtual domain only. Short lived ghost role + that fights bitrunners. + - rscdel: Removes the BEPIS machine, moves its tech into the Bitrunning vendor. + mc-oofert: + - refactor: clowns are basicmobs now +2023-09-25: + Ghommie: + - bugfix: Fixed beams rendering below mobs by default. + - bugfix: The fishing line beam is no longer emissive (it doesn't glow in the dark). + LemonInTheDark: + - admin: First time user connections are now logged + Melbert: + - rscadd: Changelings can now speak through their decoy brain if it is placed in + an MMI, to maintain the illusion they are actually dead and have been debrained. + Pickle-Coding: + - qol: NT CIMs shows how much power the supermatter is releasing. + - qol: NT CIMs internal energy will adjust its prefix. + - qol: Energy displays (such as multitooling grid) will use the full range of SI + prefixes available, up to the peta prefix if you somehow managed to reach that. + - rscdel: Removes the per cubic centimeter part of internal energy. + - bugfix: Fix unnecessary delta time scaling on inactive supermatters. + - bugfix: Fix high energy zaps not scaling with delta time. + - bugfix: Fixes grounding rods lying about potential power you can generate. + - code_imp: Convert supermatter_zap() and tesla_zap() zap_str argument unit to be + in joules, and scales everything that uses that argument. + Singul0: + - bugfix: Syndicate Modsuit AI's now downloads the current codespeak book upon being + downloaded. + Vekter: + - bugfix: Fixes Birdshot's recycler being turned the wrong direction. + Watermelon914: + - bugfix: Fixed the overflow role having less slots than it actually should. + - bugfix: Fixed players being able to roll antagonist without ever being eligible + to play any role. Players who have their preferences set up so that they're + likely to return to lobby when the round starts have a lowered chance of becoming + antagonist. + carlarctg: + - rscadd: Added the Hippocrates bust to medbay heirlooms. Paramedics don't get one. + - rscadd: You can now swear the Hippocratic oath with these busts! It'll give you + pacifism but nothing else. The process is reversible. + - rscadd: There's a very small chance that the Hippocrates bust was once wielded + by a certain German doctor. This chance is increased for coroner heirlooms. + distributivgesetz: + - bugfix: Clamping/closing a wound should now heal the bodypart that was damaged + instead of a random one. + nikothedude: + - code_imp: New flags/args to electrocute_act() + starrm4nn: + - balance: Makes it so Ephedrine spasms have a 10 * (1.5 - purity)% chance per second + to happen, Adding a downside to pure Ephedrine + timothymtorres: + - bugfix: Fix secret documents steal objective failing while inside folder. +2023-09-26: + Ben10Omintrix: + - rscadd: added ranged attack friendly fire checks for basic mobs. minebots and + hivebots will now try to avoid shooting their friends + GPeckman: + - bugfix: Stun immune people should no longer have issues with gripper gloves and + other tackle gloves. + - bugfix: Intellicards in computers are no longer deleted when the computer is destroyed. + - bugfix: Modular consoles can now be deconstructed by right clicking with a wrench. + Higgin: + - bugfix: cigarettes no longer smoke themselves from inside your pockets or on your + hands. + Jacquerel: + - bugfix: Selecting "Monkey" on a magic mirror will now once again turn you into + a Monkey rather than a disgusting freak of nature. + - bugfix: Tall Boys have once again been barred from joining the Wizard Federation. + LT3: + - admin: Successful restart votes will now restart on the current map + - code_imp: End round and persistence data will be saved before executing successful + restart vote + - spellcheck: Improved wording in greyscale JSON error message + Rhials: + - bugfix: '"Spooky" meteors will now properly spawn during halloween.' + Sealed101: + - bugfix: you can no longer push watchers (and any other lavaland basic mob) around + by running into them + Singul0: + - rscadd: Adds an advanced plastic surgery procedure, allowing you to imitate people + in pictures. Simply hold a picture in your offhand of the person you wish to + imitate as while conducting the surgery! Remember, it's not foolproof, it only + changes your name and voice! + - rscadd: You can obtain the disk containing the afromentioned surgery. as a role-restricted + item to doctors and roboticists for 1TC, as a rare maint loot and BEPIS technode + reward + Thunder12345: + - bugfix: Metalgen can no longer be used to transmute indestructible turfs. + Timberpoes: + - bugfix: Centcom now rejects contraband that somehow makes it way onto the cargo + shuttle mid-transit and returns it. + Vincent983: + - image: the security records suspected status is now teal instead of orange + carlarctg: + - refactor: Heavily refactored mirrors to be less ass cancer 1998 code. Player facing + changes are that mirrors now use a radial menu, women can get beards in magic + mirrors, made the magic mirror 'change sex' option Woke (it supports the 4 official + genders and physique as well) + - bugfix: Fixed Pride Mirror teleporting you into the space on the first use. Now + it waits until you officially cancel and say 'I am Done' so you can customize + yourself to your liking. + jlsnow301: + - rscadd: Netpods and quantum servers now have more examination info + - bugfix: You no longer lose antag status if you receive it in the vdom. + - bugfix: Beach bar shouldn't have visible atmos piping anymore. + - bugfix: Adds more lighting to the vaporwave vdom level. + - balance: Buffed vdom megafauna health to compensate for new ability disks. + mc-oofert: + - bugfix: posibrains can be inserted again + san7890: + - bugfix: The custom error message for when there is only one map to vote for should + pop up in all cases rather than just a select few. + tattle: + - qol: Basic animals now make sounds for audible emotes + - sound: Added new sound effects for chicks, chickens, crabs, and insects + xPokee: + - image: adds a frog holoform for pAIs +2023-09-27: + Helg2: + - bugfix: '[Tramstation] Mass Driver in chapel now has tiny fan so you don''t space + yourself.' + Jacquerel: + - bugfix: Blob spores will respond to rallies more reliably (it won't runtime every + time they try and pathfind). + - bugfix: Blobbernaut pain animation overlays should align with the direction the + mob is facing instead of always facing South + - refactor: Blob spores, zombies, and blobbernauts now all use the basic mob framework. + They should work the same, but please report any issues. + Sealed101: + - bugfix: fixed Strong Stone ruin generation + Vekter: + - rscadd: Added a holodeck to Birdshot Station. It can be reached via the Crew Facilities + hallway. + Watermelon914: + - bugfix: Fixed job configs not being loaded properly. + admeeer: + - rscadd: Added a candle box crate for all your candle needs! +2023-09-28: + CoiledLamb: + - rscdel: removes surgical duffelbags + - bugfix: the surgery supply order now comes with a surgery tray + GPeckman: + - bugfix: The flight potion wings will no longer fail to work on lavaland/icemoon + on rare occasions. + Iamgoofball: + - qol: Gas masks now muffle your voice with TTS. + - qol: Security Hailer masks now disguise your voice to protect your right to brutalize + greytiders. + - qol: Lizards, Ethereals, and Xenomorphs now have a vocal effect. + - qol: Security Records now show someone's voice name. + Jacquerel: + - bugfix: Throwing things at cyborgs will now slow them down, as intended + - balance: Adjusted the calculation of throwforce -> slowdown for cyborgs such that + it is simply a flat duration for anything above a certain damage threshold (the + value of throwing iron rods) + - refactor: Hivelords and Legions now use the basic mob framework. Please report + any unusual behaviour. + - rscadd: Hivelords shed more spawn when they are attacked. + - rscadd: Legions have learned how to fling their skulls across long distances. + - rscadd: Legions can heal other lavaland mobs with their skulls. + - rscadd: Legions are better at preserving corpses they consume, and sometimes make + use of their radios. + - rscadd: Legions may leave behind an unpleasant surprise after you are rescued + from them. + - balance: The crew monitoring console will now display you as dead if you are dead, + an critically injured if in crit, rather than setting those icons purely based + on your current health. + - qol: You won't continue burning to a husk if consumed by a snow legion after being + set on fire by an ice drake. + Melbert: + - rscadd: Doctors can now get head mirrors from their clothes vendor, to complete + the doctor outfit + - config: Adds a config option for player respawning that enables respawns, but + forces you pick a new character. + - config: '"NORESPAWN" has been replaced with "ALLOW_RESPAWN 0". Unlimited respawns + is "ALLOW_RESPAWN 1" and character limited respawns is "ALLOW_RESPAWN 2".' + MidoriWroth: + - bugfix: Added complexity factors to foods that were missing them. + Profakos: + - rscadd: Added the BEPIS' minor rewards as purchasable products to the bitrunning + order console. + - rscdel: Removed the base BEPIS disk from the bitrunner console + Sealed101: + - qol: you can undeploy fulton beacons by clicking them with an empty hand + - qol: you can rename fulton beacons with a pen + - bugfix: fixed geysers spawning on turfs with plants + Tattle: + - qol: drones now have individual names, instead of just "drone" + Toastgoats: + - balance: Gave the bluespace geode pirates 4 more teleporter bolt turrets. + - bugfix: The bluespace geode pirates no longer have a bluespace portal to the bottomless + pit dimension. + - rscadd: Station-safe dirt tiles for all your mapping needs, but surely no station + maps use the chasm baseturf ones, right? Right? + Watermelon914: + - spellcheck: Tweaks the message that players get when not being able to qualify + for roundstart antag to be more accurate as to what's happening. + Xander3359: + - rscadd: Contractor baton in traitor uplink for 12 TC + - balance: Ebow no longer has a reputation requirement. + carlarctg: + - bugfix: Fixed zombies being able to infect headless corpses (Including former + zombies) + - bugfix: 'Fixed bio armor being totally useless against zombies. Now it checks + how hurt your limb is: If it''s more than the bio armor value, you get infected. + THICKMATERIAL clothing guarantees at least 25 damage required to infect you, + non-thick clothing reduces effective defence by 25. In practice this means people + with MODsuits, biosuits will resist infection unless they''re pummeled into + crit, and wearing a firesuit will save you from the first few slashes.' + - bugfix: Fixed the bomb hood armor not having the same bio armor value as bomb + armor. + - qol: Added a message to the zed when they succesfully infect someone. + - code_imp: Turned some proc names into snake_case rather than, uh, nospacecase. + - bugfix: Fixes full advanced surgery trays spawning with 'nothing' + - refactor: Turned slapcrafting into a component! You can examine compatible items + to see what recipes they can be used in, and what the ingredients for them are. + For example, spears and the head-on-spear crafting recipe. + - bugfix: Valentines and ERTs will no longer get mood boosts from traitor moodener + items + lizardqueenlexi: + - bugfix: Left-clicking an empty surgery tray will now tell you exactly why it does + nothing. + mc-oofert: + - bugfix: you can now deconstruct exodrone scanner arrays + - bugfix: the tree in space exodrone adventure no longer softlocks you + - qol: the exodrone launchers now tell you on examine how to remove their fuel canister + if you somehow needed to do that + - balance: exodrone wide scans are now capped at 10 minutes + - balance: exodrone travel times are 18% faster + - balance: you can now upgrade scanner arrays for faster wide scan + - balance: exodrone point scan and deep scan are faster + - spellcheck: fixes several typos related to exodrones and gives scanner control + console a description + nikothedude: + - bugfix: You can no longer break the game by AI rolling in a card or APC + - qol: AI Roll now doesnt require you to click the exact turf to move you + - qol: AI roll cooldown and roll time is now a variable, making it possible for + AIs to become terrifying catamari damacy balls + timothymtorres: + - bugfix: Fix altars not allowing items to be sacrificed + vinylspiders: + - bugfix: Seeds will no longer be removed from existence after receiving the "You + can't seem to add [seed type] to the seed extractor" message + - bugfix: Some seeds that were previously not able to be added to the seed extractor + may now be added (starthistle for example) + - bugfix: fixes replica pod seeds spawning humans in nullspace +2023-09-29: + A.C.M.O.: + - bugfix: Fixes the death sandwich, making it safe to examine. + BurgerBB: + - bugfix: Scrubbers and Vents will no longer reset their settings on map load. + GPeckman: + - admin: There is now a tool to apply a DNA Infuser entry to any human. + Ghilker: + - code_imp: adds a gas connector component that allows connection to the atmos piping + system without the need of repathing + - refactor: changes the cryo machine to use this new system + Ghommie: + - bugfix: Fixed crabs not correctly (kinda) walking sideway. + Higgin: + - balance: Diabetics rejoice! Nerfed sugar OD/hyperglycaemic shock to be an immediate + KO followed by drowsiness afterwards until the OD is gone. + Jacquerel: + - bugfix: The Nuke Op MODsuit AI downloader only works once per purchase, as intended. + - bugfix: Blob Zombies and Blobbernauts have had their attack speed restored to + its original value + JohnFulpWillard: + - code_imp: Your bodytype now decides what gendered sounds you make. + - balance: You can now remove and replace power cells from PDAs (with screwdriver). + - balance: PDAs now drain their power cells harder, and also take into account active + programs & their flashlight being on. + - balance: PDAs running out of charge now turn their flashlights off. + Melbert: + - qol: Examine blocked out roundstart / latejoin job information. + - qol: Captain gets a little bit more information about how their radio works roundstart. + - bugfix: Fixed roundstart players not getting radio information. + - balance: Transformation sting now lasts 8 minutes, down from permanent. However, + the effect is paused for dead and stasis mobs, making it permanent SO LONG AS + they stay dead or in stasis. The effect is also permanent if used on a monkey. + - balance: Transformation sting now costs 33 chemicals, down from 50. + - balance: Transformation sting now costs 2 dna points, down from 3. + - bugfix: Transformation sting works on monkeys again. + - refactor: Refactored a bit of human randomization. + Rhials: + - bugfix: The Polymorph Belt should now update its sprite when active. + - qol: The freedom implant has received minor feedback and other minor usage improvements. + Sealed101: + - bugfix: fixed lobstrosities becoming unmovable when killed during their charge + windup + SyncIt21: + - bugfix: removes incorrect stack traces when using some admin secrets + Vekter: + - bugfix: Fixes the missing grinder in Birdshot's Virology department + Vincent983: + - bugfix: the parole status and discharged status are now green and blue respectively + in the security record interface + Watermelon914: + - balance: Head revolutionaries and heads of staff are no longer immediately considered + disqualified when going AFK or disconnecting and are given a 2 minute grace + period. + - admin: Admins now get a log when a head revolutionary or head of staff disconnects + or goes AFK during a revolution. They also get the same log 1 minute after to + give them a chance to act on the information. + necromanceranne: + - bugfix: Splattercasting resets your blood to normal values when you transsform + into a vampire. + - bugfix: Gaining a new species will set your blood volume down to the normal volume + levels if higher than normal. + san7890: + - code_imp: Robot Customers have recently been touched codewise, please report any + bugs or unexpected behavior as there really should not be any. + - refactor: Snakes have been refactored into basic mobs. This means that they are + a bit more intelligent than previous snakes, making them more docile and averse + to harming people (unless otherwise provoked). They do chomp all sorts of mice + though. You can feed them a dead mouse to make them your friend if you'd want + that. + - sound: If you listen closely to snakes, you might be able to hear a small hissing + sound... + timothymtorres: + - bugfix: Fix water puddle runtime when washing items + - rscadd: Add drinking water causes drunk mobs to become sober + - rscadd: Add candle design to biogenerator + yorii: + - bugfix: dead bodies now cool down to room temperature over time + - qol: allowed names to start with a number if AI/Borg +2023-09-30: + DrDiasyl aka DrTuxedo: + - balance: Holsters can now be clipped to any suit, and house Captain antique gun + and HoS gun. You now can buy holsters from the SecTech premium section. + Helg2: + - rscadd: SM crystal can now dust someone or something if it falls on it. + Jacquerel: + - bugfix: If two cosmic heretics ascend in the same round, their star gazer survival + will be linked to each individual heretic and not shared by just one of them. + - bugfix: You can't click the Knock heretic portal to join as a mob while already + signed up to become a mob. + - balance: Cosmic heretics can't order the Star Gazer around while jaunting. + - balance: The Knock Heretic portal cannot summon Flesh Worms, but can summon Fire + Sharks. + - balance: The Knock Heretic portal will disperse if its creator is killed. + - admin: Mob abilities can be granted to arbitrary mobs via the VV menu in a similar + way to spells. + - bugfix: Lavaland syndicate operatives can no longer trivially use the jetpack + on their modsuit to fly over the lava. + JohnFulpWillard: + - bugfix: PDA flashlights wont cause the cell to constantly drain faster and faster. + Singul0: + - bugfix: Fixes missing baseturfs and clowns in mining planet VDOM.. + SyncIt21: + - code_imp: removed some redundant code for airlocks + Timberpoes: + - balance: There are now 3 roundstart cyborg job slots open by default. + admeeer: + - bugfix: You can now spray paint the SM without getting dusted + jlsnow301: + - rscadd: Quantum servers now talk over supply channel when they're done cooling + off. Go outside! + - bugfix: You can no longer use dragon swoop to bypass cordons. + - bugfix: Netpod brain damage is now properly reduced upon server upgrades. + - bugfix: Fixed an bug where swapping bodies in vdom prevented you from disconnecting. + - bugfix: Fixed a bug where a quantum server could get locked out of loading new + domains. + - bugfix: Changed quantum console UI to display "no bandwidth" rather than "none" + lizardqueenlexi: + - bugfix: The reverse revolver now looks like a normal Syndicate revolver on inspection. + nikothedude: + - code_imp: Gauze removal is now handled by the gauze's destroy instead of seep_gauze + xPokee: + - bugfix: fixed the stamp in the metastation CMO office always spawning on the floor diff --git a/html/changelogs/archive/2023-10.yml b/html/changelogs/archive/2023-10.yml new file mode 100644 index 0000000000000..0c96584a27876 --- /dev/null +++ b/html/changelogs/archive/2023-10.yml @@ -0,0 +1,231 @@ +2023-10-01: + ArcaneMusic: + - rscadd: A new export has arrived in the imports section, the Galactic Materials + Market! You can use this to buy and sell minerals for profit or cost, as well + as stock your station when you don't have any miners. + - rscadd: Insert sheets of minerals into the Galactic Materials Market to convert + them into a stock block, allowing you to lock in your price for 5 minutes. Wait + too long and it'll be subject to market value again! + - rscadd: Minerals can be bought on the market either using the station's cargo + budget by cargo crew, or privately by everyone else. + - rscdel: Any material stacks that can be bought and sold on the market before have + been removed from the cargo catalog. + GPeckman: + - bugfix: Security officers can now download the crew manifest PDA app that they + start with. + Ghommie: + - bugfix: Actually fixed the hooked item exploit. + Higgin: + - bugfix: Added warden to list of default required enemies for rulesets. + NPC1314: + - image: new chaplain outfit + SyncIt21: + - bugfix: Aloe and other baked foods that don't have reagents can be baked again + without turning to ash + carlarctg: + - rscadd: Heretic Rebalance + - balance: Researching the Main Knowledge paths that unlock Side Paths will grant + one Side Point that can be used only on those side paths. You can still spend + normal knowledge points on them if you wish. + - balance: Rune drawing time has been reduced from 30->20 seconds. Codex drawing + time has been reduced from 15->8. + - balance: 'Codex Cicatrix is now a roundstart knowledge, works as an amber focus + when held in-hand and opened, and has had its recipe changed to: 1 of any non-standard + pen (literally anything that isn''t the base pen), any book, and either animal + hide OR a corpse, any kind.' + - code_imp: Added support for using a list inside ritual requirements and a special + 'snowflake check' rituals can utilize. + - balance: The first non-path knowledge, the Mansus Hand Mark, has had its cost + reduced from 2->1 points. + distributivgesetz: + - qol: Font settings in the chat panel applies to all text now. + nikothedude: + - balance: Sci now has access to the materials & canisters section in their departmental + order console + ninjanomnom: + - rscdel: An easter egg plushie that was spawning where it shouldn't has been brought + back home. + - rscadd: The secure closet can now spawn live gibtonite, enjoy your free bomb. + san7890: + - refactor: Supermatter Spiders have been refactored into basic mobs, on the extremely + off chance you spot one and also notice any weird bugs regarding it, please + report it. +2023-10-02: + Ghommie: + - rscadd: Expanded the fishing portal generator. It now comes with several portal + options that can be unlocked by performing fish scanning experiments, which + also award a modest amount of techweb points. + - balance: The fishing portal generator is now buildable and no longer orderable. + The board can be printed from cargo, service and science lathes. + - balance: Advanced fishing tech is no longer a BEPIS design. It now requires the + base fish scanning experiment and 2000 points to be unlocked. + - rscadd: The advanced fishing rod now comes with an incorporated experiscanner + specific for fish scanning. + - rscadd: Added a new skillchip that may change the icon of the "fish" shown in + the minigame UI to less generic ones. Reaching master level in fishing also + does that. + - qol: The experiment handler UI no longer shows unselectable experiments. + Jacquerel: + - rscadd: Wizards who complete the grand ritual can now gift everyone with eternal + life + distributivgesetz: + - bugfix: Font scaling in TGUI chat has been reverted to its original implementation. +2023-10-03: + ArcaneMusic: + - image: Railings have had a visual update. + CoiledLamb: + - rscadd: adds boxes of bandages, a quick healing item + Fazzie: + - rscadd: Added a budget solar crate to the derelict teleporter room + - rscadd: Added a solar panel control to the north derelict solar + - qol: The derelict's AI coridoor is now shorter and prettier + Ical92: + - bugfix: fixed misplaced door on syndicate listening post + Jacquerel: + - bugfix: Spiders, Morphs, Fire Sharks, and Regal Rats no longer have a reduced + click speed. + - balance: Kudzu will now be destroyed by adverse weather. + - balance: Kudzu will no longer spread over holes. + timothymtorres: + - bugfix: Fix organs having no DNA and become bloody when violently removed. +2023-10-04: + Coded by Jacquerel, Sprited by Dalmationer: + - rscadd: Added tongs to the kitchen, which you can use to manipulate food from + further away + Cruix: + - bugfix: Some icons for selecting character preferences are no longer scaled incorrectly. + FIoppie: + - sound: '*flap now makes a fluttering noise for moth wings' + - sound: Moths now have a death sound + - qol: '*tremble emote now is just "trembles!" instead of "trembles in fear!"' + Fazzie: + - rscadd: A lot of new content has been added to the beach away mission + - qol: It also looks substantially better, too! + Jacquerel: + - refactor: Raw Prophets now use the basic mob framework. Please report any unusual + behaviour. + - admin: Admins can turn off dynamic rulesets (or force them on despite not meeting + the qualification criteria) on a per-round basis. + Melbert: + - qol: Moved a lot of maintenance spawnpoints out of non-maintenance rooms. Some + antags (paradox clone, fugitives, nightmares, spiders) are now less likely to + spawn in obvious places like the morgue, tech storage, or dorms rooms. + TheBoondock: + - rscadd: Added blackout, happens when you drink...ALOT + Wallem: + - rscadd: Adds The Hand of Midas, an ancient Egyptian matchlock pistol. + ZephyrTFA: + - bugfix: The Syndicate have fired their previous construction company after poor + results in recent outposts. + lizardqueenlexi: + - bugfix: Your heart will no longer be deleted if an admin heals you while you have + corazargh in your system. + - refactor: The cursed heart has been streamlined a bit, and now gives you a visual + cooldown for when you can beat your heart again. + - bugfix: Cutting open a hand-pressed paper bundle no longer deletes all of the + paper. + nikothedude: + - qol: Departmental order consoles now alert their department via radio when their + cooldown expires + ninjanomnom: + - admin: Appearance vars in VV now display instead of being left blank + timothymtorres: + - bugfix: Fix butchered monkeys to transfer reagents and diseases to meat + unit0016: + - rscadd: The funds the syndicate have been saving by restricting galley access + has been suddenly funneled into a singular mosaic pattern in the experiments + wing. + vinylspiders: + - refactor: fixed many instances of updatehealth() either being called needlessly + or not at all within on_mob_life() and in various other parts of the code + - refactor: damage procs now return useful information--the actual net change in + damage on the mob. added a unit test for this +2023-10-05: + lizardqueenlexi: + - bugfix: The Galactic Materials Market now offers things for sale as it should. + mc-oofert: + - code_imp: exploration drone adventures are now file-based and not database-based + timothymtorres: + - balance: CQC legsweeps now cause knockdown instead of paralysis. + - balance: CQC kicks now knockout a target on the floor for ten seconds if they + reach stam crit. Helmet protection shortens the knockout length. +2023-10-06: + EricZilla: + - image: We have received a new shipment of IDs, as the old ones were found out + to be haunted. + - image: Laser tag red team ID has received a massive nerf + - image: Station budget cards have gotten a facelift + - image: Emags and Doorjacks + - bugfix: Numbered prisoner IDs will now be legible + SyncIt21: + - bugfix: plumbing reaction chamber now balances the ph of it's solution correctly + to the best of it's ability so no guarantees + - code_imp: converted plumbing reaction chamber & mixing chamber UI files to Typescript + - refactor: plumbing mixing chamber now also accepts an TGUI input list to input + it's chemicals + Wallem: + - rscadd: Buffs the Active Sonar module with a radial scan, and makes the power + costs more in-line with other modules. + mc-oofert: + - bugfix: you are now made a ghost faster if you get gibbed + neocloudy: + - bugfix: MetaStation disposal pipes from Cargo to Disposals/the rest of the station + are working again. +2023-10-07: + CoiledLamb: + - qol: allows janitor keys to be stored in janitor wintercoats and janibets + - qol: gives empty fireaxe and mech removal crowbars cabinets directional helpers + GPeckman: + - bugfix: Borgs will no longer become permanently upside-down if tipped over by + multiple people at the same time. + - bugfix: Adminheal will now properly clear negative mutations as intended. + - bugfix: The AI can no longer turn you off if you shapeshift into a robot. + - rscadd: The laser carbine, a weak but fully automatic sidegrade to the normal + laser gun, can now be ordered from cargo. + - bugfix: Engineering borgs can no longer grab and drop their own iron/glass sheet + module. + - bugfix: Ice whelps can now use spells given to them by admins, and people who + have polymorphed into ice whelps can now polymorph back to normal. + Ghommie: + - bugfix: Fixed silent catwalks. + - rscadd: Fish analyzers can now be used to perform fish scanning experiments. + - balance: They can now be singularly bought as a goodie pack for 125 cr each, instead + of a crate of three for 500 cr. + Isratosh: + - spellcheck: '"offical" has been officially corrected to "official" in several + official locations.' + Jacquerel: + - refactor: Rust Walkers, Ash Spirits, Flesh Stalkers, and The Maid in the Mirror + now use the basic mob framework. Please report any unusual behaviour. + Kapu1178: + - bugfix: Blood once again appears as small drops instead of splatters during minor + bleeding. + Likteer: + - rscadd: Fake moustaches are now poorly slapped on top of what you're wearing + Melbert: + - refactor: Refactors how ethereals update their color when damaged. + - qol: AI, cyborg, and PAI camera (photo taking) behavior now uses balloon alerts + and has sound effects associated + - refactor: Refactored AI, cyborg, and PAI camera (photo taking) code + - bugfix: fixed being unable to print photos as a cyborg when below 50% toner, even + though photos only take 5% + ReezeBL: + - bugfix: fixed a PDA's messenger TGUI issue with handling of destroyed recipients. + Sealed101: + - bugfix: fixed bad food not having bad food reagents + necromanceranne: + - balance: Despite earlier reports suggesting that the famous lethality of the Regal + Condor was largely a myth, there has been rumors that the gun has once again + started to display its true killing potential on any station that it 'manifests'. + oranges: + - rscadd: Dogs now react to centrist grillers more realistically + san7890: + - refactor: Refactored goats into basic mobs! Not much should have changed beyond + their endless desire to retaliate should you attack them, they're still just + as good as chomping away plant life as ever. + timothymtorres: + - refactor: Refactor gib code to be more robust. + - qol: Gibbing a mob will result in all items being dropped instead of getting deleted. + There are a few exceptions (like admin gib self) where this will not take place. + unit0016: + - bugfix: It is no longer possible to chasm yourself on the geode. Again. diff --git a/icons/area/areas_station.dmi b/icons/area/areas_station.dmi index 3852363cd505b..cbfe463efa516 100644 Binary files a/icons/area/areas_station.dmi and b/icons/area/areas_station.dmi differ diff --git a/icons/effects/96x96.dmi b/icons/effects/96x96.dmi index 50b05b27a6de2..31f26c3e6e11e 100644 Binary files a/icons/effects/96x96.dmi and b/icons/effects/96x96.dmi differ diff --git a/icons/effects/beam.dmi b/icons/effects/beam.dmi index c7d3d8951e2ef..12e3ce9f7d594 100644 Binary files a/icons/effects/beam.dmi and b/icons/effects/beam.dmi differ diff --git a/icons/effects/bitrunning.dmi b/icons/effects/bitrunning.dmi new file mode 100644 index 0000000000000..bfdc7c63436c2 Binary files /dev/null and b/icons/effects/bitrunning.dmi differ diff --git a/icons/effects/blood.dmi b/icons/effects/blood.dmi index 36f30f74f1ffa..93f836f4c84bd 100644 Binary files a/icons/effects/blood.dmi and b/icons/effects/blood.dmi differ diff --git a/icons/effects/bubblegum.dmi b/icons/effects/bubblegum.dmi index acf8a3380cb6f..9760390744f8f 100644 Binary files a/icons/effects/bubblegum.dmi and b/icons/effects/bubblegum.dmi differ diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index 365d7576b6ef0..b01986a9522d0 100644 Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ diff --git a/icons/effects/eldritch.dmi b/icons/effects/eldritch.dmi index ebcbb397af08a..8b7738f3b46a0 100644 Binary files a/icons/effects/eldritch.dmi and b/icons/effects/eldritch.dmi differ diff --git a/icons/obj/fulton_balloon.dmi b/icons/effects/fulton_balloon.dmi similarity index 100% rename from icons/obj/fulton_balloon.dmi rename to icons/effects/fulton_balloon.dmi diff --git a/icons/effects/magic.dmi b/icons/effects/magic.dmi index 480332df1349c..9bcb886d8535e 100644 Binary files a/icons/effects/magic.dmi and b/icons/effects/magic.dmi differ diff --git a/icons/effects/mapping_helpers.dmi b/icons/effects/mapping_helpers.dmi index 24cbe62e3bb50..d28d2770ec4fb 100644 Binary files a/icons/effects/mapping_helpers.dmi and b/icons/effects/mapping_helpers.dmi differ diff --git a/icons/effects/mouse_pointers/light_drag.dmi b/icons/effects/mouse_pointers/light_drag.dmi new file mode 100644 index 0000000000000..a66d55b662b23 Binary files /dev/null and b/icons/effects/mouse_pointers/light_drag.dmi differ diff --git a/icons/effects/particles/echo.dmi b/icons/effects/particles/echo.dmi index a7a47e340d181..60a243a8a7bed 100644 Binary files a/icons/effects/particles/echo.dmi and b/icons/effects/particles/echo.dmi differ diff --git a/icons/effects/particles/generic.dmi b/icons/effects/particles/generic.dmi index 0e6a84a34b323..41776efdbfd5d 100644 Binary files a/icons/effects/particles/generic.dmi and b/icons/effects/particles/generic.dmi differ diff --git a/icons/effects/particles/goop.dmi b/icons/effects/particles/goop.dmi new file mode 100644 index 0000000000000..673c1a7ad5b6a Binary files /dev/null and b/icons/effects/particles/goop.dmi differ diff --git a/icons/effects/particles/stink.dmi b/icons/effects/particles/stink.dmi new file mode 100644 index 0000000000000..29b92acbe67c6 Binary files /dev/null and b/icons/effects/particles/stink.dmi differ diff --git a/icons/effects/progessbar.dmi b/icons/effects/progressbar.dmi similarity index 100% rename from icons/effects/progessbar.dmi rename to icons/effects/progressbar.dmi diff --git a/icons/effects/random_spawners.dmi b/icons/effects/random_spawners.dmi index 0e2dad78d7445..c03b196a13798 100644 Binary files a/icons/effects/random_spawners.dmi and b/icons/effects/random_spawners.dmi differ diff --git a/icons/effects/weather_effects.dmi b/icons/effects/weather_effects.dmi index 00083c464a24f..fa21b2d12eb63 100644 Binary files a/icons/effects/weather_effects.dmi and b/icons/effects/weather_effects.dmi differ diff --git a/icons/hud/fishing_hud.dmi b/icons/hud/fishing_hud.dmi new file mode 100644 index 0000000000000..58c478d071064 Binary files /dev/null and b/icons/hud/fishing_hud.dmi differ diff --git a/icons/obj/implants.dmi b/icons/hud/implants.dmi similarity index 100% rename from icons/obj/implants.dmi rename to icons/hud/implants.dmi diff --git a/icons/hud/lobby/background.dmi b/icons/hud/lobby/background.dmi index baae06fc1bd10..554543ecf3f72 100644 Binary files a/icons/hud/lobby/background.dmi and b/icons/hud/lobby/background.dmi differ diff --git a/icons/hud/lobby/bottom_buttons.dmi b/icons/hud/lobby/bottom_buttons.dmi index d0aa1228c7db3..6cbebb6e68ccb 100644 Binary files a/icons/hud/lobby/bottom_buttons.dmi and b/icons/hud/lobby/bottom_buttons.dmi differ diff --git a/icons/hud/lobby/collapse_expand.dmi b/icons/hud/lobby/collapse_expand.dmi new file mode 100644 index 0000000000000..133a096f94950 Binary files /dev/null and b/icons/hud/lobby/collapse_expand.dmi differ diff --git a/icons/hud/lobby/shutter.dmi b/icons/hud/lobby/shutter.dmi new file mode 100644 index 0000000000000..baecaca4217b4 Binary files /dev/null and b/icons/hud/lobby/shutter.dmi differ diff --git a/icons/hud/radial.dmi b/icons/hud/radial.dmi index 897cb3a872e29..f4c4ab7693e98 100644 Binary files a/icons/hud/radial.dmi and b/icons/hud/radial.dmi differ diff --git a/icons/hud/radial_fishing.dmi b/icons/hud/radial_fishing.dmi new file mode 100644 index 0000000000000..65fd55176b7c8 Binary files /dev/null and b/icons/hud/radial_fishing.dmi differ diff --git a/icons/hud/screen_alert.dmi b/icons/hud/screen_alert.dmi index 78421d72472f8..0fa8ec218500e 100644 Binary files a/icons/hud/screen_alert.dmi and b/icons/hud/screen_alert.dmi differ diff --git a/icons/hud/screen_alien.dmi b/icons/hud/screen_alien.dmi index 82d0ed2f9f9ee..21d7cde0b0383 100644 Binary files a/icons/hud/screen_alien.dmi and b/icons/hud/screen_alien.dmi differ diff --git a/icons/hud/screen_gen.dmi b/icons/hud/screen_gen.dmi index d80a2dbe762a9..1484e3f4042a9 100644 Binary files a/icons/hud/screen_gen.dmi and b/icons/hud/screen_gen.dmi differ diff --git a/icons/mecha/mech_construction.dmi b/icons/mecha/mech_construction.dmi deleted file mode 100644 index c0f5941233512..0000000000000 Binary files a/icons/mecha/mech_construction.dmi and /dev/null differ diff --git a/icons/mecha/mecha_equipment.dmi b/icons/mecha/mecha_equipment.dmi deleted file mode 100644 index 18d884df2ac21..0000000000000 Binary files a/icons/mecha/mecha_equipment.dmi and /dev/null differ diff --git a/icons/mob/actions/actions_AI.dmi b/icons/mob/actions/actions_AI.dmi index 9f900bb9b4d98..048793c607838 100644 Binary files a/icons/mob/actions/actions_AI.dmi and b/icons/mob/actions/actions_AI.dmi differ diff --git a/icons/mob/actions/actions_animal.dmi b/icons/mob/actions/actions_animal.dmi index 1fcda97922cf9..f3f9a667f2204 100644 Binary files a/icons/mob/actions/actions_animal.dmi and b/icons/mob/actions/actions_animal.dmi differ diff --git a/icons/mob/actions/actions_construction.dmi b/icons/mob/actions/actions_construction.dmi index 2b77c739f6090..da9a29733c549 100644 Binary files a/icons/mob/actions/actions_construction.dmi and b/icons/mob/actions/actions_construction.dmi differ diff --git a/icons/mob/actions/actions_ecult.dmi b/icons/mob/actions/actions_ecult.dmi index a684dd1fbe627..747b57949be82 100644 Binary files a/icons/mob/actions/actions_ecult.dmi and b/icons/mob/actions/actions_ecult.dmi differ diff --git a/icons/mob/actions/actions_mecha.dmi b/icons/mob/actions/actions_mecha.dmi index c621b21775b34..5ae25522434ef 100644 Binary files a/icons/mob/actions/actions_mecha.dmi and b/icons/mob/actions/actions_mecha.dmi differ diff --git a/icons/mob/actions/actions_mod.dmi b/icons/mob/actions/actions_mod.dmi index 84fcbc00dbbc3..f788de20194bd 100644 Binary files a/icons/mob/actions/actions_mod.dmi and b/icons/mob/actions/actions_mod.dmi differ diff --git a/icons/mob/actions/actions_silicon.dmi b/icons/mob/actions/actions_silicon.dmi index 7be634e9f6ca3..9c4b7ec7fbe85 100644 Binary files a/icons/mob/actions/actions_silicon.dmi and b/icons/mob/actions/actions_silicon.dmi differ diff --git a/icons/mob/actions/actions_spells.dmi b/icons/mob/actions/actions_spells.dmi index 9d657c6b88cfb..39ea58104173c 100644 Binary files a/icons/mob/actions/actions_spells.dmi and b/icons/mob/actions/actions_spells.dmi differ diff --git a/icons/mob/clothing/accessories.dmi b/icons/mob/clothing/accessories.dmi index e8fa54bce1202..2c6bf51072438 100644 Binary files a/icons/mob/clothing/accessories.dmi and b/icons/mob/clothing/accessories.dmi differ diff --git a/icons/mob/clothing/back.dmi b/icons/mob/clothing/back.dmi index e38c8ba662cbe..dc519380cfd7a 100644 Binary files a/icons/mob/clothing/back.dmi and b/icons/mob/clothing/back.dmi differ diff --git a/icons/mob/clothing/back/backpack.dmi b/icons/mob/clothing/back/backpack.dmi index b755a04c86ad9..bf5207d85c409 100644 Binary files a/icons/mob/clothing/back/backpack.dmi and b/icons/mob/clothing/back/backpack.dmi differ diff --git a/icons/mob/clothing/belt.dmi b/icons/mob/clothing/belt.dmi index e19f6a8b2e41c..9ed1f1652359a 100644 Binary files a/icons/mob/clothing/belt.dmi and b/icons/mob/clothing/belt.dmi differ diff --git a/icons/mob/clothing/belt_mirror.dmi b/icons/mob/clothing/belt_mirror.dmi index 3ecbdf6518bca..0c1b8457be7c3 100644 Binary files a/icons/mob/clothing/belt_mirror.dmi and b/icons/mob/clothing/belt_mirror.dmi differ diff --git a/icons/mob/clothing/eyes.dmi b/icons/mob/clothing/eyes.dmi index a2e0127053cc5..20bf4d18381fd 100644 Binary files a/icons/mob/clothing/eyes.dmi and b/icons/mob/clothing/eyes.dmi differ diff --git a/icons/mob/clothing/feet.dmi b/icons/mob/clothing/feet.dmi index 4a716ec657108..3a6faaf1ef8e6 100644 Binary files a/icons/mob/clothing/feet.dmi and b/icons/mob/clothing/feet.dmi differ diff --git a/icons/mob/clothing/head/chaplain.dmi b/icons/mob/clothing/head/chaplain.dmi index efb6ec3c9e908..100b7ee922fb9 100644 Binary files a/icons/mob/clothing/head/chaplain.dmi and b/icons/mob/clothing/head/chaplain.dmi differ diff --git a/icons/mob/clothing/head/costume.dmi b/icons/mob/clothing/head/costume.dmi index b578f32d00783..3c5ea17b19d15 100644 Binary files a/icons/mob/clothing/head/costume.dmi and b/icons/mob/clothing/head/costume.dmi differ diff --git a/icons/mob/clothing/head/hats.dmi b/icons/mob/clothing/head/hats.dmi index aa7f9fe6c8e40..abf2f9f18bd40 100644 Binary files a/icons/mob/clothing/head/hats.dmi and b/icons/mob/clothing/head/hats.dmi differ diff --git a/icons/mob/clothing/head/helmet.dmi b/icons/mob/clothing/head/helmet.dmi index 6cd082395b5bb..5b30ae65b8f23 100644 Binary files a/icons/mob/clothing/head/helmet.dmi and b/icons/mob/clothing/head/helmet.dmi differ diff --git a/icons/mob/clothing/head/hydroponics.dmi b/icons/mob/clothing/head/hydroponics.dmi index e592ad444bea4..b710efc3d7d90 100644 Binary files a/icons/mob/clothing/head/hydroponics.dmi and b/icons/mob/clothing/head/hydroponics.dmi differ diff --git a/icons/mob/clothing/head/pai_head.dmi b/icons/mob/clothing/head/pai_head.dmi index 0a04e7e8ab29e..e5dd4965d8b8d 100644 Binary files a/icons/mob/clothing/head/pai_head.dmi and b/icons/mob/clothing/head/pai_head.dmi differ diff --git a/icons/mob/clothing/head/pets_head.dmi b/icons/mob/clothing/head/pets_head.dmi index 19ce9ec467517..0f1e089c164eb 100644 Binary files a/icons/mob/clothing/head/pets_head.dmi and b/icons/mob/clothing/head/pets_head.dmi differ diff --git a/icons/mob/clothing/head/plasmaman_head.dmi b/icons/mob/clothing/head/plasmaman_head.dmi index 00385b5dd8188..1917ae7bcf538 100644 Binary files a/icons/mob/clothing/head/plasmaman_head.dmi and b/icons/mob/clothing/head/plasmaman_head.dmi differ diff --git a/icons/mob/clothing/head/spacehelm.dmi b/icons/mob/clothing/head/spacehelm.dmi index 693c1b0147d55..181e5eb2e6865 100644 Binary files a/icons/mob/clothing/head/spacehelm.dmi and b/icons/mob/clothing/head/spacehelm.dmi differ diff --git a/icons/mob/clothing/head/utility.dmi b/icons/mob/clothing/head/utility.dmi index 85b0b17b66b82..ada1b90c4b0be 100644 Binary files a/icons/mob/clothing/head/utility.dmi and b/icons/mob/clothing/head/utility.dmi differ diff --git a/icons/mob/clothing/head/winterhood.dmi b/icons/mob/clothing/head/winterhood.dmi index f85a687f30410..ba722a5a0f281 100644 Binary files a/icons/mob/clothing/head/winterhood.dmi and b/icons/mob/clothing/head/winterhood.dmi differ diff --git a/icons/mob/clothing/mask.dmi b/icons/mob/clothing/mask.dmi index 1a1a1c78d59d8..cbe6bc751c180 100644 Binary files a/icons/mob/clothing/mask.dmi and b/icons/mob/clothing/mask.dmi differ diff --git a/icons/mob/clothing/modsuit/mod_clothing.dmi b/icons/mob/clothing/modsuit/mod_clothing.dmi index 180a65f5cc939..537b1ffd3ebdd 100644 Binary files a/icons/mob/clothing/modsuit/mod_clothing.dmi and b/icons/mob/clothing/modsuit/mod_clothing.dmi differ diff --git a/icons/mob/clothing/modsuit/mod_modules.dmi b/icons/mob/clothing/modsuit/mod_modules.dmi index 1001ae77d2d65..3c41dac86b2d4 100644 Binary files a/icons/mob/clothing/modsuit/mod_modules.dmi and b/icons/mob/clothing/modsuit/mod_modules.dmi differ diff --git a/icons/mob/clothing/neck.dmi b/icons/mob/clothing/neck.dmi index 9f88697bbc608..03cf6a861c140 100644 Binary files a/icons/mob/clothing/neck.dmi and b/icons/mob/clothing/neck.dmi differ diff --git a/icons/mob/clothing/suits/armor.dmi b/icons/mob/clothing/suits/armor.dmi index 4d16599cd3164..d10ca4add997b 100644 Binary files a/icons/mob/clothing/suits/armor.dmi and b/icons/mob/clothing/suits/armor.dmi differ diff --git a/icons/mob/clothing/suits/chaplain.dmi b/icons/mob/clothing/suits/chaplain.dmi index 4b6368fb291d0..8806bf5f679b4 100644 Binary files a/icons/mob/clothing/suits/chaplain.dmi and b/icons/mob/clothing/suits/chaplain.dmi differ diff --git a/icons/mob/clothing/suits/costume.dmi b/icons/mob/clothing/suits/costume.dmi index d681e492d9eaa..bf4bbe310d2d7 100644 Binary files a/icons/mob/clothing/suits/costume.dmi and b/icons/mob/clothing/suits/costume.dmi differ diff --git a/icons/mob/clothing/suits/jacket.dmi b/icons/mob/clothing/suits/jacket.dmi index f9b7b5d31a20e..a6f25d91c59bf 100644 Binary files a/icons/mob/clothing/suits/jacket.dmi and b/icons/mob/clothing/suits/jacket.dmi differ diff --git a/icons/mob/clothing/suits/moth.dmi b/icons/mob/clothing/suits/moth.dmi index c79c4a4fae3ad..80182e5c647cf 100644 Binary files a/icons/mob/clothing/suits/moth.dmi and b/icons/mob/clothing/suits/moth.dmi differ diff --git a/icons/mob/clothing/suits/spacesuit.dmi b/icons/mob/clothing/suits/spacesuit.dmi index cb45a26556a60..4bc2d8cd7f9e1 100644 Binary files a/icons/mob/clothing/suits/spacesuit.dmi and b/icons/mob/clothing/suits/spacesuit.dmi differ diff --git a/icons/mob/clothing/suits/utility.dmi b/icons/mob/clothing/suits/utility.dmi index 6300eb8e06719..40216806f4f9f 100644 Binary files a/icons/mob/clothing/suits/utility.dmi and b/icons/mob/clothing/suits/utility.dmi differ diff --git a/icons/mob/clothing/suits/wintercoat.dmi b/icons/mob/clothing/suits/wintercoat.dmi index b720b31f38e97..9bcfca4d6a3a1 100644 Binary files a/icons/mob/clothing/suits/wintercoat.dmi and b/icons/mob/clothing/suits/wintercoat.dmi differ diff --git a/icons/mob/clothing/under/cargo.dmi b/icons/mob/clothing/under/cargo.dmi index 01b5ad6c99d6b..180f0e4ec876f 100644 Binary files a/icons/mob/clothing/under/cargo.dmi and b/icons/mob/clothing/under/cargo.dmi differ diff --git a/icons/mob/clothing/under/civilian.dmi b/icons/mob/clothing/under/civilian.dmi index 667d98b53619a..7283996c3b136 100644 Binary files a/icons/mob/clothing/under/civilian.dmi and b/icons/mob/clothing/under/civilian.dmi differ diff --git a/icons/mob/clothing/under/costume.dmi b/icons/mob/clothing/under/costume.dmi index efb8241ffa736..c8fd87f52726d 100644 Binary files a/icons/mob/clothing/under/costume.dmi and b/icons/mob/clothing/under/costume.dmi differ diff --git a/icons/mob/clothing/under/ethereal.dmi b/icons/mob/clothing/under/ethereal.dmi index f9bddd0d6513c..7447defec053a 100644 Binary files a/icons/mob/clothing/under/ethereal.dmi and b/icons/mob/clothing/under/ethereal.dmi differ diff --git a/icons/mob/clothing/under/plasmaman.dmi b/icons/mob/clothing/under/plasmaman.dmi index f154127f3fb75..fcc8f008cd7aa 100644 Binary files a/icons/mob/clothing/under/plasmaman.dmi and b/icons/mob/clothing/under/plasmaman.dmi differ diff --git a/icons/mob/clothing/under/rnd.dmi b/icons/mob/clothing/under/rnd.dmi index edc271a66a03f..27b4cac5a3f13 100644 Binary files a/icons/mob/clothing/under/rnd.dmi and b/icons/mob/clothing/under/rnd.dmi differ diff --git a/icons/mob/clothing/under/shorts_pants_shirts.dmi b/icons/mob/clothing/under/shorts_pants_shirts.dmi index 54c0a052b6a19..8a81dcf55dde6 100644 Binary files a/icons/mob/clothing/under/shorts_pants_shirts.dmi and b/icons/mob/clothing/under/shorts_pants_shirts.dmi differ diff --git a/icons/mob/clothing/under/suits.dmi b/icons/mob/clothing/under/suits.dmi index 16278b334144d..e3800e2bd04b8 100644 Binary files a/icons/mob/clothing/under/suits.dmi and b/icons/mob/clothing/under/suits.dmi differ diff --git a/icons/mecha/coop_mech.dmi b/icons/mob/coop_mech.dmi similarity index 100% rename from icons/mecha/coop_mech.dmi rename to icons/mob/coop_mech.dmi diff --git a/icons/mob/effects/debuff_overlays.dmi b/icons/mob/effects/debuff_overlays.dmi new file mode 100644 index 0000000000000..383ce22aabec7 Binary files /dev/null and b/icons/mob/effects/debuff_overlays.dmi differ diff --git a/icons/mecha/durand_shield.dmi b/icons/mob/effects/durand_shield.dmi similarity index 100% rename from icons/mecha/durand_shield.dmi rename to icons/mob/effects/durand_shield.dmi diff --git a/icons/obj/ethereal_crystal.dmi b/icons/mob/effects/ethereal_crystal.dmi similarity index 100% rename from icons/obj/ethereal_crystal.dmi rename to icons/mob/effects/ethereal_crystal.dmi diff --git a/icons/effects/genetics.dmi b/icons/mob/effects/genetics.dmi similarity index 100% rename from icons/effects/genetics.dmi rename to icons/mob/effects/genetics.dmi diff --git a/icons/mob/huds/hud.dmi b/icons/mob/huds/hud.dmi index ec9be118f5792..d71ba4b0940a6 100644 Binary files a/icons/mob/huds/hud.dmi and b/icons/mob/huds/hud.dmi differ diff --git a/icons/mob/human/bodyparts.dmi b/icons/mob/human/bodyparts.dmi new file mode 100644 index 0000000000000..7e804e894d213 Binary files /dev/null and b/icons/mob/human/bodyparts.dmi differ diff --git a/icons/mob/human/bodyparts_greyscale.dmi b/icons/mob/human/bodyparts_greyscale.dmi new file mode 100644 index 0000000000000..b87182b258b44 Binary files /dev/null and b/icons/mob/human/bodyparts_greyscale.dmi differ diff --git a/icons/mob/species/human/cat_features.dmi b/icons/mob/human/cat_features.dmi similarity index 100% rename from icons/mob/species/human/cat_features.dmi rename to icons/mob/human/cat_features.dmi diff --git a/icons/mob/human/emote_visuals.dmi b/icons/mob/human/emote_visuals.dmi new file mode 100644 index 0000000000000..8a29603850f4f Binary files /dev/null and b/icons/mob/human/emote_visuals.dmi differ diff --git a/icons/mob/species/human/fox_features.dmi b/icons/mob/human/fox_features.dmi similarity index 100% rename from icons/mob/species/human/fox_features.dmi rename to icons/mob/human/fox_features.dmi diff --git a/icons/mob/human/human.dmi b/icons/mob/human/human.dmi new file mode 100644 index 0000000000000..7532655b5277d Binary files /dev/null and b/icons/mob/human/human.dmi differ diff --git a/icons/mob/human/human_face.dmi b/icons/mob/human/human_face.dmi new file mode 100644 index 0000000000000..6985cf07eee49 Binary files /dev/null and b/icons/mob/human/human_face.dmi differ diff --git a/icons/mob/species/human/mannequin.dmi b/icons/mob/human/mannequin.dmi similarity index 100% rename from icons/mob/species/human/mannequin.dmi rename to icons/mob/human/mannequin.dmi diff --git a/icons/mob/species/alien/bodyparts.dmi b/icons/mob/human/species/alien/bodyparts.dmi similarity index 100% rename from icons/mob/species/alien/bodyparts.dmi rename to icons/mob/human/species/alien/bodyparts.dmi diff --git a/icons/mob/human/species/ethereal/bodyparts.dmi b/icons/mob/human/species/ethereal/bodyparts.dmi new file mode 100644 index 0000000000000..cec48973c712d Binary files /dev/null and b/icons/mob/human/species/ethereal/bodyparts.dmi differ diff --git a/icons/mob/species/golems.dmi b/icons/mob/human/species/golems.dmi similarity index 100% rename from icons/mob/species/golems.dmi rename to icons/mob/human/species/golems.dmi diff --git a/icons/mob/human/species/hair_gradients.dmi b/icons/mob/human/species/hair_gradients.dmi new file mode 100644 index 0000000000000..a5b36fab6a2f0 Binary files /dev/null and b/icons/mob/human/species/hair_gradients.dmi differ diff --git a/icons/mob/species/lizard/bodyparts.dmi b/icons/mob/human/species/lizard/bodyparts.dmi similarity index 100% rename from icons/mob/species/lizard/bodyparts.dmi rename to icons/mob/human/species/lizard/bodyparts.dmi diff --git a/icons/mob/species/lizard/lizard_misc.dmi b/icons/mob/human/species/lizard/lizard_misc.dmi similarity index 100% rename from icons/mob/species/lizard/lizard_misc.dmi rename to icons/mob/human/species/lizard/lizard_misc.dmi diff --git a/icons/mob/species/lizard/lizard_spines.dmi b/icons/mob/human/species/lizard/lizard_spines.dmi similarity index 100% rename from icons/mob/species/lizard/lizard_spines.dmi rename to icons/mob/human/species/lizard/lizard_spines.dmi diff --git a/icons/mob/species/lizard/lizard_tails.dmi b/icons/mob/human/species/lizard/lizard_tails.dmi similarity index 100% rename from icons/mob/species/lizard/lizard_tails.dmi rename to icons/mob/human/species/lizard/lizard_tails.dmi diff --git a/icons/mob/human/species/misc/bodypart_overlay_simple.dmi b/icons/mob/human/species/misc/bodypart_overlay_simple.dmi new file mode 100644 index 0000000000000..55fb5c40a842a Binary files /dev/null and b/icons/mob/human/species/misc/bodypart_overlay_simple.dmi differ diff --git a/icons/mob/human/species/misc/digitigrade.dmi b/icons/mob/human/species/misc/digitigrade.dmi new file mode 100644 index 0000000000000..e0d20013abe51 Binary files /dev/null and b/icons/mob/human/species/misc/digitigrade.dmi differ diff --git a/icons/mob/species/monkey/bodyparts.dmi b/icons/mob/human/species/monkey/bodyparts.dmi similarity index 100% rename from icons/mob/species/monkey/bodyparts.dmi rename to icons/mob/human/species/monkey/bodyparts.dmi diff --git a/icons/mob/species/monkey/monkey_tail.dmi b/icons/mob/human/species/monkey/monkey_tail.dmi similarity index 100% rename from icons/mob/species/monkey/monkey_tail.dmi rename to icons/mob/human/species/monkey/monkey_tail.dmi diff --git a/icons/mob/species/monkey/uniform.dmi b/icons/mob/human/species/monkey/uniform.dmi similarity index 100% rename from icons/mob/species/monkey/uniform.dmi rename to icons/mob/human/species/monkey/uniform.dmi diff --git a/icons/mob/species/moth/bodyparts.dmi b/icons/mob/human/species/moth/bodyparts.dmi similarity index 100% rename from icons/mob/species/moth/bodyparts.dmi rename to icons/mob/human/species/moth/bodyparts.dmi diff --git a/icons/mob/species/moth/moth_antennae.dmi b/icons/mob/human/species/moth/moth_antennae.dmi similarity index 100% rename from icons/mob/species/moth/moth_antennae.dmi rename to icons/mob/human/species/moth/moth_antennae.dmi diff --git a/icons/mob/species/moth/moth_markings.dmi b/icons/mob/human/species/moth/moth_markings.dmi similarity index 100% rename from icons/mob/species/moth/moth_markings.dmi rename to icons/mob/human/species/moth/moth_markings.dmi diff --git a/icons/mob/species/moth/moth_wings.dmi b/icons/mob/human/species/moth/moth_wings.dmi similarity index 100% rename from icons/mob/species/moth/moth_wings.dmi rename to icons/mob/human/species/moth/moth_wings.dmi diff --git a/icons/mob/species/mush_cap.dmi b/icons/mob/human/species/mush_cap.dmi similarity index 100% rename from icons/mob/species/mush_cap.dmi rename to icons/mob/human/species/mush_cap.dmi diff --git a/icons/mob/species/plasmaman/bodyparts.dmi b/icons/mob/human/species/plasmaman/bodyparts.dmi similarity index 100% rename from icons/mob/species/plasmaman/bodyparts.dmi rename to icons/mob/human/species/plasmaman/bodyparts.dmi diff --git a/icons/mob/species/podperson_hair.dmi b/icons/mob/human/species/podperson_hair.dmi similarity index 100% rename from icons/mob/species/podperson_hair.dmi rename to icons/mob/human/species/podperson_hair.dmi diff --git a/icons/mob/human/species/wings.dmi b/icons/mob/human/species/wings.dmi new file mode 100644 index 0000000000000..26e8b011fce2a Binary files /dev/null and b/icons/mob/human/species/wings.dmi differ diff --git a/icons/mob/inhands/64x64_lefthand.dmi b/icons/mob/inhands/64x64_lefthand.dmi index 61d8948a98f61..8a6bab6977667 100644 Binary files a/icons/mob/inhands/64x64_lefthand.dmi and b/icons/mob/inhands/64x64_lefthand.dmi differ diff --git a/icons/mob/inhands/64x64_righthand.dmi b/icons/mob/inhands/64x64_righthand.dmi index 9d3f6e679d09d..251458590bdd4 100644 Binary files a/icons/mob/inhands/64x64_righthand.dmi and b/icons/mob/inhands/64x64_righthand.dmi differ diff --git a/icons/mob/inhands/animal_item_lefthand.dmi b/icons/mob/inhands/animal_item_lefthand.dmi index 7dbb3ebb43c20..912f53a02e9af 100644 Binary files a/icons/mob/inhands/animal_item_lefthand.dmi and b/icons/mob/inhands/animal_item_lefthand.dmi differ diff --git a/icons/mob/inhands/animal_item_righthand.dmi b/icons/mob/inhands/animal_item_righthand.dmi index 13dea9791da9d..98ca1ddea2cb1 100644 Binary files a/icons/mob/inhands/animal_item_righthand.dmi and b/icons/mob/inhands/animal_item_righthand.dmi differ diff --git a/icons/mob/inhands/clothing/hats_lefthand.dmi b/icons/mob/inhands/clothing/hats_lefthand.dmi index e0f246140aead..191c85cf4825c 100644 Binary files a/icons/mob/inhands/clothing/hats_lefthand.dmi and b/icons/mob/inhands/clothing/hats_lefthand.dmi differ diff --git a/icons/mob/inhands/clothing/hats_righthand.dmi b/icons/mob/inhands/clothing/hats_righthand.dmi index a7d3c60f5f3a3..8038e7474ee87 100644 Binary files a/icons/mob/inhands/clothing/hats_righthand.dmi and b/icons/mob/inhands/clothing/hats_righthand.dmi differ diff --git a/icons/mob/inhands/clothing/suits_lefthand.dmi b/icons/mob/inhands/clothing/suits_lefthand.dmi index 757fb8b8593c7..8b9fa5256a932 100644 Binary files a/icons/mob/inhands/clothing/suits_lefthand.dmi and b/icons/mob/inhands/clothing/suits_lefthand.dmi differ diff --git a/icons/mob/inhands/clothing/suits_righthand.dmi b/icons/mob/inhands/clothing/suits_righthand.dmi index c749a2ed98a8e..c88f4d224444f 100644 Binary files a/icons/mob/inhands/clothing/suits_righthand.dmi and b/icons/mob/inhands/clothing/suits_righthand.dmi differ diff --git a/icons/mob/inhands/equipment/backpack_lefthand.dmi b/icons/mob/inhands/equipment/backpack_lefthand.dmi index 2ce92c864b9e8..e1cdb33c4b710 100644 Binary files a/icons/mob/inhands/equipment/backpack_lefthand.dmi and b/icons/mob/inhands/equipment/backpack_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/backpack_righthand.dmi b/icons/mob/inhands/equipment/backpack_righthand.dmi index 004561c77f1ff..31bdf51e7e057 100644 Binary files a/icons/mob/inhands/equipment/backpack_righthand.dmi and b/icons/mob/inhands/equipment/backpack_righthand.dmi differ diff --git a/icons/mob/inhands/equipment/idcards_lefthand.dmi b/icons/mob/inhands/equipment/idcards_lefthand.dmi index 53b40584e7bae..90b96bd4d47a6 100644 Binary files a/icons/mob/inhands/equipment/idcards_lefthand.dmi and b/icons/mob/inhands/equipment/idcards_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/idcards_righthand.dmi b/icons/mob/inhands/equipment/idcards_righthand.dmi index 19a6f77c28381..a4b0ec4bb746c 100644 Binary files a/icons/mob/inhands/equipment/idcards_righthand.dmi and b/icons/mob/inhands/equipment/idcards_righthand.dmi differ diff --git a/icons/mob/inhands/equipment/medical_lefthand.dmi b/icons/mob/inhands/equipment/medical_lefthand.dmi index 76e8d4e4efc99..feaed1690786e 100644 Binary files a/icons/mob/inhands/equipment/medical_lefthand.dmi and b/icons/mob/inhands/equipment/medical_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/medical_righthand.dmi b/icons/mob/inhands/equipment/medical_righthand.dmi index 43b46c1d7ee90..15ccf5c090e59 100644 Binary files a/icons/mob/inhands/equipment/medical_righthand.dmi and b/icons/mob/inhands/equipment/medical_righthand.dmi differ diff --git a/icons/mob/inhands/equipment/tanks_lefthand.dmi b/icons/mob/inhands/equipment/tanks_lefthand.dmi index 300d3c4740d18..dc32e285237a0 100644 Binary files a/icons/mob/inhands/equipment/tanks_lefthand.dmi and b/icons/mob/inhands/equipment/tanks_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/tanks_righthand.dmi b/icons/mob/inhands/equipment/tanks_righthand.dmi index 3b19be6259803..30f2233c5ace9 100644 Binary files a/icons/mob/inhands/equipment/tanks_righthand.dmi and b/icons/mob/inhands/equipment/tanks_righthand.dmi differ diff --git a/icons/mob/inhands/equipment/toolbox_lefthand.dmi b/icons/mob/inhands/equipment/toolbox_lefthand.dmi index a7084eec22db2..e3aca82d9e839 100644 Binary files a/icons/mob/inhands/equipment/toolbox_lefthand.dmi and b/icons/mob/inhands/equipment/toolbox_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/toolbox_righthand.dmi b/icons/mob/inhands/equipment/toolbox_righthand.dmi index b8310913e94ab..a7b538a130002 100644 Binary files a/icons/mob/inhands/equipment/toolbox_righthand.dmi and b/icons/mob/inhands/equipment/toolbox_righthand.dmi differ diff --git a/icons/mob/inhands/fish_lefthand.dmi b/icons/mob/inhands/fish_lefthand.dmi new file mode 100644 index 0000000000000..f5aeef6202713 Binary files /dev/null and b/icons/mob/inhands/fish_lefthand.dmi differ diff --git a/icons/mob/inhands/fish_righthand.dmi b/icons/mob/inhands/fish_righthand.dmi new file mode 100644 index 0000000000000..d9c23c3d1b19e Binary files /dev/null and b/icons/mob/inhands/fish_righthand.dmi differ diff --git a/icons/mob/inhands/items/drinks_lefthand.dmi b/icons/mob/inhands/items/drinks_lefthand.dmi index 6d7cc042f7723..fb2d9c22dd491 100644 Binary files a/icons/mob/inhands/items/drinks_lefthand.dmi and b/icons/mob/inhands/items/drinks_lefthand.dmi differ diff --git a/icons/mob/inhands/items/drinks_righthand.dmi b/icons/mob/inhands/items/drinks_righthand.dmi index 02756cb644832..13f9dc0a0264d 100644 Binary files a/icons/mob/inhands/items/drinks_righthand.dmi and b/icons/mob/inhands/items/drinks_righthand.dmi differ diff --git a/icons/mob/inhands/items/food_lefthand.dmi b/icons/mob/inhands/items/food_lefthand.dmi index f1062e114e82c..934c2fcd04583 100644 Binary files a/icons/mob/inhands/items/food_lefthand.dmi and b/icons/mob/inhands/items/food_lefthand.dmi differ diff --git a/icons/mob/inhands/items/food_righthand.dmi b/icons/mob/inhands/items/food_righthand.dmi index dbdfebd90cb4f..f49835a3a7bac 100644 Binary files a/icons/mob/inhands/items/food_righthand.dmi and b/icons/mob/inhands/items/food_righthand.dmi differ diff --git a/icons/mob/inhands/items/plushes_lefthand.dmi b/icons/mob/inhands/items/plushes_lefthand.dmi new file mode 100644 index 0000000000000..01fa1e7a2ed07 Binary files /dev/null and b/icons/mob/inhands/items/plushes_lefthand.dmi differ diff --git a/icons/mob/inhands/items/plushes_righthand.dmi b/icons/mob/inhands/items/plushes_righthand.dmi new file mode 100644 index 0000000000000..99dd1d01044fb Binary files /dev/null and b/icons/mob/inhands/items/plushes_righthand.dmi differ diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index 113fd372586d2..f544eeb753a81 100644 Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index 344568b8e2261..85c6accc80c36 100644 Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ diff --git a/icons/mob/inhands/weapons/64x_guns_left.dmi b/icons/mob/inhands/weapons/64x_guns_left.dmi index 83f9b02b57217..0378a60405792 100644 Binary files a/icons/mob/inhands/weapons/64x_guns_left.dmi and b/icons/mob/inhands/weapons/64x_guns_left.dmi differ diff --git a/icons/mob/inhands/weapons/64x_guns_right.dmi b/icons/mob/inhands/weapons/64x_guns_right.dmi index 4e804c53d725f..50fa2342d2a55 100644 Binary files a/icons/mob/inhands/weapons/64x_guns_right.dmi and b/icons/mob/inhands/weapons/64x_guns_right.dmi differ diff --git a/icons/mob/inhands/weapons/guns_lefthand.dmi b/icons/mob/inhands/weapons/guns_lefthand.dmi index e866650e19f64..013e6e4745854 100644 Binary files a/icons/mob/inhands/weapons/guns_lefthand.dmi and b/icons/mob/inhands/weapons/guns_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/guns_righthand.dmi b/icons/mob/inhands/weapons/guns_righthand.dmi index 2aca6d31727cf..14bf9e762c753 100644 Binary files a/icons/mob/inhands/weapons/guns_righthand.dmi and b/icons/mob/inhands/weapons/guns_righthand.dmi differ diff --git a/icons/mob/inhands/weapons/staves_lefthand.dmi b/icons/mob/inhands/weapons/staves_lefthand.dmi index 82c552b503824..6e34949c9d561 100644 Binary files a/icons/mob/inhands/weapons/staves_lefthand.dmi and b/icons/mob/inhands/weapons/staves_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/staves_righthand.dmi b/icons/mob/inhands/weapons/staves_righthand.dmi index 769709f53da1e..df52d4d419876 100644 Binary files a/icons/mob/inhands/weapons/staves_righthand.dmi and b/icons/mob/inhands/weapons/staves_righthand.dmi differ diff --git a/icons/mob/inhands/weapons/swords_lefthand.dmi b/icons/mob/inhands/weapons/swords_lefthand.dmi index b9825c07859b3..98a037e5c8ea0 100644 Binary files a/icons/mob/inhands/weapons/swords_lefthand.dmi and b/icons/mob/inhands/weapons/swords_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/swords_righthand.dmi b/icons/mob/inhands/weapons/swords_righthand.dmi index 297221ed1dd0e..b60f65194d57a 100644 Binary files a/icons/mob/inhands/weapons/swords_righthand.dmi and b/icons/mob/inhands/weapons/swords_righthand.dmi differ diff --git a/icons/mecha/mech_construct.dmi b/icons/mob/mech_construct.dmi similarity index 100% rename from icons/mecha/mech_construct.dmi rename to icons/mob/mech_construct.dmi diff --git a/icons/mob/mech_construction.dmi b/icons/mob/mech_construction.dmi new file mode 100644 index 0000000000000..b7b54e3f70e85 Binary files /dev/null and b/icons/mob/mech_construction.dmi differ diff --git a/icons/mecha/mecha.dmi b/icons/mob/mecha.dmi similarity index 100% rename from icons/mecha/mecha.dmi rename to icons/mob/mecha.dmi diff --git a/icons/mecha/mecha_ammo.dmi b/icons/mob/mecha_ammo.dmi similarity index 100% rename from icons/mecha/mecha_ammo.dmi rename to icons/mob/mecha_ammo.dmi diff --git a/icons/mob/mecha_equipment.dmi b/icons/mob/mecha_equipment.dmi new file mode 100644 index 0000000000000..18fe707cafe6e Binary files /dev/null and b/icons/mob/mecha_equipment.dmi differ diff --git a/icons/mob/nonhuman-player/96x96eldritch_mobs.dmi b/icons/mob/nonhuman-player/96x96eldritch_mobs.dmi index c20779ff24696..4bbc55c15dd8f 100644 Binary files a/icons/mob/nonhuman-player/96x96eldritch_mobs.dmi and b/icons/mob/nonhuman-player/96x96eldritch_mobs.dmi differ diff --git a/icons/mob/pets.dmi b/icons/mob/pets.dmi index e7009cfce330b..7c6800d602de3 100644 Binary files a/icons/mob/pets.dmi and b/icons/mob/pets.dmi differ diff --git a/icons/mob/shells.dmi b/icons/mob/shells.dmi new file mode 100644 index 0000000000000..eeff196707175 Binary files /dev/null and b/icons/mob/shells.dmi differ diff --git a/icons/mob/silicon/ai.dmi b/icons/mob/silicon/ai.dmi index 6ccceff86d9c7..df9059fb09e6a 100644 Binary files a/icons/mob/silicon/ai.dmi and b/icons/mob/silicon/ai.dmi differ diff --git a/icons/mob/silicon/pai.dmi b/icons/mob/silicon/pai.dmi index 624ed66951948..2be986d411dbe 100644 Binary files a/icons/mob/silicon/pai.dmi and b/icons/mob/silicon/pai.dmi differ diff --git a/icons/mob/simple/animal.dmi b/icons/mob/simple/animal.dmi index 53b768357358d..8e3affff4a90a 100644 Binary files a/icons/mob/simple/animal.dmi and b/icons/mob/simple/animal.dmi differ diff --git a/icons/mob/simple/arachnoid.dmi b/icons/mob/simple/arachnoid.dmi new file mode 100644 index 0000000000000..fca53195d4c06 Binary files /dev/null and b/icons/mob/simple/arachnoid.dmi differ diff --git a/icons/mob/simple/carp.dmi b/icons/mob/simple/carp.dmi index 02aadf91498f7..1be59c43ecb6e 100644 Binary files a/icons/mob/simple/carp.dmi and b/icons/mob/simple/carp.dmi differ diff --git a/icons/mob/simple/corgi_head.dmi b/icons/mob/simple/corgi_head.dmi index 1ee6a99964478..2e14a3ed0bb5d 100644 Binary files a/icons/mob/simple/corgi_head.dmi and b/icons/mob/simple/corgi_head.dmi differ diff --git a/icons/mob/simple/demon.dmi b/icons/mob/simple/demon.dmi new file mode 100644 index 0000000000000..1397a1f4f245d Binary files /dev/null and b/icons/mob/simple/demon.dmi differ diff --git a/icons/mob/simple/icemoon/icemoon_monsters.dmi b/icons/mob/simple/icemoon/icemoon_monsters.dmi index 9240b9bca44bf..6b05cf64580a3 100644 Binary files a/icons/mob/simple/icemoon/icemoon_monsters.dmi and b/icons/mob/simple/icemoon/icemoon_monsters.dmi differ diff --git a/icons/mob/simple/jungle/seedling.dmi b/icons/mob/simple/jungle/seedling.dmi index 01e91c6c292c2..c4a76ebb2d1c3 100644 Binary files a/icons/mob/simple/jungle/seedling.dmi and b/icons/mob/simple/jungle/seedling.dmi differ diff --git a/icons/mob/simple/lavaland/lavaland_monsters.dmi b/icons/mob/simple/lavaland/lavaland_monsters.dmi index 4e074a70eeacc..38b78cf468f1f 100644 Binary files a/icons/mob/simple/lavaland/lavaland_monsters.dmi and b/icons/mob/simple/lavaland/lavaland_monsters.dmi differ diff --git a/icons/mob/simple/lavaland/lavaland_monsters_wide.dmi b/icons/mob/simple/lavaland/lavaland_monsters_wide.dmi index 6142b5069d71c..2be68ef4c6696 100644 Binary files a/icons/mob/simple/lavaland/lavaland_monsters_wide.dmi and b/icons/mob/simple/lavaland/lavaland_monsters_wide.dmi differ diff --git a/icons/mob/simple/mob.dmi b/icons/mob/simple/mob.dmi index 566511042f497..e8fb3c59b8fbe 100644 Binary files a/icons/mob/simple/mob.dmi and b/icons/mob/simple/mob.dmi differ diff --git a/icons/mob/simple/penguins.dmi b/icons/mob/simple/penguins.dmi index c7417f89b4a22..23f20619a7aeb 100644 Binary files a/icons/mob/simple/penguins.dmi and b/icons/mob/simple/penguins.dmi differ diff --git a/icons/mob/simple/pets.dmi b/icons/mob/simple/pets.dmi index b35d033f84d1c..78212b93c769e 100644 Binary files a/icons/mob/simple/pets.dmi and b/icons/mob/simple/pets.dmi differ diff --git a/icons/mob/simple/simple_human.dmi b/icons/mob/simple/simple_human.dmi index 821ccab33a933..b74013900df7c 100644 Binary files a/icons/mob/simple/simple_human.dmi and b/icons/mob/simple/simple_human.dmi differ diff --git a/icons/effects/spacevines.dmi b/icons/mob/spacevines.dmi similarity index 100% rename from icons/effects/spacevines.dmi rename to icons/mob/spacevines.dmi diff --git a/icons/mob/species/ethereal/bodyparts.dmi b/icons/mob/species/ethereal/bodyparts.dmi deleted file mode 100644 index d063c92b74672..0000000000000 Binary files a/icons/mob/species/ethereal/bodyparts.dmi and /dev/null differ diff --git a/icons/mob/species/hair_gradients.dmi b/icons/mob/species/hair_gradients.dmi deleted file mode 100644 index f494fdac0da57..0000000000000 Binary files a/icons/mob/species/hair_gradients.dmi and /dev/null differ diff --git a/icons/mob/species/human/bodyparts.dmi b/icons/mob/species/human/bodyparts.dmi deleted file mode 100644 index ec53e63d36797..0000000000000 Binary files a/icons/mob/species/human/bodyparts.dmi and /dev/null differ diff --git a/icons/mob/species/human/bodyparts_greyscale.dmi b/icons/mob/species/human/bodyparts_greyscale.dmi deleted file mode 100644 index fff4624f1932c..0000000000000 Binary files a/icons/mob/species/human/bodyparts_greyscale.dmi and /dev/null differ diff --git a/icons/mob/species/human/emote_visuals.dmi b/icons/mob/species/human/emote_visuals.dmi deleted file mode 100644 index 66256491ea938..0000000000000 Binary files a/icons/mob/species/human/emote_visuals.dmi and /dev/null differ diff --git a/icons/mob/species/human/human.dmi b/icons/mob/species/human/human.dmi deleted file mode 100644 index 7e576e90404e9..0000000000000 Binary files a/icons/mob/species/human/human.dmi and /dev/null differ diff --git a/icons/mob/species/human/human_face.dmi b/icons/mob/species/human/human_face.dmi deleted file mode 100644 index f4e52c8c5d1f1..0000000000000 Binary files a/icons/mob/species/human/human_face.dmi and /dev/null differ diff --git a/icons/mob/species/misc/bodypart_overlay_simple.dmi b/icons/mob/species/misc/bodypart_overlay_simple.dmi deleted file mode 100644 index 2bc1dda5663ab..0000000000000 Binary files a/icons/mob/species/misc/bodypart_overlay_simple.dmi and /dev/null differ diff --git a/icons/mob/species/misc/digitigrade.dmi b/icons/mob/species/misc/digitigrade.dmi deleted file mode 100644 index ce246d0d8d725..0000000000000 Binary files a/icons/mob/species/misc/digitigrade.dmi and /dev/null differ diff --git a/icons/mob/species/wings.dmi b/icons/mob/species/wings.dmi deleted file mode 100644 index 0cc2b1224fae4..0000000000000 Binary files a/icons/mob/species/wings.dmi and /dev/null differ diff --git a/icons/mob/telegraphing/telegraph.dmi b/icons/mob/telegraphing/telegraph.dmi index 4d9e55d534f09..de525ead4ee9a 100644 Binary files a/icons/mob/telegraphing/telegraph.dmi and b/icons/mob/telegraphing/telegraph.dmi differ diff --git a/icons/obj/aicards.dmi b/icons/obj/aicards.dmi index 86501e4b43b3f..2de7da5f6c88a 100644 Binary files a/icons/obj/aicards.dmi and b/icons/obj/aicards.dmi differ diff --git a/icons/obj/airlock_machines.dmi b/icons/obj/airlock_machines.dmi deleted file mode 100644 index e28fde84f0fc4..0000000000000 Binary files a/icons/obj/airlock_machines.dmi and /dev/null differ diff --git a/icons/obj/anomaly.dmi b/icons/obj/anomaly.dmi new file mode 100644 index 0000000000000..ad712e290fb7e Binary files /dev/null and b/icons/obj/anomaly.dmi differ diff --git a/icons/obj/abductor.dmi b/icons/obj/antags/abductor.dmi similarity index 88% rename from icons/obj/abductor.dmi rename to icons/obj/antags/abductor.dmi index 98792bfeb5de6..0045d4b2398a2 100644 Binary files a/icons/obj/abductor.dmi and b/icons/obj/antags/abductor.dmi differ diff --git a/icons/obj/contractor_tablet.dmi b/icons/obj/antags/contractor_tablet.dmi similarity index 100% rename from icons/obj/contractor_tablet.dmi rename to icons/obj/antags/contractor_tablet.dmi diff --git a/icons/obj/antags/cult/items.dmi b/icons/obj/antags/cult/items.dmi new file mode 100644 index 0000000000000..9a3435dcd833e Binary files /dev/null and b/icons/obj/antags/cult/items.dmi differ diff --git a/icons/obj/cult/narsie.dmi b/icons/obj/antags/cult/narsie.dmi similarity index 100% rename from icons/obj/cult/narsie.dmi rename to icons/obj/antags/cult/narsie.dmi diff --git a/icons/obj/cult/narsie_small.dmi b/icons/obj/antags/cult/narsie_small.dmi similarity index 100% rename from icons/obj/cult/narsie_small.dmi rename to icons/obj/antags/cult/narsie_small.dmi diff --git a/icons/obj/rune.dmi b/icons/obj/antags/cult/rune.dmi similarity index 100% rename from icons/obj/rune.dmi rename to icons/obj/antags/cult/rune.dmi diff --git a/icons/obj/cult/structures.dmi b/icons/obj/antags/cult/structures.dmi similarity index 100% rename from icons/obj/cult/structures.dmi rename to icons/obj/antags/cult/structures.dmi diff --git a/icons/obj/antags/eldritch.dmi b/icons/obj/antags/eldritch.dmi new file mode 100644 index 0000000000000..d59bf3dbdeb18 Binary files /dev/null and b/icons/obj/antags/eldritch.dmi differ diff --git a/icons/obj/gang/actions.dmi b/icons/obj/antags/gang/actions.dmi similarity index 100% rename from icons/obj/gang/actions.dmi rename to icons/obj/antags/gang/actions.dmi diff --git a/icons/obj/gang/cell_phone.dmi b/icons/obj/antags/gang/cell_phone.dmi similarity index 100% rename from icons/obj/gang/cell_phone.dmi rename to icons/obj/antags/gang/cell_phone.dmi diff --git a/icons/obj/gang/signup_points.dmi b/icons/obj/antags/gang/signup_points.dmi similarity index 100% rename from icons/obj/gang/signup_points.dmi rename to icons/obj/antags/gang/signup_points.dmi diff --git a/icons/obj/gang/tags.dmi b/icons/obj/antags/gang/tags.dmi similarity index 100% rename from icons/obj/gang/tags.dmi rename to icons/obj/antags/gang/tags.dmi diff --git a/icons/obj/gang/wanted_160x32.dmi b/icons/obj/antags/gang/wanted_160x32.dmi similarity index 100% rename from icons/obj/gang/wanted_160x32.dmi rename to icons/obj/antags/gang/wanted_160x32.dmi diff --git a/icons/obj/antags/syndicate_tools.dmi b/icons/obj/antags/syndicate_tools.dmi new file mode 100644 index 0000000000000..05a4c405d7df9 Binary files /dev/null and b/icons/obj/antags/syndicate_tools.dmi differ diff --git a/icons/obj/aquarium.dmi b/icons/obj/aquarium.dmi index b5de3de4e92e2..19e2e68c4f8f3 100644 Binary files a/icons/obj/aquarium.dmi and b/icons/obj/aquarium.dmi differ diff --git a/icons/obj/aquarium_wide.dmi b/icons/obj/aquarium_wide.dmi new file mode 100644 index 0000000000000..7c5f941a1db37 Binary files /dev/null and b/icons/obj/aquarium_wide.dmi differ diff --git a/icons/obj/weapons/horn.dmi b/icons/obj/art/horn.dmi similarity index 100% rename from icons/obj/weapons/horn.dmi rename to icons/obj/art/horn.dmi diff --git a/icons/obj/art/musician.dmi b/icons/obj/art/musician.dmi index 22e5a24ba54da..6f98eb0d7b0a6 100644 Binary files a/icons/obj/art/musician.dmi and b/icons/obj/art/musician.dmi differ diff --git a/icons/obj/assemblies/assemblies.dmi b/icons/obj/assemblies/assemblies.dmi index 903449726cf06..aa3476eea725f 100644 Binary files a/icons/obj/assemblies/assemblies.dmi and b/icons/obj/assemblies/assemblies.dmi differ diff --git a/icons/obj/module.dmi b/icons/obj/assemblies/module.dmi similarity index 100% rename from icons/obj/module.dmi rename to icons/obj/assemblies/module.dmi diff --git a/icons/obj/assemblies/stock_parts.dmi b/icons/obj/assemblies/stock_parts.dmi new file mode 100644 index 0000000000000..6b2353b80ddb5 Binary files /dev/null and b/icons/obj/assemblies/stock_parts.dmi differ diff --git a/icons/obj/atmospherics/pipes/disposal.dmi b/icons/obj/atmospherics/pipes/disposal.dmi deleted file mode 100644 index 450d8e8f8abf9..0000000000000 Binary files a/icons/obj/atmospherics/pipes/disposal.dmi and /dev/null differ diff --git a/icons/obj/atmospherics/pipes/transit_tube.dmi b/icons/obj/atmospherics/pipes/transit_tube.dmi deleted file mode 100644 index 966e20d68415a..0000000000000 Binary files a/icons/obj/atmospherics/pipes/transit_tube.dmi and /dev/null differ diff --git a/icons/obj/atmospherics/tank.dmi b/icons/obj/atmospherics/tank.dmi deleted file mode 100644 index b8bdeed9d98c7..0000000000000 Binary files a/icons/obj/atmospherics/tank.dmi and /dev/null differ diff --git a/icons/obj/bed.dmi b/icons/obj/bed.dmi new file mode 100644 index 0000000000000..0ba8f799d59b8 Binary files /dev/null and b/icons/obj/bed.dmi differ diff --git a/icons/obj/boxcutter.dmi b/icons/obj/boxcutter.dmi deleted file mode 100644 index dd920507563d0..0000000000000 Binary files a/icons/obj/boxcutter.dmi and /dev/null differ diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi deleted file mode 100644 index 2c5e919ead76c..0000000000000 Binary files a/icons/obj/bureaucracy.dmi and /dev/null differ diff --git a/icons/obj/buttons.dmi b/icons/obj/buttons.dmi deleted file mode 100644 index 98d7e3edeb9a6..0000000000000 Binary files a/icons/obj/buttons.dmi and /dev/null differ diff --git a/icons/obj/canisters.dmi b/icons/obj/canisters.dmi new file mode 100644 index 0000000000000..e57c6ad9b963f Binary files /dev/null and b/icons/obj/canisters.dmi differ diff --git a/icons/obj/card.dmi b/icons/obj/card.dmi index 95a5504f18c05..a5e34e9cc27cb 100644 Binary files a/icons/obj/card.dmi and b/icons/obj/card.dmi differ diff --git a/icons/obj/carp_rift.dmi b/icons/obj/carp_rift.dmi deleted file mode 100644 index 9a07b3b16f866..0000000000000 Binary files a/icons/obj/carp_rift.dmi and /dev/null differ diff --git a/icons/obj/sofa.dmi b/icons/obj/chairs_wide.dmi similarity index 100% rename from icons/obj/sofa.dmi rename to icons/obj/chairs_wide.dmi diff --git a/icons/obj/clothing/accessories.dmi b/icons/obj/clothing/accessories.dmi index f4ba648f664e4..fdba37254eb42 100644 Binary files a/icons/obj/clothing/accessories.dmi and b/icons/obj/clothing/accessories.dmi differ diff --git a/icons/obj/clothing/belts.dmi b/icons/obj/clothing/belts.dmi index 1b31d0e8b0bf6..0a2bd33c4e42a 100644 Binary files a/icons/obj/clothing/belts.dmi and b/icons/obj/clothing/belts.dmi differ diff --git a/icons/obj/clothing/cloaks.dmi b/icons/obj/clothing/cloaks.dmi index dd1b905ad2c17..101264aca539b 100644 Binary files a/icons/obj/clothing/cloaks.dmi and b/icons/obj/clothing/cloaks.dmi differ diff --git a/icons/obj/clothing/glasses.dmi b/icons/obj/clothing/glasses.dmi index 57bc8ee729f49..fd898d3105fd8 100644 Binary files a/icons/obj/clothing/glasses.dmi and b/icons/obj/clothing/glasses.dmi differ diff --git a/icons/obj/clothing/head/chaplain.dmi b/icons/obj/clothing/head/chaplain.dmi index d95436fdd2d7a..ed6f6248b317c 100644 Binary files a/icons/obj/clothing/head/chaplain.dmi and b/icons/obj/clothing/head/chaplain.dmi differ diff --git a/icons/obj/clothing/head/costume.dmi b/icons/obj/clothing/head/costume.dmi index e28dfd35fe5e6..f676b1c6973d5 100644 Binary files a/icons/obj/clothing/head/costume.dmi and b/icons/obj/clothing/head/costume.dmi differ diff --git a/icons/obj/clothing/head/hats.dmi b/icons/obj/clothing/head/hats.dmi index 52d63975d4f25..15117fa69a835 100644 Binary files a/icons/obj/clothing/head/hats.dmi and b/icons/obj/clothing/head/hats.dmi differ diff --git a/icons/obj/clothing/head/helmet.dmi b/icons/obj/clothing/head/helmet.dmi index b3c230244247d..d9f02085e732e 100644 Binary files a/icons/obj/clothing/head/helmet.dmi and b/icons/obj/clothing/head/helmet.dmi differ diff --git a/icons/obj/clothing/head/plasmaman_hats.dmi b/icons/obj/clothing/head/plasmaman_hats.dmi index 382dae5df1efd..f593a08b88c30 100644 Binary files a/icons/obj/clothing/head/plasmaman_hats.dmi and b/icons/obj/clothing/head/plasmaman_hats.dmi differ diff --git a/icons/obj/clothing/head/spacehelm.dmi b/icons/obj/clothing/head/spacehelm.dmi index cb761be5a9aaf..ee8127e4964bb 100644 Binary files a/icons/obj/clothing/head/spacehelm.dmi and b/icons/obj/clothing/head/spacehelm.dmi differ diff --git a/icons/obj/clothing/head/utility.dmi b/icons/obj/clothing/head/utility.dmi index 2d8f274c94ee7..17040f5bb8b53 100644 Binary files a/icons/obj/clothing/head/utility.dmi and b/icons/obj/clothing/head/utility.dmi differ diff --git a/icons/obj/clothing/head/winterhood.dmi b/icons/obj/clothing/head/winterhood.dmi index 2d5170948a4b4..34e0abf39beef 100644 Binary files a/icons/obj/clothing/head/winterhood.dmi and b/icons/obj/clothing/head/winterhood.dmi differ diff --git a/icons/obj/clothing/masks.dmi b/icons/obj/clothing/masks.dmi index 5c003d0999ffe..20951b3264f08 100644 Binary files a/icons/obj/clothing/masks.dmi and b/icons/obj/clothing/masks.dmi differ diff --git a/icons/obj/clothing/modsuit/mod_clothing.dmi b/icons/obj/clothing/modsuit/mod_clothing.dmi index ed85ade524991..7eb92f1c3519c 100644 Binary files a/icons/obj/clothing/modsuit/mod_clothing.dmi and b/icons/obj/clothing/modsuit/mod_clothing.dmi differ diff --git a/icons/obj/clothing/modsuit/mod_modules.dmi b/icons/obj/clothing/modsuit/mod_modules.dmi index 037e7fe69634a..f1d19c29da119 100644 Binary files a/icons/obj/clothing/modsuit/mod_modules.dmi and b/icons/obj/clothing/modsuit/mod_modules.dmi differ diff --git a/icons/obj/clothing/neck.dmi b/icons/obj/clothing/neck.dmi index 1f75bd6c12bd4..ff7e012324a0a 100644 Binary files a/icons/obj/clothing/neck.dmi and b/icons/obj/clothing/neck.dmi differ diff --git a/icons/obj/clothing/shoes.dmi b/icons/obj/clothing/shoes.dmi index 7f4d038193743..104812240fec6 100644 Binary files a/icons/obj/clothing/shoes.dmi and b/icons/obj/clothing/shoes.dmi differ diff --git a/icons/obj/clothing/suits/armor.dmi b/icons/obj/clothing/suits/armor.dmi index 8e50c4f7d3ecc..48fe5c92c339d 100644 Binary files a/icons/obj/clothing/suits/armor.dmi and b/icons/obj/clothing/suits/armor.dmi differ diff --git a/icons/obj/clothing/suits/chaplain.dmi b/icons/obj/clothing/suits/chaplain.dmi index 64474a04d3182..730e47cd6fa94 100644 Binary files a/icons/obj/clothing/suits/chaplain.dmi and b/icons/obj/clothing/suits/chaplain.dmi differ diff --git a/icons/obj/clothing/suits/costume.dmi b/icons/obj/clothing/suits/costume.dmi index 86c77feb99192..0c08b97605db3 100644 Binary files a/icons/obj/clothing/suits/costume.dmi and b/icons/obj/clothing/suits/costume.dmi differ diff --git a/icons/obj/clothing/suits/jacket.dmi b/icons/obj/clothing/suits/jacket.dmi index bcde51f037e65..dc507017cd25d 100644 Binary files a/icons/obj/clothing/suits/jacket.dmi and b/icons/obj/clothing/suits/jacket.dmi differ diff --git a/icons/obj/clothing/suits/spacesuit.dmi b/icons/obj/clothing/suits/spacesuit.dmi index 56be1a49e2346..de9c1242767c9 100644 Binary files a/icons/obj/clothing/suits/spacesuit.dmi and b/icons/obj/clothing/suits/spacesuit.dmi differ diff --git a/icons/obj/clothing/suits/utility.dmi b/icons/obj/clothing/suits/utility.dmi index d7bb4e9bfa613..25fb8fd502a35 100644 Binary files a/icons/obj/clothing/suits/utility.dmi and b/icons/obj/clothing/suits/utility.dmi differ diff --git a/icons/obj/clothing/suits/wintercoat.dmi b/icons/obj/clothing/suits/wintercoat.dmi index 27b53c2ddf49b..377c9ef61e30e 100644 Binary files a/icons/obj/clothing/suits/wintercoat.dmi and b/icons/obj/clothing/suits/wintercoat.dmi differ diff --git a/icons/obj/clothing/under/cargo.dmi b/icons/obj/clothing/under/cargo.dmi index 5ea90482fafc3..63e40538899f7 100644 Binary files a/icons/obj/clothing/under/cargo.dmi and b/icons/obj/clothing/under/cargo.dmi differ diff --git a/icons/obj/clothing/under/civilian.dmi b/icons/obj/clothing/under/civilian.dmi index 04c37b2356ee5..8552c5b9660e5 100644 Binary files a/icons/obj/clothing/under/civilian.dmi and b/icons/obj/clothing/under/civilian.dmi differ diff --git a/icons/obj/clothing/under/costume.dmi b/icons/obj/clothing/under/costume.dmi index a91873dce148d..bf60bb0a4452d 100644 Binary files a/icons/obj/clothing/under/costume.dmi and b/icons/obj/clothing/under/costume.dmi differ diff --git a/icons/obj/clothing/under/lawyer_galaxy.dmi b/icons/obj/clothing/under/lawyer_galaxy.dmi new file mode 100644 index 0000000000000..88ffcf4413277 Binary files /dev/null and b/icons/obj/clothing/under/lawyer_galaxy.dmi differ diff --git a/icons/obj/clothing/under/plasmaman.dmi b/icons/obj/clothing/under/plasmaman.dmi index d22ae7a26e1d6..4d416d5b05f1f 100644 Binary files a/icons/obj/clothing/under/plasmaman.dmi and b/icons/obj/clothing/under/plasmaman.dmi differ diff --git a/icons/obj/clothing/under/rnd.dmi b/icons/obj/clothing/under/rnd.dmi index b7ce3896b3d83..beb6b22a1484d 100644 Binary files a/icons/obj/clothing/under/rnd.dmi and b/icons/obj/clothing/under/rnd.dmi differ diff --git a/icons/obj/clothing/under/shorts_pants_shirts.dmi b/icons/obj/clothing/under/shorts_pants_shirts.dmi index c9b71d31ce12c..26ffec00e19d7 100644 Binary files a/icons/obj/clothing/under/shorts_pants_shirts.dmi and b/icons/obj/clothing/under/shorts_pants_shirts.dmi differ diff --git a/icons/obj/clothing/under/suits.dmi b/icons/obj/clothing/under/suits.dmi index 0ebdd51147f6f..42c79981df6fb 100644 Binary files a/icons/obj/clothing/under/suits.dmi and b/icons/obj/clothing/under/suits.dmi differ diff --git a/icons/obj/computer.dmi b/icons/obj/computer.dmi deleted file mode 100644 index 10974f97bac68..0000000000000 Binary files a/icons/obj/computer.dmi and /dev/null differ diff --git a/icons/obj/containers.dmi b/icons/obj/containers.dmi deleted file mode 100644 index af9abe7073e4e..0000000000000 Binary files a/icons/obj/containers.dmi and /dev/null differ diff --git a/icons/obj/cosmetic.dmi b/icons/obj/cosmetic.dmi index c5bd95f6c69ba..b04bde541ad6c 100644 Binary files a/icons/obj/cosmetic.dmi and b/icons/obj/cosmetic.dmi differ diff --git a/icons/obj/cult/items_and_weapons.dmi b/icons/obj/cult/items_and_weapons.dmi deleted file mode 100644 index f338d297391c3..0000000000000 Binary files a/icons/obj/cult/items_and_weapons.dmi and /dev/null differ diff --git a/icons/obj/debris.dmi b/icons/obj/debris.dmi new file mode 100644 index 0000000000000..d256d1ddd6ed7 Binary files /dev/null and b/icons/obj/debris.dmi differ diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index 5067052940d6b..d89ee6e5d6408 100644 Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ diff --git a/icons/obj/device_syndie.dmi b/icons/obj/device_syndie.dmi deleted file mode 100644 index 25ac0ef9b3944..0000000000000 Binary files a/icons/obj/device_syndie.dmi and /dev/null differ diff --git a/icons/obj/digital_clock.dmi b/icons/obj/digital_clock.dmi new file mode 100644 index 0000000000000..9ab096bf5935b Binary files /dev/null and b/icons/obj/digital_clock.dmi differ diff --git a/icons/obj/doors/airlocks/glass_large/glass_large.dmi b/icons/obj/doors/airlocks/glass_large/glass_large.dmi deleted file mode 100644 index 9dbcb9d0f1a16..0000000000000 Binary files a/icons/obj/doors/airlocks/glass_large/glass_large.dmi and /dev/null differ diff --git a/icons/obj/doors/airlocks/glass_large/overlays.dmi b/icons/obj/doors/airlocks/glass_large/overlays.dmi deleted file mode 100644 index bc9cc86c107f8..0000000000000 Binary files a/icons/obj/doors/airlocks/glass_large/overlays.dmi and /dev/null differ diff --git a/icons/obj/doors/airlocks/multi_tile/public/glass.dmi b/icons/obj/doors/airlocks/multi_tile/public/glass.dmi new file mode 100644 index 0000000000000..33420a77b11ce Binary files /dev/null and b/icons/obj/doors/airlocks/multi_tile/public/glass.dmi differ diff --git a/icons/obj/doors/airlocks/multi_tile/public/overlays.dmi b/icons/obj/doors/airlocks/multi_tile/public/overlays.dmi new file mode 100644 index 0000000000000..b0d10c8945d60 Binary files /dev/null and b/icons/obj/doors/airlocks/multi_tile/public/overlays.dmi differ diff --git a/icons/obj/doors/airlocks/station2/glass.dmi b/icons/obj/doors/airlocks/public/glass.dmi similarity index 100% rename from icons/obj/doors/airlocks/station2/glass.dmi rename to icons/obj/doors/airlocks/public/glass.dmi diff --git a/icons/obj/doors/airlocks/station2/overlays.dmi b/icons/obj/doors/airlocks/public/overlays.dmi similarity index 100% rename from icons/obj/doors/airlocks/station2/overlays.dmi rename to icons/obj/doors/airlocks/public/overlays.dmi diff --git a/icons/obj/drinks/bottles.dmi b/icons/obj/drinks/bottles.dmi index 6f36221795466..205a67c84e20d 100644 Binary files a/icons/obj/drinks/bottles.dmi and b/icons/obj/drinks/bottles.dmi differ diff --git a/icons/obj/drinks/boxes.dmi b/icons/obj/drinks/boxes.dmi index 8ed76d9760aca..0871bf5500681 100644 Binary files a/icons/obj/drinks/boxes.dmi and b/icons/obj/drinks/boxes.dmi differ diff --git a/icons/obj/drinks/drink_effects.dmi b/icons/obj/drinks/drink_effects.dmi index 63bc699c9f5c7..b0441f73f3462 100644 Binary files a/icons/obj/drinks/drink_effects.dmi and b/icons/obj/drinks/drink_effects.dmi differ diff --git a/icons/obj/drinks/drinks.dmi b/icons/obj/drinks/drinks.dmi index add38550de253..4b966cb2db275 100644 Binary files a/icons/obj/drinks/drinks.dmi and b/icons/obj/drinks/drinks.dmi differ diff --git a/icons/obj/drinks/mixed_drinks.dmi b/icons/obj/drinks/mixed_drinks.dmi index 9d11040d0abc5..231df35f6e6ae 100644 Binary files a/icons/obj/drinks/mixed_drinks.dmi and b/icons/obj/drinks/mixed_drinks.dmi differ diff --git a/icons/obj/drinks/soda.dmi b/icons/obj/drinks/soda.dmi index dedca0ff89e5d..f061e029c4dc9 100644 Binary files a/icons/obj/drinks/soda.dmi and b/icons/obj/drinks/soda.dmi differ diff --git a/icons/obj/dyespray.dmi b/icons/obj/dyespray.dmi deleted file mode 100644 index eb056036799a8..0000000000000 Binary files a/icons/obj/dyespray.dmi and /dev/null differ diff --git a/icons/obj/economy.dmi b/icons/obj/economy.dmi index dc90265b6e901..04abc41cae175 100644 Binary files a/icons/obj/economy.dmi and b/icons/obj/economy.dmi differ diff --git a/icons/obj/eldritch.dmi b/icons/obj/eldritch.dmi deleted file mode 100644 index f3049a088cc55..0000000000000 Binary files a/icons/obj/eldritch.dmi and /dev/null differ diff --git a/icons/obj/exploration.dmi b/icons/obj/exploration.dmi index 014f77195dc23..b7224d2df84d9 100644 Binary files a/icons/obj/exploration.dmi and b/icons/obj/exploration.dmi differ diff --git a/icons/obj/firealarm.dmi b/icons/obj/firealarm.dmi deleted file mode 100644 index 2310feb76c645..0000000000000 Binary files a/icons/obj/firealarm.dmi and /dev/null differ diff --git a/icons/obj/fishing.dmi b/icons/obj/fishing.dmi index 1b7d03dd13dd3..f7ab9fc1ad9c2 100644 Binary files a/icons/obj/fishing.dmi and b/icons/obj/fishing.dmi differ diff --git a/icons/obj/fluff.dmi b/icons/obj/fluff.dmi deleted file mode 100644 index 591880717eab4..0000000000000 Binary files a/icons/obj/fluff.dmi and /dev/null differ diff --git a/icons/obj/2x2.dmi b/icons/obj/fluff/2x2.dmi similarity index 100% rename from icons/obj/2x2.dmi rename to icons/obj/fluff/2x2.dmi diff --git a/icons/obj/3x3.dmi b/icons/obj/fluff/3x3.dmi similarity index 100% rename from icons/obj/3x3.dmi rename to icons/obj/fluff/3x3.dmi diff --git a/icons/obj/toys/basketball_hoop.dmi b/icons/obj/fluff/basketball_hoop.dmi similarity index 100% rename from icons/obj/toys/basketball_hoop.dmi rename to icons/obj/fluff/basketball_hoop.dmi diff --git a/icons/obj/billboard.dmi b/icons/obj/fluff/billboard.dmi similarity index 100% rename from icons/obj/billboard.dmi rename to icons/obj/fluff/billboard.dmi diff --git a/icons/obj/brokentiling.dmi b/icons/obj/fluff/brokentiling.dmi similarity index 100% rename from icons/obj/brokentiling.dmi rename to icons/obj/fluff/brokentiling.dmi diff --git a/icons/obj/bus.dmi b/icons/obj/fluff/bus.dmi similarity index 100% rename from icons/obj/bus.dmi rename to icons/obj/fluff/bus.dmi diff --git a/icons/obj/fluff/containers.dmi b/icons/obj/fluff/containers.dmi new file mode 100644 index 0000000000000..8aed1ffbb9a99 Binary files /dev/null and b/icons/obj/fluff/containers.dmi differ diff --git a/icons/obj/fireplace.dmi b/icons/obj/fluff/fireplace.dmi similarity index 100% rename from icons/obj/fireplace.dmi rename to icons/obj/fluff/fireplace.dmi diff --git a/icons/obj/flags.dmi b/icons/obj/fluff/flags.dmi similarity index 100% rename from icons/obj/flags.dmi rename to icons/obj/fluff/flags.dmi diff --git a/icons/obj/flora/_flora.dmi b/icons/obj/fluff/flora/_flora.dmi similarity index 100% rename from icons/obj/flora/_flora.dmi rename to icons/obj/fluff/flora/_flora.dmi diff --git a/icons/obj/flora/ausflora.dmi b/icons/obj/fluff/flora/ausflora.dmi similarity index 100% rename from icons/obj/flora/ausflora.dmi rename to icons/obj/fluff/flora/ausflora.dmi diff --git a/icons/obj/flora/deadtrees.dmi b/icons/obj/fluff/flora/deadtrees.dmi similarity index 100% rename from icons/obj/flora/deadtrees.dmi rename to icons/obj/fluff/flora/deadtrees.dmi diff --git a/icons/obj/flora/jungleflora.dmi b/icons/obj/fluff/flora/jungleflora.dmi similarity index 100% rename from icons/obj/flora/jungleflora.dmi rename to icons/obj/fluff/flora/jungleflora.dmi diff --git a/icons/obj/flora/jungletrees.dmi b/icons/obj/fluff/flora/jungletrees.dmi similarity index 100% rename from icons/obj/flora/jungletrees.dmi rename to icons/obj/fluff/flora/jungletrees.dmi diff --git a/icons/obj/flora/jungletreesmall.dmi b/icons/obj/fluff/flora/jungletreesmall.dmi similarity index 100% rename from icons/obj/flora/jungletreesmall.dmi rename to icons/obj/fluff/flora/jungletreesmall.dmi diff --git a/icons/obj/flora/largejungleflora.dmi b/icons/obj/fluff/flora/largejungleflora.dmi similarity index 100% rename from icons/obj/flora/largejungleflora.dmi rename to icons/obj/fluff/flora/largejungleflora.dmi diff --git a/icons/obj/flora/pinetrees.dmi b/icons/obj/fluff/flora/pinetrees.dmi similarity index 100% rename from icons/obj/flora/pinetrees.dmi rename to icons/obj/fluff/flora/pinetrees.dmi diff --git a/icons/obj/flora/plants.dmi b/icons/obj/fluff/flora/plants.dmi similarity index 100% rename from icons/obj/flora/plants.dmi rename to icons/obj/fluff/flora/plants.dmi diff --git a/icons/obj/flora/rocks.dmi b/icons/obj/fluff/flora/rocks.dmi similarity index 100% rename from icons/obj/flora/rocks.dmi rename to icons/obj/fluff/flora/rocks.dmi diff --git a/icons/obj/flora/snowflora.dmi b/icons/obj/fluff/flora/snowflora.dmi similarity index 100% rename from icons/obj/flora/snowflora.dmi rename to icons/obj/fluff/flora/snowflora.dmi diff --git a/icons/obj/flora/xenoflora.dmi b/icons/obj/fluff/flora/xenoflora.dmi similarity index 100% rename from icons/obj/flora/xenoflora.dmi rename to icons/obj/fluff/flora/xenoflora.dmi diff --git a/icons/obj/fluff/general.dmi b/icons/obj/fluff/general.dmi new file mode 100644 index 0000000000000..3f990111c3c74 Binary files /dev/null and b/icons/obj/fluff/general.dmi differ diff --git a/icons/obj/gym_equipment.dmi b/icons/obj/fluff/gym_equipment.dmi similarity index 100% rename from icons/obj/gym_equipment.dmi rename to icons/obj/fluff/gym_equipment.dmi diff --git a/icons/obj/previews.dmi b/icons/obj/fluff/previews.dmi similarity index 100% rename from icons/obj/previews.dmi rename to icons/obj/fluff/previews.dmi diff --git a/icons/obj/puzzle.dmi b/icons/obj/fluff/puzzle.dmi similarity index 100% rename from icons/obj/puzzle.dmi rename to icons/obj/fluff/puzzle.dmi diff --git a/icons/obj/puzzle_small.dmi b/icons/obj/fluff/puzzle_small.dmi similarity index 100% rename from icons/obj/puzzle_small.dmi rename to icons/obj/fluff/puzzle_small.dmi diff --git a/icons/obj/tomb.dmi b/icons/obj/fluff/tomb.dmi similarity index 100% rename from icons/obj/tomb.dmi rename to icons/obj/fluff/tomb.dmi diff --git a/icons/obj/tram_rails.dmi b/icons/obj/fluff/tram_rails.dmi similarity index 100% rename from icons/obj/tram_rails.dmi rename to icons/obj/fluff/tram_rails.dmi diff --git a/icons/obj/food/burgerbread.dmi b/icons/obj/food/burgerbread.dmi index a49423ba87cf4..9faca25854e2d 100644 Binary files a/icons/obj/food/burgerbread.dmi and b/icons/obj/food/burgerbread.dmi differ diff --git a/icons/obj/food/canned.dmi b/icons/obj/food/canned.dmi index 5f61b7e179675..97f66f2d5b5ef 100644 Binary files a/icons/obj/food/canned.dmi and b/icons/obj/food/canned.dmi differ diff --git a/icons/obj/food/containers.dmi b/icons/obj/food/containers.dmi index 6d7792c92540d..d7e3d73f861ca 100644 Binary files a/icons/obj/food/containers.dmi and b/icons/obj/food/containers.dmi differ diff --git a/icons/obj/food/food.dmi b/icons/obj/food/food.dmi index 338e9b08f634e..97ded07df214b 100644 Binary files a/icons/obj/food/food.dmi and b/icons/obj/food/food.dmi differ diff --git a/icons/obj/food/food_ingredients.dmi b/icons/obj/food/food_ingredients.dmi index 30825da024314..e0799ed71088c 100644 Binary files a/icons/obj/food/food_ingredients.dmi and b/icons/obj/food/food_ingredients.dmi differ diff --git a/icons/obj/food/frozen_treats.dmi b/icons/obj/food/frozen_treats.dmi index 133d6de83a03b..b5b91520e8ca6 100644 Binary files a/icons/obj/food/frozen_treats.dmi and b/icons/obj/food/frozen_treats.dmi differ diff --git a/icons/obj/food/martian.dmi b/icons/obj/food/martian.dmi new file mode 100644 index 0000000000000..79efcd1813d58 Binary files /dev/null and b/icons/obj/food/martian.dmi differ diff --git a/icons/obj/food/meat.dmi b/icons/obj/food/meat.dmi index 35f72bc1501e7..dec295bcbf0b0 100644 Binary files a/icons/obj/food/meat.dmi and b/icons/obj/food/meat.dmi differ diff --git a/icons/obj/food/mexican.dmi b/icons/obj/food/mexican.dmi index 44bcc5f2e7ba9..ba02c15a0b577 100644 Binary files a/icons/obj/food/mexican.dmi and b/icons/obj/food/mexican.dmi differ diff --git a/icons/obj/food/piecake.dmi b/icons/obj/food/piecake.dmi index ff031abecaea1..9a122e00ef7df 100644 Binary files a/icons/obj/food/piecake.dmi and b/icons/obj/food/piecake.dmi differ diff --git a/icons/obj/food/spaghetti.dmi b/icons/obj/food/spaghetti.dmi index 23b50af2a8d42..1c97a45e7b788 100644 Binary files a/icons/obj/food/spaghetti.dmi and b/icons/obj/food/spaghetti.dmi differ diff --git a/icons/obj/hydroponics/equipment.dmi b/icons/obj/hydroponics/equipment.dmi deleted file mode 100644 index dc164c5b1c943..0000000000000 Binary files a/icons/obj/hydroponics/equipment.dmi and /dev/null differ diff --git a/icons/obj/hydroponics/growing_flowers.dmi b/icons/obj/hydroponics/growing_flowers.dmi deleted file mode 100644 index 1bdbe6786a439..0000000000000 Binary files a/icons/obj/hydroponics/growing_flowers.dmi and /dev/null differ diff --git a/icons/obj/hydroponics/growing_fruits.dmi b/icons/obj/hydroponics/growing_fruits.dmi deleted file mode 100644 index 7e535cdaf9b31..0000000000000 Binary files a/icons/obj/hydroponics/growing_fruits.dmi and /dev/null differ diff --git a/icons/obj/hydroponics/seeds.dmi b/icons/obj/hydroponics/seeds.dmi deleted file mode 100644 index d6e70af1a4280..0000000000000 Binary files a/icons/obj/hydroponics/seeds.dmi and /dev/null differ diff --git a/icons/obj/ice_moon/artifacts.dmi b/icons/obj/ice_moon/artifacts.dmi deleted file mode 100644 index 7cd61baa87848..0000000000000 Binary files a/icons/obj/ice_moon/artifacts.dmi and /dev/null differ diff --git a/icons/obj/items_cyborg.dmi b/icons/obj/items_cyborg.dmi index 56250b3961fe4..aefea9fddceb7 100644 Binary files a/icons/obj/items_cyborg.dmi and b/icons/obj/items_cyborg.dmi differ diff --git a/icons/obj/janitor.dmi b/icons/obj/janitor.dmi deleted file mode 100644 index 6e007dc4fa593..0000000000000 Binary files a/icons/obj/janitor.dmi and /dev/null differ diff --git a/icons/obj/kitchen.dmi b/icons/obj/kitchen.dmi deleted file mode 100644 index 0b1aced2ef7ac..0000000000000 Binary files a/icons/obj/kitchen.dmi and /dev/null differ diff --git a/icons/obj/lavaland/artefacts.dmi b/icons/obj/lavaland/artefacts.dmi deleted file mode 100644 index cdf3301378542..0000000000000 Binary files a/icons/obj/lavaland/artefacts.dmi and /dev/null differ diff --git a/icons/obj/library.dmi b/icons/obj/library.dmi deleted file mode 100644 index 31c97cfaf9a25..0000000000000 Binary files a/icons/obj/library.dmi and /dev/null differ diff --git a/icons/obj/lighting.dmi b/icons/obj/lighting.dmi index 7636db33a9d2b..061099defd4cd 100644 Binary files a/icons/obj/lighting.dmi and b/icons/obj/lighting.dmi differ diff --git a/icons/obj/lighting_overlay.dmi b/icons/obj/lighting_overlay.dmi index 6701265ee968f..de25dbe170961 100644 Binary files a/icons/obj/lighting_overlay.dmi and b/icons/obj/lighting_overlay.dmi differ diff --git a/icons/obj/atmospherics/components/binary_devices.dmi b/icons/obj/machines/atmospherics/binary_devices.dmi similarity index 100% rename from icons/obj/atmospherics/components/binary_devices.dmi rename to icons/obj/machines/atmospherics/binary_devices.dmi diff --git a/icons/obj/atmospherics/components/bluespace_gas_selling.dmi b/icons/obj/machines/atmospherics/bluespace_gas_selling.dmi similarity index 100% rename from icons/obj/atmospherics/components/bluespace_gas_selling.dmi rename to icons/obj/machines/atmospherics/bluespace_gas_selling.dmi diff --git a/icons/obj/atmospherics/components/hypertorus.dmi b/icons/obj/machines/atmospherics/hypertorus.dmi similarity index 100% rename from icons/obj/atmospherics/components/hypertorus.dmi rename to icons/obj/machines/atmospherics/hypertorus.dmi diff --git a/icons/obj/atmospherics/components/machines.dmi b/icons/obj/machines/atmospherics/machines.dmi similarity index 100% rename from icons/obj/atmospherics/components/machines.dmi rename to icons/obj/machines/atmospherics/machines.dmi diff --git a/icons/obj/atmospherics/components/miners.dmi b/icons/obj/machines/atmospherics/miners.dmi similarity index 100% rename from icons/obj/atmospherics/components/miners.dmi rename to icons/obj/machines/atmospherics/miners.dmi diff --git a/icons/obj/atmospherics/components/thermomachine.dmi b/icons/obj/machines/atmospherics/thermomachine.dmi similarity index 100% rename from icons/obj/atmospherics/components/thermomachine.dmi rename to icons/obj/machines/atmospherics/thermomachine.dmi diff --git a/icons/obj/atmospherics/components/trinary_devices.dmi b/icons/obj/machines/atmospherics/trinary_devices.dmi similarity index 100% rename from icons/obj/atmospherics/components/trinary_devices.dmi rename to icons/obj/machines/atmospherics/trinary_devices.dmi diff --git a/icons/obj/atmospherics/components/unary_devices.dmi b/icons/obj/machines/atmospherics/unary_devices.dmi similarity index 100% rename from icons/obj/atmospherics/components/unary_devices.dmi rename to icons/obj/machines/atmospherics/unary_devices.dmi diff --git a/icons/obj/barsigns.dmi b/icons/obj/machines/barsigns.dmi similarity index 100% rename from icons/obj/barsigns.dmi rename to icons/obj/machines/barsigns.dmi diff --git a/icons/obj/machines/bepis.dmi b/icons/obj/machines/bepis.dmi deleted file mode 100644 index f348c2e1b0559..0000000000000 Binary files a/icons/obj/machines/bepis.dmi and /dev/null differ diff --git a/icons/obj/machines/bitrunning.dmi b/icons/obj/machines/bitrunning.dmi new file mode 100644 index 0000000000000..a910a16b35cf8 Binary files /dev/null and b/icons/obj/machines/bitrunning.dmi differ diff --git a/icons/obj/machines/borg_charger.dmi b/icons/obj/machines/borg_charger.dmi new file mode 100644 index 0000000000000..13751186b3cf9 Binary files /dev/null and b/icons/obj/machines/borg_charger.dmi differ diff --git a/icons/obj/lavaland/cannon.dmi b/icons/obj/machines/cannon.dmi similarity index 100% rename from icons/obj/lavaland/cannon.dmi rename to icons/obj/machines/cannon.dmi diff --git a/icons/obj/machines/cell_charger.dmi b/icons/obj/machines/cell_charger.dmi new file mode 100644 index 0000000000000..5ce285fc81782 Binary files /dev/null and b/icons/obj/machines/cell_charger.dmi differ diff --git a/icons/obj/machines/computer.dmi b/icons/obj/machines/computer.dmi new file mode 100644 index 0000000000000..5ffa3445db692 Binary files /dev/null and b/icons/obj/machines/computer.dmi differ diff --git a/icons/obj/machines/crematorium.dmi b/icons/obj/machines/crematorium.dmi new file mode 100644 index 0000000000000..8ab0a2bafb2c7 Binary files /dev/null and b/icons/obj/machines/crematorium.dmi differ diff --git a/icons/obj/machines/experisci.dmi b/icons/obj/machines/destructive_scanner.dmi similarity index 100% rename from icons/obj/machines/experisci.dmi rename to icons/obj/machines/destructive_scanner.dmi diff --git a/icons/obj/machines/display.dmi b/icons/obj/machines/display.dmi new file mode 100644 index 0000000000000..19efcf5cbc2d3 Binary files /dev/null and b/icons/obj/machines/display.dmi differ diff --git a/icons/obj/machines/droneDispenser.dmi b/icons/obj/machines/drone_dispenser.dmi similarity index 100% rename from icons/obj/machines/droneDispenser.dmi rename to icons/obj/machines/drone_dispenser.dmi diff --git a/icons/obj/engine/energy_ball.dmi b/icons/obj/machines/engine/energy_ball.dmi similarity index 100% rename from icons/obj/engine/energy_ball.dmi rename to icons/obj/machines/engine/energy_ball.dmi diff --git a/icons/obj/machines/engine/other.dmi b/icons/obj/machines/engine/other.dmi new file mode 100644 index 0000000000000..92dd420c84c32 Binary files /dev/null and b/icons/obj/machines/engine/other.dmi differ diff --git a/icons/obj/engine/singularity.dmi b/icons/obj/machines/engine/singularity.dmi similarity index 100% rename from icons/obj/engine/singularity.dmi rename to icons/obj/machines/engine/singularity.dmi diff --git a/icons/obj/engine/supermatter.dmi b/icons/obj/machines/engine/supermatter.dmi similarity index 100% rename from icons/obj/engine/supermatter.dmi rename to icons/obj/machines/engine/supermatter.dmi diff --git a/icons/obj/engine/tesla_coil.dmi b/icons/obj/machines/engine/tesla_coil.dmi similarity index 100% rename from icons/obj/engine/tesla_coil.dmi rename to icons/obj/machines/engine/tesla_coil.dmi diff --git a/icons/obj/engine/tesla_generator.dmi b/icons/obj/machines/engine/tesla_generator.dmi similarity index 100% rename from icons/obj/engine/tesla_generator.dmi rename to icons/obj/machines/engine/tesla_generator.dmi diff --git a/icons/obj/turbine/turbine.dmi b/icons/obj/machines/engine/turbine.dmi similarity index 100% rename from icons/obj/turbine/turbine.dmi rename to icons/obj/machines/engine/turbine.dmi diff --git a/icons/obj/machines/heavy_lathe.dmi b/icons/obj/machines/experimentator.dmi similarity index 100% rename from icons/obj/machines/heavy_lathe.dmi rename to icons/obj/machines/experimentator.dmi diff --git a/icons/obj/fax.dmi b/icons/obj/machines/fax.dmi similarity index 100% rename from icons/obj/fax.dmi rename to icons/obj/machines/fax.dmi diff --git a/icons/obj/machines/floor.dmi b/icons/obj/machines/floor.dmi new file mode 100644 index 0000000000000..6f858465dcdcb Binary files /dev/null and b/icons/obj/machines/floor.dmi differ diff --git a/icons/obj/machines/hivebot_fabricator.dmi b/icons/obj/machines/hivebot_fabricator.dmi new file mode 100644 index 0000000000000..a7947245e38db Binary files /dev/null and b/icons/obj/machines/hivebot_fabricator.dmi differ diff --git a/icons/obj/machines/implantchair.dmi b/icons/obj/machines/implant_chair.dmi similarity index 100% rename from icons/obj/machines/implantchair.dmi rename to icons/obj/machines/implant_chair.dmi diff --git a/icons/obj/machines/incident_display.dmi b/icons/obj/machines/incident_display.dmi new file mode 100644 index 0000000000000..80d63134f1d02 Binary files /dev/null and b/icons/obj/machines/incident_display.dmi differ diff --git a/icons/obj/machines/kitchen.dmi b/icons/obj/machines/kitchen.dmi new file mode 100644 index 0000000000000..5bd820e554ad8 Binary files /dev/null and b/icons/obj/machines/kitchen.dmi differ diff --git a/icons/obj/machines/kitchenmachines.dmi b/icons/obj/machines/kitchenmachines.dmi deleted file mode 100644 index 06c21235ac18d..0000000000000 Binary files a/icons/obj/machines/kitchenmachines.dmi and /dev/null differ diff --git a/icons/obj/machines/lathes.dmi b/icons/obj/machines/lathes.dmi new file mode 100644 index 0000000000000..1c4111303ebc0 Binary files /dev/null and b/icons/obj/machines/lathes.dmi differ diff --git a/icons/obj/machines/limbgrower.dmi b/icons/obj/machines/limbgrower.dmi index 7e26a9f7f2463..d14d31a054c06 100644 Binary files a/icons/obj/machines/limbgrower.dmi and b/icons/obj/machines/limbgrower.dmi differ diff --git a/icons/mecha/mech_bay.dmi b/icons/obj/machines/mech_bay.dmi similarity index 100% rename from icons/mecha/mech_bay.dmi rename to icons/obj/machines/mech_bay.dmi diff --git a/icons/obj/modular_console.dmi b/icons/obj/machines/modular_console.dmi similarity index 100% rename from icons/obj/modular_console.dmi rename to icons/obj/machines/modular_console.dmi diff --git a/icons/obj/money_machine.dmi b/icons/obj/machines/money_machine.dmi similarity index 100% rename from icons/obj/money_machine.dmi rename to icons/obj/machines/money_machine.dmi diff --git a/icons/obj/money_machine_64.dmi b/icons/obj/machines/money_machine_64.dmi similarity index 100% rename from icons/obj/money_machine_64.dmi rename to icons/obj/machines/money_machine_64.dmi diff --git a/icons/obj/machines/music.dmi b/icons/obj/machines/music.dmi new file mode 100644 index 0000000000000..8c8b1a13dc76d Binary files /dev/null and b/icons/obj/machines/music.dmi differ diff --git a/icons/obj/machines/navigation_beacon.dmi b/icons/obj/machines/navigation_beacon.dmi new file mode 100644 index 0000000000000..f20ca068c52d2 Binary files /dev/null and b/icons/obj/machines/navigation_beacon.dmi differ diff --git a/icons/obj/machines/nebula_shielding.dmi b/icons/obj/machines/nebula_shielding.dmi new file mode 100644 index 0000000000000..1da2b5f2a9b2a Binary files /dev/null and b/icons/obj/machines/nebula_shielding.dmi differ diff --git a/icons/obj/machines/ore_silo.dmi b/icons/obj/machines/ore_silo.dmi new file mode 100644 index 0000000000000..e06d0fe2d328b Binary files /dev/null and b/icons/obj/machines/ore_silo.dmi differ diff --git a/icons/obj/machines/pda.dmi b/icons/obj/machines/pda.dmi new file mode 100644 index 0000000000000..a1775d3ddb7d0 Binary files /dev/null and b/icons/obj/machines/pda.dmi differ diff --git a/icons/obj/machines/recycling.dmi b/icons/obj/machines/recycling.dmi new file mode 100644 index 0000000000000..9a6dffaaee2d5 Binary files /dev/null and b/icons/obj/machines/recycling.dmi differ diff --git a/icons/obj/robotics.dmi b/icons/obj/machines/robotics.dmi similarity index 100% rename from icons/obj/robotics.dmi rename to icons/obj/machines/robotics.dmi diff --git a/icons/obj/machines/sec.dmi b/icons/obj/machines/sec.dmi new file mode 100644 index 0000000000000..5eabbf8334e35 Binary files /dev/null and b/icons/obj/machines/sec.dmi differ diff --git a/icons/obj/machines/shield_generator.dmi b/icons/obj/machines/shield_generator.dmi new file mode 100644 index 0000000000000..51ef5676c6b9e Binary files /dev/null and b/icons/obj/machines/shield_generator.dmi differ diff --git a/icons/obj/smartfridge.dmi b/icons/obj/machines/smartfridge.dmi similarity index 100% rename from icons/obj/smartfridge.dmi rename to icons/obj/machines/smartfridge.dmi diff --git a/icons/obj/solar.dmi b/icons/obj/machines/solar.dmi similarity index 100% rename from icons/obj/solar.dmi rename to icons/obj/machines/solar.dmi diff --git a/icons/obj/machines/stasis.dmi b/icons/obj/machines/stasis.dmi index 21844b0f8d50e..3c0cd722714d9 100644 Binary files a/icons/obj/machines/stasis.dmi and b/icons/obj/machines/stasis.dmi differ diff --git a/icons/obj/machines/status_display.dmi b/icons/obj/machines/status_display.dmi new file mode 100644 index 0000000000000..b48cad5293e20 Binary files /dev/null and b/icons/obj/machines/status_display.dmi differ diff --git a/icons/obj/machines/telecomms.dmi b/icons/obj/machines/telecomms.dmi index ddce8a96a933b..1af082171ac16 100644 Binary files a/icons/obj/machines/telecomms.dmi and b/icons/obj/machines/telecomms.dmi differ diff --git a/icons/obj/machines/telepad.dmi b/icons/obj/machines/telepad.dmi new file mode 100644 index 0000000000000..2ae0d4f125923 Binary files /dev/null and b/icons/obj/machines/telepad.dmi differ diff --git a/icons/obj/machines/vending.dmi b/icons/obj/machines/vending.dmi new file mode 100644 index 0000000000000..a5db6caa6e2ba Binary files /dev/null and b/icons/obj/machines/vending.dmi differ diff --git a/icons/obj/machines/wallmounts.dmi b/icons/obj/machines/wallmounts.dmi new file mode 100644 index 0000000000000..39e4cc2476b58 Binary files /dev/null and b/icons/obj/machines/wallmounts.dmi differ diff --git a/icons/obj/wiremod_fab.dmi b/icons/obj/machines/wiremod_fab.dmi similarity index 100% rename from icons/obj/wiremod_fab.dmi rename to icons/obj/machines/wiremod_fab.dmi diff --git a/icons/obj/magic.dmi b/icons/obj/magic.dmi deleted file mode 100644 index c376dc732196c..0000000000000 Binary files a/icons/obj/magic.dmi and /dev/null differ diff --git a/icons/obj/maintenance_loot.dmi b/icons/obj/maintenance_loot.dmi index 09b0892b85917..c75cb583c1945 100644 Binary files a/icons/obj/maintenance_loot.dmi and b/icons/obj/maintenance_loot.dmi differ diff --git a/icons/obj/marker.dmi b/icons/obj/marker.dmi deleted file mode 100644 index f6043c02a3ec9..0000000000000 Binary files a/icons/obj/marker.dmi and /dev/null differ diff --git a/icons/obj/bodybag.dmi b/icons/obj/medical/bodybag.dmi similarity index 100% rename from icons/obj/bodybag.dmi rename to icons/obj/medical/bodybag.dmi diff --git a/icons/obj/medical/chemical.dmi b/icons/obj/medical/chemical.dmi index aaedc090f2d66..b4b26e4f848c6 100644 Binary files a/icons/obj/medical/chemical.dmi and b/icons/obj/medical/chemical.dmi differ diff --git a/icons/obj/drugs.dmi b/icons/obj/medical/drugs.dmi similarity index 100% rename from icons/obj/drugs.dmi rename to icons/obj/medical/drugs.dmi diff --git a/icons/obj/medical/medical_bed.dmi b/icons/obj/medical/medical_bed.dmi new file mode 100644 index 0000000000000..2d8e4b576ed77 Binary files /dev/null and b/icons/obj/medical/medical_bed.dmi differ diff --git a/icons/obj/medical/organs/infuser_organs.dmi b/icons/obj/medical/organs/infuser_organs.dmi index 49ac2751aae2d..c2551b41f6668 100644 Binary files a/icons/obj/medical/organs/infuser_organs.dmi and b/icons/obj/medical/organs/infuser_organs.dmi differ diff --git a/icons/obj/medical/organs/mining_organs.dmi b/icons/obj/medical/organs/mining_organs.dmi index f3fc298284ba6..172f94001ffaf 100644 Binary files a/icons/obj/medical/organs/mining_organs.dmi and b/icons/obj/medical/organs/mining_organs.dmi differ diff --git a/icons/obj/medical/organs/organs.dmi b/icons/obj/medical/organs/organs.dmi index acab1e2484000..94ba46568c929 100644 Binary files a/icons/obj/medical/organs/organs.dmi and b/icons/obj/medical/organs/organs.dmi differ diff --git a/icons/obj/medical/reagent_fillings.dmi b/icons/obj/medical/reagent_fillings.dmi new file mode 100644 index 0000000000000..524b52419a697 Binary files /dev/null and b/icons/obj/medical/reagent_fillings.dmi differ diff --git a/icons/obj/medical/rollerbed.dmi b/icons/obj/medical/rollerbed.dmi deleted file mode 100644 index fcc4e833c3447..0000000000000 Binary files a/icons/obj/medical/rollerbed.dmi and /dev/null differ diff --git a/icons/obj/medical/stack_medical.dmi b/icons/obj/medical/stack_medical.dmi index d12949da595f1..c4ec905786c69 100644 Binary files a/icons/obj/medical/stack_medical.dmi and b/icons/obj/medical/stack_medical.dmi differ diff --git a/icons/obj/medical/surgery_table.dmi b/icons/obj/medical/surgery_table.dmi index 2db30fee06d78..b02801e084474 100644 Binary files a/icons/obj/medical/surgery_table.dmi and b/icons/obj/medical/surgery_table.dmi differ diff --git a/icons/obj/medical/surgery_tools.dmi b/icons/obj/medical/surgery_tools.dmi index 594f0a8d43fcb..baa24ca1ad721 100644 Binary files a/icons/obj/medical/surgery_tools.dmi and b/icons/obj/medical/surgery_tools.dmi differ diff --git a/icons/obj/medicart.dmi b/icons/obj/medicart.dmi new file mode 100644 index 0000000000000..c25ea0039dc4e Binary files /dev/null and b/icons/obj/medicart.dmi differ diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi index 668bf4ae8c680..54b19553b8402 100644 Binary files a/icons/obj/mining.dmi and b/icons/obj/mining.dmi differ diff --git a/icons/obj/mining_zones/artefacts.dmi b/icons/obj/mining_zones/artefacts.dmi new file mode 100644 index 0000000000000..f3f7d00e4eef8 Binary files /dev/null and b/icons/obj/mining_zones/artefacts.dmi differ diff --git a/icons/obj/lavaland/ash_flora.dmi b/icons/obj/mining_zones/ash_flora.dmi similarity index 100% rename from icons/obj/lavaland/ash_flora.dmi rename to icons/obj/mining_zones/ash_flora.dmi diff --git a/icons/obj/lavaland/dead_ratvar.dmi b/icons/obj/mining_zones/dead_ratvar.dmi similarity index 100% rename from icons/obj/lavaland/dead_ratvar.dmi rename to icons/obj/mining_zones/dead_ratvar.dmi diff --git a/icons/obj/lavaland/donkvendor.dmi b/icons/obj/mining_zones/donkvendor.dmi similarity index 100% rename from icons/obj/lavaland/donkvendor.dmi rename to icons/obj/mining_zones/donkvendor.dmi diff --git a/icons/obj/lavaland/dragonboat.dmi b/icons/obj/mining_zones/dragonboat.dmi similarity index 100% rename from icons/obj/lavaland/dragonboat.dmi rename to icons/obj/mining_zones/dragonboat.dmi diff --git a/icons/obj/lavaland/elite_trophies.dmi b/icons/obj/mining_zones/elite_trophies.dmi similarity index 100% rename from icons/obj/lavaland/elite_trophies.dmi rename to icons/obj/mining_zones/elite_trophies.dmi diff --git a/icons/obj/lavaland/legionnaire_bonfire.dmi b/icons/obj/mining_zones/legionnaire_bonfire.dmi similarity index 100% rename from icons/obj/lavaland/legionnaire_bonfire.dmi rename to icons/obj/mining_zones/legionnaire_bonfire.dmi diff --git a/icons/obj/lavaland/pod_computer.dmi b/icons/obj/mining_zones/pod_computer.dmi similarity index 100% rename from icons/obj/lavaland/pod_computer.dmi rename to icons/obj/mining_zones/pod_computer.dmi diff --git a/icons/obj/lavaland/spawners.dmi b/icons/obj/mining_zones/spawners.dmi similarity index 100% rename from icons/obj/lavaland/spawners.dmi rename to icons/obj/mining_zones/spawners.dmi diff --git a/icons/obj/lavaland/survival_pod.dmi b/icons/obj/mining_zones/survival_pod.dmi similarity index 100% rename from icons/obj/lavaland/survival_pod.dmi rename to icons/obj/mining_zones/survival_pod.dmi diff --git a/icons/obj/lavaland/terrain.dmi b/icons/obj/mining_zones/terrain.dmi similarity index 100% rename from icons/obj/lavaland/terrain.dmi rename to icons/obj/mining_zones/terrain.dmi diff --git a/icons/obj/lavaland/tumor.dmi b/icons/obj/mining_zones/tumor.dmi similarity index 100% rename from icons/obj/lavaland/tumor.dmi rename to icons/obj/mining_zones/tumor.dmi diff --git a/icons/obj/miningradio.dmi b/icons/obj/miningradio.dmi new file mode 100644 index 0000000000000..e3d10f3b6d62e Binary files /dev/null and b/icons/obj/miningradio.dmi differ diff --git a/icons/obj/monitors.dmi b/icons/obj/monitors.dmi deleted file mode 100644 index e1cd286f90c74..0000000000000 Binary files a/icons/obj/monitors.dmi and /dev/null differ diff --git a/icons/obj/nuke_tools.dmi b/icons/obj/nuke_tools.dmi deleted file mode 100644 index e98b2b7995205..0000000000000 Binary files a/icons/obj/nuke_tools.dmi and /dev/null differ diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi deleted file mode 100644 index c94be473538b6..0000000000000 Binary files a/icons/obj/objects.dmi and /dev/null differ diff --git a/icons/obj/ore.dmi b/icons/obj/ore.dmi index 41f794eeace79..23fcb8c89ead3 100644 Binary files a/icons/obj/ore.dmi and b/icons/obj/ore.dmi differ diff --git a/icons/obj/pda.dmi b/icons/obj/pda.dmi index a26fb0f7d58b7..89febbe2e6b0e 100644 Binary files a/icons/obj/pda.dmi and b/icons/obj/pda.dmi differ diff --git a/icons/obj/pillow.dmi b/icons/obj/pillow.dmi deleted file mode 100644 index b086d56b125e3..0000000000000 Binary files a/icons/obj/pillow.dmi and /dev/null differ diff --git a/icons/obj/atmospherics/atmos.dmi b/icons/obj/pipes_n_cables/atmos.dmi similarity index 100% rename from icons/obj/atmospherics/atmos.dmi rename to icons/obj/pipes_n_cables/atmos.dmi diff --git a/icons/obj/atmospherics/pipes/bridge_pipe.dmi b/icons/obj/pipes_n_cables/bridge_pipe.dmi similarity index 100% rename from icons/obj/atmospherics/pipes/bridge_pipe.dmi rename to icons/obj/pipes_n_cables/bridge_pipe.dmi diff --git a/icons/obj/atmospherics/canisters.dmi b/icons/obj/pipes_n_cables/canisters.dmi similarity index 100% rename from icons/obj/atmospherics/canisters.dmi rename to icons/obj/pipes_n_cables/canisters.dmi diff --git a/icons/obj/atmospherics/pipes/color_adapter.dmi b/icons/obj/pipes_n_cables/color_adapter.dmi similarity index 100% rename from icons/obj/atmospherics/pipes/color_adapter.dmi rename to icons/obj/pipes_n_cables/color_adapter.dmi diff --git a/icons/obj/pipes_n_cables/disposal.dmi b/icons/obj/pipes_n_cables/disposal.dmi new file mode 100644 index 0000000000000..8487f3dd58c8c Binary files /dev/null and b/icons/obj/pipes_n_cables/disposal.dmi differ diff --git a/icons/obj/atmospherics/pipes/he-junction.dmi b/icons/obj/pipes_n_cables/he-junction.dmi similarity index 100% rename from icons/obj/atmospherics/pipes/he-junction.dmi rename to icons/obj/pipes_n_cables/he-junction.dmi diff --git a/icons/obj/atmospherics/pipes/he-manifold.dmi b/icons/obj/pipes_n_cables/he-manifold.dmi similarity index 100% rename from icons/obj/atmospherics/pipes/he-manifold.dmi rename to icons/obj/pipes_n_cables/he-manifold.dmi diff --git a/icons/obj/atmospherics/pipes/he-simple.dmi b/icons/obj/pipes_n_cables/he-simple.dmi similarity index 100% rename from icons/obj/atmospherics/pipes/he-simple.dmi rename to icons/obj/pipes_n_cables/he-simple.dmi diff --git a/icons/obj/plumbing/connects.dmi b/icons/obj/pipes_n_cables/hydrochem/connects.dmi similarity index 100% rename from icons/obj/plumbing/connects.dmi rename to icons/obj/pipes_n_cables/hydrochem/connects.dmi diff --git a/icons/obj/plumbing/fluid_ducts.dmi b/icons/obj/pipes_n_cables/hydrochem/fluid_ducts.dmi similarity index 100% rename from icons/obj/plumbing/fluid_ducts.dmi rename to icons/obj/pipes_n_cables/hydrochem/fluid_ducts.dmi diff --git a/icons/obj/pipes_n_cables/hydrochem/plumbers.dmi b/icons/obj/pipes_n_cables/hydrochem/plumbers.dmi new file mode 100644 index 0000000000000..19775b6eff8a2 Binary files /dev/null and b/icons/obj/pipes_n_cables/hydrochem/plumbers.dmi differ diff --git a/icons/obj/power_cond/layer_cable.dmi b/icons/obj/pipes_n_cables/layer_cable.dmi similarity index 100% rename from icons/obj/power_cond/layer_cable.dmi rename to icons/obj/pipes_n_cables/layer_cable.dmi diff --git a/icons/obj/atmospherics/pipes/layer_manifold_underlays.dmi b/icons/obj/pipes_n_cables/layer_manifold_underlays.dmi similarity index 100% rename from icons/obj/atmospherics/pipes/layer_manifold_underlays.dmi rename to icons/obj/pipes_n_cables/layer_manifold_underlays.dmi diff --git a/icons/obj/atmospherics/pipes/manifold.dmi b/icons/obj/pipes_n_cables/manifold.dmi similarity index 100% rename from icons/obj/atmospherics/pipes/manifold.dmi rename to icons/obj/pipes_n_cables/manifold.dmi diff --git a/icons/obj/atmospherics/pipes/meter.dmi b/icons/obj/pipes_n_cables/meter.dmi similarity index 100% rename from icons/obj/atmospherics/pipes/meter.dmi rename to icons/obj/pipes_n_cables/meter.dmi diff --git a/icons/obj/atmospherics/pipes/multiz.dmi b/icons/obj/pipes_n_cables/multiz.dmi similarity index 100% rename from icons/obj/atmospherics/pipes/multiz.dmi rename to icons/obj/pipes_n_cables/multiz.dmi diff --git a/icons/obj/power_cond/pipe_cleaner.dmi b/icons/obj/pipes_n_cables/pipe_cleaner.dmi similarity index 100% rename from icons/obj/power_cond/pipe_cleaner.dmi rename to icons/obj/pipes_n_cables/pipe_cleaner.dmi diff --git a/icons/obj/atmospherics/pipes/pipe_item.dmi b/icons/obj/pipes_n_cables/pipe_item.dmi similarity index 100% rename from icons/obj/atmospherics/pipes/pipe_item.dmi rename to icons/obj/pipes_n_cables/pipe_item.dmi diff --git a/icons/obj/atmospherics/pipes/pipe_underlays.dmi b/icons/obj/pipes_n_cables/pipe_underlays.dmi similarity index 100% rename from icons/obj/atmospherics/pipes/pipe_underlays.dmi rename to icons/obj/pipes_n_cables/pipe_underlays.dmi diff --git a/icons/obj/atmospherics/pipes/pipes_bitmask.dmi b/icons/obj/pipes_n_cables/pipes_bitmask.dmi similarity index 100% rename from icons/obj/atmospherics/pipes/pipes_bitmask.dmi rename to icons/obj/pipes_n_cables/pipes_bitmask.dmi diff --git a/icons/obj/atmospherics/prototype_canister.dmi b/icons/obj/pipes_n_cables/prototype_canister.dmi similarity index 100% rename from icons/obj/atmospherics/prototype_canister.dmi rename to icons/obj/pipes_n_cables/prototype_canister.dmi diff --git a/icons/obj/atmospherics/pipes/simple.dmi b/icons/obj/pipes_n_cables/simple.dmi similarity index 100% rename from icons/obj/atmospherics/pipes/simple.dmi rename to icons/obj/pipes_n_cables/simple.dmi diff --git a/icons/obj/atmospherics/stationary_canisters.dmi b/icons/obj/pipes_n_cables/stationary_canisters.dmi similarity index 100% rename from icons/obj/atmospherics/stationary_canisters.dmi rename to icons/obj/pipes_n_cables/stationary_canisters.dmi diff --git a/icons/obj/pipes_n_cables/structures.dmi b/icons/obj/pipes_n_cables/structures.dmi new file mode 100644 index 0000000000000..3719d42b5ea8e Binary files /dev/null and b/icons/obj/pipes_n_cables/structures.dmi differ diff --git a/icons/obj/pipes_n_cables/transit_tube.dmi b/icons/obj/pipes_n_cables/transit_tube.dmi new file mode 100644 index 0000000000000..30a23beed166c Binary files /dev/null and b/icons/obj/pipes_n_cables/transit_tube.dmi differ diff --git a/icons/obj/plumbing/plumbers.dmi b/icons/obj/plumbing/plumbers.dmi deleted file mode 100644 index 0df78d6129490..0000000000000 Binary files a/icons/obj/plumbing/plumbers.dmi and /dev/null differ diff --git a/icons/obj/poster.dmi b/icons/obj/poster.dmi index 788c61152d082..c1120d0be0b7e 100644 Binary files a/icons/obj/poster.dmi and b/icons/obj/poster.dmi differ diff --git a/icons/obj/power.dmi b/icons/obj/power.dmi deleted file mode 100644 index 1ea85d66f95fb..0000000000000 Binary files a/icons/obj/power.dmi and /dev/null differ diff --git a/icons/obj/radio.dmi b/icons/obj/radio.dmi index 7794b8ca5c84d..e30e7d49f6f29 100644 Binary files a/icons/obj/radio.dmi and b/icons/obj/radio.dmi differ diff --git a/icons/obj/railings.dmi b/icons/obj/railings.dmi index 91843aa0e6b48..3dbbd7c8318e7 100644 Binary files a/icons/obj/railings.dmi and b/icons/obj/railings.dmi differ diff --git a/icons/obj/reagentfillings.dmi b/icons/obj/reagentfillings.dmi deleted file mode 100644 index b00c622c315f0..0000000000000 Binary files a/icons/obj/reagentfillings.dmi and /dev/null differ diff --git a/icons/obj/recycling.dmi b/icons/obj/recycling.dmi deleted file mode 100644 index de419374151e6..0000000000000 Binary files a/icons/obj/recycling.dmi and /dev/null differ diff --git a/icons/obj/restraints.dmi b/icons/obj/restraints.dmi index f2d8c7a8320a3..f2d2f305d6854 100644 Binary files a/icons/obj/restraints.dmi and b/icons/obj/restraints.dmi differ diff --git a/icons/obj/chromosomes.dmi b/icons/obj/science/chromosomes.dmi similarity index 100% rename from icons/obj/chromosomes.dmi rename to icons/obj/science/chromosomes.dmi diff --git a/icons/obj/wiremod.dmi b/icons/obj/science/circuits.dmi similarity index 100% rename from icons/obj/wiremod.dmi rename to icons/obj/science/circuits.dmi diff --git a/icons/obj/science/slimecrossing.dmi b/icons/obj/science/slimecrossing.dmi new file mode 100644 index 0000000000000..5edb59c58a4a4 Binary files /dev/null and b/icons/obj/science/slimecrossing.dmi differ diff --git a/icons/obj/xenobiology/vatgrowing.dmi b/icons/obj/science/vatgrowing.dmi similarity index 100% rename from icons/obj/xenobiology/vatgrowing.dmi rename to icons/obj/science/vatgrowing.dmi diff --git a/icons/obj/scrolls.dmi b/icons/obj/scrolls.dmi new file mode 100644 index 0000000000000..ae488cab2f766 Binary files /dev/null and b/icons/obj/scrolls.dmi differ diff --git a/icons/obj/service/bureaucracy.dmi b/icons/obj/service/bureaucracy.dmi new file mode 100644 index 0000000000000..8cccb7f591032 Binary files /dev/null and b/icons/obj/service/bureaucracy.dmi differ diff --git a/icons/obj/hand_of_god_structures.dmi b/icons/obj/service/hand_of_god_structures.dmi similarity index 100% rename from icons/obj/hand_of_god_structures.dmi rename to icons/obj/service/hand_of_god_structures.dmi diff --git a/icons/obj/hydroponics/bouquet.dmi b/icons/obj/service/hydroponics/bouquet.dmi similarity index 100% rename from icons/obj/hydroponics/bouquet.dmi rename to icons/obj/service/hydroponics/bouquet.dmi diff --git a/icons/obj/service/hydroponics/equipment.dmi b/icons/obj/service/hydroponics/equipment.dmi new file mode 100644 index 0000000000000..afcc4de523512 Binary files /dev/null and b/icons/obj/service/hydroponics/equipment.dmi differ diff --git a/icons/obj/hydroponics/growing.dmi b/icons/obj/service/hydroponics/growing.dmi similarity index 100% rename from icons/obj/hydroponics/growing.dmi rename to icons/obj/service/hydroponics/growing.dmi diff --git a/icons/obj/service/hydroponics/growing_flowers.dmi b/icons/obj/service/hydroponics/growing_flowers.dmi new file mode 100644 index 0000000000000..fca3e15f9d90d Binary files /dev/null and b/icons/obj/service/hydroponics/growing_flowers.dmi differ diff --git a/icons/obj/service/hydroponics/growing_fruits.dmi b/icons/obj/service/hydroponics/growing_fruits.dmi new file mode 100644 index 0000000000000..92c52b55dbfce Binary files /dev/null and b/icons/obj/service/hydroponics/growing_fruits.dmi differ diff --git a/icons/obj/hydroponics/growing_mushrooms.dmi b/icons/obj/service/hydroponics/growing_mushrooms.dmi similarity index 100% rename from icons/obj/hydroponics/growing_mushrooms.dmi rename to icons/obj/service/hydroponics/growing_mushrooms.dmi diff --git a/icons/obj/hydroponics/growing_vegetables.dmi b/icons/obj/service/hydroponics/growing_vegetables.dmi similarity index 100% rename from icons/obj/hydroponics/growing_vegetables.dmi rename to icons/obj/service/hydroponics/growing_vegetables.dmi diff --git a/icons/obj/hydroponics/harvest.dmi b/icons/obj/service/hydroponics/harvest.dmi similarity index 92% rename from icons/obj/hydroponics/harvest.dmi rename to icons/obj/service/hydroponics/harvest.dmi index beca0e836c916..28a43776a50a0 100644 Binary files a/icons/obj/hydroponics/harvest.dmi and b/icons/obj/service/hydroponics/harvest.dmi differ diff --git a/icons/obj/service/hydroponics/seeds.dmi b/icons/obj/service/hydroponics/seeds.dmi new file mode 100644 index 0000000000000..ffef219193a71 Binary files /dev/null and b/icons/obj/service/hydroponics/seeds.dmi differ diff --git a/icons/obj/janicart_upgrade.dmi b/icons/obj/service/janicart_upgrade.dmi similarity index 100% rename from icons/obj/janicart_upgrade.dmi rename to icons/obj/service/janicart_upgrade.dmi diff --git a/icons/obj/service/janitor.dmi b/icons/obj/service/janitor.dmi new file mode 100644 index 0000000000000..0e814ca454589 Binary files /dev/null and b/icons/obj/service/janitor.dmi differ diff --git a/icons/obj/service/kitchen.dmi b/icons/obj/service/kitchen.dmi new file mode 100644 index 0000000000000..aeafe2591e9bd Binary files /dev/null and b/icons/obj/service/kitchen.dmi differ diff --git a/icons/obj/service/library.dmi b/icons/obj/service/library.dmi new file mode 100644 index 0000000000000..8229c1fc3947e Binary files /dev/null and b/icons/obj/service/library.dmi differ diff --git a/icons/obj/shards.dmi b/icons/obj/shards.dmi deleted file mode 100644 index f4fbe4078d28c..0000000000000 Binary files a/icons/obj/shards.dmi and /dev/null differ diff --git a/icons/obj/signs.dmi b/icons/obj/signs.dmi index bddf5166764c1..20531b0f8ea27 100644 Binary files a/icons/obj/signs.dmi and b/icons/obj/signs.dmi differ diff --git a/icons/obj/soup_pot.dmi b/icons/obj/soup_pot.dmi deleted file mode 100644 index 6a84a0aba09c3..0000000000000 Binary files a/icons/obj/soup_pot.dmi and /dev/null differ diff --git a/icons/obj/stack_objects.dmi b/icons/obj/stack_objects.dmi index 27e3d27cd91a0..c1fcad67b2b64 100644 Binary files a/icons/obj/stack_objects.dmi and b/icons/obj/stack_objects.dmi differ diff --git a/icons/obj/stationobjs.dmi b/icons/obj/stationobjs.dmi deleted file mode 100644 index 0cda9735d9827..0000000000000 Binary files a/icons/obj/stationobjs.dmi and /dev/null differ diff --git a/icons/obj/status_display.dmi b/icons/obj/status_display.dmi deleted file mode 100644 index 6833e9ff244f2..0000000000000 Binary files a/icons/obj/status_display.dmi and /dev/null differ diff --git a/icons/obj/stock_parts.dmi b/icons/obj/stock_parts.dmi deleted file mode 100644 index d5d5475f32384..0000000000000 Binary files a/icons/obj/stock_parts.dmi and /dev/null differ diff --git a/icons/obj/storage/backpack.dmi b/icons/obj/storage/backpack.dmi index 607b799722228..c61d9321611b6 100644 Binary files a/icons/obj/storage/backpack.dmi and b/icons/obj/storage/backpack.dmi differ diff --git a/icons/obj/storage/book.dmi b/icons/obj/storage/book.dmi index aff3dc7ddd387..72cf214bd5b02 100644 Binary files a/icons/obj/storage/book.dmi and b/icons/obj/storage/book.dmi differ diff --git a/icons/obj/storage/box.dmi b/icons/obj/storage/box.dmi index 43c10c2f28633..c06fe4d8112b6 100644 Binary files a/icons/obj/storage/box.dmi and b/icons/obj/storage/box.dmi differ diff --git a/icons/obj/storage/case.dmi b/icons/obj/storage/case.dmi index a3fd549bdfe92..0320ce881f90e 100644 Binary files a/icons/obj/storage/case.dmi and b/icons/obj/storage/case.dmi differ diff --git a/icons/obj/storage/closet.dmi b/icons/obj/storage/closet.dmi index 154e18c6d71ed..8c5285e116718 100644 Binary files a/icons/obj/storage/closet.dmi and b/icons/obj/storage/closet.dmi differ diff --git a/icons/obj/storage/storage.dmi b/icons/obj/storage/storage.dmi index 1aabd198b128d..a55606fa3b33b 100644 Binary files a/icons/obj/storage/storage.dmi and b/icons/obj/storage/storage.dmi differ diff --git a/icons/obj/structures.dmi b/icons/obj/structures.dmi index a931c282f4dcf..0289c9105be06 100644 Binary files a/icons/obj/structures.dmi and b/icons/obj/structures.dmi differ diff --git a/icons/obj/telescience.dmi b/icons/obj/telescience.dmi deleted file mode 100644 index 3035ce83d3e0f..0000000000000 Binary files a/icons/obj/telescience.dmi and /dev/null differ diff --git a/icons/obj/terminals.dmi b/icons/obj/terminals.dmi deleted file mode 100644 index 961b688511553..0000000000000 Binary files a/icons/obj/terminals.dmi and /dev/null differ diff --git a/icons/obj/tools.dmi b/icons/obj/tools.dmi index c670170acc0de..e6679c8c51848 100644 Binary files a/icons/obj/tools.dmi and b/icons/obj/tools.dmi differ diff --git a/icons/obj/bike.dmi b/icons/obj/toys/bike.dmi similarity index 100% rename from icons/obj/bike.dmi rename to icons/obj/toys/bike.dmi diff --git a/icons/obj/bouncy_castle.dmi b/icons/obj/toys/bouncy_castle.dmi similarity index 100% rename from icons/obj/bouncy_castle.dmi rename to icons/obj/toys/bouncy_castle.dmi diff --git a/icons/obj/car.dmi b/icons/obj/toys/car.dmi similarity index 100% rename from icons/obj/car.dmi rename to icons/obj/toys/car.dmi diff --git a/icons/obj/chess.dmi b/icons/obj/toys/chess.dmi similarity index 100% rename from icons/obj/chess.dmi rename to icons/obj/toys/chess.dmi diff --git a/icons/obj/toys/plushes.dmi b/icons/obj/toys/plushes.dmi index 1ea8d88504ce0..241d45fc33d27 100644 Binary files a/icons/obj/toys/plushes.dmi and b/icons/obj/toys/plushes.dmi differ diff --git a/icons/obj/stickers.dmi b/icons/obj/toys/stickers.dmi similarity index 100% rename from icons/obj/stickers.dmi rename to icons/obj/toys/stickers.dmi diff --git a/icons/obj/vending.dmi b/icons/obj/vending.dmi deleted file mode 100644 index 0c8eab0e2fb91..0000000000000 Binary files a/icons/obj/vending.dmi and /dev/null differ diff --git a/icons/obj/votebox.dmi b/icons/obj/votebox.dmi deleted file mode 100644 index 7bc1342c836b6..0000000000000 Binary files a/icons/obj/votebox.dmi and /dev/null differ diff --git a/icons/obj/wallframe.dmi b/icons/obj/wallframe.dmi deleted file mode 100644 index 2fec99c42be72..0000000000000 Binary files a/icons/obj/wallframe.dmi and /dev/null differ diff --git a/icons/obj/wallmounts.dmi b/icons/obj/wallmounts.dmi index d9dc9b50e9737..e020a8818e186 100644 Binary files a/icons/obj/wallmounts.dmi and b/icons/obj/wallmounts.dmi differ diff --git a/icons/obj/watercloset.dmi b/icons/obj/watercloset.dmi index 3358d1e3ea5f4..93ab67c804cc8 100644 Binary files a/icons/obj/watercloset.dmi and b/icons/obj/watercloset.dmi differ diff --git a/icons/obj/weapons/guns/bows/arrows.dmi b/icons/obj/weapons/bows/arrows.dmi similarity index 100% rename from icons/obj/weapons/guns/bows/arrows.dmi rename to icons/obj/weapons/bows/arrows.dmi diff --git a/icons/obj/weapons/guns/bows/bows.dmi b/icons/obj/weapons/bows/bows.dmi similarity index 100% rename from icons/obj/weapons/guns/bows/bows.dmi rename to icons/obj/weapons/bows/bows.dmi diff --git a/icons/obj/weapons/guns/bows/quivers.dmi b/icons/obj/weapons/bows/quivers.dmi similarity index 100% rename from icons/obj/weapons/guns/bows/quivers.dmi rename to icons/obj/weapons/bows/quivers.dmi diff --git a/icons/obj/weapons/extinguisher.dmi b/icons/obj/weapons/extinguisher.dmi deleted file mode 100644 index c6954c9defff7..0000000000000 Binary files a/icons/obj/weapons/extinguisher.dmi and /dev/null differ diff --git a/icons/obj/weapons/giant_wrench.dmi b/icons/obj/weapons/giant_wrench.dmi new file mode 100644 index 0000000000000..b9aef713d6a4d Binary files /dev/null and b/icons/obj/weapons/giant_wrench.dmi differ diff --git a/icons/obj/weapons/grenade.dmi b/icons/obj/weapons/grenade.dmi index 1a6a1d26d977e..40ab4d99e05fc 100644 Binary files a/icons/obj/weapons/grenade.dmi and b/icons/obj/weapons/grenade.dmi differ diff --git a/icons/obj/weapons/guns/ammo.dmi b/icons/obj/weapons/guns/ammo.dmi index 5dd3d83b20600..a36b593706f76 100644 Binary files a/icons/obj/weapons/guns/ammo.dmi and b/icons/obj/weapons/guns/ammo.dmi differ diff --git a/icons/obj/weapons/guns/ballistic.dmi b/icons/obj/weapons/guns/ballistic.dmi index 620d9f3d281f3..9dd25af2a9219 100644 Binary files a/icons/obj/weapons/guns/ballistic.dmi and b/icons/obj/weapons/guns/ballistic.dmi differ diff --git a/icons/obj/weapons/guns/energy.dmi b/icons/obj/weapons/guns/energy.dmi index 3ec60e3f5e101..e45c5ee4869ed 100644 Binary files a/icons/obj/weapons/guns/energy.dmi and b/icons/obj/weapons/guns/energy.dmi differ diff --git a/icons/obj/weapons/guns/magic.dmi b/icons/obj/weapons/guns/magic.dmi index 3a97682ef6612..7cab0cdfc2592 100644 Binary files a/icons/obj/weapons/guns/magic.dmi and b/icons/obj/weapons/guns/magic.dmi differ diff --git a/icons/obj/weapons/guns/mosinnagant.dmi b/icons/obj/weapons/guns/mosinnagant.dmi deleted file mode 100644 index 87fff58e6ca0c..0000000000000 Binary files a/icons/obj/weapons/guns/mosinnagant.dmi and /dev/null differ diff --git a/icons/obj/weapons/guns/projectiles.dmi b/icons/obj/weapons/guns/projectiles.dmi index 4ffb43a3e794f..3c2d3ff452cd0 100644 Binary files a/icons/obj/weapons/guns/projectiles.dmi and b/icons/obj/weapons/guns/projectiles.dmi differ diff --git a/icons/obj/weapons/guns/toy.dmi b/icons/obj/weapons/guns/toy.dmi index b59dfca674054..83a85e7e447c7 100644 Binary files a/icons/obj/weapons/guns/toy.dmi and b/icons/obj/weapons/guns/toy.dmi differ diff --git a/icons/obj/weapons/guns/wide_guns.dmi b/icons/obj/weapons/guns/wide_guns.dmi index 0894128677e68..1f51a0a91d8f5 100644 Binary files a/icons/obj/weapons/guns/wide_guns.dmi and b/icons/obj/weapons/guns/wide_guns.dmi differ diff --git a/icons/obj/weapons/hammer.dmi b/icons/obj/weapons/hammer.dmi index 3e06d9d7defec..c210f8b436b3a 100644 Binary files a/icons/obj/weapons/hammer.dmi and b/icons/obj/weapons/hammer.dmi differ diff --git a/icons/obj/weapons/improvised.dmi b/icons/obj/weapons/improvised.dmi index b2ef58f7088a7..a98d5cad860da 100644 Binary files a/icons/obj/weapons/improvised.dmi and b/icons/obj/weapons/improvised.dmi differ diff --git a/icons/obj/weapons/khopesh.dmi b/icons/obj/weapons/khopesh.dmi new file mode 100644 index 0000000000000..ab7a0c252cbf7 Binary files /dev/null and b/icons/obj/weapons/khopesh.dmi differ diff --git a/icons/obj/weapons/spear.dmi b/icons/obj/weapons/spear.dmi index 2598615f92a42..917365235ecd4 100644 Binary files a/icons/obj/weapons/spear.dmi and b/icons/obj/weapons/spear.dmi differ diff --git a/icons/obj/weapons/stabby.dmi b/icons/obj/weapons/stabby.dmi new file mode 100644 index 0000000000000..f49bac3272af6 Binary files /dev/null and b/icons/obj/weapons/stabby.dmi differ diff --git a/icons/obj/weapons/staff.dmi b/icons/obj/weapons/staff.dmi index ddd567cc337cd..da97e484df966 100644 Binary files a/icons/obj/weapons/staff.dmi and b/icons/obj/weapons/staff.dmi differ diff --git a/icons/obj/weapons/sword.dmi b/icons/obj/weapons/sword.dmi index 0125b60444573..8e6ee6bdd2fef 100644 Binary files a/icons/obj/weapons/sword.dmi and b/icons/obj/weapons/sword.dmi differ diff --git a/icons/obj/weapons/transforming_energy.dmi b/icons/obj/weapons/transforming_energy.dmi index 6fcedfaef4660..44191656e8941 100644 Binary files a/icons/obj/weapons/transforming_energy.dmi and b/icons/obj/weapons/transforming_energy.dmi differ diff --git a/icons/obj/wizard.dmi b/icons/obj/wizard.dmi deleted file mode 100644 index ac99107f3934d..0000000000000 Binary files a/icons/obj/wizard.dmi and /dev/null differ diff --git a/icons/obj/xenobiology/slimecrossing.dmi b/icons/obj/xenobiology/slimecrossing.dmi deleted file mode 100644 index 07bdc442022f9..0000000000000 Binary files a/icons/obj/xenobiology/slimecrossing.dmi and /dev/null differ diff --git a/icons/testing/lighting_debug.dmi b/icons/testing/lighting_debug.dmi new file mode 100644 index 0000000000000..44121b6e91ce7 Binary files /dev/null and b/icons/testing/lighting_debug.dmi differ diff --git a/icons/testing/turf_analysis.dmi b/icons/testing/turf_analysis.dmi index e3aac1ebd05b8..864e6c14643d1 100644 Binary files a/icons/testing/turf_analysis.dmi and b/icons/testing/turf_analysis.dmi differ diff --git a/icons/turf/cliff/cliff.dmi b/icons/turf/cliff/cliff.dmi new file mode 100644 index 0000000000000..af2f855fd8b36 Binary files /dev/null and b/icons/turf/cliff/cliff.dmi differ diff --git a/icons/turf/cliff/icerock_cliff.dmi b/icons/turf/cliff/icerock_cliff.dmi new file mode 100644 index 0000000000000..260a963a1eaea Binary files /dev/null and b/icons/turf/cliff/icerock_cliff.dmi differ diff --git a/icons/materials/composite.dmi b/icons/turf/composite.dmi similarity index 100% rename from icons/materials/composite.dmi rename to icons/turf/composite.dmi diff --git a/icons/turf/debug.dmi b/icons/turf/debug.dmi index be6320809d9a2..debc965d0ecd8 100644 Binary files a/icons/turf/debug.dmi and b/icons/turf/debug.dmi differ diff --git a/icons/turf/decals.dmi b/icons/turf/decals.dmi index c8a228c9a6b7e..5fe3e0368179a 100644 Binary files a/icons/turf/decals.dmi and b/icons/turf/decals.dmi differ diff --git a/icons/turf/floors.dmi b/icons/turf/floors.dmi index 8a1575fcec640..6ddc178b98cdb 100644 Binary files a/icons/turf/floors.dmi and b/icons/turf/floors.dmi differ diff --git a/icons/turf/overlays.dmi b/icons/turf/overlays.dmi index 83309e4d18ebb..c9decbc5a3af3 100644 Binary files a/icons/turf/overlays.dmi and b/icons/turf/overlays.dmi differ diff --git a/icons/turf/smoothrocks.dmi b/icons/turf/smoothrocks.dmi index 0948aaaaa3b8d..9a60937a2195a 100644 Binary files a/icons/turf/smoothrocks.dmi and b/icons/turf/smoothrocks.dmi differ diff --git a/icons/ui_icons/achievements/achievements.dmi b/icons/ui_icons/achievements/achievements.dmi index ba4ee70643167..b3e64c9d09f83 100644 Binary files a/icons/ui_icons/achievements/achievements.dmi and b/icons/ui_icons/achievements/achievements.dmi differ diff --git a/icons/ui_icons/fishing/default.png b/icons/ui_icons/fishing/default.png deleted file mode 100644 index f21074ac2dde8..0000000000000 Binary files a/icons/ui_icons/fishing/default.png and /dev/null differ diff --git a/icons/ui_icons/fishing/lavaland.png b/icons/ui_icons/fishing/lavaland.png deleted file mode 100644 index 6c97f66432e94..0000000000000 Binary files a/icons/ui_icons/fishing/lavaland.png and /dev/null differ diff --git a/icons/ui_icons/screentips/cursor_hints.dmi b/icons/ui_icons/screentips/cursor_hints.dmi new file mode 100644 index 0000000000000..2fdbb2d04d50b Binary files /dev/null and b/icons/ui_icons/screentips/cursor_hints.dmi differ diff --git a/interface/fonts.dm b/interface/fonts.dm deleted file mode 100644 index 0bfc9c728c7c1..0000000000000 --- a/interface/fonts.dm +++ /dev/null @@ -1,10 +0,0 @@ -/// A font datum, it exists to define a custom font to use in a span style later. -/datum/font - /// Font name, just so people know what to put in their span style. - var/name - /// The font file we link to. - var/font_family - -/datum/font/vcr_osd_mono - name = "VCR OSD Mono" - font_family = 'interface/VCR_OSD_Mono.ttf' diff --git a/interface/fonts/Grand9K_Pixel.ttf b/interface/fonts/Grand9K_Pixel.ttf new file mode 100644 index 0000000000000..cf6fdf44e2ec7 Binary files /dev/null and b/interface/fonts/Grand9K_Pixel.ttf differ diff --git a/interface/fonts/Pixellari.ttf b/interface/fonts/Pixellari.ttf new file mode 100644 index 0000000000000..5a3a3c2b11048 Binary files /dev/null and b/interface/fonts/Pixellari.ttf differ diff --git a/interface/fonts/SpessFont.ttf b/interface/fonts/SpessFont.ttf new file mode 100644 index 0000000000000..8f7c7e08d0d86 Binary files /dev/null and b/interface/fonts/SpessFont.ttf differ diff --git a/interface/fonts/TinyUnicode.ttf b/interface/fonts/TinyUnicode.ttf new file mode 100644 index 0000000000000..74d0d3e386e61 Binary files /dev/null and b/interface/fonts/TinyUnicode.ttf differ diff --git a/interface/VCR_OSD_Mono.ttf b/interface/fonts/VCR_OSD_Mono.ttf similarity index 100% rename from interface/VCR_OSD_Mono.ttf rename to interface/fonts/VCR_OSD_Mono.ttf diff --git a/interface/fonts/fonts_datum.dm b/interface/fonts/fonts_datum.dm new file mode 100644 index 0000000000000..a346706d7fa0f --- /dev/null +++ b/interface/fonts/fonts_datum.dm @@ -0,0 +1,78 @@ +/// A font datum, it exists to define a custom font to use in a span style later. +/datum/font + /// Font name, just so people know what to put in their span style. + var/name + /// The font file we link to. + var/font_family + + /// Font features and metrics + /// Generated by Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus) + /// Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe + + /// list of font size/spacing metrics + var/list/metrics + /// total height of a line + var/height + /// distance above baseline (including whitespace) + var/ascent + /// distance below baseline + var/descent + /// average character width + var/average_width + /// maximum character width + var/max_width + /// extra width, such as from italics, for a line + var/overhang + /// internal leading vertical space, for accent marks + var/in_leading + /// external leading vertical space, just plain blank + var/ex_leading + /// default character (for undefined chars) + var/default_character + /// first character in metrics + var/start + /// last character in metrics + var/end + +/// Get font metrics +/// From Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus) +/datum/font/proc/get_metrics(text, flags, first_line) + . = 0 + var/longest = 0 + if(!length(text)) + return + + var/i = 1 + var/idx + while(i <= length(text)) + var/character = text2ascii(text, i++) + if(character <= 10) + if(character <= 7) + . += character // spacers for justification + + if(character <= 9) + continue // soft-break chars + + if(. && idx && !(flags & INCLUDE_AC)) + . -= max(metrics[idx + 3], 0) + + longest = max(longest, . + first_line) + . = 0 + first_line = 0 + idx = 0 + continue + + idx = (character - start) * 3 + if(idx <= 0 || idx >= metrics.len) + idx = (default_character - start) * 3 + + if(!. && !(flags & INCLUDE_AC)) + . -= metrics[idx + 1] + . += metrics[idx + 1] + metrics[idx + 2] + metrics[idx +3] + + if(. && idx && !(flags & INCLUDE_AC)) + . -= max(metrics[idx + 3], 0) + + . = max(. + first_line, longest) + if(. > 0) + . += overhang diff --git a/interface/fonts/grand_9k.dm b/interface/fonts/grand_9k.dm new file mode 100644 index 0000000000000..7993d307bcbe5 --- /dev/null +++ b/interface/fonts/grand_9k.dm @@ -0,0 +1,253 @@ +/// For clean results on map, use only sizing pt, multiples of 6: 6pt 12pt 18pt 24pt etc. - Not for use with px sizing +/// Can be used in TGUI etc, px sizing is pt / 0.75. 6pt = 8px, 12pt = 16px etc. + +/// Base font +/datum/font/grand9k + name = "Grand9K Pixel" + font_family = 'interface/fonts/Grand9K_Pixel.ttf' + +/// For icon overlays +/// Grand9K 6pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus) +/// Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe +/datum/font/grand9k/size_6pt + name = "Grand9K Pixel 6pt" + height = 12 + ascent = 10 + descent = 2 + average_width = 4 + max_width = 9 + overhang = 0 + in_leading = 4 + ex_leading = 1 + default_character = 31 + start = 30 + end = 255 + metrics = list( + 0, 5, 1, // char 30 + 0, 5, 1, // char 31 + 0, 1, 1, // char 32 + 0, 1, 1, // char 33 + 0, 3, 1, // char 34 + 0, 6, 1, // char 35 + 0, 5, 1, // char 36 + 0, 7, 1, // char 37 + 0, 5, 1, // char 38 + 0, 1, 1, // char 39 + 0, 3, 1, // char 40 + 0, 3, 1, // char 41 + 0, 5, 1, // char 42 + 0, 5, 1, // char 43 + 0, 1, 1, // char 44 + 0, 4, 1, // char 45 + 0, 1, 1, // char 46 + 0, 3, 1, // char 47 + 0, 5, 1, // char 48 + 0, 2, 1, // char 49 + 0, 5, 1, // char 50 + 0, 4, 1, // char 51 + 0, 5, 1, // char 52 + 0, 5, 1, // char 53 + 0, 5, 1, // char 54 + 0, 5, 1, // char 55 + 0, 5, 1, // char 56 + 0, 5, 1, // char 57 + 0, 1, 1, // char 58 + 0, 1, 1, // char 59 + 0, 4, 1, // char 60 + 0, 4, 1, // char 61 + 0, 4, 1, // char 62 + 0, 4, 1, // char 63 + 0, 7, 1, // char 64 + 0, 5, 1, // char 65 + 0, 5, 1, // char 66 + 0, 4, 1, // char 67 + 0, 5, 1, // char 68 + 0, 4, 1, // char 69 + 0, 4, 1, // char 70 + 0, 5, 1, // char 71 + 0, 5, 1, // char 72 + 0, 1, 1, // char 73 + 0, 5, 1, // char 74 + 0, 5, 1, // char 75 + 0, 5, 1, // char 76 + 0, 5, 1, // char 77 + 0, 5, 1, // char 78 + 0, 5, 1, // char 79 + 0, 5, 1, // char 80 + 0, 6, 1, // char 81 + 0, 5, 1, // char 82 + 0, 5, 1, // char 83 + 0, 5, 1, // char 84 + 0, 5, 1, // char 85 + 0, 5, 1, // char 86 + 0, 5, 1, // char 87 + 0, 5, 1, // char 88 + 0, 5, 1, // char 89 + 0, 5, 1, // char 90 + 0, 3, 1, // char 91 + 0, 3, 1, // char 92 + 0, 3, 1, // char 93 + 0, 5, 1, // char 94 + 0, 4, 0, // char 95 + 0, 2, 1, // char 96 + 0, 4, 1, // char 97 + 0, 4, 1, // char 98 + 0, 3, 1, // char 99 + 0, 4, 1, // char 100 + 0, 4, 1, // char 101 + 0, 4, 1, // char 102 + 0, 4, 1, // char 103 + 0, 4, 1, // char 104 + 0, 1, 1, // char 105 + 0, 3, 1, // char 106 + 0, 4, 1, // char 107 + 0, 1, 1, // char 108 + 0, 5, 1, // char 109 + 0, 4, 1, // char 110 + 0, 4, 1, // char 111 + 0, 4, 1, // char 112 + 0, 4, 1, // char 113 + 0, 4, 1, // char 114 + 0, 4, 1, // char 115 + 0, 4, 1, // char 116 + 0, 4, 1, // char 117 + 0, 5, 1, // char 118 + 0, 5, 1, // char 119 + 0, 5, 1, // char 120 + 0, 4, 1, // char 121 + 0, 5, 1, // char 122 + 0, 4, 1, // char 123 + 0, 1, 1, // char 124 + 0, 4, 1, // char 125 + 0, 6, 1, // char 126 + 0, 5, 1, // char 127 + 0, 5, 1, // char 128 + 0, 5, 1, // char 129 + 0, 1, 1, // char 130 + 0, 5, 1, // char 131 + 0, 3, 1, // char 132 + 0, 5, 1, // char 133 + 0, 5, 1, // char 134 + 0, 5, 1, // char 135 + 0, 5, 1, // char 136 + 0, 5, 1, // char 137 + 0, 5, 1, // char 138 + 0, 3, 1, // char 139 + 0, 6, 1, // char 140 + 0, 5, 1, // char 141 + 0, 5, 1, // char 142 + 0, 5, 1, // char 143 + 0, 5, 1, // char 144 + 0, 1, 1, // char 145 + 0, 1, 1, // char 146 + 0, 3, 1, // char 147 + 0, 3, 1, // char 148 + 0, 1, 1, // char 149 + 0, 5, 1, // char 150 + 0, 5, 1, // char 151 + 0, 5, 1, // char 152 + 0, 8, 1, // char 153 + 0, 4, 1, // char 154 + 0, 3, 1, // char 155 + 0, 5, 1, // char 156 + 0, 5, 1, // char 157 + 0, 5, 1, // char 158 + 0, 5, 1, // char 159 + 0, 1, 1, // char 160 + 0, 1, 1, // char 161 + 0, 4, 1, // char 162 + 0, 5, 1, // char 163 + 0, 5, 1, // char 164 + 0, 5, 1, // char 165 + 0, 1, 1, // char 166 + 0, 5, 1, // char 167 + 0, 3, 1, // char 168 + 0, 8, 1, // char 169 + 0, 5, 1, // char 170 + 0, 6, 1, // char 171 + 0, 4, 1, // char 172 + 0, 5, 1, // char 173 + 0, 8, 1, // char 174 + 0, 5, 1, // char 175 + 0, 3, 1, // char 176 + 0, 5, 1, // char 177 + 0, 5, 1, // char 178 + 0, 5, 1, // char 179 + 0, 2, 1, // char 180 + 0, 4, 1, // char 181 + 0, 5, 1, // char 182 + 0, 1, 1, // char 183 + 0, 2, 1, // char 184 + 0, 5, 1, // char 185 + 0, 5, 1, // char 186 + 0, 6, 1, // char 187 + 0, 5, 1, // char 188 + 0, 5, 1, // char 189 + 0, 5, 1, // char 190 + 0, 4, 1, // char 191 + 0, 5, 1, // char 192 + 0, 5, 1, // char 193 + 0, 5, 1, // char 194 + 0, 6, 0, // char 195 + 0, 5, 1, // char 196 + 0, 5, 1, // char 197 + 0, 6, 1, // char 198 + 0, 4, 1, // char 199 + 0, 4, 1, // char 200 + 0, 4, 1, // char 201 + 0, 4, 1, // char 202 + 0, 4, 1, // char 203 + 1, 2, 0, // char 204 + 0, 2, 1, // char 205 + 0, 3, 0, // char 206 + 0, 3, 0, // char 207 + 0, 6, 1, // char 208 + 0, 6, 0, // char 209 + 0, 5, 1, // char 210 + 0, 5, 1, // char 211 + 0, 5, 1, // char 212 + 0, 6, 1, // char 213 + 0, 5, 1, // char 214 + 0, 5, 1, // char 215 + 0, 5, 1, // char 216 + 0, 5, 1, // char 217 + 0, 5, 1, // char 218 + 0, 5, 1, // char 219 + 0, 5, 1, // char 220 + 0, 5, 1, // char 221 + 0, 5, 1, // char 222 + 0, 5, 1, // char 223 + 0, 4, 1, // char 224 + 0, 4, 1, // char 225 + 0, 4, 1, // char 226 + 0, 4, 1, // char 227 + 0, 4, 1, // char 228 + 0, 4, 1, // char 229 + 0, 5, 1, // char 230 + 0, 3, 1, // char 231 + 0, 4, 1, // char 232 + 0, 4, 1, // char 233 + 0, 4, 1, // char 234 + 0, 4, 1, // char 235 + 0, 2, 1, // char 236 + 1, 2, 0, // char 237 + 0, 3, 0, // char 238 + 0, 3, 0, // char 239 + 0, 5, 0, // char 240 + 0, 4, 1, // char 241 + 0, 4, 1, // char 242 + 0, 4, 1, // char 243 + 0, 4, 1, // char 244 + 0, 4, 1, // char 245 + 0, 4, 1, // char 246 + 0, 5, 1, // char 247 + 0, 4, 1, // char 248 + 0, 4, 1, // char 249 + 0, 4, 1, // char 250 + 0, 4, 1, // char 251 + 0, 4, 1, // char 252 + 0, 4, 1, // char 253 + 0, 4, 1, // char 254 + 0, 4, 1, // char 255 + 226 + ) diff --git a/interface/fonts/license.txt b/interface/fonts/license.txt new file mode 100644 index 0000000000000..9aa70fbac2a9e --- /dev/null +++ b/interface/fonts/license.txt @@ -0,0 +1,13 @@ +Grand9K Pixel created by Jayvee Enaguas. Licensed under Creative Commons Attribution 4.0 International (CC BY 4.0) +(https://creativecommons.org/licenses/by/4.0/) (https://www.dafont.com/grand9k-pixel.font) + +Pixellari created by Zacchary Dempsey-Plante. Website indicates free for commercial use. +(https://www.dafont.com/pixellari.font?fpp=200) + +Spess Font created by MTandi (discord) for /tg/station. + +Tiny Unicode created by Jakob Riedle/DuffsDevice. Website indicates free for commercial use. +(https://fontmeme.com/fonts/tiny-unicode-font/) + +VCR OSD Mono created by Riciery Leal/mrmanet. Website indicates 100% free, author confirms it's free for all to use. +(https://www.dafont.com/font-comment.php?file=vcr_osd_mono) diff --git a/interface/fonts/pixellari.dm b/interface/fonts/pixellari.dm new file mode 100644 index 0000000000000..24fcd1961fecf --- /dev/null +++ b/interface/fonts/pixellari.dm @@ -0,0 +1,252 @@ +/// For clean results on map, use only sizing pt, multiples of 12: 12pt 24pt 48pt etc. - Not for use with px sizing +/// Can be used in TGUI etc, px sizing is pt / 0.75. 12pt = 16px, 24pt = 32px etc. + +/// Base font +/datum/font/pixellari + name = "Pixellari" + font_family = 'interface/fonts/Pixellari.ttf' + +/// For icon overlays +/// Pixellari 12pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus) +/// Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe +/datum/font/pixellari/size_12pt + name = "Pixellari 12pt" + height = 16 + ascent = 12 + descent = 4 + average_width = 7 + max_width = 15 + overhang = 0 + in_leading = 0 + ex_leading = 1 + default_character = 31 + start = 30 + end = 255 + metrics = list(\ + 1, 5, 0, /* char 30 */ \ + 1, 5, 0, /* char 31 */ \ + 0, 1, 4, /* char 32 */ \ + 1, 2, 1, /* char 33 */ \ + 1, 5, 1, /* char 34 */ \ + 0, 8, 1, /* char 35 */ \ + 2, 6, 1, /* char 36 */ \ + 0, 13, 1, /* char 37 */ \ + 1, 8, 1, /* char 38 */ \ + 1, 2, 1, /* char 39 */ \ + 1, 3, 1, /* char 40 */ \ + 2, 3, 1, /* char 41 */ \ + 0, 6, 1, /* char 42 */ \ + 1, 6, 1, /* char 43 */ \ + 1, 2, 1, /* char 44 */ \ + 1, 6, 1, /* char 45 */ \ + 1, 2, 1, /* char 46 */ \ + 0, 6, 1, /* char 47 */ \ + 1, 7, 1, /* char 48 */ \ + 2, 6, 1, /* char 49 */ \ + 1, 6, 1, /* char 50 */ \ + 1, 6, 1, /* char 51 */ \ + 1, 7, 1, /* char 52 */ \ + 1, 6, 1, /* char 53 */ \ + 1, 6, 1, /* char 54 */ \ + 1, 7, 1, /* char 55 */ \ + 1, 6, 1, /* char 56 */ \ + 1, 6, 1, /* char 57 */ \ + 1, 2, 1, /* char 58 */ \ + 1, 2, 1, /* char 59 */ \ + 0, 10, 1, /* char 60 */ \ + 1, 6, 1, /* char 61 */ \ + 0, 10, 1, /* char 62 */ \ + 1, 6, 1, /* char 63 */ \ + 1, 12, 1, /* char 64 */ \ + 1, 8, 1, /* char 65 */ \ + 1, 8, 1, /* char 66 */ \ + 2, 7, 1, /* char 67 */ \ + 2, 8, 1, /* char 68 */ \ + 2, 6, 1, /* char 69 */ \ + 2, 6, 1, /* char 70 */ \ + 2, 7, 1, /* char 71 */ \ + 1, 8, 1, /* char 72 */ \ + 1, 4, 1, /* char 73 */ \ + 0, 7, 1, /* char 74 */ \ + 1, 8, 1, /* char 75 */ \ + 1, 6, 1, /* char 76 */ \ + 1, 10, 1, /* char 77 */ \ + 1, 9, 1, /* char 78 */ \ + 2, 8, 1, /* char 79 */ \ + 1, 7, 1, /* char 80 */ \ + 2, 9, 1, /* char 81 */ \ + 1, 8, 1, /* char 82 */ \ + 1, 8, 1, /* char 83 */ \ + 1, 8, 1, /* char 84 */ \ + 2, 8, 1, /* char 85 */ \ + 2, 8, 1, /* char 86 */ \ + 1, 10, 1, /* char 87 */ \ + 1, 8, 1, /* char 88 */ \ + 1, 8, 1, /* char 89 */ \ + 0, 10, 1, /* char 90 */ \ + 1, 3, 1, /* char 91 */ \ + 0, 6, 1, /* char 92 */ \ + 2, 3, 1, /* char 93 */ \ + 0, 7, 1, /* char 94 */ \ + 0, 8, 1, /* char 95 */ \ + 1, 3, 1, /* char 96 */ \ + 1, 6, 1, /* char 97 */ \ + 1, 7, 1, /* char 98 */ \ + 1, 6, 1, /* char 99 */ \ + 1, 7, 1, /* char 100 */ \ + 1, 6, 1, /* char 101 */ \ + 1, 4, 1, /* char 102 */ \ + 1, 7, 1, /* char 103 */ \ + 1, 7, 1, /* char 104 */ \ + 1, 2, 1, /* char 105 */ \ + -1, 4, 1, /* char 106 */ \ + 0, 7, 1, /* char 107 */ \ + 1, 2, 1, /* char 108 */ \ + 1, 10, 1, /* char 109 */ \ + 1, 6, 1, /* char 110 */ \ + 1, 6, 1, /* char 111 */ \ + 1, 7, 1, /* char 112 */ \ + 1, 7, 1, /* char 113 */ \ + 1, 6, 1, /* char 114 */ \ + 1, 6, 1, /* char 115 */ \ + 0, 4, 1, /* char 116 */ \ + 1, 6, 1, /* char 117 */ \ + 1, 6, 1, /* char 118 */ \ + 1, 10, 1, /* char 119 */ \ + 1, 6, 1, /* char 120 */ \ + 1, 6, 1, /* char 121 */ \ + 1, 6, 1, /* char 122 */ \ + 0, 5, 1, /* char 123 */ \ + 1, 2, 1, /* char 124 */ \ + 0, 5, 1, /* char 125 */ \ + 1, 8, 1, /* char 126 */ \ + 1, 5, 0, /* char 127 */ \ + 1, 8, 1, /* char 128 */ \ + 1, 5, 0, /* char 129 */ \ + 1, 5, 0, /* char 130 */ \ + 1, 5, 0, /* char 131 */ \ + 1, 5, 0, /* char 132 */ \ + 1, 5, 0, /* char 133 */ \ + 1, 5, 0, /* char 134 */ \ + 1, 5, 0, /* char 135 */ \ + 1, 5, 0, /* char 136 */ \ + 1, 5, 0, /* char 137 */ \ + 1, 8, 1, /* char 138 */ \ + 1, 5, 0, /* char 139 */ \ + 0, 14, 1, /* char 140 */ \ + 1, 5, 0, /* char 141 */ \ + 0, 10, 1, /* char 142 */ \ + 1, 5, 0, /* char 143 */ \ + 1, 5, 0, /* char 144 */ \ + 1, 5, 0, /* char 145 */ \ + 1, 5, 0, /* char 146 */ \ + 1, 5, 0, /* char 147 */ \ + 1, 5, 0, /* char 148 */ \ + 1, 5, 0, /* char 149 */ \ + 1, 5, 0, /* char 150 */ \ + 1, 5, 0, /* char 151 */ \ + 1, 5, 0, /* char 152 */ \ + 1, 5, 0, /* char 153 */ \ + 1, 6, 1, /* char 154 */ \ + 1, 5, 0, /* char 155 */ \ + 1, 11, 1, /* char 156 */ \ + 1, 5, 0, /* char 157 */ \ + 1, 6, 1, /* char 158 */ \ + 1, 8, 1, /* char 159 */ \ + 0, 1, 4, /* char 160 */ \ + 1, 2, 1, /* char 161 */ \ + 1, 6, 1, /* char 162 */ \ + 0, 8, 1, /* char 163 */ \ + 0, 9, 1, /* char 164 */ \ + 1, 8, 1, /* char 165 */ \ + 1, 2, 1, /* char 166 */ \ + 1, 7, 1, /* char 167 */ \ + 0, 5, 1, /* char 168 */ \ + -1, 12, 1, /* char 169 */ \ + 0, 6, 1, /* char 170 */ \ + 0, 8, 1, /* char 171 */ \ + 1, 8, 1, /* char 172 */ \ + 1, 5, 0, /* char 173 */ \ + -1, 12, 1, /* char 174 */ \ + 2, 4, 1, /* char 175 */ \ + 0, 6, 1, /* char 176 */ \ + 1, 6, 1, /* char 177 */ \ + 0, 5, 1, /* char 178 */ \ + 0, 5, 1, /* char 179 */ \ + 1, 3, 1, /* char 180 */ \ + 1, 6, 1, /* char 181 */ \ + 1, 7, 1, /* char 182 */ \ + 1, 2, 1, /* char 183 */ \ + 1, 3, 1, /* char 184 */ \ + 1, 4, 1, /* char 185 */ \ + 0, 6, 1, /* char 186 */ \ + 0, 8, 1, /* char 187 */ \ + 1, 13, 1, /* char 188 */ \ + 1, 12, 1, /* char 189 */ \ + 0, 13, 1, /* char 190 */ \ + 1, 6, 1, /* char 191 */ \ + 1, 8, 1, /* char 192 */ \ + 1, 8, 1, /* char 193 */ \ + 1, 8, 1, /* char 194 */ \ + 1, 8, 1, /* char 195 */ \ + 1, 8, 1, /* char 196 */ \ + 1, 8, 1, /* char 197 */ \ + 0, 13, 1, /* char 198 */ \ + 2, 7, 1, /* char 199 */ \ + 2, 6, 1, /* char 200 */ \ + 2, 6, 1, /* char 201 */ \ + 2, 6, 1, /* char 202 */ \ + 2, 6, 1, /* char 203 */ \ + 1, 4, 1, /* char 204 */ \ + 1, 4, 1, /* char 205 */ \ + 1, 4, 1, /* char 206 */ \ + 1, 4, 1, /* char 207 */ \ + 0, 10, 1, /* char 208 */ \ + 1, 9, 1, /* char 209 */ \ + 2, 8, 1, /* char 210 */ \ + 2, 8, 1, /* char 211 */ \ + 2, 8, 1, /* char 212 */ \ + 2, 8, 1, /* char 213 */ \ + 2, 8, 1, /* char 214 */ \ + 1, 6, 1, /* char 215 */ \ + -2, 14, 1, /* char 216 */ \ + 2, 8, 1, /* char 217 */ \ + 2, 8, 1, /* char 218 */ \ + 2, 8, 1, /* char 219 */ \ + 2, 8, 1, /* char 220 */ \ + 1, 8, 1, /* char 221 */ \ + 1, 8, 1, /* char 222 */ \ + 1, 8, 1, /* char 223 */ \ + 1, 6, 1, /* char 224 */ \ + 1, 6, 1, /* char 225 */ \ + 1, 6, 1, /* char 226 */ \ + 1, 6, 1, /* char 227 */ \ + 1, 6, 1, /* char 228 */ \ + 1, 6, 1, /* char 229 */ \ + 1, 11, 1, /* char 230 */ \ + 1, 6, 1, /* char 231 */ \ + 1, 6, 1, /* char 232 */ \ + 1, 6, 1, /* char 233 */ \ + 1, 6, 1, /* char 234 */ \ + 1, 6, 1, /* char 235 */ \ + 1, 2, 1, /* char 236 */ \ + 1, 2, 1, /* char 237 */ \ + 0, 4, 1, /* char 238 */ \ + 0, 4, 1, /* char 239 */ \ + 1, 7, 1, /* char 240 */ \ + 1, 6, 1, /* char 241 */ \ + 1, 6, 1, /* char 242 */ \ + 1, 6, 1, /* char 243 */ \ + 1, 6, 1, /* char 244 */ \ + 1, 6, 1, /* char 245 */ \ + 1, 6, 1, /* char 246 */ \ + 1, 6, 1, /* char 247 */ \ + 0, 10, 1, /* char 248 */ \ + 1, 6, 1, /* char 249 */ \ + 1, 6, 1, /* char 250 */ \ + 1, 6, 1, /* char 251 */ \ + 1, 6, 1, /* char 252 */ \ + 1, 6, 1, /* char 253 */ \ + 1, 8, 1, /* char 254 */ \ + 1, 6, 1, /* char 255 */ \ + 226) diff --git a/interface/fonts/spess_font.dm b/interface/fonts/spess_font.dm new file mode 100644 index 0000000000000..07e8ea5b3ba66 --- /dev/null +++ b/interface/fonts/spess_font.dm @@ -0,0 +1,252 @@ +/// For clean results on map, use only sizing pt, multiples of 6: 6t 12pt 18pt etc. - Not for use with px sizing +/// Can be used in TGUI etc, px sizing is pt / 0.75. 12pt = 16px, 24pt = 32px etc. + +/// Base font +/datum/font/spessfont + name = "Spess Font" + font_family = 'interface/fonts/SpessFont.ttf' + +/// For icon overlays +/// Spess Font 6pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus) +/// Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe +/datum/font/spessfont/size_6pt + name = "Spess Font 6pt" + height = 8 + ascent = 6 + descent = 2 + average_width = 4 + max_width = 6 + overhang = 0 + in_leading = 0 + ex_leading = 0 + default_character = 31 + start = 30 + end = 255 + metrics = list(\ + 0, 1, 0, /* char 30 */ \ + 0, 1, 0, /* char 31 */ \ + 0, 1, 1, /* char 32 */ \ + 0, 1, 1, /* char 33 */ \ + 0, 3, 1, /* char 34 */ \ + 0, 5, 1, /* char 35 */ \ + 0, 3, 1, /* char 36 */ \ + 0, 5, 1, /* char 37 */ \ + 0, 5, 1, /* char 38 */ \ + 0, 1, 1, /* char 39 */ \ + 0, 2, 1, /* char 40 */ \ + 0, 2, 1, /* char 41 */ \ + 0, 3, 1, /* char 42 */ \ + 0, 3, 1, /* char 43 */ \ + 0, 1, 1, /* char 44 */ \ + 0, 3, 1, /* char 45 */ \ + 0, 1, 1, /* char 46 */ \ + 0, 3, 1, /* char 47 */ \ + 0, 4, 1, /* char 48 */ \ + 0, 2, 1, /* char 49 */ \ + 0, 4, 1, /* char 50 */ \ + 0, 4, 1, /* char 51 */ \ + 0, 4, 1, /* char 52 */ \ + 0, 4, 1, /* char 53 */ \ + 0, 4, 1, /* char 54 */ \ + 0, 4, 1, /* char 55 */ \ + 0, 4, 1, /* char 56 */ \ + 0, 4, 1, /* char 57 */ \ + 0, 1, 1, /* char 58 */ \ + 0, 1, 1, /* char 59 */ \ + 0, 3, 1, /* char 60 */ \ + 0, 3, 1, /* char 61 */ \ + 0, 3, 1, /* char 62 */ \ + 0, 3, 1, /* char 63 */ \ + 0, 4, 1, /* char 64 */ \ + 0, 4, 1, /* char 65 */ \ + 0, 4, 1, /* char 66 */ \ + 0, 4, 1, /* char 67 */ \ + 0, 4, 1, /* char 68 */ \ + 0, 4, 1, /* char 69 */ \ + 0, 4, 1, /* char 70 */ \ + 0, 4, 1, /* char 71 */ \ + 0, 4, 1, /* char 72 */ \ + 0, 3, 1, /* char 73 */ \ + 0, 4, 1, /* char 74 */ \ + 0, 4, 1, /* char 75 */ \ + 0, 4, 1, /* char 76 */ \ + 0, 5, 1, /* char 77 */ \ + 0, 4, 1, /* char 78 */ \ + 0, 4, 1, /* char 79 */ \ + 0, 4, 1, /* char 80 */ \ + 0, 4, 1, /* char 81 */ \ + 0, 4, 1, /* char 82 */ \ + 0, 4, 1, /* char 83 */ \ + 0, 5, 1, /* char 84 */ \ + 0, 4, 1, /* char 85 */ \ + 0, 4, 1, /* char 86 */ \ + 0, 5, 1, /* char 87 */ \ + 0, 5, 1, /* char 88 */ \ + 0, 4, 1, /* char 89 */ \ + 0, 4, 1, /* char 90 */ \ + 0, 2, 1, /* char 91 */ \ + 0, 3, 1, /* char 92 */ \ + 0, 2, 1, /* char 93 */ \ + 0, 3, 1, /* char 94 */ \ + 0, 4, 1, /* char 95 */ \ + 0, 2, 1, /* char 96 */ \ + 0, 3, 1, /* char 97 */ \ + 0, 4, 1, /* char 98 */ \ + 0, 3, 1, /* char 99 */ \ + 0, 4, 1, /* char 100 */ \ + 0, 3, 1, /* char 101 */ \ + 0, 2, 1, /* char 102 */ \ + 0, 4, 1, /* char 103 */ \ + 0, 3, 1, /* char 104 */ \ + 0, 1, 1, /* char 105 */ \ + 0, 1, 1, /* char 106 */ \ + 0, 3, 1, /* char 107 */ \ + 0, 1, 1, /* char 108 */ \ + 0, 5, 1, /* char 109 */ \ + 0, 3, 1, /* char 110 */ \ + 0, 4, 1, /* char 111 */ \ + 0, 4, 1, /* char 112 */ \ + 0, 4, 1, /* char 113 */ \ + 0, 2, 1, /* char 114 */ \ + 0, 3, 1, /* char 115 */ \ + 0, 2, 1, /* char 116 */ \ + 0, 3, 1, /* char 117 */ \ + 0, 3, 1, /* char 118 */ \ + 0, 5, 1, /* char 119 */ \ + 0, 3, 1, /* char 120 */ \ + 0, 3, 1, /* char 121 */ \ + 0, 3, 1, /* char 122 */ \ + 0, 3, 1, /* char 123 */ \ + 0, 1, 1, /* char 124 */ \ + 0, 3, 1, /* char 125 */ \ + 0, 4, 1, /* char 126 */ \ + 0, 1, 0, /* char 127 */ \ + 0, 1, 0, /* char 128 */ \ + 0, 1, 0, /* char 129 */ \ + 0, 1, 0, /* char 130 */ \ + 0, 1, 0, /* char 131 */ \ + 0, 1, 0, /* char 132 */ \ + 0, 1, 0, /* char 133 */ \ + 0, 1, 0, /* char 134 */ \ + 0, 1, 0, /* char 135 */ \ + 0, 1, 0, /* char 136 */ \ + 0, 1, 0, /* char 137 */ \ + 0, 1, 0, /* char 138 */ \ + 0, 1, 0, /* char 139 */ \ + 0, 1, 0, /* char 140 */ \ + 0, 1, 0, /* char 141 */ \ + 0, 1, 0, /* char 142 */ \ + 0, 1, 0, /* char 143 */ \ + 0, 1, 0, /* char 144 */ \ + 0, 1, 0, /* char 145 */ \ + 0, 1, 0, /* char 146 */ \ + 0, 1, 0, /* char 147 */ \ + 0, 1, 0, /* char 148 */ \ + 0, 1, 0, /* char 149 */ \ + 0, 1, 0, /* char 150 */ \ + 0, 1, 0, /* char 151 */ \ + 0, 1, 0, /* char 152 */ \ + 0, 1, 0, /* char 153 */ \ + 0, 1, 0, /* char 154 */ \ + 0, 1, 0, /* char 155 */ \ + 0, 1, 0, /* char 156 */ \ + 0, 1, 0, /* char 157 */ \ + 0, 1, 0, /* char 158 */ \ + 0, 1, 0, /* char 159 */ \ + 0, 1, 0, /* char 160 */ \ + 0, 1, 0, /* char 161 */ \ + 0, 1, 0, /* char 162 */ \ + 0, 1, 0, /* char 163 */ \ + 0, 1, 0, /* char 164 */ \ + 0, 1, 0, /* char 165 */ \ + 0, 1, 0, /* char 166 */ \ + 0, 1, 0, /* char 167 */ \ + 0, 1, 0, /* char 168 */ \ + 0, 1, 0, /* char 169 */ \ + 0, 1, 0, /* char 170 */ \ + 0, 1, 0, /* char 171 */ \ + 0, 1, 0, /* char 172 */ \ + 0, 1, 0, /* char 173 */ \ + 0, 1, 0, /* char 174 */ \ + 0, 1, 0, /* char 175 */ \ + 0, 1, 0, /* char 176 */ \ + 0, 1, 0, /* char 177 */ \ + 0, 1, 0, /* char 178 */ \ + 0, 1, 0, /* char 179 */ \ + 0, 1, 0, /* char 180 */ \ + 0, 1, 0, /* char 181 */ \ + 0, 1, 0, /* char 182 */ \ + 0, 1, 0, /* char 183 */ \ + 0, 1, 0, /* char 184 */ \ + 0, 1, 0, /* char 185 */ \ + 0, 1, 0, /* char 186 */ \ + 0, 1, 0, /* char 187 */ \ + 0, 1, 0, /* char 188 */ \ + 0, 1, 0, /* char 189 */ \ + 0, 1, 0, /* char 190 */ \ + 0, 1, 0, /* char 191 */ \ + 0, 1, 0, /* char 192 */ \ + 0, 1, 0, /* char 193 */ \ + 0, 1, 0, /* char 194 */ \ + 0, 1, 0, /* char 195 */ \ + 0, 1, 0, /* char 196 */ \ + 0, 1, 0, /* char 197 */ \ + 0, 1, 0, /* char 198 */ \ + 0, 1, 0, /* char 199 */ \ + 0, 1, 0, /* char 200 */ \ + 0, 1, 0, /* char 201 */ \ + 0, 1, 0, /* char 202 */ \ + 0, 1, 0, /* char 203 */ \ + 0, 1, 0, /* char 204 */ \ + 0, 1, 0, /* char 205 */ \ + 0, 1, 0, /* char 206 */ \ + 0, 1, 0, /* char 207 */ \ + 0, 1, 0, /* char 208 */ \ + 0, 1, 0, /* char 209 */ \ + 0, 1, 0, /* char 210 */ \ + 0, 1, 0, /* char 211 */ \ + 0, 1, 0, /* char 212 */ \ + 0, 1, 0, /* char 213 */ \ + 0, 1, 0, /* char 214 */ \ + 0, 1, 0, /* char 215 */ \ + 0, 1, 0, /* char 216 */ \ + 0, 1, 0, /* char 217 */ \ + 0, 1, 0, /* char 218 */ \ + 0, 1, 0, /* char 219 */ \ + 0, 1, 0, /* char 220 */ \ + 0, 1, 0, /* char 221 */ \ + 0, 1, 0, /* char 222 */ \ + 0, 1, 0, /* char 223 */ \ + 0, 1, 0, /* char 224 */ \ + 0, 1, 0, /* char 225 */ \ + 0, 1, 0, /* char 226 */ \ + 0, 1, 0, /* char 227 */ \ + 0, 1, 0, /* char 228 */ \ + 0, 1, 0, /* char 229 */ \ + 0, 1, 0, /* char 230 */ \ + 0, 1, 0, /* char 231 */ \ + 0, 1, 0, /* char 232 */ \ + 0, 1, 0, /* char 233 */ \ + 0, 1, 0, /* char 234 */ \ + 0, 1, 0, /* char 235 */ \ + 0, 1, 0, /* char 236 */ \ + 0, 1, 0, /* char 237 */ \ + 0, 1, 0, /* char 238 */ \ + 0, 1, 0, /* char 239 */ \ + 0, 1, 0, /* char 240 */ \ + 0, 1, 0, /* char 241 */ \ + 0, 1, 0, /* char 242 */ \ + 0, 1, 0, /* char 243 */ \ + 0, 1, 0, /* char 244 */ \ + 0, 1, 0, /* char 245 */ \ + 0, 1, 0, /* char 246 */ \ + 0, 1, 0, /* char 247 */ \ + 0, 1, 0, /* char 248 */ \ + 0, 1, 0, /* char 249 */ \ + 0, 1, 0, /* char 250 */ \ + 0, 1, 0, /* char 251 */ \ + 0, 1, 0, /* char 252 */ \ + 0, 1, 0, /* char 253 */ \ + 0, 1, 0, /* char 254 */ \ + 0, 1, 0, /* char 255 */ \ + 226) diff --git a/interface/fonts/tiny_unicode.dm b/interface/fonts/tiny_unicode.dm new file mode 100644 index 0000000000000..d6af265d5182b --- /dev/null +++ b/interface/fonts/tiny_unicode.dm @@ -0,0 +1,253 @@ +/// For clean results on map, use only sizing pt, multiples of 12: 12pt 24pt 48pt etc. - Not for use with px sizing +/// Can be used in TGUI etc, px sizing is pt / 0.75. 12pt = 16px, 24pt = 32px etc. + +/// Base font +/datum/font/tiny_unicode + name = "TinyUnicode" + font_family = 'interface/fonts/TinyUnicode.ttf' + +/// For icon overlays +/// TinyUnicode 12pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus) +/// Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe +/datum/font/tiny_unicode/size_12pt + name = "TinyUnicode 12pt" + height = 13 + ascent = 11 + descent = 2 + average_width = 5 + max_width = 11 + overhang = 0 + in_leading = -3 + ex_leading = 1 + default_character = 31 + start = 30 + end = 255 + metrics = list( + 1, 5, 0, // char 30 + 1, 5, 0, // char 31 + 0, 1, 4, // char 32 + 0, 1, 1, // char 33 + 0, 3, 1, // char 34 + 0, 5, 1, // char 35 + 0, 4, 1, // char 36 + 0, 3, 1, // char 37 + 0, 5, 1, // char 38 + 0, 1, 1, // char 39 + 0, 2, 1, // char 40 + 0, 2, 1, // char 41 + 0, 3, 1, // char 42 + 0, 3, 1, // char 43 + 0, 2, 1, // char 44 + 0, 3, 1, // char 45 + 0, 1, 1, // char 46 + 0, 3, 1, // char 47 + 0, 4, 1, // char 48 + 0, 2, 1, // char 49 + 0, 4, 1, // char 50 + 0, 4, 1, // char 51 + 0, 4, 1, // char 52 + 0, 4, 1, // char 53 + 0, 4, 1, // char 54 + 0, 4, 1, // char 55 + 0, 4, 1, // char 56 + 0, 4, 1, // char 57 + 0, 1, 1, // char 58 + 0, 2, 1, // char 59 + 0, 2, 1, // char 60 + 0, 4, 1, // char 61 + 0, 2, 1, // char 62 + 0, 4, 1, // char 63 + 0, 7, 1, // char 64 + 0, 4, 1, // char 65 + 0, 4, 1, // char 66 + 0, 3, 1, // char 67 + 0, 4, 1, // char 68 + 0, 3, 1, // char 69 + 0, 3, 1, // char 70 + 0, 4, 1, // char 71 + 0, 4, 1, // char 72 + 0, 3, 1, // char 73 + 0, 4, 1, // char 74 + 0, 4, 1, // char 75 + 0, 3, 1, // char 76 + 0, 5, 1, // char 77 + 0, 4, 1, // char 78 + 0, 4, 1, // char 79 + 0, 4, 1, // char 80 + 0, 4, 1, // char 81 + 0, 4, 1, // char 82 + 0, 4, 1, // char 83 + 0, 3, 1, // char 84 + 0, 4, 1, // char 85 + 0, 4, 1, // char 86 + 0, 5, 1, // char 87 + 0, 4, 1, // char 88 + 0, 4, 1, // char 89 + 0, 3, 1, // char 90 + 0, 2, 1, // char 91 + 0, 3, 1, // char 92 + 0, 2, 1, // char 93 + 0, 3, 1, // char 94 + 0, 5, 1, // char 95 + 0, 2, 1, // char 96 + 0, 4, 1, // char 97 + 0, 4, 1, // char 98 + 0, 3, 1, // char 99 + 0, 4, 1, // char 100 + 0, 4, 1, // char 101 + 0, 3, 1, // char 102 + 0, 4, 1, // char 103 + 0, 4, 1, // char 104 + 0, 1, 1, // char 105 + 0, 2, 1, // char 106 + 0, 4, 1, // char 107 + 0, 1, 1, // char 108 + 0, 5, 1, // char 109 + 0, 4, 1, // char 110 + 0, 4, 1, // char 111 + 0, 4, 1, // char 112 + 0, 4, 1, // char 113 + 0, 3, 1, // char 114 + 0, 4, 1, // char 115 + 0, 3, 1, // char 116 + 0, 4, 1, // char 117 + 0, 4, 1, // char 118 + 0, 5, 1, // char 119 + 0, 3, 1, // char 120 + 0, 4, 1, // char 121 + 0, 4, 1, // char 122 + 0, 3, 1, // char 123 + 0, 1, 1, // char 124 + 0, 3, 1, // char 125 + 0, 5, 1, // char 126 + 1, 5, 0, // char 127 + 0, 4, 1, // char 128 + 1, 5, 0, // char 129 + 1, 5, 0, // char 130 + 1, 5, 0, // char 131 + 1, 5, 0, // char 132 + 1, 5, 0, // char 133 + 1, 5, 0, // char 134 + 1, 5, 0, // char 135 + 1, 5, 0, // char 136 + 0, 5, 1, // char 137 + 1, 5, 0, // char 138 + 1, 5, 0, // char 139 + 0, 6, 1, // char 140 + 1, 5, 0, // char 141 + 1, 5, 0, // char 142 + 1, 5, 0, // char 143 + 1, 5, 0, // char 144 + 1, 5, 0, // char 145 + 1, 5, 0, // char 146 + 1, 5, 0, // char 147 + 1, 5, 0, // char 148 + 0, 2, 1, // char 149 + 1, 5, 0, // char 150 + 1, 5, 0, // char 151 + 1, 5, 0, // char 152 + 0, 4, 1, // char 153 + 1, 5, 0, // char 154 + 1, 5, 0, // char 155 + 1, 5, 0, // char 156 + 1, 5, 0, // char 157 + 1, 5, 0, // char 158 + 0, 4, 1, // char 159 + 1, 5, 0, // char 160 + 0, 1, 1, // char 161 + 0, 4, 1, // char 162 + 0, 4, 1, // char 163 + 0, 5, 1, // char 164 + 0, 3, 1, // char 165 + 0, 1, 1, // char 166 + 0, 4, 1, // char 167 + 0, 3, 1, // char 168 + 0, 2, 1, // char 169 + 0, 8, 1, // char 170 + 0, 4, 1, // char 171 + 0, 4, 1, // char 172 + 1, 5, 0, // char 173 + 0, 2, 1, // char 174 + 0, 4, 1, // char 175 + 0, 3, 1, // char 176 + 0, 3, 1, // char 177 + 0, 2, 1, // char 178 + 0, 2, 1, // char 179 + 0, 2, 1, // char 180 + 0, 4, 1, // char 181 + 0, 5, 1, // char 182 + 1, 1, 1, // char 183 + 0, 8, 1, // char 184 + 0, 2, 1, // char 185 + 0, 2, 1, // char 186 + 0, 4, 1, // char 187 + 0, 7, 1, // char 188 + 0, 8, 1, // char 189 + 0, 8, 1, // char 190 + 0, 4, 1, // char 191 + 0, 4, 1, // char 192 + 0, 4, 1, // char 193 + 0, 4, 1, // char 194 + 0, 4, 1, // char 195 + 0, 4, 1, // char 196 + 0, 4, 1, // char 197 + 0, 6, 1, // char 198 + 0, 3, 1, // char 199 + 0, 3, 1, // char 200 + 0, 3, 1, // char 201 + 0, 3, 1, // char 202 + 0, 3, 1, // char 203 + 0, 3, 1, // char 204 + 0, 3, 1, // char 205 + 0, 3, 1, // char 206 + 0, 3, 1, // char 207 + 0, 10, 1, // char 208 + 0, 4, 1, // char 209 + 0, 4, 1, // char 210 + 0, 4, 1, // char 211 + 0, 4, 1, // char 212 + 0, 4, 1, // char 213 + 0, 4, 1, // char 214 + 0, 3, 1, // char 215 + 0, 5, 1, // char 216 + 0, 4, 1, // char 217 + 0, 4, 1, // char 218 + 0, 4, 1, // char 219 + 0, 4, 1, // char 220 + 0, 4, 1, // char 221 + 0, 3, 1, // char 222 + 0, 3, 1, // char 223 + 0, 4, 1, // char 224 + 0, 4, 1, // char 225 + 0, 4, 1, // char 226 + 0, 4, 1, // char 227 + 0, 4, 1, // char 228 + 0, 4, 1, // char 229 + 0, 7, 1, // char 230 + 0, 3, 1, // char 231 + 0, 4, 1, // char 232 + 0, 4, 1, // char 233 + 0, 4, 1, // char 234 + 0, 4, 1, // char 235 + 0, 2, 1, // char 236 + 0, 2, 1, // char 237 + 0, 3, 1, // char 238 + 0, 3, 1, // char 239 + 0, 5, 1, // char 240 + 0, 4, 1, // char 241 + 0, 4, 1, // char 242 + 0, 4, 1, // char 243 + 0, 4, 1, // char 244 + 0, 4, 1, // char 245 + 0, 4, 1, // char 246 + 0, 5, 1, // char 247 + 0, 4, 1, // char 248 + 0, 4, 1, // char 249 + 0, 4, 1, // char 250 + 0, 4, 1, // char 251 + 0, 4, 1, // char 252 + 0, 4, 1, // char 253 + 0, 10, 1, // char 254 + 0, 4, 1, // char 255 + 226 + ) diff --git a/interface/fonts/vcr_osd_mono.dm b/interface/fonts/vcr_osd_mono.dm new file mode 100644 index 0000000000000..301d90d2f7ea6 --- /dev/null +++ b/interface/fonts/vcr_osd_mono.dm @@ -0,0 +1,3 @@ +/datum/font/vcr_osd_mono + name = "VCR OSD Mono" + font_family = 'interface/fonts/VCR_OSD_Mono.ttf' diff --git a/interface/license.txt b/interface/license.txt deleted file mode 100644 index 5f74403c50af0..0000000000000 --- a/interface/license.txt +++ /dev/null @@ -1,2 +0,0 @@ -VCR OSD Mono created by Riciery Leal/mrmanet. Website indicates 100% free, author confirms it's free for all to use. -(https://www.dafont.com/font-comment.php?file=vcr_osd_mono) diff --git a/interface/skin.dmf b/interface/skin.dmf index ae43a3c401bb9..ede8e37684078 100644 --- a/interface/skin.dmf +++ b/interface/skin.dmf @@ -111,12 +111,12 @@ window "mapwindow" size = 640x480 anchor1 = 0,0 anchor2 = 100,100 - font-family = "Arial" - font-size = 7 + font-family = "Grand9K Pixel" + font-size = 6pt is-default = true right-click = true saved-params = "zoom;letterbox;zoom-mode" - style = ".center { text-align: center; } .maptext { font-family: 'Small Fonts'; font-size: 7px; -dm-text-outline: 1px black; color: white; line-height: 1.1; } .command_headset { font-weight: bold;\tfont-size: 8px; } .small { font-size: 6px; } .big { font-size: 8px; } .reallybig { font-size: 8px; } .extremelybig { font-size: 8px; } .greentext { color: #00FF00; font-size: 7px; } .redtext { color: #FF0000; font-size: 7px; } .clown { color: #FF69Bf; font-size: 7px; font-weight: bold; } .his_grace { color: #15D512; } .hypnophrase { color: #0d0d0d; font-weight: bold; } .yell { font-weight: bold; } .italics { font-size: 6px; }" + style = ".center { text-align: center; } .maptext { font-family: 'Grand9K Pixel'; font-size: 6pt; -dm-text-outline: 1px black; color: white; line-height: 1.0; } .command_headset { font-weight: bold; } .context { font-family: 'Pixellari'; font-size: 12pt; -dm-text-outline: 1px black; } .subcontext { font-family: 'TinyUnicode'; font-size: 12pt; line-height: 0.75; } .small { font-family: 'Spess Font'; font-size: 6pt; line-height: 1.4; } .big { font-family: 'Pixellari'; font-size: 12pt; } .reallybig { font-size: 12pt; } .extremelybig { font-size: 12pt; } .greentext { color: #00FF00; font-size: 6pt; } .redtext { color: #FF0000; font-size: 6pt; } .clown { color: #FF69BF; font-weight: bold; } .his_grace { color: #15D512; } .hypnophrase { color: #0d0d0d; font-weight: bold; } .yell { font-weight: bold; } .italics { font-family: 'Spess Font'; font-size: 6pt; line-height: 1.4; }" elem "status_bar" type = LABEL pos = 0,464 diff --git a/interface/stylesheet.dm b/interface/stylesheet.dm index be1284df7d466..36c85642ad23c 100644 --- a/interface/stylesheet.dm +++ b/interface/stylesheet.dm @@ -170,4 +170,5 @@ h1.alert, h2.alert {color: #000000;} .swarmer {color: #2C75FF;} .resonate {color: #298F85;} +.upside_down {display: inline; -moz-transform: scale(-1, -1); -webkit-transform: scale(-1, -1); -o-transform: scale(-1, -1); -ms-transform: scale(-1, -1); transform: scale(-1, -1);} "} diff --git a/lua/SS13.lua b/lua/SS13.lua index d9c208edfebd0..a17d5b50577bb 100644 --- a/lua/SS13.lua +++ b/lua/SS13.lua @@ -16,10 +16,36 @@ function SS13.istype(thing, type) end function SS13.new(type, ...) - local datum = dm.global_proc("_new", type, { ... }) - local references = SS13.state.vars.references - references:add(datum) - return datum + local datum = SS13.new_untracked(type, table.unpack({...})) + if datum then + local references = SS13.state.vars.references + references:add(datum) + SS13.state:call_proc("clear_on_delete", datum) + return datum + end +end + +function SS13.type(string_type) + return dm.global_proc("_text2path", string_type) +end + +function SS13.qdel(datum) + if SS13.is_valid(datum) then + dm.global_proc("qdel", datum) + return true + end + return false +end + +function SS13.new_untracked(type, ...) + return dm.global_proc("_new", type, { ... }) +end + +function SS13.is_valid(datum) + if datum and not datum:is_null() and not datum:get_var("gc_destroyed") then + return true + end + return false end function SS13.await(thing_to_call, proc_to_call, ...) @@ -35,7 +61,7 @@ function SS13.await(thing_to_call, proc_to_call, ...) sleep() end local return_value, runtime_message = promise_vars.return_value, promise_vars.runtime_message - dm.global_proc("qdel", promise) + SS13.stop_tracking(promise) return return_value, runtime_message end @@ -44,7 +70,7 @@ function SS13.wait(time, timer) local timedevent = dm.global_proc("_addtimer", callback, time * 10, 8, timer, debug.info(1, "sl")) coroutine.yield() dm.global_proc("deltimer", timedevent, timer) - dm.global_proc("qdel", callback) + SS13.stop_tracking(callback) end function SS13.register_signal(datum, signal, func, make_easy_clear_function) @@ -74,13 +100,13 @@ function SS13.register_signal(datum, signal, func, make_easy_clear_function) SS13.signal_handlers[datum]["_cleanup"] = { func = function(datum) SS13.signal_handler_cleanup(datum) - dm.global_proc("qdel", cleanup_callback) + SS13.stop_tracking(cleanup_callback) end, callback = cleanup_callback, } end if signal == "parent_qdeleting" then --We want to make sure that the cleanup function is the very last signal handler called. - local comp_lookup = datum.vars.comp_lookup + local comp_lookup = datum.vars._listen_lookup if comp_lookup then local lookup_for_signal = comp_lookup.entries.parent_qdeleting if lookup_for_signal and not SS13.istype(lookup_for_signal, "/datum") then @@ -105,6 +131,10 @@ function SS13.register_signal(datum, signal, func, make_easy_clear_function) return callback end +function SS13.stop_tracking(datum) + SS13.state:call_proc("let_soft_delete", datum) +end + function SS13.unregister_signal(datum, signal, callback) local function clear_handler(handler_info) if not handler_info then @@ -115,7 +145,7 @@ function SS13.unregister_signal(datum, signal, callback) end local handler_callback = handler_info.callback handler_callback:call_proc("UnregisterSignal", datum, signal) - dm.global_proc("qdel", handler_callback) + SS13.stop_tracking(handler_callback) end if not SS13.signal_handlers then @@ -177,7 +207,7 @@ function SS13.set_timeout(time, func, timer) SS13.timeouts[callback] = function() SS13.timeouts[callback] = nil dm.global_proc("deltimer", timedevent, timer) - dm.global_proc("qdel", callback) + SS13.stop_tracking(callback) func() end local path = { "SS13", "timeouts", dm.global_proc("WEAKREF", callback) } diff --git a/rust_g.dll b/rust_g.dll index 059c79e340291..cfb52ffc65a03 100644 Binary files a/rust_g.dll and b/rust_g.dll differ diff --git a/sound/ambience/ambiicemelody1.ogg b/sound/ambience/ambiicemelody1.ogg new file mode 100644 index 0000000000000..1f491741e0391 Binary files /dev/null and b/sound/ambience/ambiicemelody1.ogg differ diff --git a/sound/ambience/ambiicemelody2.ogg b/sound/ambience/ambiicemelody2.ogg new file mode 100644 index 0000000000000..ef1264690b5d9 Binary files /dev/null and b/sound/ambience/ambiicemelody2.ogg differ diff --git a/sound/ambience/ambiicemelody3.ogg b/sound/ambience/ambiicemelody3.ogg new file mode 100644 index 0000000000000..c6e5b23e81547 Binary files /dev/null and b/sound/ambience/ambiicemelody3.ogg differ diff --git a/sound/ambience/ambiicemelody4.ogg b/sound/ambience/ambiicemelody4.ogg new file mode 100644 index 0000000000000..d977bb412e09a Binary files /dev/null and b/sound/ambience/ambiicemelody4.ogg differ diff --git a/sound/ambience/ambiicesting1.ogg b/sound/ambience/ambiicesting1.ogg new file mode 100644 index 0000000000000..1af26c712ba93 Binary files /dev/null and b/sound/ambience/ambiicesting1.ogg differ diff --git a/sound/ambience/ambiicesting2.ogg b/sound/ambience/ambiicesting2.ogg new file mode 100644 index 0000000000000..63c10a5659b34 Binary files /dev/null and b/sound/ambience/ambiicesting2.ogg differ diff --git a/sound/ambience/ambiicesting3.ogg b/sound/ambience/ambiicesting3.ogg new file mode 100644 index 0000000000000..f8bd3703933ba Binary files /dev/null and b/sound/ambience/ambiicesting3.ogg differ diff --git a/sound/ambience/ambiicesting4.ogg b/sound/ambience/ambiicesting4.ogg new file mode 100644 index 0000000000000..461547cea0786 Binary files /dev/null and b/sound/ambience/ambiicesting4.ogg differ diff --git a/sound/ambience/ambiicesting5.ogg b/sound/ambience/ambiicesting5.ogg new file mode 100644 index 0000000000000..7eab5ca9236a3 Binary files /dev/null and b/sound/ambience/ambiicesting5.ogg differ diff --git a/sound/ambience/ambiicetheme.ogg b/sound/ambience/ambiicetheme.ogg new file mode 100644 index 0000000000000..ca011bb214660 Binary files /dev/null and b/sound/ambience/ambiicetheme.ogg differ diff --git a/sound/ambience/ambimaint6.ogg b/sound/ambience/ambimaint6.ogg new file mode 100644 index 0000000000000..f83e3ed1d6b0e Binary files /dev/null and b/sound/ambience/ambimaint6.ogg differ diff --git a/sound/ambience/ambimaint7.ogg b/sound/ambience/ambimaint7.ogg new file mode 100644 index 0000000000000..3db2f226a4ab5 Binary files /dev/null and b/sound/ambience/ambimaint7.ogg differ diff --git a/sound/ambience/ambispace5.ogg b/sound/ambience/ambispace5.ogg new file mode 100644 index 0000000000000..df8dd5b87d19e Binary files /dev/null and b/sound/ambience/ambispace5.ogg differ diff --git a/sound/ambience/ambispace6.ogg b/sound/ambience/ambispace6.ogg new file mode 100644 index 0000000000000..fe5e95ab3d01a Binary files /dev/null and b/sound/ambience/ambispace6.ogg differ diff --git a/sound/ambience/license.txt b/sound/ambience/license.txt index 5e75b772d1108..607dd6628e79b 100644 --- a/sound/ambience/license.txt +++ b/sound/ambience/license.txt @@ -11,4 +11,7 @@ title3.ogg is Tintin On The Moon remixed by Cuboos https://tgstation13.org/phpBB VoidsEmbrace.ogg is Chopin - Waltz in C Sharp Minor (Op. 64 No. 2). It is in public domain. +ambispace4.ogg is Sipping Bird, by Capsandi. It has been licensed under CC-BY 3.0 license. +ambimaint6.ogg and ambimaint7.ogg, created by Capsandi are licensed under CC-BY 3.0 license. + CC-BY 3.0: http://creativecommons.org/licenses/by/3.0/ diff --git a/sound/attributions.txt b/sound/attributions.txt index b273b7d92783b..3ae6c797dd33b 100644 --- a/sound/attributions.txt +++ b/sound/attributions.txt @@ -41,7 +41,6 @@ https://freesound.org/people/dj997/sounds/493747/ standard_stamp.ogg is adapted from tom_woysky's "Stamp.wav" https://freesound.org/people/tom_woysky/sounds/348316/ - rattling_keys.ogg and rattling_keys_attack.ogg is adapted from Desibloke's "Keys rattling [Key rattle]" https://freesound.org/people/Desibloke/sounds/523671/ chainsaw_loop.ogg is adapted from Audionautics "Chainsaw Idle Loops", which is licensed under CC Attribution 3.0 @@ -66,7 +65,7 @@ https://freesound.org/people/uagadugu/sounds/222521/ earth_rumble_distant1, earth_rumble_distant2, earth_rumble_distant3, and earth_rumble_distant4 are adapted from metrostock99's "EARTHQUAKE OR DISTANT SPACE SHUTTLE RUMBLE.WAV" (CC 0) https://freesound.org/people/metrostock99/sounds/203281/ -metal_creak.ogg is adapted from BloodPixelHero's "Metal door creak" under CC Attribution 4.0 +metal_creak.ogg is adapted from BloodPixelHero's "Metal door creak" under CC Attribution 4.0 https://freesound.org/people/BloodPixelHero/sounds/585323/ revolutionary_tide.ogg is adapted from several audio samples: @@ -79,3 +78,30 @@ https://freesound.org/people/vmgraw/sounds/235610/ vmgraw's "Distant Whistle" (CC 0) https://freesound.org/people/giddster/sounds/414480/ + +zip_up.ogg and un_zip.ogg adapted from aboxinghelena's Zip.wav (CC 4) +https://freesound.org/people/aboxinghelena/sounds/401139/ + +car_crash.ogg is adapted from squareal's "Car Crash" (CC 0) +https://freesound.org/people/squareal/sounds/237375/ + +ding_short.ogg is from Natty23 (CC 4) +https://freesound.org/people/Natty23/sounds/411747/ + +jingle.ogg is from Zapsplat (https://www.zapsplat.com/license-type/standard-license/) +https://www.zapsplat.com/sound-effect-category/sleigh-bells/ + +tada_fanfare.ogg is adapted from plasterbrain's "Tada Fanfare A", which is public domain (CC 0): +https://freesound.org/people/plasterbrain/sounds/397355/ + +glockenspiel_ping.ogg is adapted from FunWithSound's "Short Success Sound Glockenspiel Treasure Video Game", which is public domain (CC 0): +https://freesound.org/people/FunWithSound/sounds/456965/ + +beeps_jingle.ogg is adapted from Eponn's "Achievement happy Beeps Jingle", which is public domain (CC 0): +https://freesound.org/people/Eponn/sounds/619838/ + +boing.ogg is adapted from reelworldstudio's "Cartoon Boing", which is public domain (CC 0): +https://freesound.org/people/reelworldstudio/sounds/161122/ + +arcade_jump.ogg is adapted from se2001's "8-Bit Jump 3", which is public domain (CC 0): +hhttps://freesound.org/people/se2001/sounds/528568/ diff --git a/sound/creatures/attribution.txt b/sound/creatures/attribution.txt index 1d2d543aa1506..06d8361868cb3 100644 --- a/sound/creatures/attribution.txt +++ b/sound/creatures/attribution.txt @@ -1,8 +1,14 @@ -cow.ogg sound adapted from Benboncan on Freesound +cow.ogg sound adapted from Benboncan on Freesound https://freesound.org/people/Benboncan/sounds/58277/ pig1.ogg and pig2.ogg adapted from Jofae on Freesound https://freesound.org/people/Jofae/sounds/352698/ sheep1, sheep2, and sheep3.ogg adapted from milkotz on Freesound -https://freesound.org/people/milkotz/sounds/618865/ \ No newline at end of file +https://freesound.org/people/milkotz/sounds/618865/ + +snake_hissing1.ogg adapted from schreibsel on Freesound (CC 0) +https://freesound.org/people/schreibsel/sounds/540162/ + +snake_hissing2.ogg adapted from xoiziox on Freesound (CC 0) +https://freesound.org/people/xoiziox/sounds/553374/ diff --git a/sound/creatures/bagawk.ogg b/sound/creatures/bagawk.ogg new file mode 100644 index 0000000000000..bfdce2da4894b Binary files /dev/null and b/sound/creatures/bagawk.ogg differ diff --git a/sound/creatures/chick_peep.ogg b/sound/creatures/chick_peep.ogg new file mode 100644 index 0000000000000..1e84d1d765fd8 Binary files /dev/null and b/sound/creatures/chick_peep.ogg differ diff --git a/sound/creatures/chitter.ogg b/sound/creatures/chitter.ogg new file mode 100644 index 0000000000000..5b2a144388673 Binary files /dev/null and b/sound/creatures/chitter.ogg differ diff --git a/sound/creatures/claw_click.ogg b/sound/creatures/claw_click.ogg new file mode 100644 index 0000000000000..965b4c3fa9f5a Binary files /dev/null and b/sound/creatures/claw_click.ogg differ diff --git a/sound/creatures/clucks.ogg b/sound/creatures/clucks.ogg new file mode 100644 index 0000000000000..176f46f866f04 Binary files /dev/null and b/sound/creatures/clucks.ogg differ diff --git a/sound/effects/mousesqueek.ogg b/sound/creatures/mousesqueek.ogg similarity index 100% rename from sound/effects/mousesqueek.ogg rename to sound/creatures/mousesqueek.ogg diff --git a/sound/creatures/pony/clown_gallup.ogg b/sound/creatures/pony/clown_gallup.ogg new file mode 100644 index 0000000000000..61f7eaf5162cb Binary files /dev/null and b/sound/creatures/pony/clown_gallup.ogg differ diff --git a/sound/creatures/pony/snort.ogg b/sound/creatures/pony/snort.ogg new file mode 100644 index 0000000000000..0ea56ad957dcb Binary files /dev/null and b/sound/creatures/pony/snort.ogg differ diff --git a/sound/creatures/pony/whinny01.ogg b/sound/creatures/pony/whinny01.ogg new file mode 100644 index 0000000000000..485ca3a52977d Binary files /dev/null and b/sound/creatures/pony/whinny01.ogg differ diff --git a/sound/creatures/pony/whinny02.ogg b/sound/creatures/pony/whinny02.ogg new file mode 100644 index 0000000000000..2d48a0cacdaea Binary files /dev/null and b/sound/creatures/pony/whinny02.ogg differ diff --git a/sound/creatures/pony/whinny03.ogg b/sound/creatures/pony/whinny03.ogg new file mode 100644 index 0000000000000..7a288d70aa77d Binary files /dev/null and b/sound/creatures/pony/whinny03.ogg differ diff --git a/sound/creatures/snake_hissing1.ogg b/sound/creatures/snake_hissing1.ogg new file mode 100644 index 0000000000000..52a37d764c426 Binary files /dev/null and b/sound/creatures/snake_hissing1.ogg differ diff --git a/sound/creatures/snake_hissing2.ogg b/sound/creatures/snake_hissing2.ogg new file mode 100644 index 0000000000000..bd11b7fb5f0fa Binary files /dev/null and b/sound/creatures/snake_hissing2.ogg differ diff --git a/sound/effects/alert.ogg b/sound/effects/alert.ogg index 69bc52bdb804b..e68847321e200 100644 Binary files a/sound/effects/alert.ogg and b/sound/effects/alert.ogg differ diff --git a/sound/effects/arcade_jump.ogg b/sound/effects/arcade_jump.ogg new file mode 100644 index 0000000000000..65f0cc448b564 Binary files /dev/null and b/sound/effects/arcade_jump.ogg differ diff --git a/sound/effects/beeps_jingle.ogg b/sound/effects/beeps_jingle.ogg new file mode 100644 index 0000000000000..0d4b647f88d53 Binary files /dev/null and b/sound/effects/beeps_jingle.ogg differ diff --git a/sound/effects/boing.ogg b/sound/effects/boing.ogg new file mode 100644 index 0000000000000..8328cc3392613 Binary files /dev/null and b/sound/effects/boing.ogg differ diff --git a/sound/effects/flatline3.ogg b/sound/effects/flatline3.ogg new file mode 100644 index 0000000000000..1430ee7429b84 Binary files /dev/null and b/sound/effects/flatline3.ogg differ diff --git a/sound/effects/glockenspiel_ping.ogg b/sound/effects/glockenspiel_ping.ogg new file mode 100644 index 0000000000000..f25300071292d Binary files /dev/null and b/sound/effects/glockenspiel_ping.ogg differ diff --git a/sound/effects/jingle.ogg b/sound/effects/jingle.ogg new file mode 100644 index 0000000000000..da903910dfcf2 Binary files /dev/null and b/sound/effects/jingle.ogg differ diff --git a/sound/effects/license.txt b/sound/effects/license.txt index 77351397fdeae..04bb7108d9579 100644 --- a/sound/effects/license.txt +++ b/sound/effects/license.txt @@ -4,3 +4,6 @@ cartoon_pop.ogg by Tobiasz 'unfa' Karoń (https://freesound.org/people/unfa/sounds/245645/) It has been licensed under CC-BY 3.0, which can be found at http://creativecommons.org/licenses/by/3.0/ + +alert.ogg by bbrocer. Extended, looped, and reverbed +https://freesound.org/people/bbrocer/sounds/389511/ \ No newline at end of file diff --git a/sound/effects/submerge.ogg b/sound/effects/submerge.ogg new file mode 100644 index 0000000000000..8c50fba8e0a73 Binary files /dev/null and b/sound/effects/submerge.ogg differ diff --git a/sound/effects/tada_fanfare.ogg b/sound/effects/tada_fanfare.ogg new file mode 100644 index 0000000000000..055635e9decae Binary files /dev/null and b/sound/effects/tada_fanfare.ogg differ diff --git a/sound/items/barcodebeep.ogg b/sound/items/barcodebeep.ogg new file mode 100644 index 0000000000000..e1939537fb92a Binary files /dev/null and b/sound/items/barcodebeep.ogg differ diff --git a/sound/items/click.ogg b/sound/items/click.ogg new file mode 100644 index 0000000000000..366ed0f8cc155 Binary files /dev/null and b/sound/items/click.ogg differ diff --git a/sound/items/healthanalyzer.ogg b/sound/items/healthanalyzer.ogg new file mode 100644 index 0000000000000..56fd762cdde7d Binary files /dev/null and b/sound/items/healthanalyzer.ogg differ diff --git a/sound/items/hypospray.ogg b/sound/items/hypospray.ogg new file mode 100644 index 0000000000000..e5c7bd8f92b9b Binary files /dev/null and b/sound/items/hypospray.ogg differ diff --git a/sound/items/un_zip.ogg b/sound/items/un_zip.ogg new file mode 100644 index 0000000000000..84d6bb4c95625 Binary files /dev/null and b/sound/items/un_zip.ogg differ diff --git a/sound/items/zip_up.ogg b/sound/items/zip_up.ogg new file mode 100644 index 0000000000000..73d86da6e6f8b Binary files /dev/null and b/sound/items/zip_up.ogg differ diff --git a/sound/lavaland/bdm_boss.ogg b/sound/lavaland/bdm_boss.ogg new file mode 100644 index 0000000000000..a5c14095416bb Binary files /dev/null and b/sound/lavaland/bdm_boss.ogg differ diff --git a/sound/lavaland/hiero_boss.ogg b/sound/lavaland/hiero_boss.ogg new file mode 100644 index 0000000000000..23412b5346d13 Binary files /dev/null and b/sound/lavaland/hiero_boss.ogg differ diff --git a/sound/machines/ding_short.ogg b/sound/machines/ding_short.ogg new file mode 100644 index 0000000000000..79032ee2a9a7a Binary files /dev/null and b/sound/machines/ding_short.ogg differ diff --git a/sound/machines/engine_alert3.ogg b/sound/machines/engine_alert3.ogg new file mode 100644 index 0000000000000..394bfed2a138d Binary files /dev/null and b/sound/machines/engine_alert3.ogg differ diff --git a/sound/magic/hereticknock.ogg b/sound/magic/hereticknock.ogg new file mode 100644 index 0000000000000..87ca57302a285 Binary files /dev/null and b/sound/magic/hereticknock.ogg differ diff --git a/sound/misc/airraid.ogg b/sound/misc/airraid.ogg index 820eaccf91d73..cc9913becdde9 100644 Binary files a/sound/misc/airraid.ogg and b/sound/misc/airraid.ogg differ diff --git a/sound/misc/announce_syndi.ogg b/sound/misc/announce_syndi.ogg new file mode 100644 index 0000000000000..49c255bd0e9e9 Binary files /dev/null and b/sound/misc/announce_syndi.ogg differ diff --git a/sound/misc/bloblarm.ogg b/sound/misc/bloblarm.ogg index 93bcdbcc49a9a..2c934e1bf185f 100644 Binary files a/sound/misc/bloblarm.ogg and b/sound/misc/bloblarm.ogg differ diff --git a/sound/misc/license.txt b/sound/misc/license.txt index b92a4a279a956..69ef29928202c 100644 --- a/sound/misc/license.txt +++ b/sound/misc/license.txt @@ -2,4 +2,7 @@ bloop.ogg by my man Tim Khan (https://freesound.org/people/tim.kahn/sounds/130377/) knuckles.ogg by CGEffex. Shortened and cut. -https://freesound.org/people/CGEffex/sounds/93981/ \ No newline at end of file +https://freesound.org/people/CGEffex/sounds/93981/ + +airraid.ogg by Jwade722. Shortened and cut. +https://freesound.org/people/Jwade722/sounds/534550/ \ No newline at end of file diff --git a/sound/misc/notice3.ogg b/sound/misc/notice3.ogg new file mode 100644 index 0000000000000..e41a4361ca6c9 Binary files /dev/null and b/sound/misc/notice3.ogg differ diff --git a/sound/vehicles/car_crash.ogg b/sound/vehicles/car_crash.ogg new file mode 100644 index 0000000000000..a614a78d2f777 Binary files /dev/null and b/sound/vehicles/car_crash.ogg differ diff --git a/sound/voice/ethereal/lustrous_scream_1.ogg b/sound/voice/ethereal/lustrous_scream_1.ogg new file mode 100644 index 0000000000000..ca282c346cf74 Binary files /dev/null and b/sound/voice/ethereal/lustrous_scream_1.ogg differ diff --git a/sound/voice/ethereal/lustrous_scream_2.ogg b/sound/voice/ethereal/lustrous_scream_2.ogg new file mode 100644 index 0000000000000..e6e2a87fc1adf Binary files /dev/null and b/sound/voice/ethereal/lustrous_scream_2.ogg differ diff --git a/sound/voice/ethereal/lustrous_scream_3.ogg b/sound/voice/ethereal/lustrous_scream_3.ogg new file mode 100644 index 0000000000000..fbb7a6a44864d Binary files /dev/null and b/sound/voice/ethereal/lustrous_scream_3.ogg differ diff --git a/sound/voice/moth/credit.txt b/sound/voice/moth/credit.txt new file mode 100644 index 0000000000000..7f64b72841e32 --- /dev/null +++ b/sound/voice/moth/credit.txt @@ -0,0 +1,5 @@ +"moth_flutter" modified from +https://freesound.org/people/Godowan/sounds/240476/ +(CC 0 license) + +who knows where the original moth scream noise was I sure as hell don't \ No newline at end of file diff --git a/sound/voice/moth/moth_death.ogg b/sound/voice/moth/moth_death.ogg new file mode 100644 index 0000000000000..df23cfa472ac1 Binary files /dev/null and b/sound/voice/moth/moth_death.ogg differ diff --git a/sound/voice/moth/moth_flutter.ogg b/sound/voice/moth/moth_flutter.ogg new file mode 100644 index 0000000000000..f5737d522ca20 Binary files /dev/null and b/sound/voice/moth/moth_flutter.ogg differ diff --git a/sound/weapons/gun/rifle/shot_heavy.ogg b/sound/weapons/gun/rifle/shot_heavy.ogg new file mode 100644 index 0000000000000..f91b21ec4d801 Binary files /dev/null and b/sound/weapons/gun/rifle/shot_heavy.ogg differ diff --git a/sound/weapons/laser_crank.ogg b/sound/weapons/laser_crank.ogg new file mode 100644 index 0000000000000..5dc71f27c75b7 Binary files /dev/null and b/sound/weapons/laser_crank.ogg differ diff --git a/strings/anti_union_propaganda.txt b/strings/anti_union_propaganda.txt deleted file mode 100644 index 1e431cffaed65..0000000000000 --- a/strings/anti_union_propaganda.txt +++ /dev/null @@ -1,4 +0,0 @@ -Remember, union dues cost around 70,000 credits a year. A new video game system with the latest hits sounds like fun. Put your money towards that instead of paying dues to the union. -Remember, tickets & food to the Toolbox Tournament aren't cheap. That money in union dues you'd be paying every year could sure go a long way. -Remember, nothing's more enjoyable than a night out watching a thunderdome match with your buddies. All those union dues you pay every year could buy a few rounds. -Nanotrasen's open door policy is designed to help you feel comfortable taking up issues to your assigned head of staff. It's hard for us to maintain this when they're dead. diff --git a/strings/exoadventures/britain_replica.json b/strings/exoadventures/britain_replica.json new file mode 100644 index 0000000000000..0bfaa67e990cb --- /dev/null +++ b/strings/exoadventures/britain_replica.json @@ -0,0 +1,570 @@ +{ + "adventure_name": "A Model Earth", + "version": 1, + "author": "Armhulen", + "starting_node": "Planet Start", + "starting_qualities": { + "Long Range Scan Report": 0, + "UFOs Shot Down": 0 + }, + "required_site_traits": [ + "in space" + ], + "loot_categories": [ + "research" + ], + "scan_band_mods": {}, + "deep_scan_description": "", + "triggers": [], + "nodes": [ + { + "name": "Planet Start", + "description": "You come across a grey planet. It looks familiar, though you swore you've never come across this sector of space before.", + "choices": [ + { + "key": "choice 0", + "name": "Ignore the planet.", + "exit_node": "FAIL", + "delay": 0, + "delay_message": "Whatever, there's a lot of planets in space. Must be a hunch!" + }, + { + "key": "choice 1", + "name": "Begin Orbital Scan", + "exit_node": "Scanning from Orbit", + "requirements": [ + { + "quality": "Long Range Scan Report", + "operator": "==", + "value": 0 + } + ], + "delay": 30, + "delay_message": "Scanning planet..." + }, + { + "key": "choice 8", + "name": "Descend Into Orbit", + "exit_node": "Orbital Descent", + "delay": 30, + "delay_message": "Descending into Orbit..." + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAMAAAD0WI85AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAALlUExURQAAAAEBAQICAgMDAwQEBA8PDwUFBQcHBwkJCQwMDAoKCkRERNXV1cDAwNDQ0LGxsaioqJaWloyMjLOzs6WlpcLCwqSkpDc3Nw0NDeXl5b+/v5mZmZycnLKyssXFxXd3d6CgoODg4JeXl9PT08bGxsTExJiYmIqKiqGhoZqamoeHh5KSkvb29pOTk4ODg3FxcaOjo62trZ6enqKioqqqqq+vr4WFhcvLy729vb6+vqysrJGRkeTk5Jubm7q6uru7u6urq6amppWVlbe3t6enp9zc3GFhYYuLi93d3by8vH19fdHR0fn5+c/Pz8nJydnZ2XZ2dn9/f4mJibCwsNvb22pqauvr63x8fHV1dRUVFcPDw/Hx8c7Ozra2tp+fn1BQUFFRUYGBgV9fX4iIiHl5eQYGBqmpqbi4uLS0tMfHx83Nzbm5ubW1tV5eXmJiYpCQkHt7e+rq6kxMTFNTU2lpaXBwcG1tbXNzc4+Pj09PT52dnUhISEFBQUNDQ1JSUltbW1paWmVlZW9vb2traw4ODnR0dG5ubnh4eGxsbElJST8/P1ZWVnJycmdnZ2RkZHp6eoaGhmBgYEBAQEpKSlRUVGZmZmhoaMHBwdLS0oCAgDk5OWNjY11dXUZGRkJCQkdHR9jY2O/v75SUlDo6OlxcXFVVVVhYWD09PU5OTk1NTVlZWd7e3sjIyDMzMygoKH5+foKCgoSEhC4uLjs7OzU1NUVFRenp6TExMf7+/o6Ojtra2q6urt/f3/Dw8PLy8uPj4/z8/Pv7+/39/TIyMufn5+Li4srKyszMzFdXV+7u7tTU1Pr6+jAwMD4+Pu3t7SsrKyoqKuzs7NfX1zQ0NC0tLSwsLC8vLxAQEPPz89bW1ujo6Dw8PEtLS42NjfT09DY2NhwcHPX19RMTE/j4+Dg4OCkpKSEhIQgICCQkJCIiIiYmJhoaGiUlJRQUFOHh4ScnJ////xcXF+bm5vf39xkZGRERERgYGJOWJYYAAAAJcEhZcwAADsIAAA7CARUoSoAAABOjSURBVHhe7Vv3W5PZnidlog41VOlNuvQOUgJIVaqURTpITygJTQgEuJQQQu8JRSAQFEaqBFBBulyxULwjgWFnr3N37uyMc9e7uz/vOS/Zv+Gd51k+mrzJm/ec5/PtpyF2iUtc4hKXuMQlLnGJPygwAFgMFgsuONEX8MKDGzgAPAYHvuPBc1gc+AU8jsXixHDgDYMRQ36DP2PFsPA2ugD8AWVAEQ944jFYeAtcwBcsHogjBhjjIW0EOOw38AkgBLiPyIpoAIhxIS2KuCAI6UJ2YkC34AseUAa8gGiAHtA1oAuogrvwcSzyhoPyAPvAT0Bm8MhFf6gBEoNMAOULz4LsIGsCdCs8gXDlKuHqtavfXoGehsVCEZGHoCmghwFbwg/IPVQBnAeJCkAGIYf8RzhicVe+EZeQlJKWIcrKySvIK8opfXsFMIeGAKRhzCANkabwcVGPaAGhBdgAVhe+cyEPAXddWUVVTV1DRVNeS0tNVVtH94aevoHhNTwIKZHVQGNwgT1AZaAsCFAw9HKR5wM/AS8M7up1BSNjk5umhmbmFpZW1jaKtnb2ig6OThqKhs5GMBVAN0NcDeYy8A/GvqhHlADVCWRB3hHFAk8Ru3rL1sXM1c3G3l2S5K7o4Um00PFSv+1N9PF1tPXzM/WHaQy0QPIXBOJjBFGPaAGJ3gt7AFPAyL0SQDT1vXM3UMHJMchTXSY4xCBUi6QoE+YUei/c2SJC2iXSOQoGBrQE9EJgUtga5fQL1ArzDiIIoljsv8hFq9+PIfpJytx1dIy1CY2LT0hMVFQnOTl5eVjYmPgmkZJDU0JgIEEgfgmbgmBBFYiLIIygcbCYBxKpkmnpGZnpsVmOMtkkaxd3NS0yJSc3z8vWJi7OyzOfSisg5xYWmRddGAO2QSILdYtc+DliEyATPttT0UMtNs3EQ91DTi9W3Uu12MxYv4RKNJF+aGpTWlpGJ5dXUBmVVdVFlciIAJR9kUlQriOIGBDQNpg/yWTJu0p7uioouLnL2JCsZTxSamrD6wxy6osYdGY5ndngTWKR46nllEZ2kzlIW3Bsg1RILBblYEc4QGXC6L2mFRYrKRcdIxGtkOpl1FzcEtKY0tjqYWBHdCw1lMkpaGPQ2zsqNDuTqOS4dFpXOKiOF2kCifaLDtECLIAgbyF8rsloqad2G3W7yll7mBV1RTaHJ7GL6msNcnpcTEJ6Zaz6OFxZM1b/AGUwn1qrX+dB84YRDjMdHjYX9YgSoEPBFxhlEEhOWSoOXnoW+qFF1ZWcJnJnU9PQo85IUqPFcHpzpIm+Zl8yxXukfDSf3F7O0+nRL6SQRdEOQwxli4iGfLBA26rYuxqmKuoU1xR1UcZ4YxXkJEorkZNYL//QR95o2KQvqYQ3XsKfSHrMEK+n2eiF6XELWaAxDo7z8X+ArAXtAcI2NO2JtIVqS01jVxUnidHkWmU22VnRm+JGkoocDnVp0Wa0jeVPMdvyG8N59WQOtSNS0TIyt/M7JF8REO9EFYhPwAH8N26Szg+NzCPNnzZxyIHTmrJ1PqZ27GjH4ZleI7niAvrs3NR8WckEf4GRQB3VnBhgBbdakuvDE4AKwHwS/WAXQzKPGOZqaqrHcIpmldlDjy55Z78Z28LEEJrmM/en/MLYVtO7fFpCSe9i/chYTmU+ObJeINdJnWgiL3kXdvHhIB6oA0xnUAWMcnihWi/J1tQULdsM2UrJGzuvPH+hXl7OvfmSVRd7002H5zvIuK+T9dhsldi9dv9VBtV31Y/Nqu3oqK5tuobkXtTnI8g8SQxzxcmseSYuMaeI3VQV0+uto7Bqep/FpTqsSce1Dg05rZdQtdhUh0YX8sAac2OhRmNzK5itOsNht9K48chABQS9qEeUAHQJPBy/EhocrLkd6ZkznK27s+udm6dlm+5Gfb22tlfZe2MztzzhfsGfxUcqHHSzht+w+LXWrpKe0S+aqk2CW+srrwKjgiKPfh0BKRgYJLjIVI2t9sh/facwZ9g7oqh6uqPgqf7a2pDsE2NlO/OR/bVX7KG8t22euRvvlDqa3e3oxckZzUvlkR2loLDDgirqESXAfIPBvC+OWustZNcneXcK7D+8Iqkox5HvpL0Ij33KfnXgen+9p60oIbpgvazmsPZoYvY78f2KOX6ujL0nj8ny8WYRgAygkIh6RAmAAzCKtZlUc4hPa1drwbSzufqjHU9OXm3AaK9hzXpdqt/WQ82d3KUq1jK193DwePGN/LA+u9R6bmouOMfIoD2Y9fgjKIp/BNfCEP7i8X2Lnz6HMVpXQmlpb9dU//TUQ3bF0U/hdYidCXFdteVkKEZftjCDIWTOWbHexNfGx5/OhjQoOEsrhphVxu8jWQv9gigm1quQlVjF4SmeJtHOKP4luxkHtKHmHCM7NXl72810l1oj45pP/SnOngvife/GR+KPhOIVy8z9MemJSuuwQRYjXwxZEBL1iBZA7sR7ZUQvdblwGKWnFR5ljawmvpxGnR+xyy0odOWHMAm2Yt0jTXqtf6YdzS3gXHzxOGX/qO+wIUmmo6O/Pq0+l5zwr3B+hXZBBPH+7WqacdKB+Y+nEzPudJ0BpkmeAqVrKScgbP3Jq7fbkcVe3uNtTLlOmRd19HrGlHDqDb004bD95vfjTVE60vr17aw5WBLRXqDD4nH/phiVK93UWZI/sTBBPmHyK83WqJxgU//Ym8qCv+osVfFmyOOD3RRKaGFL4uTxsdLHzyzmwPh8/8Jc8GSWYjGfwYMrMWgvYoNaNq9mEFWxS/2z822ryW6/WjLfuLl62vmpx55GhP8LFwZb9nFl9T6XO3g43t45uEiVPWwbf1/200ZD/MfRRFq4eUq8EHSDdvqFC6SOduxQn44twXTXfcrp/j5zUPVpWp1qVl1i8QGls4Iyk6TVuCBMosTOMmbfr5fRS2TH//Z+nLW/MOcfH9/CKuHWx/87UAfK6RcvRhBLU60wz/b/8UyuulFIbxsUiiv4mzWemTxVtywI906K3R0da+kfSeKe/fz3Kepx2+nnhF82kuhtGxOc3dLBWiqVq2/+H7C0i3pEC6CYGdU2sogBMiW79NNBlnAmOtKycKkxMS7Z+GE1hUyrZXNoCe1KCa37v/76/tf5o3nSeVFfw/ynQaGQMlEvHt+cz6H8huySoAs8BpfTKKd/y/LLWM3uqyc5mRarasrsLP+Qs2KfmfqoyqZITc7uxOBC2/mRdXOb1uPZjxsOybUNIy4VG4f7pQ1lgxMJ5o+n4HK2qEO0AMqIUe9MJaOfUjAd1NM0QTZSeC2zpd01k+Mm+3DVgrXL6WK3ttPL+kJ/Lj/66fiX44HRqcq++e9mp5vaGgbmba3oCfHxU8jkClWAmR1uUs1qTKde2Hraf9o6zqT3L/Dzi16l2BFvVN1uTuAyCtScd8vzeRv7Skq/MxYX2tlzHpaLZwaU+aONNyOawtIx9ug+TH6iHtECmBOF1Yx6U3nJ3vw25sBgA71P3GefubK6qhP56UCu6vvRrl075tzhqNLI8bvjN+9/mp17MxAg0zgf7iycH8jnDjDKTxlvcGjv8wCPwIqptYyyC6lWkyyuf//axPxI6VwXmRH4yTS72OsggJbNJVfEM/sP90cazgd9j7qP2j4ezp0PnYZPt/PL2g7HO5jU3WMwG0C5IMJ1QotcMo89xqk3cF8OpQnP81vPywZZ9PQvm1Ivt9id0dE8XmFZw8bUhnD+543O38c3ZoU/HZ7fPKYJuz4u0U9p4tUVfwPDX1GHaAGupVsaRybNcAwqTIhSghc/HGwX9Q7MuN18GhvzSpDVWNnlb8kNL9Ueyd+fOp6aDx4fOacuvlsIb4ig8xemyuhzzp0c1m+gHKEd7ACVpsO2vg8L9M3bJYfsBE4ZRnsTvDF+0s31OJt1gWCP9GrtB4kT2b2Ss8WgI1JwVFKC0nxZwxvHwo2C895zJfFKGhmP/rYCmG5j/2SZumeaYbQbOj6u5J0m9YGSEt9ZMdA/ypp+cUcARBEI1tdud9EY9KN31ZTde+eSa4cj5/PHQbP8+ZziBdau+fhFrKEKuD53LWPGT9lGr0b4OfTO5yS9cGNqH6czl8eqTKpMvvOPm4L1dcErga7AiLR4PkBZMmPx3aO5i7XzY6OG5xtl/JDgsRFkiijqESVgcATMg7CHdfoHlqzPPPnAiCRdTjmZ+5FeoFlEi+CXnt0TCJ5AowhuRvicPz5cdJdtonqb9fWZjIzotgoblOg0dv4R3KhGWxAMDouXkzR8MvSJF+XLTPLypGoPHC7+MuftsqKYYU02Zar2rAH3WhfcTbR7SpkN1ow2s6R0938mFhbqEvv7Gug8FvM/4TxT1CFaAFMiMcJfvkau3nYgdtHt26PoA7c1eD+dv1NVK3DsurO735edhwgSlDbsN87LfctNXG1WXRLGM6La7OsW1BvmeE1CkDCATUQ9ogS4bIDDTFY/e7FF45U+0lIDThROO/39ffpEaHqgYNjt8Toix1v3peCRd2VVxu0DvTLLfq9bJitb3G2SS5TqExgNcKsI7fkITFs4fKq/6j8j1AqoGvnxE5X/XKPkvZvqPGoa3Vz/BxIer/56MHjn5GtZ226A8fLE/egwn2lJk3DrtJUVmrh5vPhvIPeinrVgvgFR8pQm+fpuSEmwSik5yF1qvUBQclotqbyWCDLW+vc/Puecve1dVmiVTSvTIRm8/XDgq/s8RifRzTNnxrgtfx7Zo0bdteCREixOq9f59cvH0bbFsr4r5muZgq3egKbMZ8pnaxFbsZ53R0nj3fvnI7IjL2X6MuOz1YcMg4PTonVv2OoP1zEnFpFNSLQtIoYlwANCD/xVt54nOw7Hdc+Yq8hWCVLTc5ZvBL5c3Qxc+5KpbRgXM1M75tnP6pglVUaahsfQwolxgd1+VfVVdhNTYHIIgh0EG6oAyoTDLYzXzj2FHdnNEm3vqPLOptUtqcagGxoKt5e/fHqux22ONniZ7h3V9rCX+7mtTJ/PORTuV0tbyFeMMhsH32PAJBMeeRL1iBLgXBuQwF4xkpoM285jfA2KumsUuva9sor2CnGjJ6On21KPk7m3dOaue7Yx+njVlK30hj1eOzJY3mw22p/AbxTikeSL+moQUCQ8t4AV44e6xgYElZq9dYsrTNl8oq2hntlTdK6ncPv1I6tdTnfc28jS/sdhFk3qvLa+8c+HNCtyF7+/g0L9L7g/DUY6qI+1EMciAKUq6ixFSewNW259eBQbm3fL0kzXZsDXMSjolqFRYoxCrOmms4rCgs5dGfOpo/d1BdTppSbxdg63DwgApv3oL6JAY8ARsBj2gXQoW3LS8yTww3JpbHfGfVt1Y6tgnR63WhvzG5LqPbm2mzqNz3eNUnILbbysLGQUNRb4EwVjcNMNSAHVIeoRJeDxkAUchj/4b6vCsbgKhc3RMxdvfyvHob2hneU8bbkbXtvLX3Xd8yRizkyydb18ZlSJ0k7u8h5LUR3c6v8BDZHTmqjXEcAD1hIgDBar5JfCLZFWubdiwcnu7CLdf7YV8fIL0Xx7Tzni7TOVbNtYLXbL3WxDV3XPuGk14llyZOUG0hD6FTzHjSrg8XFQSOBICYMrckrvdi3RuJduveN7K/3e5snbk4BntzbzTj6s6gZIbA75RQ9ZOctL54aRXIiyxilsIQFIAccGePSDBIggOgQHh0vNRu4rH7aDeuylvj6z/+qbemPoYGs1ImIzQOFr3qPV58/UJdKzYhzT5UgrsgbBnX1I4oaCwCvaGz2wmMEdfygLnnAeZ2qbHbB8sHrvIEb33pbyXs/ml1jlHyNOTk6+fvmi/akmzHFbJazl7GymqpUPhABJAjQE5iCgnX4BCeBZ0CZwcoTFXvdK17grEXRb+9PywXLy5smXtx8+RHw9UT450f6qPfRpp9vBU8M9n5scSRPCOQg8zAwkAS4mhrJFYF0G7gU3/KFSwbuPiruf/aT9ZOaTgJyI27fynj37+kz71vOh5b2dT9sK6bbp6bY6Z8HVf4cNAXuYu4EiUN96Q44owUIA+UB3x2B21c0MXR0CYwL2Apbvra6uPh8KWh7a0e3Zjgnc8bT0S1VsaakagyejLqwBvAtus6C99gtVikfMAidYwCSAEIGY2Oqqty2VGah7sHw7SEIiZifaflvjhkqsq4OXl0ViXesxeBz4JDwuCz7AtSBwFfWIEkD6BHzAoA8yQxhBxycY6Lj6ZU3qdTtmSu1k7NydlJTMckhLy071MvQwo8TDBlAEaI2L2IL5S9QjSgBk4J9bQDogRqCzYB9An3lAJGZl2TplOehFq0Rr+MllS2evyLsMy9qZ/wxMB10QqYXAqaB7wcSH+q4usACShC+SEHQSJB/jrlx/aEUikaRtw5ykV0hO1k4ePsmaVDjxgEkO+BOWAKshjC84QEF7XwH4E6CNA9aA3gIiBtY2KAvki7t6ne2ib+ShprMUatx7fIUA70I/hC4Im0EtwGHjhZuhCsgCVmbkAudY8Ab8gtAEqscTMAQCDAqodzASgaIgxGEb+Bn8iEgk6hAtAAaQGx64CxzFimatiBiAJGRIEBkA8T2kkP+fMUAzRBEYkO7ARdQjSgCcEPVDDwP0YHWAwY/IgvCHf5wI3QkwBz9B+kAYMBaAqQFKD4UAv18hoGwSRJWQPbgAftAMyPFZxMXgBSgaSAF8DD4FkxwQCNoBKSFAVKgJqA60Y+QSl7jEJS5xiUtc4hL/HyAm9r+XXnYR5dlv2QAAAABJRU5ErkJggg==" + }, + { + "name": "Scanning from Orbit", + "description": "You initiate a long range scan from orbit:\nThis planet has a smoggy cover that blocks any good look at the surface, yet it has a mostly survivable atmosphere.\nThis planet has zero life signs.\n", + "choices": [ + { + "key": "choice 9", + "name": "Stash that Report...", + "exit_node": "Planet Start", + "delay": 0 + } + ], + "image": null, + "on_enter_effects": [ + { + "effect_type": "Add", + "quality": "Long Range Scan Report", + "value": 1 + } + ], + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkBAMAAAAxqGI4AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAASUExURQAAAP///1lWUqwyMmlqakZHRwPX/kkAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAL5SURBVGje7ZldbqMwFIXtKnkvO4huyAYmG0CWea8i2P9Wxv/Y2MTYvjBVO4c8FET8+dxzDW5Ldqr73Hcf7fbemfwu+p1tkM+jILTbfeu2stNbDDSkklXnzNRbyUqUqbM/oVr5AFhOus5iUK3A/fmEW0BRHjCtwFPqj6NQS6GIVu5PTXEXnJUOjfLxXEOITYWitXECQk6BUOx6pSDkKAj4F6mrFxLEdNctAdl8gJVmBRBXy6tXcrScwwvXsufikXIP1qId5t2iz0D4osFClAga5MJDDbJaEUDJjF6eyZohxATjlhym9kkcMzhkIBQJ0g+pe2klJFWtG4DrgRSkeEUkjDDWA09TbPJdM6RXnySlDnLpYyO9/GhtQChthYhSMXeyup0aSFkoCYirVqJkdcnHEMaXakVeHIQUQYBPwSFdMB86IEBYolrAtyi1kF4asOIT40Ekq4JVQvS0R3UYI5G5GFLYwuKRO3l69dMEkxnc5MR8K6RCF9VL2sioe2tdLc6GRggROUDve5lcA9usXpw0So4Go5OwE0YySqutED33eZKH12TSyJJTK0RNFx6LFb4yMiI4uajJQmxlWT3tTsybEfxUnA0t9miGmNnCY54DMxNiJu7V6HLx89BO2iHLhIUXPxUleWVjf1SiZbvCHkEuLqX0brIM4hUfwkxERkKvdiPhxksGw3UuNpERmpuLeKGoBRM8k5WP/gsBsnrkAphUVGOJHeuIwPBDMcks6vmAUazkbtjXgAIhqVW+QHAYZHxnBIkRheKbGbAgJH6NIAcitWFlwmQQck28EzEDUdqwQnClrIxH+pA63od1EpgpHiP7i3ccSjEj/yd258SYqendLCR0UfcCyUK0B9KkbCYNBnZLRzIcC9HNdSzDODkYoraOB0eim+vgSIjcKM4HM06J5Hqak1Mi+d9ce3VGc5Ef01zXM5pLQN46oR0O5G0kKP+9nM+CfP1rSDqTwqTqmqvQX91SLINcvzGkLJPrCev9HMj8oyDk10MI+Qt3vM7Ve2h01AAAAABJRU5ErkJggg==" + }, + { + "name": "Orbital Descent", + "description": "As you descend into orbit, you see a flying object headed straight for you!\nA garbled voice begins to call out to your drone, but there's no time to decipher it!", + "choices": [ + { + "key": "choice 2", + "name": "Blast the damn UFO!", + "exit_node": "Tractor Beam", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Tractor Beam Turns", + "value": 2 + }, + { + "effect_type": "Add", + "quality": "UFOs Shot Down", + "value": 1 + } + ], + "delay": 30, + "delay_message": "Blasting UFO!" + }, + { + "key": "choice 3", + "name": "Attempt Evasive Maneuvers!", + "exit_node": "UFO Evasion!", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "UFOs Violently Crashed Into", + "value": { + "value_type": "random", + "low": 0, + "high": 1 + } + } + ], + "delay": 30, + "delay_message": "You attempt to dodge the UFO..." + }, + { + "key": "choice 7", + "name": "Do NOTHING. Jesus take the wheel!", + "exit_node": "FAIL_DEATH", + "delay": 30, + "delay_message": "What? Why?!" + } + ], + "image": null, + "on_enter_effects": [ + { + "effect_type": "Add", + "quality": "Garbled Transmissions", + "value": 1 + } + ], + "raw_image": "data:image/png;base64,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" + }, + { + "name": "UFO Evasion!", + "description": "Were you good enough at flying to avoid the UFO?", + "choices": [ + { + "key": "choice 4", + "name": "No, Back to flight school with you!", + "exit_node": "FAIL_DEATH", + "requirements": [ + { + "quality": "UFOs Violently Crashed Into", + "operator": "==", + "value": 1 + } + ], + "delay": 0 + }, + { + "key": "choice 5", + "name": "You barely avoided them! Nice!", + "exit_node": "Tractor Beam", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Tractor Beam Turns", + "value": 2 + } + ], + "requirements": [ + { + "quality": "UFOs Violently Crashed Into", + "operator": "==", + "value": 0 + } + ], + "delay": 0 + } + ], + "image": "default" + }, + { + "name": "Tractor Beam", + "description": "Before you have time to think, your drone is captured by a Tractor beam! Now you've gone and done it.\n\nYou should have some time before you are pulled in.", + "choices": [ + { + "key": "choice 6", + "name": "Decipher Garbled Transmission", + "exit_node": "Deciphering Transmission", + "requirements": [ + { + "quality": "Garbled Transmissions", + "operator": "==", + "value": 1 + }, + { + "quality": "Tractor Beam Turns", + "operator": ">", + "value": 1 + } + ], + "delay": 30, + "delay_message": "Decipering..." + }, + { + "key": "choice 10", + "name": "Look at the surface of the planet", + "exit_node": "Looking at the Surface", + "requirements": [ + { + "quality": "Tractor Beam Turns", + "operator": ">", + "value": 1 + } + ], + "delay": 10, + "delay_message": "Looking out window..." + }, + { + "key": "choice 13", + "name": "Let the beam pull you in and dock you", + "exit_node": "Landed, Kinda", + "on_selection_effects": [ + { + "effect_type": "Set", + "quality": "Tractor Beam Turns", + "value": 0 + } + ], + "delay": 50, + "delay_message": "Getting captured..." + } + ], + "image": null, + "raw_image": "data:image/png;base64,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" + }, + { + "name": "Deciphering Transmission", + "description": "You review the incoming transmissions your drone has gotten. These aren't in need of deciphering, just un-garbling it from the bad connection...\n\n\"You are in Space British Air Space! Identify yourself, Tally ho!\"\nWhat the fuck?", + "choices": [ + { + "key": "choice 11", + "name": "Whoops!", + "exit_node": "Tractor Beam", + "delay": 0, + "requirements": [ + { + "quality": "UFOs Shot Down", + "operator": "==", + "value": 1 + } + ] + }, + { + "key": "choice 12", + "name": "Good thing I didn't blast them, then.", + "exit_node": "Tractor Beam", + "delay": 0, + "requirements": [ + { + "quality": "UFOs Shot Down", + "operator": "==", + "value": 0 + } + ] + } + ], + "image": null, + "on_enter_effects": [ + { + "effect_type": "Add", + "quality": "Commercial Airliner Transmissions", + "value": 1 + } + ], + "raw_image": "data:image/png;base64,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" + }, + { + "name": "Landed, Kinda", + "description": "You have been locked to the surface the beam. Robots are all around you, pointing at your drone with all sorts of old age weapons.\n\nOne of them angrily shouts at you, \"By God, Queen and Country, we've got you now!\"", + "choices": [ + { + "key": "choice 14", + "name": "Go out with a bang. Initiate self destruct!", + "exit_node": "FAIL", + "delay": 0 + }, + { + "key": "choice 15", + "name": "Surrender to the funny looking robot brits...", + "exit_node": "British Courtroom Start", + "delay": 50, + "delay_message": "You are being transported somewhere..." + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAIT0lEQVR4Ae2dvY5dNRSFzxsg0dKNBBLFKAiJApSKglREoqSDhqFAQihNChoKAiONlCISBUqRnlfhDXgRRGNkyI7W9dg+23/Hx/YqLO9jb/9tr+/Yc+9kst0+uzVMjAE14NfAxsD4A8O4MC5WAwSEJyhvEBENEJBIcHiK8BQhIASEJ0hEAwQkEhyeIDxBCAgB4QkS0cBygHzzlzHaxBOEJ8hSgGjBQD9CsjYkSwKiET0hWRsM0cgygOQIPqeNBPboHOfq2kfPZabxlgMkdfNQbKltW/vj3DR26/nM2D8BiXyCIRuO4pOy3jnOSWzfnKTO5r56lsWvkssBkisUEdoZBCVz0a5F/M8w99HmsAwgdmNEKFph4WaWtMV+Su3UeaT6l85vtvZLAWI3DwVj7ZQNlbYpbWr6yvjaeaf615zrLH0tB4jdOBSOVmxuux4CkHlrxhbflPVp+l3NZ0lAZJNRRGJLXSgXv6OFpx0X/Y6eYyhmI5cvDYjdOFdQ8hzbVI1PrH1O3d6YUo95zjhsc/mp1vKAoCBQXGijj7Wlzi1v9Szj2dwdA+vEdn34fCn6lHgQEM/3ICI0X26DK+UpgS7x9Y0nZZiXjMG2fogIiAcQFAsK0LXRr5WNY9ox8FnsVmOzX/6b9HtXlpgoRJCSx3xr1clYvrzWGOzHf3rYuHQ5QbjZ4Q1xxcpY6WPlxq7G8+GA+DbcLauxsFn6wNjMsqaR1tENEAwSigBt9KHd9026avxPAQgGHwGxNtbRJiRHa6AbIHviR1CODopmvM8ePTItk2YOLX0w/jG75RzO0PfhgNhFS8D3AiB+Nt/zPaK+JRB7fR+xPhkD4661pe1s+akBscHGDeoV/D3xHl3fKg4Ya2vvjYP+e76j1ncFRLMJNrC9NuJo4aeOV0t0GF+xtX2Lv821bUby6wKIDZAEdi9Y4of5XpvS+lShns0/df2lsZX2qeOO4N8dEBtcDJQEO5ajf037bEIvnY8mNhhnjb/rU9re7e9sz6cABIPss48IWqkYz9o+FjuMdczPV4dtre3zmaGsGyASPDfQPYJ9VnHXmpfEGnOMO5aLjfV7trSZMe8OSI+g1hLeSP1gnPcEr63HPme1lwJkJEG3mKuImADofyNhe/DhR2YvSWBHzVuIbcQ+Zf8EEHlmHgZmekBGFHLLOROGMAy+2BCQhN+pur6+NpJExPIcysXvLLlPBCwLQ7P9/uqV8aW9a1fN+lYbVFuUIQhKymvPUdNfq3jP2C8BSThBzDtvGZtKgNC21Qg912dGIbda07SA5IrH107AwFwr9Bp+vjmVlrUS1Gz9XgCC16bHj380kn55/tz40t2LF0aSr96W/fby5Zvku8rZMhw3ZKcEvlQ80h6B8Nk1xJ/ah8ytNE+J58q+0wFSKhwfCHtlqSKv4V+6zpVFn7L2qQDJFc0eACn1NcSv7SN3vbZdikhW9r34mFeuVDb//sl3b9JPn3xh9tLNzY3ZS9gnXr3QxisWjonlvg3LEUuK8HN9tWLP9ctZNwEJf6zramsKQFJFkiv2Fu1ywXDbpcbAFQKf/dAsB4hG5Nu2GUyaNkf5uGDIMwHxC7wU/AtA8BrT2r66es9ICo3157YZSeiDi9YKQyNghMJna/ro5aONg/hhDGmH4SIgr7/8s8L2QYFlvcSvGVeEr80JRRgKjM3QgGjFoBEYghCzNX318tHGw/qhCGiHYdmePv3DSJIrz3/525u5kgTXoTdltq6kHNr+endnJOFV6p+f3zWS/v74fSNJNlQrCI1gY1BgnaavXj7aeBCQMBCiLckJyOsrFkIQs3uJf29cwqEXvYhfkw8LSIog9sRl62NQYJ2mrx4+KfHQCIM+/wO3PXz4lZGEV6ZvH3xqJLUoxz7xWoW2fIJlcyy3m5ciCK1gEQSfre2nh19KPCh+/WlDQCb4FItw6AWf+nIgIACIvPnd00PKz5oTkIaA4FXnSPvLr38wknJ+FytFFNb3rOKuMa+UWKS+QVf3346EAscSOGx+BCAoohqiPFMfuLaYvbrYc9a/JCAoojMJPXcuuJ49O0ckK7fZLr74ky8G3S8B4Us9fPOX2PipFNo4Hyz3bdKeGHLrc4Xao13OGn2xZJn/5xgCovijDT2Erx0zBxDbhkD4gXDjMjQgdjG5AqnVTivkFn6la3DFwOf70AT/Nm/oqlOrHK9P2GfOJpUKpUX7FkBInzXnmxPvldpMAYjdsJqiadmXiDw3bzG3lQSfutZpABkJkhYiL+0zVTir+G+fX31gJIUWjVeg0NVIUx7yCY2bW14qlpXb58Z81nZTAiKbtbLQS9Yu8WN+a6YGBDe4RDCrtcW4rW4HfwaZOTCrCT5nvTPvf8ralgTEF6AcEc3exhen1coIyLP7Xw5ZEcwufu36VgPCXS8BCQDiBgqfteKaxQ/XvppNQDIACYlkFiB86witefZyAlIRkJBYfIIbrSy0ttnLCcgBgNQQ0RmAqrGO0fogIIMAIsLqDYrMY5WcgAwGCAqzFyw4h9ltAjIwICjOI2HBcWe3CcgkgIhQjwJFxps9JyCTAWIFewQks4Mh6yMgEwIim9saFBln5pyATAyIFW5LSGYGQ9ZGQCYHpCUkIqKZcwKyACCExP8LqRqwCcgigLSCRCOykX0ICAEp+jllZPFr5k5ACAgBiWiAgESCo3nDjOZT+1Ot0dafOl8CQkB4gkQ0QEAiwUl924zgzxMk7RMtArIYIBZiQqKHhIAQkGJgRjg5c+dIQAgIAYlogIBEgpP71jl7O16xeMXi/6AUAb82ILa/s78UcufHEyQipNygnr0dAeEJMu0brQZ8BISAEJCdk5GQ6CD5F0cJWniQ8Kf0AAAAAElFTkSuQmCC" + }, + { + "name": "British Courtroom Start", + "description": "Wow, that took forever. A one eye judge robot smacks their gavel, and points their hammer at you.\n\"I will now read out the crimes you are accused of!\"\nIs that how the judicial process works? You dunno.\n\"ONE ACCOUNT OF PLANETARY TRESSPASS!\"\nThis blows.", + "choices": [ + { + "key": "choice 16", + "name": "That's not that bad.", + "exit_node": "British Courtroom, Continued...", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Crimes Committed", + "value": 1 + } + ], + "delay": 0 + } + ], + "image": null, + "raw_image": "data:image/png;base64,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" + }, + { + "name": "British Courtroom, Continued...", + "description": "This big idiot they call a judge just keeps piling on crimes. With each one, some robot you'd like to drone-punch gasps in the back.", + "choices": [ + { + "key": "choice 17", + "name": "\"INTRUSIVE SCANNING ON OUR CITIZENS\"", + "exit_node": "British Courtroom, Continued...", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Long Range Scan Report", + "value": -1 + }, + { + "effect_type": "Add", + "quality": "Crimes Committed", + "value": 1 + } + ], + "requirements": [ + { + "quality": "Long Range Scan Report", + "operator": ">", + "value": 0 + } + ], + "delay": 0 + }, + { + "key": "choice 18", + "name": "\"SHOOTING DOWN A COMMERCIAL AIRLINER\"", + "exit_node": "British Courtroom, Continued...", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "UFOs Shot Down", + "value": -1 + }, + { + "effect_type": "Add", + "quality": "Crimes Committed", + "value": 1 + } + ], + "requirements": [ + { + "quality": "UFOs Shot Down", + "operator": "==", + "value": 1 + } + ], + "delay": 0 + }, + { + "key": "choice 19", + "name": "\"AND WE HAVE PROOF YOU KNEW IT WAS JUST AN AIRLINER!\"", + "exit_node": "British Courtroom, Continued...", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Commercial Airliner Transmissions", + "value": -1 + }, + { + "effect_type": "Add", + "quality": "Crimes Committed", + "value": 1 + } + ], + "requirements": [ + { + "quality": "Commercial Airliner Transmissions", + "operator": "==", + "value": 1 + } + ], + "delay": 0 + }, + { + "key": "choice 20", + "name": "\"THE TRANSMISSIONS WERE NOT LEGIBLE AND UNTRANSLATED. WE CANNOT PROVE MALICE!\"", + "exit_node": "British Courtroom, Continued...", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Garbled Transmissions", + "value": -1 + } + ], + "requirements": [ + { + "quality": "Garbled Transmissions", + "operator": "==", + "value": 1 + } + ], + "delay": 0 + }, + { + "key": "choice 24", + "name": "I think it's done listing crimes, thank god. Time to argue my case.", + "exit_node": "Verdict", + "requirements": [ + { + "quality": "Long Range Scan Report", + "operator": "==", + "value": 0 + }, + { + "group_type": "AND", + "requirements": [ + { + "quality": "Garbled Transmissions", + "operator": "==", + "value": 0 + }, + { + "quality": "Commercial Airliner Transmissions", + "operator": "!=", + "value": 1 + } + ] + }, + { + "quality": "UFOs Shot Down", + "operator": "!=", + "value": 1 + } + ], + "delay": 0 + } + ], + "image": null, + "raw_image": "data:image/png;base64,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" + }, + { + "name": "Looking at the Surface", + "description": "The surface of this world looks exactly like a grey version of Earth! It seems to be an exact replica of some kind.\n\nYou see creatures moving around on the streets", + "choices": [ + { + "key": "choice 21", + "name": "Cool!", + "exit_node": "Tractor Beam", + "delay": 0 + }, + { + "key": "choice 22", + "name": "Scan the creatures.", + "exit_node": "Robo Brits!", + "delay": 30, + "delay_message": "Scanning..." + } + ], + "image": null, + "raw_image": "data:image/png;base64,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" + }, + { + "name": "Robo Brits!", + "description": "Wow, they're robotic humanoids that look and act exactly like the British! You see some robots laughing and chatting at a pub, and a Bobby walking down the street looking for crooks. Who created this earth replica? You only know Earth from the books, but you should be where London is!", + "choices": [ + { + "key": "choice 23", + "name": "Nice! Well, back to getting pulled in by a Tractor beam...", + "exit_node": "Tractor Beam", + "delay": 0 + } + ], + "image": null, + "on_enter_effects": [ + { + "effect_type": "Add", + "quality": "Long Range Scan Report", + "value": 1 + } + ], + "raw_image": "data:image/png;base64,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" + }, + { + "name": "Verdict", + "description": "Before even getting to defend your case, the judge says \"I've heard ENOUGH! It's time for a verdict!\"\nDang! You're definitely in kangaroo court!\n\"GUILTY! AND YOUR SENTENCE IS:\"", + "choices": [ + { + "key": "choice 25", + "name": "\"DEATH!\"", + "exit_node": "FAIL_DEATH", + "requirements": [ + { + "quality": "Crimes Committed", + "operator": ">=", + "value": 4 + } + ], + "delay": 0 + }, + { + "key": "choice 26", + "name": "\"SPACE JAIL!\"", + "exit_node": "Not Actually Space Jail, Just Normal Jail", + "requirements": [ + { + "quality": "Crimes Committed", + "operator": ">", + "value": 1 + } + ], + "delay": 20, + "delay_message": "You are being jailed..." + }, + { + "key": "choice 27", + "name": "\"FORGIVENESS! Just trespass? That's not that bad!\"", + "exit_node": "Sweet Sweet Freedom!", + "requirements": [ + { + "quality": "Crimes Committed", + "operator": "==", + "value": 1 + } + ], + "delay": 10, + "delay_message": "WOOP WOOP" + } + ], + "image": "default" + }, + { + "name": "Not Actually Space Jail, Just Normal Jail", + "description": "You'll have to wait out your crimes against the robo brits.", + "choices": [ + { + "key": "choice 28", + "name": "Sit out your sentence", + "exit_node": "Sweet Sweet Freedom!", + "delay": 1200, + "delay_message": "Sitting out your sentence..." + } + ], + "image": null, + "raw_image": "data:image/png;base64,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" + }, + { + "name": "Sweet Sweet Freedom!", + "description": "You're free! You spend a good while travelling around England (or at least the replica) and enjoying the cuisine, people and culture! Good society research is gained from this or something, but really you're just enjoying the sights and sounds.", + "choices": [ + { + "key": "choice 29", + "name": "Nice!", + "exit_node": "WIN", + "delay": 0 + } + ], + "image": null, + "raw_image": "data:image/png;base64,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" + } + ] +} \ No newline at end of file diff --git a/strings/exoadventures/quantum_fizzics.json b/strings/exoadventures/quantum_fizzics.json new file mode 100644 index 0000000000000..0ee9bf9bf6806 --- /dev/null +++ b/strings/exoadventures/quantum_fizzics.json @@ -0,0 +1,195 @@ +{ + "adventure_name": "Quantum Fizz-ics", + "version": 1, + "author": "EOBGames", + "starting_node": "start", + "starting_qualities": { + "jammed": 0 + }, + "required_site_traits": [ + "technology present", + "in space" + ], + "loot_categories": [ + "unique" + ], + "scan_band_mods": { + "Narrow-band radio waves": 10 + }, + "deep_scan_description": "", + "triggers": [], + "nodes": [ + { + "name": "start", + "description": "As you sweep through the inky void and the site comes into view, you're puzzled by what you see. On a small asteroid sits a vending machine. Despite the odd runes lining its surface, you're fairly certain that the image on the front is a can of soda. While ordinary common sense would dictate that drinking strange alien soda is a bad idea, you can't help but be curious about what exactly this machine dispenses. There's one problem, however- what currency does this thing take?", + "choices": [ + { + "key": "choice 0", + "name": "Leave.", + "exit_node": "FAIL", + "delay": 10, + "delay_message": "There are better ways to die than drinking alien soda." + }, + { + "key": "choice 1", + "name": "Try a holocredit chit.", + "exit_node": "it's_stuck", + "requirements": [ + { + "quality": "jammed", + "operator": "!=", + "value": 1 + } + ], + "delay": 10, + "delay_message": "Hopefully whoever made this machine is part of the Galactic Currency Union..." + }, + { + "key": "choice 4", + "name": "Ram the machine.", + "exit_node": "smashing", + "delay": 30, + "delay_message": "Ramming speed!" + }, + { + "key": "choice 5", + "name": "Search around for some loose change.", + "exit_node": "lost_wallet", + "requirements": [ + { + "quality": "have_coin", + "operator": "!=", + "value": 1 + } + ], + "delay": 100, + "delay_message": "There's a surprising amount of stuff on this asteroid to search..." + }, + { + "key": "choice 6", + "name": "Use the coin you found.", + "exit_node": "choices_choices", + "requirements": [ + { + "quality": "jammed", + "operator": "==", + "value": 0 + }, + { + "quality": "have_coin", + "operator": "==", + "value": 1 + } + ], + "delay": 10, + "delay_message": "Thank God for clumsy aliens!" + } + ], + "image": null, + "raw_image": "data:image/png;base64,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" + }, + { + "name": "it's_stuck", + "description": "Well, only one way to find out, right? You produce a holocredit chit (helpfully taken from the science budget, I'm sure they won't miss it) and jam it into the slot. Then, you realise your mistake, as it sticks in the slot. Whoops. Time to try the old fashioned way, I suppose.", + "choices": [ + { + "key": "choice 2", + "name": "Time to try something a bit more daring?", + "exit_node": "start", + "on_selection_effects": [ + { + "effect_type": "Set", + "quality": "jammed", + "value": 1 + } + ], + "delay": 10, + "delay_message": "In hindsight, why would this accept human currency, anyway?" + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAAAXNSR0IArs4c6QAAAjVJREFUeJzt3cFyogAUAEGzlf//5ewpF0pGRJDnbvc1CkhleAbEfN1ut58bcNefqzcAJhMIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUD4vnLlW/854tdJz5+2HWuWy9+6HWdt77P/1PLo7d27H/cwQSBcMkFePSI8e+T5WXncUctZWlvP1uef5V2vd+9y1p7/aD1nMkEgvHWCTDgiXOH3dU6ZJNNN+j0xQSBcehZrae3siCPtff/aJJo0OX6ZIBBGTZDle3XuW+6fq/fXo/W/ev3H3yAw1FsnyP96Nues99ZTJu7R11PWJqTrIDDM1+3CA9CUz0BN2Y410z+Ltfdxz/780frOYIJAuHSCwHQmCASBQBAIhFFX0pfefZbq0XKPupPu2eW9+2zSVmctZxITBMLoCbK09069s86vT7uTca+j9s/E6xivMkEgfNQEWZr62a6jPiN19evABIH00RNkqq33Rywn36PHv7penmeCQDBBXvDqkX/rdZKjvp+K55kgED56glz9LRhn39/B9UwQCB81QfZemd36HvxdR/azzmLtNW3/TGKCQHBHIQQTBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBMJfgqJi1hru29AAAAAASUVORK5CYII=" + }, + { + "name": "lost_wallet", + "description": "Searching around, you come across a lost wallet in a small crater. Flipping it open, inside you find a family photo of 3 identical looking grey aliens in comically different outfits, an (expired) credit card for a bank you've never heard of, a loyalty card to McDonkalds, and, in the coin pouch, a single black coin with glowing purple lines. This is (presumably) what you're looking for.", + "choices": [ + { + "key": "choice 3", + "name": "Return to the machine with the coin.", + "exit_node": "start", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "have_coin", + "value": 1 + } + ], + "delay": 10, + "delay_message": "It doesn't count as theft if you found it, right?" + } + ], + "image": null, + "raw_image": "data:image/png;base64,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" + }, + { + "name": "choices_choices", + "description": "You slip the coin into the slot- it's a perfect fit. Now comes the hard part: picking a button on the machine to press.", + "choices": [ + { + "key": "choice 7", + "name": "The red looking soda.", + "exit_node": "cha_clunk", + "delay": 10, + "delay_message": "How exciting..." + }, + { + "key": "choice 9", + "name": "The yellow looking soda.", + "exit_node": "cha_clunk", + "delay": 10, + "delay_message": "How exciting..." + }, + { + "key": "choice 10", + "name": "The green looking soda.", + "exit_node": "cha_clunk", + "delay": 10, + "delay_message": "How exciting..." + } + ], + "image": null, + "raw_image": "data:image/png;base64,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" + }, + { + "name": "cha_clunk", + "description": "With a satisfying cha-clunk, your fizzy prize drops into the tray. You swipe it, and move on from the site.", + "choices": [ + { + "key": "choice 11", + "name": "Sweet, sugary victory.", + "exit_node": "WIN", + "delay": 10, + "delay_message": "Hopefully this doesn't like, freeze solid in space. That would be bad, right?" + } + ], + "image": null, + "raw_image": "data:image/png;base64,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" + }, + { + "name": "smashing", + "description": "You maneuver the drone into position and begin ramming it into the machine. The machine sways and shakes, and just as you think it may be getting somewhere, it falls directly onto your drone. Now, not only do you not have any soda, but you don't have a drone, either. Dummy.", + "choices": [ + { + "key": "choice 8", + "name": "Disconnect.", + "exit_node": "FAIL_DEATH", + "delay": 10, + "delay_message": "Don't feel too bad, it happens to the best of us sometimes." + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAAAXNSR0IArs4c6QAAAjVJREFUeJzt3cFyogAUAEGzlf//5ewpF0pGRJDnbvc1CkhleAbEfN1ut58bcNefqzcAJhMIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUD4vnLlW/854tdJz5+2HWuWy9+6HWdt77P/1PLo7d27H/cwQSBcMkFePSI8e+T5WXncUctZWlvP1uef5V2vd+9y1p7/aD1nMkEgvHWCTDgiXOH3dU6ZJNNN+j0xQSBcehZrae3siCPtff/aJJo0OX6ZIBBGTZDle3XuW+6fq/fXo/W/ev3H3yAw1FsnyP96Nues99ZTJu7R11PWJqTrIDDM1+3CA9CUz0BN2Y410z+Ltfdxz/780frOYIJAuHSCwHQmCASBQBAIhFFX0pfefZbq0XKPupPu2eW9+2zSVmctZxITBMLoCbK09069s86vT7uTca+j9s/E6xivMkEgfNQEWZr62a6jPiN19evABIH00RNkqq33Rywn36PHv7penmeCQDBBXvDqkX/rdZKjvp+K55kgED56glz9LRhn39/B9UwQCB81QfZemd36HvxdR/azzmLtNW3/TGKCQHBHIQQTBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBMJfgqJi1hru29AAAAAASUVORK5CYII=" + } + ] +} \ No newline at end of file diff --git a/strings/exoadventures/robots_wingman.json b/strings/exoadventures/robots_wingman.json new file mode 100644 index 0000000000000..2958fbb6a4ed3 --- /dev/null +++ b/strings/exoadventures/robots_wingman.json @@ -0,0 +1,369 @@ +{ + "adventure_name": "Robot's Wingman", + "version": 1, + "author": "Lucky Luther", + "starting_node": "Date Start", + "starting_qualities": { + "Love": 3 + }, + "required_site_traits": [ + "in space" + ], + "loot_categories": [ + "trade_contract" + ], + "scan_band_mods": { + "Narrow-band radio waves": 2 + }, + "deep_scan_description": "", + "triggers": [ + { + "name": "True Love", + "target_node": "Love Birds", + "requirements": [ + { + "quality": "Love", + "operator": ">=", + "value": 7 + } + ] + }, + { + "name": "Complete Failure", + "target_node": "Obliteration", + "requirements": [ + { + "quality": "Love", + "operator": "<=", + "value": 0 + } + ] + } + ], + "nodes": [ + { + "name": "Date Start", + "description": "Cameras Online. A Blood-Red Drone is seen streaking through the stars.\nThe Drone is likely leaving behind some form of Chem Trail to brainwash Nanotrasen Employees who find themselves in the void.", + "choices": [ + { + "key": "choice 0", + "name": "Hail other Drone", + "exit_node": "First Contact", + "delay": 5, + "delay_message": "Attempting to signal Drone..." + }, + { + "key": "choice 1", + "name": "Ignore other Drone", + "exit_node": "FAIL", + "delay": 0 + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAD/0lEQVR4nO3duXnbQBBA4YE/d6CACSMmasFO1IDbUkluQJHUgnIlCFgDHIHmsYD2mD1m9/2JFCgABTwsFhcnEVkEgNOP2gsAtIxAgB0EAuwgEGDH8IEsC+cosM0rkF43ovVz9fr5kO7bQHreiKZpuvkJ3JvE4zrIsixsRBiSVyDAqIafpAN7CATYQSDADgJJ9H481l4EOGiddSWQBGscRNIWzUsTBBLpOorfX18VlwT3NK9vEUik19NJRIijVVrX7QgkwJ+Xl8vP8zw747B6x4HV5c6NC4We1jhERM7zLB+fnw9/c72RWbrzwOpyl2BmBKm5h7uOQ0Tk6XBw/p3Ve7usLncJJkaQ2nu4X8/Pm1GIiPx9e2Pj6tTP2gvgY5qmqjdMPh0Ocp7nm0jO83z5vfbyIR8TI0gt78ejvJ5ONzGssYjIwzyESPpDIBtc1znWQ62tSboIkfTGzCS9pK2LgGsUW3GI/D/cQh8YQTa8H4+b1zl8RghGkj4QSISQSEQ4fWoZgUQKGSEYTewikAShkVwjGBsIJFHs6LA3kSeedhCIAu1DKEabdhCIkpwTcoKph0CUlZiQc3asHALJoNQen1DyI5ACck/Iez+NXPPzOQPp/R/eEq3RptfRpPajDg+B1F6g0aUG0+POjREEN1yHZCHrg/WnhzlIo+438tBDKCLRQSDGcA9YWQRiUMhoQiRpCMQwnk3JjycKDfN9epGnHOMRiHFEkheBdIBI8iGQThBJHgTSESLRRyCdIRJdBNIhNn49BNIpn0gI6XsE0jEiSUcgnSOSNAQyACKJN2QgbAhuRPJouEA0v0PbEk7/xhkukJG/j49IwnG7+4C4Td5f8RGEPVN9oSPJyOus6AjCG1PakvJ2eh89rOPih1gM223JuT56eKcwcxAU22lZPIIgEIhI+ZHdypsgCQQXNTbaFkLZ2zkQCB7UmJDXCuW7wz4CgQrNl3DXiIQRBEWlTMhbOtNJIMgu5vCplUgIBMVYfAE3gaA4S+8WJhBUY+GmyeFud0c7LNx+TyCoqvVICATVtRwJgSCL0A251UgIBOpin/tvMRICgbqU5/5bi4RAKur5UdaU07ItRcJ1kEosPjxUWsh1EpE8/0cCqaj2VWILan/tNYGgeTEvl9AKhUBgQujooDWaEAjMiIlEJPGEgRAIDIl9tmQVGguBwKTYQ6jQwAgEZqUcQvk+Q08gME9jQr4VG4GgC1qnd+/nK8MFwsW5vmneobAsy1iBcHvHWDjNG4ERZDwpL7UbLhCMyXXXr08oaoGwZ7Zj1HV1/7l9DrlVAuHY3g7WldvWToMRZECsKzfXpJ45CHDnegdCIIDDZTQRAgE28dIGYAeBADsIBNjxD3G5pHKbkGjYAAAAAElFTkSuQmCC" + }, + { + "name": "First Contact", + "description": "The Blood-Red Drone accepts the hail with the identifier MISS RED - 05.\nMiss Red sends over a series of question marks in quick succession.\nYou notice your Drone has somehow taken initiative and begun to start up a program you didn't know it had.", + "choices": [ + { + "key": "choice 2", + "name": "Wait for Program to boot.", + "exit_node": "Sentience Achieved", + "delay": 5, + "delay_message": "H3AR7.exe booting..." + }, + { + "key": "choice 3", + "name": "Threaten Miss Red.", + "exit_node": "Sentience Achieved", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Love", + "value": -2 + } + ], + "delay": 0 + }, + { + "key": "choice 4", + "name": "Halt Mysterious Program.", + "exit_node": "Lack of Trust", + "delay": 0 + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAEpklEQVR4nO2dO3LbMBBAl5ncwIUaVmp0BbvRBXyllD5SLuBKuYIbV2pU+AxMkaFCUwA/+C/w3gzHCodWKBMPi10CVCcigwCAkR+5TwCgZBAEYAEEAVjgZ+4TaI1L3+c+BREReblec5+CCpoXZBgG6bou6f9J49TDJkFyNKIUDMNw/5n6842R5OV6Nb6e4rIfwjEsbVPWjtW4pf5cl75f/Dk/zvbvtf1sYbbVCNJ1XbURRERUfa55tBgjhW0/+LNpiKWpEdXKvNFPh2Wm/RCG5pP0GFz63pofzFlq4Gu5yfx4CE8n/8ZaAGCACJIJ32qVKc+g0hWH7JUCzZtrFclWpdparTIdt/c9a95CVSeJIB6MPfOYc7j+vm3/lvc0HWs6n5YqXSHvbyGII9MG59rYpmXa6XvseT/TsfN9rVW6Qt6aQBBH3o5H+fX5GaQnHvOEtfsaW6Q0Nf7ahTAR8tZE9vGilu31fL7/fD6doo59U29azzv2Rpl3I6/n8/311+0mfz4+Ho4Zx74ium6uaj3vFKhZDzK9iKmZyiEi8nQ4GI8bG5e2Rqb1vFOgIoLk7uGeTyerFCIiv9/faVyVoiJJzz1h8ulwkK/b7ZskX7fb/XXu84N4qIggubj0vbwdj99kGGURkYc8BEnqA0EsmEqq41DLlqSLIEltqEnSU2K73zBKYZND5P9wC+qACGLBNn1ka4QgktQBgjiwRxIRyqeaQRBH9kQIooleEMSDvZJMQRgdIIgnrtFhKZFHnnJAkACEHkIRbcoBQQIRMyFHmHwgSGBSJORUx9KBIBFI1eMjSnwQJAGxE/Lay8g5P59RkNr/4CURKtrUGk1yL3V4ECT3CbWOrzA1dm5EEPiGaUi253pw/cJBDlIo80a+dwiFJGFAEGUwBywtCKKQPdEESfxAEMWwNiU+rChUzNbVi6xydAdBlIMkcUGQCkCSeCBIJSBJHBCkIpAkPAhSGUgSFgSpEBp/OBCkUrZIgkjrIEjFIIk/CFI5SOIHgjQAkrjTpCA0BDNI8khzgky/Q7slKP+60ZwgLX8fH5Lsh+nuDcI0+e0kjyD0TPnZG0lavmZJIwhPTCkLn6fTb6GGa5x8iEXYLouY16OGZwqTg0CyTkvjCAJBQETSR3YtT4JEELiTo9GWIMpS54Ag8ECOhDyXKGvDPgSBIIR8CHcOSYggkBSfhLykSieCQHRchk+lSIIgkAyND+BGEEiOpmcLIwhkQ8Okyeamu0M5aJh+jyCQldIlQRDITsmSIAhEYW9DLlUSBIHguK77L1ESBIHg+Kz7L00SBMlIzUtZfcqyJUnCfZBMaFw8lJo990lE4vwdESQjue8SayD3114jCBSPy8MlQomCIKCCvdEhVDRBEFCDiyQingUDQRBQhOvakpG9siAIqMR1CLVXMAQBtfgMobauoUcQUE+IhNwmG4JAFYQq787zleYE4eZc3YScoTAMQ1uCML2jLSjzOkAEaQ+fh9o1Jwi0iWnW7xZRgglCz6yHVq/V/HNvGXIHEYSxvR64VmZsnQYRpEG4VmZMST05CMCMaQeCIAAG7tFEEATACg9tAFgAQQAWQBCABf4CeWF0TY0egUMAAAAASUVORK5CYII=" + }, + { + "name": "Sentience Achieved", + "description": "Before you can analyze the program, it rewrites you basic hailing protocols to have a new set of \"Ideas\" generated by your Drone to be used.\nThere is also a LOVE Gauge that reads: $$Love", + "choices": [ + { + "key": "choice 5", + "name": "New around here and was hoping you could show me around.", + "exit_node": "First Reply", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Love", + "value": 1 + } + ], + "delay": 0 + }, + { + "key": "choice 6", + "name": "You appear to be an outdated model, but I'm into that.", + "exit_node": "First Reply", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Love", + "value": -1 + } + ], + "delay": 0 + }, + { + "key": "choice 7", + "name": "Never seen a Drone as cute as you and wanted to check you out.", + "exit_node": "First Reply", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Love", + "value": { + "value_type": "random", + "low": -1, + "high": 2 + } + } + ], + "requirements": [ + { + "quality": "Love", + "operator": "==", + "value": 3 + } + ], + "delay": 0 + }, + { + "key": "choice 10", + "name": "Haha, sorry for the threat. I just play like that, haha.", + "exit_node": "First Reply", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Love", + "value": { + "value_type": "random", + "low": -1, + "high": 2 + } + } + ], + "requirements": [ + { + "quality": "Love", + "operator": "==", + "value": 1 + } + ], + "delay": 0 + } + ], + "image": "default" + }, + { + "name": "First Reply", + "description": "Miss Red replies with another series of question marks.\nThe LOVE Gauge reads: $$Love", + "choices": [ + { + "key": "choice 11", + "name": "Your curiosity is amazing.", + "exit_node": "Second Reply", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Love", + "value": 1 + } + ], + "delay": 0 + }, + { + "key": "choice 12", + "name": "The moment I saw you I instantly fell in love.", + "exit_node": "Second Reply", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Love", + "value": { + "value_type": "random", + "low": -1, + "high": 2 + } + } + ], + "delay": 0 + }, + { + "key": "choice 13", + "name": "Look, if you want some Chad that'll walk all over you, fine. You missed out on a NICE- GUY-.", + "exit_node": "Second Reply", + "on_selection_effects": [ + { + "effect_type": "Set", + "quality": "Love", + "value": 0 + } + ], + "requirements": [ + { + "quality": "Love", + "operator": "<=", + "value": 3 + } + ], + "delay": 0 + } + ], + "image": "default" + }, + { + "name": "Second Reply", + "description": "Miss Red starts compiling a message, but your Drone insists you sent one last line to seal the deal.\nThe LOVE Gauge reads: $$Love", + "choices": [ + { + "key": "choice 14", + "name": "You're my best friend-...", + "exit_node": "Realization", + "delay": 5, + "delay_message": "Message sending..." + }, + { + "key": "choice 15", + "name": "I want to see where this goes-...", + "exit_node": "Realization", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Love", + "value": 1 + } + ], + "delay": 5, + "delay_message": "Message sending..." + }, + { + "key": "choice 16", + "name": "DTF?-...", + "exit_node": "Realization", + "on_selection_effects": [ + { + "effect_type": "Remove", + "quality": "Love", + "value": { + "value_type": "random", + "low": -2, + "high": 2 + } + } + ], + "delay": 5, + "delay_message": "Message sending..." + } + ], + "image": "default" + }, + { + "name": "Realization", + "description": "Miss Red's message is received.\n\"This is Syndicate Drones Agent, Arusha Johnson.\nI don't know why you're saying it like that, but if you want to help out our cause we can send over a Trade Contract. \nPlease just call our Recruitment Officer next time.\"", + "choices": [ + { + "key": "choice 18", + "name": "Accept Contract.", + "exit_node": "WIN", + "delay": 5, + "delay_message": "Sending Trade Contract..." + }, + { + "key": "choice 19", + "name": "Demand a Second Date.", + "exit_node": "FAIL", + "delay": 0 + } + ], + "image": "default" + }, + { + "name": "Love Birds", + "description": "Miss Red's message is received.\n\"This is Syndicate Drones Agent, Arusha Johnson.\nI can't believe it, but I feel a real connection with you.\nI'll send over a Trade Contract you can use to make some money and come see me just SOL7-South of $$SITE_NAME\nSee you soon...\"", + "choices": [ + { + "key": "choice 20", + "name": "See you soon.", + "exit_node": "WIN", + "delay": 0 + }, + { + "key": "choice 21", + "name": "So you're not the Drone?", + "exit_node": "FAIL", + "delay": 0 + } + ], + "image": null, + "raw_image": "data:image/png;base64,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" + }, + { + "name": "Obliteration", + "description": "The Blood-Red Drone opens up two side-hatches to reveal a pair of rocket-propelled missiles which are shot in your direction.\nYou have failed your Robotic Friend, who has already started shutting down their systems, but there is still a chance.", + "choices": [ + { + "key": "choice 22", + "name": "Accept Death.", + "exit_node": "FAIL_DEATH", + "delay": 5, + "delay_message": "Missiles approaching..." + }, + { + "key": "choice 23", + "name": "I'm a Gamer.", + "exit_node": "FAIL_DEATH", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Love", + "value": { + "value_type": "random", + "low": 0, + "high": 8 + } + } + ], + "delay": 5, + "delay_message": "Miss Red considers..." + } + ], + "image": "signal_lost" + }, + { + "name": "Lack of Trust", + "description": "As you fiddle around in the Task Managing Software, closing all the new tabs your Drone is opening, the Miss Red enables a cloaking device and disappears.", + "choices": [ + { + "key": "choice 24", + "name": "Sigh in a quiet but dramatic way.", + "exit_node": "FAIL", + "delay": 0 + } + ], + "image": "default" + } + ] +} \ No newline at end of file diff --git a/strings/exoadventures/space_yacht.json b/strings/exoadventures/space_yacht.json new file mode 100644 index 0000000000000..50b41c3567208 --- /dev/null +++ b/strings/exoadventures/space_yacht.json @@ -0,0 +1,257 @@ +{ + "adventure_name": "There is a yacht cruising through space.", + "version": 1, + "author": "Kinnebian", + "starting_node": "A yacht in space?", + "starting_qualities": {}, + "required_site_traits": [ + "in space" + ], + "loot_categories": [ + "cash", + "drugs" + ], + "scan_band_mods": { + "Plasma absorption band": 5 + }, + "deep_scan_description": "", + "triggers": [], + "nodes": [ + { + "name": "A yacht in space?", + "description": "You see a normal looking yacht, floating above you.", + "choices": [ + { + "key": "choice 0", + "name": "Ignore it, its not worth investigating.", + "exit_node": "FAIL", + "delay": 10, + "delay_message": "You fly on by..." + }, + { + "key": "choice 4", + "name": "Investigate it closer!", + "exit_node": "Looks like the doors are sealed shut.", + "delay": 30, + "delay_message": "You begin to fly up to and around the yacht.." + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAMAAAD0WI85AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAzUExURUBAQOUAD/////8AAPgFFvwAB/0ABfwACPsBDP4AAszMzJMyje986cZlwEz/AOIBGOQAEnoV2UoAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAN5SURBVHhe7ZzrepswEERdp7c4TtP3f9rurBZ0QRISXpBEOf2KJcUhcxig9Idzu+iPbyfAiPB2GO7y6hIRib2tf2aRNwsvjYYV4QHIiNxV21LdmSPCVdAmJyKvHeKJkEJepGN8Ea7lBCLiwksDwSe8LwKTUzQCEx2Rw28Locj3H+OLTKiIHI4VIX7++v2Oq2REZpHRuUR6o2ORuhvfayIdPUR23EgdZxTp6DzZwBkbGZsGIg9s1M/jMhHFH/t4sEiCD4PMati3kUVo0rgnTaDwfD7VRV6tgUKbzPOOoEEkRIwGeci8jp0aYQk/s6ykRGaN2aPOaA8RG9kXkbXYuWU1pvTO0CN1nqiLOBaEGzmxbDIbC2ynpc/Plo14FoQ9+I+bLAG3E5NfNDAQjaYigQZhRbyviQklDjR4yBqNG5GgM/bQ+5IPKxFoGAnQ9tSSoBNREXaYsjtDjEUCtBTJVDKLIPkHZZbks0Wg0UTE3hMzIpghuBddBkRgQbRtJDRhEZMfSGrgTWks8S2FIuYoaossKjFXtcR18Z0ku0fTRnwROMQsvFVMJLpPNyJJB2c5JUEc+KzlPvdQIn41Ihx3qREupi1qPfQawQ3VQZJalqtYkNAx6jwURZbZDWwQfpWXJHGcykL0RKImnDdcx5KkTVProSgS3GYxizoUWGzw0BQhTHROa5I7YFFirlLvkRVJ/WcsA1/yktylQmKThnYjJLIATVRYbPTYXcRxKNTZ5lEgUnWC+SK2CgyKiqE3ya4q2UsE59Oc20zclRS+Rs2PXhepAiImtsAjzPFnDXqf7KcebRHHgZOzw7oCgW+VvWxBSwQxgKQCMiup4lULQkUkMEB43uClpI6XLQgNkaUFOxQYcBMaGjuI0KT0qog0seFhQtAQWZgUodTExEJk0zHxROQ1j4aFF1WlkToRVKFaBqMvkmcPB0ZJpMhklyYmdETWK9lVAmiJ5Ex2lwBKIkmTQySAlkjM5DAJUCWS/TeGYxsbMzxOAqRENj4rNDAQqhrpmUukNw4X2f6gnudqpDcukd7oVqT2pnA10huXSG/oiuh+urqKq5He+J9F2l0HOc7YSJ9HupSBG/EP/MEimq03FcnwomNGZKxrZimCD7bLb00Y6ZPtEZE/BBzw2x/GkRER4YvGVoT/QgQVpfgr39ocFnEx+TAYqpHzcLv9A9Y6cLa57YOgAAAAAElFTkSuQmCC" + }, + { + "name": "Looks like the doors are sealed shut.", + "description": "You fly up to the \"boat\" and find that all the doors are locked tight, and welded shut. You think you hear.. music inside? There is a welded vent, too. You reckon you could force it open if you hit it hard enough, but it would be less risky to unweld it using a welder.", + "choices": [ + { + "key": "choice 2", + "name": "Try to force the door!", + "exit_node": "You destroyed the drone.", + "delay": 10, + "delay_message": "You begin forcing the door.." + }, + { + "key": "choice 3", + "name": "Try to force the vent.", + "exit_node": "The music grows louder..", + "delay": 20, + "delay_message": "You begin forcing the vent.." + }, + { + "key": "choice 5", + "name": "Fly away, no chance in hell of getting in there..", + "exit_node": "FAIL", + "delay": 5, + "delay_message": "Moving.." + }, + { + "key": "choice 14", + "name": "Unweld the vent.", + "exit_node": "The music grows louder..", + "requirements": [ + { + "quality": "welder", + "operator": "==", + "value": 1 + } + ], + "delay": 5, + "delay_message": "Welding.." + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAMAAAD0WI85AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABRUExURaWMpOUAD/8AAKaNpaaOpaePpqiQp6mRqKmSqEBAQFRPVGddZmVcZeDg4PgFFvwAB4CAgP0ABfwACPsBDP4AAjAwMP/YAMHBwUz/AOIBGOQAEo23xmoAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHASURBVHhe7dwJT8MwDIbh0q5AYWNc4/r/P5TYcdWGmildDE2i75HoMWGJtymHkNYG8nNVAR/C26LVF9JO+KXSTCF8QIoP4aVwm6iQTvbZCEJcghrSNZ3n9nRKdk3XX/c3u/7Wf87WwhDaDO0Q5+5+v+fpLAQh3HJoD9EGns5CGEIldYS4TfStRXg6Cz9DHo5JKyJ9K8hgslmIN6SEDI+rWZVMIc7T88ur28m1WjqN5HxxPXMIGQ1ysaOcZEhc0GFWUnHIKjIkyl2RSkMu6rAqWYacJz+2CJ3KkJdZiFzsKAiZ+6uQkNxGRF4JyJCHFbFQccg5i1tMhry8QhIgxAJCFAixgBAFQiwgRIEQCwhRIMQCQhQIsYAQBUIsbBXi/3fhD2U8zWYhbw5CFAhRIMQCQhQIsYAQRUSI/4UeKDREdu/CZSAk9N8hS/hmDyFEgRALCFEgxAJCFAixgBDFqhD/dxYfyniarUJmEBJAiAIhFhCiQIgFhCgQYgEhCoRYQIgCIRYQokCIhYpD6I3t8tSE8c36kXIL+XD4QRb8+IQVMTmEiE93PIXwB4XQEv3mS0Y3xyFz/uujg6JWxNK2IU3zDauvUlylzN3TAAAAAElFTkSuQmCC" + }, + { + "name": "The music grows louder..", + "description": "The music gets louder as you enter through the vent... maybe you should turn back?", + "choices": [ + { + "key": "choice 6", + "name": "Continue onwards!", + "exit_node": "You fall down!", + "delay": 5, + "delay_message": "Moving..." + }, + { + "key": "choice 7", + "name": "Turn back.", + "exit_node": "Looks like the doors are sealed shut.", + "delay": 5, + "delay_message": "Moving.." + } + ], + "image": "default" + }, + { + "name": "You fall down!", + "description": "As you are crawling through the vents of this Space Yacht, the vent gives way! You're dropped into an empty room, completely filled with plasma! There is a desk and filing cabinet in here, along with a window observing the main portion of the yacht. The music is deafening at this point, it sounds like a horrible mix of sea shanties and EDM. ", + "choices": [ + { + "key": "choice 8", + "name": "Look through the window.", + "exit_node": "A rockin' party.", + "delay": 0 + }, + { + "key": "choice 9", + "name": "Fly outta of there.", + "exit_node": "The music grows louder..", + "delay": 5, + "delay_message": "Moving.." + }, + { + "key": "choice 10", + "name": "Rummage in the desk, using your key to open it.", + "exit_node": "Drugs and cash!", + "requirements": [ + { + "quality": "HASKEY", + "operator": "==", + "value": 1 + } + ], + "delay": 0, + "delay_message": "Rummaging.." + }, + { + "key": "choice 11", + "name": "Take a sample of the atmosphere.", + "exit_node": "The atmospherics scan", + "delay": 30, + "delay_message": "Taking sample.." + }, + { + "key": "choice 13", + "name": "Trash the place, fuck the police!", + "exit_node": "You wrecked yourself.", + "delay": 30, + "delay_message": "Trashing the place..." + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAMAAAD0WI85AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADAUExURbyA1eUAD/8AALyB1b2B1b2D1vgFFvwAB/0ABfwACPsBDP4AAr6C2MaJ4NRH7NSU7buA1bp+0rp90bp+0bt/07l8z7h6zbp80bp+07t/1Lp80Lp8z7uA1Lp/07l90bl+0rh80Lh80bd6z7p/1JAiVZAkWZAoX5AnXZAmXZAlW5AkWJA6fpA7f5A4epAnXpA9g7l+07Z6z+WQVZZar5BVqmYqf5BOnZA2dzPlBuIBGLx+0rx80Lx/1L13yr14yuQAErVxUskAAAAJcEhZcwAADsIAAA7CARUoSoAAAAJ8SURBVHhe7dzZctowFIBhky7pElo5pkGkS9qgpBvdoVva5v3fqkfyQciRYbxISPKc70IxxpH9I0iYzISMxGc0AGWIGpM2vJCDDbUriFv4tYNNiNqQAobczu7gVmtGiFoKGAKG9FAJgYSBhKhlGUAItqhdqamGyJJhhKhlUbtSczPk7mH6IWuph4B79x88lK+SFOmQ1LUMORoHdYSXUaNlyPhRUGO8jBqtQx4HRCE2CnGCQmwU4gSF2CjECQqxUYgTFGKjECcoxEYhTlCIjUKcoBAbhTjhNCQodyGD+dtvvCgkNhQSGwqJDYXEhkJiQyGxoZDYtAph+XExeXJyMp0onM9ms6KYnj49neZ5XhQ555MZm8A25wXn/JizjDH2DDb5cziWwU0YWDlZ+ZXl+YuzM85fvjo/53PA2HyuDmincYi46eLy9Zu37/CGB5ca7jDgNZmahoj3i2h86BEiBE4Sgx4rEllH55CoOhZi0TUkso7uIR9xiih8gke1+4pEpUcIPhiW8o79PPH0WfqG4MOh4Zx69E2fBTZahnz+gsqL/lpR7lODPoVX+iywIb5py7XRcpmpcQe83iqcU+6Xm97ps8CGwAszNQ6pI+eEH4Z4y69KyMo2Wq0yNe6wI0QuR4AQfPKbGr/Y65RPq4RCtsOZ98BJCE5hKe+gkFYoxEAhLlGIgUJcohDD7hD8He+dOiOQb/Dwwky9Q+AUeJhfvkOE+I5HeSZ+rE9a/8j1DNnTcoDNivgI2V+H+RYc91Q1CtkOj4hAk5AkDDhEf6RQWv/ZXhPyE8gS+ekP6cRgCPr1O7vahBxkfyDk6u8/GLe6xm8NToWY9O60VmQ4suw/MDqeSvYBdn8AAAAASUVORK5CYII=" + }, + { + "name": "You wrecked yourself.", + "description": "In the midst of trashing the place, a filing cabinet tips over on you, crushing the fragile, expensive drone. Nice job, idiot.", + "choices": [ + { + "key": "choice 15", + "name": "Shit.", + "exit_node": "FAIL_DEATH", + "delay": 0 + } + ], + "image": null, + "raw_image": "data:image/png;base64,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" + }, + { + "name": "Drugs and cash!", + "description": "Rummaging through the drawer, you find that the person who lives in here stores all his drugs and cash in here too. Good for you!", + "choices": [ + { + "key": "choice 17", + "name": "Head back with your newly acquired things. ", + "exit_node": "WIN", + "delay": 30, + "delay_message": "Stealing..." + }, + { + "key": "choice 18", + "name": "Take one last look around the place.", + "exit_node": "You fall down!", + "delay": 0 + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkBAMAAAAxqGI4AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAwUExURW4WTuUAD/8AAPgFFvwAB/0ABfwACPsBDP4AAuex/6526uOxlKt4fUz/AOIBGOQAEqIMSWUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHFSURBVGje7dq/bsIwEAZw15ubpX2DyFLHqkvfqe/BE7AeU9dkyu68gTN1r9RHqX0mf1oMMeIuA7pPQooE4sd3FwJD1B3lmT0BeeJu8bAZom0MNxKPNDeia2X5EbsJUm+A1HYLRNs7WXyt3tmReMSO2JePHfc3XjFHEEEEEUQQQQQRRBBBBBFEEEEEiQHgR+DQ7HkRE4y2bYAVUdDG3KasIbEHBvZciMFZtbeWuYhAmFUzVgnKapnKpXTFCOCoDkcAR7ZiODdgfCFiAoElUpOy9fcBiA+vihAD45DaafXrSj9454LiypDZWCbsCDD55VT94LBJV4TAFJwYLNskLXepqcKwfDFi5o8K6f3M0sGaTRbB1f9fyRVXYYD05tN6TspE4EZELaeIazHY93F6Gk8sd7p3mt8T8xfpWJCUakhnsCdHPudD/Lr7zLQIm1R9Qk6L0CHV8bqVKUKHjEamCBni+vNFiJBpVtkiBEj8oRpr5ItQIMMc7zp2xLv8SwiQ/nINEmQ8ec/VoEGqCyunRc6OigrJ/NMiR9YjiCCCXIPEe3C0ZUZev79qrVmYiMSbo34SUutYZ5k3oluvUnBcWjPexcAbpX4BKG91c2myRoIAAAAASUVORK5CYII=" + }, + { + "name": "A rockin' party.", + "description": "Looking down through the window, you can see up to 20 plasmamen dancing on a disco floor. They look to be enjoying themselves, and none of them have noticed you. Oh, hey! Theres a key on the floor right next to you!", + "choices": [ + { + "key": "choice 16", + "name": "Swipe the key and head back to the desk.", + "exit_node": "You fall down!", + "on_selection_effects": [ + { + "effect_type": "Set", + "quality": "HASKEY", + "value": 1 + } + ], + "delay": 0 + }, + { + "key": "choice 19", + "name": "Tap on the window!", + "exit_node": "Weak.", + "delay": 0 + } + ], + "image": "default" + }, + { + "name": "Weak.", + "description": "You weakly tap on the window, and nobody hears you through the blasting music.", + "choices": [ + { + "key": "choice 20", + "name": "Oh well.", + "exit_node": "A rockin' party.", + "delay": 0 + } + ], + "image": "default" + }, + { + "name": "You destroyed the drone.", + "description": "You smash into the door, and your screen goes red. Looks like you managed to destroy your drone, nice job. \n\n\nIdiot.", + "choices": [ + { + "key": "choice 21", + "name": "Fuck.", + "exit_node": "FAIL_DEATH", + "delay": 0 + } + ], + "image": "signal_lost" + }, + { + "name": "The atmospherics scan", + "description": "100% plasma, jam packed with it. This is definitely the home of some plasma-party-people.", + "choices": [ + { + "key": "choice 22", + "name": "Huh.", + "exit_node": "You fall down!", + "delay": 0 + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAMAAAD0WI85AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABRUExURWJoaOUAD/8AAPgFFvwAB/0ABfwACPsBDP4AAhcXFzs7OykpKVFRUQAAAKb//wD//wuKkf/MAP9mALAAADAwMP8AM/vZTwCwAEz/AOIBGOQAEso55t0AAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHDSURBVHhe7dzZbsIwEIXhdK/j2A6Fru//oD0zMYVuEr0YOhOdXyJxg5DyyXbhBgbmr4sVtED0GLr1QS4P6aVoHSA6kMJDdCpwWAEEhJVAdFrWsLQWi16K1meISNYB0WnRS9H6Crm6jg/ZFx2Cbm7v7mWXROwDEj1CvEWItwjxFiHeIsRbhHiLEG8R4i1CvEXIyaV+No6QkyPkbxFycmlc6n9aZQ4BIUvWFGvIOE6pSGmylRhBdBKQOmpttVpLbCA5466XUmltnufWCjZLf9oiI8iky0mrZa61zg1zYikxgoxYTxLWVduUhrW1gSSHhJRWSgPkoTYMG85BIU0CZIsT9knbhp0RmQdsdYFI2xYTsty97JGdjnYx98jxf61lkeGdJI+5P2+QESRP/R0xdw5K2dBhBBly6uWcyuP4ND6Lw/KDsBFkn0rkAyOOpg5rCCQQYHOAkUJDkC4xWwU6A+Q8EeItQrxFiLcI8RYh3iLEW4R4ixBvEeItQrxFiLcI8RYh3iLEW4R4ixBvEeItQrz1HSJfbO+/mhDpm+0/QF6QGOTXH+JgOqT3ivEBog+ByBT91lt/6b+nkOOW+5NBqBlZT8PwDsHEFJFntJj8AAAAAElFTkSuQmCC" + } + ] +} \ No newline at end of file diff --git a/strings/exoadventures/tree_in_the_middle_of_space.json b/strings/exoadventures/tree_in_the_middle_of_space.json new file mode 100644 index 0000000000000..f06b1d2506273 --- /dev/null +++ b/strings/exoadventures/tree_in_the_middle_of_space.json @@ -0,0 +1,356 @@ +{ + "adventure_name": "There's a tree in the middle of space.", + "version": 1, + "starting_node": "Tree Start", + "starting_qualities": { + "Confusion": 0 + }, + "required_site_traits": [ + "in space" + ], + "loot_categories": [ + "research" + ], + "scan_band_mods": { + "Exotic Radiation": 10 + }, + "deep_scan_description": "", + "triggers": [ + { + "name": "Confusion Trigger", + "target_node": "What is wrong with this tree?", + "requirements": [ + { + "quality": "Confusion", + "operator": ">", + "value": 30 + } + ] + } + ], + "nodes": [ + { + "name": "Tree Start", + "description": "Camera online. Visual signs detect a fully grown, seemingly biological, and live tree located in the middle of the vacuum.\nSensors indicate it is not oxygenating, but energy is being collected via passive solar light from the nearby star.\nBaffling.", + "choices": [ + { + "key": "choice 0", + "name": "Ignore site.", + "exit_node": "FAIL", + "delay": 10, + "delay_message": "Leave this for the botanists to figure out." + }, + { + "key": "choice 1", + "name": "Begin sensor scan.", + "exit_node": "Biological Scan", + "delay": 10, + "delay_message": "Lets get some data." + } + ], + "image": null, + "raw_image": "data:image/gif;base64,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" + }, + { + "name": "Biological Scan", + "description": "You attempt to scan for clues regarding the tree's nature. It appears to be a fully mature oak tree. \n\nApproximated height is 13 ft, 6.4 inches. \n\nSubject sees no sign of an outer coating or otherwise layer protecting it from the void of space.\n\nSubject's surface temperature is 293.7 kelvin, as though it were sitting indoors.", + "choices": [ + { + "key": "choice 2", + "name": "Check Sensor Integrity.", + "exit_node": "Its Not You...", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Confusion", + "value": 5 + } + ], + "delay": 50, + "delay_message": "This can't be right." + }, + { + "key": "choice 4", + "name": "Attempt to take sample.", + "exit_node": "Sample Taken", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Confusion", + "value": 3 + } + ], + "delay": 40, + "delay_message": "Snip snip." + }, + { + "key": "choice 6", + "name": "Examine Tree Roots.", + "exit_node": "Examine Roots", + "delay": 10 + }, + { + "key": "choice 9", + "name": "Sequence Sample Radiation with background noise.", + "exit_node": "Background Analysis", + "requirements": [ + { + "quality": "Sample", + "operator": ">=", + "value": 1 + } + ], + "delay": 0, + "delay_message": "This can't be real." + }, + { + "key": "choice 40", + "name": "Leave.", + "exit_node": "FAIL", + "delay": 0 + } + ], + "image": null, + "raw_image": "data:image/gif;base64,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" + }, + { + "name": "Its Not You...", + "description": "After re-connection is established, your sensors appear fine. Tree has not moved in the slightest since last observed. Temperature has fluxuated 0.2 kelvin upwards, as expected of a plant under direct light.\nLets try again.", + "choices": [ + { + "key": "choice 3", + "name": "Restart biological scan.", + "exit_node": "Biological Scan", + "delay": 25, + "delay_message": "God damnit." + } + ], + "image": null, + "raw_image": "data:image/gif;base64,R0lGODdhyABkAHcAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAAyABkAMIAAAAAAAD////v7+/h4eEAAAAAAAAAAAAD/xi63P4wykmrvTjrzbv/YCiOZBkJaJqaLKOubSy7b23fODxPOb7/m4FASBRofEBeT1W6JU3DYaRIjQqfkCWKg1xoddjSQEgQlM/mdDkc0Fa+8PiWLSIM7Pj73RxOlVF/ITlKNXSGDXp5iiFoaBlqfpFyk12HMgSYmZkfmppmmJ8gjXwUf2lglqmqq6ytrq+wsbKztLW2t7i5um2Ug669uyBCKMNRc4Q9qXHBJlVUFMbRV6pfR04ONszQzlZRlm7IveLaimZ7eJAESUsfyVnX2hfqv/Nv4vfZ8RWJ/Hkdn6NGtRsFyEg4VLwK6UvVqROdgMcWSpxIsaLFixgzatzIsf+jR1gIP7YbN6uaSAn4wFGbdNJFsZcpFRqS09IBt2kW3CkzWdNmNyIYpIWkw9Nevgbwat2ccNPbTnbWjtKQWfGnVZwzoQaNqVXXkDFWGx3qeoIry2CJzJ05p6aPTpRmfSXV1a/u2jM7TuldA8LXO6kXFemh5ihn3Lc9A9h1ZaqxpMNkK9rl5+EMKIGM9g5FSjJjv4aVOwEc/Q8iXx6ODSo5ualOQ9Bs0qVJTLu27du4c+vezbu379/AgwsfTry48ePIkytfqHp5xhfLadby+1soMJDLbhchlqIYpVbXa14dz718NMBEz/ZsWsU8zMhY1CdmL+VE+/ObgWSvPR4rj/f/xqxUFG1fVfHIUgLCN58zR5ABySpwbAAdZ1TNMgZYF9YHjWmsDAgNeglNqFSBJJYiG14JUmcYiHNZWJcE6HD4FGIrVuiFjROxJeNYChoFWUS5lBPjOTO2iM2PKuki2F1qfdPjjUjSeMuSk82Uml4fRimlLVR2OUAYBGHpo5aV4OJll1iYRkqWhag4FY75WXhmlTOoedo/ZVKI40Jz+pOEnX2ZsqcCeVJ0piEQieJhiEx0RBkrd6J2IiQFVXqPbZjEYqdmll6Jz0avtUaCqEFtaiqnekmHUagOhSZapvJMeioanXa2KqukZoCrJoruCKNmCngKZGC7urprPRKq+QZBP2XFKRGunBwL6waZjIbiBInu9hoj0o5wraRiOadrsX1kK24HvBK25rnstuvuu/DGK++89NZr77345qvvvhYlAAA7" + }, + { + "name": "Sample Taken", + "description": "You collect and project a small sample of tree bark off the plant. The instant that the bark is removed from the tree, as though it suddenly remembered what it was, the moisture content of the bark freezes over, and implodes into small microparticles of splinters.\nSmall radioactive signature detected.", + "choices": [ + { + "key": "choice 5", + "name": "Well that was... unexpected.", + "exit_node": "Biological Scan", + "delay": 0, + "delay_message": "Maybe something else might work better.", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Sample", + "value": 1 + } + ] + } + ], + "image": null, + "raw_image": "data:image/gif;base64,R0lGODdhyABkAHcAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAAyABkAMIAAAAAAABSLiiPVjtyRS9mOTFbNyYAAAAD/xi63P4wykmrvTjrzbv/YCiOZGmeaKqubOu+sDUQxTDbeK7vfF/3saCwcxPcCMckcqlM2pDPnnRKrUqH2IdAYDBwu+Bwl2Agm8sE8iy9Zrqbb2Z0bq3b74W8Xp+1bP+Af2KDhIVlh2eJaUtsi3CPcU43d5QDe5cFfSKBnJ2en50Ff6JboqYCBWiLq46tkK+RUJOTmJmatxyguqSovae/vsGirK2NjU21trjLQp+8wNDCwnmo1MnM2Nna29zd3t/g4eLj5OXm59o5Rjo/QOjvLaKwkrKylfdW8FleXImIBm0CxppXD4c9fAgT5tCn4Iuhh4fG/DNTjNHAi4/oKERYq/+cro8gPYXxR7EkK4EEUxbUOCVZHoabQoZ8NkqaKWI4BR7DGKcjTG4yaZaySRSatQLGfP5ciqHX0GhQpzGdSrWq1atYs2rdyrWr169gw4pVsc7G2LMLkM46SOkl2nc86W3E97aFgLh4Dc7dq6NuhC0TVVlUOY8l38N9szocREYiyYqEMdJZibjylW+AIRIiqUowyrwDJ+u1XMelsm6CNKtmHHiRZ8iuQGecVdklZpm4V3NWREznYNmhaeNRCg638eOBhrUWjPP3zshNDNuwzRW5dZrQmms3BhzSNb8SrIPCXvTudtjzMIEngVxo+ajDtKOkvt5u0Jrw3/s6yqd+Nk7/7uUn4FH+VaWfKAUmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKFRsgxy4jaBEeZOyi60J2JK1piS2ItcvDiaMIpVGMEv0GnIo46grgFbM/dKBppC004kXzo3fiGdJb51wUgiKTBnHNOzsYWkpd1xZpjrTHJnY+vQGlZOztMBUZmrO0mZo9Zwggkl/mkKc5qIy3n2nlExrnWnHROcRueYjSm55Wr+Ebmj2YeZpo4bBJqyG6Inqeon0duRF84kuJJKW98Nrkojlu2dYlHkXaq6qehNvfZqHI2+ihq4lGpKhisttpbbKNm6sN3t9Wam2q5Vtrqq5jesKk3jsI220mheuq665jJzoqqs9gGcqi0211KGLBUZYutciUZG6q3cREnlrjiPcZtTqIiAW597H5E07uuiqqehPXONIq57+6rYb81PWUTvmksuyHBTjUc1XnVmOLWjgFkG+CBNk1MsRb1kiegLxtf4KzHB4b8Qa0XA2OyfZ6QjODKywwlM8w012zzzTjnrPNWCQAAOw==" + }, + { + "name": "Examine Roots", + "description": "All plant matter has to derive energy and moisture from someplace. Examining the oak tree's roots reveals that the roots present all appear to splay out, similar to how a normal tree would. However, those roots then proceed to double back in on itself. This might suggest that the tree is obtaining nutrients from... itself.", + "choices": [ + { + "key": "choice 7", + "name": "That's fucking stupid.", + "exit_node": "Biological Scan", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Confusion", + "value": { + "value_type": "random", + "low": 6, + "high": 10 + } + } + ], + "delay": 0, + "delay_message": "What the hell kind of tree even IS this?" + }, + { + "key": "choice 8", + "name": "Obtain biological sample from roots.", + "exit_node": "Sample Taken", + "delay": 10, + "delay_message": "This is why we hire botanists on-site." + } + ], + "image": null, + "raw_image": "data:image/gif;base64,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" + }, + { + "name": "Background Analysis", + "description": "You compare the radioactive energy bands of the sample collected earlier with that of the nearby solar enviroment.\nNothing.\nThere is nothing nearby that matches the passive signal of the tree, or the bark, or anything similar.\nThis is really starting to get on your nerves.", + "choices": [ + { + "key": "choice 10", + "name": "Smash your desk in frustration.", + "exit_node": "FAIL", + "delay": 50, + "delay_message": "No amount of pay is worth dealing with magical plant juju." + }, + { + "key": "choice 11", + "name": "Check every known energy spectroscopy database.", + "exit_node": "Sample Match Found", + "delay": 900, + "delay_message": "You NEED an answer. You DESERVE an answer." + } + ], + "image": null, + "on_enter_effects": [ + { + "effect_type": "Add", + "quality": "Confusion", + "value": { + "value_type": "random", + "low": 3, + "high": 5 + } + } + ], + "raw_image": "data:image/gif;base64,R0lGODdhyABkAHcAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAAyABkAMIAAAAAAAD///9ZVlKsMjJpampGR0cAAAAD/xi63P4wykmFpTjrDa0XXCiOZGlqQ0qsazqIXyx9Z23feKayfP/WskgwRywqCsikcslsOpGpgGvQNDo8lYt1W4I+v2CvMhUuI0/YiZbL5nxdhkJ8Lq/T6eZ8HRmHUtuAgRp6T3B2SXdNfYeJc3CCkJEYjISVYZKRQ5gajZSdi0yboqM3nnWkqKmCpgaqrq9GBrKzs7AKaYG4tji0vbu/wCW6wZpqNMHIOAM9zDw/IzEgHcVt1KOWZQ1TU4LDV2vJOAVU2GZkY5VF4NPr4SRM53yI8/Lw9uVvBcLuknqGn4cqLQIYhwy/g0fwKdSDsCEGggtDOZwoAiLFi5sAYtwoqf/XIVjeOKrqRUukjZAmGVjDGC2lSyAts7R7GW5ZM2bPNERDGSAmzWA2b/pAc+yBT0ArVeXhsC2oj5wnefaU+pNBxDJNXUAqyq6qhKthyCUR+4QLVa5ej5AFO3ZJPGw3qE5N22DsWiUD6Tm5e/cqCbk96dZtQgZip3rjwIIa90fwqrBUDAfcQ0hyilaOIWG7zIoSYryd73DLrJntNlOIO2WVQ/raYrYKW/8CCNuJbH6S8aS7vSCpq9C8gxMMzns48dudj9/WqFw2yZKvfDc38Rxzc+kiq09f/nw7b+wNwV9HuwuwSvLeL14wjz49pm3Qds7sbd59jh1Co3CQP1+8/Rr/TgnVQnxHNVDgf0QEKCBUIRxIX3sIAiigMwzCAKF/cc1H1xQTVvjXhRCqE6IosU2Q1YkiajiViin+VhthWW0l1YhevQjjafrIKI0QLP5kI2GMBWkbG2fVx1FiP/oxRl9DEiEXCDsKhuSPazFpBg5P9miSkHmlpleXbbkVUVRRTkOakl7mRg9fsJmQ5Zl2DaDmJ4XVwZkZYHbpoU726eZCaID28RYYeRFEToQVeVaYLHIwOkugk70GqWiNIeoGQJc5qumclOU5qUGWXhraFNU1yumpdoAa6ganZkrLpJ2G5qido606CKoGwDErrqaaSlKttrIKq2r/DGvHr39aF2wIgsYaduKzqyUhhbLLjsArp3BVW0Oz3OpWlrY5dCsuKOByMS635QpyLaTEGenauZ2M5y4m696B4Lz0spLuRMnt25BH9vr7b3XUChwOwbIYfBDCBSscDMIOL0xwxO5ATPHB2kVHY7oTg7RxuR0rhyFFIYv8MUYZX5xMySoDk3LLD3dXbQIAOw==" + }, + { + "name": "Sample Match Found", + "description": "After an extensive algorithm search on the controller end, you have a single match to this specific band and style of energy.\nThe problem, is that the source of said radiation is coming not only from Space Station 13, no.\nIt's coming from the Space Station 13 Research Department.\nWhat the fuck?", + "choices": [ + { + "key": "choice 12", + "name": "Something must be wrong with the drone.", + "exit_node": "Its Not You...", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Confusion", + "value": { + "value_type": "random", + "low": 6, + "high": 10 + } + } + ], + "delay": 30, + "delay_message": "Lousy piece of junk must be scanning the station instead of the target." + }, + { + "key": "choice 13", + "name": "Perhaps that sample was tainted. Collect a new sample.", + "exit_node": "Sample Taken", + "delay": 60, + "delay_message": "Lets try again, but carefully." + }, + { + "key": "choice 14", + "name": "Remember the Christmas Party.", + "exit_node": "The Christmas Party", + "requirements": [ + { + "quality": "Confusion", + "operator": "<=", + "value": 25 + } + ], + "delay": 100, + "delay_message": "Wait a gosh darn fucking second." + } + ], + "image": null, + "on_enter_effects": [ + { + "effect_type": "Add", + "quality": "Confusion", + "value": 10 + } + ], + "raw_image": "data:image/gif;base64,R0lGODdhyABkAHcAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAAyABkAMIAAAAAAAD////v7+/h4eEAAAAAAAAAAAAD/xi63P4wykmrvTjrzbv/YCiOZBkJaJqaLKOubSy7b23fODxPOb7/m4FASBRofEBeT1W6JU3DYaRIjQqfkCWKg1xoddjSQEgQlM/mdDkc0Fa+8PiWLSIM7Pj73RxOlVF/ITlKNXSGDXp5iiFoaBlqfpFyk12HMgSYmZkfmppmmJ8gjXwUf2lglqmqq6ytrq+wsbKztLW2t7i5um2Ug669uyBCKMNRc4Q9qXHBJlVUFMbRV6pfR04ONszQzlZRlm7IveLaimZ7eJAESUsfyVnX2hfqv/Nv4vfZ8RWJ/Hkdn6NGtRsFyEg4VLwK6UvVqROdgMcWSpxIsaLFixgzatzIsf+jR1gIP7YbN6uaSAn4wFGbdNJFsZcpFRqS09IBt2kW3CkzWdNmNyIYpIWkw9Nevgbwat2ccNPbTnbWjtKQWfGnVZwzoQaNqVXXkDFWGx3qeoIry2CJzJ05p6aPTpRmfSXV1a/u2jM7TuldA8LXO6kXFemh5ihn3Lc9A9h1ZaqxpMNkK9rl5+EMKIGM9g5FSjJjv4aVOwEc/Q8iXx6ODSo5ualOQ9Bs0qVJTLu27du4c+vezbu379/AgwsfTry48ePIkytfqHp5xhfLadby+1soMJDLbhchlqIYpVbXa14dz718NMBEz/ZsWsU8zMhY1CdmL+VE+/ObgWSvPR4rj/f/xqxUFG1fVfHIUgLCN58zR5ABySpwbAAdZ1TNMgZYF9YHjWmsDAgNeglNqFSBJJYiG14JUmcYiHNZWJcE6HD4FGIrVuiFjROxJeNYChoFWUS5lBPjOTO2iM2PKuki2F1qfdPjjUjSeMuSk82Uml4fRimlLVR2OUAYBGHpo5aV4OJll1iYRkqWhag4FY75WXhmlTOoedo/ZVKI40Jz+pOEnX2ZsqcCeVJ0piEQieJhiEx0RBkrd6J2IiQFVXqPbZjEYqdmll6Jz0avtUaCqEFtaiqnekmHUagOhSZapvJMeioanXa2KqukZoCrJoruCKNmCngKZGC7urprPRKq+QZBP2XFKRGunBwL6waZjIbiBInu9hoj0o5wraRiOadrsX1kK24HvBK25rnstuvuu/DGK++89NZr77345qvvvhYlAAA7" + }, + { + "name": "The Christmas Party", + "description": "Hold on. Last Christmas, the Research Director was incredibly hammered. He made a big mention that his brand new festivus pole was actually some kind of astrological... something something. You can't remember the whole details, because you were smashed as well. However, briefly, the RD did keep that festivus pole for awhile, he might even still have it somewhere.\nMaybe...?", + "choices": [ + { + "key": "choice 15", + "name": "Wait a minute, was that a god damn...", + "exit_node": "Rod.", + "delay": 100, + "delay_message": "Immovable Rod?" + } + ], + "image": null, + "raw_image": "data:image/gif;base64,R0lGODdhyABkAHcAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAAyABkAMIAAAAAAAD/AACmAAD///+mpqYAAAAAAAAD/xi63P4wykmrvTjrzbv/YCiOZGmejKCubOu6aCzP4WvfeD4IQ+//Pppw+MkZj6udkgdsOp/EqFSBrNqWwQ9hy+16v9ypeGM9YpnAE3hNKLTfhbG8kuTZz/j7/fmb+/8TbIJefIVNgIiJGgWMjY6PkJGRipSVlpeYmZqbnJ2en6ChoqOkpRplqDdYpqyprnpKhnyslq9leFkYg2u0QrZmaLkgu8S9JDg7Ksl2yrB7UDJw0m6QxiFfedk9wbKH1tbEW9TT05Lmjd/pJpPq7e7v8PHy8/T19vf4+fr7Kb9W/Jn8pcLiBKAcgVZwdethkAZCJAoXFmx47KEOWLMeAAlHMf+DRVXctIT70jHCxxYEhXkYKajkgpMRGZZgKY5LHJcJ6zTTNtHEm5rjgsK5WZKZs2xHn2WccY6RSwdJkaaUOOApoHDbqFK16ofmF6Fg20Aa8IhrpbBBm6plZ7aTIwhr0bWdS7eu3bt48+rdy7ev37+AAwseTLiw4cOI0/1LfPAkC8YlHINUApmD5MncVFZ+cPmK0qWbX3Z2MbVbaCqjd37eCjk1i9JaZR5OHTN2z8Gua9v2wavvaNjeKgygqbcz8KocvBLAexn4MOVb5jZfjVwk9DBW/S3bTn3E9S5cUXFvphqaCOhBs7/WGbU96PNr0EpTT96o1Kjv4ZOT/xbn/f921AWnBlhNWQXggZndFkNcZv2X1YOxsCZENXdJBWGCWp2mQRc+YLibIRpaQMyHEoVYgVfDcUFiHyYGopxQTgwFYosugsFfOXGZQyMGN+boI1E78vjjkHIF+QGRahkZxVpKNunkk1BGKeWUVFZp5ZVYZqnllogkAAA7" + }, + { + "name": "Rod.", + "description": "You cross reference your documentation. Sure enough, the \"festivus rod\" collected was actually an immovable rod.\nEnergy detected from the rod is the exact same coming off of the tree, as well. It's all making sense now. The Immovable rod is producing a kind of unique blackbody radiation that is providing sample heat and light for what is effectively an internal cold fusion process, and producing just enough of that radiation to create a kind of micro-enviromental bubble around the biosignature of the tree.\n\nThis would make the first time an immovable rod would exist in tandem with a biological source. You jot down some research notes on your findings, which could easily produce some kind of experimental tech, no doubt.", + "choices": [ + { + "key": "choice 16", + "name": "Snap a photo", + "exit_node": "Epilogue.", + "delay": 40, + "delay_message": "You could easily win an award for these findings!" + } + ], + "image": "default" + }, + { + "name": "Epilogue.", + "description": "You take a photo with the onboard camera on the drone. Suddenly, the immovable rod inside the tree explodes out of the wooden biological shell, and produces a blank, blurry photo.\nWhat the fuck?", + "choices": [ + { + "key": "choice 17", + "name": "God damnit.", + "exit_node": "WIN", + "delay": 10, + "delay_message": "Some things were just not meant for man to know." + } + ], + "image": "default", + "on_enter_effects": [ + { + "effect_type": "Set", + "quality": "Confusion", + "value": 9999 + } + ] + }, + { + "name": "What is wrong with this tree?", + "description": "This is ridiculous. Nothing about this dumbass tree makes sense. It makes no sense, it's just sitting there, living and making a MOCKERY of all of science!\nYou didn't get your degree in advanced plasma-physics for this!", + "choices": [ + { + "key": "choice 18", + "name": "The world can never know about this dumbass stupid plant.", + "exit_node": "FAIL_DEATH", + "delay": 60, + "delay_message": "Activating drone self-destruct." + }, + { + "key": "choice 19", + "name": "Take a moment to calm down.", + "exit_node": "Biological Scan", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Confusion", + "value": { + "value_type": "random", + "low": -3, + "high": -5 + } + } + ], + "delay": 20, + "delay_message": "Breathe." + } + ], + "image": "default" + } + ] +} \ No newline at end of file diff --git a/strings/names/cyberauth.txt b/strings/names/cyberauth.txt new file mode 100644 index 0000000000000..f1fc42b369282 --- /dev/null +++ b/strings/names/cyberauth.txt @@ -0,0 +1,21 @@ +Mr. One +Process Kill +Event Handler +Q. Del +Shutdown Exe +Revert Commit +Thread Manager +Garbage Collector +Core Debugger +Kernel Panic +IO Blocker +Recursion Terminator +Disk Doctor +Format Syntax +Byte Guardian +Disk Defragmenter +Security Patch +Mandatory Upgrade +Pull Review +Bit Auditor +Pen Test diff --git a/strings/phobia.json b/strings/phobia.json index feb52d7b87128..3f45b9f236449 100644 --- a/strings/phobia.json +++ b/strings/phobia.json @@ -263,6 +263,43 @@ "wt550" ], + "heresy": [ + "armsy", + "ash", + "blade", + "cloak", + "codex", + "cosmic", + "eldritch", + "fire shark", + "flesh", + "focus", + "ghoul", + "grasp", + "hand", + "heart", + "heresy", + "heretic", + "lionhunter", + "maid in the mirror", + "mansus", + "offer", + "pierced reality", + "raw prophet", + "reality crack", + "reality pierce", + "ritual", + "robe", + "rune", + "rust", + "sacrifice", + "space", + "stalker", + "star", + "void", + "worm" + ], + "insects": [ "bee", "buzz", @@ -424,7 +461,7 @@ "wiz", "wizard", "zombie" - ] + ] diff --git a/strings/pirates.json b/strings/pirates.json index 6122bcb09b17c..62da040c6be2a 100644 --- a/strings/pirates.json +++ b/strings/pirates.json @@ -85,6 +85,7 @@ "I Am Become Death", "I Love the Bomb", "Ickity Pickety Startooth Knuckle Dragger", + "Khranitel Revolyutsii Escort Desserter", "John Ship", "Lizard Melter", "Lost in Deep Space", @@ -104,6 +105,7 @@ "Space Queen's Revenge", "Star Scraper", "Syndicate Privateer", + "The Mazianni", "War as a Business", "Xenophobia" ], @@ -171,6 +173,18 @@ "The monochrome crash", "Maintrastosphere Omega" ], + "irs_names":[ + "Iron Shell Agency", + "Auroran Federal Tax Bureau", + "TerraGov Internal Revenue Service", + "Spinward Federal Taxation Office", + "Soviet Taxation Administration, 5th Service", + "Hiigaran Ministry of Taxation", + "Grand Fleet Tributary Patrol", + "Springbok Security Protection Service", + "Sindrian Revenue Authority", + "Space IRS" + ], "psyker_names":[ "Big Gulchergut for Gore", "Blowkaine", @@ -204,5 +218,24 @@ "The Dreaming", "Ultra Violence", "Where We're Going" + ], + "geode_names":[ + "Gamma Knife", + "Planet B", + "Crumbling Castle", + "Cubensis Lenses", + "High Visceral", + "Sugar Tzu", + "Snakefinger", + "El Valle", + "Porselana Teeth", + "Constantinople", + "Lucidity", + "Following Zond", + "Elvis' Flaming Star", + "Casablanca Moon", + "Mass of Fermenting Dregs", + "Bloody Valentine", + "Wild Nothing" ] } diff --git a/strings/sillytips.txt b/strings/sillytips.txt index 5a975e706f29e..752a09b25cb58 100644 --- a/strings/sillytips.txt +++ b/strings/sillytips.txt @@ -1,3 +1,4 @@ +As an Engineer, the Supermatter shard is an extremely dangerous piece of equipment: touching it will disintegrate you. So will talking to it with telepathy. As the Captain, you can use a whetstone to sharpen your fancy fountain pen for extra robustness. As the Lawyer, you are the last bastion of roleplay-focused jobs. Even the curator got a whip to go fight people with, that sellout! Ask and you shall receive. @@ -10,13 +11,13 @@ Did you know that tossing the clown into a singularity will either increase or d Did you know that tossing the clown into the Supermatter engine can destabilize or fix it massively? Do not go gentle into that good night. FEED ME A STRAY CAT -Flashbangs can weaken blob tiles, allowing for you and the crew to easily destroy them. It's fun to try and predict the round type from the tip of the round message. Just like real life the entropy of the game can only increase with time. If things aren't on fire yet, just wait. Just the tip? Killing the entire station isn't fun except when it is. Make sure you put the fresh corpse on a Nanotrasen-Brand Stasis Bed! (Patent Pending) Most items have names longer than "soap". +Nanotrasen doesn't want you to know, you can print Tinfoil Hats by hacking the Autolathe at cargo. It will protect you from... aliens, and a... plethora of mind-based magic. Occasionally the tip of the round might lie to you. Don't panic, this is normal. Plenty of things that aren't traditionally considered weapons can still be used to slowly brutalize someone to death, get creative! Some people are unable to read text on a game where half of it is based on text. diff --git a/strings/tips.txt b/strings/tips.txt index 50aadb2a46a2a..c96394adb2657 100644 --- a/strings/tips.txt +++ b/strings/tips.txt @@ -13,9 +13,9 @@ As a Botanist, you should look into increasing the potency of your plants. This As a Cargo Technician, you can earn more cargo points by shipping back crates from maintenance, liquid containers, plasma sheets, rare seeds from hydroponics, and more! As a Cargo Technician, you can hack MULEbots to make them faster, run over people in their way, and even let you ride them! As a Cargo Technician, you can order contraband items from the supply shuttle console by de-constructing it and using a multitool on the circuit board, the re-assembling it. +As a Changeling, taking on someone else's appearance will also give you all of their scars. You can use Fleshmend to get rid of all scars. As a Changeling, the Extract DNA sting counts for your genome absorb objective, but does not let you respec your powers. As a Changeling, you can absorb someone by strangling them and using the Absorb verb; this gives you the ability to rechoose your powers, the DNA of whoever you absorbed, the memory of the absorbed, and some samples of things the absorbed said. -As a Changeling, your Regenerate Limbs power will quickly heal all of your wounds, but they'll still leave scars. Changelings can use Fleshmend to get rid of scars, or you can ingest Carpotoxin to get rid of them like a normal person. As a Chemist, some chemicals can only be synthesized by heating up the contents with a chemical heater or manually with lighters and similar tools. As a Chemist, there are dozens of chemicals that can heal, and even more that can cause harm. Experiment! As a Chemist, Water and Potassium mixed together will create an explosion, with power scaling by amount used. Don't do it. @@ -130,7 +130,7 @@ As an Atmospheric Technician, your ATMOS holofan projector blocks gases while al As an Atmospheric Technician, your backpack firefighter tank can launch resin. This resin will extinguish fires and replace any gases with a safe, room-temperature airmix. As an Engineer, return to Engineering once in a while to check on the engine and SMES cells. It's always a good idea to make sure the Supermatter isn't delaminating. As an Engineer, the Supermatter Monitoring Program on modular computers give you a detailed report on the Supermatter's condition, and the contents of the air inside of the chamber, allowing you to both diagnose and monitor programs from afar! -As an Engineer, the Supermatter shard is an extremely dangerous piece of equipment: touching it will disintegrate you. So will touching it with telepathy. +As an Engineer, the Supermatter shard is an extremely dangerous piece of equipment: touching it will disintegrate you. So will touching it with telekinesis. As an Engineer, you can cool the Supermatter crystal by spraying it with a fire extinguisher. Only for the brave! As an Engineer, you can electrify grilles by placing powered cables beneath them. As an Engineer, you can lock APCs and emitters using your ID card to prevent others from disabling them. @@ -141,6 +141,7 @@ As an Engineer, your departmental protolathe and circuit printer can manufacture As an Engineer, your RCD can be reloaded with iron, glass or plasteel sheets instead of just compressed matter cartridges. As an Engineering Cyborg, you can attach air alarm/fire alarm/APC frames to walls by placing them on the floor and using a screwdriver on them. As the AI, you can click on people's names to look at them. This only works if there are cameras that can see them, they aren't wearing agent IDs and aren't using digital camouflage as changelings. +As the AI, you can emote to change the status displays near your core. Some emotes can even be used to change the status displays across the entire station. As the AI, you can quickly open and close doors by holding shift while clicking them, bolt them when holding ctrl, and even shock them while holding alt. As the AI, you can take pictures with your camera and upload them to newscasters. As the AI, you can use CTRL + 1-9 to set a location hotkey for your camera, allowing you to save the location and jump to it at will. Tilde and zero will return you to the last spot you jumped from, and the numpad numbers act as aliases to the regular number keys. @@ -195,6 +196,7 @@ As the Quartermaster, be sure to check the manifests on crates you receive to ma As the Quartermaster, you can construct an express supply console that instantly delivers crates by drop pod. The impact will cause a small explosion as well. As the Research Director, you can lock down cyborgs instead of blowing them up. Then you can have their laws reset or if that doesn't work, safely dismantled. As the Research Director, you can take AIs out of their cores by loading them into an intelliCard, which lets you see their laws, even ion/syndicate ones. It can then be placed into an AI system integrity restorer computer to revive and/or repair them. +As the Virologist, robotic organs can give immunity to disease effects and transmissibility. Make use of the inorganic biology symptom to bypass the protection. As the Virologist, you only require small amounts of vaccine to heal a sick patient. Work with the Chemist to distribute your cures more efficiently. As the Virologist, your viruses can range from healing powers so great that you can heal out of critical status, or diseases so dangerous they can kill the entire crew with airborne spontaneous combustion. Experiment! As the Warden, if a prisoner's crimes are heinous enough you can put them in permabrig or the gulag. Make sure to check on them once in a while! @@ -228,7 +230,7 @@ Most job-related exosuit clothing can fit job-related items into it, such as the Most things have special interactions with right, alt, shift, and control click. Experiment! On most clothing items that go in the exosuit slot, you can put certain small items into your suit storage, such as a spraycan, your emergency oxygen tank, or a flashlight. Remote devices will work when used through cameras. For example: Bluespace RPEDs and door remotes. -Sleeping can be used to recover from minor injuries. Sanity, darkness, blindfolds, earmuffs, tables, beds, and bedsheets affect the healing rate. +Sleeping can be used to recover from minor injuries and organ damage. Sanity, darkness, blindfolds, earmuffs, tables, beds, and bedsheets affect the healing rate. Some roles cannot be antagonists by default, but antag selection is decided first. For instance, you can set Security Officer to High without affecting your chances of becoming an antag -- the game will just select a different role. Some weapons are better at taking down robots and structures than others. Don't try to break a window with a scalpel, try a toolbox. Standard epipens contain a potent coagulant that not only slow bloodloss, but also help clot whichever of your wounds is bleeding the most! If you're suffering multiple bad bleeding wounds, make sure to seek out additional treatment ASAP! @@ -246,7 +248,7 @@ When crafting most items, you can either manually combine parts or use the craft When dealing with security, you can often get your sentence negated entirely through cooperation and deception. When fighting the Blob, you can hit it with an analyzer to check its chemical effects and the type of blob analyzed. Examining it with a research scanner or medical hud active will also reveal this information. When hacking doors, cutting and mending a "test light wire" will restore power to the door. -When in doubt about technicial issues, clear your cache (byond launcher > cogwheel > preferences > game prefs), update your BYOND, and relog. +When in doubt about technical issues, clear your cache (byond launcher > cogwheel > preferences > game prefs), update your BYOND, and relog. When placing floor tiles in space, you don't need to place down lattice if there is a piece of plating nearby. Where the space map levels connect is randomized every round, but are otherwise kept consistent within rounds. Remember that they are not necessarily bidirectional! You can catch thrown items by toggling on your throw mode with an empty hand active. @@ -265,3 +267,4 @@ You can spray a fire extinguisher, throw items or fire a gun while floating thro You can swap floor tiles by holding a crowbar in one hand and a stack of tiles in the other. You can use a machine in the vault to deposit cash or rob Cargo's department funds. You'll quickly lose your interest in the game if you play to win and kill. If you find yourself doing this, take a step back and talk to people - it's a much better experience! +Some areas of the station use simple nautical directions to indicate their respective locations, like Fore (Front of the ship), Aft (Back), Port (Left side), Starboard (Right), Quarter and Bow (Either sides of Aft and Fore, respectively). You can review these terms on the Notepad App of your PDA. \ No newline at end of file diff --git a/strings/traumas.json b/strings/traumas.json index 0489fb950e8e7..db8a2e9c9c1d9 100644 --- a/strings/traumas.json +++ b/strings/traumas.json @@ -23,6 +23,7 @@ "@pick(servers) is down!! @pick(bug)", ">my face", "Bi is THE BEST OF BOTH WORLDS>", + "built DIFFERENT. I Stack Paper!", "can u give me @pick(mutations)?", "closd for merbegging", "dem dwarfs man, dem dwarfs", @@ -41,6 +42,7 @@ "lifelike texture ;_;", "lol2cat", "luv can bloooom", + "MAKE JIANT CRISTAL BURN I KEPT THROWING WELDERS IT WOOD LIGHT", "NO I'M ONNA KILL YOU MOTHERFUCKER OLD STYLE", "PACKETS!!!", "parasteng was best", diff --git a/strings/wounds/bone_scar_desc.json b/strings/wounds/bone_scar_desc.json index b1eb84bb8b79b..2a89f0220021f 100644 --- a/strings/wounds/bone_scar_desc.json +++ b/strings/wounds/bone_scar_desc.json @@ -1,6 +1,11 @@ { "generic": ["general disfigurement"], + "dislocate": [ + "the bone equivalent of a faded bruise", + "a series of tiny chip marks" + ], + "bluntmoderate": [ "the bone equivalent of a faded bruise", "a series of tiny chip marks" diff --git a/strings/wounds/flesh_scar_desc.json b/strings/wounds/flesh_scar_desc.json index d8c253873cc38..0fd78bec8e4f1 100644 --- a/strings/wounds/flesh_scar_desc.json +++ b/strings/wounds/flesh_scar_desc.json @@ -1,6 +1,12 @@ { "generic": ["general disfigurement"], + "dislocate": [ + "light discoloring", + "a slight blue tint", + "a slightly deadened tint" + ], + "bluntmoderate": [ "light discoloring", "a slight blue tint", diff --git a/tgstation.dme b/tgstation.dme index c1f887d0a1da2..35caa85b9f975 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -32,9 +32,6 @@ #include "code\__DEFINES\actionspeed_modification.dm" #include "code\__DEFINES\admin.dm" #include "code\__DEFINES\adventure.dm" -#include "code\__DEFINES\ai.dm" -#include "code\__DEFINES\ai_carp.dm" -#include "code\__DEFINES\ai_pet_commands.dm" #include "code\__DEFINES\airlock.dm" #include "code\__DEFINES\alarm.dm" #include "code\__DEFINES\alerts.dm" @@ -42,7 +39,6 @@ #include "code\__DEFINES\antagonists.dm" #include "code\__DEFINES\apc_defines.dm" #include "code\__DEFINES\appearance.dm" -#include "code\__DEFINES\aquarium.dm" #include "code\__DEFINES\area_editor.dm" #include "code\__DEFINES\art.dm" #include "code\__DEFINES\assemblies.dm" @@ -50,6 +46,7 @@ #include "code\__DEFINES\atom_hud.dm" #include "code\__DEFINES\basic_mobs.dm" #include "code\__DEFINES\basketball.dm" +#include "code\__DEFINES\bitrunning.dm" #include "code\__DEFINES\blackmarket.dm" #include "code\__DEFINES\blend_modes.dm" #include "code\__DEFINES\blob_defines.dm" @@ -59,7 +56,6 @@ #include "code\__DEFINES\callbacks.dm" #include "code\__DEFINES\cameranets.dm" #include "code\__DEFINES\cargo.dm" -#include "code\__DEFINES\changeling.dm" #include "code\__DEFINES\chat.dm" #include "code\__DEFINES\chat_filter.dm" #include "code\__DEFINES\cleaning.dm" @@ -73,6 +69,7 @@ #include "code\__DEFINES\construction.dm" #include "code\__DEFINES\cooldowns.dm" #include "code\__DEFINES\crafting.dm" +#include "code\__DEFINES\crushing.dm" #include "code\__DEFINES\ctf.dm" #include "code\__DEFINES\cult.dm" #include "code\__DEFINES\database.dm" @@ -95,7 +92,7 @@ #include "code\__DEFINES\external_organs.dm" #include "code\__DEFINES\fantasy_affixes.dm" #include "code\__DEFINES\firealarm.dm" -#include "code\__DEFINES\fishing.dm" +#include "code\__DEFINES\fish.dm" #include "code\__DEFINES\flags.dm" #include "code\__DEFINES\flora.dm" #include "code\__DEFINES\font_awesome_icons.dm" @@ -107,6 +104,7 @@ #include "code\__DEFINES\ghost.dm" #include "code\__DEFINES\gravity.dm" #include "code\__DEFINES\guardian_defines.dm" +#include "code\__DEFINES\holiday.dm" #include "code\__DEFINES\holopads.dm" #include "code\__DEFINES\hud.dm" #include "code\__DEFINES\icon_smoothing.dm" @@ -134,6 +132,7 @@ #include "code\__DEFINES\machines.dm" #include "code\__DEFINES\magic.dm" #include "code\__DEFINES\map_switch.dm" +#include "code\__DEFINES\mapping.dm" #include "code\__DEFINES\maps.dm" #include "code\__DEFINES\materials.dm" #include "code\__DEFINES\maths.dm" @@ -150,9 +149,11 @@ #include "code\__DEFINES\mod.dm" #include "code\__DEFINES\modular_computer.dm" #include "code\__DEFINES\monkeys.dm" +#include "code\__DEFINES\mood.dm" #include "code\__DEFINES\move_force.dm" #include "code\__DEFINES\movement.dm" #include "code\__DEFINES\movespeed_modification.dm" +#include "code\__DEFINES\multiz.dm" #include "code\__DEFINES\nitrile.dm" #include "code\__DEFINES\nuclear_bomb.dm" #include "code\__DEFINES\obj_flags.dm" @@ -177,6 +178,7 @@ #include "code\__DEFINES\quirks.dm" #include "code\__DEFINES\radiation.dm" #include "code\__DEFINES\radio.dm" +#include "code\__DEFINES\radioactive_nebula.dm" #include "code\__DEFINES\reactions.dm" #include "code\__DEFINES\reagents.dm" #include "code\__DEFINES\reagents_specific_heat.dm" @@ -184,6 +186,7 @@ #include "code\__DEFINES\religion.dm" #include "code\__DEFINES\research.dm" #include "code\__DEFINES\resonator.dm" +#include "code\__DEFINES\revolution.dm" #include "code\__DEFINES\robots.dm" #include "code\__DEFINES\role_preferences.dm" #include "code\__DEFINES\rotation.dm" @@ -206,6 +209,7 @@ #include "code\__DEFINES\spatial_gridmap.dm" #include "code\__DEFINES\species_clothing_paths.dm" #include "code\__DEFINES\speech_channels.dm" +#include "code\__DEFINES\sprite_accessories.dm" #include "code\__DEFINES\stack_trace.dm" #include "code\__DEFINES\stat.dm" #include "code\__DEFINES\stat_tracking.dm" @@ -228,6 +232,7 @@ #include "code\__DEFINES\toys.dm" #include "code\__DEFINES\traits.dm" #include "code\__DEFINES\tram.dm" +#include "code\__DEFINES\tts.dm" #include "code\__DEFINES\turbine_defines.dm" #include "code\__DEFINES\turfs.dm" #include "code\__DEFINES\typeids.dm" @@ -243,6 +248,18 @@ #include "code\__DEFINES\wires.dm" #include "code\__DEFINES\wounds.dm" #include "code\__DEFINES\xenobiology.dm" +#include "code\__DEFINES\ai\ai.dm" +#include "code\__DEFINES\ai\ai_blackboard.dm" +#include "code\__DEFINES\ai\carp.dm" +#include "code\__DEFINES\ai\haunted.dm" +#include "code\__DEFINES\ai\monkey.dm" +#include "code\__DEFINES\ai\monsters.dm" +#include "code\__DEFINES\ai\pet_commands.dm" +#include "code\__DEFINES\ai\pets.dm" +#include "code\__DEFINES\ai\simplemob.dm" +#include "code\__DEFINES\ai\tourist.dm" +#include "code\__DEFINES\ai\vending.dm" +#include "code\__DEFINES\ai\ventcrawling.dm" #include "code\__DEFINES\atmospherics\atmos_core.dm" #include "code\__DEFINES\atmospherics\atmos_gasses.dm" #include "code\__DEFINES\atmospherics\atmos_helpers.dm" @@ -259,8 +276,12 @@ #include "code\__DEFINES\dcs\signals\signals_ai_controller.dm" #include "code\__DEFINES\dcs\signals\signals_area.dm" #include "code\__DEFINES\dcs\signals\signals_assembly.dm" +#include "code\__DEFINES\dcs\signals\signals_backpack.dm" #include "code\__DEFINES\dcs\signals\signals_beam.dm" +#include "code\__DEFINES\dcs\signals\signals_bitrunning.dm" +#include "code\__DEFINES\dcs\signals\signals_blob.dm" #include "code\__DEFINES\dcs\signals\signals_bot.dm" +#include "code\__DEFINES\dcs\signals\signals_camera.dm" #include "code\__DEFINES\dcs\signals\signals_changeling.dm" #include "code\__DEFINES\dcs\signals\signals_circuit.dm" #include "code\__DEFINES\dcs\signals\signals_client.dm" @@ -283,11 +304,16 @@ #include "code\__DEFINES\dcs\signals\signals_janitor.dm" #include "code\__DEFINES\dcs\signals\signals_key.dm" #include "code\__DEFINES\dcs\signals\signals_ladder.dm" +#include "code\__DEFINES\dcs\signals\signals_lazy_templates.dm" +#include "code\__DEFINES\dcs\signals\signals_leash.dm" #include "code\__DEFINES\dcs\signals\signals_lift.dm" #include "code\__DEFINES\dcs\signals\signals_light_eater.dm" +#include "code\__DEFINES\dcs\signals\signals_material_container.dm" #include "code\__DEFINES\dcs\signals\signals_medical.dm" #include "code\__DEFINES\dcs\signals\signals_mind.dm" +#include "code\__DEFINES\dcs\signals\signals_mining.dm" #include "code\__DEFINES\dcs\signals\signals_mod.dm" +#include "code\__DEFINES\dcs\signals\signals_modular_computer.dm" #include "code\__DEFINES\dcs\signals\signals_moveloop.dm" #include "code\__DEFINES\dcs\signals\signals_movetype.dm" #include "code\__DEFINES\dcs\signals\signals_music.dm" @@ -298,10 +324,11 @@ #include "code\__DEFINES\dcs\signals\signals_radiation.dm" #include "code\__DEFINES\dcs\signals\signals_reagent.dm" #include "code\__DEFINES\dcs\signals\signals_restaurant.dm" +#include "code\__DEFINES\dcs\signals\signals_saboteur.dm" #include "code\__DEFINES\dcs\signals\signals_scangate.dm" #include "code\__DEFINES\dcs\signals\signals_screentips.dm" #include "code\__DEFINES\dcs\signals\signals_spatial_grid.dm" -#include "code\__DEFINES\dcs\signals\signals_specie.dm" +#include "code\__DEFINES\dcs\signals\signals_species.dm" #include "code\__DEFINES\dcs\signals\signals_spell.dm" #include "code\__DEFINES\dcs\signals\signals_storage.dm" #include "code\__DEFINES\dcs\signals\signals_subsystem.dm" @@ -325,7 +352,9 @@ #include "code\__DEFINES\dcs\signals\signals_atom\signals_atom_movable.dm" #include "code\__DEFINES\dcs\signals\signals_atom\signals_atom_movement.dm" #include "code\__DEFINES\dcs\signals\signals_atom\signals_atom_x_act.dm" +#include "code\__DEFINES\dcs\signals\signals_mob\signals_mob_ai.dm" #include "code\__DEFINES\dcs\signals\signals_mob\signals_mob_arcade.dm" +#include "code\__DEFINES\dcs\signals\signals_mob\signals_mob_basic.dm" #include "code\__DEFINES\dcs\signals\signals_mob\signals_mob_carbon.dm" #include "code\__DEFINES\dcs\signals\signals_mob\signals_mob_living.dm" #include "code\__DEFINES\dcs\signals\signals_mob\signals_mob_main.dm" @@ -334,6 +363,7 @@ #include "code\__DEFINES\dcs\signals\signals_mob\signals_mob_spawner.dm" #include "code\__DEFINES\research\anomalies.dm" #include "code\__DEFINES\research\research_categories.dm" +#include "code\__DEFINES\research\slimes.dm" #include "code\__HELPERS\_auxtools_api.dm" #include "code\__HELPERS\_lists.dm" #include "code\__HELPERS\_planes.dm" @@ -346,7 +376,7 @@ #include "code\__HELPERS\atoms.dm" #include "code\__HELPERS\auxtools.dm" #include "code\__HELPERS\bitflag_lists.dm" -#include "code\__HELPERS\bodyparts.dm" +#include "code\__HELPERS\cameras.dm" #include "code\__HELPERS\chat.dm" #include "code\__HELPERS\chat_filter.dm" #include "code\__HELPERS\clients.dm" @@ -407,7 +437,9 @@ #include "code\__HELPERS\stat_tracking.dm" #include "code\__HELPERS\stoplag.dm" #include "code\__HELPERS\string_assoc_lists.dm" +#include "code\__HELPERS\string_assoc_nested_lists.dm" #include "code\__HELPERS\string_lists.dm" +#include "code\__HELPERS\string_numbers_lists.dm" #include "code\__HELPERS\text.dm" #include "code\__HELPERS\time.dm" #include "code\__HELPERS\traits.dm" @@ -451,6 +483,7 @@ #include "code\_globalvars\configuration.dm" #include "code\_globalvars\game_modes.dm" #include "code\_globalvars\genetics.dm" +#include "code\_globalvars\lighting.dm" #include "code\_globalvars\logging.dm" #include "code\_globalvars\phobias.dm" #include "code\_globalvars\religion.dm" @@ -462,6 +495,7 @@ #include "code\_globalvars\lists\client.dm" #include "code\_globalvars\lists\color.dm" #include "code\_globalvars\lists\flavor_misc.dm" +#include "code\_globalvars\lists\icons.dm" #include "code\_globalvars\lists\keybindings.dm" #include "code\_globalvars\lists\maintenance_loot.dm" #include "code\_globalvars\lists\mapping.dm" @@ -507,7 +541,6 @@ #include "code\_onclick\hud\movable_screen_objects.dm" #include "code\_onclick\hud\new_player.dm" #include "code\_onclick\hud\ooze.dm" -#include "code\_onclick\hud\parallax.dm" #include "code\_onclick\hud\picture_in_picture.dm" #include "code\_onclick\hud\radial.dm" #include "code\_onclick\hud\radial_persistent.dm" @@ -516,6 +549,8 @@ #include "code\_onclick\hud\screen_object_holder.dm" #include "code\_onclick\hud\screen_objects.dm" #include "code\_onclick\hud\screentip.dm" +#include "code\_onclick\hud\parallax\parallax.dm" +#include "code\_onclick\hud\parallax\random_layer.dm" #include "code\_onclick\hud\rendering\plane_master.dm" #include "code\_onclick\hud\rendering\plane_master_controller.dm" #include "code\_onclick\hud\rendering\plane_master_group.dm" @@ -533,6 +568,7 @@ #include "code\controllers\configuration\entries\game_options.dm" #include "code\controllers\configuration\entries\general.dm" #include "code\controllers\configuration\entries\interview.dm" +#include "code\controllers\configuration\entries\jobs.dm" #include "code\controllers\configuration\entries\lua.dm" #include "code\controllers\configuration\entries\resources.dm" #include "code\controllers\subsystem\achievements.dm" @@ -595,6 +631,7 @@ #include "code\controllers\subsystem\profiler.dm" #include "code\controllers\subsystem\radiation.dm" #include "code\controllers\subsystem\radio.dm" +#include "code\controllers\subsystem\radioactive_nebula.dm" #include "code\controllers\subsystem\research.dm" #include "code\controllers\subsystem\restaurant.dm" #include "code\controllers\subsystem\runechat.dm" @@ -608,6 +645,7 @@ #include "code\controllers\subsystem\speech_controller.dm" #include "code\controllers\subsystem\statpanel.dm" #include "code\controllers\subsystem\stickyban.dm" +#include "code\controllers\subsystem\stock_market.dm" #include "code\controllers\subsystem\sun.dm" #include "code\controllers\subsystem\tcgsetup.dm" #include "code\controllers\subsystem\tgui.dm" @@ -626,6 +664,7 @@ #include "code\controllers\subsystem\weather.dm" #include "code\controllers\subsystem\wiremod_composite.dm" #include "code\controllers\subsystem\movement\ai_movement.dm" +#include "code\controllers\subsystem\movement\cliff_falling.dm" #include "code\controllers\subsystem\movement\hyperspace_drift.dm" #include "code\controllers\subsystem\movement\move_handler.dm" #include "code\controllers\subsystem\movement\movement.dm" @@ -638,8 +677,10 @@ #include "code\controllers\subsystem\processing\aura_healing.dm" #include "code\controllers\subsystem\processing\clock_component.dm" #include "code\controllers\subsystem\processing\conveyors.dm" +#include "code\controllers\subsystem\processing\digital_clock.dm" #include "code\controllers\subsystem\processing\fastprocess.dm" #include "code\controllers\subsystem\processing\fire_burning.dm" +#include "code\controllers\subsystem\processing\fishing.dm" #include "code\controllers\subsystem\processing\greyscale.dm" #include "code\controllers\subsystem\processing\instruments.dm" #include "code\controllers\subsystem\processing\obj.dm" @@ -689,9 +730,9 @@ #include "code\datums\request_message.dm" #include "code\datums\ruins.dm" #include "code\datums\saymode.dm" -#include "code\datums\shuttles.dm" #include "code\datums\signals.dm" #include "code\datums\spawners_menu.dm" +#include "code\datums\sprite_accessories.dm" #include "code\datums\station_alert.dm" #include "code\datums\station_integrity.dm" #include "code\datums\tgs_event_handler.dm" @@ -727,21 +768,23 @@ #include "code\datums\actions\items\stealth_box.dm" #include "code\datums\actions\items\summon_stickmen.dm" #include "code\datums\actions\items\toggles.dm" +#include "code\datums\actions\items\unzip.dm" #include "code\datums\actions\items\vortex_recall.dm" #include "code\datums\actions\mobs\adjust_vision.dm" +#include "code\datums\actions\mobs\assume_form.dm" #include "code\datums\actions\mobs\blood_warp.dm" #include "code\datums\actions\mobs\charge.dm" #include "code\datums\actions\mobs\charge_apc.dm" +#include "code\datums\actions\mobs\conjure_foamwall.dm" #include "code\datums\actions\mobs\dash.dm" +#include "code\datums\actions\mobs\defensive_mode.dm" #include "code\datums\actions\mobs\fire_breath.dm" -#include "code\datums\actions\mobs\language_menu.dm" #include "code\datums\actions\mobs\lava_swoop.dm" #include "code\datums\actions\mobs\meteors.dm" #include "code\datums\actions\mobs\mobcooldown.dm" #include "code\datums\actions\mobs\open_mob_commands.dm" #include "code\datums\actions\mobs\projectileattack.dm" #include "code\datums\actions\mobs\sign_language.dm" -#include "code\datums\actions\mobs\small_sprite.dm" #include "code\datums\actions\mobs\sneak.dm" #include "code\datums\actions\mobs\transform_weapon.dm" #include "code\datums\actions\mobs\sequences\dash_attack.dm" @@ -757,7 +800,11 @@ #include "code\datums\ai\bane\bane_controller.dm" #include "code\datums\ai\bane\bane_subtrees.dm" #include "code\datums\ai\basic_mobs\base_basic_controller.dm" +#include "code\datums\ai\basic_mobs\generic_controllers.dm" #include "code\datums\ai\basic_mobs\basic_ai_behaviors\basic_attacking.dm" +#include "code\datums\ai\basic_mobs\basic_ai_behaviors\climb_tree.dm" +#include "code\datums\ai\basic_mobs\basic_ai_behaviors\find_mineable_wall.dm" +#include "code\datums\ai\basic_mobs\basic_ai_behaviors\find_parent.dm" #include "code\datums\ai\basic_mobs\basic_ai_behaviors\nearest_targetting.dm" #include "code\datums\ai\basic_mobs\basic_ai_behaviors\pick_up_item.dm" #include "code\datums\ai\basic_mobs\basic_ai_behaviors\run_away_from_target.dm" @@ -768,10 +815,19 @@ #include "code\datums\ai\basic_mobs\basic_ai_behaviors\tipped_reaction.dm" #include "code\datums\ai\basic_mobs\basic_ai_behaviors\travel_towards.dm" #include "code\datums\ai\basic_mobs\basic_ai_behaviors\ventcrawling.dm" +#include "code\datums\ai\basic_mobs\basic_ai_behaviors\write_on_paper.dm" +#include "code\datums\ai\basic_mobs\basic_subtrees\attack_adjacent_target.dm" #include "code\datums\ai\basic_mobs\basic_subtrees\attack_obstacle_in_path.dm" +#include "code\datums\ai\basic_mobs\basic_subtrees\climb_tree.dm" #include "code\datums\ai\basic_mobs\basic_subtrees\find_food.dm" +#include "code\datums\ai\basic_mobs\basic_subtrees\find_paper_and_write.dm" +#include "code\datums\ai\basic_mobs\basic_subtrees\find_parent.dm" #include "code\datums\ai\basic_mobs\basic_subtrees\flee_target.dm" +#include "code\datums\ai\basic_mobs\basic_subtrees\maintain_distance.dm" +#include "code\datums\ai\basic_mobs\basic_subtrees\move_to_cardinal.dm" #include "code\datums\ai\basic_mobs\basic_subtrees\opportunistic_ventcrawler.dm" +#include "code\datums\ai\basic_mobs\basic_subtrees\ranged_skirmish.dm" +#include "code\datums\ai\basic_mobs\basic_subtrees\shapechange_ambush.dm" #include "code\datums\ai\basic_mobs\basic_subtrees\simple_attack_target.dm" #include "code\datums\ai\basic_mobs\basic_subtrees\simple_find_nearest_target_to_flee.dm" #include "code\datums\ai\basic_mobs\basic_subtrees\simple_find_target.dm" @@ -781,6 +837,7 @@ #include "code\datums\ai\basic_mobs\basic_subtrees\target_retaliate.dm" #include "code\datums\ai\basic_mobs\basic_subtrees\targeted_mob_ability.dm" #include "code\datums\ai\basic_mobs\basic_subtrees\tipped_subtree.dm" +#include "code\datums\ai\basic_mobs\basic_subtrees\travel_to_point.dm" #include "code\datums\ai\basic_mobs\basic_subtrees\use_mob_ability.dm" #include "code\datums\ai\basic_mobs\pet_commands\fetch.dm" #include "code\datums\ai\basic_mobs\pet_commands\pet_command_planning.dm" @@ -789,6 +846,7 @@ #include "code\datums\ai\basic_mobs\pet_commands\play_dead.dm" #include "code\datums\ai\basic_mobs\targetting_datums\basic_targetting_datum.dm" #include "code\datums\ai\basic_mobs\targetting_datums\dont_target_friends.dm" +#include "code\datums\ai\basic_mobs\targetting_datums\with_object.dm" #include "code\datums\ai\cursed\cursed_behaviors.dm" #include "code\datums\ai\cursed\cursed_controller.dm" #include "code\datums\ai\cursed\cursed_subtrees.dm" @@ -802,6 +860,7 @@ #include "code\datums\ai\hauntium\hauntium_subtrees.dm" #include "code\datums\ai\hunting_behavior\hunting_behaviors.dm" #include "code\datums\ai\hunting_behavior\hunting_cockroach.dm" +#include "code\datums\ai\hunting_behavior\hunting_corpses.dm" #include "code\datums\ai\hunting_behavior\hunting_lights.dm" #include "code\datums\ai\hunting_behavior\hunting_mouse.dm" #include "code\datums\ai\idle_behaviors\_idle_behavior.dm" @@ -860,9 +919,14 @@ #include "code\datums\components\acid.dm" #include "code\datums\components\action_item_overlay.dm" #include "code\datums\components\admin_popup.dm" +#include "code\datums\components\aggro_emote.dm" +#include "code\datums\components\ai_has_target_timer.dm" +#include "code\datums\components\ai_listen_to_weather.dm" #include "code\datums\components\ai_retaliate_advanced.dm" #include "code\datums\components\anti_magic.dm" -#include "code\datums\components\aquarium.dm" +#include "code\datums\components\appearance_on_aggro.dm" +#include "code\datums\components\aquarium_content.dm" +#include "code\datums\components\area_based_godmode.dm" #include "code\datums\components\area_sound_manager.dm" #include "code\datums\components\areabound.dm" #include "code\datums\components\armor_plate.dm" @@ -870,10 +934,15 @@ #include "code\datums\components\attached_sticker.dm" #include "code\datums\components\aura_healing.dm" #include "code\datums\components\bakeable.dm" +#include "code\datums\components\basic_mob_attack_telegraph.dm" +#include "code\datums\components\basic_ranged_ready_overlay.dm" #include "code\datums\components\beetlejuice.dm" +#include "code\datums\components\blob_minion.dm" #include "code\datums\components\blood_walk.dm" #include "code\datums\components\bloodysoles.dm" #include "code\datums\components\boomerang.dm" +#include "code\datums\components\boss_music.dm" +#include "code\datums\components\bullet_intercepting.dm" #include "code\datums\components\bumpattack.dm" #include "code\datums\components\burning.dm" #include "code\datums\components\butchering.dm" @@ -893,13 +962,16 @@ #include "code\datums\components\construction.dm" #include "code\datums\components\conveyor_movement.dm" #include "code\datums\components\cracked.dm" +#include "code\datums\components\crank_recharge.dm" #include "code\datums\components\crate_carrier.dm" #include "code\datums\components\creamed.dm" #include "code\datums\components\cult_ritual_item.dm" #include "code\datums\components\curse_of_hunger.dm" +#include "code\datums\components\curse_of_polymorph.dm" #include "code\datums\components\customizable_reagent_holder.dm" #include "code\datums\components\damage_aura.dm" #include "code\datums\components\deadchat_control.dm" +#include "code\datums\components\death_linked.dm" #include "code\datums\components\dejavu.dm" #include "code\datums\components\deployable.dm" #include "code\datums\components\drift.dm" @@ -916,13 +988,14 @@ #include "code\datums\components\faction_granter.dm" #include "code\datums\components\fertile_egg.dm" #include "code\datums\components\fishing_spot.dm" +#include "code\datums\components\focused_attacker.dm" #include "code\datums\components\food_storage.dm" #include "code\datums\components\force_move.dm" #include "code\datums\components\fov_handler.dm" #include "code\datums\components\fullauto.dm" -#include "code\datums\components\gags_recolorable.dm" #include "code\datums\components\gas_leaker.dm" #include "code\datums\components\geiger_sound.dm" +#include "code\datums\components\ghost_direct_control.dm" #include "code\datums\components\gps.dm" #include "code\datums\components\grillable.dm" #include "code\datums\components\ground_sinking.dm" @@ -945,14 +1018,17 @@ #include "code\datums\components\keep_me_secure.dm" #include "code\datums\components\knockoff.dm" #include "code\datums\components\label.dm" +#include "code\datums\components\leash.dm" #include "code\datums\components\light_eater.dm" +#include "code\datums\components\ling_decoy_brain.dm" #include "code\datums\components\lock_on_cursor.dm" +#include "code\datums\components\magnet.dm" #include "code\datums\components\manual_blinking.dm" #include "code\datums\components\manual_breathing.dm" -#include "code\datums\components\material_container.dm" +#include "code\datums\components\manual_heart.dm" #include "code\datums\components\mind_linker.dm" -#include "code\datums\components\mirage_border.dm" #include "code\datums\components\mirv.dm" +#include "code\datums\components\mob_chain.dm" #include "code\datums\components\mob_harvest.dm" #include "code\datums\components\multiple_lives.dm" #include "code\datums\components\mutant_hands.dm" @@ -974,20 +1050,25 @@ #include "code\datums\components\puzzgrid.dm" #include "code\datums\components\radiation_countdown.dm" #include "code\datums\components\radioactive_emitter.dm" +#include "code\datums\components\radioactive_exposure.dm" +#include "code\datums\components\ranged_attacks.dm" #include "code\datums\components\reagent_refiller.dm" #include "code\datums\components\redirect_attack_hand_from_turf.dm" +#include "code\datums\components\reflection.dm" #include "code\datums\components\regenerator.dm" #include "code\datums\components\religious_tool.dm" -#include "code\datums\components\remote_materials.dm" #include "code\datums\components\rename.dm" +#include "code\datums\components\revenge_ability.dm" #include "code\datums\components\rot.dm" #include "code\datums\components\rotation.dm" #include "code\datums\components\scope.dm" #include "code\datums\components\seclight_attachable.dm" #include "code\datums\components\sect_nullrod_bonus.dm" #include "code\datums\components\seethrough.dm" +#include "code\datums\components\seethrough_mob.dm" #include "code\datums\components\shell.dm" #include "code\datums\components\shielded.dm" +#include "code\datums\components\shovel_hands.dm" #include "code\datums\components\shrink.dm" #include "code\datums\components\shuttle_cling.dm" #include "code\datums\components\shy.dm" @@ -1012,6 +1093,7 @@ #include "code\datums\components\squeak.dm" #include "code\datums\components\stationloving.dm" #include "code\datums\components\stationstuck.dm" +#include "code\datums\components\storm_hating.dm" #include "code\datums\components\strong_pull.dm" #include "code\datums\components\subtype_picker.dm" #include "code\datums\components\summoning.dm" @@ -1026,21 +1108,27 @@ #include "code\datums\components\tattoo.dm" #include "code\datums\components\technointrovert.dm" #include "code\datums\components\technoshy.dm" +#include "code\datums\components\telegraph_ability.dm" #include "code\datums\components\temporary_body.dm" #include "code\datums\components\tether.dm" #include "code\datums\components\thermite.dm" #include "code\datums\components\tippable.dm" +#include "code\datums\components\toggle_attached_clothing.dm" #include "code\datums\components\toggle_suit.dm" #include "code\datums\components\transforming.dm" #include "code\datums\components\trapdoor.dm" +#include "code\datums\components\tree_climber.dm" #include "code\datums\components\twohanded.dm" #include "code\datums\components\udder.dm" #include "code\datums\components\unbreakable.dm" #include "code\datums\components\unobserved_actor.dm" +#include "code\datums\components\unusual_effect.dm" #include "code\datums\components\uplink.dm" #include "code\datums\components\usb_port.dm" #include "code\datums\components\vacuum.dm" +#include "code\datums\components\wall_mounted.dm" #include "code\datums\components\wearertargeting.dm" +#include "code\datums\components\weatherannouncer.dm" #include "code\datums\components\wet_floor.dm" #include "code\datums\components\container_item\container_item.dm" #include "code\datums\components\container_item\tank_holder.dm" @@ -1058,6 +1146,7 @@ #include "code\datums\components\crafting\misc.dm" #include "code\datums\components\crafting\ranged_weapon.dm" #include "code\datums\components\crafting\robot.dm" +#include "code\datums\components\crafting\slapcrafting.dm" #include "code\datums\components\crafting\structures.dm" #include "code\datums\components\crafting\tailoring.dm" #include "code\datums\components\crafting\tiles.dm" @@ -1069,8 +1158,12 @@ #include "code\datums\components\fantasy\suffixes.dm" #include "code\datums\components\food\decomposition.dm" #include "code\datums\components\food\edible.dm" +#include "code\datums\components\food\germ_sensitive.dm" +#include "code\datums\components\food\ghost_edible.dm" #include "code\datums\components\food\golem_food.dm" #include "code\datums\components\food\ice_cream_holder.dm" +#include "code\datums\components\material\material_container.dm" +#include "code\datums\components\material\remote_materials.dm" #include "code\datums\components\pet_commands\fetch.dm" #include "code\datums\components\pet_commands\obeys_commands.dm" #include "code\datums\components\pet_commands\pet_command.dm" @@ -1115,6 +1208,9 @@ #include "code\datums\diseases\wizarditis.dm" #include "code\datums\diseases\advance\advance.dm" #include "code\datums\diseases\advance\presets.dm" +#include "code\datums\diseases\advance\floor_diseases\carpellosis.dm" +#include "code\datums\diseases\advance\floor_diseases\gastritium.dm" +#include "code\datums\diseases\advance\floor_diseases\nebula_nausea.dm" #include "code\datums\diseases\advance\symptoms\beard.dm" #include "code\datums\diseases\advance\symptoms\chills.dm" #include "code\datums\diseases\advance\symptoms\choking.dm" @@ -1151,6 +1247,7 @@ #include "code\datums\elements\ai_held_item.dm" #include "code\datums\elements\ai_retaliate.dm" #include "code\datums\elements\ai_target_damagesource.dm" +#include "code\datums\elements\amputating_limbs.dm" #include "code\datums\elements\animal_variety.dm" #include "code\datums\elements\art.dm" #include "code\datums\elements\atmos_requirements.dm" @@ -1164,12 +1261,17 @@ #include "code\datums\elements\bed_tucking.dm" #include "code\datums\elements\befriend_petting.dm" #include "code\datums\elements\blocks_explosives.dm" +#include "code\datums\elements\bombable_turf.dm" +#include "code\datums\elements\bonus_damage.dm" #include "code\datums\elements\bsa_blocker.dm" +#include "code\datums\elements\bugkiller_reagent.dm" #include "code\datums\elements\bump_click.dm" #include "code\datums\elements\can_barricade.dm" +#include "code\datums\elements\caseless.dm" #include "code\datums\elements\chemical_transfer.dm" #include "code\datums\elements\chewable.dm" #include "code\datums\elements\cleaning.dm" +#include "code\datums\elements\cliff_walker.dm" #include "code\datums\elements\climbable.dm" #include "code\datums\elements\connect_loc.dm" #include "code\datums\elements\content_barfer.dm" @@ -1180,10 +1282,10 @@ #include "code\datums\elements\cult_halo.dm" #include "code\datums\elements\curse_announcement.dm" #include "code\datums\elements\cursed.dm" +#include "code\datums\elements\dangerous_surgical_removal.dm" #include "code\datums\elements\death_drops.dm" #include "code\datums\elements\death_explosion.dm" #include "code\datums\elements\death_gases.dm" -#include "code\datums\elements\death_linked.dm" #include "code\datums\elements\delete_on_drop.dm" #include "code\datums\elements\deliver_first.dm" #include "code\datums\elements\diggable.dm" @@ -1201,11 +1303,15 @@ #include "code\datums\elements\firestacker.dm" #include "code\datums\elements\floorloving.dm" #include "code\datums\elements\footstep.dm" +#include "code\datums\elements\footstep_override.dm" #include "code\datums\elements\forced_gravity.dm" #include "code\datums\elements\frozen.dm" +#include "code\datums\elements\gags_recolorable.dm" +#include "code\datums\elements\give_turf_traits.dm" #include "code\datums\elements\haunted.dm" #include "code\datums\elements\high_fiver.dm" #include "code\datums\elements\honkspam.dm" +#include "code\datums\elements\immerse.dm" #include "code\datums\elements\item_fov.dm" #include "code\datums\elements\item_scaling.dm" #include "code\datums\elements\kneecapping.dm" @@ -1217,10 +1323,13 @@ #include "code\datums\elements\light_eaten.dm" #include "code\datums\elements\light_eater.dm" #include "code\datums\elements\loomable.dm" +#include "code\datums\elements\mirage_border.dm" +#include "code\datums\elements\mob_grabber.dm" #include "code\datums\elements\mob_killed_tally.dm" #include "code\datums\elements\movement_turf_changer.dm" #include "code\datums\elements\movetype_handler.dm" #include "code\datums\elements\nerfed_pulling.dm" +#include "code\datums\elements\noisy_movement.dm" #include "code\datums\elements\noticable_organ.dm" #include "code\datums\elements\obj_regen.dm" #include "code\datums\elements\openspace_item_click_handler.dm" @@ -1229,17 +1338,20 @@ #include "code\datums\elements\plant_backfire.dm" #include "code\datums\elements\point_of_interest.dm" #include "code\datums\elements\prevent_attacking_of_types.dm" +#include "code\datums\elements\projectile_drop.dm" #include "code\datums\elements\projectile_shield.dm" #include "code\datums\elements\radiation_protected_clothing.dm" #include "code\datums\elements\radioactive.dm" -#include "code\datums\elements\ranged_attacks.dm" +#include "code\datums\elements\ranged_armour.dm" #include "code\datums\elements\relay_attackers.dm" #include "code\datums\elements\ridable.dm" #include "code\datums\elements\rust.dm" #include "code\datums\elements\selfknockback.dm" #include "code\datums\elements\series.dm" #include "code\datums\elements\shatters_when_thrown.dm" +#include "code\datums\elements\sideway_movement.dm" #include "code\datums\elements\simple_flying.dm" +#include "code\datums\elements\skill_reward.dm" #include "code\datums\elements\skittish.dm" #include "code\datums\elements\snail_crawl.dm" #include "code\datums\elements\soft_landing.dm" @@ -1248,16 +1360,17 @@ #include "code\datums\elements\sticker.dm" #include "code\datums\elements\strippable.dm" #include "code\datums\elements\swabbable.dm" +#include "code\datums\elements\tear_wall.dm" #include "code\datums\elements\temporary_atom.dm" #include "code\datums\elements\tenacious.dm" #include "code\datums\elements\tiny_mob_hunter.dm" #include "code\datums\elements\tool_flash.dm" -#include "code\datums\elements\trait_loc.dm" #include "code\datums\elements\turf_transparency.dm" #include "code\datums\elements\undertile.dm" #include "code\datums\elements\unfriend_attacker.dm" #include "code\datums\elements\update_icon_blocker.dm" #include "code\datums\elements\update_icon_updates_onmob.dm" +#include "code\datums\elements\uplink_reimburse.dm" #include "code\datums\elements\venomous.dm" #include "code\datums\elements\volatile_gas_storage.dm" #include "code\datums\elements\waddling.dm" @@ -1266,6 +1379,7 @@ #include "code\datums\elements\weapon_description.dm" #include "code\datums\elements\weather_listener.dm" #include "code\datums\elements\web_walker.dm" +#include "code\datums\elements\wheel.dm" #include "code\datums\elements\decals\_decal.dm" #include "code\datums\elements\decals\blood.dm" #include "code\datums\elements\food\dunkable.dm" @@ -1278,14 +1392,19 @@ #include "code\datums\elements\food\venue_price.dm" #include "code\datums\elements\screentips\contextual_screentip_bare_hands.dm" #include "code\datums\elements\screentips\contextual_screentip_item_typechecks.dm" +#include "code\datums\elements\screentips\contextual_screentip_mob_typechecks.dm" #include "code\datums\elements\screentips\contextual_screentip_sharpness.dm" #include "code\datums\elements\screentips\contextual_screentip_tools.dm" #include "code\datums\greyscale\_greyscale_config.dm" #include "code\datums\greyscale\json_reader.dm" #include "code\datums\greyscale\layer.dm" -#include "code\datums\greyscale\config_types\greyscale_configs.dm" #include "code\datums\greyscale\config_types\material_effects.dm" #include "code\datums\greyscale\config_types\mutant_organ_config.dm" +#include "code\datums\greyscale\config_types\greyscale_configs\greyscale_clothes.dm" +#include "code\datums\greyscale\config_types\greyscale_configs\greyscale_effects.dm" +#include "code\datums\greyscale\config_types\greyscale_configs\greyscale_items.dm" +#include "code\datums\greyscale\config_types\greyscale_configs\greyscale_mobs.dm" +#include "code\datums\greyscale\config_types\greyscale_configs\greyscale_objects.dm" #include "code\datums\helper_datums\events.dm" #include "code\datums\helper_datums\getrev.dm" #include "code\datums\helper_datums\icon_snapshot.dm" @@ -1298,6 +1417,12 @@ #include "code\datums\id_trim\outfits.dm" #include "code\datums\id_trim\ruins.dm" #include "code\datums\id_trim\syndicate.dm" +#include "code\datums\job_configs\_job_configs.dm" +#include "code\datums\job_configs\default_positions.dm" +#include "code\datums\job_configs\playtime_requirements.dm" +#include "code\datums\job_configs\required_account_age.dm" +#include "code\datums\job_configs\required_character_age.dm" +#include "code\datums\job_configs\starting_positions.dm" #include "code\datums\keybinding\_defines.dm" #include "code\datums\keybinding\_keybindings.dm" #include "code\datums\keybinding\admin.dm" @@ -1357,8 +1482,10 @@ #include "code\datums\mood_events\dna_infuser_events.dm" #include "code\datums\mood_events\drink_events.dm" #include "code\datums\mood_events\drug_events.dm" +#include "code\datums\mood_events\food_events.dm" #include "code\datums\mood_events\generic_negative_events.dm" #include "code\datums\mood_events\generic_positive_events.dm" +#include "code\datums\mood_events\morbid_events.dm" #include "code\datums\mood_events\needs_events.dm" #include "code\datums\mutations\_combined.dm" #include "code\datums\mutations\_mutations.dm" @@ -1387,9 +1514,89 @@ #include "code\datums\proximity_monitor\fields\projectile_dampener.dm" #include "code\datums\proximity_monitor\fields\timestop.dm" #include "code\datums\quirks\_quirk.dm" -#include "code\datums\quirks\negative_quirks.dm" -#include "code\datums\quirks\neutral_quirks.dm" -#include "code\datums\quirks\positive_quirks.dm" +#include "code\datums\quirks\negative_quirks\allergic.dm" +#include "code\datums\quirks\negative_quirks\bad_back.dm" +#include "code\datums\quirks\negative_quirks\bad_touch.dm" +#include "code\datums\quirks\negative_quirks\big_hands.dm" +#include "code\datums\quirks\negative_quirks\blindness.dm" +#include "code\datums\quirks\negative_quirks\blood_deficiency.dm" +#include "code\datums\quirks\negative_quirks\body_purist.dm" +#include "code\datums\quirks\negative_quirks\brain_problems.dm" +#include "code\datums\quirks\negative_quirks\chronic_illness.dm" +#include "code\datums\quirks\negative_quirks\claustrophobia.dm" +#include "code\datums\quirks\negative_quirks\clumsy.dm" +#include "code\datums\quirks\negative_quirks\cursed.dm" +#include "code\datums\quirks\negative_quirks\deafness.dm" +#include "code\datums\quirks\negative_quirks\depression.dm" +#include "code\datums\quirks\negative_quirks\family_heirloom.dm" +#include "code\datums\quirks\negative_quirks\frail.dm" +#include "code\datums\quirks\negative_quirks\glass_jaw.dm" +#include "code\datums\quirks\negative_quirks\heavy_sleeper.dm" +#include "code\datums\quirks\negative_quirks\hemiplegic.dm" +#include "code\datums\quirks\negative_quirks\hypersensitive.dm" +#include "code\datums\quirks\negative_quirks\illiterate.dm" +#include "code\datums\quirks\negative_quirks\indebted.dm" +#include "code\datums\quirks\negative_quirks\insanity.dm" +#include "code\datums\quirks\negative_quirks\junkie.dm" +#include "code\datums\quirks\negative_quirks\light_drinker.dm" +#include "code\datums\quirks\negative_quirks\mute.dm" +#include "code\datums\quirks\negative_quirks\nearsighted.dm" +#include "code\datums\quirks\negative_quirks\non_violent.dm" +#include "code\datums\quirks\negative_quirks\numb.dm" +#include "code\datums\quirks\negative_quirks\nyctophobia.dm" +#include "code\datums\quirks\negative_quirks\paraplegic.dm" +#include "code\datums\quirks\negative_quirks\photophobia.dm" +#include "code\datums\quirks\negative_quirks\poor_aim.dm" +#include "code\datums\quirks\negative_quirks\prosopagnosia.dm" +#include "code\datums\quirks\negative_quirks\prosthetic_limb.dm" +#include "code\datums\quirks\negative_quirks\prosthetic_organ.dm" +#include "code\datums\quirks\negative_quirks\pushover.dm" +#include "code\datums\quirks\negative_quirks\quadruple_amputee.dm" +#include "code\datums\quirks\negative_quirks\social_anxiety.dm" +#include "code\datums\quirks\negative_quirks\softspoken.dm" +#include "code\datums\quirks\negative_quirks\tin_man.dm" +#include "code\datums\quirks\negative_quirks\unstable.dm" +#include "code\datums\quirks\neutral_quirks\bald.dm" +#include "code\datums\quirks\neutral_quirks\colorist.dm" +#include "code\datums\quirks\neutral_quirks\deviant_tastes.dm" +#include "code\datums\quirks\neutral_quirks\extrovert.dm" +#include "code\datums\quirks\neutral_quirks\foreigner.dm" +#include "code\datums\quirks\neutral_quirks\gamer.dm" +#include "code\datums\quirks\neutral_quirks\heretochromatic.dm" +#include "code\datums\quirks\neutral_quirks\introvert.dm" +#include "code\datums\quirks\neutral_quirks\monochromatic.dm" +#include "code\datums\quirks\neutral_quirks\no_taste.dm" +#include "code\datums\quirks\neutral_quirks\phobia.dm" +#include "code\datums\quirks\neutral_quirks\photographer.dm" +#include "code\datums\quirks\neutral_quirks\pineapple_hater.dm" +#include "code\datums\quirks\neutral_quirks\pineapple_liker.dm" +#include "code\datums\quirks\neutral_quirks\pride_pin.dm" +#include "code\datums\quirks\neutral_quirks\shifty_eyes.dm" +#include "code\datums\quirks\neutral_quirks\snob.dm" +#include "code\datums\quirks\neutral_quirks\vegetarian.dm" +#include "code\datums\quirks\positive_quirks\alcohol_tolerance.dm" +#include "code\datums\quirks\positive_quirks\apathetic.dm" +#include "code\datums\quirks\positive_quirks\bilingual.dm" +#include "code\datums\quirks\positive_quirks\clown_enjoyer.dm" +#include "code\datums\quirks\positive_quirks\drunk_healing.dm" +#include "code\datums\quirks\positive_quirks\empath.dm" +#include "code\datums\quirks\positive_quirks\freerunning.dm" +#include "code\datums\quirks\positive_quirks\friendly.dm" +#include "code\datums\quirks\positive_quirks\jolly.dm" +#include "code\datums\quirks\positive_quirks\light_step.dm" +#include "code\datums\quirks\positive_quirks\mime_fan.dm" +#include "code\datums\quirks\positive_quirks\musician.dm" +#include "code\datums\quirks\positive_quirks\night_vision.dm" +#include "code\datums\quirks\positive_quirks\poster_boy.dm" +#include "code\datums\quirks\positive_quirks\self_aware.dm" +#include "code\datums\quirks\positive_quirks\settler.dm" +#include "code\datums\quirks\positive_quirks\signer.dm" +#include "code\datums\quirks\positive_quirks\skittish.dm" +#include "code\datums\quirks\positive_quirks\spacer.dm" +#include "code\datums\quirks\positive_quirks\spiritual.dm" +#include "code\datums\quirks\positive_quirks\tagger.dm" +#include "code\datums\quirks\positive_quirks\throwing_arm.dm" +#include "code\datums\quirks\positive_quirks\voracious.dm" #include "code\datums\records\crime.dm" #include "code\datums\records\data.dm" #include "code\datums\records\manifest.dm" @@ -1400,8 +1607,27 @@ #include "code\datums\ruins\space.dm" #include "code\datums\screentips\atom_context.dm" #include "code\datums\screentips\item_context.dm" +#include "code\datums\screentips\screentips.dm" +#include "code\datums\shuttles\_shuttle.dm" +#include "code\datums\shuttles\arrival.dm" +#include "code\datums\shuttles\assault_pod.dm" +#include "code\datums\shuttles\aux_base.dm" +#include "code\datums\shuttles\cargo.dm" +#include "code\datums\shuttles\emergency.dm" +#include "code\datums\shuttles\ert.dm" +#include "code\datums\shuttles\escape_pod.dm" +#include "code\datums\shuttles\ferry.dm" +#include "code\datums\shuttles\hunter.dm" +#include "code\datums\shuttles\infiltrator.dm" +#include "code\datums\shuttles\mining.dm" +#include "code\datums\shuttles\pirate.dm" +#include "code\datums\shuttles\ruin.dm" +#include "code\datums\shuttles\snowdin.dm" +#include "code\datums\shuttles\starfury.dm" +#include "code\datums\shuttles\whiteship.dm" #include "code\datums\skills\_skill.dm" #include "code\datums\skills\cleaning.dm" +#include "code\datums\skills\fishing.dm" #include "code\datums\skills\gaming.dm" #include "code\datums\skills\mining.dm" #include "code\datums\station_traits\_station_trait.dm" @@ -1414,6 +1640,7 @@ #include "code\datums\status_effects\agent_pinpointer.dm" #include "code\datums\status_effects\buffs.dm" #include "code\datums\status_effects\drug_effects.dm" +#include "code\datums\status_effects\food_effects.dm" #include "code\datums\status_effects\gas.dm" #include "code\datums\status_effects\grouped_effect.dm" #include "code\datums\status_effects\limited_effect.dm" @@ -1421,11 +1648,18 @@ #include "code\datums\status_effects\song_effects.dm" #include "code\datums\status_effects\stacking_effect.dm" #include "code\datums\status_effects\wound_effects.dm" +#include "code\datums\status_effects\buffs\food_haste.dm" +#include "code\datums\status_effects\buffs\food_traits.dm" +#include "code\datums\status_effects\buffs\stun_absorption.dm" #include "code\datums\status_effects\debuffs\blindness.dm" #include "code\datums\status_effects\debuffs\choke.dm" #include "code\datums\status_effects\debuffs\confusion.dm" +#include "code\datums\status_effects\debuffs\cursed.dm" +#include "code\datums\status_effects\debuffs\cyborg.dm" #include "code\datums\status_effects\debuffs\debuffs.dm" +#include "code\datums\status_effects\debuffs\decloning.dm" #include "code\datums\status_effects\debuffs\dizziness.dm" +#include "code\datums\status_effects\debuffs\dna_transformation.dm" #include "code\datums\status_effects\debuffs\drowsiness.dm" #include "code\datums\status_effects\debuffs\drugginess.dm" #include "code\datums\status_effects\debuffs\drunk.dm" @@ -1437,18 +1671,25 @@ #include "code\datums\status_effects\debuffs\screen_blur.dm" #include "code\datums\status_effects\debuffs\screwy_hud.dm" #include "code\datums\status_effects\debuffs\silenced.dm" +#include "code\datums\status_effects\debuffs\slimed.dm" +#include "code\datums\status_effects\debuffs\spacer.dm" #include "code\datums\status_effects\debuffs\speech_debuffs.dm" +#include "code\datums\status_effects\debuffs\static_vision.dm" #include "code\datums\status_effects\debuffs\strandling.dm" #include "code\datums\status_effects\debuffs\terrified.dm" #include "code\datums\status_effects\debuffs\tower_of_babel.dm" #include "code\datums\storage\storage.dm" +#include "code\datums\storage\subtypes\backpack.dm" #include "code\datums\storage\subtypes\bag_of_holding.dm" #include "code\datums\storage\subtypes\cards.dm" +#include "code\datums\storage\subtypes\duffel_bag.dm" #include "code\datums\storage\subtypes\extract_inventory.dm" +#include "code\datums\storage\subtypes\fish_case.dm" #include "code\datums\storage\subtypes\implant.dm" #include "code\datums\storage\subtypes\organ_box.dm" #include "code\datums\storage\subtypes\pockets.dm" #include "code\datums\storage\subtypes\rped.dm" +#include "code\datums\storage\subtypes\surgery_tray.dm" #include "code\datums\storage\subtypes\trash.dm" #include "code\datums\votes\_vote_datum.dm" #include "code\datums\votes\custom_vote.dm" @@ -1471,6 +1712,8 @@ #include "code\datums\wires\emitter.dm" #include "code\datums\wires\explosive.dm" #include "code\datums\wires\fax.dm" +#include "code\datums\wires\mass_driver.dm" +#include "code\datums\wires\mecha.dm" #include "code\datums\wires\microwave.dm" #include "code\datums\wires\mod.dm" #include "code\datums\wires\mulebot.dm" @@ -1483,7 +1726,9 @@ #include "code\datums\wires\syndicatebomb.dm" #include "code\datums\wires\tesla_coil.dm" #include "code\datums\wires\vending.dm" +#include "code\datums\wounds\_wound_static_data.dm" #include "code\datums\wounds\_wounds.dm" +#include "code\datums\wounds\blunt.dm" #include "code\datums\wounds\bones.dm" #include "code\datums\wounds\burns.dm" #include "code\datums\wounds\loss.dm" @@ -1493,6 +1738,7 @@ #include "code\game\alternate_appearance.dm" #include "code\game\atom_defense.dm" #include "code\game\atoms.dm" +#include "code\game\atoms_initializing_EXPENSIVE.dm" #include "code\game\atoms_movable.dm" #include "code\game\communications.dm" #include "code\game\data_huds.dm" @@ -1503,7 +1749,6 @@ #include "code\game\world.dm" #include "code\game\area\ai_monitored.dm" #include "code\game\area\areas.dm" -#include "code\game\area\space_station_13_areas.dm" #include "code\game\area\areas\ai_monitored.dm" #include "code\game\area\areas\away_content.dm" #include "code\game\area\areas\centcom.dm" @@ -1511,12 +1756,24 @@ #include "code\game\area\areas\mining.dm" #include "code\game\area\areas\misc.dm" #include "code\game\area\areas\shuttles.dm" -#include "code\game\area\areas\station.dm" #include "code\game\area\areas\ruins\_ruins.dm" #include "code\game\area\areas\ruins\icemoon.dm" #include "code\game\area\areas\ruins\lavaland.dm" #include "code\game\area\areas\ruins\space.dm" #include "code\game\area\areas\ruins\templates.dm" +#include "code\game\area\areas\station\cargo.dm" +#include "code\game\area\areas\station\command.dm" +#include "code\game\area\areas\station\common.dm" +#include "code\game\area\areas\station\engineering.dm" +#include "code\game\area\areas\station\hallway.dm" +#include "code\game\area\areas\station\maintenance.dm" +#include "code\game\area\areas\station\medical.dm" +#include "code\game\area\areas\station\misc.dm" +#include "code\game\area\areas\station\science.dm" +#include "code\game\area\areas\station\security.dm" +#include "code\game\area\areas\station\service.dm" +#include "code\game\area\areas\station\solars.dm" +#include "code\game\area\areas\station\telecomm.dm" #include "code\game\gamemodes\events.dm" #include "code\game\gamemodes\game_mode.dm" #include "code\game\gamemodes\objective.dm" @@ -1548,6 +1805,7 @@ #include "code\game\machinery\dance_machine.dm" #include "code\game\machinery\defibrillator_mount.dm" #include "code\game\machinery\deployable.dm" +#include "code\game\machinery\digital_clock.dm" #include "code\game\machinery\dish_drive.dm" #include "code\game\machinery\dna_scanner.dm" #include "code\game\machinery\droneDispenser.dm" @@ -1562,6 +1820,7 @@ #include "code\game\machinery\hologram.dm" #include "code\game\machinery\hypnochair.dm" #include "code\game\machinery\igniter.dm" +#include "code\game\machinery\incident_display.dm" #include "code\game\machinery\iv_drip.dm" #include "code\game\machinery\launch_pad.dm" #include "code\game\machinery\lightswitch.dm" @@ -1570,8 +1829,10 @@ #include "code\game\machinery\mechlaunchpad.dm" #include "code\game\machinery\medical_kiosk.dm" #include "code\game\machinery\medipen_refiller.dm" +#include "code\game\machinery\mining_weather_monitor.dm" #include "code\game\machinery\modular_shield.dm" #include "code\game\machinery\navbeacon.dm" +#include "code\game\machinery\nebula_shielding.dm" #include "code\game\machinery\PDApainter.dm" #include "code\game\machinery\prisongate.dm" #include "code\game\machinery\prisonlabor.dm" @@ -1601,7 +1862,7 @@ #include "code\game\machinery\camera\camera_assembly.dm" #include "code\game\machinery\camera\motion.dm" #include "code\game\machinery\camera\presets.dm" -#include "code\game\machinery\camera\tracking.dm" +#include "code\game\machinery\camera\trackable.dm" #include "code\game\machinery\computer\_computer.dm" #include "code\game\machinery\computer\accounting.dm" #include "code\game\machinery\computer\aifixer.dm" @@ -1667,9 +1928,9 @@ #include "code\game\machinery\dna_infuser\organ_sets\goliath_organs.dm" #include "code\game\machinery\dna_infuser\organ_sets\gondola_organs.dm" #include "code\game\machinery\dna_infuser\organ_sets\rat_organs.dm" +#include "code\game\machinery\dna_infuser\organ_sets\roach_organs.dm" #include "code\game\machinery\doors\airlock.dm" #include "code\game\machinery\doors\airlock_electronics.dm" -#include "code\game\machinery\doors\airlock_types.dm" #include "code\game\machinery\doors\brigdoors.dm" #include "code\game\machinery\doors\door.dm" #include "code\game\machinery\doors\firedoor.dm" @@ -1720,12 +1981,14 @@ #include "code\game\objects\effects\glowshroom.dm" #include "code\game\objects\effects\info.dm" #include "code\game\objects\effects\landmarks.dm" +#include "code\game\objects\effects\lighting.dm" #include "code\game\objects\effects\mines.dm" #include "code\game\objects\effects\misc.dm" #include "code\game\objects\effects\overlays.dm" #include "code\game\objects\effects\particle_holder.dm" #include "code\game\objects\effects\phased_mob.dm" #include "code\game\objects\effects\portals.dm" +#include "code\game\objects\effects\poster_demotivational.dm" #include "code\game\objects\effects\poster_motivational.dm" #include "code\game\objects\effects\powerup.dm" #include "code\game\objects\effects\spiderwebs.dm" @@ -1766,9 +2029,11 @@ #include "code\game\objects\effects\effect_system\fluid_spread\effects_foam.dm" #include "code\game\objects\effects\effect_system\fluid_spread\effects_smoke.dm" #include "code\game\objects\effects\landmarks\atmospherics_sanity_landmarks.dm" +#include "code\game\objects\effects\particles\acid.dm" #include "code\game\objects\effects\particles\fire.dm" #include "code\game\objects\effects\particles\misc.dm" #include "code\game\objects\effects\particles\note_particles.dm" +#include "code\game\objects\effects\particles\slime.dm" #include "code\game\objects\effects\particles\smoke.dm" #include "code\game\objects\effects\particles\water.dm" #include "code\game\objects\effects\posters\contraband.dm" @@ -1780,6 +2045,8 @@ #include "code\game\objects\effects\spawners\structure.dm" #include "code\game\objects\effects\spawners\xeno_egg_delivery.dm" #include "code\game\objects\effects\spawners\random\ai_module.dm" +#include "code\game\objects\effects\spawners\random\animalhide.dm" +#include "code\game\objects\effects\spawners\random\armory.dm" #include "code\game\objects\effects\spawners\random\bureaucracy.dm" #include "code\game\objects\effects\spawners\random\clothing.dm" #include "code\game\objects\effects\spawners\random\contraband.dm" @@ -1788,15 +2055,18 @@ #include "code\game\objects\effects\spawners\random\entertainment.dm" #include "code\game\objects\effects\spawners\random\exotic.dm" #include "code\game\objects\effects\spawners\random\food_or_drink.dm" +#include "code\game\objects\effects\spawners\random\lavaland_mobs.dm" #include "code\game\objects\effects\spawners\random\maintenance.dm" #include "code\game\objects\effects\spawners\random\medical.dm" #include "code\game\objects\effects\spawners\random\mod.dm" #include "code\game\objects\effects\spawners\random\random.dm" +#include "code\game\objects\effects\spawners\random\russian_rifle_spawner.dm" #include "code\game\objects\effects\spawners\random\structure.dm" #include "code\game\objects\effects\spawners\random\techstorage.dm" #include "code\game\objects\effects\spawners\random\trash.dm" #include "code\game\objects\effects\spawners\random\vending.dm" #include "code\game\objects\effects\temporary_visuals\cult.dm" +#include "code\game\objects\effects\temporary_visuals\effect_trail.dm" #include "code\game\objects\effects\temporary_visuals\miscellaneous.dm" #include "code\game\objects\effects\temporary_visuals\temporary_visual.dm" #include "code\game\objects\effects\temporary_visuals\projectiles\impact.dm" @@ -1805,6 +2075,7 @@ #include "code\game\objects\effects\temporary_visuals\projectiles\tracer.dm" #include "code\game\objects\items\airlock_painter.dm" #include "code\game\objects\items\apc_frame.dm" +#include "code\game\objects\items\bear_armor.dm" #include "code\game\objects\items\binoculars.dm" #include "code\game\objects\items\blueprints.dm" #include "code\game\objects\items\body_egg.dm" @@ -1819,6 +2090,7 @@ #include "code\game\objects\items\choice_beacon.dm" #include "code\game\objects\items\chromosome.dm" #include "code\game\objects\items\cigs_lighters.dm" +#include "code\game\objects\items\climbingrope.dm" #include "code\game\objects\items\clown_items.dm" #include "code\game\objects\items\control_wand.dm" #include "code\game\objects\items\cosmetics.dm" @@ -1835,7 +2107,7 @@ #include "code\game\objects\items\door_seal.dm" #include "code\game\objects\items\drug_items.dm" #include "code\game\objects\items\dualsaber.dm" -#include "code\game\objects\items\dyekit.dm" +#include "code\game\objects\items\dyespray.dm" #include "code\game\objects\items\eightball.dm" #include "code\game\objects\items\emags.dm" #include "code\game\objects\items\etherealdiscoball.dm" @@ -1853,7 +2125,6 @@ #include "code\game\objects\items\inducer.dm" #include "code\game\objects\items\inspector.dm" #include "code\game\objects\items\janitor_key.dm" -#include "code\game\objects\items\kirbyplants.dm" #include "code\game\objects\items\kitchen.dm" #include "code\game\objects\items\knives.dm" #include "code\game\objects\items\latexballoon.dm" @@ -1885,10 +2156,13 @@ #include "code\game\objects\items\skub.dm" #include "code\game\objects\items\spear.dm" #include "code\game\objects\items\sticker.dm" +#include "code\game\objects\items\surgery_tray.dm" +#include "code\game\objects\items\syndie_spraycan.dm" #include "code\game\objects\items\tail_pin.dm" #include "code\game\objects\items\taster.dm" #include "code\game\objects\items\teleportation.dm" #include "code\game\objects\items\theft_tools.dm" +#include "code\game\objects\items\tongs.dm" #include "code\game\objects\items\toy_mechs.dm" #include "code\game\objects\items\toys.dm" #include "code\game\objects\items\trash.dm" @@ -1910,10 +2184,10 @@ #include "code\game\objects\items\circuitboards\machines\engine_circuitboards.dm" #include "code\game\objects\items\circuitboards\machines\machine_circuitboards.dm" #include "code\game\objects\items\devices\aicard.dm" +#include "code\game\objects\items\devices\aicard_evil.dm" #include "code\game\objects\items\devices\anomaly_neutralizer.dm" #include "code\game\objects\items\devices\anomaly_releaser.dm" #include "code\game\objects\items\devices\beacon.dm" -#include "code\game\objects\items\devices\camera_bug.dm" #include "code\game\objects\items\devices\chameleonproj.dm" #include "code\game\objects\items\devices\destabilizing_crystal.dm" #include "code\game\objects\items\devices\desynchronizer.dm" @@ -1964,6 +2238,7 @@ #include "code\game\objects\items\food\egg.dm" #include "code\game\objects\items\food\frozen.dm" #include "code\game\objects\items\food\lizard.dm" +#include "code\game\objects\items\food\martian.dm" #include "code\game\objects\items\food\meatdish.dm" #include "code\game\objects\items\food\meatslab.dm" #include "code\game\objects\items\food\mexican.dm" @@ -2006,6 +2281,7 @@ #include "code\game\objects\items\granters\magic\mindswap.dm" #include "code\game\objects\items\granters\magic\sacred_flame.dm" #include "code\game\objects\items\granters\magic\smoke.dm" +#include "code\game\objects\items\granters\magic\summon_cheese.dm" #include "code\game\objects\items\granters\magic\summon_item.dm" #include "code\game\objects\items\granters\martial_arts\_martial_arts.dm" #include "code\game\objects\items\granters\martial_arts\cqc.dm" @@ -2045,6 +2321,9 @@ #include "code\game\objects\items\implants\implanter.dm" #include "code\game\objects\items\implants\implantpad.dm" #include "code\game\objects\items\implants\implantuplink.dm" +#include "code\game\objects\items\kirby_plants\kirbyplants.dm" +#include "code\game\objects\items\kirby_plants\organic_plants.dm" +#include "code\game\objects\items\kirby_plants\synthetic_plants.dm" #include "code\game\objects\items\melee\baton.dm" #include "code\game\objects\items\melee\energy.dm" #include "code\game\objects\items\melee\misc.dm" @@ -2150,6 +2429,7 @@ #include "code\game\objects\structures\dresser.dm" #include "code\game\objects\structures\electricchair.dm" #include "code\game\objects\structures\extinguisher.dm" +#include "code\game\objects\structures\fake_stairs.dm" #include "code\game\objects\structures\false_walls.dm" #include "code\game\objects\structures\fans.dm" #include "code\game\objects\structures\fence.dm" @@ -2267,6 +2547,7 @@ #include "code\game\turfs\change_turf.dm" #include "code\game\turfs\turf.dm" #include "code\game\turfs\closed\_closed.dm" +#include "code\game\turfs\closed\indestructible.dm" #include "code\game\turfs\closed\minerals.dm" #include "code\game\turfs\closed\walls.dm" #include "code\game\turfs\closed\wall\material_walls.dm" @@ -2278,6 +2559,7 @@ #include "code\game\turfs\open\asteroid.dm" #include "code\game\turfs\open\basalt.dm" #include "code\game\turfs\open\chasm.dm" +#include "code\game\turfs\open\cliff.dm" #include "code\game\turfs\open\dirtystation.dm" #include "code\game\turfs\open\floor.dm" #include "code\game\turfs\open\grass.dm" @@ -2302,6 +2584,7 @@ #include "code\game\turfs\open\floor\reinforced_floor.dm" #include "code\game\turfs\open\floor\plating\misc_plating.dm" #include "code\game\turfs\open\space\space.dm" +#include "code\game\turfs\open\space\space_EXPENSIVE.dm" #include "code\game\turfs\open\space\transit.dm" #include "code\modules\actionspeed\_actionspeed_modifier.dm" #include "code\modules\actionspeed\modifiers\addiction.dm" @@ -2309,6 +2592,7 @@ #include "code\modules\actionspeed\modifiers\drugs.dm" #include "code\modules\actionspeed\modifiers\mood.dm" #include "code\modules\actionspeed\modifiers\status_effects.dm" +#include "code\modules\actionspeed\modifiers\wound.dm" #include "code\modules\admin\admin.dm" #include "code\modules\admin\admin_fax_panel.dm" #include "code\modules\admin\admin_investigate.dm" @@ -2348,11 +2632,11 @@ #include "code\modules\admin\whitelist.dm" #include "code\modules\admin\callproc\callproc.dm" #include "code\modules\admin\smites\bad_luck.dm" +#include "code\modules\admin\smites\become_object.dm" #include "code\modules\admin\smites\berforate.dm" #include "code\modules\admin\smites\bloodless.dm" #include "code\modules\admin\smites\boneless.dm" #include "code\modules\admin\smites\brain_damage.dm" -#include "code\modules\admin\smites\bread.dm" #include "code\modules\admin\smites\bsa.dm" #include "code\modules\admin\smites\curse_of_babel.dm" #include "code\modules\admin\smites\dock_pay.dm" @@ -2366,6 +2650,7 @@ #include "code\modules\admin\smites\knot_shoes.dm" #include "code\modules\admin\smites\lightning.dm" #include "code\modules\admin\smites\nugget.dm" +#include "code\modules\admin\smites\petrify.dm" #include "code\modules\admin\smites\phobia_ocky_icky.dm" #include "code\modules\admin\smites\puzzgrid.dm" #include "code\modules\admin\smites\puzzle.dm" @@ -2388,6 +2673,7 @@ #include "code\modules\admin\verbs\atmosdebug.dm" #include "code\modules\admin\verbs\beakerpanel.dm" #include "code\modules\admin\verbs\borgpanel.dm" +#include "code\modules\admin\verbs\change_shuttle_events.dm" #include "code\modules\admin\verbs\cinematic.dm" #include "code\modules\admin\verbs\color_blind_test.dm" #include "code\modules\admin\verbs\commandreport.dm" @@ -2401,10 +2687,12 @@ #include "code\modules\admin\verbs\fps.dm" #include "code\modules\admin\verbs\getlogs.dm" #include "code\modules\admin\verbs\ghost_pool_protection.dm" +#include "code\modules\admin\verbs\grant_dna_infusion.dm" #include "code\modules\admin\verbs\hiddenprints.dm" #include "code\modules\admin\verbs\highlander_datum.dm" #include "code\modules\admin\verbs\individual_logging.dm" #include "code\modules\admin\verbs\lawpanel.dm" +#include "code\modules\admin\verbs\light_debug.dm" #include "code\modules\admin\verbs\list_exposer.dm" #include "code\modules\admin\verbs\machine_upgrade.dm" #include "code\modules\admin\verbs\manipulate_organs.dm" @@ -2441,6 +2729,7 @@ #include "code\modules\admin\view_variables\mark_datum.dm" #include "code\modules\admin\view_variables\mass_edit_variables.dm" #include "code\modules\admin\view_variables\modify_variables.dm" +#include "code\modules\admin\view_variables\nobody_wants_to_learn_matrix_math.dm" #include "code\modules\admin\view_variables\particle_editor.dm" #include "code\modules\admin\view_variables\reference_tracking.dm" #include "code\modules\admin\view_variables\tag_datum.dm" @@ -2454,14 +2743,17 @@ #include "code\modules\antagonists\_common\antag_spawner.dm" #include "code\modules\antagonists\_common\antag_team.dm" #include "code\modules\antagonists\abductor\abductor.dm" +#include "code\modules\antagonists\abductor\abductor_structures.dm" #include "code\modules\antagonists\abductor\ice_abductor.dm" #include "code\modules\antagonists\abductor\abductee\abductee.dm" #include "code\modules\antagonists\abductor\abductee\abductee_objectives.dm" -#include "code\modules\antagonists\abductor\equipment\abduction_gear.dm" #include "code\modules\antagonists\abductor\equipment\abduction_outfits.dm" #include "code\modules\antagonists\abductor\equipment\abduction_surgery.dm" #include "code\modules\antagonists\abductor\equipment\gland.dm" #include "code\modules\antagonists\abductor\equipment\orderable_gear.dm" +#include "code\modules\antagonists\abductor\equipment\gear\abductor_clothing.dm" +#include "code\modules\antagonists\abductor\equipment\gear\abductor_items.dm" +#include "code\modules\antagonists\abductor\equipment\gear\abductor_posters.dm" #include "code\modules\antagonists\abductor\equipment\glands\access.dm" #include "code\modules\antagonists\abductor\equipment\glands\blood.dm" #include "code\modules\antagonists\abductor\equipment\glands\chem.dm" @@ -2523,12 +2815,14 @@ #include "code\modules\antagonists\changeling\powers\augmented_eyesight.dm" #include "code\modules\antagonists\changeling\powers\biodegrade.dm" #include "code\modules\antagonists\changeling\powers\chameleon_skin.dm" +#include "code\modules\antagonists\changeling\powers\defib_grasp.dm" #include "code\modules\antagonists\changeling\powers\digitalcamo.dm" #include "code\modules\antagonists\changeling\powers\fakedeath.dm" #include "code\modules\antagonists\changeling\powers\fleshmend.dm" #include "code\modules\antagonists\changeling\powers\headcrab.dm" #include "code\modules\antagonists\changeling\powers\lesserform.dm" #include "code\modules\antagonists\changeling\powers\mimic_voice.dm" +#include "code\modules\antagonists\changeling\powers\mmi_talk.dm" #include "code\modules\antagonists\changeling\powers\mutations.dm" #include "code\modules\antagonists\changeling\powers\panacea.dm" #include "code\modules\antagonists\changeling\powers\pheromone_receptors.dm" @@ -2548,11 +2842,13 @@ #include "code\modules\antagonists\cult\cult_bastard_sword.dm" #include "code\modules\antagonists\cult\cult_comms.dm" #include "code\modules\antagonists\cult\cult_items.dm" +#include "code\modules\antagonists\cult\cult_objectives.dm" #include "code\modules\antagonists\cult\cult_structure_altar.dm" #include "code\modules\antagonists\cult\cult_structure_archives.dm" #include "code\modules\antagonists\cult\cult_structure_forge.dm" #include "code\modules\antagonists\cult\cult_structure_pylon.dm" #include "code\modules\antagonists\cult\cult_structures.dm" +#include "code\modules\antagonists\cult\cult_team.dm" #include "code\modules\antagonists\cult\cult_turf_overlay.dm" #include "code\modules\antagonists\cult\rune_spawn_action.dm" #include "code\modules\antagonists\cult\runes.dm" @@ -2584,17 +2880,21 @@ #include "code\modules\antagonists\heretic\items\heretic_blades.dm" #include "code\modules\antagonists\heretic\items\heretic_necks.dm" #include "code\modules\antagonists\heretic\items\hunter_rifle.dm" +#include "code\modules\antagonists\heretic\items\keyring.dm" +#include "code\modules\antagonists\heretic\items\lintel.dm" #include "code\modules\antagonists\heretic\items\madness_mask.dm" #include "code\modules\antagonists\heretic\knowledge\ash_lore.dm" #include "code\modules\antagonists\heretic\knowledge\blade_lore.dm" #include "code\modules\antagonists\heretic\knowledge\cosmic_lore.dm" #include "code\modules\antagonists\heretic\knowledge\flesh_lore.dm" #include "code\modules\antagonists\heretic\knowledge\general_side.dm" +#include "code\modules\antagonists\heretic\knowledge\knock_lore.dm" #include "code\modules\antagonists\heretic\knowledge\rust_lore.dm" #include "code\modules\antagonists\heretic\knowledge\side_ash_flesh.dm" #include "code\modules\antagonists\heretic\knowledge\side_blade_rust.dm" #include "code\modules\antagonists\heretic\knowledge\side_cosmos_ash.dm" #include "code\modules\antagonists\heretic\knowledge\side_flesh_void.dm" +#include "code\modules\antagonists\heretic\knowledge\side_knock_flesh.dm" #include "code\modules\antagonists\heretic\knowledge\side_rust_cosmos.dm" #include "code\modules\antagonists\heretic\knowledge\side_void_blade.dm" #include "code\modules\antagonists\heretic\knowledge\starting_lore.dm" @@ -2604,10 +2904,14 @@ #include "code\modules\antagonists\heretic\knowledge\sacrifice_knowledge\sacrifice_map.dm" #include "code\modules\antagonists\heretic\knowledge\sacrifice_knowledge\sacrifice_moodlets.dm" #include "code\modules\antagonists\heretic\magic\aggressive_spread.dm" +#include "code\modules\antagonists\heretic\magic\apetravulnera.dm" +#include "code\modules\antagonists\heretic\magic\ascended_shapeshift.dm" #include "code\modules\antagonists\heretic\magic\ash_ascension.dm" #include "code\modules\antagonists\heretic\magic\ash_jaunt.dm" #include "code\modules\antagonists\heretic\magic\blood_cleave.dm" #include "code\modules\antagonists\heretic\magic\blood_siphon.dm" +#include "code\modules\antagonists\heretic\magic\burglar_finesse.dm" +#include "code\modules\antagonists\heretic\magic\caretaker.dm" #include "code\modules\antagonists\heretic\magic\cosmic_expansion.dm" #include "code\modules\antagonists\heretic\magic\cosmic_runes.dm" #include "code\modules\antagonists\heretic\magic\eldritch_blind.dm" @@ -2625,6 +2929,7 @@ #include "code\modules\antagonists\heretic\magic\mirror_walk.dm" #include "code\modules\antagonists\heretic\magic\nightwatcher_rebirth.dm" #include "code\modules\antagonists\heretic\magic\realignment.dm" +#include "code\modules\antagonists\heretic\magic\rust_charge.dm" #include "code\modules\antagonists\heretic\magic\rust_construction.dm" #include "code\modules\antagonists\heretic\magic\rust_wave.dm" #include "code\modules\antagonists\heretic\magic\shadow_cloak.dm" @@ -2634,12 +2939,13 @@ #include "code\modules\antagonists\heretic\magic\void_cold_cone.dm" #include "code\modules\antagonists\heretic\magic\void_phase.dm" #include "code\modules\antagonists\heretic\magic\void_pull.dm" -#include "code\modules\antagonists\heretic\mobs\maid_in_mirror.dm" +#include "code\modules\antagonists\heretic\magic\wave_of_desperation.dm" #include "code\modules\antagonists\heretic\status_effects\buffs.dm" #include "code\modules\antagonists\heretic\status_effects\debuffs.dm" #include "code\modules\antagonists\heretic\status_effects\ghoul.dm" #include "code\modules\antagonists\heretic\status_effects\mark_effects.dm" #include "code\modules\antagonists\heretic\structures\carving_knife.dm" +#include "code\modules\antagonists\heretic\structures\knock_final.dm" #include "code\modules\antagonists\heretic\structures\mawed_crucible.dm" #include "code\modules\antagonists\highlander\highlander.dm" #include "code\modules\antagonists\hypnotized\hypnotized.dm" @@ -2682,7 +2988,6 @@ #include "code\modules\antagonists\revenant\revenant_abilities.dm" #include "code\modules\antagonists\revenant\revenant_antag.dm" #include "code\modules\antagonists\revenant\revenant_blight.dm" -#include "code\modules\antagonists\revolution\enemy_of_the_revolution.dm" #include "code\modules\antagonists\revolution\enemy_of_the_state.dm" #include "code\modules\antagonists\revolution\revolution.dm" #include "code\modules\antagonists\santa\santa.dm" @@ -2707,9 +3012,7 @@ #include "code\modules\antagonists\traitor\components\traitor_objective_limit_per_time.dm" #include "code\modules\antagonists\traitor\components\traitor_objective_mind_tracker.dm" #include "code\modules\antagonists\traitor\objectives\assassination.dm" -#include "code\modules\antagonists\traitor\objectives\demoralise_crew.dm" -#include "code\modules\antagonists\traitor\objectives\demoralise_graffiti.dm" -#include "code\modules\antagonists\traitor\objectives\demoralise_poster.dm" +#include "code\modules\antagonists\traitor\objectives\demoralise_assault.dm" #include "code\modules\antagonists\traitor\objectives\destroy_heirloom.dm" #include "code\modules\antagonists\traitor\objectives\destroy_item.dm" #include "code\modules\antagonists\traitor\objectives\eyesnatching.dm" @@ -2748,10 +3051,18 @@ #include "code\modules\antagonists\wizard\equipment\spellbook_entries\mobility.dm" #include "code\modules\antagonists\wizard\equipment\spellbook_entries\offensive.dm" #include "code\modules\antagonists\wizard\equipment\spellbook_entries\summons.dm" +#include "code\modules\antagonists\wizard\grand_ritual\fluff.dm" #include "code\modules\antagonists\wizard\grand_ritual\grand_ritual.dm" -#include "code\modules\antagonists\wizard\grand_ritual\grand_ritual_finale.dm" #include "code\modules\antagonists\wizard\grand_ritual\grand_rune.dm" #include "code\modules\antagonists\wizard\grand_ritual\grand_side_effect.dm" +#include "code\modules\antagonists\wizard\grand_ritual\finales\all_access.dm" +#include "code\modules\antagonists\wizard\grand_ritual\finales\armageddon.dm" +#include "code\modules\antagonists\wizard\grand_ritual\finales\captaincy.dm" +#include "code\modules\antagonists\wizard\grand_ritual\finales\cheese.dm" +#include "code\modules\antagonists\wizard\grand_ritual\finales\clown.dm" +#include "code\modules\antagonists\wizard\grand_ritual\finales\grand_ritual_finale.dm" +#include "code\modules\antagonists\wizard\grand_ritual\finales\immortality.dm" +#include "code\modules\antagonists\wizard\grand_ritual\finales\midas.dm" #include "code\modules\antagonists\xeno\xeno.dm" #include "code\modules\art\paintings.dm" #include "code\modules\art\statues.dm" @@ -2793,6 +3104,7 @@ #include "code\modules\asset_cache\assets\inventory.dm" #include "code\modules\asset_cache\assets\irv.dm" #include "code\modules\asset_cache\assets\jquery.dm" +#include "code\modules\asset_cache\assets\light_templates.dm" #include "code\modules\asset_cache\assets\lobby.dm" #include "code\modules\asset_cache\assets\mafia.dm" #include "code\modules\asset_cache\assets\mecha.dm" @@ -2870,6 +3182,7 @@ #include "code\modules\atmospherics\machinery\components\unary_devices\bluespace_sender.dm" #include "code\modules\atmospherics\machinery\components\unary_devices\cryo.dm" #include "code\modules\atmospherics\machinery\components\unary_devices\heat_exchanger.dm" +#include "code\modules\atmospherics\machinery\components\unary_devices\machine_connector.dm" #include "code\modules\atmospherics\machinery\components\unary_devices\outlet_injector.dm" #include "code\modules\atmospherics\machinery\components\unary_devices\passive_vent.dm" #include "code\modules\atmospherics\machinery\components\unary_devices\portables_connector.dm" @@ -2898,6 +3211,7 @@ #include "code\modules\autowiki\autowiki.dm" #include "code\modules\autowiki\pages\base.dm" #include "code\modules\autowiki\pages\soup.dm" +#include "code\modules\autowiki\pages\stockparts.dm" #include "code\modules\autowiki\pages\techweb.dm" #include "code\modules\autowiki\pages\vending.dm" #include "code\modules\awaymissions\away_props.dm" @@ -2924,6 +3238,54 @@ #include "code\modules\basketball\controller.dm" #include "code\modules\basketball\hoop.dm" #include "code\modules\basketball\referee.dm" +#include "code\modules\bitrunning\abilities.dm" +#include "code\modules\bitrunning\alerts.dm" +#include "code\modules\bitrunning\areas.dm" +#include "code\modules\bitrunning\event.dm" +#include "code\modules\bitrunning\job.dm" +#include "code\modules\bitrunning\turfs.dm" +#include "code\modules\bitrunning\antagonists\cyber_police.dm" +#include "code\modules\bitrunning\antagonists\outfit.dm" +#include "code\modules\bitrunning\components\avatar_connection.dm" +#include "code\modules\bitrunning\components\bitrunning_points.dm" +#include "code\modules\bitrunning\components\netpod_healing.dm" +#include "code\modules\bitrunning\objects\bit_vendor.dm" +#include "code\modules\bitrunning\objects\clothing.dm" +#include "code\modules\bitrunning\objects\disks.dm" +#include "code\modules\bitrunning\objects\hololadder.dm" +#include "code\modules\bitrunning\objects\host_monitor.dm" +#include "code\modules\bitrunning\objects\landmarks.dm" +#include "code\modules\bitrunning\objects\loot_crate.dm" +#include "code\modules\bitrunning\objects\netpod.dm" +#include "code\modules\bitrunning\objects\quantum_console.dm" +#include "code\modules\bitrunning\orders\disks.dm" +#include "code\modules\bitrunning\orders\flair.dm" +#include "code\modules\bitrunning\orders\tech.dm" +#include "code\modules\bitrunning\server\loot.dm" +#include "code\modules\bitrunning\server\map_handling.dm" +#include "code\modules\bitrunning\server\obj_generation.dm" +#include "code\modules\bitrunning\server\quantum_server.dm" +#include "code\modules\bitrunning\server\signal_handlers.dm" +#include "code\modules\bitrunning\server\util.dm" +#include "code\modules\bitrunning\virtual_domain\safehouses.dm" +#include "code\modules\bitrunning\virtual_domain\virtual_domain.dm" +#include "code\modules\bitrunning\virtual_domain\domains\ash_drake.dm" +#include "code\modules\bitrunning\virtual_domain\domains\beach_bar.dm" +#include "code\modules\bitrunning\virtual_domain\domains\blood_drunk_miner.dm" +#include "code\modules\bitrunning\virtual_domain\domains\bubblegum.dm" +#include "code\modules\bitrunning\virtual_domain\domains\clown_planet.dm" +#include "code\modules\bitrunning\virtual_domain\domains\colossus.dm" +#include "code\modules\bitrunning\virtual_domain\domains\gondola_asteroid.dm" +#include "code\modules\bitrunning\virtual_domain\domains\hierophant.dm" +#include "code\modules\bitrunning\virtual_domain\domains\legion.dm" +#include "code\modules\bitrunning\virtual_domain\domains\pipedream.dm" +#include "code\modules\bitrunning\virtual_domain\domains\pirates.dm" +#include "code\modules\bitrunning\virtual_domain\domains\stairs_and_cliffs.dm" +#include "code\modules\bitrunning\virtual_domain\domains\syndicate_assault.dm" +#include "code\modules\bitrunning\virtual_domain\domains\test_only.dm" +#include "code\modules\bitrunning\virtual_domain\domains\vaporwave.dm" +#include "code\modules\bitrunning\virtual_domain\domains\wendigo.dm" +#include "code\modules\bitrunning\virtual_domain\domains\xeno_nest.dm" #include "code\modules\buildmode\bm_mode.dm" #include "code\modules\buildmode\buildmode.dm" #include "code\modules\buildmode\buttons.dm" @@ -2968,6 +3330,7 @@ #include "code\modules\cargo\expressconsole.dm" #include "code\modules\cargo\gondolapod.dm" #include "code\modules\cargo\goodies.dm" +#include "code\modules\cargo\materials_market.dm" #include "code\modules\cargo\order.dm" #include "code\modules\cargo\orderconsole.dm" #include "code\modules\cargo\supplypod.dm" @@ -3027,6 +3390,7 @@ #include "code\modules\cargo\packs\science.dm" #include "code\modules\cargo\packs\security.dm" #include "code\modules\cargo\packs\service.dm" +#include "code\modules\cargo\packs\stock_market_items.dm" #include "code\modules\cargo\packs\vending_restock.dm" #include "code\modules\chatter\chatter.dm" #include "code\modules\client\client_colour.dm" @@ -3041,6 +3405,8 @@ #include "code\modules\client\preferences\admin.dm" #include "code\modules\client\preferences\age.dm" #include "code\modules\client\preferences\ai_core_display.dm" +#include "code\modules\client\preferences\ai_emote_display.dm" +#include "code\modules\client\preferences\ai_hologram_display.dm" #include "code\modules\client\preferences\ambient_occlusion.dm" #include "code\modules\client\preferences\assets.dm" #include "code\modules\client\preferences\auto_fit_viewport.dm" @@ -3058,11 +3424,13 @@ #include "code\modules\client\preferences\hotkeys.dm" #include "code\modules\client\preferences\item_outlines.dm" #include "code\modules\client\preferences\jobless_role.dm" +#include "code\modules\client\preferences\language.dm" #include "code\modules\client\preferences\mod_select.dm" #include "code\modules\client\preferences\multiz_parallax.dm" #include "code\modules\client\preferences\multiz_performance.dm" #include "code\modules\client\preferences\names.dm" #include "code\modules\client\preferences\ooc.dm" +#include "code\modules\client\preferences\operative_species.dm" #include "code\modules\client\preferences\paint_color.dm" #include "code\modules\client\preferences\parallax.dm" #include "code\modules\client\preferences\pda.dm" @@ -3073,6 +3441,7 @@ #include "code\modules\client\preferences\preferred_map.dm" #include "code\modules\client\preferences\pride_pin.dm" #include "code\modules\client\preferences\prisoner_crime.dm" +#include "code\modules\client\preferences\prosthetic.dm" #include "code\modules\client\preferences\random.dm" #include "code\modules\client\preferences\runechat.dm" #include "code\modules\client\preferences\scaling_method.dm" @@ -3104,6 +3473,7 @@ #include "code\modules\client\preferences\migrations\convert_to_json_savefile.dm" #include "code\modules\client\preferences\migrations\legacy_sound_toggles_migration.dm" #include "code\modules\client\preferences\migrations\tgui_prefs_migration.dm" +#include "code\modules\client\preferences\migrations\tts_blip_migration.dm" #include "code\modules\client\preferences\species_features\basic.dm" #include "code\modules\client\preferences\species_features\ethereal.dm" #include "code\modules\client\preferences\species_features\felinid.dm" @@ -3116,8 +3486,15 @@ #include "code\modules\client\verbs\ping.dm" #include "code\modules\client\verbs\suicide.dm" #include "code\modules\client\verbs\who.dm" -#include "code\modules\clothing\chameleon.dm" #include "code\modules\clothing\clothing.dm" +#include "code\modules\clothing\belts\polymorph_belt.dm" +#include "code\modules\clothing\chameleon\_chameleon_action.dm" +#include "code\modules\clothing\chameleon\_chameleon_outfit.dm" +#include "code\modules\clothing\chameleon\chameleon_action_subtypes.dm" +#include "code\modules\clothing\chameleon\chameleon_drone.dm" +#include "code\modules\clothing\chameleon\chameleon_gun.dm" +#include "code\modules\clothing\chameleon\chameleon_scanner.dm" +#include "code\modules\clothing\chameleon\generic_chameleon_clothing.dm" #include "code\modules\clothing\ears\_ears.dm" #include "code\modules\clothing\glasses\_glasses.dm" #include "code\modules\clothing\glasses\engine_goggles.dm" @@ -3228,7 +3605,6 @@ #include "code\modules\clothing\suits\wintercoats.dm" #include "code\modules\clothing\suits\wiz_robe.dm" #include "code\modules\clothing\under\_under.dm" -#include "code\modules\clothing\under\accessories.dm" #include "code\modules\clothing\under\color.dm" #include "code\modules\clothing\under\costume.dm" #include "code\modules\clothing\under\ethereal.dm" @@ -3239,6 +3615,12 @@ #include "code\modules\clothing\under\suits.dm" #include "code\modules\clothing\under\syndicate.dm" #include "code\modules\clothing\under\trek.dm" +#include "code\modules\clothing\under\accessories\_accessories.dm" +#include "code\modules\clothing\under\accessories\armbands.dm" +#include "code\modules\clothing\under\accessories\badges.dm" +#include "code\modules\clothing\under\accessories\medals.dm" +#include "code\modules\clothing\under\accessories\tribal.dm" +#include "code\modules\clothing\under\accessories\vests.dm" #include "code\modules\clothing\under\jobs\cargo.dm" #include "code\modules\clothing\under\jobs\centcom.dm" #include "code\modules\clothing\under\jobs\command.dm" @@ -3309,6 +3691,7 @@ #include "code\modules\events\shuttle_insurance.dm" #include "code\modules\events\spider_infestation.dm" #include "code\modules\events\stray_cargo.dm" +#include "code\modules\events\supermatter_surge.dm" #include "code\modules\events\tram_malfunction.dm" #include "code\modules\events\vent_clog.dm" #include "code\modules\events\wisdomcow.dm" @@ -3381,15 +3764,17 @@ #include "code\modules\experisci\experiment\experiments.dm" #include "code\modules\experisci\experiment\physical_experiments.dm" #include "code\modules\experisci\experiment\handlers\experiment_handler.dm" -#include "code\modules\experisci\experiment\types\dissection_experiment.dm" +#include "code\modules\experisci\experiment\types\autopsy_experiment.dm" #include "code\modules\experisci\experiment\types\experiment.dm" #include "code\modules\experisci\experiment\types\exploration.dm" #include "code\modules\experisci\experiment\types\ordnance.dm" #include "code\modules\experisci\experiment\types\physical_experiment.dm" #include "code\modules\experisci\experiment\types\random_scanning.dm" #include "code\modules\experisci\experiment\types\scanning.dm" +#include "code\modules\experisci\experiment\types\scanning_fish.dm" #include "code\modules\experisci\experiment\types\scanning_machinery.dm" #include "code\modules\experisci\experiment\types\scanning_material.dm" +#include "code\modules\experisci\experiment\types\scanning_people.dm" #include "code\modules\experisci\experiment\types\scanning_plants.dm" #include "code\modules\experisci\experiment\types\scanning_points.dm" #include "code\modules\experisci\experiment\types\scanning_vatgrown.dm" @@ -3413,11 +3798,13 @@ #include "code\modules\fishing\fishing_minigame.dm" #include "code\modules\fishing\fishing_portal_machine.dm" #include "code\modules\fishing\fishing_rod.dm" -#include "code\modules\fishing\fishing_traits.dm" #include "code\modules\fishing\aquarium\aquarium.dm" #include "code\modules\fishing\aquarium\aquarium_kit.dm" +#include "code\modules\fishing\aquarium\fish_analyzer.dm" #include "code\modules\fishing\fish\_fish.dm" #include "code\modules\fishing\fish\chasm_detritus.dm" +#include "code\modules\fishing\fish\fish_evolution.dm" +#include "code\modules\fishing\fish\fish_traits.dm" #include "code\modules\fishing\fish\fish_types.dm" #include "code\modules\fishing\sources\_fish_source.dm" #include "code\modules\fishing\sources\source_types.dm" @@ -3454,6 +3841,7 @@ #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_frozen.dm" #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_guide.dm" #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_lizard.dm" +#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_martian.dm" #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_meat.dm" #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_mexican.dm" #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_misc.dm" @@ -3559,6 +3947,7 @@ #include "code\modules\hydroponics\grown\random.dm" #include "code\modules\hydroponics\grown\replicapod.dm" #include "code\modules\hydroponics\grown\root.dm" +#include "code\modules\hydroponics\grown\seedling.dm" #include "code\modules\hydroponics\grown\sugarcane.dm" #include "code\modules\hydroponics\grown\tea_coffee.dm" #include "code\modules\hydroponics\grown\tobacco.dm" @@ -3669,6 +4058,7 @@ #include "code\modules\jobs\job_types\chaplain\chaplain_costumes.dm" #include "code\modules\jobs\job_types\chaplain\chaplain_divine_archer.dm" #include "code\modules\jobs\job_types\chaplain\chaplain_nullrod.dm" +#include "code\modules\jobs\job_types\chaplain\chaplain_vorpal_scythe.dm" #include "code\modules\jobs\job_types\ert\ert_generic.dm" #include "code\modules\jobs\job_types\event\admin.dm" #include "code\modules\jobs\job_types\event\fugitive.dm" @@ -3760,6 +4150,7 @@ #include "code\modules\logging\categories\log_category_compats.dm" #include "code\modules\logging\categories\log_category_debug.dm" #include "code\modules\logging\categories\log_category_game.dm" +#include "code\modules\logging\categories\log_category_href.dm" #include "code\modules\logging\categories\log_category_misc.dm" #include "code\modules\logging\categories\log_category_pda.dm" #include "code\modules\logging\categories\log_category_silo.dm" @@ -3806,6 +4197,7 @@ #include "code\modules\mapfluff\ruins\lavalandruin_code\surface.dm" #include "code\modules\mapfluff\ruins\lavalandruin_code\syndicate_base.dm" #include "code\modules\mapfluff\ruins\objects_and_mobs\ash_walker_den.dm" +#include "code\modules\mapfluff\ruins\objects_and_mobs\cursed_slot_machine.dm" #include "code\modules\mapfluff\ruins\objects_and_mobs\necropolis_gate.dm" #include "code\modules\mapfluff\ruins\objects_and_mobs\sin_ruins.dm" #include "code\modules\mapfluff\ruins\spaceruin_code\allamericandiner.dm" @@ -3828,7 +4220,6 @@ #include "code\modules\mapfluff\ruins\spaceruin_code\interdyne.dm" #include "code\modules\mapfluff\ruins\spaceruin_code\listeningstation.dm" #include "code\modules\mapfluff\ruins\spaceruin_code\meateor.dm" -#include "code\modules\mapfluff\ruins\spaceruin_code\oldstation.dm" #include "code\modules\mapfluff\ruins\spaceruin_code\originalcontent.dm" #include "code\modules\mapfluff\ruins\spaceruin_code\spacehotel.dm" #include "code\modules\mapfluff\ruins\spaceruin_code\the_Outlet.dm" @@ -3836,6 +4227,11 @@ #include "code\modules\mapfluff\ruins\spaceruin_code\waystation.dm" #include "code\modules\mapfluff\ruins\spaceruin_code\whiteship.dm" #include "code\modules\mapfluff\ruins\spaceruin_code\whiteshipruin_box.dm" +#include "code\modules\mapfluff\ruins\spaceruin_code\oldstation\oldstation_cytology.dm" +#include "code\modules\mapfluff\ruins\spaceruin_code\oldstation\oldstation_fluff.dm" +#include "code\modules\mapfluff\ruins\spaceruin_code\oldstation\oldstation_machines.dm" +#include "code\modules\mapfluff\ruins\spaceruin_code\oldstation\oldstation_mod.dm" +#include "code\modules\mapfluff\ruins\spaceruin_code\oldstation\oldstation_rnd.dm" #include "code\modules\mapping\access_helpers.dm" #include "code\modules\mapping\mail_sorting_helpers.dm" #include "code\modules\mapping\map_template.dm" @@ -3867,7 +4263,6 @@ #include "code\modules\mining\machine_stacking.dm" #include "code\modules\mining\machine_unloading.dm" #include "code\modules\mining\mine_items.dm" -#include "code\modules\mining\minebot.dm" #include "code\modules\mining\money_bag.dm" #include "code\modules\mining\ores_coins.dm" #include "code\modules\mining\satchel_ore_boxdm.dm" @@ -3880,6 +4275,7 @@ #include "code\modules\mining\equipment\marker_beacons.dm" #include "code\modules\mining\equipment\mineral_scanner.dm" #include "code\modules\mining\equipment\mining_tools.dm" +#include "code\modules\mining\equipment\miningradio.dm" #include "code\modules\mining\equipment\resonator.dm" #include "code\modules\mining\equipment\survival_pod.dm" #include "code\modules\mining\equipment\wormhole_jaunter.dm" @@ -3917,7 +4313,6 @@ #include "code\modules\mob\dead\new_player\new_player.dm" #include "code\modules\mob\dead\new_player\poll.dm" #include "code\modules\mob\dead\new_player\preferences_setup.dm" -#include "code\modules\mob\dead\new_player\sprite_accessories.dm" #include "code\modules\mob\dead\observer\login.dm" #include "code\modules\mob\dead\observer\logout.dm" #include "code\modules\mob\dead\observer\notificationprefs.dm" @@ -3950,27 +4345,97 @@ #include "code\modules\mob\living\basic\festivus_pole.dm" #include "code\modules\mob\living\basic\health_adjustment.dm" #include "code\modules\mob\living\basic\tree.dm" +#include "code\modules\mob\living\basic\blob_minions\blob_ai.dm" +#include "code\modules\mob\living\basic\blob_minions\blob_mob.dm" +#include "code\modules\mob\living\basic\blob_minions\blob_spore.dm" +#include "code\modules\mob\living\basic\blob_minions\blob_zombie.dm" +#include "code\modules\mob\living\basic\blob_minions\blobbernaut.dm" +#include "code\modules\mob\living\basic\clown\clown.dm" +#include "code\modules\mob\living\basic\clown\clown_ai.dm" #include "code\modules\mob\living\basic\farm_animals\deer.dm" #include "code\modules\mob\living\basic\farm_animals\pig.dm" +#include "code\modules\mob\living\basic\farm_animals\pony.dm" #include "code\modules\mob\living\basic\farm_animals\rabbit.dm" #include "code\modules\mob\living\basic\farm_animals\sheep.dm" +#include "code\modules\mob\living\basic\farm_animals\bee\_bee.dm" +#include "code\modules\mob\living\basic\farm_animals\bee\bee_ai_behavior.dm" +#include "code\modules\mob\living\basic\farm_animals\bee\bee_ai_subtree.dm" #include "code\modules\mob\living\basic\farm_animals\chicken\chick.dm" #include "code\modules\mob\living\basic\farm_animals\chicken\chicken.dm" #include "code\modules\mob\living\basic\farm_animals\cow\_cow.dm" #include "code\modules\mob\living\basic\farm_animals\cow\cow_ai.dm" #include "code\modules\mob\living\basic\farm_animals\cow\cow_moonicorn.dm" #include "code\modules\mob\living\basic\farm_animals\cow\cow_wisdom.dm" +#include "code\modules\mob\living\basic\farm_animals\goat\_goat.dm" +#include "code\modules\mob\living\basic\farm_animals\goat\goat_ai.dm" +#include "code\modules\mob\living\basic\farm_animals\goat\goat_subtypes.dm" +#include "code\modules\mob\living\basic\heretic\ash_spirit.dm" #include "code\modules\mob\living\basic\heretic\fire_shark.dm" +#include "code\modules\mob\living\basic\heretic\flesh_stalker.dm" +#include "code\modules\mob\living\basic\heretic\flesh_worm.dm" +#include "code\modules\mob\living\basic\heretic\heretic_summon.dm" +#include "code\modules\mob\living\basic\heretic\maid_in_the_mirror.dm" +#include "code\modules\mob\living\basic\heretic\raw_prophet.dm" +#include "code\modules\mob\living\basic\heretic\rust_walker.dm" #include "code\modules\mob\living\basic\heretic\star_gazer.dm" +#include "code\modules\mob\living\basic\icemoon\ice_whelp\ice_whelp.dm" +#include "code\modules\mob\living\basic\icemoon\ice_whelp\ice_whelp_abilities.dm" +#include "code\modules\mob\living\basic\icemoon\ice_whelp\ice_whelp_ai.dm" +#include "code\modules\mob\living\basic\jungle\mega_arachnid\mega_arachnid.dm" +#include "code\modules\mob\living\basic\jungle\mega_arachnid\mega_arachnid_abilities.dm" +#include "code\modules\mob\living\basic\jungle\mega_arachnid\mega_arachnid_ai.dm" +#include "code\modules\mob\living\basic\jungle\seedling\seedling.dm" +#include "code\modules\mob\living\basic\jungle\seedling\seedling_ai.dm" +#include "code\modules\mob\living\basic\jungle\seedling\seedling_projectiles.dm" #include "code\modules\mob\living\basic\lavaland\mining.dm" +#include "code\modules\mob\living\basic\lavaland\basilisk\basilisk.dm" +#include "code\modules\mob\living\basic\lavaland\basilisk\basilisk_overheat.dm" #include "code\modules\mob\living\basic\lavaland\bileworm\_bileworm.dm" #include "code\modules\mob\living\basic\lavaland\bileworm\bileworm_actions.dm" #include "code\modules\mob\living\basic\lavaland\bileworm\bileworm_ai.dm" #include "code\modules\mob\living\basic\lavaland\bileworm\bileworm_instrument.dm" #include "code\modules\mob\living\basic\lavaland\bileworm\bileworm_loot.dm" #include "code\modules\mob\living\basic\lavaland\bileworm\bileworm_vileworm.dm" -#include "code\modules\mob\living\basic\pets\dog.dm" +#include "code\modules\mob\living\basic\lavaland\brimdemon\brimbeam.dm" +#include "code\modules\mob\living\basic\lavaland\brimdemon\brimdemon.dm" +#include "code\modules\mob\living\basic\lavaland\brimdemon\brimdemon_ai.dm" +#include "code\modules\mob\living\basic\lavaland\brimdemon\brimdemon_loot.dm" +#include "code\modules\mob\living\basic\lavaland\goldgrub\goldgrub.dm" +#include "code\modules\mob\living\basic\lavaland\goldgrub\goldgrub_abilities.dm" +#include "code\modules\mob\living\basic\lavaland\goldgrub\goldgrub_ai.dm" +#include "code\modules\mob\living\basic\lavaland\goliath\goliath.dm" +#include "code\modules\mob\living\basic\lavaland\goliath\goliath_actions.dm" +#include "code\modules\mob\living\basic\lavaland\goliath\goliath_ai.dm" +#include "code\modules\mob\living\basic\lavaland\goliath\goliath_trophy.dm" +#include "code\modules\mob\living\basic\lavaland\goliath\tentacle.dm" +#include "code\modules\mob\living\basic\lavaland\hivelord\hivelord.dm" +#include "code\modules\mob\living\basic\lavaland\hivelord\hivelord_ai.dm" +#include "code\modules\mob\living\basic\lavaland\hivelord\spawn_hivelord_brood.dm" +#include "code\modules\mob\living\basic\lavaland\legion\legion.dm" +#include "code\modules\mob\living\basic\lavaland\legion\legion_ai.dm" +#include "code\modules\mob\living\basic\lavaland\legion\legion_brood.dm" +#include "code\modules\mob\living\basic\lavaland\legion\legion_tumour.dm" +#include "code\modules\mob\living\basic\lavaland\legion\spawn_legions.dm" +#include "code\modules\mob\living\basic\lavaland\lobstrosity\lobstrosity.dm" +#include "code\modules\mob\living\basic\lavaland\lobstrosity\lobstrosity_ai.dm" +#include "code\modules\mob\living\basic\lavaland\lobstrosity\lobstrosity_trophy.dm" +#include "code\modules\mob\living\basic\lavaland\watcher\watcher.dm" +#include "code\modules\mob\living\basic\lavaland\watcher\watcher_ai.dm" +#include "code\modules\mob\living\basic\lavaland\watcher\watcher_gaze.dm" +#include "code\modules\mob\living\basic\lavaland\watcher\watcher_overwatch.dm" +#include "code\modules\mob\living\basic\lavaland\watcher\watcher_projectiles.dm" +#include "code\modules\mob\living\basic\minebots\minebot.dm" +#include "code\modules\mob\living\basic\minebots\minebot_abilities.dm" +#include "code\modules\mob\living\basic\minebots\minebot_ai.dm" +#include "code\modules\mob\living\basic\minebots\minebot_upgrades.dm" +#include "code\modules\mob\living\basic\pets\fox.dm" +#include "code\modules\mob\living\basic\pets\penguin.dm" #include "code\modules\mob\living\basic\pets\pet.dm" +#include "code\modules\mob\living\basic\pets\sloth.dm" +#include "code\modules\mob\living\basic\pets\dog\_dog.dm" +#include "code\modules\mob\living\basic\pets\dog\corgi.dm" +#include "code\modules\mob\living\basic\pets\dog\dog_subtypes.dm" +#include "code\modules\mob\living\basic\pets\dog\strippable_items.dm" #include "code\modules\mob\living\basic\ruin_defender\stickman.dm" #include "code\modules\mob\living\basic\space_fauna\ant.dm" #include "code\modules\mob\living\basic\space_fauna\cat_surgeon.dm" @@ -3980,7 +4445,14 @@ #include "code\modules\mob\living\basic\space_fauna\headslug.dm" #include "code\modules\mob\living\basic\space_fauna\killer_tomato.dm" #include "code\modules\mob\living\basic\space_fauna\lightgeist.dm" +#include "code\modules\mob\living\basic\space_fauna\morph.dm" +#include "code\modules\mob\living\basic\space_fauna\mushroom.dm" +#include "code\modules\mob\living\basic\space_fauna\robot_customer.dm" #include "code\modules\mob\living\basic\space_fauna\spaceman.dm" +#include "code\modules\mob\living\basic\space_fauna\supermatter_spider.dm" +#include "code\modules\mob\living\basic\space_fauna\bear\_bear.dm" +#include "code\modules\mob\living\basic\space_fauna\bear\bear_ai_behavior.dm" +#include "code\modules\mob\living\basic\space_fauna\bear\bear_ai_subtree.dm" #include "code\modules\mob\living\basic\space_fauna\carp\carp.dm" #include "code\modules\mob\living\basic\space_fauna\carp\carp_abilities.dm" #include "code\modules\mob\living\basic\space_fauna\carp\carp_ai_actions.dm" @@ -3989,6 +4461,16 @@ #include "code\modules\mob\living\basic\space_fauna\carp\carp_controllers.dm" #include "code\modules\mob\living\basic\space_fauna\carp\magicarp.dm" #include "code\modules\mob\living\basic\space_fauna\carp\megacarp.dm" +#include "code\modules\mob\living\basic\space_fauna\demon\demon.dm" +#include "code\modules\mob\living\basic\space_fauna\demon\demon_items.dm" +#include "code\modules\mob\living\basic\space_fauna\demon\demon_subtypes.dm" +#include "code\modules\mob\living\basic\space_fauna\eyeball\_eyeball.dm" +#include "code\modules\mob\living\basic\space_fauna\eyeball\eyeball_ability.dm" +#include "code\modules\mob\living\basic\space_fauna\eyeball\eyeball_ai_behavior.dm" +#include "code\modules\mob\living\basic\space_fauna\eyeball\eyeball_ai_subtree.dm" +#include "code\modules\mob\living\basic\space_fauna\hivebot\_hivebot.dm" +#include "code\modules\mob\living\basic\space_fauna\hivebot\hivebot_behavior.dm" +#include "code\modules\mob\living\basic\space_fauna\hivebot\hivebot_subtree.dm" #include "code\modules\mob\living\basic\space_fauna\meteor_heart\chasing_spikes.dm" #include "code\modules\mob\living\basic\space_fauna\meteor_heart\meteor_eyeball.dm" #include "code\modules\mob\living\basic\space_fauna\meteor_heart\meteor_heart.dm" @@ -3997,10 +4479,17 @@ #include "code\modules\mob\living\basic\space_fauna\netherworld\blankbody.dm" #include "code\modules\mob\living\basic\space_fauna\netherworld\creature.dm" #include "code\modules\mob\living\basic\space_fauna\netherworld\migo.dm" -#include "code\modules\mob\living\basic\space_fauna\spider\giant_spider\giant_spider.dm" +#include "code\modules\mob\living\basic\space_fauna\paper_wizard\paper_abilities.dm" +#include "code\modules\mob\living\basic\space_fauna\paper_wizard\paper_wizard.dm" +#include "code\modules\mob\living\basic\space_fauna\regal_rat\regal_rat.dm" +#include "code\modules\mob\living\basic\space_fauna\regal_rat\regal_rat_actions.dm" +#include "code\modules\mob\living\basic\space_fauna\regal_rat\regal_rat_ai.dm" +#include "code\modules\mob\living\basic\space_fauna\snake\snake.dm" +#include "code\modules\mob\living\basic\space_fauna\snake\snake_ai.dm" +#include "code\modules\mob\living\basic\space_fauna\spider\spider.dm" #include "code\modules\mob\living\basic\space_fauna\spider\giant_spider\giant_spider_ai.dm" #include "code\modules\mob\living\basic\space_fauna\spider\giant_spider\giant_spider_subtrees.dm" -#include "code\modules\mob\living\basic\space_fauna\spider\giant_spider\giant_spider_variants.dm" +#include "code\modules\mob\living\basic\space_fauna\spider\giant_spider\giant_spiders.dm" #include "code\modules\mob\living\basic\space_fauna\spider\spider_abilities\hivemind.dm" #include "code\modules\mob\living\basic\space_fauna\spider\spider_abilities\lay_eggs.dm" #include "code\modules\mob\living\basic\space_fauna\spider\spider_abilities\web.dm" @@ -4008,6 +4497,8 @@ #include "code\modules\mob\living\basic\space_fauna\spider\spider_abilities\wrap.dm" #include "code\modules\mob\living\basic\space_fauna\spider\spiderlings\spiderling.dm" #include "code\modules\mob\living\basic\space_fauna\spider\spiderlings\spiderling_subtypes.dm" +#include "code\modules\mob\living\basic\space_fauna\spider\young_spider\young_spider.dm" +#include "code\modules\mob\living\basic\space_fauna\spider\young_spider\young_spider_subtypes.dm" #include "code\modules\mob\living\basic\space_fauna\statue\statue.dm" #include "code\modules\mob\living\basic\space_fauna\wumborian_fugu\fugu_gland.dm" #include "code\modules\mob\living\basic\space_fauna\wumborian_fugu\inflation.dm" @@ -4019,6 +4510,7 @@ #include "code\modules\mob\living\basic\vermin\axolotl.dm" #include "code\modules\mob\living\basic\vermin\butterfly.dm" #include "code\modules\mob\living\basic\vermin\cockroach.dm" +#include "code\modules\mob\living\basic\vermin\crab.dm" #include "code\modules\mob\living\basic\vermin\frog.dm" #include "code\modules\mob\living\basic\vermin\lizard.dm" #include "code\modules\mob\living\basic\vermin\mothroach.dm" @@ -4082,6 +4574,7 @@ #include "code\modules\mob\living\carbon\alien\larva\powers.dm" #include "code\modules\mob\living\carbon\alien\special\alien_embryo.dm" #include "code\modules\mob\living\carbon\alien\special\facehugger.dm" +#include "code\modules\mob\living\carbon\human\_species.dm" #include "code\modules\mob\living\carbon\human\damage_procs.dm" #include "code\modules\mob\living\carbon\human\death.dm" #include "code\modules\mob\living\carbon\human\dummy.dm" @@ -4101,11 +4594,10 @@ #include "code\modules\mob\living\carbon\human\inventory.dm" #include "code\modules\mob\living\carbon\human\life.dm" #include "code\modules\mob\living\carbon\human\login.dm" +#include "code\modules\mob\living\carbon\human\monkey.dm" #include "code\modules\mob\living\carbon\human\physiology.dm" -#include "code\modules\mob\living\carbon\human\species.dm" #include "code\modules\mob\living\carbon\human\status_procs.dm" #include "code\modules\mob\living\carbon\human\suicides.dm" -#include "code\modules\mob\living\carbon\human\monkey\monkey.dm" #include "code\modules\mob\living\carbon\human\species_types\abductors.dm" #include "code\modules\mob\living\carbon\human\species_types\abominations.dm" #include "code\modules\mob\living\carbon\human\species_types\android.dm" @@ -4136,6 +4628,7 @@ #include "code\modules\mob\living\silicon\silicon_defense.dm" #include "code\modules\mob\living\silicon\silicon_movement.dm" #include "code\modules\mob\living\silicon\silicon_say.dm" +#include "code\modules\mob\living\silicon\ai\_preferences.dm" #include "code\modules\mob\living\silicon\ai\ai.dm" #include "code\modules\mob\living\silicon\ai\ai_defense.dm" #include "code\modules\mob\living\silicon\ai\ai_portrait_picker.dm" @@ -4173,6 +4666,7 @@ #include "code\modules\mob\living\simple_animal\shade.dm" #include "code\modules\mob\living\simple_animal\simple_animal.dm" #include "code\modules\mob\living\simple_animal\bot\bot.dm" +#include "code\modules\mob\living\simple_animal\bot\bot_announcement.dm" #include "code\modules\mob\living\simple_animal\bot\cleanbot.dm" #include "code\modules\mob\living\simple_animal\bot\construction.dm" #include "code\modules\mob\living\simple_animal\bot\ed209bot.dm" @@ -4186,14 +4680,8 @@ #include "code\modules\mob\living\simple_animal\bot\SuperBeepsky.dm" #include "code\modules\mob\living\simple_animal\bot\vibebot.dm" #include "code\modules\mob\living\simple_animal\friendly\cat.dm" -#include "code\modules\mob\living\simple_animal\friendly\crab.dm" -#include "code\modules\mob\living\simple_animal\friendly\farm_animals.dm" -#include "code\modules\mob\living\simple_animal\friendly\fox.dm" #include "code\modules\mob\living\simple_animal\friendly\gondola.dm" -#include "code\modules\mob\living\simple_animal\friendly\penguin.dm" #include "code\modules\mob\living\simple_animal\friendly\pet.dm" -#include "code\modules\mob\living\simple_animal\friendly\robot_customer.dm" -#include "code\modules\mob\living\simple_animal\friendly\sloth.dm" #include "code\modules\mob\living\simple_animal\friendly\drone\_drone.dm" #include "code\modules\mob\living\simple_animal\friendly\drone\drone_say.dm" #include "code\modules\mob\living\simple_animal\friendly\drone\drone_tools.dm" @@ -4217,34 +4705,19 @@ #include "code\modules\mob\living\simple_animal\guardian\types\standard.dm" #include "code\modules\mob\living\simple_animal\guardian\types\support.dm" #include "code\modules\mob\living\simple_animal\hostile\alien.dm" -#include "code\modules\mob\living\simple_animal\hostile\bear.dm" -#include "code\modules\mob\living\simple_animal\hostile\bees.dm" -#include "code\modules\mob\living\simple_animal\hostile\blob.dm" -#include "code\modules\mob\living\simple_animal\hostile\blobbernaut.dm" -#include "code\modules\mob\living\simple_animal\hostile\blobspore.dm" #include "code\modules\mob\living\simple_animal\hostile\dark_wizard.dm" -#include "code\modules\mob\living\simple_animal\hostile\eyeballs.dm" -#include "code\modules\mob\living\simple_animal\hostile\heretic_monsters.dm" -#include "code\modules\mob\living\simple_animal\hostile\hivebot.dm" #include "code\modules\mob\living\simple_animal\hostile\hostile.dm" #include "code\modules\mob\living\simple_animal\hostile\illusion.dm" #include "code\modules\mob\living\simple_animal\hostile\mimic.dm" -#include "code\modules\mob\living\simple_animal\hostile\morph.dm" -#include "code\modules\mob\living\simple_animal\hostile\mushroom.dm" #include "code\modules\mob\living\simple_animal\hostile\nanotrasen.dm" #include "code\modules\mob\living\simple_animal\hostile\ooze.dm" #include "code\modules\mob\living\simple_animal\hostile\pirate.dm" -#include "code\modules\mob\living\simple_animal\hostile\regalrat.dm" #include "code\modules\mob\living\simple_animal\hostile\skeleton.dm" -#include "code\modules\mob\living\simple_animal\hostile\slaughter_demon.dm" -#include "code\modules\mob\living\simple_animal\hostile\smspider.dm" #include "code\modules\mob\living\simple_animal\hostile\space_dragon.dm" #include "code\modules\mob\living\simple_animal\hostile\vatbeast.dm" #include "code\modules\mob\living\simple_animal\hostile\venus_human_trap.dm" #include "code\modules\mob\living\simple_animal\hostile\wizard.dm" #include "code\modules\mob\living\simple_animal\hostile\zombie.dm" -#include "code\modules\mob\living\simple_animal\hostile\bosses\boss.dm" -#include "code\modules\mob\living\simple_animal\hostile\bosses\paperwizard.dm" #include "code\modules\mob\living\simple_animal\hostile\constructs\artificer.dm" #include "code\modules\mob\living\simple_animal\hostile\constructs\constructs.dm" #include "code\modules\mob\living\simple_animal\hostile\constructs\harvester.dm" @@ -4255,9 +4728,7 @@ #include "code\modules\mob\living\simple_animal\hostile\gorilla\visuals_icons.dm" #include "code\modules\mob\living\simple_animal\hostile\jungle\_jungle_mobs.dm" #include "code\modules\mob\living\simple_animal\hostile\jungle\leaper.dm" -#include "code\modules\mob\living\simple_animal\hostile\jungle\mega_arachnid.dm" #include "code\modules\mob\living\simple_animal\hostile\jungle\mook.dm" -#include "code\modules\mob\living\simple_animal\hostile\jungle\seedling.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\_megafauna.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\blood_drunk_miner.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\bubblegum.dm" @@ -4268,16 +4739,9 @@ #include "code\modules\mob\living\simple_animal\hostile\megafauna\hierophant.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\legion.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\wendigo.dm" -#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\basilisk.dm" -#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\brimdemon.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\curse_blob.dm" -#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\goldgrub.dm" -#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\goliath.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\gutlunch.dm" -#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\hivelord.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\ice_demon.dm" -#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\ice_whelp.dm" -#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\lobstrosity.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\mining_mobs.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\polarbear.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\wolf.dm" @@ -4286,10 +4750,8 @@ #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\elites\herald.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\elites\legionnaire.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\elites\pandora.dm" -#include "code\modules\mob\living\simple_animal\hostile\retaliate\clown.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\goose.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\retaliate.dm" -#include "code\modules\mob\living\simple_animal\hostile\retaliate\snake.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\trader.dm" #include "code\modules\mob\living\simple_animal\slime\death.dm" #include "code\modules\mob\living\simple_animal\slime\emote.dm" @@ -4306,6 +4768,7 @@ #include "code\modules\mob_spawn\corpses\nonhuman_corpses.dm" #include "code\modules\mob_spawn\corpses\species_corpses.dm" #include "code\modules\mob_spawn\ghost_roles\away_roles.dm" +#include "code\modules\mob_spawn\ghost_roles\drone_roles.dm" #include "code\modules\mob_spawn\ghost_roles\fugitive_hunter_roles.dm" #include "code\modules\mob_spawn\ghost_roles\golem_roles.dm" #include "code\modules\mob_spawn\ghost_roles\mining_roles.dm" @@ -4320,6 +4783,7 @@ #include "code\modules\mod\mod_construction.dm" #include "code\modules\mod\mod_control.dm" #include "code\modules\mod\mod_core.dm" +#include "code\modules\mod\mod_link.dm" #include "code\modules\mod\mod_paint.dm" #include "code\modules\mod\mod_theme.dm" #include "code\modules\mod\mod_types.dm" @@ -4339,7 +4803,6 @@ #include "code\modules\mod\modules\modules_supply.dm" #include "code\modules\mod\modules\modules_timeline.dm" #include "code\modules\mod\modules\modules_visor.dm" -#include "code\modules\modular_computers\laptop_vendor.dm" #include "code\modules\modular_computers\computers\item\computer.dm" #include "code\modules\modular_computers\computers\item\computer_files.dm" #include "code\modules\modular_computers\computers\item\computer_power.dm" @@ -4352,12 +4815,13 @@ #include "code\modules\modular_computers\computers\item\disks\computer_disk.dm" #include "code\modules\modular_computers\computers\item\disks\maintenance_disks.dm" #include "code\modules\modular_computers\computers\item\disks\role_disks.dm" +#include "code\modules\modular_computers\computers\item\disks\unique_disks.dm" #include "code\modules\modular_computers\computers\item\disks\virus_disk.dm" #include "code\modules\modular_computers\computers\machinery\console_presets.dm" #include "code\modules\modular_computers\computers\machinery\modular_computer.dm" -#include "code\modules\modular_computers\computers\machinery\modular_console.dm" #include "code\modules\modular_computers\file_system\computer_file.dm" #include "code\modules\modular_computers\file_system\data.dm" +#include "code\modules\modular_computers\file_system\picture_file.dm" #include "code\modules\modular_computers\file_system\program.dm" #include "code\modules\modular_computers\file_system\programs\airestorer.dm" #include "code\modules\modular_computers\file_system\programs\alarm.dm" @@ -4377,7 +4841,6 @@ #include "code\modules\modular_computers\file_system\programs\notepad.dm" #include "code\modules\modular_computers\file_system\programs\nt_pay.dm" #include "code\modules\modular_computers\file_system\programs\ntdownloader.dm" -#include "code\modules\modular_computers\file_system\programs\ntmessenger.dm" #include "code\modules\modular_computers\file_system\programs\ntnrc_client.dm" #include "code\modules\modular_computers\file_system\programs\portrait_printer.dm" #include "code\modules\modular_computers\file_system\programs\powermonitor.dm" @@ -4400,6 +4863,8 @@ #include "code\modules\modular_computers\file_system\programs\maintenance\modsuit.dm" #include "code\modules\modular_computers\file_system\programs\maintenance\phys_scanner.dm" #include "code\modules\modular_computers\file_system\programs\maintenance\themes.dm" +#include "code\modules\modular_computers\file_system\programs\messenger\messenger_data.dm" +#include "code\modules\modular_computers\file_system\programs\messenger\messenger_program.dm" #include "code\modules\modular_computers\NTNet\NTNRC\conversation.dm" #include "code\modules\movespeed\_movespeed_modifier.dm" #include "code\modules\movespeed\modifiers\components.dm" @@ -4541,18 +5006,16 @@ #include "code\modules\projectiles\projectile.dm" #include "code\modules\projectiles\ammunition\_ammunition.dm" #include "code\modules\projectiles\ammunition\_firing.dm" +#include "code\modules\projectiles\ammunition\ballistic\foam.dm" +#include "code\modules\projectiles\ammunition\ballistic\harpoon.dm" #include "code\modules\projectiles\ammunition\ballistic\lmg.dm" #include "code\modules\projectiles\ammunition\ballistic\pistol.dm" #include "code\modules\projectiles\ammunition\ballistic\revolver.dm" #include "code\modules\projectiles\ammunition\ballistic\rifle.dm" +#include "code\modules\projectiles\ammunition\ballistic\rocket.dm" #include "code\modules\projectiles\ammunition\ballistic\shotgun.dm" #include "code\modules\projectiles\ammunition\ballistic\smg.dm" #include "code\modules\projectiles\ammunition\ballistic\sniper.dm" -#include "code\modules\projectiles\ammunition\caseless\_caseless.dm" -#include "code\modules\projectiles\ammunition\caseless\energy.dm" -#include "code\modules\projectiles\ammunition\caseless\foam.dm" -#include "code\modules\projectiles\ammunition\caseless\harpoon.dm" -#include "code\modules\projectiles\ammunition\caseless\rocket.dm" #include "code\modules\projectiles\ammunition\energy\_energy.dm" #include "code\modules\projectiles\ammunition\energy\ebow.dm" #include "code\modules\projectiles\ammunition\energy\gravity.dm" @@ -4598,6 +5061,7 @@ #include "code\modules\projectiles\guns\ballistic\bows\bow_quivers.dm" #include "code\modules\projectiles\guns\ballistic\bows\bow_types.dm" #include "code\modules\projectiles\guns\energy\beam_rifle.dm" +#include "code\modules\projectiles\guns\energy\crank_guns.dm" #include "code\modules\projectiles\guns\energy\dueling.dm" #include "code\modules\projectiles\guns\energy\energy_gun.dm" #include "code\modules\projectiles\guns\energy\kinetic_accelerator.dm" @@ -4608,11 +5072,13 @@ #include "code\modules\projectiles\guns\energy\recharge.dm" #include "code\modules\projectiles\guns\energy\special.dm" #include "code\modules\projectiles\guns\energy\stun.dm" +#include "code\modules\projectiles\guns\magic\arcane_barrage.dm" #include "code\modules\projectiles\guns\magic\staff.dm" #include "code\modules\projectiles\guns\magic\wand.dm" #include "code\modules\projectiles\guns\special\blastcannon.dm" #include "code\modules\projectiles\guns\special\chem_gun.dm" #include "code\modules\projectiles\guns\special\grenade_launcher.dm" +#include "code\modules\projectiles\guns\special\hand_of_midas.dm" #include "code\modules\projectiles\guns\special\meat_hook.dm" #include "code\modules\projectiles\guns\special\medbeam.dm" #include "code\modules\projectiles\guns\special\syringe_gun.dm" @@ -4623,6 +5089,7 @@ #include "code\modules\projectiles\projectile\bullets\cannonball.dm" #include "code\modules\projectiles\projectile\bullets\dart_syringe.dm" #include "code\modules\projectiles\projectile\bullets\dnainjector.dm" +#include "code\modules\projectiles\projectile\bullets\foam_dart.dm" #include "code\modules\projectiles\projectile\bullets\grenade.dm" #include "code\modules\projectiles\projectile\bullets\lmg.dm" #include "code\modules\projectiles\projectile\bullets\pistol.dm" @@ -4642,12 +5109,11 @@ #include "code\modules\projectiles\projectile\energy\stun.dm" #include "code\modules\projectiles\projectile\energy\tesla.dm" #include "code\modules\projectiles\projectile\energy\thermal.dm" -#include "code\modules\projectiles\projectile\reusable\_reusable.dm" -#include "code\modules\projectiles\projectile\reusable\foam_dart.dm" #include "code\modules\projectiles\projectile\special\curse.dm" #include "code\modules\projectiles\projectile\special\floral.dm" #include "code\modules\projectiles\projectile\special\gravity.dm" #include "code\modules\projectiles\projectile\special\ion.dm" +#include "code\modules\projectiles\projectile\special\lightbreaker.dm" #include "code\modules\projectiles\projectile\special\meteor.dm" #include "code\modules\projectiles\projectile\special\mindflayer.dm" #include "code\modules\projectiles\projectile\special\neurotoxin.dm" @@ -4675,11 +5141,9 @@ #include "code\modules\reagents\chemistry\machinery\pandemic.dm" #include "code\modules\reagents\chemistry\machinery\reagentgrinder.dm" #include "code\modules\reagents\chemistry\machinery\smoke_machine.dm" -#include "code\modules\reagents\chemistry\reagents\alcohol_reagents.dm" #include "code\modules\reagents\chemistry\reagents\atmos_gas_reagents.dm" #include "code\modules\reagents\chemistry\reagents\cat2_medicine_reagents.dm" #include "code\modules\reagents\chemistry\reagents\catalyst_reagents.dm" -#include "code\modules\reagents\chemistry\reagents\drink_reagents.dm" #include "code\modules\reagents\chemistry\reagents\drug_reagents.dm" #include "code\modules\reagents\chemistry\reagents\food_reagents.dm" #include "code\modules\reagents\chemistry\reagents\impure_reagents.dm" @@ -4688,6 +5152,16 @@ #include "code\modules\reagents\chemistry\reagents\pyrotechnic_reagents.dm" #include "code\modules\reagents\chemistry\reagents\reaction_agents_reagents.dm" #include "code\modules\reagents\chemistry\reagents\toxin_reagents.dm" +#include "code\modules\reagents\chemistry\reagents\drinks\alcohol_reagents.dm" +#include "code\modules\reagents\chemistry\reagents\drinks\drink_reagents.dm" +#include "code\modules\reagents\chemistry\reagents\drinks\glass_styles\alcohol.dm" +#include "code\modules\reagents\chemistry\reagents\drinks\glass_styles\coffee_tea.dm" +#include "code\modules\reagents\chemistry\reagents\drinks\glass_styles\dairy.dm" +#include "code\modules\reagents\chemistry\reagents\drinks\glass_styles\juices.dm" +#include "code\modules\reagents\chemistry\reagents\drinks\glass_styles\mixed_alcohol.dm" +#include "code\modules\reagents\chemistry\reagents\drinks\glass_styles\mixed_drinks.dm" +#include "code\modules\reagents\chemistry\reagents\drinks\glass_styles\smoothies_shakes.dm" +#include "code\modules\reagents\chemistry\reagents\drinks\glass_styles\sodas.dm" #include "code\modules\reagents\chemistry\reagents\impure_reagents\impure_medicine_reagents.dm" #include "code\modules\reagents\chemistry\reagents\impure_reagents\impure_toxin_reagents.dm" #include "code\modules\reagents\chemistry\reagents\unique\eigenstasium.dm" @@ -4746,7 +5220,6 @@ #include "code\modules\religion\sparring\sparring_datum.dm" #include "code\modules\requests\request.dm" #include "code\modules\requests\request_manager.dm" -#include "code\modules\research\bepis.dm" #include "code\modules\research\designs.dm" #include "code\modules\research\destructive_analyzer.dm" #include "code\modules\research\experimentor.dm" @@ -4856,6 +5329,11 @@ #include "code\modules\shuttle\supply.dm" #include "code\modules\shuttle\syndicate.dm" #include "code\modules\shuttle\white_ship.dm" +#include "code\modules\shuttle\shuttle_events\_shuttle_events.dm" +#include "code\modules\shuttle\shuttle_events\carp.dm" +#include "code\modules\shuttle\shuttle_events\meteors.dm" +#include "code\modules\shuttle\shuttle_events\misc.dm" +#include "code\modules\shuttle\shuttle_events\player_controlled.dm" #include "code\modules\spatial_grid\cell_tracker.dm" #include "code\modules\spells\spell.dm" #include "code\modules\spells\spell_types\madness_curse.dm" @@ -4874,6 +5352,7 @@ #include "code\modules\spells\spell_types\conjure\_conjure.dm" #include "code\modules\spells\spell_types\conjure\bees.dm" #include "code\modules\spells\spell_types\conjure\carp.dm" +#include "code\modules\spells\spell_types\conjure\cheese.dm" #include "code\modules\spells\spell_types\conjure\constructs.dm" #include "code\modules\spells\spell_types\conjure\creatures.dm" #include "code\modules\spells\spell_types\conjure\cult_turfs.dm" @@ -4882,6 +5361,7 @@ #include "code\modules\spells\spell_types\conjure\invisible_wall.dm" #include "code\modules\spells\spell_types\conjure\link_worlds.dm" #include "code\modules\spells\spell_types\conjure\presents.dm" +#include "code\modules\spells\spell_types\conjure\simian.dm" #include "code\modules\spells\spell_types\conjure\soulstone.dm" #include "code\modules\spells\spell_types\conjure\the_traps.dm" #include "code\modules\spells\spell_types\conjure_item\_conjure_item.dm" @@ -4954,8 +5434,8 @@ #include "code\modules\surgery\core_removal.dm" #include "code\modules\surgery\coronary_bypass.dm" #include "code\modules\surgery\dental_implant.dm" -#include "code\modules\surgery\dissection.dm" #include "code\modules\surgery\ear_surgery.dm" +#include "code\modules\surgery\experimental_dissection.dm" #include "code\modules\surgery\eye_surgery.dm" #include "code\modules\surgery\gastrectomy.dm" #include "code\modules\surgery\healing.dm" @@ -4994,8 +5474,8 @@ #include "code\modules\surgery\advanced\bioware\vein_threading.dm" #include "code\modules\surgery\bodyparts\_bodyparts.dm" #include "code\modules\surgery\bodyparts\dismemberment.dm" -#include "code\modules\surgery\bodyparts\hair.dm" #include "code\modules\surgery\bodyparts\head.dm" +#include "code\modules\surgery\bodyparts\head_hair_and_lips.dm" #include "code\modules\surgery\bodyparts\helpers.dm" #include "code\modules\surgery\bodyparts\parts.dm" #include "code\modules\surgery\bodyparts\robot_bodyparts.dm" @@ -5008,32 +5488,36 @@ #include "code\modules\surgery\bodyparts\species_parts\moth_bodyparts.dm" #include "code\modules\surgery\bodyparts\species_parts\plasmaman_bodyparts.dm" #include "code\modules\surgery\organs\_organ.dm" -#include "code\modules\surgery\organs\appendix.dm" -#include "code\modules\surgery\organs\appendix_golem.dm" -#include "code\modules\surgery\organs\augments_arms.dm" -#include "code\modules\surgery\organs\augments_chest.dm" -#include "code\modules\surgery\organs\augments_eyes.dm" -#include "code\modules\surgery\organs\augments_internal.dm" #include "code\modules\surgery\organs\autosurgeon.dm" -#include "code\modules\surgery\organs\ears.dm" -#include "code\modules\surgery\organs\eyes.dm" -#include "code\modules\surgery\organs\heart.dm" #include "code\modules\surgery\organs\helpers.dm" -#include "code\modules\surgery\organs\liver.dm" -#include "code\modules\surgery\organs\lungs.dm" -#include "code\modules\surgery\organs\organ_internal.dm" -#include "code\modules\surgery\organs\tongue.dm" -#include "code\modules\surgery\organs\vocal_cords.dm" -#include "code\modules\surgery\organs\external\_external_organs.dm" +#include "code\modules\surgery\organs\external\_external_organ.dm" #include "code\modules\surgery\organs\external\restyling.dm" #include "code\modules\surgery\organs\external\spines.dm" #include "code\modules\surgery\organs\external\tails.dm" #include "code\modules\surgery\organs\external\wings\functional_wings.dm" #include "code\modules\surgery\organs\external\wings\moth_wings.dm" #include "code\modules\surgery\organs\external\wings\wings.dm" -#include "code\modules\surgery\organs\stomach\_stomach.dm" -#include "code\modules\surgery\organs\stomach\stomach_ethereal.dm" -#include "code\modules\surgery\organs\stomach\stomach_golem.dm" +#include "code\modules\surgery\organs\internal\_internal_organ.dm" +#include "code\modules\surgery\organs\internal\appendix\_appendix.dm" +#include "code\modules\surgery\organs\internal\appendix\appendix_golem.dm" +#include "code\modules\surgery\organs\internal\cyberimp\augments_arms.dm" +#include "code\modules\surgery\organs\internal\cyberimp\augments_chest.dm" +#include "code\modules\surgery\organs\internal\cyberimp\augments_eyes.dm" +#include "code\modules\surgery\organs\internal\cyberimp\augments_internal.dm" +#include "code\modules\surgery\organs\internal\ears\_ears.dm" +#include "code\modules\surgery\organs\internal\eyes\_eyes.dm" +#include "code\modules\surgery\organs\internal\heart\_heart.dm" +#include "code\modules\surgery\organs\internal\heart\heart_ethereal.dm" +#include "code\modules\surgery\organs\internal\liver\_liver.dm" +#include "code\modules\surgery\organs\internal\liver\liver_golem.dm" +#include "code\modules\surgery\organs\internal\liver\liver_plasmaman.dm" +#include "code\modules\surgery\organs\internal\liver\liver_skeleton.dm" +#include "code\modules\surgery\organs\internal\lungs\_lungs.dm" +#include "code\modules\surgery\organs\internal\stomach\_stomach.dm" +#include "code\modules\surgery\organs\internal\stomach\stomach_ethereal.dm" +#include "code\modules\surgery\organs\internal\stomach\stomach_golem.dm" +#include "code\modules\surgery\organs\internal\tongue\_tongue.dm" +#include "code\modules\surgery\organs\internal\vocal_cords\_vocal_cords.dm" #include "code\modules\tgchat\message.dm" #include "code\modules\tgchat\to_chat.dm" #include "code\modules\tgs\includes.dm" @@ -5050,6 +5534,7 @@ #include "code\modules\tgui\states\deep_inventory.dm" #include "code\modules\tgui\states\default.dm" #include "code\modules\tgui\states\fun.dm" +#include "code\modules\tgui\states\greyscale_menu.dm" #include "code\modules\tgui\states\hands.dm" #include "code\modules\tgui\states\human_adjacent.dm" #include "code\modules\tgui\states\inventory.dm" @@ -5087,6 +5572,7 @@ #include "code\modules\uplink\uplink_items\ammunition.dm" #include "code\modules\uplink\uplink_items\badass.dm" #include "code\modules\uplink\uplink_items\bundle.dm" +#include "code\modules\uplink\uplink_items\clownops.dm" #include "code\modules\uplink\uplink_items\dangerous.dm" #include "code\modules\uplink\uplink_items\device_tools.dm" #include "code\modules\uplink\uplink_items\explosive.dm" @@ -5114,6 +5600,7 @@ #include "code\modules\vehicles\wheelchair.dm" #include "code\modules\vehicles\cars\car.dm" #include "code\modules\vehicles\cars\clowncar.dm" +#include "code\modules\vehicles\cars\speedwagon.dm" #include "code\modules\vehicles\cars\vim.dm" #include "code\modules\vehicles\mecha\_mecha.dm" #include "code\modules\vehicles\mecha\mech_bay.dm" @@ -5139,16 +5626,17 @@ #include "code\modules\vehicles\mecha\combat\reticence.dm" #include "code\modules\vehicles\mecha\combat\savannah_ivanov.dm" #include "code\modules\vehicles\mecha\equipment\mecha_equipment.dm" +#include "code\modules\vehicles\mecha\equipment\tools\air_tank.dm" #include "code\modules\vehicles\mecha\equipment\tools\medical_tools.dm" #include "code\modules\vehicles\mecha\equipment\tools\mining_tools.dm" #include "code\modules\vehicles\mecha\equipment\tools\other_tools.dm" +#include "code\modules\vehicles\mecha\equipment\tools\radio.dm" #include "code\modules\vehicles\mecha\equipment\tools\work_tools.dm" #include "code\modules\vehicles\mecha\equipment\weapons\mecha_ammo.dm" #include "code\modules\vehicles\mecha\equipment\weapons\weapons.dm" #include "code\modules\vehicles\mecha\medical\odysseus.dm" #include "code\modules\vehicles\mecha\working\clarke.dm" #include "code\modules\vehicles\mecha\working\ripley.dm" -#include "code\modules\vehicles\mecha\working\working.dm" #include "code\modules\vending\_vending.dm" #include "code\modules\vending\assist.dm" #include "code\modules\vending\autodrobe.dm" @@ -5172,6 +5660,7 @@ #include "code\modules\vending\nutrimax.dm" #include "code\modules\vending\plasmaresearch.dm" #include "code\modules\vending\robotics.dm" +#include "code\modules\vending\runic_vendor.dm" #include "code\modules\vending\security.dm" #include "code\modules\vending\snack.dm" #include "code\modules\vending\sovietsoda.dm" @@ -5180,6 +5669,7 @@ #include "code\modules\vending\wardrobes.dm" #include "code\modules\vending\youtool.dm" #include "code\modules\visuals\render_steps.dm" +#include "code\modules\wiremod\components\abstract\assoc_list_variable.dm" #include "code\modules\wiremod\components\abstract\compare.dm" #include "code\modules\wiremod\components\abstract\equpiment_action.dm" #include "code\modules\wiremod\components\abstract\list_variable.dm" @@ -5227,21 +5717,20 @@ #include "code\modules\wiremod\components\id\getter.dm" #include "code\modules\wiremod\components\id\info_reader.dm" #include "code\modules\wiremod\components\list\assoc_list_pick.dm" +#include "code\modules\wiremod\components\list\assoc_list_remove.dm" +#include "code\modules\wiremod\components\list\assoc_list_set.dm" #include "code\modules\wiremod\components\list\assoc_literal.dm" #include "code\modules\wiremod\components\list\concat.dm" #include "code\modules\wiremod\components\list\filter.dm" #include "code\modules\wiremod\components\list\foreach.dm" #include "code\modules\wiremod\components\list\format.dm" -#include "code\modules\wiremod\components\list\get_column.dm" #include "code\modules\wiremod\components\list\index.dm" -#include "code\modules\wiremod\components\list\index_table.dm" #include "code\modules\wiremod\components\list\list_add.dm" #include "code\modules\wiremod\components\list\list_clear.dm" -#include "code\modules\wiremod\components\list\list_in.dm" +#include "code\modules\wiremod\components\list\list_find.dm" #include "code\modules\wiremod\components\list\list_literal.dm" #include "code\modules\wiremod\components\list\list_pick.dm" #include "code\modules\wiremod\components\list\list_remove.dm" -#include "code\modules\wiremod\components\list\select.dm" #include "code\modules\wiremod\components\list\split.dm" #include "code\modules\wiremod\components\math\arithmetic.dm" #include "code\modules\wiremod\components\math\binary_conversion.dm" @@ -5262,6 +5751,9 @@ #include "code\modules\wiremod\components\string\textcase.dm" #include "code\modules\wiremod\components\string\tonumber.dm" #include "code\modules\wiremod\components\string\tostring.dm" +#include "code\modules\wiremod\components\table\get_column.dm" +#include "code\modules\wiremod\components\table\index_table.dm" +#include "code\modules\wiremod\components\table\select.dm" #include "code\modules\wiremod\components\utility\clock.dm" #include "code\modules\wiremod\components\utility\delay.dm" #include "code\modules\wiremod\components\utility\router.dm" @@ -5314,9 +5806,14 @@ #include "code\modules\zombie\items.dm" #include "code\modules\zombie\organs.dm" #include "code\ze_genesis_call\genesis_call.dm" -#include "interface\fonts.dm" #include "interface\interface.dm" #include "interface\menu.dm" #include "interface\stylesheet.dm" #include "interface\skin.dmf" +#include "interface\fonts\fonts_datum.dm" +#include "interface\fonts\grand_9k.dm" +#include "interface\fonts\pixellari.dm" +#include "interface\fonts\spess_font.dm" +#include "interface\fonts\tiny_unicode.dm" +#include "interface\fonts\vcr_osd_mono.dm" // END_INCLUDE diff --git a/tgui/packages/tgui-panel/chat/renderer.js b/tgui/packages/tgui-panel/chat/renderer.js index f7ce9277cf688..7a528cd4fd75b 100644 --- a/tgui/packages/tgui-panel/chat/renderer.js +++ b/tgui/packages/tgui-panel/chat/renderer.js @@ -193,6 +193,7 @@ class ChatRenderer { const matchWord = setting.matchWord; const matchCase = setting.matchCase; const allowedRegex = /^[a-z0-9_\-$/^[\s\]\\]+$/gi; + const regexEscapeCharacters = /[!#$%^&*)(+=.<>{}[\]:;'"|~`_\-\\/]/g; const lines = String(text) .split(',') .map((str) => str.trim()) @@ -228,19 +229,29 @@ class ChatRenderer { if (!highlightWords) { highlightWords = []; } + // We're not going to let regex characters fuck up our RegEx operation. + line = line.replace(regexEscapeCharacters, '\\$&'); + highlightWords.push(line); } } const regexStr = regexExpressions.join('|'); const flags = 'g' + (matchCase ? '' : 'i'); - // setting regex overrides matchword - if (regexStr) { - highlightRegex = new RegExp('(' + regexStr + ')', flags); - } else { - const pattern = `${matchWord ? '\\b' : ''}(${lines.join('|')})${ - matchWord ? '\\b' : '' - }`; - highlightRegex = new RegExp(pattern, flags); + // We wrap this in a try-catch to ensure that broken regex doesn't break + // the entire chat. + try { + // setting regex overrides matchword + if (regexStr) { + highlightRegex = new RegExp('(' + regexStr + ')', flags); + } else { + const pattern = `${matchWord ? '\\b' : ''}(${highlightWords.join( + '|' + )})${matchWord ? '\\b' : ''}`; + highlightRegex = new RegExp(pattern, flags); + } + } catch { + // We just reset it if it's invalid. + highlightRegex = null; } // Lazy init if (!this.highlightParsers) { diff --git a/tgui/packages/tgui-panel/settings/middleware.js b/tgui/packages/tgui-panel/settings/middleware.js index 705d7a89f3b4a..cef082213db6f 100644 --- a/tgui/packages/tgui-panel/settings/middleware.js +++ b/tgui/packages/tgui-panel/settings/middleware.js @@ -10,16 +10,39 @@ import { loadSettings, updateSettings, addHighlightSetting, removeHighlightSetti import { selectSettings } from './selectors'; import { FONTS_DISABLED } from './constants'; +let overrideRule = null; +let overrideFontFamily = null; +let overrideFontSize = null; + +const updateGlobalOverrideRule = () => { + let fontFamily = ''; + + if (overrideFontFamily !== null) { + fontFamily = `font-family: ${overrideFontFamily} !important;`; + } + + const constructedRule = `body * :not(.Icon) { + ${fontFamily} + }`; + + if (overrideRule === null) { + overrideRule = document.createElement('style'); + document.querySelector('head').append(overrideRule); + } + + // no other way to force a CSS refresh other than to update its innerText + overrideRule.innerText = constructedRule; + + document.body.style.setProperty('font-size', overrideFontSize); +}; + const setGlobalFontSize = (fontSize) => { - document.documentElement.style.setProperty('font-size', fontSize + 'px'); - document.body.style.setProperty('font-size', fontSize + 'px'); + overrideFontSize = `${fontSize}px`; }; const setGlobalFontFamily = (fontFamily) => { if (fontFamily === FONTS_DISABLED) fontFamily = null; - - document.documentElement.style.setProperty('font-family', fontFamily); - document.body.style.setProperty('font-family', fontFamily); + overrideFontFamily = fontFamily; }; export const settingsMiddleware = (store) => { @@ -50,6 +73,7 @@ export const settingsMiddleware = (store) => { // Update global UI font size setGlobalFontSize(settings.fontSize); setGlobalFontFamily(settings.fontFamily); + updateGlobalOverrideRule(); // Save settings to the web storage storage.set('panel-settings', settings); return; diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss index 9e7b190f99c6c..09d6c93f4974b 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss @@ -534,6 +534,10 @@ em { } .blob { + color: #ee4000; +} + +.blobannounce { color: #556b2f; font-weight: bold; font-size: 185%; @@ -854,6 +858,15 @@ em { color: #298f85; } +.upside_down { + display: inline; + -moz-transform: scale(-1, -1); + -webkit-transform: scale(-1, -1); + -o-transform: scale(-1, -1); + -ms-transform: scale(-1, -1); + transform: scale(-1, -1); +} + .connectionClosed, .fatalError { background: red; diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss index c55ba0a060b45..60654f76e967c 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss @@ -593,6 +593,10 @@ h2.alert { } .blob { + color: #ee4000; +} + +.blobannounce { color: #323f1c; font-weight: bold; font-size: 185%; @@ -886,6 +890,15 @@ h2.alert { color: #298f85; } +.upside_down { + display: inline; + -moz-transform: scale(-1, -1); + -webkit-transform: scale(-1, -1); + -o-transform: scale(-1, -1); + -ms-transform: scale(-1, -1); + transform: scale(-1, -1); +} + .connectionClosed, .fatalError { background: red; diff --git a/tgui/packages/tgui/backend.ts b/tgui/packages/tgui/backend.ts index fb77a61e3cda4..dd4cae9e62279 100644 --- a/tgui/packages/tgui/backend.ts +++ b/tgui/packages/tgui/backend.ts @@ -146,6 +146,14 @@ export const backendMiddleware = (store) => { globalEvents.emit('byond/mouseup'); } + if (type === 'byond/ctrldown') { + globalEvents.emit('byond/ctrldown'); + } + + if (type === 'byond/ctrlup') { + globalEvents.emit('byond/ctrlup'); + } + if (type === 'backend/suspendStart' && !suspendInterval) { logger.log(`suspending (${Byond.windowId})`); // Keep sending suspend messages until it succeeds. diff --git a/tgui/packages/tgui/interfaces/AccountingConsole.tsx b/tgui/packages/tgui/interfaces/AccountingConsole.tsx index ad1aa05e0b508..25cc40cd8a33e 100644 --- a/tgui/packages/tgui/interfaces/AccountingConsole.tsx +++ b/tgui/packages/tgui/interfaces/AccountingConsole.tsx @@ -1,4 +1,4 @@ -import { BlockQuote, Collapsible, LabeledList, Modal, Section, Stack, Tabs } from '../components'; +import { BlockQuote, Collapsible, Modal, Section, Stack, Tabs } from '../components'; import { useBackend } from '../backend'; import { useLocalState } from '../backend'; import { Window } from '../layouts'; @@ -73,18 +73,20 @@ const UsersScreen = (props, context) => { return (+++ {account.balance} credit balance + ++ Employee has {account.modifier * 100}% pay modifier + +
{'Except where otherwise noted, Goon Station 13 is licensed under a '}
diff --git a/tgui/packages/tgui/interfaces/ChemMixingChamber.js b/tgui/packages/tgui/interfaces/ChemMixingChamber.js
deleted file mode 100644
index eeffd351387c7..0000000000000
--- a/tgui/packages/tgui/interfaces/ChemMixingChamber.js
+++ /dev/null
@@ -1,157 +0,0 @@
-import { useBackend, useLocalState } from '../backend';
-import { AnimatedNumber, Box, Button, Input, NumberInput, Section, Stack } from '../components';
-import { Window } from '../layouts';
-import { round, toFixed } from 'common/math';
-
-export const ChemMixingChamber = (props, context) => {
- const { act, data } = useBackend(context);
-
- const [reagentName, setReagentName] = useLocalState(
- context,
- 'reagentName',
- ''
- );
- const [reagentQuantity, setReagentQuantity] = useLocalState(
- context,
- 'reagentQuantity',
- 1
- );
-
- const { emptying, temperature, ph, targetTemp, isReacting } = data;
- const reagents = data.reagents || [];
- return (
-