From a912e1491267525981985b483719b13c89653a79 Mon Sep 17 00:00:00 2001 From: AnturK Date: Thu, 21 Dec 2017 14:13:11 +0100 Subject: [PATCH 01/82] Makes newscaster feedback messages and comments always a list. --- code/__HELPERS/roundend.dm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/code/__HELPERS/roundend.dm b/code/__HELPERS/roundend.dm index 3b346f7e1c..e20be6332f 100644 --- a/code/__HELPERS/roundend.dm +++ b/code/__HELPERS/roundend.dm @@ -63,6 +63,35 @@ antag_info["objectives"] += list(list("objective_type"=O.type,"text"=O.explanation_text,"result"=result)) SSblackbox.record_feedback("associative", "antagonists", 1, antag_info) +<<<<<<< HEAD +======= +/datum/controller/subsystem/ticker/proc/gather_newscaster() + var/json_file = file("[GLOB.log_directory]/newscaster.json") + var/list/file_data = list() + var/pos = 1 + for(var/V in GLOB.news_network.network_channels) + var/datum/newscaster/feed_channel/channel = V + if(!istype(channel)) + stack_trace("Non-channel in newscaster channel list") + continue + file_data["[pos]"] = list("channel name" = "[channel.channel_name]", "author" = "[channel.author]", "censored" = channel.censored ? 1 : 0, "author censored" = channel.authorCensor ? 1 : 0, "messages" = list()) + for(var/M in channel.messages) + var/datum/newscaster/feed_message/message = M + if(!istype(message)) + stack_trace("Non-message in newscaster channel messages list") + continue + file_data["[pos]"]["messages"] += list(list("author" = "[message.author]", "time stamp" = "[message.time_stamp]", "censored" = message.bodyCensor ? 1 : 0, "author censored" = message.authorCensor ? 1 : 0, "photo file" = "[message.photo_file]", "photo caption" = "[message.caption]", "body" = "[message.body]", "comments" = list())) + for(var/C in message.comments) + var/datum/newscaster/feed_comment/comment = C + if(!istype(comment)) + stack_trace("Non-message in newscaster message comments list") + continue + file_data["[pos]"]["messages"]["comments"] += list(list("author" = "[comment.author]", "time stamp" = "[comment.time_stamp]", "body" = "[comment.body]")) + pos++ + if(GLOB.news_network.wanted_issue.active) + file_data["wanted"] = list("author" = "[GLOB.news_network.wanted_issue.scannedUser]", "criminal" = "[GLOB.news_network.wanted_issue.criminal]", "description" = "[GLOB.news_network.wanted_issue.body]", "photo file" = "[GLOB.news_network.wanted_issue.photo_file]") + WRITE_FILE(json_file, json_encode(file_data)) +>>>>>>> e940102... Makes newscaster feedback messages and comments always a list. (#33682) /datum/controller/subsystem/ticker/proc/declare_completion() set waitfor = FALSE From e2ba458400517efcc408947aa3dbbb89af86a9cd Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 24 Dec 2017 02:40:05 -0600 Subject: [PATCH 02/82] Update roundend.dm --- code/__HELPERS/roundend.dm | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/code/__HELPERS/roundend.dm b/code/__HELPERS/roundend.dm index e20be6332f..0482bb668e 100644 --- a/code/__HELPERS/roundend.dm +++ b/code/__HELPERS/roundend.dm @@ -62,9 +62,7 @@ var/result = O.check_completion() ? "SUCCESS" : "FAIL" antag_info["objectives"] += list(list("objective_type"=O.type,"text"=O.explanation_text,"result"=result)) SSblackbox.record_feedback("associative", "antagonists", 1, antag_info) - -<<<<<<< HEAD -======= + /datum/controller/subsystem/ticker/proc/gather_newscaster() var/json_file = file("[GLOB.log_directory]/newscaster.json") var/list/file_data = list() @@ -91,7 +89,6 @@ if(GLOB.news_network.wanted_issue.active) file_data["wanted"] = list("author" = "[GLOB.news_network.wanted_issue.scannedUser]", "criminal" = "[GLOB.news_network.wanted_issue.criminal]", "description" = "[GLOB.news_network.wanted_issue.body]", "photo file" = "[GLOB.news_network.wanted_issue.photo_file]") WRITE_FILE(json_file, json_encode(file_data)) ->>>>>>> e940102... Makes newscaster feedback messages and comments always a list. (#33682) /datum/controller/subsystem/ticker/proc/declare_completion() set waitfor = FALSE From 9d0a4722e5048cdb870d0cb24b7a5ff033ced857 Mon Sep 17 00:00:00 2001 From: Emmett Gaines Date: Mon, 25 Dec 2017 20:10:08 -0500 Subject: [PATCH 03/82] turns the baseturf var into a part time list (#33705) --- .../LavaRuins/lavaland_surface_pizzaparty.dmm | 41 +- _maps/RandomRuins/SpaceRuins/deepstorage.dmm | 1635 +++++----------- _maps/RandomRuins/SpaceRuins/spacehotel.dmm | 18 +- _maps/RandomZLevels/beach2.dmm | 102 +- _maps/RandomZLevels/caves.dmm | 686 ++----- _maps/RandomZLevels/snowdin.dmm | 1682 ++++------------- _maps/shuttles/emergency_delta.dmm | 1 - code/__DEFINES/turf_flags.dm | 3 + code/datums/components/thermite.dm | 2 +- .../clock_cult/clock_structures/wall_gear.dm | 4 +- code/game/machinery/computer/arcade.dm | 2 +- code/game/machinery/doors/airlock.dm | 2 +- code/game/mecha/equipment/tools/work_tools.dm | 8 +- code/game/mecha/mech_bay.dm | 2 +- .../effects/effect_system/effects_foam.dm | 2 +- .../objects/effects/spawners/vaultspawner.dm | 4 +- code/game/objects/items/melee/misc.dm | 7 +- code/game/objects/structures/false_walls.dm | 2 +- code/game/objects/structures/girders.dm | 12 +- code/game/turfs/ChangeTurf.dm | 217 +++ code/game/turfs/closed.dm | 4 +- code/game/turfs/open.dm | 8 +- code/game/turfs/simulated/chasm.dm | 12 +- code/game/turfs/simulated/floor.dm | 15 +- .../game/turfs/simulated/floor/light_floor.dm | 2 +- code/game/turfs/simulated/floor/misc_floor.dm | 10 +- code/game/turfs/simulated/floor/plating.dm | 4 +- .../turfs/simulated/floor/plating/asteroid.dm | 16 +- .../turfs/simulated/floor/plating/dirt.dm | 2 +- .../simulated/floor/plating/misc_plating.dm | 12 +- .../game/turfs/simulated/floor/reinf_floor.dm | 6 +- code/game/turfs/simulated/lava.dm | 6 +- code/game/turfs/simulated/minerals.dm | 46 +- code/game/turfs/simulated/reebe_void.dm | 2 +- code/game/turfs/simulated/river.dm | 10 +- code/game/turfs/simulated/wall/misc_walls.dm | 6 +- code/game/turfs/simulated/walls.dm | 8 +- code/game/turfs/simulated/water.dm | 2 +- code/game/turfs/space/space.dm | 4 +- code/game/turfs/space/transit.dm | 2 +- code/game/turfs/turf.dm | 213 +-- code/modules/admin/verbs/randomverbs.dm | 2 +- .../atmospherics/environmental/LINDA_fire.dm | 2 +- code/modules/mapping/mapping_helpers.dm | 8 +- code/modules/mapping/reader.dm | 2 +- .../mob/living/simple_animal/bot/floorbot.dm | 4 +- .../hostile/mining_mobs/necropolis_tendril.dm | 2 +- .../reagents/pyrotechnic_reagents.dm | 4 +- code/modules/shuttle/on_move.dm | 16 +- code/modules/shuttle/shuttle.dm | 2 +- tgstation.dme | 2 + 51 files changed, 1538 insertions(+), 3328 deletions(-) create mode 100644 code/__DEFINES/turf_flags.dm create mode 100644 code/game/turfs/ChangeTurf.dm diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm index 3a89d344a8..8a34879707 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm @@ -10,14 +10,11 @@ /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) "d" = ( -/turf/closed/wall{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface - }, +/turf/closed/wall, /area/ruin/unpowered) "e" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -25,7 +22,6 @@ /obj/structure/table/wood, /obj/item/storage/box/cups, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -36,14 +32,12 @@ }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) "h" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -51,7 +45,6 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -59,7 +52,6 @@ /obj/item/reagent_containers/food/snacks/pizzaslice/mushroom, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -72,7 +64,6 @@ }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -89,7 +80,6 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -97,7 +87,6 @@ /obj/item/chair/wood/wings, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -105,7 +94,6 @@ /obj/structure/glowshroom/single, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -113,7 +101,6 @@ /obj/item/trash/plate, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -121,7 +108,6 @@ /obj/effect/decal/remains/human, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -129,7 +115,6 @@ /obj/item/chair/wood/wings, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -141,13 +126,11 @@ name = "party hat" }, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) "s" = ( /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -155,14 +138,12 @@ /obj/structure/chair/wood/wings, /obj/effect/decal/remains/human, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) "u" = ( /obj/structure/glowshroom/single, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -175,7 +156,6 @@ /obj/item/kitchen/fork, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -187,7 +167,6 @@ name = "pizza spawner" }, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -195,7 +174,6 @@ /obj/structure/table/wood, /obj/item/trash/plate, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -204,7 +182,6 @@ /obj/structure/glowshroom/single, /obj/item/a_gift, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -213,7 +190,6 @@ /obj/item/trash/plate, /obj/item/kitchen/fork, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -224,7 +200,6 @@ }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -233,7 +208,6 @@ /obj/item/reagent_containers/food/snacks/pizzaslice/margherita, /obj/item/trash/plate, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -241,7 +215,6 @@ /obj/structure/table/wood, /obj/item/reagent_containers/food/snacks/pizzaslice/meat, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -249,21 +222,18 @@ /obj/structure/table/wood, /obj/item/reagent_containers/food/snacks/store/cake/birthday, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) "G" = ( /obj/structure/table/wood, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) "H" = ( /obj/item/chair/wood/wings, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -271,7 +241,6 @@ /obj/item/kitchen/fork, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -279,7 +248,6 @@ /obj/structure/glowshroom/single, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -291,7 +259,6 @@ /obj/effect/decal/remains/human, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -299,7 +266,6 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -307,7 +273,6 @@ /obj/effect/decal/cleanable/dirt, /obj/item/a_gift, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -320,7 +285,6 @@ /obj/item/kitchen/knife, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -330,13 +294,11 @@ }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) "Q" = ( /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -344,7 +306,6 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/baseturf_helper/lava_land/surface, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) diff --git a/_maps/RandomRuins/SpaceRuins/deepstorage.dmm b/_maps/RandomRuins/SpaceRuins/deepstorage.dmm index 9ff1aad4c6..cceb58a95d 100644 --- a/_maps/RandomRuins/SpaceRuins/deepstorage.dmm +++ b/_maps/RandomRuins/SpaceRuins/deepstorage.dmm @@ -19,43 +19,31 @@ name = "Asteroid - Space" }) "af" = ( -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/kitchen) "ag" = ( -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/crusher) "ah" = ( /obj/structure/kitchenspike, -/turf/open/floor/plasteel/freezer{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/freezer, /area/ruin/space/has_grav/deepstorage/kitchen) "ai" = ( /obj/structure/closet/secure_closet/freezer/meat, -/turf/open/floor/plasteel/freezer{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/freezer, /area/ruin/space/has_grav/deepstorage/kitchen) "aj" = ( /obj/machinery/light/small{ dir = 8 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/crusher) "ak" = ( /obj/machinery/conveyor{ dir = 4; id = "bunkerrecycle" }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/crusher) "al" = ( /obj/machinery/conveyor{ @@ -65,9 +53,7 @@ /obj/machinery/light/small{ dir = 1 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/crusher) "am" = ( /obj/machinery/recycler/deathtrap, @@ -75,9 +61,7 @@ dir = 4; id = "bunkerrecycle" }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/crusher) "an" = ( /obj/machinery/conveyor{ @@ -85,9 +69,7 @@ id = "bunkerrecycle"; movedir = 2 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/crusher) "ao" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -96,46 +78,34 @@ /obj/machinery/light{ dir = 8 }, -/turf/open/floor/plasteel/freezer{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/freezer, /area/ruin/space/has_grav/deepstorage/kitchen) "ap" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 10 }, -/turf/open/floor/plasteel/freezer{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/freezer, /area/ruin/space/has_grav/deepstorage/kitchen) "aq" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, -/turf/open/floor/plasteel/freezer{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/freezer, /area/ruin/space/has_grav/deepstorage/kitchen) "ar" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /obj/structure/reagent_dispensers/beerkeg, -/turf/open/floor/plasteel/freezer{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/freezer, /area/ruin/space/has_grav/deepstorage/kitchen) "as" = ( /obj/structure/table, /obj/item/storage/toolbox/emergency, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/crusher) "at" = ( -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/crusher) "au" = ( /obj/machinery/conveyor_switch{ @@ -144,9 +114,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/crusher) "av" = ( /obj/structure/window/plasma/reinforced{ @@ -157,62 +125,45 @@ id = "bunkerrecycle"; movedir = 2 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/crusher) "aw" = ( -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/obj/effect/baseturf_helper/asteroid/airless, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/storage) "ax" = ( /obj/machinery/processor{ name = "processor" }, -/turf/open/floor/plasteel/freezer{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/freezer, /area/ruin/space/has_grav/deepstorage/kitchen) "ay" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, -/turf/open/floor/plasteel/freezer{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/freezer, /area/ruin/space/has_grav/deepstorage/kitchen) "az" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/freezer{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/freezer, /area/ruin/space/has_grav/deepstorage/kitchen) "aA" = ( /obj/machinery/gibber, -/turf/open/floor/plasteel/freezer{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/freezer, /area/ruin/space/has_grav/deepstorage/kitchen) "aB" = ( /obj/structure/table, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/crusher) "aC" = ( /obj/structure/cable/yellow{ icon_state = "2-4" }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/crusher) "aD" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/crusher) "aE" = ( /obj/structure/cable/yellow{ @@ -223,9 +174,7 @@ name = "Recycling APC"; pixel_y = -24 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/crusher) "aF" = ( /obj/machinery/conveyor{ @@ -236,9 +185,7 @@ /obj/machinery/light/small{ dir = 4 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/crusher) "aG" = ( /obj/structure/closet/cardboard, @@ -345,18 +292,14 @@ /area/ruin/space/has_grav/deepstorage/storage) "aM" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/kitchen) "aN" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/door/airlock{ name = "Freezer" }, -/turf/open/floor/plasteel/freezer{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/freezer, /area/ruin/space/has_grav/deepstorage/kitchen) "aO" = ( /obj/machinery/door/airlock/highsecurity{ @@ -366,23 +309,17 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/crusher) "aP" = ( /obj/machinery/door/airlock/highsecurity{ name = "Recycling Room"; req_access_txt = "200" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/crusher) "aQ" = ( -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/hydroponics) "aR" = ( /obj/structure/closet/cardboard, @@ -466,9 +403,7 @@ }, /obj/item/storage/box/cups, /obj/item/reagent_containers/glass/beaker, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/cafeteria, /area/ruin/space/has_grav/deepstorage/kitchen) "aY" = ( /obj/structure/table, @@ -482,9 +417,7 @@ /obj/machinery/firealarm{ pixel_y = 24 }, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/cafeteria, /area/ruin/space/has_grav/deepstorage/kitchen) "aZ" = ( /obj/structure/table, @@ -497,9 +430,7 @@ /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 4 }, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/cafeteria, /area/ruin/space/has_grav/deepstorage/kitchen) "ba" = ( /obj/structure/table, @@ -512,30 +443,22 @@ dir = 9 }, /obj/item/kitchen/knife, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/cafeteria, /area/ruin/space/has_grav/deepstorage/kitchen) "bb" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/cafeteria, /area/ruin/space/has_grav/deepstorage/kitchen) "bc" = ( /obj/structure/sink/kitchen{ pixel_y = 24 }, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/cafeteria, /area/ruin/space/has_grav/deepstorage/kitchen) "bd" = ( /obj/structure/table, /obj/machinery/microwave, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/cafeteria, /area/ruin/space/has_grav/deepstorage/kitchen) "be" = ( /obj/structure/cable/yellow{ @@ -544,17 +467,13 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "bf" = ( /obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{ dir = 1 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "bg" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ @@ -562,9 +481,7 @@ }, /obj/machinery/door/firedoor, /obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/hydroponics) "bh" = ( /obj/structure/table, @@ -573,9 +490,7 @@ /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 4 }, -/turf/open/floor/plasteel/hydrofloor{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/hydrofloor, /area/ruin/space/has_grav/deepstorage/hydroponics) "bi" = ( /obj/machinery/vending/hydronutrients, @@ -585,9 +500,7 @@ /obj/machinery/firealarm{ pixel_y = 24 }, -/turf/open/floor/plasteel/hydrofloor{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/hydrofloor, /area/ruin/space/has_grav/deepstorage/hydroponics) "bj" = ( /obj/machinery/vending/hydroseeds{ @@ -596,18 +509,14 @@ /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 4 }, -/turf/open/floor/plasteel/hydrofloor{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/hydrofloor, /area/ruin/space/has_grav/deepstorage/hydroponics) "bk" = ( /obj/machinery/hydroponics/constructable, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 4 }, -/turf/open/floor/light{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/light, /area/ruin/space/has_grav/deepstorage/hydroponics) "bl" = ( /obj/machinery/hydroponics/constructable, @@ -617,57 +526,43 @@ /obj/machinery/light{ dir = 1 }, -/turf/open/floor/light{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/light, /area/ruin/space/has_grav/deepstorage/hydroponics) "bm" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "bn" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "bo" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "bp" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 6 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "bq" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 4 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "br" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "bs" = ( /obj/structure/closet/secure_closet/freezer/kitchen{ @@ -677,38 +572,28 @@ dir = 4 }, /obj/item/storage/box/drinkingglasses, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/cafeteria, /area/ruin/space/has_grav/deepstorage/kitchen) "bt" = ( /obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{ dir = 4 }, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/cafeteria, /area/ruin/space/has_grav/deepstorage/kitchen) "bu" = ( -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/cafeteria, /area/ruin/space/has_grav/deepstorage/kitchen) "bv" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/cafeteria, /area/ruin/space/has_grav/deepstorage/kitchen) "bw" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/cafeteria, /area/ruin/space/has_grav/deepstorage/kitchen) "bx" = ( /obj/structure/table, @@ -717,9 +602,7 @@ dir = 4; pixel_x = 24 }, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/cafeteria, /area/ruin/space/has_grav/deepstorage/kitchen) "by" = ( /obj/structure/cable/yellow{ @@ -728,35 +611,25 @@ /obj/machinery/light{ dir = 8 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "bz" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "bA" = ( /obj/machinery/door/firedoor, /obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/hydroponics) "bB" = ( /obj/structure/table, /obj/item/cultivator, /obj/item/hatchet, -/turf/open/floor/plasteel/hydrofloor{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/hydrofloor, /area/ruin/space/has_grav/deepstorage/hydroponics) "bC" = ( -/turf/open/floor/plasteel/hydrofloor{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/hydrofloor, /area/ruin/space/has_grav/deepstorage/hydroponics) "bD" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -766,52 +639,38 @@ dir = 4; pixel_x = 24 }, -/turf/open/floor/plasteel/hydrofloor{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/hydrofloor, /area/ruin/space/has_grav/deepstorage/hydroponics) "bE" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/tank_dispenser/oxygen, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "bF" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "bG" = ( /obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "bH" = ( /obj/structure/reagent_dispensers/watertank/high, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "bI" = ( /obj/structure/closet/secure_closet/freezer/fridge, /obj/item/storage/box/ingredients/wildcard, /obj/item/storage/box/ingredients/wildcard, /obj/item/storage/box/ingredients/wildcard, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/cafeteria, /area/ruin/space/has_grav/deepstorage/kitchen) "bJ" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/structure/cable/yellow{ icon_state = "2-4" }, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/cafeteria, /area/ruin/space/has_grav/deepstorage/kitchen) "bK" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -820,9 +679,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/cafeteria, /area/ruin/space/has_grav/deepstorage/kitchen) "bL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -831,9 +688,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/cafeteria, /area/ruin/space/has_grav/deepstorage/kitchen) "bM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -842,9 +697,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/cafeteria, /area/ruin/space/has_grav/deepstorage/kitchen) "bN" = ( /obj/structure/cable/yellow{ @@ -855,16 +708,12 @@ name = "Kitchen APC"; pixel_y = -24 }, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/cafeteria, /area/ruin/space/has_grav/deepstorage/kitchen) "bO" = ( /obj/machinery/light, /obj/machinery/vending/dinnerware, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/cafeteria, /area/ruin/space/has_grav/deepstorage/kitchen) "bP" = ( /obj/structure/cable/yellow{ @@ -874,32 +723,24 @@ dir = 8; pixel_x = -24 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "bQ" = ( /obj/machinery/door/airlock/public/glass{ name = "Hydroponics" }, -/turf/open/floor/plasteel/hydrofloor{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/hydrofloor, /area/ruin/space/has_grav/deepstorage/hydroponics) "bR" = ( /obj/structure/sink{ dir = 4; pixel_x = 11 }, -/turf/open/floor/plasteel/hydrofloor{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/hydrofloor, /area/ruin/space/has_grav/deepstorage/hydroponics) "bS" = ( /obj/machinery/hydroponics/constructable, -/turf/open/floor/light{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/light, /area/ruin/space/has_grav/deepstorage/hydroponics) "bT" = ( /obj/effect/turf_decal/delivery, @@ -915,9 +756,7 @@ /obj/machinery/light{ dir = 8 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "bU" = ( /obj/effect/turf_decal/delivery, @@ -930,21 +769,15 @@ /obj/item/reagent_containers/food/snacks/beans, /obj/item/reagent_containers/food/snacks/beans, /obj/item/reagent_containers/food/snacks/beans, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "bV" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "bW" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/storage) "bX" = ( /obj/machinery/door/airlock/highsecurity{ @@ -952,9 +785,7 @@ req_access_txt = "200" }, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "bY" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, @@ -965,16 +796,12 @@ /obj/machinery/door/airlock/public/glass{ name = "Kitchen" }, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/cafeteria, /area/ruin/space/has_grav/deepstorage/kitchen) "bZ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/smartfridge, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/kitchen) "ca" = ( /obj/structure/cable/yellow{ @@ -984,18 +811,14 @@ icon_state = "2-4" }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "cb" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "cc" = ( /obj/structure/cable/yellow{ @@ -1003,35 +826,27 @@ }, /obj/machinery/door/firedoor, /obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/hydroponics) "cd" = ( /obj/structure/table, /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plasteel/hydrofloor{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/hydrofloor, /area/ruin/space/has_grav/deepstorage/hydroponics) "ce" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plasteel/hydrofloor{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/hydrofloor, /area/ruin/space/has_grav/deepstorage/hydroponics) "cf" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/hydrofloor{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/hydrofloor, /area/ruin/space/has_grav/deepstorage/hydroponics) "cg" = ( /obj/structure/cable/yellow{ @@ -1042,9 +857,7 @@ name = "Hydroponics APC"; pixel_x = 24 }, -/turf/open/floor/plasteel/hydrofloor{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/hydrofloor, /area/ruin/space/has_grav/deepstorage/hydroponics) "ch" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, @@ -1052,15 +865,11 @@ dir = 8; pixel_x = 24 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "ci" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "cj" = ( /obj/structure/noticeboard{ @@ -1069,9 +878,7 @@ /obj/item/paper/fluff/ruins/deepstorage/water_concern, /obj/item/paper/fluff/ruins/deepstorage/hydro_notice, /obj/item/paper/fluff/ruins/deepstorage/recycling_notice, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "ck" = ( /obj/structure/chair{ @@ -1083,9 +890,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/bar, /area/ruin/space/has_grav/deepstorage) "cl" = ( /obj/structure/table, @@ -1096,9 +901,7 @@ /obj/machinery/light{ dir = 1 }, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/bar, /area/ruin/space/has_grav/deepstorage) "cm" = ( /obj/structure/table, @@ -1110,9 +913,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/bar, /area/ruin/space/has_grav/deepstorage) "cn" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -1122,40 +923,30 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/bar, /area/ruin/space/has_grav/deepstorage) "co" = ( /obj/structure/closet/crate/bin, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/bar, /area/ruin/space/has_grav/deepstorage) "cp" = ( -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage) "cq" = ( /obj/machinery/shower{ dir = 4 }, /obj/item/soap, -/turf/open/floor/plasteel/freezer{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/freezer, /area/ruin/space/has_grav/deepstorage) "cr" = ( /obj/machinery/light{ dir = 1 }, -/turf/open/floor/plasteel/freezer{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/freezer, /area/ruin/space/has_grav/deepstorage) "cs" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, @@ -1164,9 +955,7 @@ locked = 0; pixel_y = 23 }, -/turf/open/floor/plasteel/freezer{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/freezer, /area/ruin/space/has_grav/deepstorage) "ct" = ( /obj/structure/cable/yellow{ @@ -1175,18 +964,14 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "cu" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "cv" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -1194,9 +979,7 @@ }, /obj/machinery/door/firedoor, /obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/hydroponics) "cw" = ( /obj/structure/table, @@ -1209,18 +992,14 @@ pixel_y = 4 }, /obj/item/reagent_containers/glass/bucket, -/turf/open/floor/plasteel/hydrofloor{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/hydrofloor, /area/ruin/space/has_grav/deepstorage/hydroponics) "cx" = ( /obj/machinery/seed_extractor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/turf/open/floor/plasteel/hydrofloor{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/hydrofloor, /area/ruin/space/has_grav/deepstorage/hydroponics) "cy" = ( /obj/machinery/biogenerator, @@ -1228,27 +1007,21 @@ dir = 4 }, /obj/item/reagent_containers/glass/beaker/large, -/turf/open/floor/plasteel/hydrofloor{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/hydrofloor, /area/ruin/space/has_grav/deepstorage/hydroponics) "cz" = ( /obj/machinery/hydroponics/constructable, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/turf/open/floor/light{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/light, /area/ruin/space/has_grav/deepstorage/hydroponics) "cA" = ( /obj/machinery/hydroponics/constructable, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, -/turf/open/floor/light{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/light, /area/ruin/space/has_grav/deepstorage/hydroponics) "cB" = ( /obj/effect/turf_decal/delivery, @@ -1261,9 +1034,7 @@ /obj/item/reagent_containers/glass/beaker/waterbottle/large, /obj/item/reagent_containers/glass/beaker/waterbottle/large, /obj/item/reagent_containers/glass/beaker/waterbottle/large, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "cC" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ @@ -1272,9 +1043,7 @@ /obj/structure/cable/yellow{ icon_state = "2-4" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "cD" = ( /obj/machinery/door/airlock/highsecurity{ @@ -1287,9 +1056,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "cE" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ @@ -1299,74 +1066,54 @@ /obj/structure/cable/yellow{ icon_state = "2-8" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "cF" = ( /obj/machinery/atmospherics/pipe/manifold/supplymain/hidden, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "cG" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 10 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "cH" = ( /obj/structure/chair{ dir = 4 }, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/bar, /area/ruin/space/has_grav/deepstorage) "cI" = ( /obj/structure/table, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/bar, /area/ruin/space/has_grav/deepstorage) "cJ" = ( /obj/structure/table, /obj/item/kitchen/fork, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/bar, /area/ruin/space/has_grav/deepstorage) "cK" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/bar, /area/ruin/space/has_grav/deepstorage) "cL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/vending/coffee, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/bar, /area/ruin/space/has_grav/deepstorage) "cM" = ( /obj/machinery/shower{ dir = 4 }, /obj/structure/window/plasma/reinforced, -/turf/open/floor/plasteel/freezer{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/freezer, /area/ruin/space/has_grav/deepstorage) "cN" = ( -/turf/open/floor/plasteel/freezer{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/freezer, /area/ruin/space/has_grav/deepstorage) "cO" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, @@ -1377,18 +1124,14 @@ /obj/structure/mirror{ pixel_x = 24 }, -/turf/open/floor/plasteel/freezer{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/freezer, /area/ruin/space/has_grav/deepstorage) "cP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "cQ" = ( /obj/structure/cable/yellow, @@ -1397,9 +1140,7 @@ name = "Storage APC"; pixel_x = 24 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "cR" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -1407,20 +1148,14 @@ icon_state = "1-2" }, /obj/machinery/computer/arcade, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "cS" = ( /obj/structure/chair/stool, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "cT" = ( -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/bar, /area/ruin/space/has_grav/deepstorage) "cU" = ( /obj/structure/chair{ @@ -1429,9 +1164,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/bar, /area/ruin/space/has_grav/deepstorage) "cV" = ( /obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{ @@ -1440,9 +1173,7 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/bar, /area/ruin/space/has_grav/deepstorage) "cW" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -1451,30 +1182,22 @@ dir = 4; pixel_x = 24 }, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/bar, /area/ruin/space/has_grav/deepstorage) "cX" = ( /obj/structure/toilet{ dir = 4 }, /obj/structure/curtain, -/turf/open/floor/plasteel/freezer{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/freezer, /area/ruin/space/has_grav/deepstorage) "cY" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/freezer{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/freezer, /area/ruin/space/has_grav/deepstorage) "cZ" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, -/turf/open/floor/plasteel/freezer{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/freezer, /area/ruin/space/has_grav/deepstorage) "da" = ( /obj/structure/cable/yellow{ @@ -1482,9 +1205,7 @@ }, /obj/machinery/door/firedoor, /obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/armory) "db" = ( /obj/structure/table, @@ -1492,9 +1213,7 @@ /obj/item/device/healthanalyzer, /obj/item/stack/medical/gauze, /obj/item/stack/medical/gauze, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/deepstorage/armory) "dc" = ( /obj/structure/table, @@ -1503,9 +1222,7 @@ pixel_y = 4 }, /obj/item/storage/firstaid/regular, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/deepstorage/armory) "dd" = ( /obj/structure/table, @@ -1517,30 +1234,22 @@ /obj/machinery/light{ dir = 1 }, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/deepstorage/armory) "de" = ( -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/armory) "df" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "dg" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/storage) "dh" = ( /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, @@ -1548,9 +1257,7 @@ icon_state = "1-4" }, /obj/machinery/computer/arcade, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "di" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -1560,9 +1267,7 @@ icon_state = "4-8" }, /obj/structure/chair/stool, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "dj" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, @@ -1575,9 +1280,7 @@ /obj/structure/cable/yellow{ icon_state = "2-4" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "dk" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -1586,9 +1289,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "dl" = ( /obj/structure/cable/yellow{ @@ -1597,17 +1298,13 @@ /obj/structure/cable/yellow{ icon_state = "2-4" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "dm" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "dn" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, @@ -1617,9 +1314,7 @@ /obj/structure/cable/yellow{ icon_state = "2-8" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "do" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -1627,24 +1322,18 @@ dir = 4; pixel_x = 24 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "dp" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage) "dq" = ( /obj/machinery/door/airlock{ name = "Showers" }, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, -/turf/open/floor/plasteel/freezer{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/freezer, /area/ruin/space/has_grav/deepstorage) "dr" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -1654,9 +1343,7 @@ /obj/structure/cable/yellow{ icon_state = "2-4" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "ds" = ( /obj/structure/cable/yellow{ @@ -1667,20 +1354,14 @@ }, /obj/machinery/door/firedoor, /obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/armory) "dt" = ( -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/deepstorage/armory) "du" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/deepstorage/armory) "dv" = ( /obj/structure/table, @@ -1695,9 +1376,7 @@ dir = 4; pixel_x = 24 }, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/deepstorage/armory) "dw" = ( /obj/effect/turf_decal/delivery, @@ -1716,9 +1395,7 @@ /obj/item/vending_refill/coffee, /obj/item/vending_refill/cigarette, /obj/item/vending_refill/cigarette, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "dx" = ( /obj/effect/turf_decal/delivery, @@ -1734,38 +1411,28 @@ /obj/item/vending_refill/coffee, /obj/item/vending_refill/cigarette, /obj/item/vending_refill/cigarette, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "dy" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "dz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/storage) "dA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/dorm) "dB" = ( -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/dorm) "dC" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, @@ -1775,17 +1442,13 @@ /obj/machinery/light{ dir = 8 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "dD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "dE" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -1794,17 +1457,13 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "dF" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "dG" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -1814,15 +1473,11 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "dH" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "dI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -1831,33 +1486,25 @@ /obj/machinery/light{ dir = 1 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "dJ" = ( /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "dK" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/machinery/door/firedoor, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "dL" = ( /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "dM" = ( /obj/machinery/door/airlock/highsecurity{ @@ -1867,25 +1514,19 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/deepstorage/armory) "dN" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/deepstorage/armory) "dO" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/deepstorage/armory) "dP" = ( /obj/structure/table, @@ -1900,15 +1541,11 @@ dir = 8; pixel_x = 24 }, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/deepstorage/armory) "dQ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/dorm) "dR" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ @@ -1917,9 +1554,7 @@ /obj/structure/cable/yellow{ icon_state = "2-4" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/dorm) "dS" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ @@ -1932,26 +1567,20 @@ /obj/machinery/door/airlock/public/glass{ name = "Dorms" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/dorm) "dT" = ( /obj/machinery/atmospherics/pipe/manifold/supplymain/hidden, /obj/structure/cable/yellow{ icon_state = "1-8" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "dU" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 4 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "dV" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ @@ -1964,9 +1593,7 @@ pixel_y = -24 }, /obj/effect/turf_decal/stripes/corner, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "dW" = ( /obj/machinery/atmospherics/pipe/manifold/supplymain/hidden, @@ -1974,9 +1601,7 @@ icon_state = "1-4" }, /obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "dX" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ @@ -1985,9 +1610,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "dY" = ( /obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{ @@ -1999,9 +1622,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "dZ" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ @@ -2011,18 +1632,14 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "ea" = ( /obj/machinery/atmospherics/pipe/manifold/supplymain/hidden, /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "eb" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ @@ -2032,9 +1649,7 @@ icon_state = "4-8" }, /obj/machinery/door/firedoor, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "ec" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ @@ -2050,18 +1665,14 @@ /obj/structure/cable/yellow{ icon_state = "2-4" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "ed" = ( /obj/machinery/atmospherics/pipe/manifold4w/supplymain/hidden, /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "ee" = ( /obj/machinery/door/airlock/highsecurity{ @@ -2074,9 +1685,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/deepstorage/armory) "ef" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ @@ -2085,17 +1694,13 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/deepstorage/armory) "eg" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/deepstorage/armory) "eh" = ( /obj/structure/table, @@ -2110,15 +1715,11 @@ name = "Armory APC"; pixel_x = 24 }, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/deepstorage/armory) "ei" = ( /obj/structure/dresser, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/wood, /area/ruin/space/has_grav/deepstorage/dorm) "ej" = ( /obj/structure/table/wood, @@ -2126,9 +1727,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/wood, /area/ruin/space/has_grav/deepstorage/dorm) "ek" = ( /obj/structure/bed, @@ -2136,35 +1735,27 @@ dir = 4 }, /obj/item/bedsheet, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/wood, /area/ruin/space/has_grav/deepstorage/dorm) "el" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/dorm) "em" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/dorm) "en" = ( /obj/machinery/door/airlock/highsecurity{ name = "Canister Storage"; req_access_txt = "200" }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage) "eo" = ( /obj/machinery/door/poddoor{ @@ -2172,23 +1763,17 @@ }, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "ep" = ( /obj/machinery/door/poddoor{ id = "bunkerinterior" }, /obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "eq" = ( -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/airlock) "er" = ( /obj/machinery/door/airlock/highsecurity{ @@ -2199,15 +1784,11 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/airlock) "es" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/airlock) "et" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -2220,9 +1801,7 @@ /obj/machinery/light{ dir = 8 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "eu" = ( /obj/structure/cable/yellow{ @@ -2233,25 +1812,19 @@ }, /obj/machinery/door/firedoor, /obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/armory) "ev" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 5 }, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/deepstorage/armory) "ew" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/deepstorage/armory) "ex" = ( /obj/structure/table, @@ -2265,9 +1838,7 @@ /obj/structure/reagent_dispensers/peppertank{ pixel_x = 32 }, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/deepstorage/armory) "ey" = ( /obj/structure/closet/cabinet, @@ -2276,9 +1847,7 @@ icon_state = "centcom"; name = "bunker access ID" }, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/wood, /area/ruin/space/has_grav/deepstorage/dorm) "ez" = ( /obj/structure/chair/stool, @@ -2286,17 +1855,13 @@ dir = 4 }, /obj/machinery/light/small, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/wood, /area/ruin/space/has_grav/deepstorage/dorm) "eA" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 4 }, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/wood, /area/ruin/space/has_grav/deepstorage/dorm) "eB" = ( /obj/machinery/door/airlock{ @@ -2306,9 +1871,7 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/wood, /area/ruin/space/has_grav/deepstorage/dorm) "eC" = ( /obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{ @@ -2317,14 +1880,10 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/dorm) "eD" = ( -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage) "eE" = ( /obj/machinery/portable_atmospherics/canister/oxygen, @@ -2332,9 +1891,7 @@ dir = 4 }, /obj/effect/turf_decal/delivery, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage) "eF" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, @@ -2344,9 +1901,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "eG" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden{ @@ -2355,17 +1910,13 @@ /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "eH" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 4 }, -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/airlock) "eI" = ( /obj/structure/table, @@ -2398,9 +1949,7 @@ network = list("Bunker1"); pixel_y = 2 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/airlock) "eJ" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden{ @@ -2413,9 +1962,7 @@ /obj/structure/cable/yellow{ icon_state = "1-4" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/airlock) "eK" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden{ @@ -2428,9 +1975,7 @@ /obj/machinery/firealarm{ pixel_y = 24 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/airlock) "eL" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden{ @@ -2444,17 +1989,13 @@ name = "Airlock Control APC"; pixel_y = 24 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/airlock) "eM" = ( /obj/structure/cable/yellow, /obj/machinery/door/firedoor, /obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/armory) "eN" = ( /obj/structure/table, @@ -2465,9 +2006,7 @@ /obj/item/storage/firstaid/toxin, /obj/item/storage/pill_bottle/charcoal, /obj/machinery/light, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/deepstorage/armory) "eO" = ( /obj/structure/table, @@ -2482,9 +2021,7 @@ /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/deepstorage/armory) "eP" = ( /obj/structure/table, @@ -2503,9 +2040,7 @@ /obj/item/device/flashlight/flare{ pixel_y = 6 }, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/deepstorage/armory) "eQ" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, @@ -2515,24 +2050,18 @@ /obj/machinery/light{ dir = 4 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/dorm) "eR" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/effect/turf_decal/delivery, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage) "eS" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "eT" = ( /obj/machinery/door/poddoor/shutters/preopen{ @@ -2546,9 +2075,7 @@ }, /obj/machinery/door/firedoor, /obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/airlock) "eU" = ( /obj/structure/chair{ @@ -2557,9 +2084,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/airlock) "eV" = ( /obj/structure/cable/yellow{ @@ -2568,15 +2093,11 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/airlock) "eW" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/airlock) "eX" = ( /obj/machinery/atmospherics/components/binary/valve{ @@ -2586,9 +2107,7 @@ dir = 4; pixel_x = 24 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/airlock) "eY" = ( /obj/machinery/door/airlock/highsecurity{ @@ -2599,9 +2118,7 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "eZ" = ( /obj/machinery/door/airlock/highsecurity{ @@ -2609,41 +2126,31 @@ req_access_txt = "200" }, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "fa" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 6 }, -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/armory) "fb" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 }, -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/armory) "fc" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 }, -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/power) "fd" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 8 }, -/turf/open/floor/plating/airless/astplate{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating/airless/astplate, /area/ruin/space/has_grav/deepstorage/power) "fe" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, @@ -2654,22 +2161,16 @@ dir = 4; pixel_x = 24 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/dorm) "ff" = ( /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /obj/effect/turf_decal/delivery, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage) "fg" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "fh" = ( /obj/machinery/door/poddoor/shutters/preopen{ @@ -2678,47 +2179,35 @@ /obj/structure/cable/yellow, /obj/machinery/door/firedoor, /obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/airlock) "fi" = ( -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/airlock) "fj" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/airlock) "fk" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/airlock) "fl" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "fm" = ( /obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{ dir = 8 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "fn" = ( /obj/machinery/atmospherics/pipe/simple/green/visible, @@ -2730,20 +2219,14 @@ locked = 0; pixel_y = 23 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "fo" = ( /obj/machinery/suit_storage_unit/syndicate, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "fp" = ( -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/power) "fq" = ( /obj/machinery/portable_atmospherics/canister/nitrous_oxide, @@ -2751,9 +2234,7 @@ dir = 4 }, /obj/effect/turf_decal/delivery, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage) "fr" = ( /obj/machinery/atmospherics/pipe/simple/yellow/hidden{ @@ -2763,17 +2244,13 @@ dir = 4 }, /obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "fs" = ( /obj/machinery/atmospherics/pipe/simple/yellow/hidden{ dir = 4 }, -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/airlock) "ft" = ( /obj/machinery/atmospherics/pipe/simple/yellow/hidden{ @@ -2783,27 +2260,21 @@ dir = 4; pixel_x = -24 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/airlock) "fu" = ( /obj/machinery/atmospherics/pipe/simple/yellow/hidden{ dir = 4 }, /obj/machinery/light, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/airlock) "fv" = ( /obj/machinery/atmospherics/components/binary/valve{ dir = 4; name = "Port To Hall" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/airlock) "fw" = ( /obj/machinery/portable_atmospherics/canister/nitrous_oxide, @@ -2811,9 +2282,7 @@ dir = 8 }, /obj/item/wrench, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/airlock) "fx" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, @@ -2829,9 +2298,7 @@ pixel_x = -25; pixel_y = 1 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "fy" = ( /obj/machinery/atmospherics/components/trinary/mixer{ @@ -2841,26 +2308,20 @@ node2_concentration = 0.8; on = 1 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "fz" = ( /obj/machinery/atmospherics/pipe/simple/green/visible, /obj/machinery/atmospherics/pipe/simple/supplymain/visible{ dir = 4 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "fA" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/visible{ dir = 4 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "fB" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/visible{ @@ -2868,9 +2329,7 @@ }, /obj/machinery/door/firedoor, /obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/power) "fC" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ @@ -2879,14 +2338,10 @@ id_tag = "o2_out_bunker"; name = "oxygen out" }, -/turf/open/floor/plating/airless{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating/airless, /area/ruin/space/has_grav/deepstorage/power) "fD" = ( -/turf/open/floor/plating/airless{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating/airless, /area/ruin/space/has_grav/deepstorage/power) "fE" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, @@ -2896,9 +2351,7 @@ name = "Dormory APC"; pixel_x = 24 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/dorm) "fF" = ( /obj/machinery/door/poddoor{ @@ -2906,30 +2359,22 @@ }, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "fG" = ( /obj/machinery/door/poddoor{ id = "bunkerexterior" }, /obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "fH" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/visible, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "fI" = ( /obj/machinery/atmospherics/pipe/simple/green/visible, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "fJ" = ( /obj/machinery/computer/atmos_control/tank{ @@ -2940,66 +2385,50 @@ output_tag = "o2_out_bunker"; sensors = list("o2_sensor_bunker" = "Tank") }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "fK" = ( /obj/machinery/door/firedoor, /obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/power) "fL" = ( /obj/machinery/air_sensor{ frequency = 1441; id_tag = "o2_sensor_bunker" }, -/turf/open/floor/plating/airless{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating/airless, /area/ruin/space/has_grav/deepstorage/power) "fM" = ( /obj/machinery/atmospherics/miner/oxygen, /obj/machinery/light/small{ dir = 4 }, -/turf/open/floor/plating/airless{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating/airless, /area/ruin/space/has_grav/deepstorage/power) "fN" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/dorm) "fO" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/dorm) "fP" = ( /obj/structure/closet/wardrobe/pjs, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/dorm) "fQ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "fR" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ @@ -3014,9 +2443,7 @@ /obj/effect/turf_decal/stripes/corner{ dir = 8 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "fS" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ @@ -3025,14 +2452,10 @@ /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "fT" = ( -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "fU" = ( /obj/machinery/camera{ @@ -3044,15 +2467,11 @@ /obj/effect/turf_decal/stripes/corner{ dir = 4 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "fV" = ( /obj/structure/closet/emcloset, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "fW" = ( /obj/structure/cable/yellow{ @@ -3061,9 +2480,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/power) "fX" = ( /obj/structure/cable/yellow{ @@ -3075,9 +2492,7 @@ /obj/structure/sign/electricshock{ pixel_y = 32 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/power) "fY" = ( /obj/effect/turf_decal/stripes/line{ @@ -3089,9 +2504,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/power) "fZ" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ @@ -3100,9 +2513,7 @@ /obj/structure/cable/yellow{ icon_state = "1-8" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "ga" = ( /obj/machinery/atmospherics/components/trinary/filter{ @@ -3110,17 +2521,13 @@ filter_type = "o2"; on = 1 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "gb" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "gc" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ @@ -3128,9 +2535,7 @@ }, /obj/machinery/door/firedoor, /obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/power) "gd" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ @@ -3138,9 +2543,7 @@ frequency = 1441; id = "n2_in_bunker" }, -/turf/open/floor/plating/airless{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating/airless, /area/ruin/space/has_grav/deepstorage/power) "ge" = ( /obj/machinery/door/airlock{ @@ -3149,17 +2552,13 @@ /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 4 }, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/wood, /area/ruin/space/has_grav/deepstorage/dorm) "gf" = ( /obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{ dir = 4 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/dorm) "gg" = ( /obj/machinery/washing_machine, @@ -3170,9 +2569,7 @@ dir = 8; pixel_x = 24 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/dorm) "gh" = ( /obj/structure/cable/yellow{ @@ -3184,9 +2581,7 @@ /obj/machinery/light/small{ dir = 8 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/power) "gi" = ( /obj/machinery/power/terminal{ @@ -3198,18 +2593,14 @@ /obj/structure/cable/yellow{ icon_state = "0-4" }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/power) "gj" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /obj/structure/cable/yellow{ icon_state = "2-8" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "gk" = ( /obj/machinery/light{ @@ -3219,57 +2610,43 @@ dir = 4; pixel_x = 24 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "gl" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/dorm) "gm" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/closet/crate/bin{ name = "laundry bin" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/dorm) "gn" = ( /obj/machinery/light/small, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "go" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "gp" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/power) "gq" = ( /obj/structure/cable/yellow{ icon_state = "1-4" }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/power) "gr" = ( /obj/machinery/power/smes/engineering, @@ -3279,9 +2656,7 @@ /obj/structure/sign/electricshock{ pixel_y = -32 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/power) "gs" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ @@ -3290,9 +2665,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "gt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, @@ -3302,17 +2675,13 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "gu" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/visible{ dir = 5 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "gv" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ @@ -3321,22 +2690,16 @@ id_tag = "n2_out_bunker"; name = "nitrogen out" }, -/turf/open/floor/plating/airless{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating/airless, /area/ruin/space/has_grav/deepstorage/power) "gw" = ( /obj/machinery/sleeper{ dir = 4 }, -/turf/open/floor/plasteel/white{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/white, /area/ruin/space/has_grav/deepstorage/dorm) "gx" = ( -/turf/open/floor/plasteel/white{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/white, /area/ruin/space/has_grav/deepstorage/dorm) "gy" = ( /obj/structure/closet/crate/freezer, @@ -3351,9 +2714,7 @@ /obj/item/reagent_containers/blood/random, /obj/item/reagent_containers/blood/random, /obj/item/reagent_containers/blood/random, -/turf/open/floor/plasteel/white{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/white, /area/ruin/space/has_grav/deepstorage/dorm) "gz" = ( /obj/machinery/door/airlock/highsecurity{ @@ -3361,9 +2722,7 @@ name = "Inconspicuous Airlock"; req_access_txt = "200" }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage) "gA" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ @@ -3372,17 +2731,13 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "gB" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "gC" = ( /obj/machinery/computer/atmos_control/tank{ @@ -3393,55 +2748,41 @@ output_tag = "n2_out_bunker"; sensors = list("n2_sensor_bunker" = "Tank") }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "gD" = ( /obj/machinery/air_sensor{ frequency = 1441; id_tag = "n2_sensor_bunker" }, -/turf/open/floor/plating/airless{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating/airless, /area/ruin/space/has_grav/deepstorage/power) "gE" = ( /obj/machinery/atmospherics/miner/nitrogen, /obj/machinery/light/small{ dir = 4 }, -/turf/open/floor/plating/airless{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating/airless, /area/ruin/space/has_grav/deepstorage/power) "gF" = ( /obj/machinery/light/small, -/turf/open/floor/plasteel/white{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/white, /area/ruin/space/has_grav/deepstorage/dorm) "gG" = ( /obj/machinery/iv_drip, -/turf/open/floor/plasteel/white{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/white, /area/ruin/space/has_grav/deepstorage/dorm) "gH" = ( /obj/machinery/light/small{ dir = 8 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage) "gI" = ( /obj/machinery/light/small{ dir = 4 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage) "gJ" = ( /obj/machinery/light/small{ @@ -3450,9 +2791,7 @@ /obj/structure/cable/yellow{ icon_state = "2-4" }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/power) "gK" = ( /obj/structure/cable/yellow{ @@ -3461,9 +2800,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/power) "gL" = ( /obj/machinery/door/airlock/highsecurity{ @@ -3473,23 +2810,17 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/power) "gM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /obj/structure/cable/yellow{ icon_state = "1-8" }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "gN" = ( -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "gO" = ( /obj/machinery/atmospherics/components/trinary/filter{ @@ -3497,9 +2828,7 @@ filter_type = "n2o"; on = 1 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "gP" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ @@ -3507,9 +2836,7 @@ frequency = 1441; id = "o2_in_bunker" }, -/turf/open/floor/plating/airless{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating/airless, /area/ruin/space/has_grav/deepstorage/power) "gQ" = ( /obj/machinery/door/airlock/highsecurity{ @@ -3518,18 +2845,14 @@ req_access_txt = "200" }, /obj/structure/fans/tiny, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage) "gR" = ( /obj/structure/grille, /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/power) "gS" = ( /obj/structure/grille, @@ -3540,9 +2863,7 @@ icon_state = "1-8" }, /obj/machinery/door/firedoor, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/power) "gT" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ @@ -3552,17 +2873,13 @@ /obj/structure/sign/radiation{ pixel_x = -32 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "gU" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "gV" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ @@ -3574,9 +2891,7 @@ pixel_y = 4 }, /obj/item/storage/toolbox/electrical, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "gW" = ( /obj/structure/table, @@ -3585,9 +2900,7 @@ pixel_y = 4 }, /obj/item/storage/toolbox/mechanical, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "gX" = ( /obj/machinery/power/rtg/advanced, @@ -3595,51 +2908,37 @@ icon_state = "1-2" }, /obj/structure/cable/yellow, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/power) "gY" = ( /obj/machinery/door/airlock/highsecurity{ name = "Telecomms"; req_access_txt = "200" }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/power) "gZ" = ( /obj/machinery/power/rtg/advanced, /obj/structure/cable/yellow, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/power) "ha" = ( /obj/machinery/power/rtg/advanced, /obj/machinery/light/small, /obj/structure/cable/yellow, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/power) "hb" = ( /obj/machinery/blackbox_recorder, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/power) "hc" = ( /obj/machinery/light/small, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/power) "hd" = ( /obj/machinery/telecomms/relay/preset/telecomms, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/power) "he" = ( /obj/structure/window/reinforced{ @@ -3648,9 +2947,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/crusher) "hf" = ( /obj/machinery/hydroponics/constructable, @@ -3662,9 +2959,7 @@ locked = 0; pixel_y = 23 }, -/turf/open/floor/light{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/light, /area/ruin/space/has_grav/deepstorage/hydroponics) "hg" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -3673,18 +2968,14 @@ /obj/machinery/firealarm{ pixel_y = 24 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "hh" = ( /obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{ dir = 1 }, /obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "hi" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ @@ -3696,9 +2987,7 @@ /obj/effect/turf_decal/stripes/corner{ dir = 1 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "hj" = ( /obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{ @@ -3711,16 +3000,12 @@ dir = 4; pixel_x = 24 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/dorm) "hk" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "hl" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, @@ -3731,43 +3016,33 @@ dir = 8; pixel_x = -24 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/power) "hm" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "hn" = ( /obj/structure/closet/emcloset, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, -/turf/open/floor/plasteel/floorgrime{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage) "ho" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 }, -/turf/closed/wall/mineral/iron{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/power) "hp" = ( /obj/machinery/power/smes/engineering, /obj/structure/cable/yellow{ icon_state = "0-8" }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, /area/ruin/space/has_grav/deepstorage/power) "hq" = ( /obj/machinery/door/firedoor, @@ -3775,9 +3050,117 @@ /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/airless - }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/power) +"hr" = ( +/obj/effect/baseturf_helper/asteroid/airless, +/turf/closed/mineral/random/low_chance, +/area/ruin/unpowered/no_grav) +"hs" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"ht" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hu" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hv" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hw" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hx" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hy" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hz" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hA" = ( +/obj/effect/baseturf_helper/asteroid/airless, +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/kitchen) +"hB" = ( +/obj/effect/baseturf_helper/asteroid/airless, +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/hydroponics) +"hC" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hD" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hE" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hF" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hG" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hH" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hI" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hJ" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hK" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hL" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hM" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hN" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hO" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hP" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hQ" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hR" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hS" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hT" = ( +/obj/effect/baseturf_helper/asteroid/airless, +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage) +"hU" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/storage) +"hV" = ( +/obj/effect/baseturf_helper/asteroid/airless, +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/dorm) +"hW" = ( +/obj/effect/baseturf_helper/asteroid/airless, +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/armory) +"hX" = ( +/obj/effect/baseturf_helper/asteroid/airless, +/turf/closed/wall/mineral/iron, +/area/ruin/space/has_grav/deepstorage/airlock) +"hY" = ( +/obj/effect/baseturf_helper/asteroid/airless, +/turf/closed/wall/mineral/iron, /area/ruin/space/has_grav/deepstorage/power) (1,1,1) = {" @@ -4259,7 +3642,7 @@ ab ab ab ab -ab +hr ab ab ab @@ -4318,14 +3701,14 @@ ab ab ab ab -aw -aw -aw -aw -aw -aw -aw -dB +hE +hJ +hN +hP +hQ +hS +hU +hV dB dB dB @@ -4370,7 +3753,7 @@ ab ab ab ab -aw +hF bT bU cB @@ -4419,10 +3802,10 @@ ab ab ab aw -aw -aw -aw -aw +hz +hC +hD +hG bU bU cB @@ -4470,11 +3853,11 @@ ab ab ab ab -aw +hs aG aR bm -aw +hH bV ch cC @@ -4522,15 +3905,15 @@ ab ab ab ab -aw +ht aH aS bn -aw -aw -aw +hI +hK +hO cD -aw +hR dg dz dQ @@ -4574,7 +3957,7 @@ ab ab ab ab -aw +hu aI aT bo @@ -4626,7 +4009,7 @@ ab ab ab ab -aw +hv aJ aU bp @@ -4678,12 +4061,12 @@ ab ab ab ab -aw +hw aK aV bq bG -aw +hL cj cG bz @@ -4730,12 +4113,12 @@ ab ab ab ab -aw +hx aL aW br bH -aw +hM ck cH cT @@ -4782,8 +4165,8 @@ ab ab ab ab -aw -af +hy +hA af af af @@ -4999,7 +4382,7 @@ af cp cp cp -cp +hT dI dX eq @@ -5059,7 +4442,7 @@ eJ eV fi fu -eq +hX ho fp fp @@ -5575,7 +4958,7 @@ de de de de -de +hW fb fp fD @@ -5585,7 +4968,7 @@ fp fD gE fD -fp +hY ab ab ab @@ -5719,7 +5102,7 @@ ab ab ab ab -aQ +hB aQ aQ aQ diff --git a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm index 2eab719806..42b04d5c30 100644 --- a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm +++ b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm @@ -4059,14 +4059,10 @@ /area/ruin/space/has_grav/hotel/pool) "li" = ( /obj/effect/light_emitter, -/turf/open/floor/plating/beach/water{ - baseturf = /turf/open/space - }, +/turf/open/floor/plating/beach/water, /area/ruin/space/has_grav/hotel/pool) "lj" = ( -/turf/open/floor/plating/beach/water{ - baseturf = /turf/open/space - }, +/turf/open/floor/plating/beach/water, /area/ruin/space/has_grav/hotel/pool) "lk" = ( /obj/structure/chair{ @@ -4274,9 +4270,7 @@ /area/ruin/space/has_grav/hotel/security) "lP" = ( /obj/item/bikehorn/rubberducky, -/turf/open/floor/plating/beach/water{ - baseturf = /turf/open/space - }, +/turf/open/floor/plating/beach/water, /area/ruin/space/has_grav/hotel/pool) "lQ" = ( /obj/structure/table, @@ -4655,6 +4649,10 @@ }, /turf/open/floor/carpet, /area/ruin/space/has_grav/hotel) +"mW" = ( +/obj/effect/baseturf_helper/space, +/turf/closed/wall, +/area/ruin/space/has_grav/hotel/pool) (1,1,1) = {" aa @@ -7090,7 +7088,7 @@ ih fi cJ jt -jQ +mW jQ jQ jQ diff --git a/_maps/RandomZLevels/beach2.dmm b/_maps/RandomZLevels/beach2.dmm index 7f48402838..81bb0144d9 100644 --- a/_maps/RandomZLevels/beach2.dmm +++ b/_maps/RandomZLevels/beach2.dmm @@ -91,22 +91,16 @@ density = 0; pixel_y = 18 }, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "at" = ( -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "au" = ( /obj/machinery/computer/security/telescreen/entertainment{ pixel_y = 32 }, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "av" = ( /obj/structure/toilet{ @@ -117,9 +111,7 @@ /area/awaymission/beach) "aw" = ( /obj/structure/closet/secure_closet/personal/cabinet, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "ax" = ( /obj/item/bedsheet/rainbow, @@ -131,9 +123,7 @@ pixel_x = 24; specialfunctions = 4 }, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "ay" = ( /obj/effect/overlay/palmtree_r, @@ -151,9 +141,7 @@ /obj/item/reagent_containers/food/drinks/bottle/wine, /obj/item/reagent_containers/food/drinks/bottle/rum, /obj/structure/table/wood, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "aB" = ( /obj/effect/overlay/coconut, @@ -174,9 +162,7 @@ /obj/structure/mirror{ pixel_y = 28 }, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "aF" = ( /obj/machinery/button/door{ @@ -186,9 +172,7 @@ pixel_x = 24; specialfunctions = 4 }, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "aG" = ( /obj/machinery/button/door{ @@ -198,9 +182,7 @@ pixel_x = 24; specialfunctions = 4 }, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "aH" = ( /obj/machinery/door/airlock/sandstone{ @@ -238,74 +220,52 @@ /area/awaymission/beach) "aM" = ( /obj/structure/closet/gmcloset, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "aN" = ( /obj/structure/closet/secure_closet/bar, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "aO" = ( /obj/structure/table/wood, /obj/item/book/manual/barman_recipes, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "aP" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/drinks/shaker, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "aQ" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/drinks/beer, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "aR" = ( /obj/structure/table/wood, /obj/item/clothing/glasses/sunglasses, /obj/item/reagent_containers/food/drinks/beer, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "aS" = ( /obj/effect/mob_spawn/human/bartender/alive, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "aT" = ( /obj/machinery/vending/boozeomat, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "aU" = ( /obj/machinery/vending/cigarette, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "aV" = ( /obj/machinery/vending/cola, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "aW" = ( /obj/machinery/vending/snack, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "aX" = ( /obj/structure/mineral_door/wood{ @@ -316,29 +276,21 @@ "aY" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/drinks/ale, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "aZ" = ( /obj/structure/table/wood, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "ba" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/drinks/soda_cans/dr_gibb, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "bb" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/drinks/soda_cans/lemon_lime, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/beach/sand - }, +/turf/open/floor/wood, /area/awaymission/beach) "bc" = ( /obj/item/toy/beach_ball, @@ -431,6 +383,10 @@ "bt" = ( /turf/open/floor/plating/beach/water, /area/awaymission/beach) +"bu" = ( +/obj/effect/baseturf_helper/beach/sand, +/turf/open/floor/plating/beach/sand, +/area/awaymission/beach) (1,1,1) = {" aa @@ -43447,7 +43403,7 @@ ab ab ab ab -ac +bu ac ac ac diff --git a/_maps/RandomZLevels/caves.dmm b/_maps/RandomZLevels/caves.dmm index cfbd187283..06ef5c5c79 100644 --- a/_maps/RandomZLevels/caves.dmm +++ b/_maps/RandomZLevels/caves.dmm @@ -10,7 +10,6 @@ /area/awaymission/caves/BMP_asteroid/level_three) "ad" = ( /turf/open/lava/smooth{ - baseturf = /turf/open/lava/smooth; desc = "Looks hot."; luminosity = 5; name = "lava"; @@ -36,7 +35,6 @@ /area/awaymission/caves/BMP_asteroid/level_three) "ah" = ( /turf/open/lava/smooth{ - baseturf = /turf/open/lava/smooth; desc = "Looks hot."; luminosity = 5; name = "lava"; @@ -77,14 +75,12 @@ /area/awaymission/caves/BMP_asteroid/level_four) "ao" = ( /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) "ap" = ( /obj/structure/destructible/cult/pylon, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -97,14 +93,12 @@ "ar" = ( /obj/effect/decal/cleanable/blood/old, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) "as" = ( /obj/effect/decal/cleanable/blood/gibs/old, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -124,7 +118,6 @@ /obj/item/clothing/mask/gas/clown_hat, /obj/item/organ/heart/demon, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -134,25 +127,20 @@ name = "shock rune" }, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) "aw" = ( /obj/effect/decal/remains/human, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) "ax" = ( /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, -/turf/closed/wall/mineral/cult{ - baseturf = /turf/open/lava/smooth - }, +/turf/closed/wall/mineral/cult, /area/awaymission/caves/BMP_asteroid/level_four) "ay" = ( /obj/structure/destructible/cult/tome, @@ -162,14 +150,12 @@ }, /obj/item/coin/antagtoken, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) "az" = ( /obj/structure/constructshell, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -177,14 +163,12 @@ /obj/structure/girder/cult, /obj/item/stack/sheet/runed_metal, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) "aB" = ( /mob/living/simple_animal/hostile/spawner/skeleton, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -192,14 +176,12 @@ /obj/structure/bed, /obj/item/bedsheet/cult, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) "aD" = ( /obj/item/stack/sheet/runed_metal, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -213,7 +195,6 @@ name = "an extremely flamboyant book" }, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -225,37 +206,29 @@ name = "weak forcefield" }, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) "aG" = ( /obj/item/ectoplasm, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) "aH" = ( -/turf/closed/wall{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/closed/wall, /area/awaymission/caves/BMP_asteroid/level_three) "aI" = ( /obj/machinery/door/airlock/external, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_three) "aJ" = ( -/turf/closed/wall/rust{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/closed/wall/rust, /area/awaymission/caves/BMP_asteroid/level_three) "aK" = ( /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_three) @@ -264,7 +237,6 @@ dir = 4 }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_three) @@ -275,7 +247,6 @@ id = "minedeep" }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_three) @@ -293,7 +264,6 @@ dir = 8 }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_three) @@ -305,7 +275,6 @@ name = "rusty ladder" }, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -318,14 +287,12 @@ "aR" = ( /obj/effect/forcefield/cult, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) "aS" = ( /obj/structure/girder/cult, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -351,7 +318,6 @@ "aV" = ( /obj/effect/forcefield/cult, /turf/open/lava/smooth{ - baseturf = /turf/open/lava/smooth; desc = "Looks hot."; luminosity = 5; name = "lava"; @@ -361,7 +327,6 @@ "aW" = ( /obj/structure/barricade/wooden, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_three) @@ -371,7 +336,6 @@ id_target = "minedeepup" }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_three) @@ -390,7 +354,6 @@ name = "flame rune" }, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -398,7 +361,6 @@ /obj/structure/destructible/cult/talisman, /obj/item/plasma_fist_scroll, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -418,9 +380,7 @@ /turf/open/floor/plating/asteroid/basalt/lava{ initial_gas_mix = "n2=23;o2=14" }, -/turf/closed/wall/mineral/cult{ - baseturf = /turf/open/lava/smooth - }, +/turf/closed/wall/mineral/cult, /area/awaymission/caves/BMP_asteroid/level_four) "be" = ( /mob/living/simple_animal/hostile/spawner/mining/goliath, @@ -431,7 +391,6 @@ "bf" = ( /obj/effect/decal/cleanable/blood, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -452,7 +411,6 @@ dir = 9 }, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -461,7 +419,6 @@ dir = 1 }, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -470,7 +427,6 @@ dir = 5 }, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -479,7 +435,6 @@ dir = 8 }, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -488,7 +443,6 @@ calibrated = 0 }, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -497,7 +451,6 @@ dir = 4 }, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -513,14 +466,12 @@ dir = 10 }, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) "bq" = ( /obj/machinery/gateway, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -529,7 +480,6 @@ dir = 6 }, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -565,7 +515,6 @@ /obj/effect/decal/cleanable/blood, /mob/living/simple_animal/hostile/spawner/skeleton, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -586,7 +535,6 @@ /obj/effect/decal/remains/human, /obj/effect/decal/cleanable/blood, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -595,7 +543,6 @@ /obj/item/device/necromantic_stone, /obj/effect/decal/cleanable/blood, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -607,14 +554,12 @@ /area/awaymission/caves/BMP_asteroid/level_three) "bC" = ( /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_three) "bD" = ( /mob/living/simple_animal/hostile/skeleton, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_three) @@ -622,7 +567,6 @@ /obj/structure/destructible/cult/pylon, /obj/effect/decal/cleanable/blood, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_four) @@ -634,7 +578,6 @@ name = "rusty ladder" }, /turf/open/floor/engine/cult{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_three) @@ -670,7 +613,6 @@ /area/awaymission/caves/BMP_asteroid) "bM" = ( /turf/open/lava/smooth{ - baseturf = /turf/open/lava/smooth; desc = "Looks hot."; luminosity = 5; name = "lava"; @@ -682,7 +624,6 @@ /area/awaymission/caves/BMP_asteroid/level_two) "bO" = ( /turf/open/lava/smooth{ - baseturf = /turf/open/lava/smooth; desc = "Looks hot."; luminosity = 5; name = "lava"; @@ -703,25 +644,19 @@ }, /area/awaymission/caves/BMP_asteroid/level_two) "bQ" = ( -/turf/closed/wall/rust{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/closed/wall/rust, /area/awaymission/caves/BMP_asteroid/level_two) "bR" = ( -/turf/closed/wall{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/closed/wall, /area/awaymission/caves/BMP_asteroid/level_two) "bS" = ( /obj/structure/barricade/wooden, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_two) "bT" = ( /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_two) @@ -731,7 +666,6 @@ id_target = "minedeepup" }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_two) @@ -758,7 +692,6 @@ "bY" = ( /mob/living/simple_animal/hostile/skeleton, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_two) @@ -774,7 +707,6 @@ "ca" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) @@ -816,25 +748,19 @@ id = "mineintro" }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_two) "cf" = ( /turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_two) "cg" = ( -/turf/closed/wall{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/closed/wall, /area/awaymission/caves/research) "ch" = ( -/turf/closed/wall/rust{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/closed/wall/rust, /area/awaymission/caves/research) "ci" = ( /obj/item/shard, @@ -859,7 +785,6 @@ "cl" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_two) @@ -868,7 +793,6 @@ /area/awaymission/caves/BMP_asteroid/level_two) "cn" = ( /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) @@ -879,14 +803,12 @@ /obj/structure/filingcabinet, /obj/item/paper/fluff/awaymissions/caves/omega, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) "cp" = ( /obj/structure/table, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) @@ -898,14 +820,12 @@ /area/awaymission/caves/BMP_asteroid/level_two) "cr" = ( /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) "cs" = ( /obj/item/shard, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) @@ -914,34 +834,29 @@ /obj/item/stack/rods, /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) "cu" = ( /obj/effect/decal/cleanable/blood/gibs, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) "cv" = ( /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) "cw" = ( /obj/item/stack/rods, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) "cx" = ( /turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) @@ -960,7 +875,6 @@ "cA" = ( /obj/effect/decal/remains/xeno, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) @@ -970,7 +884,6 @@ }, /obj/effect/decal/cleanable/xenoblood, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) @@ -979,14 +892,12 @@ /obj/item/restraints/handcuffs/cable, /obj/item/restraints/handcuffs/cable, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) "cD" = ( /obj/effect/decal/remains/human, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) @@ -997,14 +908,12 @@ }, /obj/item/stack/rods, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) "cF" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) @@ -1019,13 +928,11 @@ "cH" = ( /obj/machinery/door/airlock/external, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_two) "cI" = ( /turf/open/floor/plating{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_two) @@ -1039,9 +946,7 @@ desc = "A warning sign which reads 'HOLY SHIT NIGGA WHAT ARE YOU DOING'."; name = "\improper HOLY SHIT NIGGA WHAT ARE YOU DOING" }, -/turf/closed/wall{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/closed/wall, /area/awaymission/caves/BMP_asteroid/level_two) "cL" = ( /mob/living/simple_animal/hostile/spawner/mining/basilisk, @@ -1054,7 +959,6 @@ dir = 8 }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) @@ -1062,7 +966,6 @@ /obj/machinery/door/window/eastleft, /obj/effect/decal/cleanable/xenoblood/xgibs, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) @@ -1072,14 +975,12 @@ }, /obj/machinery/door/window/eastleft, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) "cP" = ( /obj/machinery/door/airlock/external, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) @@ -1099,7 +1000,6 @@ "cR" = ( /obj/effect/landmark/awaystart, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) @@ -1110,7 +1010,6 @@ icon_state = "right" }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) @@ -1122,7 +1021,6 @@ icon_state = "right" }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) @@ -1138,7 +1036,6 @@ "cV" = ( /obj/effect/decal/cleanable/xenoblood/xgibs, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) @@ -1147,7 +1044,6 @@ dir = 4 }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) @@ -1155,14 +1051,12 @@ /obj/structure/table, /obj/item/melee/baton, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) "cY" = ( /obj/structure/glowshroom/single, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) @@ -1172,7 +1066,6 @@ pixel_x = 32 }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) @@ -1187,7 +1080,6 @@ /obj/machinery/cell_charger, /obj/item/stock_parts/cell/crap, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) @@ -1207,14 +1099,12 @@ "dd" = ( /obj/structure/closet/emcloset, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) "de" = ( /obj/machinery/light, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) @@ -1226,7 +1116,6 @@ /obj/item/grenade/syndieminibomb/concussion, /obj/item/grenade/syndieminibomb/concussion, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/research) @@ -1236,24 +1125,19 @@ id_target = "mineintroup" }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid/level_two) "dh" = ( /obj/machinery/door/airlock/external, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/BMP_asteroid/level_two) "di" = ( /obj/structure/table, /obj/item/paper/fluff/awaymissions/caves/magma, /obj/item/pen, /obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid/level_two) "dj" = ( /obj/structure/ladder/unbreakable{ @@ -1261,64 +1145,46 @@ height = 2; id = "minedeep" }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid/level_two) "dk" = ( /obj/structure/table, /obj/machinery/microwave, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid/level_two) "dl" = ( /obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/BMP_asteroid/level_two) "dm" = ( /obj/structure/spider/stickyweb, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/BMP_asteroid/level_two) "dn" = ( /obj/structure/chair{ dir = 1 }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid/level_two) "do" = ( -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid/level_two) "dp" = ( /obj/structure/table, /obj/item/storage/box/donkpockets, /obj/item/clothing/glasses/meson, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid/level_two) "dq" = ( /obj/machinery/light/small/built{ dir = 4 }, /obj/structure/spider/stickyweb, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid/level_two) "dr" = ( /obj/structure/spider/stickyweb, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid/level_two) "ds" = ( /obj/structure/closet/secure_closet/personal, @@ -1330,193 +1196,137 @@ pixel_x = 5; throwforce = 1 }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid/level_two) "dt" = ( -/turf/closed/wall{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/closed/wall, /area/awaymission/caves/northblock) "du" = ( -/turf/closed/wall/rust{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/closed/wall/rust, /area/awaymission/caves/northblock) "dv" = ( /obj/machinery/suit_storage_unit/mining{ desc = "An industrial unit made to hold space suits. Age has seemed to rust the sliding door mechanisms, making it difficult to open."; name = "rusted suit storage unit" }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid/level_two) "dw" = ( /obj/structure/bed, /obj/item/bedsheet, /obj/effect/landmark/awaystart, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid/level_two) "dx" = ( /obj/structure/closet/secure_closet/personal, /obj/effect/decal/cleanable/cobweb, /obj/item/sord, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/wood, /area/awaymission/caves/northblock) "dy" = ( -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/wood, /area/awaymission/caves/northblock) "dz" = ( /obj/structure/table/wood, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/wood, /area/awaymission/caves/northblock) "dA" = ( /obj/structure/closet/secure_closet/personal, /obj/item/gun/energy/kinetic_accelerator, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/wood, /area/awaymission/caves/northblock) "dB" = ( /obj/structure/dresser, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/wood, /area/awaymission/caves/northblock) "dC" = ( /obj/structure/closet/secure_closet/personal, /obj/effect/decal/cleanable/cobweb, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/wood, /area/awaymission/caves/northblock) "dD" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/wood, /area/awaymission/caves/northblock) "dE" = ( /obj/machinery/light/small/built{ dir = 8 }, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/wood, /area/awaymission/caves/northblock) "dF" = ( /obj/structure/bed, /obj/item/bedsheet, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/wood, /area/awaymission/caves/northblock) "dG" = ( /obj/machinery/light/small{ dir = 8 }, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/wood, /area/awaymission/caves/northblock) "dH" = ( /obj/structure/bed, /obj/item/bedsheet, /obj/effect/landmark/awaystart, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/wood, /area/awaymission/caves/northblock) "dI" = ( /obj/machinery/door/airlock{ name = "Dorm" }, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/wood, /area/awaymission/caves/northblock) "dJ" = ( /obj/item/stack/rods, /obj/structure/spider/stickyweb, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/northblock) "dK" = ( /obj/structure/girder, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/northblock) "dL" = ( /obj/item/stack/sheet/metal, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/northblock) "dM" = ( -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/northblock) "dN" = ( /obj/machinery/light/small{ dir = 1 }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/northblock) "dO" = ( /mob/living/simple_animal/hostile/retaliate/bat{ desc = "A rare breed of bat which roosts deep in caves."; name = "Cave Bat" }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/northblock) "dP" = ( /obj/item/stack/rods, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/northblock) "dQ" = ( /obj/machinery/door/airlock/mining{ name = "Dorm Access" }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/northblock) "dR" = ( -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/northblock) "dS" = ( /obj/machinery/light/small, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/northblock) "dT" = ( /obj/structure/spider/stickyweb, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/northblock) "dU" = ( /obj/structure/closet/crate/miningcar{ @@ -1533,51 +1343,39 @@ /turf/open/floor/wood, /area/awaymission/caves/northblock) "dW" = ( -/turf/closed/wall{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/closed/wall, /area/awaymission/caves/BMP_asteroid) "dX" = ( -/turf/closed/wall/rust{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/closed/wall/rust, /area/awaymission/caves/BMP_asteroid) "dY" = ( /obj/structure/bed, /obj/item/bedsheet, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/landmark/awaystart, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/wood, /area/awaymission/caves/northblock) "dZ" = ( /obj/machinery/light/small{ dir = 8 }, /obj/effect/decal/cleanable/cobweb, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/wood, /area/awaymission/caves/northblock) "ea" = ( /obj/item/stack/sheet/metal, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/wood, /area/awaymission/caves/northblock) "eb" = ( /obj/machinery/light/small/built{ dir = 8 }, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/northblock) "ec" = ( /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/northblock) @@ -1585,14 +1383,12 @@ /obj/structure/bed, /obj/effect/landmark/awaystart, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/northblock) "ee" = ( /obj/structure/girder, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/northblock) @@ -1604,30 +1400,22 @@ /area/awaymission/caves/BMP_asteroid) "eg" = ( /obj/effect/decal/cleanable/robot_debris/old, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "eh" = ( /obj/structure/table, /obj/item/device/radio, /obj/item/device/radio, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "ei" = ( /obj/structure/table, /obj/item/paper_bin, /obj/item/pen, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/BMP_asteroid) "ej" = ( -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/BMP_asteroid) "ek" = ( /obj/structure/window{ @@ -1635,41 +1423,33 @@ dir = 8 }, /mob/living/simple_animal/hostile/mining_drone, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/BMP_asteroid) "el" = ( /obj/structure/closet/secure_closet/personal, /obj/item/gun/energy/laser/captain/scattershot, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/wood, /area/awaymission/caves/northblock) "em" = ( /obj/structure/closet/secure_closet/personal, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/northblock) "en" = ( /obj/effect/decal/cleanable/shreds, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/northblock) "eo" = ( /obj/item/stack/rods, /turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/northblock) "ep" = ( /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/northblock) @@ -1677,15 +1457,11 @@ /obj/machinery/light{ dir = 8 }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "er" = ( /obj/structure/chair/stool, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/BMP_asteroid) "es" = ( /obj/structure/window{ @@ -1694,14 +1470,11 @@ }, /obj/structure/window, /mob/living/simple_animal/hostile/mining_drone, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/BMP_asteroid) "et" = ( /obj/effect/decal/cleanable/shreds, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/northblock) @@ -1712,32 +1485,24 @@ }, /area/awaymission/caves/BMP_asteroid) "ev" = ( -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "ew" = ( /obj/structure/table, /obj/item/device/mining_scanner, /obj/item/device/mining_scanner, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "ex" = ( /obj/structure/closet/secure_closet/miner, /obj/effect/decal/cleanable/cobweb, /obj/item/survivalcapsule, /obj/item/extinguisher/mini, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "ey" = ( /obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "ez" = ( /obj/machinery/light/small/built{ @@ -1747,22 +1512,16 @@ desc = "An industrial unit made to hold space suits. Age has seemed to rust the sliding door mechanisms, making it difficult to open."; name = "rusted suit storage unit" }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "eA" = ( /obj/structure/table, /obj/item/paper/fluff/awaymissions/caves/work_notice, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "eB" = ( /obj/structure/barricade/wooden, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "eC" = ( /obj/structure/table, @@ -1771,67 +1530,47 @@ /obj/item/clothing/glasses/meson, /obj/item/clothing/glasses/meson, /obj/item/clothing/glasses/meson, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "eD" = ( /obj/structure/closet/secure_closet/miner, /obj/item/survivalcapsule, /obj/item/extinguisher/mini, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "eE" = ( /obj/effect/landmark/awaystart, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "eF" = ( -/turf/closed/wall{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/closed/wall, /area/awaymission/caves/listeningpost) "eG" = ( -/turf/closed/wall/rust{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/closed/wall/rust, /area/awaymission/caves/listeningpost) "eH" = ( /obj/machinery/vending/sustenance, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "eI" = ( /obj/structure/closet/crate/trashcart, /obj/item/switchblade, /obj/item/switchblade, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/listeningpost) "eJ" = ( -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/listeningpost) "eK" = ( /obj/structure/table, /obj/item/gun/energy/kinetic_accelerator, /obj/item/gun/energy/kinetic_accelerator, /obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/listeningpost) "eL" = ( /obj/machinery/vending/sovietsoda, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "eM" = ( /obj/machinery/light/small{ @@ -1840,21 +1579,15 @@ /obj/structure/table, /obj/item/storage/toolbox/electrical, /obj/item/device/multitool, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/listeningpost) "eN" = ( /obj/effect/decal/cleanable/oil, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/listeningpost) "eO" = ( /obj/effect/landmark/awaystart, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/listeningpost) "eP" = ( /obj/structure/table, @@ -1874,9 +1607,7 @@ pixel_x = 5; throwforce = 1 }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/listeningpost) "eQ" = ( /obj/machinery/mineral/mint, @@ -1886,9 +1617,7 @@ /area/awaymission/caves/BMP_asteroid) "eR" = ( /obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "eS" = ( /obj/machinery/light/small/built, @@ -1896,29 +1625,21 @@ desc = "An industrial unit made to hold space suits. Age has seemed to rust the sliding door mechanisms, making it difficult to open."; name = "rusted suit storage unit" }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "eT" = ( /obj/structure/closet/emcloset, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "eU" = ( /obj/structure/table, /obj/item/storage/toolbox/mechanical, /obj/item/storage/toolbox/mechanical, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/listeningpost) "eV" = ( /obj/structure/closet/crate/bin, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/listeningpost) "eW" = ( /obj/structure/barricade/wooden, @@ -1927,23 +1648,17 @@ "eX" = ( /obj/structure/table, /obj/item/paper/pamphlet/gateway, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/listeningpost) "eY" = ( /obj/structure/table, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/listeningpost) "eZ" = ( /obj/machinery/light{ dir = 1 }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/listeningpost) "fa" = ( /obj/structure/noticeboard{ @@ -1951,9 +1666,7 @@ }, /obj/item/paper/fluff/awaymissions/caves/shipment_notice, /obj/item/paper/fluff/awaymissions/caves/saftey_notice, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/listeningpost) "fb" = ( /mob/living/simple_animal/hostile/spawner/mining/hivelord, @@ -2005,15 +1718,11 @@ /area/awaymission/caves/BMP_asteroid) "fh" = ( /obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/listeningpost) "fi" = ( /obj/machinery/door/airlock/external, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/listeningpost) "fj" = ( /obj/effect/mob_spawn/human/skeleton/alive{ @@ -2036,9 +1745,7 @@ }, /area/awaymission/caves/BMP_asteroid/level_two) "fm" = ( -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/listeningpost) "fn" = ( /obj/structure/closet/crate{ @@ -2075,9 +1782,7 @@ "fq" = ( /obj/structure/bed, /obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "fr" = ( /obj/machinery/light/small/built{ @@ -2085,33 +1790,25 @@ }, /obj/structure/spider/stickyweb, /mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "fs" = ( /obj/structure/table, /obj/item/storage/firstaid/regular, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "ft" = ( /obj/structure/table, /obj/item/storage/firstaid/fire, /obj/item/storage/firstaid/fire, /obj/structure/spider/stickyweb, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "fu" = ( /obj/structure/table, /obj/item/storage/firstaid/brute, /obj/item/reagent_containers/blood/OPlus, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "fv" = ( /obj/structure/glowshroom/single, @@ -2131,40 +1828,31 @@ id_target = "mineintrodown" }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) "fy" = ( /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) "fz" = ( /obj/structure/barricade/wooden, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) "fA" = ( /obj/structure/bed, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "fB" = ( /obj/structure/spider/stickyweb, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "fC" = ( /mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "fD" = ( /obj/structure/spider/stickyweb, @@ -2172,9 +1860,7 @@ dir = 8 }, /mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "fE" = ( /obj/machinery/light/small, @@ -2197,9 +1883,7 @@ /area/awaymission/caves/BMP_asteroid) "fH" = ( /obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/BMP_asteroid) "fI" = ( /obj/structure/sign/bluecross{ @@ -2211,44 +1895,33 @@ /area/awaymission/caves/BMP_asteroid) "fJ" = ( /obj/structure/grille, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/BMP_asteroid) "fK" = ( /obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "fL" = ( /obj/structure/sign/examroom{ pixel_y = 32 }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "fM" = ( /obj/machinery/light/small{ dir = 1 }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "fN" = ( /obj/machinery/door/airlock/external, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/BMP_asteroid) "fO" = ( /obj/machinery/light/small{ dir = 4 }, /turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) @@ -2276,15 +1949,11 @@ /obj/item/storage/firstaid/toxin, /obj/item/storage/firstaid/toxin, /obj/item/reagent_containers/blood/OPlus, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "fT" = ( /obj/machinery/iv_drip, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "fU" = ( /obj/effect/landmark/awaystart, @@ -2295,7 +1964,6 @@ /area/awaymission/caves/BMP_asteroid) "fV" = ( /turf/open/floor/plasteel/elevatorshaft{ - baseturf = /turf/open/floor/plating/asteroid/basalt; name = "elevator flooring"; initial_gas_mix = "n2=23;o2=14" }, @@ -2303,7 +1971,6 @@ "fW" = ( /obj/structure/girder, /turf/open/floor/plating{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) @@ -2329,13 +1996,10 @@ "fY" = ( /obj/structure/table, /obj/machinery/microwave, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "fZ" = ( /turf/open/floor/plating{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) @@ -2346,20 +2010,16 @@ id = "mineintro" }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) "gb" = ( /obj/structure/closet/secure_closet/freezer/kitchen, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "gc" = ( /obj/item/stack/rods, /turf/open/floor/plating{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) @@ -2383,22 +2043,18 @@ "gf" = ( /obj/structure/table/reinforced, /obj/item/reagent_containers/food/drinks/drinkingglass, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "gg" = ( /obj/structure/table/reinforced, /obj/item/storage/box/donkpockets, /turf/open/floor/plating{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) "gh" = ( /obj/structure/table/reinforced, /turf/open/floor/plating{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) @@ -2406,7 +2062,6 @@ /obj/structure/table/reinforced, /obj/item/stack/rods, /turf/open/floor/plating{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) @@ -2414,9 +2069,7 @@ /obj/machinery/door/airlock/mining{ name = "Kitchen" }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "gk" = ( /obj/effect/landmark/awaystart, @@ -2426,15 +2079,11 @@ /area/awaymission/caves/BMP_asteroid/level_two) "gl" = ( /obj/item/trash/plate, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "gm" = ( /obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "gn" = ( /obj/item/grown/log, @@ -2445,29 +2094,23 @@ "go" = ( /obj/structure/chair/stool, /turf/open/floor/plating{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) "gp" = ( /obj/structure/table_frame, /turf/open/floor/plating{ - baseturf = /turf/open/lava/smooth; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) "gq" = ( /obj/structure/chair/stool, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "gr" = ( /obj/structure/table, /obj/item/kitchen/fork, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "gs" = ( /obj/item/device/assembly/igniter, @@ -2478,63 +2121,47 @@ "gt" = ( /obj/structure/table_frame, /obj/item/stack/sheet/metal, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "gu" = ( /obj/item/stack/rods, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "gv" = ( /obj/structure/table_frame, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "gw" = ( /obj/structure/reagent_dispensers/beerkeg, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "gx" = ( /obj/structure/table, /obj/item/kitchen/fork, /obj/item/trash/plate, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "gy" = ( /obj/item/reagent_containers/food/drinks/drinkingglass, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plasteel, /area/awaymission/caves/BMP_asteroid) "gz" = ( /obj/machinery/door/airlock/external{ name = "Mess Hall" }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/BMP_asteroid) "gA" = ( /obj/machinery/light/small{ dir = 1 }, /turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) "gB" = ( /obj/machinery/mech_bay_recharge_port, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) @@ -2553,7 +2180,6 @@ dir = 4 }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) @@ -2562,7 +2188,6 @@ /obj/item/storage/toolbox/mechanical, /obj/item/clothing/glasses/material, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) @@ -2574,34 +2199,26 @@ /obj/structure/table, /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill, /obj/item/paper/fluff/awaymissions/caves/mech_notice, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/BMP_asteroid) "gI" = ( /obj/structure/chair/stool, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) "gJ" = ( /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) "gK" = ( /obj/structure/girder, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/BMP_asteroid) "gL" = ( /obj/item/stack/rods, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/BMP_asteroid) "gM" = ( /obj/structure/mecha_wreckage/ripley, @@ -2610,21 +2227,18 @@ "gN" = ( /obj/structure/holohoop, /turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) "gO" = ( /obj/structure/closet/emcloset, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) "gP" = ( /obj/item/toy/beach_ball/holoball, /turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) @@ -2655,16 +2269,13 @@ /obj/machinery/light/small{ dir = 4 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/basalt - }, +/turf/open/floor/plating, /area/awaymission/caves/BMP_asteroid) "gU" = ( /obj/structure/holohoop{ dir = 1 }, /turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/basalt; initial_gas_mix = "n2=23;o2=14" }, /area/awaymission/caves/BMP_asteroid) @@ -2681,6 +2292,31 @@ /obj/effect/mapping_helpers/planet_z, /turf/closed/indestructible/rock, /area/space/nearstation) +"gX" = ( +/obj/effect/baseturf_helper/lava, +/turf/closed/mineral/volcanic, +/area/awaymission/caves/BMP_asteroid/level_three) +"gY" = ( +/obj/effect/baseturf_helper/lava, +/turf/open/lava/smooth{ + desc = "Looks hot."; + luminosity = 5; + name = "lava"; + initial_gas_mix = "n2=23;o2=14" + }, +/area/awaymission/caves/BMP_asteroid/level_four) +"gZ" = ( +/obj/effect/baseturf_helper/lava, +/turf/closed/mineral/volcanic, +/area/awaymission/caves/BMP_asteroid/level_two) +"ha" = ( +/obj/effect/baseturf_helper/lava, +/turf/closed/mineral/volcanic, +/area/awaymission/caves/BMP_asteroid) +"hb" = ( +/obj/effect/baseturf_helper/asteroid/basalt, +/turf/closed/wall, +/area/awaymission/caves/northblock) (1,1,1) = {" aa @@ -4489,7 +4125,7 @@ aa aa aa aa -ac +gX ac ac ac @@ -4647,7 +4283,7 @@ aa aa aa aa -bL +ha bL bL bL @@ -5693,7 +5329,7 @@ bL bL bL bL -dt +hb dt dt du @@ -47151,7 +46787,7 @@ aa aa aa aa -ad +gY ad ad ad @@ -52448,7 +52084,7 @@ aa aa aa aa -bK +gZ bK bK bK diff --git a/_maps/RandomZLevels/snowdin.dmm b/_maps/RandomZLevels/snowdin.dmm index 7fb4fa76f1..31a6232330 100644 --- a/_maps/RandomZLevels/snowdin.dmm +++ b/_maps/RandomZLevels/snowdin.dmm @@ -9,16 +9,12 @@ /turf/open/floor/plating/asteroid/snow, /area/awaymission/snowdin) "ad" = ( -/turf/closed/wall/ice{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/closed/wall/ice, /area/awaymission/snowdin/post) "ae" = ( /obj/effect/decal/cleanable/oil, /obj/vehicle/ridden/atv, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "af" = ( /turf/open/floor/plating/ice, @@ -30,45 +26,32 @@ desc = "An emptied plasma tank, the oil on the nozzle seems to implied it was used for more than plasma storage."; name = "dusty plasma tank" }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "ah" = ( /obj/effect/decal/cleanable/oil, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "ai" = ( /obj/vehicle/ridden/atv, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "aj" = ( /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/post) "ak" = ( /obj/structure/door_assembly/door_assembly_centcom, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "al" = ( -/turf/closed/wall/ice{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/closed/wall/ice, /area/awaymission/snowdin/base) "am" = ( /obj/structure/grille, /obj/structure/window/reinforced/fulltile/ice, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "an" = ( /obj/structure/table, @@ -76,19 +59,14 @@ /obj/machinery/light/small{ dir = 8 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "ao" = ( -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "ap" = ( /obj/effect/decal/cleanable/oil, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/post) @@ -97,7 +75,6 @@ /obj/machinery/door/window/westright, /obj/item/paper/crumpled/ruins/snowdin/keys, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/post) @@ -109,7 +86,6 @@ status = 2 }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/post) @@ -117,16 +93,12 @@ /obj/machinery/light/small{ dir = 1 }, -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/base) "at" = ( /obj/structure/filingcabinet, /obj/item/paper/fluff/awaymissions/snowdin/secnotice, -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/base) "au" = ( /obj/item/gun/ballistic/shotgun/boltaction, @@ -141,9 +113,7 @@ /obj/item/restraints/handcuffs, /obj/item/device/assembly/flash, /obj/item/storage/box/lethalshot, -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/base) "av" = ( /obj/effect/decal/cleanable/oil, @@ -156,51 +126,37 @@ name = "garage door button"; pixel_x = 32 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "aw" = ( /obj/structure/chair/office/dark, -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/base) "ax" = ( /obj/item/ammo_casing/a762, -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/base) "ay" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /obj/item/pen, /obj/item/key, -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/base) "az" = ( /obj/machinery/door/poddoor/shutters{ id = "garagesnow" }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "aA" = ( /obj/machinery/door/airlock/external, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "aB" = ( /obj/structure/table/reinforced, /obj/structure/barricade/wooden, -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/base) "aC" = ( /obj/structure/barricade/wooden, @@ -208,30 +164,22 @@ name = "Security Office"; req_access_txt = "63" }, -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/base) "aD" = ( -/turf/closed/wall{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/closed/wall, /area/awaymission/snowdin/base) "aE" = ( /obj/structure/cable{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/base) "aF" = ( /obj/structure/grille, /obj/structure/window/reinforced/fulltile/ice, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/base) "aG" = ( /obj/machinery/light/small{ @@ -242,13 +190,11 @@ "aH" = ( /obj/item/ammo_casing/a762, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/base) "aI" = ( /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/base) @@ -257,7 +203,6 @@ icon_state = "1-2" }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/base) @@ -266,7 +211,6 @@ dir = 1 }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/base) @@ -276,15 +220,12 @@ /area/awaymission/snowdin) "aM" = ( /obj/machinery/recharge_station, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/base) "aN" = ( /obj/item/trash/sosjerky, /obj/effect/decal/cleanable/oil, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/base) @@ -293,27 +234,21 @@ dir = 9 }, /obj/effect/turf_decal/bot, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel, /area/awaymission/snowdin/base) "aP" = ( /obj/machinery/gateway{ dir = 5 }, /obj/effect/turf_decal/bot, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel, /area/awaymission/snowdin/base) "aQ" = ( /obj/machinery/gateway{ dir = 1 }, /obj/effect/turf_decal/bot, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel, /area/awaymission/snowdin/base) "aR" = ( /obj/structure/closet/crate, @@ -325,9 +260,7 @@ /obj/item/clothing/shoes/winterboots, /obj/item/clothing/shoes/winterboots, /obj/effect/turf_decal/bot, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel, /area/awaymission/snowdin/base) "aS" = ( /obj/structure/closet/crate, @@ -335,9 +268,7 @@ /obj/item/storage/firstaid/fire, /obj/item/storage/pill_bottle/stimulant, /obj/effect/turf_decal/bot, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel, /area/awaymission/snowdin/base) "aT" = ( /obj/machinery/light/small{ @@ -365,53 +296,39 @@ /obj/item/gun/ballistic/shotgun/automatic, /obj/item/gun/ballistic/shotgun/automatic, /obj/item/gun/ballistic/shotgun/automatic, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/base) "aZ" = ( -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/base) "ba" = ( /obj/machinery/door/airlock/maintenance_hatch, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/base) "bb" = ( /obj/machinery/gateway{ dir = 8 }, /obj/effect/turf_decal/bot, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel, /area/awaymission/snowdin/base) "bc" = ( /obj/machinery/gateway{ dir = 4 }, /obj/effect/turf_decal/bot, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel, /area/awaymission/snowdin/base) "bd" = ( /obj/machinery/gateway/centeraway{ calibrated = 0 }, /obj/effect/turf_decal/bot, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel, /area/awaymission/snowdin/base) "be" = ( /obj/effect/turf_decal/bot, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel, /area/awaymission/snowdin/base) "bf" = ( /obj/structure/closet/crate{ @@ -421,54 +338,40 @@ /obj/item/reagent_containers/spray/cleaner, /obj/item/soap/nanotrasen, /obj/effect/turf_decal/bot, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel, /area/awaymission/snowdin/base) "bg" = ( /obj/machinery/iv_drip, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/base) "bh" = ( /obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/base) "bi" = ( /obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/base) "bj" = ( /obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/base) "bk" = ( /obj/effect/decal/cleanable/oil, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/base) "bl" = ( /obj/structure/table, /obj/item/shovel, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/base) "bm" = ( /obj/machinery/light{ dir = 8 }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/base) @@ -477,18 +380,14 @@ dir = 10 }, /obj/effect/turf_decal/bot, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel, /area/awaymission/snowdin/base) "bo" = ( /obj/machinery/gateway{ dir = 6 }, /obj/effect/turf_decal/bot, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel, /area/awaymission/snowdin/base) "bp" = ( /obj/machinery/gateway, @@ -496,9 +395,7 @@ icon_state = "0-2" }, /obj/effect/turf_decal/bot, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel, /area/awaymission/snowdin/base) "bq" = ( /obj/structure/closet/crate, @@ -515,9 +412,7 @@ /obj/item/reagent_containers/food/snacks/grown/cocoapod, /obj/item/reagent_containers/food/snacks/grown/cocoapod, /obj/effect/turf_decal/bot, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel, /area/awaymission/snowdin/base) "br" = ( /obj/machinery/light{ @@ -525,7 +420,6 @@ }, /obj/machinery/iv_drip, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/base) @@ -533,17 +427,13 @@ /obj/structure/table, /obj/item/storage/toolbox/electrical, /obj/item/storage/toolbox/electrical, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/base) "bt" = ( /obj/structure/table, /obj/item/shovel, /obj/item/paper/crumpled/ruins/snowdin/shovel, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/base) "bu" = ( /obj/machinery/power/terminal{ @@ -553,7 +443,6 @@ icon_state = "0-2" }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/base) @@ -563,14 +452,12 @@ name = "power storage unit" }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/base) "bw" = ( /obj/effect/landmark/awaystart, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/base) @@ -580,7 +467,6 @@ icon_state = "1-2" }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/base) @@ -590,14 +476,12 @@ }, /obj/effect/landmark/awaystart, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/base) "bz" = ( /obj/effect/decal/cleanable/oil, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/base) @@ -608,7 +492,6 @@ /obj/item/reagent_containers/blood/random, /obj/item/reagent_containers/blood/random, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/base) @@ -616,22 +499,16 @@ /obj/structure/table, /obj/item/storage/toolbox/mechanical, /obj/item/storage/toolbox/mechanical, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/base) "bC" = ( /obj/structure/showcase/machinery/signal_decrypter, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/base) "bD" = ( /obj/machinery/space_heater, /obj/machinery/light/small, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/base) "bE" = ( /obj/structure/closet/crate/trashcart, @@ -643,21 +520,15 @@ }, /obj/item/storage/box/rubbershot, /obj/item/key, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/base) "bF" = ( /obj/machinery/power/port_gen/pacman, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/base) "bG" = ( /obj/machinery/space_heater, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/base) "bH" = ( /obj/machinery/power/terminal{ @@ -670,7 +541,6 @@ icon_state = "1-4" }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/base) @@ -680,7 +550,6 @@ }, /obj/effect/landmark/awaystart, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/base) @@ -693,7 +562,6 @@ icon_state = "1-8" }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/base) @@ -701,7 +569,6 @@ /obj/item/trash/pistachios, /obj/effect/landmark/awaystart, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/base) @@ -711,7 +578,6 @@ }, /obj/effect/landmark/awaystart, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/base) @@ -721,317 +587,227 @@ /area/awaymission/snowdin) "bN" = ( /obj/machinery/door/airlock/public/glass, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/base) "bO" = ( /obj/structure/dresser, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/base) "bP" = ( /obj/structure/bed, /obj/item/bedsheet, /obj/effect/landmark/awaystart, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/base) "bQ" = ( /obj/machinery/light/small{ dir = 1 }, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/base) "bR" = ( /obj/structure/bookcase/random/fiction, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/base) "bS" = ( /obj/structure/fireaxecabinet{ pixel_y = 32 }, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/base) "bT" = ( /obj/structure/bookcase/random/nonfiction, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/base) "bU" = ( -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/base) "bV" = ( /obj/structure/table/wood, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/base) "bW" = ( /obj/machinery/light{ dir = 8 }, /obj/structure/filingcabinet, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin/base) "bX" = ( /obj/structure/table, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin/base) "bY" = ( /obj/structure/table, /obj/item/paper_bin, /obj/item/pen, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin/base) "bZ" = ( /obj/structure/table, /obj/item/device/flashlight/lamp, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin/base) "ca" = ( /obj/machinery/light{ dir = 1 }, /obj/machinery/vending/coffee, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/base) "cb" = ( -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/base) "cc" = ( /obj/structure/table, /obj/machinery/microwave, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/base) "cd" = ( /obj/structure/closet/cabinet, /obj/item/clothing/shoes/winterboots, /obj/item/clothing/suit/hooded/wintercoat, /obj/item/clothing/gloves/color/black, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/base) "ce" = ( -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/base) "cf" = ( /obj/machinery/door/airlock{ name = "Dorm Room" }, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/base) "cg" = ( /obj/machinery/light/small{ dir = 4 }, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/base) "ch" = ( -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin/base) "ci" = ( /obj/structure/chair{ dir = 1 }, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin/base) "cj" = ( /obj/structure/chair/comfy/beige, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/base) "ck" = ( /obj/item/cigbutt, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/base) "cl" = ( /obj/structure/chair/stool, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/base) "cm" = ( /obj/machinery/hydroponics/constructable, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/base) "cn" = ( /obj/structure/table/wood, /obj/item/trash/cheesie, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/base) "co" = ( /obj/machinery/light{ dir = 1 }, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/base) "cp" = ( /obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/base) "cq" = ( /obj/structure/table/wood, /obj/item/toy/cards/deck, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/base) "cr" = ( /obj/structure/table/wood, /obj/item/trash/candle, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/base) "cs" = ( /obj/machinery/door/airlock/hatch, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin/base) "ct" = ( /obj/structure/table/wood, /obj/item/pizzabox/mushroom, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/base) "cu" = ( /obj/structure/table/wood, /obj/item/storage/pill_bottle/dice, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/base) "cv" = ( /obj/structure/table/wood, /obj/item/paper/crumpled/ruins/snowdin/snowdingatewaynotice, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/base) "cw" = ( /obj/structure/bed, /obj/item/bedsheet, /obj/effect/decal/cleanable/blood/gibs, /obj/effect/gibspawner/human, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/base) "cx" = ( /obj/structure/table/wood, /obj/item/key, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/base) "cy" = ( /obj/structure/table/wood, /obj/item/trash/can, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/base) "cz" = ( /obj/machinery/door/airlock{ name = "Dorm Room" }, /obj/structure/barricade/wooden, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/base) "cA" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/base) "cB" = ( /obj/machinery/light/small{ dir = 4 }, /mob/living/simple_animal/hostile/bear/snow, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/base) "cC" = ( /obj/effect/decal/cleanable/blood/gibs, /obj/effect/decal/remains/human, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/base) "cD" = ( /obj/structure/chair, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin/base) "cE" = ( /obj/structure/chair/comfy/beige{ dir = 1; icon_state = "comfychair" }, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/base) "cF" = ( /obj/machinery/light, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/base) "cG" = ( /obj/machinery/light{ @@ -1039,43 +815,32 @@ }, /obj/structure/filingcabinet, /obj/item/paper/fluff/awaymissions/snowdin/log, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin/base) "cH" = ( /obj/machinery/light, /obj/machinery/vending/cigarette, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/base) "cI" = ( /obj/structure/table, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/base) "cJ" = ( /obj/machinery/door/airlock{ name = "Dorms" }, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/base) "cK" = ( /obj/effect/decal/cleanable/blood/drip, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/base) "cL" = ( /obj/machinery/door/airlock/external, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/base) "cM" = ( /obj/structure/statue/snow/snowman, @@ -1142,9 +907,7 @@ /turf/closed/indestructible/rock/snow/ice, /area/awaymission/snowdin/post) "cZ" = ( -/turf/closed/wall{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/closed/wall, /area/awaymission/snowdin/post) "da" = ( /obj/effect/decal/remains/human, @@ -1172,13 +935,11 @@ /area/awaymission/snowdin/post) "de" = ( /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140 }, /area/awaymission/snowdin/post) "df" = ( /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -1192,7 +953,6 @@ /obj/structure/table, /obj/item/storage/toolbox/emergency, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140 }, /area/awaymission/snowdin/post) @@ -1215,7 +975,6 @@ /obj/structure/table, /obj/item/storage/toolbox/mechanical, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140 }, /area/awaymission/snowdin/post) @@ -1235,7 +994,6 @@ dir = 4 }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -1248,7 +1006,6 @@ /area/awaymission/snowdin/dungeon1) "dp" = ( /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -1264,7 +1021,6 @@ /obj/item/tank/internals/emergency_oxygen/engi, /obj/item/clothing/mask/breath, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140 }, /area/awaymission/snowdin/post) @@ -1276,7 +1032,6 @@ /obj/effect/spawner/lootdrop/snowdin/dungeonlite, /obj/effect/spawner/lootdrop/snowdin/dungeonmisc, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -1284,7 +1039,6 @@ "dt" = ( /obj/item/paper/crumpled/ruins/snowdin/lootstructures, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -1324,7 +1078,6 @@ "dA" = ( /obj/item/clothing/shoes/winterboots, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -1332,7 +1085,6 @@ "dB" = ( /obj/item/clothing/shoes/winterboots, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140 }, /area/awaymission/snowdin/post) @@ -1340,7 +1092,6 @@ /obj/structure/table, /obj/item/clothing/suit/hooded/wintercoat, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -1353,7 +1104,6 @@ /obj/effect/spawner/lootdrop/snowdin/dungeonmisc, /obj/effect/spawner/lootdrop/snowdin/dungeonmisc, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140 }, /area/awaymission/snowdin/post) @@ -1368,7 +1118,6 @@ /obj/effect/spawner/lootdrop/snowdin/dungeonmisc, /obj/effect/spawner/lootdrop/snowdin/dungeonlite, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140 }, /area/awaymission/snowdin/post) @@ -1380,7 +1129,6 @@ status = 2 }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -1390,14 +1138,11 @@ dir = 8 }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140 }, /area/awaymission/snowdin/post) "dJ" = ( -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/post) "dK" = ( /obj/structure/closet/cabinet, @@ -1406,9 +1151,7 @@ /obj/item/clothing/gloves/color/black, /obj/item/shovel, /obj/item/switchblade, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/post) "dL" = ( /obj/structure/closet/crate, @@ -1416,7 +1159,6 @@ /obj/effect/spawner/lootdrop/snowdin/dungeonmid, /obj/effect/spawner/lootdrop/snowdin/dungeonmid, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140; wet = 0 }, @@ -1426,7 +1168,6 @@ dir = 1 }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140; wet = 0 }, @@ -1435,9 +1176,7 @@ /obj/machinery/light/small{ dir = 8 }, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/post) "dO" = ( /obj/machinery/door/airlock{ @@ -1445,9 +1184,7 @@ name = "Dorm Room"; req_access_txt = "150" }, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/post) "dP" = ( /turf/open/floor/plating/asteroid/basalt{ @@ -1456,7 +1193,6 @@ /area/awaymission/snowdin/post) "dQ" = ( /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140; wet = 0 }, @@ -1469,7 +1205,6 @@ /obj/effect/spawner/lootdrop/snowdin/dungeonmisc, /obj/effect/spawner/lootdrop/snowdin/dungeonmisc, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140 }, /area/awaymission/snowdin/post) @@ -1477,9 +1212,7 @@ /obj/structure/bed, /obj/effect/decal/remains/human, /obj/effect/decal/cleanable/blood/gibs/old, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/post) "dT" = ( /turf/open/lava{ @@ -1488,16 +1221,13 @@ /area/awaymission/snowdin/post) "dU" = ( /mob/living/simple_animal/hostile/skeleton/eskimo, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/post) "dV" = ( /obj/machinery/door/airlock/public/glass{ req_access_txt = "150" }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/post) @@ -1508,7 +1238,6 @@ "dX" = ( /obj/structure/table, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/post) @@ -1520,7 +1249,6 @@ status = 2 }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140 }, /area/awaymission/snowdin/post) @@ -1534,7 +1262,6 @@ status = 2 }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/post) @@ -1544,7 +1271,6 @@ id_target = "up" }, /turf/open/floor/plasteel/stairs/right{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140 }, /area/awaymission/snowdin/post) @@ -1554,27 +1280,23 @@ id_target = "up" }, /turf/open/floor/plasteel/stairs/left{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140 }, /area/awaymission/snowdin/post) "ec" = ( /obj/machinery/door/airlock/external, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, /area/awaymission/snowdin/post) "ed" = ( /turf/open/floor/plasteel/stairs/right{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140 }, /area/awaymission/snowdin/post) "ee" = ( /turf/open/floor/plasteel/stairs/left{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140 }, /area/awaymission/snowdin/post) @@ -1582,7 +1304,6 @@ /obj/structure/grille, /obj/structure/window/reinforced/fulltile/ice, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -1590,7 +1311,6 @@ "eg" = ( /obj/machinery/light/small, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -1713,9 +1433,7 @@ /turf/open/floor/plating/snowed, /area/awaymission/snowdin/post) "eD" = ( -/turf/closed/wall/ice{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/closed/wall/ice, /area/awaymission/snowdin/dungeon1) "eE" = ( /obj/structure/table/wood, @@ -1761,7 +1479,6 @@ "eM" = ( /mob/living/simple_animal/hostile/skeleton/eskimo, /turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 180 }, /area/awaymission/snowdin/post) @@ -1797,9 +1514,7 @@ /obj/item/cautery{ pixel_x = 4 }, -/turf/open/floor/plasteel/whiteblue{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/whiteblue, /area/awaymission/snowdin/sekret) "eR" = ( /turf/closed/indestructible/rock/snow, @@ -1867,36 +1582,26 @@ /obj/machinery/light/small{ dir = 1 }, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/post) "fe" = ( /obj/machinery/door/airlock{ name = "Dorm Room" }, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/post) "ff" = ( /obj/effect/decal/cleanable/blood/old, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/post) "fg" = ( /obj/machinery/light/small{ dir = 1 }, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/post) "fh" = ( -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/post) "fi" = ( /obj/machinery/light/small{ @@ -1906,24 +1611,18 @@ /obj/item/implanter/storage, /obj/item/clothing/shoes/jackboots, /obj/item/switchblade, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "fj" = ( /obj/machinery/recharge_station, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "fk" = ( /turf/open/floor/plating/ice, /area/awaymission/snowdin/post) "fl" = ( /obj/machinery/power/port_gen/pacman, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "fm" = ( /turf/open/floor/plating/ice/colder, @@ -1947,39 +1646,27 @@ /obj/item/clothing/suit/hooded/wintercoat, /obj/item/clothing/gloves/color/black, /obj/item/shovel, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/post) "fq" = ( /obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/post) "fr" = ( /obj/machinery/door/airlock/maintenance_hatch, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "fs" = ( /obj/item/cigbutt/cigarbutt, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/post) "ft" = ( /obj/effect/landmark/awaystart, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "fu" = ( /obj/machinery/space_heater, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "fv" = ( /turf/open/floor/plating/snowed/colder, @@ -1998,33 +1685,25 @@ /area/awaymission/snowdin/dungeon1) "fy" = ( /obj/machinery/door/airlock/hatch, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/post) "fz" = ( /obj/machinery/power/terminal{ dir = 4 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "fA" = ( /obj/structure/table, /obj/item/key, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "fB" = ( /obj/machinery/power/smes/magical{ desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."; name = "power storage unit" }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "fC" = ( /obj/item/stack/sheet/metal, @@ -2036,7 +1715,6 @@ "fE" = ( /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/post) @@ -2055,14 +1733,12 @@ /obj/item/paper_bin, /obj/item/pen, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/post) "fI" = ( /obj/structure/door_assembly/door_assembly_centcom, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140; wet = 0 }, @@ -2080,14 +1756,12 @@ dir = 4 }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/post) "fM" = ( /obj/item/stack/sheet/metal, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -2098,7 +1772,6 @@ dir = 4 }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/post) @@ -2115,7 +1788,6 @@ "fQ" = ( /obj/structure/grille, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -2123,14 +1795,12 @@ "fR" = ( /obj/structure/filingcabinet/chestdrawer, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/post) "fS" = ( /obj/item/storage/toolbox/mechanical, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140; wet = 0 }, @@ -2138,13 +1808,11 @@ "fT" = ( /mob/living/simple_animal/hostile/bear/snow, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/post) "fU" = ( /turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140 }, /area/awaymission/snowdin/post) @@ -2153,14 +1821,12 @@ /obj/item/reagent_containers/food/drinks/drinkingglass, /obj/item/key, /turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140 }, /area/awaymission/snowdin/post) "fW" = ( /obj/structure/chair/stool, /turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140 }, /area/awaymission/snowdin/post) @@ -2177,7 +1843,6 @@ /obj/effect/spawner/lootdrop/snowdin/dungeonmid, /obj/effect/spawner/lootdrop/snowdin/dungeonlite, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140; wet = 0 }, @@ -2192,7 +1857,6 @@ /obj/structure/table, /obj/item/storage/box/donkpockets, /turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140 }, /area/awaymission/snowdin/post) @@ -2206,9 +1870,7 @@ /obj/machinery/door/poddoor/shutters{ id = "garagesnow2" }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "gd" = ( /obj/structure/ladder/unbreakable{ @@ -2226,9 +1888,7 @@ name = "shutter control"; pixel_x = 32 }, -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/post) "gf" = ( /mob/living/simple_animal/hostile/skeleton/ice, @@ -2284,7 +1944,6 @@ id_target = "down" }, /turf/open/floor/plasteel/stairs/left{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140 }, /area/awaymission/snowdin/cave) @@ -2294,19 +1953,16 @@ id_target = "down" }, /turf/open/floor/plasteel/stairs/right{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140 }, /area/awaymission/snowdin/cave) "gp" = ( /turf/open/floor/plasteel/stairs/left{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140 }, /area/awaymission/snowdin/cave) "gq" = ( /turf/open/floor/plasteel/stairs/right{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 140 }, /area/awaymission/snowdin/cave) @@ -2316,7 +1972,6 @@ "gs" = ( /obj/structure/girder, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -2329,48 +1984,36 @@ /obj/machinery/light/small{ dir = 1 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "gu" = ( /obj/item/stock_parts/cell/high/empty, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "gv" = ( /obj/structure/table, /obj/item/storage/toolbox/mechanical, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "gw" = ( /obj/structure/table, /obj/item/storage/toolbox/electrical, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "gx" = ( /obj/machinery/telecomms/allinone{ intercept = 1 }, -/turf/open/floor/plasteel/purple{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/purple, /area/awaymission/snowdin/sekret) "gy" = ( /obj/structure/table, /turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 180 }, /area/awaymission/snowdin/post) "gz" = ( /turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 180 }, /area/awaymission/snowdin/post) @@ -2380,9 +2023,7 @@ /obj/item/twohanded/spear, /obj/item/twohanded/spear, /obj/item/twohanded/spear, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "gB" = ( /obj/structure/table, @@ -2390,7 +2031,6 @@ dir = 4 }, /turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 180 }, /area/awaymission/snowdin/post) @@ -2399,21 +2039,17 @@ dir = 4 }, /turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 180 }, /area/awaymission/snowdin/post) "gD" = ( /obj/structure/table, /obj/item/shovel, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "gE" = ( /obj/item/pen, /turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 180 }, /area/awaymission/snowdin/post) @@ -2421,7 +2057,6 @@ /obj/structure/table, /obj/item/paper_bin, /turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 180 }, /area/awaymission/snowdin/post) @@ -2432,14 +2067,11 @@ }, /obj/effect/spawner/lootdrop/snowdin/dungeonlite, /obj/effect/spawner/lootdrop/snowdin/dungeonmid, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "gH" = ( /obj/structure/filingcabinet, /turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 180 }, /area/awaymission/snowdin/post) @@ -2448,7 +2080,6 @@ dir = 8 }, /turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 180 }, /area/awaymission/snowdin/post) @@ -2456,28 +2087,21 @@ /obj/machinery/door/airlock/public/glass, /obj/structure/barricade/wooden, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/post) "gK" = ( /obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "gL" = ( /obj/machinery/light/small, /obj/structure/showcase/machinery/signal_decrypter, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "gM" = ( /obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "gN" = ( /turf/open/floor/plating, @@ -2492,14 +2116,12 @@ "gP" = ( /obj/machinery/door/airlock/public/glass, /turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 180 }, /area/awaymission/snowdin/post) "gQ" = ( /obj/machinery/vending/coffee, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/post) @@ -2508,34 +2130,26 @@ /obj/item/clothing/shoes/winterboots, /obj/item/clothing/suit/hooded/wintercoat, /obj/item/clothing/gloves/color/black, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/post) "gS" = ( /obj/structure/bed, /obj/item/bedsheet, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/post) "gT" = ( /obj/structure/closet/cabinet, /obj/effect/spawner/lootdrop/snowdin/dungeonlite, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/post) "gU" = ( /turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 180 }, /area/awaymission/snowdin/post) "gV" = ( /obj/structure/table, /turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 180 }, /area/awaymission/snowdin/post) @@ -2544,14 +2158,12 @@ dir = 8 }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/post) "gX" = ( /obj/machinery/door/airlock/public/glass, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/post) @@ -2565,9 +2177,7 @@ /obj/machinery/light/small{ dir = 4 }, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/post) "ha" = ( /obj/structure/barricade/wooden, @@ -2575,29 +2185,22 @@ name = "Security Office"; req_access_txt = "63" }, -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/post) "hb" = ( /obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "hc" = ( /obj/structure/table/reinforced, /obj/structure/barricade/wooden, -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/post) "hd" = ( /obj/machinery/light/built{ dir = 8 }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/post) @@ -2605,7 +2208,6 @@ /obj/machinery/door/airlock/external, /obj/structure/barricade/wooden, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -2623,44 +2225,33 @@ status = 2 }, /turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 180 }, /area/awaymission/snowdin/post) "hh" = ( -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/post) "hi" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /obj/item/pen, -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/post) "hj" = ( /obj/structure/chair/office/dark{ dir = 1 }, -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/post) "hk" = ( -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/post) "hl" = ( /obj/machinery/door/airlock{ name = "Dorms" }, /obj/structure/barricade/wooden, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/post) "hm" = ( /obj/item/gun/ballistic/shotgun/boltaction, @@ -2674,51 +2265,40 @@ }, /obj/item/restraints/handcuffs, /obj/item/device/assembly/flash, -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/post) "hn" = ( /obj/structure/filingcabinet, /obj/item/paper/fluff/awaymissions/snowdin/secnotice, -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/post) "ho" = ( /obj/machinery/door/airlock{ name = "Dorm Room" }, /turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 180 }, /area/awaymission/snowdin/post) "hp" = ( -/turf/closed/wall{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/closed/wall, /area/awaymission/snowdin) "hq" = ( /obj/machinery/light/small{ dir = 4 }, /turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 180 }, /area/awaymission/snowdin/post) "hr" = ( /turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 180 }, /area/awaymission/snowdin/post) "hs" = ( /obj/structure/closet/cabinet, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/post) "ht" = ( /mob/living/simple_animal/hostile/skeleton/eskimo, @@ -2801,7 +2381,6 @@ /obj/structure/window/reinforced/fulltile/ice, /obj/structure/barricade/wooden, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -2810,17 +2389,13 @@ /obj/structure/table, /obj/item/shovel, /obj/item/key, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "hL" = ( /obj/structure/table, /obj/item/shovel, /obj/item/storage/toolbox/mechanical, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "hM" = ( /obj/machinery/space_heater, @@ -2830,9 +2405,7 @@ icon_state = "bulb-broken"; status = 2 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "hN" = ( /obj/effect/decal/cleanable/blood/old, @@ -2841,7 +2414,6 @@ "hO" = ( /obj/machinery/door/airlock/glass_large, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/post) @@ -2853,7 +2425,6 @@ dir = 1 }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/post) @@ -2873,56 +2444,41 @@ /turf/open/floor/plating/snowed/colder, /area/awaymission/snowdin/dungeon1) "hV" = ( -/turf/closed/wall/r_wall{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/closed/wall/r_wall, /area/awaymission/snowdin/sekret) "hW" = ( /obj/structure/closet/emcloset, /obj/item/tank/internals/emergency_oxygen/engi, /obj/item/clothing/mask/breath, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/sekret) "hX" = ( /obj/machinery/space_heater, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/sekret) "hY" = ( /obj/machinery/power/port_gen/pacman, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/sekret) "hZ" = ( /obj/machinery/light, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, /area/awaymission/snowdin/post) "ia" = ( -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/sekret) "ib" = ( /obj/structure/table, /obj/item/storage/toolbox/electrical, /obj/item/storage/toolbox/electrical, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/sekret) "ic" = ( /obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/sekret) "id" = ( /mob/living/simple_animal/hostile/skeleton/templar, @@ -2936,42 +2492,31 @@ dir = 8 }, /obj/item/storage/toolbox/mechanical, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/sekret) "if" = ( /obj/structure/table, /obj/item/shovel, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/sekret) "ig" = ( -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin/post) "ih" = ( /obj/machinery/door/poddoor/shutters{ id = "sekret" }, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin/post) "ii" = ( /obj/machinery/light/small{ dir = 1 }, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin/post) "ij" = ( /obj/machinery/porta_turret/syndicate, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -2982,44 +2527,32 @@ /obj/machinery/light/small{ dir = 4 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/sekret) "il" = ( /obj/structure/table/reinforced, -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/post) "im" = ( /obj/machinery/power/terminal{ dir = 4 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/sekret) "in" = ( /obj/machinery/power/smes/magical{ desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."; name = "power storage unit" }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/sekret) "ip" = ( /obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/sekret) "iq" = ( /obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/sekret) "ir" = ( /obj/item/gun/ballistic/shotgun/boltaction, @@ -3034,33 +2567,25 @@ /obj/item/restraints/handcuffs, /obj/item/device/assembly/flash, /obj/item/storage/box/lethalshot, -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/post) "is" = ( /obj/machinery/door/airlock/glass_security{ name = "Security Office"; req_access_txt = "63" }, -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/post) "it" = ( /obj/machinery/light/small, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin/post) "iu" = ( /obj/machinery/door/airlock/highsecurity{ name = "Maint"; req_access_txt = "150" }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/sekret) "iv" = ( /obj/item/device/multitool, @@ -3068,14 +2593,12 @@ /area/awaymission/snowdin) "iw" = ( /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) "ix" = ( /obj/machinery/vending/snack, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -3083,54 +2606,41 @@ /obj/structure/table, /obj/item/storage/firstaid/toxin, /obj/item/storage/firstaid/toxin, -/turf/open/floor/plasteel/cmo{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cmo, /area/awaymission/snowdin/sekret) "iz" = ( /obj/machinery/iv_drip, -/turf/open/floor/plasteel/cmo{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cmo, /area/awaymission/snowdin/sekret) "iA" = ( /obj/structure/table, /obj/item/storage/firstaid/o2, /obj/item/storage/firstaid/o2, -/turf/open/floor/plasteel/cmo{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cmo, /area/awaymission/snowdin/sekret) "iB" = ( /obj/structure/table, /obj/item/storage/firstaid/regular, /obj/item/storage/firstaid/regular, -/turf/open/floor/plasteel/cmo{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cmo, /area/awaymission/snowdin/sekret) "iC" = ( /obj/structure/table, /obj/item/storage/firstaid/fire, /obj/item/storage/firstaid/fire, -/turf/open/floor/plasteel/cmo{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cmo, /area/awaymission/snowdin/sekret) "iD" = ( /obj/structure/table, /obj/item/storage/firstaid/brute, /obj/item/storage/firstaid/brute, -/turf/open/floor/plasteel/cmo{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cmo, /area/awaymission/snowdin/sekret) "iE" = ( /obj/machinery/light{ dir = 1 }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -3140,7 +2650,6 @@ dir = 1 }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -3157,14 +2666,11 @@ }, /area/awaymission/snowdin/dungeon1) "iI" = ( -/turf/open/floor/plasteel/cmo{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cmo, /area/awaymission/snowdin/sekret) "iJ" = ( /obj/structure/table/reinforced, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -3172,7 +2678,6 @@ /obj/structure/grille, /obj/structure/window/reinforced/fulltile/ice, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -3180,7 +2685,6 @@ "iL" = ( /obj/structure/grille, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -3190,9 +2694,7 @@ /turf/open/floor/plating, /area/awaymission/snowdin) "iN" = ( -/turf/closed/wall/mineral/plastitanium{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/closed/wall/mineral/plastitanium, /area/awaymission/snowdin) "iO" = ( /obj/effect/spawner/lootdrop/snowdin/dungeonheavy, @@ -3210,7 +2712,6 @@ /obj/structure/grille, /obj/structure/window/reinforced/fulltile/ice, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -3220,7 +2721,6 @@ dir = 8 }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -3228,9 +2728,7 @@ /obj/machinery/light{ dir = 8 }, -/turf/open/floor/plasteel/cmo{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cmo, /area/awaymission/snowdin/sekret) "iU" = ( /obj/structure/window/reinforced{ @@ -3239,9 +2737,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/turf/open/floor/plasteel/whiteblue{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/whiteblue, /area/awaymission/snowdin/sekret) "iV" = ( /obj/structure/window/reinforced{ @@ -3250,24 +2746,19 @@ /obj/structure/window/reinforced{ dir = 1 }, -/turf/open/floor/plasteel/whiteblue{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/whiteblue, /area/awaymission/snowdin/sekret) "iW" = ( /obj/structure/sign/bluecross{ pixel_x = -32 }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) "iX" = ( /obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel, /area/awaymission/snowdin/sekret) "iY" = ( /obj/machinery/light/small, @@ -3280,38 +2771,31 @@ "ja" = ( /obj/item/shard, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, /area/awaymission/snowdin) "jb" = ( /obj/structure/frame/computer, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "jc" = ( /obj/machinery/door/poddoor/shutters{ id = "garagesnow3" }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin/post) "jd" = ( /obj/machinery/door/airlock/external{ req_access_txt = "150" }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, /area/awaymission/snowdin/sekret) "je" = ( /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -3322,20 +2806,15 @@ req_access_txt = "150" }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) "jg" = ( /obj/structure/table/optable, -/turf/open/floor/plasteel/whiteblue{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/whiteblue, /area/awaymission/snowdin/sekret) "jh" = ( -/turf/open/floor/plasteel/whiteblue{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/whiteblue, /area/awaymission/snowdin/sekret) "ji" = ( /obj/machinery/door/airlock/highsecurity{ @@ -3343,33 +2822,25 @@ req_access_txt = "150" }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) "jj" = ( -/turf/closed/wall/ice{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/closed/wall/ice, /area/awaymission/snowdin) "jk" = ( /obj/machinery/door/airlock/external, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin) "jl" = ( /obj/structure/table, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, /area/awaymission/snowdin) "jm" = ( -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "jo" = ( /obj/machinery/porta_turret/syndicate, @@ -3380,7 +2851,6 @@ dir = 4 }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -3388,33 +2858,25 @@ /obj/machinery/sleeper{ dir = 4 }, -/turf/open/floor/plasteel/cmo{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cmo, /area/awaymission/snowdin/sekret) "jr" = ( /obj/structure/window/reinforced, -/turf/open/floor/plasteel/whiteblue{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/whiteblue, /area/awaymission/snowdin/sekret) "js" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 8 }, -/turf/open/floor/plasteel/whiteblue{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/whiteblue, /area/awaymission/snowdin/sekret) "jt" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 4 }, -/turf/open/floor/plasteel/whiteblue{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/whiteblue, /area/awaymission/snowdin/sekret) "ju" = ( /obj/machinery/sleeper{ @@ -3423,43 +2885,32 @@ /obj/machinery/light{ dir = 4 }, -/turf/open/floor/plasteel/cmo{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cmo, /area/awaymission/snowdin/sekret) "jv" = ( /obj/machinery/light, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) "jw" = ( -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin) "jx" = ( /obj/effect/decal/cleanable/blood, /obj/effect/gibspawner/human, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "jy" = ( /obj/item/storage/box/donkpockets{ pixel_x = 3; pixel_y = 3 }, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "jz" = ( /obj/effect/decal/cleanable/vomit/old, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "jA" = ( /obj/item/device/radio/intercom{ @@ -3471,15 +2922,11 @@ subspace_transmission = 1; syndie = 1 }, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "jB" = ( /obj/effect/gibspawner/human, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "jC" = ( /obj/item/tank/internals/plasma{ @@ -3489,40 +2936,30 @@ /turf/open/floor/plating/asteroid/snow, /area/awaymission/snowdin) "jD" = ( -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/sekret) "jE" = ( /obj/machinery/vending/coffee, /obj/structure/window/reinforced{ dir = 1 }, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/sekret) "jF" = ( /obj/structure/table/wood, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/sekret) "jG" = ( /obj/structure/chair/comfy/beige{ dir = 8 }, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/sekret) "jH" = ( /obj/machinery/sleeper{ dir = 8 }, -/turf/open/floor/plasteel/cmo{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cmo, /area/awaymission/snowdin/sekret) "jI" = ( /obj/machinery/door/airlock/glass_large{ @@ -3533,17 +2970,13 @@ /obj/effect/turf_decal/stripes/line{ dir = 9 }, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/dark, /area/awaymission/snowdin/sekret) "jJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 }, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/dark, /area/awaymission/snowdin/sekret) "jK" = ( /obj/effect/decal/cleanable/blood, @@ -3559,9 +2992,7 @@ name = "Cockpit"; req_access_txt = "150" }, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "jN" = ( /turf/closed/wall/mineral/plastitanium{ @@ -3582,15 +3013,11 @@ /area/awaymission/snowdin/sekret) "jP" = ( /obj/machinery/vending/cigarette, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/sekret) "jQ" = ( /obj/structure/table, -/turf/open/floor/plasteel/cmo{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cmo, /area/awaymission/snowdin/sekret) "jR" = ( /obj/structure/closet/crate/freezer, @@ -3600,22 +3027,17 @@ /obj/item/reagent_containers/blood/random, /obj/item/reagent_containers/blood/random, /obj/item/reagent_containers/blood/random, -/turf/open/floor/plasteel/cmo{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cmo, /area/awaymission/snowdin/sekret) "jS" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/dark, /area/awaymission/snowdin/sekret) "jT" = ( /obj/structure/girder, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -3628,23 +3050,18 @@ "jV" = ( /obj/structure/table, /obj/item/paper/crumpled/ruins/snowdin/misc1, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "jW" = ( /obj/structure/table, /obj/item/reagent_containers/food/drinks/beer, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "jX" = ( /obj/machinery/door/airlock/glass_large{ req_access_txt = "150" }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -3654,14 +3071,11 @@ req_access_txt = "150" }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) "jZ" = ( -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/dark, /area/awaymission/snowdin/sekret) "ka" = ( /obj/structure/closet/syndicate, @@ -3680,22 +3094,17 @@ /obj/effect/turf_decal/stripes/line{ dir = 9 }, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/dark, /area/awaymission/snowdin/sekret) "kb" = ( /obj/machinery/porta_turret/syndicate, /obj/effect/turf_decal/stripes/line{ dir = 5 }, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/dark, /area/awaymission/snowdin/sekret) "kc" = ( /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin) @@ -3705,7 +3114,6 @@ }, /obj/structure/window/reinforced/fulltile/ice, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -3717,83 +3125,60 @@ "kf" = ( /obj/item/stack/cable_coil, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, /area/awaymission/snowdin) "kg" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "kh" = ( /obj/structure/chair{ dir = 4 }, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "ki" = ( /obj/structure/chair{ dir = 8 }, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "kj" = ( /obj/machinery/light/small{ dir = 1 }, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/sekret) "kk" = ( /obj/structure/mirror/magic/lesser{ desc = "A collab of the Wizard Federation and the Syndicate, a specialized mirror to help our operatives personalize themselves while stuck in this icy hell-hole."; pixel_x = -32 }, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/sekret) "kl" = ( -/turf/closed/wall{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/closed/wall, /area/awaymission/snowdin/sekret) "km" = ( /obj/effect/mob_spawn/human/syndicatesoldier/coldres/alive, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/sekret) "kn" = ( /obj/structure/bookcase/random/reference, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/sekret) "ko" = ( /obj/structure/bookcase/random/adult, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/sekret) "kp" = ( /obj/structure/bookcase/random/religion, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/sekret) "kq" = ( -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/sekret) "kr" = ( /obj/structure/table/reinforced, @@ -3802,23 +3187,17 @@ /obj/machinery/light/small{ dir = 8 }, -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/sekret) "ks" = ( /obj/structure/table/reinforced, -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/sekret) "kt" = ( /obj/structure/chair/office/dark{ dir = 4 }, -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/sekret) "ku" = ( /obj/structure/rack, @@ -3831,17 +3210,13 @@ /turf/open/floor/plasteel/dark, /area/awaymission/snowdin/sekret) "kv" = ( -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/sekret) "kw" = ( /obj/machinery/light{ dir = 1 }, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/sekret) "kx" = ( /obj/structure/rack, @@ -3851,30 +3226,24 @@ }, /obj/item/reagent_containers/food/drinks/bottle/vodka/badminka, /obj/item/paper/fluff/awaymissions/snowdin/saw_usage, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/dark, /area/awaymission/snowdin/sekret) "ky" = ( /obj/machinery/door/window/brigdoor/westleft{ name = "SAW Security Door"; req_access_txt = "150" }, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/dark, /area/awaymission/snowdin/sekret) "kz" = ( /obj/item/shard, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin) "kA" = ( /obj/structure/grille/broken, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -3889,35 +3258,25 @@ "kC" = ( /obj/item/crowbar/red, /obj/effect/decal/cleanable/vomit, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "kD" = ( /obj/structure/dresser, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/sekret) "kE" = ( /obj/structure/table/wood, /obj/item/paper/fluff/awaymissions/snowdin/syndienotice, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/sekret) "kF" = ( -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/sekret) "kG" = ( /obj/machinery/light{ dir = 8 }, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/sekret) "kH" = ( /obj/item/gun/ballistic/shotgun/boltaction, @@ -3932,9 +3291,7 @@ /obj/item/restraints/handcuffs, /obj/item/device/assembly/flash, /obj/item/storage/box/lethalshot, -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/sekret) "kI" = ( /obj/structure/rack, @@ -3953,15 +3310,11 @@ name = "Security Office"; req_access_txt = "63" }, -/turf/open/floor/plasteel/darkred{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkred, /area/awaymission/snowdin/sekret) "kK" = ( /obj/structure/chair/stool, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/sekret) "kL" = ( /obj/structure/rack, @@ -3969,14 +3322,11 @@ /obj/machinery/light/small{ dir = 4 }, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/dark, /area/awaymission/snowdin/sekret) "kM" = ( /obj/machinery/light/built, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin) @@ -3988,9 +3338,7 @@ /obj/machinery/door/airlock{ name = "Dorm Room" }, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/sekret) "kP" = ( /obj/machinery/door/airlock/glass_large{ @@ -3998,7 +3346,6 @@ req_access_txt = "150" }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -4008,9 +3355,7 @@ /area/awaymission/snowdin/sekret) "kR" = ( /obj/structure/table, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/sekret) "kS" = ( /obj/structure/rack, @@ -4019,9 +3364,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 10 }, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/dark, /area/awaymission/snowdin/sekret) "kT" = ( /obj/structure/rack, @@ -4030,9 +3373,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 6 }, -/turf/open/floor/plasteel/dark{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/dark, /area/awaymission/snowdin/sekret) "kU" = ( /obj/structure/girder, @@ -4040,112 +3381,83 @@ /area/awaymission/snowdin) "kV" = ( /obj/structure/table, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "kW" = ( /obj/item/storage/box/zipties{ pixel_x = 1; pixel_y = 2 }, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "kX" = ( /obj/structure/chair{ dir = 8 }, /obj/item/reagent_containers/food/drinks/ale, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "kY" = ( /obj/structure/bookcase/random/fiction, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/sekret) "kZ" = ( /obj/machinery/space_heater, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/sekret) "la" = ( /obj/structure/bed/dogbed, /mob/living/simple_animal/pet/dog/corgi/puppy{ name = "Mr.Kempsy" }, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/sekret) "lb" = ( /obj/structure/bookcase/random/nonfiction, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/sekret) "lc" = ( /obj/structure/chair/stool, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/sekret) "ld" = ( /obj/machinery/light{ dir = 1 }, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/sekret) "le" = ( /obj/structure/table, /obj/item/pizzabox/mushroom, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/sekret) "lf" = ( /obj/structure/bed, /obj/item/bedsheet, /obj/effect/landmark/awaystart, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin) "lg" = ( /obj/structure/closet/cabinet, /obj/item/clothing/shoes/winterboots, /obj/item/clothing/suit/hooded/wintercoat, /obj/item/clothing/gloves/color/black, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin) "lh" = ( /obj/structure/table/wood, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin) "li" = ( /obj/effect/decal/cleanable/blood/drip, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, /area/awaymission/snowdin) "lj" = ( /obj/item/reagent_containers/food/drinks/beer, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "lk" = ( /obj/item/clothing/head/helmet/space/syndicate/black/red, @@ -4153,42 +3465,30 @@ /area/awaymission/snowdin) "ll" = ( /obj/machinery/light, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/sekret) "lm" = ( /obj/structure/table/wood, /obj/item/trash/candle, /obj/item/paper_bin, /obj/item/pen/fourcolor, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/sekret) "ln" = ( /obj/structure/table/wood, /obj/item/toy/cards/deck, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/sekret) "lo" = ( /obj/structure/table, -/turf/open/floor/plasteel/purple{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/purple, /area/awaymission/snowdin/sekret) "lp" = ( /obj/structure/filingcabinet, -/turf/open/floor/plasteel/white{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/white, /area/awaymission/snowdin/sekret) "lq" = ( -/turf/open/floor/plasteel/purple{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/purple, /area/awaymission/snowdin/sekret) "lr" = ( /obj/structure/table, @@ -4199,29 +3499,21 @@ listening = 1; name = "Pirate Radio Listening Channel" }, -/turf/open/floor/plasteel/purple{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/purple, /area/awaymission/snowdin/sekret) "ls" = ( -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin) "lt" = ( /obj/structure/bed, /obj/item/bedsheet, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin) "lu" = ( /obj/item/shard{ icon_state = "medium" }, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "lv" = ( /obj/machinery/door/window{ @@ -4229,38 +3521,28 @@ name = "EVA Storage"; req_access_txt = "150" }, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "lw" = ( /obj/machinery/door/airlock/external{ req_access_txt = "150" }, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "lx" = ( /obj/structure/table/wood, /obj/item/book/manual/nuclear, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/sekret) "ly" = ( /obj/structure/table/wood, /obj/item/storage/pill_bottle/dice, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/sekret) "lz" = ( /obj/structure/table, /obj/machinery/microwave, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/sekret) "lA" = ( /obj/machinery/door/airlock/highsecurity{ @@ -4268,7 +3550,6 @@ req_access_txt = "150" }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -4281,41 +3562,29 @@ listening = 0; name = "Pirate Radio Broadcast Channel" }, -/turf/open/floor/plasteel/purple{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/purple, /area/awaymission/snowdin/sekret) "lC" = ( -/turf/open/floor/plasteel/white{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/white, /area/awaymission/snowdin/sekret) "lD" = ( /obj/structure/chair/office/light{ dir = 8 }, -/turf/open/floor/plasteel/purple{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/purple, /area/awaymission/snowdin/sekret) "lE" = ( /obj/machinery/door/airlock/public/glass, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin) "lF" = ( -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin) "lG" = ( /obj/machinery/door/airlock{ name = "Dorm Room" }, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin) "lH" = ( /obj/structure/bed, @@ -4324,16 +3593,13 @@ dir = 4 }, /obj/effect/landmark/awaystart, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin) "lI" = ( /obj/machinery/light{ dir = 8 }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -4345,15 +3611,11 @@ storage_type = null; suit_type = null }, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "lK" = ( /obj/effect/decal/cleanable/vomit, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "lL" = ( /obj/machinery/door/window{ @@ -4363,42 +3625,31 @@ name = "EVA Storage"; req_access_txt = "150" }, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "lM" = ( /obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "lN" = ( /obj/item/gun/ballistic/automatic/pistol, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "lO" = ( /obj/structure/table, /obj/item/storage/box/donkpockets, /obj/item/storage/box/donkpockets, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/sekret) "lP" = ( /obj/structure/table, /obj/item/paper_bin, /obj/item/pen/fourcolor, -/turf/open/floor/plasteel/purple{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/purple, /area/awaymission/snowdin/sekret) "lQ" = ( /obj/item/stack/sheet/metal, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -4420,107 +3671,77 @@ syndie = 1 }, /obj/item/reagent_containers/food/drinks/ale, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "lT" = ( /obj/effect/mob_spawn/human/syndicatesoldier, /obj/effect/decal/cleanable/vomit, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "lU" = ( /obj/machinery/light/small, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/sekret) "lV" = ( /obj/effect/mob_spawn/human/syndicatesoldier/coldres/alive/female, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/carpet, /area/awaymission/snowdin/sekret) "lW" = ( /obj/structure/table/wood, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/sekret) "lX" = ( /obj/structure/chair/comfy/beige{ dir = 4 }, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/sekret) "lY" = ( /obj/structure/table/wood, /obj/machinery/light, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/sekret) "lZ" = ( /obj/structure/chair/comfy/beige{ dir = 8 }, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/sekret) "ma" = ( /obj/structure/table/wood, /obj/item/gun/ballistic/automatic/c20r/toy, -/turf/open/floor/wood{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/wood, /area/awaymission/snowdin/sekret) "mb" = ( /obj/machinery/light, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/sekret) "mc" = ( /obj/machinery/light, /obj/structure/table, /obj/item/storage/box/drinkingglasses, -/turf/open/floor/plasteel/cafeteria{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/cafeteria, /area/awaymission/snowdin/sekret) "md" = ( /obj/machinery/light{ dir = 8 }, -/turf/open/floor/plasteel/white{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/white, /area/awaymission/snowdin/sekret) "me" = ( /obj/machinery/light{ dir = 4 }, -/turf/open/floor/plasteel/white{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/white, /area/awaymission/snowdin/sekret) "mf" = ( /obj/machinery/recharge_station, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "mg" = ( /obj/structure/table, /obj/machinery/cell_charger, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "mh" = ( /obj/item/device/assembly/voice{ @@ -4538,15 +3759,11 @@ /obj/item/reagent_containers/syringe/charcoal{ pixel_y = 4 }, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "mk" = ( /obj/structure/chair/stool, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "ml" = ( /obj/machinery/door/window{ @@ -4557,36 +3774,28 @@ /obj/item/reagent_containers/syringe/charcoal{ pixel_y = 4 }, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "mm" = ( /obj/machinery/door/window/westright{ name = "Tool Storage"; req_access_txt = "150" }, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "mn" = ( /obj/item/stock_parts/cell/high, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "mo" = ( /obj/item/target/alien, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) "mp" = ( /obj/item/target/clown, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -4598,9 +3807,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel, /area/awaymission/snowdin/sekret) "mr" = ( /obj/structure/table/reinforced, @@ -4608,7 +3815,6 @@ dir = 1 }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -4619,7 +3825,6 @@ pixel_y = 32 }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -4627,7 +3832,6 @@ /obj/item/ammo_casing/c10mm, /obj/item/ammo_casing/c10mm, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -4637,7 +3841,6 @@ faction = list("syndicate") }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -4648,7 +3851,6 @@ }, /obj/item/storage/firstaid/tactical, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -4656,7 +3858,6 @@ /obj/structure/table/reinforced, /obj/item/storage/firstaid/tactical, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -4664,7 +3865,6 @@ /obj/structure/table/reinforced, /obj/item/storage/backpack/duffelbag/syndie/ammo/smg, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -4673,7 +3873,6 @@ dir = 1 }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -4683,16 +3882,13 @@ dir = 1 }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, /area/awaymission/snowdin) "mA" = ( /obj/item/stack/medical/bruise_pack, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "mB" = ( /obj/machinery/door/window{ @@ -4703,9 +3899,7 @@ req_access_txt = "150" }, /obj/item/stack/medical/ointment, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "mC" = ( /obj/machinery/door/window{ @@ -4713,22 +3907,17 @@ name = "Tool Storage"; req_access_txt = "150" }, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "mD" = ( /obj/item/storage/toolbox/syndicate, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "mE" = ( /obj/item/screwdriver{ pixel_y = 9 }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -4742,7 +3931,6 @@ "mG" = ( /obj/item/target, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -4752,14 +3940,11 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel, /area/awaymission/snowdin/sekret) "mI" = ( /obj/item/ammo_casing/c10mm, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -4767,14 +3952,11 @@ /obj/machinery/telecomms/relay/preset/ruskie{ use_power = 0 }, -/turf/open/floor/plasteel/purple{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/purple, /area/awaymission/snowdin/sekret) "mK" = ( /obj/machinery/light/built, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -4782,7 +3964,6 @@ "mL" = ( /obj/effect/decal/cleanable/blood/drip, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin) @@ -4791,7 +3972,6 @@ icon_state = "medium" }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -4802,9 +3982,7 @@ name = "Secure Storage"; req_access_txt = "150" }, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "mO" = ( /obj/structure/window/reinforced{ @@ -4813,14 +3991,11 @@ /obj/structure/window/reinforced{ dir = 1 }, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "mP" = ( /obj/item/stock_parts/cell/high, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -4836,15 +4011,12 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel, /area/awaymission/snowdin/sekret) "mS" = ( /obj/structure/table/reinforced, /obj/item/ammo_box/a357, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -4854,7 +4026,6 @@ pixel_y = 2 }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -4867,9 +4038,7 @@ /obj/structure/mirror{ pixel_x = 30 }, -/turf/open/floor/mineral/plastitanium/brig{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/mineral/plastitanium/brig, /area/awaymission/snowdin) "mW" = ( /obj/structure/flora/grass/green, @@ -4881,7 +4050,6 @@ dir = 8 }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -4892,57 +4060,43 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel, /area/awaymission/snowdin/sekret) "mZ" = ( /obj/structure/table/reinforced, /obj/item/ammo_box/c10mm, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) "na" = ( -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin) "nb" = ( /mob/living/simple_animal/bot/cleanbot{ name = "\improper Cleanksy" }, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin) "nc" = ( /obj/structure/table, /obj/item/paper/crumpled/ruins/snowdin/shovel, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin) "nd" = ( /obj/structure/table, /obj/item/paper_bin, /obj/item/pen, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin) "ne" = ( /obj/structure/table, /obj/item/device/flashlight/lamp, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin) "nf" = ( /obj/machinery/space_heater, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -4952,7 +4106,6 @@ /obj/item/storage/toolbox/electrical, /obj/item/storage/toolbox/electrical, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -4977,9 +4130,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel, /area/awaymission/snowdin/sekret) "nk" = ( /mob/living/simple_animal/hostile/syndicate{ @@ -4988,28 +4139,21 @@ name = "Weakened Syndicate Operative"; speed = 2 }, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin) "nl" = ( /obj/structure/filingcabinet, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin) "nm" = ( /obj/structure/chair{ dir = 1 }, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin) "nn" = ( /obj/item/shovel, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -5019,7 +4163,6 @@ /obj/item/storage/toolbox/mechanical, /obj/item/storage/toolbox/mechanical, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -5042,15 +4185,12 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel, /area/awaymission/snowdin/sekret) "nt" = ( /obj/structure/table/reinforced, /obj/machinery/light, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -5061,7 +4201,6 @@ pixel_y = -32 }, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -5069,7 +4208,6 @@ /obj/item/ammo_casing/a357, /obj/item/ammo_casing/a357, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -5083,7 +4221,6 @@ /obj/item/target/clown, /obj/machinery/light, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -5091,7 +4228,6 @@ /obj/structure/table/reinforced, /obj/item/gun/ballistic/automatic/pistol, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -5101,7 +4237,6 @@ /obj/item/storage/box/lethalshot, /obj/item/storage/box/lethalshot, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -5109,7 +4244,6 @@ /obj/structure/table/reinforced, /obj/item/gun/ballistic/shotgun/automatic/combat, /turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 }, /area/awaymission/snowdin/sekret) @@ -5125,27 +4259,19 @@ }, /obj/structure/filingcabinet, /obj/item/paper/fluff/awaymissions/snowdin/log2, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin) "nC" = ( /obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin) "nD" = ( /obj/machinery/door/airlock/hatch, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin) "nE" = ( /obj/machinery/door/airlock/maintenance_hatch, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plating, /area/awaymission/snowdin) "nF" = ( /obj/machinery/power/smes/magical{ @@ -5153,7 +4279,6 @@ name = "power storage unit" }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -5163,27 +4288,21 @@ dir = 4 }, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, /area/awaymission/snowdin) "nH" = ( /obj/effect/decal/cleanable/vomit, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin) "nI" = ( /obj/structure/chair, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin) "nJ" = ( /obj/machinery/power/port_gen/pacman, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -5196,20 +4315,15 @@ /area/awaymission/snowdin) "nL" = ( /obj/effect/spawner/lootdrop/snowdin/dungeonlite, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin) "nM" = ( /obj/structure/table, -/turf/open/floor/plasteel/darkbrown{ - baseturf = /turf/open/floor/plating/asteroid/snow - }, +/turf/open/floor/plasteel/darkbrown, /area/awaymission/snowdin) "nN" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -5218,7 +4332,6 @@ /obj/structure/closet/crate, /obj/item/survivalcapsule, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -5226,7 +4339,6 @@ "nP" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/asteroid/snow; icon = 'icons/turf/snow.dmi'; temperature = 140 }, @@ -5241,9 +4353,33 @@ /obj/effect/mapping_helpers/planet_z, /turf/closed/indestructible/rock/snow, /area/awaymission/snowdin) +"nS" = ( +/obj/effect/baseturf_helper/asteroid/snow, +/turf/closed/indestructible/rock/snow, +/area/awaymission/snowdin) +"nT" = ( +/obj/effect/baseturf_helper/asteroid/snow, +/turf/closed/wall/ice, +/area/awaymission/snowdin/post) +"nU" = ( +/obj/effect/baseturf_helper/asteroid/snow, +/turf/closed/wall/ice, +/area/awaymission/snowdin/base) +"nV" = ( +/obj/effect/baseturf_helper/asteroid/snow, +/turf/closed/indestructible/rock/snow/ice, +/area/awaymission/snowdin/dungeon1) +"nW" = ( +/obj/effect/baseturf_helper/asteroid/snow, +/turf/closed/wall/mineral/snow, +/area/awaymission/snowdin/igloo) +"nX" = ( +/obj/effect/baseturf_helper/asteroid/snow, +/turf/open/floor/plating/asteroid/snow, +/area/awaymission/snowdin/cave) (1,1,1) = {" -aa +nS aa aa aa @@ -15536,7 +14672,7 @@ aa aa ac ac -al +nU al al al @@ -20160,7 +19296,7 @@ aa aa aa ac -ad +nT ad am ad @@ -23126,8 +22262,8 @@ ad hl ad ad -gr -gr +ez +ez eS eR eR @@ -23370,21 +22506,21 @@ eR eR eR ez -eC -eC -eC +ez +ez +ez ez gI gz gs gU gU -gr +ez gU gU df -gr -gr +ez +ez eS eS eS @@ -23626,10 +22762,10 @@ eR eR eT eT -eC -eC -eC -eC +ez +ez +ez +ez gz gz gz @@ -23638,9 +22774,9 @@ gU gU gU df -gr -gr -gr +ez +ez +ez fk eT eS @@ -23883,8 +23019,8 @@ eS eR eS eS -eC -eC +ez +ez ez gz ez @@ -23896,7 +23032,7 @@ gU hg gU df -gr +ez fk fk eT @@ -24140,9 +23276,9 @@ eS eS eS eS -eC +ez fk -eC +ez eM gz ad @@ -24398,7 +23534,7 @@ eT eS eR eK -eC +ez ez gz gz @@ -24655,7 +23791,7 @@ eR eR eR ad -eC +ez gz gz gz @@ -32781,7 +31917,7 @@ ac ac ac ac -cP +nW cW cP ac @@ -34887,7 +34023,7 @@ ac ac ac ac -eS +nX eS eS eS @@ -42028,7 +41164,7 @@ ab ab ab ab -cN +nV cN cN cN diff --git a/_maps/shuttles/emergency_delta.dmm b/_maps/shuttles/emergency_delta.dmm index e383e33e0b..caa457f43a 100644 --- a/_maps/shuttles/emergency_delta.dmm +++ b/_maps/shuttles/emergency_delta.dmm @@ -353,7 +353,6 @@ name = "emergency shower" }, /turf/open/floor/plasteel/whiteblue/side{ - baseturf = /turf/open/lava/smooth/lava_land_surface; dir = 4 }, /area/shuttle/escape) diff --git a/code/__DEFINES/turf_flags.dm b/code/__DEFINES/turf_flags.dm new file mode 100644 index 0000000000..fd89041207 --- /dev/null +++ b/code/__DEFINES/turf_flags.dm @@ -0,0 +1,3 @@ +#define CHANGETURF_DEFER_CHANGE 1 +#define CHANGETURF_IGNORE_AIR 2 +#define CHANGETURF_FORCEOP 4 \ No newline at end of file diff --git a/code/datums/components/thermite.dm b/code/datums/components/thermite.dm index 11611cadfb..13ec5ed8f9 100644 --- a/code/datums/components/thermite.dm +++ b/code/datums/components/thermite.dm @@ -63,7 +63,7 @@ if(amount >= 50) var/burning_time = max(100, 100-amount) - master = master.ChangeTurf(master.baseturf) + master = master.ScrapeAway() master.burn_tile() if(user) master.add_hiddenprint(user) diff --git a/code/game/gamemodes/clock_cult/clock_structures/wall_gear.dm b/code/game/gamemodes/clock_cult/clock_structures/wall_gear.dm index 1463ca6ac0..b1734b3aef 100644 --- a/code/game/gamemodes/clock_cult/clock_structures/wall_gear.dm +++ b/code/game/gamemodes/clock_cult/clock_structures/wall_gear.dm @@ -59,9 +59,9 @@ brass_floor = TRUE if(W.use(2 - brass_floor)) if(anchored) - T.ChangeTurf(/turf/closed/wall/clockwork) + T.PlaceOnTop(/turf/closed/wall/clockwork) else - T.ChangeTurf(/turf/open/floor/clockwork) + T.PlaceOnTop(/turf/open/floor/clockwork) new /obj/structure/falsewall/brass(T) qdel(src) else diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index 89a4e8b130..085b55c2e1 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -528,7 +528,7 @@ playsound(loc, 'sound/effects/bang.ogg', 100, 1) var/turf/open/floor/F for(F in orange(1, src)) - F.ChangeTurf(F.baseturf) + F.ScrapeAway() say("Something slams into the floor around [src], exposing it to space!") if(hull) sleep(10) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 3d659f104b..9e689a096b 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -135,7 +135,7 @@ for(var/turf/closed/T in range(2, src)) here.ChangeTurf(T.type) return INITIALIZE_HINT_QDEL - here.ChangeTurf(/turf/closed/wall) + here.PlaceOnTop(/turf/closed/wall) if(9 to 11) lights = FALSE locked = TRUE diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm index f076b723ae..a52c8d1438 100644 --- a/code/game/mecha/equipment/tools/work_tools.dm +++ b/code/game/mecha/equipment/tools/work_tools.dm @@ -222,14 +222,14 @@ occupant_message("Deconstructing [W]...") if(do_after_cooldown(W)) chassis.spark_system.start() - W.ChangeTurf(/turf/open/floor/plating) + W.ScrapeAway() playsound(W, 'sound/items/deconstruct.ogg', 50, 1) else if(isfloorturf(target)) var/turf/open/floor/F = target occupant_message("Deconstructing [F]...") if(do_after_cooldown(target)) chassis.spark_system.start() - F.ChangeTurf(F.baseturf) + F.ScrapeAway() playsound(F, 'sound/items/deconstruct.ogg', 50, 1) else if (istype(target, /obj/machinery/door/airlock)) occupant_message("Deconstructing [target]...") @@ -242,14 +242,14 @@ var/turf/open/space/S = target occupant_message("Building Floor...") if(do_after_cooldown(S)) - S.ChangeTurf(/turf/open/floor/plating) + S.PlaceOnTop(/turf/open/floor/plating) playsound(S, 'sound/items/deconstruct.ogg', 50, 1) chassis.spark_system.start() else if(isfloorturf(target)) var/turf/open/floor/F = target occupant_message("Building Wall...") if(do_after_cooldown(F)) - F.ChangeTurf(/turf/closed/wall) + F.PlaceOnTop(/turf/closed/wall) playsound(F, 'sound/items/deconstruct.ogg', 50, 1) chassis.spark_system.start() if(2) diff --git a/code/game/mecha/mech_bay.dm b/code/game/mecha/mech_bay.dm index ccacd133e8..aabf382ff2 100644 --- a/code/game/mecha/mech_bay.dm +++ b/code/game/mecha/mech_bay.dm @@ -4,7 +4,7 @@ icon_state = "recharge_floor" // Some people just want to watch the world burn i guess /turf/open/floor/mech_bay_recharge_floor/break_tile() - src.ChangeTurf(/turf/open/floor/plating) + ScrapeAway() /turf/open/floor/mech_bay_recharge_floor/airless icon_state = "recharge_floor_asteroid" diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm index 3459bfc954..d7b6340c26 100644 --- a/code/game/objects/effects/effect_system/effects_foam.dm +++ b/code/game/objects/effects/effect_system/effects_foam.dm @@ -76,7 +76,7 @@ if(metal) var/turf/T = get_turf(src) if(isspaceturf(T)) //Block up any exposed space - T.ChangeTurf(/turf/open/floor/plating/foam) + T.PlaceOnTop(/turf/open/floor/plating/foam) for(var/direction in GLOB.cardinals) var/turf/cardinal_turf = get_step(T, direction) if(get_area(cardinal_turf) != get_area(T)) //We're at an area boundary, so let's block off this turf! diff --git a/code/game/objects/effects/spawners/vaultspawner.dm b/code/game/objects/effects/spawners/vaultspawner.dm index 0b39f3a5a5..9bdf0a673e 100644 --- a/code/game/objects/effects/spawners/vaultspawner.dm +++ b/code/game/objects/effects/spawners/vaultspawner.dm @@ -20,9 +20,9 @@ for(var/j = lowBoundY,j<=hiBoundY,j++) var/turf/T = locate(i,j,z) if(i == lowBoundX || i == hiBoundX || j == lowBoundY || j == hiBoundY) - T.ChangeTurf(/turf/closed/wall/vault) + T.PlaceOnTop(/turf/closed/wall/vault) else - T.ChangeTurf(/turf/open/floor/vault) + T.PlaceOnTop(/turf/open/floor/vault) T.icon_state = "[type]vault" qdel(src) diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index 6fb173b905..d7d0ca1618 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -275,13 +275,14 @@ consume_turf(target) /obj/item/melee/supermatter_sword/proc/consume_turf(turf/T) - if(istype(T, T.baseturf)) - return //Can't void the void, baby! + var/oldtype = T.type + var/turf/newT = T.ScrapeAway() + if(newT.type == oldtype) + return playsound(T, 'sound/effects/supermatter.ogg', 50, 1) T.visible_message("[T] smacks into [src] and rapidly flashes to ash.",\ "You hear a loud crack as you are washed with a wave of heat.") shard.Consume() - T.ChangeTurf(T.baseturf) T.CalculateAdjacentTurfs() /obj/item/melee/supermatter_sword/add_blood(list/blood_dna) diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index 770442f6c9..ebeb065b2a 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -85,7 +85,7 @@ /obj/structure/falsewall/proc/ChangeToWall(delete = 1) var/turf/T = get_turf(src) - T.ChangeTurf(walltype) + T.PlaceOnTop(walltype) if(delete) qdel(src) return T diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 594dba355d..190dab7011 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -86,7 +86,7 @@ S.use(5) to_chat(user, "You add the plating.") var/turf/T = get_turf(src) - T.ChangeTurf(/turf/closed/wall/mineral/iron) + T.PlaceOnTop(/turf/closed/wall/mineral/iron) transfer_fingerprints_to(T) qdel(src) return @@ -120,7 +120,7 @@ S.use(2) to_chat(user, "You add the plating.") var/turf/T = get_turf(src) - T.ChangeTurf(/turf/closed/wall) + T.PlaceOnTop(/turf/closed/wall) transfer_fingerprints_to(T) qdel(src) return @@ -150,7 +150,7 @@ S.use(1) to_chat(user, "You fully reinforce the wall.") var/turf/T = get_turf(src) - T.ChangeTurf(/turf/closed/wall/r_wall) + T.PlaceOnTop(/turf/closed/wall/r_wall) transfer_fingerprints_to(T) qdel(src) return @@ -194,7 +194,7 @@ S.use(2) to_chat(user, "You add the plating.") var/turf/T = get_turf(src) - T.ChangeTurf(text2path("/turf/closed/wall/mineral/[M]")) + T.PlaceOnTop(text2path("/turf/closed/wall/mineral/[M]")) transfer_fingerprints_to(T) qdel(src) return @@ -397,7 +397,7 @@ user.visible_message("[user] plates [src] with runed metal.", "You construct a runed wall.") R.use(1) var/turf/T = get_turf(src) - T.ChangeTurf(/turf/closed/wall/mineral/cult) + T.PlaceOnTop(/turf/closed/wall/mineral/cult) qdel(src) else @@ -424,7 +424,7 @@ switch(passed_mode) if(RCD_FLOORWALL) to_chat(user, "You finish a wall.") - T.ChangeTurf(/turf/closed/wall) + T.PlaceOnTop(/turf/closed/wall) qdel(src) return TRUE if(RCD_DECONSTRUCT) diff --git a/code/game/turfs/ChangeTurf.dm b/code/game/turfs/ChangeTurf.dm new file mode 100644 index 0000000000..2f165d9a20 --- /dev/null +++ b/code/game/turfs/ChangeTurf.dm @@ -0,0 +1,217 @@ +/turf/proc/empty(turf_type=/turf/open/space, baseturf_type, list/ignore_typecache, flags) + // Remove all atoms except observers, landmarks, docking ports + var/static/list/ignored_atoms = typecacheof(list(/mob/dead, /obj/effect/landmark, /obj/docking_port, /atom/movable/lighting_object)) + var/list/allowed_contents = typecache_filter_list_reverse(GetAllContentsIgnoring(ignore_typecache), ignored_atoms) + allowed_contents -= src + for(var/i in 1 to allowed_contents.len) + var/thing = allowed_contents[i] + qdel(thing, force=TRUE) + + var/turf/newT = ChangeTurf(turf_type, baseturf_type, flags) + + SSair.remove_from_active(newT) + newT.CalculateAdjacentTurfs() + SSair.add_to_active(newT,1) + +/turf/proc/copyTurf(turf/T) + if(T.type != type) + var/obj/O + if(underlays.len) //we have underlays, which implies some sort of transparency, so we want to a snapshot of the previous turf as an underlay + O = new() + O.underlays.Add(T) + T.ChangeTurf(type) + for(var/group in decals) + T.add_decal(decals[group],group) + if(underlays.len) + T.underlays = O.underlays + if(T.icon_state != icon_state) + T.icon_state = icon_state + if(T.icon != icon) + T.icon = icon + if(color) + T.atom_colours = atom_colours.Copy() + T.update_atom_colour() + if(T.dir != dir) + T.setDir(dir) + return T + +//wrapper for ChangeTurf()s that you want to prevent/affect without overriding ChangeTurf() itself +/turf/proc/TerraformTurf(path, new_baseturf, flags) + return ChangeTurf(path, new_baseturf, flags) + +// Creates a new turf +// new_baseturfs can be either a single type or list of types, formated the same as baseturfs. see turf.dm +/turf/proc/ChangeTurf(path, list/new_baseturfs, flags) + if(!path) + return + if(!GLOB.use_preloader && path == type && !(flags & CHANGETURF_FORCEOP)) // Don't no-op if the map loader requires it to be reconstructed + return src + + var/old_opacity = opacity + var/old_dynamic_lighting = dynamic_lighting + var/old_affecting_lights = affecting_lights + var/old_lighting_object = lighting_object + var/old_corners = corners + + var/old_exl = explosion_level + var/old_exi = explosion_id + var/old_bp = blueprint_data + blueprint_data = null + + var/list/old_baseturfs = baseturfs + changing_turf = TRUE + + qdel(src) //Just get the side effects and call Destroy + var/turf/W = new path(src) + + if(new_baseturfs) + W.baseturfs = new_baseturfs + else + W.baseturfs = old_baseturfs + + W.explosion_id = old_exi + W.explosion_level = old_exl + + if(!(flags & CHANGETURF_DEFER_CHANGE)) + W.AfterChange(flags) + + W.blueprint_data = old_bp + + if(SSlighting.initialized) + recalc_atom_opacity() + lighting_object = old_lighting_object + affecting_lights = old_affecting_lights + corners = old_corners + if (old_opacity != opacity || dynamic_lighting != old_dynamic_lighting) + reconsider_lights() + + if (dynamic_lighting != old_dynamic_lighting) + if (IS_DYNAMIC_LIGHTING(src)) + lighting_build_overlay() + else + lighting_clear_overlay() + + for(var/turf/open/space/S in RANGE_TURFS(1, src)) //RANGE_TURFS is in code\__HELPERS\game.dm + S.update_starlight() + + return W + +// Take off the top layer turf and replace it with the next baseturf down +/turf/proc/ScrapeAway() + if(length(baseturfs)) + var/list/new_baseturfs = baseturfs + var/turf_type = new_baseturfs[new_baseturfs.len] + new_baseturfs.len-- + switch(new_baseturfs.len) + if(1) + new_baseturfs = new_baseturfs[1] + if(0) + new_baseturfs = turf_type + // We must never end up with a situation where there is no baseturf + WARNING("turf of type [type] had a baseturfs length 1 still in list form.") + return ChangeTurf(turf_type, new_baseturfs) + + if(baseturfs == type) + return src + + return ChangeTurf(baseturfs, baseturfs) // The bottom baseturf will never go away + +// Take the input as baseturfs and put it underneath the current baseturfs +// If fake_turf_type is provided and new_baseturfs is not the baseturfs list will be created identical to the turf type's +// If both or just new_baseturfs is provided they will be inserted below the existing baseturfs +/turf/proc/PlaceOnBottom(turf/fake_turf_type, list/new_baseturfs) + if(fake_turf_type) + if(!new_baseturfs) + var/list/old_baseturfs = baseturfs.Copy() + assemble_baseturfs(fake_turf_type) + baseturfs += old_baseturfs + return + else if(!length(new_baseturfs)) + new_baseturfs = list(new_baseturfs, fake_turf_type) + else + new_baseturfs += fake_turf_type + baseturfs.Insert(1, new_baseturfs) + +// Make a new turf and put it on top +/turf/proc/PlaceOnTop(turf/fake_turf_type, list/new_baseturfs) + var/list/temp_baseturfs = list() + temp_baseturfs += baseturfs // Doesn't matter if baseturfs is a list or single item, either will get added correctly + temp_baseturfs += type + if(new_baseturfs) + temp_baseturfs += new_baseturfs + return ChangeTurf(fake_turf_type, temp_baseturfs) + +// Copy an existing turf and put it on top +/turf/proc/CopyOnTop(turf/copytarget, ignore_bottom=1, depth=INFINITY) // x, 1, 0 + var/list/new_baseturfs = list() + new_baseturfs += baseturfs + new_baseturfs += type + + if(depth) + var/list/target_baseturfs = copytarget.baseturfs + var/base_len = length(target_baseturfs) + if(!base_len) + if(!ignore_bottom) + new_baseturfs += target_baseturfs + else if(base_len > ignore_bottom) + if(base_len - ignore_bottom <= depth) + new_baseturfs += target_baseturfs.Copy(ignore_bottom + 1) + else + new_baseturfs += target_baseturfs.Copy(base_len - depth) + + var/turf/newT = copytarget.copyTurf(src) + newT.baseturfs = new_baseturfs + return newT + +/turf/proc/AfterChange(flags) //called after a turf has been replaced in ChangeTurf() + levelupdate() + CalculateAdjacentTurfs() + + //update firedoor adjacency + var/list/turfs_to_check = get_adjacent_open_turfs(src) | src + for(var/I in turfs_to_check) + var/turf/T = I + for(var/obj/machinery/door/firedoor/FD in T) + FD.CalculateAffectingAreas() + + queue_smooth_neighbors(src) + + HandleTurfChange(src) + +/turf/open/AfterChange(flags) + ..() + RemoveLattice() + if(!(flags & CHANGETURF_IGNORE_AIR)) + Assimilate_Air() + +//////Assimilate Air////// +/turf/open/proc/Assimilate_Air() + var/turf_count = LAZYLEN(atmos_adjacent_turfs) + if(blocks_air || !turf_count) //if there weren't any open turfs, no need to update. + return + + var/datum/gas_mixture/total = new//Holders to assimilate air from nearby turfs + var/list/total_gases = total.gases + + for(var/T in atmos_adjacent_turfs) + var/turf/open/S = T + if(!S.air) + continue + var/list/S_gases = S.air.gases + for(var/id in S_gases) + ASSERT_GAS(id, total) + total_gases[id][MOLES] += S_gases[id][MOLES] + total.temperature += S.air.temperature + + air.copy_from(total) + + var/list/air_gases = air.gases + for(var/id in air_gases) + air_gases[id][MOLES] /= turf_count //Averages contents of the turfs, ignoring walls and the like + + air.temperature /= turf_count + SSair.add_to_active(src) + +/turf/proc/ReplaceWithLattice() + ScrapeAway() + new /obj/structure/lattice(locate(x, y, z)) \ No newline at end of file diff --git a/code/game/turfs/closed.dm b/code/game/turfs/closed.dm index 1dc749dc70..6f1e6bfaf0 100644 --- a/code/game/turfs/closed.dm +++ b/code/game/turfs/closed.dm @@ -137,7 +137,7 @@ icon = 'icons/turf/walls.dmi' icon_state = "necro" explosion_block = 50 - baseturf = /turf/closed/indestructible/necropolis + baseturfs = /turf/closed/indestructible/necropolis /turf/closed/indestructible/necropolis/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) underlay_appearance.icon = 'icons/turf/floors.dmi' @@ -151,7 +151,7 @@ icon_state = "wall" canSmoothWith = list(/turf/closed/indestructible/riveted/boss, /turf/closed/indestructible/riveted/boss/see_through) explosion_block = 50 - baseturf = /turf/closed/indestructible/riveted/boss + baseturfs = /turf/closed/indestructible/riveted/boss /turf/closed/indestructible/riveted/boss/see_through opacity = FALSE diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm index 0eddbc411e..6fed77b5fe 100644 --- a/code/game/turfs/open.dm +++ b/code/game/turfs/open.dm @@ -30,7 +30,7 @@ desc = "It's regarding you suspiciously." icon = 'icons/turf/floors.dmi' icon_state = "necro1" - baseturf = /turf/open/indestructible/necropolis + baseturfs = /turf/open/indestructible/necropolis initial_gas_mix = LAVALAND_DEFAULT_ATMOS /turf/open/indestructible/necropolis/Initialize() @@ -45,7 +45,7 @@ name = "necropolis floor" icon = 'icons/turf/boss_floors.dmi' icon_state = "boss" - baseturf = /turf/open/indestructible/boss + baseturfs = /turf/open/indestructible/boss initial_gas_mix = LAVALAND_DEFAULT_ATMOS /turf/open/indestructible/boss/air @@ -54,7 +54,7 @@ /turf/open/indestructible/hierophant icon = 'icons/turf/floors/hierophant_floor.dmi' initial_gas_mix = LAVALAND_DEFAULT_ATMOS - baseturf = /turf/open/indestructible/hierophant + baseturfs = /turf/open/indestructible/hierophant smooth = SMOOTH_TRUE /turf/open/indestructible/hierophant/two @@ -71,7 +71,7 @@ name = "cogmetal" desc = "Brass plating that gently radiates heat. For some reason, it reminds you of blood." icon_state = "reebe" - baseturf = /turf/open/indestructible/clock_spawn_room + baseturfs = /turf/open/indestructible/clock_spawn_room /turf/open/indestructible/clock_spawn_room/Entered() ..() diff --git a/code/game/turfs/simulated/chasm.dm b/code/game/turfs/simulated/chasm.dm index 3f45d5e127..dec9deac51 100644 --- a/code/game/turfs/simulated/chasm.dm +++ b/code/game/turfs/simulated/chasm.dm @@ -2,7 +2,7 @@ /turf/open/chasm name = "chasm" desc = "Watch your step." - baseturf = /turf/open/chasm + baseturfs = /turf/open/chasm smooth = SMOOTH_TRUE | SMOOTH_BORDER | SMOOTH_MORE icon = 'icons/turf/floors/chasms.dmi' icon_state = "smooth" @@ -55,7 +55,7 @@ playsound(src, 'sound/weapons/genhit.ogg', 50, 1) to_chat(user, "You build a floor.") // Create a floor, which has this chasm underneath it - ChangeTurf(/turf/open/floor/plating, type) + PlaceOnTop(/turf/open/floor/plating) else to_chat(user, "You need one floor tile to build a floor!") else @@ -67,7 +67,7 @@ // Naive "down" which just subtracts a z-level /turf/open/chasm/straight_down - baseturf = /turf/open/chasm/straight_down + baseturfs = /turf/open/chasm/straight_down /turf/open/chasm/straight_down/Initialize() . = ..() @@ -78,7 +78,7 @@ /turf/open/chasm/lavaland initial_gas_mix = LAVALAND_DEFAULT_ATMOS planetary_atmos = TRUE - baseturf = /turf/open/chasm/lavaland + baseturfs = /turf/open/chasm/lavaland light_range = 1.9 //slightly less range than lava light_power = 0.65 //less bright, too light_color = LIGHT_COLOR_LAVA //let's just say you're falling into lava, that makes sense right @@ -89,7 +89,7 @@ icon = 'icons/turf/floors/junglechasm.dmi' initial_gas_mix = LAVALAND_DEFAULT_ATMOS planetary_atmos = TRUE - baseturf = /turf/open/chasm/jungle + baseturfs = /turf/open/chasm/jungle /turf/open/chasm/jungle/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) underlay_appearance.icon = 'icons/turf/floors.dmi' @@ -97,7 +97,7 @@ return TRUE /turf/open/chasm/jungle/straight_down - baseturf = /turf/open/chasm/jungle/straight_down + baseturfs = /turf/open/chasm/jungle/straight_down /turf/open/chasm/jungle/straight_down/Initialize(mapload) . = ..() diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index 3978bc802d..db12cf3530 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -51,13 +51,13 @@ if(severity != 1 && shielded && target != src) return if(target == src) - src.ChangeTurf(src.baseturf) + ScrapeAway() if(target != null) severity = 3 switch(severity) if(1) - src.ChangeTurf(src.baseturf) + ScrapeAway() if(2) switch(pick(1,2;75,3)) if(1) @@ -65,7 +65,7 @@ if(prob(33)) new /obj/item/stack/sheet/metal(src) if(2) - src.ChangeTurf(src.baseturf) + ScrapeAway() if(3) if(prob(80)) src.break_tile_to_plating() @@ -119,7 +119,7 @@ /turf/open/floor/proc/make_plating() return ChangeTurf(/turf/open/floor/plating) -/turf/open/floor/ChangeTurf(path, new_baseturf, defer_change = FALSE, ignore_air = FALSE, forceop = FALSE) +/turf/open/floor/ChangeTurf(path, new_baseturf, flags) if(!isfloorturf(src)) return ..() //fucking turfs switch the fucking src of the fucking running procs if(!ispath(path, /turf/open/floor)) @@ -202,7 +202,7 @@ ChangeTurf(/turf/open/floor/clockwork) /turf/open/floor/acid_melt() - ChangeTurf(baseturf) + ScrapeAway() /turf/open/floor/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) switch(the_rcd.mode) @@ -223,7 +223,7 @@ switch(passed_mode) if(RCD_FLOORWALL) to_chat(user, "You build a wall.") - ChangeTurf(/turf/closed/wall) + PlaceOnTop(/turf/closed/wall) return TRUE if(RCD_AIRLOCK) if(locate(/obj/machinery/door/airlock) in src) @@ -244,10 +244,9 @@ A.autoclose = TRUE return TRUE if(RCD_DECONSTRUCT) - if(istype(src, baseturf)) + if(ScrapeAway() == src) return FALSE to_chat(user, "You deconstruct [src].") - ChangeTurf(baseturf) return TRUE if(RCD_WINDOWGRILLE) if(locate(/obj/structure/grille) in src) diff --git a/code/game/turfs/simulated/floor/light_floor.dm b/code/game/turfs/simulated/floor/light_floor.dm index f0fb7c4448..889638b27e 100644 --- a/code/game/turfs/simulated/floor/light_floor.dm +++ b/code/game/turfs/simulated/floor/light_floor.dm @@ -47,7 +47,7 @@ icon_state = "light_off" -/turf/open/floor/light/ChangeTurf(path, new_baseturf, defer_change = FALSE, ignore_air = FALSE, forceop = FALSE) +/turf/open/floor/light/ChangeTurf(path, new_baseturf, flags) set_light(0) return ..() diff --git a/code/game/turfs/simulated/floor/misc_floor.dm b/code/game/turfs/simulated/floor/misc_floor.dm index 3e7540cdf6..e9ff95af84 100644 --- a/code/game/turfs/simulated/floor/misc_floor.dm +++ b/code/game/turfs/simulated/floor/misc_floor.dm @@ -142,7 +142,7 @@ name = "clockwork floor" desc = "Tightly-pressed brass tiles. They emit minute vibration." icon_state = "plating" - baseturf = /turf/open/floor/clockwork + baseturfs = /turf/open/floor/clockwork var/uses_overlay = TRUE var/obj/effect/clockwork/overlay/floor/realappearence @@ -161,9 +161,7 @@ return ..() /turf/open/floor/clockwork/ReplaceWithLattice() - if(baseturf == type) - return - ..() + . = ..() for(var/obj/structure/lattice/L in src) L.ratvar_act() @@ -196,7 +194,7 @@ L.adjustToxLoss(-3, TRUE, TRUE) /turf/open/floor/clockwork/attackby(obj/item/I, mob/living/user, params) - if(baseturf == type) + if(baseturfs == type) return if(istype(I, /obj/item/crowbar)) user.visible_message("[user] begins slowly prying up [src]...", "You begin painstakingly prying up [src]...") @@ -225,7 +223,7 @@ name = "cogplate" desc = "Warm brass plating. You can feel it gently vibrating, as if machinery is on the other side." icon_state = "reebe" - baseturf = /turf/open/floor/clockwork/reebe + baseturfs = /turf/open/floor/clockwork/reebe uses_overlay = FALSE /turf/open/floor/bluespace diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm index 27afebef7c..a406f1e148 100644 --- a/code/game/turfs/simulated/floor/plating.dm +++ b/code/game/turfs/simulated/floor/plating.dm @@ -109,10 +109,10 @@ if(prob(I.force * 20 - 25)) user.visible_message("[user] smashes through [src]!", \ "You smash through [src] with [I]!") - ChangeTurf(baseturf) + ScrapeAway() else to_chat(user, "You hit [src], to no effect!") /turf/open/floor/plating/foam/ex_act() ..() - ChangeTurf(baseturf) + ScrapeAway() diff --git a/code/game/turfs/simulated/floor/plating/asteroid.dm b/code/game/turfs/simulated/floor/plating/asteroid.dm index 1419036d07..2cdac898b7 100644 --- a/code/game/turfs/simulated/floor/plating/asteroid.dm +++ b/code/game/turfs/simulated/floor/plating/asteroid.dm @@ -5,7 +5,7 @@ /turf/open/floor/plating/asteroid //floor piece name = "asteroid sand" - baseturf = /turf/open/floor/plating/asteroid + baseturfs = /turf/open/floor/plating/asteroid icon = 'icons/turf/floors.dmi' icon_state = "asteroid" icon_plating = "asteroid" @@ -61,7 +61,7 @@ /turf/open/floor/plating/asteroid/singularity_act() if(turf_z_is_planet(src)) return ..() - ChangeTurf(/turf/open/space) + ScrapeAway() /turf/open/floor/plating/asteroid/ex_act(severity, target) . = SendSignal(COMSIG_ATOM_EX_ACT, severity, target) @@ -70,7 +70,7 @@ /turf/open/floor/plating/asteroid/basalt name = "volcanic floor" - baseturf = /turf/open/floor/plating/asteroid/basalt + baseturfs = /turf/open/floor/plating/asteroid/basalt icon = 'icons/turf/floors.dmi' icon_state = "basalt" icon_plating = "basalt" @@ -79,7 +79,7 @@ floor_variance = 15 /turf/open/floor/plating/asteroid/basalt/lava //lava underneath - baseturf = /turf/open/lava/smooth + baseturfs = /turf/open/lava/smooth /turf/open/floor/plating/asteroid/basalt/airless initial_gas_mix = "TEMP=2.7" @@ -103,7 +103,7 @@ /turf/open/floor/plating/asteroid/basalt/lava_land_surface initial_gas_mix = LAVALAND_DEFAULT_ATMOS planetary_atmos = TRUE - baseturf = /turf/open/lava/smooth/lava_land_surface + baseturfs = /turf/open/lava/smooth/lava_land_surface @@ -206,7 +206,7 @@ if(istype(tunnel)) // Small chance to have forks in our tunnel; otherwise dig our tunnel. if(i > 3 && prob(20)) - var/turf/open/floor/plating/asteroid/airless/cave/C = tunnel.ChangeTurf(data_having_type,FALSE,FALSE,TRUE) + var/turf/open/floor/plating/asteroid/airless/cave/C = tunnel.ChangeTurf(data_having_type, null, CHANGETURF_IGNORE_AIR) C.going_backwards = FALSE C.produce_tunnel_from_data(rand(10, 15), dir) else @@ -232,7 +232,7 @@ SpawnFlora(T) SpawnMonster(T) - T.ChangeTurf(turf_type,FALSE,FALSE,TRUE) + T.ChangeTurf(turf_type, null, CHANGETURF_IGNORE_AIR) /turf/open/floor/plating/asteroid/airless/cave/proc/SpawnMonster(turf/T) if(prob(30)) @@ -279,7 +279,7 @@ name = "snow" desc = "Looks cold." icon = 'icons/turf/snow.dmi' - baseturf = /turf/open/floor/plating/asteroid/snow + baseturfs = /turf/open/floor/plating/asteroid/snow icon_state = "snow" icon_plating = "snow" initial_gas_mix = "TEMP=180" diff --git a/code/game/turfs/simulated/floor/plating/dirt.dm b/code/game/turfs/simulated/floor/plating/dirt.dm index 3a02935657..a9ddd4180e 100644 --- a/code/game/turfs/simulated/floor/plating/dirt.dm +++ b/code/game/turfs/simulated/floor/plating/dirt.dm @@ -3,7 +3,7 @@ desc = "Upon closer examination, it's still dirt." icon = 'icons/turf/floors.dmi' icon_state = "dirt" - baseturf = /turf/open/chasm/jungle/straight_down + baseturfs = /turf/open/chasm/jungle/straight_down initial_gas_mix = LAVALAND_DEFAULT_ATMOS planetary_atmos = TRUE attachment_holes = FALSE diff --git a/code/game/turfs/simulated/floor/plating/misc_plating.dm b/code/game/turfs/simulated/floor/plating/misc_plating.dm index 259e374869..d08d93ef2c 100644 --- a/code/game/turfs/simulated/floor/plating/misc_plating.dm +++ b/code/game/turfs/simulated/floor/plating/misc_plating.dm @@ -37,7 +37,7 @@ smooth = SMOOTH_MORE|SMOOTH_BORDER var/smooth_icon = 'icons/turf/floors/ash.dmi' desc = "The ground is covered in volcanic ash." - baseturf = /turf/open/floor/plating/ashplanet/wateryrock //I assume this will be a chasm eventually, once this becomes an actual surface + baseturfs = /turf/open/floor/plating/ashplanet/wateryrock //I assume this will be a chasm eventually, once this becomes an actual surface initial_gas_mix = LAVALAND_DEFAULT_ATMOS planetary_atmos = TRUE attachment_holes = FALSE @@ -91,24 +91,24 @@ name = "sand" desc = "Surf's up." icon_state = "sand" - baseturf = /turf/open/floor/plating/beach/sand + baseturfs = /turf/open/floor/plating/beach/sand /turf/open/floor/plating/beach/coastline_t name = "coastline" desc = "Tide's high tonight. Charge your batons." icon_state = "sandwater_t" - baseturf = /turf/open/floor/plating/beach/coastline_t + baseturfs = /turf/open/floor/plating/beach/coastline_t /turf/open/floor/plating/beach/coastline_b name = "coastline" icon_state = "sandwater_b" - baseturf = /turf/open/floor/plating/beach/coastline_b + baseturfs = /turf/open/floor/plating/beach/coastline_b /turf/open/floor/plating/beach/water name = "water" desc = "You get the feeling that nobody's bothered to actually make this water functional..." icon_state = "water" - baseturf = /turf/open/floor/plating/beach/water + baseturfs = /turf/open/floor/plating/beach/water /turf/open/floor/plating/ironsand @@ -129,7 +129,7 @@ icon = 'icons/turf/snow.dmi' icon_state = "ice" temperature = 180 - baseturf = /turf/open/floor/plating/ice + baseturfs = /turf/open/floor/plating/ice slowdown = 1 wet = TURF_WET_PERMAFROST attachment_holes = FALSE diff --git a/code/game/turfs/simulated/floor/reinf_floor.dm b/code/game/turfs/simulated/floor/reinf_floor.dm index 74354e78c7..f53e62dba7 100644 --- a/code/game/turfs/simulated/floor/reinf_floor.dm +++ b/code/game/turfs/simulated/floor/reinf_floor.dm @@ -48,14 +48,14 @@ if(severity != 1 && shielded && target != src) return if(target == src) - src.ChangeTurf(src.baseturf) + ScrapeAway() return switch(severity) if(1) if(prob(80)) ReplaceWithLattice() else if(prob(50)) - ChangeTurf(src.baseturf) + ScrapeAway() else make_plating(1) if(2) @@ -122,7 +122,7 @@ be_removed() return ..() -/turf/open/floor/engine/cult/ChangeTurf(path, new_baseturf, defer_change = FALSE, ignore_air = FALSE, forceop = FALSE) +/turf/open/floor/engine/cult/ChangeTurf(path, new_baseturf, flags) if(path != type) be_removed() return ..() diff --git a/code/game/turfs/simulated/lava.dm b/code/game/turfs/simulated/lava.dm index d5dbd79ff5..42ede622a1 100644 --- a/code/game/turfs/simulated/lava.dm +++ b/code/game/turfs/simulated/lava.dm @@ -4,7 +4,7 @@ name = "lava" icon_state = "lava" gender = PLURAL //"That's some lava." - baseturf = /turf/open/lava //lava all the way down + baseturfs = /turf/open/lava //lava all the way down slowdown = 2 light_range = 2 @@ -128,7 +128,7 @@ /turf/open/lava/smooth name = "lava" - baseturf = /turf/open/lava/smooth + baseturfs = /turf/open/lava/smooth icon = 'icons/turf/floors/lava.dmi' icon_state = "unsmooth" smooth = SMOOTH_MORE | SMOOTH_BORDER @@ -137,7 +137,7 @@ /turf/open/lava/smooth/lava_land_surface initial_gas_mix = LAVALAND_DEFAULT_ATMOS planetary_atmos = TRUE - baseturf = /turf/open/chasm/lavaland + baseturfs = /turf/open/chasm/lavaland /turf/open/lava/smooth/airless initial_gas_mix = "TEMP=2.7" diff --git a/code/game/turfs/simulated/minerals.dm b/code/game/turfs/simulated/minerals.dm index 2a0147c82a..c737848749 100644 --- a/code/game/turfs/simulated/minerals.dm +++ b/code/game/turfs/simulated/minerals.dm @@ -7,7 +7,7 @@ var/smooth_icon = 'icons/turf/smoothrocks.dmi' smooth = SMOOTH_MORE|SMOOTH_BORDER canSmoothWith - baseturf = /turf/open/floor/plating/asteroid/airless + baseturfs = /turf/open/floor/plating/asteroid/airless initial_gas_mix = "TEMP=2.7" opacity = 1 density = TRUE @@ -78,7 +78,10 @@ SSblackbox.record_feedback("tally", "ore_mined", 1, mineralType) for(var/obj/effect/temp_visual/mining_overlay/M in src) qdel(M) - ChangeTurf(turf_type, FALSE, defer_change) + var/flags = NONE + if(defer_change) // TODO: make the defer change var a var for any changeturf flag + flags = CHANGETURF_DEFER_CHANGE + ChangeTurf(turf_type, null, flags) addtimer(CALLBACK(src, .proc/AfterChange), 1, TIMER_UNIQUE) playsound(src, 'sound/effects/break_stone.ogg', 50, 1) //beautiful destruction @@ -111,7 +114,7 @@ return /turf/closed/mineral/acid_melt() - ChangeTurf(baseturf) + ScrapeAway() /turf/closed/mineral/ex_act(severity, target) ..() @@ -153,7 +156,7 @@ M.mineralAmt = rand(1, 5) M.environment_type = src.environment_type M.turf_type = src.turf_type - M.baseturf = src.baseturf + M.baseturfs = src.baseturfs src = M M.levelupdate() @@ -168,7 +171,7 @@ /turf/closed/mineral/random/high_chance/volcanic environment_type = "basalt" turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface - baseturf = /turf/open/lava/smooth/lava_land_surface + baseturfs = /turf/open/lava/smooth/lava_land_surface initial_gas_mix = LAVALAND_DEFAULT_ATMOS defer_change = 1 mineralSpawnChanceList = list( @@ -189,7 +192,7 @@ /turf/closed/mineral/random/volcanic environment_type = "basalt" turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface - baseturf = /turf/open/lava/smooth/lava_land_surface + baseturfs = /turf/open/lava/smooth/lava_land_surface initial_gas_mix = LAVALAND_DEFAULT_ATMOS defer_change = 1 @@ -211,7 +214,7 @@ /turf/closed/mineral/random/labormineral/volcanic environment_type = "basalt" turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface - baseturf = /turf/open/lava/smooth/lava_land_surface + baseturfs = /turf/open/lava/smooth/lava_land_surface initial_gas_mix = LAVALAND_DEFAULT_ATMOS defer_change = 1 mineralSpawnChanceList = list( @@ -230,7 +233,7 @@ /turf/closed/mineral/iron/volcanic environment_type = "basalt" turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface + baseturfs = /turf/open/floor/plating/asteroid/basalt/lava_land_surface initial_gas_mix = LAVALAND_DEFAULT_ATMOS defer_change = 1 @@ -244,7 +247,7 @@ /turf/closed/mineral/uranium/volcanic environment_type = "basalt" turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface + baseturfs = /turf/open/floor/plating/asteroid/basalt/lava_land_surface initial_gas_mix = LAVALAND_DEFAULT_ATMOS defer_change = 1 @@ -258,7 +261,7 @@ /turf/closed/mineral/diamond/volcanic environment_type = "basalt" turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface + baseturfs = /turf/open/floor/plating/asteroid/basalt/lava_land_surface initial_gas_mix = LAVALAND_DEFAULT_ATMOS defer_change = 1 @@ -272,7 +275,7 @@ /turf/closed/mineral/gold/volcanic environment_type = "basalt" turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface + baseturfs = /turf/open/floor/plating/asteroid/basalt/lava_land_surface initial_gas_mix = LAVALAND_DEFAULT_ATMOS defer_change = 1 @@ -286,7 +289,7 @@ /turf/closed/mineral/silver/volcanic environment_type = "basalt" turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface + baseturfs = /turf/open/floor/plating/asteroid/basalt/lava_land_surface initial_gas_mix = LAVALAND_DEFAULT_ATMOS defer_change = 1 @@ -300,7 +303,7 @@ /turf/closed/mineral/titanium/volcanic environment_type = "basalt" turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface + baseturfs = /turf/open/floor/plating/asteroid/basalt/lava_land_surface initial_gas_mix = LAVALAND_DEFAULT_ATMOS defer_change = 1 @@ -314,7 +317,7 @@ /turf/closed/mineral/plasma/volcanic environment_type = "basalt" turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface + baseturfs = /turf/open/floor/plating/asteroid/basalt/lava_land_surface initial_gas_mix = LAVALAND_DEFAULT_ATMOS defer_change = 1 @@ -337,7 +340,7 @@ /turf/closed/mineral/bscrystal/volcanic environment_type = "basalt" turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface + baseturfs = /turf/open/floor/plating/asteroid/basalt/lava_land_surface initial_gas_mix = LAVALAND_DEFAULT_ATMOS defer_change = 1 @@ -345,13 +348,13 @@ /turf/closed/mineral/volcanic environment_type = "basalt" turf_type = /turf/open/floor/plating/asteroid/basalt - baseturf = /turf/open/floor/plating/asteroid/basalt + baseturfs = /turf/open/floor/plating/asteroid/basalt initial_gas_mix = LAVALAND_DEFAULT_ATMOS /turf/closed/mineral/volcanic/lava_land_surface environment_type = "basalt" turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface - baseturf = /turf/open/lava/smooth/lava_land_surface + baseturfs = /turf/open/lava/smooth/lava_land_surface defer_change = 1 /turf/closed/mineral/ash_rock //wall piece @@ -361,7 +364,7 @@ icon_state = "rock2" smooth = SMOOTH_MORE|SMOOTH_BORDER canSmoothWith = list (/turf/closed) - baseturf = /turf/open/floor/plating/ashplanet/wateryrock + baseturfs = /turf/open/floor/plating/ashplanet/wateryrock initial_gas_mix = LAVALAND_DEFAULT_ATMOS environment_type = "waste" turf_type = /turf/open/floor/plating/ashplanet/rocky @@ -459,13 +462,16 @@ G.quality = 2 G.icon_state = "Gibtonite ore 2" - ChangeTurf(turf_type, FALSE, defer_change) + var/flags = NONE + if(defer_change) + flags = CHANGETURF_DEFER_CHANGE + ChangeTurf(turf_type, null, flags) addtimer(CALLBACK(src, .proc/AfterChange), 1, TIMER_UNIQUE) /turf/closed/mineral/gibtonite/volcanic environment_type = "basalt" turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface - baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface + baseturfs = /turf/open/floor/plating/asteroid/basalt/lava_land_surface initial_gas_mix = LAVALAND_DEFAULT_ATMOS defer_change = 1 diff --git a/code/game/turfs/simulated/reebe_void.dm b/code/game/turfs/simulated/reebe_void.dm index 2e0246df83..3e40ebed64 100644 --- a/code/game/turfs/simulated/reebe_void.dm +++ b/code/game/turfs/simulated/reebe_void.dm @@ -2,7 +2,7 @@ name = "void" icon_state = "reebemap" layer = SPACE_LAYER - baseturf = /turf/open/indestructible/reebe_void + baseturfs = /turf/open/indestructible/reebe_void planetary_atmos = TRUE /turf/open/indestructible/reebe_void/Initialize(mapload) diff --git a/code/game/turfs/simulated/river.dm b/code/game/turfs/simulated/river.dm index 165af6ee68..fe9a5926bb 100644 --- a/code/game/turfs/simulated/river.dm +++ b/code/game/turfs/simulated/river.dm @@ -20,7 +20,7 @@ continue W.connected = 1 var/turf/cur_turf = get_turf(W) - cur_turf.ChangeTurf(turf_type,FALSE,FALSE,TRUE) + cur_turf.ChangeTurf(turf_type, null, CHANGETURF_IGNORE_AIR) var/turf/target_turf = get_turf(pick(river_nodes - W)) if(!target_turf) break @@ -49,7 +49,7 @@ cur_turf = get_step(cur_turf, cur_dir) continue else - var/turf/river_turf = cur_turf.ChangeTurf(turf_type,FALSE,FALSE,TRUE) + var/turf/river_turf = cur_turf.ChangeTurf(turf_type, null, CHANGETURF_IGNORE_AIR) river_turf.Spread(25, 11, whitelist_area) for(var/WP in river_nodes) @@ -85,16 +85,16 @@ for(var/F in cardinal_turfs) //cardinal turfs are always changed but don't always spread var/turf/T = F - if(!istype(T, logged_turf_type) && T.ChangeTurf(type,FALSE,FALSE,TRUE) && prob(probability)) + if(!istype(T, logged_turf_type) && T.ChangeTurf(type, null, CHANGETURF_IGNORE_AIR) && prob(probability)) T.Spread(probability - prob_loss, prob_loss, whitelisted_area) for(var/F in diagonal_turfs) //diagonal turfs only sometimes change, but will always spread if changed var/turf/T = F - if(!istype(T, logged_turf_type) && prob(probability) && T.ChangeTurf(type,FALSE,FALSE,TRUE)) + if(!istype(T, logged_turf_type) && prob(probability) && T.ChangeTurf(type, null, CHANGETURF_IGNORE_AIR)) T.Spread(probability - prob_loss, prob_loss, whitelisted_area) else if(ismineralturf(T)) var/turf/closed/mineral/M = T - M.ChangeTurf(M.turf_type,FALSE,FALSE,TRUE) + M.ChangeTurf(M.turf_type, null, CHANGETURF_IGNORE_AIR) #undef RANDOM_UPPER_X diff --git a/code/game/turfs/simulated/wall/misc_walls.dm b/code/game/turfs/simulated/wall/misc_walls.dm index ecc389af88..24056658c4 100644 --- a/code/game/turfs/simulated/wall/misc_walls.dm +++ b/code/game/turfs/simulated/wall/misc_walls.dm @@ -55,7 +55,7 @@ sheet_type = /obj/item/stack/tile/brass sheet_amount = 1 girder_type = /obj/structure/destructible/clockwork/wall_gear - baseturf = /turf/open/floor/clockwork/reebe + baseturfs = /turf/open/floor/clockwork/reebe var/heated var/obj/effect/clockwork/overlay/wall/realappearence @@ -88,13 +88,13 @@ /turf/closed/wall/clockwork/dismantle_wall(devastated=0, explode=0) if(devastated) devastate_wall() - ChangeTurf(/turf/open/floor/plating) + ScrapeAway() else playsound(src, 'sound/items/welder.ogg', 100, 1) var/newgirder = break_wall() if(newgirder) //maybe we want a gear! transfer_fingerprints_to(newgirder) - ChangeTurf(/turf/open/floor/clockwork) + ScrapeAway() for(var/obj/O in src) //Eject contents! if(istype(O, /obj/structure/sign/poster)) diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 00377e4f3f..7da53425bd 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -10,6 +10,8 @@ thermal_conductivity = WALL_HEAT_TRANSFER_COEFFICIENT heat_capacity = 312500 //a little over 5 cm thick , 312500 for 1 m by 2.5 m by 0.25 m plasteel wall + baseturfs = /turf/open/floor/plating + var/hardness = 40 //lower numbers are harder. Used to determine the probability of a hulk smashing through. var/slicing_duration = 100 //default time taken to slice the wall var/sheet_type = /obj/item/stack/sheet/metal @@ -78,7 +80,7 @@ var/obj/structure/sign/poster/P = O P.roll_and_drop(src) - ChangeTurf(/turf/open/floor/plating) + ScrapeAway() /turf/closed/wall/proc/break_wall() new sheet_type(src, sheet_amount) @@ -96,7 +98,7 @@ switch(severity) if(1) //SN src = null - var/turf/NT = ChangeTurf(baseturf) + var/turf/NT = ScrapeAway() NT.contents_explosion(severity, target) return if(2) @@ -294,7 +296,7 @@ switch(passed_mode) if(RCD_DECONSTRUCT) to_chat(user, "You deconstruct the wall.") - ChangeTurf(/turf/open/floor/plating) + ScrapeAway() return TRUE return FALSE diff --git a/code/game/turfs/simulated/water.dm b/code/game/turfs/simulated/water.dm index c67fdc83a1..104f8b4b53 100644 --- a/code/game/turfs/simulated/water.dm +++ b/code/game/turfs/simulated/water.dm @@ -3,7 +3,7 @@ desc = "Shallow water." icon = 'icons/turf/floors.dmi' icon_state = "riverwater" - baseturf = /turf/open/chasm/lavaland + baseturfs = /turf/open/chasm/lavaland initial_gas_mix = LAVALAND_DEFAULT_ATMOS planetary_atmos = TRUE slowdown = 1 diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index 5399b748e6..e446eb3b2c 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -118,7 +118,7 @@ qdel(L) playsound(src, 'sound/weapons/genhit.ogg', 50, 1) to_chat(user, "You build a floor.") - ChangeTurf(/turf/open/floor/plating) + PlaceOnTop(/turf/open/floor/plating) else to_chat(user, "You need one floor tile to build a floor!") else @@ -192,7 +192,7 @@ switch(passed_mode) if(RCD_FLOORWALL) to_chat(user, "You build a floor.") - ChangeTurf(/turf/open/floor/plating) + PlaceOnTop(/turf/open/floor/plating) return TRUE return FALSE diff --git a/code/game/turfs/space/transit.dm b/code/game/turfs/space/transit.dm index 2ba08fa2a9..a2f8d8262c 100644 --- a/code/game/turfs/space/transit.dm +++ b/code/game/turfs/space/transit.dm @@ -1,7 +1,7 @@ /turf/open/space/transit icon_state = "black" dir = SOUTH - baseturf = /turf/open/space/transit + baseturfs = /turf/open/space/transit flags_1 = NOJAUNT_1 //This line goes out to every wizard that ever managed to escape the den. I'm sorry. explosion_block = INFINITY diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 36ba033eef..f0563ade79 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -3,7 +3,13 @@ level = 1 var/intact = 1 - var/turf/baseturf = /turf/open/space + + // baseturfs can be either a list or a single turf type. + // In class definition like here it should always be a single type. + // A list will be created in initialization that figures out the baseturf's baseturf etc. + // In the case of a list it is sorted from bottom layer to top. + // This shouldn't be modified directly, use the helper procs. + var/list/baseturfs = /turf/open/space var/temperature = T20C var/to_be_destroyed = 0 //Used for fire, if a melting temperature was reached, it will be destroyed @@ -35,6 +41,8 @@ stack_trace("Warning: [src]([type]) initialized multiple times!") initialized = TRUE + assemble_baseturfs() + levelupdate() if(smooth) queue_smooth(src) @@ -180,6 +188,55 @@ /turf/proc/is_plasteel_floor() return FALSE +// A proc in case it needs to be recreated or badmins want to change the baseturfs +/turf/proc/assemble_baseturfs(turf/fake_baseturf_type) + var/static/list/created_baseturf_lists = list() + var/turf/current_target + if(fake_baseturf_type) + if(length(fake_baseturf_type)) // We were given a list, just apply it and move on + baseturfs = fake_baseturf_type + return + current_target = fake_baseturf_type + else + if(length(baseturfs)) + return // No replacement baseturf has been given and the current baseturfs value is already a list/assembled + if(!baseturfs) + current_target = initial(baseturfs) || type // This should never happen but just in case... + stack_trace("baseturfs var was null for [type]. Failsafe activated and it has been given a new baseturfs value of [current_target].") + else + current_target = baseturfs + + // If we've made the output before we don't need to regenerate it + if(created_baseturf_lists[current_target]) + var/list/premade_baseturfs = created_baseturf_lists[current_target] + if(length(premade_baseturfs)) + baseturfs = premade_baseturfs.Copy() + else + baseturfs = premade_baseturfs + return baseturfs + + var/turf/next_target = initial(current_target.baseturfs) + //Most things only have 1 baseturf so this loop won't run in most cases + if(current_target == next_target) + baseturfs = current_target + created_baseturf_lists[current_target] = current_target + return current_target + var/list/new_baseturfs = list(current_target) + for(var/i=0;current_target != next_target;i++) + if(i > 100) + // A baseturfs list over 100 members long is silly + // Because of how this is all structured it will only runtime/message once per type + stack_trace("A turf <[type]> created a baseturfs list over 100 members long. This is most likely an infinite loop.") + message_admins("A turf <[type]> created a baseturfs list over 100 members long. This is most likely an infinite loop.") + break + new_baseturfs.Insert(1, next_target) + current_target = next_target + next_target = initial(current_target.baseturfs) + + baseturfs = new_baseturfs + created_baseturf_lists[new_baseturfs[new_baseturfs.len]] = new_baseturfs.Copy() + return new_baseturfs + /turf/proc/levelupdate() for(var/obj/O in src) if(O.level == 1) @@ -197,119 +254,6 @@ if(L) qdel(L) -//wrapper for ChangeTurf()s that you want to prevent/affect without overriding ChangeTurf() itself -/turf/proc/TerraformTurf(path, new_baseturf, defer_change = FALSE, ignore_air = FALSE, forceop = FALSE) - return ChangeTurf(path, new_baseturf, defer_change, ignore_air, forceop) - -//Creates a new turf -/turf/proc/ChangeTurf(path, new_baseturf, defer_change = FALSE, ignore_air = FALSE, forceop = FALSE) - if(!path) - return - if(!GLOB.use_preloader && path == type && !forceop) // Don't no-op if the map loader requires it to be reconstructed - return src - - var/old_opacity = opacity - var/old_dynamic_lighting = dynamic_lighting - var/old_affecting_lights = affecting_lights - var/old_lighting_object = lighting_object - var/old_corners = corners - - var/old_exl = explosion_level - var/old_exi = explosion_id - var/old_bp = blueprint_data - blueprint_data = null - - var/old_baseturf = baseturf - changing_turf = TRUE - - qdel(src) //Just get the side effects and call Destroy - var/turf/W = new path(src) - - if(new_baseturf) - W.baseturf = new_baseturf - else - W.baseturf = old_baseturf - - W.explosion_id = old_exi - W.explosion_level = old_exl - - if(!defer_change) - W.AfterChange(ignore_air) - - W.blueprint_data = old_bp - - if(SSlighting.initialized) - recalc_atom_opacity() - lighting_object = old_lighting_object - affecting_lights = old_affecting_lights - corners = old_corners - if (old_opacity != opacity || dynamic_lighting != old_dynamic_lighting) - reconsider_lights() - - if (dynamic_lighting != old_dynamic_lighting) - if (IS_DYNAMIC_LIGHTING(src)) - lighting_build_overlay() - else - lighting_clear_overlay() - - for(var/turf/open/space/S in RANGE_TURFS(1, src)) //RANGE_TURFS is in code\__HELPERS\game.dm - S.update_starlight() - - return W - -/turf/proc/AfterChange(ignore_air = FALSE) //called after a turf has been replaced in ChangeTurf() - levelupdate() - CalculateAdjacentTurfs() - - //update firedoor adjacency - var/list/turfs_to_check = get_adjacent_open_turfs(src) | src - for(var/I in turfs_to_check) - var/turf/T = I - for(var/obj/machinery/door/firedoor/FD in T) - FD.CalculateAffectingAreas() - - queue_smooth_neighbors(src) - - HandleTurfChange(src) - -/turf/open/AfterChange(ignore_air) - ..() - RemoveLattice() - if(!ignore_air) - Assimilate_Air() - -//////Assimilate Air////// -/turf/open/proc/Assimilate_Air() - var/turf_count = LAZYLEN(atmos_adjacent_turfs) - if(blocks_air || !turf_count) //if there weren't any open turfs, no need to update. - return - - var/datum/gas_mixture/total = new//Holders to assimilate air from nearby turfs - var/list/total_gases = total.gases - - for(var/T in atmos_adjacent_turfs) - var/turf/open/S = T - if(!S.air) - continue - var/list/S_gases = S.air.gases - for(var/id in S_gases) - ASSERT_GAS(id, total) - total_gases[id][MOLES] += S_gases[id][MOLES] - total.temperature += S.air.temperature - - air.copy_from(total) - - var/list/air_gases = air.gases - for(var/id in air_gases) - air_gases[id][MOLES] /= turf_count //Averages contents of the turfs, ignoring walls and the like - - air.temperature /= turf_count - SSair.add_to_active(src) - -/turf/proc/ReplaceWithLattice() - ChangeTurf(baseturf) - new /obj/structure/lattice(locate(x, y, z)) - /turf/proc/phase_damage_creatures(damage,mob/U = null)//>Ninja Code. Hurts and knocks out creatures on this turf //NINJACODE for(var/mob/living/M in src) if(M==U) @@ -361,7 +305,7 @@ continue if(O.invisibility == INVISIBILITY_MAXIMUM) O.singularity_act() - ChangeTurf(src.baseturf) + ScrapeAway() return(2) /turf/proc/can_have_cabling() @@ -437,21 +381,6 @@ if(!SSticker.HasRoundStarted()) add_blueprints(AM) -/turf/proc/empty(turf_type=/turf/open/space, baseturf_type, list/ignore_typecache, forceop = FALSE) - // Remove all atoms except observers, landmarks, docking ports - var/static/list/ignored_atoms = typecacheof(list(/mob/dead, /obj/effect/landmark, /obj/docking_port, /atom/movable/lighting_object)) - var/list/allowed_contents = typecache_filter_list_reverse(GetAllContentsIgnoring(ignore_typecache), ignored_atoms) - allowed_contents -= src - for(var/i in 1 to allowed_contents.len) - var/thing = allowed_contents[i] - qdel(thing, force=TRUE) - - var/turf/newT = ChangeTurf(turf_type, baseturf_type, FALSE, FALSE, forceop) - - SSair.remove_from_active(newT) - newT.CalculateAdjacentTurfs() - SSair.add_to_active(newT,1) - /turf/proc/is_transition_turf() return @@ -473,33 +402,9 @@ if(!has_acid_effect) new acid_type(src, acidpwr, acid_volume) - /turf/proc/acid_melt() return - -/turf/proc/copyTurf(turf/T) - if(T.type != type) - var/obj/O - if(underlays.len) //we have underlays, which implies some sort of transparency, so we want to a snapshot of the previous turf as an underlay - O = new() - O.underlays.Add(T) - T.ChangeTurf(type) - for(var/group in decals) - T.add_decal(decals[group],group) - if(underlays.len) - T.underlays = O.underlays - if(T.icon_state != icon_state) - T.icon_state = icon_state - if(T.icon != icon) - T.icon = icon - if(color) - T.atom_colours = atom_colours.Copy() - T.update_atom_colour() - if(T.dir != dir) - T.setDir(dir) - return T - /turf/handle_fall(mob/faller, forced) faller.lying = pick(90, 270) if(!forced) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 8f13d887aa..b26453b461 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -523,7 +523,7 @@ Traitors and the like can also be revived with the previous role mostly intact. SSblackbox.record_feedback("tally", "admin_verb", 1, "Delete") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! if(isturf(D)) var/turf/T = D - T.ChangeTurf(T.baseturf) + T.ScrapeAway() else qdel(D) diff --git a/code/modules/atmospherics/environmental/LINDA_fire.dm b/code/modules/atmospherics/environmental/LINDA_fire.dm index d0c0979366..67e0381571 100644 --- a/code/modules/atmospherics/environmental/LINDA_fire.dm +++ b/code/modules/atmospherics/environmental/LINDA_fire.dm @@ -168,7 +168,7 @@ else chance_of_deletion = 100 if(prob(chance_of_deletion)) - T.ChangeTurf(T.baseturf) + T.ScrapeAway() else T.to_be_destroyed = FALSE T.max_fire_temperature_sustained = 0 diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm index a4d3986020..13e2264b29 100644 --- a/code/modules/mapping/mapping_helpers.dm +++ b/code/modules/mapping/mapping_helpers.dm @@ -13,11 +13,15 @@ . = ..() var/area/thearea = get_area(src) for(var/turf/T in get_area_turfs(thearea, z)) - if(T.baseturf != T.type) //Don't break indestructible walls and the like - T.baseturf = baseturf + if(T.baseturfs != T.type) //Don't break indestructible walls and the like + T.baseturfs = baseturf return INITIALIZE_HINT_QDEL +/obj/effect/baseturf_helper/space + name = "space baseturf editor" + baseturf = /turf/open/space + /obj/effect/baseturf_helper/asteroid name = "asteroid baseturf editor" baseturf = /turf/open/floor/plating/asteroid diff --git a/code/modules/mapping/reader.dm b/code/modules/mapping/reader.dm index 559a93b87f..e73782edbc 100644 --- a/code/modules/mapping/reader.dm +++ b/code/modules/mapping/reader.dm @@ -339,7 +339,7 @@ GLOBAL_DATUM_INIT(_preloader, /dmm_suite/preloader, new) if(crds) if(!no_changeturf && ispath(path, /turf)) - . = crds.ChangeTurf(path, FALSE, TRUE) + . = crds.ChangeTurf(path, null, CHANGETURF_DEFER_CHANGE) else . = create_atom(path, crds)//first preloader pass diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index 707d77e2ac..2d1b7d1fe5 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -321,9 +321,9 @@ sleep(50) if(mode == BOT_REPAIRING && src.loc == target_turf) if(autotile) //Build the floor and include a tile. - target_turf.ChangeTurf(/turf/open/floor/plasteel) + target_turf.PlaceOnTop(/turf/open/floor/plasteel) else //Build a hull plating without a floor tile. - target_turf.ChangeTurf(/turf/open/floor/plating) + target_turf.PlaceOnTop(/turf/open/floor/plating) else var/turf/open/floor/F = target_turf diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/necropolis_tendril.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/necropolis_tendril.dm index 923c34fef2..f03cc476fc 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/necropolis_tendril.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/necropolis_tendril.dm @@ -39,7 +39,7 @@ for(var/F in RANGE_TURFS(1, src)) if(ismineralturf(F)) var/turf/closed/mineral/M = F - M.ChangeTurf(M.turf_type,FALSE,FALSE,TRUE) + M.ChangeTurf(M.turf_type, null, CHANGETURF_IGNORE_AIR) gps = new /obj/item/device/gps/internal(src) /mob/living/simple_animal/hostile/spawner/lavaland/Destroy() diff --git a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm index b41d61be84..526a2602b6 100644 --- a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm @@ -51,7 +51,7 @@ if(isplatingturf(T)) var/turf/open/floor/plating/F = T if(prob(10 + F.burnt + 5*F.broken)) //broken or burnt plating is more susceptible to being destroyed - F.ChangeTurf(F.baseturf) + F.ScrapeAway() if(isfloorturf(T)) var/turf/open/floor/F = T if(prob(reac_volume)) @@ -65,7 +65,7 @@ if(iswallturf(T)) var/turf/closed/wall/W = T if(prob(reac_volume)) - W.ChangeTurf(/turf/open/floor/plating) + W.ScrapeAway() /datum/reagent/clf3/reaction_mob(mob/living/M, method=TOUCH, reac_volume) if(istype(M)) diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm index c7a77f9457..8f6f002a88 100644 --- a/code/modules/shuttle/on_move.dm +++ b/code/modules/shuttle/on_move.dm @@ -7,8 +7,15 @@ All ShuttleMove procs go here // Called on every turf in the shuttle region, returns a bitflag for allowed movements of that turf // returns the new move_mode (based on the old) /turf/proc/fromShuttleMove(turf/newT, turf_type, list/baseturf_cache, move_mode) - if(!(move_mode & MOVE_AREA) || (istype(src, turf_type) && baseturf_cache[baseturf])) + if(!(move_mode & MOVE_AREA)) return move_mode + if(istype(src, turf_type)) + if(length(baseturfs)) + if(baseturf_cache[baseturfs[1]]) + return move_mode + else if(baseturf_cache[baseturfs]) + return move_mode + return move_mode | MOVE_TURF | MOVE_CONTENTS // Called from the new turf before anything has been moved @@ -45,9 +52,7 @@ All ShuttleMove procs go here if(newT == src) // In case of in place shuttle rotation shenanigans. return //Destination turf changes - var/destination_turf_type = newT.type - newT = copyTurf(newT) - newT.baseturf = destination_turf_type + newT.CopyOnTop(src, 1, 0) // We only want a surface copy //Air stuff newT.blocks_air = TRUE newT.air_update_turf(TRUE) @@ -63,9 +68,8 @@ All ShuttleMove procs go here /turf/proc/afterShuttleMove(turf/oldT, turf_type, baseturf_type, rotation) //Dealing with the turf we left behind oldT.TransferComponents(src) - oldT.ChangeTurf(turf_type, baseturf_type, FALSE, TRUE) + oldT.ChangeTurf(turf_type, baseturf_type, CHANGETURF_IGNORE_AIR) // TODO: make this oldT.ScrapeAway() which requires templating all shuttles - // Rotate and let the air move again if(rotation) shuttleRotate(rotation) //see shuttle_rotate.dm diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index 3811fa0e4a..7cb8bbd480 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -465,7 +465,7 @@ var/turf/T1 = L1[i] if(!T1) continue - if(T0.type != T0.baseturf) + if(T0.type != T0.baseturfs) ripple_turfs += T1 return ripple_turfs diff --git a/tgstation.dme b/tgstation.dme index 4b6ba31e8b..9502ead26d 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -85,6 +85,7 @@ #include "code\__DEFINES\tgui.dm" #include "code\__DEFINES\time.dm" #include "code\__DEFINES\tools.dm" +#include "code\__DEFINES\turf_flags.dm" #include "code\__DEFINES\typeids.dm" #include "code\__DEFINES\voreconstants.dm" #include "code\__DEFINES\vv.dm" @@ -1117,6 +1118,7 @@ #include "code\game\objects\structures\transit_tubes\transit_tube.dm" #include "code\game\objects\structures\transit_tubes\transit_tube_construction.dm" #include "code\game\objects\structures\transit_tubes\transit_tube_pod.dm" +#include "code\game\turfs\ChangeTurf.dm" #include "code\game\turfs\closed.dm" #include "code\game\turfs\open.dm" #include "code\game\turfs\turf.dm" From 9ece43116d0fd2f19237c2e127f0dcc16c9c77e5 Mon Sep 17 00:00:00 2001 From: Emmett Gaines Date: Mon, 25 Dec 2017 20:15:54 -0500 Subject: [PATCH 05/82] Makes cyclelinkeddir rotate with shuttle --- code/modules/shuttle/shuttle_rotate.dm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/code/modules/shuttle/shuttle_rotate.dm b/code/modules/shuttle/shuttle_rotate.dm index 49c7396dba..bd86f84356 100644 --- a/code/modules/shuttle/shuttle_rotate.dm +++ b/code/modules/shuttle/shuttle_rotate.dm @@ -104,4 +104,14 @@ If ever any of these procs are useful for non-shuttles, rename it to proc/rotate //prevents shuttles attempting to rotate this since it messes up sprites /obj/machinery/gravity_generator/shuttleRotate(rotation, params) params = NONE - return ..() \ No newline at end of file +<<<<<<< HEAD + return ..() +======= + return ..() + +/obj/machinery/door/airlock/shuttleRotate(rotation, params) + . = ..() + if(cyclelinkeddir) + cyclelinkeddir = angle2dir(rotation+dir2angle(cyclelinkeddir)) + cyclelinkairlock() +>>>>>>> 6da0107... Makes cyclelinkeddir rotate with shuttle (#33734) From 1281bc24e9587280a6c4ce7adc7ccb18ce49d052 Mon Sep 17 00:00:00 2001 From: Leo Date: Tue, 26 Dec 2017 17:32:43 -0200 Subject: [PATCH 06/82] Adds coordinates to href logs --- code/modules/client/client_procs.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 4c5d8e7a4c..c5385b2abb 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -75,7 +75,12 @@ //Logs all hrefs, except chat pings if(!(href_list["_src_"] == "chat" && href_list["proc"] == "ping" && LAZYLEN(href_list) == 2)) +<<<<<<< HEAD WRITE_FILE(GLOB.world_href_log, "[time_stamp(show_ds = TRUE)] [src] (usr:[usr]) || [hsrc ? "[hsrc] " : ""][href]
") +======= + WRITE_FILE(GLOB.world_href_log, "[time_stamp(show_ds = TRUE)] [src] (usr:[usr]\[[COORD(usr)]\]) || [hsrc ? "[hsrc] " : ""][href]
") + +>>>>>>> 0687e88... Merge pull request #33835 from kevinz000/patch-415 // Admin PM if(href_list["priv_msg"]) cmd_admin_pm(href_list["priv_msg"],null) From d8943d6a1eeea848f773c23d9a63c443d1a0f3eb Mon Sep 17 00:00:00 2001 From: XDTM Date: Fri, 29 Dec 2017 09:37:10 +0100 Subject: [PATCH 07/82] [Ready]Adds the Pax reagent, small tweaks to pacifism --- code/__DEFINES/stat.dm | 1 + code/_onclick/item_attack.dm | 7 +++++++ code/modules/mob/living/carbon/human/life.dm | 4 ++++ .../chemistry/reagents/other_reagents.dm | 20 +++++++++++++++++++ .../reagents/chemistry/recipes/others.dm | 6 ++++++ 5 files changed, 38 insertions(+) diff --git a/code/__DEFINES/stat.dm b/code/__DEFINES/stat.dm index 543ac4badf..e6486a4fcf 100644 --- a/code/__DEFINES/stat.dm +++ b/code/__DEFINES/stat.dm @@ -32,6 +32,7 @@ #define STASIS_MUTE "stasis" #define GENETICS_SPELL "genetics_spell" #define TRAUMA_DISABILITY "trauma" +#define CHEMICAL_DISABILITY "chemical" // bitflags for machine stat variable diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 2dddce8542..f9c3c9668d 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -58,8 +58,15 @@ SendSignal(COMSIG_ITEM_ATTACK, M, user) if(flags_1 & NOBLUDGEON_1) return +<<<<<<< HEAD if(user.disabilities & PACIFISM) +======= + + if(force && user.has_disability(DISABILITY_PACIFISM)) + to_chat(user, "You don't want to harm other living beings!") +>>>>>>> 5d761c5... [Ready]Adds the Pax reagent, small tweaks to pacifism (#33663) return + if(!force) playsound(loc, 'sound/weapons/tap.ogg', get_clamped_volume(), 1, -1) else if(hitsound) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 80db28b99d..6f305a694c 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -72,6 +72,10 @@ else if(eye_blurry) //blurry eyes heal slowly adjust_blurriness(-1) + if(has_disability(DISABILITY_PACIFISM) && a_intent == INTENT_HARM) + to_chat(src, "You don't feel like harming anybody.") + a_intent_change(INTENT_HELP) + /mob/living/carbon/human/handle_mutations_and_radiation() if(!dna || !dna.species.handle_mutations_and_radiation(src)) ..() diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 219d9df8ef..bb504c316f 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -1688,3 +1688,23 @@ description = "blue sparkles that get everywhere" color = "#4040FF" //A blueish color glitter_type = /obj/effect/decal/cleanable/glitter/blue + +/datum/reagent/pax + name = "pax" + id = "pax" + description = "A colorless liquid that suppresses violence on the subjects." + color = "#AAAAAA55" + taste_description = "water" + metabolization_rate = 0.25 * REAGENTS_METABOLISM + +/datum/reagent/pax/on_mob_add(mob/M) + ..() + if(isliving(M)) + var/mob/living/L = M + L.add_disability(DISABILITY_PACIFISM, CHEMICAL_DISABILITY) + +/datum/reagent/pax/on_mob_delete(mob/M) + if(isliving(M)) + var/mob/living/L = M + L.remove_disability(DISABILITY_PACIFISM, CHEMICAL_DISABILITY) + ..() \ No newline at end of file diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm index 222f88ba8b..8ebc470c5f 100644 --- a/code/modules/reagents/chemistry/recipes/others.dm +++ b/code/modules/reagents/chemistry/recipes/others.dm @@ -671,3 +671,9 @@ var/location = get_turf(holder.my_atom) for(var/i in 1 to 10) new /obj/item/stack/sheet/plastic(location) + +/datum/chemical_reaction/pax + name = "pax" + id = "pax" + results = list("pax" = 3) + required_reagents = list("mindbreaker" = 1, "synaptizine" = 1, "water" = 1) From 866318e33e14672ca6a3a7533bd76d96985713bc Mon Sep 17 00:00:00 2001 From: coiax Date: Fri, 29 Dec 2017 08:51:41 +0000 Subject: [PATCH 08/82] Internal radio implant --- .../objects/items/implants/implant_misc.dm | 37 +++ .../game/objects/items/storage/uplink_kits.dm | 313 ++++++++++++++++++ code/modules/mob/living/say.dm | 10 + .../research/xenobiology/xenobiology.dm | 12 + code/modules/uplink/uplink_items.dm | 12 +- 5 files changed, 381 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/implants/implant_misc.dm b/code/game/objects/items/implants/implant_misc.dm index 32e0d937bd..2141fba7e8 100644 --- a/code/game/objects/items/implants/implant_misc.dm +++ b/code/game/objects/items/implants/implant_misc.dm @@ -77,3 +77,40 @@ if (!healthstring) healthstring = "ERROR" return healthstring + +/obj/item/implant/radio + name = "internal radio implant" + desc = "Are you there God? It's me, Syndicate Comms Agent." + activated = TRUE + var/obj/item/device/radio/radio + var/radio_key = /obj/item/device/encryptionkey/syndicate + icon = 'icons/obj/radio.dmi' + icon_state = "walkietalkie" + +/obj/item/implant/radio/activate() + // needs to be GLOB.deep_inventory_state otherwise it won't open + radio.ui_interact(usr, "main", null, FALSE, null, GLOB.deep_inventory_state) + +/obj/item/implant/radio/Initialize(mapload) + . = ..() + + radio = new(src) + // almost like an internal headset, but without the + // "must be in ears to hear" restriction. + radio.name = "internal radio" + radio.subspace_transmission = TRUE + radio.canhear_range = 0 + radio.keyslot = new radio_key + radio.recalculateChannels() + + +/obj/item/implant/radio/get_data() + var/dat = {"Implant Specifications:
+ Name: Internal Radio Implant
+ Life: 24 hours
+ Implant Details: Allows user to use an internal radio, useful if user expects equipment loss, or cannot equip conventional radios."} + return dat + +/obj/item/implanter/radio + name = "implanter (internal radio)" + imp_type = /obj/item/implant/radio diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm index 3718ca1a0f..668ab0b748 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD /obj/item/storage/box/syndicate /obj/item/storage/box/syndicate/PopulateContents() @@ -305,3 +306,315 @@ /obj/item/storage/box/syndie_kit/mimery/PopulateContents() new /obj/item/spellbook/oneuse/mimery_blockade(src) new /obj/item/spellbook/oneuse/mimery_guns(src) +======= +/obj/item/storage/box/syndicate + +/obj/item/storage/box/syndicate/PopulateContents() + switch (pickweight(list("bloodyspai" = 3, "stealth" = 2, "bond" = 2, "screwed" = 2, "sabotage" = 3, "guns" = 2, "murder" = 2, "implant" = 1, "hacker" = 3, "darklord" = 1, "sniper" = 1, "metaops" = 1, "ninja" = 1))) + if("bloodyspai") // 27 tc now this is more right + new /obj/item/clothing/under/chameleon(src) // 2 tc since it's not the full set + new /obj/item/clothing/mask/chameleon(src) // Goes with above + new /obj/item/card/id/syndicate(src) // 2 tc + new /obj/item/clothing/shoes/chameleon(src) // 2 tc + new /obj/item/device/camera_bug(src) // 1 tc + new /obj/item/device/multitool/ai_detect(src) // 1 tc + new /obj/item/device/encryptionkey/syndicate(src) // 2 tc + new /obj/item/reagent_containers/syringe/mulligan(src) // 4 tc + new /obj/item/switchblade(src) //I'll count this as 2 tc + new /obj/item/storage/fancy/cigarettes/cigpack_syndicate (src) // 2 tc this shit heals + new /obj/item/device/flashlight/emp(src) // 2 tc + new /obj/item/device/chameleon(src) // 7 tc + + if("stealth") // 31 tc + new /obj/item/gun/energy/kinetic_accelerator/crossbow(src) + new /obj/item/pen/sleepy(src) + new /obj/item/device/healthanalyzer/rad_laser(src) + new /obj/item/device/chameleon(src) + new /obj/item/soap/syndie(src) + new /obj/item/clothing/glasses/thermal/syndi(src) + + if("bond") // 29 tc + new /obj/item/gun/ballistic/automatic/pistol(src) + new /obj/item/suppressor(src) + new /obj/item/ammo_box/magazine/m10mm(src) + new /obj/item/ammo_box/magazine/m10mm(src) + new /obj/item/clothing/under/chameleon(src) + new /obj/item/card/id/syndicate(src) + new /obj/item/reagent_containers/syringe/stimulants(src) + + if("screwed") // 29 tc + new /obj/item/device/sbeacondrop/bomb(src) + new /obj/item/grenade/syndieminibomb(src) + new /obj/item/device/sbeacondrop/powersink(src) + new /obj/item/clothing/suit/space/syndicate/black/red(src) + new /obj/item/clothing/head/helmet/space/syndicate/black/red(src) + new /obj/item/device/encryptionkey/syndicate(src) + + if("guns") // 28 tc now + new /obj/item/gun/ballistic/revolver(src) + new /obj/item/ammo_box/a357(src) + new /obj/item/ammo_box/a357(src) + new /obj/item/card/emag(src) + new /obj/item/grenade/plastic/c4(src) + new /obj/item/clothing/gloves/color/latex/nitrile(src) + new /obj/item/clothing/mask/gas/clown_hat(src) + new /obj/item/clothing/under/suit_jacket/really_black(src) + + if("murder") // 28 tc now + new /obj/item/melee/transforming/energy/sword/saber(src) + new /obj/item/clothing/glasses/thermal/syndi(src) + new /obj/item/card/emag(src) + new /obj/item/clothing/shoes/chameleon(src) + new /obj/item/device/encryptionkey/syndicate(src) + new /obj/item/grenade/syndieminibomb(src) + + if("implant") // 55+ tc holy shit what the fuck this is a lottery disguised as fun boxes isn't it? + new /obj/item/implanter/freedom(src) + new /obj/item/implanter/uplink/precharged(src) + new /obj/item/implanter/emp(src) + new /obj/item/implanter/adrenalin(src) + new /obj/item/implanter/explosive(src) + new /obj/item/implanter/storage(src) + + if("hacker") // 26 tc + new /obj/item/aiModule/syndicate(src) + new /obj/item/card/emag(src) + new /obj/item/device/encryptionkey/binary(src) + new /obj/item/aiModule/toyAI(src) + new /obj/item/device/multitool/ai_detect(src) + + if("lordsingulo") // 24 tc + new /obj/item/device/sbeacondrop(src) + new /obj/item/clothing/suit/space/syndicate/black/red(src) + new /obj/item/clothing/head/helmet/space/syndicate/black/red(src) + new /obj/item/card/emag(src) + + if("sabotage") // 26 tc now + new /obj/item/grenade/plastic/c4 (src) + new /obj/item/grenade/plastic/c4 (src) + new /obj/item/device/doorCharge(src) + new /obj/item/device/doorCharge(src) + new /obj/item/device/camera_bug(src) + new /obj/item/device/sbeacondrop/powersink(src) + new /obj/item/cartridge/virus/syndicate(src) + new /obj/item/storage/toolbox/syndicate(src) //To actually get to those places + new /obj/item/pizzabox/bomb + + if("darklord") //20 tc + tk + summon item close enough for now + new /obj/item/twohanded/dualsaber(src) + new /obj/item/dnainjector/telemut/darkbundle(src) + new /obj/item/clothing/suit/hooded/chaplain_hoodie(src) + new /obj/item/card/id/syndicate(src) + new /obj/item/clothing/shoes/chameleon(src) //because slipping while being a dark lord sucks + new /obj/item/spellbook/oneuse/summonitem(src) + + if("sniper") //This shit is unique so can't really balance it around tc, also no silencer because getting killed without ANY indicator on what killed you sucks + new /obj/item/gun/ballistic/automatic/sniper_rifle(src) // 12 tc + new /obj/item/ammo_box/magazine/sniper_rounds/penetrator(src) + new /obj/item/clothing/glasses/thermal/syndi(src) + new /obj/item/clothing/gloves/color/latex/nitrile(src) + new /obj/item/clothing/mask/gas/clown_hat(src) + new /obj/item/clothing/under/suit_jacket/really_black(src) + + if("metaops") // 30 tc + new /obj/item/clothing/suit/space/hardsuit/syndi(src) // 8 tc + new /obj/item/gun/ballistic/automatic/shotgun/bulldog/unrestricted(src) // 8 tc + new /obj/item/implanter/explosive(src) // 2 tc + new /obj/item/ammo_box/magazine/m12g/buckshot(src) // 2 tc + new /obj/item/ammo_box/magazine/m12g/buckshot(src) // 2 tc + new /obj/item/grenade/plastic/c4 (src) // 1 tc + new /obj/item/grenade/plastic/c4 (src) // 1 tc + new /obj/item/card/emag(src) // 6 tc + + if("ninja") // 33 tc worth + new /obj/item/katana(src) // Unique , hard to tell how much tc this is worth. 8 tc? + new /obj/item/implanter/adrenalin(src) // 8 tc + new /obj/item/throwing_star(src) // ~5 tc for all 6 + new /obj/item/throwing_star(src) + new /obj/item/throwing_star(src) + new /obj/item/throwing_star(src) + new /obj/item/throwing_star(src) + new /obj/item/throwing_star(src) + new /obj/item/storage/belt/chameleon(src) // Unique but worth at least 2 tc + new /obj/item/card/id/syndicate(src) // 2 tc + new /obj/item/device/chameleon(src) // 7 tc + +/obj/item/storage/box/syndie_kit + name = "box" + desc = "A sleek, sturdy box." + icon_state = "syndiebox" + illustration = "writing_syndie" + +/obj/item/storage/box/syndie_kit/imp_freedom + name = "boxed freedom implant (with injector)" + +/obj/item/storage/box/syndie_kit/imp_freedom/PopulateContents() + var/obj/item/implanter/O = new(src) + O.imp = new /obj/item/implant/freedom(O) + O.update_icon() + +/obj/item/storage/box/syndie_kit/imp_microbomb + name = "Microbomb Implant (with injector)" + +/obj/item/storage/box/syndie_kit/imp_microbomb/PopulateContents() + var/obj/item/implanter/O = new(src) + O.imp = new /obj/item/implant/explosive(O) + O.update_icon() + +/obj/item/storage/box/syndie_kit/imp_macrobomb + name = "Macrobomb Implant (with injector)" + +/obj/item/storage/box/syndie_kit/imp_macrobomb/PopulateContents() + var/obj/item/implanter/O = new(src) + O.imp = new /obj/item/implant/explosive/macro(O) + O.update_icon() + +/obj/item/storage/box/syndie_kit/imp_uplink + name = "boxed uplink implant (with injector)" + +/obj/item/storage/box/syndie_kit/imp_uplink/PopulateContents() + ..() + var/obj/item/implanter/O = new(src) + O.imp = new /obj/item/implant/uplink(O) + O.update_icon() + +/obj/item/storage/box/syndie_kit/bioterror + name = "bioterror syringe box" + +/obj/item/storage/box/syndie_kit/bioterror/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/reagent_containers/syringe/bioterror(src) + +/obj/item/storage/box/syndie_kit/imp_adrenal + name = "boxed adrenal implant (with injector)" + +/obj/item/storage/box/syndie_kit/imp_adrenal/PopulateContents() + var/obj/item/implanter/O = new(src) + O.imp = new /obj/item/implant/adrenalin(O) + O.update_icon() + +/obj/item/storage/box/syndie_kit/imp_storage + name = "boxed storage implant (with injector)" + +/obj/item/storage/box/syndie_kit/imp_storage/PopulateContents() + new /obj/item/implanter/storage(src) + +/obj/item/storage/box/syndie_kit/space + name = "boxed space suit and helmet" + can_hold = list(/obj/item/clothing/suit/space/syndicate, /obj/item/clothing/head/helmet/space/syndicate) + max_w_class = WEIGHT_CLASS_NORMAL + +/obj/item/storage/box/syndie_kit/space/PopulateContents() + new /obj/item/clothing/suit/space/syndicate/black/red(src) // Black and red is so in right now + new /obj/item/clothing/head/helmet/space/syndicate/black/red(src) + +/obj/item/storage/box/syndie_kit/emp + name = "boxed EMP kit" + +/obj/item/storage/box/syndie_kit/emp/PopulateContents() + new /obj/item/grenade/empgrenade(src) + new /obj/item/grenade/empgrenade(src) + new /obj/item/grenade/empgrenade(src) + new /obj/item/grenade/empgrenade(src) + new /obj/item/grenade/empgrenade(src) + new /obj/item/implanter/emp(src) + +/obj/item/storage/box/syndie_kit/chemical + name = "boxed chemical kit" + storage_slots = 14 + +/obj/item/storage/box/syndie_kit/chemical/PopulateContents() + new /obj/item/reagent_containers/glass/bottle/polonium(src) + new /obj/item/reagent_containers/glass/bottle/venom(src) + new /obj/item/reagent_containers/glass/bottle/neurotoxin2(src) + new /obj/item/reagent_containers/glass/bottle/formaldehyde(src) + new /obj/item/reagent_containers/glass/bottle/spewium(src) + new /obj/item/reagent_containers/glass/bottle/cyanide(src) + new /obj/item/reagent_containers/glass/bottle/histamine(src) + new /obj/item/reagent_containers/glass/bottle/initropidril(src) + new /obj/item/reagent_containers/glass/bottle/pancuronium(src) + new /obj/item/reagent_containers/glass/bottle/sodium_thiopental(src) + new /obj/item/reagent_containers/glass/bottle/coniine(src) + new /obj/item/reagent_containers/glass/bottle/curare(src) + new /obj/item/reagent_containers/glass/bottle/amanitin(src) + new /obj/item/reagent_containers/syringe(src) + +/obj/item/storage/box/syndie_kit/nuke + name = "box" + +/obj/item/storage/box/syndie_kit/nuke/PopulateContents() + new /obj/item/screwdriver/nuke(src) + new /obj/item/nuke_core_container(src) + new /obj/item/paper/guides/antag/nuke_instructions(src) + +/obj/item/storage/box/syndie_kit/supermatter + name = "box" + +/obj/item/storage/box/syndie_kit/supermatter/PopulateContents() + new /obj/item/scalpel/supermatter(src) + new /obj/item/hemostat/supermatter(src) + new /obj/item/nuke_core_container/supermatter(src) + new /obj/item/paper/guides/antag/supermatter_sliver(src) + +/obj/item/storage/box/syndie_kit/tuberculosisgrenade + name = "boxed virus grenade kit" + +/obj/item/storage/box/syndie_kit/tuberculosisgrenade/PopulateContents() + new /obj/item/grenade/chem_grenade/tuberculosis(src) + for(var/i in 1 to 5) + new /obj/item/reagent_containers/hypospray/medipen/tuberculosiscure(src) + new /obj/item/reagent_containers/syringe(src) + new /obj/item/reagent_containers/glass/bottle/tuberculosiscure(src) + +/obj/item/storage/box/syndie_kit/chameleon + name = "chameleon kit" + +/obj/item/storage/box/syndie_kit/chameleon/PopulateContents() + new /obj/item/clothing/under/chameleon(src) + new /obj/item/clothing/suit/chameleon(src) + new /obj/item/clothing/gloves/chameleon(src) + new /obj/item/clothing/shoes/chameleon(src) + new /obj/item/clothing/glasses/chameleon(src) + new /obj/item/clothing/head/chameleon(src) + new /obj/item/clothing/mask/chameleon(src) + new /obj/item/storage/backpack/chameleon(src) + new /obj/item/device/radio/headset/chameleon(src) + new /obj/item/stamp/chameleon(src) + new /obj/item/device/pda/chameleon(src) + new /obj/item/gun/energy/laser/chameleon(src) + +//5*(2*4) = 5*8 = 45, 45 damage if you hit one person with all 5 stars. +//Not counting the damage it will do while embedded (2*4 = 8, at 15% chance) +/obj/item/storage/box/syndie_kit/throwing_weapons/PopulateContents() + new /obj/item/throwing_star(src) + new /obj/item/throwing_star(src) + new /obj/item/throwing_star(src) + new /obj/item/throwing_star(src) + new /obj/item/throwing_star(src) + new /obj/item/restraints/legcuffs/bola/tactical(src) + new /obj/item/restraints/legcuffs/bola/tactical(src) + +/obj/item/storage/box/syndie_kit/cutouts/PopulateContents() + for(var/i in 1 to 3) + new/obj/item/cardboard_cutout/adaptive(src) + new/obj/item/toy/crayon/rainbow(src) + +/obj/item/storage/box/syndie_kit/romerol/PopulateContents() + new /obj/item/reagent_containers/glass/bottle/romerol(src) + new /obj/item/reagent_containers/syringe(src) + new /obj/item/reagent_containers/dropper(src) + +/obj/item/storage/box/syndie_kit/ez_clean/PopulateContents() + for(var/i in 1 to 3) + new/obj/item/grenade/chem_grenade/ez_clean(src) + +/obj/item/storage/box/hug/reverse_revolver/PopulateContents() + new /obj/item/gun/ballistic/revolver/reverse(src) + +/obj/item/storage/box/syndie_kit/mimery/PopulateContents() + new /obj/item/spellbook/oneuse/mimery_blockade(src) + new /obj/item/spellbook/oneuse/mimery_guns(src) + +/obj/item/storage/box/syndie_kit/imp_radio/PopulateContents() + new /obj/item/implanter/radio(src) +>>>>>>> ac17202... Internal radio implant (#33842) diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 4e731567f1..dc70ad839f 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -338,6 +338,15 @@ GLOBAL_LIST_INIT(department_radio_keys, list( return message /mob/living/proc/radio(message, message_mode, list/spans, language) + var/obj/item/implant/radio/imp = locate() in src + if(imp && imp.radio.on) + if(message_mode == MODE_HEADSET) + imp.radio.talk_into(src, message, , spans, language) + return ITALICS | REDUCE_RANGE + if(message_mode == MODE_DEPARTMENT || message_mode in GLOB.radiochannels) + imp.radio.talk_into(src, message, message_mode, spans, language) + return ITALICS | REDUCE_RANGE + switch(message_mode) if(MODE_WHISPER) return ITALICS @@ -359,6 +368,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( if(MODE_BINARY) return ITALICS | REDUCE_RANGE //Does not return 0 since this is only reached by humans, not borgs or AIs. + return 0 /mob/living/say_mod(input, message_mode) diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index 8e2ce4b7a0..5bcbaff705 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -199,12 +199,24 @@ to_chat(SM, "You are grateful to be self aware and owe [user.real_name] a great debt. Serve [user.real_name], and assist [user.p_them()] in completing [user.p_their()] goals at any cost.") to_chat(user, "[SM] accepts [src] and suddenly becomes attentive and aware. It worked!") SM.copy_known_languages_from(user, TRUE) + after_success(user, SM) qdel(src) else to_chat(user, "[SM] looks interested for a moment, but then looks back down. Maybe you should try again later.") being_used = 0 ..() +/obj/item/slimepotion/sentience/proc/after_success(mob/living/user, mob/living/simple_animal/SM) + return + +/obj/item/slimepotion/sentience/nuclear + name = "syndicate intelligence potion" + desc = "A miraculous chemical mix that grants human like intelligence to living beings. It has been modified with Syndicate technology to also grant an internal radio implant to the target." + +/obj/item/slimepotion/sentience/nuclear/after_success(mob/living/user, mob/living/simple_animal/SM) + var/obj/item/implant/radio/imp = new(src) + imp.implant(SM, user) + /obj/item/slimepotion/transference name = "consciousness transference potion" desc = "A strange slime-based chemical that, when used, allows the user to transfer their consciousness to a lesser being." diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index ebff0fdbeb..6ced230134 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -1059,9 +1059,9 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once. include_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/device_tools/potion - name = "Sentience Potion" - item = /obj/item/slimepotion/sentience - desc = "A potion recovered at great risk by undercover syndicate operatives. Using it will make any animal sentient, and bound to serve you." + name = "Syndicate Sentience Potion" + item = /obj/item/slimepotion/sentience/nuclear + desc = "A potion recovered at great risk by undercover syndicate operatives and then subsequently modified with syndicate technology. Using it will make any animal sentient, and bound to serve you, as well as implanting an internal radio for communication." cost = 4 include_modes = list(/datum/game_mode/nuclear) @@ -1152,6 +1152,12 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once. cost = 20 include_modes = list(/datum/game_mode/nuclear) +/datum/uplink_item/implants/radio + name = "Internal Syndicate Radio Implant" + desc = "An implant injected into the body, allowing the use of an internal syndicate radio. Used just like a regular headset, but can be disabled to use external headsets normally and to avoid detection." + item = /obj/item/storage/box/syndie_kit/imp_radio + cost = 4 + // Cybernetics /datum/uplink_item/cyber_implants From 0b9ffdd3e30a09915871c691995720b62cfa4a1d Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Fri, 29 Dec 2017 11:00:13 -0500 Subject: [PATCH 09/82] Prevent infinite loops in orbit checks --- code/modules/orbit/orbit.dm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/code/modules/orbit/orbit.dm b/code/modules/orbit/orbit.dm index 02a80675aa..913b552a55 100644 --- a/code/modules/orbit/orbit.dm +++ b/code/modules/orbit/orbit.dm @@ -33,7 +33,9 @@ orbiting = null return ..() -/datum/orbit/proc/Check(turf/targetloc) +/datum/orbit/proc/Check(turf/targetloc, list/checked_already = list()) + //Avoid infinite loops for people who end up orbiting themself through another orbiter + checked_already[src] = TRUE if (!orbiter) qdel(src) return @@ -55,9 +57,14 @@ lastloc = orbiter.loc for(var/other_orbit in orbiter.orbiters) var/datum/orbit/OO = other_orbit +<<<<<<< HEAD if(OO == src) +======= + //Skip if checked already + if(checked_already[OO]) +>>>>>>> 23d33a3... Merge pull request #33914 from optimumtact/thegreatestshow continue - OO.Check(targetloc) + OO.Check(targetloc, checked_already) /atom/movable/var/datum/orbit/orbiting = null /atom/var/list/orbiters = null From 8059894d7d830c0b6ef7659a4161ac5fcfbf5498 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Fri, 29 Dec 2017 11:01:45 -0500 Subject: [PATCH 10/82] Merge pull request #33903 from AnturK/pilot-fixes Fixes mobs targeting from inside things. --- code/modules/mob/living/simple_animal/hostile/hostile.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index 10d9fd93d7..6432eb0484 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -235,7 +235,8 @@ LoseTarget() return 0 if(target in possible_targets) - if(target.z != z) + var/turf/T = get_turf(src) + if(target.z != T.z) LoseTarget() return 0 var/target_distance = get_dist(targets_from,target) @@ -417,7 +418,7 @@ mob/living/simple_animal/hostile/proc/DestroySurroundings() // for use with mega if(buckled) buckled.attack_animal(src) if(!isturf(targets_from.loc) && targets_from.loc != null)//Did someone put us in something? - var/atom/A = get_turf(targets_from) + var/atom/A = targets_from.loc A.attack_animal(src)//Bang on it till we get out From 459d4f35c730f7747d632e1c4ea748cdf3a0f181 Mon Sep 17 00:00:00 2001 From: MoreRobustThanYou Date: Fri, 29 Dec 2017 11:07:34 -0500 Subject: [PATCH 12/82] Monkeymode fixes (#33796) * Monkey fixes * Update say.dm --- code/datums/antagonists/monkey.dm | 3 +-- code/modules/mob/living/say.dm | 16 +++------------- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/code/datums/antagonists/monkey.dm b/code/datums/antagonists/monkey.dm index b1c5642a39..518161b51b 100644 --- a/code/datums/antagonists/monkey.dm +++ b/code/datums/antagonists/monkey.dm @@ -16,8 +16,7 @@ var/datum/disease/D = new /datum/disease/transformation/jungle_fever/monkeymode if(!owner.current.HasDisease(D)) - D.affected_mob = owner - owner.current.viruses += D + owner.current.AddDisease(D) else QDEL_NULL(D) diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index fa315068ac..6eb4f0b77c 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -20,11 +20,6 @@ GLOBAL_LIST_INIT(department_radio_keys, list( "t" = "Syndicate", "y" = "CentCom", - // Species - "b" = "binary", - "g" = "changeling", - "a" = "alientalk", - // Admin "p" = "admin", "d" = "deadmin", @@ -55,11 +50,6 @@ GLOBAL_LIST_INIT(department_radio_keys, list( "å" = "Syndicate", "í" = "CentCom", - // Species - "è" = "binary", - "ï" = "changeling", - "ô" = "alientalk", - // Admin "ç" = "admin", "â" = "deadmin", @@ -81,13 +71,14 @@ GLOBAL_LIST_INIT(department_radio_keys, list( if(!message || message == "") return + var/datum/saymode/saymode = SSradio.saymodes[talk_key] var/message_mode = get_message_mode(message) var/original_message = message var/in_critical = InCritical() if(one_character_prefix[message_mode]) message = copytext(message, 2) - else if(message_mode) + else if(message_mode || saymode) message = copytext(message, 3) if(findtext(message, " ", 1, 2)) message = copytext(message, 2) @@ -135,8 +126,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( // AIs use inherent channels for the holopad. Most inherent channels // ignore the language argument however. - var/datum/saymode/SM = SSradio.saymodes[talk_key] - if(SM && !SM.handle_message(src, message, language)) + if(saymode && !saymode.handle_message(src, message, language)) return if(!can_speak_vocal(message)) From d38a4a2aa53637caa87d2d88e1f3586abcf6d679 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Fri, 29 Dec 2017 11:09:56 -0500 Subject: [PATCH 14/82] Merge pull request #33905 from ShizCalev/jumpsuit-fix Fixes being able to adjust jumpsuits without an adjust state w/ chameleon & random jumpsuit --- code/game/machinery/vending.dm | 16 ++++++++-------- code/game/objects/items/devices/flashlight.dm | 2 +- code/game/objects/structures/bedsheet_bin.dm | 2 +- code/game/objects/structures/manned_turret.dm | 8 ++++---- code/modules/clothing/chameleon.dm | 1 + code/modules/clothing/gloves/color.dm | 10 +++------- code/modules/clothing/under/color.dm | 10 ++++------ 7 files changed, 22 insertions(+), 27 deletions(-) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index d3598d4866..1d0228d737 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -684,10 +684,10 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C desc = "Uh oh!" /obj/machinery/vending/snack/random/Initialize() - ..() - var/T = pick(subtypesof(/obj/machinery/vending/snack) - /obj/machinery/vending/snack/random) - new T(get_turf(src)) - return INITIALIZE_HINT_QDEL + ..() + var/T = pick(subtypesof(/obj/machinery/vending/snack) - /obj/machinery/vending/snack/random) + new T(loc) + return INITIALIZE_HINT_QDEL /obj/machinery/vending/snack/blue icon_state = "snackblue" @@ -737,10 +737,10 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C desc = "Uh oh!" /obj/machinery/vending/cola/random/Initialize() - . = ..() - var/T = pick(subtypesof(/obj/machinery/vending/cola) - /obj/machinery/vending/cola/random) - new T(get_turf(src)) - return INITIALIZE_HINT_QDEL + ..() + var/T = pick(subtypesof(/obj/machinery/vending/cola) - /obj/machinery/vending/cola/random) + new T(loc) + return INITIALIZE_HINT_QDEL /obj/machinery/vending/cola/blue icon_state = "Cola_Machine" diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 739ea246b7..7fc8df79ee 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -493,7 +493,7 @@ color = null /obj/item/device/flashlight/glowstick/random/Initialize() - . = ..() + ..() var/T = pick(typesof(/obj/item/device/flashlight/glowstick) - /obj/item/device/flashlight/glowstick/random) new T(loc) return INITIALIZE_HINT_QDEL diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index aa9acae22c..e97aedaf98 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -231,10 +231,10 @@ LINEN BINS desc = "If you're reading this description ingame, something has gone wrong! Honk!" /obj/item/bedsheet/random/Initialize() - . = INITIALIZE_HINT_QDEL ..() var/type = pick(typesof(/obj/item/bedsheet) - /obj/item/bedsheet/random) new type(loc) + return INITIALIZE_HINT_QDEL /obj/structure/bedsheetbin name = "linen bin" diff --git a/code/game/objects/structures/manned_turret.dm b/code/game/objects/structures/manned_turret.dm index ceef3ef0c0..afcace17a7 100644 --- a/code/game/objects/structures/manned_turret.dm +++ b/code/game/objects/structures/manned_turret.dm @@ -184,10 +184,10 @@ var/obj/machinery/manned_turret/turret /obj/item/gun_control/Initialize() - . = ..() - turret = loc - if(!istype(turret)) - return INITIALIZE_HINT_QDEL + . = ..() + turret = loc + if(!istype(turret)) + return INITIALIZE_HINT_QDEL /obj/item/gun_control/Destroy() turret = null diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index dd876f3701..42a85efbc6 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -206,6 +206,7 @@ sensor_mode = SENSOR_OFF //Hey who's this guy on the Syndicate Shuttle?? random_sensor = FALSE resistance_flags = NONE + can_adjust = FALSE armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 50) var/datum/action/item_action/chameleon/change/chameleon_action diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index 4f108a505f..a9cb528f2e 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -192,7 +192,7 @@ item_state = "wgloves" item_color = "mime" -/obj/item/clothing/gloves/color/random/New() +/obj/item/clothing/gloves/color/random/Initialize() ..() var/list/gloves = list( /obj/item/clothing/gloves/color/orange = 1, @@ -205,9 +205,5 @@ /obj/item/clothing/gloves/color/brown = 1) var/obj/item/clothing/gloves/color/selected = pick(gloves) - - name = initial(selected.name) - desc = initial(selected.desc) - icon_state = initial(selected.icon_state) - item_state = initial(selected.item_state) - item_color = initial(selected.item_color) + new selected(loc) + return INITIALIZE_HINT_QDEL diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index 2ff546a6eb..4ccfd44b17 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -4,13 +4,11 @@ /obj/item/clothing/under/color/random icon_state = "random_jumpsuit" -/obj/item/clothing/under/color/random/New() +/obj/item/clothing/under/color/random/Initialize() ..() - var/obj/item/clothing/under/color/C = pick(subtypesof(/obj/item/clothing/under/color) - /obj/item/clothing/under/color/random) - name = initial(C.name) - icon_state = initial(C.icon_state) - item_state = initial(C.item_state) - item_color = initial(C.item_color) + var/obj/item/clothing/under/color/C = pick(subtypesof(/obj/item/clothing/under/color) - /obj/item/clothing/under/color/random - /obj/item/clothing/under/color/grey/glorf - /obj/item/clothing/under/color/black/ghost) + new C(loc) + return INITIALIZE_HINT_QDEL /obj/item/clothing/under/color/black name = "black jumpsuit" From 0c84651ec45a8ee05ceeaa0c9625c90a4c34f1b3 Mon Sep 17 00:00:00 2001 From: ShizCalev Date: Thu, 28 Dec 2017 15:54:47 -0500 Subject: [PATCH 16/82] white and rainbow --- code/modules/clothing/gloves/color.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index 4f108a505f..11ae549e1b 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -202,7 +202,9 @@ /obj/item/clothing/gloves/color/green = 1, /obj/item/clothing/gloves/color/grey = 1, /obj/item/clothing/gloves/color/light_brown = 1, - /obj/item/clothing/gloves/color/brown = 1) + /obj/item/clothing/gloves/color/brown = 1, + /obj/item/clothing/gloves/color/white = 1, + /obj/item/clothing/gloves/color/rainbow = 1) var/obj/item/clothing/gloves/color/selected = pick(gloves) From a958de3d96d14dece4a8ba562b87ccf2e582f201 Mon Sep 17 00:00:00 2001 From: oranges Date: Sat, 30 Dec 2017 12:10:41 +1300 Subject: [PATCH 18/82] Fixes assistants spawning naked --- code/modules/clothing/gloves/color.dm | 9 +++++++++ code/modules/clothing/under/color.dm | 10 ++++++++++ 2 files changed, 19 insertions(+) diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index 4f108a505f..83e8f817c5 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -205,9 +205,18 @@ /obj/item/clothing/gloves/color/brown = 1) var/obj/item/clothing/gloves/color/selected = pick(gloves) +<<<<<<< HEAD name = initial(selected.name) desc = initial(selected.desc) icon_state = initial(selected.icon_state) item_state = initial(selected.item_state) item_color = initial(selected.item_color) +======= + if(ishuman(loc)) + var/mob/living/carbon/human/H = loc + H.equip_to_slot_or_del(new selected(H), slot_gloves) + else + new selected(loc) + return INITIALIZE_HINT_QDEL +>>>>>>> c063902... Merge pull request #33930 from ShizCalev/undersuit-fix diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index 2ff546a6eb..975ca26061 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -6,11 +6,21 @@ /obj/item/clothing/under/color/random/New() ..() +<<<<<<< HEAD var/obj/item/clothing/under/color/C = pick(subtypesof(/obj/item/clothing/under/color) - /obj/item/clothing/under/color/random) name = initial(C.name) icon_state = initial(C.icon_state) item_state = initial(C.item_state) item_color = initial(C.item_color) +======= + var/obj/item/clothing/under/color/C = pick(subtypesof(/obj/item/clothing/under/color) - /obj/item/clothing/under/color/random - /obj/item/clothing/under/color/grey/glorf - /obj/item/clothing/under/color/black/ghost) + if(ishuman(loc)) + var/mob/living/carbon/human/H = loc + H.equip_to_slot_or_del(new C(H), slot_w_uniform) //or else you end up with naked assistants running around everywhere... + else + new C(loc) + return INITIALIZE_HINT_QDEL +>>>>>>> c063902... Merge pull request #33930 from ShizCalev/undersuit-fix /obj/item/clothing/under/color/black name = "black jumpsuit" From ac7750202b6200c27f955791d4d1b5ded46cd666 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Fri, 29 Dec 2017 18:38:05 -0600 Subject: [PATCH 19/82] Update shuttle_rotate.dm --- code/modules/shuttle/shuttle_rotate.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/shuttle/shuttle_rotate.dm b/code/modules/shuttle/shuttle_rotate.dm index bd86f84356..28cb089597 100644 --- a/code/modules/shuttle/shuttle_rotate.dm +++ b/code/modules/shuttle/shuttle_rotate.dm @@ -104,9 +104,6 @@ If ever any of these procs are useful for non-shuttles, rename it to proc/rotate //prevents shuttles attempting to rotate this since it messes up sprites /obj/machinery/gravity_generator/shuttleRotate(rotation, params) params = NONE -<<<<<<< HEAD - return ..() -======= return ..() /obj/machinery/door/airlock/shuttleRotate(rotation, params) @@ -114,4 +111,3 @@ If ever any of these procs are useful for non-shuttles, rename it to proc/rotate if(cyclelinkeddir) cyclelinkeddir = angle2dir(rotation+dir2angle(cyclelinkeddir)) cyclelinkairlock() ->>>>>>> 6da0107... Makes cyclelinkeddir rotate with shuttle (#33734) From 010c1e17ad377e9e47d7c597d853d12636c8ff9d Mon Sep 17 00:00:00 2001 From: LetterJay Date: Fri, 29 Dec 2017 18:38:32 -0600 Subject: [PATCH 20/82] Update client_procs.dm --- code/modules/client/client_procs.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index c5385b2abb..facfe599c4 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -75,12 +75,8 @@ //Logs all hrefs, except chat pings if(!(href_list["_src_"] == "chat" && href_list["proc"] == "ping" && LAZYLEN(href_list) == 2)) -<<<<<<< HEAD - WRITE_FILE(GLOB.world_href_log, "[time_stamp(show_ds = TRUE)] [src] (usr:[usr]) || [hsrc ? "[hsrc] " : ""][href]
") -======= WRITE_FILE(GLOB.world_href_log, "[time_stamp(show_ds = TRUE)] [src] (usr:[usr]\[[COORD(usr)]\]) || [hsrc ? "[hsrc] " : ""][href]
") ->>>>>>> 0687e88... Merge pull request #33835 from kevinz000/patch-415 // Admin PM if(href_list["priv_msg"]) cmd_admin_pm(href_list["priv_msg"],null) From 6f8c2c1daf6cfd76ad1cd9309e385295c275cdc2 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Fri, 29 Dec 2017 18:40:58 -0600 Subject: [PATCH 21/82] Update item_attack.dm --- code/_onclick/item_attack.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index f9c3c9668d..8a5b9ba519 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -58,13 +58,9 @@ SendSignal(COMSIG_ITEM_ATTACK, M, user) if(flags_1 & NOBLUDGEON_1) return -<<<<<<< HEAD - if(user.disabilities & PACIFISM) -======= if(force && user.has_disability(DISABILITY_PACIFISM)) to_chat(user, "You don't want to harm other living beings!") ->>>>>>> 5d761c5... [Ready]Adds the Pax reagent, small tweaks to pacifism (#33663) return if(!force) From d820575f783cf2a177a264ded8bf2e9381ddc2c4 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Fri, 29 Dec 2017 18:41:57 -0600 Subject: [PATCH 22/82] Update orbit.dm --- code/modules/orbit/orbit.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/orbit/orbit.dm b/code/modules/orbit/orbit.dm index 913b552a55..540e0cf7d5 100644 --- a/code/modules/orbit/orbit.dm +++ b/code/modules/orbit/orbit.dm @@ -57,12 +57,8 @@ lastloc = orbiter.loc for(var/other_orbit in orbiter.orbiters) var/datum/orbit/OO = other_orbit -<<<<<<< HEAD - if(OO == src) -======= //Skip if checked already if(checked_already[OO]) ->>>>>>> 23d33a3... Merge pull request #33914 from optimumtact/thegreatestshow continue OO.Check(targetloc, checked_already) From 2d9a70a487b3010d7ad2638927ece6bdf46947c4 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Fri, 29 Dec 2017 18:42:44 -0600 Subject: [PATCH 23/82] Update uplink_kits.dm --- .../game/objects/items/storage/uplink_kits.dm | 310 ------------------ 1 file changed, 310 deletions(-) diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm index 668ab0b748..fb44d094c7 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -1,312 +1,3 @@ -<<<<<<< HEAD -/obj/item/storage/box/syndicate - -/obj/item/storage/box/syndicate/PopulateContents() - switch (pickweight(list("bloodyspai" = 3, "stealth" = 2, "bond" = 2, "screwed" = 2, "sabotage" = 3, "guns" = 2, "murder" = 2, "implant" = 1, "hacker" = 3, "darklord" = 1, "sniper" = 1, "metaops" = 1, "ninja" = 1))) - if("bloodyspai") // 27 tc now this is more right - new /obj/item/clothing/under/chameleon(src) // 2 tc since it's not the full set - new /obj/item/clothing/mask/chameleon(src) // Goes with above - new /obj/item/card/id/syndicate(src) // 2 tc - new /obj/item/clothing/shoes/chameleon(src) // 2 tc - new /obj/item/device/camera_bug(src) // 1 tc - new /obj/item/device/multitool/ai_detect(src) // 1 tc - new /obj/item/device/encryptionkey/syndicate(src) // 2 tc - new /obj/item/reagent_containers/syringe/mulligan(src) // 4 tc - new /obj/item/switchblade(src) //I'll count this as 2 tc - new /obj/item/storage/fancy/cigarettes/cigpack_syndicate (src) // 2 tc this shit heals - new /obj/item/device/flashlight/emp(src) // 2 tc - new /obj/item/device/chameleon(src) // 7 tc - - if("stealth") // 31 tc - new /obj/item/gun/energy/kinetic_accelerator/crossbow(src) - new /obj/item/pen/sleepy(src) - new /obj/item/device/healthanalyzer/rad_laser(src) - new /obj/item/device/chameleon(src) - new /obj/item/soap/syndie(src) - new /obj/item/clothing/glasses/thermal/syndi(src) - - if("bond") // 29 tc - new /obj/item/gun/ballistic/automatic/pistol(src) - new /obj/item/suppressor(src) - new /obj/item/ammo_box/magazine/m10mm(src) - new /obj/item/ammo_box/magazine/m10mm(src) - new /obj/item/clothing/under/chameleon(src) - new /obj/item/card/id/syndicate(src) - new /obj/item/reagent_containers/syringe/stimulants(src) - - if("screwed") // 29 tc - new /obj/item/device/sbeacondrop/bomb(src) - new /obj/item/grenade/syndieminibomb(src) - new /obj/item/device/sbeacondrop/powersink(src) - new /obj/item/clothing/suit/space/syndicate/black/red(src) - new /obj/item/clothing/head/helmet/space/syndicate/black/red(src) - new /obj/item/device/encryptionkey/syndicate(src) - - if("guns") // 28 tc now - new /obj/item/gun/ballistic/revolver(src) - new /obj/item/ammo_box/a357(src) - new /obj/item/ammo_box/a357(src) - new /obj/item/card/emag(src) - new /obj/item/grenade/plastic/c4(src) - new /obj/item/clothing/gloves/color/latex/nitrile(src) - new /obj/item/clothing/mask/gas/clown_hat(src) - new /obj/item/clothing/under/suit_jacket/really_black(src) - - if("murder") // 28 tc now - new /obj/item/melee/transforming/energy/sword/saber(src) - new /obj/item/clothing/glasses/thermal/syndi(src) - new /obj/item/card/emag(src) - new /obj/item/clothing/shoes/chameleon(src) - new /obj/item/device/encryptionkey/syndicate(src) - new /obj/item/grenade/syndieminibomb(src) - - if("implant") // 55+ tc holy shit what the fuck this is a lottery disguised as fun boxes isn't it? - new /obj/item/implanter/freedom(src) - new /obj/item/implanter/uplink/precharged(src) - new /obj/item/implanter/emp(src) - new /obj/item/implanter/adrenalin(src) - new /obj/item/implanter/explosive(src) - new /obj/item/implanter/storage(src) - - if("hacker") // 26 tc - new /obj/item/aiModule/syndicate(src) - new /obj/item/card/emag(src) - new /obj/item/device/encryptionkey/binary(src) - new /obj/item/aiModule/toyAI(src) - new /obj/item/device/multitool/ai_detect(src) - - if("lordsingulo") // 24 tc - new /obj/item/device/sbeacondrop(src) - new /obj/item/clothing/suit/space/syndicate/black/red(src) - new /obj/item/clothing/head/helmet/space/syndicate/black/red(src) - new /obj/item/card/emag(src) - - if("sabotage") // 26 tc now - new /obj/item/grenade/plastic/c4 (src) - new /obj/item/grenade/plastic/c4 (src) - new /obj/item/device/doorCharge(src) - new /obj/item/device/doorCharge(src) - new /obj/item/device/camera_bug(src) - new /obj/item/device/sbeacondrop/powersink(src) - new /obj/item/cartridge/virus/syndicate(src) - new /obj/item/storage/toolbox/syndicate(src) //To actually get to those places - new /obj/item/pizzabox/bomb - - if("darklord") //20 tc + tk + summon item close enough for now - new /obj/item/twohanded/dualsaber(src) - new /obj/item/dnainjector/telemut/darkbundle(src) - new /obj/item/clothing/suit/hooded/chaplain_hoodie(src) - new /obj/item/card/id/syndicate(src) - new /obj/item/clothing/shoes/chameleon(src) //because slipping while being a dark lord sucks - new /obj/item/spellbook/oneuse/summonitem(src) - - if("sniper") //This shit is unique so can't really balance it around tc, also no silencer because getting killed without ANY indicator on what killed you sucks - new /obj/item/gun/ballistic/automatic/sniper_rifle(src) // 12 tc - new /obj/item/ammo_box/magazine/sniper_rounds/penetrator(src) - new /obj/item/clothing/glasses/thermal/syndi(src) - new /obj/item/clothing/gloves/color/latex/nitrile(src) - new /obj/item/clothing/mask/gas/clown_hat(src) - new /obj/item/clothing/under/suit_jacket/really_black(src) - - if("metaops") // 30 tc - new /obj/item/clothing/suit/space/hardsuit/syndi(src) // 8 tc - new /obj/item/gun/ballistic/automatic/shotgun/bulldog/unrestricted(src) // 8 tc - new /obj/item/implanter/explosive(src) // 2 tc - new /obj/item/ammo_box/magazine/m12g/buckshot(src) // 2 tc - new /obj/item/ammo_box/magazine/m12g/buckshot(src) // 2 tc - new /obj/item/grenade/plastic/c4 (src) // 1 tc - new /obj/item/grenade/plastic/c4 (src) // 1 tc - new /obj/item/card/emag(src) // 6 tc - - if("ninja") // 33 tc worth - new /obj/item/katana(src) // Unique , hard to tell how much tc this is worth. 8 tc? - new /obj/item/implanter/adrenalin(src) // 8 tc - new /obj/item/throwing_star(src) // ~5 tc for all 6 - new /obj/item/throwing_star(src) - new /obj/item/throwing_star(src) - new /obj/item/throwing_star(src) - new /obj/item/throwing_star(src) - new /obj/item/throwing_star(src) - new /obj/item/storage/belt/chameleon(src) // Unique but worth at least 2 tc - new /obj/item/card/id/syndicate(src) // 2 tc - new /obj/item/device/chameleon(src) // 7 tc - -/obj/item/storage/box/syndie_kit - name = "box" - desc = "A sleek, sturdy box." - icon_state = "syndiebox" - illustration = "writing_syndie" - -/obj/item/storage/box/syndie_kit/imp_freedom - name = "boxed freedom implant (with injector)" - -/obj/item/storage/box/syndie_kit/imp_freedom/PopulateContents() - var/obj/item/implanter/O = new(src) - O.imp = new /obj/item/implant/freedom(O) - O.update_icon() - -/obj/item/storage/box/syndie_kit/imp_microbomb - name = "Microbomb Implant (with injector)" - -/obj/item/storage/box/syndie_kit/imp_microbomb/PopulateContents() - var/obj/item/implanter/O = new(src) - O.imp = new /obj/item/implant/explosive(O) - O.update_icon() - -/obj/item/storage/box/syndie_kit/imp_macrobomb - name = "Macrobomb Implant (with injector)" - -/obj/item/storage/box/syndie_kit/imp_macrobomb/PopulateContents() - var/obj/item/implanter/O = new(src) - O.imp = new /obj/item/implant/explosive/macro(O) - O.update_icon() - -/obj/item/storage/box/syndie_kit/imp_uplink - name = "boxed uplink implant (with injector)" - -/obj/item/storage/box/syndie_kit/imp_uplink/PopulateContents() - ..() - var/obj/item/implanter/O = new(src) - O.imp = new /obj/item/implant/uplink(O) - O.update_icon() - -/obj/item/storage/box/syndie_kit/bioterror - name = "bioterror syringe box" - -/obj/item/storage/box/syndie_kit/bioterror/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/reagent_containers/syringe/bioterror(src) - -/obj/item/storage/box/syndie_kit/imp_adrenal - name = "boxed adrenal implant (with injector)" - -/obj/item/storage/box/syndie_kit/imp_adrenal/PopulateContents() - var/obj/item/implanter/O = new(src) - O.imp = new /obj/item/implant/adrenalin(O) - O.update_icon() - -/obj/item/storage/box/syndie_kit/imp_storage - name = "boxed storage implant (with injector)" - -/obj/item/storage/box/syndie_kit/imp_storage/PopulateContents() - new /obj/item/implanter/storage(src) - -/obj/item/storage/box/syndie_kit/space - name = "boxed space suit and helmet" - can_hold = list(/obj/item/clothing/suit/space/syndicate, /obj/item/clothing/head/helmet/space/syndicate) - max_w_class = WEIGHT_CLASS_NORMAL - -/obj/item/storage/box/syndie_kit/space/PopulateContents() - new /obj/item/clothing/suit/space/syndicate/black/red(src) // Black and red is so in right now - new /obj/item/clothing/head/helmet/space/syndicate/black/red(src) - -/obj/item/storage/box/syndie_kit/emp - name = "boxed EMP kit" - -/obj/item/storage/box/syndie_kit/emp/PopulateContents() - new /obj/item/grenade/empgrenade(src) - new /obj/item/grenade/empgrenade(src) - new /obj/item/grenade/empgrenade(src) - new /obj/item/grenade/empgrenade(src) - new /obj/item/grenade/empgrenade(src) - new /obj/item/implanter/emp(src) - -/obj/item/storage/box/syndie_kit/chemical - name = "boxed chemical kit" - storage_slots = 14 - -/obj/item/storage/box/syndie_kit/chemical/PopulateContents() - new /obj/item/reagent_containers/glass/bottle/polonium(src) - new /obj/item/reagent_containers/glass/bottle/venom(src) - new /obj/item/reagent_containers/glass/bottle/neurotoxin2(src) - new /obj/item/reagent_containers/glass/bottle/formaldehyde(src) - new /obj/item/reagent_containers/glass/bottle/spewium(src) - new /obj/item/reagent_containers/glass/bottle/cyanide(src) - new /obj/item/reagent_containers/glass/bottle/histamine(src) - new /obj/item/reagent_containers/glass/bottle/initropidril(src) - new /obj/item/reagent_containers/glass/bottle/pancuronium(src) - new /obj/item/reagent_containers/glass/bottle/sodium_thiopental(src) - new /obj/item/reagent_containers/glass/bottle/coniine(src) - new /obj/item/reagent_containers/glass/bottle/curare(src) - new /obj/item/reagent_containers/glass/bottle/amanitin(src) - new /obj/item/reagent_containers/syringe(src) - -/obj/item/storage/box/syndie_kit/nuke - name = "box" - -/obj/item/storage/box/syndie_kit/nuke/PopulateContents() - new /obj/item/screwdriver/nuke(src) - new /obj/item/nuke_core_container(src) - new /obj/item/paper/guides/antag/nuke_instructions(src) - -/obj/item/storage/box/syndie_kit/supermatter - name = "box" - -/obj/item/storage/box/syndie_kit/supermatter/PopulateContents() - new /obj/item/scalpel/supermatter(src) - new /obj/item/hemostat/supermatter(src) - new /obj/item/nuke_core_container/supermatter(src) - new /obj/item/paper/guides/antag/supermatter_sliver(src) - -/obj/item/storage/box/syndie_kit/tuberculosisgrenade - name = "boxed virus grenade kit" - -/obj/item/storage/box/syndie_kit/tuberculosisgrenade/PopulateContents() - new /obj/item/grenade/chem_grenade/tuberculosis(src) - for(var/i in 1 to 5) - new /obj/item/reagent_containers/hypospray/medipen/tuberculosiscure(src) - new /obj/item/reagent_containers/syringe(src) - new /obj/item/reagent_containers/glass/bottle/tuberculosiscure(src) - -/obj/item/storage/box/syndie_kit/chameleon - name = "chameleon kit" - -/obj/item/storage/box/syndie_kit/chameleon/PopulateContents() - new /obj/item/clothing/under/chameleon(src) - new /obj/item/clothing/suit/chameleon(src) - new /obj/item/clothing/gloves/chameleon(src) - new /obj/item/clothing/shoes/chameleon(src) - new /obj/item/clothing/glasses/chameleon(src) - new /obj/item/clothing/head/chameleon(src) - new /obj/item/clothing/mask/chameleon(src) - new /obj/item/storage/backpack/chameleon(src) - new /obj/item/device/radio/headset/chameleon(src) - new /obj/item/stamp/chameleon(src) - new /obj/item/device/pda/chameleon(src) - new /obj/item/gun/energy/laser/chameleon(src) - -//5*(2*4) = 5*8 = 45, 45 damage if you hit one person with all 5 stars. -//Not counting the damage it will do while embedded (2*4 = 8, at 15% chance) -/obj/item/storage/box/syndie_kit/throwing_weapons/PopulateContents() - new /obj/item/throwing_star(src) - new /obj/item/throwing_star(src) - new /obj/item/throwing_star(src) - new /obj/item/throwing_star(src) - new /obj/item/throwing_star(src) - new /obj/item/restraints/legcuffs/bola/tactical(src) - new /obj/item/restraints/legcuffs/bola/tactical(src) - -/obj/item/storage/box/syndie_kit/cutouts/PopulateContents() - for(var/i in 1 to 3) - new/obj/item/cardboard_cutout/adaptive(src) - new/obj/item/toy/crayon/rainbow(src) - -/obj/item/storage/box/syndie_kit/romerol/PopulateContents() - new /obj/item/reagent_containers/glass/bottle/romerol(src) - new /obj/item/reagent_containers/syringe(src) - new /obj/item/reagent_containers/dropper(src) - -/obj/item/storage/box/syndie_kit/ez_clean/PopulateContents() - for(var/i in 1 to 3) - new/obj/item/grenade/chem_grenade/ez_clean(src) - -/obj/item/storage/box/hug/reverse_revolver/PopulateContents() - new /obj/item/gun/ballistic/revolver/reverse(src) - -/obj/item/storage/box/syndie_kit/mimery/PopulateContents() - new /obj/item/spellbook/oneuse/mimery_blockade(src) - new /obj/item/spellbook/oneuse/mimery_guns(src) -======= /obj/item/storage/box/syndicate /obj/item/storage/box/syndicate/PopulateContents() @@ -617,4 +308,3 @@ /obj/item/storage/box/syndie_kit/imp_radio/PopulateContents() new /obj/item/implanter/radio(src) ->>>>>>> ac17202... Internal radio implant (#33842) From d306c8fa62cc51e41e8f84a3f87301a15245b43d Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Fri, 29 Dec 2017 22:35:40 -0500 Subject: [PATCH 24/82] Removes suit sensors from bural garbs (#33915) * Removes suit sensors from bural garbs * Dew it right --- code/modules/clothing/under/miscellaneous.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 899219c227..7686ba54ca 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -274,6 +274,7 @@ icon_state = "burial" item_state = "burial" item_color = "burial" + has_sensor = NO_SENSORS /obj/item/clothing/under/skirt/black name = "black skirt" From 458c437a73bbbdbd76af33de72d331eaede3fdb8 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 30 Dec 2017 05:03:51 -0600 Subject: [PATCH 26/82] Automatic changelog generation for PR #4580 [ci skip] --- html/changelogs/AutoChangeLog-pr-4580.yml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4580.yml diff --git a/html/changelogs/AutoChangeLog-pr-4580.yml b/html/changelogs/AutoChangeLog-pr-4580.yml new file mode 100644 index 0000000000..6ccaebd033 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4580.yml @@ -0,0 +1,9 @@ +author: "coiax" +delete-after: True +changes: + - rscadd: "Adds an internal radio implant, allowing the use of the radio if +you expect to have your headset removed. Or if you don't have any ears +or hands. It can be purchased for 4 TC from any Syndicate uplink." + - rscadd: "Nuke ops now buy special \"syndicate intelligence potions\" that automatically +insert an internal radio implant when used successfully. Cayenne can now +participate in your high level discussions." From 283ee4bca3f7e569c2110ff8b747e43c4fe747a8 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 30 Dec 2017 05:05:22 -0600 Subject: [PATCH 27/82] Automatic changelog generation for PR #4590 [ci skip] --- html/changelogs/AutoChangeLog-pr-4590.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4590.yml diff --git a/html/changelogs/AutoChangeLog-pr-4590.yml b/html/changelogs/AutoChangeLog-pr-4590.yml new file mode 100644 index 0000000000..ed62412909 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4590.yml @@ -0,0 +1,5 @@ +author: "More Robust Than You" +delete-after: True +changes: + - bugfix: "Monkey chat should no longer have .k prefixed" + - bugfix: "Monkey leaders should actually get jungle fever now" From 68c5c6cfe233c5c867e1fead7e8893fbdad48fac Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 30 Dec 2017 05:06:34 -0600 Subject: [PATCH 28/82] Automatic changelog generation for PR #4533 [ci skip] --- html/changelogs/AutoChangeLog-pr-4533.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4533.yml diff --git a/html/changelogs/AutoChangeLog-pr-4533.yml b/html/changelogs/AutoChangeLog-pr-4533.yml new file mode 100644 index 0000000000..6bbeeb37c9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4533.yml @@ -0,0 +1,4 @@ +author: "ninjanomnom" +delete-after: True +changes: + - bugfix: "Cycling airlocks on shuttles should work correctly when rotated now." From f860fa0cd3cc094e847106153d63a3834e418e7e Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sat, 30 Dec 2017 05:12:10 -0600 Subject: [PATCH 29/82] Update closed.dm --- code/game/turfs/closed.dm | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/code/game/turfs/closed.dm b/code/game/turfs/closed.dm index 6f1e6bfaf0..5b22f9318f 100644 --- a/code/game/turfs/closed.dm +++ b/code/game/turfs/closed.dm @@ -18,8 +18,7 @@ /turf/closed/CanPass(atom/movable/mover, turf/target) if(istype(mover) && (mover.pass_flags & PASSCLOSEDTURF)) return TRUE - else - ..() + return ..() /turf/closed/indestructible name = "wall" @@ -59,21 +58,6 @@ if("icon") SStitle.icon = icon -/turf/closed/indestructible/reebe - name = "void" - icon_state = "reebe" - opacity = FALSE - baseturf = /turf/closed/indestructible/reebe - -/turf/closed/indestructible/reebe/ratvar_act() - return - -/turf/closed/indestructible/reebe/narsie_act() - return - -/turf/closed/indestructible/reebe/CollidedWith(atom/movable/AM) - playsound(src, 'sound/effects/bamf.ogg', 25, TRUE) - /turf/closed/indestructible/riveted icon = 'icons/turf/walls/riveted.dmi' icon_state = "riveted" From 8c6d660611b3fc7de3c453b721d0feb50ac65488 Mon Sep 17 00:00:00 2001 From: cebutris Date: Sat, 30 Dec 2017 10:04:03 -0500 Subject: [PATCH 30/82] adds functional cebusoap --- code/citadel/custom_loadout/custom_items.dm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/code/citadel/custom_loadout/custom_items.dm b/code/citadel/custom_loadout/custom_items.dm index 7cda1d9e5a..4e8e3b5e49 100644 --- a/code/citadel/custom_loadout/custom_items.dm +++ b/code/citadel/custom_loadout/custom_items.dm @@ -10,6 +10,14 @@ w_class = WEIGHT_CLASS_TINY flags_1 = NOBLUDGEON_1 +/obj/item/soap/cebu //real versions, for admin shenanigans. Adminspawn only + desc = "A bright blue bar of soap that smells of wolves" + icon = 'icons/obj/custom.dmi' + icon_state = "cebu" + +/obj/item/soap/cebu/fast //speedyquick cleaning version. Still not as fast as Syndiesoap. Adminspawn only. + cleanspeed = 15 + /*Inferno707*/ From 90b67e2e134eaacec7278cc5623e29794d4402b4 Mon Sep 17 00:00:00 2001 From: cebutris Date: Sat, 30 Dec 2017 13:35:26 -0500 Subject: [PATCH 31/82] blacklists holoparasites from discounting --- modular_citadel/code/datums/uplink_items_cit.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/modular_citadel/code/datums/uplink_items_cit.dm b/modular_citadel/code/datums/uplink_items_cit.dm index 26591c72ef..18b3187ac6 100644 --- a/modular_citadel/code/datums/uplink_items_cit.dm +++ b/modular_citadel/code/datums/uplink_items_cit.dm @@ -38,6 +38,7 @@ item = /obj/item/gun/ballistic/automatic/pistol/antitank/syndicate cost = 14 surplus = 25 + cant_discount = TRUE include_modes = list(/datum/game_mode/nuclear) /* Commented out due to introduction of reskinnable stetchkins. May still have a niche if people decide it somehow has value. From 76a135fbb7cec5485de8e756df13062b79adcdf2 Mon Sep 17 00:00:00 2001 From: cebutris Date: Sat, 30 Dec 2017 13:50:59 -0500 Subject: [PATCH 32/82] WRONG THING OOPS --- modular_citadel/code/datums/uplink_items_cit.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_citadel/code/datums/uplink_items_cit.dm b/modular_citadel/code/datums/uplink_items_cit.dm index 18b3187ac6..392e26ba71 100644 --- a/modular_citadel/code/datums/uplink_items_cit.dm +++ b/modular_citadel/code/datums/uplink_items_cit.dm @@ -16,6 +16,7 @@ NOTE: The precise nature of the symbiosis required by the parasites renders them incompatible with changelings" //updated to actually describe what they do and warn traitorchans not to buy it item = /obj/item/storage/box/syndie_kit/holoparasite refundable = TRUE + cant_discount = TRUE cost = 15 surplus = 20 //Nobody needs a ton of parasites exclude_modes = list(/datum/game_mode/nuclear) @@ -38,7 +39,6 @@ item = /obj/item/gun/ballistic/automatic/pistol/antitank/syndicate cost = 14 surplus = 25 - cant_discount = TRUE include_modes = list(/datum/game_mode/nuclear) /* Commented out due to introduction of reskinnable stetchkins. May still have a niche if people decide it somehow has value. From 9ddc9fd7f9bbfb04fc26e7078315951e2a473bab Mon Sep 17 00:00:00 2001 From: gamedeviso Date: Sat, 30 Dec 2017 10:44:03 -0500 Subject: [PATCH 33/82] Changed BYOND Link to Secure HTTPS (#33918) * Changed BYOND Link to Secure HTTPS * Updated to direct link to download page --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b286239314..aaf2ad2a27 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ hassle if you want to make any changes at all, so it's not recommended.) ## INSTALLATION First-time installation should be fairly straightforward. First, you'll need -BYOND installed. You can get it from http://www.byond.com/. Once you've done +BYOND installed. You can get it from https://www.byond.com/download. Once you've done that, extract the game files to wherever you want to keep them. This is a sourcecode-only release, so the next step is to compile the server files. Open tgstation.dme by double-clicking it, open the Build menu, and click From eda5869b4f8d7c9983f09afe3f20159599df9a40 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 30 Dec 2017 13:19:02 -0600 Subject: [PATCH 35/82] Automatic changelog generation for PR #4530 [ci skip] --- html/changelogs/AutoChangeLog-pr-4530.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4530.yml diff --git a/html/changelogs/AutoChangeLog-pr-4530.yml b/html/changelogs/AutoChangeLog-pr-4530.yml new file mode 100644 index 0000000000..7fcc6e4c71 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4530.yml @@ -0,0 +1,4 @@ +author: "ninjanomnom" +delete-after: True +changes: + - bugfix: "Things like thermite which burned through walls straight to space now stop on plating. You'll have to thermite it again to get to space." From 8452cc74d0f7992f261f92b847f93e4c34d06498 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sat, 30 Dec 2017 13:21:31 -0600 Subject: [PATCH 36/82] Update newscaster.dm --- code/game/machinery/newscaster.dm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index ee9b1ff31a..541c931593 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -22,6 +22,7 @@ GLOBAL_LIST_EMPTY(allCasters) var/creationTime var/authorCensor var/bodyCensor + var/photo_file /datum/newscaster/feed_message/proc/returnAuthor(censor) if(censor == -1) @@ -97,6 +98,7 @@ GLOBAL_LIST_EMPTY(allCasters) var/scannedUser var/isAdminMsg var/icon/img + var/photo_file /datum/newscaster/feed_network var/list/datum/newscaster/feed_channel/network_channels = list() @@ -126,6 +128,7 @@ GLOBAL_LIST_EMPTY(allCasters) if(photo) newMsg.img = photo.img newMsg.caption = photo.scribble + newMsg.photo_file = save_photo(photo.img) for(var/datum/newscaster/feed_channel/FC in network_channels) if(FC.channel_name == channel_name) FC.messages += newMsg @@ -143,6 +146,7 @@ GLOBAL_LIST_EMPTY(allCasters) wanted_issue.isAdminMsg = adminMsg if(photo) wanted_issue.img = photo.img + wanted_issue.photo_file = save_photo(photo.img) if(newMessage) for(var/obj/machinery/newscaster/N in GLOB.allCasters) N.newsAlert() @@ -157,7 +161,12 @@ GLOBAL_LIST_EMPTY(allCasters) for(var/obj/machinery/newscaster/NEWSCASTER in GLOB.allCasters) NEWSCASTER.update_icon() - +/datum/newscaster/feed_network/proc/save_photo(icon/photo) + var/photo_file = copytext(md5("\icon[photo]"), 1, 6) + if(!fexists("[GLOB.log_directory]/photos/[photo_file].png")) + var/icon/p = icon(photo, frame = 1) + fcopy(p, "[GLOB.log_directory]/photos/[photo_file].png") + return photo_file /obj/item/wallframe/newscaster name = "newscaster frame" From 4d3b7ddcbd733bc4cfe36d458a627975b2832dc9 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sat, 30 Dec 2017 13:37:23 -0600 Subject: [PATCH 37/82] Update color.dm --- code/modules/clothing/gloves/color.dm | 9 --------- 1 file changed, 9 deletions(-) diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index 83e8f817c5..75d6c66077 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -205,18 +205,9 @@ /obj/item/clothing/gloves/color/brown = 1) var/obj/item/clothing/gloves/color/selected = pick(gloves) -<<<<<<< HEAD - - name = initial(selected.name) - desc = initial(selected.desc) - icon_state = initial(selected.icon_state) - item_state = initial(selected.item_state) - item_color = initial(selected.item_color) -======= if(ishuman(loc)) var/mob/living/carbon/human/H = loc H.equip_to_slot_or_del(new selected(H), slot_gloves) else new selected(loc) return INITIALIZE_HINT_QDEL ->>>>>>> c063902... Merge pull request #33930 from ShizCalev/undersuit-fix From c1c67ced1a79ef7359743afbac4c806a0480fb72 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sat, 30 Dec 2017 13:37:30 -0600 Subject: [PATCH 38/82] Update color.dm --- code/modules/clothing/under/color.dm | 8 -------- 1 file changed, 8 deletions(-) diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index 975ca26061..a6ab5280c8 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -6,13 +6,6 @@ /obj/item/clothing/under/color/random/New() ..() -<<<<<<< HEAD - var/obj/item/clothing/under/color/C = pick(subtypesof(/obj/item/clothing/under/color) - /obj/item/clothing/under/color/random) - name = initial(C.name) - icon_state = initial(C.icon_state) - item_state = initial(C.item_state) - item_color = initial(C.item_color) -======= var/obj/item/clothing/under/color/C = pick(subtypesof(/obj/item/clothing/under/color) - /obj/item/clothing/under/color/random - /obj/item/clothing/under/color/grey/glorf - /obj/item/clothing/under/color/black/ghost) if(ishuman(loc)) var/mob/living/carbon/human/H = loc @@ -20,7 +13,6 @@ else new C(loc) return INITIALIZE_HINT_QDEL ->>>>>>> c063902... Merge pull request #33930 from ShizCalev/undersuit-fix /obj/item/clothing/under/color/black name = "black jumpsuit" From 3802cf8586dab39f620cd9b55df8aa3ff4ae6dd1 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sat, 30 Dec 2017 14:56:23 -0500 Subject: [PATCH 39/82] Merge pull request #33805 from Cruix/shuttle_machines Fixed autolathes and ore redemption machines leaving things at previous shuttle locations --- code/game/machinery/autolathe.dm | 56 +++++++++++------------ code/modules/mining/machine_redemption.dm | 5 +- 2 files changed, 28 insertions(+), 33 deletions(-) diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 1e0b41bca0..3d3d929c81 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -149,8 +149,6 @@ if(href_list["make"]) - var/turf/T = loc - ///////////////// //href protection being_built = stored_research.isDesignResearchedID(href_list["make"]) @@ -174,34 +172,8 @@ use_power(power) icon_state = "autolathe" flick("autolathe_n",src) - if(is_stack) - spawn(32*coeff) - use_power(power) - var/list/materials_used = list(MAT_METAL=metal_cost*multiplier, MAT_GLASS=glass_cost*multiplier) - materials.use_amount(materials_used) - - var/obj/item/stack/N = new being_built.build_path(T, multiplier) - N.update_icon() - N.autolathe_crafted(src) - - for(var/obj/item/stack/S in T.contents - N) - if(istype(S, N.merge_type)) - N.merge(S) - busy = FALSE - updateUsrDialog() - - else - spawn(32*coeff*multiplier) - use_power(power) - var/list/materials_used = list(MAT_METAL=metal_cost*coeff*multiplier, MAT_GLASS=glass_cost*coeff*multiplier) - materials.use_amount(materials_used) - for(var/i=1, i<=multiplier, i++) - var/obj/item/new_item = new being_built.build_path(T) - for(var/mat in materials_used) - new_item.materials[mat] = materials_used[mat] / multiplier - new_item.autolathe_crafted(src) - busy = FALSE - updateUsrDialog() + var/time = is_stack ? 32 : 32*coeff*multiplier + addtimer(CALLBACK(src, .proc/make_item, power, metal_cost, glass_cost, multiplier, coeff, is_stack), time) if(href_list["search"]) matching_designs.Cut() @@ -218,6 +190,30 @@ return +/obj/machinery/autolathe/proc/make_item(power, metal_cost, glass_cost, multiplier, coeff, is_stack) + GET_COMPONENT(materials, /datum/component/material_container) + var/atom/A = drop_location() + use_power(power) + var/list/materials_used = list(MAT_METAL=metal_cost*coeff*multiplier, MAT_GLASS=glass_cost*coeff*multiplier) + materials.use_amount(materials_used) + + if(is_stack) + var/obj/item/stack/N = new being_built.build_path(A, multiplier) + N.update_icon() + N.autolathe_crafted(src) + for(var/obj/item/stack/S in (A.contents - N)) + if(istype(S, N.merge_type)) + N.merge(S) + else + for(var/i=1, i<=multiplier, i++) + var/obj/item/new_item = new being_built.build_path(A) + for(var/mat in materials_used) + new_item.materials[mat] = materials_used[mat] / multiplier + new_item.autolathe_crafted(src) + + busy = FALSE + updateDialog() + /obj/machinery/autolathe/RefreshParts() var/T = 0 for(var/obj/item/stock_parts/matter_bin/MB in component_parts) diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm index e16eb0e5b2..ddfcfa62e3 100644 --- a/code/modules/mining/machine_redemption.dm +++ b/code/modules/mining/machine_redemption.dm @@ -257,9 +257,8 @@ if("Release") if(check_access(inserted_id) || allowed(usr)) //Check the ID inside, otherwise check the user - var/out = get_step(src, output_dir) if(params["id"] == "all") - materials.retrieve_all(out) + materials.retrieve_all(get_step(src, output_dir)) else var/mat_id = params["id"] if(!materials.materials[mat_id]) @@ -277,7 +276,7 @@ desired = input("How many sheets?", "How many sheets would you like to smelt?", 1) as null|num var/sheets_to_remove = round(min(desired,50,stored_amount)) - materials.retrieve_sheets(sheets_to_remove, mat_id, out) + materials.retrieve_sheets(sheets_to_remove, mat_id, get_step(src, output_dir)) else to_chat(usr, "Required access not found.") From 3128c26698a74e9649c3011c9bbfd22353b67398 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sat, 30 Dec 2017 15:03:56 -0500 Subject: [PATCH 41/82] Merge pull request #33937 from AnturK/printplayerfix printplayer fix for jobless minds --- code/__HELPERS/roundend.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/__HELPERS/roundend.dm b/code/__HELPERS/roundend.dm index 52dd7c6358..8ab1e2fac6 100644 --- a/code/__HELPERS/roundend.dm +++ b/code/__HELPERS/roundend.dm @@ -385,7 +385,10 @@ /proc/printplayer(datum/mind/ply, fleecheck) - var/text = "[ply.key] was [ply.name] the [ply.assigned_role] and" + var/jobtext = "" + if(ply.assigned_role) + jobtext = " the [ply.assigned_role]" + var/text = "[ply.key] was [ply.name][jobtext] and" if(ply.current) if(ply.current.stat == DEAD) text += " died" From 1be3d30c43cec537b4d186836c64fcd79baa6721 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 30 Dec 2017 14:13:25 -0600 Subject: [PATCH 43/82] Automatic changelog generation for PR #4579 [ci skip] --- html/changelogs/AutoChangeLog-pr-4579.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4579.yml diff --git a/html/changelogs/AutoChangeLog-pr-4579.yml b/html/changelogs/AutoChangeLog-pr-4579.yml new file mode 100644 index 0000000000..69327324f6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4579.yml @@ -0,0 +1,5 @@ +author: "XDTM" +delete-after: True +changes: + - rscadd: "Added a new reagent: Pax." + - rscadd: "Pax is made with Mindbreaker, Synaptizine and Water, and those affected by it are forced to be nonviolent against living beings. At least, not directly." From a89f221d35ff4193b9a9d77dbeb9fe6736c0fff6 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sat, 30 Dec 2017 17:04:11 -0500 Subject: [PATCH 44/82] Removes chemist job from omegastation (#33863) * Removes chemist job from omegastation * Remove chemist start points --- _maps/map_files/OmegaStation/OmegaStation.dmm | 4 +--- _maps/map_files/OmegaStation/job_changes.dm | 3 ++- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index ffda1f471d..b38e7e8902 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -23737,7 +23737,6 @@ /obj/structure/chair/office/light{ dir = 1 }, -/obj/effect/landmark/start/chemist, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/chemistry) @@ -24229,7 +24228,6 @@ /obj/structure/chair/office/light{ dir = 4 }, -/obj/effect/landmark/start/chemist, /obj/effect/turf_decal/stripes/line{ dir = 6 }, @@ -74189,7 +74187,7 @@ aRf aSk aTr aUt -aVk +aVl aWg aRf aXr diff --git a/_maps/map_files/OmegaStation/job_changes.dm b/_maps/map_files/OmegaStation/job_changes.dm index 7f6c24fe26..bef766da7b 100644 --- a/_maps/map_files/OmegaStation/job_changes.dm +++ b/_maps/map_files/OmegaStation/job_changes.dm @@ -164,4 +164,5 @@ MAP_REMOVE_JOB(geneticist) MAP_REMOVE_JOB(virologist) MAP_REMOVE_JOB(rd) MAP_REMOVE_JOB(warden) -MAP_REMOVE_JOB(lawyer) \ No newline at end of file +MAP_REMOVE_JOB(lawyer) +MAP_REMOVE_JOB(chemist) From 3aef84aa5eef9dfd1cde404b39767b50773e611f Mon Sep 17 00:00:00 2001 From: oranges Date: Sun, 31 Dec 2017 11:53:34 +1300 Subject: [PATCH 46/82] Merge pull request #33778 from MrDoomBringer/youre-still,-in-a-dream,-SPACE-HEATEEER Updates space-heater sprite to 3/4, updates icon --- icons/obj/atmos.dmi | Bin 30420 -> 30696 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/atmos.dmi b/icons/obj/atmos.dmi index 1abc0b5ca719d91f0b6a56bd209f4686f67cd554..fcd971c674a65503d2c873a600f38dacde6e878e 100644 GIT binary patch literal 30696 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�W{GU%9t72NxEi~%%ssZuh<>)NXbG52;_N-)H%hOlj(mSdovkfChd1yOC`}D> z?#8Vof-0>&komtr!qfBjfqX^$(Srx4onaL>_AsGEC3XYG{2K)_;r@kFR zHQLq)#|l)F1bj?4@{N_6_<5WXH1YMK;E_(roIkGAf}2(b+iPHmUa|-f>v?HL{6{dI zgTMsocB5--ntH+CPe$eBO<9JlAnW+HR~2gv3%b?&{uV~Ihj%D=|3eZfvWHpQF+b=J z5}m189b21|1pae*8wdgZn^=oc8Kg>FPNLpaG~pTsnt|E6Z;evDe=gavhlP5=q!QJv<20?? z&EYHf0rkT~G1{+{d;})M5hlJ#e5(A92U5GK&^WZrfW8i&ca{;<)KN((37+?8#+``E zN7KgbovFW9`@+*-XpXGz!QQ7{Y0x5s{2N+{|Amwd5~ZmVP*I{CSntEyVa1quR8$-@ zs!B>43&h#CUo-!*4sz-O8*$1)-lD$}$M(*#05&d?-r6v*3_AxTNd@^2r4$v>5t&YD z)ct;`U48H3{D8#;V(I4%V})M@dDH?7D=gtgKJWA3SjWAw6pc^pz*scc3Icrn`qg#& zS=M7GBJoDm$o-sWS49C28~Qh^=&NgMPSMGn9U1ryAdnGKg{C&?HEX?lbZ2YNQEcbyu|byL$Nf$#tD;GX?wV2YL0>9fD?ARP zHY@|8~paSoYx&7vf9@ALmU0F|cbUhdcN%-;wJSM;iqz$yEZYRLLT9~oY%QQP& zXe=sn^r3(8Pm|LtbNzt)9^`sXck8~SrM*%z5qGvr-F?!CQW@zhW{HhUEWcT^fIIoT z8QZ=JerYKwsqvI&g9tI`@j(o>mBaieD{CUIQbgdZJV+*m=KZ2>H3F$_xYU4B_jmGZ zZZkk<=^;|UpaunTqww~t5xHL~<|`?wlm5^g&RTE941L)f{FXf$h8^U~qn3_`)pM}zDhLaA>|V?3dh0~@B3JFu?4E!l=Pr@s@^F8I^n7&*yb9M~r1f?606co(^j z|MtGR^7PqII{SNW?ynN_bA8LQ1~%igHs-U2lInhlB<`|+vV-Q|Ant4IxkI0H8Xp@g zm$cFa0bu;RfgcTIw@Tk9(2smy*kOM2!c4Wvpub9WqoeW zI<7#bfc6Kc$VdcL;Hjmj0$M5#rSt@;QPz9_MB%5S)aNbE<=c;NBox}F(xGm0g3d+8 z6)Z%@mQ=n3@RlC(Xmbh%`cP!{PnM7R z%I`kbZD2f((>jxD!TLdQtf8P>%XQe$?;?s|mRUtaMcJU~Io=;lxC7$$hUvYCs2?w{ zG4I!Kp$E#EH871K;PqL0k6N`J@+E8xfP-6K7Hz`j4 zr{kO7JCF=&mX;UpsXdL>yVkGu44~$P?;VD;#H<^KKvA4B(FR5hihC;=XR6}nV^z|R z@jt)tA7vg{=>@d+^*eMOHH-(F*7ZHRyyH6sTFy1EXt<-^7t9e05>dx5u}r1Ku`oN4 zb3RIJyV0a;dkV6V$1Gi$Z;^@82cNU#jh zMIibIxXwbtq^u z#_K=ZrjEm_CDy{LUz~YCvy7L#&U|LR)L@8UVjUcK-W)XGKYbb_u;hs-KsJrTt?_6D zD7Uofh~so@l=K1s$7#V4fe%y41(En@a??*m5L6liDSO6qZaXcMO^LS>W!^Xv$AXH_-sUEq?DhZ zILK06X)*jHdMz?C5}F|f1Z-|vl(QUsW!5z2BK!39D;?7xg+~Q@Bzo(P{E3s_w8~xM zMoG#C?wMXLf&nNfC_p1qp8(MIa-GPZOHL#;Bc_fo29PW{(`>ZHKghP>;i8 z+OE#7F7_#wf9!?_hhH;7Kdx%rHnGWN2-15tb$gRH1oECNMI;`R)<}y@$RORSY+RhI zN$7^o^Vv9D>Uh$>ncZ!P<_q2{Ke~c2CMjbfwHKjFZN3yBF(uwzE))7cmZJK$x)<<9 zlIT^DW)fRUYUS4NAstNeZi!h9?EwP9lQ`FwJA!q@-1sh6gWqH=HB@5(KQAXWwQ~!~ zzYU^&ZYn_UxSP`YLsq74Lu1s&_cbZW3_Rcj=k1SwY`I7h?67ltliAvtMSAev(?uW1 zMf&Q~v$(z3-;2!3t-yb}y z16U5m72j5mgDiKwWVbC~6hTXFjGPZr zQ(c|xwAQ-<@+$)Y-@cI`AtCA1t{pKRfN{(DmA(IrFx==j8y7w?ZO9Y`=BLQWxCr%& zUfZ`L2~X`y50y5EvG_Q;Wk-&Vwm7X%gk)}qo^9Z!CMIsw8Z-Sf7U$apHc5;N<-}7P zh6b@m$%38Vz5$q-n5cC7F+!Hw{oCJ8{Pu|wW@c7&^7sm(2#>$s&ujI{nmIelKG6ku zwPrv9kTFSSY#YGL>$Ck?La}7p?M1idOdJ<;l{cbr$Ma6I`>HjpHl?>s$tJ6ll!MwjE1!3y( z>juCMMf#Mw4QyM2OAUa*o;8q=mx~Mwq+eZ~Q%x7d2YJnLhB01)Xh-#aB{ ztMxNKfHmUrg9*9DOxQb8Pq4aNK~?poudkT2j7*t$$f)=Y+vUfxEU8D_1T62*)>v6v z6C6B8egr*V+IeW{*15;;u(6liGRp(rL0*AvKYU;Y+_Az$bxfmIKPh1WH_MQJkWUq2 ziOawJM?J6z)6MvCyG12_BdVwQKtLxXL~dR81SAsPxS~0C?AY zonzGQSlGLnq8|_#7^ri9@hAR1qSBP(;mx67b=iuNtKl*tI3ju=8vWt4fn!H4r#Me2C{FHgj#!<9L3tI6f>EMjVG*@3 zJ(USZ9vfSVYk>JtfRxgnYq0{3!A^EkdjClE5r;aaI{6F{G*>>JRzd={iJow=FLhO_ zn+#e;D+M)q1*yPg`0dpxNQSvF*7L7eU|B<05Szb%1Ww#w5xTsrEYeh|u9=f4H#hza z7-_mGkuCnKn(_h}B^Ux~kRa(qXDQJ25V;az9m34)?Z$GQNc7~V8%F5s?uLR1XJEz1 z>V+FAx@@b<7S5%RsOW-enU?&&O)%%?^c>HvDIZTi+G2e5v)QW-2iz`_0TZLr%13yf zv10YkA-aLI?_lA(%vtsuf`4_y^7VNM5TKdpPx#6se(V*?vp%N0t^#1m!A?#^1smj~ zE3JQqoB3#C)|3obGAcd+oJXhbt?}pu8n~3jhGh#}Ds60RWWPzkdWc@XlylK`D6A?VuC6~ zLy|nhHsgo#T!UgMxp``ZZ<;0c z{hD!3k-JZZ7UESsBn`AqAM0q1dI!R}Z5Z09D89Lcx*5m>w71&V>Fa;trY8C=r6jVS zO=a^@Ix06(1^d0YvlX1$K`~iktcQDc>p1S6_1%f9f8$0A3vq=XUrg|xQ0U^EWdil- zqT8n2)UC)955nu^)BJ~&qesHX9!o^Hqn&gT4sA5G`4xYBo+h9w7@fk1ahAsTWLMD) zefU9sORhjvE8A;)b8}QNb*W>(6S-K6rSFu@i9*_A!b0w{ZXP9W2nUJIOsjDMZ3GdP zyT?OUS*!`8QAmPWn&tZZqUg}6PHp(+&nwKp6{cfu?QI+YkOLpzi>tY(A7^;#VDG#P zibj(2wjjQZppU?-ZzrcFmHNxX-HsPV+^{y;9;cSNbYScuG#g*P^;ZDf{o}AahU}=^ z?$E?ceV^5;6o&X4@$Inywk}cAti_bY#f(K0T(!)*qlT)CVa}_R#lH{7cP&<*R8_@u zl<80~9wD8;TPeh{2Caeb*PNeJxh)T0^>bbje%>^&4>M0GDI`~vzWk1-WS&}UaoRJw zcub`QIh@(-aGbG-e@F;=Dw}7-IhK z1e~T({e#6O0ixy&Bjt!#Oai9Czs9o&$#-h>|MIwQlQTFi_t;J6r zDaU_W_g{RbwJBfwT*$H+5*>NS!hCAt>ig<~XIFz6WD~kVs^h-~$+x;;E`CtCp^N)*^l-zL#^kWdCm*?7 z?t%T`&kZp#@krrvqYcqO6hWQ`HlNifVR^Cu&IZT9E*eotaGM)r40H+9CsHD5Nln~^ z&rjU22=Q`MY1z1RBhbrl3pDk$;{;qvH<|2Tn${RZsuu-2@7(Nf|mj$uEDmQhi1hbdx=d^Ge+za6SIJ8xd&~VRXZi?6BD~AFfq~D{X-_@OGP3g z^fD@X+&J{0h&wqQOu3C6`qc4e6{NgE2X+1i*(x9(xw^4KyxElX>ms~13zFAC)(M-9 z9E%3rm*rLR{6#r%LV@3={%&Wh(cxIMjwXH$Cnypkulmm(RenI-!AIB+go?x7FI>?1 zLbY+yqe5j5L$}=98*m#Cv5~S~fU>LPgIIo1g183z za~q%egqLaX*P4&yOO~%;|4fO_L)J$Qj_U1SZ@R}&xp#JI_X@#{W=$?_&Ol^6OsFp= z&a;rn-R)=nU*W~GfXm%oqFVHBvuO>emfm0Ag%kAj6w4c5%#?q{pQY03J3^j@HWu=^8U zHWQO#IQ_lDh}5Z1;;quBr`1l*eJ8P^pS^6s9VwHTh`DTdv$*D-iE-%}y3k6CFa*tt z!oEtgYK!y%m(ScVcajI#uX4QAKpuj&YS7BF@q;YtiO~B#Ao2bdN3P-s%3^MGUSQHf zl=zmvIHs-pcJ6*tSeT#k_;wx2XDV$&DKm3_=m-k4K*A2)r+=`?qP*uq#`7C3io5UW zG_c_2gBJH%I!P3yci~`*6+lDt&fM^wnMV?j{MHB?*m^d67-5I_Jr3Ey!NG)O1NfJI zP*7OtXj(jL`9@f5W*_BO)ji*vxqCx*8z?Le4nEE(L@-$>4;bVClSlt7&AhU0?&qK27vCFc8m}nDj6ONay0u9Z%*@NFMx28+DbJY24Nl3-OF@2j{I*7voPQ zW255}GBm4iLY3dA^uu@5t$#h1s53PFW0)Gt}|lD8NlA7S82IXFi2 zB$0*1MqC21($Ssir};y}3eDOf!}#lkF~Y(m^o-_P~`oKI&1Gkg6)j zJ1+K4I~@5u`cVD%_`lIY`^TYa$B2sl*ngpdhTRVB-E<2EJwh5ouR%P9L3`FWxZ7w# zf`S?+Zm!2kb1ogdbzfNcVV{?Oi&Ds#LEbRPF_0pTl)QmkG{9Y6jK6c1NZ)2OHrrWV z%+SX&`ppMr0UC04(S`wNs3)*}+@Y;rl*1l4T|4Ei9wRe>fmm!lHUYOaE=~lztA}ha6=>riiqjKKT^G z$%Pk0tNBtb)bqIo72E^gRu`GTbdK*5Idn4dPy_NQzm6Z*UYP_g;_&p0XE=JA24W0X z37*RP2bHn%mFaesiJ?%xT}Wx`hBC?d3aC^;u;12njwhywbhwDtx_rymuHA2YnZ<8>LhjJ;B%+x^c$W#iIvqYd#*{X zbcq~g1Y8-vtG#jFHs8OkE}!+HFhvBfix!_5-#sp>{cDZ?iw+#!AlRe6&evz98@lSU zD)_M->|cWoHH*#;p0P%{?sOGgP;5R=?r=co!!D5)kz&pVeHGYZE+lKlR)`1PA86Gt zPft&PGG)H9yuqxy-w-5a=}fBjNUx>(tV`h)MKT1rr_=jUt%XnZ$EhHFNf-G)PyGp* z%WjpJo0}V7)JI5CAx?rl+e3p-J1vWN<_USF!xIm5h&yxMUS7@Sao`Mu0R^cY?+*ue z-pTJVUr}}^)2mwkB{KducupF$Jv{Ri$IW(?{l}01!(I^|*o6ttz&LZer~8Yj*w|QW z59(fp_?$xBDND}~C}|_oc~iR5S(@wTH4h}47&8t6V3U)oC0^)1u5Ey{X3 zHC7zl`F*4Cx3cPzcrVO^ZT2J=P6I)N?2x_cQ%+(26j%wvfA!`zEa?rvXsJF{Q1I|1 zPP;ic_;+*&>*(mjB_zOPD8kdy(qiM`<<-_=y1KenaUfrD1Lj<*XU8WeY5aVA^_p$2 zHbin$h6BB~w{li!h`{@e5EkCk-k}Ou? zEXT!XAy^QE(@2T#NWFg-_bcl~;*Q>wuai32(qZbzjvM~{0r1|uA&Q%(I9hWoj-Ly2 zFM4ZtI_%g0-^SgV%Fg=G6~;S%cV%KA%BY;ZC!SJnuvGP&i64*CH4974r#7n zcLkr{k;*6<@lr-tm))gwJMM~7PL@rgYXyFN_YhbxID*m-{yhA}D4?dMW`y`z`F1#w zxwj}+lm}R-x4`naJr2J)nx|x8v7NrZ*y_sUvcOzww0V5{(a2(=pct8rhX)rx2M5b& zFlMMw>ElP0(yFj(9_wpIaD47K27Pr=Rn=b|g7CB2+S;tOIv+4{QHi^$fl;WqaMH&k zMs>pmtwKG~tzBsYNPMyp4yw+_sPA?@L1FLL%LUi>pt;=MJcUBHI=Z$Ff~bsxQaY+w zr{ZyDAKy`g8q!Diuq*Q+ofq}@Ggf%zDAfEe;8%QVt@xg(E`8FKlN2WlU$f9RkDu;u;{k`X2!$8`B)eq@iv_OyEo`BdXw3WqH?7SeW+@; zWZbt1;Lu+0VZ6WUM2%3tDoHM{=ue8Aq;h|u5ICc+u4_z*!0k7s3ofZWcH0}{UXo5d zi}!xjtPkUwHDaoK!;|!;(`heeRAEBrmRGnbTRdg``d~U`T=X@aaSsN_P^9IjcTrS~ z$$tpX>#Bx-;eWOL8QJDH21*HxSeRnWCFq_rP$k zX(2RmMO|4L9gg}X{JDMW9VQh1?kR@#9#Iy)!?nyv#8;mD$ivg1d`_H|%L2yv?yQnz zUt%&JS1pEUKFD&j17&+hM|@Tm>j#-eZp#^jJn3i&6O#h{*G8LVs=X6xQ<=p6r|ek{ zq;DpWqVBOS#>{|A!Du*b-&YcuKYzHqu(oAXWws zxj;T;Q}mi(-)CX*+`K#j;7fz$tUPdjbMw^(ivsEX>1v#Nx=6_^A|e8I$H)sTlvPwH zh#qz_gu)l#(W?KBlv`zeRwFmt{s43nDWsBvtH%27dYgta;_mwW>QI98ps>?A@abkR zT1jE{gK7Nqm+9rIEO&EJJLp^uq__H2Rii8y*L{sdLts>yHwnW0v;q==rj1P_PJR-n?A1>CAq9-NFk6$Ved^AU|3=P!wcPebROY0B1Lc!8J<4Z@yDBZSC-R9PFLA zz-J$yj_xt^?>h@DEY?)qF_e`}mTPhrYSx)Pr8)p&M{^Yyi)L9vnM!j2t$cF#Y^Tuc z)0Oli(%ZM_1O$k7c6RTjr5%@(m^1?rv1rzP8?5p0Nv1Hgrz*3{szQx<`FLgES^kAb zAOfNU_eG~@hA!jtAjYR#GmE@EcO@m;O$YWSsP%mnmbA8l_7&s$-)zW2T!|X(k#(If zzK=w%cFQ5{?U>CiEl~aabjvMRf$j$d$^C$yR{5B;z47Kn4^hzLz2>?n@7U&Q^t^(i zqR;hjgKGl56+`ce&qx^EFo!WL=ut(%k8^6I}ROwOcXTa zerfJHBc`mZQAe{#k-lb>ixo|_|88d_B;9>o>+&K1&?ia~`XS(GY&j+y;)jTPcnCZS z0@_s74qMUy8zkp>t;6%4j}eL10=`vC!`Cweq1B6eM&aZ zroWXz9F~rhNnGQrP2JHqYzJrOa`mJp_so(44Gkkr2liBHsSOWD4%ga{`1tu#_@=tc@$G=Z zG@+EhtT(o4KVbc$?+0+O0icsuL?^DWupT@5x}hGJs8^+p;_4H}rQ}ZjbFnpeu@Oq< zxZ7m=SKuBZJO9Sm!~_a}Tp#2q!Xf~{!G&Gd+*Wh;g}g3@YAla(F*TgixAG`q4^Y-1 zsFV(LaC5_(L13`B&HXWpgJVvJ^9D%X*oKvfhWkq@Bqj*VL#1)g=IH_UI`V==>DDKCWvR+MCa$)Td|g9L|}hncYO&AiF%xSCB&)YU-^_6xdM zvpl#L7bX_ic4*>uwC?8b#&O}bz0$6P+Zr>clneDf!Y?EGE+jf>*;cWn=dR9M@~r!L zR?YR<9oscBdZLy;O)V`M?i^iRL%@-0v|B?3LC@Gz*uh7WBt#JrkpPxB*=i@3ohpvA zg8X%1@5H;v*Jm_?v9T{sS2SiGyS2kWoWn!ykhg3LX#P7Phm3%=W>Z!c*<9sUBr$w< zjDKLWyqt+^c^O$Imf;Zxw2*q9nXgdx6Z6ZbDH?f z3NPYiR{WKT^FG4O4Y`({>NGm{m0jC!X@ySOZGa}$S-3lVo3|ApVoHQgUjf7iB(KP^ zcEAGWOEc&SnEz@3VQ6<41|^%t6jj;HG7Yr_V87$dd))#6=?5tsU28DV_BOxKb%;3n zEWLm6>yA^pxw#3spNlE4DQAx-Uh#jsq;fr7DJgzJQ`Yx;lK5C6i{4^HVD%1)G=C8Z zSgZkA5;^u!+;FXJHcwCU>$Qx^(zmn7fk!~2r^h?7SD&w&?wB~K5vT?0o|@nWYTh9@ z>x?bD^1;dfX-U&7x_T3J{uME43YEYH=~%ybN1@B(=U4OXpzLO*?9wQ2yKQ6Vrvl%` zUMu+JjVaNB7t;I|mm}OJ`H`yTg^8Ywwd@QsC|Qy&&pX?mHcYNu!%`v@l~8D1A59Ks zQD|5{kgXF_KxyjgTE%}%3rFowwiFzBMGiqDLse2zqN1gx6cr@{t=9R}>(KWtrA(o4 z(7{0icPydS1ms=njcU|k^dCH_TU-?!<7n9YsxjY}N(7-1pi|hMU1%NfV&}`BZ&36G zc2v}2o(T#%nfQS_y8Cf#EMTi~-+6`SrE~tnnRZ z$zs609MTd@-W<{>>j^rWN8mXL0LQ$OsNj;&1`Z1}3=BVKT~pIuYMV}{7s1b;KM|0T zvETbWT?6)yw>Gfw@JOpr>jy2?Q#t~YBxQ$q!Ntgz6}W1ZtpRm_7#xBnZbSn$Qb#SL-f z@8TVWqq<8(W;`1tKzX-%rK?{>&H>!OcHE8Jit3a&B<~-Iio}C)PA)^&B)}cU ze7cVI&$S7ICZGki&pLTxY4MF;OEX&z0>wIGNzj?okp$=d{{4Ehk8<=OF7vvUM<@|K z6tJ39?3c(P=5!7(iH@J}`?v1?1it9&pTy9fJe2ig6Jz5~gF`)J$o_WneduH&UI_5; z@M@nw=eD*IDk>`4+uQqrl!#U%*Qq<5N&fCSTFCiOi7MdNHk^nU74-wAbG{5u(VXji z4llBNHzfh&AFG{Q2i5`un5OnnLe6_Lg*}@?68g{|0x7H)Yl8(@$jJd=&)dHCZ&$E; zkswDBo`TD0_%Go7O_==xP0$@jl1PN?zaj>5h+>7msHEw5@u7!qKV7M!uEC=HOd=xC zQ5FNfL&IF?&$Bf1@nu)H60-6M5N4Rked8}DK#jBuI6J6o8WxQ1%^9^8U7`_*S(q7! z`}=b5Z-G_s%EvS|GiHP799}k~zP{c#Zh!TQ?1O-+zwc;z5SoU!#T0A>32J1rzK2IE z`6nkgH<_#5(Hf&cR1gqSP*K5}jis|&1k9m^O39y-_4Mcvto5f7A}c7u0YO2*1|3zb zD@5GCJP8P-X+Fd>fQ|Xoq^NmztCxLtkPP4#6x=#D*y2f&)b&zvJ#`d`K#uc`mz^px z@iN@rg{4v6szarQ$<@8Sg9m;j{>U!aU%Tb;J82+5SFKVaJ>p5AHOhJs|Lx`~-5g#n zkhO#y#vonVKGxNTZdxkb;WuSaK4K6FrP2fqLkis$18=z+=%wUO}a{|E^vXNv&M*H3E@%`1SH|hKj zoRvBY!4+#>pJ+)iE%U&{k3`N)gsIP03O(oL_G+u;mi(l<$)H0`sQ60B99 z#}h4ID77x18~RvWvWhu&x4Q8^g-8dziUXC6h@};;zs>wv^*W=#$#gst_P9nr=56S7 zIr?1s3cIgLO0vt^GQKh{C-a!imS9o&RUj%(#K<0UZ`=Is9y-s9)Z$rY6+jd{dBk{m zd2xrN6gj+%UjYCwFR$&waZ%PcLebYVGjP{zf@ZxCq7>(&s5pjf6{Bi3u@q8?Rvkb8 z-0r-v-1cs3iGGL+jV#e|cbd2UjgHRWneR<0o!!7sWL~L|R6;>7gslx@p`C(?kla=u zN*Ikw-Coub_!b+xPJ+mBkw|#W;BHXe@t+m|=yBD?2WG20pC=}i;Q$aH@YnGSl8O4P zl&%?n`GOAv(9_d@K1kR?BNKW0a)|Yzae8$X2kIoy;pDpkap$eL!S80*Kfk?Z`Vt}O zP>PYnW9NI5iM2wukF^v5iukpL5rlA4Pk;l#61_=gL#ap@-U2 z!s97J@=BV}Qn?&@TI%+i!{fCZYK^T8OJ9o*RS%P5KOZH_ex+aOSeVRoa=L6bsXg7i zoiQr2LqiyiMQ^&}bCh*9pIRWTj9%0%5oj>XaQR0HFE|NDE8d>og|y+| zk%$Oaf7N#0pMa`Zu9w~&l}{J;#7*Jl#8}A_1hVbE=sne+(f;`Plb%1LAGXmdvgpyJ zTa{Ux^4a)#AI+zP=;=voqlr@ENUDoP#I5_e%v5@VWSu{of-!p(3{dx5-()#H^ z>;Nh)o0FC&)6y$Z1S@v#;Saos!01=3eTIB zmGv6sh%pS9ox)2a1A@|0R0V9OKee-OpyZkG%co>7cmeA;;TE`Oc?f_#?TgX-ftYz# zJblY!XRcu9Kpl}n`Qpx-orN|}q|PTt5;$byekp%&+J6hiL7}0cR-o*Ul6B5r@#UBKU|vr1jkcsKE%D&j-seaa_zIXjYcWy6VxmHcOjH z!h-7?+kU9+2ec1^zV)#gB9lX_sAruMz56`W-OOlj~efDi<#Ez`nm>r%;3 z)Bw0v%R{nd^;pQ7so`)_*KAg2w8(3IK2^vMjiHOCaNphm6e5*NGt%A8yUcBof>ae1 z6+)mnKBFh7$9b7UWK!~7jfozIBde*wrdw5S=L+g-(?W{?JQ_h%*6nltzK|Jfrb(;I zsi}jj8nbu74;+vZrs;?eXd`%Jx0o`%e^VVD1tU2pN2*%j2>|+*rBrv?d0h+_gdT2Y z%GcyXgJbSF7=AJ0NAYVHLMwGk-ADcuM^@pT*~n}lW7L>Wpj3(MH;kEJeHuQZlQ8+N zm(AYQoQlyFF+;#r41@!d4cZ#Ut0R3C+D*+I#YLGO5sYcA9yg_>t!iDi*F$P?j!w&$ zD5s%}$GsxCTl#t4g>h4Sm%|1^YZ{TCE3}3_uUaoAML}cdWP87{jqZd8s`UoPjEefa z!Uh)W>-Ohbh?;~M8Os!Jn0tmANEl?RdRg_6!4CeiY4d)7sXxAkvekP5NCfJZ!ynY< z_tyd1NayYA*o=!`HJtN75dE9U0Ritk*|`07vBrN#(8H#Zjm<|}K^aM&pV zeyGGDjNDYh2$WlehqBC`H;;*!f5J#^=11qJorLwfR}wXOsk7G1I2`na&|^K$Y1d-x z_l62IHw#lQ&h!;b!vlVa5H|@I6hU7nDJcr%gmkUYiks0}SpFYAM8a^jJ8UpZO@192 zB)BJ{!G$c*4qfG#PVjH!NShpp0;zt!6Z@1nQ)vUF^4i4+=5(+4j44RRDZT|OiyOAT1bnG5Z}`gxVLl-7M&9-9S~ zAp2dCATI?NQ!Ee4{CQuc*9B4E082k*2c@5H1B3Ze!2M+rq0_d zqXWlnc_!=)n;gDD8L}0K_CygS)@ZmLw!y;)LkUT(Pf*j7@^*->T0ri9@;F3*h(6=> zID(l+-V`1(2PgcR&wFDT(Uv;>rhP^HE7eEy!tOOzzQB6ozp%j5b4y0ni_AYRs5)8P%i#=|N`vUp)TGy-x_B*JSg;CkiK>?~*hdy60W@W{JOma_~j z(1hHUKX#3^2%UDXEu81kcF8qx=@s*+g!S24b0k9vrSx4&s(7gT`2oK&ym2UibR|7> zC0!6`Tzs#@?ClABXmdfMP~yfqHs9Nd(MDd@DmXO2DJ2LQzNI1Nk4^4WGMe;hRCQdc z@LX}AV&K9d(UL7v%s5}J*#e@F>_;ogQr_f48s|m79b$XH!E4Xl#%9fZ-%`vJ2;TF! z!L$~rt{AatQT#o~45>v-3`1<95HVRuh-lDr76wH}VE~>@@rh#gLq# z{)2KMWK_%kpHM7IzHb8qwGdZgjN`LA(}TI#mm6p2w4BRVBqEE;+JR4$8v@82=4m+C)qe%pK> z>4DOMA}DAlABiw=a#nq@jVTei$VErzzWvuO z6E_R@_{AT_Dz-VoP{O@pJ8!_<=1>&O#dYnjecy{)*3-7GU`@t)Kjc?@cT-Wu$iT4v z)<7fS-CxP$zptF!qF}J~<@~o&#CuS2+bHq(#qwYHg)jbJ_(htgxj~05`&aqv*U{^< zHL}IUMea|J&(F^%s3ZbG($R#A`R!RntSxJ6Yh;!O(+FUQWea37w2vk43T zRjl}+Z0+;%GLXS=4OwyY@bIX3*CR6q{PcQ&)qX-K7MZmxhIqkT-`zEFCcU9~v^Mbr zqa)M0Zeu+gl=Dd@m~@&t(fC7E@6sxoCr4hVUHEDY@{iM9zP`i)&S51Lh!NKcsad*N za;nd5xT_r7dKH09kX38HzP<9Po<$Yw_ayhfj^@EfwX58rQILkaV1%GeK4>P%1- z0(6zI-Zi84&4dfZWp|;5RZ5<2D2FHaarx^KetE`np;YR6^|*g|7%(-^Qa{A}k(|YC zF`5$r#dCEO@%vm>!Ps3C_!)+L7RtM~qSoQ}BNooW?=xdbycRqRld^Z|THH+*b~#V? z|BXXs>|Y&s!W66ceum&;Xd1r^PEAdEltiNe&0RDv#^8Rq`$sBxM4Sm-6`S zz?{t319jFa36(N`96w#8lgO5|vzv}A!D45Es?g!pIknH24Kd`B436S^gT59h+CGvI zyD9OJoNG$_wP`4b#>>lsS}5Z1 zS7#3MgkYa^uW=d$H@CXv3&~Kd-@j#Hr~NiE^5p&uV&dN1G8^|{VgM50mMMaVC`(dA z2Tir8>*=WhTaPx-AQy4~zYHHt0fx^)USAm4M7i|~gT)e(N0`$jR$L>*5x9niR=Q{x z?JU~pOOTFP|V&; znx52wJQN*Knt|+;fnlHckO?KoGq1b1Fe?hdyDxf8J{?kn^E{Bp;ny3P7tZ7Q#29!lUeg|~h zXe)0-&*XNO#HrWNNe8W(aA7LNg=d@8M8p?PW2TkLh@K&xuW(i4TYGXPfFE8!eXYeu z-_6x=5yoO{dL|ZWXJaa-d}@9a4AT}9O=?`xl1P4utvo!PI|o2G1o zv9JE%I5gi;rj7NEPQ&!~ys^K!_A`>g5{EGSg)!%{1x5s`=^H(sNG8K47ivwAKvhKQ zSJFso;Ql1rz3Z(?TS*XXuPeAVN;+NW*hPT->#)^Rt0OmS}cqEyBcqv4fHNCO4qF z(zu)?DkkUU2Nu9mKERf&=Ms&I3L)4oHvsht6YsBHptvDBFmhDWS7ajMTPmER@Wq|q zp7+hS5Vlo1ef>6Ez8WFZh~3~|;p2aC+Ml3k1K%snh9Z}jjM8a4nuhXQdW*M*_t(R@!4V`dt2nf-M=B zIS41$?Q~`1T{noUogjS9`*Dj$J84h8yl_CZd>+Hr|!E$)d!cQx7(()n1<} zATQBPvnO{|nVl|cT{n;u9c_cx#X#4Pn?UsB&U8FPw1n&cG+r4N|9ksX5-hC^c}GRB6F}`84ubU9ZC(6*ynt724iifzmHP z{7%U9+(nqTy^Or!LQr}Vt5jZ=FRdWuO{0=umQPU@0YOBhQB;<>vzxuEqM7r0WiSLk zKrQSMD)!SfzjMWCVk%hc&>(B} zgyhxqBFcMO(R9iwa>!EJ`N^Y@iZH3$^Yh@}i&^rK^UruG7Qbv2RTZjmkv~rtDLOQC zc^M`2f^dd~nx8;h^%K{o=F;uyY5;4OPAJG|V&@P*oadmC%Uclb({o!N2 z@5JY>4-ax6!OxG4a-^UgLsmtJmiD1aOD&a9`z*^F)`;uW3q{Zn)C2`Ct|>Fj%mT>g zDM~*4GL4E~Q7N2nBsbHJ-tL{9*)@60GF&5|?w;+nR`n}>L*YIBVK9|HWWM|>n3z&i za(Ei=n0Fp$48&Wz*I1%ogHJmk+56%=V^2QVBFtJ}bdipCSCOMSKhHNHE|b^PQw`Gn ztssK0Ht9_x1l)IivLgc^2IWbM7BQ%$_979#DS1gK9Oo6URan6}9rS)|_BOntFg7zY z+Mmc-s53+J(gKiP_|d?s^}#!)kC&GUapb3O@0K+}mJFyNi%qucZQ8u@hoDr@!GPxN z<=8Ow)(D#N`27e9Jk=tmuE{^FW)A5Kx<7CGb#eDGMG1^N!8|1f20=J!PY<8>A$C&Y z%yC3ock(ozTd=COUMH*l22?X2a5Vp&S-xWxS12J_tLYahQ+K*)@Alu$8%4B2Vpsb1 z{c0VC?*j!HNcQ9p{NnzHJ)cvii#Yp&et;Gwx?u1swoK_+X6j#x;hD_|;vDJd{E5bN z)ZwP!e+dMxFKQ{18K6p!IbteKLbV_z!-X!&ms z`<;@%>5E8?p#WewjLEZ}54kB-vPdpA_2V=f!+z@i?fCV1!W0C4-n@*%V^!*9gdLq3 zdS#!v!N>^xR&Q*OCK<;LvZ+CZe zr%tup_q@)CY4Z==*x)4j?a6VIFfbZuga@Bzqk3CdeEE>}j)f%#Y9SPn4ZHg8Xnvf| z#>Ynl;5npYX2ucnYH4XPUu|!ZnwPmblGd98MipdpgFr~SOJkx^Ttx?6-?&0Ae8P>5 zi~Fm$7Y5`^6{JZW1?KjXAlu}R=Q`MD3_&2F{M3uPVZ=r3E!Huv7Xj)Fv|JRPLYaAa zle(+`zge}{$;l*cv5S1Fp~%jLeM3tks7l{nD2Ss%egTx^>Ug!3r60BA%WA$;EK zE~8sj4=YvGr9)*Ab68i$CVhAcpN?H3HhYJp^Elphl!0VAOa!X5t!<`0RZ6533?Z!YLylLYeu=lEX0k zL#g5g2ufYjLVf}B5gE;bg|tBS70;G0iCYzUg2(@5;@@D{?%B{fs8mfmK8xoYCsF=d zTeN(ZKHvvYteAs6)V~x=;wn_|{Tfz@sEJ*KInkr;@_1L7Jh#4u1-+xA>#un?s=G?q z%k$Yp@QsfbYOp}z@%Cy-rw61KZvVNcO#c(6)Ah-65{2fr5v`*B_5NhQbN)F88yh+p zl8=B=e`5tUW`$;^)PnIJof!n)g7n@Ofk|0T(5s!7SLJXa<#^?343U5Myr5I#(1+kx zw7lnq^zK8MC8VZ>`2ODcTV=B95XFgPukP8Q;w9~==;(}e%yYxQi=bsEdlo?s4UGLl zQAwbE+0;}ubvY2AeeaoGYQU!NL8WL^3>HeZe!ZSAYGv$M+#P2#6Vuw$Z*l~hYby}2 zp2+WC!7InLH%0Z*Ht#H_?8Rj{NpNHk-$qA3HB*T0!D{8UZEi75&BO2EGzY(3v2=%+ zR)5YK-{_r^A}gFQA9*Pv%ZJ1!cB;UUgWUz+BA~0QYcXlT3*ku|Ghf#ch7LUKJGXyx zGSYDkk>2t2KoR7GxF)J?s~ui$oIEmd$(O9}fMo>ISYGpb`_MCvi5vEj^0SO88Q|sZ zt)i=os;8$Xb!2&UIn0{Z-cHQg^;Dam>E5+8bN9UbDT}lFs364B$S`16_dj?F9%N?o zvoG()W!6H__3I(;54*O)-k(2@Z4m1Usml8P)%LQNp3#&t_0ernG^UMU`FzKh5_TD| z$M}=<8r}Uj$|m4>o4Bz0y)PJp?f>oQ&i6SxeUr>z(J^{mFg8A))GES#V{`GqNI^*n z0|f>3`}c3<`bwUE%I9W>t?F-ArXPhbd>Ts59-9h8%>4cbRW*BK8Q9n+jw7o z6C9EIt|wf(-rOI=k^y+^6!aj)bMtSYl07f3Pe6S7zT*fciZQ$^iY?RYVfa;=oWT*j za&2Ublp`R7z8`$aW*<&8mH5EsP_@(aBN$8Uqq|dGz)i`Q%XPw@rf)urze1Q$&>YOa zji9qD#)z$mChe5fz`U-3i8hew&*1*TZ z@Vl}Ky|p`5k=L@F9k7GlV9_v#m)w(W3&Y0fQ@M$hh9imxqVKpBUM?ZxZ*HgEuO*G{ zAm#->>YKYaFJ7S>@?@KSe$wgxdu7@`-as^Ci$Bs`3MQcThZltYw%SJgrF;JGdCC0#T9mC<9dj5(&XD4AlFx_?rdxWTb$_Q zy(Y>o=onL#k%57Z?gtjsciOpjYKXP(T;mO~bTHb&v=c4$1x_kbR(dBu@NB%+nzNlA zp51+@+-(Q*|TYCEU}x zip@N`hkSlrqN;)Rc=yBkTRI|PQ35)cp- zq`MoWVJML<>6TPFq=f+`lbk>wi0{Tmc z833>P+9(cscHVuf+COmO#d+QW?FQUx-FCYaEwqo#mpVV3FUsC-6FEFJUe$5SzFFdX zr?XaC-fUiEXX%ZYjXoXh8vDlmUgm0AjX@ zG;Nz=O?|zRR+o5k$_BQP0@{`dY!>Y@)==$`_nF8&O`^NNkMLOFQwkS*?~SoiQ-jIK z$i7`3qok%Gl~s}3C@ zpReNLfnI3b$JkC?@;>GKjIVsOMT-Fvy1)}|gA9a=4($RS)|9Biix**U<(tLD#lM{% zYX>as(NHmVW)iLnF6kKPG&jO-*VOwE>z60Yyk;_>X1z5au0J%83JFD9_{0C#Tl*Ge zahZs6rE9HNWK6VY&)t)s;8gH$Qbw4h|Fqo2o`$rfWHu7x`?jZO&un0AUez3l1XE4z zfEfh91lFmL%M7g$NJS2B1V}ogZuIHUz9_7_Y(!d=BlL5qvrNf(wPS#+Nzg$b+<_zj zTLISxlmgaFEh)Xds2-tWG?@<@lpX9FU%%;-;&==qOrP+{1PK$VzGAdAo2I?`x~=^* zIXpBGKueLnl<#7z|Ecwqw0|A+zvHGfQ2+ue9=RO=yDILI`%kvtqO^y!-fiRMpIq|d zVh4z+4glJ64D&hLoNB#7n<~A116|!Mk5xbiFpMvI7Zzwh`4c-U+uIR98jHGkZ=#d{ zaJQA`@9+Hq^l8g9h3aFR=G=VSC{v4+l*KN3xV`<9GBAsp z0z8n)0|?L9MyICsG%$<*^eyWlP99a`aqamdW)w6(@W(x?Dtq~P!-83 z&|3*c$-~fmba(!9iOQY1+Z&xeF7!kzOPD@KP8RO`^@%{ArEDzSaX(hQZt!;D ze{R}X^N1^qhX$&(0i($Y2h)=Qbi1cnidy7iz;a)mnzp_dgDVDL3GJ<|0a7BPJaia# zw6^wo4~N41^~fC6@a;q6Bn1qjsHm8;3{B4ccEPTNxUOLgHsaJtQ#yppdl~;cF_jgW zk_K}r=g;&{6%QXumw#7#t#KbPD+d+vI9#O43%q?6r}%<$3SHEB+2B1YB_UyF1}^9a zV6$UlaJg11Nj?)lF57RT^%t=HBaPy-^9%^a*!QG&XQrkpU<@~PJ-3amkOKB;NJ{Al z%vk5PWO`2z_?E$v+b?ar8B@%gZ_=(tX3C>Spef}za$d&7+mlLr&8xwJ3s?n}PzS!hqCculANicMA)PmA+HAS9u07 z)!PpZ7d=->9S*e}m4|uhIl2h@TzL6K{)ll?1DK!gSwJAF84mD=qnN#ezTu)6?0oW^ z-&TK@fq|T5)P7@^$w$g=Pk#WwmvQK__ih~?#*JK@g>VXVvijCPAsQjpLRG$uMj-tj zfE1bw1^&= z+x1g&n=5;1DQUlYV!(6GoIp+;QZ=Yu&2Gfbc3-sn`BThxqJU`KtILI#dB*5$AEX+m zMT-GrbT%L}HC~NFsu1*dmCe$@A|NvI0=RH*o#9IDEg2JDwY7l(%hJyRSCq2v1>T#1 ztLK#wZxi9=A1a(}A1{+C(`aim#GUBN{B5dYKCspk&tZ;cetr&EZnv|4=Ylasx+A*w zJFDwY+Q`qg)c`v0#wIXGiM{^QC!Pv$o?)ccH9M1pG7^x87hhMFTmRi|1kX?d&A#Gg&{|D21y$>hG74tq|;DaHOBaaKV=I@=MFl zHJoLrE#6uKKj5uRthd)|(f91Vs10c)e9QbfT+i90R|SM+u@%tPmgCI9)VGNWeO$Bk zGKp9maUke56RZHod;GVCw+FjdiDs?``Tl#8&u1JWokYw*&$NTCmIWE6xQ!|-H%Bmr zbIKojq+a7XW2?19OlDq{r6p4GpP2o_3SW3V?Q+1T6|%o14}tlip!P z;U&~~*IHTzYfuB{if-SPYVMM#4j^x6Is^fnKl>SEINZ%Lc!JOGlF4IVcYxDxQa2Z` z;sE4~u(JBx!^eDbBEf(}morpSsQI*C1)39_R^l047=N?%GEFCrVa7ny-zb{7^VsFg zGT84*&$qWP`u@0ZlVqRjy(k3$*_B!A;}L0toIXJe_@!s=M1if%}sOd}CLml%|dRuaOag^}cxPZmsX!H}D78Uy>7`GDpEXEl{Y4)x>QXHn$S{!!i)n z`=lVXwn#MM-GE4Kh6tX^2VsYi;W%VacWrRO$;I1ZpZlkT^wLwpY`aFcrX`e`Wv*1p7ssL#S*x= zyCVfDQsh2>y zGgYP0X{ckm%F@`bQG1dnFr#Z8zw^@Hr2nmnkH~5LQHIp!Lov?r$>`NNg|Ct;gW18W z2dKq6-h35iZ{EGGcF@jUp93Vnf%#5v0ZDfuxKaB}FhFP!1ZZcvwPqi!dZNgvzhTV$ z`ST6Tb5Of>xYV{-2S_z&`IOPRI`{GOsvjT+IikD6ds#D>XE77bsc*d2%Igl$$x@Ku z*M+7&{iLAZTaE4KNn%4xe1iryLeYHosY&%TOnFXAxC>SzRf z*FS%k{8f|WJ#!3CqTrj?uiYsd)A0d3n3!>*PzH)3+((~&EP}zLVW2rz=(jZ+k5WUj zmb-lOWq?X4L?BCK=UhYg^g!$l_^DiMi2DHbiqb9k_e2R2&Uuf%{HMA-EG!3)>2^P` zbB-gXZI1e{9Ymc-d*cZdt6*3Ij9AW&vvN;PAeE z)}BRC?8mp0mNaXe;b_CFRk{hRdDMZrZPNVKR=t{6>Z3w`2@1=~u<`Nn-{q|D9tudF zi8gL}O)e6Kec0>H)MpksZr0cAFUGSu2#XoSwy<~yvcZLg(pijDHtprN!pbNV;tO9Taq*F4XlLc%Fck8YKDzfA3n(@@;S|Odrcp zt|T`0G=| zXCIU!QNLLmq*J@Ii!D1X@}!GKnsu|Vvcq-|ueUXG<%@hUg%RlT(2`-e*4&uyrTit4 z)yS}t?YGt2qJ?Lh=KZ8@4&Y@!-nWI`4!?MKDtrjfP-gqFjHah0o}k7;=JCE;X7#Sz zD(~5ae9FZzIuE;A1_QP3-d1YXCwG`P?ypc-r^5F>+mxoqI{>rL`{*Flza~^%_j%(N z+IC+m+#gTUA3aF4fk%6_xU@v3L4VG|B+}6vO9Lp6BrW8nq`cjmTZ1pA$1^K9kb9fl zHesK+lRC1)EF^i1OyWp!1F!L2^Jy=i{~S-aYSmZK z-=_}K_be+g#E8Bs>jdKokC!Ar6d2b_>aUf$jrWY8m7(M6UA6j-WBXMMB_*XUk(^hb zn3AMyWfItUy6=IZuoiY?XVaDs#T%b!>AndGKJYUGdY`?+nghqul0ruT75L(k<7QnP zULE!40x9P--m6VDO^)at43{wmAB@>ezEs=--%VWmiq+MdbSVi2I9w$nN+20&I5)@n zT(4u126sJnx&0%Vu-#gF#iuS**1GiNKpFFZbERdZM)4Td(67FEV|BgMfuz8FVE#5m z)b+46BJOy8YBY_qJjmC$pJ1$|-4_$-5Is0J=sQuZ3ON4LjDc3lgkg5!Dz;o?4Z%|JHvg8i>pRghcq9Ka&9jLgtf3UieEl<$kG#6=Qw$}f$!*cZPAnUq#WHjqeRKP&@2$7!+qhO-$*$Tp=LJErj%qa zFk=yitEIHH?TQqsbJXoJ6>3CPphPRU&a7HZlC`du`ogg#JCaRFT;&z|Pcc~^gV-m^ zZn33pJ=(G77& zbsR*3v~3H9A7W`mamB@Tdc-=xkp}{>v{K|Pc(3Uqjz9OP=iG#80JRqZlo&36;l(xs zgA;{?hhN_8i_vFwiaI~HvH*jS3Cwl7%k z5Sz!5;it$K)N$8PQA%8@DOqr@&!9&tQOd?*Va(z=@|`$G*SYc;qmva+J#)`aY74`MbhihLE_%$WuRV`HO`i!@m z$d$Z56Sg5?k8AM_H=9QR?P{hrjA=Z+t@r;a&0-_H1 zEt@Os2vS|dqM$B-I+mTp6jVq;C))=MfzMYJyya3)Ck&loknM5U023EH$t+nkFe`hO zlacX^+H@76cQku-X~X&qE1>J1@_}X^Ro?t3Ar0Bq>t4#8bXNgB4r0TD`_7o88zc@~ zLYK)fW%t=R)ExVO?#{_{hSg(JPNmGDdr31}yw8LCjJ2*%gw%0A=j(P2Fp^QgTlrLq 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 PQ;>?ns~1&rCL#X^3LR{y From 3208404f14a7526887199af041912da5929c9543 Mon Sep 17 00:00:00 2001 From: oranges Date: Sun, 31 Dec 2017 11:58:41 +1300 Subject: [PATCH 48/82] Merge pull request #33580 from Xhuis/defenses_balancing Some modest clockcult balancing - vitality matrices, brass skewers, pressure sensors --- code/__DEFINES/status_effects.dm | 2 ++ code/datums/status_effects/debuffs.dm | 24 +++++++++++++++ code/datums/status_effects/status_effect.dm | 1 + .../clock_cult/clock_effects/clock_sigils.dm | 27 ++++++++++------ .../clock_scriptures/scripture_scripts.dm | 6 ++++ .../trap_triggers/pressure_sensor.dm | 2 +- .../clock_structures/traps/brass_skewer.dm | 29 ++++++++++++------ .../mob/living/carbon/human/examine.dm | 16 ++++++++++ .../mob/living/silicon/robot/examine.dm | 1 + icons/mob/screen_alert.dmi | Bin 75852 -> 77077 bytes 10 files changed, 87 insertions(+), 21 deletions(-) diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm index 4f36ddbb1e..2e1524ebac 100644 --- a/code/__DEFINES/status_effects.dm +++ b/code/__DEFINES/status_effects.dm @@ -64,6 +64,8 @@ #define STATUS_EFFECT_KINDLE /datum/status_effect/kindle //A knockdown reduced by 1 second for every 3 points of damage the target takes. +#define STATUS_EFFECT_ICHORIAL_STAIN /datum/status_effect/ichorial_stain //Prevents a servant from being revived by vitality matrices for one minute. + ///////////// // NEUTRAL // ///////////// diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index cc64cc2eb8..22868f855f 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -479,3 +479,27 @@ desc = "Blinding light dances in your vision, stunning and silencing you. Any damage taken will shorten the light's effects!" icon_state = "kindle" alerttooltipstyle = "clockcult" + + +//Ichorial Stain: Applied to servants revived by a vitality matrix. Prevents them from being revived by one again until the effect fades. +/datum/status_effect/ichorial_stain + id = "ichorial_stain" + status_type = STATUS_EFFECT_UNIQUE + duration = 600 + examine_text = "SUBJECTPRONOUN is drenched in thick, blue ichor!" + alert_type = /obj/screen/alert/status_effect/ichorial_stain + +/datum/status_effect/ichorial_stain/on_apply() + owner.visible_message("[owner] gets back up, [owner.p_their()] body dripping blue ichor!", \ + "Thick blue ichor covers your body; you can't be revived like this again until it dries!") + return TRUE + +/datum/status_effect/ichorial_stain/on_remove() + owner.visible_message("The blue ichor on [owner]'s body dries out!", \ + "The ichor on your body is dry - you can now be revived by vitality matrices again!") + +/obj/screen/alert/status_effect/ichorial_stain + name = "Ichorial Stain" + desc = "Your body is covered in blue ichor! You can't be revived by vitality matrices." + icon_state = "ichorial_stain" + alerttooltipstyle = "clockcult" diff --git a/code/datums/status_effects/status_effect.dm b/code/datums/status_effects/status_effect.dm index 19bd880a77..e24359d18c 100644 --- a/code/datums/status_effects/status_effect.dm +++ b/code/datums/status_effects/status_effect.dm @@ -9,6 +9,7 @@ var/mob/living/owner //The mob affected by the status effect. var/status_type = STATUS_EFFECT_UNIQUE //How many of the effect can be on one mob, and what happens when you try to add another var/on_remove_on_mob_delete = FALSE //if we call on_remove() when the mob is deleted + var/examine_text //If defined, this text will appear when the mob is examined - to use he, she etc. use "SUBJECTPRONOUN" and replace it in the examines themselves var/alert_type = /obj/screen/alert/status_effect //the alert thrown by the status effect, contains name and description var/obj/screen/alert/status_effect/linked_alert = null //the alert itself, if it exists diff --git a/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm b/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm index 29655a0ac9..3237cf5d35 100644 --- a/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm +++ b/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm @@ -278,7 +278,7 @@ animate(src, alpha = 255, time = 10, flags = ANIMATION_END_NOW) //we may have a previous animation going. finish it first, then do this one without delay. sleep(10) //as long as they're still on the sigil and are either not a servant or they're a servant AND it has remaining vitality - while(L && (!is_servant_of_ratvar(L) || (is_servant_of_ratvar(L) && (GLOB.ratvar_awakens || GLOB.clockwork_vitality))) && get_turf(L) == get_turf(src)) + while(L && (!is_servant_of_ratvar(L) || (is_servant_of_ratvar(L) && (GLOB.ratvar_awakens || GLOB.clockwork_vitality))) && get_turf(L) == get_turf(src) && !L.buckled) sigil_active = TRUE if(animation_number >= 4) new /obj/effect/temp_visual/ratvar/sigil/vitality(get_turf(src)) @@ -313,21 +313,28 @@ revival_cost = 0 var/mob/dead/observer/ghost = L.get_ghost(TRUE) if(GLOB.clockwork_vitality >= revival_cost && (ghost || (L.mind && L.mind.active))) - if(ghost) - ghost.reenter_corpse() - L.revive(1, 1) - var/obj/effect/temp_visual/ratvar/sigil/vitality/V = new /obj/effect/temp_visual/ratvar/sigil/vitality(get_turf(src)) - animate(V, alpha = 0, transform = matrix()*2, time = 8) - playsound(L, 'sound/magic/staff_healing.ogg', 50, 1) - L.visible_message("[L] suddenly gets back up, [L.p_their()] body dripping blue ichor!", "\"[text2ratvar("You will be okay, child.")]\"") - GLOB.clockwork_vitality -= revival_cost + if(L.has_status_effect(STATUS_EFFECT_ICHORIAL_STAIN)) + visible_message("[src] strains, but nothing happens...") + if(L.pulledby) + to_chat(L.pulledby, "[L] was already revived recently by a vitality matrix! Wait a bit longer!") + break + else + if(ghost) + ghost.reenter_corpse() + L.revive(1, 1) + var/obj/effect/temp_visual/ratvar/sigil/vitality/V = new /obj/effect/temp_visual/ratvar/sigil/vitality(get_turf(src)) + animate(V, alpha = 0, transform = matrix()*2, time = 8) + playsound(L, 'sound/magic/staff_healing.ogg', 50, 1) + to_chat(L, "\"[text2ratvar("You will be okay, child.")]\"") + L.apply_status_effect(STATUS_EFFECT_ICHORIAL_STAIN) + GLOB.clockwork_vitality -= revival_cost break if(!L.client || L.client.is_afk()) set waitfor = FALSE var/list/mob/dead/observer/candidates = pollCandidatesForMob("Do you want to play as a [L.name], an inactive clock cultist?", "[name]", null, "Clock Cultist", 50, L) var/mob/dead/observer/theghost = null if(candidates.len) - to_chat(L, "Your physical form has been taken over by another soul due to your inactivity! Ahelp if you wish to regain your form!") + to_chat(L, "Your physical form has been taken over by another soul due to your inactivity! Ahelp if you wish to regain your form!") message_admins("[key_name_admin(theghost)] has taken control of ([key_name_admin(L)]) to replace an inactive clock cultist.") L.ghostize(0) L.key = theghost.key diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm index 09cfeb99d3..c4774fe0ad 100644 --- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm +++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm @@ -70,6 +70,12 @@ quickbind = TRUE quickbind_desc = "Creates a Vitality Matrix, which drains non-Servants on it to heal Servants that cross it." +/datum/clockwork_scripture/create_object/vitality_matrix/check_special_requirements() + if(locate(object_path) in range(1, invoker)) + to_chat(invoker, "Vitality matrices placed next to each other could interfere and cause a feedback loop! Move away from the other ones!") + return FALSE + return ..() + //Judicial Visor: Creates a judicial visor, which can smite an area. /datum/clockwork_scripture/create_object/judicial_visor diff --git a/code/game/gamemodes/clock_cult/clock_structures/trap_triggers/pressure_sensor.dm b/code/game/gamemodes/clock_cult/clock_structures/trap_triggers/pressure_sensor.dm index f6a7b8e347..fffabe8f5c 100644 --- a/code/game/gamemodes/clock_cult/clock_structures/trap_triggers/pressure_sensor.dm +++ b/code/game/gamemodes/clock_cult/clock_structures/trap_triggers/pressure_sensor.dm @@ -3,7 +3,7 @@ name = "pressure sensor" desc = "A thin plate of brass, barely visible but clearly distinct." clockwork_desc = "A trigger that will activate when a non-servant runs across it." - max_integrity = 25 + max_integrity = 5 icon_state = "pressure_sensor" alpha = 80 layer = LOW_ITEM_LAYER diff --git a/code/game/gamemodes/clock_cult/clock_structures/traps/brass_skewer.dm b/code/game/gamemodes/clock_cult/clock_structures/traps/brass_skewer.dm index d79ca88ecb..c91cf594e8 100644 --- a/code/game/gamemodes/clock_cult/clock_structures/traps/brass_skewer.dm +++ b/code/game/gamemodes/clock_cult/clock_structures/traps/brass_skewer.dm @@ -21,9 +21,10 @@ STOP_PROCESSING(SSfastprocess, src) if(buckled_mobs && buckled_mobs.len) var/mob/living/L = buckled_mobs[1] - L.Knockdown(100) - L.visible_message("[L] is maimed as the skewer shatters while still in their body!") - L.adjustBruteLoss(15) + if(iscarbon(L)) + L.Knockdown(100) + L.visible_message("[L] is maimed as the skewer shatters while still in their body!") + L.adjustBruteLoss(15) unbuckle_mob(L) return ..() @@ -48,14 +49,22 @@ /obj/structure/destructible/clockwork/trap/brass_skewer/activate() if(density) return - var/mob/living/carbon/squirrel = locate() in get_turf(src) + var/mob/living/squirrel = locate() in get_turf(src) if(squirrel) - squirrel.visible_message("A massive brass spike erupts from the ground, impaling [squirrel]!", \ - "A massive brass spike rams through your chest, hoisting you into the air!") - squirrel.emote("scream") - playsound(squirrel, 'sound/effects/splat.ogg', 50, TRUE) - playsound(squirrel, 'sound/misc/desceration-03.ogg', 50, TRUE) - squirrel.apply_damage(20, BRUTE, "chest") + if(iscyborg(squirrel)) + if(!squirrel.stat) + squirrel.visible_message("A massive brass spike erupts from the ground, rending [squirrel]'s chassis but shattering into pieces!", \ + "A massive brass spike rips through your chassis and bursts into shrapnel in your casing!") + squirrel.adjustBruteLoss(50) + squirrel.Stun(20) + addtimer(CALLBACK(src, .proc/take_damage, max_integrity), 1) + else + squirrel.visible_message("A massive brass spike erupts from the ground, impaling [squirrel]!", \ + "A massive brass spike rams through your chest, hoisting you into the air!") + squirrel.emote("scream") + playsound(squirrel, 'sound/effects/splat.ogg', 50, TRUE) + playsound(squirrel, 'sound/misc/desceration-03.ogg', 50, TRUE) + squirrel.apply_damage(20, BRUTE, "chest") mouse_opacity = MOUSE_OPACITY_OPAQUE //So players can interact with the tile it's on to pull them off buckle_mob(squirrel, TRUE) else diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index bc4fd83334..9999d8c330 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -121,6 +121,9 @@ if(wear_id) msg += "[t_He] [t_is] wearing [icon2html(wear_id, user)] \a [wear_id].\n" + //Status effects + msg += status_effect_examines() + //Jitters switch(jitteriness) if(300 to INFINITY) @@ -354,3 +357,16 @@ msg += "*---------*" to_chat(user, msg) + +/mob/living/proc/status_effect_examines(pronoun_replacement) //You can include this in any mob's examine() to show the examine texts of status effects! + var/list/dat = list() + if(!pronoun_replacement) + pronoun_replacement = p_they(TRUE) + for(var/V in status_effects) + var/datum/status_effect/E = V + if(E.examine_text) + var/new_text = replacetext(E.examine_text, "SUBJECTPRONOUN", pronoun_replacement) + new_text = replacetext(new_text, "[pronoun_replacement] is", "[pronoun_replacement] [p_are()]") //To make sure something become "They are" or "She is", not "They are" and "She are" + dat += "[new_text]\n" //dat.Join("\n") doesn't work here, for some reason + if(dat.len) + return dat.Join() diff --git a/code/modules/mob/living/silicon/robot/examine.dm b/code/modules/mob/living/silicon/robot/examine.dm index 788a8f4255..3f5b12ae20 100644 --- a/code/modules/mob/living/silicon/robot/examine.dm +++ b/code/modules/mob/living/silicon/robot/examine.dm @@ -6,6 +6,7 @@ var/obj/act_module = get_active_held_item() if(act_module) msg += "It is holding [icon2html(act_module, user)] \a [act_module].\n" + msg += status_effect_examines() msg += "" if (src.getBruteLoss()) if (src.getBruteLoss() < maxHealth*0.5) diff --git a/icons/mob/screen_alert.dmi b/icons/mob/screen_alert.dmi index ef680c266a9ce8e5ae33d7eccc7e83e972c3d7ce..e6d40977a7accd2dbc7ed07ab77a71fe991ef0e6 100644 GIT binary patch delta 5764 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 Date: Sat, 30 Dec 2017 18:23:25 -0500 Subject: [PATCH 50/82] Fixes vore not functioning --- .../code/modules/mob/living/carbon/human/human_defense.dm | 5 +++++ tgstation.dme | 1 + 2 files changed, 6 insertions(+) create mode 100644 modular_citadel/code/modules/mob/living/carbon/human/human_defense.dm diff --git a/modular_citadel/code/modules/mob/living/carbon/human/human_defense.dm b/modular_citadel/code/modules/mob/living/carbon/human/human_defense.dm new file mode 100644 index 0000000000..b61df944d1 --- /dev/null +++ b/modular_citadel/code/modules/mob/living/carbon/human/human_defense.dm @@ -0,0 +1,5 @@ +/mob/living/human/grabbedby(mob/living/carbon/user, supress_message = 0) + if(user == src && pulling && !pulling.anchored && grab_state >= GRAB_AGGRESSIVE && isliving(pulling)) + vore_attack(user, pulling) + else + ..() \ No newline at end of file diff --git a/tgstation.dme b/tgstation.dme index 30c5ff3848..1f3ea9671d 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2473,4 +2473,5 @@ #include "modular_citadel\code\game\objects\items\melee\eutactic_blades.dm" #include "modular_citadel\code\modules\crafting\recipes.dm" #include "modular_citadel\code\modules\mob\living\silicon\robot\robot_modules.dm" +#include "modular_citadel\code\modules\mob\living\carbon\human\human_defense.dm" // END_INCLUDE From 06901e1edca86c3cd44cefa1ce8e125ee49e9f41 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 30 Dec 2017 17:43:28 -0600 Subject: [PATCH 51/82] Automatic changelog generation for PR #4610 [ci skip] --- html/changelogs/AutoChangeLog-pr-4610.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4610.yml diff --git a/html/changelogs/AutoChangeLog-pr-4610.yml b/html/changelogs/AutoChangeLog-pr-4610.yml new file mode 100644 index 0000000000..cdcfbde61b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4610.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - bugfix: "Vore is no longer restricted to monkeys." From 38870f4056daa2c0a7e2a44315a1c266d00ad0b0 Mon Sep 17 00:00:00 2001 From: Tad Hardesty Date: Sat, 30 Dec 2017 19:26:47 -0800 Subject: [PATCH 52/82] Fix PDA message photos not being viewable --- code/game/machinery/computer/message.dm | 2 +- .../telecomms/machines/message_server.dm | 180 ++++++++++++++++++ 2 files changed, 181 insertions(+), 1 deletion(-) create mode 100644 code/game/machinery/telecomms/machines/message_server.dm diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm index a3ec6ba6ec..13ad75d7cc 100644 --- a/code/game/machinery/computer/message.dm +++ b/code/game/machinery/computer/message.dm @@ -126,7 +126,7 @@ break // Del - Sender - Recepient - Message // X - Al Green - Your Mom - WHAT UP!? - dat += "
X
[pda.sender][pda.recipient][pda.message][pda.photo ? "(Photo)":""]" + dat += "
X
[pda.sender][pda.recipient][pda.message][pda.photo ? " (Photo)":""]" dat += "" //Hacking screen. if(2) diff --git a/code/game/machinery/telecomms/machines/message_server.dm b/code/game/machinery/telecomms/machines/message_server.dm new file mode 100644 index 0000000000..e0e88cce65 --- /dev/null +++ b/code/game/machinery/telecomms/machines/message_server.dm @@ -0,0 +1,180 @@ +/* + The equivalent of the server, for PDA and request console messages. + Without it, PDA and request console messages cannot be transmitted. + PDAs require the rest of the telecomms setup, but request consoles only + require the message server. +*/ + +// A decorational representation of SSblackbox, usually placed alongside the message server. +/obj/machinery/blackbox_recorder + icon = 'icons/obj/stationobjs.dmi' + icon_state = "blackbox" + name = "Blackbox Recorder" + density = TRUE + anchored = TRUE + use_power = IDLE_POWER_USE + idle_power_usage = 10 + active_power_usage = 100 + armor = list(melee = 25, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 70) + + +// The message server itself. +/obj/machinery/telecomms/message_server + icon = 'icons/obj/machines/research.dmi' + icon_state = "server" + name = "Messaging Server" + desc = "A machine that attempts to gather the secret knowledge of the universe." + density = TRUE + anchored = TRUE + use_power = IDLE_POWER_USE + idle_power_usage = 10 + active_power_usage = 100 + + id = "Messaging Server" + network = "tcommsat" + autolinkers = list("common") + + var/list/datum/data_pda_msg/pda_msgs = list() + var/list/datum/data_rc_msg/rc_msgs = list() + var/decryptkey + +/obj/machinery/telecomms/message_server/Initialize() + . = ..() + if (!decryptkey) + decryptkey = GenerateKey() + pda_msgs += new /datum/data_pda_msg("System Administrator", "system", "This is an automated message. The messaging system is functioning correctly.") + +/obj/machinery/telecomms/message_server/proc/GenerateKey() + var/newKey + newKey += pick("the", "if", "of", "as", "in", "a", "you", "from", "to", "an", "too", "little", "snow", "dead", "drunk", "rosebud", "duck", "al", "le") + newKey += pick("diamond", "beer", "mushroom", "assistant", "clown", "captain", "twinkie", "security", "nuke", "small", "big", "escape", "yellow", "gloves", "monkey", "engine", "nuclear", "ai") + newKey += pick("1", "2", "3", "4", "5", "6", "7", "8", "9", "0") + return newKey + +/obj/machinery/telecomms/message_server/process() + if(toggled && (stat & (BROKEN|NOPOWER))) + toggled = FALSE + update_icon() + +/obj/machinery/telecomms/message_server/receive_information(datum/signal/subspace/pda/signal, obj/machinery/telecomms/machine_from) + // can't log non-PDA signals + if(!istype(signal) || !signal.data["message"] || !toggled) + return + + // log the signal + var/datum/data_pda_msg/M = new(signal.format_target(), "[signal.data["name"]] ([signal.data["job"]])", signal.data["message"], signal.data["photo"]) + pda_msgs += M + signal.logged = M + + // pass it along to either the hub or the broadcaster + if(!relay_information(signal, /obj/machinery/telecomms/hub)) + relay_information(signal, /obj/machinery/telecomms/broadcaster) + +/obj/machinery/telecomms/message_server/update_icon() + if((stat & (BROKEN|NOPOWER))) + icon_state = "server-nopower" + else if (!toggled) + icon_state = "server-off" + else + icon_state = "server-on" + + +// Repath for maps +/obj/machinery/message_server + parent_type = /obj/machinery/telecomms/message_server + + +// PDA signal datum +/datum/signal/subspace/pda + frequency = FREQ_COMMON + server_type = /obj/machinery/telecomms/message_server + var/datum/data_pda_msg/logged + +/datum/signal/subspace/pda/New(source, data) + src.source = source + src.data = data + var/turf/T = get_turf(source) + levels = list(T.z) + +/datum/signal/subspace/pda/copy() + var/datum/signal/subspace/pda/copy = new(source, data.Copy()) + copy.original = src + copy.levels = levels + return copy + +/datum/signal/subspace/pda/proc/format_target() + if (length(data["targets"]) > 1) + return "Everyone" + return data["targets"][1] + +/datum/signal/subspace/pda/proc/format_message() + if (logged && data["photo"]) + return "\"[data["message"]]\" (Photo)" + return "\"data["message"]\"" + +/datum/signal/subspace/pda/broadcast() + if (!logged) // Can only go through if a message server logs it + return + for (var/obj/item/device/pda/P in GLOB.PDAs) + if ("[P.owner] ([P.ownjob])" in data["targets"]) + P.receive_message(src) + + +// Log datums stored by the message server. +/datum/data_pda_msg + var/sender = "Unspecified" + var/recipient = "Unspecified" + var/message = "Blank" // transferred message + var/icon/photo // attached photo + +/datum/data_pda_msg/New(param_rec, param_sender, param_message, param_photo) + if(param_rec) + recipient = param_rec + if(param_sender) + sender = param_sender + if(param_message) + message = param_message + if(param_photo) + photo = param_photo + +/datum/data_pda_msg/Topic(href,href_list) + ..() + if(href_list["photo"]) + var/mob/M = usr + M << browse_rsc(photo, "pda_photo.png") + M << browse("PDA Photo" \ + + "" \ + + "" \ + + "", "window=pdaphoto;size=192x192") + onclose(M, "pdaphoto") + +/datum/data_rc_msg + var/rec_dpt = "Unspecified" // receiving department + var/send_dpt = "Unspecified" // sending department + var/message = "Blank" + var/stamp = "Unstamped" + var/id_auth = "Unauthenticated" + var/priority = "Normal" + +/datum/data_rc_msg/New(param_rec, param_sender, param_message, param_stamp, param_id_auth, param_priority) + if(param_rec) + rec_dpt = param_rec + if(param_sender) + send_dpt = param_sender + if(param_message) + message = param_message + if(param_stamp) + stamp = param_stamp + if(param_id_auth) + id_auth = param_id_auth + if(param_priority) + switch(param_priority) + if(1) + priority = "Normal" + if(2) + priority = "High" + if(3) + priority = "Extreme" + else + priority = "Undetermined" + From 9c8959f2ff197f7c8b8f65a4870f8564e2bc79ab Mon Sep 17 00:00:00 2001 From: F-OS Date: Sun, 31 Dec 2017 01:23:42 -0700 Subject: [PATCH 53/82] Last resort now requires a confirmation. (#33947) * Update headcrab.dm * fixed * fuck * Update headcrab.dm * Update headcrab.dm --- code/game/gamemodes/changeling/powers/headcrab.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/changeling/powers/headcrab.dm b/code/game/gamemodes/changeling/powers/headcrab.dm index e7f23bc07b..7a219407a4 100644 --- a/code/game/gamemodes/changeling/powers/headcrab.dm +++ b/code/game/gamemodes/changeling/powers/headcrab.dm @@ -8,6 +8,8 @@ /obj/effect/proc_holder/changeling/headcrab/sting_action(mob/user) set waitfor = FALSE + if(alert("Are we sure we wish to kill ourself and create a headslug?",,"Yes", "No") == "No") + return var/datum/mind/M = user.mind var/list/organs = user.getorganszone("head", 1) @@ -35,4 +37,4 @@ if(crab.origin) crab.origin.active = 1 crab.origin.transfer_to(crab) - to_chat(crab, "You burst out of the remains of your former body in a shower of gore!") \ No newline at end of file + to_chat(crab, "You burst out of the remains of your former body in a shower of gore!") From 9dd9d9413add613e6d36c1080a2f366062bab88d Mon Sep 17 00:00:00 2001 From: vuonojenmustaturska Date: Sun, 31 Dec 2017 10:26:43 +0200 Subject: [PATCH 55/82] Improves loot drop spawners, adds AI law spawners to cores (#33945) * hymn to breaking strain * remove subtypes as requested * no-one saw that --- _maps/map_files/BoxStation/BoxStation.dmm | 5 ++- .../map_files/Deltastation/DeltaStation2.dmm | 40 +++++++++---------- _maps/map_files/MetaStation/MetaStation.dmm | 5 ++- _maps/map_files/OmegaStation/OmegaStation.dmm | 40 +++++++++---------- _maps/map_files/PubbyStation/PubbyStation.dmm | 5 ++- .../game/objects/effects/spawners/lootdrop.dm | 16 ++++++-- 6 files changed, 58 insertions(+), 53 deletions(-) diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 335393adac..2f9716406c 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -22174,7 +22174,8 @@ req_access_txt = "20" }, /obj/structure/window/reinforced, -/obj/item/aiModule/core/full/corp, +/obj/effect/spawner/lootdrop/aimodule_harmless, +/obj/effect/spawner/lootdrop/aimodule_neutral, /obj/structure/window/reinforced{ dir = 1 }, @@ -22235,7 +22236,7 @@ }, /obj/item/aiModule/reset/purge, /obj/structure/window/reinforced, -/obj/item/aiModule/core/full/antimov, +/obj/effect/spawner/lootdrop/aimodule_harmful, /obj/structure/window/reinforced{ dir = 1 }, diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 2852c76257..fe77452705 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -54219,14 +54219,10 @@ name = "Core Modules"; req_access_txt = "20" }, -/obj/item/aiModule/core/full/paladin{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/aiModule/core/full/asimov, -/obj/item/aiModule/core/full/corp{ - pixel_x = -3; - pixel_y = -3 +/obj/effect/spawner/lootdrop/aimodule_harmless{ + fan_out_items = 1; + lootdoubles = 0; + lootcount = 3 }, /obj/structure/sign/nanotrasen{ pixel_x = -32 @@ -54279,12 +54275,12 @@ name = "Core Modules"; req_access_txt = "20" }, -/obj/item/aiModule/core/full/antimov{ - pixel_x = 3; - pixel_y = 3 +/obj/effect/spawner/lootdrop/aimodule_harmful{ + fan_out_items = 1; + lootdoubles = 0; + lootcount = 2 }, -/obj/item/aiModule/supplied/oxygen, -/obj/item/aiModule/supplied/protectStation{ +/obj/item/aiModule/supplied/oxygen{ pixel_x = -3; pixel_y = -3 }, @@ -55144,6 +55140,10 @@ pixel_y = 3 }, /obj/item/aiModule/core/full/custom, +/obj/item/aiModule/core/full/asimov{ + pixel_x = -3; + pixel_y = -3 + }, /turf/open/floor/plasteel/vault{ dir = 8 }, @@ -55226,7 +55226,7 @@ req_access_txt = "20" }, /obj/structure/window/reinforced, -/obj/item/aiModule/core/full/tyrant{ +/obj/item/aiModule/supplied/protectStation{ pixel_x = 3; pixel_y = 3 }, @@ -57252,14 +57252,10 @@ /area/ai_monitored/turret_protected/ai_upload) "clQ" = ( /obj/structure/table/reinforced, -/obj/item/aiModule/core/full/drone{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/aiModule/core/full/reporter, -/obj/item/aiModule/core/full/liveandletlive{ - pixel_x = -3; - pixel_y = -3 +/obj/effect/spawner/lootdrop/aimodule_neutral{ + fan_out_items = 1; + lootdoubles = 0; + lootcount = 3 }, /turf/open/floor/plasteel/vault{ dir = 8 diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 8ed9acf09f..3480f9d6c4 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -18443,6 +18443,7 @@ "aMG" = ( /obj/structure/table, /obj/item/aiModule/core/full/asimov, +/obj/effect/spawner/lootdrop/aimodule_harmless, /obj/item/aiModule/core/freeformcore, /obj/machinery/door/window{ base_state = "right"; @@ -18452,7 +18453,7 @@ req_access_txt = "20" }, /obj/structure/window/reinforced, -/obj/item/aiModule/core/full/corp, +/obj/effect/spawner/lootdrop/aimodule_neutral, /obj/item/aiModule/core/full/custom, /obj/machinery/flasher{ pixel_y = 24; @@ -18477,7 +18478,7 @@ pixel_y = 24; id = "AI" }, -/obj/item/aiModule/core/full/antimov, +/obj/effect/spawner/lootdrop/aimodule_harmful, /obj/item/aiModule/supplied/oxygen, /obj/item/aiModule/supplied/protectStation, /obj/item/aiModule/zeroth/oneHuman, diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index ffda1f471d..0352106ad4 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -2376,14 +2376,10 @@ name = "Core Modules"; req_access_txt = "20" }, -/obj/item/aiModule/core/full/paladin{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/aiModule/core/full/asimov, -/obj/item/aiModule/core/full/corp{ - pixel_x = -3; - pixel_y = -3 +/obj/effect/spawner/lootdrop/aimodule_harmless{ + fan_out_items = 1; + lootdoubles = 0; + lootcount = 3 }, /obj/structure/sign/nanotrasen{ pixel_x = -32 @@ -2499,12 +2495,12 @@ name = "Core Modules"; req_access_txt = "20" }, -/obj/item/aiModule/core/full/antimov{ - pixel_x = 3; - pixel_y = 3 +/obj/effect/spawner/lootdrop/aimodule_harmful{ + fan_out_items = 1; + lootdoubles = 0; + lootcount = 2 }, -/obj/item/aiModule/supplied/oxygen, -/obj/item/aiModule/supplied/protectStation{ +/obj/item/aiModule/supplied/oxygen{ pixel_x = -3; pixel_y = -3 }, @@ -2875,6 +2871,10 @@ pixel_y = 3 }, /obj/item/aiModule/core/full/custom, +/obj/item/aiModule/core/full/asimov{ + pixel_x = -3; + pixel_y = -3 + }, /obj/machinery/camera{ c_tag = "AI Core - Port"; dir = 4; @@ -2900,7 +2900,7 @@ req_access_txt = "20" }, /obj/structure/window/reinforced, -/obj/item/aiModule/core/full/tyrant{ +/obj/item/aiModule/supplied/protectStation{ pixel_x = 3; pixel_y = 3 }, @@ -4361,14 +4361,10 @@ /area/ai_monitored/turret_protected/ai) "ahV" = ( /obj/structure/table/reinforced, -/obj/item/aiModule/core/full/drone{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/aiModule/core/full/reporter, -/obj/item/aiModule/core/full/liveandletlive{ - pixel_x = -3; - pixel_y = -3 +/obj/effect/spawner/lootdrop/aimodule_neutral{ + fan_out_items = 1; + lootdoubles = 0; + lootcount = 3 }, /turf/open/floor/plasteel/vault{ dir = 8 diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 7eb9a7ac7a..a504dc4a0b 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -12140,6 +12140,7 @@ "aED" = ( /obj/structure/table, /obj/item/aiModule/core/full/asimov, +/obj/effect/spawner/lootdrop/aimodule_harmless, /obj/item/aiModule/core/freeformcore, /obj/machinery/door/window{ base_state = "right"; @@ -12148,7 +12149,7 @@ name = "Core Modules"; req_access_txt = "20" }, -/obj/item/aiModule/core/full/corp, +/obj/effect/spawner/lootdrop/aimodule_neutral, /obj/item/aiModule/core/full/custom, /obj/structure/window/reinforced{ dir = 1; @@ -12197,7 +12198,7 @@ req_access_txt = "20" }, /obj/item/aiModule/reset/purge, -/obj/item/aiModule/core/full/antimov, +/obj/effect/spawner/lootdrop/aimodule_harmful, /obj/item/aiModule/supplied/protectStation, /obj/structure/window/reinforced{ dir = 1; diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index 34e6793d5b..a2ff5b0674 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -5,19 +5,29 @@ var/lootcount = 1 //how many items will be spawned var/lootdoubles = TRUE //if the same item can be spawned twice var/list/loot //a list of possible items to spawn e.g. list(/obj/item, /obj/structure, /obj/effect) + var/fan_out_items = FALSE //Whether the items should be distributed to offsets 0,3,-3,6,-6,9,-9.. This overrides pixel_x/y on the spawner itself /obj/effect/spawner/lootdrop/Initialize(mapload) ..() if(loot && loot.len) var/turf/T = get_turf(src) - while(lootcount && loot.len) + var/loot_spawned = 0 + while((lootcount-loot_spawned) && loot.len) var/lootspawn = pickweight(loot) if(!lootdoubles) loot.Remove(lootspawn) if(lootspawn) - new lootspawn(T) - lootcount-- + var/atom/movable/spawned_loot = new lootspawn(T) + if (!fan_out_items) + if (pixel_x != 0) + spawned_loot.pixel_x = pixel_x + if (pixel_y != 0) + spawned_loot.pixel_y = pixel_y + else + if (loot_spawned) + spawned_loot.pixel_x = spawned_loot.pixel_y = ((!(loot_spawned%2)*loot_spawned/2)*-3)+((loot_spawned%2)*(loot_spawned+1)/2*3) + loot_spawned++ return INITIALIZE_HINT_QDEL /obj/effect/spawner/lootdrop/armory_contraband From 7dac76651e0d918027425d4985d3a8728b17aba7 Mon Sep 17 00:00:00 2001 From: BeeSting12 Date: Sun, 31 Dec 2017 03:27:37 -0500 Subject: [PATCH 57/82] Makes it clear that command reports are IC. (#33949) * fixes #33936 * sticky's idea was better --- code/modules/admin/verbs/randomverbs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index b26453b461..b37ff9ceb4 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -472,7 +472,7 @@ Traitors and the like can also be revived with the previous role mostly intact. if(!holder) to_chat(src, "Only administrators may use this command.") return - var/input = input(usr, "Please enter anything you want. Anything. Serious.", "What?", "") as message|null + var/input = input(usr, "Enter a Command Report. Ensure it makes sense IC.", "What?", "") as message|null if(!input) return From a57eba6a16e49194a9798702e2f39905a95fb9eb Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sun, 31 Dec 2017 03:32:38 -0500 Subject: [PATCH 59/82] Explosions now cause camera shake based on distance (#33570) * Explosions now cause camera shake based on distance * Explosion close camera shake down to 2.5s * Explosion camera shake max 100 close intensity, 50 far --- code/datums/explosion.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/datums/explosion.dm b/code/datums/explosion.dm index 73b76a9155..85a8e40863 100644 --- a/code/datums/explosion.dm +++ b/code/datums/explosion.dm @@ -55,6 +55,8 @@ GLOBAL_LIST_EMPTY(explosions) var/orig_heavy_range = heavy_impact_range var/orig_light_range = light_impact_range + var/orig_max_distance = max(devastation_range, heavy_impact_range, light_impact_range, flash_range, flame_range) + //Zlevel specific bomb cap multiplier var/cap_multiplier = 1 switch(epicenter.z) @@ -119,11 +121,13 @@ GLOBAL_LIST_EMPTY(explosions) // If inside the blast radius + world.view - 2 if(dist <= round(max_range + world.view - 2, 1)) M.playsound_local(epicenter, null, 100, 1, frequency, falloff = 5, S = explosion_sound) + shake_camera(M, 25, min(orig_max_distance - dist, 100)) // You hear a far explosion if you're outside the blast radius. Small bombs shouldn't be heard all over the station. else if(dist <= far_dist) var/far_volume = CLAMP(far_dist, 30, 50) // Volume is based on explosion size and dist far_volume += (dist <= far_dist * 0.5 ? 50 : 0) // add 50 volume if the mob is pretty close to the explosion M.playsound_local(epicenter, null, far_volume, 1, frequency, falloff = 5, S = far_explosion_sound) + shake_camera(M, 10, min(orig_max_distance - dist, 50)) EX_PREPROCESS_CHECK_TICK //postpone processing for a bit From 3e5c7eb8978492cf0b8ccbd4efba5b00c2f466ba Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 31 Dec 2017 02:50:56 -0600 Subject: [PATCH 61/82] Automatic changelog generation for PR #4607 [ci skip] --- html/changelogs/AutoChangeLog-pr-4607.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4607.yml diff --git a/html/changelogs/AutoChangeLog-pr-4607.yml b/html/changelogs/AutoChangeLog-pr-4607.yml new file mode 100644 index 0000000000..1ce8e2136e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4607.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - tweak: "The chemistry job has been removed from Omegastation. Medical doctors still have full chemistry access" From 305d07faa291fb3877cd718b039a9620d90a45ac Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 31 Dec 2017 02:51:29 -0600 Subject: [PATCH 62/82] Automatic changelog generation for PR #4608 [ci skip] --- html/changelogs/AutoChangeLog-pr-4608.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4608.yml diff --git a/html/changelogs/AutoChangeLog-pr-4608.yml b/html/changelogs/AutoChangeLog-pr-4608.yml new file mode 100644 index 0000000000..dc7a2844d9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4608.yml @@ -0,0 +1,4 @@ +author: "MrDoomBringer" +delete-after: True +changes: + - imageadd: "NanoTrasen has sent the station new spaceheaters! They look nicer now!" From 92a7555322e59eec3a001e829c612fd7ae03a7c9 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 31 Dec 2017 02:51:47 -0600 Subject: [PATCH 63/82] Automatic changelog generation for PR #4609 [ci skip] --- html/changelogs/AutoChangeLog-pr-4609.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4609.yml diff --git a/html/changelogs/AutoChangeLog-pr-4609.yml b/html/changelogs/AutoChangeLog-pr-4609.yml new file mode 100644 index 0000000000..9f47aa2917 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4609.yml @@ -0,0 +1,8 @@ +author: "Xhuis" +delete-after: True +changes: + - balance: "Vitality matrices now apply Ichorial Stain when reviving a dead servant, which prevents that servant from being revived again by vitality matrices for a full minute." + - balance: "Vitality matrices can't be placed adjacent to one another." + - balance: "Brass skewers now damage and stun cyborgs." + - balance: "Vitality matrices no longer drain people impaled on brass skewers." + - balance: "Pressure sensors have 5 health again (down from 25.)" From cf1dc29d3bd4182bd328e009a10b2f0a82b3047b Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 31 Dec 2017 02:52:05 -0600 Subject: [PATCH 64/82] Automatic changelog generation for PR #4611 [ci skip] --- html/changelogs/AutoChangeLog-pr-4611.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4611.yml diff --git a/html/changelogs/AutoChangeLog-pr-4611.yml b/html/changelogs/AutoChangeLog-pr-4611.yml new file mode 100644 index 0000000000..135f53690f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4611.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - bugfix: "Viewing photos sent by PDA message works again." From 01e744041be6bad0be7de920d4d108a17ab051d0 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 31 Dec 2017 02:52:32 -0600 Subject: [PATCH 65/82] Automatic changelog generation for PR #4612 [ci skip] --- html/changelogs/AutoChangeLog-pr-4612.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4612.yml diff --git a/html/changelogs/AutoChangeLog-pr-4612.yml b/html/changelogs/AutoChangeLog-pr-4612.yml new file mode 100644 index 0000000000..1bb68ce590 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4612.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - bugfix: "Last resort now requires a confirmation" From 2268a2e53c1d1a67db8c3eb8291d8dbcc90180a8 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 31 Dec 2017 02:52:46 -0600 Subject: [PATCH 66/82] Automatic changelog generation for PR #4613 [ci skip] --- html/changelogs/AutoChangeLog-pr-4613.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4613.yml diff --git a/html/changelogs/AutoChangeLog-pr-4613.yml b/html/changelogs/AutoChangeLog-pr-4613.yml new file mode 100644 index 0000000000..871d1fc7ac --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4613.yml @@ -0,0 +1,5 @@ +author: "Naksu" +delete-after: True +changes: + - code_imp: "loot drop spawners now assign their pixel offsets to the items they spawn, also have a \"fanout\" setting to distribute items in a neat fashion like in omega/delta's core and some tech storages." + - tweak: "replaced several law boards in uploads with spawners, the net result being one more board in uploads that may be a duplicate asimov (but hopefully isn't)" From 38ddc2c0e32ece50d64d5b935d3afc38de0324c3 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 31 Dec 2017 02:53:36 -0600 Subject: [PATCH 67/82] Automatic changelog generation for PR #4615 [ci skip] --- html/changelogs/AutoChangeLog-pr-4615.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4615.yml diff --git a/html/changelogs/AutoChangeLog-pr-4615.yml b/html/changelogs/AutoChangeLog-pr-4615.yml new file mode 100644 index 0000000000..f7e0e15470 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4615.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - rscadd: "Explosions now cause camera shake based on intensity and distance" From bbca0afa37c3bb5bdc169cd56c6969e18029715e Mon Sep 17 00:00:00 2001 From: AnturK Date: Sun, 31 Dec 2017 13:30:00 +0100 Subject: [PATCH 68/82] Fixes thermals, also drops the see invisible from thermals. (#33950) --- code/modules/clothing/glasses/_glasses.dm | 4 ++-- code/modules/clothing/glasses/hud.dm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index 7dca5d9b3e..0bfb212e29 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -11,7 +11,7 @@ materials = list(MAT_GLASS = 250) var/vision_flags = 0 var/darkness_view = 2//Base human is 2 - var/invis_view = SEE_INVISIBLE_LIVING + var/invis_view = SEE_INVISIBLE_LIVING //admin only for now var/invis_override = 0 //Override to allow glasses to set higher than normal see_invis var/lighting_alpha var/list/icon/current = list() //the current hud icons @@ -261,7 +261,7 @@ icon_state = "thermal" item_state = "glasses" vision_flags = SEE_MOBS - invis_view = 2 + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE flash_protect = 0 glass_colour_type = /datum/client_colour/glass_colour/red diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index 877a3bb458..4d59a893ea 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -174,7 +174,7 @@ icon_state = "thermal" hud_type = DATA_HUD_SECURITY_ADVANCED vision_flags = SEE_MOBS - invis_view = 2 + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE glass_colour_type = /datum/client_colour/glass_colour/red /obj/item/clothing/glasses/hud/toggle/thermal/attack_self(mob/user) From 7a6cf002d344f11119459ab3723ac5df3eef0c9f Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 31 Dec 2017 06:41:03 -0600 Subject: [PATCH 70/82] Revert "[MIRROR] Fix PDA message photos not being viewable" --- code/game/machinery/computer/message.dm | 2 +- .../telecomms/machines/message_server.dm | 180 ------------------ 2 files changed, 1 insertion(+), 181 deletions(-) delete mode 100644 code/game/machinery/telecomms/machines/message_server.dm diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm index 13ad75d7cc..a3ec6ba6ec 100644 --- a/code/game/machinery/computer/message.dm +++ b/code/game/machinery/computer/message.dm @@ -126,7 +126,7 @@ break // Del - Sender - Recepient - Message // X - Al Green - Your Mom - WHAT UP!? - dat += "
X
[pda.sender][pda.recipient][pda.message][pda.photo ? " (Photo)":""]" + dat += "
X
[pda.sender][pda.recipient][pda.message][pda.photo ? "(Photo)":""]" dat += "" //Hacking screen. if(2) diff --git a/code/game/machinery/telecomms/machines/message_server.dm b/code/game/machinery/telecomms/machines/message_server.dm deleted file mode 100644 index e0e88cce65..0000000000 --- a/code/game/machinery/telecomms/machines/message_server.dm +++ /dev/null @@ -1,180 +0,0 @@ -/* - The equivalent of the server, for PDA and request console messages. - Without it, PDA and request console messages cannot be transmitted. - PDAs require the rest of the telecomms setup, but request consoles only - require the message server. -*/ - -// A decorational representation of SSblackbox, usually placed alongside the message server. -/obj/machinery/blackbox_recorder - icon = 'icons/obj/stationobjs.dmi' - icon_state = "blackbox" - name = "Blackbox Recorder" - density = TRUE - anchored = TRUE - use_power = IDLE_POWER_USE - idle_power_usage = 10 - active_power_usage = 100 - armor = list(melee = 25, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 70) - - -// The message server itself. -/obj/machinery/telecomms/message_server - icon = 'icons/obj/machines/research.dmi' - icon_state = "server" - name = "Messaging Server" - desc = "A machine that attempts to gather the secret knowledge of the universe." - density = TRUE - anchored = TRUE - use_power = IDLE_POWER_USE - idle_power_usage = 10 - active_power_usage = 100 - - id = "Messaging Server" - network = "tcommsat" - autolinkers = list("common") - - var/list/datum/data_pda_msg/pda_msgs = list() - var/list/datum/data_rc_msg/rc_msgs = list() - var/decryptkey - -/obj/machinery/telecomms/message_server/Initialize() - . = ..() - if (!decryptkey) - decryptkey = GenerateKey() - pda_msgs += new /datum/data_pda_msg("System Administrator", "system", "This is an automated message. The messaging system is functioning correctly.") - -/obj/machinery/telecomms/message_server/proc/GenerateKey() - var/newKey - newKey += pick("the", "if", "of", "as", "in", "a", "you", "from", "to", "an", "too", "little", "snow", "dead", "drunk", "rosebud", "duck", "al", "le") - newKey += pick("diamond", "beer", "mushroom", "assistant", "clown", "captain", "twinkie", "security", "nuke", "small", "big", "escape", "yellow", "gloves", "monkey", "engine", "nuclear", "ai") - newKey += pick("1", "2", "3", "4", "5", "6", "7", "8", "9", "0") - return newKey - -/obj/machinery/telecomms/message_server/process() - if(toggled && (stat & (BROKEN|NOPOWER))) - toggled = FALSE - update_icon() - -/obj/machinery/telecomms/message_server/receive_information(datum/signal/subspace/pda/signal, obj/machinery/telecomms/machine_from) - // can't log non-PDA signals - if(!istype(signal) || !signal.data["message"] || !toggled) - return - - // log the signal - var/datum/data_pda_msg/M = new(signal.format_target(), "[signal.data["name"]] ([signal.data["job"]])", signal.data["message"], signal.data["photo"]) - pda_msgs += M - signal.logged = M - - // pass it along to either the hub or the broadcaster - if(!relay_information(signal, /obj/machinery/telecomms/hub)) - relay_information(signal, /obj/machinery/telecomms/broadcaster) - -/obj/machinery/telecomms/message_server/update_icon() - if((stat & (BROKEN|NOPOWER))) - icon_state = "server-nopower" - else if (!toggled) - icon_state = "server-off" - else - icon_state = "server-on" - - -// Repath for maps -/obj/machinery/message_server - parent_type = /obj/machinery/telecomms/message_server - - -// PDA signal datum -/datum/signal/subspace/pda - frequency = FREQ_COMMON - server_type = /obj/machinery/telecomms/message_server - var/datum/data_pda_msg/logged - -/datum/signal/subspace/pda/New(source, data) - src.source = source - src.data = data - var/turf/T = get_turf(source) - levels = list(T.z) - -/datum/signal/subspace/pda/copy() - var/datum/signal/subspace/pda/copy = new(source, data.Copy()) - copy.original = src - copy.levels = levels - return copy - -/datum/signal/subspace/pda/proc/format_target() - if (length(data["targets"]) > 1) - return "Everyone" - return data["targets"][1] - -/datum/signal/subspace/pda/proc/format_message() - if (logged && data["photo"]) - return "\"[data["message"]]\" (Photo)" - return "\"data["message"]\"" - -/datum/signal/subspace/pda/broadcast() - if (!logged) // Can only go through if a message server logs it - return - for (var/obj/item/device/pda/P in GLOB.PDAs) - if ("[P.owner] ([P.ownjob])" in data["targets"]) - P.receive_message(src) - - -// Log datums stored by the message server. -/datum/data_pda_msg - var/sender = "Unspecified" - var/recipient = "Unspecified" - var/message = "Blank" // transferred message - var/icon/photo // attached photo - -/datum/data_pda_msg/New(param_rec, param_sender, param_message, param_photo) - if(param_rec) - recipient = param_rec - if(param_sender) - sender = param_sender - if(param_message) - message = param_message - if(param_photo) - photo = param_photo - -/datum/data_pda_msg/Topic(href,href_list) - ..() - if(href_list["photo"]) - var/mob/M = usr - M << browse_rsc(photo, "pda_photo.png") - M << browse("PDA Photo" \ - + "" \ - + "" \ - + "", "window=pdaphoto;size=192x192") - onclose(M, "pdaphoto") - -/datum/data_rc_msg - var/rec_dpt = "Unspecified" // receiving department - var/send_dpt = "Unspecified" // sending department - var/message = "Blank" - var/stamp = "Unstamped" - var/id_auth = "Unauthenticated" - var/priority = "Normal" - -/datum/data_rc_msg/New(param_rec, param_sender, param_message, param_stamp, param_id_auth, param_priority) - if(param_rec) - rec_dpt = param_rec - if(param_sender) - send_dpt = param_sender - if(param_message) - message = param_message - if(param_stamp) - stamp = param_stamp - if(param_id_auth) - id_auth = param_id_auth - if(param_priority) - switch(param_priority) - if(1) - priority = "Normal" - if(2) - priority = "High" - if(3) - priority = "Extreme" - else - priority = "Undetermined" - From 19c35c63d6b0a91fa3906f4b2a0a6f86f2c7dc23 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sun, 31 Dec 2017 10:57:03 -0500 Subject: [PATCH 71/82] Merge pull request #33951 from AnturK/perspective_fix Fixes reset_perspective runtimes --- code/modules/mob/mob.dm | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index a818a01764..1bc7552c3f 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -254,24 +254,43 @@ return 0 +// reset_perspective(thing) set the eye to the thing (if it's equal to current default reset to mob perspective) +// reset_perspective() set eye to common default : mob on turf, loc otherwise /mob/proc/reset_perspective(atom/A) if(client) - if(ismovableatom(A)) - client.perspective = EYE_PERSPECTIVE - client.eye = A + if(A) + if(ismovableatom(A)) + //Set the the thing unless it's us + if(A != src) + client.perspective = EYE_PERSPECTIVE + client.eye = A + else + client.eye = client.mob + client.perspective = MOB_PERSPECTIVE + else if(isturf(A)) + //Set to the turf unless it's our current turf + if(A != loc) + client.perspective = EYE_PERSPECTIVE + client.eye = A + else + client.eye = client.mob + client.perspective = MOB_PERSPECTIVE + else + //Do nothing else - if(isturf(loc) && (!A || loc == A)) + //Reset to common defaults: mob if on turf, otherwise current loc + if(isturf(loc)) client.eye = client.mob client.perspective = MOB_PERSPECTIVE else client.perspective = EYE_PERSPECTIVE - client.eye = A + client.eye = loc return 1 /mob/living/reset_perspective(atom/A) if(..()) update_sight() - if(client.eye != src) + if(client.eye && client.eye != src) var/atom/AT = client.eye AT.get_remote_view_fullscreens(src) else From d0e5a38c290ece0bc5d2fc6612be5d884dcd6ed8 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sun, 31 Dec 2017 10:58:22 -0500 Subject: [PATCH 73/82] Merge pull request #33954 from jammer312/components_fix fixes component's dupe --- code/datums/components/_component.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/datums/components/_component.dm b/code/datums/components/_component.dm index fcd4651459..46ffc25643 100644 --- a/code/datums/components/_component.dm +++ b/code/datums/components/_component.dm @@ -205,13 +205,13 @@ new_comp = new nt(arglist(args)) if(!QDELETED(new_comp)) old_comp.InheritComponent(new_comp, TRUE) - qdel(new_comp) + QDEL_NULL(new_comp) if(COMPONENT_DUPE_HIGHLANDER) if(!new_comp) new_comp = new nt(arglist(args)) if(!QDELETED(new_comp)) new_comp.InheritComponent(old_comp, FALSE) - qdel(old_comp) + QDEL_NULL(old_comp) if(COMPONENT_DUPE_UNIQUE_PASSARGS) if(!new_comp) var/list/arguments = args.Copy(2) From 4e0efc64d599cb289668af99e24e69ce7df0a867 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sun, 31 Dec 2017 11:00:57 -0500 Subject: [PATCH 75/82] Merge pull request #33957 from ninjanomnom/helper-cleanup cleans up some behaviour for PlaceOnTop/Bottom --- code/game/turfs/ChangeTurf.dm | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/code/game/turfs/ChangeTurf.dm b/code/game/turfs/ChangeTurf.dm index 2f165d9a20..b3e542ca0f 100644 --- a/code/game/turfs/ChangeTurf.dm +++ b/code/game/turfs/ChangeTurf.dm @@ -119,27 +119,42 @@ // Take the input as baseturfs and put it underneath the current baseturfs // If fake_turf_type is provided and new_baseturfs is not the baseturfs list will be created identical to the turf type's // If both or just new_baseturfs is provided they will be inserted below the existing baseturfs -/turf/proc/PlaceOnBottom(turf/fake_turf_type, list/new_baseturfs) +/turf/proc/PlaceOnBottom(list/new_baseturfs, turf/fake_turf_type) if(fake_turf_type) if(!new_baseturfs) var/list/old_baseturfs = baseturfs.Copy() assemble_baseturfs(fake_turf_type) + if(!length(baseturfs)) + baseturfs = list(baseturfs) baseturfs += old_baseturfs return else if(!length(new_baseturfs)) new_baseturfs = list(new_baseturfs, fake_turf_type) else new_baseturfs += fake_turf_type + if(!length(baseturfs)) + baseturfs = list(baseturfs) baseturfs.Insert(1, new_baseturfs) // Make a new turf and put it on top -/turf/proc/PlaceOnTop(turf/fake_turf_type, list/new_baseturfs) - var/list/temp_baseturfs = list() - temp_baseturfs += baseturfs // Doesn't matter if baseturfs is a list or single item, either will get added correctly - temp_baseturfs += type - if(new_baseturfs) - temp_baseturfs += new_baseturfs - return ChangeTurf(fake_turf_type, temp_baseturfs) +// The args behave identical to PlaceOnBottom except they go on top +/turf/proc/PlaceOnTop(list/new_baseturfs, turf/fake_turf_type) + if(fake_turf_type) + if(!new_baseturfs) + var/list/old_baseturfs = baseturfs.Copy() + assemble_baseturfs(fake_turf_type) + if(!length(baseturfs)) + baseturfs = list(baseturfs) + baseturfs.Insert(1, old_baseturfs) + return + else if(!length(new_baseturfs)) + new_baseturfs = list(new_baseturfs, fake_turf_type) + else + new_baseturfs += fake_turf_type + if(!length(baseturfs)) + baseturfs = list(baseturfs) + baseturfs += new_baseturfs + // Copy an existing turf and put it on top /turf/proc/CopyOnTop(turf/copytarget, ignore_bottom=1, depth=INFINITY) // x, 1, 0 From 54032f9c6d9c124266ebeadfe7119f1d3f12f16a Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sun, 31 Dec 2017 11:02:40 -0500 Subject: [PATCH 77/82] Merge pull request #33960 from ShizCalev/flamer Corrects flamethrower capitalization --- code/game/objects/items/flamethrower.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/flamethrower.dm b/code/game/objects/items/flamethrower.dm index 3a351a6514..8cc6d6b179 100644 --- a/code/game/objects/items/flamethrower.dm +++ b/code/game/objects/items/flamethrower.dm @@ -233,7 +233,7 @@ /obj/item/flamethrower/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) var/obj/item/projectile/P = hitby if(damage && attack_type == PROJECTILE_ATTACK && P.damage_type != STAMINA && prob(15)) - owner.visible_message("[attack_text] hits the fueltank on [owner]'s [src], rupturing it! What a shot!") + owner.visible_message("\The [attack_text] hits the fueltank on [owner]'s [name], rupturing it! What a shot!") var/target_turf = get_turf(owner) igniter.ignite_turf(src,target_turf, release_amount = 100) qdel(ptank) From 2c350fcb6cfa399b75620a1951167efebc6c84bf Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sun, 31 Dec 2017 15:25:56 -0500 Subject: [PATCH 79/82] Autotag .github => GitHub (#33965) --- tools/WebhookProcessor/github_webhook_processor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/WebhookProcessor/github_webhook_processor.php b/tools/WebhookProcessor/github_webhook_processor.php index a97b9db1c2..e6956dfb85 100644 --- a/tools/WebhookProcessor/github_webhook_processor.php +++ b/tools/WebhookProcessor/github_webhook_processor.php @@ -220,7 +220,7 @@ function tag_pr($payload, $opened) { else if ($mergeable === FALSE) $tags[] = 'Merge Conflict'; - $treetags = array('_maps' => 'Map Edit', 'tools' => 'Tools', 'SQL' => 'SQL'); + $treetags = array('_maps' => 'Map Edit', 'tools' => 'Tools', 'SQL' => 'SQL', '.github' => 'GitHub'); $addonlytags = array('icons' => 'Sprites', 'sound' => 'Sound', 'config' => 'Config Update', 'code/controllers/configuration/entries' => 'Config Update', 'tgui' => 'UI'); foreach($treetags as $tree => $tag) if(has_tree_been_edited($payload, $tree)) From a881de18b9d054496f72b56fda196bd2b87361a4 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 1 Jan 2018 04:25:40 -0600 Subject: [PATCH 81/82] Automatic changelog generation for PR #4596 [ci skip] --- html/changelogs/AutoChangeLog-pr-4596.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4596.yml diff --git a/html/changelogs/AutoChangeLog-pr-4596.yml b/html/changelogs/AutoChangeLog-pr-4596.yml new file mode 100644 index 0000000000..17bb98f350 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4596.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - tweak: "Burial jumpsuits no longer have suit sensors" From 0fbe251dfe554baa8ebc6dafe30c5be28f730fcc Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 1 Jan 2018 04:26:36 -0600 Subject: [PATCH 82/82] Automatic changelog generation for PR #4599 [ci skip] --- html/changelogs/AutoChangeLog-pr-4599.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4599.yml diff --git a/html/changelogs/AutoChangeLog-pr-4599.yml b/html/changelogs/AutoChangeLog-pr-4599.yml new file mode 100644 index 0000000000..a458b7dcf2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4599.yml @@ -0,0 +1,4 @@ +author: "Cebutris" +delete-after: True +changes: + - bugfix: "Holoparasite injectors can no longer be discounted"