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