diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 833ca217ea4..297a0514932 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -83,15 +83,15 @@ /turf/simulated/floor/plating, /area/security/main) "acj" = ( +/mob/living/simple_animal/bot/secbot/armsky{ + auto_patrol = 1 + }, /obj/effect/decal/warning_stripes/north, /obj/effect/decal/warning_stripes/south, /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=Armory_South"; location = "Armory_North" }, -/mob/living/simple_animal/bot/secbot/armsky{ - auto_patrol = 1 - }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -1685,17 +1685,6 @@ icon_state = "whiteblue" }, /area/security/medbay) -"agd" = ( -/obj/docking_port/stationary{ - dir = 2; - dwidth = 2; - height = 18; - id = "skipjack_ne"; - name = "northeast of SS13"; - width = 19 - }, -/turf/space, -/area/space) "agj" = ( /obj/effect/spawner/window/reinforced, /obj/structure/cable{ @@ -3661,9 +3650,7 @@ /area/security/hos) "akL" = ( /obj/structure/chair/stool, -/turf/simulated/floor/plasteel{ - icon_state = "floorgrime" - }, +/turf/simulated/floor/transparent/glass, /area/security/permabrig) "akM" = ( /obj/structure/cable{ @@ -9623,7 +9610,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/turf/simulated/floor/mineral/titanium/blue, +/turf/simulated/floor/transparent/glass/titanium, /area/shuttle/pod_3) "avq" = ( /turf/simulated/floor/plating, @@ -9662,7 +9649,7 @@ id_tag = "s_docking_airlock"; name = "Escape Pod Hatch" }, -/turf/simulated/floor/mineral/titanium/blue, +/turf/simulated/floor/transparent/glass/titanium, /area/shuttle/pod_3) "avu" = ( /obj/machinery/status_display{ @@ -9673,7 +9660,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/turf/simulated/floor/mineral/titanium/blue, +/turf/simulated/floor/transparent/glass/titanium, /area/shuttle/pod_3) "avw" = ( /obj/effect/spawner/window/shuttle, @@ -13052,6 +13039,7 @@ /turf/simulated/floor/carpet, /area/magistrateoffice) "aCo" = ( +/mob/living/simple_animal/bot/secbot/beepsky, /obj/structure/cable{ d1 = 1; d2 = 2; @@ -13062,7 +13050,6 @@ dir = 4; initialize_directions = 11 }, -/mob/living/simple_animal/bot/secbot/beepsky, /turf/simulated/floor/plasteel, /area/hallway/primary/fore) "aCp" = ( @@ -16725,7 +16712,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 1 }, -/turf/simulated/floor/mineral/titanium/blue, +/turf/simulated/floor/transparent/glass/titanium, /area/shuttle/pod_1) "aLc" = ( /obj/structure/closet, @@ -16746,7 +16733,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 1 }, -/turf/simulated/floor/mineral/titanium/blue, +/turf/simulated/floor/transparent/glass/titanium, /area/shuttle/pod_2) "aLg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -17356,7 +17343,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 1 }, -/turf/simulated/floor/mineral/titanium/blue, +/turf/simulated/floor/transparent/glass/titanium, /area/shuttle/pod_1) "aMq" = ( /turf/simulated/wall, @@ -17375,7 +17362,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 1 }, -/turf/simulated/floor/mineral/titanium/blue, +/turf/simulated/floor/transparent/glass/titanium, /area/shuttle/pod_2) "aMu" = ( /obj/effect/spawner/window/reinforced, @@ -17769,7 +17756,7 @@ id_tag = "s_docking_airlock"; name = "Escape Pod Hatch" }, -/turf/simulated/floor/mineral/titanium/blue, +/turf/simulated/floor/transparent/glass/titanium, /area/shuttle/pod_1) "aNu" = ( /obj/effect/decal/warning_stripes/yellow/hollow, @@ -17796,7 +17783,7 @@ id_tag = "s_docking_airlock"; name = "Escape Pod Hatch" }, -/turf/simulated/floor/mineral/titanium/blue, +/turf/simulated/floor/transparent/glass/titanium, /area/shuttle/pod_2) "aNz" = ( /obj/machinery/access_button{ @@ -20256,14 +20243,10 @@ /area/hallway/primary/starboard/east) "aSW" = ( /obj/structure/chair/comfy/beige, -/turf/simulated/floor/plasteel{ - icon_state = "grimy" - }, +/turf/simulated/floor/transparent/glass, /area/hallway/secondary/entry) "aSX" = ( -/turf/simulated/floor/plasteel{ - icon_state = "grimy" - }, +/turf/simulated/floor/transparent/glass, /area/hallway/secondary/entry) "aSY" = ( /obj/structure/table/wood, @@ -20271,9 +20254,7 @@ pixel_x = 1; pixel_y = 5 }, -/turf/simulated/floor/plasteel{ - icon_state = "grimy" - }, +/turf/simulated/floor/transparent/glass, /area/hallway/secondary/entry) "aSZ" = ( /obj/item/radio/intercom{ @@ -22710,10 +22691,10 @@ }, /area/crew_quarters/bar) "aYe" = ( +/mob/living/carbon/human/monkey/punpun, /obj/structure/disposalpipe/segment{ dir = 4 }, -/mob/living/carbon/human/monkey/punpun, /turf/simulated/floor/plasteel{ icon_state = "grimy" }, @@ -22892,10 +22873,7 @@ /obj/item/pen/multi, /obj/item/paper_bin/nanotrasen, /obj/item/paper/tcommskey, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "neutralfull" - }, +/turf/simulated/floor/transparent/glass/reinforced, /area/engine/chiefs_office) "aYu" = ( /obj/effect/decal/warning_stripes/west, @@ -23412,10 +23390,7 @@ /area/crew_quarters/dorms) "aZB" = ( /obj/machinery/computer/card/minor/ce, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "neutralfull" - }, +/turf/simulated/floor/transparent/glass/reinforced, /area/engine/chiefs_office) "aZC" = ( /obj/effect/decal/warning_stripes/white/hollow, @@ -24213,7 +24188,7 @@ /obj/effect/landmark/start{ name = "Civilian" }, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/transparent/glass/plasma, /area/storage/primary) "bbn" = ( /obj/structure/window/reinforced, @@ -26803,7 +26778,7 @@ /obj/structure/table/wood, /obj/item/reagent_containers/food/snacks/chips, /obj/item/reagent_containers/food/drinks/cans/cola, -/turf/simulated/floor/carpet, +/turf/simulated/floor/transparent/glass, /area/hallway/secondary/entry) "bgk" = ( /obj/machinery/door/firedoor, @@ -26888,9 +26863,7 @@ "bgt" = ( /obj/structure/table/wood, /obj/item/deck/cards, -/turf/simulated/floor/plasteel{ - icon_state = "grimy" - }, +/turf/simulated/floor/transparent/glass, /area/hallway/secondary/entry) "bgu" = ( /obj/structure/cable{ @@ -27262,9 +27235,6 @@ /obj/structure/table, /turf/simulated/floor/plating, /area/maintenance/fsmaint2) -"bhm" = ( -/turf/simulated/floor/carpet, -/area/hallway/secondary/entry) "bhn" = ( /obj/item/stack/sheet/metal{ amount = 10 @@ -27355,9 +27325,7 @@ /obj/structure/chair/comfy/beige{ dir = 8 }, -/turf/simulated/floor/plasteel{ - icon_state = "grimy" - }, +/turf/simulated/floor/transparent/glass, /area/hallway/secondary/entry) "bhw" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -28510,7 +28478,7 @@ /area/hydroponics) "bjO" = ( /obj/structure/table/wood, -/turf/simulated/floor/carpet, +/turf/simulated/floor/transparent/glass, /area/hallway/secondary/entry) "bjP" = ( /obj/structure/disposalpipe/segment{ @@ -28645,9 +28613,7 @@ pixel_x = 4; pixel_y = 2 }, -/turf/simulated/floor/plasteel{ - icon_state = "grimy" - }, +/turf/simulated/floor/transparent/glass, /area/hallway/secondary/entry) "bkd" = ( /obj/machinery/vending/cola, @@ -29749,9 +29715,7 @@ /obj/structure/chair/comfy/beige{ dir = 1 }, -/turf/simulated/floor/plasteel{ - icon_state = "grimy" - }, +/turf/simulated/floor/transparent/glass, /area/hallway/secondary/entry) "bmp" = ( /obj/structure/chair/stool, @@ -30459,17 +30423,11 @@ /area/bridge) "bnX" = ( /obj/machinery/computer/communications, -/turf/simulated/floor/plasteel{ - dir = 0; - icon_state = "blue" - }, +/turf/simulated/floor/transparent/glass/reinforced, /area/bridge) "bnY" = ( /obj/machinery/computer/shuttle/labor, -/turf/simulated/floor/plasteel{ - dir = 10; - icon_state = "blue" - }, +/turf/simulated/floor/transparent/glass/reinforced, /area/bridge) "bnZ" = ( /obj/structure/closet/emcloset, @@ -30484,10 +30442,7 @@ /area/hallway/secondary/exit) "boa" = ( /obj/machinery/computer/shuttle/mining, -/turf/simulated/floor/plasteel{ - dir = 6; - icon_state = "blue" - }, +/turf/simulated/floor/transparent/glass/reinforced, /area/bridge) "bob" = ( /obj/machinery/alarm{ @@ -31144,10 +31099,7 @@ /obj/item/book/manual/sop_command, /obj/item/aicard, /obj/item/multitool, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "blue" - }, +/turf/simulated/floor/transparent/glass/reinforced, /area/bridge) "bpv" = ( /obj/structure/cable{ @@ -31191,10 +31143,7 @@ pixel_x = -6; pixel_y = 8 }, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "blue" - }, +/turf/simulated/floor/transparent/glass/reinforced, /area/bridge) "bpx" = ( /obj/structure/cable{ @@ -31819,18 +31768,6 @@ icon_state = "chapel" }, /area/chapel/main) -"bqU" = ( -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "bluecorner" - }, -/area/bridge) -"bqV" = ( -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "bluecorner" - }, -/area/bridge) "bqW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel{ @@ -31844,7 +31781,7 @@ icon_state = "1-2"; tag = "" }, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/transparent/glass/reinforced, /area/bridge) "bqY" = ( /obj/structure/table/reinforced, @@ -32434,7 +32371,7 @@ /obj/effect/landmark{ name = "Marauder Entry" }, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/transparent/glass/reinforced, /area/bridge) "bsz" = ( /obj/machinery/hologram/holopad, @@ -32481,7 +32418,7 @@ icon_state = "4-8"; tag = "" }, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/transparent/glass/reinforced, /area/bridge) "bsD" = ( /turf/simulated/floor/plating, @@ -33722,7 +33659,7 @@ /obj/effect/landmark{ name = "Marauder Entry" }, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/transparent/glass/reinforced, /area/bridge) "bvD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -34552,9 +34489,7 @@ /area/bridge) "bxo" = ( /obj/machinery/porta_turret, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/transparent/glass/plasma, /area/turret_protected/ai_upload) "bxp" = ( /obj/machinery/ai_status_display{ @@ -35376,14 +35311,10 @@ "byO" = ( /obj/structure/table, /obj/item/aiModule/reset, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/transparent/glass/plasma, /area/turret_protected/ai_upload) "byP" = ( -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/transparent/glass/reinforced/plasma, /area/turret_protected/ai_upload) "byQ" = ( /obj/structure/cable{ @@ -35911,9 +35842,7 @@ "bzT" = ( /obj/structure/table, /obj/item/aiModule/crewsimov, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/transparent/glass/plasma, /area/turret_protected/ai_upload) "bzU" = ( /obj/machinery/status_display{ @@ -35942,9 +35871,7 @@ icon_state = "1-2"; tag = "" }, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/transparent/glass/reinforced/plasma, /area/turret_protected/ai_upload) "bzX" = ( /obj/structure/cable{ @@ -36571,9 +36498,7 @@ /obj/machinery/porta_turret{ dir = 4 }, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/transparent/glass/plasma, /area/turret_protected/ai_upload) "bBz" = ( /obj/structure/cable{ @@ -36584,19 +36509,11 @@ }, /turf/simulated/floor/bluegrid, /area/turret_protected/ai_upload) -"bBA" = ( -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "vault" - }, -/area/turret_protected/ai_upload) "bBB" = ( /obj/machinery/porta_turret{ dir = 8 }, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/transparent/glass/plasma, /area/turret_protected/ai_upload) "bBC" = ( /obj/machinery/computer/arcade, @@ -36877,9 +36794,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/transparent/glass/reinforced/plasma, /area/turret_protected/ai_upload) "bCz" = ( /obj/item/stack/sheet/cardboard, @@ -36949,7 +36864,7 @@ /area/bridge/meeting_room) "bCH" = ( /obj/machinery/smartfridge/secure/circuits/aiupload/experimental, -/turf/simulated/floor/bluegrid, +/turf/simulated/floor/transparent/glass/plasma, /area/turret_protected/ai_upload) "bCI" = ( /obj/machinery/camera{ @@ -37426,11 +37341,11 @@ /turf/simulated/floor/plasteel, /area/hallway/primary/central/west) "bDP" = ( +/mob/living/simple_animal/mouse, /obj/structure/disposalpipe/segment{ dir = 4; icon_state = "pipe-c" }, -/mob/living/simple_animal/mouse, /turf/simulated/floor/plating, /area/maintenance/port) "bDQ" = ( @@ -37516,9 +37431,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/transparent/glass/reinforced/plasma, /area/turret_protected/ai_upload) "bDX" = ( /obj/effect/spawner/window/reinforced, @@ -37528,9 +37441,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/transparent/glass/reinforced/plasma, /area/turret_protected/ai_upload) "bDZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -37542,16 +37453,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/transparent/glass/reinforced/plasma, /area/turret_protected/ai_upload) "bEb" = ( /obj/structure/table, /obj/item/aiModule/nanotrasen, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/transparent/glass/plasma, /area/turret_protected/ai_upload) "bEc" = ( /obj/machinery/vending/cigarette, @@ -37604,7 +37511,7 @@ "bEh" = ( /obj/structure/table/wood, /obj/item/hand_tele, -/turf/simulated/floor/wood, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/captain) "bEi" = ( /obj/structure/closet/crate/medical, @@ -37844,7 +37751,7 @@ /obj/item/paper/safe_code{ owner = "captain" }, -/turf/simulated/floor/wood, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/captain) "bEV" = ( /obj/structure/chair/comfy/black, @@ -37919,9 +37826,7 @@ "bFe" = ( /obj/structure/table, /obj/item/aiModule/corp, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/transparent/glass/plasma, /area/turret_protected/ai_upload) "bFf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -38242,7 +38147,7 @@ /area/hydroponics) "bFK" = ( /obj/machinery/computer/communications, -/turf/simulated/floor/wood, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/captain) "bFL" = ( /obj/structure/table/wood, @@ -38251,7 +38156,7 @@ /obj/item/book/manual/sop_general, /obj/item/book/manual/sop_command, /obj/item/megaphone, -/turf/simulated/floor/wood, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/captain) "bFM" = ( /obj/structure/cable{ @@ -39027,17 +38932,13 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/transparent/glass/plasma, /area/turret_protected/ai_upload) "bHl" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/transparent/glass/plasma, /area/turret_protected/ai_upload) "bHm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -39143,7 +39044,7 @@ /area/maintenance/port) "bHw" = ( /obj/machinery/computer/card, -/turf/simulated/floor/wood, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/captain) "bHx" = ( /obj/structure/table/wood, @@ -39152,7 +39053,7 @@ }, /obj/item/melee/chainofcommand, /obj/item/card/id/captains_spare, -/turf/simulated/floor/wood, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/captain) "bHy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -39751,19 +39652,15 @@ dir = 1; pixel_y = -24 }, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/transparent/glass/plasma, /area/turret_protected/ai_upload) "bIM" = ( /obj/machinery/smartfridge/secure/circuits/aiupload/highrisk, -/turf/simulated/floor/bluegrid, +/turf/simulated/floor/transparent/glass/plasma, /area/turret_protected/ai_upload) "bIN" = ( /obj/machinery/light, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/transparent/glass/plasma, /area/turret_protected/ai_upload) "bIO" = ( /obj/structure/chair, @@ -40284,7 +40181,7 @@ /obj/item/stamp/captain, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/wood, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/captain) "bJL" = ( /obj/structure/chair/office/light{ @@ -40313,7 +40210,7 @@ pixel_x = -28 }, /obj/item/paper_bin/nanotrasen, -/turf/simulated/floor/wood, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/captain) "bJO" = ( /obj/structure/disposalpipe/segment{ @@ -40801,14 +40698,14 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/wood, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/captain) "bKM" = ( /obj/structure/filingcabinet, /obj/item/radio/intercom/private{ pixel_x = -28 }, -/turf/simulated/floor/wood, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/captain) "bKN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -40970,7 +40867,7 @@ /area/crew_quarters/captain/bedroom) "bLe" = ( /obj/machinery/suit_storage_unit/captain, -/turf/simulated/floor/wood, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/captain) "bLf" = ( /obj/machinery/atmospherics/unary/vent_pump/on, @@ -41032,13 +40929,13 @@ /turf/simulated/floor/plasteel, /area/assembly/chargebay) "bLn" = ( +/mob/living/simple_animal/pig, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/mob/living/simple_animal/pig, /turf/simulated/floor/grass, /area/hydroponics) "bLo" = ( @@ -41749,7 +41646,7 @@ dir = 8; initialize_directions = 11 }, -/turf/simulated/floor/wood, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/captain) "bMM" = ( /obj/structure/rack{ @@ -41767,7 +41664,7 @@ /obj/machinery/photocopier/faxmachine/longrange{ department = "Captain's Office" }, -/turf/simulated/floor/wood, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/captain) "bMO" = ( /obj/machinery/door/window{ @@ -41795,7 +41692,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/turf/simulated/floor/wood, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/captain) "bMP" = ( /obj/machinery/keycard_auth{ @@ -41813,7 +41710,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/turf/simulated/floor/wood, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/captain) "bMQ" = ( /obj/structure/cable{ @@ -43152,8 +43049,8 @@ /turf/simulated/floor/plasteel, /area/assembly/robotics) "bPb" = ( -/obj/machinery/atmospherics/unary/vent_pump/on, /mob/living/simple_animal/pet/dog/corgi/borgi, +/obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -44427,16 +44324,16 @@ }, /area/medical/research) "bRo" = ( +/mob/living/simple_animal/bot/mulebot{ + home_destination = "QM #1"; + suffix = "#1" + }, /obj/machinery/navbeacon{ codes_txt = "delivery"; dir = 8; location = "QM #1" }, /obj/effect/decal/warning_stripes/yellow/hollow, -/mob/living/simple_animal/bot/mulebot{ - home_destination = "QM #1"; - suffix = "#1" - }, /turf/simulated/floor/plasteel, /area/quartermaster/storage) "bRp" = ( @@ -44686,16 +44583,16 @@ /turf/simulated/floor/plating, /area/hallway/primary/central/sw) "bRW" = ( +/mob/living/simple_animal/bot/mulebot{ + home_destination = "QM #2"; + suffix = "#2" + }, /obj/machinery/navbeacon{ codes_txt = "delivery"; dir = 8; location = "QM #2" }, /obj/effect/decal/warning_stripes/yellow/hollow, -/mob/living/simple_animal/bot/mulebot{ - home_destination = "QM #2"; - suffix = "#2" - }, /turf/simulated/floor/plasteel, /area/quartermaster/storage) "bRX" = ( @@ -45355,6 +45252,7 @@ /turf/simulated/floor/plasteel, /area/crew_quarters/heads) "bTd" = ( +/mob/living/simple_animal/pet/dog/corgi/Ian, /obj/structure/cable{ d2 = 4; icon_state = "0-4" @@ -45365,7 +45263,6 @@ pixel_y = 24 }, /obj/structure/bed/dogbed/ian, -/mob/living/simple_animal/pet/dog/corgi/Ian, /turf/simulated/floor/plasteel, /area/crew_quarters/heads) "bTe" = ( @@ -46425,9 +46322,7 @@ pixel_y = 4 }, /obj/effect/decal/warning_stripes/west, -/turf/simulated/floor/plasteel{ - icon_state = "white" - }, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/hor) "bVp" = ( /obj/machinery/navbeacon{ @@ -46490,7 +46385,7 @@ /turf/simulated/floor/plasteel, /area/crew_quarters/heads) "bVv" = ( -/turf/simulated/floor/plasteel, +/turf/simulated/floor/transparent/glass, /area/crew_quarters/heads) "bVw" = ( /obj/structure/disposalpipe/segment, @@ -46523,7 +46418,7 @@ /obj/item/pen/multi, /obj/item/pen/multi, /obj/item/megaphone, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/transparent/glass, /area/crew_quarters/heads) "bVz" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -46642,11 +46537,11 @@ /turf/simulated/floor/plasteel, /area/escapepodbay) "bVJ" = ( +/mob/living/simple_animal/pet/sloth/paperwork, /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/mob/living/simple_animal/pet/sloth/paperwork, /turf/simulated/floor/plasteel, /area/quartermaster/office) "bVK" = ( @@ -47331,7 +47226,7 @@ /obj/effect/landmark/start{ name = "Head of Personnel" }, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/transparent/glass, /area/crew_quarters/heads) "bWZ" = ( /obj/structure/table, @@ -47342,13 +47237,13 @@ /obj/item/book/manual/sop_supply, /obj/item/book/manual/sop_command, /obj/item/paper_bin/nanotrasen, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/transparent/glass, /area/crew_quarters/heads) "bXa" = ( /obj/structure/chair{ dir = 8 }, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/transparent/glass, /area/crew_quarters/heads) "bXb" = ( /obj/machinery/computer/security/mining, @@ -47475,7 +47370,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/transparent/glass, /area/crew_quarters/heads) "bXq" = ( /obj/machinery/status_display{ @@ -48170,24 +48065,18 @@ }, /obj/machinery/computer/card/minor/rd, /obj/effect/decal/warning_stripes/east, -/turf/simulated/floor/plasteel{ - icon_state = "white" - }, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/hor) "bYA" = ( /obj/structure/rack, /obj/item/aicard, /obj/effect/decal/warning_stripes/west, -/turf/simulated/floor/plasteel{ - icon_state = "white" - }, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/hor) "bYB" = ( /obj/structure/displaycase/labcage, /obj/effect/decal/warning_stripes/east, -/turf/simulated/floor/plasteel{ - icon_state = "white" - }, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/hor) "bYC" = ( /obj/structure/table, @@ -48365,7 +48254,7 @@ dir = 1 }, /obj/item/twohanded/required/kirbyplants, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/transparent/glass, /area/crew_quarters/heads) "bYT" = ( /obj/structure/filingcabinet/chestdrawer, @@ -48399,7 +48288,7 @@ /obj/machinery/photocopier/faxmachine/longrange{ department = "Head of Personnel's Office" }, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/transparent/glass, /area/crew_quarters/heads) "bYW" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ @@ -49175,9 +49064,7 @@ /obj/machinery/light{ dir = 1 }, -/turf/simulated/floor/plasteel{ - icon_state = "white" - }, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/hor) "bZX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -49319,11 +49206,11 @@ /area/quartermaster/qm) "cap" = ( /obj/machinery/computer/supplycomp, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/transparent/glass, /area/quartermaster/qm) "caq" = ( /obj/machinery/computer/security/mining, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/transparent/glass, /area/quartermaster/qm) "cas" = ( /obj/structure/disposalpipe/segment, @@ -49691,9 +49578,7 @@ /obj/effect/landmark/start{ name = "Chief Medical Officer" }, -/turf/simulated/floor/plasteel{ - icon_state = "darkbluecorners" - }, +/turf/simulated/floor/transparent/glass, /area/medical/cmo) "caU" = ( /obj/effect/spawner/window/reinforced, @@ -50107,7 +49992,7 @@ /obj/effect/landmark/start{ name = "Quartermaster" }, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/transparent/glass, /area/quartermaster/qm) "cbM" = ( /turf/simulated/floor/plasteel, @@ -50727,10 +50612,7 @@ d2 = 2; icon_state = "1-2" }, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "darkblue" - }, +/turf/simulated/floor/transparent/glass, /area/medical/cmo) "ccI" = ( /obj/effect/decal/cleanable/dirt, @@ -51046,9 +50928,7 @@ pixel_x = 4 }, /obj/effect/decal/warning_stripes/southwest, -/turf/simulated/floor/plasteel{ - icon_state = "white" - }, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/hor) "cdj" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -51064,9 +50944,7 @@ }, /obj/structure/filingcabinet/chestdrawer, /obj/effect/decal/warning_stripes/southeast, -/turf/simulated/floor/plasteel{ - icon_state = "white" - }, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/hor) "cdn" = ( /obj/structure/cable{ @@ -51195,7 +51073,7 @@ pixel_x = 2; pixel_y = 6 }, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/transparent/glass, /area/quartermaster/qm) "cdE" = ( /obj/structure/disposalpipe/segment, @@ -51272,9 +51150,7 @@ /area/hallway/primary/central/south) "cdO" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, -/turf/simulated/floor/plasteel{ - icon_state = "white" - }, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/hor) "cdP" = ( /obj/structure/cable{ @@ -51299,7 +51175,7 @@ /area/quartermaster/qm) "cdR" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/transparent/glass, /area/quartermaster/qm) "cdS" = ( /obj/structure/cable{ @@ -51467,20 +51343,14 @@ d2 = 2; icon_state = "1-2" }, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "darkblue" - }, +/turf/simulated/floor/transparent/glass, /area/medical/cmo) "cel" = ( /obj/structure/chair{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "darkblue" - }, +/turf/simulated/floor/transparent/glass, /area/medical/cmo) "cem" = ( /obj/structure/table/glass, @@ -51742,9 +51612,7 @@ /area/ntrep) "ceQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/plasteel{ - icon_state = "white" - }, +/turf/simulated/floor/transparent/glass/reinforced, /area/crew_quarters/hor) "ceS" = ( /obj/machinery/alarm{ @@ -51816,7 +51684,7 @@ pixel_y = -4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/transparent/glass, /area/quartermaster/qm) "cff" = ( /obj/machinery/computer/security/mining, @@ -52337,6 +52205,7 @@ /turf/simulated/floor/plasteel, /area/hallway/primary/central/sw) "cfU" = ( +/mob/living/simple_animal/pet/cat/Runtime, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, @@ -52351,7 +52220,6 @@ d2 = 8; icon_state = "1-8" }, -/mob/living/simple_animal/pet/cat/Runtime, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "darkbluecorners" @@ -54294,10 +54162,7 @@ req_access_txt = "40" }, /obj/machinery/atmospherics/unary/vent_pump/on, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "darkbluecorners" - }, +/turf/simulated/floor/transparent/glass, /area/medical/cmo) "cjG" = ( /turf/simulated/floor/engine, @@ -54970,10 +54835,7 @@ /obj/structure/table/glass, /obj/machinery/computer/med_data/laptop, /obj/machinery/atmospherics/unary/vent_scrubber/on, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "darkblue" - }, +/turf/simulated/floor/transparent/glass, /area/medical/cmo) "clc" = ( /obj/machinery/bodyscanner, @@ -55027,10 +54889,10 @@ }, /area/medical/surgery2) "clg" = ( +/mob/living/simple_animal/mouse/white, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/mob/living/simple_animal/mouse/white, /turf/simulated/floor/plasteel, /area/toxins/storage) "clh" = ( @@ -62701,13 +62563,13 @@ /turf/simulated/floor/plating, /area/maintenance/asmaint) "czc" = ( +/mob/living/simple_animal/mouse, /obj/structure/cable{ d1 = 4; d2 = 8; icon_state = "4-8"; tag = "" }, -/mob/living/simple_animal/mouse, /turf/simulated/floor/plating, /area/maintenance/asmaint2) "czd" = ( @@ -63006,8 +62868,8 @@ /turf/simulated/wall/r_wall, /area/maintenance/incinerator) "czG" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on, /mob/living/carbon/human/monkey, +/obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/plasteel{ icon_state = "whitegreenfull" }, @@ -63382,6 +63244,7 @@ }, /area/medical/virology) "cAr" = ( +/mob/living/carbon/human/monkey, /obj/structure/disposalpipe/segment{ dir = 4; icon_state = "pipe-c" @@ -63389,7 +63252,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, -/mob/living/carbon/human/monkey, /turf/simulated/floor/plasteel{ icon_state = "whitegreenfull" }, @@ -63683,10 +63545,10 @@ /turf/simulated/wall/r_wall, /area/maintenance/incinerator) "cAY" = ( +/mob/living/carbon/human/monkey, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/mob/living/carbon/human/monkey, /turf/simulated/floor/plasteel{ icon_state = "whitegreenfull" }, @@ -64477,12 +64339,12 @@ /turf/simulated/floor/plating, /area/maintenance/consarea) "cCB" = ( +/mob/living/simple_animal/mouse, /obj/effect/landmark{ name = "xeno_spawn"; pixel_x = -1 }, /obj/machinery/hologram/holopad, -/mob/living/simple_animal/mouse, /turf/simulated/floor/plasteel{ icon_state = "floorgrime" }, @@ -66906,10 +66768,7 @@ d2 = 8; icon_state = "4-8" }, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "neutralfull" - }, +/turf/simulated/floor/transparent/glass/reinforced, /area/engine/chiefs_office) "cGZ" = ( /obj/machinery/hologram/holopad, @@ -66968,10 +66827,7 @@ d2 = 8; icon_state = "4-8" }, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "neutralfull" - }, +/turf/simulated/floor/transparent/glass/reinforced, /area/engine/chiefs_office) "cHc" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -69587,11 +69443,11 @@ /turf/simulated/floor/plating, /area/maintenance/asmaint) "cMg" = ( +/mob/living/simple_animal/slime, /obj/effect/landmark{ name = "revenantspawn" }, -/mob/living/simple_animal/slime, -/turf/simulated/floor/engine, +/turf/simulated/floor/transparent/glass/reinforced/plasma, /area/toxins/xenobiology) "cMh" = ( /obj/structure/closet, @@ -70195,7 +70051,7 @@ /area/toxins/xenobiology) "cNu" = ( /obj/item/radio/beacon, -/turf/simulated/floor/engine, +/turf/simulated/floor/transparent/glass/reinforced/plasma, /area/toxins/test_chamber) "cNv" = ( /obj/structure/disposaloutlet{ @@ -70614,6 +70470,7 @@ }, /area/toxins/xenobiology) "cOq" = ( +/mob/living/simple_animal/mouse, /obj/structure/cable{ d1 = 1; d2 = 2; @@ -70622,7 +70479,6 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/mob/living/simple_animal/mouse, /turf/simulated/floor/plating, /area/maintenance/aft) "cOr" = ( @@ -71776,10 +71632,7 @@ pixel_y = 37; req_access_txt = "56" }, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "neutralfull" - }, +/turf/simulated/floor/transparent/glass/reinforced, /area/engine/chiefs_office) "cQJ" = ( /obj/effect/decal/warning_stripes/east, @@ -72794,10 +72647,7 @@ d2 = 2; icon_state = "1-2" }, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "neutralfull" - }, +/turf/simulated/floor/transparent/glass/reinforced, /area/engine/chiefs_office) "cSH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -72808,7 +72658,7 @@ }, /area/toxins/xenobiology) "cSI" = ( -/turf/simulated/floor/engine, +/turf/simulated/floor/transparent/glass/reinforced/plasma, /area/engine/supermatter) "cSJ" = ( /obj/structure/cable{ @@ -73740,6 +73590,7 @@ /turf/simulated/floor/plasteel, /area/engine/equipmentstorage) "cUu" = ( +/mob/living/simple_animal/parrot/Poly, /obj/machinery/keycard_auth{ pixel_y = 24 }, @@ -73764,7 +73615,6 @@ }, /obj/item/megaphone, /obj/item/lock_buster, -/mob/living/simple_animal/parrot/Poly, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "neutralfull" @@ -73775,10 +73625,7 @@ /turf/simulated/floor/plasteel, /area/engine/equipmentstorage) "cUw" = ( -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "neutralfull" - }, +/turf/simulated/floor/transparent/glass/reinforced, /area/engine/chiefs_office) "cUx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -73788,10 +73635,7 @@ /area/atmos) "cUy" = ( /obj/machinery/computer/atmos_alert, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "neutralfull" - }, +/turf/simulated/floor/transparent/glass/reinforced, /area/engine/chiefs_office) "cUz" = ( /obj/machinery/atmospherics/pipe/simple/visible/cyan{ @@ -77990,11 +77834,11 @@ /turf/simulated/floor/plasteel, /area/maintenance/turbine) "dev" = ( +/mob/living/simple_animal/mouse, /obj/effect/landmark{ name = "blobstart" }, /obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/mouse, /turf/simulated/floor/plasteel, /area/maintenance/turbine) "dew" = ( @@ -78647,8 +78491,8 @@ /turf/simulated/floor/plasteel, /area/atmos) "dfL" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /mob/living/simple_animal/mouse, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, /area/maintenance/asmaint) "dfM" = ( @@ -79148,9 +78992,7 @@ dir = 4 }, /obj/machinery/meter, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/transparent/glass/reinforced/plasma, /area/engine/engineering) "dhw" = ( /obj/machinery/door/airlock{ @@ -82159,10 +82001,10 @@ /turf/simulated/floor/grass, /area/hydroponics) "dnE" = ( -/obj/machinery/hydroponics/soil, /mob/living/simple_animal/chicken{ name = "Commander Clucky" }, +/obj/machinery/hydroponics/soil, /turf/simulated/floor/grass, /area/hydroponics) "dnF" = ( @@ -82667,7 +82509,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/turf/simulated/floor/mineral/titanium/blue, +/turf/simulated/floor/transparent/glass/titanium, /area/shuttle/pod_4) "doK" = ( /obj/machinery/light, @@ -82685,7 +82527,7 @@ id_tag = "s_docking_airlock"; name = "Escape Pod Hatch" }, -/turf/simulated/floor/mineral/titanium/blue, +/turf/simulated/floor/transparent/glass/titanium, /area/shuttle/pod_4) "doM" = ( /obj/machinery/status_display{ @@ -82696,7 +82538,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/turf/simulated/floor/mineral/titanium/blue, +/turf/simulated/floor/transparent/glass/titanium, /area/shuttle/pod_4) "doN" = ( /obj/machinery/computer/station_alert, @@ -83655,10 +83497,7 @@ d2 = 4; icon_state = "2-4" }, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "neutralfull" - }, +/turf/simulated/floor/transparent/glass/reinforced, /area/engine/chiefs_office) "dsU" = ( /obj/effect/decal/cleanable/blood/oil, @@ -83901,6 +83740,9 @@ }, /turf/simulated/floor/plating, /area/crew_quarters/dorms) +"dZg" = ( +/turf/simulated/floor/transparent/glass/reinforced, +/area/bridge) "edp" = ( /obj/machinery/power/terminal{ dir = 1 @@ -84047,6 +83889,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, /area/crew_quarters/dorms) +"eZt" = ( +/turf/simulated/floor/transparent/glass/reinforced/plasma, +/area/engine/engineering) "fdg" = ( /obj/structure/reflector/single{ anchored = 1; @@ -84104,9 +83949,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/transparent/glass/reinforced/plasma, /area/engine/engineering) "fKd" = ( /obj/effect/spawner/window/reinforced/plasma, @@ -84346,6 +84189,9 @@ }, /turf/simulated/floor/engine, /area/engine/engineering) +"hUH" = ( +/turf/simulated/floor/transparent/glass/reinforced/plasma, +/area/engine/mechanic_workshop) "idF" = ( /obj/effect/decal/warning_stripes/south, /obj/machinery/atmospherics/trinary/filter/flipped{ @@ -84451,6 +84297,12 @@ }, /turf/simulated/floor/plating, /area/toxins/mixing) +"iKv" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/transparent/glass/plasma, +/area/storage/primary) "iNz" = ( /obj/machinery/atmospherics/pipe/simple/insulated{ dir = 4 @@ -84700,6 +84552,9 @@ }, /turf/simulated/wall, /area/crew_quarters/dorms) +"kOn" = ( +/turf/simulated/floor/transparent/glass, +/area/security/permabrig) "kOE" = ( /obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{ dir = 4 @@ -84817,6 +84672,11 @@ }, /turf/simulated/wall/mineral/titanium, /area/shuttle/pod_3) +"lUw" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/transparent/glass/reinforced, +/area/crew_quarters/captain) "lVr" = ( /obj/machinery/atmospherics/pipe/simple/visible/supply{ dir = 10 @@ -85201,6 +85061,9 @@ }, /turf/space, /area/space/nearstation) +"qbz" = ( +/turf/simulated/floor/transparent/glass/plasma, +/area/storage/primary) "qcg" = ( /obj/structure/cable{ d1 = 4; @@ -85212,6 +85075,12 @@ }, /turf/simulated/floor/engine, /area/engine/engineering) +"qjh" = ( +/obj/effect/landmark{ + name = "revenantspawn" + }, +/turf/simulated/floor/transparent/glass/reinforced/plasma, +/area/toxins/xenobiology) "qmX" = ( /obj/effect/decal/warning_stripes/east, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ @@ -85494,13 +85363,14 @@ icon_state = "dark" }, /area/engine/engineering) +"teB" = ( +/turf/simulated/floor/transparent/glass/reinforced/plasma, +/area/toxins/test_chamber) "tky" = ( /obj/machinery/atmospherics/pipe/simple/visible{ dir = 4 }, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/transparent/glass/reinforced/plasma, /area/engine/engineering) "tlR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -85556,9 +85426,7 @@ "ubz" = ( /obj/structure/table, /obj/item/rpd, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/transparent/glass/reinforced/plasma, /area/engine/engineering) "ufc" = ( /obj/structure/cable{ @@ -85581,6 +85449,9 @@ }, /turf/space, /area/space/nearstation) +"uyi" = ( +/turf/simulated/floor/transparent/glass, +/area/security/hos) "uBJ" = ( /obj/effect/decal/warning_stripes/south, /obj/machinery/atmospherics/pipe/manifold/visible/red, @@ -85623,6 +85494,12 @@ }, /turf/simulated/floor/engine, /area/engine/engineering) +"uZc" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/simulated/floor/transparent/glass/reinforced, +/area/bridge) "uZx" = ( /obj/structure/cable{ d1 = 1; @@ -99701,8 +99578,8 @@ aUt aNu bhN aSX -bhm -bhm +aSX +aSX aSX brk bpF @@ -99958,8 +99835,8 @@ aIz aNu bhN aSW -bhm -bhm +aSX +aSX bmo brl bss @@ -103808,7 +103685,7 @@ aUy aVi aWn aXM -aXQ +qbz aXQ bde aVi @@ -104064,9 +103941,9 @@ aGn aUy aVi aWm -aXM -aXQ -aXQ +iKv +qbz +qbz bcT aVi bgz @@ -104321,8 +104198,8 @@ aGn aUy aVi aWo -aXM -aXQ +iKv +qbz bbm bdg aVi @@ -104579,7 +104456,7 @@ aUy aVi aWq aXM -aXQ +qbz aXQ bdh aVi @@ -104633,7 +104510,7 @@ czJ cBb cEW cFX -cFX +hUH cFX cEW ayi @@ -104890,7 +104767,7 @@ cCD cDO cEW cGe -cFX +hUH cIG cEW ayi @@ -105147,7 +105024,7 @@ cCC cwx cEW cFX -cFX +hUH cFX cEW cLi @@ -106605,15 +106482,15 @@ aab abN ajf akL -anf +kOn aqM abN asg avl abN ayx -anf -anf +kOn +kOn aBJ abN aDG @@ -106862,14 +106739,14 @@ aaa abN aji akL -ado +kOn abN abN atZ avo abN abN -anf +kOn akL aBL abN @@ -113841,8 +113718,8 @@ bkz kwt bnR bpo -bqS -bqS +dZg +dZg bxr bvX bvX @@ -114098,7 +113975,7 @@ bpv blY bnW bpt -bqS +dZg bsy bxA bvX @@ -114612,14 +114489,14 @@ bkz kwt bnY bpu -bqU +dZg bsA bxD bvX bxq bDY byP -bBA +byP bCK bvX bFE @@ -114868,8 +114745,8 @@ bnf bkB kwt bnX -bpt -bqS +uZc +dZg bsz bxC bAD @@ -115126,14 +115003,14 @@ bkz kwt boa bpw -bqV +dZg bsA bxO bvX bxt bEa byP -bBA +byP bCL bvX bFE @@ -115640,7 +115517,7 @@ bpy blY brS bpt -bqS +dZg bvC bxY bvX @@ -116936,7 +116813,7 @@ bzY bIO bJK bKL -bHm +lUw bML bOx bQu @@ -116996,8 +116873,8 @@ cZM cSU cSU dhv -ePY -ePY +eZt +eZt tky fFY ubz @@ -120986,11 +120863,11 @@ aaa aaa aih akK -aiY +uyi amv amS ajV -aiY +uyi aiY aqG ajJ @@ -121243,11 +121120,11 @@ aaa aaa adq adI -aiY +uyi ajV anb ajV -aiY +uyi apV aqG arC @@ -121500,11 +121377,11 @@ aaa aaa adq adH -aiY +uyi afM aeC ahm -aiY +uyi apU aqG aqX @@ -130083,7 +129960,7 @@ cMg cJK cxN cKQ -cKZ +qjh cJK cxN cKQ @@ -131121,7 +130998,7 @@ cXv cMQ cZs cJK -cKZ +qjh cJK cBR aaa @@ -132149,7 +132026,7 @@ cPp cMQ cZy cJK -cKZ +qjh cJK cBR aab @@ -133177,7 +133054,7 @@ cPp cMQ cZB cJK -cKZ +qjh cJK cBR aaa @@ -134963,7 +134840,7 @@ cID cAP cLj cMm -cLe +teB cOu cPy cLb @@ -135218,8 +135095,8 @@ cFY cHo cIH cJT -cLe -cLe +teB +teB cNu cMT cPA @@ -135477,7 +135354,7 @@ cIF cJR cLl cLe -cLe +teB cLe cPz cLb @@ -144101,7 +143978,7 @@ aaa aaa aaa aaa -agd +aaa aaa aaa aaa diff --git a/code/__DEFINES/footstep.dm b/code/__DEFINES/footstep.dm index 469549b8827..bda71aa4443 100644 --- a/code/__DEFINES/footstep.dm +++ b/code/__DEFINES/footstep.dm @@ -7,12 +7,14 @@ #define FOOTSTEP_WATER "water" #define FOOTSTEP_LAVA "lava" #define FOOTSTEP_MEAT "meat" +#define FOOTSTEP_GLASS "glass" //barefoot sounds #define FOOTSTEP_WOOD_BAREFOOT "woodbarefoot" #define FOOTSTEP_WOOD_CLAW "woodclaw" #define FOOTSTEP_HARD_BAREFOOT "hardbarefoot" #define FOOTSTEP_HARD_CLAW "hardclaw" #define FOOTSTEP_CARPET_BAREFOOT "carpetbarefoot" +#define FOOTSTEP_GLASS_BAREFOOT "glassbarefoot" //misc footstep sounds #define FOOTSTEP_GENERIC_HEAVY "heavy" @@ -83,7 +85,11 @@ GLOBAL_LIST_INIT(footstep, list( 'sound/effects/footstep/lava2.ogg', 'sound/effects/footstep/lava3.ogg'), 100, 0), FOOTSTEP_MEAT = list(list( - 'sound/effects/meatslap.ogg'), 100, 0) + 'sound/effects/meatslap.ogg'), 100, 0), + FOOTSTEP_GLASS = list(list( + 'sound/effects/footstep/glass1.ogg', + 'sound/effects/footstep/glass2.ogg', + 'sound/effects/footstep/glass3.ogg'), 100, 1), )) //bare footsteps lists GLOBAL_LIST_INIT(barefootstep, list( @@ -127,6 +133,10 @@ GLOBAL_LIST_INIT(barefootstep, list( 'sound/effects/footstep/lava3.ogg'), 100, 0), FOOTSTEP_MEAT = list(list( 'sound/effects/meatslap.ogg'), 100, 0), + FOOTSTEP_GLASS_BAREFOOT = list(list( + 'sound/effects/footstep/glassbarefoot1.ogg', + 'sound/effects/footstep/glassbarefoot2.ogg', + 'sound/effects/footstep/glassbarefoot3.ogg'), 100, 1), )) //claw footsteps lists @@ -171,6 +181,10 @@ GLOBAL_LIST_INIT(clawfootstep, list( 'sound/effects/footstep/lava3.ogg'), 100, 0), FOOTSTEP_MEAT = list(list( 'sound/effects/meatslap.ogg'), 100, 0), + FOOTSTEP_GLASS = list(list( + 'sound/effects/footstep/glassbarefoot1.ogg', + 'sound/effects/footstep/glassbarefoot2.ogg', + 'sound/effects/footstep/glassbarefoot3.ogg'), 100, 1), )) //heavy footsteps list diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm index a633ddab5eb..9a4396d1656 100644 --- a/code/__DEFINES/layers.dm +++ b/code/__DEFINES/layers.dm @@ -26,11 +26,13 @@ #define DISPOSAL_PIPE_LAYER 2.3 #define GAS_PIPE_HIDDEN_LAYER 2.35 #define WIRE_LAYER 2.4 +#define TRANSPARENT_TURF_LAYER 2.41 #define WIRE_TERMINAL_LAYER 2.45 #define GAS_SCRUBBER_LAYER 2.46 #define GAS_PIPE_VISIBLE_LAYER 2.47 #define GAS_FILTER_LAYER 2.48 #define GAS_PUMP_LAYER 2.49 +#define HOLOPAD_LAYER 2.491 #define CONVEYOR_LAYER 2.495 #define LOW_OBJ_LAYER 2.5 #define LOW_SIGIL_LAYER 2.52 diff --git a/code/game/machinery/Beacon.dm b/code/game/machinery/Beacon.dm index 41612fb870b..01eb2cb2075 100644 --- a/code/game/machinery/Beacon.dm +++ b/code/game/machinery/Beacon.dm @@ -4,7 +4,7 @@ name = "Bluespace Gigabeacon" desc = "A device that draws power from bluespace and creates a permanent tracking beacon." level = 1 // underfloor - layer = 2.5 + layer = WIRE_LAYER+0.001 anchored = 1 use_power = IDLE_POWER_USE idle_power_usage = 0 @@ -26,7 +26,8 @@ Beacon.syndicate = syndicate Beacon.area_bypass = area_bypass Beacon.cc_beacon = cc_beacon - hide(T.intact) + if(!T.transparent_floor) + hide(T.intact) /obj/machinery/bluespace_beacon/proc/destroy_beacon() QDEL_NULL(Beacon) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index c4d5c4984b9..da287020804 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -43,7 +43,7 @@ GLOBAL_LIST_EMPTY(holopads) use_power = IDLE_POWER_USE idle_power_usage = 5 active_power_usage = 100 - layer = TURF_LAYER+0.1 //Preventing mice and drones from sneaking under them. + layer = HOLOPAD_LAYER //Preventing mice and drones from sneaking under them. plane = FLOOR_PLANE max_integrity = 300 armor = list(melee = 50, bullet = 20, laser = 20, energy = 20, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 0) diff --git a/code/game/machinery/magnet.dm b/code/game/machinery/magnet.dm index 7bd89ac6dae..1a5a5ced2ec 100644 --- a/code/game/machinery/magnet.dm +++ b/code/game/machinery/magnet.dm @@ -11,7 +11,7 @@ name = "Electromagnetic Generator" desc = "A device that uses station power to create points of magnetic energy." level = 1 // underfloor - layer = 2.5 + layer = WIRE_LAYER+0.001 anchored = 1 use_power = IDLE_POWER_USE idle_power_usage = 50 @@ -32,7 +32,8 @@ /obj/machinery/magnetic_module/New() ..() var/turf/T = loc - hide(T.intact) + if(!T.transparent_floor) + hide(T.intact) center = T spawn(10) // must wait for map loading to finish diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm index 48d87d0f330..7edbfaa217c 100644 --- a/code/game/machinery/navbeacon.dm +++ b/code/game/machinery/navbeacon.dm @@ -8,7 +8,7 @@ name = "navigation beacon" desc = "A radio beacon used for bot navigation." level = 1 // underfloor - layer = 2.5 + layer = WIRE_LAYER+0.001 anchored = 1 max_integrity = 500 armor = list(melee = 70, bullet = 70, laser = 70, energy = 70, bomb = 0, bio = 0, rad = 0, fire = 80, acid = 80) @@ -26,7 +26,8 @@ set_codes() var/turf/T = loc - hide(T.intact) + if(!T.transparent_floor) + hide(T.intact) if(!codes || !codes.len) log_runtime(EXCEPTION("Empty codes datum at ([x],[y],[z])"), src, list("codes_txt: '[codes_txt]'")) if("patrol" in codes) diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index ac61c2cccc9..98eaf1ceb2e 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -337,12 +337,18 @@ fixdir() var/pipe_dir = get_pipe_dir() + var/turf/T = get_turf(loc) for(var/obj/machinery/atmospherics/M in src.loc) if((M.initialize_directions & pipe_dir) && M.check_connect_types_construction(M,src)) // matches at least one direction on either type of pipe to_chat(user, "There is already a pipe of the same type at this location.") return 1 + if(pipe_type in list(PIPE_SUPPLY_STRAIGHT, PIPE_SUPPLY_BENT, PIPE_SCRUBBERS_STRAIGHT, PIPE_SCRUBBERS_BENT, PIPE_HE_STRAIGHT, PIPE_HE_BENT, PIPE_SUPPLY_MANIFOLD, PIPE_SCRUBBERS_MANIFOLD, PIPE_SUPPLY_MANIFOLD4W, PIPE_SCRUBBERS_MANIFOLD4W, PIPE_UVENT, PIPE_SUPPLY_CAP, PIPE_SCRUBBERS_CAP, PIPE_PASV_VENT, PIPE_DP_VENT, PIPE_PASSIVE_GATE)) + if(T.transparent_floor) //stops jank with transparent floors and pipes + to_chat(user, "You can only fix simple pipes and devices over glass floors!") + return 1 + switch(pipe_type) //What kind of heartless person thought of doing this? if(PIPE_SIMPLE_STRAIGHT, PIPE_SIMPLE_BENT) var/obj/machinery/atmospherics/pipe/simple/P = new( src.loc ) diff --git a/code/game/objects/items/devices/painter/pipe_painter.dm b/code/game/objects/items/devices/painter/pipe_painter.dm index 4ad7b16b293..17c383809aa 100644 --- a/code/game/objects/items/devices/painter/pipe_painter.dm +++ b/code/game/objects/items/devices/painter/pipe_painter.dm @@ -27,8 +27,8 @@ return var/turf/T = get_turf(P) - if(P.level < 2 && T.level == 1 && T.intact) - to_chat(user, "You must remove the plating first.") + if(P.level < 2 && T.level == 1 && T.intact && !T.transparent_floor) + to_chat(user, "You must remove the flooring first.") return P.change_color(GLOB.pipe_colors[paint_setting]) diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index b796740a60b..63132c315fb 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -90,7 +90,7 @@ /obj/blob_act(obj/structure/blob/B) if(isturf(loc)) var/turf/T = loc - if(T.intact && level == 1) //the blob doesn't destroy thing below the floor + if(T.intact && level == 1 || T.transparent_floor) //the blob doesn't destroy thing below the floor return take_damage(400, BRUTE, "melee", 0, get_dir(src, B)) @@ -199,7 +199,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e /obj/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE) if(isturf(loc)) var/turf/T = loc - if(T.intact && level == 1) //fire can't damage things hidden below the floor. + if(T.intact && level == 1 || T.transparent_floor) //fire can't damage things hidden below the floor. return ..() if(exposed_temperature && !(resistance_flags & FIRE_PROOF)) diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index 4266d6ef254..c373a28936c 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -368,7 +368,8 @@ GLOBAL_LIST_EMPTY(safes) /obj/structure/safe/floor/Initialize() . = ..() var/turf/T = loc - hide(T.intact) + if(!T.transparent_floor) + hide(T.intact) /obj/structure/safe/floor/hide(intact) invisibility = intact ? INVISIBILITY_MAXIMUM : 0 diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index 24fcba648f2..8f8e94362b7 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -27,6 +27,7 @@ GLOBAL_LIST_INIT(icons_to_ignore_at_floor_init, list("damaged1","damaged2","dama var/list/broken_states = list("damaged1", "damaged2", "damaged3", "damaged4", "damaged5") var/list/burnt_states = list("floorscorched1", "floorscorched2") var/list/prying_tool_list = list(TOOL_CROWBAR) //What tool/s can we use to pry up the tile? + var/keep_dir = TRUE //When false, resets dir to default on changeturf() var/footstep = FOOTSTEP_FLOOR var/barefootstep = FOOTSTEP_HARD_BAREFOOT @@ -124,11 +125,18 @@ GLOBAL_LIST_INIT(icons_to_ignore_at_floor_init, list("damaged1","damaged2","dama var/turf/simulated/floor/W = ..() + var/obj/machinery/atmospherics/R + if(keep_icon) W.icon_regular_floor = old_icon W.icon_plating = old_plating + if(W.keep_dir) W.dir = old_dir - + if(W.transparent_floor) + for(R in W) + R.update_icon() + for(R in W) + R.update_underlays() W.update_icon() return W diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm index d0805cf5099..9dffdfb049a 100644 --- a/code/game/turfs/simulated/floor/plating.dm +++ b/code/game/turfs/simulated/floor/plating.dm @@ -70,6 +70,36 @@ to_chat(user, "This section is too damaged to support a tile! Use a welder to fix the damage.") return TRUE + else if(is_glass_sheet(C)) + if(broken || burnt) + to_chat(user, "Repair the plating first!") + return TRUE + var/obj/item/stack/sheet/R = C + if(R.get_amount() < 2) + to_chat(user, "You need two sheets of [C] to build a [C] floor!") + return TRUE + else + to_chat(user, "You begin swapping the plating for [C]...") + if(do_after(user, 3 SECONDS * C.toolspeed, target = src)) + if(R.get_amount() >= 2 && !istype(src, /turf/simulated/floor/transparent/glass)) + if(istype(C, /obj/item/stack/sheet/plasmaglass)) //So, what type of glass floor do we want today? + ChangeTurf(/turf/simulated/floor/transparent/glass/plasma) + else if(istype(C, /obj/item/stack/sheet/plasmarglass)) + ChangeTurf(/turf/simulated/floor/transparent/glass/reinforced/plasma) + else if(istype(C, /obj/item/stack/sheet/glass)) + ChangeTurf(/turf/simulated/floor/transparent/glass) + else if(istype(C, /obj/item/stack/sheet/rglass)) + ChangeTurf(/turf/simulated/floor/transparent/glass/reinforced) + else if(istype(C, /obj/item/stack/sheet/titaniumglass)) + ChangeTurf(/turf/simulated/floor/transparent/glass/titanium) + else if(istype(C, /obj/item/stack/sheet/plastitaniumglass)) + ChangeTurf(/turf/simulated/floor/transparent/glass/titanium/plastic) + playsound(src, C.usesound, 80, TRUE) + R.use(2) + to_chat(user, "You swap the plating for [C].") + new /obj/item/stack/sheet/metal(src, 2) + return TRUE + /turf/simulated/floor/plating/screwdriver_act(mob/user, obj/item/I) . = TRUE if(!I.tool_use_check(user, 0)) diff --git a/code/game/turfs/simulated/floor/transparent.dm b/code/game/turfs/simulated/floor/transparent.dm new file mode 100644 index 00000000000..5624d4ba802 --- /dev/null +++ b/code/game/turfs/simulated/floor/transparent.dm @@ -0,0 +1,99 @@ +/turf/simulated/floor/transparent/glass + name = "glass floor" + desc = "Don't jump on it... Or do, I'm not your mom." + icon = 'icons/turf/floors/glass.dmi' + icon_state = "unsmooth" + baseturf = /turf/space + smooth = SMOOTH_TRUE + canSmoothWith = list(/turf/simulated/floor/transparent/glass, /turf/simulated/floor/transparent/glass/reinforced, /turf/simulated/floor/transparent/glass/plasma, /turf/simulated/floor/transparent/glass/reinforced/plasma) + footstep = FOOTSTEP_GLASS + barefootstep = FOOTSTEP_GLASS_BAREFOOT + clawfootstep = FOOTSTEP_GLASS_BAREFOOT + heavyfootstep = FOOTSTEP_GLASS_BAREFOOT + light_power = 0.25 + light_range = 2 + layer = TRANSPARENT_TURF_LAYER + keep_dir = FALSE + intact = FALSE + transparent_floor = TRUE + +/turf/simulated/floor/transparent/glass/Initialize(mapload) + . = ..() + var/image/I = image('icons/turf/space.dmi', src, SPACE_ICON_STATE) + I.plane = PLANE_SPACE + underlays += I + dir = SOUTH //dirs that are not 2/south cause smoothing jank + icon_state = "" //Prevents default icon appearing behind the glass + +/turf/simulated/floor/transparent/glass/attackby(obj/item/C, mob/user, params) + if(!C || !user) + return + if(istype(C, /obj/item/crowbar)) + var/obj/item/stack/R = user.get_inactive_hand() + if(istype(R, /obj/item/stack/sheet/metal)) + if(R.get_amount() < 2) //not enough metal in the stack + to_chat(user, "You also need to hold two sheets of metal to dismantle \the [src]!") + return + else + to_chat(user, "You begin replacing \the [src]...") + playsound(src, C.usesound, 80, TRUE) + if(do_after(user, 3 SECONDS * C.toolspeed, target = src)) + if(R.get_amount() >= 2 && !istype(src, /turf/simulated/floor/plating)) + if(!transparent_floor) + return + if(istype(src, /turf/simulated/floor/transparent/glass/reinforced)) //What material is returned? Depends on the turf + new /obj/item/stack/sheet/rglass(src, 2) + else if(istype(src, /turf/simulated/floor/transparent/glass)) + new /obj/item/stack/sheet/glass(src, 2) + else if(istype(src, /turf/simulated/floor/transparent/glass/plasma)) + new /obj/item/stack/sheet/plasmaglass(src, 2) + else if(istype(src, /turf/simulated/floor/transparent/glass/reinforced/plasma)) + new /obj/item/stack/sheet/plasmarglass(src, 2) + else if(istype(src, /turf/simulated/floor/transparent/glass/titanium)) + new /obj/item/stack/sheet/titaniumglass(src, 2) + else if(istype(src, /turf/simulated/floor/transparent/glass/titanium/plastic)) + new /obj/item/stack/sheet/plastitaniumglass(src, 2) + R.use(2) + ChangeTurf(/turf/simulated/floor/plating) + + else //not holding metal at all + to_chat(user, "You also need to hold two sheets of metal to dismantle \the [src]!") + return + + +/turf/simulated/floor/transparent/glass/reinforced + name = "reinforced glass floor" + desc = "Jump on it, it can cope. Promise..." + icon = 'icons/turf/floors/reinf_glass.dmi' + thermal_conductivity = 0.035 + heat_capacity = 50000 + +/turf/simulated/floor/transparent/glass/reinforced/acid_act(acidpwr, acid_volume) + acidpwr = min(acidpwr, 50) + . = ..() + +/turf/simulated/floor/transparent/glass/plasma + name = "plasma glass floor" + desc = "Wait, was space always that color?" + icon = 'icons/turf/floors/plasmaglass.dmi' + thermal_conductivity = 0.030 + heat_capacity = 75000 + +/turf/simulated/floor/transparent/glass/reinforced/plasma + name = "reinforced plasma glass floor" + desc = "For when you REALLY don't want your floor choice to suffocate everyone." + icon = 'icons/turf/floors/reinf_plasmaglass.dmi' + thermal_conductivity = 0.025 + heat_capacity = 325000 + +/turf/simulated/floor/transparent/glass/titanium + name = "titanium glass floor" + canSmoothWith = list(/turf/simulated/floor/transparent/glass/titanium, /turf/simulated/floor/transparent/glass/titanium/plastic) + desc = "Stylish AND strong!" + icon = 'icons/turf/floors/titaniumglass.dmi' + thermal_conductivity = 0.025 + heat_capacity = 325000 + +/turf/simulated/floor/transparent/glass/titanium/plastic + name = "plastitanium glass floor" + icon = 'icons/turf/floors/plastitaniumglass.dmi' diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 938e2f8a851..8c64a8456bf 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -6,6 +6,7 @@ var/intact = TRUE var/turf/baseturf = /turf/space var/slowdown = 0 //negative for faster, positive for slower + var/transparent_floor = FALSE //used to check if pipes should be visible under the turf or not ///Properties for open tiles (/floor) /// All the gas vars, on the turf, are meant to be utilized for initializing a gas datum and setting its first gas values; the turf vars are never further modified at runtime; it is never directly used for calculations by the atmospherics system. diff --git a/code/modules/atmospherics/machinery/atmospherics.dm b/code/modules/atmospherics/machinery/atmospherics.dm index bb255692633..affe463c0b0 100644 --- a/code/modules/atmospherics/machinery/atmospherics.dm +++ b/code/modules/atmospherics/machinery/atmospherics.dm @@ -71,10 +71,13 @@ Pipelines + Other Objects -> Pipe network // Icons/overlays/underlays /obj/machinery/atmospherics/update_icon() var/turf/T = get_turf(loc) - if(!T || level == 2 || !T.intact) - plane = GAME_PLANE - else + if(T.transparent_floor) plane = FLOOR_PLANE + else + if(!T || level == 2 || !T.intact) + plane = GAME_PLANE + else + plane = FLOOR_PLANE /obj/machinery/atmospherics/proc/update_pipe_image() pipe_image = image(src, loc, layer = ABOVE_HUD_LAYER, dir = dir) //the 20 puts it above Byond's darkness (not its opacity view) @@ -95,15 +98,18 @@ Pipelines + Other Objects -> Pipe network /obj/machinery/atmospherics/proc/add_underlay(turf/T, obj/machinery/atmospherics/node, direction, icon_connect_type) if(node) - if(T.intact && node.level == 1 && istype(node, /obj/machinery/atmospherics/pipe)) + if(T.intact && node.level == 1 && istype(node, /obj/machinery/atmospherics/pipe) && !T.transparent_floor) //underlays += SSair.icon_manager.get_atmos_icon("underlay_down", direction, color_cache_name(node)) underlays += SSair.icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "down" + icon_connect_type) else //underlays += SSair.icon_manager.get_atmos_icon("underlay_intact", direction, color_cache_name(node)) underlays += SSair.icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "intact" + icon_connect_type) else - //underlays += SSair.icon_manager.get_atmos_icon("underlay_exposed", direction, pipe_color) - underlays += SSair.icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "exposed" + icon_connect_type) + if(T.transparent_floor) //we want to keep pipes under transparent floors connected normally + underlays += SSair.icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "intact" + icon_connect_type) + else + //underlays += SSair.icon_manager.get_atmos_icon("underlay_exposed", direction, pipe_color) + underlays += SSair.icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "exposed" + icon_connect_type) /obj/machinery/atmospherics/proc/update_underlays() if(check_icon_cache()) @@ -166,11 +172,14 @@ Pipelines + Other Objects -> Pipe network //(De)construction /obj/machinery/atmospherics/attackby(obj/item/W, mob/user) + var/turf/T = get_turf(src) if(can_unwrench && istype(W, /obj/item/wrench)) - var/turf/T = get_turf(src) + if(T.transparent_floor && istype(src, /obj/machinery/atmospherics/pipe) && layer != GAS_PIPE_VISIBLE_LAYER) //pipes on GAS_PIPE_VISIBLE_LAYER are above the transparent floor and should be interactable + to_chat(user, "You can't interact with something that's under the floor!") + return if(level == 1 && isturf(T) && T.intact) to_chat(user, "You must remove the plating first.") - return 1 + return var/datum/gas_mixture/int_air = return_air() var/datum/gas_mixture/env_air = loc.return_air() add_fingerprint(user) @@ -184,14 +193,14 @@ Pipelines + Other Objects -> Pipe network playsound(src.loc, W.usesound, 50, 1) to_chat(user, "You begin to unfasten \the [src]...") if(internal_pressure > 2*ONE_ATMOSPHERE) - to_chat(user, "As you begin unwrenching \the [src] a gush of air blows in your face... maybe you should reconsider?") + to_chat(user, "As you begin unwrenching \the [src] a gust of air blows in your face... maybe you should reconsider?") unsafe_wrenching = TRUE //Oh dear oh dear if(do_after(user, 40 * W.toolspeed, target = src) && !QDELETED(src)) user.visible_message( \ "[user] unfastens \the [src].", \ "You have unfastened \the [src].", \ - "You hear ratchet.") + "You hear ratcheting.") investigate_log("was REMOVED by [key_name(usr)]", "atmos") for(var/obj/item/clothing/shoes/magboots/usermagboots in user.get_equipped_items()) @@ -206,6 +215,9 @@ Pipelines + Other Objects -> Pipe network unsafe_pressure_release(user,internal_pressure) deconstruct(TRUE) else + if(T.transparent_floor) + to_chat(user, "You can't interact with something that's under the floor!") + return return ..() //Called when an atmospherics object is unwrenched while having a large pressure difference @@ -240,7 +252,12 @@ Pipelines + Other Objects -> Pipe network dir = D initialize_directions = P var/turf/T = loc - level = T.intact ? 2 : 1 + if(!T.transparent_floor) + level = T.intact ? 2 : 1 + else + level = 2 + plane = GAME_PLANE + layer = GAS_PIPE_VISIBLE_LAYER add_fingerprint(usr) if(!SSair.initialized) //If there's no atmos subsystem, we can't really initialize pipenets SSair.machinery_to_construct.Add(src) @@ -337,12 +354,15 @@ Pipelines + Other Objects -> Pipe network /obj/machinery/atmospherics/proc/add_underlay_adapter(turf/T, obj/machinery/atmospherics/node, direction, icon_connect_type) //modified from add_underlay, does not make exposed underlays if(node) - if(T.intact && node.level == 1 && istype(node, /obj/machinery/atmospherics/pipe)) + if(T.intact && node.level == 1 && istype(node, /obj/machinery/atmospherics/pipe) && !T.transparent_floor) underlays += SSair.icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "down" + icon_connect_type) else underlays += SSair.icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "intact" + icon_connect_type) else - underlays += SSair.icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "retracted" + icon_connect_type) + if(T.transparent_floor) //we want to keep pipes under transparent floors connected normally + underlays += SSair.icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "intact" + icon_connect_type) + else + underlays += SSair.icon_manager.get_atmos_icon("underlay", direction, color_cache_name(node), "retracted" + icon_connect_type) /obj/machinery/atmospherics/singularity_pull(S, current_size) if(current_size >= STAGE_FIVE) diff --git a/code/modules/atmospherics/machinery/datum_icon_manager.dm b/code/modules/atmospherics/machinery/datum_icon_manager.dm index 2e0ef593bae..f7a345a7c9a 100644 --- a/code/modules/atmospherics/machinery/datum_icon_manager.dm +++ b/code/modules/atmospherics/machinery/datum_icon_manager.dm @@ -159,9 +159,9 @@ var/cache_name = state for(var/D in GLOB.cardinal) - var/image/I = image(icon('icons/atmos/pipe_underlays.dmi', icon_state = state, dir = D)) + var/image/I = image(icon('icons/atmos/pipe_underlays.dmi', icon_state = state, dir = D), layer = GAS_PIPE_HIDDEN_LAYER) underlays[cache_name + "[D]"] = I for(var/pipe_color in GLOB.pipe_colors) - I = image(icon('icons/atmos/pipe_underlays.dmi', icon_state = state, dir = D)) + I = image(icon('icons/atmos/pipe_underlays.dmi', icon_state = state, dir = D), layer = GAS_PIPE_HIDDEN_LAYER) I.color = GLOB.pipe_colors[pipe_color] underlays[state + "[D]" + "[GLOB.pipe_colors[pipe_color]]"] = I diff --git a/code/modules/atmospherics/machinery/pipes/cap.dm b/code/modules/atmospherics/machinery/pipes/cap.dm index 615075cf3c0..4cfa2efb450 100644 --- a/code/modules/atmospherics/machinery/pipes/cap.dm +++ b/code/modules/atmospherics/machinery/pipes/cap.dm @@ -79,7 +79,8 @@ break var/turf/T = get_turf(src) // hide if turf is not intact - if(!istype(T)) return + if(!istype(T) || T.transparent_floor) + return hide(T.intact) update_icon() diff --git a/code/modules/atmospherics/machinery/pipes/manifold.dm b/code/modules/atmospherics/machinery/pipes/manifold.dm index ffb66a01da3..20dd2990888 100644 --- a/code/modules/atmospherics/machinery/pipes/manifold.dm +++ b/code/modules/atmospherics/machinery/pipes/manifold.dm @@ -57,6 +57,8 @@ node3 = target break var/turf/T = src.loc // hide if turf is not intact + if(T.transparent_floor) + return hide(T.intact) update_icon() diff --git a/code/modules/atmospherics/machinery/pipes/manifold4w.dm b/code/modules/atmospherics/machinery/pipes/manifold4w.dm index 80d18bcee0f..5cefc6f723c 100644 --- a/code/modules/atmospherics/machinery/pipes/manifold4w.dm +++ b/code/modules/atmospherics/machinery/pipes/manifold4w.dm @@ -165,7 +165,8 @@ break var/turf/T = src.loc // hide if turf is not intact - hide(T.intact) + if(!T.transparent_floor) + hide(T.intact) update_icon() /obj/machinery/atmospherics/pipe/manifold4w/visible diff --git a/code/modules/atmospherics/machinery/pipes/simple/pipe_simple.dm b/code/modules/atmospherics/machinery/pipes/simple/pipe_simple.dm index 92c421fbff9..7e14946e61e 100644 --- a/code/modules/atmospherics/machinery/pipes/simple/pipe_simple.dm +++ b/code/modules/atmospherics/machinery/pipes/simple/pipe_simple.dm @@ -68,7 +68,8 @@ break var/turf/T = loc // hide if turf is not intact - hide(T.intact) + if(!T.transparent_floor) + hide(T.intact) update_icon() /obj/machinery/atmospherics/pipe/simple/check_pressure(pressure) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 250e065cfb6..0bee401d92a 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -35,6 +35,7 @@ By design, d1 is the smallest direction and d2 is the highest icon_state = "0-1" var/d1 = 0 var/d2 = 1 + plane = FLOOR_PLANE layer = WIRE_LAYER //Just below unary stuff, which is at 2.45 and above pipes, which are at 2.4 color = COLOR_RED @@ -68,9 +69,11 @@ By design, d1 is the smallest direction and d2 is the highest d2 = text2num(copytext( icon_state, dash+1 )) var/turf/T = get_turf(src) // hide if turf is not intact + LAZYADD(GLOB.cable_list, src) //add it to the global cable list + if(T.transparent_floor) + return if(level == 1) hide(T.intact) - LAZYADD(GLOB.cable_list, src) //add it to the global cable list /obj/structure/cable/Destroy() // called when a cable is deleted if(powernet) @@ -162,7 +165,8 @@ By design, d1 is the smallest direction and d2 is the highest // /obj/structure/cable/attackby(obj/item/W, mob/user) var/turf/T = get_turf(src) - if(T.intact) + if(T.transparent_floor || T.intact) + to_chat(user, "You can't interact with something that's under the floor!") return else if(istype(W, /obj/item/stack/cable_coil)) @@ -204,7 +208,8 @@ By design, d1 is the smallest direction and d2 is the highest /obj/structure/cable/wirecutter_act(mob/user, obj/item/I) . = TRUE var/turf/T = get_turf(src) - if(T.intact) + if(T.transparent_floor || T.intact) + to_chat(user, "You can't interact with something that's under the floor!") return if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return @@ -703,7 +708,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai var/turf/T = get_turf(C) - if(!isturf(T) || T.intact) // sanity checks, also stop use interacting with T-scanner revealed cable + if(!isturf(T) || T.intact || T.transparent_floor) // sanity checks, also stop use interacting with T-scanner revealed cable return if(get_dist(C, user) > 1) // make sure it's close enough @@ -719,7 +724,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai // one end of the clicked cable is pointing towards us if(C.d1 == dirn || C.d2 == dirn) - if(U.intact) // can't place a cable if the floor is complete + if(U.intact || U.transparent_floor) // can't place a cable if the floor is complete to_chat(user, "You can't lay cable there unless the floor tiles are removed!") return else diff --git a/code/modules/power/terminal.dm b/code/modules/power/terminal.dm index 584079b3c45..d8fc709a656 100644 --- a/code/modules/power/terminal.dm +++ b/code/modules/power/terminal.dm @@ -15,6 +15,8 @@ /obj/machinery/power/terminal/Initialize(mapload) . = ..() var/turf/T = get_turf(src) + if(T.transparent_floor) + return if(level == 1) hide(T.intact) diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index b2afa9c06e3..cb875dce0cf 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -691,6 +691,7 @@ armor = list("melee" = 25, "bullet" = 10, "laser" = 10, "energy" = 100, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 30) damage_deflection = 10 flags_2 = RAD_PROTECT_CONTENTS_2 | RAD_NO_CONTAMINATE_2 + plane = FLOOR_PLANE layer = DISPOSAL_PIPE_LAYER // slightly lower than wires and other pipes var/base_icon_state // initial icon state on map @@ -757,6 +758,9 @@ // update the icon_state to reflect hidden status /obj/structure/disposalpipe/proc/update() var/turf/T = get_turf(src) + if(T.transparent_floor) + update_icon() + return hide(T.intact && !istype(T, /turf/space)) // space never hides pipes update_icon() @@ -889,15 +893,20 @@ /obj/structure/disposalpipe/attackby(obj/item/I, mob/user, params) var/turf/T = get_turf(src) - if(T.intact) - return // prevent interaction with T-scanner revealed pipes + if(T.intact || T.transparent_floor) + to_chat(user, "You can't interact with something that's under the floor!") + return // prevent interaction with T-scanner revealed pipes and pipes under glass add_fingerprint(user) /obj/structure/disposalpipe/welder_act(mob/user, obj/item/I) . = TRUE + var/turf/T = get_turf(src) if(!I.tool_use_check(user, 0)) return + if(T.transparent_floor) + to_chat(user, "You can't interact with something that's under the floor!") + return WELDER_ATTEMPT_SLICING_MESSAGE if(!I.use_tool(src, user, 30, volume = I.tool_volume)) return @@ -1201,7 +1210,7 @@ return var/turf/T = src.loc - if(T.intact) + if(T.intact || T.transparent_floor) return // prevent interaction with T-scanner revealed pipes src.add_fingerprint(user) diff --git a/icons/turf/floors/glass.dmi b/icons/turf/floors/glass.dmi new file mode 100644 index 00000000000..1d0f13d0c06 Binary files /dev/null and b/icons/turf/floors/glass.dmi differ diff --git a/icons/turf/floors/plasmaglass.dmi b/icons/turf/floors/plasmaglass.dmi new file mode 100644 index 00000000000..629d8be41ec Binary files /dev/null and b/icons/turf/floors/plasmaglass.dmi differ diff --git a/icons/turf/floors/plastitaniumglass.dmi b/icons/turf/floors/plastitaniumglass.dmi new file mode 100644 index 00000000000..39a56f32b00 Binary files /dev/null and b/icons/turf/floors/plastitaniumglass.dmi differ diff --git a/icons/turf/floors/reinf_glass.dmi b/icons/turf/floors/reinf_glass.dmi new file mode 100644 index 00000000000..c5072fd11e0 Binary files /dev/null and b/icons/turf/floors/reinf_glass.dmi differ diff --git a/icons/turf/floors/reinf_plasmaglass.dmi b/icons/turf/floors/reinf_plasmaglass.dmi new file mode 100644 index 00000000000..c46025e5291 Binary files /dev/null and b/icons/turf/floors/reinf_plasmaglass.dmi differ diff --git a/icons/turf/floors/titaniumglass.dmi b/icons/turf/floors/titaniumglass.dmi new file mode 100644 index 00000000000..597487ff175 Binary files /dev/null and b/icons/turf/floors/titaniumglass.dmi differ diff --git a/paradise.dme b/paradise.dme index 11176b1befe..acec93180df 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1151,6 +1151,7 @@ #include "code\game\turfs\simulated\floor\misc_floor.dm" #include "code\game\turfs\simulated\floor\plasteel_floor.dm" #include "code\game\turfs\simulated\floor\plating.dm" +#include "code\game\turfs\simulated\floor\transparent.dm" #include "code\game\turfs\space\space.dm" #include "code\game\turfs\space\transit.dm" #include "code\game\verbs\ooc.dm" diff --git a/sound/effects/footstep/glass1.ogg b/sound/effects/footstep/glass1.ogg new file mode 100644 index 00000000000..7afddff640a Binary files /dev/null and b/sound/effects/footstep/glass1.ogg differ diff --git a/sound/effects/footstep/glass2.ogg b/sound/effects/footstep/glass2.ogg new file mode 100644 index 00000000000..5bac4625b68 Binary files /dev/null and b/sound/effects/footstep/glass2.ogg differ diff --git a/sound/effects/footstep/glass3.ogg b/sound/effects/footstep/glass3.ogg new file mode 100644 index 00000000000..5d355e8ef17 Binary files /dev/null and b/sound/effects/footstep/glass3.ogg differ diff --git a/sound/effects/footstep/glassbarefoot1.ogg b/sound/effects/footstep/glassbarefoot1.ogg new file mode 100644 index 00000000000..7dd8d9e5371 Binary files /dev/null and b/sound/effects/footstep/glassbarefoot1.ogg differ diff --git a/sound/effects/footstep/glassbarefoot2.ogg b/sound/effects/footstep/glassbarefoot2.ogg new file mode 100644 index 00000000000..b82c3e0d9d1 Binary files /dev/null and b/sound/effects/footstep/glassbarefoot2.ogg differ diff --git a/sound/effects/footstep/glassbarefoot3.ogg b/sound/effects/footstep/glassbarefoot3.ogg new file mode 100644 index 00000000000..317bf53fcc8 Binary files /dev/null and b/sound/effects/footstep/glassbarefoot3.ogg differ