diff --git a/_maps/RandomRuins/StationRuins/Box/Engine/engine_teg.dmm b/_maps/RandomRuins/StationRuins/Box/Engine/engine_teg.dmm index 6a134fca70..37bc2a7dde 100644 --- a/_maps/RandomRuins/StationRuins/Box/Engine/engine_teg.dmm +++ b/_maps/RandomRuins/StationRuins/Box/Engine/engine_teg.dmm @@ -1545,21 +1545,6 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"RK" = ( -/obj/machinery/portable_atmospherics/canister/toxins, -/obj/effect/turf_decal/delivery, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/engine/engineering) "RQ" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 1 @@ -2237,7 +2222,7 @@ yf "} (12,1,1) = {" cS -RK +QS uy PK iZ diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 65521d1f24..d993d10831 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -173,6 +173,32 @@ "aay" = ( /turf/open/floor/plating, /area/security/prison) +"aaz" = ( +/obj/machinery/disposal/bin, +/obj/structure/sign/plaques/deempisi{ + pixel_x = -28; + pixel_y = -4 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "barShutters"; + name = "bar shutters"; + pixel_x = 4; + pixel_y = 28 + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/machinery/light_switch{ + name = "Bar Lights"; + pixel_x = -6; + pixel_y = 28 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/bar) "aaA" = ( /obj/machinery/seed_extractor, /turf/open/floor/plasteel, @@ -11918,8 +11944,8 @@ /turf/open/floor/plasteel, /area/storage/primary) "aDr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 }, /turf/open/floor/circuit, /area/ai_monitored/nuke_storage) @@ -11944,8 +11970,8 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 }, /turf/open/floor/circuit, /area/ai_monitored/nuke_storage) @@ -12442,6 +12468,7 @@ /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/circuit, /area/ai_monitored/nuke_storage) "aEP" = ( @@ -12902,6 +12929,7 @@ "aGa" = ( /obj/machinery/light, /obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/dark, /area/ai_monitored/nuke_storage) "aGb" = ( @@ -12932,6 +12960,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/dark, /area/ai_monitored/nuke_storage) "aGd" = ( @@ -13603,6 +13632,7 @@ /area/storage/primary) "aHF" = ( /obj/structure/sign/warning/securearea, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/ai_monitored/nuke_storage) "aHG" = ( @@ -16497,27 +16527,6 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"aPw" = ( -/obj/machinery/disposal/bin, -/obj/structure/sign/plaques/deempisi{ - pixel_x = -28; - pixel_y = -4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/button/door{ - id = "barShutters"; - name = "bar shutters"; - pixel_x = 4; - pixel_y = 28 - }, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/bar) "aPx" = ( /obj/structure/chair/comfy/beige{ dir = 1 @@ -27589,6 +27598,7 @@ /area/hallway/primary/central) "bqF" = ( /obj/machinery/vending/cigarette/beach, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) "bqG" = ( @@ -28249,10 +28259,6 @@ "bsc" = ( /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bsf" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/dark, -/area/hallway/primary/central) "bsg" = ( /obj/structure/table, /obj/item/hand_labeler, @@ -52552,6 +52558,12 @@ /obj/structure/sign/poster/official/cohiba_robusto_ad, /turf/closed/wall, /area/lawoffice) +"cIw" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) "cMC" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -55407,6 +55419,10 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"luR" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) "lva" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -55590,6 +55606,12 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) +"mvZ" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) "myh" = ( /obj/structure/piano, /obj/structure/window/reinforced, @@ -55655,6 +55677,13 @@ dir = 1 }, /area/hallway/primary/starboard) +"mOi" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4; + pixel_y = 0 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) "mOB" = ( /obj/structure/cable{ icon_state = "4-8" @@ -55763,6 +55792,10 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/locker) +"mVY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/circuit, +/area/ai_monitored/nuke_storage) "naI" = ( /turf/open/space, /area/space/station_ruins) @@ -55858,6 +55891,17 @@ }, /turf/open/floor/plating, /area/construction) +"nyZ" = ( +/obj/structure/sign/warning/securearea, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall, +/area/ai_monitored/nuke_storage) +"nFC" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) "nGf" = ( /obj/machinery/hydroponics/constructable, /obj/machinery/light{ @@ -55939,10 +55983,6 @@ }, /turf/open/floor/plasteel, /area/hydroponics) -"nXE" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/dark, -/area/hallway/primary/central) "nYe" = ( /obj/structure/safe, /obj/item/clothing/head/bearpelt, @@ -56925,6 +56965,11 @@ /obj/item/gun/energy/laser/practice, /turf/open/floor/plasteel/white, /area/science/circuit) +"saN" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, +/turf/open/floor/plasteel/dark, +/area/maintenance/fore) "saU" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall/r_wall, @@ -80067,7 +80112,7 @@ aqQ aqQ awa axq -ayD +saN azI rjQ aBU @@ -87299,7 +87344,7 @@ aBa bqD bsa vCn -bsa +mOi bsa nbT byS @@ -87550,14 +87595,14 @@ xUL aBb gpD aDr -aEM +mVY aGa aHF bqF -bsa -nXE buQ buQ +nFC +buQ bxI bwa bAg @@ -88066,11 +88111,11 @@ xEB aDt aEO aGc -aHF +nyZ aKG -bsf dml dml +mvZ dml bxK bwh @@ -88327,7 +88372,7 @@ aBa bqG bsa eih -bsa +cIw bsa nbT bwb @@ -95500,7 +95545,7 @@ aLU aKQ aNu aJC -aPw +aaz egt aQc aSZ @@ -104481,7 +104526,7 @@ hHQ feE hHQ kGJ -avI +luR asA apE dPk diff --git a/_maps/shuttles/emergency_kilo.dmm b/_maps/shuttles/emergency_kilo.dmm index 5187c34a3b..3c2da5ae85 100644 --- a/_maps/shuttles/emergency_kilo.dmm +++ b/_maps/shuttles/emergency_kilo.dmm @@ -13,22 +13,22 @@ /obj/structure/table/reinforced, /obj/item/storage/toolbox/mechanical, /obj/item/radio, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plasteel/dark, /area/shuttle/escape) "ae" = ( -/obj/effect/turf_decal/bot, /obj/machinery/computer/communications, -/turf/open/floor/mineral/plastitanium, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, /area/shuttle/escape) "af" = ( -/obj/effect/turf_decal/bot, /obj/machinery/computer/emergency_shuttle, -/turf/open/floor/mineral/plastitanium, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, /area/shuttle/escape) "ag" = ( -/obj/effect/turf_decal/bot, /obj/machinery/computer/crew, -/turf/open/floor/mineral/plastitanium, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, /area/shuttle/escape) "ah" = ( /obj/structure/table/reinforced, @@ -38,7 +38,7 @@ }, /obj/item/storage/firstaid/regular, /obj/item/crowbar, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plasteel/dark, /area/shuttle/escape) "ai" = ( /obj/structure/sign/nanotrasen, @@ -47,43 +47,39 @@ "aj" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plasteel/dark, /area/shuttle/escape) "ak" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/effect/turf_decal/box/corners, -/obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"al" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/chair/comfy/shuttle, -/obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ - dir = 1 + dir = 4 }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"am" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/effect/turf_decal/box/corners{ - icon_state = "box_corners"; +/obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"al" = ( +/obj/structure/chair/comfy/shuttle, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"am" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "an" = ( /obj/structure/table/reinforced, @@ -92,10 +88,9 @@ /obj/item/tank/internals/emergency_oxygen/engi, /obj/item/tank/internals/emergency_oxygen/engi, /obj/item/assembly/flash/handheld, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plasteel/dark, /area/shuttle/escape) "ao" = ( -/obj/effect/turf_decal/delivery, /obj/effect/turf_decal/stripes/line{ dir = 1 }, @@ -103,41 +98,21 @@ name = "External Shuttle Airlock" }, /obj/effect/mapping_helpers/airlock/cyclelink_helper, -/turf/open/floor/mineral/plastitanium, +/obj/structure/fans/tiny, +/turf/open/floor/plasteel/dark, /area/shuttle/escape) "ap" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, /obj/structure/table, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, /obj/item/crowbar/red, /obj/item/storage/lockbox/loyalty, /turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, /obj/structure/chair/comfy/shuttle, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, /turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "ar" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, /obj/structure/table, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, /obj/machinery/recharger, /turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) @@ -145,56 +120,48 @@ /turf/closed/wall/mineral/titanium/nodiagonal, /area/shuttle/escape) "at" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, /obj/machinery/light{ dir = 8 }, /obj/machinery/keycard_auth{ pixel_x = -24 }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"au" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"au" = ( +/obj/structure/table/reinforced, /obj/item/folder/red{ pixel_x = 4; pixel_y = 4 }, /obj/item/folder/blue, /obj/item/gun/energy/e_gun/mini, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "av" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, /obj/structure/chair/comfy/shuttle{ dir = 8 }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, /obj/machinery/light{ dir = 4 }, /obj/machinery/keycard_auth{ pixel_x = 24 }, -/turf/open/floor/mineral/plastitanium, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aw" = ( /obj/machinery/light/small{ @@ -202,203 +169,148 @@ }, /obj/structure/closet/emcloset/anchored, /obj/effect/turf_decal/bot, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plasteel/dark, /area/shuttle/escape) "ax" = ( /obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ dir = 1 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/escape) -"ay" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 1 +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 }, /obj/effect/turf_decal/stripes/end{ dir = 4 }, -/obj/structure/sign/warning/vacuum/external{ - pixel_y = 32 - }, /turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) +"ay" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/shuttle/escape) "az" = ( -/obj/effect/turf_decal/stripes/line{ +/turf/open/floor/mineral/plastitanium/red/brig, +/area/shuttle/escape) +"aA" = ( +/obj/structure/chair/comfy/shuttle{ dir = 8 }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/shuttle/escape) +"aB" = ( /obj/structure/chair/comfy/shuttle{ dir = 4 }, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/shuttle/escape) -"aA" = ( /obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/shuttle/escape) -"aC" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/structure/chair/comfy/shuttle{ dir = 8 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red/brig, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"aC" = ( +/obj/structure/table/reinforced, +/obj/item/storage/fancy/donut_box, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aD" = ( /obj/machinery/status_display, /turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aE" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, /obj/structure/chair/comfy/shuttle{ - dir = 4 + dir = 8 }, /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ - dir = 1 + dir = 4 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aF" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/item/storage/fancy/donut_box, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"aG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/chair/comfy/shuttle{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"aH" = ( -/obj/effect/turf_decal/delivery, /obj/machinery/door/airlock/shuttle{ name = "External Shuttle Airlock" }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 }, -/turf/open/floor/mineral/plastitanium, +/obj/structure/fans/tiny, +/turf/open/floor/plasteel/dark, /area/shuttle/escape) -"aI" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/shuttle/escape) -"aJ" = ( -/obj/effect/turf_decal/delivery, +"aG" = ( /obj/machinery/door/airlock/security/glass{ name = "Holding Area"; req_one_access_txt = "19" }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plasteel/dark, /area/shuttle/escape) -"aK" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, +"aH" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/turf/open/floor/mineral/plastitanium, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) -"aL" = ( +"aI" = ( /obj/structure/chair/comfy/shuttle{ dir = 1 }, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"aJ" = ( /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ - dir = 1 + dir = 4 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) -"aM" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"aN" = ( -/obj/effect/turf_decal/stripes/line, +"aK" = ( /obj/machinery/door/airlock/command{ name = "Shuttle Control"; req_one_access_txt = "19" }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plasteel/dark, /area/shuttle/escape) -"aO" = ( +"aL" = ( /obj/effect/turf_decal/delivery, -/turf/open/floor/mineral/plastitanium, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, /area/shuttle/escape) -"aP" = ( +"aM" = ( /obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ dir = 1 }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/escape) -"aQ" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, /obj/effect/turf_decal/stripes/corner{ - dir = 4 + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, /turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) -"aR" = ( +"aN" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"aO" = ( /obj/item/clothing/suit/hazardvest{ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; name = "emergency lifejacket" @@ -430,171 +342,84 @@ pixel_y = 9 }, /obj/structure/closet/crate/internals, -/obj/effect/turf_decal/delivery, -/turf/open/floor/mineral/plastitanium, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"aP" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/shuttle/escape) +"aQ" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/shuttle/escape) +"aR" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, /obj/effect/turf_decal/tile/neutral, -/obj/machinery/light{ +/obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/turf/open/floor/mineral/plastitanium/red/brig, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aT" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/chair/comfy/shuttle{ +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ dir = 8 }, /obj/effect/turf_decal/tile/neutral{ - dir = 1 + dir = 4 }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/mineral/plastitanium/red/brig, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aU" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "applebush" - }, -/turf/open/floor/mineral/plastitanium, +/obj/machinery/suit_storage_unit/standard_unit, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, /area/shuttle/escape) "aV" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"aW" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-22" - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"aX" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/suit_storage_unit/standard_unit, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"aY" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/loading_area{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/escape) -"aZ" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/escape) -"ba" = ( -/obj/effect/turf_decal/bot, /obj/structure/chair/comfy/shuttle{ dir = 8 }, /obj/machinery/light{ dir = 4 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plasteel/dark, /area/shuttle/escape) -"bb" = ( +"aW" = ( /obj/machinery/door/airlock/shuttle{ name = "Emergency Shuttle Airlock"; req_one_access_txt = "63" }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium, +/obj/structure/fans/tiny, +/turf/open/floor/plasteel/dark, /area/shuttle/escape) -"bc" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/shuttle/escape) -"bd" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/shuttle/escape) -"be" = ( -/obj/effect/turf_decal/stripes/line, +"aX" = ( /obj/structure/chair/comfy/shuttle{ dir = 1 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, /turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) -"bf" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, +"aY" = ( /obj/structure/table, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, /obj/item/storage/box/zipties{ pixel_y = 4 }, @@ -602,67 +427,42 @@ /obj/item/restraints/handcuffs, /turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) -"bg" = ( -/obj/machinery/status_display/evac, -/turf/closed/wall/mineral/titanium, -/area/shuttle/escape) -"bh" = ( -/obj/structure/sign/warning/securearea, -/turf/closed/wall/mineral/titanium, -/area/shuttle/escape) -"bi" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/suit_storage_unit/standard_unit, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"bj" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/loading_area{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/escape) -"bk" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/escape) -"bl" = ( -/obj/effect/turf_decal/bot, +"aZ" = ( /obj/structure/chair/comfy/shuttle{ dir = 8 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plasteel/dark, /area/shuttle/escape) -"bm" = ( -/obj/effect/turf_decal/delivery, +"ba" = ( /obj/machinery/door/airlock/security/glass{ name = "Holding Area"; req_access_txt = "2" }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plasteel/dark, /area/shuttle/escape) -"bn" = ( -/obj/effect/turf_decal/bot, +"bb" = ( /obj/structure/closet/emcloset, -/turf/open/floor/mineral/plastitanium, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) -"bo" = ( +"bc" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"bd" = ( /obj/structure/table, /obj/item/tank/internals/emergency_oxygen{ pixel_x = -4 @@ -675,246 +475,419 @@ pixel_y = 4 }, /obj/item/clothing/mask/breath, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"bp" = ( -/obj/machinery/door/airlock/shuttle{ - name = "Emergency Shuttle Airlock" +/obj/effect/turf_decal/tile/neutral{ + dir = 1 }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"bq" = ( -/obj/machinery/door/airlock/shuttle{ - name = "Emergency Shuttle Airlock" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"be" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Emergency Shuttle Airlock" + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bf" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Emergency Shuttle Airlock" + }, /obj/docking_port/mobile/emergency{ name = "Kilo emergency shuttle" }, -/turf/open/floor/mineral/plastitanium, +/obj/structure/fans/tiny, +/turf/open/floor/plasteel/dark, /area/shuttle/escape) -"br" = ( -/obj/effect/turf_decal/tile/blue{ +"bg" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall/mineral/titanium, +/area/shuttle/escape) +"bh" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall/mineral/titanium, +/area/shuttle/escape) +"bi" = ( +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"bj" = ( +/obj/structure/chair/comfy/shuttle, +/obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/corner{ +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/turf/open/floor/mineral/titanium/white, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) -"bs" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"bt" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"bu" = ( -/obj/effect/turf_decal/bot, -/obj/structure/chair/comfy/shuttle, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"bv" = ( +"bk" = ( /obj/structure/sign/departments/security{ pixel_y = 32 }, /obj/machinery/light{ dir = 1 }, -/obj/effect/turf_decal/bot, /obj/structure/chair/comfy/shuttle, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"bw" = ( -/obj/effect/turf_decal/tile/blue{ +/obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line{ - dir = 9 +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, -/turf/open/floor/mineral/titanium/white, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) -"bx" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"by" = ( +"bl" = ( /obj/structure/sign/departments/engineering{ pixel_y = 32 }, /obj/machinery/light{ dir = 1 }, -/obj/effect/turf_decal/bot, /obj/structure/chair/comfy/shuttle, -/turf/open/floor/mineral/plastitanium, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) -"bz" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"bA" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"bB" = ( -/obj/effect/turf_decal/bot, +"bm" = ( /obj/structure/chair/comfy/shuttle{ dir = 4 }, /obj/machinery/status_display/evac{ pixel_x = -32 }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"bC" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line{ +/obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/mineral/titanium/white, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) -"bD" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"bF" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"bH" = ( -/obj/effect/turf_decal/bot, +"bn" = ( /obj/structure/chair/comfy/shuttle{ dir = 8 }, /obj/machinery/status_display/evac{ pixel_x = 32 }, -/turf/open/floor/mineral/plastitanium, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"bo" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"bp" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"bq" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"br" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Emergency Shuttle Airlock" + }, +/obj/structure/fans/tiny, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bs" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/machinery/light, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"bt" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"bu" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"bv" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Emergency Shuttle Airlock" + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bw" = ( +/obj/structure/table, +/obj/item/storage/firstaid/o2, +/obj/item/tank/internals/emergency_oxygen, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"bx" = ( +/obj/structure/table, +/obj/item/storage/toolbox/emergency, +/obj/item/crowbar/red, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"by" = ( +/obj/structure/closet/crate{ + name = "emergency supplies crate" + }, +/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, +/obj/item/flashlight/flare{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/flashlight/flare{ + pixel_x = -6; + pixel_y = -2 + }, +/obj/item/crowbar, +/obj/item/wrench, +/obj/item/radio, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bz" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Shuttle Infirmary" + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bA" = ( +/obj/structure/rack, +/obj/item/radio{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/radio{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/radio{ + pixel_y = 4 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bB" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"bC" = ( +/obj/structure/closet/crate/medical{ + name = "medical crate" + }, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/o2{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/firstaid/toxin{ + pixel_x = -4; + pixel_y = 3 + }, +/obj/item/healthanalyzer{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/lazarus_injector, +/obj/effect/turf_decal/bot, +/mob/living/simple_animal/bot/medbot{ + name = "\improper emergency medibot"; + pixel_x = -3; + pixel_y = 2 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bD" = ( +/obj/machinery/sleeper{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"bE" = ( +/obj/machinery/sleeper{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"bF" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/recharge_station, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bG" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"bH" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, /area/shuttle/escape) "bI" = ( -/obj/effect/turf_decal/bot, -/obj/structure/chair/comfy/shuttle{ - dir = 4 +/obj/structure/rack, +/obj/item/storage/toolbox/electrical{ + pixel_x = -3; + pixel_y = 1 }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"bJ" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 +/obj/item/storage/toolbox/mechanical{ + pixel_y = -1 }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"bK" = ( -/obj/effect/turf_decal/bot, -/obj/structure/chair/comfy/shuttle{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"bL" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"bM" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/item/storage/toolbox/emergency{ + pixel_x = 3; + pixel_y = -5 }, /obj/machinery/light{ dir = 4 }, -/turf/open/floor/mineral/titanium/white, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bJ" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/effect/turf_decal/stripes/white/corner{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"bK" = ( +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"bL" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/effect/turf_decal/stripes/white/corner, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"bM" = ( +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 3 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 3 + }, +/obj/item/clothing/mask/breath{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/mask/breath{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/head/hardhat/orange{ + name = "protective hat"; + pixel_y = 9 + }, +/obj/item/clothing/head/hardhat/orange{ + name = "protective hat"; + pixel_y = 9 + }, +/obj/structure/closet/crate/internals, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, /area/shuttle/escape) "bN" = ( /obj/machinery/vending/wallmed{ @@ -944,502 +917,6 @@ /turf/closed/wall/mineral/titanium/nodiagonal, /area/shuttle/escape) "bR" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"bS" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"bT" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"bU" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"bV" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"bW" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"bX" = ( -/obj/machinery/door/airlock/shuttle{ - name = "Emergency Shuttle Airlock" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"bY" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"bZ" = ( -/obj/effect/turf_decal/bot, -/obj/structure/chair/comfy/shuttle{ - dir = 1 - }, -/obj/item/radio/intercom{ - pixel_y = -28 - }, -/obj/machinery/light, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"ca" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"cb" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"cc" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"cd" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"ce" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"cf" = ( -/obj/machinery/door/airlock/shuttle{ - name = "Emergency Shuttle Airlock" - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"cg" = ( -/obj/structure/table, -/obj/item/storage/firstaid/o2, -/obj/item/tank/internals/emergency_oxygen, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"ch" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "applebush" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"ci" = ( -/obj/structure/table, -/obj/item/storage/toolbox/emergency, -/obj/item/crowbar/red, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"cj" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/escape) -"ck" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/escape) -"cl" = ( -/obj/structure/closet/crate{ - name = "emergency supplies crate" - }, -/obj/item/storage/toolbox/emergency, -/obj/item/storage/toolbox/emergency, -/obj/item/flashlight/flare{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/flashlight/flare{ - pixel_x = -6; - pixel_y = -2 - }, -/obj/item/crowbar, -/obj/item/wrench, -/obj/item/radio, -/obj/effect/turf_decal/bot, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"cm" = ( -/obj/structure/sign/departments/medbay/alt, -/turf/closed/wall/mineral/titanium, -/area/shuttle/escape) -"cn" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/airlock/medical/glass{ - name = "Shuttle Infirmary" - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"co" = ( -/obj/structure/rack, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/item/radio{ - pixel_x = -6; - pixel_y = 6 - }, -/obj/item/radio{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/radio{ - pixel_y = 4 - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"cp" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/escape) -"cq" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-05" - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/escape) -"cr" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/escape) -"cs" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/escape) -"ct" = ( -/obj/structure/closet/crate/medical{ - name = "medical crate" - }, -/obj/item/storage/firstaid/regular, -/obj/item/storage/firstaid/o2{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/firstaid/toxin{ - pixel_x = -4; - pixel_y = 3 - }, -/obj/item/healthanalyzer{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/lazarus_injector, -/obj/effect/turf_decal/bot, -/mob/living/simple_animal/bot/medbot{ - name = "\improper emergency medibot"; - pixel_x = -3; - pixel_y = 2 - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"cu" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/sleeper{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"cv" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"cw" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-10" - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"cx" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"cy" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/sleeper{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"cz" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/recharge_station, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"cA" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/escape) -"cB" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/escape) -"cC" = ( -/obj/effect/turf_decal/delivery, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"cD" = ( -/obj/structure/rack, -/obj/item/storage/toolbox/electrical{ - pixel_x = -3; - pixel_y = 1 - }, -/obj/item/storage/toolbox/mechanical{ - pixel_y = -1 - }, -/obj/item/storage/toolbox/emergency{ - pixel_x = 3; - pixel_y = -5 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"cE" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/structure/sink{ - dir = 8; - pixel_x = -12; - pixel_y = 2 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"cG" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"cH" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"cI" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/structure/sink{ - dir = 4; - pixel_x = 11 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"cJ" = ( /obj/item/clothing/suit/hazardvest{ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; name = "emergency lifejacket" @@ -1471,11 +948,162 @@ pixel_y = 9 }, /obj/structure/closet/crate/internals, -/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bS" = ( +/obj/machinery/vending/medical, /obj/machinery/light{ dir = 8 }, -/turf/open/floor/mineral/plastitanium, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bT" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 5 + }, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"bU" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 3 + }, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"bV" = ( +/obj/effect/turf_decal/stripes/white/corner, +/obj/effect/turf_decal/stripes/white/corner{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"bW" = ( +/obj/effect/turf_decal/stripes/white/line, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"bX" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 9 + }, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"bY" = ( +/obj/structure/table, +/obj/machinery/light{ + dir = 4 + }, +/obj/item/book/manual/wiki/surgery, +/obj/item/razor, +/obj/item/clothing/mask/surgical, +/obj/item/clothing/suit/apron/surgical, +/obj/item/clothing/gloves/color/latex, +/obj/item/reagent_containers/medspray/sterilizine, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"bZ" = ( +/obj/structure/table, +/obj/item/defibrillator/loaded, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"ca" = ( +/obj/structure/table, +/obj/item/storage/firstaid/fire{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/storage/firstaid/regular{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/storage/firstaid/regular, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cb" = ( +/obj/structure/table, +/obj/item/clipboard, +/obj/item/reagent_containers/hypospray/medipen, +/obj/item/reagent_containers/hypospray/medipen{ + pixel_y = 6 + }, +/obj/item/reagent_containers/hypospray/medipen{ + pixel_y = -6 + }, +/obj/item/reagent_containers/glass/bottle/charcoal, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cc" = ( +/obj/machinery/computer/operating{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cd" = ( +/obj/structure/table/optable, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"ce" = ( +/obj/structure/table, +/obj/item/scalpel, +/obj/item/circular_saw{ + pixel_y = 8 + }, +/obj/item/retractor, +/obj/item/hemostat, +/obj/item/surgicaldrill, +/obj/item/surgical_drapes, +/turf/open/floor/plasteel/dark, +/area/shuttle/escape) +"cj" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"ck" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"cm" = ( +/obj/structure/sign/departments/medbay/alt, +/turf/closed/wall/mineral/titanium, +/area/shuttle/escape) +"cr" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"cs" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"cA" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) "cK" = ( /obj/effect/spawner/structure/window/shuttle, @@ -1486,64 +1114,6 @@ /obj/structure/sign/warning/fire, /turf/closed/wall/mineral/titanium, /area/shuttle/escape) -"cM" = ( -/obj/machinery/vending/medical, -/obj/effect/turf_decal/bot, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"cN" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"cO" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line, -/obj/structure/chair/office/light, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"cP" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"cQ" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/structure/chair/office/light, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"cR" = ( -/obj/structure/table, -/obj/item/circular_saw, -/obj/item/scalpel{ - pixel_y = 16 - }, -/obj/item/hemostat, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/shuttle/escape) "cS" = ( /turf/closed/wall/mineral/plastitanium, /area/shuttle/escape) @@ -1555,71 +1125,10 @@ "cU" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/shuttle/escape) -"cV" = ( -/obj/structure/table, -/obj/item/defibrillator/compact/loaded, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"cW" = ( -/obj/structure/table, -/obj/item/storage/firstaid/fire{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/storage/firstaid/regular{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/storage/firstaid/regular, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"cX" = ( -/obj/structure/table, -/obj/item/clipboard, -/obj/item/reagent_containers/hypospray/medipen, -/obj/item/reagent_containers/hypospray/medipen{ - pixel_y = 6 - }, -/obj/item/reagent_containers/hypospray/medipen{ - pixel_y = -6 - }, -/obj/item/reagent_containers/glass/bottle/charcoal, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) "cY" = ( /obj/machinery/status_display/ai, /turf/closed/wall/mineral/titanium, /area/shuttle/escape) -"cZ" = ( -/obj/machinery/computer/operating{ - dir = 1 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"da" = ( -/obj/structure/table/optable, -/obj/effect/turf_decal/bot, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) -"db" = ( -/obj/structure/table, -/obj/item/surgical_drapes, -/obj/item/retractor, -/obj/item/cautery, -/turf/open/floor/plasteel/dark, -/area/shuttle/escape) -"dc" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/airlock/command{ - name = "Shuttle Control"; - req_one_access_txt = "19" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) "dd" = ( /obj/structure/shuttle/engine/propulsion/left, /obj/effect/turf_decal/stripes/line, @@ -1630,10 +1139,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/shuttle/escape) -"df" = ( -/obj/effect/turf_decal/caution/stand_clear, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/escape) "dg" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -1653,39 +1158,19 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/shuttle/escape) -"zk" = ( -/obj/effect/turf_decal/tile/blue{ +"Xo" = ( +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ dir = 1 }, -/obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/stripes/line{ - dir = 4 + dir = 8 }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"Vm" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/corner{ dir = 8 }, -/turf/open/floor/mineral/titanium/white, -/area/shuttle/escape) -"WN" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/white, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) (1,1,1) = {" @@ -1696,17 +1181,17 @@ ac ab ac ai -bb +aW ab -bq +bf ab ac ac ac ab -bX +br ab -bX +br ai ab as @@ -1720,22 +1205,22 @@ aa aa ac ap +ay +ay +aP az -az -aS -bc ac -bD -bB -bI -bI -bI -bB -bx +bi +bm +bo +bo +bo +bm +bi ac cj cr -cC +bH cK cT aa @@ -1747,22 +1232,22 @@ aa aa ab aq -aA -aA -aA -bd -bm -bs -bC -bJ -bM -bJ -bS -zk -cf +az +az +az +az +ba +bi +bi +bi +bi +bi +bi +bi +bv ck cs -cD +bI cL cU cS @@ -1774,21 +1259,21 @@ aa aa ac ar -aA -aA -aA -be +az +az +az +aX ac -bt -Vm -bK +bi +bi +bp bN -bu -bD -bK +bj +bi +bp ac -cl -ct +by +bC as ab ab @@ -1801,24 +1286,24 @@ ab ac ai as -aC -aI -aT -bf +aA +az +aQ +aY ab -bu -bD -bK +bj +bi +bp bO -bu -bD -bZ +bj +bi +bs as ab bg as -cM -cV +bS +bZ cK dg di @@ -1829,23 +1314,23 @@ ad aj as aD -aJ +aG ac as as -bv -bD -bK +bk +bi +bp bP -bu -bD -bK -cg +bj +bi +bt +bw cm -cu -cE -cN -cW +bD +bJ +bT +ca cK dg dj @@ -1855,24 +1340,24 @@ ac ae ak at -aE -aK -aU +aB +aH +aR bg -bn -bw -br -bK +bb +bi +bi +bp bQ -bu -bT -ca -bC -cn -cv -cH -cO -cX +bj +bi +bi +bi +bz +bc +bK +bU +cb cL dh de @@ -1882,23 +1367,23 @@ ac af al au -aF -aL -aV -dc -df -bx -bF -bL -bL -bL -bU -cb -ch +aC +aI +aS +aK +bc +bi +bi +bi +bi +bi +bi +bi +bi ac -cw -cG -cP +bc +bK +bV cY ab cS @@ -1909,24 +1394,24 @@ ac ag am av -aG -aM -aW +aE +aJ +aT bh -bo -bt -Vm -bK +bd +bi +bi +bp bN -bu -bV +bj +bi +bi +bi +bz +bc +bK +bW cc -bY -cn -cx -WN -cP -cZ cL dh dd @@ -1937,23 +1422,23 @@ ah an as as -aN +aK ab as as -by -bD -bK +bl +bi +bp bO +bj +bi bu -bD -bK -ci +bx cm -cy -cI -cQ -da +bE +bL +bX +cd cK dg di @@ -1964,23 +1449,23 @@ ac ai as as -aO -aX -bi +aL +aU +aU ab -bu -bD -bK +bj +bi +bp bP -bu -bD -bZ +bj +bi +bs as ab bg as -cR -db +bY +ce cK dg dj @@ -1990,21 +1475,21 @@ aa aa ab aw +ab +aM +bB +bB ac -aP -aY -bj -ac -bw -br -bK +bi +bi +bp bQ -bu -bD -bK +bj +bi +bp ac -co -cz +bA +bF as ab ab @@ -2016,23 +1501,23 @@ cS aa aa ao -ax -aH -aQ -aZ -bk -bp -bz -bY -bJ -bR -bJ -bW -cd -cf -cp +Xo +aF +aN +cj +cj +be +bi +bi +bi +bi +bi +bi +bi +bv +bB cA -cJ +bM cL cU cS @@ -2043,23 +1528,23 @@ aa aa aa ab -ay +ax +ab +aO +aV +aZ ac -aR -ba -bl +bi +bn +bq +bq +bq +bn +bi ac -bA -bH -bl -bl -bl -bH -ce -ac -cq -cB -aR +cj +bG +bR cK cT aa diff --git a/code/__DEFINES/movespeed_modification.dm b/code/__DEFINES/movespeed_modification.dm index 5d35da5382..76c326cec0 100644 --- a/code/__DEFINES/movespeed_modification.dm +++ b/code/__DEFINES/movespeed_modification.dm @@ -17,6 +17,9 @@ //ids #define MOVESPEED_ID_MOB_WALK_RUN_CONFIG_SPEED "MOB_WALK_RUN" +#define MOVESPEED_ID_MOB_GRAB_STATE "MOB_GRAB_STATE" +#define MOVESPEED_ID_MOB_EQUIPMENT "MOB_EQUIPMENT" +#define MOVESPEED_ID_MOB_GRAVITY "MOB_GRAVITY" #define MOVESPEED_ID_CONFIG_SPEEDMOD "MOB_CONFIG_MODIFIER" #define MOVESPEED_ID_SLIME_REAGENTMOD "SLIME_REAGENT_MODIFIER" @@ -28,6 +31,7 @@ #define MOVESPEED_ID_TARANTULA_WEB "TARANTULA_WEB" #define MOVESPEED_ID_LIVING_TURF_SPEEDMOD "LIVING_TURF_SPEEDMOD" +#define MOVESPEED_ID_LIVING_LIMBLESS "LIVING_LIMBLESS" #define MOVESPEED_ID_CARBON_SOFTCRIT "CARBON_SOFTCRIT" #define MOVESPEED_ID_CARBON_OLDSPEED "CARBON_DEPRECATED_SPEED" @@ -59,15 +63,19 @@ #define MOVESPEED_ID_HUMAN_CARRYING "HUMAN_CARRY" #define MOVESPEED_ID_SHRINK_RAY "SHRUNKEN_SPEED_MODIFIER" -#define MOVESPEED_ID_TASED_STATUS "TASED" - #define MOVESPEED_ID_SLAUGHTER "SLAUGHTER" #define MOVESPEED_ID_CYBER_THRUSTER "CYBER_IMPLANT_THRUSTER" #define MOVESPEED_ID_JETPACK "JETPACK" -#define MOVESPEED_ID_SHOVE "SHOVE" - #define MOVESPEED_ID_MKULTRA "MKULTRA" -#define MOVESPEED_ID_ELECTROSTAFF "ELECTROSTAFF" \ No newline at end of file +#define MOVESPEED_ID_TASED_STATUS "TASED" +#define MOVESPEED_ID_ELECTROSTAFF "ELECTROSTAFF" + +#define MOVESPEED_ID_SHOVE "SHOVE" +#define MOVESPEED_ID_FAT "FAT" +#define MOVESPEED_ID_COLD "COLD" +#define MOVESPEED_ID_HUNGRY "HUNGRY" +#define MOVESPEED_ID_DAMAGE_SLOWDOWN "DAMAGE" +#define MOVESPEED_ID_DAMAGE_SLOWDOWN_FLYING "FLYING" \ No newline at end of file diff --git a/code/__HELPERS/type2type_vr.dm b/code/__HELPERS/type2type_vr.dm deleted file mode 100644 index 96e04585d7..0000000000 --- a/code/__HELPERS/type2type_vr.dm +++ /dev/null @@ -1,111 +0,0 @@ -/* -// Contains VOREStation based vore description type2type functions -// list2text - takes delimiter and returns text -// text2list - takes delimiter, and creates list -// -*/ - -// Concatenates a list of strings into a single string. A seperator may optionally be provided. -/proc/list2text(list/ls, sep) - if (ls.len <= 1) // Early-out code for empty or singleton lists. - return ls.len ? ls[1] : "" - - var/l = ls.len // Made local for sanic speed. - var/i = 0 // Incremented every time a list index is accessed. - - if (sep <> null) - // Macros expand to long argument lists like so: sep, ls[++i], sep, ls[++i], sep, ls[++i], etc... - #define S1 sep, ls[++i] - #define S4 S1, S1, S1, S1 - #define S16 S4, S4, S4, S4 - #define S64 S16, S16, S16, S16 - - . = "[ls[++i]]" // Make sure the initial element is converted to text. - - // Having the small concatenations come before the large ones boosted speed by an average of at least 5%. - if (l-1 & 0x01) // 'i' will always be 1 here. - . = text("[][][]", ., S1) // Append 1 element if the remaining elements are not a multiple of 2. - if (l-i & 0x02) - . = text("[][][][][]", ., S1, S1) // Append 2 elements if the remaining elements are not a multiple of 4. - if (l-i & 0x04) - . = text("[][][][][][][][][]", ., S4) // And so on.... - if (l-i & 0x08) - . = text("[][][][][][][][][][][][][][][][][]", ., S4, S4) - if (l-i & 0x10) - . = text("[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]", ., S16) - if (l-i & 0x20) - . = text("[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\ - [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]", ., S16, S16) - if (l-i & 0x40) - . = text("[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\ - [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\ - [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\ - [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]", ., S64) - while (l > i) // Chomp through the rest of the list, 128 elements at a time. - . = text("[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\ - [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\ - [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\ - [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\ - [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\ - [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\ - [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\ - [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]", ., S64, S64) - - #undef S64 - #undef S16 - #undef S4 - #undef S1 - else - // Macros expand to long argument lists like so: ls[++i], ls[++i], ls[++i], etc... - #define S1 ls[++i] - #define S4 S1, S1, S1, S1 - #define S16 S4, S4, S4, S4 - #define S64 S16, S16, S16, S16 - - . = "[ls[++i]]" // Make sure the initial element is converted to text. - - if (l-1 & 0x01) // 'i' will always be 1 here. - . += S1 // Append 1 element if the remaining elements are not a multiple of 2. - if (l-i & 0x02) - . = text("[][][]", ., S1, S1) // Append 2 elements if the remaining elements are not a multiple of 4. - if (l-i & 0x04) - . = text("[][][][][]", ., S4) // And so on... - if (l-i & 0x08) - . = text("[][][][][][][][][]", ., S4, S4) - if (l-i & 0x10) - . = text("[][][][][][][][][][][][][][][][][]", ., S16) - if (l-i & 0x20) - . = text("[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]", ., S16, S16) - if (l-i & 0x40) - . = text("[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\ - [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]", ., S64) - while (l > i) // Chomp through the rest of the list, 128 elements at a time. - . = text("[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\ - [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\ - [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\ - [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]", ., S64, S64) - - #undef S64 - #undef S16 - #undef S4 - #undef S1 - -// Converts a string into a list by splitting the string at each delimiter found. (discarding the seperator) -/proc/text2list(text, delimiter="\n") - var/delim_len = length(delimiter) - if (delim_len < 1) - return list(text) - - . = list() - var/last_found = 1 - var/found - - do - found = findtext(text, delimiter, last_found, 0) - . += copytext(text, last_found, found) - last_found = found + delim_len - while (found) - -// Returns true if val is from min to max, inclusive. -/proc/IsInRange(val, min, max) - return (val >= min) && (val <= max) \ No newline at end of file diff --git a/code/__HELPERS/unused.dm b/code/__HELPERS/unused.dm deleted file mode 100644 index 6d41856fd1..0000000000 --- a/code/__HELPERS/unused.dm +++ /dev/null @@ -1,39 +0,0 @@ - - -/datum/projectile_data - var/src_x - var/src_y - var/time - var/distance - var/power_x - var/power_y - var/dest_x - var/dest_y - -/datum/projectile_data/New(var/src_x, var/src_y, var/time, var/distance, \ - var/power_x, var/power_y, var/dest_x, var/dest_y) - src.src_x = src_x - src.src_y = src_y - src.time = time - src.distance = distance - src.power_x = power_x - src.power_y = power_y - src.dest_x = dest_x - src.dest_y = dest_y - -/proc/projectile_trajectory(src_x, src_y, rotation, angle, power) - - // returns the destination (Vx,y) that a projectile shot at [src_x], [src_y], with an angle of [angle], - // rotated at [rotation] and with the power of [power] - // Thanks to VistaPOWA for this function - - var/power_x = power * cos(angle) - var/power_y = power * sin(angle) - var/time = 2* power_y / 10 //10 = g - - var/distance = time * power_x - - var/dest_x = src_x + distance*sin(rotation); - var/dest_y = src_y + distance*cos(rotation); - - return new /datum/projectile_data(src_x, src_y, time, distance, power_x, power_y, dest_x, dest_y) diff --git a/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm b/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm index 49d78907d3..0c41fb3e52 100644 --- a/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm +++ b/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm @@ -298,19 +298,15 @@ subcategory = CAT_AMMO /datum/crafting_recipe/ashen_arrow - name = "Bonfire-Hardened Arrow" + name = "Fire Hardened Arrow" result = /obj/item/ammo_casing/caseless/arrow/ashen - tools = list(/obj/structure/bonfire) + tools = list(TOOL_WELDER) time = 30 always_availible = FALSE reqs = list(/obj/item/ammo_casing/caseless/arrow = 1) category = CAT_WEAPONRY subcategory = CAT_AMMO -/datum/crafting_recipe/ashen_arrow/welder - name = "Welder-Hardened Arrow" - tools = list(TOOL_WELDER) - /datum/crafting_recipe/smartdart name = "Medical smartdart" result = /obj/item/reagent_containers/syringe/dart diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index b7ec8f38dc..a9830e58dc 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -26,10 +26,10 @@ /datum/proc/vv_get_dropdown() . = list() . += "---" - .["Call Proc"] = "?_src_=vars;[HrefToken()];proc_call=[REF(src)]" - .["Mark Object"] = "?_src_=vars;[HrefToken()];mark_object=[REF(src)]" - .["Delete"] = "?_src_=vars;[HrefToken()];delete=[REF(src)]" - .["Show VV To Player"] = "?_src_=vars;[HrefToken(TRUE)];expose=[REF(src)]" + .["Call Proc"] = "?_src_=vars;[HrefToken()];proc_call=\ref[src]" + .["Mark Object"] = "?_src_=vars;[HrefToken()];mark_object=\ref[src]" + .["Delete"] = "?_src_=vars;[HrefToken()];delete=\ref[src]" + .["Show VV To Player"] = "?_src_=vars;[HrefToken(TRUE)];expose=\ref[src]" /datum/proc/on_reagent_change(changetype) @@ -54,7 +54,7 @@ return var/title = "" - var/refid = REF(D) + var/refid = "\ref[D]" var/icon/sprite var/hash @@ -62,8 +62,6 @@ if (!islist) type = D.type - - if(istype(D, /atom)) var/atom/AT = D if(AT.icon && AT.icon_state) @@ -410,7 +408,7 @@ /client/proc/vv_update_display(datum/D, span, content) - src << output("[span]:[content]", "variables[REF(D)].browser:replace_span") + src << output("[span]:[content]", "variables\ref[D].browser:replace_span") #define VV_HTML_ENCODE(thing) ( sanitize ? html_encode(thing) : thing ) @@ -423,9 +421,9 @@ name = DA[name] //name is really the index until this line else value = DA[name] - header = "
  • (E) (C) (-) " + header = "
  • (E) (C) (-) " else - header = "
  • (E) (C) (M) " + header = "
  • (E) (C) (M) " else header = "
  • " @@ -440,7 +438,7 @@ #ifdef VARSICON var/icon/I = new/icon(value) var/rnd = rand(1,10000) - var/rname = "tmp[REF(I)][rnd].png" + var/rname = "tmp\ref[I][rnd].png" usr << browse_rsc(I, rname) item = "[VV_HTML_ENCODE(name)] = ([value]) " #else @@ -453,9 +451,9 @@ else if (istype(value, /datum)) var/datum/D = value if ("[D]" != "[D.type]") //if the thing as a name var, lets use it. - item = "[VV_HTML_ENCODE(name)] [REF(value)] = [D] [D.type]" + item = "[VV_HTML_ENCODE(name)] [REF(value)] = [D] [D.type]" else - item = "[VV_HTML_ENCODE(name)] [REF(value)] = [D.type]" + item = "[VV_HTML_ENCODE(name)] [REF(value)] = [D.type]" else if (islist(value)) var/list/L = value @@ -473,9 +471,9 @@ items += debug_variable(key, val, level + 1, sanitize = sanitize) - item = "[VV_HTML_ENCODE(name)] = /list ([L.len])" + item = "[VV_HTML_ENCODE(name)] = /list ([L.len])" else - item = "[VV_HTML_ENCODE(name)] = /list ([L.len])" + item = "[VV_HTML_ENCODE(name)] = /list ([L.len])" else if (name in GLOB.bitfields) var/list/flags = list() @@ -587,7 +585,7 @@ var/prompt = alert("Do you want to grant [C] access to view this VV window? (they will not be able to edit or change anything nor open nested vv windows unless they themselves are an admin)", "Confirm", "Yes", "No") if (prompt != "Yes" || !usr.client) return - message_admins("[key_name_admin(usr)] Showed [key_name_admin(C)] a VV window") + message_admins("[key_name_admin(usr)] Showed [key_name_admin(C)] a VV window") log_admin("Admin [key_name(usr)] Showed [key_name(C)] a VV window of a [thing]") to_chat(C, "[usr.client.holder.fakekey ? "an Administrator" : "[usr.client.key]"] has granted you access to view a View Variables window") C.debug_variables(thing) diff --git a/code/datums/martial/cqc.dm b/code/datums/martial/cqc.dm index 96f0caf82c..0871cf7eaa 100644 --- a/code/datums/martial/cqc.dm +++ b/code/datums/martial/cqc.dm @@ -119,7 +119,7 @@ D.grabbedby(A, 1) if(old_grab_state == GRAB_PASSIVE) D.drop_all_held_items() - A.grab_state = GRAB_AGGRESSIVE //Instant agressive grab if on grab intent + A.setGrabState(GRAB_AGGRESSIVE) //Instant agressive grab if on grab intent log_combat(A, D, "grabbed", addition="aggressively") D.visible_message("[A] violently grabs [D]!", \ "[A] violently grabs you!") @@ -185,7 +185,7 @@ D.SetSleeping(400) restraining = FALSE if(A.grab_state < GRAB_NECK) - A.grab_state = GRAB_NECK + A.setGrabState(GRAB_NECK) else restraining = FALSE return FALSE diff --git a/code/datums/martial/psychotic_brawl.dm b/code/datums/martial/psychotic_brawl.dm index 7609157ae1..be8659949d 100644 --- a/code/datums/martial/psychotic_brawl.dm +++ b/code/datums/martial/psychotic_brawl.dm @@ -34,10 +34,10 @@ log_combat(A, D, "grabbed", addition="aggressively") D.visible_message("[A] violently grabs [D]!", \ "[A] violently grabs you!") - A.grab_state = GRAB_AGGRESSIVE //Instant aggressive grab + A.setGrabState(GRAB_AGGRESSIVE) //Instant aggressive grab else log_combat(A, D, "grabbed", addition="passively") - A.grab_state = GRAB_PASSIVE + A.setGrabState(GRAB_PASSIVE) if(4) A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) atk_verb = "headbutts" diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index 9aab8b7c47..464c362a44 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -115,7 +115,7 @@ D.grabbedby(A, 1) if(old_grab_state == GRAB_PASSIVE) D.drop_all_held_items() - A.grab_state = GRAB_AGGRESSIVE //Instant agressive grab if on grab intent + A.setGrabState(GRAB_AGGRESSIVE) //Instant agressive grab if on grab intent log_combat(A, D, "grabbed", addition="aggressively") D.visible_message("[A] violently grabs [D]!", \ "[A] violently grabs you!") diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 99b8165306..00dc0d98d6 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -514,39 +514,6 @@ GLOBAL_LIST_EMPTY(teleportlocs) /client/proc/ResetAmbiencePlayed() played = FALSE -/atom/proc/has_gravity(turf/T) - if(!T || !isturf(T)) - T = get_turf(src) - - if(!T) - return 0 - - var/list/forced_gravity = list() - SEND_SIGNAL(src, COMSIG_ATOM_HAS_GRAVITY, T, forced_gravity) - if(!forced_gravity.len) - SEND_SIGNAL(T, COMSIG_TURF_HAS_GRAVITY, src, forced_gravity) - if(forced_gravity.len) - var/max_grav - for(var/i in forced_gravity) - max_grav = max(max_grav, i) - if(max_grav) - return max_grav - - if(isspaceturf(T)) // Turf never has gravity - return 0 - - var/area/A = get_area(T) - if(A.has_gravity) // Areas which always has gravity - return A.has_gravity - else - // There's a gravity generator on our z level - if(GLOB.gravity_generators["[T.z]"]) - var/max_grav = 0 - for(var/obj/machinery/gravity_generator/main/G in GLOB.gravity_generators["[T.z]"]) - max_grav = max(G.setting,max_grav) - return max_grav - return SSmapping.level_trait(T.z, ZTRAIT_GRAVITY) - /area/proc/setup(a_name) name = a_name power_equip = FALSE diff --git a/code/game/atoms.dm b/code/game/atoms.dm index b542381c0f..d8d7ce3d91 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -918,3 +918,49 @@ Proc for attack log creation, because really why not if(!(material_flags & MATERIAL_NO_EFFECTS)) custom_material.on_applied(src, materials[custom_material] * multiplier * material_modifier, material_flags) custom_materials[custom_material] += materials[x] * multiplier + +/** + * Returns true if this atom has gravity for the passed in turf + * + * Sends signals COMSIG_ATOM_HAS_GRAVITY and COMSIG_TURF_HAS_GRAVITY, both can force gravity with + * the forced gravity var + * + * Gravity situations: + * * No gravity if you're not in a turf + * * No gravity if this atom is in is a space turf + * * Gravity if the area it's in always has gravity + * * Gravity if there's a gravity generator on the z level + * * Gravity if the Z level has an SSMappingTrait for ZTRAIT_GRAVITY + * * otherwise no gravity + */ +/atom/proc/has_gravity(turf/T) + if(!T || !isturf(T)) + T = get_turf(src) + + if(!T) + return 0 + + var/list/forced_gravity = list() + SEND_SIGNAL(src, COMSIG_ATOM_HAS_GRAVITY, T, forced_gravity) + if(!forced_gravity.len) + SEND_SIGNAL(T, COMSIG_TURF_HAS_GRAVITY, src, forced_gravity) + if(forced_gravity.len) + var/max_grav + for(var/i in forced_gravity) + max_grav = max(max_grav, i) + return max_grav + + if(isspaceturf(T)) // Turf never has gravity + return 0 + + var/area/A = get_area(T) + if(A.has_gravity) // Areas which always has gravity + return A.has_gravity + else + // There's a gravity generator on our z level + if(GLOB.gravity_generators["[T.z]"]) + var/max_grav = 0 + for(var/obj/machinery/gravity_generator/main/G in GLOB.gravity_generators["[T.z]"]) + max_grav = max(G.setting,max_grav) + return max_grav + return SSmapping.level_trait(T.z, ZTRAIT_GRAVITY) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 95b6d0c214..9f1eb534a9 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -131,7 +131,7 @@ return FALSE // Are we trying to pull something we are already pulling? Then enter grab cycle and end. if(AM == pulling) - grab_state = state + setGrabState(state) if(istype(AM,/mob/living)) var/mob/living/AMob = AM AMob.grabbedby(src) @@ -142,7 +142,7 @@ AM.pulledby.stop_pulling() //an object can't be pulled by two mobs at once. pulling = AM AM.pulledby = src - grab_state = state + setGrabState(state) if(ismob(AM)) var/mob/M = AM log_combat(src, M, "grabbed", addition="passive grab") @@ -155,7 +155,7 @@ pulling.pulledby = null var/mob/living/ex_pulled = pulling pulling = null - grab_state = 0 + setGrabState(0) if(isliving(ex_pulled)) var/mob/living/L = ex_pulled L.update_mobility()// mob gets up if it was lyng down in a chokehold @@ -563,6 +563,11 @@ return FALSE return TRUE +/// Updates the grab state of the movable +/// This exists to act as a hook for behaviour +/atom/movable/proc/setGrabState(newstate) + grab_state = newstate + /obj/item/proc/do_pickup_animation(atom/target) set waitfor = FALSE if(!istype(loc, /turf)) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index fd1d2fc43d..fd6ae1bb43 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -377,6 +377,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) qdel(src) item_flags &= ~IN_INVENTORY SEND_SIGNAL(src, COMSIG_ITEM_DROPPED,user) + user.update_equipment_speed_mods() // called just as an item is picked up (loc is not yet changed) /obj/item/proc/pickup(mob/user) @@ -422,6 +423,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) if(item_action_slot_check(slot, user, A)) //some items only give their actions buttons when in a specific slot. A.Grant(user) item_flags |= IN_INVENTORY + user.update_equipment_speed_mods() //sometimes we only want to grant the item's action if it's equipped in a specific slot. /obj/item/proc/item_action_slot_check(slot, mob/user, datum/action/A) diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index 3dcf6d36e7..7d4cd2d91d 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -296,7 +296,7 @@ if(!iscarbon(user)) target.LAssailant = null else - target.LAssailant = user + target.LAssailant = WEAKREF(user) cooldown_check = world.time + cooldown user.adjustStaminaLossBuffered(getweight())//CIT CHANGE - makes swinging batons cost stamina else diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index 78ba6d4f5f..3079c3cad9 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -25,7 +25,7 @@ /obj/item/melee/baton/examine(mob/user) . = ..() - . += "Right click attack while in combat mode to disarm instead of stun." + . += "Right click attack while in combat mode or attack while in disarm intent to disarm instead of stun." /obj/item/melee/baton/get_cell() . = cell @@ -149,6 +149,8 @@ //return TRUE to interrupt attack chain. /obj/item/melee/baton/proc/common_baton_melee(mob/M, mob/living/user, disarming = FALSE) + if(user.a_intent == INTENT_DISARM) + disarming = TRUE //override if they're in disarm intent. if(iscyborg(M) || !isliving(M)) //can't baton cyborgs return FALSE if(status && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) diff --git a/code/modules/food_and_drinks/food/snacks_frozen.dm b/code/modules/food_and_drinks/food/snacks_frozen.dm index 5cef5b6fb6..0bcfe340aa 100644 --- a/code/modules/food_and_drinks/food/snacks_frozen.dm +++ b/code/modules/food_and_drinks/food/snacks_frozen.dm @@ -140,7 +140,7 @@ /obj/item/reagent_containers/food/snacks/snowcones/blue name = "bluecherry snowcone" desc = "Bluecherry syrup drizzled over a snowball in a paper cup, how rare!" - icon_state = "blue_sc" + icon_state = "red_sc" list_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/bluecherryjelly = 5) tastes = list("ice" = 1, "water" = 1, "blue" = 5, "cherries" = 5) foodtype = FRUIT @@ -148,7 +148,7 @@ /obj/item/reagent_containers/food/snacks/snowcones/red name = "cherry snowcone" desc = "Cherry syrup drizzled over a snowball in a paper cup." - icon_state = "red_sc" + icon_state = "blue_sc" list_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/cherryjelly = 5) tastes = list("ice" = 1, "water" = 1, "red" = 5, "cherries" = 5) foodtype = FRUIT @@ -223,7 +223,7 @@ tastes = list("ice" = 1, "water" = 1, "cola" = 5) /obj/item/reagent_containers/food/snacks/snowcones/spacemountainwind - name = "Space Mountain Wind snowcone" + name = "\improper Space Mountain Wind snowcone" desc = "Space Mountain Wind drizzled over a snowball in a paper cup." icon_state = "kiwi_sc" list_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/spacemountainwind = 5) diff --git a/code/modules/food_and_drinks/food/snacks_pastry.dm b/code/modules/food_and_drinks/food/snacks_pastry.dm index de1f00ae5d..ecd9074950 100644 --- a/code/modules/food_and_drinks/food/snacks_pastry.dm +++ b/code/modules/food_and_drinks/food/snacks_pastry.dm @@ -201,10 +201,10 @@ /obj/item/reagent_containers/food/snacks/donut/jelly/choco name = "chocolate jelly donut" desc = "Goes great with a glass of warm milk." - icon_state = "jelly_choc" + icon_state = "jelly_choco" bonus_reagents = list(/datum/reagent/consumable/hot_coco = 3, /datum/reagent/consumable/sprinkles = 1, /datum/reagent/consumable/nutriment/vitamin = 1) //the coco reagent is just bitter. tastes = list("jelly" = 1, "donut" = 4, "bitterness" = 1) - decorated_icon = "jelly_choc_sprinkles" + decorated_icon = "jelly_choco_sprinkles" filling_color = "#4F230D" /obj/item/reagent_containers/food/snacks/donut/jelly/blumpkin diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 5f9e838330..ff2f894dab 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -16,6 +16,7 @@ QDEL_LIST(stomach_contents) QDEL_LIST(bodyparts) QDEL_LIST(implants) + hand_bodyparts = null //Just references out bodyparts, don't need to delete twice. remove_from_all_data_huds() QDEL_NULL(dna) GLOB.carbon_list -= src diff --git a/code/modules/mob/living/carbon/carbon_movement.dm b/code/modules/mob/living/carbon/carbon_movement.dm index 26ac12b97a..fa060d8b34 100644 --- a/code/modules/mob/living/carbon/carbon_movement.dm +++ b/code/modules/mob/living/carbon/carbon_movement.dm @@ -1,15 +1,3 @@ -/mob/living/carbon/movement_delay() - . = ..() - . += grab_state * 3 //can't go fast while grabbing something. - - if(!get_leg_ignore()) //ignore the fact we lack legs - var/leg_amount = get_num_legs() - . += 6 - 3*leg_amount //the fewer the legs, the slower the mob - if(!leg_amount) - . += 6 - 3*get_num_arms() //crawling is harder with fewer arms - if(legcuffed) - . += legcuffed.slowdown - /mob/living/carbon/slip(knockdown_amount, obj/O, lube) if(movement_type & FLYING && !(lube & FLYING_DOESNT_HELP)) return FALSE diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index bd7cbb48f9..feb19ceaae 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -948,6 +948,22 @@ if(is_type_in_typecache(active_item, GLOB.shove_disarming_types)) visible_message("[src.name] regains their grip on \the [active_item]!", "You regain your grip on \the [active_item]", null, COMBAT_MESSAGE_RANGE) +/mob/living/carbon/human/updatehealth() + . = ..() + + if(HAS_TRAIT(src, TRAIT_IGNORESLOWDOWN)) + remove_movespeed_modifier(MOVESPEED_ID_DAMAGE_SLOWDOWN) + remove_movespeed_modifier(MOVESPEED_ID_DAMAGE_SLOWDOWN_FLYING) + return + var/stambufferinfluence = (bufferedstam*(100/stambuffer))*0.2 //CIT CHANGE - makes stamina buffer influence movedelay + var/health_deficiency = ((100 + stambufferinfluence) - health + (getStaminaLoss()*0.75))//CIT CHANGE - reduces the impact of staminaloss and makes stamina buffer influence it + if(health_deficiency >= 40) + add_movespeed_modifier(MOVESPEED_ID_DAMAGE_SLOWDOWN, override = TRUE, multiplicative_slowdown = ((health_deficiency-39) / 75), blacklisted_movetypes = FLOATING|FLYING) + add_movespeed_modifier(MOVESPEED_ID_DAMAGE_SLOWDOWN_FLYING, override = TRUE, multiplicative_slowdown = ((health_deficiency-39) / 25), movetypes = FLOATING) + else + remove_movespeed_modifier(MOVESPEED_ID_DAMAGE_SLOWDOWN) + remove_movespeed_modifier(MOVESPEED_ID_DAMAGE_SLOWDOWN_FLYING) + /mob/living/carbon/human/do_after_coefficent() . = ..() . *= physiology.do_after_speed diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index f37673a5a3..608ad76128 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -9,8 +9,8 @@ /mob/living/carbon/human/movement_delay() . = ..() - if(dna && dna.species) - . += dna.species.movement_delay(src) + if (m_intent == MOVE_INTENT_WALK && HAS_TRAIT(src, TRAIT_SPEEDY_STEP)) + . -= 1.5 /mob/living/carbon/human/slip(knockdown_amount, obj/O, lube) if(HAS_TRAIT(src, TRAIT_NOSLIPALL)) diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index ec0eda846c..122a06b17b 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -145,6 +145,12 @@ return not_handled //For future deeper overrides +/mob/living/carbon/human/equipped_speed_mods() + . = ..() + for(var/sloties in get_all_slots()) + var/obj/item/thing = sloties + . += thing?.slowdown + /mob/living/carbon/human/doUnEquip(obj/item/I, force, newloc, no_move, invdrop = TRUE) var/index = get_held_index_of_item(I) . = ..() //See mob.dm for an explanation on this and some rage about people copypasting instead of calling ..() like they should. diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index c8e5f54ed3..92a19b9bd7 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1296,12 +1296,14 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if(H.overeatduration < 100) to_chat(H, "You feel fit again!") REMOVE_TRAIT(H, TRAIT_FAT, OBESITY) + H.remove_movespeed_modifier(MOVESPEED_ID_FAT) H.update_inv_w_uniform() H.update_inv_wear_suit() else if(H.overeatduration >= 100) to_chat(H, "You suddenly feel blubbery!") ADD_TRAIT(H, TRAIT_FAT, OBESITY) + H.add_movespeed_modifier(MOVESPEED_ID_FAT, multiplicative_slowdown = 1.5) H.update_inv_w_uniform() H.update_inv_wear_suit() @@ -1352,6 +1354,15 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) to_chat(H, "You no longer feel vigorous.") H.metabolism_efficiency = 1 + //Hunger slowdown for if mood isn't enabled + if(CONFIG_GET(flag/disable_human_mood)) + if(!HAS_TRAIT(H, TRAIT_NOHUNGER)) + var/hungry = (500 - H.nutrition) / 5 //So overeat would be 100 and default level would be 80 + if(hungry >= 70) + H.add_movespeed_modifier(MOVESPEED_ID_HUNGRY, override = TRUE, multiplicative_slowdown = (hungry / 50)) + else + H.remove_movespeed_modifier(MOVESPEED_ID_HUNGRY) + switch(H.nutrition) if(NUTRITION_LEVEL_FULL to INFINITY) H.throw_alert("nutrition", /obj/screen/alert/fat) @@ -1401,59 +1412,6 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) H.hair_style = "Bald" H.update_hair() -//////////////// -// MOVE SPEED // -//////////////// - -/datum/species/proc/movement_delay(mob/living/carbon/human/H) - . = 0 //We start at 0. - var/flight = 0 //Check for flight and flying items - var/gravity = 0 - if(H.movement_type & FLYING) - flight = 1 - - gravity = H.has_gravity() - - if (H.m_intent == MOVE_INTENT_WALK && HAS_TRAIT(H, TRAIT_SPEEDY_STEP)) - . -= 1.5 - - if(!HAS_TRAIT(H, TRAIT_IGNORESLOWDOWN) && gravity) - if(H.wear_suit) - . += H.wear_suit.slowdown - if(H.shoes) - . += H.shoes.slowdown - if(H.back) - . += H.back.slowdown - for(var/obj/item/I in H.held_items) - if(I.item_flags & SLOWS_WHILE_IN_HAND) - . += I.slowdown - var/stambufferinfluence = (H.bufferedstam*(100/H.stambuffer))*0.2 //CIT CHANGE - makes stamina buffer influence movedelay - var/health_deficiency = ((100 + stambufferinfluence) - H.health + (H.getStaminaLoss()*0.75))//CIT CHANGE - reduces the impact of staminaloss on movement speed and makes stamina buffer influence movedelay - if(health_deficiency >= 40) - if(flight) - . += ((health_deficiency-39) / 75) // CIT CHANGE - adds -39 to health deficiency penalty to make the transition to low health movement a little less jarring - else - . += ((health_deficiency-39) / 25) // CIT CHANGE - ditto - if(CONFIG_GET(flag/disable_human_mood)) - var/hungry = (500 - H.nutrition) / 5 //So overeat would be 100 and default level would be 80 - if((hungry >= 70) && !flight) //Being hungry will still allow you to use a flightsuit/wings. - . += hungry / 50 - - //Moving in high gravity is very slow (Flying too) - if(gravity > STANDARD_GRAVITY) - var/grav_force = min(gravity - STANDARD_GRAVITY,3) - . += 1 + grav_force - - if(HAS_TRAIT(H, TRAIT_FAT)) - . += (1.5 - flight) - if(H.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT && !HAS_TRAIT(H, TRAIT_RESISTCOLD)) - . += (BODYTEMP_COLD_DAMAGE_LIMIT - H.bodytemperature) / COLD_SLOWDOWN_FACTOR - return . - -////////////////// -// ATTACK PROCS // -////////////////// - ////////////////// // ATTACK PROCS // ////////////////// @@ -2070,6 +2028,8 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "cold") SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "hot", /datum/mood_event/hot) + H.remove_movespeed_modifier(MOVESPEED_ID_COLD) + var/burn_damage var/firemodifier = H.fire_stacks / 50 if (H.on_fire) @@ -2085,6 +2045,8 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) else if(H.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT && !HAS_TRAIT(H, TRAIT_RESISTCOLD)) SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "hot") SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "cold", /datum/mood_event/cold) + //Sorry for the nasty oneline but I don't want to assign a variable on something run pretty frequently + H.add_movespeed_modifier(MOVESPEED_ID_COLD, override = TRUE, multiplicative_slowdown = ((BODYTEMP_COLD_DAMAGE_LIMIT - H.bodytemperature) / COLD_SLOWDOWN_FACTOR)) switch(H.bodytemperature) if(200 to BODYTEMP_COLD_DAMAGE_LIMIT) H.apply_damage(COLD_DAMAGE_LEVEL_1*coldmod*H.physiology.cold_mod, BURN) @@ -2094,6 +2056,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) H.apply_damage(COLD_DAMAGE_LEVEL_3*coldmod*H.physiology.cold_mod, BURN) else + H.remove_movespeed_modifier(MOVESPEED_ID_COLD) SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "cold") SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "hot") diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index d9a22674ae..a2a69cb49a 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -295,7 +295,7 @@ if(!iscarbon(src)) M.LAssailant = null else - M.LAssailant = usr + M.LAssailant = WEAKREF(usr) if(isliving(M)) var/mob/living/L = M //Share diseases that are spread by touch @@ -727,6 +727,7 @@ return name /mob/living/update_gravity(has_gravity,override = 0) + . = ..() if(!SSticker.HasRoundStarted()) return if(has_gravity) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 9c67498935..af8dc6dca9 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -250,7 +250,7 @@ return 0 if(user.voremode && user.grab_state == GRAB_AGGRESSIVE) return 0 - user.grab_state++ + user.setGrabState(user.grab_state + 1) switch(user.grab_state) if(GRAB_AGGRESSIVE) var/add_log = "" diff --git a/code/modules/mob/living/living_mobility.dm b/code/modules/mob/living/living_mobility.dm index 4b2afd0448..8829e3a7f2 100644 --- a/code/modules/mob/living/living_mobility.dm +++ b/code/modules/mob/living/living_mobility.dm @@ -152,4 +152,17 @@ if(CHECK_MOBILITY(src, MOBILITY_MOVE) && !intentionalresting && canstand_involuntary && iscarbon(src) && client?.prefs?.autostand)//CIT CHANGE - adds autostanding as a preference addtimer(CALLBACK(src, .proc/resist_a_rest, TRUE), 0) //CIT CHANGE - ditto + // Movespeed mods based on arms/legs quantity + if(!get_leg_ignore()) + var/limbless_slowdown = 0 + // These checks for <2 should be swapped out for something else if we ever end up with a species with more than 2 + if(has_legs < 2) + limbless_slowdown += 6 - (has_legs * 3) + if(!has_legs && has_arms < 2) + limbless_slowdown += 6 - (has_arms * 3) + if(limbless_slowdown) + add_movespeed_modifier(MOVESPEED_ID_LIVING_LIMBLESS, update=TRUE, priority=100, override=TRUE, multiplicative_slowdown=limbless_slowdown, movetypes=GROUND) + else + remove_movespeed_modifier(MOVESPEED_ID_LIVING_LIMBLESS, update=TRUE) + return mobility_flags diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index 5d54f92d47..56d112237e 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -275,7 +275,7 @@ H.dna.add_mutation(DWARFISM) /obj/effect/mob_spawn/human/corpse/damaged/legioninfested/Initialize() - var/type = pickweight(list("Miner" = 66, "Ashwalker" = 10, "Golem" = 10,"Clown" = 10, pick(list("Shadow", "YeOlde","Operative", "Cultist", "Lavaknight")) = 4)) //CIT CHANGE: Lavaknights + var/type = pickweight(list("Miner" = 45, "Ashwalker" = 10, "Golem" = 10,"Clown" = 10, pick(list("Shadow", "YeOlde","Operative", "Cultist", "Lavaknight")) = 4, "Assistant" = 20, "Beelegion" = 1)) switch(type) if("Miner") mob_species = pickweight(list(/datum/species/human = 70, /datum/species/lizard = 26, /datum/species/fly = 2, /datum/species/plasmaman = 2)) @@ -374,13 +374,47 @@ l_pocket = /obj/item/melee/cultblade/dagger glasses = /obj/item/clothing/glasses/hud/health/night/cultblind backpack_contents = list(/obj/item/reagent_containers/glass/beaker/unholywater = 1, /obj/item/cult_shift = 1, /obj/item/flashlight/flare/culttorch = 1, /obj/item/stack/sheet/runed_metal = 15) - if("Lavaknight") //START OF CIT CHANGE + if("Lavaknight") uniform = /obj/item/clothing/under/assistantformal mask = /obj/item/clothing/mask/breath shoes = /obj/item/clothing/shoes/sneakers/black r_pocket = /obj/item/melee/transforming/energy/sword/cx/broken suit = /obj/item/clothing/suit/space/hardsuit/lavaknight suit_store = /obj/item/tank/internals/oxygen - id = /obj/item/card/id/knight //END OF CIT CHANGE + id = /obj/item/card/id/knight id_job = "Knight" + if("Assistant") + uniform = /obj/item/clothing/under/color/grey + belt = /obj/item/tank/internals/emergency_oxygen + mask = /obj/item/clothing/mask/gas + ears = /obj/item/radio/headset + gloves = /obj/item/clothing/gloves/color/fyellow + id = /obj/item/card/id/silver/reaper //looks cool and has a fancy name but only a 1% chance + back = /obj/item/storage/backpack + backpack_contents = list(/obj/item/stack/cable_coil = 12, /obj/item/assembly/flash = 1, /obj/item/storage/fancy/donut_box = 1, /obj/item/storage/fancy/cigarettes/cigpack_shadyjims = 1, /obj/item/lighter = 1) + if(prob(99)) + id = /obj/item/card/id + id_job = "Assisant" + if(prob(95)) + head = /obj/item/clothing/head/hardhat/red + if(prob(5)) + gloves = /obj/item/clothing/gloves/color/yellow + if(prob(10)) + back = /obj/item/twohanded/spear + backpack_contents = null + if(prob(90)) + r_pocket = /obj/item/kitchen/knife + if(prob(60)) + l_pocket = /obj/item/soap/homemade + if("Beelegion") + uniform = /obj/item/clothing/under/color/yellow + suit = /obj/item/clothing/suit/hooded/bee_costume + shoes = /obj/item/clothing/shoes/sneakers/yellow + gloves = /obj/item/clothing/gloves/color/yellow + ears = /obj/item/radio/headset + belt = /obj/item/storage/belt/fannypack/yellow + id_job = "Assisant" + id = /obj/item/card/id + l_pocket = /obj/item/reagent_containers/food/drinks/soda_cans/buzz_fuzz + mask = /obj/item/clothing/mask/rat/bee . = ..() diff --git a/code/modules/mob/living/simple_animal/slime/life.dm b/code/modules/mob/living/simple_animal/slime/life.dm index a923da6ed6..4b89d96e64 100644 --- a/code/modules/mob/living/simple_animal/slime/life.dm +++ b/code/modules/mob/living/simple_animal/slime/life.dm @@ -186,12 +186,13 @@ if(M.stat == DEAD) // our victim died if(!client) if(!rabid && !attacked) - if(M.LAssailant && M.LAssailant != M) + var/mob/living/carbon/their_attacker = M.getLAssailant() + if(their_attacker != M) if(prob(50)) - if(!(M.LAssailant in Friends)) - Friends[M.LAssailant] = 1 + if(!(their_attacker in Friends)) + Friends[their_attacker] = 1 else - ++Friends[M.LAssailant] + ++Friends[their_attacker] else to_chat(src, "This subject does not have a strong enough life energy anymore...") diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm index 990e61974e..8594d53bd1 100644 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ b/code/modules/mob/living/simple_animal/slime/slime.dm @@ -70,7 +70,8 @@ var/colour = "grey" var/coretype = /obj/item/slime_extract/grey - var/list/slime_mutation[4] + var/list/slime_mutation + var/static/list/color_mutation_cache = list() var/static/list/slime_colours = list("rainbow", "grey", "purple", "metal", "orange", "blue", "dark blue", "dark purple", "yellow", "silver", "pink", "red", @@ -84,6 +85,7 @@ /mob/living/simple_animal/slime/Initialize(mapload, new_colour="grey", new_is_adult=FALSE) + initialize_mutations() var/datum/action/innate/slime/feed/F = new F.Grant(src) @@ -108,10 +110,16 @@ AC.Remove(src) return ..() +/mob/living/simple_animal/slime/proc/initialize_mutations() + var/list/cached = color_mutation_cache[colour] + if(!cached) + cached = color_mutation_cache[colour] = mutation_table(colour) + slime_mutation = cached + /mob/living/simple_animal/slime/proc/set_colour(new_colour) colour = new_colour update_name() - slime_mutation = mutation_table(colour) + initialize_mutations() var/sanitizedcolour = replacetext(colour, " ", "") coretype = text2path("/obj/item/slime_extract/[sanitizedcolour]") regenerate_icons() diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index a523c22d53..e6cdf81e38 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -5,6 +5,8 @@ GLOB.all_clockwork_mobs -= src GLOB.mob_directory -= tag focus = null + LAssailant = null + movespeed_modification = null for (var/alert in alerts) clear_alert(alert, TRUE) if(observers && observers.len) @@ -952,3 +954,28 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0) /mob/setMovetype(newval) . = ..() update_movespeed(FALSE) + +/mob/proc/getLAssailant() + return LAssailant?.resolve() + +/// Updates the grab state of the mob and updates movespeed +/mob/setGrabState(newstate) + . = ..() + if(grab_state == GRAB_PASSIVE) + remove_movespeed_modifier(MOVESPEED_ID_MOB_GRAB_STATE, update=TRUE) + else + add_movespeed_modifier(MOVESPEED_ID_MOB_GRAB_STATE, update=TRUE, priority=100, override=TRUE, multiplicative_slowdown=grab_state*3, blacklisted_movetypes=FLOATING) + +/mob/proc/update_equipment_speed_mods() + var/speedies = equipped_speed_mods() + if(!speedies) + remove_movespeed_modifier(MOVESPEED_ID_MOB_EQUIPMENT, update=TRUE) + else + add_movespeed_modifier(MOVESPEED_ID_MOB_EQUIPMENT, update=TRUE, priority=100, override=TRUE, multiplicative_slowdown=speedies, blacklisted_movetypes=FLOATING) + +/// Gets the combined speed modification of all worn items +/// Except base mob type doesnt really wear items +/mob/proc/equipped_speed_mods() + for(var/obj/item/I in held_items) + if(I.item_flags & SLOWS_WHILE_IN_HAND) + . += I.slowdown diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 638a3aa0e2..6725e29610 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -80,8 +80,8 @@ var/list/faction = list("neutral") //A list of factions that this mob is currently in, for hostile mob targetting, amongst other things var/move_on_shuttle = 1 // Can move on the shuttle. -//The last mob/living/carbon to push/drag/grab this mob (mostly used by slimes friend recognition) - var/mob/living/carbon/LAssailant = null + /// The last mob/living/carbon to push/drag/grab this mob (mostly used by slimes friend recognition) + var/datum/weakref/LAssailant var/list/obj/user_movement_hooks //Passes movement in client/Move() to these! diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 071ef1f49e..bac8053c9a 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -249,8 +249,12 @@ /mob/proc/slip(s_amount, w_amount, obj/O, lube) return -/mob/proc/update_gravity() - return +/mob/proc/update_gravity(has_gravity, override=FALSE) + var/speed_change = max(0, has_gravity - STANDARD_GRAVITY) + if(!speed_change) + remove_movespeed_modifier(MOVESPEED_ID_MOB_GRAVITY, update=TRUE) + else + add_movespeed_modifier(MOVESPEED_ID_MOB_GRAVITY, update=TRUE, priority=100, override=TRUE, multiplicative_slowdown=speed_change, blacklisted_movetypes=FLOATING) //bodypart selection - Cyberboss //8 toggles through head - eyes - mouth diff --git a/code/modules/ninja/suit/gloves.dm b/code/modules/ninja/suit/gloves.dm index e819fe55fd..4e7f1dc9ea 100644 --- a/code/modules/ninja/suit/gloves.dm +++ b/code/modules/ninja/suit/gloves.dm @@ -37,8 +37,7 @@ var/mindrain = 200 var/maxdrain = 400 - var/stunforce = 140 //Same as stunbaton, adjustable. - + var/stunforce = 100 /obj/item/clothing/gloves/space_ninja/Touch(atom/A,proximity) if(!candrain || draining) diff --git a/code/modules/ninja/suit/mask.dm b/code/modules/ninja/suit/mask.dm index e97e39643a..52657f913c 100644 --- a/code/modules/ninja/suit/mask.dm +++ b/code/modules/ninja/suit/mask.dm @@ -22,7 +22,7 @@ Contents: /obj/item/clothing/mask/gas/space_ninja/handle_speech(datum/source, list/speech_args) var/message = speech_args[SPEECH_MESSAGE] if(message[1] != "*") - var/list/temp_message = text2list(message, " ") + var/list/temp_message = splittext(message, " ") var/list/pick_list = list() for(var/i in 1 to temp_message.len) pick_list += i @@ -32,7 +32,7 @@ Contents: continue temp_message[H] = ninjaspeak(temp_message[H]) pick_list -= H - message = list2text(temp_message, " ") + message = temp_message.Join(" ") //The Alternate speech mod is now the main one. message = replacetext(message, "l", "r") diff --git a/code/modules/ninja/suit/ninjaDrainAct.dm b/code/modules/ninja/suit/ninjaDrainAct.dm index 6553211c07..1c529ef745 100644 --- a/code/modules/ninja/suit/ninjaDrainAct.dm +++ b/code/modules/ninja/suit/ninjaDrainAct.dm @@ -264,7 +264,6 @@ They *could* go in their appropriate files, but this is supposed to be modular electrocute_act(15, H) DefaultCombatKnockdown(G.stunforce) - adjustStaminaLoss(G.stunforce*0.1, affected_zone = (istype(H) ? H.zone_selected : BODY_ZONE_CHEST)) apply_effect(EFFECT_STUTTER, G.stunforce) SEND_SIGNAL(src, COMSIG_LIVING_MINOR_SHOCK) diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index c9cfdde797..adac8b5651 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -136,7 +136,7 @@ reagents.reaction(target, TOUCH) else if(bartender_check(target) && thrown) - visible_message("[src] lands onto the [target.name] without spilling a single drop.") + visible_message("[src] lands without spilling a single drop.") transform = initial(transform) addtimer(CALLBACK(src, .proc/ForceResetRotation), 1) @@ -153,11 +153,10 @@ log_reagent("SPLASH - [src] object SplashReagents() onto [target] at [T] ([AREACOORD(T)])[throwerstring] - [reagents.log_list()]") visible_message("[src] spills its contents all over [target].") reagents.reaction(target, TOUCH) + reagents.clear_reagents() if(QDELETED(src)) return - reagents.clear_reagents() - //melts plastic beakers /obj/item/reagent_containers/microwave_act(obj/machinery/microwave/M) reagents.expose_temperature(1000) diff --git a/code/modules/recycling/disposal/bin.dm b/code/modules/recycling/disposal/bin.dm index 38b62546a8..78e18a01e2 100644 --- a/code/modules/recycling/disposal/bin.dm +++ b/code/modules/recycling/disposal/bin.dm @@ -137,7 +137,7 @@ else target.visible_message("[user] has placed [target] in [src].", "[user] has placed [target] in [src].") log_combat(user, target, "stuffed", addition="into [src]") - target.LAssailant = user + target.LAssailant = WEAKREF(user) update_icon() /obj/machinery/disposal/proc/can_stuff_mob_in(mob/living/target, mob/living/user, pushing = FALSE) diff --git a/code/modules/research/nanites/nanite_programs/buffing.dm b/code/modules/research/nanites/nanite_programs/buffing.dm index f52ae4843a..2b5d4cd1ab 100644 --- a/code/modules/research/nanites/nanite_programs/buffing.dm +++ b/code/modules/research/nanites/nanite_programs/buffing.dm @@ -27,7 +27,7 @@ rogue_types = list(/datum/nanite_program/toxic, /datum/nanite_program/nerve_decay) /datum/nanite_program/adrenaline/on_trigger() - host_mob.do_adrenaline(-10, TRUE, TRUE, FALSE, TRUE, list(/datum/reagent/medicine/stimulants = 1.5), "You feel a sudden surge of energy!", FALSE, FALSE, FALSE) + host_mob.do_adrenaline(50, TRUE, TRUE, FALSE, TRUE, list(), "You feel a sudden surge of energy!", 25) /datum/nanite_program/hardening name = "Dermal Hardening" diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm index 9682d404ea..5492e9bc38 100644 --- a/code/modules/research/xenobiology/xenobio_camera.dm +++ b/code/modules/research/xenobiology/xenobio_camera.dm @@ -236,7 +236,7 @@ if(X.monkeys >= 1) var/mob/living/carbon/monkey/food = new /mob/living/carbon/monkey(remote_eye.loc, TRUE, owner) if (!QDELETED(food)) - food.LAssailant = C + food.LAssailant = WEAKREF(C) X.monkeys -- to_chat(owner, "[X] now has [X.monkeys] monkey(s) left.") else @@ -474,7 +474,7 @@ if(X.monkeys >= 1) var/mob/living/carbon/monkey/food = new /mob/living/carbon/monkey(T, TRUE, C) if (!QDELETED(food)) - food.LAssailant = C + food.LAssailant = WEAKREF(C) X.monkeys-- X.monkeys = round(X.monkeys, 0.1) //Prevents rounding errors to_chat(C, "[X] now has [X.monkeys] monkey(s) stored.") diff --git a/code/modules/vore/eating/belly_obj.dm b/code/modules/vore/eating/belly_obj.dm index e33f748292..4917bd3dba 100644 --- a/code/modules/vore/eating/belly_obj.dm +++ b/code/modules/vore/eating/belly_obj.dm @@ -161,6 +161,8 @@ SSbellies.belly_list -= src if(owner?.vore_organs) owner.vore_organs -= src + if(owner.vore_selected == src) + owner.vore_selected = null owner = null . = ..() @@ -413,7 +415,7 @@ if("em") raw_messages = examine_messages - var/messages = list2text(raw_messages,delim) + var/messages = raw_messages.Join(delim) return messages // The next function sets the messages on the belly, from human-readable var @@ -422,7 +424,7 @@ /obj/belly/proc/set_messages(var/raw_text, var/type, var/delim = "\n\n") ASSERT(type == "smo" || type == "smi" || type == "dmo" || type == "dmp" || type == "em") - var/list/raw_list = text2list(html_encode(raw_text),delim) + var/list/raw_list = splittext(html_encode(raw_text),delim) if(raw_list.len > 10) raw_list.Cut(11) testing("[owner] tried to set [lowertext(name)] with 11+ messages") diff --git a/code/modules/vore/eating/vorepanel.dm b/code/modules/vore/eating/vorepanel.dm index a2746f35e8..f34872bd25 100644 --- a/code/modules/vore/eating/vorepanel.dm +++ b/code/modules/vore/eating/vorepanel.dm @@ -574,7 +574,7 @@ if(new_bulge == 0) //Disable. selected.bulge_size = 0 to_chat(user,"Your stomach will not be seen on examine.") - else if (!IsInRange(new_bulge,25,200)) + else if (!ISINRANGE(new_bulge,25,200)) selected.bulge_size = 0.25 //Set it to the default. to_chat(user,"Invalid size.") else if(new_bulge) diff --git a/html/changelogs/AutoChangeLog-pr-11193.yml b/html/changelogs/AutoChangeLog-pr-11193.yml new file mode 100644 index 0000000000..413f6a5972 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11193.yml @@ -0,0 +1,4 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - rscadd: "Two new legion drop. Assistant and Bee-Activist" diff --git a/html/changelogs/AutoChangeLog-pr-11336.yml b/html/changelogs/AutoChangeLog-pr-11336.yml new file mode 100644 index 0000000000..e4bf0bc62a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11336.yml @@ -0,0 +1,4 @@ +author: "Putnam3145" +delete-after: True +changes: + - rscdel: "MKUltra no longer explodes into lovegas when it fermi explodes, instead causing a regular ol' fireball." diff --git a/html/changelogs/AutoChangeLog-pr-11338.yml b/html/changelogs/AutoChangeLog-pr-11338.yml new file mode 100644 index 0000000000..2597d91e11 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11338.yml @@ -0,0 +1,4 @@ +author: "Crystal9156" +delete-after: True +changes: + - bugfix: "Fixes Chocolate Jelly Donut icon" diff --git a/html/changelogs/AutoChangeLog-pr-11339.yml b/html/changelogs/AutoChangeLog-pr-11339.yml new file mode 100644 index 0000000000..d719d6c98b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11339.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - tweak: "Evens both sides of the gas containers TEG with reinforced windows" diff --git a/html/changelogs/AutoChangeLog-pr-11340.yml b/html/changelogs/AutoChangeLog-pr-11340.yml new file mode 100644 index 0000000000..064356eb4e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11340.yml @@ -0,0 +1,5 @@ +author: "actioninja, ninjanomnom" +delete-after: True +changes: + - tweak: "Being fat is no longer lessened by flying." + - bugfix: "The slowdown from grabbing someone no longer applies when you're floating." diff --git a/html/changelogs/AutoChangeLog-pr-11353.yml b/html/changelogs/AutoChangeLog-pr-11353.yml new file mode 100644 index 0000000000..296d56ab5c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11353.yml @@ -0,0 +1,4 @@ +author: "kevinz000" +delete-after: True +changes: + - balance: "Nanite adrenals have been nerfed." diff --git a/html/changelogs/AutoChangeLog-pr-11356.yml b/html/changelogs/AutoChangeLog-pr-11356.yml new file mode 100644 index 0000000000..9758ef9b4f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11356.yml @@ -0,0 +1,4 @@ +author: "kevinz000" +delete-after: True +changes: + - balance: "Ninja stungloves nerfed 49 stamina to 25 (so they're basically just better than stunbatons)." diff --git a/html/changelogs/AutoChangeLog-pr-11358.yml b/html/changelogs/AutoChangeLog-pr-11358.yml new file mode 100644 index 0000000000..ec14dc1972 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11358.yml @@ -0,0 +1,5 @@ +author: "bunny232" +delete-after: True +changes: + - rscadd: "Box bar now has a lightswitch." + - bugfix: "fixes several piping issues around box station" diff --git a/html/changelogs/AutoChangeLog-pr-11359.yml b/html/changelogs/AutoChangeLog-pr-11359.yml new file mode 100644 index 0000000000..d73ac47a70 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11359.yml @@ -0,0 +1,4 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - imageadd: "Corrects snowcones names and a pixle. Corrects Space Wind snowcone as well" diff --git a/html/changelogs/AutoChangeLog-pr-11360.yml b/html/changelogs/AutoChangeLog-pr-11360.yml new file mode 100644 index 0000000000..4a863dcdeb --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11360.yml @@ -0,0 +1,4 @@ +author: "kevinz000" +delete-after: True +changes: + - tweak: "Batons now also trigger disarm behavior in disarm intent and not just on right click." diff --git a/html/changelogs/AutoChangeLog-pr-11363.yml b/html/changelogs/AutoChangeLog-pr-11363.yml new file mode 100644 index 0000000000..fe75c9f713 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11363.yml @@ -0,0 +1,4 @@ +author: "Ragolution" +delete-after: True +changes: + - tweak: "Adjusted Bartender's Drink Flinging print message to not include name of target turf and save immersion." diff --git a/html/changelogs/AutoChangeLog-pr-11366.yml b/html/changelogs/AutoChangeLog-pr-11366.yml new file mode 100644 index 0000000000..f409db278f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11366.yml @@ -0,0 +1,4 @@ +author: "zeroisthebiggay" +delete-after: True +changes: + - rscadd: "kilo shuttle less bad" diff --git a/html/changelogs/AutoChangeLog-pr-11367.yml b/html/changelogs/AutoChangeLog-pr-11367.yml new file mode 100644 index 0000000000..0e3a840e3e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11367.yml @@ -0,0 +1,4 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - bugfix: "Arrow crafting has been fixed... Again..." diff --git a/icons/obj/food/snowcones.dmi b/icons/obj/food/snowcones.dmi index 8f5b4f8992..b2b85abb7c 100644 Binary files a/icons/obj/food/snowcones.dmi and b/icons/obj/food/snowcones.dmi differ diff --git a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm index a03d5eca81..eb93d273a7 100644 --- a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm +++ b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm @@ -349,14 +349,9 @@ E.data["creatorID"] = B.data["ckey"] E.creatorID = B.data["ckey"] -/datum/chemical_reaction/fermi/enthrall/FermiExplode(datum/reagents, var/atom/my_atom, volume, temp, pH) - var/turf/T = get_turf(my_atom) - var/datum/reagents/R = new/datum/reagents(1000) - var/datum/effect_system/smoke_spread/chem/s = new() - R.add_reagent(/datum/reagent/fermi/enthrallExplo, volume) - s.set_up(R, volume/2, T) - s.start() - my_atom.reagents.clear_reagents() +/datum/chemical_reaction/fermi/enthrall/FermiExplode(datum/reagents/R0, var/atom/my_atom, volume, temp, pH) + R0.clear_reagents() + ..() /datum/chemical_reaction/fermi/hatmium // done name = "Hat growth serum" diff --git a/tgstation.dme b/tgstation.dme index 7ce9569f9a..50ff19916f 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -153,7 +153,6 @@ #include "code\__HELPERS\text_vr.dm" #include "code\__HELPERS\time.dm" #include "code\__HELPERS\type2type.dm" -#include "code\__HELPERS\type2type_vr.dm" #include "code\__HELPERS\typelists.dm" #include "code\__HELPERS\unsorted.dm" #include "code\__HELPERS\vector.dm"