From 60ddbd4d1f17b0adef4c1023877a74b753b43dcc Mon Sep 17 00:00:00 2001 From: Birdtalon Date: Wed, 20 Dec 2023 12:02:58 +0000 Subject: [PATCH 01/54] Fixes lurker tail stab over ledges and window frames (#5160) # About the pull request Fixes lurker tail stab not being usable over window frames and ledges. # Explain why it's good for the game # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: fix: Lurker can tail jab over ledges and window frames. /:cl: --- .../living/carbon/xenomorph/abilities/lurker/lurker_powers.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm index 69f869387068..4ec301a17819 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm @@ -208,7 +208,7 @@ xeno.visible_message(SPAN_XENOWARNING("\The [xeno] strikes the window with their tail!"), SPAN_XENOWARNING("We strike the window with our tail!")) apply_cooldown(cooldown_modifier = 0.5) return - if(current_structure.density) + if(current_structure.density && !current_structure.throwpass) to_chat(xeno, SPAN_WARNING("There's something blocking us from striking!")) return From 7917dec240aaeb8085877e55f009d17d8e07069a Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Wed, 20 Dec 2023 12:14:59 +0000 Subject: [PATCH 02/54] Automatic changelog for PR #5160 [ci skip] --- html/changelogs/AutoChangeLog-pr-5160.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5160.yml diff --git a/html/changelogs/AutoChangeLog-pr-5160.yml b/html/changelogs/AutoChangeLog-pr-5160.yml new file mode 100644 index 000000000000..730a2bc41181 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5160.yml @@ -0,0 +1,4 @@ +author: "Birdtalon" +delete-after: True +changes: + - bugfix: "Lurker can tail jab over ledges and window frames." \ No newline at end of file From 4a29849b40aa24457f77034bd345016f597158e2 Mon Sep 17 00:00:00 2001 From: Drathek <76988376+Drulikar@users.noreply.github.com> Date: Wed, 20 Dec 2023 06:12:28 -0800 Subject: [PATCH 03/54] Update weeded warrior sprites (#5250) # About the pull request This PR is a followup to #5214 to fix the weeded warrior sprites that didn't get updated. # Explain why it's good for the game Fixes this: ![image](https://github.com/cmss13-devs/cmss13/assets/76988376/78a98ca3-7d6d-4a5d-a57a-e67e69e6ee58) # Testing Photographs and Procedure ![warrior](https://github.com/cmss13-devs/cmss13/assets/76988376/f7b7f547-66c0-447a-b290-c37b96f67f2b) # Changelog :cl: Drathek imageadd: Update weeded warrior sprites to be compatible with knight strain sprite /:cl: --- icons/mob/xenos/weeds_64x64.dmi | Bin 28551 -> 32998 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/xenos/weeds_64x64.dmi b/icons/mob/xenos/weeds_64x64.dmi index 43d92fc4a8ac5403159d8cdbba093b3916f4f8b5..26a31eb0fc607feebfb0992994b8cfe308a8cc54 100644 GIT binary patch literal 32998 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 literal 28551 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

lZh~wu;FK4 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 B`cnV^ From f94b1387dac12e62d722b1ce926692ee79fa59d6 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Wed, 20 Dec 2023 14:23:14 +0000 Subject: [PATCH 04/54] Automatic changelog for PR #5250 [ci skip] --- html/changelogs/AutoChangeLog-pr-5250.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5250.yml diff --git a/html/changelogs/AutoChangeLog-pr-5250.yml b/html/changelogs/AutoChangeLog-pr-5250.yml new file mode 100644 index 000000000000..a2229e1fa453 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5250.yml @@ -0,0 +1,4 @@ +author: "Drathek" +delete-after: True +changes: + - imageadd: "Update weeded warrior sprites to be compatible with knight strain sprite" \ No newline at end of file From 72282fbe47e217181c185f2de52ab898db22df1f Mon Sep 17 00:00:00 2001 From: Drathek <76988376+Drulikar@users.noreply.github.com> Date: Wed, 20 Dec 2023 06:18:15 -0800 Subject: [PATCH 05/54] Eslint Setting Change (#5256) # About the pull request This is merely to address VSC's ESlint extension being so aggressive about forcing this setting change. # Explain why it's good for the game N/A # Testing Photographs and Procedure N/A # Changelog No player facing changes. --- .vscode/settings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 201562aaf7c7..c7b218b77591 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -9,7 +9,7 @@ "**/.pnp.*": true }, "editor.codeActionsOnSave": { - "source.fixAll.eslint": true + "source.fixAll.eslint": "explicit" }, "files.eol": "\n", "files.insertFinalNewline": true, From 06af79c1f5d029c22b503b2fb4f02933b75d6784 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 21 Dec 2023 01:10:22 +0000 Subject: [PATCH 06/54] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-5160.yml | 4 ---- html/changelogs/AutoChangeLog-pr-5250.yml | 4 ---- html/changelogs/archive/2023-12.yml | 5 +++++ 3 files changed, 5 insertions(+), 8 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-5160.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5250.yml diff --git a/html/changelogs/AutoChangeLog-pr-5160.yml b/html/changelogs/AutoChangeLog-pr-5160.yml deleted file mode 100644 index 730a2bc41181..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5160.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Birdtalon" -delete-after: True -changes: - - bugfix: "Lurker can tail jab over ledges and window frames." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5250.yml b/html/changelogs/AutoChangeLog-pr-5250.yml deleted file mode 100644 index a2229e1fa453..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5250.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Drathek" -delete-after: True -changes: - - imageadd: "Update weeded warrior sprites to be compatible with knight strain sprite" \ No newline at end of file diff --git a/html/changelogs/archive/2023-12.yml b/html/changelogs/archive/2023-12.yml index b0bde6fe0753..2e420ea0d778 100644 --- a/html/changelogs/archive/2023-12.yml +++ b/html/changelogs/archive/2023-12.yml @@ -403,3 +403,8 @@ realforest2001: - maptweak: Various doors around the Almayer will now close their opposites for better security. +2023-12-21: + Birdtalon: + - bugfix: Lurker can tail jab over ledges and window frames. + Drathek: + - imageadd: Update weeded warrior sprites to be compatible with knight strain sprite From 5057f4e286e1ede1e3d850254c9cf63fb3e365de Mon Sep 17 00:00:00 2001 From: Ben <91219575+Ben10083@users.noreply.github.com> Date: Wed, 20 Dec 2023 21:23:07 -0500 Subject: [PATCH 07/54] Working Joes can no longer Drink (#5259) # About the pull request Removes ability for Working Joes to drink # Explain why it's good for the game Oversight, they were already prevented from eating (#3828), but not drinking, same logic as why they cannot drink can be applied here. # Testing Photographs and Procedure ![image](https://github.com/cmss13-devs/cmss13/assets/91219575/db8a6709-106b-460b-ac8c-30a8926ecb07)

# Changelog :cl: del: Working Joes can no longer drink /:cl: --- .../items/reagent_containers/food/drinks.dm | 4 ++++ .../items/reagent_containers/food/snacks.dm | 14 +++++++------- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/code/game/objects/items/reagent_containers/food/drinks.dm b/code/game/objects/items/reagent_containers/food/drinks.dm index 9f88990e5350..db83723bc8df 100644 --- a/code/game/objects/items/reagent_containers/food/drinks.dm +++ b/code/game/objects/items/reagent_containers/food/drinks.dm @@ -23,6 +23,10 @@ to_chat(user, SPAN_DANGER("The [src.name] is empty!")) return FALSE + if(HAS_TRAIT(M, TRAIT_CANNOT_EAT)) + to_chat(user, SPAN_DANGER("[user == M ? "You are" : "[M] is"] unable to drink!")) + return FALSE + if(M == user) to_chat(M, SPAN_NOTICE(" You swallow a gulp from \the [src].")) if(reagents.total_volume) diff --git a/code/game/objects/items/reagent_containers/food/snacks.dm b/code/game/objects/items/reagent_containers/food/snacks.dm index 0a1d0e8aad07..927501286f13 100644 --- a/code/game/objects/items/reagent_containers/food/snacks.dm +++ b/code/game/objects/items/reagent_containers/food/snacks.dm @@ -42,7 +42,7 @@ ..() if (world.time <= user.next_move) - return + return FALSE attack(user, user, "head")//zone does not matter user.next_move += attack_speed @@ -51,24 +51,24 @@ to_chat(user, SPAN_DANGER("None of [src] left, oh no!")) M.drop_inv_item_on_ground(src) //so icons update :[ qdel(src) - return 0 + return FALSE if(package) to_chat(M, SPAN_WARNING("How do you expect to eat this with the package still on?")) - return 0 + return FALSE if(istype(M, /mob/living/carbon)) var/mob/living/carbon/C = M var/fullness = M.nutrition + (M.reagents.get_reagent_amount("nutriment") * 25) if(fullness > NUTRITION_HIGH && world.time < C.overeat_cooldown) to_chat(user, SPAN_WARNING("[user == M ? "You" : "They"] don't feel like eating more right now.")) - return + return FALSE if(issynth(C)) fullness = 200 //Synths never get full if(HAS_TRAIT(M, TRAIT_CANNOT_EAT)) //Do not feed the Working Joes to_chat(user, SPAN_DANGER("[user == M ? "You are" : "[M] is"] unable to eat!")) - return + return FALSE if(fullness > NUTRITION_HIGH) C.overeat_cooldown = world.time + OVEREAT_TIME @@ -120,9 +120,9 @@ reagents.trans_to_ingest(M, reagents.total_volume) bitecount++ On_Consume(M) - return 1 + return TRUE - return 0 + return FALSE /obj/item/reagent_container/food/snacks/afterattack(obj/target, mob/user, proximity) return ..() From 4158cdb980c7dcd2a7ea22349ad58ffd57d33932 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Thu, 21 Dec 2023 02:31:43 +0000 Subject: [PATCH 08/54] Automatic changelog for PR #5259 [ci skip] --- html/changelogs/AutoChangeLog-pr-5259.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5259.yml diff --git a/html/changelogs/AutoChangeLog-pr-5259.yml b/html/changelogs/AutoChangeLog-pr-5259.yml new file mode 100644 index 000000000000..037aa676912b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5259.yml @@ -0,0 +1,4 @@ +author: "Ben10083" +delete-after: True +changes: + - rscdel: " Working Joes can no longer drink" \ No newline at end of file From df6fce4ac691b23d23c3f1ceb1846b295463b30c Mon Sep 17 00:00:00 2001 From: Steelpoint <6595389+Steelpoint@users.noreply.github.com> Date: Thu, 21 Dec 2023 12:42:39 +0800 Subject: [PATCH 09/54] Separates Factions In Observe/Follow Tab (#5058) # About the pull request Separates the factions from a generic 'ERT Faction' tab into their own separate one's for each of the main factions, this includes. - WY - UPP - CLF - Freelancers - Mercenaries - Contractors - Dutch's Dozen - TWE RMC - CMB Marshals The remaining factions (mostly memes, unused or admin ones) are kept in the current 'ERT' panel. # Explain why it's good for the game Better gauge as a observer who the present factions are, helps in the uncommon circumstances where multiple factions are in play. # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: add: Factions are now properly separated in the observe menu as a ghost. /:cl: --------- Co-authored-by: Steelpoint --- code/__DEFINES/mode.dm | 10 +++- code/modules/gear_presets/contractor.dm | 2 +- code/modules/mob/dead/observer/orbit.dm | 36 +++++++++++++++ tgui/packages/tgui/interfaces/Orbit/index.tsx | 46 +++++++++++++++++++ tgui/packages/tgui/interfaces/Orbit/types.ts | 9 ++++ 5 files changed, 101 insertions(+), 2 deletions(-) diff --git a/code/__DEFINES/mode.dm b/code/__DEFINES/mode.dm index 94428ba7d9b3..0f04006859e9 100644 --- a/code/__DEFINES/mode.dm +++ b/code/__DEFINES/mode.dm @@ -241,8 +241,16 @@ GLOBAL_LIST_INIT(whitelist_hierarchy, list(WHITELIST_NORMAL, WHITELIST_COUNCIL, #define FACTION_LIST_MARINE list(FACTION_MARINE) #define FACTION_LIST_HUMANOID list(FACTION_MARINE, FACTION_PMC, FACTION_WY, FACTION_WY_DEATHSQUAD, FACTION_CLF, FACTION_CONTRACTOR, FACTION_MARSHAL, FACTION_UPP, FACTION_FREELANCER, FACTION_SURVIVOR, FACTION_NEUTRAL, FACTION_COLONIST, FACTION_MERCENARY, FACTION_DUTCH, FACTION_HEFA, FACTION_GLADIATOR, FACTION_PIRATE, FACTION_PIZZA, FACTION_SOUTO, FACTION_YAUTJA, FACTION_ZOMBIE, FACTION_TWE) -#define FACTION_LIST_ERT list(FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_CLF, FACTION_CONTRACTOR, FACTION_UPP, FACTION_FREELANCER, FACTION_MERCENARY, FACTION_DUTCH, FACTION_HEFA, FACTION_GLADIATOR, FACTION_PIRATE, FACTION_PIZZA, FACTION_SOUTO, FACTION_MARSHAL, FACTION_TWE) +#define FACTION_LIST_ERT list(FACTION_HEFA, FACTION_GLADIATOR, FACTION_PIRATE, FACTION_PIZZA, FACTION_SOUTO) #define FACTION_LIST_WY list(FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_WY) +#define FACTION_LIST_UPP list(FACTION_UPP) +#define FACTION_LIST_CLF list(FACTION_CLF) +#define FACTION_LIST_TWE list(FACTION_TWE) +#define FACTION_LIST_FREELANCER list(FACTION_FREELANCER) +#define FACTION_LIST_CONTRACTOR list(FACTION_CONTRACTOR) +#define FACTION_LIST_MERCENARY list(FACTION_MERCENARY) +#define FACTION_LIST_MARSHAL list(FACTION_MARSHAL) +#define FACTION_LIST_DUTCH list(FACTION_DUTCH) #define FACTION_LIST_MARINE_WY list(FACTION_MARINE, FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_WY) #define FACTION_LIST_MARINE_UPP list(FACTION_MARINE, FACTION_UPP) #define FACTION_LIST_MARINE_TWE list(FACTION_MARINE, FACTION_TWE) diff --git a/code/modules/gear_presets/contractor.dm b/code/modules/gear_presets/contractor.dm index ea77fe4a4d0f..896771d26aca 100644 --- a/code/modules/gear_presets/contractor.dm +++ b/code/modules/gear_presets/contractor.dm @@ -4,7 +4,7 @@ rank = JOB_CONTRACTOR idtype = /obj/item/card/id/data faction = FACTION_CONTRACTOR - faction_group = FACTION_LIST_ERT + faction_group = list(FACTION_CONTRACTOR) languages = list(LANGUAGE_ENGLISH, LANGUAGE_SPANISH, LANGUAGE_RUSSIAN) var/human_versus_human = FALSE var/headset_type = /obj/item/device/radio/headset/distress/contractor diff --git a/code/modules/mob/dead/observer/orbit.dm b/code/modules/mob/dead/observer/orbit.dm index 5fe27c5e5167..50496cef31c5 100644 --- a/code/modules/mob/dead/observer/orbit.dm +++ b/code/modules/mob/dead/observer/orbit.dm @@ -53,6 +53,15 @@ var/list/survivors = list() var/list/xenos = list() var/list/ert_members = list() + var/list/upp = list() + var/list/clf = list() + var/list/wy = list() + var/list/twe = list() + var/list/freelancer = list() + var/list/contractor = list() + var/list/mercenary = list() + var/list/dutch = list() + var/list/marshal = list() var/list/synthetics = list() var/list/predators = list() var/list/animals = list() @@ -132,12 +141,30 @@ if(SSticker.mode.is_in_endgame == TRUE && !is_mainship_level(M.z) && !(human.faction in FACTION_LIST_ERT)) escaped += list(serialized) + else if(human.faction in FACTION_LIST_WY) + wy += list(serialized) else if(issynth(human) && !isinfiltratorsynthetic(human)) synthetics += list(serialized) else if(isyautja(human)) predators += list(serialized) else if(human.faction in FACTION_LIST_ERT) ert_members += list(serialized) + else if(human.faction in FACTION_LIST_UPP) + upp += list(serialized) + else if(human.faction in FACTION_LIST_CLF) + clf += list(serialized) + else if(human.faction in FACTION_LIST_TWE) + twe += list(serialized) + else if(human.faction in FACTION_LIST_FREELANCER) + freelancer += list(serialized) + else if(human.faction in FACTION_LIST_CONTRACTOR) + contractor += list(serialized) + else if(human.faction in FACTION_LIST_MERCENARY) + mercenary += list(serialized) + else if(human.faction in FACTION_LIST_MARSHAL) + marshal += list(serialized) + else if(human.faction in FACTION_LIST_DUTCH) + dutch += list(serialized) else if(human.faction in FACTION_LIST_MARINE) marines += list(serialized) else if(issurvivorjob(human.job)) @@ -156,6 +183,15 @@ data["survivors"] = survivors data["xenos"] = xenos data["ert_members"] = ert_members + data["upp"] = upp + data["clf"] = clf + data["wy"] = wy + data["twe"] = twe + data["freelancer"] = freelancer + data["contractor"] = contractor + data["mercenary"] = mercenary + data["dutch"] = dutch + data["marshal"] = marshal data["synthetics"] = synthetics data["predators"] = predators data["animals"] = animals diff --git a/tgui/packages/tgui/interfaces/Orbit/index.tsx b/tgui/packages/tgui/interfaces/Orbit/index.tsx index 83dfe3b361b2..899947e1bec9 100644 --- a/tgui/packages/tgui/interfaces/Orbit/index.tsx +++ b/tgui/packages/tgui/interfaces/Orbit/index.tsx @@ -118,6 +118,15 @@ const ObservableContent = (props, context) => { survivors = [], xenos = [], ert_members = [], + upp = [], + clf = [], + wy = [], + twe = [], + freelancer = [], + mercenary = [], + contractor = [], + dutch = [], + marshal = [], synthetics = [], predators = [], animals = [], @@ -145,6 +154,43 @@ const ObservableContent = (props, context) => { section={synthetics} title="Synthetics" /> + + + + + + + + + diff --git a/tgui/packages/tgui/interfaces/Orbit/types.ts b/tgui/packages/tgui/interfaces/Orbit/types.ts index 3fe11af8e625..afbed5b16468 100644 --- a/tgui/packages/tgui/interfaces/Orbit/types.ts +++ b/tgui/packages/tgui/interfaces/Orbit/types.ts @@ -7,6 +7,15 @@ export type OrbitData = { survivors: Observable[]; xenos: Observable[]; ert_members: Observable[]; + upp: Observable[]; + twe: Observable[]; + clf: Observable[]; + wy: Observable[]; + freelancer: Observable[]; + contractor: Observable[]; + mercenary: Observable[]; + dutch: Observable[]; + marshal: Observable[]; synthetics: Observable[]; predators: Observable[]; animals: Observable[]; From c6029588cb90e357ff1e99fde8851991b44aa65e Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Thu, 21 Dec 2023 04:51:17 +0000 Subject: [PATCH 10/54] Automatic changelog for PR #5058 [ci skip] --- html/changelogs/AutoChangeLog-pr-5058.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5058.yml diff --git a/html/changelogs/AutoChangeLog-pr-5058.yml b/html/changelogs/AutoChangeLog-pr-5058.yml new file mode 100644 index 000000000000..6edfaed15ce4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5058.yml @@ -0,0 +1,4 @@ +author: "Steelpoint" +delete-after: True +changes: + - rscadd: "Factions are now properly separated in the observe menu as a ghost." \ No newline at end of file From 551c4936019ae31017d01445173761edfb15d913 Mon Sep 17 00:00:00 2001 From: InsaneRed <47158596+InsaneRed@users.noreply.github.com> Date: Thu, 21 Dec 2023 16:39:20 +0300 Subject: [PATCH 11/54] Converts some xeno abilities to SECONDS (#5241) # About the pull request Converts xeno code cooldown = to seconds # Explain why it's good for the game easier to read # Testing Photographs and Procedure
Screenshots & Videos its readable
# Changelog :cl: code: Converts xenomorph cooldowns into SECONDS /:cl: --------- Co-authored-by: InsaneRed --- .../abilities/boiler/boiler_abilities.dm | 8 +++---- .../abilities/crusher/crusher_abilities.dm | 2 +- .../abilities/defender/defender_abilities.dm | 4 ++-- .../facehugger/facehugger_abilities.dm | 2 +- .../abilities/lurker/lurker_abilities.dm | 4 ++-- .../praetorian/praetorian_abilities.dm | 22 +++++++++---------- .../abilities/ravager/ravager_abilities.dm | 4 ++-- .../abilities/runner/runner_abilities.dm | 4 ++-- .../abilities/spitter/spitter_abilities.dm | 2 +- .../abilities/warrior/warrior_abilities.dm | 6 ++--- 10 files changed, 29 insertions(+), 29 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_abilities.dm index ea1c734d9482..e7f72e7e013e 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_abilities.dm @@ -13,7 +13,7 @@ macro_path = /datum/action/xeno_action/verb/verb_acid_lance action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_2 - xeno_cooldown = 190 + xeno_cooldown = 19 SECONDS // Config var/stack_time = 10 @@ -96,7 +96,7 @@ macro_path = /datum/action/xeno_action/verb/verb_boiler_trap action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_1 - xeno_cooldown = 205 + xeno_cooldown = 20.5 SECONDS /// Config var/trap_ttl = 100 @@ -112,7 +112,7 @@ macro_path = /datum/action/xeno_action/verb/verb_acid_mine action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_2 - xeno_cooldown = 55 + xeno_cooldown = 5.5 SECONDS var/empowered = FALSE @@ -127,7 +127,7 @@ macro_path = /datum/action/xeno_action/verb/verb_acid_shotgun action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_3 - xeno_cooldown = 130 + xeno_cooldown = 13 SECONDS var/ammo_type = /datum/ammo/xeno/acid_shotgun diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_abilities.dm index 87f58df34472..4691d70321c3 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_abilities.dm @@ -39,7 +39,7 @@ macro_path = /datum/action/xeno_action/verb/verb_crusher_stomp action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_2 - xeno_cooldown = 180 + xeno_cooldown = 18 SECONDS plasma_cost = 30 var/damage = 65 diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/defender/defender_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/defender/defender_abilities.dm index 3949e4ac9b80..22d5f4b57aa2 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/defender/defender_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/defender/defender_abilities.dm @@ -18,7 +18,7 @@ macro_path = /datum/action/xeno_action/verb/verb_headbutt action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_2 - xeno_cooldown = 40 + xeno_cooldown = 4 SECONDS /datum/action/xeno_action/onclick/tail_sweep name = "Tail Sweep" @@ -28,7 +28,7 @@ action_type = XENO_ACTION_ACTIVATE ability_primacy = XENO_PRIMARY_ACTION_3 plasma_cost = 10 - xeno_cooldown = 110 + xeno_cooldown = 11 SECONDS /datum/action/xeno_action/activable/fortify name = "Fortify" diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/facehugger/facehugger_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/facehugger/facehugger_abilities.dm index 91bda707ec45..ee1fed3094a7 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/facehugger/facehugger_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/facehugger/facehugger_abilities.dm @@ -5,7 +5,7 @@ macro_path = /datum/action/xeno_action/verb/verb_pounce action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_1 - xeno_cooldown = 30 + xeno_cooldown = 3 SECONDS plasma_cost = 0 // Config options diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_abilities.dm index 2facee1edc9d..fd525701b12d 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_abilities.dm @@ -2,7 +2,7 @@ macro_path = /datum/action/xeno_action/verb/verb_pounce action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_1 - xeno_cooldown = 60 + xeno_cooldown = 6 SECONDS plasma_cost = 20 // Config options @@ -70,7 +70,7 @@ macro_path = /datum/action/xeno_action/verb/verb_crippling_strike ability_primacy = XENO_PRIMARY_ACTION_3 action_type = XENO_ACTION_ACTIVATE - xeno_cooldown = 100 + xeno_cooldown = 10 SECONDS plasma_cost = 20 var/buff_duration = 50 diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_abilities.dm index 11317bed9af1..7327454ab74e 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_abilities.dm @@ -25,7 +25,7 @@ macro_path = /datum/action/xeno_action/verb/verb_dash action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_2 - xeno_cooldown = 110 + xeno_cooldown = 11 SECONDS plasma_cost = 50 // Config options @@ -51,7 +51,7 @@ macro_path = /datum/action/xeno_action/verb/verb_cleave ability_primacy = XENO_PRIMARY_ACTION_3 action_type = XENO_ACTION_CLICK - xeno_cooldown = 120 + xeno_cooldown = 12 SECONDS // Root config var/root_duration_unbuffed = 1 SECONDS @@ -138,7 +138,7 @@ macro_path = /datum/action/xeno_action/verb/verb_oppressor_punch action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_2 - xeno_cooldown = 100 + xeno_cooldown = 10 SECONDS plasma_cost = 55 // Configurables @@ -164,7 +164,7 @@ macro_path = /datum/action/xeno_action/verb/verb_crush ability_primacy = XENO_PRIMARY_ACTION_3 action_type = XENO_ACTION_CLICK - xeno_cooldown = 130 + xeno_cooldown = 13 SECONDS plasma_cost = 80 // Config @@ -180,7 +180,7 @@ macro_path = /datum/action/xeno_action/verb/verb_prae_impale ability_primacy = XENO_PRIMARY_ACTION_1 action_type = XENO_ACTION_CLICK - xeno_cooldown = 130 + xeno_cooldown = 13 SECONDS plasma_cost = 80 /datum/action/xeno_action/onclick/prae_dodge @@ -191,7 +191,7 @@ ability_primacy = XENO_PRIMARY_ACTION_2 action_type = XENO_ACTION_CLICK plasma_cost = 200 - xeno_cooldown = 190 + xeno_cooldown = 19 SECONDS // Config var/duration = 70 @@ -204,7 +204,7 @@ macro_path = /datum/action/xeno_action/verb/verb_prae_tail_trip ability_primacy = XENO_PRIMARY_ACTION_3 action_type = XENO_ACTION_CLICK - xeno_cooldown = 130 + xeno_cooldown = 13 SECONDS plasma_cost = 30 // Config @@ -224,7 +224,7 @@ macro_path = /datum/action/xeno_action/verb/verb_dash action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_2 - xeno_cooldown = 100 + xeno_cooldown = 10 SECONDS plasma_cost = 40 // Config options @@ -255,7 +255,7 @@ ability_primacy = XENO_PRIMARY_ACTION_4 plasma_cost = 80 - xeno_cooldown = 100 + xeno_cooldown = 10 SECONDS // Configurable options spray_type = ACID_SPRAY_LINE @@ -270,7 +270,7 @@ /datum/action/xeno_action/activable/spray_acid/prae_warden ability_primacy = XENO_PRIMARY_ACTION_2 plasma_cost = 130 - xeno_cooldown = 130 + xeno_cooldown = 13 SECONDS // Configurable options @@ -288,7 +288,7 @@ // todo: macro action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_3 - xeno_cooldown = 100 + xeno_cooldown = 10 SECONDS plasma_cost = 100 // Config diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_abilities.dm index 4f9c5f298637..3744fb7823e8 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_abilities.dm @@ -136,7 +136,7 @@ action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_2 plasma_cost = 0 - xeno_cooldown = 100 + xeno_cooldown = 10 SECONDS // Config var/shard_cost = 75 @@ -150,7 +150,7 @@ action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_3 plasma_cost = 0 - xeno_cooldown = 300 + xeno_cooldown = 30 SECONDS // Config values var/shard_cost = 50 diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_abilities.dm index 510f161d8a86..2880dd15eb5a 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_abilities.dm @@ -5,7 +5,7 @@ macro_path = /datum/action/xeno_action/verb/verb_pounce action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_1 - xeno_cooldown = 30 + xeno_cooldown = 3 SECONDS plasma_cost = 0 // Config options @@ -28,7 +28,7 @@ macro_path = /datum/action/xeno_action/verb/verb_runner_bonespurs action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_2 - xeno_cooldown = 110 + xeno_cooldown = 11 SECONDS plasma_cost = 0 var/ammo_type = /datum/ammo/xeno/bone_chips/spread/runner_skillshot diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/spitter/spitter_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/spitter/spitter_abilities.dm index abc1e43bfccd..20febc22c4a4 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/spitter/spitter_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/spitter/spitter_abilities.dm @@ -34,7 +34,7 @@ action_type = XENO_ACTION_CLICK plasma_cost = 50 - xeno_cooldown = 80 + xeno_cooldown = 8 SECONDS // Configurable options spray_type = ACID_SPRAY_LINE // Enum for the shape of spray to do diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/warrior/warrior_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/warrior/warrior_abilities.dm index 2c16477c1414..4f40e1914540 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/warrior/warrior_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/warrior/warrior_abilities.dm @@ -6,7 +6,7 @@ macro_path = /datum/action/xeno_action/verb/verb_fling action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_3 - xeno_cooldown = 60 + xeno_cooldown = 6 SECONDS // Configurables var/fling_distance = 4 @@ -22,7 +22,7 @@ macro_path = /datum/action/xeno_action/verb/verb_lunge action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_2 - xeno_cooldown = 100 + xeno_cooldown = 10 SECONDS // Configurables var/grab_range = 4 @@ -36,7 +36,7 @@ macro_path = /datum/action/xeno_action/verb/verb_punch action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_1 - xeno_cooldown = 45 + xeno_cooldown = 4.5 SECONDS // Configurables var/base_damage = 25 From 94ff96a6f6d127d278ba6d79ef76ebccb89b2b58 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Thu, 21 Dec 2023 13:47:31 +0000 Subject: [PATCH 12/54] Automatic changelog for PR #5241 [ci skip] --- html/changelogs/AutoChangeLog-pr-5241.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5241.yml diff --git a/html/changelogs/AutoChangeLog-pr-5241.yml b/html/changelogs/AutoChangeLog-pr-5241.yml new file mode 100644 index 000000000000..acb4b1887337 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5241.yml @@ -0,0 +1,4 @@ +author: "InsaneRed" +delete-after: True +changes: + - code_imp: "Converts xenomorph cooldowns into SECONDS" \ No newline at end of file From 53a08275f98fb37686d9b4c7ae143d0313f7c9c5 Mon Sep 17 00:00:00 2001 From: Drathek <76988376+Drulikar@users.noreply.github.com> Date: Thu, 21 Dec 2023 09:46:01 -0800 Subject: [PATCH 13/54] Additional ui_act checks for tacmap (#5255) # About the pull request This PR adds additional checks for the ui_acts when using the tacmap interface. # Explain why it's good for the game Should shore up most flaws allowing weird usage of it. # Testing Photographs and Procedure
Screenshots & Videos ![image](https://github.com/cmss13-devs/cmss13/assets/76988376/efbf579c-814d-41fd-bea4-d2581b4bf4f7)
# Changelog No player facing changes. --- code/controllers/subsystem/minimap.dm | 80 ++++++++++++------- tgui/packages/tgui/interfaces/TacticalMap.tsx | 4 +- 2 files changed, 54 insertions(+), 30 deletions(-) diff --git a/code/controllers/subsystem/minimap.dm b/code/controllers/subsystem/minimap.dm index 50aec8845dd0..e2ebffe55959 100644 --- a/code/controllers/subsystem/minimap.dm +++ b/code/controllers/subsystem/minimap.dm @@ -1,3 +1,6 @@ +#define CANVAS_COOLDOWN_TIME 4 MINUTES +#define FLATTEN_MAP_COOLDOWN_TIME 3 MINUTES + /** * # Minimaps subsystem * @@ -438,11 +441,11 @@ SUBSYSTEM_DEF(minimaps) if(faction == FACTION_MARINE) if(!COOLDOWN_FINISHED(GLOB, uscm_flatten_map_icon_cooldown)) return FALSE - COOLDOWN_START(GLOB, uscm_flatten_map_icon_cooldown, flatten_map_cooldown_time) + COOLDOWN_START(GLOB, uscm_flatten_map_icon_cooldown, FLATTEN_MAP_COOLDOWN_TIME) else if(faction == XENO_HIVE_NORMAL) if(!COOLDOWN_FINISHED(GLOB, xeno_flatten_map_icon_cooldown)) return FALSE - COOLDOWN_START(GLOB, xeno_flatten_map_icon_cooldown, flatten_map_cooldown_time) + COOLDOWN_START(GLOB, xeno_flatten_map_icon_cooldown, FLATTEN_MAP_COOLDOWN_TIME) else return FALSE @@ -500,6 +503,8 @@ SUBSYSTEM_DEF(minimaps) qdel(svg_store_overlay) debug_log("SVG coordinates for [faction] are not implemented!") +#define can_draw(faction, user) ((faction == FACTION_MARINE && skillcheck(user, SKILL_LEADERSHIP, SKILL_LEAD_EXPERT)) || (faction == XENO_HIVE_NORMAL && isqueen(user))) + /datum/controller/subsystem/minimaps/proc/fetch_tacmap_datum(zlevel, flags) var/hash = "[zlevel]-[flags]" if(hashed_tacmaps[hash]) @@ -625,9 +630,6 @@ SUBSYSTEM_DEF(minimaps) var/toolbar_color_selection = "black" var/toolbar_updated_selection = "black" - var/canvas_cooldown_time = 4 MINUTES - var/flatten_map_cooldown_time = 3 MINUTES - /// boolean value to keep track if the canvas has been updated or not, the value is used in tgui state. var/updated_canvas = FALSE /// current flattend map @@ -740,7 +742,6 @@ SUBSYSTEM_DEF(minimaps) else data["canvasCooldown"] = max(GLOB.uscm_canvas_cooldown - world.time, 0) - data["nextCanvasTime"] = canvas_cooldown_time data["updatedCanvas"] = updated_canvas data["lastUpdateTime"] = last_update_time @@ -750,6 +751,7 @@ SUBSYSTEM_DEF(minimaps) /datum/tacmap/ui_static_data(mob/user) var/list/data = list() + data["mapRef"] = map_holder?.map_ref data["canDraw"] = FALSE data["canViewTacmap"] = TRUE @@ -761,6 +763,7 @@ SUBSYSTEM_DEF(minimaps) /datum/tacmap/drawing/ui_static_data(mob/user) var/list/data = list() + data["canvasCooldownDuration"] = CANVAS_COOLDOWN_TIME data["mapRef"] = map_holder?.map_ref data["canDraw"] = FALSE data["mapFallback"] = wiki_map_fallback @@ -773,7 +776,7 @@ SUBSYSTEM_DEF(minimaps) data["canViewTacmap"] = is_xeno data["canViewCanvas"] = faction == FACTION_MARINE || faction == XENO_HIVE_NORMAL - if(faction == FACTION_MARINE && skillcheck(user, SKILL_LEADERSHIP, SKILL_LEAD_EXPERT) || faction == XENO_HIVE_NORMAL && isqueen(user)) + if(can_draw(faction, user)) data["canDraw"] = TRUE data["canViewTacmap"] = TRUE @@ -781,6 +784,8 @@ SUBSYSTEM_DEF(minimaps) /datum/tacmap/drawing/status_tab_view/ui_static_data(mob/user) var/list/data = list() + + data["canvasCooldownDuration"] = CANVAS_COOLDOWN_TIME data["mapFallback"] = wiki_map_fallback data["canDraw"] = FALSE data["canViewTacmap"] = FALSE @@ -791,6 +796,8 @@ SUBSYSTEM_DEF(minimaps) /datum/tacmap/drawing/status_tab_view/xeno/ui_static_data(mob/user) var/list/data = list() + + data["canvasCooldownDuration"] = CANVAS_COOLDOWN_TIME data["mapFallback"] = wiki_map_fallback data["canDraw"] = FALSE data["canViewTacmap"] = FALSE @@ -814,16 +821,21 @@ SUBSYSTEM_DEF(minimaps) var/mob/user = ui.user var/mob/living/carbon/xenomorph/xeno = user var/faction = istype(xeno) ? xeno.hivenumber : user.faction - if(faction == FACTION_NEUTRAL && isobserver(user)) + var/is_observer = isobserver(user) + if(faction == FACTION_NEUTRAL && is_observer) faction = allowed_flags == MINIMAP_FLAG_XENO ? XENO_HIVE_NORMAL : FACTION_MARINE + var/drawing_allowed = !is_observer && can_draw(faction, user) - switch (action) - if ("menuSelect") + switch(action) + if("menuSelect") if(params["selection"] != "new canvas") if(updated_canvas) updated_canvas = FALSE toolbar_updated_selection = toolbar_color_selection // doing this if it == canvas can cause a latency issue with the stroke. else + if(!drawing_allowed) + msg_admin_niche("[key_name(user)] made an unauthorized attempt to 'menuSelect' the 'new canvas' panel of the [faction] tacmap!") + return FALSE distribute_current_map_png(faction) last_update_time = world.time // An attempt to get the image to load on first try in the interface, but doesn't seem always reliable @@ -832,60 +844,68 @@ SUBSYSTEM_DEF(minimaps) old_map = get_tacmap_data_png(faction) current_svg = get_tacmap_data_svg(faction) - if ("updateCanvas") - // forces state change, this will export the svg. + if("updateCanvas") toolbar_updated_selection = "export" updated_canvas = TRUE action_queue_change += 1 - if ("clearCanvas") + if("clearCanvas") toolbar_updated_selection = "clear" updated_canvas = FALSE action_queue_change += 1 - if ("undoChange") + if("undoChange") toolbar_updated_selection = "undo" updated_canvas = FALSE action_queue_change += 1 - if ("selectColor") + if("selectColor") var/newColor = params["color"] if(newColor) toolbar_color_selection = newColor toolbar_updated_selection = newColor action_queue_change += 1 - if ("onDraw") + if("onDraw") updated_canvas = FALSE - if ("selectAnnouncement") + if("selectAnnouncement") + if(!drawing_allowed) + msg_admin_niche("[key_name(user)] made an unauthorized attempt to 'selectAnnouncement' the [faction] tacmap!") + return FALSE + if(!istype(params["image"], /list)) // potentially very serious? return FALSE + var/cooldown_satisfied = FALSE if(faction == FACTION_MARINE) - GLOB.uscm_flat_tacmap_data += new_current_map + cooldown_satisfied = COOLDOWN_FINISHED(GLOB, uscm_canvas_cooldown) else if(faction == XENO_HIVE_NORMAL) - GLOB.xeno_flat_tacmap_data += new_current_map - - store_current_svg_coords(faction, params["image"], user) - current_svg = get_tacmap_data_svg(faction) - old_map = get_tacmap_data_png(faction) + cooldown_satisfied = COOLDOWN_FINISHED(GLOB, xeno_canvas_cooldown) + if(!cooldown_satisfied) + msg_admin_niche("[key_name(user)] attempted to 'selectAnnouncement' the [faction] tacmap while it is still on cooldown!") + return FALSE if(faction == FACTION_MARINE) - COOLDOWN_START(GLOB, uscm_canvas_cooldown, canvas_cooldown_time) - var/mob/living/carbon/human/human_leader = user + GLOB.uscm_flat_tacmap_data += new_current_map + COOLDOWN_START(GLOB, uscm_canvas_cooldown, CANVAS_COOLDOWN_TIME) for(var/datum/squad/current_squad in GLOB.RoleAuthority.squads) current_squad.send_maptext("Tactical map update in progress...", "Tactical Map:") + var/mob/living/carbon/human/human_leader = user human_leader.visible_message(SPAN_BOLDNOTICE("Tactical map update in progress...")) playsound_client(human_leader.client, "sound/effects/sos-morse-code.ogg") notify_ghosts(header = "Tactical Map", message = "The USCM tactical map has been updated.", ghost_sound = "sound/effects/sos-morse-code.ogg", notify_volume = 80, action = NOTIFY_USCM_TACMAP, enter_link = "uscm_tacmap=1", enter_text = "View", source = owner) - else if(faction == XENO_HIVE_NORMAL) - var/mutable_appearance/appearance = mutable_appearance(icon('icons/mob/hud/actions_xeno.dmi'), "toggle_queen_zoom") - COOLDOWN_START(GLOB, xeno_canvas_cooldown, canvas_cooldown_time) + GLOB.xeno_flat_tacmap_data += new_current_map + COOLDOWN_START(GLOB, xeno_canvas_cooldown, CANVAS_COOLDOWN_TIME) xeno_maptext("The Queen has updated our hive mind map", "We sense something unusual...", faction) + var/mutable_appearance/appearance = mutable_appearance(icon('icons/mob/hud/actions_xeno.dmi'), "toggle_queen_zoom") notify_ghosts(header = "Tactical Map", message = "The Xenomorph tactical map has been updated.", ghost_sound = "sound/voice/alien_distantroar_3.ogg", notify_volume = 50, action = NOTIFY_XENO_TACMAP, enter_link = "xeno_tacmap=1", enter_text = "View", source = user, alert_overlay = appearance) + store_current_svg_coords(faction, params["image"], user) + current_svg = get_tacmap_data_svg(faction) + old_map = get_tacmap_data_png(faction) + toolbar_updated_selection = toolbar_color_selection message_admins("[key_name(user)] has updated the tactical map for [faction].") updated_canvas = FALSE @@ -995,3 +1015,7 @@ SUBSYSTEM_DEF(minimaps) if(XENO_HIVE_RENEGADE) return MINIMAP_FLAG_XENO_RENEGADE return 0 + +#undef CANVAS_COOLDOWN_TIME +#undef FLATTEN_MAP_COOLDOWN_TIME +#undef can_draw diff --git a/tgui/packages/tgui/interfaces/TacticalMap.tsx b/tgui/packages/tgui/interfaces/TacticalMap.tsx index 92996038719f..0888212a83fb 100644 --- a/tgui/packages/tgui/interfaces/TacticalMap.tsx +++ b/tgui/packages/tgui/interfaces/TacticalMap.tsx @@ -23,7 +23,7 @@ interface TacMapProps { mapRef: string; currentMenu: string; lastUpdateTime: any; - nextCanvasTime: any; + canvasCooldownDuration: any; canvasCooldown: any; exportedTacMapImage: any; tacmapReady: number; @@ -192,7 +192,7 @@ const OldMapPanel = (props, context) => { const DrawMapPanel = (props, context) => { const { data, act } = useBackend(context); - const timeLeftPct = data.canvasCooldown / data.nextCanvasTime; + const timeLeftPct = data.canvasCooldown / data.canvasCooldownDuration; const canUpdate = data.canvasCooldown <= 0 && !data.updatedCanvas; const handleTacMapExport = (image: any) => { From 53b20cf4b58fe6c124fad03e811306eebc60a3e5 Mon Sep 17 00:00:00 2001 From: fira Date: Thu, 21 Dec 2023 18:50:52 +0100 Subject: [PATCH 14/54] Fix Santa Hats breaking due to map camouflage (#5268) # About the pull request Simple as it can be - the map camouflage was applied on santa helmets when they don't have camouflage variants # Explain why it's good for the game Spirit of holidays and all that # Testing Photographs and Procedure Spawn on a camo-enabled map # Changelog :cl: fix: Fix Xmas helmets getting overriden by map camouflage. /:cl: --------- Co-authored-by: Drathek <76988376+Drulikar@users.noreply.github.com> --- code/modules/decorators/christmas.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/decorators/christmas.dm b/code/modules/decorators/christmas.dm index 5c4126510056..6d3f52ffc0f6 100644 --- a/code/modules/decorators/christmas.dm +++ b/code/modules/decorators/christmas.dm @@ -51,6 +51,7 @@ helmet.icon_override = 'icons/mob/humans/onmob/head_0.dmi' helmet.flags_inv_hide = HIDEEARS|HIDEALLHAIR helmet.flags_marine_helmet = NO_FLAGS + helmet.flags_atom |= NO_SNOW_TYPE|NO_NAME_OVERRIDE if(prob(50)) helmet.icon_state = "santa_hat_red" else From 3ca6df62512b86326b7f221dbaf4d26378377056 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Thu, 21 Dec 2023 18:06:57 +0000 Subject: [PATCH 15/54] Automatic changelog for PR #5268 [ci skip] --- html/changelogs/AutoChangeLog-pr-5268.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5268.yml diff --git a/html/changelogs/AutoChangeLog-pr-5268.yml b/html/changelogs/AutoChangeLog-pr-5268.yml new file mode 100644 index 000000000000..1bed5f11b860 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5268.yml @@ -0,0 +1,4 @@ +author: "fira" +delete-after: True +changes: + - bugfix: "Fix Xmas helmets getting overriden by map camouflage." \ No newline at end of file From 002062e88b1a730af6bbd23a13056fe73f703a62 Mon Sep 17 00:00:00 2001 From: Cthulhu80 <122310258+Cthulhu80@users.noreply.github.com> Date: Thu, 21 Dec 2023 16:28:32 -0500 Subject: [PATCH 16/54] minor tacmap ui change (#5264) # About the pull request it's kind of been bothering me for a bit, just some minor tacmap ui changes. # Explain why it's good for the game I got ocd, please merge. # Testing Photographs and Procedure Screen Shot 2023-12-20 at 3 24 17 PM Screen Shot 2023-12-20 at 3 27 20 PM # Changelog :cl: ui: tacmap ui tweaks /:cl: --- code/controllers/subsystem/minimap.dm | 6 +++--- tgui/packages/tgui/interfaces/TacticalMap.tsx | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/code/controllers/subsystem/minimap.dm b/code/controllers/subsystem/minimap.dm index e2ebffe55959..a808e7e3fd85 100644 --- a/code/controllers/subsystem/minimap.dm +++ b/code/controllers/subsystem/minimap.dm @@ -826,9 +826,9 @@ SUBSYSTEM_DEF(minimaps) faction = allowed_flags == MINIMAP_FLAG_XENO ? XENO_HIVE_NORMAL : FACTION_MARINE var/drawing_allowed = !is_observer && can_draw(faction, user) - switch(action) - if("menuSelect") - if(params["selection"] != "new canvas") + switch (action) + if ("menuSelect") + if(params["selection"] != "Canvas") if(updated_canvas) updated_canvas = FALSE toolbar_updated_selection = toolbar_color_selection // doing this if it == canvas can cause a latency issue with the stroke. diff --git a/tgui/packages/tgui/interfaces/TacticalMap.tsx b/tgui/packages/tgui/interfaces/TacticalMap.tsx index 0888212a83fb..34f214b1d1d3 100644 --- a/tgui/packages/tgui/interfaces/TacticalMap.tsx +++ b/tgui/packages/tgui/interfaces/TacticalMap.tsx @@ -31,7 +31,7 @@ interface TacMapProps { const PAGES = [ { - title: 'tacmap', + title: 'Live Tacmap', canOpen: (data) => { return 1; }, @@ -42,7 +42,7 @@ const PAGES = [ }, }, { - title: 'old canvas', + title: 'Map View', canOpen: (data) => { return 1; }, @@ -53,7 +53,7 @@ const PAGES = [ }, }, { - title: 'new canvas', + title: 'Canvas', canOpen: (data) => { return data.tacmapReady; }, From 3b493e32fb898712eb83138beb2562d569ea4952 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Thu, 21 Dec 2023 21:36:37 +0000 Subject: [PATCH 17/54] Automatic changelog for PR #5264 [ci skip] --- html/changelogs/AutoChangeLog-pr-5264.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5264.yml diff --git a/html/changelogs/AutoChangeLog-pr-5264.yml b/html/changelogs/AutoChangeLog-pr-5264.yml new file mode 100644 index 000000000000..a7fef11f72b4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5264.yml @@ -0,0 +1,4 @@ +author: "Cthulhu80" +delete-after: True +changes: + - ui: "tacmap ui tweaks" \ No newline at end of file From d00463bf5ec2e797ef7a7bb8696a42d00a82ed56 Mon Sep 17 00:00:00 2001 From: forest2001 <41653574+realforest2001@users.noreply.github.com> Date: Thu, 21 Dec 2023 21:35:34 +0000 Subject: [PATCH 18/54] Hopefully fixes hijack bug (#5261) # About the pull request Will hopefully stop hijack ending the round prematurely. # Explain why it's good for the game # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: fix: Hijack should no longer end the round immediately. /:cl: --- code/__DEFINES/dcs/signals/signals_global.dm | 1 + code/controllers/subsystem/ticker.dm | 1 - code/modules/shuttle/dropship_hijack.dm | 2 ++ code/modules/shuttle/shuttles/dropship.dm | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/code/__DEFINES/dcs/signals/signals_global.dm b/code/__DEFINES/dcs/signals/signals_global.dm index 31e4c34e3016..5569ded71586 100644 --- a/code/__DEFINES/dcs/signals/signals_global.dm +++ b/code/__DEFINES/dcs/signals/signals_global.dm @@ -70,3 +70,4 @@ #define COMSIG_GLOB_GENERATOR_SET_OVERLOADING "!generator_set_overloading" #define COMSIG_GLOB_HIJACK_IMPACTED "!hijack_impacted" +#define COMSIG_GLOB_HIJACK_LANDED "!hijack_landed" diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 4b4468c08429..c6d6f008acd6 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -478,7 +478,6 @@ SUBSYSTEM_DEF(ticker) winset(C, null, "mainwindow.icon=[SSticker.mode.taskbar_icon]") - /datum/controller/subsystem/ticker/proc/hijack_ocurred() if(mode) mode.is_in_endgame = TRUE diff --git a/code/modules/shuttle/dropship_hijack.dm b/code/modules/shuttle/dropship_hijack.dm index c87dff348b3c..db9ff6907118 100644 --- a/code/modules/shuttle/dropship_hijack.dm +++ b/code/modules/shuttle/dropship_hijack.dm @@ -51,6 +51,7 @@ // Break the ultra-reinforced windows. // Break the briefing windows. SEND_GLOBAL_SIGNAL(COMSIG_GLOB_HIJACK_IMPACTED) + RegisterSignal(SSdcs, COMSIG_GLOB_HIJACK_LANDED, PROC_REF(finish_landing)) // Sleep while the explosions do their job var/explosion_alive = TRUE @@ -62,6 +63,7 @@ break sleep(10) +/datum/dropship_hijack/almayer/proc/finish_landing() SShijack.announce_status_on_crash() SSticker.hijack_ocurred() diff --git a/code/modules/shuttle/shuttles/dropship.dm b/code/modules/shuttle/shuttles/dropship.dm index ee91c9b9e5d4..105c0e122234 100644 --- a/code/modules/shuttle/shuttles/dropship.dm +++ b/code/modules/shuttle/shuttles/dropship.dm @@ -284,6 +284,7 @@ affected_mob.apply_effect(3, WEAKEN) SEND_GLOBAL_SIGNAL(COMSIG_GLOB_GROUNDSIDE_FORSAKEN_HANDLING) + SEND_GLOBAL_SIGNAL(COMSIG_GLOB_HIJACK_LANDED) /datum/map_template/shuttle/alamo name = "Alamo" From c5dc4c5f10589e4280ba83016e7257e3fba63711 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Thu, 21 Dec 2023 21:49:34 +0000 Subject: [PATCH 19/54] Automatic changelog for PR #5261 [ci skip] --- html/changelogs/AutoChangeLog-pr-5261.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5261.yml diff --git a/html/changelogs/AutoChangeLog-pr-5261.yml b/html/changelogs/AutoChangeLog-pr-5261.yml new file mode 100644 index 000000000000..300ad1e4cd2e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5261.yml @@ -0,0 +1,4 @@ +author: "realforest2001" +delete-after: True +changes: + - bugfix: "Hijack should no longer end the round immediately." \ No newline at end of file From 1f6e62aafee208eb46444565612b2f344fc32e40 Mon Sep 17 00:00:00 2001 From: forest2001 <41653574+realforest2001@users.noreply.github.com> Date: Thu, 21 Dec 2023 22:16:38 +0000 Subject: [PATCH 20/54] Ghost listening device preference (#5219) # About the pull request Ghosts can now toggle between hearing and not hearing listening devices. ## THIS DEFAULTS TO OFF # Explain why it's good for the game Bit of peace of mind, a lot of text can be duplicated by hearing listening devices as a ghost. # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: add: Ghosts can now toggle hearing listening devices or not. This is dependant on hearing radios and will not function to allow hearing devices without also hearing radios. /:cl: --------- Co-authored-by: Drathek <76988376+Drulikar@users.noreply.github.com> --- code/__DEFINES/__game.dm | 1 + code/game/machinery/telecomms/broadcaster.dm | 7 +++++-- code/game/objects/items/devices/radio/listening_bugs.dm | 2 +- code/game/objects/items/devices/radio/radio.dm | 6 +++--- code/modules/client/preferences.dm | 4 ++++ code/modules/client/preferences_toggles.dm | 9 +++++++++ 6 files changed, 23 insertions(+), 6 deletions(-) diff --git a/code/__DEFINES/__game.dm b/code/__DEFINES/__game.dm index 765603df629c..11c6e335d932 100644 --- a/code/__DEFINES/__game.dm +++ b/code/__DEFINES/__game.dm @@ -124,6 +124,7 @@ block( \ #define CHAT_FFATTACKLOGS (1<<11) #define CHAT_GHOSTHIVEMIND (1<<12) #define CHAT_NICHELOGS (1<<13) +#define CHAT_LISTENINGBUG (1<<14) //toggles_ghost #define GHOST_HEALTH_SCAN (1<<0) diff --git a/code/game/machinery/telecomms/broadcaster.dm b/code/game/machinery/telecomms/broadcaster.dm index f8250fad271c..e992ef02f8a5 100644 --- a/code/game/machinery/telecomms/broadcaster.dm +++ b/code/game/machinery/telecomms/broadcaster.dm @@ -83,7 +83,7 @@ vmask, vmessage, obj/item/device/radio/radio, message, name, job, realname, vname, data, compression, list/level, freq, verbage = "says", - datum/language/speaking = null, volume = RADIO_VOLUME_QUIET) + datum/language/speaking = null, volume = RADIO_VOLUME_QUIET, listening_device = FALSE) /* ###### Prepare the radio connection ###### */ var/display_freq = freq @@ -175,13 +175,16 @@ volume = RADIO_VOLUME_CRITICAL for (var/mob/R in receive) + var/is_ghost = istype(R, /mob/dead/observer) /* --- Loop through the receivers and categorize them --- */ if (R.client && !(R.client.prefs.toggles_chat & CHAT_RADIO)) //Adminning with 80 people on can be fun when you're trying to talk and all you can hear is radios. continue if(istype(R, /mob/new_player)) // we don't want new players to hear messages. rare but generates runtimes. continue // Ghosts hearing all radio chat don't want to hear syndicate intercepts, they're duplicates - if(data == 3 && istype(R, /mob/dead/observer) && R.client && (R.client.prefs.toggles_chat & CHAT_GHOSTRADIO)) + if(data == 3 && is_ghost && R.client && (R.client.prefs.toggles_chat & CHAT_GHOSTRADIO)) + continue + if(is_ghost && listening_device && !(R.client.prefs.toggles_chat & CHAT_LISTENINGBUG)) continue // --- Check for compression --- if(compression > 0) diff --git a/code/game/objects/items/devices/radio/listening_bugs.dm b/code/game/objects/items/devices/radio/listening_bugs.dm index 4a84df071c60..67a91de1bd56 100644 --- a/code/game/objects/items/devices/radio/listening_bugs.dm +++ b/code/game/objects/items/devices/radio/listening_bugs.dm @@ -90,7 +90,7 @@ var/processed_verb = "[SPAN_RED("\[LSTN [nametag]\]")] [verb]" if(broadcasting) if(get_dist(src, M) <= 7) - talk_into(M, msg,null,processed_verb,speaking) + talk_into(M, msg, null, processed_verb, speaking, listening_device = TRUE) /obj/item/device/radio/listening_bug/afterattack(atom/target_atom, mob/user as mob, proximity) if(!ready_to_disguise) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index c628758c74e8..43eb1810d700 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -206,7 +206,7 @@ // If we were to send to a channel we don't have, drop it. return null -/obj/item/device/radio/talk_into(mob/living/M as mob, message, channel, verb = "says", datum/language/speaking = null) +/obj/item/device/radio/talk_into(mob/living/M as mob, message, channel, verb = "says", datum/language/speaking = null, listening_device = FALSE) if(!on) return // the device has to be on // Fix for permacell radios, but kinda eh about actually fixing them. if(!M || !message) return @@ -297,11 +297,11 @@ if(use_volume) Broadcast_Message(connection, M, voicemask, pick(M.speak_emote), src, message, displayname, jobname, real_name, M.voice_name, - filter_type, 0, target_zs, connection.frequency, verb, speaking, volume) + filter_type, 0, target_zs, connection.frequency, verb, speaking, volume, listening_device) else Broadcast_Message(connection, M, voicemask, pick(M.speak_emote), src, message, displayname, jobname, real_name, M.voice_name, - filter_type, 0, target_zs, connection.frequency, verb, speaking, RADIO_VOLUME_QUIET) + filter_type, 0, target_zs, connection.frequency, verb, speaking, RADIO_VOLUME_QUIET, listening_device) /obj/item/device/radio/proc/get_target_zs(frequency) var/turf/position = get_turf(src) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 6c52b497f9a3..c11d35451656 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -573,6 +573,7 @@ GLOBAL_LIST_INIT(bgstate_options, list( dat += "Ghost Ears: [(toggles_chat & CHAT_GHOSTEARS) ? "All Speech" : "Nearest Creatures"]
" dat += "Ghost Sight: [(toggles_chat & CHAT_GHOSTSIGHT) ? "All Emotes" : "Nearest Creatures"]
" dat += "Ghost Radio: [(toggles_chat & CHAT_GHOSTRADIO) ? "All Chatter" : "Nearest Speakers"]
" + dat += "Ghost Spy Radio: [(toggles_chat & CHAT_LISTENINGBUG) ? "Hear" : "Silence"] listening devices
" dat += "Ghost Hivemind: [(toggles_chat & CHAT_GHOSTHIVEMIND) ? "Show Hivemind" : "Hide Hivemind"]
" dat += "Abovehead Chat: [lang_chat_disabled ? "Hide" : "Show"]
" dat += "Abovehead Emotes: [(toggles_langchat & LANGCHAT_SEE_EMOTES) ? "Show" : "Hide"]
" @@ -1832,6 +1833,9 @@ GLOBAL_LIST_INIT(bgstate_options, list( if("ghost_radio") toggles_chat ^= CHAT_GHOSTRADIO + if("ghost_spyradio") + toggles_chat ^= CHAT_LISTENINGBUG + if("ghost_hivemind") toggles_chat ^= CHAT_GHOSTHIVEMIND diff --git a/code/modules/client/preferences_toggles.dm b/code/modules/client/preferences_toggles.dm index 6fe334a2a0ab..d246a17bf5c0 100644 --- a/code/modules/client/preferences_toggles.dm +++ b/code/modules/client/preferences_toggles.dm @@ -602,6 +602,14 @@ to_chat(src,SPAN_BOLDNOTICE( "As a ghost, you will now [(prefs.toggles_chat & CHAT_GHOSTRADIO) ? "hear all radio chat in the world" : "only hear from nearby speakers"].")) prefs.save_preferences() +/client/proc/toggle_ghost_spyradio() + set name = "Toggle GhostSpyRadio" + set category = "Preferences.Ghost" + set desc = "Toggle between hearing listening devices or not." + prefs.toggles_chat ^= CHAT_LISTENINGBUG + to_chat(src,SPAN_BOLDNOTICE( "As a ghost, you will [(prefs.toggles_chat & CHAT_LISTENINGBUG) ? "now" : "no longer"] hear listening devices as a ghost.")) + prefs.save_preferences() + /client/proc/toggle_ghost_hud() set name = "Toggle Ghost HUDs" set category = "Preferences.Ghost" @@ -757,6 +765,7 @@ GLOBAL_LIST_INIT(ghost_prefs_verbs, list( /client/proc/toggle_ghost_ears, /client/proc/toggle_ghost_sight, /client/proc/toggle_ghost_radio, + /client/proc/toggle_ghost_spyradio, /client/proc/toggle_ghost_hivemind, /client/proc/deadchat, /client/proc/toggle_ghost_hud, From 3186aff5a9bd20cef5dfdf59e879e90609a691b3 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Thu, 21 Dec 2023 22:24:57 +0000 Subject: [PATCH 21/54] Automatic changelog for PR #5219 [ci skip] --- html/changelogs/AutoChangeLog-pr-5219.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5219.yml diff --git a/html/changelogs/AutoChangeLog-pr-5219.yml b/html/changelogs/AutoChangeLog-pr-5219.yml new file mode 100644 index 000000000000..701145dfe419 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5219.yml @@ -0,0 +1,4 @@ +author: "realforest2001" +delete-after: True +changes: + - rscadd: "Ghosts can now toggle hearing listening devices or not. This is dependant on hearing radios and will not function to allow hearing devices without also hearing radios." \ No newline at end of file From 05691b4849643499b572762d17823ca0e5068972 Mon Sep 17 00:00:00 2001 From: cuberound <122645057+cuberound@users.noreply.github.com> Date: Thu, 21 Dec 2023 23:38:38 +0100 Subject: [PATCH 22/54] Fixes NE DS doorgun deployment bug (#5213) # About the pull request fixes #5236 fixes the issue that makes DS doorgun deploy itself into DS when placed on NE gunslot # Explain why it's good for the game doorgun in wall bad # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: fix: bad DS doorgun placement /:cl: --------- Co-authored-by: Drathek <76988376+Drulikar@users.noreply.github.com> Co-authored-by: harryob --- code/modules/cm_marines/dropship_equipment.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/cm_marines/dropship_equipment.dm b/code/modules/cm_marines/dropship_equipment.dm index b50198095aab..bb3e642c4ac9 100644 --- a/code/modules/cm_marines/dropship_equipment.dm +++ b/code/modules/cm_marines/dropship_equipment.dm @@ -339,9 +339,10 @@ if(ship_base.base_category == DROPSHIP_WEAPON) switch(dir) if(NORTH) - if( istype(get_step(src, WEST), /turf/open) ) + var/step_contents = get_step(src, EAST).contents + if(locate(/obj/structure) in step_contents) deployed_mg.pixel_x = 5 - else if ( istype(get_step(src, EAST), /turf/open) ) + else deployed_mg.pixel_x = -5 if(EAST) deployed_mg.pixel_y = 9 @@ -368,12 +369,11 @@ if(ship_base.base_category == DROPSHIP_WEAPON) switch(dir) if(NORTH) - if( istype(get_step(src, WEST), /turf/open) ) + var/step_contents = get_step(src, EAST).contents + if(locate(/obj/structure) in step_contents) deployed_mg.forceMove(get_step(src, WEST)) - else if ( istype(get_step(src, EAST), /turf/open) ) - deployed_mg.forceMove(get_step(src, EAST)) else - deployed_mg.forceMove(get_step(src, NORTH)) + deployed_mg.forceMove(get_step(src, EAST)) if(EAST) deployed_mg.forceMove(get_step(src, SOUTH)) if(WEST) From 98a3b6f78e43fad3732498daf68b6301203b4ece Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Thu, 21 Dec 2023 22:49:18 +0000 Subject: [PATCH 23/54] Automatic changelog for PR #5213 [ci skip] --- html/changelogs/AutoChangeLog-pr-5213.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5213.yml diff --git a/html/changelogs/AutoChangeLog-pr-5213.yml b/html/changelogs/AutoChangeLog-pr-5213.yml new file mode 100644 index 000000000000..80fce0fb5c8e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5213.yml @@ -0,0 +1,4 @@ +author: "cuberound" +delete-after: True +changes: + - bugfix: "bad DS doorgun placement" \ No newline at end of file From 425a5a130699f72d4137703d583dee751acc3211 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Fri, 22 Dec 2023 00:48:40 +0000 Subject: [PATCH 24/54] Fixes fire resist spamming (#5253) # About the pull request Fixes #5247 and fixes #5124 by changing the `if(!is_mob_incapacitated(TRUE))` check near the end of `/mob/living/verb/resist()` to `if(mobility_flags & MOBILITY_MOVE)`. This was causing the bug because `is_mob_incapacitated()` doesn't check for the `WEAKEN` effect, which is what is added by `resist_fire()`. (Editing `is_mob_incapacitated()` so that it checks for it would probably work too, but since TG uses the `MOBILITY_MOVE` thing and this system is ported from there, I figured I'd just go with that.) # Explain why it's good for the game Fixes fire being too easy to remove. # Testing Photographs and Procedure
Screenshots & Videos **Before:** https://github.com/cmss13-devs/cmss13/assets/57483089/0b5b6777-4286-4eb1-9293-09ffcaa4fb4b **After:** https://github.com/cmss13-devs/cmss13/assets/57483089/84097909-a081-4c4f-8400-59e955b8a443 (Ignore the "There are no pipes within range" message, that's from one of my macros.)
# Changelog :cl: fix: Fixed being able to remove multiple stacks of fire by spamming resist. /:cl: --- .../mob/living/carbon/xenomorph/Xenomorph.dm | 19 +++++++++---------- code/modules/mob/living/living_verbs.dm | 17 ++++------------- 2 files changed, 13 insertions(+), 23 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm index 3095e805be6a..e54383a07b9d 100644 --- a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm +++ b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm @@ -1011,22 +1011,21 @@ SPAN_NOTICE("We extinguish ourselves."), null, 5) /mob/living/carbon/xenomorph/resist_restraints() + if(!legcuffed) + return var/breakouttime = legcuffed.breakouttime - next_move = world.time + 100 - last_special = world.time + 10 + next_move = world.time + 10 SECONDS + last_special = world.time + 1 SECONDS var/displaytime = max(1, round(breakouttime / 600)) //Minutes - to_chat(src, SPAN_WARNING("We attempt to remove [legcuffed]. (This will take around [displaytime] minute(s) and we must stand still)")) - for(var/mob/O in viewers(src)) - O.show_message(SPAN_DANGER("[usr] attempts to remove [legcuffed]!"), SHOW_MESSAGE_VISIBLE) - if(!do_after(src, breakouttime, INTERRUPT_NO_NEEDHAND^INTERRUPT_RESIST, BUSY_ICON_HOSTILE)) + visible_message(SPAN_DANGER("[src] attempts to remove [legcuffed]!"), + SPAN_WARNING("We attempt to remove [legcuffed]. (This will take around [displaytime] minute\s and we must stand still)")) + if(!do_after(src, breakouttime, INTERRUPT_NO_NEEDHAND ^ INTERRUPT_RESIST, BUSY_ICON_HOSTILE)) return if(!legcuffed || buckled) - return // time leniency for lag which also might make this whole thing pointless but the server - for(var/mob/O in viewers(src))// lags so hard that 40s isn't lenient enough - Quarxink - O.show_message(SPAN_DANGER("[src] manages to remove [legcuffed]!"), SHOW_MESSAGE_VISIBLE) - to_chat(src, SPAN_NOTICE(" We successfully remove [legcuffed].")) + return + visible_message(SPAN_DANGER("[src] manages to remove [legcuffed]!"), SPAN_NOTICE("We successfully remove [legcuffed].")) drop_inv_item_on_ground(legcuffed) /mob/living/carbon/xenomorph/IgniteMob() diff --git a/code/modules/mob/living/living_verbs.dm b/code/modules/mob/living/living_verbs.dm index 3a97725a6fc4..3f5f5403818a 100644 --- a/code/modules/mob/living/living_verbs.dm +++ b/code/modules/mob/living/living_verbs.dm @@ -170,25 +170,16 @@ return //breaking out of handcuffs & putting out fires - if(!is_mob_incapacitated(TRUE)) + if(mobility_flags & MOBILITY_MOVE) if(on_fire) resist_fire() - - var/on_acid = FALSE - for(var/datum/effects/acid/A in effects_list) - on_acid = TRUE - break - if(on_acid) + if(is_type_in_list(/datum/effects/acid, effects_list)) resist_acid() + if(last_special <= world.time) + resist_restraints() SEND_SIGNAL(src, COMSIG_MOB_RESISTED) - if(!iscarbon(src)) - return - var/mob/living/carbon/C = src - if((C.handcuffed || C.legcuffed) && (C.mobility_flags & MOBILITY_MOVE) && (C.last_special <= world.time)) - resist_restraints() - /mob/living/proc/resist_buckle() buckled.manual_unbuckle(src) From de541db9ede7dc37fc5571b68b88fda4349c25a0 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Fri, 22 Dec 2023 00:57:05 +0000 Subject: [PATCH 25/54] Automatic changelog for PR #5253 [ci skip] --- html/changelogs/AutoChangeLog-pr-5253.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5253.yml diff --git a/html/changelogs/AutoChangeLog-pr-5253.yml b/html/changelogs/AutoChangeLog-pr-5253.yml new file mode 100644 index 000000000000..1a95d882b7f3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5253.yml @@ -0,0 +1,4 @@ +author: "SabreML" +delete-after: True +changes: + - bugfix: "Fixed being able to remove multiple stacks of fire by spamming resist." \ No newline at end of file From c0c308fce87d4600c916ed228daf373cce12ad96 Mon Sep 17 00:00:00 2001 From: Doubleumc Date: Thu, 21 Dec 2023 19:57:13 -0500 Subject: [PATCH 26/54] Refactors Get_Angle() and related procs (#5212) # About the pull request To begin, fixes https://github.com/cmss13-devs/cmss13/issues/5206. `Get_Compass_Dir()` needed atoms with valid coordinates, but didn't test for them. Adding some checks and `get_turf`s resolved that issue. But then if `Get_Compass_Dir()` needed those checks, `Get_Angle()` did too. And `get_angle()` (lowercase!). And `get_angle_raw()`. And half of `Get_Compass_Dir()` was just duplicated code from `Get_Angle()`. And-- So I took inspiration from how TG and TGMC did it and refactored the lot. https://github.com/tgstation/tgstation/blob/32fb42d19e0c763f7e5e3dafb9844d0f05e86630/code/__HELPERS/maths.dm#L1-L17 https://github.com/tgstation/TerraGov-Marine-Corps/blob/3963b2d5b89dd60b88a7a1534ee77bd654abe953/code/__HELPERS/unsorted.dm#L99-L159 REMOVED: - `get_angle_raw()` - never used - `get_angle()` - used 3 places, identical use case to `Get_Angle()` - `get_pixel_angle()` - used once, replaced by `delta_to_angle()` ADDED: - `angle_to_dir()` - pulls out the only unique thing `Get_Compass_Dir()` actually did - only difference from TGMC is it retains our angle breakpoints instead of theirs - `delta_to_angle()` - the only thing that actually calculates an angle, uses the 2-argument version of `arctan()` CHANGED: - `Get_Angle()` - removed the `tile_bound` branch (never used), added checks and `get_turf`s, position deltas passed to `delta_to_angle()` - only difference from TGMC is it retains `return 0`s instead of `CRASH`es, retains `get_pixel_position_x`/`y`, and passing to `delta_to_angle()` - `Get_Compass_Dir()` - gutted, now just a convenience function of `Get_Angle()` piped into `angle_to_dir()` # Explain why it's good for the game Having multiple unused or barely used functions trying to do the same thing makes code maintenance harder. # Testing Photographs and Procedure - [x] doesn't crash - [x] security tuner APC detection works - [x] SL/queen tracker works - [x] bullets face the right way # Changelog :cl: fix: Fixed security tuner not dispalying direction to room's APC refactor: Refactored code handling angles /:cl: --- code/__HELPERS/#maths.dm | 44 +------------- code/__HELPERS/unsorted.dm | 57 ++++++++----------- code/modules/cm_marines/radar.dm | 2 +- code/modules/cm_marines/smartgun_mount.dm | 2 +- code/modules/projectiles/projectile.dm | 15 +---- code/modules/vehicles/hardpoints/hardpoint.dm | 2 +- 6 files changed, 31 insertions(+), 91 deletions(-) diff --git a/code/__HELPERS/#maths.dm b/code/__HELPERS/#maths.dm index ccd077003e62..6ea534a79923 100644 --- a/code/__HELPERS/#maths.dm +++ b/code/__HELPERS/#maths.dm @@ -8,12 +8,6 @@ GLOBAL_LIST_INIT(sqrtTable, list(1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, // MATH DEFINES -#define Atan2(x, y) (!x && !y ? 0 : \ - (y >= 0 ? \ - arccos(x / sqrt(x*x + y*y)) : \ - -(arccos(x / sqrt(x*x + y*y))) \ - ) \ - ) #define Ceiling(x) (-round(-x)) #define Clamp(val, min_val, max_val) (max(min_val, min(val, max_val))) #define CLAMP01(x) (clamp(x, 0, 1)) @@ -78,7 +72,7 @@ GLOBAL_LIST_INIT(sqrtTable, list(1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, // Convert to polar coordinates var/radius = sqrt(relative_coords[1]**2 + relative_coords[2]**2) - var/phi = Atan2(relative_coords[1], relative_coords[2]) + var/phi = arctan(relative_coords[1], relative_coords[2]) // Rotate the point around the axis phi += degrees @@ -106,42 +100,6 @@ GLOBAL_LIST_INIT(sqrtTable, list(1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, return "[round((powerused * 0.000001),0.001)] MW" return "[round((powerused * 0.000000001),0.0001)] GW" -///Calculate the angle between two movables and the west|east coordinate -/proc/get_angle(atom/movable/start, atom/movable/end)//For beams. - if(!start || !end) - return 0 - var/dy =(32 * end.y + end.pixel_y) - (32 * start.y + start.pixel_y) - var/dx =(32 * end.x + end.pixel_x) - (32 * start.x + start.pixel_x) - if(!dy) - return (dx >= 0) ? 90 : 270 - . = arctan(dx/dy) - if(dy < 0) - . += 180 - else if(dx < 0) - . += 360 - -/// Angle between two arbitrary points and horizontal line same as [/proc/get_angle] -/proc/get_angle_raw(start_x, start_y, start_pixel_x, start_pixel_y, end_x, end_y, end_pixel_x, end_pixel_y) - var/dy = (32 * end_y + end_pixel_y) - (32 * start_y + start_pixel_y) - var/dx = (32 * end_x + end_pixel_x) - (32 * start_x + start_pixel_x) - if(!dy) - return (dx >= 0) ? 90 : 270 - . = arctan(dx/dy) - if(dy < 0) - . += 180 - else if(dx < 0) - . += 360 - -///for getting the angle when animating something's pixel_x and pixel_y -/proc/get_pixel_angle(y, x) - if(!y) - return (x >= 0) ? 90 : 270 - . = arctan(x/y) - if(y < 0) - . += 180 - else if(x < 0) - . += 360 - /** * Get a list of turfs in a line from `starting_atom` to `ending_atom`. * diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 0782826a4dc9..7425046da7c7 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -99,38 +99,29 @@ var/atom/movable/big_subject = subject . += (big_subject.bound_height - world.icon_size) / 2 -/proc/Get_Angle(atom/start,atom/end, tile_bound = FALSE)//For beams. - if(!start || !end) return 0 - if(!start.z || !end.z) return 0 //Atoms are not on turfs. - var/dx - var/dy - if(tile_bound) - dy=end.y-start.y - dx=end.x-start.x - else - dy = get_pixel_position_y(end) - get_pixel_position_y(start) - dx = get_pixel_position_x(end) - get_pixel_position_x(start) - if(!dy) - return (dx>=0)?90:270 - .=arctan(dx/dy) - if(dy<0) - .+=180 - else if(dx<0) - .+=360 - -/proc/Get_Compass_Dir(atom/start,atom/end)//get_dir() only considers an object to be north/south/east/west if there is zero deviation. This uses rounding instead. - if(!start || !end) return 0 - if(!start.z || !end.z) return 0 //Atoms are not on turfs. - var/dy=end.y-start.y - var/dx=end.x-start.x - if(!dy) - return (dx>=0)?4:8 - var/angle=arctan(dx/dy) - if(dy<0) - angle+=180 - else if(dx<0) - angle+=360 - +/// Calculate the angle between two atoms. Uses north-clockwise convention: NORTH = 0, EAST = 90, etc. +/proc/Get_Angle(atom/start, atom/end)//For beams. + if(!start || !end) + return 0 + if(!start.z) + start = get_turf(start) + if(!start) + return 0 //Atoms are not on turfs. + if(!end.z) + end = get_turf(end) + if(!end) + return 0 //Atoms are not on turfs. + var/dy = get_pixel_position_y(end) - get_pixel_position_y(start) + var/dx = get_pixel_position_x(end) - get_pixel_position_x(start) + return delta_to_angle(dx, dy) + +/// Calculate the angle produced by a pair of x and y deltas. Uses north-clockwise convention: NORTH = 0, EAST = 90, etc. +/proc/delta_to_angle(dx, dy) + . = arctan(dy, dx) //y-then-x results in north-clockwise convention: https://en.wikipedia.org/wiki/Atan2#East-counterclockwise,_north-clockwise_and_south-clockwise_conventions,_etc. + if(. < 0) + . += 360 + +/proc/angle_to_dir(angle) switch(angle) //diagonal directions get priority over straight directions in edge cases if (22.5 to 67.5) return NORTHEAST @@ -151,6 +142,8 @@ else return NORTH +/proc/Get_Compass_Dir(atom/start, atom/end)//get_dir() only considers an object to be north/south/east/west if there is zero deviation. This uses rounding instead. + return angle_to_dir(Get_Angle(get_turf(start), get_turf(end))) // Among other things, used by flamethrower and boiler spray to calculate if flame/spray can pass through. // Returns an atom for specific effects (primarily flames and acid spray) that damage things upon contact diff --git a/code/modules/cm_marines/radar.dm b/code/modules/cm_marines/radar.dm index f6751a8fe913..d088b68919b0 100644 --- a/code/modules/cm_marines/radar.dm +++ b/code/modules/cm_marines/radar.dm @@ -95,7 +95,7 @@ if(get_dist_euclidian(here_turf, target_turf) > 24) userot = TRUE - rot = round(get_angle(here_turf, target_turf)) + rot = round(Get_Angle(here_turf, target_turf)) else if(target_turf.z > here_turf.z) pointer="caret-up" diff --git a/code/modules/cm_marines/smartgun_mount.dm b/code/modules/cm_marines/smartgun_mount.dm index 308fb79574f6..d4e84195b0ed 100644 --- a/code/modules/cm_marines/smartgun_mount.dm +++ b/code/modules/cm_marines/smartgun_mount.dm @@ -698,7 +698,7 @@ if(!istype(in_chamber, /obj/projectile)) return - var/angle = get_angle(T, U) + var/angle = Get_Angle(T, U) if((dir == NORTH) && (angle > 180) && (abs(360 - angle) > shoot_degree)) // If north and shooting to the left, we do some extra math return diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index d6191898c8c2..38ee9c55b2a8 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -246,20 +246,9 @@ vis_source_pixel_x = process_start_pixel_x vis_source_pixel_y = process_start_pixel_y - angle = 0 // Stolen from Get_Angle() basically var/dx = p_x + aim_turf.x * 32 - source_turf.x * 32 // todo account for firer offsets var/dy = p_y + aim_turf.y * 32 - source_turf.y * 32 - if(!dy) - if(dx >= 0) - angle = 90 - else - angle = 280 - else - angle = arctan(dx/dy) - if(dy < 0) - angle += 180 - else if(dx < 0) - angle += 360 + angle = delta_to_angle(dx, dy) /obj/projectile/process(delta_time) . = PROC_RETURN_SLEEP @@ -301,7 +290,7 @@ //Change the bullet angle to its visual path - var/vis_angle = get_pixel_angle(x = pixel_x_target - pixel_x_source, y = pixel_y_target - pixel_y_source) //naming vars because the proc takes y then x and that's WEIRD + var/vis_angle = delta_to_angle(pixel_x_target - pixel_x_source, pixel_y_target - pixel_y_source) var/matrix/rotate = matrix() rotate.Turn(vis_angle) apply_transform(rotate) diff --git a/code/modules/vehicles/hardpoints/hardpoint.dm b/code/modules/vehicles/hardpoints/hardpoint.dm index acdefca18fd2..21e3e4b29f89 100644 --- a/code/modules/vehicles/hardpoints/hardpoint.dm +++ b/code/modules/vehicles/hardpoints/hardpoint.dm @@ -688,7 +688,7 @@ if(muzzle_turf == target_turf) return FALSE - var/angle_diff = SIMPLIFY_DEGREES(dir2angle(dir) - get_angle(muzzle_turf, target_turf)) + var/angle_diff = SIMPLIFY_DEGREES(dir2angle(dir) - Get_Angle(muzzle_turf, target_turf)) if(angle_diff < -180) angle_diff += 360 else if(angle_diff > 180) From 53229a73b1e8f3b24ac2120dc4776d0745cc122f Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Fri, 22 Dec 2023 01:08:32 +0000 Subject: [PATCH 27/54] Automatic changelog for PR #5212 [ci skip] --- html/changelogs/AutoChangeLog-pr-5212.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5212.yml diff --git a/html/changelogs/AutoChangeLog-pr-5212.yml b/html/changelogs/AutoChangeLog-pr-5212.yml new file mode 100644 index 000000000000..13b3c1c55367 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5212.yml @@ -0,0 +1,5 @@ +author: "Doubleumc" +delete-after: True +changes: + - bugfix: "Fixed security tuner not dispalying direction to room's APC" + - refactor: "Refactored code handling angles" \ No newline at end of file From 9c6b56b59b252e02d6c9e41ca005da0f3de34138 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 22 Dec 2023 01:09:59 +0000 Subject: [PATCH 28/54] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-5058.yml | 4 ---- html/changelogs/AutoChangeLog-pr-5212.yml | 5 ----- html/changelogs/AutoChangeLog-pr-5213.yml | 4 ---- html/changelogs/AutoChangeLog-pr-5219.yml | 4 ---- html/changelogs/AutoChangeLog-pr-5241.yml | 4 ---- html/changelogs/AutoChangeLog-pr-5253.yml | 4 ---- html/changelogs/AutoChangeLog-pr-5259.yml | 4 ---- html/changelogs/AutoChangeLog-pr-5261.yml | 4 ---- html/changelogs/AutoChangeLog-pr-5264.yml | 4 ---- html/changelogs/AutoChangeLog-pr-5268.yml | 4 ---- html/changelogs/archive/2023-12.yml | 23 +++++++++++++++++++++++ 11 files changed, 23 insertions(+), 41 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-5058.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5212.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5213.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5219.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5241.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5253.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5259.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5261.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5264.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5268.yml diff --git a/html/changelogs/AutoChangeLog-pr-5058.yml b/html/changelogs/AutoChangeLog-pr-5058.yml deleted file mode 100644 index 6edfaed15ce4..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5058.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Steelpoint" -delete-after: True -changes: - - rscadd: "Factions are now properly separated in the observe menu as a ghost." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5212.yml b/html/changelogs/AutoChangeLog-pr-5212.yml deleted file mode 100644 index 13b3c1c55367..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5212.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Doubleumc" -delete-after: True -changes: - - bugfix: "Fixed security tuner not dispalying direction to room's APC" - - refactor: "Refactored code handling angles" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5213.yml b/html/changelogs/AutoChangeLog-pr-5213.yml deleted file mode 100644 index 80fce0fb5c8e..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5213.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "cuberound" -delete-after: True -changes: - - bugfix: "bad DS doorgun placement" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5219.yml b/html/changelogs/AutoChangeLog-pr-5219.yml deleted file mode 100644 index 701145dfe419..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5219.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "realforest2001" -delete-after: True -changes: - - rscadd: "Ghosts can now toggle hearing listening devices or not. This is dependant on hearing radios and will not function to allow hearing devices without also hearing radios." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5241.yml b/html/changelogs/AutoChangeLog-pr-5241.yml deleted file mode 100644 index acb4b1887337..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5241.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "InsaneRed" -delete-after: True -changes: - - code_imp: "Converts xenomorph cooldowns into SECONDS" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5253.yml b/html/changelogs/AutoChangeLog-pr-5253.yml deleted file mode 100644 index 1a95d882b7f3..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5253.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SabreML" -delete-after: True -changes: - - bugfix: "Fixed being able to remove multiple stacks of fire by spamming resist." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5259.yml b/html/changelogs/AutoChangeLog-pr-5259.yml deleted file mode 100644 index 037aa676912b..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5259.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ben10083" -delete-after: True -changes: - - rscdel: " Working Joes can no longer drink" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5261.yml b/html/changelogs/AutoChangeLog-pr-5261.yml deleted file mode 100644 index 300ad1e4cd2e..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5261.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "realforest2001" -delete-after: True -changes: - - bugfix: "Hijack should no longer end the round immediately." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5264.yml b/html/changelogs/AutoChangeLog-pr-5264.yml deleted file mode 100644 index a7fef11f72b4..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5264.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Cthulhu80" -delete-after: True -changes: - - ui: "tacmap ui tweaks" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5268.yml b/html/changelogs/AutoChangeLog-pr-5268.yml deleted file mode 100644 index 1bed5f11b860..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5268.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "fira" -delete-after: True -changes: - - bugfix: "Fix Xmas helmets getting overriden by map camouflage." \ No newline at end of file diff --git a/html/changelogs/archive/2023-12.yml b/html/changelogs/archive/2023-12.yml index 2e420ea0d778..d1140d064c2a 100644 --- a/html/changelogs/archive/2023-12.yml +++ b/html/changelogs/archive/2023-12.yml @@ -408,3 +408,26 @@ - bugfix: Lurker can tail jab over ledges and window frames. Drathek: - imageadd: Update weeded warrior sprites to be compatible with knight strain sprite +2023-12-22: + Ben10083: + - rscdel: ' Working Joes can no longer drink' + Cthulhu80: + - ui: tacmap ui tweaks + Doubleumc: + - bugfix: Fixed security tuner not dispalying direction to room's APC + - refactor: Refactored code handling angles + InsaneRed: + - code_imp: Converts xenomorph cooldowns into SECONDS + SabreML: + - bugfix: Fixed being able to remove multiple stacks of fire by spamming resist. + Steelpoint: + - rscadd: Factions are now properly separated in the observe menu as a ghost. + cuberound: + - bugfix: bad DS doorgun placement + fira: + - bugfix: Fix Xmas helmets getting overriden by map camouflage. + realforest2001: + - bugfix: Hijack should no longer end the round immediately. + - rscadd: Ghosts can now toggle hearing listening devices or not. This is dependant + on hearing radios and will not function to allow hearing devices without also + hearing radios. From 706901af54f5d5eba9d52051f44118e3bdd63e3f Mon Sep 17 00:00:00 2001 From: BadAtThisGame <79063506+BadAtThisGame302@users.noreply.github.com> Date: Fri, 22 Dec 2023 19:33:02 +0200 Subject: [PATCH 29/54] Liason typo fix and Goon construction buff. (#5227) # About the pull request Liason is not spelt like that, fixes the USS Almayer area and the ICC path. Goon could not build cades due to skills = and not additional_skills allowing the parent, survivor, to give construction one to it's subpaths. # Explain why it's good for the game Spell check good I am pretty sure that the Goon is the only survivor not being able to build basic cades, I don't see why we restrict that considering that all the other security survivors are able to build them. # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: balance: rebalanced goon skillset to include construction 1 spellcheck: fixed Liason area typos to Liaison spellcheck: fixed the ICC Liason to ICC Liaison typo /:cl: --------- Co-authored-by: Jeff Watchson --- code/datums/skills/civilian.dm | 2 +- code/game/area/almayer.dm | 2 +- code/game/machinery/doors/shutters.dm | 2 +- .../survivors/corsat/preset_corsat.dm | 4 +- .../new_varadero/preset_new_varadero.dm | 4 +- .../gear_presets/survivors/survivors.dm | 6 +- maps/corsat.json | 2 +- maps/desert_dam.json | 2 +- .../LV522_Chances_Claim.dmm | 2 +- maps/map_files/LV624/LV624.dmm | 4 +- maps/map_files/USS_Almayer/USS_Almayer.dmm | 172 +++++++++--------- maps/new_varadero.json | 2 +- 12 files changed, 102 insertions(+), 102 deletions(-) diff --git a/code/datums/skills/civilian.dm b/code/datums/skills/civilian.dm index 9b55adc9b1f4..53b7cb8c2194 100644 --- a/code/datums/skills/civilian.dm +++ b/code/datums/skills/civilian.dm @@ -70,7 +70,7 @@ CIVILIAN /datum/skills/civilian/survivor/goon name = "Survivor Goon" - skills = list( + additional_skills = list( SKILL_CQC = SKILL_CQC_TRAINED, SKILL_POLICE = SKILL_POLICE_SKILLED, SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, diff --git a/code/game/area/almayer.dm b/code/game/area/almayer.dm index d9ff42f4f55c..60be3bdfacb8 100644 --- a/code/game/area/almayer.dm +++ b/code/game/area/almayer.dm @@ -119,7 +119,7 @@ fake_zlevel = 1 // upperdeck flags_area = AREA_NOTUNNEL -/area/almayer/command/corporateliason +/area/almayer/command/corporateliaison name = "\improper Corporate Liaison Office" icon_state = "corporatespace" fake_zlevel = 1 // upperdeck diff --git a/code/game/machinery/doors/shutters.dm b/code/game/machinery/doors/shutters.dm index 2abdf971d724..f91f1f48cade 100644 --- a/code/game/machinery/doors/shutters.dm +++ b/code/game/machinery/doors/shutters.dm @@ -179,7 +179,7 @@ //make a subtype for CL office so it as a proper name. /obj/structure/machinery/door/poddoor/shutters/almayer/cl - name = "\improper Corporate Liason Privacy Shutters" + name = "\improper Corporate Liaison Privacy Shutters" //adding a subtype for CL office to use to secure access to cl office. /obj/structure/machinery/door/poddoor/shutters/almayer/cl/office /obj/structure/machinery/door/poddoor/shutters/almayer/cl/office/door diff --git a/code/modules/gear_presets/survivors/corsat/preset_corsat.dm b/code/modules/gear_presets/survivors/corsat/preset_corsat.dm index f71439b9d7ac..f4267c4454b8 100644 --- a/code/modules/gear_presets/survivors/corsat/preset_corsat.dm +++ b/code/modules/gear_presets/survivors/corsat/preset_corsat.dm @@ -35,11 +35,11 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(new_human), WEAR_FEET) ..() -/datum/equipment_preset/survivor/interstellar_commerce_commission_liason/corsat +/datum/equipment_preset/survivor/interstellar_commerce_commission_liaison/corsat name = "Survivor - Interstellar Commerce Commission Liaison CORSAT" assignment = "Interstellar Commerce Commission Corporate Liaison" -/datum/equipment_preset/survivor/interstellar_commerce_commission_liason/corsat/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/survivor/interstellar_commerce_commission_liaison/corsat/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/formal(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/white(new_human), WEAR_HEAD) diff --git a/code/modules/gear_presets/survivors/new_varadero/preset_new_varadero.dm b/code/modules/gear_presets/survivors/new_varadero/preset_new_varadero.dm index daa3a8ec019b..077adf971092 100644 --- a/code/modules/gear_presets/survivors/new_varadero/preset_new_varadero.dm +++ b/code/modules/gear_presets/survivors/new_varadero/preset_new_varadero.dm @@ -38,11 +38,11 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) ..() -/datum/equipment_preset/survivor/interstellar_commerce_commission_liason/nv +/datum/equipment_preset/survivor/interstellar_commerce_commission_liaison/nv name = "Survivor - Interstellar Commerce Commission Liaison New Varadero" assignment = "Interstellar Commerce Commission Corporate Liaison" -/datum/equipment_preset/survivor/interstellar_commerce_commission_liason/nv/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/survivor/interstellar_commerce_commission_liaison/nv/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/formal(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/white(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest/black(new_human), WEAR_JACKET) diff --git a/code/modules/gear_presets/survivors/survivors.dm b/code/modules/gear_presets/survivors/survivors.dm index f443b46bb177..d6654fdf4c67 100644 --- a/code/modules/gear_presets/survivors/survivors.dm +++ b/code/modules/gear_presets/survivors/survivors.dm @@ -420,7 +420,7 @@ Everything bellow is a parent used as a base for one or multiple maps. // ----- Interstellar Commerce Commission Survivor // Used in Trijent Dam and New Varadero. -/datum/equipment_preset/survivor/interstellar_commerce_commission_liason +/datum/equipment_preset/survivor/interstellar_commerce_commission_liaison name = "Survivor - Interstellar Commerce Commission Liaison" assignment = "Interstellar Commerce Commission Corporate Liaison" skills = /datum/skills/civilian/survivor @@ -431,11 +431,11 @@ Everything bellow is a parent used as a base for one or multiple maps. survivor_variant = CORPORATE_SURVIVOR -/datum/equipment_preset/survivor/interstellar_commerce_commission_liason/New() +/datum/equipment_preset/survivor/interstellar_commerce_commission_liaison/New() . = ..() access = get_access(ACCESS_LIST_CIVIL_LIAISON) -/datum/equipment_preset/survivor/interstellar_commerce_commission_liason/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/survivor/interstellar_commerce_commission_liaison/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited(new_human), WEAR_L_EAR) diff --git a/maps/corsat.json b/maps/corsat.json index 31df51cb5cb8..87a41e840d61 100644 --- a/maps/corsat.json +++ b/maps/corsat.json @@ -13,7 +13,7 @@ "/datum/equipment_preset/survivor/goon", "/datum/equipment_preset/survivor/doctor/corsat", "/datum/equipment_preset/survivor/security/corsat", - "/datum/equipment_preset/survivor/interstellar_commerce_commission_liason/corsat", + "/datum/equipment_preset/survivor/interstellar_commerce_commission_liaison/corsat", "/datum/equipment_preset/survivor/engineer/corsat", "/datum/equipment_preset/survivor/clf", "/datum/equipment_preset/survivor/civilian" diff --git a/maps/desert_dam.json b/maps/desert_dam.json index b4e535e893d6..6df419583cd3 100644 --- a/maps/desert_dam.json +++ b/maps/desert_dam.json @@ -7,7 +7,7 @@ "/datum/equipment_preset/survivor/doctor/trijent", "/datum/equipment_preset/survivor/roughneck", "/datum/equipment_preset/survivor/chaplain/trijent", - "/datum/equipment_preset/survivor/interstellar_commerce_commission_liason", + "/datum/equipment_preset/survivor/interstellar_commerce_commission_liaison", "/datum/equipment_preset/survivor/colonial_marshal", "/datum/equipment_preset/survivor/engineer/trijent", "/datum/equipment_preset/survivor/engineer/trijent/hydro", diff --git a/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm b/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm index 9457ccbe9e9f..f4b3d26d3e93 100644 --- a/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm +++ b/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm @@ -62142,7 +62142,7 @@ /area/lv522/indoors/c_block/casino) "xHz" = ( /obj/structure/machinery/door/airlock/almayer/generic{ - name = "\improper Corporate Liason Office " + name = "\improper Corporate Liaison Office " }, /turf/open/floor/corsat{ icon_state = "marked" diff --git a/maps/map_files/LV624/LV624.dmm b/maps/map_files/LV624/LV624.dmm index ccaf5f201b6f..becac81a1897 100644 --- a/maps/map_files/LV624/LV624.dmm +++ b/maps/map_files/LV624/LV624.dmm @@ -12485,7 +12485,7 @@ "bnz" = ( /obj/structure/machinery/door/airlock/almayer/generic{ dir = 1; - name = "\improper Corporate Liason" + name = "\improper Corporate Liaison" }, /turf/open/floor{ icon_state = "white" @@ -20011,7 +20011,7 @@ "pQn" = ( /obj/structure/machinery/door/airlock/almayer/generic{ locked = 1; - name = "\improper Corporate Liason" + name = "\improper Corporate Liaison" }, /turf/open/floor{ icon_state = "white" diff --git a/maps/map_files/USS_Almayer/USS_Almayer.dmm b/maps/map_files/USS_Almayer/USS_Almayer.dmm index 1c56dc0400ee..a49857355f4f 100644 --- a/maps/map_files/USS_Almayer/USS_Almayer.dmm +++ b/maps/map_files/USS_Almayer/USS_Almayer.dmm @@ -7028,7 +7028,7 @@ /area/almayer/command/cic) "awE" = ( /turf/closed/wall/almayer, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "awF" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/living/numbertwobunks) @@ -9639,7 +9639,7 @@ /area/almayer/living/bridgebunks) "aGt" = ( /turf/open/floor/almayer, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "aGv" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 1 @@ -10753,7 +10753,7 @@ icon_state = "pottedplant_21" }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "aLS" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -11897,7 +11897,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "aRE" = ( /obj/structure/machinery/alarm/almayer{ dir = 1 @@ -12232,7 +12232,7 @@ "aSP" = ( /obj/structure/filingcabinet, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "aSY" = ( /obj/structure/machinery/light/small{ dir = 4 @@ -13066,7 +13066,7 @@ pixel_y = 10 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "aWT" = ( /obj/structure/machinery/door/airlock/almayer/maint{ dir = 1 @@ -13507,7 +13507,7 @@ icon_state = "pipe-c" }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "aZK" = ( /obj/structure/pipes/vents/pump{ dir = 4 @@ -13602,12 +13602,12 @@ }, /obj/structure/machinery/faxmachine/corporate/liaison, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "bac" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/computer/emails, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "bad" = ( /obj/structure/machinery/light, /turf/open/floor/almayer, @@ -13693,7 +13693,7 @@ "baD" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "baG" = ( /obj/structure/largecrate/random/barrel/blue, /turf/open/floor/almayer, @@ -15127,7 +15127,7 @@ "bhM" = ( /obj/structure/safe/cl_office, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "bhT" = ( /obj/structure/cargo_container/lockmart/mid{ layer = 3.1; @@ -16477,7 +16477,7 @@ icon_state = "pipe-c" }, /turf/open/floor/carpet, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "bpj" = ( /obj/structure/dropship_equipment/fulton_system, /turf/open/floor/almayer{ @@ -16681,11 +16681,11 @@ dir = 4 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "bqw" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "bqF" = ( /obj/structure/dropship_equipment/fuel/fuel_enhancer, /turf/open/floor/almayer{ @@ -16975,11 +16975,11 @@ }, /obj/structure/surface/table/woodentable/fancy, /turf/open/floor/carpet, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "bse" = ( /obj/structure/machinery/computer/arcade, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "bsj" = ( /obj/structure/machinery/line_nexter/med{ dir = 4 @@ -17293,7 +17293,7 @@ dir = 4 }, /turf/open/floor/carpet, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "btC" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 1 @@ -17565,7 +17565,7 @@ serial_number = 10 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "bvd" = ( /obj/structure/machinery/constructable_frame, /turf/open/floor/almayer{ @@ -17588,7 +17588,7 @@ "bvl" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/almayer, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "bvr" = ( /obj/structure/bed/chair/office/dark, /obj/effect/decal/warning_stripes{ @@ -17687,7 +17687,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "bvV" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -18167,14 +18167,14 @@ dir = 8 }, /turf/open/floor/almayer, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "byq" = ( /obj/structure/machinery/light{ dir = 4 }, /obj/structure/disposalpipe/segment, /turf/open/floor/almayer, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "byr" = ( /obj/structure/largecrate/random/barrel/green, /turf/open/floor/almayer{ @@ -18345,7 +18345,7 @@ /obj/structure/window/reinforced/tinted/frosted, /obj/item/tool/soap/deluxe, /turf/open/floor/plating/plating_catwalk, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "bzy" = ( /turf/closed/wall/almayer, /area/almayer/hallways/vehiclehangar) @@ -18747,7 +18747,7 @@ pixel_x = -32 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "bBl" = ( /obj/structure/machinery/light{ dir = 4 @@ -23807,7 +23807,7 @@ /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/disposalpipe/segment, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "bXw" = ( /obj/structure/machinery/bioprinter{ stored_metal = 125 @@ -23825,7 +23825,7 @@ pixel_y = 25 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "bXH" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 4 @@ -23978,7 +23978,7 @@ /area/almayer/hull/upper_hull/u_a_s) "bYj" = ( /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "bYn" = ( /turf/closed/wall/almayer/outer, /area/almayer/engineering/upper_engineering/port) @@ -25388,7 +25388,7 @@ }, /obj/item/device/portable_vendor/corporate, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "cer" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/almayer{ @@ -27395,7 +27395,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "csz" = ( /turf/open/floor/almayer{ icon_state = "plate" @@ -27532,7 +27532,7 @@ dir = 1 }, /turf/open/floor/almayer, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "cvH" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -29413,7 +29413,7 @@ }, /obj/item/device/camera, /turf/open/floor/almayer, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "dhR" = ( /obj/structure/machinery/door/poddoor/shutters/almayer/open{ dir = 4; @@ -29529,7 +29529,7 @@ icon_state = "pottedplant_10" }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "djM" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/reagentgrinder/industrial{ @@ -29852,7 +29852,7 @@ pixel_x = 24 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "dqb" = ( /obj/structure/sign/safety/security{ pixel_x = -16 @@ -31322,7 +31322,7 @@ /turf/open/floor/almayer{ icon_state = "dark_sterile" }, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "dTt" = ( /obj/structure/surface/table/almayer, /obj/item/device/camera, @@ -31774,7 +31774,7 @@ pixel_x = 2 }, /turf/open/floor/carpet, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "ecR" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -32279,7 +32279,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "ene" = ( /turf/open/floor/almayer{ dir = 4; @@ -33022,7 +33022,7 @@ pixel_y = -3 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "eCI" = ( /obj/structure/window/reinforced/ultra{ pixel_y = -12 @@ -33325,7 +33325,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "eHx" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/structure/machinery/faxmachine/uscm/command, @@ -33454,7 +33454,7 @@ /turf/open/floor/almayer{ icon_state = "dark_sterile" }, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "eKM" = ( /obj/structure/surface/rack, /obj/effect/decal/cleanable/dirt, @@ -33778,7 +33778,7 @@ dir = 4 }, /turf/open/floor/carpet, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "eUZ" = ( /obj/structure/machinery/firealarm{ pixel_y = 28 @@ -34014,7 +34014,7 @@ "eYW" = ( /obj/structure/filingcabinet/security, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "eZi" = ( /obj/effect/projector{ name = "Almayer_Up4"; @@ -35166,7 +35166,7 @@ }, /obj/structure/machinery/light, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "fAr" = ( /obj/structure/closet/secure_closet/guncabinet/red/mp_armory_m39_submachinegun, /turf/open/floor/plating/plating_catwalk, @@ -35192,7 +35192,7 @@ dir = 4 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "fAS" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply, @@ -36435,7 +36435,7 @@ dir = 8 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "gcc" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -37184,7 +37184,7 @@ pixel_x = -32 }, /turf/open/floor/carpet, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "guS" = ( /obj/structure/reagent_dispensers/fueltank/custom, /turf/open/floor/almayer{ @@ -37641,7 +37641,7 @@ /obj/structure/window/framed/almayer, /obj/structure/machinery/door/poddoor/shutters/almayer/cl/quarter/window, /turf/open/floor/plating, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "gBW" = ( /obj/structure/machinery/floodlight/landing{ name = "bolted floodlight" @@ -37764,7 +37764,7 @@ icon_state = "pipe-c" }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "gFa" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -38750,7 +38750,7 @@ pixel_y = -3 }, /turf/open/floor/carpet, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "haM" = ( /obj/effect/decal/cleanable/blood/oil, /obj/structure/machinery/constructable_frame, @@ -39187,7 +39187,7 @@ dir = 1 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "hiM" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -40223,7 +40223,7 @@ dir = 8 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "hEV" = ( /obj/structure/pipes/vents/pump, /turf/open/floor/almayer, @@ -40338,7 +40338,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "hHR" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ @@ -41188,7 +41188,7 @@ pixel_x = 25 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "hZj" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -41264,7 +41264,7 @@ dir = 1 }, /turf/open/floor/carpet, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "ial" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -41497,7 +41497,7 @@ pixel_x = 5 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "igr" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out" @@ -41622,7 +41622,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "iiC" = ( /obj/structure/sign/safety/maint{ pixel_x = 8; @@ -41673,7 +41673,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "ijp" = ( /obj/structure/surface/rack, /obj/item/storage/toolbox/mechanical, @@ -41722,7 +41722,7 @@ pixel_y = 37 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "ikQ" = ( /obj/structure/surface/table/woodentable/fancy, /obj/item/tool/stamp/hop{ @@ -41760,7 +41760,7 @@ pixel_y = 6 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "ily" = ( /obj/structure/machinery/light, /turf/open/floor/almayer, @@ -42763,7 +42763,7 @@ pixel_y = 8 }, /turf/open/floor/carpet, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "iHF" = ( /obj/structure/largecrate/random, /obj/item/reagent_container/food/snacks/cheesecakeslice{ @@ -43869,7 +43869,7 @@ dir = 4 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "jdG" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -46035,7 +46035,7 @@ pixel_x = -25 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "jYR" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -46690,7 +46690,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "kmM" = ( /obj/structure/sink{ pixel_y = 24 @@ -47385,7 +47385,7 @@ /turf/open/floor/almayer{ icon_state = "dark_sterile" }, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "kAL" = ( /obj/structure/closet/secure_closet/brig, /turf/open/floor/almayer{ @@ -50381,7 +50381,7 @@ }, /obj/structure/machinery/door/poddoor/shutters/almayer/cl/office/window, /turf/open/floor/plating, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "lFm" = ( /turf/open/floor/almayer{ dir = 8; @@ -50842,7 +50842,7 @@ /turf/open/floor/almayer{ icon_state = "dark_sterile" }, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "lOr" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/firedoor/border_only/almayer, @@ -51292,7 +51292,7 @@ dir = 1 }, /turf/open/floor/almayer, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "maw" = ( /obj/structure/disposalpipe/segment, /obj/structure/machinery/door/airlock/almayer/maint{ @@ -54776,7 +54776,7 @@ dir = 1 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "ntt" = ( /obj/item/stool, /obj/effect/decal/warning_stripes{ @@ -55220,7 +55220,7 @@ }, /obj/structure/surface/table/woodentable/fancy, /turf/open/floor/carpet, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "nDo" = ( /obj/structure/closet/l3closet/general, /obj/structure/window/reinforced{ @@ -56706,7 +56706,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "ojF" = ( /obj/structure/machinery/cm_vending/clothing/tl/charlie{ density = 0; @@ -57123,7 +57123,7 @@ pixel_y = 32 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "orH" = ( /turf/open/floor/almayer/uscm/directional{ dir = 10 @@ -60395,7 +60395,7 @@ pixel_y = 20 }, /turf/open/floor/almayer, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "pQy" = ( /obj/structure/window/framed/almayer, /turf/open/floor/plating, @@ -62153,7 +62153,7 @@ /obj/item/storage/photo_album, /obj/item/device/camera_film, /turf/open/floor/almayer, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "qyD" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/recharger, @@ -62670,7 +62670,7 @@ /obj/item/clothing/under/redpyjamas, /obj/item/bedsheet/orange, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "qJY" = ( /obj/structure/surface/table/almayer, /obj/item/reagent_container/food/drinks/bottle/orangejuice{ @@ -62867,7 +62867,7 @@ pixel_y = 28 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "qMf" = ( /obj/structure/bed/chair, /turf/open/floor/almayer{ @@ -63989,7 +63989,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "rjV" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/computer/cameras/wooden_tv/prop{ @@ -64178,7 +64178,7 @@ /area/almayer/command/airoom) "rne" = ( /turf/open/floor/carpet, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "rnH" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -66071,7 +66071,7 @@ pixel_x = -17 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "scg" = ( /obj/structure/surface/rack, /obj/effect/spawner/random/toolbox, @@ -69185,7 +69185,7 @@ /obj/item/storage/box/drinkingglasses, /obj/item/storage/fancy/cigar, /turf/open/floor/almayer, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "tnY" = ( /obj/structure/machinery/cryopod{ pixel_y = 6 @@ -69456,7 +69456,7 @@ dir = 8 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "tsM" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -76479,7 +76479,7 @@ dir = 4 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "wfB" = ( /obj/structure/machinery/light{ unacidable = 1; @@ -76603,7 +76603,7 @@ pixel_y = -32 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "wie" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -77491,7 +77491,7 @@ pixel_x = 25 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "wzZ" = ( /obj/structure/machinery/door/airlock/almayer/medical/glass{ dir = 1; @@ -78255,7 +78255,7 @@ dir = 8 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "wQx" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -79085,7 +79085,7 @@ dir = 1 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "xgx" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out"; @@ -79438,7 +79438,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "xnl" = ( /obj/structure/machinery/door/airlock/almayer/secure/reinforced{ name = "\improper Exterior Airlock"; @@ -80594,7 +80594,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/command/corporateliason) +/area/almayer/command/corporateliaison) "xJH" = ( /turf/open/floor/almayer{ icon_state = "cargo" diff --git a/maps/new_varadero.json b/maps/new_varadero.json index d695652d0ceb..ec90142c2295 100644 --- a/maps/new_varadero.json +++ b/maps/new_varadero.json @@ -11,7 +11,7 @@ "/datum/equipment_preset/survivor/chaplain/nv", "/datum/equipment_preset/survivor/engineer/nv", "/datum/equipment_preset/survivor/trucker/nv", - "/datum/equipment_preset/survivor/interstellar_commerce_commission_liason/nv", + "/datum/equipment_preset/survivor/interstellar_commerce_commission_liaison/nv", "/datum/equipment_preset/survivor/security/nv", "/datum/equipment_preset/survivor/beachbum", "/datum/equipment_preset/survivor/miner", From f60610a325a52ab2757e5a3d48b39aec9cc65e7a Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Fri, 22 Dec 2023 17:41:21 +0000 Subject: [PATCH 30/54] Automatic changelog for PR #5227 [ci skip] --- html/changelogs/AutoChangeLog-pr-5227.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5227.yml diff --git a/html/changelogs/AutoChangeLog-pr-5227.yml b/html/changelogs/AutoChangeLog-pr-5227.yml new file mode 100644 index 000000000000..20d4d6c8f3f5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5227.yml @@ -0,0 +1,6 @@ +author: "BadAtThisGame302" +delete-after: True +changes: + - balance: "rebalanced goon skillset to include construction 1" + - spellcheck: "fixed Liason area typos to Liaison" + - spellcheck: "fixed the ICC Liason to ICC Liaison typo" \ No newline at end of file From 23c4c757ed097e1a28a871aa7196962e8cc407f2 Mon Sep 17 00:00:00 2001 From: private-tristan <54422837+private-tristan@users.noreply.github.com> Date: Fri, 22 Dec 2023 12:34:09 -0500 Subject: [PATCH 31/54] nerfs window frames (#5267) # About the pull request any xeno can now apply acid ~~or slash~~ reinforced/normal window frames # Explain why it's good for the game Currently, building as a drone is extremely difficult in maps such as New Valdero and Chances Claim due to your complete inability to clear window frames, forcing you to yell at the AFK warriors in hive to spend 5 minutes clicking on a window frame. I don't see a good reason for window frames to be completely invulnerable to smaller xenomorphs. # Testing Photographs and Procedure
# Changelog :cl: balance: xenos can now acid all window frames. /:cl: --- .../carbon/xenomorph/abilities/ability_helper_procs.dm | 5 ----- .../carbon/xenomorph/abilities/runner/runner_powers.dm | 6 ------ 2 files changed, 11 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm b/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm index 1fb0f3a92269..7f3d886deb3a 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm @@ -31,11 +31,6 @@ if(isobj(O)) I = O - if(istype(I, /obj/structure/window_frame)) - var/obj/structure/window_frame/WF = I - if(WF.reinforced && acid_type != /obj/effect/xenomorph/acid/strong) - to_chat(src, SPAN_WARNING("This [O.name] is too tough to be melted by our weak acid.")) - return wait_time = I.get_applying_acid_time() if(wait_time == -1) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_powers.dm index dad3a992e404..b907a382dda1 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_powers.dm @@ -77,12 +77,6 @@ if(isobj(affected_atom)) object = affected_atom - if(istype(object, /obj/structure/window_frame)) - var/obj/structure/window_frame/window_frame = object - if(window_frame.reinforced && acid_type != /obj/effect/xenomorph/acid/strong) - to_chat(src, SPAN_WARNING("This [object.name] is too tough to be melted by our weak acid.")) - return - wait_time = object.get_applying_acid_time() if(wait_time == -1) to_chat(src, SPAN_WARNING("We cannot dissolve [object].")) From 01c730d345ec64dc45524ecd0d9539bfa1cf98f5 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Fri, 22 Dec 2023 17:54:43 +0000 Subject: [PATCH 32/54] Automatic changelog for PR #5267 [ci skip] --- html/changelogs/AutoChangeLog-pr-5267.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5267.yml diff --git a/html/changelogs/AutoChangeLog-pr-5267.yml b/html/changelogs/AutoChangeLog-pr-5267.yml new file mode 100644 index 000000000000..2873f862892f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5267.yml @@ -0,0 +1,4 @@ +author: "private-tristan" +delete-after: True +changes: + - balance: "xenos can now acid all window frames." \ No newline at end of file From 9383e8f7cf2beac6ad5fd65df084c094344bf2af Mon Sep 17 00:00:00 2001 From: fira Date: Fri, 22 Dec 2023 22:07:20 +0100 Subject: [PATCH 33/54] Fix Xmas barricade decorator not working (#5270) # About the pull request Decorator changed the main icon of barricades. Not only this is bad due to the file not being up to date, but also wiring doesn't care and reuses the builtin icon file. # Explain why it's good for the game Event code not working # Testing Photographs and Procedure Spawn in, test # Changelog :cl: fix: Fixed X-mas barricade wiring not applying properly. /:cl: --------- Co-authored-by: Drathek <76988376+Drulikar@users.noreply.github.com> --- code/game/objects/structures/barricade/barricade.dm | 5 +++-- code/modules/decorators/christmas.dm | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/code/game/objects/structures/barricade/barricade.dm b/code/game/objects/structures/barricade/barricade.dm index 5a72ec33ea2a..b23e07f707f2 100644 --- a/code/game/objects/structures/barricade/barricade.dm +++ b/code/game/objects/structures/barricade/barricade.dm @@ -19,6 +19,7 @@ var/force_level_absorption = 5 //How much force an item needs to even damage it at all. var/barricade_hitsound var/barricade_type = "barricade" //"metal", "plasteel", etc. + var/wire_icon = 'icons/obj/structures/barricades.dmi' //! Icon file used for the wiring var/can_change_dmg_state = TRUE var/damage_state = BARRICADE_DMG_NONE var/closed = FALSE @@ -102,9 +103,9 @@ if(is_wired) if(!closed) - overlays += image('icons/obj/structures/barricades.dmi', icon_state = "[src.barricade_type]_wire") + overlays += image(wire_icon, icon_state = "[barricade_type]_wire") else - overlays += image('icons/obj/structures/barricades.dmi', icon_state = "[src.barricade_type]_closed_wire") + overlays += image(wire_icon, icon_state = "[barricade_type]_closed_wire") ..() diff --git a/code/modules/decorators/christmas.dm b/code/modules/decorators/christmas.dm index 6d3f52ffc0f6..290ac6302448 100644 --- a/code/modules/decorators/christmas.dm +++ b/code/modules/decorators/christmas.dm @@ -66,7 +66,7 @@ /datum/decorator/christmas/barricade/decorate(obj/structure/barricade/barricade) if(!istype(barricade)) return - barricade.icon = 'icons/obj/structures/barricades_christmas.dmi' + barricade.wire_icon = 'icons/obj/structures/barricades_christmas.dmi' barricade.update_icon() From 53f62c436dabcea7970fcfde1faaa1dcc37a4229 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Fri, 22 Dec 2023 21:15:33 +0000 Subject: [PATCH 34/54] Automatic changelog for PR #5270 [ci skip] --- html/changelogs/AutoChangeLog-pr-5270.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5270.yml diff --git a/html/changelogs/AutoChangeLog-pr-5270.yml b/html/changelogs/AutoChangeLog-pr-5270.yml new file mode 100644 index 000000000000..18db5356adb5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5270.yml @@ -0,0 +1,4 @@ +author: "fira" +delete-after: True +changes: + - bugfix: "Fixed X-mas barricade wiring not applying properly." \ No newline at end of file From cddeb3ee4318b4f2b2e4da4b9beb8e987430bccf Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 23 Dec 2023 01:07:48 +0000 Subject: [PATCH 35/54] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-5227.yml | 6 ------ html/changelogs/AutoChangeLog-pr-5267.yml | 4 ---- html/changelogs/AutoChangeLog-pr-5270.yml | 4 ---- html/changelogs/archive/2023-12.yml | 9 +++++++++ 4 files changed, 9 insertions(+), 14 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-5227.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5267.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5270.yml diff --git a/html/changelogs/AutoChangeLog-pr-5227.yml b/html/changelogs/AutoChangeLog-pr-5227.yml deleted file mode 100644 index 20d4d6c8f3f5..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5227.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "BadAtThisGame302" -delete-after: True -changes: - - balance: "rebalanced goon skillset to include construction 1" - - spellcheck: "fixed Liason area typos to Liaison" - - spellcheck: "fixed the ICC Liason to ICC Liaison typo" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5267.yml b/html/changelogs/AutoChangeLog-pr-5267.yml deleted file mode 100644 index 2873f862892f..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5267.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "private-tristan" -delete-after: True -changes: - - balance: "xenos can now acid all window frames." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5270.yml b/html/changelogs/AutoChangeLog-pr-5270.yml deleted file mode 100644 index 18db5356adb5..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5270.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "fira" -delete-after: True -changes: - - bugfix: "Fixed X-mas barricade wiring not applying properly." \ No newline at end of file diff --git a/html/changelogs/archive/2023-12.yml b/html/changelogs/archive/2023-12.yml index d1140d064c2a..18530c16c539 100644 --- a/html/changelogs/archive/2023-12.yml +++ b/html/changelogs/archive/2023-12.yml @@ -431,3 +431,12 @@ - rscadd: Ghosts can now toggle hearing listening devices or not. This is dependant on hearing radios and will not function to allow hearing devices without also hearing radios. +2023-12-23: + BadAtThisGame302: + - balance: rebalanced goon skillset to include construction 1 + - spellcheck: fixed Liason area typos to Liaison + - spellcheck: fixed the ICC Liason to ICC Liaison typo + fira: + - bugfix: Fixed X-mas barricade wiring not applying properly. + private-tristan: + - balance: xenos can now acid all window frames. From bc2f0962e9e7cc33b9233ce02838ad4f5860d981 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Sat, 23 Dec 2023 13:28:42 +0000 Subject: [PATCH 36/54] Allows Xenomorphs to turn off the dropship's launch alarm (#5210) # About the pull request Allows Xenomorphs to turn off the dropship's launch alarm without the queen needing to launch. # Explain why it's good for the game Occasionally (2-3 times that I can think of, at least) someone turns on the dropship's launch alarm after the queen calls it down, resulting in a situation where if the queen wants to wait for evolutions or something else, the entire hive has to listen to a beeping noise for multiple minutes. # Testing Photographs and Procedure
Screenshots & Videos https://github.com/cmss13-devs/cmss13/assets/57483089/9014b2bb-a68a-4ef8-b7ee-1f3e03ce2575
# Changelog :cl: add: Allowed Xenomorphs to turn off the dropship's launch alarm by hitting the nav computer. /:cl: --- .../shuttle/computers/dropship_computer.dm | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/code/modules/shuttle/computers/dropship_computer.dm b/code/modules/shuttle/computers/dropship_computer.dm index 6301a4c5ea5b..b7a74d1780df 100644 --- a/code/modules/shuttle/computers/dropship_computer.dm +++ b/code/modules/shuttle/computers/dropship_computer.dm @@ -211,21 +211,31 @@ /obj/structure/machinery/computer/shuttle/dropship/flight/attack_alien(mob/living/carbon/xenomorph/xeno) - if(!is_ground_level(z)) - to_chat(xeno, SPAN_NOTICE("Lights flash from the terminal but we can't comprehend their meaning.")) - playsound(loc, 'sound/machines/terminal_error.ogg', KEYBOARD_SOUND_VOLUME, 1) - return + var/obj/docking_port/mobile/marine_dropship/dropship = SSshuttle.getShuttle(shuttleId) + // If the attacking xeno isn't the queen. if(xeno.hive_pos != XENO_QUEEN) - to_chat(xeno, SPAN_NOTICE("Lights flash from the terminal but we can't comprehend their meaning.")) - playsound(loc, 'sound/machines/terminal_error.ogg', KEYBOARD_SOUND_VOLUME, 1) - return + // If the 'about to launch' alarm is playing, a xeno can whack the computer to stop it. + if(dropship.playing_launch_announcement_alarm) + stop_playing_launch_announcement_alarm() + xeno.animation_attack_on(src) + to_chat(xeno, SPAN_XENONOTICE("We slash at [src], silencing its squawking!")) + playsound(loc, 'sound/machines/terminal_shutdown.ogg', 20) + else + to_chat(xeno, SPAN_NOTICE("Lights flash from the terminal but we can't comprehend their meaning.")) + playsound(loc, 'sound/machines/terminal_error.ogg', KEYBOARD_SOUND_VOLUME, TRUE) + return XENO_NONCOMBAT_ACTION + + if(!is_ground_level(z)) + // "you" rather than "we" for this one since non-queen castes will have returned above. + to_chat(xeno, SPAN_NOTICE("Lights flash from the terminal but you can't comprehend their meaning.")) + playsound(loc, 'sound/machines/terminal_error.ogg', KEYBOARD_SOUND_VOLUME, TRUE) + return XENO_NONCOMBAT_ACTION if(is_remote) groundside_alien_action(xeno) return - var/obj/docking_port/mobile/marine_dropship/dropship = SSshuttle.getShuttle(shuttleId) if(dropship.is_hijacked) return @@ -239,6 +249,7 @@ addtimer(CALLBACK(GLOB.almayer_orbital_cannon, TYPE_PROC_REF(/obj/structure/orbital_cannon, enable)), 10 MINUTES, TIMER_UNIQUE) if(!GLOB.resin_lz_allowed) set_lz_resin_allowed(TRUE) + stop_playing_launch_announcement_alarm() to_chat(xeno, SPAN_XENONOTICE("You override the doors.")) xeno_message(SPAN_XENOANNOUNCE("The doors of the metal bird have been overridden! Rejoice!"), 3, xeno.hivenumber) @@ -287,9 +298,6 @@ hijack.fire() GLOB.alt_ctrl_disabled = TRUE - dropship.alarm_sound_loop.stop() - dropship.playing_launch_announcement_alarm = FALSE - marine_announcement("Unscheduled dropship departure detected from operational area. Hijack likely. Shutting down autopilot.", "Dropship Alert", 'sound/AI/hijack.ogg', logging = ARES_LOG_SECURITY) log_ares_flight("Unknown", "Unscheduled dropship departure detected from operational area. Hijack likely. Shutting down autopilot.") From 58090655b269a5118a08db068f83d49754e33a3e Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Sat, 23 Dec 2023 13:36:30 +0000 Subject: [PATCH 37/54] Automatic changelog for PR #5210 [ci skip] --- html/changelogs/AutoChangeLog-pr-5210.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5210.yml diff --git a/html/changelogs/AutoChangeLog-pr-5210.yml b/html/changelogs/AutoChangeLog-pr-5210.yml new file mode 100644 index 000000000000..3c4308328ca4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5210.yml @@ -0,0 +1,4 @@ +author: "SabreML" +delete-after: True +changes: + - rscadd: "Allowed Xenomorphs to turn off the dropship's launch alarm by hitting the nav computer." \ No newline at end of file From 84b9b7e5c61ee8d950336907cc2a09cdd61d55bb Mon Sep 17 00:00:00 2001 From: BadAtThisGame <79063506+BadAtThisGame302@users.noreply.github.com> Date: Sun, 24 Dec 2023 00:17:32 +0200 Subject: [PATCH 38/54] Fixes Flight Control Operator surv + gave him a windbreaker and one more access. (#5257) # About the pull request Gives him a jacket, some flight W-Y flight control access and fixed the type path. # Explain why it's good for the game I forgot to give him a jacket in the previous PR, fixes always good + he's a flight control operator and should have access to at least the WY flight control doors. # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: add: Added a windbreaker to the Flight Control Operator surv. add: Added W-Y Flight Control access to the Flight Control Operator surv. fix: fixed the Flight Control Operator path. /:cl: Co-authored-by: Jeff Watchson --- code/modules/gear_presets/survivors/survivors.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/gear_presets/survivors/survivors.dm b/code/modules/gear_presets/survivors/survivors.dm index d6654fdf4c67..0e98c60ca453 100644 --- a/code/modules/gear_presets/survivors/survivors.dm +++ b/code/modules/gear_presets/survivors/survivors.dm @@ -378,12 +378,13 @@ Everything bellow is a parent used as a base for one or multiple maps. skills = /datum/skills/civilian/survivor/trucker idtype = /obj/item/card/id/data flags = EQUIPMENT_PRESET_START_OF_ROUND - access = list(ACCESS_CIVILIAN_PUBLIC,ACCESS_CIVILIAN_LOGISTICS) + access = list(ACCESS_CIVILIAN_PUBLIC,ACCESS_CIVILIAN_LOGISTICS,ACCESS_WY_FLIGHT) -/datum/equipment_preset/survivor/engineer/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/survivor/flight_control_operator/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/lawyer/bluesuit(new_human), WEAR_BODY) if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) add_ice_colony_survivor_equipment(new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/windbreaker/windbreaker_brown(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/binoculars(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/headset(new_human), WEAR_HEAD) From 6f7c06ca443066b551a6e02bce40eed6f22f8488 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Sat, 23 Dec 2023 22:33:10 +0000 Subject: [PATCH 39/54] Automatic changelog for PR #5257 [ci skip] --- html/changelogs/AutoChangeLog-pr-5257.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5257.yml diff --git a/html/changelogs/AutoChangeLog-pr-5257.yml b/html/changelogs/AutoChangeLog-pr-5257.yml new file mode 100644 index 000000000000..97e3774b3fb2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5257.yml @@ -0,0 +1,6 @@ +author: "BadAtThisGame302" +delete-after: True +changes: + - rscadd: "Added a windbreaker to the Flight Control Operator surv." + - rscadd: "Added W-Y Flight Control access to the Flight Control Operator surv." + - bugfix: "fixed the Flight Control Operator path." \ No newline at end of file From 7fa7fc74b4472e34a1e07046074f42c7aebbaae8 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Sat, 23 Dec 2023 22:20:13 +0000 Subject: [PATCH 40/54] Camera console green-ness fix (#5271) # About the pull request Fixes #5077. This was caused by a green lighting filter which was accidentally included in #4940. If someone wants to add it properly then another PR could be opened after this, or maybe this one could be treated as a sort of 'reverse PR' and closed in order to keep the overlay. # Explain why it's good for the game It's technically a bug rather than a feature at the moment. # Testing Photographs and Procedure
Screenshots **Before:** ![UneAhPrK3C](https://github.com/cmss13-devs/cmss13/assets/57483089/3eb7fe0e-d526-4f56-aba8-09bafca8ad9c) **After:** ![GZ9ZBPx3n1](https://github.com/cmss13-devs/cmss13/assets/57483089/34ee98a9-05f5-473a-b158-2af44912586b)
# Changelog :cl: del: Removed the green overlay from camera consoles. /:cl: --- code/game/machinery/computer/camera_console.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/game/machinery/computer/camera_console.dm b/code/game/machinery/computer/camera_console.dm index ca8c8b2f1a34..cad4fd4fc747 100644 --- a/code/game/machinery/computer/camera_console.dm +++ b/code/game/machinery/computer/camera_console.dm @@ -40,8 +40,6 @@ instance.del_on_map_removal = FALSE if(instance.blend_mode_override) instance.blend_mode = instance.blend_mode_override - if(istype(instance, /atom/movable/screen/plane_master/lighting)) - instance.add_filter("awooga", 1, color_matrix_filter(color_matrix_from_string("#90ee90"))) instance.screen_loc = "[map_name]:CENTER" cam_plane_masters += instance From bf5ad6a3745284a8e17f8478bb6a7b038b008b93 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Sat, 23 Dec 2023 22:50:51 +0000 Subject: [PATCH 41/54] Automatic changelog for PR #5271 [ci skip] --- html/changelogs/AutoChangeLog-pr-5271.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5271.yml diff --git a/html/changelogs/AutoChangeLog-pr-5271.yml b/html/changelogs/AutoChangeLog-pr-5271.yml new file mode 100644 index 000000000000..753cca63c2c8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5271.yml @@ -0,0 +1,4 @@ +author: "SabreML" +delete-after: True +changes: + - rscdel: "Removed the green overlay from camera consoles." \ No newline at end of file From 3dabf9c2d2b58b502e3f3088dc748735aa0e036a Mon Sep 17 00:00:00 2001 From: Cthulhu80 <122310258+Cthulhu80@users.noreply.github.com> Date: Sat, 23 Dec 2023 17:37:36 -0500 Subject: [PATCH 42/54] adds forced scream emote after warrior lunge (#5273) # About the pull request ~~Created a new emote called panic, it's very similar to scream and inherits virtually all of its properties and methods however the ogg files are of course different.~~ Added a scream emote whenever a warrior lunges and grabs a human mob, also added one more ogg audio file to the scream list. # Explain why it's good for the game ~~Initially I just wanted to add a forced a scream emote whenever a warrior lunged at a human mob, but I sort of found the existing scream ogg sounds to be kind of lack luster. However, they are iconic in their own right and removing them or modifying them would be a detriment to the game. I chose to create a new emote entirely rather than adding audio files to the existing one. The emote which is similar to scream but the sounds are more "authentic" and erm, immersive. So far it's just two sounds for each gender but this will be changed once I find more audio files to add.~~ Warrior lunges at marines should be a traumatic experience that gives them ptsd. # Changelog :cl: add: human mobs now scream whenever they get lunged at by a warrior. soundadd: added a new scream sound and put it into the existing scream list. /:cl: --- code/game/sound.dm | 2 +- .../abilities/warrior/warrior_powers.dm | 2 ++ sound/voice/human_male_scream_6.ogg | Bin 0 -> 19778 bytes 3 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 sound/voice/human_male_scream_6.ogg diff --git a/code/game/sound.dm b/code/game/sound.dm index 6adaab109794..ac863a3bc51e 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -344,7 +344,7 @@ S = pick('sound/voice/alien_queen_command.ogg','sound/voice/alien_queen_command2.ogg','sound/voice/alien_queen_command3.ogg') // Human if("male_scream") - S = pick('sound/voice/human_male_scream_1.ogg','sound/voice/human_male_scream_2.ogg','sound/voice/human_male_scream_3.ogg','sound/voice/human_male_scream_4.ogg',5;'sound/voice/human_male_scream_5.ogg',5;'sound/voice/human_jackson_scream.ogg',5;'sound/voice/human_ack_scream.ogg') + S = pick('sound/voice/human_male_scream_1.ogg','sound/voice/human_male_scream_2.ogg','sound/voice/human_male_scream_3.ogg','sound/voice/human_male_scream_4.ogg',5;'sound/voice/human_male_scream_5.ogg',5;'sound/voice/human_jackson_scream.ogg',5;'sound/voice/human_ack_scream.ogg','sound/voice/human_male_scream_6.ogg') if("male_pain") S = pick('sound/voice/human_male_pain_1.ogg','sound/voice/human_male_pain_2.ogg','sound/voice/human_male_pain_3.ogg',5;'sound/voice/tomscream.ogg',5;'sound/voice/human_bobby_pain.ogg',5;'sound/voice/human_tantrum_scream.ogg', 5;'sound/voice/human_male_pain_rare_1.ogg') if("male_fragout") diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/warrior/warrior_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/warrior/warrior_powers.dm index c25b7e5fc49f..be550e50f0e2 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/warrior/warrior_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/warrior/warrior_powers.dm @@ -37,6 +37,8 @@ if (xeno.Adjacent(carbon)) xeno.start_pulling(carbon,1) + if(ishuman(carbon)) + INVOKE_ASYNC(carbon, TYPE_PROC_REF(/mob, emote), "scream") else xeno.visible_message(SPAN_XENOWARNING("[xeno]'s claws twitch."), SPAN_XENOWARNING("Our claws twitch as we lunge but are unable to grab onto our target. Wait a moment to try again.")) diff --git a/sound/voice/human_male_scream_6.ogg b/sound/voice/human_male_scream_6.ogg new file mode 100644 index 0000000000000000000000000000000000000000..0005a26bf7ac4d4a05330589150dd35e7267c1fc GIT binary patch literal 19778 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 literal 0 HcmV?d00001 From 336406ac50507832055b8ab516d4f024e4235373 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Sat, 23 Dec 2023 23:11:25 +0000 Subject: [PATCH 43/54] Automatic changelog for PR #5273 [ci skip] --- html/changelogs/AutoChangeLog-pr-5273.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5273.yml diff --git a/html/changelogs/AutoChangeLog-pr-5273.yml b/html/changelogs/AutoChangeLog-pr-5273.yml new file mode 100644 index 000000000000..9c9775123e9c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5273.yml @@ -0,0 +1,5 @@ +author: "Cthulhu80" +delete-after: True +changes: + - rscadd: "human mobs now scream whenever they get lunged at by a warrior." + - soundadd: "added a new scream sound and put it into the existing scream list." \ No newline at end of file From ac2ebc8af896ce2383a8812b6fc8d60d5c5201ff Mon Sep 17 00:00:00 2001 From: Drathek <76988376+Drulikar@users.noreply.github.com> Date: Sat, 23 Dec 2023 15:11:20 -0800 Subject: [PATCH 44/54] Fix Crusher Pass Flags (#5266) # About the pull request This PR is a followup to #5175 that overlooked that the usage of throw_atom will by default add either `PASS_OVER_THROW_MOB` or `PASS_OVER_THROW_ITEM` to the pass flags unless `LOW_LAUNCH` is used instead. # Explain why it's good for the game Fixes #5220 # Testing Photographs and Procedure
Screenshots & Videos ![croosh](https://github.com/cmss13-devs/cmss13/assets/76988376/dac2e275-e261-475a-b52d-8823e14d0bc4)
# Changelog :cl: Drathek fix: Fix crusher charge and tumble abilities going over unwired cades /:cl: --- .../living/carbon/xenomorph/abilities/crusher/crusher_powers.dm | 2 +- .../mob/living/carbon/xenomorph/abilities/general_powers.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_powers.dm index d661f2112a4d..4ac166c58c69 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_powers.dm @@ -306,7 +306,7 @@ var/target = get_step(get_step(Xeno, target_dir), target_dir) var/list/collision_callbacks = list(/mob/living/carbon/human = CALLBACK(src, PROC_REF(handle_mob_collision))) var/list/end_throw_callbacks = list(CALLBACK(src, PROC_REF(on_end_throw), start_charging)) - Xeno.throw_atom(target, target_dist, SPEED_FAST, pass_flags = PASS_CRUSHER_CHARGE, end_throw_callbacks = end_throw_callbacks, collision_callbacks = collision_callbacks) + Xeno.throw_atom(target, target_dist, SPEED_FAST, launch_type = LOW_LAUNCH, pass_flags = PASS_CRUSHER_CHARGE, end_throw_callbacks = end_throw_callbacks, collision_callbacks = collision_callbacks) apply_cooldown() return ..() diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm index 81f500245a41..f57bd7990293 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm @@ -433,7 +433,7 @@ pre_pounce_effects() X.pounce_distance = get_dist(X, A) - X.throw_atom(A, distance, throw_speed, X, pass_flags = pounce_pass_flags, collision_callbacks = pounce_callbacks) + X.throw_atom(A, distance, throw_speed, X, launch_type = LOW_LAUNCH, pass_flags = pounce_pass_flags, collision_callbacks = pounce_callbacks) X.update_icons() additional_effects_always() From 17cbbf539ce1d3d58074cca9609196db9b872fbb Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Sat, 23 Dec 2023 23:25:29 +0000 Subject: [PATCH 45/54] Automatic changelog for PR #5266 [ci skip] --- html/changelogs/AutoChangeLog-pr-5266.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5266.yml diff --git a/html/changelogs/AutoChangeLog-pr-5266.yml b/html/changelogs/AutoChangeLog-pr-5266.yml new file mode 100644 index 000000000000..c8cf8dbf72b6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5266.yml @@ -0,0 +1,4 @@ +author: "Drathek" +delete-after: True +changes: + - bugfix: "Fix crusher charge and tumble abilities going over unwired cades" \ No newline at end of file From bf41565f9f3daf2c6ad64684347c81325d4af726 Mon Sep 17 00:00:00 2001 From: ihatethisengine <115417687+ihatethisengine@users.noreply.github.com> Date: Sun, 24 Dec 2023 02:41:17 +0300 Subject: [PATCH 46/54] New Healer Drone Ability: Sacrifice, another go (#5173) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # About the pull request New healer drone skill — sacrifice. If things get really bad, the healer can instantly transfer 75% of its current health, but for the great cost of the healer’s own life. The sacrifice ability is an emergency button. You don’t have to use it, but at some point you may find that sacrifice is a right thing to do, so it’s a nice option to have. I want to emphasize that this skill is not a necessary part of the healer gameplay. You don’t have to trade your life for the life of another xeno. But you can if you are willing to. Also healer drones gets a counter of the health it has transferred. If healer drone transfers at least 10 000 health points, it will be able to respawn after using the sacrifice ability (like acid runner after kaboom). # Explain why it's good for the game Saving fellow xenos is the most satisfying part of healer drone’s gameplay. This ability allows to save others in really dire situations, but for the great cost. It’s still fitting, because drone already can use heal ability until it goes into crit or dies, in some situations it’s a worthy risk. Also rewards long living healer drones with the opportunity to use the ability without dying. # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: ihatethisengine balance: New healer drone ability — sacrifice. Healer drone can instantly transfer 75% of its current health, but for the great cost of the healer’s own life. /:cl: --------- Co-authored-by: ihatethisengine Co-authored-by: harryob Co-authored-by: Drathek <76988376+Drulikar@users.noreply.github.com> --- .../xenomorph/abilities/general_abilities.dm | 2 +- .../living/carbon/xenomorph/castes/Queen.dm | 6 +- .../mutators/strains/drone/healer.dm | 131 +++++++++++++++++- 3 files changed, 134 insertions(+), 5 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm index 80e4130fccb9..460a561fa801 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm @@ -424,7 +424,7 @@ action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_5 -/datum/action/xeno_action/activable/place_construction/queen_macro //so it doesn't screw other macros up +/datum/action/xeno_action/activable/place_construction/not_primary //so it doesn't screw other macros up ability_primacy = XENO_NOT_PRIMARY_ACTION /datum/action/xeno_action/activable/xeno_spit diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm b/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm index fb61996f2f12..7e5d6ea4efb3 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Queen.dm @@ -292,7 +292,7 @@ /datum/action/xeno_action/onclick/regurgitate, /datum/action/xeno_action/watch_xeno, /datum/action/xeno_action/activable/tail_stab, - /datum/action/xeno_action/activable/place_construction/queen_macro, //normally fifth macro but not as important for queen + /datum/action/xeno_action/activable/place_construction/not_primary, //normally fifth macro but not as important for queen /datum/action/xeno_action/activable/corrosive_acid, /datum/action/xeno_action/onclick/emit_pheromones, /datum/action/xeno_action/onclick/queen_word, @@ -325,7 +325,7 @@ /datum/action/xeno_action/onclick/regurgitate, /datum/action/xeno_action/watch_xeno, /datum/action/xeno_action/activable/tail_stab, - /datum/action/xeno_action/activable/place_construction/queen_macro, //normally fifth macro but not as important for queen + /datum/action/xeno_action/activable/place_construction/not_primary, //normally fifth macro but not as important for queen /datum/action/xeno_action/activable/corrosive_acid, /datum/action/xeno_action/onclick/emit_pheromones, /datum/action/xeno_action/onclick/queen_word, @@ -820,7 +820,7 @@ // These already have their placement locked in: /datum/action/xeno_action/onclick/regurgitate, /datum/action/xeno_action/watch_xeno, - /datum/action/xeno_action/activable/place_construction/queen_macro, + /datum/action/xeno_action/activable/place_construction/not_primary, /datum/action/xeno_action/onclick/emit_pheromones, /datum/action/xeno_action/onclick/queen_word, /datum/action/xeno_action/onclick/psychic_whisper, diff --git a/code/modules/mob/living/carbon/xenomorph/mutators/strains/drone/healer.dm b/code/modules/mob/living/carbon/xenomorph/mutators/strains/drone/healer.dm index 9015c0bc84ad..86f50b47e080 100644 --- a/code/modules/mob/living/carbon/xenomorph/mutators/strains/drone/healer.dm +++ b/code/modules/mob/living/carbon/xenomorph/mutators/strains/drone/healer.dm @@ -9,11 +9,16 @@ /datum/action/xeno_action/activable/secrete_resin, /datum/action/xeno_action/onclick/choose_resin, /datum/action/xeno_action/activable/transfer_plasma, + /datum/action/xeno_action/activable/place_construction, // so it doesn't use fifth macro + /datum/action/xeno_action/onclick/plant_weeds, // so it doesn't break order ) mutator_actions_to_add = list( + /datum/action/xeno_action/activable/place_construction/not_primary, // so it doesn't use fifth macro + /datum/action/xeno_action/onclick/plant_weeds, // so it doesn't break order /datum/action/xeno_action/onclick/plant_resin_fruit, // Second macro. Resin fruits belong to Gardener, but Healer has a minor variant. /datum/action/xeno_action/activable/apply_salve, //Third macro, heal over time ability. /datum/action/xeno_action/activable/transfer_plasma/healer, //Fourth macro, an improved plasma transfer. + /datum/action/xeno_action/activable/healer_sacrifice, //Fifth macro, the ultimate ability to sacrifice yourself ) keystone = TRUE behavior_delegate_type = /datum/behavior_delegate/drone_healer @@ -137,8 +142,10 @@ to_chat(target_xeno, SPAN_XENOWARNING("[src] covers our wounds with a regenerative resin salve. We feel reinvigorated!")) to_chat(src, SPAN_XENOWARNING("We regurgitate our vital fluids and some plasma to create a regenerative resin salve and apply it to [target_xeno]'s wounds. We feel weakened...")) playsound(src, "alien_drool", 25) - var/datum/behavior_delegate/drone_healer/healer_delegate = src.behavior_delegate + var/datum/behavior_delegate/drone_healer/healer_delegate = behavior_delegate healer_delegate.salve_applied_recently = TRUE + if(target_xeno.mutation_type != DRONE_HEALER && !isfacehugger(target_xeno)) // no cheap grinding + healer_delegate.modify_transferred(amount * damage_taken_mod) update_icons() addtimer(CALLBACK(healer_delegate, /datum/behavior_delegate/drone_healer/proc/un_salve), 10 SECONDS, TIMER_OVERRIDE|TIMER_UNIQUE) @@ -148,6 +155,9 @@ var/salve_applied_recently = FALSE var/mutable_appearance/salve_applied_icon + var/transferred_amount = 0 + var/required_transferred_amount = 7500 + /datum/behavior_delegate/drone_healer/on_update_icons() if(!salve_applied_icon) salve_applied_icon = mutable_appearance('icons/mob/xenos/drone_strain_overlays.dmi',"Healer Drone Walking") @@ -173,3 +183,122 @@ /datum/behavior_delegate/drone_healer/proc/un_salve() salve_applied_recently = FALSE bound_xeno.update_icons() + +/* + SACRIFICE +*/ + +/datum/behavior_delegate/drone_healer/proc/modify_transferred(amount) + transferred_amount += amount + +/datum/behavior_delegate/drone_healer/append_to_stat() + . = list() + . += "Transferred health amount: [transferred_amount]/[required_transferred_amount]" + if(transferred_amount >= required_transferred_amount) + . += "Sacrifice will grant you new life." + +/datum/behavior_delegate/drone_healer/on_life() + if(!bound_xeno) + return + if(bound_xeno.stat == DEAD) + return + var/image/holder = bound_xeno.hud_list[PLASMA_HUD] + holder.overlays.Cut() + var/percentage_transferred = min(round((transferred_amount / required_transferred_amount) * 100, 10), 100) + if(percentage_transferred) + holder.overlays += image('icons/mob/hud/hud.dmi', "xenoenergy[percentage_transferred]") + +/datum/behavior_delegate/drone_healer/handle_death(mob/M) + var/image/holder = bound_xeno.hud_list[PLASMA_HUD] + holder.overlays.Cut() + +/datum/action/xeno_action/activable/healer_sacrifice + name = "Sacrifice" + action_icon_state = "screech" + ability_name = "sacrifice" + var/max_range = 1 + var/transfer_mod = 0.75 // only transfers 75% of current healer's health + macro_path = /datum/action/xeno_action/verb/verb_healer_sacrifice + action_type = XENO_ACTION_CLICK + ability_primacy = XENO_PRIMARY_ACTION_5 + +/datum/action/xeno_action/verb/verb_healer_sacrifice() + set category = "Alien" + set name = "Sacrifice" + set hidden = TRUE + var/action_name = "Sacrifice" + handle_xeno_macro(src, action_name) + +/datum/action/xeno_action/activable/healer_sacrifice/use_ability(atom/atom) + var/mob/living/carbon/xenomorph/xeno = owner + var/mob/living/carbon/xenomorph/target = atom + + if(!istype(target)) + return + + if(target == xeno) + to_chat(xeno, "We can't heal ourself!") + return + + if(isfacehugger(target) || islesserdrone(target)) + to_chat(xeno, "It would be a waste...") + return + + if(!xeno.check_state()) + return + + if(!xeno.can_not_harm(target)) //so we can heal only allies + to_chat(xeno, SPAN_WARNING("[target] is an enemy of our hive!")) + return + + if(target.stat == DEAD) + to_chat(xeno, SPAN_WARNING("[target] is already dead!")) + return + + if(target.health >= target.maxHealth) + to_chat(xeno, SPAN_WARNING("[target] is already at max health!")) + return + + if(!isturf(xeno.loc)) + to_chat(xeno, SPAN_WARNING("We cannot transfer health from here!")) + return + + if(get_dist(xeno, target) > max_range) + to_chat(xeno, SPAN_WARNING("We need to be closer to [target].")) + return + + xeno.say(";MY LIFE FOR THE QUEEN!!!") + + target.gain_health(xeno.health * transfer_mod) + target.updatehealth() + + target.xeno_jitter(1 SECONDS) + target.flick_heal_overlay(3 SECONDS, "#44253d") + + target.visible_message(SPAN_XENONOTICE("[xeno] explodes in a deluge of regenerative resin salve, covering [target] in it!")) + xeno_message(SPAN_XENOANNOUNCE("[xeno] sacrifices itself to heal [target]!"), 2, target.hive.hivenumber) + + var/datum/behavior_delegate/drone_healer/behavior_delegate = xeno.behavior_delegate + if(istype(behavior_delegate) && behavior_delegate.transferred_amount >= behavior_delegate.required_transferred_amount && xeno.client && xeno.hive) + var/datum/hive_status/hive_status = xeno.hive + var/turf/spawning_turf = get_turf(xeno) + if(!hive_status.hive_location) + addtimer(CALLBACK(xeno.hive, TYPE_PROC_REF(/datum/hive_status, respawn_on_turf), xeno.client, spawning_turf), 0.5 SECONDS) + else + addtimer(CALLBACK(xeno.hive, TYPE_PROC_REF(/datum/hive_status, free_respawn), xeno.client), 5 SECONDS) + + xeno.gib(create_cause_data("sacrificing itself", src)) + +/datum/action/xeno_action/activable/healer_sacrifice/action_activate() + ..() + var/mob/living/carbon/xenomorph/xeno = owner + if(xeno.selected_ability != src) + return + var/datum/behavior_delegate/drone_healer/behavior_delegate = xeno.behavior_delegate + if(!istype(behavior_delegate)) + return + if(behavior_delegate.transferred_amount < behavior_delegate.required_transferred_amount) + to_chat(xeno, SPAN_HIGHDANGER("Warning: [name] is a last measure skill. Using it will kill us.")) + else + to_chat(xeno, SPAN_HIGHDANGER("Warning: [name] is a last measure skill. Using it will kill us, but new life will be granted for our hard work for the hive.")) + From d194aa69bc842e856a6fb05187411ab50e410d58 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Sat, 23 Dec 2023 23:49:37 +0000 Subject: [PATCH 47/54] Automatic changelog for PR #5173 [ci skip] --- html/changelogs/AutoChangeLog-pr-5173.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5173.yml diff --git a/html/changelogs/AutoChangeLog-pr-5173.yml b/html/changelogs/AutoChangeLog-pr-5173.yml new file mode 100644 index 000000000000..215fa4e7928d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5173.yml @@ -0,0 +1,4 @@ +author: "ihatethisengine" +delete-after: True +changes: + - balance: "New healer drone ability — sacrifice. Healer drone can instantly transfer 75% of its current health, but for the great cost of the healer’s own life." \ No newline at end of file From 61e8a488634a7d9589c3b7d85fca62f2f093b9dc Mon Sep 17 00:00:00 2001 From: cuberound <122645057+cuberound@users.noreply.github.com> Date: Sun, 24 Dec 2023 01:20:05 +0100 Subject: [PATCH 48/54] DS doorgun no longer drops the gun when destroyed (#5211) # About the pull request this bug has been around for a looong time, someone might be tempted to abuse it with the MG changes # Explain why it's good for the game moveable m56d with 1500 rounds that can shoot over cover is not intended # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: fix: DS doorgun no longer drops the gun when destroyed /:cl: --------- Co-authored-by: vincibrv Co-authored-by: Drathek <76988376+Drulikar@users.noreply.github.com> --- code/modules/cm_marines/dropship_equipment.dm | 6 +++++- code/modules/cm_marines/smartgun_mount.dm | 12 ++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/code/modules/cm_marines/dropship_equipment.dm b/code/modules/cm_marines/dropship_equipment.dm index bb3e642c4ac9..510b9305a2a6 100644 --- a/code/modules/cm_marines/dropship_equipment.dm +++ b/code/modules/cm_marines/dropship_equipment.dm @@ -300,6 +300,10 @@ deployed_mg = new(src) deployed_mg.deployment_system = src +/obj/structure/dropship_equipment/mg_holder/Destroy() + QDEL_NULL(deployed_mg) + . = ..() + /obj/structure/dropship_equipment/mg_holder/get_examine_text(mob/user) . = ..() if(!deployed_mg) @@ -360,7 +364,7 @@ deployed_mg.forceMove(src) deployed_mg.setDir(dir) else - icon_state = "mg_system_destroyed" + icon_state = "sentry_system_destroyed" /obj/structure/dropship_equipment/mg_holder/proc/deploy_mg(mob/user) if(deployed_mg) diff --git a/code/modules/cm_marines/smartgun_mount.dm b/code/modules/cm_marines/smartgun_mount.dm index d4e84195b0ed..765f7a673812 100644 --- a/code/modules/cm_marines/smartgun_mount.dm +++ b/code/modules/cm_marines/smartgun_mount.dm @@ -1082,6 +1082,18 @@ zoom = 1 ammo = /datum/ammo/bullet/machinegun/doorgun +/obj/structure/machinery/m56d_hmg/mg_turret/update_health(amount) //Negative values restores health. + health -= amount + if(health <= 0) + playsound(src.loc, 'sound/items/Welder2.ogg', 25, 1) + qdel(src) + return + + if(health > health_max) + health = health_max + update_damage_state() + update_icon() + /obj/structure/machinery/m56d_hmg/mg_turret/dropship name = "\improper scoped M56D heavy machine gun" desc = "A scoped M56D heavy machine gun mounted behind a metal shield. Drag its sprite onto yourself to man it. Ctrl-click it to toggle burst fire." From 767a07c613b172c57a169b629af9be2418bda4ed Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Sun, 24 Dec 2023 00:29:39 +0000 Subject: [PATCH 49/54] Automatic changelog for PR #5211 [ci skip] --- html/changelogs/AutoChangeLog-pr-5211.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5211.yml diff --git a/html/changelogs/AutoChangeLog-pr-5211.yml b/html/changelogs/AutoChangeLog-pr-5211.yml new file mode 100644 index 000000000000..f2dfd34b23f6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5211.yml @@ -0,0 +1,4 @@ +author: "cuberound" +delete-after: True +changes: + - bugfix: "DS doorgun no longer drops the gun when destroyed" \ No newline at end of file From df9eedb8979cce3dbb0ce19631929a8f163146f3 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Sun, 24 Dec 2023 00:22:09 +0000 Subject: [PATCH 50/54] Makes `xenoboldnotice` actually bold (#5279) # About the pull request Makes the `xenoboldnotice` span class actually bold, rather than italic. Interestingly, it's correct on the 'old chat' stylesheet, so presumably it just got missed when TG-chat was added. https://github.com/cmss13-devs/cmss13/blob/53f62c436dabcea7970fcfde1faaa1dcc37a4229/code/stylesheet.dm#L102 # Explain why it's good for the game The class called 'xenoboldnotice' should be bold. # Testing Photographs and Procedure
Screenshots & Videos **Before:** ![before](https://github.com/cmss13-devs/cmss13/assets/57483089/46fa54cc-1ee6-4046-ba86-2f75deadc7fe) **After:** ![after](https://github.com/cmss13-devs/cmss13/assets/57483089/896a8119-fcec-4c9f-be11-86e7cd95ac44)
**Current 'old chat' version, for reference:** ![old](https://github.com/cmss13-devs/cmss13/assets/57483089/d14538d4-7abf-4b20-8b83-076863248cfc)
# Changelog :cl: spellcheck: Made the `xenoboldnotice` span class bold rather than italic. /:cl: --- tgui/packages/tgui-panel/styles/goon/chat-dark.scss | 2 +- tgui/packages/tgui-panel/styles/goon/chat-light.scss | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tgui/packages/tgui-panel/styles/goon/chat-dark.scss b/tgui/packages/tgui-panel/styles/goon/chat-dark.scss index b4e59f32c121..a0dd2608befc 100644 --- a/tgui/packages/tgui-panel/styles/goon/chat-dark.scss +++ b/tgui/packages/tgui-panel/styles/goon/chat-dark.scss @@ -1101,7 +1101,7 @@ em { .xenoboldnotice { color: #51a16c; - font-style: italic; + font-weight: bold; } .xenowarning { diff --git a/tgui/packages/tgui-panel/styles/goon/chat-light.scss b/tgui/packages/tgui-panel/styles/goon/chat-light.scss index 8501d0b9526c..07fc0504e890 100644 --- a/tgui/packages/tgui-panel/styles/goon/chat-light.scss +++ b/tgui/packages/tgui-panel/styles/goon/chat-light.scss @@ -1133,7 +1133,7 @@ h2.alert { .xenoboldnotice { color: #2a623d; - font-style: italic; + font-weight: bold; } .xenowarning { From 88b034f05583cf71aaa608dd08cae52197e89135 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Sun, 24 Dec 2023 00:44:13 +0000 Subject: [PATCH 51/54] Automatic changelog for PR #5279 [ci skip] --- html/changelogs/AutoChangeLog-pr-5279.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5279.yml diff --git a/html/changelogs/AutoChangeLog-pr-5279.yml b/html/changelogs/AutoChangeLog-pr-5279.yml new file mode 100644 index 000000000000..a0d972a32c60 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5279.yml @@ -0,0 +1,4 @@ +author: "SabreML" +delete-after: True +changes: + - spellcheck: "Made the `xenoboldnotice` span class bold rather than italic." \ No newline at end of file From 60a087bbb129f78fea136df8b574245cde34c361 Mon Sep 17 00:00:00 2001 From: Julian56 <117036822+Huffie56@users.noreply.github.com> Date: Sun, 24 Dec 2023 02:00:14 +0100 Subject: [PATCH 52/54] Areas almayer qol (#5254) # About the pull request added some more areas to almayer reworked lower engi areas position giving them parent for being lower etc... remove an extra light # Explain why it's good for the game More areas allow to make it easier to navigate the ship and make the localisation system more efficient... better parent avoid repeating lines of code and make it easier to maintain/change it in the future. # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: fix: removed an extra light in bravo cryo room(to do just saw it) maptweak: added more areas (stern_point_defense, Lower Deck Stern Hull, Upper Deck port Hallway Upper Deck starboard Hallway) /:cl: --------- Co-authored-by: Julien --- code/controllers/subsystem/hijack.dm | 8 +- code/game/area/almayer.dm | 149 +- code/modules/shuttle/dropship_hijack.dm | 2 +- maps/map_files/USS_Almayer/USS_Almayer.dmm | 2320 ++++++++++++-------- 4 files changed, 1439 insertions(+), 1040 deletions(-) diff --git a/code/controllers/subsystem/hijack.dm b/code/controllers/subsystem/hijack.dm index ee3e86e6095e..ed9eba2bc6c3 100644 --- a/code/controllers/subsystem/hijack.dm +++ b/code/controllers/subsystem/hijack.dm @@ -325,22 +325,22 @@ SUBSYSTEM_DEF(hijack) /datum/controller/subsystem/hijack/proc/heat_engine_room() engine_room_heated = TRUE - var/area/engine_room = GLOB.areas_by_type[/area/almayer/engineering/engine_core] + var/area/engine_room = GLOB.areas_by_type[/area/almayer/engineering/lower/engine_core] engine_room.firealert() engine_room.temperature = T90C for(var/mob/current_mob as anything in GLOB.mob_list) var/area/mob_area = get_area(current_mob) - if(istype(mob_area, /area/almayer/engineering/engine_core)) + if(istype(mob_area, /area/almayer/engineering/lower/engine_core)) to_chat(current_mob, SPAN_BOLDWARNING("You feel the heat of the room increase as the fusion engines whirr louder.")) /datum/controller/subsystem/hijack/proc/superheat_engine_room() engine_room_superheated = TRUE - var/area/engine_room = GLOB.areas_by_type[/area/almayer/engineering/engine_core] + var/area/engine_room = GLOB.areas_by_type[/area/almayer/engineering/lower/engine_core] engine_room.firealert() engine_room.temperature = T120C //slowly deals burn at this temp for(var/mob/current_mob as anything in GLOB.mob_list) var/area/mob_area = get_area(current_mob) - if(istype(mob_area, /area/almayer/engineering/engine_core)) + if(istype(mob_area, /area/almayer/engineering/lower/engine_core)) to_chat(current_mob, SPAN_BOLDWARNING("The room feels incredibly hot, you can't take much more of this!")) /datum/controller/subsystem/hijack/proc/announce_sd_halfway() diff --git a/code/game/area/almayer.dm b/code/game/area/almayer.dm index 60be3bdfacb8..5267798cfe3b 100644 --- a/code/game/area/almayer.dm +++ b/code/game/area/almayer.dm @@ -129,9 +129,40 @@ icon_state = "selfdestruct" fake_zlevel = 1 // upperdeck +// engineering + /area/almayer/engineering minimap_color = MINIMAP_AREA_ENGI +// lower deck + +/area/almayer/engineering/lower + name = "\improper Lower Deck Engineering" + icon_state = "lowerengineering" + fake_zlevel = 2 // lowerdeck + +/area/almayer/engineering/lower/engine_monitoring//this is not used so could be remove? + name = "\improper Lower Deck Engine Reactor Monitoring" + icon_state = "lowermonitoring" + +/area/almayer/engineering/lower/workshop + name = "\improper Lower Deck Engineering Workshop" + icon_state = "workshop" + +/area/almayer/engineering/lower/workshop/hangar + name = "\improper Ordnance workshop" + +/area/almayer/engineering/lower/engine_core + name = "\improper Engine Reactor Core Room" + icon_state = "coreroom" + soundscape_playlist = SCAPE_PL_ENG + soundscape_interval = 15 + hijack_evacuation_area = TRUE + hijack_evacuation_weight = 0.2 + hijack_evacuation_type = EVACUATION_TYPE_ADDITIVE + +// upper deck + /area/almayer/engineering/upper_engineering name = "\improper Upper Deck Engineering" icon_state = "upperengineering" @@ -151,34 +182,6 @@ icon_state = "ceroom" fake_zlevel = 1 // upperdeck -/area/almayer/engineering/lower_engine_monitoring - name = "\improper Lower Deck Engine Reactor Monitoring" - icon_state = "lowermonitoring" - fake_zlevel = 2 // lowerdeck - -/area/almayer/engineering/lower_engineering - name = "\improper Lower Deck Engineering" - icon_state = "lowerengineering" - fake_zlevel = 2 // lowerdeck - -/area/almayer/engineering/engineering_workshop - name = "\improper Lower Deck Engineering Workshop" - icon_state = "workshop" - fake_zlevel = 2 // lowerdeck - -/area/almayer/engineering/engineering_workshop/hangar - name = "\improper Ordnance workshop" - -/area/almayer/engineering/engine_core - name = "\improper Engine Reactor Core Room" - icon_state = "coreroom" - fake_zlevel = 2 // lowerdeck - soundscape_playlist = SCAPE_PL_ENG - soundscape_interval = 15 - hijack_evacuation_area = TRUE - hijack_evacuation_weight = 0.2 - hijack_evacuation_type = EVACUATION_TYPE_ADDITIVE - /area/almayer/engineering/starboard_atmos name = "\improper Upper Deck Starboard Atmospherics" icon_state = "starboardatmos" @@ -238,6 +241,13 @@ icon_state = "portpd" fake_zlevel = 2 // lowerdeck +/area/almayer/shipboard/stern_point_defense + name = "\improper Lower Deck Stern Point Defense" + icon_state = "portpd" + fake_zlevel = 2 // lowerdeck + +// brig + /area/almayer/shipboard/brig name = "\improper Brig" icon_state = "brig" @@ -245,51 +255,38 @@ /area/almayer/shipboard/brig/lobby name = "\improper Brig Lobby" - icon_state = "brig" /area/almayer/shipboard/brig/armory name = "\improper Brig Armory" - icon_state = "brig" /area/almayer/shipboard/brig/main_office name = "\improper Brig Main Office" - icon_state = "brig" /area/almayer/shipboard/brig/perma name = "\improper Brig Perma Cells" - icon_state = "brig" /area/almayer/shipboard/brig/cryo name = "\improper Brig Cryo Pods" - icon_state = "brig" /area/almayer/shipboard/brig/surgery name = "\improper Brig Surgery" - icon_state = "brig" /area/almayer/shipboard/brig/general_equipment name = "\improper Brig General Equipment" - icon_state = "brig" /area/almayer/shipboard/brig/evidence_storage name = "\improper Brig Evidence Storage" - icon_state = "brig" /area/almayer/shipboard/brig/execution name = "\improper Brig Execution Room" - icon_state = "brig" /area/almayer/shipboard/brig/cic_hallway name = "\improper Brig CiC Hallway" - icon_state = "brig" /area/almayer/shipboard/brig/dress name = "\improper CIC Dress Uniform Room" - icon_state = "brig" - /area/almayer/shipboard/brig/processing name = "\improper Brig Processing and Holding" - icon_state = "brig" /area/almayer/shipboard/brig/cells name = "\improper Brig Cells" @@ -393,6 +390,19 @@ icon_state = "starboard" fake_zlevel = 2 // lowerdeck +//new hallways areas + +/area/almayer/hallways/upper + fake_zlevel = 1 // upperdeck + +/area/almayer/hallways/upper/port + name = "\improper Upper Deck Port Hallway" + icon_state = "port" + +/area/almayer/hallways/upper/starboard + name = "\improper Upper Deck Starboard Hallway" + icon_state = "starboard" + /area/almayer/stair_clone name = "\improper Lower Deck Stairs" icon_state = "stairs_lowerdeck" @@ -404,11 +414,38 @@ icon_state = "stairs_upperdeck" fake_zlevel = 1 // upperdeck +// hull areas. + +// lower deck hull areas + /area/almayer/hull/lower_hull name = "\improper Lower Deck Hull" icon_state = "lowerhull" fake_zlevel = 2 // lowerdeck +/area/almayer/hull/lower_hull/stern + name = "\improper Lower Deck Stern Hull" + +/area/almayer/hull/lower_hull/l_f_s + name = "\improper Lower Deck Starboard-Fore Hull" + +/area/almayer/hull/lower_hull/l_m_s + name = "\improper Lower Deck Starboard-Midship Hull" + +/area/almayer/hull/lower_hull/l_a_s + name = "\improper Lower Deck Starboard Hull" + +/area/almayer/hull/lower_hull/l_f_p + name = "\improper Lower Deck Port-Fore Hull" + +/area/almayer/hull/lower_hull/l_m_p + name = "\improper Lower Deck Port-Midship Hull" + +/area/almayer/hull/lower_hull/l_a_p + name = "\improper Lower Deck Port-Aft Hull" + +// upper deck hull areas + /area/almayer/hull/upper_hull name = "\improper Upper Deck Hull" icon_state = "upperhull" @@ -416,51 +453,21 @@ /area/almayer/hull/upper_hull/u_f_s name = "\improper Upper Deck Fore-Starboard Hull" - icon_state = "upperhull" /area/almayer/hull/upper_hull/u_m_s name = "\improper Upper Deck Starboard-Midship Hull" - icon_state = "upperhull" /area/almayer/hull/upper_hull/u_a_s name = "\improper Upper Deck Starboard-Aft Hull" - icon_state = "upperhull" /area/almayer/hull/upper_hull/u_f_p name = "\improper Upper Deck Port-Fore Hull" - icon_state = "upperhull" /area/almayer/hull/upper_hull/u_m_p name = "\improper Upper Deck Port-Midship Hull" - icon_state = "upperhull" /area/almayer/hull/upper_hull/u_a_p name = "\improper Upper Deck Port-Aft Hull" - icon_state = "upperhull" - -/area/almayer/hull/lower_hull/l_f_s - name = "\improper Lower Deck Starboard-Fore Hull" - icon_state = "upperhull" - -/area/almayer/hull/lower_hull/l_m_s - name = "\improper Lower Deck Starboard-Midship Hull" - icon_state = "upperhull" - -/area/almayer/hull/lower_hull/l_a_s - name = "\improper Lower Deck Starboard Hull" - icon_state = "upperhull" - -/area/almayer/hull/lower_hull/l_f_p - name = "\improper Lower Deck Port-Fore Hull" - icon_state = "upperhull" - -/area/almayer/hull/lower_hull/l_m_p - name = "\improper Lower Deck Port-Midship Hull" - icon_state = "upperhull" - -/area/almayer/hull/lower_hull/l_a_p - name = "\improper Lower Deck Port-Aft Hull" - icon_state = "upperhull" /area/almayer/living/cryo_cells name = "\improper Lower Deck Cryo Cells" diff --git a/code/modules/shuttle/dropship_hijack.dm b/code/modules/shuttle/dropship_hijack.dm index db9ff6907118..c01445be5b5b 100644 --- a/code/modules/shuttle/dropship_hijack.dm +++ b/code/modules/shuttle/dropship_hijack.dm @@ -212,7 +212,7 @@ turfs += get_area_turfs(/area/almayer/squads/req) if("Lower deck Aftship") turfs += get_area_turfs(/area/almayer/living/cryo_cells) - turfs += get_area_turfs(/area/almayer/engineering/engineering_workshop) + turfs += get_area_turfs(/area/almayer/engineering/lower/workshop) else CRASH("Crash site [ship_section] unknown.") return pick(turfs) diff --git a/maps/map_files/USS_Almayer/USS_Almayer.dmm b/maps/map_files/USS_Almayer/USS_Almayer.dmm index a49857355f4f..e64aed9cf1c9 100644 --- a/maps/map_files/USS_Almayer/USS_Almayer.dmm +++ b/maps/map_files/USS_Almayer/USS_Almayer.dmm @@ -59,7 +59,7 @@ dir = 8; icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "aak" = ( /obj/effect/step_trigger/teleporter/random{ affect_ghosts = 1; @@ -187,7 +187,7 @@ dir = 8; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "aax" = ( /obj/effect/projector{ name = "Almayer_Down2"; @@ -256,7 +256,7 @@ /turf/open/floor/almayer{ allow_construction = 0 }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "aaH" = ( /obj/effect/step_trigger/teleporter_vector{ name = "Almayer_Down1"; @@ -278,7 +278,7 @@ allow_construction = 0; icon_state = "plate" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "aaJ" = ( /obj/structure/stairs{ dir = 1; @@ -295,7 +295,7 @@ /turf/open/floor/plating/almayer{ allow_construction = 0 }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "aaK" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -348,7 +348,7 @@ /turf/open/floor/almayer{ icon_state = "mono" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "aaY" = ( /obj/structure/lattice, /turf/open/space, @@ -418,7 +418,7 @@ dir = 9; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "abp" = ( /obj/effect/step_trigger/clone_cleaner, /turf/closed/wall/almayer, @@ -430,7 +430,7 @@ /obj/structure/disposalpipe/segment, /obj/structure/disposalpipe/segment, /turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "abu" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -440,7 +440,7 @@ dir = 10; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "abw" = ( /obj/structure/window/framed/almayer/hull, /turf/open/floor/plating, @@ -476,7 +476,7 @@ /turf/open/floor/plating/almayer{ allow_construction = 0 }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "abE" = ( /turf/closed/wall/almayer, /area/almayer/living/basketball) @@ -528,7 +528,7 @@ dir = 8; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "abQ" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -589,7 +589,7 @@ /turf/open/floor/almayer{ icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "ach" = ( /obj/effect/step_trigger/clone_cleaner, /obj/structure/machinery/door/airlock/almayer/maint, @@ -754,7 +754,7 @@ dir = 6; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "acu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -812,10 +812,13 @@ icon_state = "N"; pixel_y = 1 }, +/obj/structure/machinery/power/apc/almayer{ + dir = 1 + }, /turf/open/floor/almayer{ icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "acH" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 4; @@ -828,7 +831,7 @@ dir = 4; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "acI" = ( /obj/structure/desertdam/decals/road_edge{ pixel_x = -12 @@ -905,7 +908,7 @@ dir = 10; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "acP" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -919,7 +922,7 @@ dir = 6; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "acS" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -1034,7 +1037,7 @@ dir = 1; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "adj" = ( /obj/effect/step_trigger/teleporter_vector{ name = "Almayer_Down1"; @@ -1107,7 +1110,7 @@ icon_state = "S" }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "adC" = ( /obj/structure/surface/rack, /obj/item/stock_parts/manipulator/nano{ @@ -1210,7 +1213,7 @@ dir = 6; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "aea" = ( /obj/structure/machinery/light{ dir = 1 @@ -1319,7 +1322,7 @@ /turf/open/floor/almayer{ icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "aez" = ( /obj/structure/bed/chair, /turf/open/floor/almayer{ @@ -1615,7 +1618,7 @@ dir = 4; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "afr" = ( /turf/open/floor/almayer{ dir = 9; @@ -1885,7 +1888,7 @@ /obj/effect/step_trigger/clone_cleaner, /obj/structure/disposalpipe/segment, /turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "agn" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 6 @@ -2035,7 +2038,7 @@ id = "almayerlink" }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "agO" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /turf/open/floor/almayer{ @@ -2267,7 +2270,7 @@ dir = 1; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "ahJ" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/firedoor/border_only/almayer, @@ -2692,7 +2695,7 @@ dir = 4; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "ajr" = ( /turf/open/floor/almayer{ dir = 1; @@ -2888,7 +2891,7 @@ dir = 4; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "ajT" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 1 @@ -4514,7 +4517,7 @@ pixel_x = 32 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "apB" = ( /obj/structure/surface/rack, /obj/item/reagent_container/food/snacks/wrapped/booniebars{ @@ -4576,21 +4579,21 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "apO" = ( /obj/structure/machinery/cm_vending/sorted/tech/electronics_storage, /turf/open/floor/almayer{ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "apP" = ( /obj/structure/machinery/autolathe, /turf/open/floor/almayer{ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "apR" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -4637,7 +4640,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "apU" = ( /obj/structure/machinery/door/poddoor/shutters/almayer{ dir = 4; @@ -4657,7 +4660,7 @@ dir = 8 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "apW" = ( /obj/structure/machinery/telecomms/server/presets/common, /turf/open/floor/almayer{ @@ -4723,7 +4726,7 @@ pixel_y = 28 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "aqe" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -4893,7 +4896,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "aqF" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_10" @@ -4989,7 +4992,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "aqU" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/command/airoom) @@ -5008,7 +5011,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "aqY" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/firedoor/border_only/almayer, @@ -5027,7 +5030,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "are" = ( /obj/structure/machinery/computer/demo_sim{ dir = 4; @@ -5040,7 +5043,7 @@ pixel_y = -8 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "arf" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out"; @@ -5197,13 +5200,13 @@ dir = 4; icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "arE" = ( /obj/structure/pipes/vents/pump{ dir = 4 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "arF" = ( /obj/structure/machinery/light{ dir = 1 @@ -5237,7 +5240,7 @@ dir = 9; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "arK" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 8; @@ -5302,7 +5305,7 @@ dir = 4 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "asc" = ( /turf/open/floor/almayer{ dir = 1; @@ -5343,7 +5346,7 @@ dir = 4; icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "asj" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -5368,7 +5371,7 @@ /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "asl" = ( /obj/structure/machinery/light{ dir = 1 @@ -5404,7 +5407,7 @@ dir = 8; icon_state = "orangecorner" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "asp" = ( /obj/structure/machinery/firealarm{ pixel_y = 28 @@ -5426,7 +5429,7 @@ "ast" = ( /obj/structure/surface/table/almayer, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "asu" = ( /obj/structure/sign/safety/hazard{ pixel_x = 32; @@ -5449,7 +5452,7 @@ dir = 8; icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "asw" = ( /obj/structure/machinery/light{ dir = 8 @@ -5471,14 +5474,14 @@ /turf/open/floor/plating/almayer{ allow_construction = 0 }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "asy" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ dir = 4; icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "asA" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, @@ -5491,7 +5494,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "asD" = ( /obj/effect/step_trigger/clone_cleaner, /obj/structure/machinery/door_control{ @@ -5507,7 +5510,7 @@ /area/almayer/command/airoom) "asE" = ( /turf/closed/wall/almayer/reinforced, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "asF" = ( /obj/structure/machinery/door/airlock/almayer/secure/reinforced{ access_modified = 1; @@ -5707,14 +5710,14 @@ /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "ate" = ( /obj/structure/surface/rack, /obj/item/reagent_container/glass/bucket/janibucket, /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "atf" = ( /obj/structure/surface/table/almayer, /obj/item/tool/pen, @@ -5740,13 +5743,13 @@ /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "ati" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "atj" = ( /obj/effect/projector{ name = "Almayer_Down3"; @@ -5853,7 +5856,7 @@ }, /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "atx" = ( /obj/structure/closet/secure_closet/guncabinet/red/cic_armory_shotgun, /turf/open/floor/almayer{ @@ -5883,7 +5886,7 @@ req_one_access_txt = "35" }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "atC" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -5907,7 +5910,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "atF" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/machinery/door/poddoor/shutters/almayer{ @@ -5918,7 +5921,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "atG" = ( /obj/structure/bed/chair/comfy/beige{ dir = 4 @@ -5946,7 +5949,7 @@ dir = 1 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "atK" = ( /turf/open/floor/almayer{ dir = 10; @@ -6046,14 +6049,14 @@ pixel_y = 1 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "aua" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; pixel_y = 1 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "aub" = ( /obj/structure/machinery/light{ dir = 1 @@ -6086,7 +6089,7 @@ }, /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "aue" = ( /obj/effect/projector{ name = "Almayer_Up3"; @@ -6121,7 +6124,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "aui" = ( /obj/structure/machinery/telecomms/hub/preset, /turf/open/floor/almayer{ @@ -6217,7 +6220,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "aur" = ( /obj/structure/reagent_dispensers/oxygentank{ anchored = 1 @@ -6229,7 +6232,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "aus" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -6239,7 +6242,7 @@ pixel_x = 1 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "aut" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -6249,7 +6252,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "auu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -6279,7 +6282,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "aux" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -6292,7 +6295,7 @@ dir = 4 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "auy" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -6326,7 +6329,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "auD" = ( /obj/structure/bed/chair{ dir = 8 @@ -6350,11 +6353,11 @@ dir = 4 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "auF" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "auG" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -6389,7 +6392,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "auK" = ( /obj/structure/stairs/perspective{ icon_state = "p_stair_sn_full_cap" @@ -6420,7 +6423,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "auN" = ( /obj/structure/reagent_dispensers/fueltank{ anchored = 1 @@ -6428,7 +6431,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "auO" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ @@ -6441,7 +6444,7 @@ icon_state = "W" }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "auQ" = ( /obj/structure/window/framed/almayer, /turf/open/floor/plating, @@ -6500,7 +6503,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "auZ" = ( /obj/structure/machinery/light, /obj/effect/decal/cleanable/dirt, @@ -6521,7 +6524,7 @@ unslashable = 1 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "avb" = ( /obj/structure/reagent_dispensers/fueltank/gas/methane{ anchored = 1 @@ -6533,7 +6536,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "avc" = ( /obj/structure/stairs/perspective{ dir = 4; @@ -6567,13 +6570,13 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "avi" = ( /obj/structure/reagent_dispensers/fueltank/custom, /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "avj" = ( /turf/open/floor/almayer{ icon_state = "blue" @@ -6589,7 +6592,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "avl" = ( /turf/open/floor/almayer, /area/almayer/hull/upper_hull/u_f_s) @@ -6808,7 +6811,7 @@ dir = 1 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "avU" = ( /obj/effect/landmark/start/crew_chief, /turf/open/floor/plating/plating_catwalk, @@ -7600,14 +7603,14 @@ pixel_x = -17 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "ayH" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; pixel_x = 1 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "ayI" = ( /obj/structure/surface/rack, /obj/item/storage/toolbox/mechanical{ @@ -8061,7 +8064,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "aAd" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -8799,7 +8802,7 @@ pixel_y = 1 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "aCZ" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk, @@ -9223,7 +9226,7 @@ dir = 1 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "aEK" = ( /obj/structure/machinery/status_display{ pixel_y = 30 @@ -9718,7 +9721,7 @@ dir = 8; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "aGS" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -10186,7 +10189,7 @@ /turf/open/floor/almayer{ icon_state = "redfull" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "aJc" = ( /obj/structure/machinery/door/airlock/almayer/command{ name = "\improper Commanding Officer's Mess" @@ -10219,7 +10222,7 @@ dir = 10; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "aJf" = ( /obj/structure/machinery/floodlight, /obj/structure/machinery/floodlight, @@ -10535,7 +10538,7 @@ dir = 1; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "aKC" = ( /obj/effect/step_trigger/clone_cleaner, /obj/effect/decal/warning_stripes{ @@ -10546,7 +10549,7 @@ dir = 9; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "aKE" = ( /obj/structure/machinery/light, /turf/open/floor/almayer, @@ -10615,7 +10618,7 @@ /turf/open/floor/plating/almayer{ allow_construction = 0 }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "aKN" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/clothing/accessory/red, @@ -10782,7 +10785,7 @@ allow_construction = 0; icon_state = "plate" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "aLZ" = ( /obj/structure/surface/table/almayer, /obj/item/tool/pen, @@ -12613,7 +12616,7 @@ /area/almayer/living/captain_mess) "aUx" = ( /turf/closed/wall/almayer/outer, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "aUC" = ( /obj/structure/machinery/light{ dir = 4 @@ -12715,7 +12718,7 @@ /area/almayer/living/captain_mess) "aVl" = ( /turf/closed/wall/almayer, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "aVo" = ( /obj/structure/machinery/light{ dir = 1 @@ -12728,7 +12731,7 @@ dir = 10 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "aVr" = ( /obj/structure/closet/secure_closet/freezer/meat, /obj/structure/sign/safety/fridge{ @@ -12972,7 +12975,7 @@ "aWr" = ( /obj/structure/window/framed/almayer/hull, /turf/open/floor/plating, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "aWs" = ( /obj/structure/machinery/power/apc/almayer{ dir = 4 @@ -13168,7 +13171,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/shipboard/stern_point_defense) "aXS" = ( /obj/structure/machinery/alarm/almayer{ dir = 1 @@ -13865,7 +13868,7 @@ /turf/open/floor/almayer{ allow_construction = 0 }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "bbr" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/firedoor/border_only/almayer{ @@ -14243,12 +14246,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) -"bdo" = ( -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hull/lower_hull/l_a_s) "bdr" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/alpha) @@ -14634,7 +14631,7 @@ dir = 1; icon_state = "orangecorner" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bft" = ( /obj/structure/disposalpipe/junction{ dir = 4 @@ -14701,7 +14698,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bfC" = ( /obj/structure/machinery/alarm/almayer{ dir = 1 @@ -15073,11 +15070,11 @@ dir = 1 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bhw" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bhx" = ( /obj/structure/bed/chair/wood/normal{ dir = 1 @@ -15088,7 +15085,7 @@ /area/almayer/living/chapel) "bhB" = ( /turf/closed/wall/almayer/reinforced, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bhC" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -15105,7 +15102,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/hull/lower_hull/l_a_s) +/area/almayer/shipboard/stern_point_defense) "bhG" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -15270,7 +15267,7 @@ dir = 8; icon_state = "orangecorner" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bje" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 1 @@ -15279,10 +15276,10 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bjg" = ( /turf/open/floor/almayer, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bjk" = ( /obj/structure/machinery/door_control{ id = "perma_lockdown_2"; @@ -15303,7 +15300,7 @@ dir = 4 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bjn" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/machinery/door/airlock/multi_tile/almayer/engidoor{ @@ -15312,7 +15309,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bjs" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk, @@ -15332,7 +15329,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/shipboard/stern_point_defense) "bjA" = ( /turf/open/floor/almayer{ dir = 9; @@ -15478,7 +15475,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bky" = ( /obj/structure/machinery/cryo_cell, /obj/structure/pipes/standard/cap/hidden, @@ -15608,7 +15605,7 @@ /area/almayer/hallways/starboard_hallway) "bkZ" = ( /turf/closed/wall/almayer, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "blb" = ( /obj/structure/sign/safety/hvac_old{ pixel_x = 15; @@ -15623,7 +15620,7 @@ dir = 4 }, /turf/open/floor/almayer, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "blf" = ( /obj/structure/machinery/power/apc/almayer{ dir = 1 @@ -15672,7 +15669,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bln" = ( /obj/structure/sign/safety/cryo{ pixel_x = 3; @@ -15688,7 +15685,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "blp" = ( /obj/structure/surface/table/almayer, /obj/item/clipboard, @@ -15971,13 +15968,13 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bmN" = ( /obj/structure/machinery/power/apc/almayer{ dir = 1 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bmO" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -15997,7 +15994,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bmR" = ( /obj/structure/machinery/cm_vending/sorted/tech/tool_storage, /obj/structure/machinery/status_display{ @@ -16006,7 +16003,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bmW" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -16028,16 +16025,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) -"bne" = ( -/obj/structure/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hull/lower_hull/l_a_s) +/area/almayer/engineering/lower/engine_core) "bng" = ( /obj/structure/machinery/vending/cigarette{ density = 0; @@ -16358,10 +16346,10 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "boI" = ( /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "boL" = ( /turf/open/floor/almayer, /area/almayer/living/starboard_garden) @@ -16388,7 +16376,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "boU" = ( /obj/structure/platform{ dir = 4; @@ -16402,7 +16390,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "boV" = ( /obj/structure/cargo_container/wy/left, /obj/structure/prop/almayer/minigun_crate{ @@ -16630,7 +16618,7 @@ /obj/structure/window/framed/almayer, /obj/structure/machinery/door/firedoor/border_only/almayer, /turf/open/floor/plating, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bpY" = ( /obj/structure/surface/table/almayer, /obj/item/frame/table, @@ -16639,7 +16627,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bpZ" = ( /obj/structure/surface/table/almayer, /obj/item/cell/crap, @@ -16648,25 +16636,25 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bqa" = ( /turf/open/floor/almayer{ dir = 8; icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bqe" = ( /obj/structure/pipes/vents/scrubber{ dir = 8 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bqf" = ( /obj/structure/machinery/autolathe, /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bqm" = ( /obj/structure/closet/boxinggloves, /turf/open/floor/almayer{ @@ -16851,12 +16839,12 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "brx" = ( /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bry" = ( /obj/structure/sign/poster{ pixel_y = 32 @@ -16887,7 +16875,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "brH" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -16911,7 +16899,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "brJ" = ( /obj/effect/decal/warning_stripes{ icon_state = "SW-out" @@ -16920,7 +16908,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "brO" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -17200,7 +17188,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "btc" = ( /obj/structure/bed/chair{ dir = 8; @@ -17245,7 +17233,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "btn" = ( /obj/structure/machinery/light{ dir = 1 @@ -17255,7 +17243,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "btp" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 4 @@ -17408,7 +17396,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "buq" = ( /obj/structure/machinery/door/airlock/almayer/maint{ dir = 1 @@ -17486,7 +17474,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "buM" = ( /obj/structure/machinery/cm_vending/clothing/smartgun/bravo, /turf/open/floor/almayer{ @@ -17520,7 +17508,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "buS" = ( /obj/structure/machinery/cm_vending/gear/engi, /turf/open/floor/almayer{ @@ -17545,7 +17533,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bvb" = ( /obj/structure/machinery/light{ dir = 8 @@ -17633,20 +17621,20 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bvK" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/almayer{ dir = 8; icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bvL" = ( /turf/open/floor/almayer{ dir = 4; icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bvO" = ( /obj/structure/largecrate/random/barrel/white, /turf/open/floor/almayer{ @@ -17660,7 +17648,7 @@ dir = 8; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bvS" = ( /obj/structure/machinery/door/airlock/almayer/maint, /turf/open/floor/almayer{ @@ -17773,7 +17761,7 @@ dir = 8; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bwl" = ( /obj/effect/decal/warning_stripes{ icon_state = "NE-out"; @@ -17822,6 +17810,15 @@ icon_state = "sterile_green_corner" }, /area/almayer/medical/lower_medical_medbay) +"bwO" = ( +/obj/structure/sign/safety/hvac_old{ + pixel_x = 8; + pixel_y = -32 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/lower_hull/stern) "bwQ" = ( /obj/structure/machinery/light{ dir = 4 @@ -17942,13 +17939,13 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bxr" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bxs" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -17958,7 +17955,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bxx" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /turf/open/floor/almayer{ @@ -18016,13 +18013,13 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bxF" = ( /obj/structure/machinery/alarm/almayer{ dir = 1 }, /turf/open/floor/almayer, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bxG" = ( /obj/structure/pipes/standard/simple/visible{ dir = 6 @@ -18033,7 +18030,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bxH" = ( /obj/structure/pipes/standard/simple/visible{ dir = 4 @@ -18041,7 +18038,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bxI" = ( /obj/structure/pipes/binary/pump/on{ dir = 4 @@ -18049,7 +18046,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bxX" = ( /obj/structure/sign/safety/hvac_old{ pixel_x = 8; @@ -18109,7 +18106,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "byh" = ( /obj/structure/pipes/standard/simple/visible{ dir = 5 @@ -18118,7 +18115,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "byk" = ( /obj/structure/pipes/valve/digital/open{ dir = 4 @@ -18131,7 +18128,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "byl" = ( /obj/structure/pipes/standard/simple/visible{ dir = 9 @@ -18144,7 +18141,7 @@ dir = 1; icon_state = "orangecorner" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bym" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -18222,11 +18219,11 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "byA" = ( /obj/structure/machinery/alarm/almayer, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "byC" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 4; @@ -18239,7 +18236,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "byF" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/disposalpipe/segment{ @@ -18263,21 +18260,21 @@ "byJ" = ( /obj/structure/surface/table/almayer, /turf/open/floor/almayer, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "byK" = ( /obj/structure/pipes/standard/simple/visible{ dir = 5 }, /obj/structure/machinery/light, /turf/open/floor/almayer, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "byL" = ( /obj/structure/machinery/meter, /obj/structure/pipes/standard/simple/visible{ dir = 4 }, /turf/open/floor/almayer, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "byM" = ( /obj/structure/pipes/standard/simple/hidden/universal{ dir = 4 @@ -18285,7 +18282,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "byN" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 10 @@ -18293,7 +18290,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "byO" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/computer/general_air_control/large_tank_control{ @@ -18302,20 +18299,20 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "byQ" = ( /obj/structure/machinery/suit_storage_unit/carbon_unit, /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "byR" = ( /obj/structure/machinery/suit_storage_unit/carbon_unit, /obj/structure/machinery/light, /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bzg" = ( /obj/structure/pipes/vents/pump{ dir = 8; @@ -18330,7 +18327,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bzo" = ( /obj/structure/machinery/power/apc/almayer, /turf/open/floor/almayer{ @@ -18411,7 +18408,7 @@ dir = 4 }, /turf/open/floor/almayer, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bzQ" = ( /obj/structure/largecrate/random/case, /turf/open/floor/plating/plating_catwalk, @@ -18438,7 +18435,7 @@ dir = 1 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bzV" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -18470,7 +18467,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bzY" = ( /obj/structure/machinery/light, /turf/open/floor/almayer{ @@ -18510,7 +18507,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bAg" = ( /obj/structure/closet/firecloset, /turf/open/floor/almayer{ @@ -18550,7 +18547,7 @@ "bAF" = ( /obj/effect/step_trigger/clone_cleaner, /turf/open/floor/almayer, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "bAH" = ( /obj/structure/largecrate/random/case, /turf/open/floor/almayer{ @@ -18680,7 +18677,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bBd" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -18758,13 +18755,13 @@ /turf/open/floor/almayer{ icon_state = "orangecorner" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bBp" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bBq" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -18775,7 +18772,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bBu" = ( /obj/structure/surface/rack, /turf/open/floor/almayer{ @@ -19046,7 +19043,7 @@ dir = 4 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bCJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -19055,7 +19052,7 @@ dir = 1 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bCM" = ( /obj/structure/machinery/cryopod, /turf/open/floor/almayer{ @@ -19089,7 +19086,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/shipboard/stern_point_defense) "bCS" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 9 @@ -19368,7 +19365,7 @@ /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bEl" = ( /obj/structure/machinery/computer/supply_drop_console/limited, /turf/closed/wall/almayer, @@ -19393,7 +19390,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bEo" = ( /obj/structure/bed/sofa/south/grey/right{ pixel_y = 12 @@ -19654,14 +19651,14 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bEV" = ( /obj/structure/closet/firecloset, /turf/open/floor/almayer{ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bFa" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -19682,7 +19679,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bFe" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/cm_vending/sorted/medical/wall_med{ @@ -19693,7 +19690,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bFf" = ( /obj/structure/surface/table/almayer, /obj/item/book/manual/atmospipes, @@ -19702,7 +19699,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bFg" = ( /obj/structure/surface/table/almayer, /obj/item/frame/fire_alarm, @@ -19710,7 +19707,7 @@ dir = 5; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bFj" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -20144,7 +20141,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bHv" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/power/apc/almayer{ @@ -20163,7 +20160,7 @@ dir = 4; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bHy" = ( /obj/structure/surface/table/almayer, /obj/item/storage/belt/utility/full, @@ -20171,7 +20168,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bHz" = ( /obj/structure/surface/table/almayer, /obj/item/fuelCell, @@ -20183,7 +20180,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bHB" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -20531,13 +20528,13 @@ /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bJk" = ( /obj/structure/machinery/light, /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bJl" = ( /obj/structure/machinery/door/airlock/almayer/generic{ access_modified = 1; @@ -20601,7 +20598,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bJH" = ( /obj/structure/surface/table/almayer, /obj/item/facepaint/black{ @@ -20614,13 +20611,13 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bJK" = ( /obj/structure/closet/radiation, /turf/open/floor/almayer{ icon_state = "test_floor5" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bJM" = ( /obj/structure/machinery/alarm/almayer{ dir = 1 @@ -20629,7 +20626,7 @@ dir = 9; icon_state = "orange" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bJN" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -20640,7 +20637,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bJO" = ( /obj/structure/machinery/light/small, /obj/structure/sign/safety/nonpress_0g{ @@ -20662,7 +20659,7 @@ dir = 5; icon_state = "orange" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bJQ" = ( /obj/structure/surface/table/almayer, /obj/item/fuelCell, @@ -20670,7 +20667,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bJR" = ( /obj/structure/surface/table/almayer, /obj/item/fuelCell, @@ -20679,7 +20676,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bJS" = ( /obj/structure/surface/rack, /obj/item/tool/wrench, @@ -20884,7 +20881,7 @@ dir = 2 }, /turf/open/floor/plating, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bKQ" = ( /obj/structure/bed/chair{ dir = 8 @@ -20897,7 +20894,7 @@ dir = 4; icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bKU" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -20909,7 +20906,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bKV" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -20917,11 +20914,11 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bKW" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bKX" = ( /obj/structure/surface/table/almayer, /obj/item/storage/box/masks, @@ -20950,24 +20947,24 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bLd" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 }, /turf/open/floor/almayer, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bLe" = ( /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bLf" = ( /turf/open/floor/almayer{ dir = 5; icon_state = "orange" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bLg" = ( /obj/effect/decal/warning_stripes{ icon_state = "SW-out" @@ -20976,7 +20973,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/hull/lower_hull/l_a_s) +/area/almayer/shipboard/stern_point_defense) "bLh" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -21310,7 +21307,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bMC" = ( /turf/open/floor/almayer{ dir = 9; @@ -21335,7 +21332,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bMJ" = ( /obj/structure/machinery/light, /obj/structure/machinery/portable_atmospherics/canister/oxygen, @@ -21353,11 +21350,11 @@ /area/almayer/engineering/airmix) "bMM" = ( /turf/open/floor/almayer, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bMN" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bMO" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/prop/almayer/CICmap, @@ -21379,7 +21376,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bMR" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 4 @@ -21430,7 +21427,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bMW" = ( /obj/structure/machinery/power/fusion_engine{ name = "\improper S-52 fusion reactor 13" @@ -21442,19 +21439,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) -"bMX" = ( -/obj/structure/machinery/light/small{ - dir = 8 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hull/lower_hull/l_a_s) +/area/almayer/engineering/lower/engine_core) "bMY" = ( /obj/structure/mirror{ pixel_x = 28 @@ -21698,6 +21683,16 @@ icon_state = "plating_striped" }, /area/almayer/squads/req) +"bNR" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "bNS" = ( /obj/structure/machinery/prop/almayer/computer{ dir = 1 @@ -21738,7 +21733,7 @@ dir = 4 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bOc" = ( /obj/structure/platform{ dir = 1 @@ -21750,7 +21745,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bOe" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -21777,7 +21772,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bOi" = ( /obj/structure/machinery/light{ dir = 1 @@ -21786,7 +21781,7 @@ dir = 9; icon_state = "orange" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bOk" = ( /obj/structure/machinery/power/fusion_engine{ name = "\improper S-52 fusion reactor 2" @@ -21794,7 +21789,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bOl" = ( /obj/structure/machinery/power/fusion_engine{ name = "\improper S-52 fusion reactor 8" @@ -21802,7 +21797,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bOm" = ( /obj/structure/machinery/power/fusion_engine{ name = "\improper S-52 fusion reactor 14" @@ -21810,25 +21805,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) -"bOn" = ( -/obj/structure/machinery/door/airlock/almayer/secure/reinforced{ - name = "\improper Exterior Airlock"; - req_access = null - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hull/lower_hull/l_a_s) -"bOo" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hull/lower_hull/l_a_s) +/area/almayer/engineering/lower/engine_core) "bOq" = ( /obj/structure/prop/almayer/cannon_cables, /turf/open/floor/almayer{ @@ -22007,13 +21984,13 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bPe" = ( /obj/structure/machinery/portable_atmospherics/powered/pump, /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bPg" = ( /obj/vehicle/powerloader, /obj/structure/machinery/light{ @@ -22213,7 +22190,7 @@ /turf/open/floor/almayer{ icon_state = "orangefull" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bPS" = ( /obj/structure/largecrate/random/case/small, /turf/open/floor/almayer{ @@ -22251,7 +22228,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bQa" = ( /obj/effect/decal/warning_stripes{ icon_state = "SW-out" @@ -22260,7 +22237,7 @@ /turf/open/floor/almayer{ icon_state = "orangefull" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bQc" = ( /obj/structure/machinery/door/airlock/almayer/generic{ dir = 1 @@ -22291,13 +22268,13 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bQi" = ( /turf/open/floor/almayer{ dir = 1; icon_state = "orangecorner" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bQk" = ( /obj/structure/machinery/power/smes/buildable, /obj/structure/machinery/status_display{ @@ -22314,13 +22291,13 @@ /turf/open/floor/almayer{ icon_state = "tcomms" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bQm" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bQt" = ( /obj/structure/machinery/light, /turf/open/floor/almayer{ @@ -22333,7 +22310,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bQz" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/almayer{ @@ -22484,7 +22461,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bRj" = ( /obj/structure/ladder{ height = 1; @@ -22494,7 +22471,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bRk" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -22505,13 +22482,13 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bRr" = ( /obj/structure/machinery/fuelcell_recycler, /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bRs" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/sign/safety/bridge{ @@ -22538,7 +22515,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bRx" = ( /obj/structure/machinery/door/poddoor/railing{ id = "vehicle_elevator_railing_aux" @@ -22714,7 +22691,7 @@ /turf/open/floor/almayer{ icon_state = "orangefull" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bSl" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -22723,7 +22700,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bSm" = ( /obj/effect/decal/warning_stripes{ icon_state = "NW-out"; @@ -22733,7 +22710,7 @@ /turf/open/floor/almayer{ icon_state = "orangefull" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bSn" = ( /obj/structure/machinery/cm_vending/gear/tl{ density = 0; @@ -22757,7 +22734,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bSv" = ( /turf/closed/wall/almayer, /area/almayer/living/tankerbunks) @@ -22766,10 +22743,10 @@ dir = 8; icon_state = "orangecorner" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bSy" = ( /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bSD" = ( /obj/item/reagent_container/glass/bucket{ pixel_x = -4; @@ -22794,7 +22771,7 @@ /turf/open/floor/almayer{ icon_state = "tcomms" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bSJ" = ( /turf/closed/wall/almayer, /area/almayer/squads/delta) @@ -22891,7 +22868,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bTl" = ( /obj/structure/machinery/power/fusion_engine{ name = "\improper S-52 fusion reactor 4" @@ -22899,7 +22876,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bTn" = ( /obj/structure/machinery/cryopod/right{ layer = 3.1; @@ -22918,7 +22895,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bTq" = ( /obj/structure/machinery/door/airlock/almayer/secure/reinforced{ name = "\improper Evacuation Airlock PL-3"; @@ -22964,7 +22941,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "bTA" = ( /turf/open/floor/almayer, /area/almayer/squads/delta) @@ -23271,7 +23248,7 @@ dir = 8; icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bUJ" = ( /obj/structure/platform_decoration{ dir = 4 @@ -23280,14 +23257,14 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bUL" = ( /obj/structure/platform_decoration, /turf/open/floor/almayer{ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bUM" = ( /turf/open/floor/almayer{ dir = 8; @@ -23340,7 +23317,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bUX" = ( /obj/structure/machinery/power/fusion_engine{ name = "\improper S-52 fusion reactor 11" @@ -23348,7 +23325,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bUY" = ( /obj/structure/machinery/power/fusion_engine{ name = "\improper S-52 fusion reactor 17" @@ -23360,7 +23337,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bUZ" = ( /obj/effect/decal/warning_stripes{ icon_state = "NW-out" @@ -23369,7 +23346,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/shipboard/stern_point_defense) "bVb" = ( /turf/open/floor/almayer{ icon_state = "blue" @@ -23608,14 +23585,14 @@ /turf/open/floor/almayer{ icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "bWw" = ( /obj/structure/pipes/vents/pump{ dir = 8; id_tag = "mining_outpost_pump" }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "bWC" = ( /obj/effect/decal/warning_stripes{ icon_state = "NW-out"; @@ -23624,13 +23601,13 @@ /turf/open/floor/almayer{ icon_state = "redfull" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/lifeboat_pumps/south2) "bWE" = ( /turf/open/floor/almayer{ dir = 10; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/lifeboat_pumps/south2) "bWJ" = ( /obj/structure/machinery/shower{ dir = 4 @@ -23652,7 +23629,7 @@ /area/almayer/squads/req) "bWM" = ( /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "bWP" = ( /obj/effect/decal/warning_stripes{ icon_state = "SW-out" @@ -23674,7 +23651,7 @@ /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "bWT" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -23712,7 +23689,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "bXe" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/lifeboat_pumps/south2) @@ -23736,7 +23713,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bXm" = ( /obj/structure/stairs/perspective{ dir = 1; @@ -23746,7 +23723,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bXn" = ( /obj/structure/stairs/perspective{ dir = 8; @@ -23759,7 +23736,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bXo" = ( /obj/structure/ladder{ height = 1; @@ -23780,7 +23757,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bXs" = ( /obj/structure/machinery/light{ dir = 1 @@ -23794,7 +23771,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bXu" = ( /obj/structure/machinery/power/fusion_engine{ name = "\improper S-52 fusion reactor 18" @@ -23802,7 +23779,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bXv" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/disposalpipe/segment, @@ -23846,7 +23823,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bXQ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -23857,7 +23834,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bXR" = ( /obj/structure/stairs/perspective{ icon_state = "p_stair_sn_full_cap" @@ -23869,7 +23846,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bXS" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -23878,7 +23855,7 @@ dir = 4 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bXU" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -23894,7 +23871,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bXV" = ( /obj/structure/machinery/light{ dir = 1 @@ -23908,7 +23885,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bXX" = ( /obj/structure/machinery/light{ dir = 8 @@ -24025,7 +24002,7 @@ dir = 5; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "bYz" = ( /obj/structure/sign/safety/south{ pixel_x = 32; @@ -24057,7 +24034,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bYK" = ( /obj/structure/sign/safety/ladder{ pixel_x = 8; @@ -24067,11 +24044,11 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bYM" = ( /obj/structure/pipes/vents/pump, /turf/open/floor/almayer, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bYO" = ( /obj/structure/pipes/vents/pump{ dir = 1 @@ -24079,7 +24056,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bYP" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -24088,7 +24065,7 @@ dir = 6; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "bYQ" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -24097,7 +24074,7 @@ dir = 4; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "bYS" = ( /obj/structure/pipes/vents/scrubber{ dir = 1 @@ -24105,12 +24082,12 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bYU" = ( /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bYV" = ( /obj/item/fuelCell, /obj/item/fuelCell, @@ -24120,7 +24097,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bYW" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 1; @@ -24130,7 +24107,7 @@ dir = 6; icon_state = "orange" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bYY" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/disposalpipe/segment, @@ -24235,7 +24212,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bZD" = ( /obj/structure/surface/table/almayer, /obj/item/fuelCell, @@ -24248,7 +24225,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "bZE" = ( /obj/structure/pipes/binary/pump/on{ dir = 4 @@ -24264,7 +24241,7 @@ /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "bZH" = ( /obj/structure/machinery/firealarm{ dir = 8; @@ -24469,7 +24446,7 @@ /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "caz" = ( /obj/structure/surface/table/almayer, /obj/item/storage/firstaid/toxin{ @@ -24480,7 +24457,7 @@ /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "caA" = ( /obj/structure/surface/table/almayer, /obj/item/storage/firstaid/fire, @@ -24488,7 +24465,7 @@ /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "caB" = ( /obj/structure/surface/table/almayer, /obj/item/device/flashlight, @@ -24497,7 +24474,7 @@ dir = 6; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "caC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24539,7 +24516,7 @@ dir = 1; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "caM" = ( /obj/structure/largecrate/random/barrel/blue, /turf/open/floor/almayer{ @@ -24710,7 +24687,7 @@ pixel_y = 1 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "cbH" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/effect/decal/warning_stripes{ @@ -24720,7 +24697,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "cbM" = ( /obj/structure/closet/crate, /obj/item/clothing/glasses/welding, @@ -24735,7 +24712,7 @@ dir = 9; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "cbO" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -24748,7 +24725,7 @@ dir = 5; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "cbQ" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -24883,7 +24860,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "ccf" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -24891,7 +24868,7 @@ /turf/open/floor/almayer{ icon_state = "redfull" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "ccg" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -24978,7 +24955,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "ccy" = ( /obj/structure/machinery/firealarm{ pixel_y = 28 @@ -24987,7 +24964,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "ccz" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 5 @@ -24995,7 +24972,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "ccA" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -25003,7 +24980,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "ccB" = ( /obj/structure/machinery/alarm/almayer{ dir = 1 @@ -25017,7 +24994,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "ccC" = ( /obj/structure/machinery/light{ dir = 1 @@ -25032,7 +25009,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "ccD" = ( /obj/structure/pipes/standard/simple/visible{ dir = 10 @@ -25045,7 +25022,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "ccE" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/computer/general_air_control/large_tank_control{ @@ -25054,7 +25031,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "ccG" = ( /obj/structure/largecrate/random/secure, /obj/effect/decal/warning_stripes{ @@ -25097,7 +25074,7 @@ /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "ccS" = ( /obj/structure/pipes/standard/simple/visible{ dir = 4 @@ -25105,7 +25082,7 @@ /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "ccT" = ( /obj/structure/pipes/trinary/mixer{ dir = 4; @@ -25114,7 +25091,7 @@ /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "ccU" = ( /obj/structure/pipes/vents/pump{ dir = 8; @@ -25130,12 +25107,12 @@ /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "ccW" = ( /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "ccX" = ( /obj/structure/pipes/binary/pump/high_power/on{ dir = 1 @@ -25143,7 +25120,7 @@ /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "ccY" = ( /obj/effect/decal/warning_stripes{ icon_state = "NE-out"; @@ -25153,7 +25130,7 @@ dir = 10; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "cdb" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -25227,7 +25204,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "cdu" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out"; @@ -25237,7 +25214,7 @@ dir = 9; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "cdw" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating/plating_catwalk, @@ -25394,7 +25371,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "ces" = ( /obj/structure/machinery/door/airlock/almayer/maint, /turf/open/floor/almayer{ @@ -25461,6 +25438,9 @@ icon_state = "plate" }, /area/almayer/living/bridgebunks) +"ceM" = ( +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/lower_hull/stern) "ceQ" = ( /obj/structure/machinery/status_display{ pixel_y = 30 @@ -25686,7 +25666,7 @@ /turf/open/floor/almayer{ icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "cgJ" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -26798,7 +26778,7 @@ /area/almayer/squads/req) "cmp" = ( /turf/closed/wall/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "cmq" = ( /obj/effect/landmark/yautja_teleport, /turf/open/floor/plating/plating_catwalk, @@ -27504,6 +27484,12 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) +"cuA" = ( +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/north2) "cuC" = ( /turf/closed/wall/almayer/outer, /area/almayer/engineering/upper_engineering/starboard) @@ -27545,6 +27531,15 @@ }, /turf/open/floor/almayer, /area/almayer/shipboard/brig/cells) +"cvY" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "cvZ" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -27565,7 +27560,7 @@ dir = 4; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "cwo" = ( /obj/structure/largecrate/random/mini/chest{ pixel_x = 4 @@ -27627,7 +27622,16 @@ }, /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) +"cxg" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "cxk" = ( /obj/structure/machinery/light, /turf/open/floor/almayer, @@ -27665,6 +27669,16 @@ allow_construction = 0 }, /area/almayer/hallways/port_hallway) +"cyT" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "cyU" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 5 @@ -27928,7 +27942,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "cDn" = ( /obj/structure/surface/table/almayer, /obj/item/ashtray/glass{ @@ -28034,7 +28048,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "cEC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28180,7 +28194,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "cHP" = ( /obj/structure/machinery/light/small, /obj/effect/decal/warning_stripes{ @@ -28248,7 +28262,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/shipboard/stern_point_defense) "cIU" = ( /obj/structure/sign/safety/hvac_old{ pixel_x = 8; @@ -28399,7 +28413,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "cLA" = ( /obj/structure/machinery/cryopod/right{ pixel_y = 6 @@ -28716,7 +28730,7 @@ dir = 4; icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "cSQ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28759,7 +28773,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "cUv" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 1 @@ -28859,7 +28873,7 @@ dir = 4; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "cWv" = ( /turf/open/floor/almayer{ dir = 8; @@ -29031,7 +29045,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "cZV" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/storage/fancy/cigarettes/wypacket, @@ -29072,7 +29086,7 @@ icon_state = "SE-out" }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "dac" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -29209,10 +29223,16 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_p) +"ddi" = ( +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/north2) "ddj" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "ddk" = ( /obj/structure/surface/table/almayer, /turf/open/floor/almayer{ @@ -29236,7 +29256,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "deg" = ( /obj/structure/platform_decoration{ dir = 1 @@ -29469,7 +29489,7 @@ /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "diJ" = ( /obj/structure/window/reinforced{ dir = 8; @@ -29520,7 +29540,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "djL" = ( /obj/structure/machinery/light{ dir = 4 @@ -29538,7 +29558,7 @@ /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "djQ" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -30149,7 +30169,7 @@ pixel_y = 4 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "dwl" = ( /obj/structure/machinery/light, /turf/open/floor/almayer, @@ -30235,7 +30255,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "dya" = ( /obj/structure/machinery/door/poddoor/almayer/locked{ dir = 2; @@ -30550,7 +30570,7 @@ dir = 4; icon_state = "orange" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "dDp" = ( /obj/effect/decal/warning_stripes{ icon_state = "W"; @@ -30750,7 +30770,7 @@ dir = 5; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "dGz" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30815,7 +30835,7 @@ dir = 6; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "dHu" = ( /obj/structure/desertdam/decals/road_edge{ pixel_x = 2; @@ -31052,7 +31072,7 @@ "dNx" = ( /obj/structure/pipes/vents/pump, /turf/open/floor/almayer, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "dNB" = ( /obj/structure/largecrate/random/barrel/yellow, /turf/open/floor/almayer{ @@ -31096,6 +31116,10 @@ icon_state = "plate" }, /area/almayer/command/lifeboat) +"dPn" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/port) "dPC" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 9 @@ -31134,6 +31158,9 @@ icon_state = "silver" }, /area/almayer/command/airoom) +"dQm" = ( +/turf/closed/wall/almayer, +/area/almayer/shipboard/stern_point_defense) "dQp" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/effect/decal/warning_stripes{ @@ -31244,6 +31271,16 @@ icon_state = "red" }, /area/almayer/hallways/starboard_hallway) +"dRN" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "dRT" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 4 @@ -31279,7 +31316,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/hull/lower_hull/l_a_s) +/area/almayer/shipboard/stern_point_defense) "dSA" = ( /obj/structure/largecrate/random/case/small, /turf/open/floor/plating/plating_catwalk, @@ -31444,7 +31481,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "dWg" = ( /obj/effect/landmark/start/cargo, /obj/structure/machinery/light, @@ -31703,7 +31740,7 @@ dir = 8; icon_state = "orange" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "ebN" = ( /turf/closed/wall/almayer/white/reinforced, /area/almayer/command/airoom) @@ -31742,7 +31779,7 @@ dir = 6; icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "ecM" = ( /obj/structure/bed/chair{ dir = 4 @@ -32027,6 +32064,20 @@ icon_state = "plate" }, /area/almayer/living/port_emb) +"ehT" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "ehX" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -32335,7 +32386,7 @@ dir = 10; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "epu" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/machinery/door/poddoor/almayer/open{ @@ -32796,6 +32847,24 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_p) +"eyA" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/sign/safety/maint{ + pixel_x = 8; + pixel_y = 32 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/starboard) "eyG" = ( /obj/structure/platform, /turf/open/floor/almayer{ @@ -33257,6 +33326,15 @@ icon_state = "bluecorner" }, /area/almayer/hallways/aft_hallway) +"eGo" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "eGr" = ( /obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ dir = 1; @@ -33274,7 +33352,7 @@ /turf/open/floor/almayer{ icon_state = "cargo_arrow" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "eGz" = ( /obj/structure/sign/safety/storage{ pixel_x = -17 @@ -33593,6 +33671,16 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_a_s) +"ePt" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "ePA" = ( /obj/structure/machinery/light{ dir = 1 @@ -33607,7 +33695,7 @@ id_tag = "mining_outpost_pump" }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "eQi" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/sign/safety/maint{ @@ -33625,7 +33713,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "eRe" = ( /obj/structure/bed/chair/comfy/orange{ dir = 8 @@ -34117,6 +34205,16 @@ icon_state = "test_floor4" }, /area/almayer/command/cichallway) +"faZ" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/structure/machinery/power/apc/almayer, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "fbb" = ( /obj/effect/decal/warning_stripes{ icon_state = "NE-out"; @@ -34211,7 +34309,7 @@ dir = 1 }, /turf/open/floor/almayer, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "fcM" = ( /obj/structure/machinery/camera/autoname/almayer{ name = "ship-grade camera" @@ -34398,7 +34496,7 @@ layer = 2.5 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "fgR" = ( /obj/structure/machinery/door/poddoor/almayer/open{ id = "Brig Lockdown Shutters"; @@ -34455,7 +34553,7 @@ dir = 8; icon_state = "orange" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "fjO" = ( /obj/item/tool/wet_sign, /obj/effect/decal/cleanable/blood, @@ -34493,6 +34591,16 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_a_p) +"flH" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "flP" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 4; @@ -34648,7 +34756,7 @@ /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "fpO" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/plating/plating_catwalk, @@ -35019,7 +35127,7 @@ pixel_x = 8 }, /turf/closed/wall/almayer, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "fxz" = ( /obj/structure/prop/invuln/overhead_pipe{ pixel_x = 12 @@ -35071,7 +35179,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "fxZ" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -35333,7 +35441,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "fEk" = ( /turf/open/floor/almayer{ icon_state = "test_floor4" @@ -35510,7 +35618,7 @@ icon_state = "NW-out" }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "fHF" = ( /turf/open/floor/almayer{ icon_state = "greenfull" @@ -35534,7 +35642,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "fIH" = ( /obj/structure/largecrate/random/barrel/blue, /turf/open/floor/almayer{ @@ -35642,7 +35750,7 @@ "fKg" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/lower_hull/l_a_s) +/area/almayer/hull/lower_hull/stern) "fKi" = ( /obj/structure/bed/chair/comfy/black{ dir = 4 @@ -35753,7 +35861,7 @@ pixel_y = -32 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "fMe" = ( /obj/structure/surface/table/almayer, /obj/item/device/flashlight/lamp{ @@ -35822,6 +35930,12 @@ icon_state = "green" }, /area/almayer/hallways/aft_hallway) +"fMX" = ( +/obj/structure/prop/invuln/overhead_pipe{ + pixel_x = 12 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/lower_hull/stern) "fNg" = ( /obj/structure/largecrate/random/barrel/yellow, /turf/open/floor/plating/plating_catwalk, @@ -35944,6 +36058,17 @@ icon_state = "test_floor4" }, /area/almayer/command/airoom) +"fPN" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_y = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/starboard) "fQk" = ( /obj/structure/largecrate/random, /turf/open/floor/plating/plating_catwalk, @@ -36162,7 +36287,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "fXd" = ( /obj/structure/machinery/light/small{ dir = 4 @@ -36255,7 +36380,7 @@ dir = 10; icon_state = "orange" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "fYZ" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -36457,7 +36582,7 @@ pixel_y = 12 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/lower_hull/l_a_s) +/area/almayer/hull/lower_hull/stern) "gcN" = ( /obj/structure/machinery/door/airlock/almayer/command{ access_modified = 1; @@ -36698,7 +36823,7 @@ /area/almayer/squads/bravo) "gir" = ( /turf/closed/wall/almayer/reinforced, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "giB" = ( /obj/structure/machinery/alarm/almayer{ dir = 1 @@ -36917,19 +37042,6 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) -"gnz" = ( -/obj/structure/sign/safety/hazard{ - pixel_x = 32; - pixel_y = 7 - }, -/obj/structure/sign/safety/airlock{ - pixel_x = 32; - pixel_y = -8 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hull/lower_hull/l_a_s) "gob" = ( /obj/structure/closet/fireaxecabinet{ pixel_y = 32 @@ -37003,6 +37115,12 @@ icon_state = "test_floor4" }, /area/almayer/hallways/hangar) +"gpm" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "gpI" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply, @@ -37067,7 +37185,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/shipboard/stern_point_defense) "gsg" = ( /obj/structure/pipes/vents/pump, /obj/structure/mirror{ @@ -37350,7 +37468,7 @@ dir = 4 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "gwY" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ dir = 1; @@ -37523,7 +37641,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "gzw" = ( /obj/structure/closet/hydrant{ pixel_x = 30 @@ -37988,7 +38106,7 @@ dir = 4; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "gJP" = ( /obj/structure/machinery/light, /obj/structure/disposalpipe/segment{ @@ -38190,7 +38308,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "gNp" = ( /turf/open/floor/almayer{ dir = 9; @@ -38301,7 +38419,7 @@ /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "gQF" = ( /obj/structure/bed/chair/comfy{ buckling_y = 2; @@ -38420,7 +38538,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "gUL" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -38543,7 +38661,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "gXs" = ( /obj/effect/step_trigger/ares_alert/terminals, /obj/structure/machinery/door/poddoor/shutters/almayer{ @@ -38566,7 +38684,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/shipboard/stern_point_defense) "gXx" = ( /obj/structure/bed/chair{ dir = 8 @@ -38593,7 +38711,7 @@ dir = 10; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "gYe" = ( /obj/structure/machinery/vending/sea, /turf/open/floor/almayer{ @@ -38808,7 +38926,7 @@ dir = 8; icon_state = "orange" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "hcf" = ( /obj/item/bedsheet/brown{ layer = 3.2 @@ -38869,7 +38987,7 @@ id = "almayerlink_OT_req" }, /turf/closed/wall/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "hcI" = ( /obj/structure/machinery/cryopod{ pixel_y = 6 @@ -38905,7 +39023,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "hdh" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -38970,7 +39088,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "heo" = ( /obj/structure/machinery/power/apc/almayer{ cell_type = /obj/item/cell/hyper; @@ -38992,6 +39110,13 @@ icon_state = "plate" }, /area/almayer/shipboard/brig/armory) +"heA" = ( +/obj/effect/step_trigger/clone_cleaner, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "heK" = ( /obj/structure/machinery/door/airlock/almayer/maint{ dir = 1; @@ -39045,7 +39170,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "hfQ" = ( /obj/structure/window/framed/almayer, /turf/open/floor/almayer{ @@ -39081,7 +39206,7 @@ dir = 4 }, /turf/open/floor/almayer, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "hgB" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/computer/intel, @@ -39660,7 +39785,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "hsg" = ( /obj/structure/pipes/vents/pump{ dir = 4 @@ -39845,7 +39970,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "hxG" = ( /obj/structure/pipes/vents/pump{ dir = 4 @@ -40450,7 +40575,7 @@ /turf/open/floor/almayer{ icon_state = "cargo_arrow" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "hLB" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -40526,7 +40651,7 @@ icon_state = "SE-out" }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "hLS" = ( /obj/structure/machinery/door/airlock/almayer/marine/delta{ dir = 1 @@ -40539,6 +40664,14 @@ icon_state = "test_floor4" }, /area/almayer/living/briefing) +"hMa" = ( +/obj/structure/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/lower_hull/stern) "hMc" = ( /obj/structure/bed/chair/comfy/orange{ dir = 8 @@ -40620,7 +40753,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/hull/lower_hull/stern) "hOR" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -40687,6 +40820,10 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/hydroponics) +"hPP" = ( +/obj/effect/step_trigger/clone_cleaner, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/starboard) "hPT" = ( /obj/structure/largecrate/random/case/small, /turf/open/floor/almayer{ @@ -40895,7 +41032,7 @@ pixel_x = 2 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "hTF" = ( /obj/structure/machinery/suit_storage_unit/compression_suit/uscm{ isopen = 1; @@ -42528,7 +42665,7 @@ dir = 9; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "iCu" = ( /obj/structure/machinery/door/poddoor/almayer/open{ dir = 4; @@ -42974,6 +43111,10 @@ icon_state = "sterile_green_corner" }, /area/almayer/medical/lower_medical_lobby) +"iLz" = ( +/obj/effect/step_trigger/clone_cleaner, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/starboard) "iLG" = ( /obj/structure/disposalpipe/junction{ dir = 1; @@ -43016,6 +43157,12 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) +"iNp" = ( +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "iNY" = ( /obj/structure/machinery/status_display{ pixel_x = 32; @@ -43747,15 +43894,6 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/south2) -"jbB" = ( -/obj/structure/sign/safety/nonpress_0g{ - pixel_x = 32 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hull/lower_hull/l_a_s) "jbH" = ( /obj/structure/machinery/light{ dir = 8 @@ -43831,7 +43969,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/hull/lower_hull/stern) "jcP" = ( /turf/open/floor/almayer{ icon_state = "plating_striped" @@ -43863,7 +44001,7 @@ pixel_y = 32 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/hull/lower_hull/stern) "jdF" = ( /obj/structure/machinery/light{ dir = 4 @@ -43996,7 +44134,7 @@ dir = 8; icon_state = "orange" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "jfY" = ( /obj/structure/surface/table/almayer, /obj/effect/landmark/map_item, @@ -44521,7 +44659,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "jnk" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/almayer{ @@ -44885,7 +45023,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "jyE" = ( /obj/structure/machinery/light, /turf/open/floor/wood/ship, @@ -45737,7 +45875,7 @@ pixel_y = 1 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "jTi" = ( /obj/item/reagent_container/glass/bucket/janibucket{ pixel_x = -1; @@ -45793,7 +45931,7 @@ req_one_access_txt = "2;35" }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "jUq" = ( /obj/structure/machinery/firealarm{ pixel_y = -28 @@ -45816,7 +45954,7 @@ pixel_x = 1 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "jUx" = ( /obj/structure/machinery/door/airlock/almayer/secure/reinforced{ dir = 2; @@ -45866,7 +46004,7 @@ /turf/open/floor/almayer{ icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "jUY" = ( /turf/open/floor/almayer{ icon_state = "silver" @@ -46269,6 +46407,15 @@ /obj/structure/machinery/camera/autoname/almayer, /turf/open/floor/almayer, /area/almayer/shipboard/brig/cells) +"kcb" = ( +/obj/structure/sign/safety/water{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/lower_hull/stern) "kcl" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -46525,7 +46672,7 @@ icon_state = "SW-out" }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "kiM" = ( /obj/structure/surface/table/reinforced/almayer_B, /turf/open/floor/almayer{ @@ -46621,7 +46768,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "klH" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 4 @@ -46785,7 +46932,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/shipboard/stern_point_defense) "kpc" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, @@ -46798,6 +46945,9 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/south2) +"kpN" = ( +/turf/closed/wall/almayer/outer, +/area/almayer/hull/lower_hull/stern) "kpQ" = ( /obj/structure/machinery/door_control{ id = "engidorm"; @@ -46821,7 +46971,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/hull/lower_hull/stern) "kpY" = ( /obj/structure/surface/table/almayer, /obj/item/clothing/head/hardhat{ @@ -46849,7 +46999,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "kqf" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -46864,7 +47014,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "kqt" = ( /obj/structure/machinery/door/poddoor/almayer/open{ dir = 4; @@ -47059,7 +47209,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "ktP" = ( /obj/structure/curtain/red, /turf/open/floor/almayer{ @@ -47125,7 +47275,7 @@ /turf/open/floor/almayer{ icon_state = "tcomms" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "kvU" = ( /obj/structure/surface/table/almayer, /turf/open/floor/plating/plating_catwalk, @@ -47653,7 +47803,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "kFs" = ( /obj/structure/machinery/light{ dir = 4 @@ -47747,7 +47897,7 @@ pixel_y = 25 }, /turf/open/floor/almayer, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "kHa" = ( /turf/closed/wall/almayer, /area/almayer/shipboard/brig/surgery) @@ -47770,6 +47920,11 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/starboard_hallway) +"kHD" = ( +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "kHS" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -47837,7 +47992,7 @@ dir = 8 }, /turf/open/floor/almayer, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "kJG" = ( /obj/item/toy/deck{ pixel_y = 12 @@ -48132,7 +48287,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "kPx" = ( /obj/structure/surface/table/almayer, /obj/item/device/mass_spectrometer, @@ -48587,7 +48742,7 @@ dir = 10; icon_state = "orange" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "kXN" = ( /obj/item/clothing/glasses/sunglasses/aviator{ pixel_x = -1; @@ -48719,7 +48874,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "lau" = ( /obj/structure/sign/safety/autoopenclose{ pixel_x = 7; @@ -48727,6 +48882,12 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_m_p) +"laE" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/port) "laO" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -48983,7 +49144,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "lgy" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/firedoor/border_only/almayer{ @@ -49562,6 +49723,12 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) +"lqe" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/north2) "lqF" = ( /turf/open/floor/almayer{ dir = 9; @@ -49636,7 +49803,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "lrF" = ( /obj/structure/machinery/light, /obj/structure/surface/table/almayer, @@ -49908,6 +50075,18 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/main_office) +"lxm" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/machinery/power/apc/almayer{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/shipboard/stern_point_defense) "lxo" = ( /obj/structure/sign/safety/hazard{ pixel_x = -17; @@ -50058,7 +50237,7 @@ dir = 5; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "lzY" = ( /obj/structure/machinery/cm_vending/sorted/medical/wall_med{ pixel_y = -25 @@ -50140,7 +50319,7 @@ dir = 4; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "lBv" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -50186,7 +50365,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "lCp" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -50217,7 +50396,7 @@ dir = 1; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "lCE" = ( /obj/structure/bed/chair/comfy/delta, /obj/effect/decal/cleanable/dirt, @@ -50233,7 +50412,7 @@ /turf/open/floor/almayer{ icon_state = "mono" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/lifeboat_pumps/north2) "lDg" = ( /obj/structure/machinery/door/poddoor/shutters/almayer{ id = "laddernorthwest"; @@ -50349,7 +50528,7 @@ "lEW" = ( /obj/structure/disposalpipe/segment, /turf/closed/wall/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "lFb" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -50613,7 +50792,7 @@ dir = 5 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "lJg" = ( /obj/structure/largecrate/random/barrel/white, /turf/open/floor/almayer{ @@ -50785,7 +50964,7 @@ /turf/open/floor/almayer{ icon_state = "mono" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/lifeboat_pumps/north2) "lMY" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 4; @@ -51173,6 +51352,9 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering) +"lXu" = ( +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/starboard) "lXF" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/sign/safety/cryo{ @@ -51334,7 +51516,7 @@ /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "mce" = ( /turf/open/floor/almayer{ icon_state = "greencorner" @@ -51675,7 +51857,7 @@ dir = 4 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "mki" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 10 @@ -52459,7 +52641,7 @@ dir = 4; icon_state = "orangecorner" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "mzR" = ( /obj/structure/sign/safety/distribution_pipes{ pixel_x = 8; @@ -53060,7 +53242,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "mKY" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -53234,6 +53416,14 @@ "mOi" = ( /turf/closed/wall/almayer/outer, /area/almayer/command/airoom) +"mOq" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/starboard) "mOr" = ( /obj/structure/surface/table/almayer, /obj/item/clipboard, @@ -53242,7 +53432,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "mOL" = ( /obj/structure/sign/safety/maint{ pixel_x = 8; @@ -53259,6 +53449,11 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_p) +"mOY" = ( +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/lower_hull/stern) "mPf" = ( /turf/open/floor/almayer/uscm/directional{ dir = 6 @@ -53613,7 +53808,13 @@ dir = 9 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) +"mVe" = ( +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "mVE" = ( /obj/effect/decal/warning_stripes{ icon_state = "NW-out"; @@ -53711,7 +53912,7 @@ dir = 9; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/lifeboat_pumps/south2) "mYs" = ( /obj/structure/machinery/light{ dir = 4 @@ -53984,7 +54185,7 @@ }, /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "new" = ( /obj/item/reagent_container/glass/bucket/janibucket, /obj/item/reagent_container/glass/bucket/janibucket{ @@ -54432,7 +54633,7 @@ pixel_y = 32 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "nmh" = ( /obj/structure/sign/safety/distribution_pipes{ pixel_x = -17 @@ -55005,6 +55206,14 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_p) +"nxC" = ( +/obj/structure/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/lower_hull/stern) "nxK" = ( /obj/structure/sign/safety/high_voltage{ pixel_y = -32 @@ -56782,7 +56991,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "okD" = ( /obj/structure/prop/almayer/name_stencil{ icon_state = "almayer6" @@ -56791,6 +57000,18 @@ icon_state = "outerhull_dir" }, /area/space) +"okM" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/structure/machinery/status_display{ + pixel_y = 30 + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "olM" = ( /obj/structure/bed/chair{ can_buckle = 0; @@ -57197,7 +57418,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/hull/lower_hull/stern) "osT" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/structure/prop/ice_colony/hula_girl{ @@ -57231,7 +57452,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/shipboard/stern_point_defense) "oug" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/structure/pipes/standard/simple/hidden/supply, @@ -57302,7 +57523,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/shipboard/stern_point_defense) "ovp" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/structure/flora/pottedplant{ @@ -57441,7 +57662,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "ozq" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/disposalpipe/segment{ @@ -57513,7 +57734,7 @@ /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "oAB" = ( /obj/structure/platform{ dir = 8; @@ -57687,6 +57908,12 @@ icon_state = "test_floor4" }, /area/almayer/lifeboat_pumps/north1) +"oEn" = ( +/obj/effect/landmark/yautja_teleport, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/lower_hull/stern) "oEo" = ( /obj/effect/landmark/start/marine/medic/delta, /obj/effect/landmark/late_join/delta, @@ -58206,7 +58433,7 @@ /turf/open/floor/almayer{ icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "oPE" = ( /turf/open/floor/almayer{ dir = 1; @@ -58655,6 +58882,13 @@ icon_state = "cargo" }, /area/almayer/shipboard/brig/cryo) +"paz" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "paI" = ( /obj/structure/sign/safety/debark_lounge{ pixel_x = 15; @@ -58808,7 +59042,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "peO" = ( /obj/structure/sign/safety/medical{ pixel_x = -17; @@ -58848,7 +59082,7 @@ /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "pfp" = ( /obj/effect/step_trigger/teleporter_vector{ name = "Almayer_Up4"; @@ -59000,7 +59234,7 @@ dir = 8; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "pje" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/disposalpipe/segment, @@ -59051,7 +59285,7 @@ icon_state = "SW-out" }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "pjR" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -59082,7 +59316,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "plI" = ( /obj/structure/machinery/cm_vending/sorted/medical/blood, /turf/open/floor/almayer{ @@ -59195,7 +59429,7 @@ dir = 1 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "poq" = ( /obj/item/pipe{ dir = 4; @@ -59311,6 +59545,14 @@ icon_state = "plate" }, /area/almayer/living/captain_mess) +"prF" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/hallways/upper/starboard) "prY" = ( /obj/structure/surface/table/almayer, /obj/item/trash/USCMtray, @@ -59339,7 +59581,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "psy" = ( /obj/structure/machinery/door/airlock/almayer/security{ dir = 2; @@ -59438,7 +59680,7 @@ dir = 5; icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "puv" = ( /obj/structure/sign/safety/maint{ pixel_x = -17 @@ -59763,6 +60005,13 @@ icon_state = "mono" }, /area/almayer/hallways/stern_hallway) +"pDd" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/structure/sign/safety/maint{ + pixel_x = -17 + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/starboard) "pDh" = ( /obj/structure/machinery/power/monitor{ name = "Core Power Monitoring" @@ -59913,7 +60162,7 @@ dir = 4; icon_state = "orangecorner" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "pFM" = ( /obj/structure/machinery/light/small{ dir = 8 @@ -59970,7 +60219,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "pGP" = ( /obj/structure/surface/table/almayer, /obj/item/storage/box/lights/bulbs{ @@ -60017,7 +60266,7 @@ }, /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "pIk" = ( /obj/structure/ladder{ height = 1; @@ -60270,7 +60519,7 @@ pixel_y = 1 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "pOi" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/almayer, @@ -60314,6 +60563,16 @@ icon_state = "plate" }, /area/almayer/living/grunt_rnr) +"pPr" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "pPv" = ( /obj/structure/closet/cabinet, /obj/item/reagent_container/food/drinks/bottle/wine, @@ -60383,7 +60642,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "pQr" = ( /obj/structure/bed, /turf/open/floor/almayer{ @@ -60708,7 +60967,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "pWr" = ( /obj/structure/surface/rack, /obj/item/tool/minihoe{ @@ -60759,7 +61018,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "pXl" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -60949,6 +61208,13 @@ icon_state = "redcorner" }, /area/almayer/living/briefing) +"qbJ" = ( +/obj/structure/sign/safety/hvac_old{ + pixel_x = 8; + pixel_y = -32 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/lower_hull/stern) "qbO" = ( /turf/open/floor/almayer{ dir = 6; @@ -61530,7 +61796,7 @@ dir = 5; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "qmy" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/door_control{ @@ -61841,7 +62107,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/hull/lower_hull/l_a_s) +/area/almayer/shipboard/stern_point_defense) "qsL" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, @@ -62407,6 +62673,10 @@ icon_state = "red" }, /area/almayer/shipboard/brig/cells) +"qES" = ( +/obj/structure/machinery/light/small, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/lower_hull/stern) "qEW" = ( /obj/structure/sign/poster/ad{ pixel_x = 30 @@ -62479,7 +62749,7 @@ dir = 5; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "qFW" = ( /obj/structure/sign/safety/storage{ pixel_x = 8; @@ -63298,7 +63568,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "qXE" = ( /obj/structure/machinery/brig_cell/perma_1{ pixel_x = 32 @@ -63521,7 +63791,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/hull/lower_hull/stern) "rbv" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -63927,7 +64197,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "riE" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/effect/decal/warning_stripes{ @@ -63969,7 +64239,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "rjn" = ( /obj/structure/machinery/light, /obj/structure/reagent_dispensers/water_cooler/stacks, @@ -65096,7 +65366,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "rFy" = ( /turf/open/floor/almayer{ dir = 1; @@ -65843,6 +66113,9 @@ }, /turf/open/floor/plating, /area/almayer/shipboard/brig/chief_mp_office) +"rWr" = ( +/turf/closed/wall/almayer, +/area/almayer/hull/lower_hull/stern) "rWs" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -66006,13 +66279,13 @@ dir = 6; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "saB" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "saW" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -66027,7 +66300,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "sbq" = ( /obj/structure/machinery/door/poddoor/almayer/locked{ icon_state = "almayer_pdoor"; @@ -66221,7 +66494,7 @@ dir = 8 }, /turf/open/floor/almayer, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "sgc" = ( /obj/structure/closet/crate/freezer/cooler{ pixel_x = -7 @@ -66332,7 +66605,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "sgR" = ( /obj/structure/surface/table/almayer, /obj/item/toy/deck{ @@ -66352,7 +66625,7 @@ "shb" = ( /obj/effect/decal/cleanable/blood/oil, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "shh" = ( /obj/structure/machinery/autolathe, /turf/open/floor/almayer, @@ -66543,7 +66816,7 @@ dir = 6 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "smZ" = ( /obj/structure/window/framed/almayer/hull/hijack_bustable, /obj/structure/machinery/door/poddoor/shutters/almayer/open{ @@ -66785,7 +67058,7 @@ dir = 5; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "sqa" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -67001,7 +67274,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "svf" = ( /obj/structure/machinery/light{ dir = 1 @@ -67180,7 +67453,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "szE" = ( /obj/effect/decal/warning_stripes{ icon_state = "NE-out"; @@ -67191,6 +67464,15 @@ icon_state = "test_floor4" }, /area/almayer/living/offices) +"szL" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "szM" = ( /obj/structure/flora/pottedplant{ desc = "It is made of Fiberbush(tm). It contains asbestos."; @@ -67891,7 +68173,7 @@ /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "sPF" = ( /obj/structure/bed/chair{ can_buckle = 0; @@ -68018,7 +68300,7 @@ /turf/open/floor/almayer{ icon_state = "redfull" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/lifeboat_pumps/south2) "sSY" = ( /obj/structure/pipes/vents/scrubber{ dir = 8 @@ -68271,7 +68553,7 @@ dir = 5; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "sYh" = ( /turf/open/floor/almayer{ dir = 1; @@ -68544,12 +68826,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_p) -"tce" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/almayer{ - icon_state = "plate" +"tbT" = ( +/obj/structure/sign/safety/water{ + pixel_x = 8; + pixel_y = -32 }, -/area/almayer/hull/lower_hull/l_a_s) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/lower_hull/stern) "tcZ" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -68593,7 +68876,7 @@ /turf/open/floor/almayer{ icon_state = "orangecorner" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "tdy" = ( /obj/structure/bed/sofa/south/grey/right, /obj/structure/sign/safety/restrictedarea{ @@ -68641,6 +68924,9 @@ icon_state = "test_floor4" }, /area/almayer/hallways/port_umbilical) +"tdR" = ( +/turf/closed/wall/almayer/outer, +/area/almayer/shipboard/stern_point_defense) "tdT" = ( /obj/structure/bed/chair/comfy/beige{ dir = 1 @@ -68775,7 +69061,7 @@ pixel_x = -17 }, /turf/open/floor/almayer, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "tgV" = ( /obj/structure/bed, /obj/item/bedsheet/medical, @@ -68980,6 +69266,20 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/medical_science) +"tju" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/item/device/radio/intercom{ + freerange = 1; + name = "General Listening Channel"; + pixel_y = -28 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "tjw" = ( /obj/structure/machinery/cm_vending/clothing/vehicle_crew{ density = 0; @@ -69101,7 +69401,7 @@ dir = 9; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "tmB" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 1 @@ -69795,7 +70095,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "tzL" = ( /obj/structure/sign/safety/waterhazard{ pixel_x = 8; @@ -70333,7 +70633,7 @@ dir = 6; icon_state = "orange" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "tLM" = ( /obj/structure/sign/safety/storage{ pixel_x = -17 @@ -70351,7 +70651,7 @@ dir = 6; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "tMH" = ( /obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ name = "\improper Warden's Office"; @@ -70418,7 +70718,7 @@ icon_state = "NW-out" }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "tOr" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -70539,6 +70839,18 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) +"tRs" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/machinery/status_display{ + pixel_x = -32 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "tRD" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -70580,7 +70892,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "tSp" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -70932,7 +71244,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/shipboard/stern_point_defense) "tZP" = ( /obj/structure/surface/rack, /obj/item/clothing/glasses/meson, @@ -71446,7 +71758,7 @@ "uku" = ( /obj/structure/window/framed/almayer/hull/hijack_bustable, /turf/open/floor/plating, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "ukU" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 1 @@ -71644,7 +71956,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "upt" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -71793,7 +72105,7 @@ dir = 4 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "usy" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -71960,7 +72272,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/hull/lower_hull/l_a_s) +/area/almayer/shipboard/stern_point_defense) "uvP" = ( /obj/structure/machinery/light{ unacidable = 1; @@ -72140,7 +72452,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/hull/lower_hull/l_a_s) +/area/almayer/hull/lower_hull/stern) "uzy" = ( /obj/item/reagent_container/glass/bucket, /obj/effect/decal/cleanable/blood/oil, @@ -72366,7 +72678,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "uEv" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -72468,7 +72780,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "uGt" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out" @@ -72685,7 +72997,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "uLW" = ( /obj/item/tool/mop{ pixel_x = -6; @@ -72772,6 +73084,9 @@ icon_state = "blue" }, /area/almayer/living/basketball) +"uNR" = ( +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/port) "uNV" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22" @@ -72883,7 +73198,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "uRs" = ( /obj/structure/machinery/light{ dir = 8 @@ -72985,7 +73300,7 @@ dir = 1; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "uSS" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ @@ -73007,6 +73322,12 @@ icon_state = "mono" }, /area/almayer/living/pilotbunks) +"uTO" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "uTU" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -73152,7 +73473,7 @@ /turf/open/floor/almayer{ icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "uVV" = ( /obj/structure/machinery/light{ dir = 4 @@ -73309,6 +73630,9 @@ }, /turf/closed/wall/almayer, /area/almayer/hallways/starboard_umbilical) +"vam" = ( +/turf/open/floor/almayer, +/area/almayer/hallways/upper/starboard) "vbf" = ( /obj/structure/machinery/landinglight/ds2/delaytwo{ dir = 8 @@ -73414,6 +73738,12 @@ icon_state = "test_floor4" }, /area/almayer/medical/lower_medical_lobby) +"vct" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/lower_hull/stern) "vcu" = ( /obj/effect/landmark/start/engineering, /turf/open/floor/plating/plating_catwalk, @@ -73828,7 +74158,7 @@ pixel_y = 32 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/hull/lower_hull/stern) "vit" = ( /turf/open/floor/almayer{ icon_state = "dark_sterile" @@ -74568,6 +74898,9 @@ icon_state = "redcorner" }, /area/almayer/shipboard/weapon_room) +"vve" = ( +/turf/open/floor/almayer, +/area/almayer/hallways/upper/port) "vvp" = ( /obj/structure/pipes/vents/pump, /obj/structure/sign/safety/intercom{ @@ -74918,6 +75251,12 @@ icon_state = "silver" }, /area/almayer/living/briefing) +"vBu" = ( +/obj/structure/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/lower_hull/stern) "vBJ" = ( /obj/structure/surface/table/almayer, /obj/item/tool/pen, @@ -75510,7 +75849,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "vNW" = ( /turf/open/floor/almayer/uscm/directional{ dir = 9 @@ -76051,7 +76390,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "vXd" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/poddoor/shutters/almayer{ @@ -76215,7 +76554,7 @@ pixel_y = 1 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "wbh" = ( /obj/structure/machinery/light{ dir = 4 @@ -76235,7 +76574,7 @@ dir = 10; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "wbu" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/machinery/camera/autoname/almayer{ @@ -76612,7 +76951,7 @@ }, /obj/structure/machinery/cm_vending/sorted/tech/circuits, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "wiz" = ( /obj/structure/bed/chair{ dir = 4 @@ -76846,7 +77185,7 @@ /turf/open/floor/almayer{ icon_state = "cargo" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "wlp" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -77244,7 +77583,7 @@ dir = 1; icon_state = "orange" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/engineering/lower) "wup" = ( /obj/structure/supply_drop/echo, /turf/open/floor/almayer, @@ -77394,6 +77733,12 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/starboard) +"wxk" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/south2) "wxq" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -77552,6 +77897,12 @@ icon_state = "plate" }, /area/almayer/living/briefing) +"wCA" = ( +/obj/structure/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/lower_hull/stern) "wCI" = ( /turf/open/floor/almayer{ dir = 4; @@ -77973,6 +78324,14 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_m_s) +"wKE" = ( +/obj/structure/prop/invuln/overhead_pipe{ + pixel_x = 12 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/lower_hull/stern) "wKF" = ( /obj/structure/machinery/power/apc/almayer{ cell_type = /obj/item/cell/hyper; @@ -78734,7 +79093,7 @@ pixel_y = -32 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "wZE" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/book/manual/surgery, @@ -78842,7 +79201,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/starboard) "xaM" = ( /obj/structure/surface/table/almayer, /obj/item/newspaper{ @@ -78921,7 +79280,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "xct" = ( /obj/item/reagent_container/food/snacks/wrapped/barcardine, /obj/structure/surface/rack, @@ -78995,7 +79354,7 @@ /turf/open/floor/almayer{ icon_state = "tcomms" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "xfk" = ( /obj/structure/surface/rack, /obj/item/stack/cable_coil, @@ -79147,6 +79506,12 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/south1) +"xhw" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/starboard) "xhx" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -79216,7 +79581,7 @@ dir = 4 }, /turf/open/floor/almayer, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "xjb" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ access_modified = 1; @@ -79250,7 +79615,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "xjD" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 10 @@ -79381,7 +79746,7 @@ /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop) "xmg" = ( /obj/structure/surface/table/almayer, /obj/structure/flora/pottedplant{ @@ -79447,7 +79812,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/shipboard/stern_point_defense) "xns" = ( /obj/structure/machinery/door_control{ id = "ARES JoeCryo"; @@ -79470,6 +79835,12 @@ icon_state = "red" }, /area/almayer/command/lifeboat) +"xnA" = ( +/obj/structure/machinery/power/apc/almayer{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/lower_hull/stern) "xnI" = ( /obj/effect/landmark/start/requisition, /turf/open/floor/plating/plating_catwalk, @@ -79583,6 +79954,18 @@ }, /turf/open/floor/almayer, /area/almayer/hull/upper_hull/u_f_p) +"xpF" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/sign/safety/escapepod{ + pixel_x = -17 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "xpI" = ( /obj/structure/stairs{ dir = 4 @@ -79659,7 +80042,7 @@ pixel_x = 1 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "xrq" = ( /obj/structure/closet/firecloset, /obj/item/clothing/mask/gas, @@ -79836,7 +80219,7 @@ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "xuY" = ( /obj/structure/sign/safety/escapepod{ pixel_x = 8; @@ -79951,7 +80334,7 @@ /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "xxa" = ( /obj/item/stack/sheet/cardboard{ amount = 50 @@ -80616,6 +80999,15 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/cells) +"xKf" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/hallways/upper/starboard) "xKM" = ( /obj/structure/machinery/status_display{ pixel_x = 16; @@ -81215,7 +81607,7 @@ /turf/open/floor/almayer{ icon_state = "redfull" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "xVS" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -81893,7 +82285,7 @@ pixel_x = 1 }, /turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/engineering/lower/workshop/hangar) "yiW" = ( /obj/structure/machinery/cryopod/right{ layer = 3.1; @@ -118227,7 +118619,7 @@ abC abC abC jUW -tgS +pDd ady aar aIZ @@ -118430,7 +118822,7 @@ abC abC abC acg -bAF +hPP ady aar aar @@ -118633,15 +119025,15 @@ abC abC abC act -ajS +heA afq lzW buk fgF bYP -lBi +xpF acH -cwd +tRs bYy tOd adT @@ -118836,19 +119228,19 @@ lYA lYA lYA aey -azY -azY +iLz +iLz adi -atC -abx -acC -abx -abx -abx +mOq +lXu +kHD +lXu +lXu +lXu adi -abx -acC -atC +lXu +kHD +mOq abg abg abg @@ -118881,14 +119273,14 @@ aZE aZE aZE xwG -chu -aZE +paz +dPn cgI abt -aZE -aZE -chu -aZE +dPn +dPn +paz +dPn xwG cgI agl @@ -119039,18 +119431,18 @@ bRK aao aiv aaW -pjb +ehT abM iCe cLp cZZ ccY -aJs -cdu -aaw -abl +gpm +dRN +pPr +cyT jUs -abu +bNR xaF aaL aJs @@ -119089,7 +119481,7 @@ wba abu aaw wbj -aJs +uTO cdu ayH uGo @@ -119247,9 +119639,9 @@ aar aar aar aar -acG -abg -caF +szL +vam +faZ aar aar lIl @@ -119292,7 +119684,7 @@ qVM qVM qVM acG -abg +vve caF qVM qVM @@ -119451,8 +119843,8 @@ aIZ aLC aar bWs -abg -caF +vam +eGo aar vUk sTB @@ -119494,8 +119886,8 @@ vGk vGk adI qVM -acG -abg +cxg +vve caF qVM iBt @@ -119653,9 +120045,9 @@ aIZ aIZ aIZ aar -acO -aJs -cbN +ePt +gpm +cvY aar fQY aap @@ -119698,7 +120090,7 @@ vGk xHG qVM aJd -aJs +uTO cbN qVM iBt @@ -119857,7 +120249,7 @@ aIZ aIZ aba pNQ -abx +lXu hTy aar thR @@ -119901,7 +120293,7 @@ vGk csz qVM jSY -abx +uNR hLO ceD iBt @@ -120060,7 +120452,7 @@ aIZ aIZ aar acP -bUE +iNp qFQ aar xtQ @@ -120104,7 +120496,7 @@ vGk csz qVM sah -bUE +mVe cbO qVM iBt @@ -120262,9 +120654,9 @@ aIZ aIZ aIZ aar -acG -abx -caF +szL +lXu +eGo aar com aap @@ -120306,8 +120698,8 @@ vzl vGk csz qVM -acG -abx +cxg +uNR caF qVM iBt @@ -120465,9 +120857,9 @@ aar aar aar aar -oPD -abx -lCz +okM +lXu +tju aar tAV sTB @@ -120510,7 +120902,7 @@ xeG qVM qVM oPD -abx +uNR lCz qVM qVM @@ -120668,9 +121060,9 @@ aIZ aIZ aLC aar -acG -abx -caF +szL +lXu +eGo aar lIl aar @@ -120712,8 +121104,8 @@ xWF vGk yji qVM -acG -abx +cxg +uNR caF qVM iBt @@ -120825,7 +121217,7 @@ vra cmd cmh wAR -aLB +bGb uaa uaa uaa @@ -120871,9 +121263,9 @@ aIZ aIZ aIZ aar -acO -aJs -arJ +ePt +gpm +flH aar aao aao @@ -120916,7 +121308,7 @@ vGk csz qVM acO -aJs +uTO arJ qVM iBt @@ -121028,7 +121420,7 @@ vra ajX ajX ajX -aLB +bGb uaa uaa uaa @@ -121074,8 +121466,8 @@ aIZ aIZ aIZ bWh -jSY -abx +fPN +lXu hTy aar hLB @@ -121119,7 +121511,7 @@ vGk csz qVM jSY -abx +uNR hLO cix iBt @@ -121278,7 +121670,7 @@ aIZ aIZ aar acP -bUE +iNp qFQ aar xYe @@ -121322,7 +121714,7 @@ vGk xHG qVM sah -bUE +mVe cbO qVM iBt @@ -121480,9 +121872,9 @@ aIZ aIZ aIZ aar -aJa -abg -ccf +xKf +vam +prF aar mko uaZ @@ -121525,7 +121917,7 @@ yji uso qVM aJa -abg +vve ccf qVM iBt @@ -121683,8 +122075,8 @@ aar aar aar aar -eQi -atL +eyA +xhw kOG aar aar @@ -121728,7 +122120,7 @@ qVM qVM qVM eQi -atL +laE pef qVM qVM @@ -121887,7 +122279,7 @@ aap ahg aiv lMM -abg +aeA lCS aiv ahg @@ -121931,7 +122323,7 @@ aip vzl xCX bWC -abg +lJY sSR xCX weU @@ -122089,9 +122481,9 @@ aar aar aar aar -bWE -aJs -mXU +cuA +lqe +ddi aar aar aar @@ -122134,7 +122526,7 @@ qVM qVM qVM bWE -aJs +wxk mXU qVM qVM @@ -130724,7 +131116,7 @@ aQL aQL ksp rou -rou +ksp aQL aLG aZl @@ -133368,8 +133760,8 @@ aWZ byh byQ aVl -hlz -rdK +mOY +rWr bFf aVp ddj @@ -133387,8 +133779,8 @@ kJC mbn mUZ caA -haq -cAH +rWr +mOY aVl ccC ccW @@ -133571,8 +133963,8 @@ ggQ aAb byR aVl -eFH -rdK +ceM +rWr bFg bHv bjg @@ -133590,8 +133982,8 @@ bzP bjg gJq caB -haq -vuR +rWr +ceM aVl ccD ccX @@ -133774,8 +134166,8 @@ aep byk byQ aVl -eFH -rdK +ceM +rWr bhB bhB uEc @@ -133793,8 +134185,8 @@ bXP bjn bhB bhB -haq -mHR +rWr +qbJ aVl ccE bjd @@ -133977,8 +134369,8 @@ bwj byl bzj aVl -eFH -eFH +ceM +ceM bhB bfA bLe @@ -133996,8 +134388,8 @@ bXQ bLe psp bhB -cAH -vuR +mOY +ceM aVl bzj cHO @@ -134180,8 +134572,8 @@ aUx aUx aUx aUx -hlz -hlz +mOY +mOY bhB bHy bLe @@ -134200,7 +134592,7 @@ bLe bHy bhB kpX -lGr +wKE aUx aUx aUx @@ -134382,9 +134774,9 @@ aah aag aag aag -wVb -iDm -eFH +kpN +wCA +ceM bhB ozi bJF @@ -134403,8 +134795,8 @@ bYO bZD bhB vim -woG -vTK +qES +kpN aag aag aag @@ -134585,9 +134977,9 @@ bdH aad aag aag -wVb -hlz -hlz +kpN +mOY +mOY bhB bJQ bLe @@ -134605,9 +134997,9 @@ bXS bLe bJR bhB -cAH -cAH -vTK +mOY +mOY +kpN aag aag ajZ @@ -134788,9 +135180,9 @@ bdH aad aag aag -wVb -eFH -eFH +kpN +ceM +ceM bhB bHz bJI @@ -134808,9 +135200,9 @@ bzU bYS bJR bhB -cAH -cAH -vTK +mOY +mOY +kpN aag aag ajZ @@ -134991,9 +135383,9 @@ bdH aad aag aag -wVb -hlz -eFH +kpN +mOY +ceM bhB bhB hxp @@ -135011,9 +135403,9 @@ bXQ bJR bhB bhB -vuR -mHR -vTK +ceM +qbJ +kpN aag aag ajZ @@ -135194,10 +135586,10 @@ bdH aad aag aag -wVb -hlz -hlz -hlz +kpN +mOY +mOY +mOY bhB bYV bKV @@ -135214,9 +135606,9 @@ bXU bYV bhB jcK -cAH -cAH -vTK +mOY +mOY +kpN aag aag ajZ @@ -135397,10 +135789,10 @@ bdH aad aag aag -wVb -eFH -eFH -eFH +kpN +ceM +ceM +ceM bhB bJK bLc @@ -135417,9 +135809,9 @@ bXV bJK bhB rbp -vuR +ceM rbp -vTK +kpN aag aag ajZ @@ -135600,10 +135992,10 @@ bdH aad aag aag -wVb -wVb -rVo -hlz +kpN +kpN +hMa +mOY bhB bJK bKV @@ -135620,9 +136012,9 @@ bXQ bJK bhB kpX -emG -vTK -vTK +fMX +kpN +kpN aag aag ajZ @@ -135804,9 +136196,9 @@ aad aag aag aag -wVb -qnP -uia +kpN +kpX +wKE bhB bhB blm @@ -135822,9 +136214,9 @@ bhB bzX bhB bhB -ybr -vuR -vTK +kcb +ceM +kpN aag aag aag @@ -136007,9 +136399,9 @@ aad aag aag aag -wVb -hlz -moE +kpN +mOY +tbT bhB bJM bLd @@ -136025,9 +136417,9 @@ ebJ xiC fYG bhB -vuR -woG -vTK +ceM +qES +kpN aag aag aag @@ -136210,9 +136602,9 @@ aad aag aag aag -wVb -eFH -eFH +kpN +ceM +ceM bhB bJN bLd @@ -136229,8 +136621,8 @@ bLd bYU bhB jdy -cAH -vTK +mOY +kpN aag aag aag @@ -136413,9 +136805,9 @@ aad aag aag aag -wVb -hlz -hlz +kpN +mOY +mOY bhB bJP mzO @@ -136431,9 +136823,9 @@ bMN tdx bYW bhB -vuR -ydx -vTK +ceM +bwO +kpN aag aag aag @@ -136616,9 +137008,9 @@ aad aag aag aag -wVb -eFH -eFH +kpN +ceM +ceM bhB hrX fIx @@ -136634,9 +137026,9 @@ bMM bYU gNd bhB -cAH -cAH -vTK +mOY +mOY +kpN aag aag aag @@ -136819,9 +137211,9 @@ aad aag aag aag -wVb -hlz -hlz +kpN +mOY +mOY bhB sgM fIx @@ -136837,9 +137229,9 @@ bMM bYU upe bhB -vuR -vuR -vTK +ceM +ceM +kpN aag aag aag @@ -137022,9 +137414,9 @@ aad aag aag aag -wVb -eFH -eFH +kpN +ceM +ceM bhB svd bLf @@ -137040,9 +137432,9 @@ dCS tLy svd bhB -cAH -cAH -vTK +mOY +mOY +kpN aag aag aag @@ -137225,9 +137617,9 @@ aad aag aag aag -wVb -hlz -eFH +kpN +mOY +ceM bhB bhB bhB @@ -137243,9 +137635,9 @@ bhB bhB bhB bhB -vuR -vuR -vTK +ceM +ceM +kpN aag aag aag @@ -137428,11 +137820,11 @@ aad aag aag aag -wVb -hlz -eFH +kpN +mOY +ceM fKg -tce +osE bhB heg lfQ @@ -137445,10 +137837,10 @@ ktO heg bhB osE -gai -cAH -cAH -vTK +vct +mOY +mOY +kpN aag aag aag @@ -137631,11 +138023,11 @@ aad aag aag aag -wVb -hlz -hlz -hlz -hlz +kpN +mOY +mOY +mOY +mOY bhB heg mKX @@ -137647,11 +138039,11 @@ aut riA heg bhB -pFP -cAH -cAH -cAH -vTK +oEn +mOY +mOY +mOY +kpN aag aag aag @@ -137834,11 +138226,11 @@ aad aag aag aag -wVb -wVb +kpN +kpN gcK -jPf -jPf +fMX +fMX bhB dVZ jyi @@ -137850,11 +138242,11 @@ bTp jyi cDj bhB -vuR -vuR -woG -vTK -vTK +xnA +ceM +qES +kpN +kpN aag aag aag @@ -138038,9 +138430,9 @@ aag aag aag aag -wVb -hlz -eFH +kpN +mOY +ceM uzg bhB bhB @@ -138053,10 +138445,10 @@ bhB bhB bhB bhB -cAH -cAH -cAH -vTK +mOY +mOY +mOY +kpN aag aag aag @@ -138241,25 +138633,25 @@ aag aag aag aag -wVb -hlz -eFH -hlz -eFH -wul -hlz -gnz -eFH -eFH -vuR +kpN +mOY +ceM +mOY +ceM +vBu +mOY hOe -cAH -fXd -vuR -vuR -vuR -cAH -vTK +ceM +ceM +ceM +hOe +mOY +nxC +ceM +ceM +ceM +mOY +kpN aag aag aag @@ -138444,25 +138836,25 @@ aag aag aag aag -wVb -wVb -rdK -rdK -rdK -rdK -bOn -rdK -rdK -rdK -haq -haq +tdR +tdR +dQm +dQm +dQm +dQm xnl -haq -haq -haq -haq -vTK -vTK +dQm +dQm +dQm +dQm +dQm +xnl +dQm +dQm +dQm +dQm +tdR +tdR aag aag aag @@ -138647,16 +139039,16 @@ aah aah aah aah -wVb -wVb -bdo -bdo +tdR +tdR +ovn +ovn bLg -bMX -bOo +tZF +koT uvG dSs -bOo +lxm otX cII koT @@ -138664,8 +139056,8 @@ tZF bUZ ovn ovn -vTK -vTK +tdR +tdR aah aah aah @@ -138851,15 +139243,15 @@ aaa aaa aaa aaa -wVb +tdR qsF -bdo -bdo -bdo -bdo -bdo -bdo -bdo +ovn +ovn +ovn +ovn +ovn +ovn +ovn ovn ovn ovn @@ -138867,7 +139259,7 @@ ovn ovn bjy aXQ -vTK +tdR aaa aaa aaa @@ -139054,15 +139446,7 @@ aaa aaa aaa aaa -wVb -bdo -bdo -bdo -bdo -bdo -bdo -bdo -bdo +tdR ovn ovn ovn @@ -139070,7 +139454,15 @@ ovn ovn ovn ovn -vTK +ovn +ovn +ovn +ovn +ovn +ovn +ovn +ovn +tdR aaa aaa aaa @@ -139257,15 +139649,7 @@ aaa aaa aaa aaa -wVb -bdo -bdo -bdo -bdo -bdo -bdo -bdo -bdo +tdR ovn ovn ovn @@ -139273,7 +139657,15 @@ ovn ovn ovn ovn -vTK +ovn +ovn +ovn +ovn +ovn +ovn +ovn +ovn +tdR aaa aaa aaa @@ -139460,15 +139852,15 @@ aaa aaa aaa aaa -wVb +tdR bhD -bdo -bdo -bdo -bdo -bdo -bdo -bdo +ovn +ovn +ovn +ovn +ovn +ovn +ovn ovn ovn ovn @@ -139476,7 +139868,7 @@ ovn ovn ovn bCR -vTK +tdR aaa aaa aaa @@ -139663,15 +140055,7 @@ aaa aaa aaa aaa -wVb -bdo -bdo -bdo -bdo -bdo -bdo -bdo -bdo +tdR ovn ovn ovn @@ -139679,7 +140063,15 @@ ovn ovn ovn ovn -vTK +ovn +ovn +ovn +ovn +ovn +ovn +ovn +ovn +tdR aaa aaa aaa @@ -139866,15 +140258,7 @@ aaa aaa aaa aaa -wVb -bdo -bdo -bdo -bdo -bdo -bdo -bdo -bdo +tdR ovn ovn ovn @@ -139882,7 +140266,15 @@ ovn ovn ovn ovn -vTK +ovn +ovn +ovn +ovn +ovn +ovn +ovn +ovn +tdR aaa aaa aaa @@ -140069,15 +140461,15 @@ aaa aaa aaa aaa -wVb +tdR qsF -bdo -bdo -bdo -bdo -bdo -bdo -bdo +ovn +ovn +ovn +ovn +ovn +ovn +ovn ovn ovn ovn @@ -140085,7 +140477,7 @@ ovn ovn ovn aXQ -vTK +tdR aaa aaa aaa @@ -140272,15 +140664,7 @@ aaa aaa aaa aaa -wVb -bdo -jbB -bdo -bne -bdo -jbB -bdo -bne +tdR ovn gXv ovn @@ -140288,7 +140672,15 @@ grX ovn gXv ovn -vTK +grX +ovn +gXv +ovn +grX +ovn +gXv +ovn +tdR aaa aaa aaa @@ -140475,23 +140867,23 @@ aaa aaa aaa aaa -wVb -wVb -wVb -wVb -wVb -wVb -wVb -wVb -wVb -vTK -vTK -vTK -vTK -vTK -vTK -vTK -vTK +tdR +tdR +tdR +tdR +tdR +tdR +tdR +tdR +tdR +tdR +tdR +tdR +tdR +tdR +tdR +tdR +tdR aaa aaa aaa From 796b12c7672617e6151cdcd502568aa755a16c62 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Sun, 24 Dec 2023 01:10:12 +0000 Subject: [PATCH 53/54] Automatic changelog for PR #5254 [ci skip] --- html/changelogs/AutoChangeLog-pr-5254.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5254.yml diff --git a/html/changelogs/AutoChangeLog-pr-5254.yml b/html/changelogs/AutoChangeLog-pr-5254.yml new file mode 100644 index 000000000000..6c557a335b79 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5254.yml @@ -0,0 +1,5 @@ +author: "Huffie56" +delete-after: True +changes: + - bugfix: "removed an extra light in bravo cryo room(to do just saw it)" + - maptweak: "added more areas (stern_point_defense, Lower Deck Stern Hull, Upper Deck port Hallway Upper Deck starboard Hallway)" \ No newline at end of file From 59ce96d05e3dfeb2a351bddecaf481418f465cf2 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 24 Dec 2023 01:14:39 +0000 Subject: [PATCH 54/54] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-5173.yml | 4 ---- html/changelogs/AutoChangeLog-pr-5210.yml | 4 ---- html/changelogs/AutoChangeLog-pr-5211.yml | 4 ---- html/changelogs/AutoChangeLog-pr-5254.yml | 5 ----- html/changelogs/AutoChangeLog-pr-5257.yml | 6 ------ html/changelogs/AutoChangeLog-pr-5266.yml | 4 ---- html/changelogs/AutoChangeLog-pr-5271.yml | 4 ---- html/changelogs/AutoChangeLog-pr-5273.yml | 5 ----- html/changelogs/AutoChangeLog-pr-5279.yml | 4 ---- html/changelogs/archive/2023-12.yml | 25 +++++++++++++++++++++++ 10 files changed, 25 insertions(+), 40 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-5173.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5210.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5211.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5254.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5257.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5266.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5271.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5273.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5279.yml diff --git a/html/changelogs/AutoChangeLog-pr-5173.yml b/html/changelogs/AutoChangeLog-pr-5173.yml deleted file mode 100644 index 215fa4e7928d..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5173.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ihatethisengine" -delete-after: True -changes: - - balance: "New healer drone ability — sacrifice. Healer drone can instantly transfer 75% of its current health, but for the great cost of the healer’s own life." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5210.yml b/html/changelogs/AutoChangeLog-pr-5210.yml deleted file mode 100644 index 3c4308328ca4..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5210.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SabreML" -delete-after: True -changes: - - rscadd: "Allowed Xenomorphs to turn off the dropship's launch alarm by hitting the nav computer." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5211.yml b/html/changelogs/AutoChangeLog-pr-5211.yml deleted file mode 100644 index f2dfd34b23f6..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5211.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "cuberound" -delete-after: True -changes: - - bugfix: "DS doorgun no longer drops the gun when destroyed" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5254.yml b/html/changelogs/AutoChangeLog-pr-5254.yml deleted file mode 100644 index 6c557a335b79..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5254.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Huffie56" -delete-after: True -changes: - - bugfix: "removed an extra light in bravo cryo room(to do just saw it)" - - maptweak: "added more areas (stern_point_defense, Lower Deck Stern Hull, Upper Deck port Hallway Upper Deck starboard Hallway)" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5257.yml b/html/changelogs/AutoChangeLog-pr-5257.yml deleted file mode 100644 index 97e3774b3fb2..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5257.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "BadAtThisGame302" -delete-after: True -changes: - - rscadd: "Added a windbreaker to the Flight Control Operator surv." - - rscadd: "Added W-Y Flight Control access to the Flight Control Operator surv." - - bugfix: "fixed the Flight Control Operator path." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5266.yml b/html/changelogs/AutoChangeLog-pr-5266.yml deleted file mode 100644 index c8cf8dbf72b6..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5266.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Drathek" -delete-after: True -changes: - - bugfix: "Fix crusher charge and tumble abilities going over unwired cades" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5271.yml b/html/changelogs/AutoChangeLog-pr-5271.yml deleted file mode 100644 index 753cca63c2c8..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5271.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SabreML" -delete-after: True -changes: - - rscdel: "Removed the green overlay from camera consoles." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5273.yml b/html/changelogs/AutoChangeLog-pr-5273.yml deleted file mode 100644 index 9c9775123e9c..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5273.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Cthulhu80" -delete-after: True -changes: - - rscadd: "human mobs now scream whenever they get lunged at by a warrior." - - soundadd: "added a new scream sound and put it into the existing scream list." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5279.yml b/html/changelogs/AutoChangeLog-pr-5279.yml deleted file mode 100644 index a0d972a32c60..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5279.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SabreML" -delete-after: True -changes: - - spellcheck: "Made the `xenoboldnotice` span class bold rather than italic." \ No newline at end of file diff --git a/html/changelogs/archive/2023-12.yml b/html/changelogs/archive/2023-12.yml index 18530c16c539..d00e4e209432 100644 --- a/html/changelogs/archive/2023-12.yml +++ b/html/changelogs/archive/2023-12.yml @@ -440,3 +440,28 @@ - bugfix: Fixed X-mas barricade wiring not applying properly. private-tristan: - balance: xenos can now acid all window frames. +2023-12-24: + BadAtThisGame302: + - rscadd: Added a windbreaker to the Flight Control Operator surv. + - rscadd: Added W-Y Flight Control access to the Flight Control Operator surv. + - bugfix: fixed the Flight Control Operator path. + Cthulhu80: + - rscadd: human mobs now scream whenever they get lunged at by a warrior. + - soundadd: added a new scream sound and put it into the existing scream list. + Drathek: + - bugfix: Fix crusher charge and tumble abilities going over unwired cades + Huffie56: + - bugfix: removed an extra light in bravo cryo room(to do just saw it) + - maptweak: added more areas (stern_point_defense, Lower Deck Stern Hull, Upper + Deck port Hallway Upper Deck starboard Hallway) + SabreML: + - rscdel: Removed the green overlay from camera consoles. + - rscadd: Allowed Xenomorphs to turn off the dropship's launch alarm by hitting + the nav computer. + - spellcheck: Made the `xenoboldnotice` span class bold rather than italic. + cuberound: + - bugfix: DS doorgun no longer drops the gun when destroyed + ihatethisengine: + - balance: "New healer drone ability \u2014 sacrifice. Healer drone can instantly\ + \ transfer 75% of its current health, but for the great cost of the healer\u2019\ + s own life."