From 44534d387e17fb78626806cd8625a99c010741f8 Mon Sep 17 00:00:00 2001 From: Apogee-dev <60533805+Apogee-dev@users.noreply.github.com> Date: Tue, 15 Oct 2024 04:06:47 -0700 Subject: [PATCH 01/16] IRMG Enforcers get hardsuits (#3508) ## About The Pull Request ![vaquero](https://github.com/user-attachments/assets/1271256e-c9ea-45fd-b543-19ff8618eed6) ![valor_closet](https://github.com/user-attachments/assets/20da7bef-ce7a-4dd2-819b-b61e68d80e8e) Adds enough hardsuits for every Enforcer on the Valor and the Vaquero. Also, improves the Vaquero's dorm room layout. ## Why It's Good For The Game enforcers should probably have space armor ## Changelog :cl: balance: Valor and Vaquero have combat hardsuits for their enforcers now /:cl: --- _maps/shuttles/inteq/inteq_valor.dmm | 131 ++-- _maps/shuttles/inteq/inteq_vaquero.dmm | 801 ++++++++++++++----------- 2 files changed, 531 insertions(+), 401 deletions(-) diff --git a/_maps/shuttles/inteq/inteq_valor.dmm b/_maps/shuttles/inteq/inteq_valor.dmm index 247743c165bf..00b25f936eab 100644 --- a/_maps/shuttles/inteq/inteq_valor.dmm +++ b/_maps/shuttles/inteq/inteq_valor.dmm @@ -100,6 +100,8 @@ /obj/machinery/suit_storage_unit/inherit, /obj/effect/turf_decal/industrial/outline/yellow, /obj/machinery/light/small/directional/north, +/obj/item/clothing/suit/space/inteq, +/obj/item/clothing/head/helmet/space/inteq, /turf/open/floor/plasteel, /area/ship/crew/office) "bx" = ( @@ -663,6 +665,7 @@ /obj/item/clothing/glasses/hud/security/sunglasses/inteq, /obj/item/clothing/head/helmet/swat/inteq, /obj/item/clothing/mask/gas/sechailer, +/obj/item/radio/intercom/directional/north, /turf/open/floor/plasteel, /area/ship/crew/office) "gb" = ( @@ -746,8 +749,8 @@ "gq" = ( /obj/machinery/light_switch{ dir = 1; - pixel_y = -20; - pixel_x = -3 + pixel_x = -3; + pixel_y = -20 }, /turf/open/floor/plasteel/mono/dark, /area/ship/cargo) @@ -1042,14 +1045,32 @@ /turf/open/floor/plating, /area/ship/medical/surgery) "jN" = ( -/obj/structure/chair/office, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 }, -/obj/effect/turf_decal/corner/transparent/inteqbrown/half, -/turf/open/floor/plasteel, -/area/ship/crew/office) +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/obj/structure/rack, +/obj/item/storage/belt/security/webbing/inteq{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/storage/belt/security/webbing/inteq{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/item/clothing/head/helmet/inteq{ + pixel_x = -9; + pixel_y = 6 + }, +/obj/item/clothing/head/helmet/inteq{ + pixel_x = -7 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) "jQ" = ( /obj/structure/catwalk/over/plated_catwalk, /obj/machinery/light/directional/east, @@ -1087,8 +1108,8 @@ }, /obj/machinery/light_switch{ dir = 1; - pixel_y = -20; - pixel_x = 4 + pixel_x = 4; + pixel_y = -20 }, /turf/open/floor/plasteel/patterned/ridged, /area/ship/medical) @@ -1178,22 +1199,8 @@ /obj/structure/reagent_dispensers/peppertank{ pixel_y = 28 }, -/obj/structure/rack, -/obj/item/storage/belt/security/webbing/inteq{ - pixel_x = 6; - pixel_y = 8 - }, -/obj/item/storage/belt/security/webbing/inteq{ - pixel_x = 8; - pixel_y = 4 - }, -/obj/item/clothing/head/helmet/inteq{ - pixel_x = -9; - pixel_y = 6 - }, -/obj/item/clothing/head/helmet/inteq{ - pixel_x = -7 - }, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, /turf/open/floor/plasteel/dark, /area/ship/security) "kL" = ( @@ -1296,15 +1303,18 @@ /area/ship/crew/canteen) "lN" = ( /obj/structure/table, -/obj/machinery/door/window/southleft, +/obj/item/paper_bin, +/obj/structure/window/reinforced, /obj/structure/window/reinforced{ - dir = 8 + dir = 4 }, /obj/machinery/door/firedoor/border_only, /obj/machinery/door/firedoor/border_only{ dir = 1 }, /obj/effect/turf_decal/corner/transparent/inteqbrown/full, +/obj/item/folder/yellow, +/obj/item/pen, /turf/open/floor/plasteel/patterned, /area/ship/crew/office) "lW" = ( @@ -1995,9 +2005,6 @@ /area/ship/maintenance/port) "rY" = ( /obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 4 - }, /obj/effect/turf_decal/corner/opaque/brown{ dir = 8 }, @@ -2008,7 +2015,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 10 }, -/obj/machinery/airalarm/directional/east, /turf/open/floor/plasteel/dark, /area/ship/security) "sb" = ( @@ -2598,11 +2604,9 @@ /area/ship/medical) "xr" = ( /obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/obj/structure/window/reinforced, +/obj/machinery/door/window/southleft, /obj/structure/window/reinforced{ - dir = 4 + dir = 8 }, /obj/machinery/door/firedoor/border_only, /obj/machinery/door/firedoor/border_only{ @@ -2938,7 +2942,6 @@ dir = 1 }, /obj/effect/turf_decal/steeldecal/steel_decals_central7, -/obj/machinery/airalarm/directional/north, /obj/structure/cable{ icon_state = "4-8" }, @@ -3092,14 +3095,10 @@ /turf/template_noop, /area/template_noop) "BC" = ( -/obj/structure/filingcabinet/double, /obj/structure/sign/poster/official/help_others{ pixel_y = 32 }, -/obj/effect/turf_decal/corner/transparent/inteqbrown/border{ - dir = 1 - }, -/turf/open/floor/plasteel, +/turf/closed/wall/mineral/plastitanium, /area/ship/crew/office) "BL" = ( /obj/effect/turf_decal/corner/opaque/brown{ @@ -3592,10 +3591,11 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "Gm" = ( +/obj/effect/turf_decal/corner/transparent/inteqbrown/half, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "0-4" }, -/obj/effect/turf_decal/corner/transparent/inteqbrown/half, +/obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/plasteel, /area/ship/crew/office) "Go" = ( @@ -4671,8 +4671,8 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, -/obj/item/radio/intercom/directional/south, /obj/effect/turf_decal/corner/transparent/inteqbrown/half, +/obj/structure/chair/office, /turf/open/floor/plasteel, /area/ship/crew/office) "Qw" = ( @@ -4754,7 +4754,26 @@ /turf/open/floor/plasteel/dark, /area/ship/medical/surgery) "Rh" = ( -/turf/closed/wall/mineral/plastitanium, +/obj/structure/sign/poster/official/safety_report{ + pixel_x = 32 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/structure/rack, +/obj/item/storage/box/ammo/c9mm_rubber{ + pixel_x = 5; + pixel_y = 10 + }, +/obj/item/storage/box/ammo/c9mm{ + pixel_x = -2; + pixel_y = 2 + }, +/turf/open/floor/plasteel/dark, /area/ship/security) "RA" = ( /obj/item/storage/backpack/messenger/inteq, @@ -4834,6 +4853,7 @@ /obj/structure/cable{ icon_state = "4-8" }, +/obj/machinery/airalarm/directional/north, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "Sh" = ( @@ -5073,15 +5093,10 @@ /obj/effect/turf_decal/corner/opaque/brown{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/structure/rack, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/item/storage/box/ammo/c9mm_rubber, -/obj/item/storage/box/ammo/c9mm, /obj/machinery/light/small/directional/north, -/obj/structure/sign/poster/official/safety_report{ - pixel_x = 32 - }, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, /turf/open/floor/plasteel/dark, /area/ship/security) "Vy" = ( @@ -5897,7 +5912,7 @@ SL (11,1,1) = {" Zu Rh -Rh +jN Zu uB ua @@ -5930,8 +5945,8 @@ SL (12,1,1) = {" tZ BC -jN -lN +oO +oO gh zs fN @@ -5997,7 +6012,7 @@ SL tZ mG Qo -tZ +lN An Sd HC diff --git a/_maps/shuttles/inteq/inteq_vaquero.dmm b/_maps/shuttles/inteq/inteq_vaquero.dmm index 662ce9c5e3d6..9ea8b60d9b89 100644 --- a/_maps/shuttles/inteq/inteq_vaquero.dmm +++ b/_maps/shuttles/inteq/inteq_vaquero.dmm @@ -51,12 +51,13 @@ /turf/open/floor/plasteel/dark, /area/ship/security) "bg" = ( -/obj/structure/railing{ - dir = 8 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/box/corners{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/stairs, +/obj/structure/weightmachine/weightlifter, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "bi" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -72,6 +73,19 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/plasteel/tech, /area/ship/maintenance/starboard) +"bl" = ( +/obj/structure/closet/crate/freezer/blood, +/obj/machinery/iv_drip, +/obj/machinery/light/small/directional/south, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/medical) "bn" = ( /obj/machinery/power/smes/shuttle/precharged{ dir = 4 @@ -87,14 +101,13 @@ /turf/open/floor/engine/hull/reinforced, /area/ship/maintenance/port) "bq" = ( -/obj/effect/turf_decal/box/corners, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, /obj/item/trash/energybar, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "bt" = ( @@ -110,7 +123,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/computer/helm/viewscreen/directional/south, /turf/open/floor/plasteel/grimy, /area/ship/crew) "bz" = ( @@ -136,12 +148,15 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "bL" = ( -/obj/structure/bed, -/obj/structure/curtain/bounty, -/obj/item/bedsheet/brown, /obj/structure/sign/poster/clip/lanchester{ pixel_y = -32 }, +/obj/machinery/light/small/directional/east, +/obj/effect/spawner/bunk_bed, +/obj/structure/curtain/bounty, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, /turf/open/floor/carpet/black, /area/ship/crew) "ce" = ( @@ -173,12 +188,17 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, /area/ship/security) -"dq" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 +"cH" = ( +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"dq" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) @@ -268,9 +288,6 @@ /obj/item/gun/ballistic/automatic/pistol/commander/inteq{ pixel_y = -5 }, -/obj/structure/sign/poster/contraband/peacemaker{ - pixel_x = 32 - }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/tech/grid, /area/ship/security) @@ -323,6 +340,7 @@ dir = 10 }, /obj/effect/decal/cleanable/oil/streak, +/obj/effect/turf_decal/box/corners, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "fI" = ( @@ -344,7 +362,7 @@ /area/ship/security) "fJ" = ( /turf/closed/wall/mineral/plastitanium, -/area/ship/security) +/area/ship/medical) "fV" = ( /obj/structure/catwalk/over/plated_catwalk, /obj/structure/cable{ @@ -362,6 +380,13 @@ /obj/structure/railing/corner, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) +"fZ" = ( +/obj/structure/marker_beacon{ + picked_color = "Yellow" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) "gh" = ( /obj/machinery/photocopier, /obj/effect/turf_decal/corner/opaque/brown{ @@ -385,27 +410,11 @@ /obj/effect/turf_decal/industrial/traffic{ dir = 1 }, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/button/shieldwallgen{ - dir = 1; - id = "vaquero_cargo"; - pixel_x = 5; - pixel_y = -19 - }, -/obj/machinery/button/door{ - dir = 1; - id = "vaquero_cargo"; - name = "Cargo Door Control"; - pixel_x = -4; - pixel_y = -20 + dir = 4 }, -/obj/effect/turf_decal/industrial/caution{ - dir = 1 +/obj/structure/cable{ + icon_state = "4-8" }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) @@ -425,17 +434,9 @@ /obj/item/pickaxe/mini, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/siding/thinplating/dark, -/obj/structure/extinguisher_cabinet/directional/north, +/obj/item/radio/intercom/directional/north, /turf/open/floor/plasteel/tech, /area/ship/cargo) -"gO" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external/dark) "gY" = ( /obj/structure/table/reinforced, /obj/item/spacecash/bundle/c500, @@ -568,13 +569,12 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/office) "if" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/patterned, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/airalarm/directional/east, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/inteq, +/obj/item/clothing/head/helmet/space/inteq, +/turf/open/floor/plasteel/tech, /area/ship/cargo) "iu" = ( /obj/structure/cable{ @@ -658,6 +658,9 @@ /turf/open/floor/plasteel/dark, /area/ship/security) "jg" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, /turf/open/floor/carpet/black, /area/ship/crew) "jw" = ( @@ -702,12 +705,9 @@ /turf/open/floor/plasteel/dark, /area/ship/bridge) "jE" = ( -/obj/structure/bed, -/obj/structure/curtain/bounty, -/obj/item/bedsheet/brown, -/obj/machinery/light/small/directional/east, -/obj/machinery/airalarm/directional/north, /obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/bunk_bed, +/obj/structure/curtain/bounty, /turf/open/floor/carpet/black, /area/ship/crew) "jI" = ( @@ -814,7 +814,7 @@ /obj/item/clothing/suit/space/inteq, /obj/item/clothing/head/helmet/space/inteq, /obj/effect/turf_decal/siding/thinplating/dark, -/obj/item/radio/intercom/directional/north, +/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/plasteel/tech, /area/ship/cargo) "lm" = ( @@ -862,16 +862,23 @@ /turf/open/floor/plasteel/tech, /area/ship/maintenance/starboard) "lL" = ( -/obj/structure/closet/crate/freezer/blood, -/obj/machinery/iv_drip, -/obj/machinery/light/small/directional/south, -/obj/item/radio/intercom/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 10 + }, +/obj/machinery/firealarm/directional/west, /obj/effect/turf_decal/steeldecal/steel_decals10{ dir = 5 }, /obj/effect/turf_decal/steeldecal/steel_decals10{ dir = 6 }, +/obj/structure/bed, /turf/open/floor/plasteel/patterned/brushed, /area/ship/medical) "lU" = ( @@ -934,7 +941,6 @@ /obj/machinery/suit_storage_unit/inherit, /obj/item/clothing/suit/space/inteq, /obj/item/clothing/head/helmet/space/inteq, -/obj/machinery/airalarm/directional/east, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/siding/thinplating/dark, /turf/open/floor/plasteel/tech, @@ -957,10 +963,22 @@ /obj/effect/turf_decal/trimline/opaque/yellow/warning{ dir = 1 }, -/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) "nm" = ( +/obj/docking_port/mobile{ + dir = 2; + launch_status = 0; + port_direction = 8; + preferred_direction = 4 + }, +/obj/machinery/porta_turret/ship/inteq{ + dir = 5; + id = "vaquero_grid" + }, /turf/closed/wall/mineral/plastitanium, /area/ship/medical) "ox" = ( @@ -1073,12 +1091,21 @@ /turf/closed/wall/mineral/plastitanium, /area/ship/crew/office) "qE" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/cable{ + icon_state = "0-8" }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external/dark) +/obj/machinery/power/shieldwallgen/atmos{ + anchored = 1; + id = "vaquero_cargo"; + locked = 1 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "vaquero_cargo" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/cargo) "qQ" = ( /obj/structure/cable{ icon_state = "1-2" @@ -1130,6 +1157,11 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/machinery/light/small/directional/east, /obj/item/trash/chips, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -10 + }, /turf/open/floor/plasteel/grimy, /area/ship/crew) "rD" = ( @@ -1143,6 +1175,13 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/carpet/orange, /area/ship/bridge) +"rP" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) "sm" = ( /obj/structure/cable{ icon_state = "1-2" @@ -1270,11 +1309,29 @@ }, /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/security) +"vs" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/box/corners, +/obj/structure/closet/crate, +/obj/item/stack/sheet/glass/twenty, +/obj/item/stack/sheet/metal/twenty, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"vw" = ( +/obj/structure/marker_beacon{ + picked_color = "Yellow" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) "vN" = ( /turf/open/floor/plasteel/patterned, /area/ship/cargo) "vT" = ( /obj/effect/turf_decal/trimline/opaque/yellow/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) "vU" = ( @@ -1307,20 +1364,17 @@ /turf/template_noop, /area/template_noop) "wy" = ( -/obj/effect/turf_decal/box/corners, -/obj/structure/closet/crate, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/item/stack/sheet/metal/twenty, -/obj/item/stack/sheet/glass/twenty, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "wI" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, /obj/structure/weightmachine/weightlifter, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "wU" = ( @@ -1485,27 +1539,23 @@ /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "zr" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 + dir = 5 }, -/obj/machinery/light/directional/east, +/obj/effect/turf_decal/box/corners, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "zG" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/poddoor{ + dir = 4; + id = "vaquero_cargo" }, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external/dark) +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/cargo) "zM" = ( /obj/machinery/power/terminal{ dir = 8 @@ -1586,13 +1636,12 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 }, -/obj/machinery/newscaster/directional/south, /turf/open/floor/plasteel/grimy, /area/ship/crew) "Am" = ( @@ -1666,22 +1715,33 @@ /turf/open/floor/plasteel/tech, /area/ship/maintenance/port) "Bj" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external/dark) -"Bl" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, /obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 8 + icon_state = "0-8" }, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/security) +/obj/machinery/power/shieldwallgen/atmos{ + anchored = 1; + dir = 1; + id = "vaquero_cargo"; + locked = 1 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "vaquero_cargo" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/cargo) +"Bl" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/security) "Bu" = ( /obj/structure/closet/wall/directional/north{ icon_door = "grey_wall" @@ -1756,6 +1816,19 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) +"Ch" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) "Ci" = ( /obj/structure/filingcabinet/chestdrawer, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, @@ -1771,12 +1844,13 @@ /turf/open/floor/plasteel/dark, /area/ship/security) "Cl" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/poddoor{ - dir = 4; - id = "vaquero_cargo" +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 }, -/turf/open/floor/engine/hull/reinforced/interior, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "Cq" = ( /turf/closed/wall/mineral/plastitanium, @@ -1874,7 +1948,6 @@ }, /obj/effect/turf_decal/siding/thinplating/dark, /obj/machinery/firealarm/directional/south, -/obj/item/radio/intercom/directional/east, /turf/open/floor/plasteel/tech, /area/ship/security) "Dh" = ( @@ -1953,33 +2026,21 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "Ex" = ( +/obj/structure/catwalk/over/plated_catwalk, /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/door/airlock/medical/glass{ - dir = 4; - name = "Infirmary" - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 1 }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 }, -/obj/machinery/door/firedoor/border_only{ +/obj/structure/railing/corner{ dir = 8 }, -/turf/open/floor/plasteel/tech, -/area/ship/medical) +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) "EB" = ( /obj/machinery/door/window/northleft{ dir = 8; @@ -2071,51 +2132,31 @@ /obj/machinery/computer/helm/viewscreen/directional/south, /turf/open/floor/plasteel/dark, /area/ship/crew/office) +"FO" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/security) "Gq" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/crew) "GB" = ( -/obj/machinery/door/airlock{ - name = "Dormitory" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 +/obj/structure/table, +/obj/item/flashlight/lamp/green, +/obj/machinery/newscaster/directional/west, +/obj/structure/window/reinforced{ + dir = 1 }, -/turf/open/floor/plasteel/grimy, +/turf/open/floor/carpet/black, /area/ship/crew) "GI" = ( -/obj/structure/weightmachine/weightlifter, /obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "GQ" = ( -/obj/item/clothing/under/syndicate/inteq, -/obj/item/clothing/under/syndicate/inteq, -/obj/item/clothing/under/syndicate/inteq, -/obj/item/clothing/under/syndicate/inteq/skirt, -/obj/item/clothing/under/syndicate/inteq/skirt, -/obj/item/clothing/under/syndicate/inteq/skirt, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/sneakers/black, -/obj/item/clothing/shoes/sneakers/black, -/obj/item/clothing/shoes/sneakers/black, -/obj/structure/closet/wall/directional/north{ - icon_door = "orange_wall"; - name = "uniform closet" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/carpet/black, /area/ship/crew) "Ha" = ( @@ -2179,36 +2220,15 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/security) "HN" = ( -/obj/structure/closet/secure_closet/wall/directional/north{ - icon_door = "med_wall"; - name = "medical locker"; - req_access_txt = "5" - }, -/obj/item/storage/firstaid/regular{ - pixel_x = 6; - pixel_y = 3 - }, -/obj/item/storage/firstaid/toxin{ - pixel_x = 2; - pixel_y = 1 - }, -/obj/item/storage/firstaid/fire{ - pixel_x = -2; - pixel_y = -1 - }, -/obj/item/storage/firstaid/advanced{ - pixel_x = -6; - pixel_y = -3 - }, -/obj/structure/sink{ - dir = 8; - pixel_x = 12 +/obj/structure/cable{ + icon_state = "0-8" }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/obj/structure/sign/poster/official/cleanliness{ - pixel_x = 32 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -2230,7 +2250,7 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 1 }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /turf/open/floor/plasteel/grimy, /area/ship/crew) "In" = ( @@ -2425,23 +2445,17 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/box/corners, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "LW" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - id = "vaquero_cargo"; - locked = 1 +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "vaquero_cargo" +/obj/structure/cable{ + icon_state = "2-4" }, -/turf/open/floor/engine/hull/reinforced/interior, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "Me" = ( /obj/structure/railing{ @@ -2521,12 +2535,19 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "NO" = ( -/obj/machinery/porta_turret/ship/inteq{ - dir = 6; - id = "vaquero_grid" +/obj/structure/railing, +/obj/structure/cable{ + icon_state = "4-8" }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/security) +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) "NR" = ( /obj/structure/cable{ icon_state = "1-8" @@ -2642,21 +2663,20 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/office) "Pn" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 1 + }, /obj/structure/cable{ - icon_state = "0-8" + icon_state = "1-8" }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 1; - id = "vaquero_cargo"; - locked = 1 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "vaquero_cargo" +/obj/structure/sign/warning/incident{ + pixel_y = -30 }, -/turf/open/floor/engine/hull/reinforced/interior, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "Pp" = ( /obj/machinery/power/smes/engineering, @@ -2672,23 +2692,40 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/office) "PD" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 +/obj/structure/closet/secure_closet/wall/directional/north{ + icon_door = "med_wall"; + name = "medical locker"; + req_access_txt = "5" }, -/obj/item/storage/backpack/duffelbag/med/surgery, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20; - pixel_y = 10 +/obj/item/storage/firstaid/regular{ + pixel_x = 6; + pixel_y = 3 }, -/obj/machinery/firealarm/directional/west, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 +/obj/item/storage/firstaid/toxin{ + pixel_x = 2; + pixel_y = 1 }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 +/obj/item/storage/firstaid/fire{ + pixel_x = -2; + pixel_y = -1 + }, +/obj/item/storage/firstaid/advanced{ + pixel_x = -6; + pixel_y = -3 + }, +/obj/structure/sink{ + dir = 8; + pixel_x = 12 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/sign/poster/official/cleanliness{ + pixel_x = 32 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 }, -/obj/structure/bed, /turf/open/floor/plasteel/patterned/brushed, /area/ship/medical) "Qy" = ( @@ -2791,26 +2828,45 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/office) "RU" = ( -/obj/structure/dresser, -/obj/machinery/firealarm/directional/west, /obj/item/radio/intercom/directional/south, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/west, +/obj/structure/closet/wardrobe/orange{ + name = "uniform wardrobe"; + populate = 0 + }, +/obj/item/storage/backpack/messenger/inteq, +/obj/item/storage/backpack/messenger/inteq, +/obj/item/storage/backpack/messenger/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, /turf/open/floor/carpet/black, /area/ship/crew) "RX" = ( /obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, +/obj/structure/railing, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "Sc" = ( @@ -2830,6 +2886,9 @@ /area/ship/hallway/central) "Tc" = ( /obj/structure/ore_box, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Ti" = ( @@ -2843,11 +2902,9 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "Tn" = ( -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/inteq, -/obj/item/clothing/head/helmet/space/inteq, /obj/machinery/light/directional/north, /obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/rack, /turf/open/floor/plasteel/tech, /area/ship/cargo) "TC" = ( @@ -2859,8 +2916,8 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/turretid/ship{ - pixel_y = 26; - id = "vaquero_grid" + id = "vaquero_grid"; + pixel_y = 26 }, /turf/open/floor/plasteel/dark, /area/ship/bridge) @@ -2905,62 +2962,58 @@ /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "TX" = ( -/obj/item/storage/backpack/messenger/inteq, -/obj/item/storage/backpack/messenger/inteq, -/obj/item/storage/backpack/messenger/inteq, -/obj/item/clothing/head/beret/sec/inteq, -/obj/item/clothing/head/beret/sec/inteq, -/obj/item/clothing/head/beret/sec/inteq, -/obj/item/clothing/head/soft/inteq, -/obj/item/clothing/head/soft/inteq, -/obj/item/clothing/head/soft/inteq, -/obj/structure/closet/wall/directional/north{ - icon_door = "orange_wall"; - name = "uniform closet" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/item/clothing/suit/hooded/wintercoat/security/inteq, -/obj/item/clothing/suit/hooded/wintercoat/security/inteq, -/obj/item/clothing/suit/hooded/wintercoat/security/inteq, -/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, -/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, -/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, /turf/open/floor/carpet/black, /area/ship/crew) "Uf" = ( -/obj/structure/table, -/obj/item/flashlight/lamp/green, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, /turf/open/floor/carpet/black, /area/ship/crew) "Ul" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/bridge) "Ur" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 +/obj/structure/closet/wardrobe/orange{ + name = "uniform wardrobe"; + populate = 0 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/obj/item/clothing/under/syndicate/inteq, +/obj/item/clothing/under/syndicate/inteq, +/obj/item/clothing/under/syndicate/inteq, +/obj/item/clothing/under/syndicate/inteq/skirt, +/obj/item/clothing/under/syndicate/inteq/skirt, +/obj/item/clothing/under/syndicate/inteq/skirt, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/shoes/sneakers/black, +/turf/open/floor/carpet/black, +/area/ship/crew) +"Uy" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/dresser{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 }, -/obj/machinery/light/small/directional/west, /turf/open/floor/carpet/black, /area/ship/crew) "UO" = ( -/obj/docking_port/mobile{ - dir = 2; - launch_status = 0; - port_direction = 8; - preferred_direction = 4 - }, -/obj/machinery/porta_turret/ship/inteq{ - dir = 5; - id = "vaquero_grid" +/obj/structure/railing{ + dir = 8 }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/medical) +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/stairs, +/area/ship/cargo) "UV" = ( /obj/machinery/door/airlock/public/glass{ dir = 4; @@ -3042,13 +3095,24 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) +"VZ" = ( +/obj/machinery/porta_turret/ship/inteq{ + dir = 6; + id = "vaquero_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/security) "Wd" = ( -/obj/structure/marker_beacon{ - picked_color = "Yellow" +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) +"Wl" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/warning, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) "WH" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ name = "exhaust injector" @@ -3057,9 +3121,6 @@ /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) "WM" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, /obj/structure/closet/crate, /obj/item/target/syndicate{ pixel_x = -5; @@ -3076,6 +3137,9 @@ pixel_y = 5 }, /obj/item/clothing/ears/earmuffs, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Xb" = ( @@ -3110,26 +3174,38 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/office) "Xi" = ( -/obj/structure/marker_beacon{ - picked_color = "Yellow" +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) "Xo" = ( /obj/structure/cable{ - icon_state = "0-8" + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/power/apc/auto_name/directional/north, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 +/obj/machinery/door/airlock/medical/glass{ + dir = 4; + name = "Infirmary" }, -/obj/effect/turf_decal/siding/thinplating/dark{ +/obj/effect/turf_decal/steeldecal/steel_decals10{ dir = 1 }, -/turf/open/floor/plasteel/patterned/brushed, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, /area/ship/medical) "XD" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, @@ -3154,6 +3230,21 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ship/maintenance/port) +"XL" = ( +/obj/structure/sign/poster/contraband/peacemaker{ + pixel_x = 32 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 1 + }, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) "XO" = ( /obj/structure/closet/secure_closet/freezer{ anchored = 1; @@ -3248,19 +3339,31 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/office) "Zh" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ +/obj/effect/turf_decal/industrial/traffic{ dir = 1 }, -/obj/structure/cable{ - icon_state = "1-8" - }, /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/sign/warning/incident{ - pixel_y = -30 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/button/shieldwallgen{ + dir = 1; + id = "vaquero_cargo"; + pixel_x = 5; + pixel_y = -19 + }, +/obj/machinery/button/door{ + dir = 1; + id = "vaquero_cargo"; + name = "Cargo Door Control"; + pixel_x = -4; + pixel_y = -20 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "Zi" = ( @@ -3347,14 +3450,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 5; - pixel_y = -20 - }, -/obj/structure/extinguisher_cabinet/directional/south{ - pixel_x = -6 - }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/grimy, /area/ship/crew) @@ -3656,7 +3751,7 @@ VI Ul VD Ag -Gq +GQ GQ Uf LB @@ -3676,7 +3771,7 @@ jB Ul sS bu -Gq +TX TX jg LB @@ -3696,7 +3791,7 @@ TQ Ul rA ZA -Gq +Uy jE bL Gq @@ -3786,7 +3881,7 @@ ww ww QJ kW -mR +NO wI bq vN @@ -3809,9 +3904,9 @@ mE RX bg zr -if -dq +vN dq +vs Zh te Ci @@ -3824,11 +3919,11 @@ ww (23,1,1) = {" ww ww -nm -lo +Eh +if Ex -lo -lo +UO +Ch LW Cl Cl @@ -3837,27 +3932,27 @@ te te OK te -fJ +te ww ww "} (24,1,1) = {" ww ww -ww +fJ lo Xo -PD +lo lo qE zG -gO +zG Bj te Hw fI te -ww +FO ww ww "} @@ -3885,7 +3980,27 @@ ww ww ww ww -UO +lo +PD +bl +lo +fZ +rP +Wl +vw +te +XL +cH +te +ww +ww +ww +"} +(27,1,1) = {" +ww +ww +ww +nm lo lo lo @@ -3896,7 +4011,7 @@ ww te te te -NO +VZ ww ww ww From c7bd3d430960e4f9de47a81098416a19fc27e525 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 15 Oct 2024 08:35:58 -0500 Subject: [PATCH 02/16] Automatic changelog generation for PR #3508 [ci skip] --- html/changelogs/AutoChangeLog-pr-3508.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3508.yml diff --git a/html/changelogs/AutoChangeLog-pr-3508.yml b/html/changelogs/AutoChangeLog-pr-3508.yml new file mode 100644 index 000000000000..84fc1ea2deca --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3508.yml @@ -0,0 +1,4 @@ +author: Apogee-dev +changes: + - {balance: Valor and Vaquero have combat hardsuits for their enforcers now} +delete-after: true From a87f5da1d73e2a6cd9aa800b9019772cb2bcf82c Mon Sep 17 00:00:00 2001 From: Sadhorizon <108196626+Sadhorizon@users.noreply.github.com> Date: Tue, 15 Oct 2024 13:08:17 +0200 Subject: [PATCH 03/16] Minor Pubby ruin fix. (#3541) ## About The Pull Request This airlock had a turf passthrough under it. Acid spawning randomly is NOT fun. ## Why It's Good For The Game Fixing oversights good. ## Changelog :cl: fix: Pubby ruin can no longer randomly have acid in airlocks. /:cl: --- .../RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm index 397dff3689ee..6906e1dd2bed 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm @@ -1447,7 +1447,7 @@ /obj/machinery/door/airlock/hatch{ welded = 1 }, -/turf/template_noop, +/turf/open/floor/plating, /area/ruin/whitesands/pubbycrash/split) "ET" = ( /obj/structure/cable/yellow{ From f691adbda9aaea8ea9bfa48b0d7bcd5830ab098d Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 15 Oct 2024 08:51:19 -0500 Subject: [PATCH 04/16] Automatic changelog generation for PR #3541 [ci skip] --- html/changelogs/AutoChangeLog-pr-3541.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3541.yml diff --git a/html/changelogs/AutoChangeLog-pr-3541.yml b/html/changelogs/AutoChangeLog-pr-3541.yml new file mode 100644 index 000000000000..4bc25ce2336d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3541.yml @@ -0,0 +1,4 @@ +author: Sadhorizon +changes: + - {bugfix: Pubby ruin can no longer randomly have acid in airlocks.} +delete-after: true From 1d06229071ac6981760d363119c8e0d439bf4846 Mon Sep 17 00:00:00 2001 From: Sadhorizon <108196626+Sadhorizon@users.noreply.github.com> Date: Tue, 15 Oct 2024 13:08:31 +0200 Subject: [PATCH 05/16] Removes some cruft from sheet construction - mainly, job statues. (#3539) ## About The Pull Request Removes: - cardborg suit - It feels like it doesn't *exactly* fit the setting. Can revert though. - Karl Marx bust. - all the job statues - the jobs no longer exist in the same sense as before - human/gondola/monkey skinsuits - I don't imagine parading in monkey masks as fitting the setting I'm actually removing all the statues listed above completely from the code. ## Why It's Good For The Game That's the man alright. ![obraz](https://github.com/user-attachments/assets/55eb3760-da83-4c94-9d5f-11d91035b339) ## Changelog :cl: del: Removed Karl Marx from the game. del: Removed all the job statues. del: Cardborg suit, human, gondola and monkey skinsuits are no longer craftable. /:cl: --- .../BeachRuins/beach_ocean_town.dmm | 6 +- .../JungleRuins/jungle_cavecrew.dmm | 4 +- .../LavaRuins/lavaland_crashed_starwalker.dmm | 2 - .../shuttles/nanotrasen/nanotrasen_mimir.dmm | 8 +- .../game/objects/items/stacks/sheets/glass.dm | 2 +- .../objects/items/stacks/sheets/leather.dm | 26 --- .../objects/items/stacks/sheets/mineral.dm | 16 -- .../stacks/sheets/recipes/recipes_metal.dm | 2 +- .../items/stacks/sheets/sheet_types.dm | 3 - code/game/objects/structures/statues.dm | 183 ------------------ icons/obj/statue.dmi | Bin 29063 -> 12202 bytes 11 files changed, 8 insertions(+), 244 deletions(-) diff --git a/_maps/RandomRuins/BeachRuins/beach_ocean_town.dmm b/_maps/RandomRuins/BeachRuins/beach_ocean_town.dmm index d1a3ff05cf04..312e11abe0f4 100644 --- a/_maps/RandomRuins/BeachRuins/beach_ocean_town.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_ocean_town.dmm @@ -1698,10 +1698,6 @@ }, /turf/open/floor/plasteel, /area/ruin/beach/oceantown/shop) -"ww" = ( -/obj/structure/statue/sandstone/assistant, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) "wF" = ( /obj/structure/flora/ausbushes/fullgrass, /obj/structure/flora/ausbushes/brflowers, @@ -7687,7 +7683,7 @@ sa sa Ud sa -ww +sa sa Ud sa diff --git a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm index d40ca2c82b27..557a50d9a11e 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm @@ -192,7 +192,9 @@ /area/overmap_encounter/planetoid/jungle/explored) "bU" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/statue/sandstone/assistant, +/obj/item/kirbyplants{ + icon_state = "plant-10" + }, /obj/machinery/light_switch{ pixel_y = 21; pixel_x = -10 diff --git a/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm b/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm index 8f3921ed0520..336588e2d807 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm @@ -2024,7 +2024,6 @@ /turf/open/floor/engine/hull/interior, /area/overmap_encounter/planetoid/lava/explored) "Hl" = ( -/obj/structure/statue/sandstone/assistant, /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/contraband/random{ pixel_y = -32 @@ -2380,7 +2379,6 @@ /turf/open/floor/plasteel/dark, /area/ruin/unpowered/crashed_starwalker) "Mk" = ( -/obj/structure/statue/sandstone/assistant, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/pod/light, diff --git a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm index 7791494023f4..f749f60f7e52 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm @@ -8222,10 +8222,6 @@ }, /turf/open/floor/plasteel, /area/ship/security/prison) -"Wi" = ( -/obj/structure/statue/sandstone/assistant, -/turf/open/floor/plating, -/area/ship/maintenance/fore) "Wj" = ( /obj/effect/decal/cleanable/food/salt, /obj/effect/turf_decal/siding/wideplating/light, @@ -10035,7 +10031,7 @@ rc bb yI yI -Wi +yI CP nK jY @@ -10115,7 +10111,7 @@ rW bb yI yI -Wi +yI CP nK jY diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index 23a8c8d5e5f0..08dd06b690d5 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -143,7 +143,7 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \ null, \ new/datum/stack_recipe("directional reinforced window", /obj/structure/window/reinforced/unanchored, time = 0, on_floor = TRUE, window_checks = TRUE), \ new/datum/stack_recipe("fulltile reinforced window", /obj/structure/window/reinforced/fulltile/unanchored, 2, time = 0, on_floor = TRUE, window_checks = TRUE), \ - new/datum/stack_recipe(" reinforced glass tile", /obj/item/stack/tile/glass/reinforced, 1, 4, 20), \ + new/datum/stack_recipe("reinforced glass tile", /obj/item/stack/tile/glass/reinforced, 1, 4, 20), \ new/datum/stack_recipe("glass shard", /obj/item/shard, 1) \ )) diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 75c863bee5b6..5f4ede1dbe14 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -11,14 +11,6 @@ singular_name = "human skin piece" novariants = FALSE -GLOBAL_LIST_INIT(human_recipes, list( \ - new/datum/stack_recipe("bloated human costume", /obj/item/clothing/suit/hooded/bloated_human, 5), \ - )) - -/obj/item/stack/sheet/animalhide/human/get_main_recipes() - . = ..() - . += GLOB.human_recipes - /obj/item/stack/sheet/animalhide/generic name = "skin" desc = "A piece of skin." @@ -32,12 +24,6 @@ GLOBAL_LIST_INIT(human_recipes, list( \ icon_state = "sheet-corgi" item_state = "sheet-corgi" - -GLOBAL_LIST_INIT(gondola_recipes, list ( \ - new/datum/stack_recipe("gondola mask", /obj/item/clothing/mask/gondola, 1), \ - new/datum/stack_recipe("gondola suit", /obj/item/clothing/under/costume/gondola, 2), \ - )) - /obj/item/stack/sheet/animalhide/mothroach name = "mothroach hide" desc = "A thin layer of mothroach hide." @@ -53,10 +39,6 @@ GLOBAL_LIST_INIT(gondola_recipes, list ( \ icon_state = "sheet-gondola" item_state = "sheet-gondola" -/obj/item/stack/sheet/animalhide/gondola/get_main_recipes() - . = ..() - . += GLOB.gondola_recipes - /obj/item/stack/sheet/animalhide/cat name = "cat hide" desc = "The by-product of cat farming." @@ -71,14 +53,6 @@ GLOBAL_LIST_INIT(gondola_recipes, list ( \ icon_state = "sheet-monkey" item_state = "sheet-monkey" -GLOBAL_LIST_INIT(monkey_recipes, list ( \ - new/datum/stack_recipe("monkey mask", /obj/item/clothing/mask/gas/monkeymask, 1), \ - )) - -/obj/item/stack/sheet/animalhide/monkey/get_main_recipes() - . = ..() - . += GLOB.monkey_recipes - /obj/item/stack/sheet/animalhide/lizard name = "lizard skin" desc = "Sssssss..." diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 560031fa03da..833360f52fa8 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -26,7 +26,6 @@ Mineral Sheets GLOBAL_LIST_INIT(sandstone_recipes, list ( \ new/datum/stack_recipe("pile of dirt", /obj/machinery/hydroponics/soil, 3, time = 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("sandstone door", /obj/structure/mineral_door/sandstone, 10, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("Assistant Statue", /obj/structure/statue/sandstone/assistant, 5, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("Breakdown into sand", /obj/item/stack/ore/glass, 1, one_per_turf = 0, on_floor = 1) \ )) @@ -108,9 +107,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( \ GLOBAL_LIST_INIT(diamond_recipes, list ( \ new/datum/stack_recipe("diamond door", /obj/structure/mineral_door/transparent/diamond, 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("diamond tile", /obj/item/stack/tile/mineral/diamond, 1, 4, 20), \ - new/datum/stack_recipe("Captain Statue", /obj/structure/statue/diamond/captain, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("AI Hologram Statue", /obj/structure/statue/diamond/ai1, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("AI Core Statue", /obj/structure/statue/diamond/ai2, 5, one_per_turf = 1, on_floor = 1), \ )) /obj/item/stack/sheet/mineral/diamond/get_main_recipes() @@ -146,7 +142,6 @@ GLOBAL_LIST_INIT(uranium_recipes, list ( \ new/datum/stack_recipe("uranium door", /obj/structure/mineral_door/uranium, 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("uranium tile", /obj/item/stack/tile/mineral/uranium, 1, 4, 20), \ new/datum/stack_recipe("Nuke Statue", /obj/structure/statue/uranium/nuke, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("Engineer Statue", /obj/structure/statue/uranium/eng, 5, one_per_turf = 1, on_floor = 1), \ )) /obj/item/stack/sheet/mineral/uranium/get_main_recipes() @@ -186,7 +181,6 @@ GLOBAL_LIST_INIT(uranium_recipes, list ( \ GLOBAL_LIST_INIT(plasma_recipes, list ( \ new/datum/stack_recipe("plasma door", /obj/structure/mineral_door/transparent/plasma, 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("plasma tile", /obj/item/stack/tile/mineral/plasma, 1, 4, 20), \ - new/datum/stack_recipe("Scientist Statue", /obj/structure/statue/plasma/scientist, 5, one_per_turf = 1, on_floor = 1), \ )) /obj/item/stack/sheet/mineral/plasma/get_main_recipes() @@ -240,12 +234,7 @@ GLOBAL_LIST_INIT(gold_recipes, list ( \ new/datum/stack_recipe("chemical crate", /obj/structure/closet/crate/chem, 1, time = 15, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("gold tile", /obj/item/stack/tile/mineral/gold, 1, 4, 20), \ new/datum/stack_recipe("blank plaque", /obj/item/plaque, 1), \ - new/datum/stack_recipe("HoS Statue", /obj/structure/statue/gold/hos, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("HOP Statue", /obj/structure/statue/gold/head_of_personnel, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("CE Statue", /obj/structure/statue/gold/ce, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("RD Statue", /obj/structure/statue/gold/rd, 5, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("Simple Crown", /obj/item/clothing/head/crown, 5), \ - new/datum/stack_recipe("CMO Statue", /obj/structure/statue/gold/cmo, 5, one_per_turf = 1, on_floor = 1), \ )) /obj/item/stack/sheet/mineral/gold/get_main_recipes() @@ -296,11 +285,6 @@ GLOBAL_LIST_INIT(gold_recipes, list ( \ GLOBAL_LIST_INIT(silver_recipes, list ( \ new/datum/stack_recipe("silver door", /obj/structure/mineral_door/silver, 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("silver tile", /obj/item/stack/tile/mineral/silver, 1, 4, 20), \ - new/datum/stack_recipe("Med Officer Statue", /obj/structure/statue/silver/md, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("Janitor Statue", /obj/structure/statue/silver/janitor, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("Sec Officer Statue", /obj/structure/statue/silver/sec, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("Sec Borg Statue", /obj/structure/statue/silver/secborg, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("Med Borg Statue", /obj/structure/statue/silver/medborg, 5, one_per_turf = 1, on_floor = 1), \ )) /obj/item/stack/sheet/mineral/silver/get_main_recipes() diff --git a/code/game/objects/items/stacks/sheets/recipes/recipes_metal.dm b/code/game/objects/items/stacks/sheets/recipes/recipes_metal.dm index 9819a941e5f8..bd2a13a1ac88 100644 --- a/code/game/objects/items/stacks/sheets/recipes/recipes_metal.dm +++ b/code/game/objects/items/stacks/sheets/recipes/recipes_metal.dm @@ -242,7 +242,7 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ null, \ new/datum/stack_recipe("iron door", /obj/structure/mineral_door/iron, 20, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("floodlight frame", /obj/structure/floodlight_frame, 5, one_per_turf = TRUE, on_floor = TRUE), \ - new/datum/stack_recipe("voting box", /obj/structure/votebox, 15, time = 50), \ + new/datum/stack_recipe("voting box", /obj/structure/votebox, 5, time = 50), \ new/datum/stack_recipe("mortar", /obj/item/reagent_containers/glass/mortar/metal, 3), \ new/datum/stack_recipe("pestle", /obj/item/pestle, 1, time = 50), \ new/datum/stack_recipe("hygienebot assembly", /obj/item/bot_assembly/hygienebot, 2, time = 50), \ diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index ce64af1fd205..790c9cb2d22d 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -346,8 +346,6 @@ GLOBAL_LIST_INIT(durathread_recipes, list ( \ */ GLOBAL_LIST_INIT(cardboard_recipes, list ( \ new/datum/stack_recipe("box", /obj/item/storage/box), \ - new/datum/stack_recipe("cardborg suit", /obj/item/clothing/suit/cardborg, 3), \ - new/datum/stack_recipe("cardborg helmet", /obj/item/clothing/head/cardborg), \ new/datum/stack_recipe("large box", /obj/structure/closet/cardboard, 4, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("cardboard cutout", /obj/item/cardboard_cutout, 5), \ null, \ @@ -452,7 +450,6 @@ GLOBAL_LIST_INIT(bronze_recipes, list ( \ new/datum/stack_recipe("bronze hat", /obj/item/clothing/head/bronze), \ null, new/datum/stack_recipe("bronze chair", /obj/structure/chair/comfy/shuttle/bronze, 1, time = 0, one_per_turf = TRUE, on_floor = TRUE), \ - new/datum/stack_recipe("Marx Bust", /obj/structure/statue/bronze/marx, 15, one_per_turf = 1, on_floor = 1), \ )) /obj/item/stack/tile/bronze diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm index 68c99d6649a5..4d9b3b783cef 100644 --- a/code/game/objects/structures/statues.dm +++ b/code/game/objects/structures/statues.dm @@ -62,11 +62,6 @@ desc = "This is a grand statue of a Nuclear Explosive. It has a sickening green colour." icon_state = "nuke" -/obj/structure/statue/uranium/eng - name = "Statue of an engineer" - desc = "This statue has a sickening green colour." - icon_state = "eng" - /obj/structure/statue/uranium/attackby(obj/item/W, mob/user, params) radiate() return ..() @@ -93,168 +88,6 @@ return return -////////////////////////////plasma/////////////////////////////////////////////////////////////////////// - -/obj/structure/statue/plasma - max_integrity = 200 - material_drop_type = /obj/item/stack/sheet/mineral/plasma - impressiveness = 20 - desc = "This statue is suitably made from plasma." - -/obj/structure/statue/plasma/scientist - name = "statue of a scientist" - icon_state = "sci" - -/obj/structure/statue/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) - if(exposed_temperature > 300) - PlasmaBurn(exposed_temperature) - - -/obj/structure/statue/plasma/bullet_act(obj/projectile/Proj) - var/burn = FALSE - if(!(Proj.nodamage) && Proj.damage_type == BURN && !QDELETED(src)) - burn = TRUE - if(burn) - var/turf/T = get_turf(src) - if(Proj.firer) - message_admins("Plasma statue ignited by [ADMIN_LOOKUPFLW(Proj.firer)] in [ADMIN_VERBOSEJMP(T)]") - log_game("Plasma statue ignited by [key_name(Proj.firer)] in [AREACOORD(T)]") - else - message_admins("Plasma statue ignited by [Proj]. No known firer, in [ADMIN_VERBOSEJMP(T)]") - log_game("Plasma statue ignited by [Proj] in [AREACOORD(T)]. No known firer.") - PlasmaBurn(2500) - . = ..() - -/obj/structure/statue/plasma/attackby(obj/item/W, mob/user, params) - if(W.get_temperature() > 300 && !QDELETED(src))//If the temperature of the object is over 300, then ignite - var/turf/T = get_turf(src) - message_admins("Plasma statue ignited by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(T)]") - log_game("Plasma statue ignited by [key_name(user)] in [AREACOORD(T)]") - ignite(W.get_temperature()) - else - return ..() - -/obj/structure/statue/plasma/proc/PlasmaBurn(exposed_temperature) - if(QDELETED(src)) - return - atmos_spawn_air("plasma=[oreAmount*10];TEMP=[exposed_temperature]") - deconstruct(FALSE) - -/obj/structure/statue/plasma/proc/ignite(exposed_temperature) - if(exposed_temperature > 300) - PlasmaBurn(exposed_temperature) - -//////////////////////gold/////////////////////////////////////// - -/obj/structure/statue/gold - max_integrity = 300 - material_drop_type = /obj/item/stack/sheet/mineral/gold - impressiveness = 25 - desc = "This is a highly valuable statue made from gold." - -/obj/structure/statue/gold/hos - name = "statue of the head of security" - icon_state = "hos" - -/obj/structure/statue/gold/head_of_personnel - name = "statue of the head of personnel" - icon_state = "hop" - -/obj/structure/statue/gold/cmo - name = "statue of the chief medical officer" - icon_state = "cmo" - -/obj/structure/statue/gold/ce - name = "statue of the chief engineer" - icon_state = "ce" - -/obj/structure/statue/gold/rd - name = "statue of the research director" - icon_state = "rd" - -//////////////////////////silver/////////////////////////////////////// - -/obj/structure/statue/silver - max_integrity = 300 - material_drop_type = /obj/item/stack/sheet/mineral/silver - impressiveness = 25 - desc = "This is a valuable statue made from silver." - -/obj/structure/statue/silver/md - name = "statue of a medical officer" - icon_state = "md" - -/obj/structure/statue/silver/janitor - name = "statue of a janitor" - icon_state = "jani" - -/obj/structure/statue/silver/sec - name = "statue of a security officer" - icon_state = "sec" - -/obj/structure/statue/silver/secborg - name = "statue of a security cyborg" - icon_state = "secborg" - -/obj/structure/statue/silver/medborg - name = "statue of a medical cyborg" - icon_state = "medborg" - -/////////////////////////diamond///////////////////////////////////////// - -/obj/structure/statue/diamond - max_integrity = 1000 - material_drop_type = /obj/item/stack/sheet/mineral/diamond - impressiveness = 50 - desc = "This is a very expensive diamond statue." - -/obj/structure/statue/diamond/captain - name = "statue of THE captain." - icon_state = "cap" - -/obj/structure/statue/diamond/ai1 - name = "statue of the AI hologram." - icon_state = "ai1" - -/obj/structure/statue/diamond/ai2 - name = "statue of the AI core." - icon_state = "ai2" - -////////////////////////bananium/////////////////////////////////////// - -/obj/structure/statue/bananium - max_integrity = 300 - material_drop_type = /obj/item/stack/sheet/mineral/hidden/hellstone - impressiveness = 50 - desc = "A bananium statue with a small engraving:'HOOOOOOONK'." - var/spam_flag = 0 - -/obj/structure/statue/bananium/clown - name = "statue of a clown" - icon_state = "clown" - -/obj/structure/statue/bananium/Bumped(atom/movable/AM) - honk() - ..() - -/obj/structure/statue/bananium/attackby(obj/item/W, mob/user, params) - honk() - return ..() - -/obj/structure/statue/bananium/attack_hand(mob/user) - honk() - . = ..() - -/obj/structure/statue/bananium/attack_paw(mob/user) - honk() - ..() - -/obj/structure/statue/bananium/proc/honk() - if(!spam_flag) - spam_flag = TRUE - playsound(src.loc, 'sound/items/bikehorn.ogg', 50, TRUE) - addtimer(VARSET_CALLBACK(src, spam_flag, FALSE), 2 SECONDS) - /////////////////////sandstone///////////////////////////////////////// /obj/structure/statue/sandstone @@ -262,12 +95,6 @@ material_drop_type = /obj/item/stack/sheet/mineral/sandstone impressiveness = 15 -/obj/structure/statue/sandstone/assistant - name = "statue of an assistant" - desc = "A cheap statue of sandstone for a greyshirt." - icon_state = "assist" - - /obj/structure/statue/sandstone/venus //call me when we add marble i guess name = "statue of a pure maiden" desc = "An ancient marble statue. The subject is depicted with a floor-length braid and is wielding a toolbox. By Jove, it's easily the most gorgeous depiction of a woman you've ever seen. The artist must truly be a master of his craft. Shame about the broken arm, though." @@ -290,16 +117,6 @@ desc = "Looks like that weird kid with the tiger plushie has been round here again." icon_state = "snowlegion" -///////////////////////////////bronze/////////////////////////////////// - -/obj/structure/statue/bronze - material_drop_type = /obj/item/stack/tile/bronze - -/obj/structure/statue/bronze/marx - name = "\improper Karl Marx bust" - desc = "A bust depicting a certain 19th century economist. You get the feeling a specter is haunting the sector." - icon_state = "marx" - /// bone /obj/structure/statue/bone anchored = TRUE diff --git a/icons/obj/statue.dmi b/icons/obj/statue.dmi index cfb783ef1b10571b9484072699a5787d092d2950..7e9be0eed1890a4c78400a1b7a424b4f7038edcc 100644 GIT binary patch literal 12202 zcmW++19T)^6OA^`W;eEN+qSjw#bEc}DGB&~mc9ULeS}tOy&c;rb4lb7Vc3@y0 znaMM?@O@0*ptrd_BSba7>*&=>MY>FD#?|v@^dFK)TU}q^XQGkw5P;r3kvT(cJFUMe zUEul@d|N@lTBg&~mR~1FfL<)pNNH(4@f-*W@9Fs)^Y!4^Ava9}KNJ?4LpuwSC&Dn- zqr}{6aM1j`L-#n_vAWQ-=ros_dK#Q*Ad{2ivtXXVdgc>(y9VXiJ(q)LSl zs_bLBD~|CPhIW^}4=$5qMk5t{Vxhf#hNw?z?keXCI22PxhRbLuI~W)dn6#L%nn&hE zmbZh>lFyMKCNcz(Fa#M?KoZrdv~mNvS{7tJ&AZ)i@=I_~tkjYu62&2ZNCV87T!wWZeXlw|2{yIyvY~U^$e{E$lHlT-77}91&uz! zV{u-e{O@+qlz|8o-M_u3+Tj$?zy7i9WW9){!xT|by4338vosjKIY3X&krD8Zw&tZ# z35i2X;;g=qT3wo1Rj40SVty{F{Oo`&#rT-2HlXy;3<%oY;aplIzp$^as=xwg`ALGZ z)3fy%8!^iJ@9{G*T&mFM25SEP^P{J+@Ji%N@QPxYFkGo%=~ii&5R7W;1D-z)my-ha zG}`i&G~Q5r9}-a^BzLRIqSvc4n}6#mXa4No)HdP^I7hYo2#OS2Z=O?_T)+R8WTV3H zEDr*h>=~V0P=K6d!52M7MkI^4=-E(AuYZyxP)5qoZvqgtR3B17$c%SM8{araBu?BR zMJ-Jt#RA^!3`>ndJn9GIGJlFgKf+(uKS|@`iYG{7HDLeSIGlVUef%2cRD5rWxtWzFS+ex-S z8RRb>Ltzvn&;CX9v$I#q{7mK)X((V6=F74_;J2;Lra&ROa?oXVZ8yzNNO;~q`ZdEA zY|1rDv=3V%tNtalcPKa}1uiclQvoafMb&=POL;Bxo3X2h70T>z2Ua0LpzH00iD?s1 zf=6W=$wcnUm)~JxrAue%xRnWZ-)2xTO{pGbCOVSpMp9MZMVSksM z@ng!!2iV*U_A@qve(^X<+5KqaDEKQA&y;}+i!!zM(ug4Uj7Ux|%6;ayNufm#>dLNu z>P}+7ZhU)A&kAQ5Q5>A!CO>dr`jL9Wi%L8ej0V$kqodcPBK-bVaP2Ycx6*X$`N6&B zuV=0YW#sJM2w7_}3rUSmLGm3ia}rFZj94u{n@4zceRagLBybXJ=sz(s5ykFy68;&p z$Y0sM%}%knOKwRAX(jn*l?e7+tw%YQyjyjDrGi=H0^6{c+m@b!Kyd)58SC6 z;^G*?IJvOLme1jFrCKCHpc#|Z5sFbd^lM7WJWa(xj)959>FJuq{DDp#E@k(~-(m(~ zhmGK8{#%X@#PhtLLX3r`JtM%S11I4?nj|b?eebvt|lKtxR3p&5LO=bRSNBXZ*tqZrdJ#beNPcqSjv5_u{Upn%ulH%@ zgRZV^J3CyuV3bX4+I63U3NEjW->N^qvKS&=F>XbR0b#EtNmF)u?{!cR(nu4*Sy@oB zrN{ETl6&a_%d4KyV46r-U3Gb(k-w)p`I3|BPx2(>!gLtOHCae6efKymT<{(Eh;-w5%8b4W@oQa+w}O3LH>ZO@Q|eIYxM suQ( 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�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 CqNIWV From f54df6f6201ea2bbb95df499f0e56c79c047aec3 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 15 Oct 2024 09:05:32 -0500 Subject: [PATCH 06/16] Automatic changelog generation for PR #3539 [ci skip] --- html/changelogs/AutoChangeLog-pr-3539.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3539.yml diff --git a/html/changelogs/AutoChangeLog-pr-3539.yml b/html/changelogs/AutoChangeLog-pr-3539.yml new file mode 100644 index 000000000000..4f995cda3c61 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3539.yml @@ -0,0 +1,6 @@ +author: Sadhorizon +changes: + - {rscdel: Removed Karl Marx from the game.} + - {rscdel: Removed all the job statues.} + - {rscdel: 'Cardborg suit, human, gondola and monkey skinsuits are no longer craftable.'} +delete-after: true From 9e867fe6f3748357d20a67e6e83234135b903333 Mon Sep 17 00:00:00 2001 From: CoreyLee Hassell Date: Tue, 15 Oct 2024 07:10:07 -0400 Subject: [PATCH 07/16] Added blood as a switchable mode to smartfridge boards (#3546) Added blood as a switchable mode to smartfridge boards. It had everything except that. ## Changelog :cl: fix: blood smart-fridge selectable on smartfridge boards now when screwdrivering them. /:cl: --- code/game/objects/items/circuitboards/machine_circuitboards.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index af7addd21a95..13d6268c1520 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -571,6 +571,7 @@ /obj/machinery/smartfridge/food = "food", /obj/machinery/smartfridge/drinks = "drinks", /obj/machinery/smartfridge/extract = "slimes", + /obj/machinery/smartfridge/bloodbank = "blood", /obj/machinery/smartfridge/organ = "organs", /obj/machinery/smartfridge/chemistry = "chems", /obj/machinery/smartfridge/chemistry/virology = "viruses", From 2f09f1eb6869a961ad7f3384f81be886443576b6 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 15 Oct 2024 09:20:10 -0500 Subject: [PATCH 08/16] Automatic changelog generation for PR #3546 [ci skip] --- html/changelogs/AutoChangeLog-pr-3546.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3546.yml diff --git a/html/changelogs/AutoChangeLog-pr-3546.yml b/html/changelogs/AutoChangeLog-pr-3546.yml new file mode 100644 index 000000000000..e04b2efd4af6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3546.yml @@ -0,0 +1,5 @@ +author: Anticept +changes: + - {bugfix: blood smart-fridge selectable on smartfridge boards now when screwdrivering + them.} +delete-after: true From 04aed6b5b8d2b0f2111250323d1bd56c1af22e05 Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Tue, 15 Oct 2024 04:10:29 -0700 Subject: [PATCH 09/16] Map Fixes for Wrecked Factory Ruin (#3543) ## About The Pull Request Some of the walls that were meant to be indestructible werent, and an enemy in the dorms didnt spawn. ## Why It's Good For The Game Fixes are good. ## Changelog :cl: fix: Fixes walls and an enemy spawn in the Wrecked Factory /:cl: --- .../LavaRuins/lavaland_surface_wrecked_factory.dmm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm index fda16098a148..768c6275cf56 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm @@ -2155,6 +2155,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space/stormtrooper, /turf/open/floor/plasteel/dark, /area/ruin/lavaland/factory/dorms) "tN" = ( @@ -6370,7 +6371,7 @@ LP vE DB Cc -KX +yQ Gn hv JO @@ -6424,7 +6425,7 @@ vE EU Vw Id -KX +yQ PR KX PR @@ -6478,7 +6479,7 @@ ab vQ LL Kg -KX +yQ Gw KX Gw @@ -6532,7 +6533,7 @@ yQ yQ yQ yQ -KX +yQ KX KX KX From 37a7e486c0b423bfcdb6ecb0e9b98b6ab9d580bd Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 15 Oct 2024 09:34:06 -0500 Subject: [PATCH 10/16] Automatic changelog generation for PR #3543 [ci skip] --- html/changelogs/AutoChangeLog-pr-3543.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3543.yml diff --git a/html/changelogs/AutoChangeLog-pr-3543.yml b/html/changelogs/AutoChangeLog-pr-3543.yml new file mode 100644 index 000000000000..2a4d5afad200 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3543.yml @@ -0,0 +1,4 @@ +author: Gristlebee +changes: + - {bugfix: Fixes walls and an enemy spawn in the Wrecked Factory} +delete-after: true From fc782a573e82dea890209f8f746eee96de5d79ab Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Tue, 15 Oct 2024 07:12:09 -0400 Subject: [PATCH 11/16] Reinforces the windows on the Mudskipper (#3446) ## About The Pull Request Compared to all the other ships of it's manufacturing company (the Kilo, the Shetland...) the mudskipper oddly lacks reinforced windows. This brings it up to par with the rest of the dubiously well constructed ships adjacent to it. Shetland: ![image](https://github.com/user-attachments/assets/935c2ff1-d90a-41c6-9afe-1a7278490dc1) Kilo: ![image](https://github.com/user-attachments/assets/7dc153af-c149-4494-a538-059f5438b5d5) ## Why It's Good For The Game https://github.com/user-attachments/assets/481c70a8-f2d1-460d-b2b6-947b3c18e1ea You can also do this with a single screwdriver. ## Changelog :cl: fix: Mudskipper windows are correctly reinforced, like other ships by the same manufacturer. /:cl: --- .../independent/independent_mudskipper.dmm | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/_maps/shuttles/independent/independent_mudskipper.dmm b/_maps/shuttles/independent/independent_mudskipper.dmm index 26474b9c4c2f..11d98b3c1475 100644 --- a/_maps/shuttles/independent/independent_mudskipper.dmm +++ b/_maps/shuttles/independent/independent_mudskipper.dmm @@ -1016,6 +1016,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) +"xR" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters{ + id = "mudskipper_window" + }, +/turf/open/floor/plating, +/area/ship/hallway/aft) "xU" = ( /obj/machinery/power/terminal{ dir = 1 @@ -1051,7 +1059,7 @@ /obj/machinery/door/poddoor/shutters{ id = "mudskipper_window" }, -/obj/structure/window/fulltile, +/obj/structure/window/reinforced/fulltile, /turf/open/floor/plating, /area/ship/cargo) "yB" = ( @@ -1431,7 +1439,7 @@ dir = 4; id = "mudskipper_bridge" }, -/obj/effect/spawner/structure/window, +/obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/ship/bridge) "Gq" = ( @@ -1811,7 +1819,7 @@ /obj/machinery/door/poddoor/shutters{ id = "mudskipper_window" }, -/obj/structure/window/fulltile, +/obj/structure/window/reinforced/fulltile, /turf/open/floor/plating, /area/ship/hallway/aft) "PU" = ( @@ -1823,10 +1831,10 @@ "Qt" = ( /obj/structure/grille, /obj/machinery/atmospherics/pipe/layer_manifold, +/obj/structure/window/reinforced/fulltile, /obj/machinery/door/poddoor/shutters{ id = "mudskipper_window" }, -/obj/structure/window/fulltile, /turf/open/floor/plating, /area/ship/engineering/engine) "Qu" = ( @@ -2224,7 +2232,7 @@ /obj/machinery/door/poddoor/shutters{ id = "mudskipper_window" }, -/obj/structure/window/fulltile, +/obj/structure/window/reinforced/fulltile, /turf/open/floor/plating, /area/ship/hallway/aft) "XI" = ( @@ -2278,7 +2286,7 @@ /obj/machinery/door/poddoor/shutters{ id = "mudskipper_window" }, -/obj/structure/window/fulltile, +/obj/structure/window/reinforced/fulltile, /turf/open/floor/plating, /area/ship/crew) "Yi" = ( @@ -2566,7 +2574,7 @@ cs hX cs cs -Xm +xR yg XK Ni From 0c45ed481fdeb574a46d52d34e3b6b7bfaf69c6d Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 15 Oct 2024 09:57:23 -0500 Subject: [PATCH 12/16] Automatic changelog generation for PR #3446 [ci skip] --- html/changelogs/AutoChangeLog-pr-3446.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3446.yml diff --git a/html/changelogs/AutoChangeLog-pr-3446.yml b/html/changelogs/AutoChangeLog-pr-3446.yml new file mode 100644 index 000000000000..65e0eb3677b5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3446.yml @@ -0,0 +1,5 @@ +author: firebudgy +changes: + - {bugfix: 'Mudskipper windows are correctly reinforced, like other ships by the + same manufacturer.'} +delete-after: true From 2a9642940a5a8d50e0d40780db02235dce341779 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Tue, 15 Oct 2024 06:12:31 -0500 Subject: [PATCH 13/16] ghosts can no longer duplicate themselves in the mob subsystem list tracking them (#3361) ## About The Pull Request we have areas with a virtual z level of 0 which means if you traveled into it, you wouldnt get cleaned up from your old z level! you could then walk back into it and be added to that z level a second time idle mobs cant be added to 0 either! ## Why It's Good For The Game This is bad! ## Changelog :cl: fix: ghosts cannot duplicate themselves across multiple z levels. /:cl: --- code/controllers/subsystem/mobs.dm | 1 + code/game/atoms_movable.dm | 2 +- code/game/machinery/navbeacon.dm | 11 ++++++-- code/modules/mob/dead/dead.dm | 11 ++++---- code/modules/mob/living/login.dm | 5 ++-- .../mob/living/simple_animal/simple_animal.dm | 26 +++++++++---------- .../chemistry/reagents/trickwine_reagents.dm | 2 +- 7 files changed, 33 insertions(+), 25 deletions(-) diff --git a/code/controllers/subsystem/mobs.dm b/code/controllers/subsystem/mobs.dm index b5d8210c802f..d2e0505b3583 100644 --- a/code/controllers/subsystem/mobs.dm +++ b/code/controllers/subsystem/mobs.dm @@ -40,5 +40,6 @@ SUBSYSTEM_DEF(mobs) L.Life(seconds, times_fired) else GLOB.mob_living_list.Remove(L) + stack_trace("[L] no longer exists in mob_living_list") if (MC_TICK_CHECK) return diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 79326ab9e2ad..7a1f7a36283a 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -540,7 +540,7 @@ var/previous_virtual_z = OldLoc?.virtual_z() || 0 var/current_virtual_z = virtual_z() - if(current_virtual_z && current_virtual_z != previous_virtual_z) + if(current_virtual_z != previous_virtual_z) on_virtual_z_change(current_virtual_z, previous_virtual_z) SEND_SIGNAL(src, COMSIG_MOVABLE_MOVED, OldLoc, Dir, Forced, old_locs) diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm index b54c192f4407..abee7fe954f7 100644 --- a/code/game/machinery/navbeacon.dm +++ b/code/game/machinery/navbeacon.dm @@ -46,11 +46,15 @@ return ..() /obj/machinery/navbeacon/on_virtual_z_change(new_virtual_z, previous_virtual_z) + ..() + if(!codes) + return + if(!codes["patrol"]) + return if(previous_virtual_z) LAZYREMOVEASSOC(GLOB.navbeacons, "[previous_virtual_z]", src) if(new_virtual_z) LAZYADDASSOCLIST(GLOB.navbeacons, "[new_virtual_z]", src) - ..() // set the transponder codes assoc list from codes_txt /obj/machinery/navbeacon/proc/set_codes() @@ -71,7 +75,10 @@ codes[e] = "1" /obj/machinery/navbeacon/proc/glob_lists_deregister() - LAZYREMOVE(GLOB.navbeacons["[virtual_z()]"], src) + if(!codes) + return + if(codes["patrol"]) + LAZYREMOVE(GLOB.navbeacons["[virtual_z()]"], src) GLOB.deliverybeacons -= src GLOB.deliverybeacontags -= location GLOB.wayfindingbeacons -= src diff --git a/code/modules/mob/dead/dead.dm b/code/modules/mob/dead/dead.dm index 85c60a15b031..490efbbabef8 100644 --- a/code/modules/mob/dead/dead.dm +++ b/code/modules/mob/dead/dead.dm @@ -96,18 +96,17 @@ INITIALIZE_IMMEDIATE(/mob/dead) return /mob/dead/Destroy() - for(var/level in SSmobs.dead_players_by_virtual_z) - LAZYREMOVEASSOC(SSmobs.dead_players_by_virtual_z, level, src) - // Forgive me for this one. This loop can be replaced by the line below by the one brave enough to fix - // observers not cleanly removing themselves from the dead_players_by_virtual_z /list when they should - //LAZYREMOVEASSOC(SSmobs.dead_players_by_virtual_z, "[virtual_z()]", src) + //Observers should no longer be duplicating themselves across virtual z so it SHOULD be fine to only check its virtual z. + LAZYREMOVEASSOC(SSmobs.dead_players_by_virtual_z, "[virtual_z()]", src) return ..() /mob/dead/Login() . = ..() if(!client) return - LAZYADDASSOCLIST(SSmobs.dead_players_by_virtual_z, "[virtual_z()]", src) + var/virt_z = virtual_z() + if(virt_z) + LAZYADDASSOCLIST(SSmobs.dead_players_by_virtual_z, "[virt_z]", src) /mob/dead/Logout() . = ..() diff --git a/code/modules/mob/living/login.dm b/code/modules/mob/living/login.dm index 62098a940937..18ddbe375da9 100644 --- a/code/modules/mob/living/login.dm +++ b/code/modules/mob/living/login.dm @@ -18,8 +18,9 @@ var/virtual_z = virtual_z() - LAZYADDASSOCLIST(SSmobs.players_by_virtual_z, "[virtual_z]", src) - SSidlenpcpool.try_wakeup_virtual_z(virtual_z) + if(virtual_z) + LAZYADDASSOCLIST(SSmobs.players_by_virtual_z, "[virtual_z]", src) + SSidlenpcpool.try_wakeup_virtual_z(virtual_z) //Vents if(ventcrawler) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 3670e14a6405..55ea24c81d7d 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -630,30 +630,29 @@ GLOB.simple_animals[togglestatus] += list(src) AIStatus = togglestatus - var/virt_z = "[virtual_z()]" + var/virt_z = virtual_z() if(!virt_z) return switch(togglestatus) if(AI_Z_OFF) - LAZYADDASSOCLIST(SSidlenpcpool.idle_mobs_by_virtual_level, virt_z, src) - + LAZYADDASSOCLIST(SSidlenpcpool.idle_mobs_by_virtual_level, "[virt_z]", src) else - LAZYREMOVEASSOC(SSidlenpcpool.idle_mobs_by_virtual_level, virt_z, src) + LAZYREMOVEASSOC(SSidlenpcpool.idle_mobs_by_virtual_level, "[virt_z]", src) /mob/living/simple_animal/proc/check_should_sleep() if (pulledby || shouldwakeup) toggle_ai(AI_ON) return - var/virt_z = "[virtual_z()]" - if(!virt_z) - return - var/players_on_virtual_z = LAZYACCESS(SSmobs.players_by_virtual_z, virt_z) - if(!length(players_on_virtual_z)) - toggle_ai(AI_Z_OFF) - else if(AIStatus == AI_Z_OFF) - toggle_ai(AI_ON) + var/virt_z = virtual_z() + var/players_on_virtual_z = 0 + if(virt_z) + players_on_virtual_z = LAZYACCESS(SSmobs.players_by_virtual_z, "[virt_z]") + if(!length(players_on_virtual_z)) + toggle_ai(AI_Z_OFF) + else if(AIStatus == AI_Z_OFF) + toggle_ai(AI_ON) /mob/living/simple_animal/adjustHealth(amount, updating_health = TRUE, forced = FALSE) . = ..() @@ -665,6 +664,7 @@ . = ..() if(previous_virtual_z) LAZYREMOVEASSOC(SSidlenpcpool.idle_mobs_by_virtual_level, "[previous_virtual_z]", src) - toggle_ai(initial(AIStatus)) + if(QDELETED(src)) + return if(new_virtual_z) check_should_sleep() diff --git a/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm b/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm index ff82cd185fb2..eea549fb7475 100644 --- a/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm @@ -30,7 +30,7 @@ if(!iscarbon(M)) var/mob/living/simple_animal/hostile/hostile_target = M var/hostile_ai_status = hostile_target.AIStatus - hostile_target.AIStatus = AI_OFF + hostile_target.toggle_ai(AI_OFF) addtimer(VARSET_CALLBACK(hostile_target, AIStatus, hostile_ai_status),reac_volume) M.Jitter(3 * reac_volume) M.Dizzy(2 * reac_volume) From 0e4f315acfc623b6f6741a326435d81076ae01bd Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 15 Oct 2024 10:10:51 -0500 Subject: [PATCH 14/16] Automatic changelog generation for PR #3361 [ci skip] --- html/changelogs/AutoChangeLog-pr-3361.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3361.yml diff --git a/html/changelogs/AutoChangeLog-pr-3361.yml b/html/changelogs/AutoChangeLog-pr-3361.yml new file mode 100644 index 000000000000..94fa273582c6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3361.yml @@ -0,0 +1,4 @@ +author: FalloutFalcon +changes: + - {bugfix: ghosts cannot duplicate themselves across multiple z levels.} +delete-after: true From bba68fb74a6afa4e2def0ba60a8b3152e3d04696 Mon Sep 17 00:00:00 2001 From: zimon9 <122945887+zimon9@users.noreply.github.com> Date: Tue, 15 Oct 2024 07:45:54 -0400 Subject: [PATCH 15/16] Fix to turn mob spawning off when a drill incurs a malfunction (#3551) ## About The Pull Request This fix toggles fauna spawning off after a drill is beset by a malfunction. ## Why It's Good For The Game I've seen several instances of runaway spawning occurring after a drill suffers a malfunction. When this happens, it cannot be toggled off by alt-clicking on it, and it _must_ be unwrenched. This should fix that behavior. ## Changelog :cl: fix: fixed fauna spawning after drill malfunctions /:cl: --- code/modules/mining/drill.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mining/drill.dm b/code/modules/mining/drill.dm index 9a35c2b4bf11..c327efab39a8 100644 --- a/code/modules/mining/drill.dm +++ b/code/modules/mining/drill.dm @@ -344,6 +344,8 @@ //Overly long proc to handle the unique properties for each malfunction type /obj/machinery/drill/proc/malfunction(malfunction_type) + if(active) + mining.toggle_spawning() //turns mob spawning off after a malfunction switch(malfunction_type) if(MALF_LASER) say("Malfunction: Laser array damaged, please replace before continuing mining operations.") From 65718ef831e28c7910afabe9210457234a2aaf0d Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 15 Oct 2024 10:33:43 -0500 Subject: [PATCH 16/16] Automatic changelog generation for PR #3551 [ci skip] --- html/changelogs/AutoChangeLog-pr-3551.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3551.yml diff --git a/html/changelogs/AutoChangeLog-pr-3551.yml b/html/changelogs/AutoChangeLog-pr-3551.yml new file mode 100644 index 000000000000..232c81139fdb --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3551.yml @@ -0,0 +1,4 @@ +author: zimon9 +changes: + - {bugfix: fixed fauna spawning after drill malfunctions} +delete-after: true