Merge remote-tracking branch 'upstream/master' into pill-bottles-and-patch-packs

This commit is contained in:
Fox McCloud
2019-03-17 23:27:52 -04:00
54 changed files with 2147 additions and 465 deletions
File diff suppressed because it is too large Load Diff
@@ -15,8 +15,8 @@
/turf/space,
/area/space)
"aac" = (
/turf/space,
/obj/machinery/porta_turret/syndicate,
/turf/space,
/turf/simulated/shuttle/wall{
dir = 8;
icon_state = "diagonalWall3"
@@ -82,8 +82,8 @@
/turf/simulated/shuttle/plating,
/area/shuttle/syndicate)
"aah" = (
/turf/space,
/obj/machinery/porta_turret/syndicate,
/turf/space,
/turf/simulated/shuttle/wall{
dir = 1;
icon_state = "diagonalWall3"
@@ -760,12 +760,12 @@
},
/area/shuttle/syndicate)
"abA" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"abB" = (
@@ -867,12 +867,11 @@
},
/area/shuttle/syndicate)
"abL" = (
/turf/space,
/obj/structure/cable,
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"abM" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 4;
@@ -883,6 +882,7 @@
d2 = 4;
icon_state = "2-4"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"abN" = (
@@ -943,7 +943,6 @@
},
/area/shuttle/syndicate)
"abU" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -959,14 +958,15 @@
d2 = 4;
icon_state = "2-4"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"abV" = (
/turf/space,
/obj/structure/cable{
d2 = 8;
icon_state = "0-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"abW" = (
@@ -974,15 +974,14 @@
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"abX" = (
/turf/space,
/obj/structure/cable{
icon_state = "0-4";
d2 = 4
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"abY" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -998,10 +997,10 @@
d2 = 8;
icon_state = "1-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"abZ" = (
/turf/space,
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -1012,6 +1011,7 @@
d2 = 8;
icon_state = "1-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"aca" = (
@@ -1054,8 +1054,8 @@
},
/area/solar/auxport)
"acf" = (
/turf/space,
/obj/item/stack/cable_coil,
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"acg" = (
@@ -1265,11 +1265,11 @@
/turf/space,
/area/space)
"acz" = (
/turf/space,
/obj/effect/landmark{
name = "xeno_spawn";
pixel_x = -1
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"acA" = (
@@ -1519,8 +1519,8 @@
},
/area/security/permabrig)
"acY" = (
/turf/simulated/floor/plating,
/obj/structure/shuttle/engine/propulsion/burst,
/turf/simulated/floor/plating,
/turf/simulated/shuttle/wall{
tag = "icon-swall_f5";
icon_state = "swall_f5";
@@ -1604,8 +1604,8 @@
},
/area/security/permabrig)
"adg" = (
/turf/simulated/floor/plating,
/obj/structure/shuttle/engine/propulsion/burst,
/turf/simulated/floor/plating,
/turf/simulated/shuttle/wall{
tag = "icon-swall_f9";
icon_state = "swall_f9";
@@ -1623,20 +1623,20 @@
/turf/simulated/shuttle/floor,
/area/shuttle/pod_2)
"adi" = (
/turf/space,
/obj/structure/cable{
icon_state = "0-2";
d2 = 2
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"adj" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxstarboard)
"adk" = (
@@ -1989,8 +1989,8 @@
},
/area/shuttle/vox)
"adP" = (
/turf/space,
/obj/structure/cable,
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxstarboard)
"adQ" = (
@@ -2125,7 +2125,6 @@
/turf/space,
/area/space)
"aeg" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 4;
@@ -2136,6 +2135,7 @@
d2 = 4;
icon_state = "2-4"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxstarboard)
"aeh" = (
@@ -2404,7 +2404,6 @@
},
/area/security/permabrig)
"aeA" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -2420,6 +2419,7 @@
d2 = 4;
icon_state = "2-4"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxstarboard)
"aeB" = (
@@ -2889,11 +2889,11 @@
/turf/simulated/shuttle/plating/vox,
/area/shuttle/vox)
"afo" = (
/turf/space,
/obj/structure/cable{
d2 = 8;
icon_state = "0-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxstarboard)
"afp" = (
@@ -2914,11 +2914,11 @@
},
/area/security/permabrig)
"afq" = (
/turf/space,
/obj/structure/cable{
icon_state = "0-4";
d2 = 4
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxstarboard)
"afr" = (
@@ -3109,7 +3109,6 @@
name = "\improper Recreation Area"
})
"afG" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -3125,6 +3124,7 @@
d2 = 8;
icon_state = "2-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxstarboard)
"afH" = (
@@ -3375,7 +3375,6 @@
/turf/simulated/floor/engine,
/area/security/podbay)
"age" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -3386,6 +3385,7 @@
d2 = 8;
icon_state = "2-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxstarboard)
"agf" = (
@@ -3446,12 +3446,12 @@
},
/area/security/permabrig)
"agn" = (
/turf/space,
/obj/structure/cable{
icon_state = "0-2";
pixel_y = 1;
d2 = 2
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"ago" = (
@@ -3653,8 +3653,8 @@
name = "\improper Recreation Area"
})
"agH" = (
/turf/space,
/obj/item/stack/cable_coil,
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxstarboard)
"agI" = (
@@ -3694,12 +3694,12 @@
/turf/simulated/floor/plating,
/area/security/hos)
"agM" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 4;
icon_state = "1-4"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"agN" = (
@@ -5100,21 +5100,21 @@
},
/area/security/armoury)
"aiQ" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"aiR" = (
/turf/space,
/obj/structure/cable{
d1 = 2;
d2 = 8;
icon_state = "2-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"aiS" = (
@@ -5385,10 +5385,10 @@
/turf/simulated/shuttle/floor4/vox,
/area/shuttle/vox)
"ajr" = (
/turf/simulated/floor/plating,
/obj/structure/shuttle/engine/propulsion/burst{
dir = 8
},
/turf/simulated/floor/plating,
/turf/simulated/shuttle/wall{
icon_state = "swall_f6";
dir = 2
@@ -5682,10 +5682,10 @@
},
/area/security/permabrig)
"ajS" = (
/turf/simulated/floor/plating,
/obj/structure/shuttle/engine/propulsion/burst{
dir = 8
},
/turf/simulated/floor/plating,
/turf/simulated/shuttle/wall{
icon_state = "swall_f5";
dir = 2
@@ -6292,11 +6292,11 @@
/turf/simulated/floor/plasteel,
/area/security/armoury)
"akX" = (
/turf/space,
/obj/effect/landmark{
name = "xeno_spawn";
pixel_x = -1
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxstarboard)
"akY" = (
@@ -11638,11 +11638,11 @@
name = "Port Maintenance"
})
"auv" = (
/turf/space,
/obj/structure/cable{
icon_state = "0-2";
d2 = 2
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/maintenance/auxsolarstarboard)
"auw" = (
@@ -27719,13 +27719,13 @@
name = "Arrivals"
})
"aWE" = (
/obj/structure/shuttle/engine/propulsion/burst{
dir = 8
},
/turf/simulated/floor/plasteel{
icon_state = "vault";
dir = 5
},
/obj/structure/shuttle/engine/propulsion/burst{
dir = 8
},
/turf/simulated/shuttle/wall{
icon_state = "swall_f6";
dir = 2
@@ -27742,13 +27742,13 @@
/turf/simulated/shuttle/floor,
/area/shuttle/pod_1)
"aWG" = (
/obj/structure/shuttle/engine/propulsion/burst{
dir = 8
},
/turf/simulated/floor/plasteel{
icon_state = "vault";
dir = 5
},
/obj/structure/shuttle/engine/propulsion/burst{
dir = 8
},
/turf/simulated/shuttle/wall{
icon_state = "swall_f5";
dir = 2
@@ -31843,8 +31843,8 @@
name = "\improper MiniSat Exterior"
})
"bdO" = (
/turf/space,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/construction/hallway{
name = "\improper MiniSat Exterior"
@@ -35755,8 +35755,8 @@
},
/area/shuttle/arrival/station)
"bkj" = (
/turf/simulated/floor/plating,
/obj/structure/shuttle/engine/propulsion/burst,
/turf/simulated/floor/plating,
/turf/simulated/shuttle/wall{
tag = "icon-swall_f5";
icon_state = "swall_f5";
@@ -36476,8 +36476,8 @@
name = "\improper Cargo Office"
})
"bly" = (
/turf/simulated/floor/plating,
/obj/structure/shuttle/engine/propulsion/burst,
/turf/simulated/floor/plating,
/turf/simulated/shuttle/wall{
tag = "icon-swall_f9";
icon_state = "swall_f9";
@@ -43938,7 +43938,6 @@
/turf/simulated/floor/plating/airless,
/area/space)
"bxm" = (
/turf/space,
/obj/structure/transit_tube{
icon_state = "W-NE-SE"
},
@@ -43951,10 +43950,10 @@
d2 = 8;
icon_state = "4-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/space)
"bxn" = (
/turf/space,
/obj/structure/transit_tube{
tag = "icon-D-SW";
icon_state = "D-SW"
@@ -43972,10 +43971,10 @@
d2 = 8;
icon_state = "4-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/space)
"bxo" = (
/turf/space,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4;
level = 1
@@ -43985,6 +43984,7 @@
d2 = 8;
icon_state = "4-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/space)
"bxp" = (
@@ -44013,7 +44013,6 @@
name = "\improper MiniSat Exterior"
})
"bxq" = (
/turf/space,
/obj/structure/window/reinforced{
dir = 4
},
@@ -44026,6 +44025,7 @@
d2 = 8;
icon_state = "4-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/space)
"bxr" = (
@@ -49927,12 +49927,12 @@
/turf/simulated/floor/plasteel,
/area/atmos)
"bGW" = (
/turf/space,
/obj/structure/shuttle/engine/propulsion{
dir = 8;
icon_state = "propulsion";
tag = "icon-propulsion (EAST)"
},
/turf/space,
/turf/simulated/shuttle/wall{
icon_state = "swall_f6";
dir = 2
@@ -53183,12 +53183,12 @@
},
/area/tcommsat/server)
"bMv" = (
/turf/space,
/obj/structure/shuttle/engine/propulsion{
dir = 8;
icon_state = "propulsion";
tag = "icon-propulsion (EAST)"
},
/turf/space,
/turf/simulated/shuttle/wall{
icon_state = "swall_f5";
dir = 2
@@ -65912,8 +65912,8 @@
},
/area/hydroponics)
"ciB" = (
/turf/space,
/obj/structure/cable,
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/port)
"ciC" = (
@@ -67032,11 +67032,11 @@
/turf/space,
/area/space)
"ckr" = (
/turf/space,
/obj/structure/cable{
icon_state = "0-2";
d2 = 2
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/port)
"cks" = (
@@ -68466,12 +68466,12 @@
name = "\improper Secure Lab"
})
"cmH" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/port)
"cmI" = (
@@ -74372,7 +74372,6 @@
},
/area/solar/port)
"cvQ" = (
/turf/space,
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -74383,6 +74382,7 @@
d2 = 4;
icon_state = "1-4"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/port)
"cvR" = (
@@ -76922,7 +76922,6 @@
name = "Aft Maintenance"
})
"cAf" = (
/turf/space,
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -76938,6 +76937,7 @@
d2 = 8;
icon_state = "4-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/port)
"cAg" = (
@@ -77552,11 +77552,11 @@
},
/area/medical/chemistry)
"cBe" = (
/turf/space,
/obj/structure/cable{
d2 = 8;
icon_state = "0-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/port)
"cBf" = (
@@ -77575,11 +77575,11 @@
},
/area/crew_quarters/hor)
"cBg" = (
/turf/space,
/obj/structure/cable{
icon_state = "0-4";
d2 = 4
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/port)
"cBh" = (
@@ -78214,7 +78214,6 @@
name = "Aft Maintenance"
})
"cCf" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -78230,6 +78229,7 @@
d2 = 8;
icon_state = "4-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/port)
"cCg" = (
@@ -78302,7 +78302,6 @@
},
/area/medical/genetics)
"cCj" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -78313,6 +78312,7 @@
d2 = 8;
icon_state = "2-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/port)
"cCk" = (
@@ -78462,8 +78462,8 @@
},
/area/medical/surgeryobs)
"cCw" = (
/turf/space,
/obj/item/stack/cable_coil,
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/port)
"cCx" = (
@@ -78493,11 +78493,11 @@
},
/area/medical/surgeryobs)
"cCz" = (
/turf/space,
/obj/structure/cable/yellow{
d2 = 4;
icon_state = "0-4"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/space)
"cCA" = (
@@ -78809,12 +78809,12 @@
},
/area/medical/cryo)
"cCZ" = (
/turf/space,
/obj/structure/cable/yellow{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/space)
"cDa" = (
@@ -82331,12 +82331,12 @@
name = "\improper Toxins Lab"
})
"cIN" = (
/turf/space,
/obj/effect/landmark{
name = "xeno_spawn";
pixel_x = -1
},
/obj/structure/cable,
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/port)
"cIO" = (
@@ -86868,11 +86868,11 @@
name = "Aft Maintenance"
})
"cPU" = (
/turf/space,
/obj/structure/cable/yellow{
d2 = 8;
icon_state = "0-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/space)
"cPV" = (
@@ -91758,12 +91758,12 @@
name = "\improper Departure Lounge"
})
"cXN" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"cXO" = (
@@ -92024,12 +92024,12 @@
},
/area/chapel/main)
"cYi" = (
/turf/space,
/obj/structure/cable{
d1 = 2;
d2 = 8;
icon_state = "2-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"cYj" = (
@@ -92221,12 +92221,12 @@
name = "\improper Recreation Area"
})
"cYA" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"cYB" = (
@@ -92482,8 +92482,8 @@
name = "\improper Departure Lounge"
})
"cYY" = (
/turf/space,
/obj/structure/cable,
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"cYZ" = (
@@ -92523,7 +92523,6 @@
},
/area/solar/starboard)
"cZc" = (
/turf/space,
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -92534,10 +92533,10 @@
d2 = 4;
icon_state = "1-4"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"cZd" = (
/turf/space,
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -92553,6 +92552,7 @@
d2 = 8;
icon_state = "4-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"cZe" = (
@@ -92596,11 +92596,11 @@
name = "\improper Arcade"
})
"cZj" = (
/turf/space,
/obj/structure/cable{
d2 = 8;
icon_state = "0-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"cZk" = (
@@ -92807,8 +92807,8 @@
name = "\improper Arcade"
})
"cZA" = (
/turf/space,
/obj/item/stack/cable_coil,
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"cZB" = (
@@ -93002,11 +93002,11 @@
/turf/simulated/shuttle/plating,
/area/shuttle/escape)
"cZW" = (
/turf/space,
/obj/structure/cable{
icon_state = "0-4";
d2 = 4
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"cZX" = (
@@ -94632,7 +94632,6 @@
name = "\improper Secure Lab"
})
"dcv" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -94648,6 +94647,7 @@
d2 = 8;
icon_state = "4-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"dcw" = (
@@ -94845,7 +94845,6 @@
/turf/simulated/shuttle/floor,
/area/shuttle/escape)
"dcN" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -94856,6 +94855,7 @@
d2 = 8;
icon_state = "2-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"dcO" = (
@@ -95128,11 +95128,11 @@
/turf/space,
/area/space)
"ddw" = (
/turf/space,
/obj/effect/landmark{
name = "xeno_spawn";
pixel_x = -1
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"ddx" = (
@@ -95200,11 +95200,11 @@
name = "\improper Secure Lab"
})
"ddD" = (
/turf/space,
/obj/structure/cable{
icon_state = "0-2";
d2 = 2
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"ddE" = (
+21 -21
View File
@@ -231,8 +231,8 @@
},
/area/holodeck/source_desert)
"aJ" = (
/turf/simulated/floor/holofloor/grass,
/obj/structure/flora/ausbushes/ywflowers,
/turf/simulated/floor/holofloor/grass,
/turf/simulated/floor/holofloor{
tag = "icon-wood_siding2 (EAST)";
icon_state = "wood_siding2";
@@ -248,8 +248,8 @@
/turf/simulated/floor/holofloor/grass,
/area/holodeck/source_picnicarea)
"aM" = (
/turf/simulated/floor/holofloor/grass,
/obj/structure/flora/ausbushes/brflowers,
/turf/simulated/floor/holofloor/grass,
/turf/simulated/floor/holofloor{
tag = "icon-wood_siding2 (EAST)";
icon_state = "wood_siding2";
@@ -315,8 +315,8 @@
},
/area/holodeck/source_picnicarea)
"aU" = (
/turf/simulated/floor/holofloor/grass,
/obj/structure/flora/ausbushes/grassybush,
/turf/simulated/floor/holofloor/grass,
/turf/simulated/floor/holofloor{
tag = "icon-wood_siding5";
icon_state = "wood_siding5";
@@ -336,8 +336,8 @@
},
/area/holodeck/source_picnicarea)
"aX" = (
/turf/simulated/floor/holofloor/grass,
/obj/structure/flora/ausbushes/grassybush,
/turf/simulated/floor/holofloor/grass,
/turf/simulated/floor/holofloor{
tag = "icon-wood_siding9";
icon_state = "wood_siding9";
@@ -388,8 +388,8 @@
},
/area/holodeck/source_desert)
"bf" = (
/turf/simulated/floor/holofloor/grass,
/obj/structure/flora/ausbushes/grassybush,
/turf/simulated/floor/holofloor/grass,
/turf/simulated/floor/holofloor{
tag = "icon-wood_siding6";
icon_state = "wood_siding6";
@@ -397,8 +397,8 @@
},
/area/holodeck/source_picnicarea)
"bg" = (
/turf/simulated/floor/holofloor/grass,
/obj/structure/flora/ausbushes/grassybush,
/turf/simulated/floor/holofloor/grass,
/turf/simulated/floor/holofloor{
tag = "icon-wood_siding10";
icon_state = "wood_siding10";
@@ -452,8 +452,8 @@
},
/area/holodeck/source_theatre)
"bo" = (
/turf/simulated/floor/holofloor/grass,
/obj/structure/flora/ausbushes/ywflowers,
/turf/simulated/floor/holofloor/grass,
/turf/simulated/floor/holofloor{
tag = "icon-wood_siding1";
icon_state = "wood_siding1";
@@ -461,8 +461,8 @@
},
/area/holodeck/source_picnicarea)
"bp" = (
/turf/simulated/floor/holofloor/grass,
/obj/structure/flora/ausbushes/brflowers,
/turf/simulated/floor/holofloor/grass,
/turf/simulated/floor/holofloor{
tag = "icon-wood_siding1";
icon_state = "wood_siding1";
@@ -867,10 +867,10 @@
},
/area/holodeck/source_meetinghall)
"cq" = (
/turf/unsimulated/floor/snow,
/obj/structure/flora/tree/pine{
pixel_x = 1
},
/turf/unsimulated/floor/snow,
/turf/unsimulated/floor/snow{
icon_state = "gravsnow_corner"
},
@@ -3619,10 +3619,10 @@
},
/area/syndicate_mothership)
"jZ" = (
/turf/unsimulated/floor/snow,
/obj/structure/flora/tree/pine{
pixel_x = 1
},
/turf/unsimulated/floor/snow,
/turf/unsimulated/floor/snow{
tag = "icon-gravsnow_corner (WEST)";
icon_state = "gravsnow_corner";
@@ -3757,8 +3757,8 @@
/turf/space/transit,
/area/wizard_station)
"kr" = (
/turf/unsimulated/floor/snow,
/obj/structure/flora/tree/pine,
/turf/unsimulated/floor/snow,
/turf/unsimulated/floor/snow{
icon_state = "gravsnow_corner"
},
@@ -3772,8 +3772,8 @@
/turf/simulated/floor/plating/airless,
/area/wizard_station)
"kt" = (
/turf/unsimulated/floor/snow,
/obj/structure/flora/grass/brown,
/turf/unsimulated/floor/snow,
/turf/unsimulated/floor/snow{
icon_state = "gravsnow_corner"
},
@@ -3961,8 +3961,8 @@
/turf/unsimulated/wall,
/area/tdome/tdomeobserve)
"kW" = (
/turf/unsimulated/floor/snow,
/obj/structure/flora/grass/brown,
/turf/unsimulated/floor/snow,
/turf/unsimulated/floor/snow{
tag = "icon-gravsnow_corner (SOUTHWEST)";
icon_state = "gravsnow_corner";
@@ -4507,8 +4507,8 @@
/turf/unsimulated/floor/abductor,
/area/abductor_ship)
"mB" = (
/turf/unsimulated/floor/snow,
/obj/structure/flora/grass/brown,
/turf/unsimulated/floor/snow,
/turf/unsimulated/floor/snow{
tag = "icon-gravsnow_corner (EAST)";
icon_state = "gravsnow_corner";
@@ -4801,9 +4801,9 @@
},
/area/syndicate_mothership)
"nh" = (
/obj/machinery/porta_turret/syndicate/pod,
/turf/simulated/floor/pod,
/turf/space,
/obj/machinery/porta_turret/syndicate/pod,
/turf/simulated/shuttle/wall{
dir = 8;
icon_state = "diagonalWall3"
@@ -4819,9 +4819,9 @@
/turf/simulated/floor/plating,
/area/shuttle/assault_pod)
"nj" = (
/obj/machinery/porta_turret/syndicate/pod,
/turf/simulated/floor/pod,
/turf/space,
/obj/machinery/porta_turret/syndicate/pod,
/turf/simulated/shuttle/wall{
dir = 1;
icon_state = "diagonalWall3"
@@ -5099,8 +5099,8 @@
/turf/unsimulated/floor/snow,
/area/syndicate_mothership)
"nP" = (
/turf/unsimulated/floor/snow,
/obj/structure/flora/grass/brown,
/turf/unsimulated/floor/snow,
/turf/unsimulated/floor/snow{
tag = "icon-gravsnow_corner (WEST)";
icon_state = "gravsnow_corner";
@@ -5201,9 +5201,9 @@
},
/area/syndicate_mothership)
"oa" = (
/obj/machinery/porta_turret/syndicate/pod,
/turf/simulated/floor/pod,
/turf/space,
/obj/machinery/porta_turret/syndicate/pod,
/turf/simulated/shuttle/wall{
tag = "icon-diagonalWall3";
icon_state = "diagonalWall3";
@@ -5211,9 +5211,9 @@
},
/area/shuttle/assault_pod)
"ob" = (
/obj/machinery/porta_turret/syndicate/pod,
/turf/simulated/floor/pod,
/turf/space,
/obj/machinery/porta_turret/syndicate/pod,
/turf/simulated/shuttle/wall{
dir = 4;
icon_state = "diagonalWall3"
@@ -5339,8 +5339,8 @@
},
/area/syndicate_mothership)
"os" = (
/turf/unsimulated/floor/snow,
/obj/structure/flora/bush,
/turf/unsimulated/floor/snow,
/turf/unsimulated/floor/snow{
tag = "icon-gravsnow_corner (NORTH)";
icon_state = "gravsnow_corner";
@@ -5520,8 +5520,8 @@
},
/area/wizard_station)
"oS" = (
/turf/unsimulated/floor/snow,
/obj/structure/flora/bush,
/turf/unsimulated/floor/snow,
/turf/unsimulated/floor/snow{
tag = "icon-gravsnow_corner (WEST)";
icon_state = "gravsnow_corner";
+12 -12
View File
@@ -4863,8 +4863,8 @@
/turf/simulated/floor/plating/airless,
/area/derelict/se_solar)
"nv" = (
/turf/space,
/obj/structure/cable,
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/derelict_aft)
"nw" = (
@@ -4896,11 +4896,11 @@
/turf/simulated/floor/plating/airless,
/area/derelict/hallway/secondary)
"nA" = (
/turf/space,
/obj/structure/cable{
icon_state = "0-2";
d2 = 2
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/derelict_aft)
"nB" = (
@@ -4915,13 +4915,13 @@
/turf/simulated/floor/plating/airless,
/area/solar/derelict_aft)
"nC" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2";
pixel_y = 0
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/derelict_aft)
"nD" = (
@@ -4941,7 +4941,6 @@
/turf/simulated/floor/plating/airless,
/area/solar/derelict_aft)
"nF" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -4957,10 +4956,10 @@
d2 = 4;
icon_state = "2-4"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/derelict_aft)
"nG" = (
/turf/space,
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -4971,19 +4970,19 @@
d2 = 4;
icon_state = "1-4"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/derelict_aft)
"nH" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/derelict_aft)
"nI" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -5000,10 +4999,10 @@
icon_state = "1-2";
pixel_y = 0
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/derelict_aft)
"nJ" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -5014,10 +5013,10 @@
d2 = 8;
icon_state = "1-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/derelict_aft)
"nK" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -5033,11 +5032,12 @@
d2 = 8;
icon_state = "1-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/derelict_aft)
"nL" = (
/turf/space,
/obj/item/stack/cable_coil/cut,
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/space)
"nM" = (
@@ -5146,7 +5146,6 @@
/turf/simulated/floor/plating/airless,
/area/derelict/hallway/secondary)
"of" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 4;
@@ -5157,6 +5156,7 @@
d2 = 4;
icon_state = "2-4"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/derelict_aft)
"og" = (
@@ -5175,7 +5175,6 @@
/turf/simulated/floor/plating/airless,
/area/space)
"oj" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -5186,6 +5185,7 @@
d2 = 8;
icon_state = "2-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/derelict_aft)
"ok" = (
@@ -1809,7 +1809,6 @@
},
/area/ruin/space/ancientstation/engi)
"eK" = (
/turf/simulated/floor/plating/airless,
/obj/structure/cable/yellow{
d1 = 2;
d2 = 4;
@@ -1820,6 +1819,7 @@
d2 = 8;
icon_state = "2-8"
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk,
/area/template_noop)
"eL" = (
@@ -2997,12 +2997,12 @@
},
/area/ruin/space/ancientstation/sec)
"hf" = (
/turf/simulated/floor/plating/airless,
/obj/structure/cable/yellow{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk,
/area/template_noop)
"hg" = (
@@ -3117,7 +3117,6 @@
},
/area/ruin/space/ancientstation/kitchen)
"hs" = (
/turf/simulated/floor/plating/airless,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
@@ -3131,6 +3130,7 @@
d2 = 4;
icon_state = "2-4"
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk,
/area/template_noop)
"ht" = (
@@ -3302,7 +3302,6 @@
},
/area/ruin/space/ancientstation/kitchen)
"hJ" = (
/turf/simulated/floor/plating/airless,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
@@ -3311,6 +3310,7 @@
d2 = 8;
icon_state = "4-8"
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk,
/area/template_noop)
"hK" = (
@@ -3704,7 +3704,6 @@
/turf/simulated/floor/plating,
/area/ruin/space/ancientstation/deltacorridor)
"iB" = (
/turf/simulated/floor/plating/airless,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
@@ -3723,6 +3722,7 @@
d2 = 4;
icon_state = "1-4"
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk,
/area/template_noop)
"iC" = (
@@ -3826,21 +3826,21 @@
/turf/simulated/floor/plasteel,
/area/ruin/space/ancientstation/powered)
"iO" = (
/turf/simulated/floor/plating,
/obj/structure/cable/yellow{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
/turf/simulated/floor/plating,
/turf/simulated/floor/plating/airless/catwalk,
/area/template_noop)
"iP" = (
/turf/simulated/floor/plating,
/obj/structure/cable/yellow{
d1 = 1;
d2 = 8;
icon_state = "1-8"
},
/turf/simulated/floor/plating,
/turf/simulated/floor/plating/airless/catwalk,
/area/template_noop)
"iQ" = (
@@ -4130,12 +4130,12 @@
},
/area/ruin/space/ancientstation/proto)
"jw" = (
/turf/simulated/floor/plating/airless,
/obj/structure/cable/yellow{
d1 = 1;
d2 = 8;
icon_state = "1-8"
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk,
/area/template_noop)
"jx" = (
@@ -4483,12 +4483,12 @@
/turf/simulated/floor/plating/airless,
/area/ruin/space/ancientstation/atmo)
"kl" = (
/turf/simulated/floor/plating/airless,
/obj/structure/cable/yellow{
d1 = 1;
d2 = 4;
icon_state = "1-4"
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk,
/area/template_noop)
"km" = (
@@ -4579,12 +4579,12 @@
/turf/simulated/floor/plating/airless,
/area/ruin/space/ancientstation/atmo)
"kv" = (
/turf/simulated/floor/plating,
/obj/structure/cable/yellow{
d1 = 1;
d2 = 4;
icon_state = "1-4"
},
/turf/simulated/floor/plating,
/turf/simulated/floor/plating/airless/catwalk,
/area/template_noop)
"kw" = (
@@ -143,8 +143,8 @@
name = "Space Bar"
})
"aA" = (
/turf/simulated/floor/plating,
/obj/structure/shuttle/engine/propulsion/burst,
/turf/simulated/floor/plating,
/turf/simulated/shuttle/wall{
icon_state = "swall_f5";
dir = 2
@@ -157,8 +157,8 @@
/turf/simulated/shuttle/floor,
/area/ruin/powered)
"aC" = (
/turf/simulated/floor/plating,
/obj/structure/shuttle/engine/propulsion/burst,
/turf/simulated/floor/plating,
/turf/simulated/shuttle/wall{
icon_state = "swall_f9";
dir = 2
@@ -442,8 +442,8 @@
/turf/simulated/floor/plating,
/area/ruin/powered)
"bp" = (
/turf/simulated/floor/plating/airless/asteroid,
/obj/structure/shuttle/engine/propulsion/burst,
/turf/simulated/floor/plating/airless/asteroid,
/turf/simulated/shuttle/wall{
icon_state = "swall_f5";
dir = 2
@@ -464,8 +464,8 @@
/turf/simulated/floor/plating,
/area/ruin/powered)
"bs" = (
/turf/simulated/floor/plating/airless/asteroid,
/obj/structure/shuttle/engine/propulsion/burst,
/turf/simulated/floor/plating/airless/asteroid,
/turf/simulated/shuttle/wall{
icon_state = "swall_f9";
dir = 2
@@ -1052,7 +1052,6 @@
/turf/simulated/floor/plating,
/area/awaymission/centcomAway/maint)
"cN" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -1060,10 +1059,10 @@
pixel_x = 0;
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/awaymission/centcomAway/maint)
"cO" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -1083,6 +1082,7 @@
pixel_x = 0;
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/awaymission/centcomAway/maint)
"cP" = (
@@ -1538,7 +1538,6 @@
},
/area/awaymission/centcomAway/hangar)
"dU" = (
/turf/space,
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -1552,6 +1551,7 @@
pixel_x = 0;
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/awaymission/centcomAway/maint)
"dV" = (
@@ -1639,7 +1639,6 @@
},
/area/awaymission/centcomAway/hangar)
"eh" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -1647,6 +1646,7 @@
pixel_y = 0;
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/awaymission/centcomAway/maint)
"ei" = (
@@ -1692,9 +1692,9 @@
/turf/simulated/floor/plating,
/area/awaymission/centcomAway/hangar)
"eo" = (
/turf/space,
/obj/structure/cable,
/obj/machinery/power/tracker,
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/awaymission/centcomAway/maint)
"ep" = (
@@ -4679,20 +4679,20 @@
},
/area/awaymission/centcomAway/general)
"ls" = (
/turf/simulated/floor/plating,
/obj/structure/shuttle/engine/propulsion/burst{
dir = 8
},
/turf/simulated/floor/plating,
/turf/simulated/shuttle/wall{
icon_state = "swall_f6";
dir = 2
},
/area/awaymission/centcomAway/hangar)
"lt" = (
/turf/simulated/floor/plating,
/obj/structure/shuttle/engine/propulsion/burst{
dir = 8
},
/turf/simulated/floor/plating,
/turf/simulated/shuttle/wall{
icon_state = "swall_f5";
dir = 2
+98 -97
View File
@@ -619,8 +619,8 @@
},
/area/shuttle/abandoned)
"abG" = (
/turf/space,
/obj/machinery/porta_turret/syndicate,
/turf/space,
/turf/simulated/shuttle/wall{
dir = 8;
icon_state = "diagonalWall3"
@@ -686,8 +686,8 @@
/turf/simulated/shuttle/plating,
/area/shuttle/syndicate)
"abL" = (
/turf/space,
/obj/machinery/porta_turret/syndicate,
/turf/space,
/turf/simulated/shuttle/wall{
dir = 1;
icon_state = "diagonalWall3"
@@ -2151,6 +2151,7 @@
},
/area/shuttle/syndicate_sit)
"aey" = (
/obj/machinery/computer/brigcells,
/turf/simulated/floor/plasteel{
dir = 9;
icon_state = "darkred"
@@ -6056,13 +6057,14 @@
/turf/simulated/floor/plasteel,
/area/security/permabrig)
"akN" = (
/obj/item/twohanded/required/kirbyplants,
/obj/machinery/newscaster{
pixel_y = 30
},
/obj/machinery/computer/security/telescreen/entertainment{
pixel_x = 32
},
/obj/structure/closet/secure_closet/hos,
/obj/item/reagent_containers/food/drinks/flask/barflask,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -6581,12 +6583,12 @@
/turf/simulated/floor/plating,
/area/security/hos)
"alD" = (
/turf/space,
/obj/structure/cable{
icon_state = "0-2";
d2 = 2
},
/obj/machinery/power/tracker,
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxstarboard)
"alE" = (
@@ -7003,7 +7005,6 @@
/turf/simulated/floor/plasteel,
/area/security/main)
"amo" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -7011,6 +7012,7 @@
pixel_y = 0;
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxstarboard)
"amp" = (
@@ -7070,8 +7072,6 @@
/turf/simulated/floor/plating,
/area/security/permabrig)
"amt" = (
/obj/structure/closet/secure_closet/hos,
/obj/item/reagent_containers/food/drinks/flask/barflask,
/obj/machinery/requests_console{
announcementConsole = 1;
department = "Head of Security's Desk";
@@ -7080,6 +7080,7 @@
pixel_x = 30;
pixel_y = 0
},
/obj/machinery/computer/brigcells,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -7385,12 +7386,12 @@
},
/area/security/hos)
"amU" = (
/turf/space,
/obj/structure/cable{
icon_state = "0-2";
d2 = 2
},
/obj/machinery/power/tracker,
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"amV" = (
@@ -7542,8 +7543,8 @@
},
/area/security/permabrig)
"ann" = (
/turf/space,
/obj/structure/cable,
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxstarboard)
"ano" = (
@@ -7783,7 +7784,6 @@
/turf/simulated/floor/plasteel,
/area/security/seceqstorage)
"anG" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -7791,6 +7791,7 @@
pixel_y = 0;
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"anH" = (
@@ -8160,7 +8161,7 @@
},
/area/security/evidence)
"aom" = (
/obj/machinery/computer/station_alert/all,
/obj/machinery/computer/brigcells,
/turf/simulated/floor/plasteel{
dir = 9;
icon_state = "darkred"
@@ -8456,7 +8457,6 @@
/turf/simulated/floor/plasteel,
/area/security/main)
"aoK" = (
/turf/space,
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -8469,6 +8469,7 @@
icon_state = "2-4";
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxstarboard)
"aoL" = (
@@ -8826,7 +8827,6 @@
/turf/simulated/floor/plating,
/area/security/main)
"apn" = (
/turf/space,
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -8845,6 +8845,7 @@
icon_state = "1-2";
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxstarboard)
"apo" = (
@@ -9793,8 +9794,8 @@
},
/area/lawoffice)
"arb" = (
/turf/space,
/obj/structure/cable,
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"arc" = (
@@ -10293,7 +10294,6 @@
},
/area/security/evidence)
"arL" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 4;
@@ -10306,10 +10306,10 @@
icon_state = "2-4";
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"arM" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -10329,14 +10329,15 @@
icon_state = "2-4";
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"arN" = (
/turf/space,
/obj/structure/cable{
d2 = 8;
icon_state = "0-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"arO" = (
@@ -10405,11 +10406,11 @@
/turf/simulated/floor/plating,
/area/maintenance/fsmaint)
"arU" = (
/turf/space,
/obj/structure/cable{
icon_state = "0-4";
d2 = 4
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"arV" = (
@@ -11004,7 +11005,6 @@
},
/area/shuttle/trade/sol)
"asL" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -11024,10 +11024,10 @@
icon_state = "1-8";
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"asM" = (
/turf/space,
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -11040,6 +11040,7 @@
icon_state = "1-8";
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"asN" = (
@@ -13075,7 +13076,6 @@
},
/area/security/permabrig)
"avM" = (
/turf/space,
/obj/machinery/access_button{
command = "cycle_exterior";
frequency = 1450;
@@ -13085,6 +13085,7 @@
pixel_y = -25;
req_access_txt = "13"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/space)
"avN" = (
@@ -13418,7 +13419,6 @@
/turf/simulated/floor/plasteel,
/area/security/processing)
"awk" = (
/turf/space,
/obj/machinery/access_button{
command = "cycle_exterior";
frequency = 1379;
@@ -13433,6 +13433,7 @@
pixel_y = 1;
d2 = 2
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxport)
"awl" = (
@@ -13711,10 +13712,10 @@
},
/area/security/permabrig)
"awP" = (
/turf/simulated/floor/plating,
/obj/structure/shuttle/engine/propulsion/burst{
dir = 8
},
/turf/simulated/floor/plating,
/turf/simulated/shuttle/wall{
tag = "icon-swall_f6";
icon_state = "swall_f6";
@@ -13722,20 +13723,20 @@
},
/area/shuttle/pod_3)
"awQ" = (
/turf/space,
/obj/structure/cable{
d1 = 2;
d2 = 4;
icon_state = "2-4"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxstarboard)
"awR" = (
/turf/space,
/obj/structure/cable{
d2 = 8;
icon_state = "0-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxstarboard)
"awS" = (
@@ -14008,13 +14009,13 @@
},
/area/lawoffice)
"axq" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2";
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxstarboard)
"axr" = (
@@ -14330,10 +14331,10 @@
},
/area/security/prison/cell_block/A)
"axN" = (
/turf/simulated/floor/plating,
/obj/structure/shuttle/engine/propulsion/burst{
dir = 8
},
/turf/simulated/floor/plating,
/turf/simulated/shuttle/wall{
tag = "icon-swall_f5";
icon_state = "swall_f5";
@@ -14809,7 +14810,6 @@
},
/area/security/execution)
"ayE" = (
/turf/space,
/obj/machinery/access_button{
command = "cycle_exterior";
frequency = 1379;
@@ -14825,6 +14825,7 @@
icon_state = "1-2";
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/auxstarboard)
"ayF" = (
@@ -15159,7 +15160,6 @@
/turf/simulated/wall/r_wall,
/area/security/processing)
"azb" = (
/turf/space,
/obj/machinery/access_button{
command = "cycle_exterior";
frequency = 1450;
@@ -15169,6 +15169,7 @@
pixel_y = -25;
req_access_txt = "13"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/space)
"azc" = (
@@ -16525,7 +16526,6 @@
/turf/simulated/floor/plating,
/area/maintenance/fsmaint)
"aBx" = (
/turf/space,
/obj/machinery/access_button{
command = "cycle_exterior";
frequency = 1379;
@@ -16535,6 +16535,7 @@
pixel_y = 0;
req_access_txt = "13"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/space)
"aBy" = (
@@ -18243,7 +18244,6 @@
/turf/simulated/floor/plating,
/area/maintenance/fpmaint2)
"aEM" = (
/turf/space,
/obj/machinery/access_button{
command = "cycle_exterior";
frequency = 1379;
@@ -18253,6 +18253,7 @@
pixel_y = -25;
req_access_txt = "13"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/space)
"aEN" = (
@@ -22882,16 +22883,16 @@
/turf/simulated/floor/plating,
/area/maintenance/electrical)
"aON" = (
/turf/simulated/floor/plating,
/obj/structure/shuttle/engine/propulsion/burst,
/turf/simulated/floor/plating,
/turf/simulated/shuttle/wall{
icon_state = "swall_f5";
dir = 2
},
/area/shuttle/pod_1)
"aOO" = (
/turf/simulated/floor/plating,
/obj/structure/shuttle/engine/propulsion/burst,
/turf/simulated/floor/plating,
/turf/simulated/shuttle/wall{
icon_state = "swall_f9";
dir = 2
@@ -23349,8 +23350,8 @@
/turf/simulated/wall,
/area/maintenance/electrical)
"aPP" = (
/turf/simulated/floor/plating,
/obj/structure/shuttle/engine/propulsion/burst,
/turf/simulated/floor/plating,
/turf/simulated/shuttle/wall{
icon_state = "swall_f5";
dir = 2
@@ -23404,8 +23405,8 @@
},
/area/hallway/secondary/entry)
"aPU" = (
/turf/simulated/floor/plating,
/obj/structure/shuttle/engine/propulsion/burst,
/turf/simulated/floor/plating,
/turf/simulated/shuttle/wall{
icon_state = "swall_f9";
dir = 2
@@ -33753,6 +33754,13 @@
},
/area/hydroponics)
"bje" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 6
},
/turf/simulated/floor/plasteel{
dir = 2;
icon_state = "asteroid";
@@ -33763,13 +33771,6 @@
icon_state = "siding2";
dir = 1
},
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 6
},
/turf/simulated/floor/plasteel{
tag = "icon-siding1 (NORTH)";
icon_state = "siding1";
@@ -33781,16 +33782,6 @@
/turf/simulated/floor/wood,
/area/crew_quarters/bar)
"bjg" = (
/turf/simulated/floor/plasteel{
dir = 2;
icon_state = "asteroid";
tag = "icon-asteroid (NORTH)"
},
/turf/simulated/floor/plasteel{
tag = "icon-siding1 (NORTH)";
icon_state = "siding1";
dir = 1
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
@@ -33798,13 +33789,6 @@
dir = 4
},
/mob/living/simple_animal/pig,
/turf/simulated/floor/plasteel{
tag = "icon-siding2 (NORTH)";
icon_state = "siding2";
dir = 1
},
/area/hydroponics)
"bjh" = (
/turf/simulated/floor/plasteel{
dir = 2;
icon_state = "asteroid";
@@ -33815,12 +33799,29 @@
icon_state = "siding1";
dir = 1
},
/turf/simulated/floor/plasteel{
tag = "icon-siding2 (NORTH)";
icon_state = "siding2";
dir = 1
},
/area/hydroponics)
"bjh" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
/turf/simulated/floor/plasteel{
dir = 2;
icon_state = "asteroid";
tag = "icon-asteroid (NORTH)"
},
/turf/simulated/floor/plasteel{
tag = "icon-siding1 (NORTH)";
icon_state = "siding1";
dir = 1
},
/turf/simulated/floor/plasteel{
tag = "icon-siding2 (NORTH)";
icon_state = "siding2";
@@ -40653,12 +40654,12 @@
/turf/simulated/floor/plasteel,
/area/hallway/secondary/exit)
"bwX" = (
/turf/space,
/obj/structure/shuttle/engine/propulsion{
dir = 8;
icon_state = "propulsion";
tag = "icon-propulsion (EAST)"
},
/turf/space,
/turf/simulated/shuttle/wall{
icon_state = "swall_f6";
dir = 2
@@ -41449,12 +41450,12 @@
},
/area/hallway/primary/central/ne)
"bys" = (
/turf/space,
/obj/structure/shuttle/engine/propulsion{
dir = 8;
icon_state = "propulsion";
tag = "icon-propulsion (EAST)"
},
/turf/space,
/turf/simulated/shuttle/wall{
icon_state = "swall_f5";
dir = 2
@@ -66710,7 +66711,6 @@
/turf/simulated/floor/plating,
/area/medical/virology)
"cpz" = (
/turf/space,
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -66723,6 +66723,7 @@
icon_state = "2-4";
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/port)
"cpA" = (
@@ -80064,7 +80065,6 @@
/turf/simulated/floor/plating,
/area/maintenance/asmaint)
"cMB" = (
/turf/space,
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -80083,6 +80083,7 @@
icon_state = "1-2";
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/port)
"cMC" = (
@@ -80625,11 +80626,11 @@
/turf/simulated/floor/plating,
/area/maintenance/aft)
"cNE" = (
/turf/space,
/obj/machinery/atmospherics/pipe/simple/visible/yellow{
dir = 10;
level = 2
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/space)
"cNF" = (
@@ -81634,13 +81635,13 @@
/turf/simulated/floor/plasteel,
/area/assembly/assembly_line)
"cPw" = (
/turf/space,
/obj/machinery/atmospherics/pipe/simple/visible/yellow,
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/space)
"cPx" = (
/turf/space,
/obj/structure/cable,
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/port)
"cPy" = (
@@ -81683,12 +81684,12 @@
/turf/simulated/floor/plasteel,
/area/atmos/distribution)
"cPC" = (
/turf/space,
/obj/machinery/power/tracker,
/obj/structure/cable{
icon_state = "0-4";
d2 = 4
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/port)
"cPD" = (
@@ -81728,29 +81729,29 @@
},
/area/toxins/xenobiology)
"cPG" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
icon_state = "4-8";
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/port)
"cPH" = (
/turf/space,
/obj/structure/cable{
d2 = 8;
icon_state = "0-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/port)
"cPI" = (
/turf/space,
/obj/structure/cable{
icon_state = "0-4";
d2 = 4
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/port)
"cPJ" = (
@@ -81919,7 +81920,6 @@
/turf/simulated/floor/plating,
/area/atmos/distribution)
"cQa" = (
/turf/space,
/obj/machinery/access_button{
command = "cycle_exterior";
frequency = 1379;
@@ -81935,6 +81935,7 @@
icon_state = "4-8";
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/port)
"cQb" = (
@@ -82065,11 +82066,11 @@
/turf/space,
/area/space)
"cQq" = (
/turf/space,
/obj/structure/cable{
icon_state = "0-2";
d2 = 2
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/port)
"cQr" = (
@@ -82565,7 +82566,6 @@
/turf/simulated/floor/plasteel,
/area/atmos/distribution)
"cRe" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -82584,6 +82584,7 @@
icon_state = "1-2";
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/port)
"cRf" = (
@@ -83266,7 +83267,6 @@
/turf/simulated/floor/plating,
/area/maintenance/aft)
"cSk" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -83279,6 +83279,7 @@
icon_state = "1-4";
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/port)
"cSl" = (
@@ -84244,7 +84245,6 @@
/turf/simulated/floor/plasteel,
/area/maintenance/asmaint)
"cTR" = (
/turf/space,
/obj/machinery/access_button{
command = "cycle_exterior";
frequency = 1450;
@@ -84254,6 +84254,7 @@
pixel_y = 8;
req_access_txt = "13"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/space)
"cTS" = (
@@ -86905,12 +86906,12 @@
/turf/simulated/floor/plasteel,
/area/maintenance/turbine)
"cYz" = (
/turf/space,
/obj/machinery/access_button/airlock_exterior{
master_tag = "atmospherics_south";
pixel_x = -25;
pixel_y = -8
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/space)
"cYA" = (
@@ -89472,7 +89473,6 @@
/turf/simulated/floor/plasteel,
/area/maintenance/turbine)
"ddA" = (
/turf/space,
/obj/machinery/access_button{
command = "cycle_exterior";
frequency = 1379;
@@ -89489,6 +89489,7 @@
pixel_y = 0;
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"ddB" = (
@@ -89499,19 +89500,18 @@
/turf/simulated/floor/plating,
/area/maintenance/asmaint2)
"ddC" = (
/turf/space,
/obj/structure/transit_tube{
icon_state = "E-W-Pass"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/space)
"ddD" = (
/turf/space,
/obj/item/wrench,
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/space)
"ddE" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -89519,6 +89519,7 @@
pixel_y = 0;
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"ddF" = (
@@ -89572,7 +89573,6 @@
/turf/space,
/area/space)
"ddM" = (
/turf/space,
/obj/machinery/access_button{
command = "cycle_exterior";
frequency = 1379;
@@ -89582,23 +89582,23 @@
pixel_y = 25;
req_access_txt = "75;13"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/space)
"ddN" = (
/turf/space,
/obj/structure/cable,
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"ddO" = (
/turf/space,
/obj/machinery/atmospherics/pipe/simple/visible/yellow{
dir = 6;
level = 2
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/space)
"ddP" = (
/turf/space,
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -89611,10 +89611,10 @@
icon_state = "1-4";
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"ddQ" = (
/turf/space,
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -89634,14 +89634,15 @@
pixel_x = 0;
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"ddR" = (
/turf/space,
/obj/structure/cable{
d2 = 8;
icon_state = "0-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"ddS" = (
@@ -89649,15 +89650,14 @@
/turf/simulated/floor/plating,
/area/engine/engineering)
"ddT" = (
/turf/space,
/obj/structure/cable{
icon_state = "0-4";
d2 = 4
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"ddU" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -89677,10 +89677,10 @@
pixel_x = 0;
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"ddV" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -89693,13 +89693,14 @@
icon_state = "2-8";
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"ddW" = (
/turf/simulated/floor/plating,
/obj/structure/shuttle/engine/propulsion/burst{
dir = 8
},
/turf/simulated/floor/plating,
/turf/simulated/shuttle/wall{
tag = "icon-swall_f6";
icon_state = "swall_f6";
@@ -89707,7 +89708,6 @@
},
/area/shuttle/pod_4)
"ddX" = (
/turf/space,
/obj/machinery/access_button{
command = "cycle_exterior";
frequency = 1450;
@@ -89717,16 +89717,17 @@
pixel_y = 25;
req_access_txt = "13"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk{
tag = "icon-catwalk0";
icon_state = "catwalk0"
},
/area/space)
"ddY" = (
/turf/simulated/floor/plating,
/obj/structure/shuttle/engine/propulsion/burst{
dir = 8
},
/turf/simulated/floor/plating,
/turf/simulated/shuttle/wall{
tag = "icon-swall_f5";
icon_state = "swall_f5";
@@ -89755,7 +89756,6 @@
/turf/simulated/floor/plating,
/area/maintenance/asmaint2)
"deb" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -89766,6 +89766,7 @@
d2 = 8;
icon_state = "2-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"dec" = (
@@ -89773,15 +89774,14 @@
/turf/simulated/floor/plasteel,
/area/atmos)
"ded" = (
/turf/space,
/obj/structure/cable{
icon_state = "0-2";
d2 = 2
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"dee" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -89789,10 +89789,10 @@
pixel_x = 0;
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"def" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 4;
@@ -89811,12 +89811,13 @@
icon_state = "1-2";
tag = ""
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"deg" = (
/turf/space,
/obj/structure/cable,
/obj/machinery/power/tracker,
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/solar/starboard)
"deh" = (
+23 -23
View File
@@ -410,8 +410,8 @@
},
/area/holodeck/source_meetinghall)
"bg" = (
/turf/simulated/floor/holofloor/grass,
/obj/structure/flora/ausbushes/grassybush,
/turf/simulated/floor/holofloor/grass,
/turf/simulated/floor/holofloor{
tag = "icon-wood_siding5";
icon_state = "wood_siding5";
@@ -441,8 +441,8 @@
/turf/unsimulated/floor/plating/vox,
/area/vox_station)
"bm" = (
/turf/simulated/floor/holofloor/grass,
/obj/structure/flora/ausbushes/grassybush,
/turf/simulated/floor/holofloor/grass,
/turf/simulated/floor/holofloor{
tag = "icon-wood_siding9";
icon_state = "wood_siding9";
@@ -516,8 +516,8 @@
},
/area/holodeck/source_meetinghall)
"bw" = (
/turf/simulated/floor/holofloor/grass,
/obj/structure/flora/ausbushes/grassybush,
/turf/simulated/floor/holofloor/grass,
/turf/simulated/floor/holofloor{
tag = "icon-wood_siding6";
icon_state = "wood_siding6";
@@ -743,8 +743,8 @@
},
/area/space)
"cd" = (
/turf/simulated/floor/holofloor/grass,
/obj/structure/flora/ausbushes/brflowers,
/turf/simulated/floor/holofloor/grass,
/turf/simulated/floor/holofloor{
dir = 2;
icon_state = "wood_siding4";
@@ -838,8 +838,8 @@
},
/area/space)
"cs" = (
/turf/simulated/floor/holofloor/grass,
/obj/structure/flora/ausbushes/grassybush,
/turf/simulated/floor/holofloor/grass,
/turf/simulated/floor/holofloor{
dir = 2;
icon_state = "wood_siding10";
@@ -847,8 +847,8 @@
},
/area/holodeck/source_picnicarea)
"ct" = (
/turf/simulated/floor/holofloor/grass,
/obj/structure/flora/ausbushes/brflowers,
/turf/simulated/floor/holofloor/grass,
/turf/simulated/floor/holofloor{
dir = 2;
icon_state = "wood_siding8";
@@ -2882,10 +2882,10 @@
},
/area/syndicate_mothership)
"ht" = (
/turf/unsimulated/floor/snow,
/obj/structure/flora/tree/pine{
pixel_x = 1
},
/turf/unsimulated/floor/snow,
/turf/unsimulated/floor/snow{
tag = "icon-gravsnow_corner (SOUTHWEST)";
icon_state = "gravsnow_corner";
@@ -3038,8 +3038,8 @@
},
/area/syndicate_mothership)
"hP" = (
/turf/unsimulated/floor/snow,
/obj/structure/flora/grass/brown,
/turf/unsimulated/floor/snow,
/turf/unsimulated/floor/snow{
tag = "icon-gravsnow_corner (EAST)";
icon_state = "gravsnow_corner";
@@ -3207,8 +3207,8 @@
},
/area/syndicate_mothership)
"ip" = (
/turf/unsimulated/floor/snow,
/obj/structure/flora/grass/brown,
/turf/unsimulated/floor/snow,
/turf/unsimulated/floor/snow{
tag = "icon-gravsnow_corner (SOUTHWEST)";
icon_state = "gravsnow_corner";
@@ -3362,10 +3362,10 @@
/turf/simulated/floor/plating/airless,
/area/syndicate_mothership)
"iH" = (
/turf/unsimulated/floor/snow,
/obj/structure/flora/tree/pine{
pixel_x = 1
},
/turf/unsimulated/floor/snow,
/turf/unsimulated/floor/snow{
icon_state = "gravsnow_corner"
},
@@ -3422,9 +3422,9 @@
},
/area/syndicate_mothership)
"iO" = (
/obj/machinery/porta_turret/syndicate/pod,
/turf/simulated/floor/pod,
/turf/space,
/obj/machinery/porta_turret/syndicate/pod,
/turf/simulated/shuttle/wall{
dir = 8;
icon_state = "diagonalWall3"
@@ -3440,9 +3440,9 @@
/turf/simulated/floor/plating,
/area/shuttle/assault_pod)
"iQ" = (
/obj/machinery/porta_turret/syndicate/pod,
/turf/simulated/floor/pod,
/turf/space,
/obj/machinery/porta_turret/syndicate/pod,
/turf/simulated/shuttle/wall{
dir = 1;
icon_state = "diagonalWall3"
@@ -3885,9 +3885,9 @@
},
/area/syndicate_mothership)
"kc" = (
/obj/machinery/porta_turret/syndicate/pod,
/turf/simulated/floor/pod,
/turf/space,
/obj/machinery/porta_turret/syndicate/pod,
/turf/simulated/shuttle/wall{
tag = "icon-diagonalWall3";
icon_state = "diagonalWall3";
@@ -3916,9 +3916,9 @@
},
/area/wizard_station)
"kh" = (
/obj/machinery/porta_turret/syndicate/pod,
/turf/simulated/floor/pod,
/turf/space,
/obj/machinery/porta_turret/syndicate/pod,
/turf/simulated/shuttle/wall{
dir = 4;
icon_state = "diagonalWall3"
@@ -3978,8 +3978,8 @@
},
/area/syndicate_mothership)
"ko" = (
/turf/unsimulated/floor/snow,
/obj/structure/flora/bush,
/turf/unsimulated/floor/snow,
/turf/unsimulated/floor/snow{
tag = "icon-gravsnow_corner (NORTH)";
icon_state = "gravsnow_corner";
@@ -5439,26 +5439,26 @@
},
/area/syndicate_mothership)
"nX" = (
/turf/unsimulated/floor/snow,
/obj/structure/flora/tree/pine,
/turf/unsimulated/floor/snow,
/turf/unsimulated/floor/snow{
icon_state = "gravsnow_corner"
},
/area/syndicate_mothership)
"nY" = (
/turf/unsimulated/floor/snow,
/obj/structure/flora/grass/brown,
/turf/unsimulated/floor/snow,
/turf/unsimulated/floor/snow{
icon_state = "gravsnow_corner"
},
/area/syndicate_mothership)
"nZ" = (
/turf/unsimulated/floor{
icon_state = "engine"
},
/obj/structure/window/reinforced{
dir = 1
},
/turf/unsimulated/floor{
icon_state = "engine"
},
/turf/unsimulated/wall{
dir = 1;
icon = 'icons/turf/shuttle.dmi';
@@ -5466,12 +5466,12 @@
},
/area/admin)
"oa" = (
/turf/unsimulated/floor{
icon_state = "engine"
},
/obj/structure/window/reinforced{
dir = 1
},
/turf/unsimulated/floor{
icon_state = "engine"
},
/turf/unsimulated/wall{
dir = 8;
icon = 'icons/turf/shuttle.dmi';
+19 -19
View File
@@ -908,12 +908,12 @@
},
/area/engiestation/solars)
"cu" = (
/turf/simulated/floor/plating/airless,
/obj/structure/cable{
d1 = 2;
d2 = 8;
icon_state = "2-8"
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk{
tag = "icon-catwalk3";
icon_state = "catwalk3"
@@ -930,7 +930,6 @@
},
/area/engiestation/solars)
"cw" = (
/turf/simulated/floor/plating/airless,
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -941,6 +940,7 @@
d2 = 4;
icon_state = "2-4"
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk{
tag = "icon-catwalk3";
icon_state = "catwalk3"
@@ -972,7 +972,6 @@
/turf/simulated/floor/plasteel/airless,
/area/constructionsite/hallway/center)
"cA" = (
/turf/simulated/floor/plating/airless,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -983,13 +982,13 @@
d2 = 8;
icon_state = "2-8"
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk{
tag = "icon-catwalk3";
icon_state = "catwalk3"
},
/area/engiestation/solars)
"cB" = (
/turf/simulated/floor/plating/airless,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -1005,6 +1004,7 @@
d2 = 4;
icon_state = "2-4"
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk{
tag = "icon-catwalk3";
icon_state = "catwalk3"
@@ -1093,7 +1093,6 @@
},
/area/engiestation/solars)
"cN" = (
/turf/simulated/floor/plating/airless,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -1104,13 +1103,13 @@
d2 = 8;
icon_state = "2-8"
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk{
tag = "icon-catwalk1";
icon_state = "catwalk1"
},
/area/engiestation/solars)
"cO" = (
/turf/simulated/floor/plating/airless,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -1126,6 +1125,7 @@
d2 = 4;
icon_state = "2-4"
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk{
tag = "icon-catwalk1";
icon_state = "catwalk1"
@@ -1332,7 +1332,6 @@
},
/area/engiestation/solars)
"dp" = (
/turf/simulated/floor/plating/airless,
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -1343,13 +1342,13 @@
d2 = 4;
icon_state = "1-4"
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk{
tag = "icon-catwalk12";
icon_state = "catwalk12"
},
/area/engiestation/solars)
"dq" = (
/turf/simulated/floor/plating/airless,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -1366,13 +1365,13 @@
d2 = 4;
icon_state = "1-4"
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk{
tag = "icon-catwalk12";
icon_state = "catwalk12"
},
/area/engiestation/solars)
"dr" = (
/turf/simulated/floor/plating/airless,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -1389,6 +1388,7 @@
d2 = 4;
icon_state = "1-4"
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk{
tag = "icon-catwalk8";
icon_state = "catwalk8"
@@ -1487,7 +1487,6 @@
},
/area/engiestation)
"dy" = (
/turf/simulated/floor/plating/airless,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -1504,13 +1503,13 @@
icon_state = "4-8";
pixel_x = 0
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk{
tag = "icon-catwalk4";
icon_state = "catwalk4"
},
/area/engiestation/solars)
"dz" = (
/turf/simulated/floor/plating/airless,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -1527,13 +1526,13 @@
icon_state = "4-8";
pixel_x = 0
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk{
tag = "icon-catwalk12";
icon_state = "catwalk12"
},
/area/engiestation/solars)
"dA" = (
/turf/simulated/floor/plating/airless,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -1544,6 +1543,7 @@
d2 = 8;
icon_state = "2-8"
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk{
tag = "icon-catwalk12";
icon_state = "catwalk12"
@@ -1702,19 +1702,18 @@
/turf/simulated/floor/plating/airless,
/area/constructionsite/ai)
"dS" = (
/turf/simulated/floor/plating/airless,
/obj/structure/cable{
d1 = 2;
d2 = 4;
icon_state = "2-4"
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk{
tag = "icon-catwalk12";
icon_state = "catwalk12"
},
/area/engiestation/solars)
"dT" = (
/turf/simulated/floor/plating/airless,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -1726,13 +1725,13 @@
d2 = 4;
icon_state = "2-4"
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk{
tag = "icon-catwalk12";
icon_state = "catwalk12"
},
/area/engiestation/solars)
"dU" = (
/turf/simulated/floor/plating/airless,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -1744,6 +1743,7 @@
d2 = 4;
icon_state = "2-4"
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk{
tag = "icon-catwalk8";
icon_state = "catwalk8"
@@ -1792,7 +1792,6 @@
},
/area/engiestation)
"ea" = (
/turf/simulated/floor/plating/airless,
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -1804,13 +1803,13 @@
icon_state = "4-8";
pixel_x = 0
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk{
tag = "icon-catwalk4";
icon_state = "catwalk4"
},
/area/engiestation/solars)
"eb" = (
/turf/simulated/floor/plating/airless,
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -1822,18 +1821,19 @@
icon_state = "4-8";
pixel_x = 0
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk{
tag = "icon-catwalk12";
icon_state = "catwalk12"
},
/area/engiestation/solars)
"ec" = (
/turf/simulated/floor/plating/airless,
/obj/structure/cable{
d1 = 2;
d2 = 8;
icon_state = "2-8"
},
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk{
tag = "icon-catwalk12";
icon_state = "catwalk12"
@@ -2642,8 +2642,8 @@
},
/area/space)
"fR" = (
/turf/simulated/floor/plating/airless,
/obj/item/lighter/zippo,
/turf/simulated/floor/plating/airless,
/turf/simulated/floor/plating/airless/catwalk{
tag = "icon-catwalk8";
icon_state = "catwalk8"
+30 -30
View File
@@ -61,7 +61,6 @@
/turf/simulated/floor/plating,
/area/djstation)
"an" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -77,6 +76,7 @@
d2 = 8;
icon_state = "2-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/djstation/solars)
"ao" = (
@@ -88,12 +88,12 @@
/turf/space,
/area/space)
"ap" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/djstation/solars)
"aq" = (
@@ -120,12 +120,12 @@
/turf/simulated/floor/plating,
/area/djstation)
"as" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/djstation)
"at" = (
@@ -297,7 +297,6 @@
/turf/simulated/floor/plating,
/area/derelict/bridge)
"aQ" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -313,10 +312,10 @@
d2 = 4;
icon_state = "1-4"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/djstation)
"aR" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -332,19 +331,19 @@
d2 = 4;
icon_state = "1-4"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/djstation/solars)
"aS" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/djstation/solars)
"aT" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -360,6 +359,7 @@
d2 = 8;
icon_state = "2-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/djstation/solars)
"aU" = (
@@ -371,7 +371,6 @@
/turf/simulated/floor/plating,
/area/djstation)
"aV" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -387,6 +386,7 @@
d2 = 8;
icon_state = "2-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/djstation)
"aW" = (
@@ -4329,11 +4329,11 @@
name = "Derelict Annex"
})
"jj" = (
/obj/effect/landmark/burnturf,
/turf/simulated/floor/plasteel{
dir = 2;
icon_state = "cautionfull"
},
/obj/effect/landmark/burnturf,
/turf/simulated/wall/mineral/titanium/nodecon/tileblend{
fixed_underlay = list("icon" = 'icons/turf/floors.dmi', "icon_state" = "cautionfull");
icon_state = "4-i"
@@ -4587,7 +4587,6 @@
name = "Derelict Annex"
})
"jK" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -4603,6 +4602,7 @@
d2 = 8;
icon_state = "2-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/derelict/solar_control)
"jL" = (
@@ -6688,12 +6688,12 @@
},
/area/syndicate_depot/core)
"oS" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/derelict/solar_control)
"oT" = (
@@ -7746,16 +7746,15 @@
},
/area/derelict/crew_quarters)
"rm" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/derelict/solar_control)
"rn" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -7766,6 +7765,7 @@
d2 = 8;
icon_state = "1-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/derelict/solar_control)
"ro" = (
@@ -7978,7 +7978,6 @@
},
/area/derelict/crew_quarters)
"rF" = (
/turf/space,
/obj/structure/cable{
d1 = 2;
d2 = 8;
@@ -7994,6 +7993,7 @@
d2 = 8;
icon_state = "1-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/derelict/solar_control)
"rG" = (
@@ -8262,7 +8262,6 @@
},
/area/derelict/crew_quarters)
"sh" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -8273,6 +8272,7 @@
d2 = 4;
icon_state = "2-4"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/derelict/solar_control)
"si" = (
@@ -8996,7 +8996,6 @@
},
/area/derelict/crew_quarters)
"tE" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -9007,6 +9006,7 @@
d2 = 8;
icon_state = "2-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/derelict/solar_control)
"tF" = (
@@ -9025,7 +9025,6 @@
},
/area/derelict/arrival)
"tH" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -9041,6 +9040,7 @@
d2 = 8;
icon_state = "2-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/derelict/solar_control)
"tI" = (
@@ -9547,7 +9547,6 @@
name = "Derelict Annex"
})
"uI" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -9564,6 +9563,7 @@
d2 = 8;
icon_state = "1-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/derelict/solar_control)
"uJ" = (
@@ -9704,13 +9704,13 @@
name = "Derelict Annex"
})
"uV" = (
/obj/structure/window/reinforced{
dir = 1
},
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whiteredfull"
},
/obj/structure/window/reinforced{
dir = 1
},
/turf/simulated/wall/mineral/titanium/nodecon/tileblend{
fixed_underlay = list("icon" = 'icons/turf/floors.dmi', "icon_state" = "whiteredfull");
icon_state = "4-i"
@@ -9838,13 +9838,13 @@
name = "Derelict Annex"
})
"vi" = (
/obj/structure/window/reinforced{
dir = 8
},
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "whiteredfull"
},
/obj/structure/window/reinforced{
dir = 8
},
/turf/simulated/wall/mineral/titanium/nodecon/tileblend{
fixed_underlay = list("icon" = 'icons/turf/floors.dmi', "icon_state" = "whiteredfull");
icon_state = "4-i"
@@ -9880,7 +9880,6 @@
/turf/space,
/area/derelict/arrival)
"vm" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -9896,6 +9895,7 @@
d2 = 4;
icon_state = "1-4"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/derelict/solar_control)
"vn" = (
@@ -10452,7 +10452,6 @@
name = "Derelict Annex"
})
"wl" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -10463,10 +10462,10 @@
d2 = 8;
icon_state = "1-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/derelict/solar_control)
"wm" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -10477,6 +10476,7 @@
d2 = 4;
icon_state = "1-4"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/derelict/solar_control)
"wn" = (
@@ -10487,7 +10487,6 @@
},
/area/derelict/crew_quarters)
"wo" = (
/turf/space,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -10503,10 +10502,10 @@
d2 = 8;
icon_state = "2-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/derelict/solar_control)
"wp" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -10522,10 +10521,10 @@
d2 = 4;
icon_state = "1-4"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/derelict/solar_control)
"wq" = (
/turf/space,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -10541,6 +10540,7 @@
d2 = 8;
icon_state = "1-8"
},
/turf/space,
/turf/simulated/floor/plating/airless/catwalk,
/area/derelict/solar_control)
"wr" = (
@@ -296,13 +296,13 @@
/turf/simulated/floor/engine/cult,
/area/shuttle/escape)
"aR" = (
/obj/effect/spawner/window/reinforced{
color = "red"
},
/turf/simulated/shuttle/wall{
icon_state = "swall3";
dir = 2
},
/obj/effect/spawner/window/reinforced{
color = "red"
},
/turf/simulated/wall/cult,
/area/shuttle/escape)
"aS" = (
+2 -2
View File
@@ -3,12 +3,12 @@
/turf/space,
/area/space)
"b" = (
/turf/space,
/obj/structure/shuttle/engine/propulsion{
dir = 8;
icon_state = "propulsion";
tag = "icon-propulsion (EAST)"
},
/turf/space,
/turf/simulated/shuttle/wall{
icon_state = "swall_f6";
dir = 2
@@ -98,12 +98,12 @@
/turf/simulated/shuttle/floor,
/area/shuttle/transport)
"o" = (
/turf/space,
/obj/structure/shuttle/engine/propulsion{
dir = 8;
icon_state = "propulsion";
tag = "icon-propulsion (EAST)"
},
/turf/space,
/turf/simulated/shuttle/wall{
icon_state = "swall_f5";
dir = 2
+2 -2
View File
@@ -3,12 +3,12 @@
/turf/space,
/area/space)
"b" = (
/turf/space,
/obj/structure/shuttle/engine/propulsion{
dir = 8;
icon_state = "propulsion";
tag = "icon-propulsion (EAST)"
},
/turf/space,
/turf/simulated/shuttle/wall{
icon_state = "swall_f6";
dir = 2
@@ -153,12 +153,12 @@
/turf/simulated/shuttle/floor,
/area/shuttle/transport)
"s" = (
/turf/space,
/obj/structure/shuttle/engine/propulsion{
dir = 8;
icon_state = "propulsion";
tag = "icon-propulsion (EAST)"
},
/turf/space,
/turf/simulated/shuttle/wall{
icon_state = "swall_f5";
dir = 2
+3 -1
View File
@@ -311,7 +311,9 @@
/atom/movable/proc/experience_pressure_difference(pressure_difference, direction)
if(last_forced_movement >= SSair.times_fired)
return 0
else if(!anchored && !pulledby)
if(anchored || move_resist == INFINITY)
return 0
else if(!pulledby)
var/turf/target = get_turf(src)
var/datum/gas_mixture/target_air = target.return_air()
if(isspaceturf(target) || isunsimulatedturf(target) || pressure_resistance > target_air.return_pressure())
+9 -1
View File
@@ -274,4 +274,12 @@
//Ouch my toes!
#define CALTROP_BYPASS_SHOES 1
#define CALTROP_IGNORE_WALKERS 2
#define CALTROP_IGNORE_WALKERS 2
//Xenobio hotkeys
#define COMSIG_XENO_SLIME_CLICK_CTRL "xeno_slime_click_ctrl" //from slime CtrlClickOn(): (/mob)
#define COMSIG_XENO_SLIME_CLICK_ALT "xeno_slime_click_alt" //from slime AltClickOn(): (/mob)
#define COMSIG_XENO_SLIME_CLICK_SHIFT "xeno_slime_click_shift" //from slime ShiftClickOn(): (/mob)
#define COMSIG_XENO_TURF_CLICK_SHIFT "xeno_turf_click_shift" //from turf ShiftClickOn(): (/mob)
#define COMSIG_XENO_TURF_CLICK_CTRL "xeno_turf_click_alt" //from turf AltClickOn(): (/mob)
#define COMSIG_XENO_MONKEY_CLICK_CTRL "xeno_monkey_click_ctrl" //from monkey CtrlClickOn(): (/mob)
+4
View File
@@ -102,6 +102,10 @@ proc/isDay(var/month, var/day)
var/numMinutes = (seconds - numSeconds) / 60
return "[numMinutes] [numMinutes > 1 ? "minutes" : "minute"] and [numSeconds] seconds."
//Take a value in seconds and makes it display like a clock
/proc/seconds_to_clock(var/seconds as num)
return "[add_zero(num2text((seconds / 60) % 60), 2)]:[add_zero(num2text(seconds % 60), 2)]"
//Takes a value of time in deciseconds.
//Returns a text value of that number in hours, minutes, or seconds.
/proc/DisplayTimeText(time_value)
+3 -2
View File
@@ -1487,10 +1487,11 @@ var/mob/dview/dview_mob = new
/mob/dview
invisibility = 101
density = 0
move_force = 0
pull_force = 0
move_resist = INFINITY
simulated = 0
canmove = FALSE
see_in_dark = 1e6
/mob/dview/New() //For whatever reason, if this isn't called, then BYOND will throw a type mismatch runtime when attempting to add this to the mobs list. -Fox
+1
View File
@@ -13,6 +13,7 @@ GLOBAL_LIST_INIT(singularities, list()) //list of all singularities
GLOBAL_LIST_INIT(janitorial_equipment, list()) //list of janitorial equipment
GLOBAL_LIST_INIT(crafting_recipes, list()) //list of all crafting recipes
GLOBAL_LIST_INIT(prisoncomputer_list, list())
GLOBAL_LIST_INIT(celltimers_list, list()) // list of all cell timers
GLOBAL_LIST_INIT(cell_logs, list())
GLOBAL_LIST_INIT(navigation_computers, list())
+58
View File
@@ -0,0 +1,58 @@
/obj/machinery/computer/brigcells
name = "cell management computer"
desc = "Used to manage prison cells."
icon_keyboard = "security_key"
icon_screen = "cell_monitor"
use_power = IDLE_POWER_USE
idle_power_usage = 250
active_power_usage = 500
circuit = /obj/item/circuitboard/brigcells
light_color = LIGHT_COLOR_DARKRED
req_access = list(access_brig)
/obj/machinery/computer/brigcells/attack_ai(mob/user)
attack_hand(user)
ui_interact(user)
/obj/machinery/computer/brigcells/attack_hand(mob/user)
add_fingerprint(user)
if(stat & (BROKEN|NOPOWER))
return
if(!allowed(user))
to_chat(user, "<span class='warning'>Access denied.</span>")
return
ui_interact(user)
/obj/machinery/computer/brigcells/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
ui = SSnanoui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "brig_cells.tmpl", "Brig Cell Management", 1000, 400)
ui.open()
ui.set_auto_update(1)
/obj/machinery/computer/brigcells/ui_data(mob/user, ui_key = "main", datum/topic_state/state = default_state)
var/data[0]
var/list/timers = list()
for(var/obj/machinery/door_timer/T in GLOB.celltimers_list)
var/timer = list()
timer["cell_id"] = T.name
timer["occupant"] = T.occupant
timer["crimes"] = T.crimes
timer["brigged_by"] = T.officer
if(T.time == 0)
timer["background"] = "'background-color:#007f47'"
else
timer["background"] = "'background-color:#890E26'"
timer["time_set"] = seconds_to_clock(T.time / 10)
timer["time_left"] = seconds_to_clock(T.timeleft())
timer["ref"] = "\ref[T]"
timers[++timers.len] += timer
timers = sortByKey(timers, "cell_id")
data["cells"] = timers
return data
/obj/machinery/computer/brigcells/Topic(href, href_list)
if(href_list["release"])
var/obj/machinery/door_timer/T = locate(href_list["release"])
T.timer_end()
T.Radio.autosay("Timer stopped manually from a cell management console.", T.name, "Security", list(z))
@@ -219,6 +219,9 @@
/obj/item/circuitboard/prisoner
name = "Circuit board (Prisoner Management)"
build_path = /obj/machinery/computer/prisoner
/obj/item/circuitboard/brigcells
name = "Circuit board (Brig Cell Control)"
build_path = /obj/machinery/computer/brigcells
// RD console circuits, so that {de,re}constructing one of the special consoles doesn't ruin everything forever
+1 -1
View File
@@ -1,5 +1,5 @@
/obj/machinery/computer/prisoner
name = "prisoner management console"
name = "implant management console"
icon = 'icons/obj/computer.dmi'
icon_keyboard = "security_key"
icon_screen = "explosive"
+22 -1
View File
@@ -31,6 +31,18 @@
maptext_height = 26
maptext_width = 32
maptext_y = -1
var/occupant = "None"
var/crimes = "None"
var/time = 0
var/officer = "None"
/obj/machinery/door_timer/New()
GLOB.celltimers_list += src
return ..()
/obj/machinery/door_timer/Destroy()
GLOB.celltimers_list -= src
return ..()
/obj/machinery/door_timer/proc/print_report()
var/logname = input(usr, "Name of the guilty?","[id] log name")
@@ -38,6 +50,10 @@
if(!logname || !logcharges)
return 0
occupant = logname
crimes = logcharges
time = timetoset
officer = usr.name
for(var/obj/machinery/computer/prisoner/C in GLOB.prisoncomputer_list)
var/obj/item/paper/P = new /obj/item/paper(C.loc)
@@ -121,6 +137,7 @@
if(timing)
if(timeleft() <= 0)
Radio.autosay("Timer has expired. Releasing prisoner.", name, "Security", list(z))
occupant = "None"
timer_end() // open doors, reset timer, clear status screen
timing = 0
. = PROCESS_KILL
@@ -181,7 +198,11 @@
if(stat & (NOPOWER|BROKEN))
return 0
// Reset releasetime
// Reset vars
occupant = "None"
crimes = "None"
time = 0
officer = "None"
releasetime = 0
printed = 0
if(prisoner)
@@ -526,6 +526,9 @@ REAGENT SCANNER
materials = list(MAT_METAL=30, MAT_GLASS=20)
/obj/item/slime_scanner/attack(mob/living/M as mob, mob/living/user as mob)
slime_scan(M, user)
/proc/slime_scan(mob/living/carbon/slime/M, mob/living/user)
if(!isslime(M))
user.show_message("<span class='warning'>This device can only scan slimes!</span>", 1)
return
+2
View File
@@ -671,6 +671,8 @@ var/global/nologevent = 0
alert("Unable to start the game as it is not set up.")
return
if(ticker.current_state == GAME_STATE_PREGAME)
if(alert(usr, "Are you sure you want to start now?", "Start game", "Yes", "No") != "Yes")
return
ticker.current_state = GAME_STATE_SETTING_UP
log_admin("[key_name(usr)] has started the game.")
message_admins("[key_name_admin(usr)] has started the game.")
@@ -1,3 +1,5 @@
GLOBAL_LIST_EMPTY(monkey_recyclers)
/obj/machinery/monkey_recycler
name = "Monkey Recycler"
desc = "A machine used for recycling dead monkeys into monkey cubes."
@@ -14,6 +16,7 @@
var/cube_production = 1
var/cycle_through = 0
var/obj/item/reagent_containers/food/snacks/monkeycube/cube_type = /obj/item/reagent_containers/food/snacks/monkeycube
var/list/connected = list()
/obj/machinery/monkey_recycler/New()
..()
@@ -21,8 +24,15 @@
component_parts += new /obj/item/circuitboard/monkey_recycler(null)
component_parts += new /obj/item/stock_parts/manipulator(null)
component_parts += new /obj/item/stock_parts/matter_bin(null)
GLOB.monkey_recyclers += src
RefreshParts()
/obj/machinery/monkey_recycler/Destroy()
GLOB.monkey_recyclers -= src
for(var/obj/machinery/computer/camera_advanced/xenobio/console in connected)
console.connected_recycler = null
return ..()
/obj/machinery/monkey_recycler/RefreshParts()
var/req_grind = 5
var/cubes_made = 1
@@ -47,21 +57,25 @@
default_deconstruction_crowbar(O)
if(istype(O, /obj/item/multitool))
cycle_through++
switch(cycle_through)
if(1)
cube_type = /obj/item/reagent_containers/food/snacks/monkeycube/farwacube
if(2)
cube_type = /obj/item/reagent_containers/food/snacks/monkeycube/wolpincube
if(3)
cube_type = /obj/item/reagent_containers/food/snacks/monkeycube/stokcube
if(4)
cube_type = /obj/item/reagent_containers/food/snacks/monkeycube/neaeracube
if(5)
cube_type = /obj/item/reagent_containers/food/snacks/monkeycube
cycle_through = 0
to_chat(user, "<span class='notice'>You change the monkeycube type to [initial(cube_type.name)].</span>")
if(!panel_open)
cycle_through++
switch(cycle_through)
if(1)
cube_type = /obj/item/reagent_containers/food/snacks/monkeycube/farwacube
if(2)
cube_type = /obj/item/reagent_containers/food/snacks/monkeycube/wolpincube
if(3)
cube_type = /obj/item/reagent_containers/food/snacks/monkeycube/stokcube
if(4)
cube_type = /obj/item/reagent_containers/food/snacks/monkeycube/neaeracube
if(5)
cube_type = /obj/item/reagent_containers/food/snacks/monkeycube
cycle_through = 0
to_chat(user, "<span class='notice'>You change the monkeycube type to [initial(cube_type.name)].</span>")
else
var/obj/item/multitool/M = O
M.buffer = src
to_chat(user, "<span class='notice'>You log [src] in the [M]'s buffer.</span>")
if(stat != 0) //NOPOWER etc
return
if(istype(O, /obj/item/grab))
@@ -235,9 +235,6 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
..()
/mob/dead/observer/experience_pressure_difference()
return 0
/mob/dead/observer/can_use_hands() return 0
/mob/dead/observer/Stat()
+4
View File
@@ -442,6 +442,10 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump,
if(!do_after(src, 45, target = src))
return
if(buckled)
to_chat(src, "<span class='warning'>You cannot crawl into a vent while buckled to something!</span>")
return
if(!client)
return
@@ -250,7 +250,7 @@
/datum/chemical_reaction/slimestabilizer/on_reaction(datum/reagents/holder)
feedback_add_details("slime_cores_used","[type]")
var/obj/item/slimepotion/stabilizer/P = new /obj/item/slimepotion/stabilizer
var/obj/item/slimepotion/slime/stabilizer/P = new /obj/item/slimepotion/slime/stabilizer
P.forceMove(get_turf(holder.my_atom))
//Dark Blue
@@ -380,7 +380,7 @@
/datum/chemical_reaction/slimepsteroid/on_reaction(datum/reagents/holder)
feedback_add_details("slime_cores_used","[type]")
var/obj/item/slimepotion/steroid/P = new /obj/item/slimepotion/steroid
var/obj/item/slimepotion/slime/steroid/P = new /obj/item/slimepotion/slime/steroid
P.forceMove(get_turf(holder.my_atom))
/datum/chemical_reaction/slimejam
@@ -423,7 +423,7 @@
/datum/chemical_reaction/slimemutator/on_reaction(datum/reagents/holder)
feedback_add_details("slime_cores_used","[type]")
var/obj/item/slimepotion/mutator/P = new /obj/item/slimepotion/mutator
var/obj/item/slimepotion/slime/mutator/P = new /obj/item/slimepotion/slime/mutator
P.forceMove(get_turf(holder.my_atom))
/datum/chemical_reaction/slimebloodlust
@@ -469,7 +469,7 @@
/datum/chemical_reaction/docility/on_reaction(datum/reagents/holder)
feedback_add_details("slime_cores_used","[type]")
var/obj/item/slimepotion/docility/P = new /obj/item/slimepotion/docility
var/obj/item/slimepotion/slime/docility/P = new /obj/item/slimepotion/slime/docility
P.forceMove(get_turf(holder.my_atom))
@@ -212,6 +212,16 @@
build_path = /obj/item/circuitboard/prisoner
category = list("Computer Boards")
/datum/design/brigcells
name = "Console Board (Brig Cell Management Console)"
desc = "Allows for the construction of circuit boards used to build a brig cell management console."
id = "brigcells"
req_tech = list("programming" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000)
build_path = /obj/item/circuitboard/brigcells
category = list("Computer Boards")
/datum/design/rdconsole
name = "Console Board (R&D Console)"
desc = "Allows for the construction of circuit boards used to build a new R&D console. Can be swiped with a Scientist level ID to manage access levels."
@@ -26,14 +26,33 @@
var/datum/action/innate/slime_pick_up/slime_up_action = new
var/datum/action/innate/feed_slime/feed_slime_action = new
var/datum/action/innate/monkey_recycle/monkey_recycle_action = new
var/datum/action/innate/slime_scan/scan_action = new
var/datum/action/innate/feed_potion/potion_action = new
var/datum/action/innate/hotkey_help/hotkey_help = new
var/list/stored_slimes = list()
var/max_slimes = 5
var/monkeys = 0
var/obj/item/slimepotion/slime/current_potion
var/obj/machinery/monkey_recycler/connected_recycler
icon_screen = "slime_comp"
icon_keyboard = "rd_key"
/obj/machinery/computer/camera_advanced/xenobio/New()
..()
for(var/obj/machinery/monkey_recycler/recycler in GLOB.monkey_recyclers)
if(get_area(recycler.loc) == get_area(loc))
connected_recycler = recycler
connected_recycler.connected += src
/obj/machinery/computer/camera_advanced/xenobio/Destroy()
QDEL_NULL(current_potion)
for(var/mob/living/carbon/slime/S in stored_slimes)
S.forceMove(drop_location())
stored_slimes.Cut()
return ..()
/obj/machinery/computer/camera_advanced/xenobio/CreateEye()
eyeobj = new /mob/camera/aiEye/remote/xenobio(get_turf(src))
eyeobj.origin = src
@@ -43,26 +62,63 @@
/obj/machinery/computer/camera_advanced/xenobio/GrantActions(mob/living/carbon/user)
..()
if(slime_up_action)
slime_up_action.target = src
slime_up_action.Grant(user)
actions += slime_up_action
if(slime_place_action)
slime_place_action.target = src
slime_place_action.Grant(user)
actions += slime_place_action
if(feed_slime_action)
feed_slime_action.target = src
feed_slime_action.Grant(user)
actions += feed_slime_action
if(monkey_recycle_action)
monkey_recycle_action.target = src
monkey_recycle_action.Grant(user)
actions += monkey_recycle_action
if(scan_action)
scan_action.target = src
scan_action.Grant(user)
actions += scan_action
if(potion_action)
potion_action.target = src
potion_action.Grant(user)
actions += potion_action
if(hotkey_help)
hotkey_help.target = src
hotkey_help.Grant(user)
actions += hotkey_help
RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_CTRL, .proc/XenoSlimeClickCtrl)
RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_ALT, .proc/XenoSlimeClickAlt)
RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_SHIFT, .proc/XenoSlimeClickShift)
RegisterSignal(user, COMSIG_XENO_TURF_CLICK_SHIFT, .proc/XenoTurfClickShift)
RegisterSignal(user, COMSIG_XENO_TURF_CLICK_CTRL, .proc/XenoTurfClickCtrl)
RegisterSignal(user, COMSIG_XENO_MONKEY_CLICK_CTRL, .proc/XenoMonkeyClickCtrl)
if(!connected_recycler)
for(var/obj/machinery/monkey_recycler/recycler in GLOB.monkey_recyclers)
if(get_area(recycler.loc) == get_area(loc))
connected_recycler = recycler
connected_recycler.connected += src
/obj/machinery/computer/camera_advanced/xenobio/remove_eye_control(mob/living/user)
UnregisterSignal(user, COMSIG_XENO_SLIME_CLICK_CTRL)
UnregisterSignal(user, COMSIG_XENO_SLIME_CLICK_ALT)
UnregisterSignal(user, COMSIG_XENO_SLIME_CLICK_SHIFT)
UnregisterSignal(user, COMSIG_XENO_TURF_CLICK_SHIFT)
UnregisterSignal(user, COMSIG_XENO_TURF_CLICK_CTRL)
UnregisterSignal(user, COMSIG_XENO_MONKEY_CLICK_CTRL)
..()
/obj/machinery/computer/camera_advanced/xenobio/attack_hand(mob/user)
if(!ishuman(user)) //AIs using it might be weird
@@ -71,11 +127,20 @@
/obj/machinery/computer/camera_advanced/xenobio/attackby(obj/item/O, mob/user, params)
if(istype(O, /obj/item/reagent_containers/food/snacks/monkeycube))
monkeys++
to_chat(user, "<span class='notice'>You feed [O] to [src]. It now has [monkeys] monkey cubes stored.</span>")
user.drop_item()
qdel(O)
return
if(user.drop_item())
monkeys++
to_chat(user, "<span class='notice'>You feed [O] to [src]. It now has [monkeys] monkey cubes stored.</span>")
qdel(O)
return
else if(istype(O, /obj/item/slimepotion/slime))
var/replaced = FALSE
if(user.drop_item())
if(!QDELETED(current_potion))
current_potion.forceMove(drop_location())
replaced = TRUE
current_potion = O
to_chat(user, "<span class='notice'>You load [O] in the console's potion slot[replaced ? ", replacing the one that was there before" : ""].</span>")
return
else if(istype(O, /obj/item/storage/bag))
var/obj/item/storage/P = O
var/loaded = 0
@@ -87,6 +152,13 @@
if(loaded)
to_chat(user, "<span class='notice'>You fill [src] with the monkey cubes stored in [O]. [src] now has [monkeys] monkey cubes stored.</span>")
return
else if(ismultitool(O))
var/obj/item/multitool/I = O
if(istype(I.buffer, /obj/machinery/monkey_recycler))
to_chat(user, "<span class='notice'>You link [src] with [I.buffer] in [I] buffer.</span>")
connected_recycler = I.buffer
connected_recycler.connected += src
return
..()
/datum/action/innate/slime_place
@@ -163,12 +235,201 @@
var/mob/living/carbon/human/C = owner
var/mob/camera/aiEye/remote/xenobio/remote_eye = C.remote_control
var/obj/machinery/computer/camera_advanced/xenobio/X = target
var/obj/machinery/monkey_recycler/recycler = X.connected_recycler
if(!recycler)
to_chat(owner, "<span class='notice'>There is no connected monkey recycler. Use a multitool to link one.</span>")
return
if(cameranet.checkTurfVis(remote_eye.loc))
for(var/mob/living/carbon/human/M in remote_eye.loc)
if(issmall(M) && M.stat)
M.visible_message("[M] vanishes as [M.p_theyre()] reclaimed for recycling!")
X.monkeys = round(X.monkeys + 0.2,0.1)
recycler.use_power(500)
X.monkeys = round(X.monkeys + recycler.cube_production/recycler.required_grind, 0.1)
qdel(M)
else
to_chat(owner, "<span class='notice'>Target is not near a camera. Cannot proceed.</span>")
to_chat(owner, "<span class='notice'>Target is not near a camera. Cannot proceed.</span>")
/datum/action/innate/slime_scan
name = "Scan Slime"
button_icon_state = "slime_scan"
/datum/action/innate/slime_scan/Activate()
if(!target || !isliving(owner))
return
var/mob/living/C = owner
var/mob/camera/aiEye/remote/xenobio/remote_eye = C.remote_control
if(cameranet.checkTurfVis(remote_eye.loc))
for(var/mob/living/carbon/slime/S in remote_eye.loc)
slime_scan(S, C)
else
to_chat(owner, "<span class='warning'>Target is not near a camera. Cannot proceed.</span>")
/datum/action/innate/feed_potion
name = "Apply Potion"
button_icon_state = "slime_potion"
/datum/action/innate/feed_potion/Activate()
if(!target || !ishuman(owner))
return
var/mob/living/carbon/human/C = owner
var/mob/camera/aiEye/remote/xenobio/remote_eye = C.remote_control
var/obj/machinery/computer/camera_advanced/xenobio/X = target
if(QDELETED(X.current_potion))
to_chat(owner, "<span class='warning'>No potion loaded.</span>")
return
if(cameranet.checkTurfVis(remote_eye.loc))
for(var/mob/living/carbon/slime/S in remote_eye.loc)
X.current_potion.attack(S, C)
break
else
to_chat(owner, "<span class='notice'>Target is not near a camera. Cannot proceed.</span>")
/datum/action/innate/hotkey_help
name = "Hotkey Help"
button_icon_state = "hotkey_help"
/datum/action/innate/hotkey_help/Activate()
if(!target || !isliving(owner))
return
to_chat(owner, "<b>Click shortcuts:</b>")
to_chat(owner, "Shift-click a slime to pick it up, or the floor to drop all held slimes.")
to_chat(owner, "Ctrl-click a slime to scan it.")
to_chat(owner, "Alt-click a slime to feed it a potion.")
to_chat(owner, "Ctrl-click or a dead monkey to recycle it, or the floor to place a new monkey.")
//
// Alternate clicks for slime, monkey and open turf if using a xenobio console
// Scans slime
/mob/living/carbon/slime/CtrlClick(mob/user)
SEND_SIGNAL(user, COMSIG_XENO_SLIME_CLICK_CTRL, src)
..()
//Feeds a potion to slime
/mob/living/carbon/slime/AltClick(mob/user)
SEND_SIGNAL(user, COMSIG_XENO_SLIME_CLICK_ALT, src)
..()
//Picks up slime
/mob/living/carbon/slime/ShiftClick(mob/user)
SEND_SIGNAL(user, COMSIG_XENO_SLIME_CLICK_SHIFT, src)
..()
//Place slimes
/turf/simulated/ShiftClick(mob/user)
SEND_SIGNAL(user, COMSIG_XENO_TURF_CLICK_SHIFT, src)
..()
//Place monkey
/turf/simulated/CtrlClick(mob/user)
SEND_SIGNAL(user, COMSIG_XENO_TURF_CLICK_CTRL, src)
..()
//Pick up monkey
/mob/living/carbon/monkey/CtrlClick(mob/user)
SEND_SIGNAL(user, COMSIG_XENO_MONKEY_CLICK_CTRL, src)
..()
// Scans slime
/obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickCtrl(mob/living/user, mob/living/carbon/slime/S)
if(!cameranet.checkTurfVis(S.loc))
to_chat(user, "<span class='warning'>Target is not near a camera. Cannot proceed.</span>")
return
var/mob/living/C = user
var/mob/camera/aiEye/remote/xenobio/E = C.remote_control
var/area/mobarea = get_area(S.loc)
if(mobarea.name == E.allowed_area || mobarea.xenobiology_compatible)
slime_scan(S, C)
//Feeds a potion to slime
/obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickAlt(mob/living/user, mob/living/carbon/slime/S)
if(!cameranet.checkTurfVis(S.loc))
to_chat(user, "<span class='warning'>Target is not near a camera. Cannot proceed.</span>")
return
var/mob/living/C = user
var/mob/camera/aiEye/remote/xenobio/E = C.remote_control
var/obj/machinery/computer/camera_advanced/xenobio/X = E.origin
var/area/mobarea = get_area(S.loc)
if(QDELETED(X.current_potion))
to_chat(C, "<span class='warning'>No potion loaded.</span>")
return
if(mobarea.name == E.allowed_area || mobarea.xenobiology_compatible)
X.current_potion.attack(S, C)
//Picks up slime
/obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickShift(mob/living/user, mob/living/carbon/slime/S)
if(!cameranet.checkTurfVis(S.loc))
to_chat(user, "<span class='warning'>Target is not near a camera. Cannot proceed.</span>")
return
var/mob/living/C = user
var/mob/camera/aiEye/remote/xenobio/E = C.remote_control
var/obj/machinery/computer/camera_advanced/xenobio/X = E.origin
var/area/mobarea = get_area(S.loc)
if(mobarea.name == E.allowed_area || mobarea.xenobiology_compatible)
if(X.stored_slimes.len >= X.max_slimes)
return
if(!S.ckey)
if(S.buckled)
S.buckled.unbuckle_mob()
S.Feedstop()
S.visible_message("[S] vanishes in a flash of light!")
S.forceMove(X)
X.stored_slimes += S
//Place slimes
/obj/machinery/computer/camera_advanced/xenobio/proc/XenoTurfClickShift(mob/living/user, turf/T)
if(!cameranet.checkTurfVis(T))
to_chat(user, "<span class='warning'>Target is not near a camera. Cannot proceed.</span>")
return
var/mob/living/C = user
var/mob/camera/aiEye/remote/xenobio/E = C.remote_control
var/obj/machinery/computer/camera_advanced/xenobio/X = E.origin
var/area/turfarea = get_area(T)
if(turfarea.name == E.allowed_area || turfarea.xenobiology_compatible)
for(var/mob/living/carbon/slime/S in X.stored_slimes)
S.forceMove(T)
S.visible_message("[S] warps in!")
X.stored_slimes -= S
//Place monkey
/obj/machinery/computer/camera_advanced/xenobio/proc/XenoTurfClickCtrl(mob/living/user, turf/T)
if(!cameranet.checkTurfVis(T))
to_chat(user, "<span class='warning'>Target is not near a camera. Cannot proceed.</span>")
return
var/mob/living/C = user
var/mob/camera/aiEye/remote/xenobio/E = C.remote_control
var/obj/machinery/computer/camera_advanced/xenobio/X = E.origin
var/area/turfarea = get_area(T)
if(turfarea.name == E.allowed_area || turfarea.xenobiology_compatible)
if(X.monkeys >= 1)
var/mob/living/carbon/human/monkey/food = new /mob/living/carbon/human/monkey(T)
food.LAssailant = C
X.monkeys --
X.monkeys = round(X.monkeys, 0.1)
to_chat(user, "[X] now has [X.monkeys] monkeys left.")
//Pick up monkey
/obj/machinery/computer/camera_advanced/xenobio/proc/XenoMonkeyClickCtrl(mob/living/user, mob/living/carbon/monkey/M)
if(!cameranet.checkTurfVis(M.loc))
to_chat(user, "<span class='warning'>Target is not near a camera. Cannot proceed.</span>")
return
var/mob/living/C = user
var/mob/camera/aiEye/remote/xenobio/E = C.remote_control
var/obj/machinery/computer/camera_advanced/xenobio/X = E.origin
var/area/mobarea = get_area(M.loc)
var/obj/machinery/monkey_recycler/recycler = X.connected_recycler
if(!recycler)
to_chat(C, "<span class='notice'>There is no connected monkey recycler. Use a multitool to link one.</span>")
return
if(mobarea.name == E.allowed_area || mobarea.xenobiology_compatible)
if(issmall(M) && M.stat)
M.visible_message("[M] vanishes as [M.p_theyre()] reclaimed for recycling!")
recycler.use_power(500)
X.monkeys = round(X.monkeys + recycler.cube_production/recycler.required_grind, 0.1)
qdel(M)
@@ -132,14 +132,14 @@
to_chat(user, "<span class='notice'>You cannot transfer [src] to [target]! It appears the potion must be given directly to a slime to absorb.</span>") // le fluff faec
return
/obj/item/slimepotion/docility
/obj/item/slimepotion/slime/docility
name = "docility potion"
desc = "A potent chemical mix that nullifies a slime's hunger, causing it to become docile and tame."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle19"
var/being_used = 0
/obj/item/slimepotion/docility/attack(mob/living/carbon/slime/M, mob/user)
/obj/item/slimepotion/slime/docility/attack(mob/living/carbon/slime/M, mob/user)
if(!isslime(M))
to_chat(user, "<span class='warning'>The potion only works on slimes!</span>")
return
@@ -260,13 +260,13 @@
SM.name = "[SM.name] as [user.real_name]"
qdel(src)
/obj/item/slimepotion/steroid
/obj/item/slimepotion/slime/steroid
name = "slime steroid"
desc = "A potent chemical mix that will cause a baby slime to generate more extract."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle16"
/obj/item/slimepotion/steroid/attack(mob/living/carbon/slime/M, mob/user)
/obj/item/slimepotion/slime/steroid/attack(mob/living/carbon/slime/M, mob/user)
if(!isslime(M))//If target is not a slime.
to_chat(user, "<span class='warning'>The steroid only works on baby slimes!</span>")
return ..()
@@ -290,13 +290,13 @@
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle17"
/obj/item/slimepotion/stabilizer
/obj/item/slimepotion/slime/stabilizer
name = "slime stabilizer"
desc = "A potent chemical mix that will reduce the chance of a slime mutating."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle15"
/obj/item/slimepotion/stabilizer/attack(mob/living/carbon/slime/M, mob/user)
/obj/item/slimepotion/slime/stabilizer/attack(mob/living/carbon/slime/M, mob/user)
if(!isslime(M))
to_chat(user, "<span class='warning'>The stabilizer only works on slimes!</span>")
return ..()
@@ -311,13 +311,13 @@
M.mutation_chance = Clamp(M.mutation_chance-15,0,100)
qdel(src)
/obj/item/slimepotion/mutator
/obj/item/slimepotion/slime/mutator
name = "slime mutator"
desc = "A potent chemical mix that will increase the chance of a slime mutating."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle3"
/obj/item/slimepotion/mutator/attack(mob/living/carbon/slime/M, mob/user)
/obj/item/slimepotion/slime/mutator/attack(mob/living/carbon/slime/M, mob/user)
if(!isslime(M))
to_chat(user, "<span class='warning'>The mutator only works on slimes!</span>")
return ..()
+21
View File
@@ -56,6 +56,27 @@
-->
<div class="commit sansserif">
<h2 class="date">17 March 2019</h2>
<h3 class="author">AffectedArc07 and Alonefromhell updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Cell management consoles: See the status of all brig cells without having to leave your office</li>
<li class="imageadd">New screen sprite for cell management console</li>
</ul>
<h3 class="author">Jazz23 updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Xenobio hotkeys, slime potion thing, remote slime scanner, monkey recycler linking.</li>
</ul>
<h3 class="author">Kyep updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">It is no longer possible to crawl into a vent while you are simultaneously buckled to a chair or other solid object.</li>
</ul>
<h3 class="author">farie82 updated:</h3>
<ul class="changes bgimages16">
<li class="tweak">Adds a confirmation to the start now verb. Make it ansari proof</li>
<li class="bugfix">The invisible bumping into something should be fixed now</li>
<li class="bugfix">Fixes the atmos bug</li>
</ul>
<h2 class="date">16 March 2019</h2>
<h3 class="author">Ty-Omaha and Ionward updated:</h3>
<ul class="changes bgimages16">
+15
View File
@@ -9375,3 +9375,18 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
Ty-Omaha and Ionward:
- rscadd: Carbon humans (people, not animals) who go SSD will now get ZZZ bubbles
to indicate they are SSD
2019-03-17:
AffectedArc07 and Alonefromhell:
- rscadd: 'Cell management consoles: See the status of all brig cells without having
to leave your office'
- imageadd: New screen sprite for cell management console
Jazz23:
- rscadd: Xenobio hotkeys, slime potion thing, remote slime scanner, monkey recycler
linking.
Kyep:
- bugfix: It is no longer possible to crawl into a vent while you are simultaneously
buckled to a chair or other solid object.
farie82:
- tweak: Adds a confirmation to the start now verb. Make it ansari proof
- bugfix: The invisible bumping into something should be fixed now
- bugfix: Fixes the atmos bug
Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 51 KiB

+34
View File
@@ -0,0 +1,34 @@
<!--
Title: Brig Cell Management
Used In File(s): \code\game\machinery\computer\brigcells.dm
-->
<div class="statusDisplay" style="overflow: auto;">
<span id='maintable_data_archive'>
<table style='width: 100%' id='maintable_data'>
<thead>
<tr>
<th>Cell</th>
<th>Occupant</th>
<th>Crimes</th>
<th>Brigged By</th>
<th>Time Brigged For</th>
<th>Time Left</th>
<th>Release</th>
</tr>
</thead>
<tbody>
{{for data.cells}}
<tr style={{:value.background}}>
<td>{{:value.cell_id}}</td>
<td>{{:value.occupant}}</td>
<td>{{:value.crimes}}</td>
<td>{{:value.brigged_by}}</td>
<td>{{:value.time_set}}</td>
<td>{{:value.time_left}}</td>
<td>{{:helper.link('Release', null, {'release' : value.ref}, null, 'infoButton')}}</td>
</tr>
{{/for}}
</tbody>
</table>
</span>
</div>
+1
View File
@@ -664,6 +664,7 @@
#include "code\game\machinery\computer\arcade.dm"
#include "code\game\machinery\computer\atmos_alert.dm"
#include "code\game\machinery\computer\atmos_control.dm"
#include "code\game\machinery\computer\brigcells.dm"
#include "code\game\machinery\computer\buildandrepair.dm"
#include "code\game\machinery\computer\camera.dm"
#include "code\game\machinery\computer\camera_advanced.dm"
+18 -8
View File
@@ -13,17 +13,20 @@ version of the map while maintaining all the actual changes. It requires an old
version of the map to use as a reference and a new version of the map which
contains the desired changes.
## Installation/Usage
## Installation
To install Python dependencies, run `Install Requirements.bat`
To install Python dependencies, run `requirements-install.bat`, or run
`python -m pip install -r requirements.txt` directly. See the [Git hooks]
documentation to install the Git pre-commit hook which runs the map merger
automatically, or use `tools/mapmerge/Prepare Maps.bat` to save backups before
running `mapmerge.bat`.
**BEFORE** making a map edit, run `Prepare Maps.bat` to create your backups. *These are required to run mapmerge successfully.*
**AFTER** you have made your edit, run `Run Mapmerge.bat` to merge the maps.
For up-to-date installation and detailed troubleshooting instructions, visit
the [Map Merger] wiki article.
## Code Structure
All the scripts are inside the `/src/` folder. Frontend scripts are meant to be run directly. They obey the environment
Frontend scripts are meant to be run directly. They obey the environment
variables `TGM` to set whether files are saved in TGM (1) or DMM (0) format,
and `MAPROOT` to determine where maps are kept. By default, TGM is used and
the map root is autodetected. Each script may either prompt for the desired map
@@ -31,12 +34,19 @@ or be run with command-line parameters indicating which maps to act on. The
scripts include:
* `convert.py` for converting maps to and from the TGM format. Used by
`Convert DMM to TGM.bat` and `Convert TGM to DMM.bat`.
`tgm2dmm.bat` and `dmm2tgm.bat`.
* `mapmerge.py` for running the map merge on map backups saved by
`Prepare Maps.bat`. Used by `Run Mapmerge.bat`
`Prepare Maps.bat`. Used by `mapmerge.bat`
Implementation modules:
* `dmm.py` includes the map reader and writer.
* `mapmerge.py` includes the implementation of the map merge operation.
* `frontend.py` includes the common code for the frontend scripts.
`precommit.py` is run by the [Git hooks] if installed, and merges the new
version of any map saved in the index (`git add`ed) with the old version stored
in Git when run.
[Map Merger]: https://tgstation13.org/wiki/Map_Merger
[Git hooks]: ../hooks/README.md
+253
View File
@@ -0,0 +1,253 @@
# Tools for working with modern DreamMaker icon files (PNGs + metadata)
import math
from PIL import Image
from PIL.PngImagePlugin import PngInfo
DEFAULT_SIZE = 32, 32
LOOP_UNLIMITED = 0
LOOP_ONCE = 1
NORTH = 1
SOUTH = 2
EAST = 4
WEST = 8
SOUTHEAST = SOUTH|EAST
SOUTHWEST = SOUTH|WEST
NORTHEAST = NORTH|EAST
NORTHWEST = NORTH|WEST
CARDINALS = [NORTH, SOUTH, EAST, WEST]
DIR_ORDER = [SOUTH, NORTH, EAST, WEST, SOUTHEAST, SOUTHWEST, NORTHEAST, NORTHWEST]
DIR_NAMES = {
'SOUTH': SOUTH,
'NORTH': NORTH,
'EAST': EAST,
'WEST': WEST,
'SOUTHEAST': SOUTHEAST,
'SOUTHWEST': SOUTHWEST,
'NORTHEAST': NORTHEAST,
'NORTHWEST': NORTHWEST,
**{str(x): x for x in DIR_ORDER},
**{x: x for x in DIR_ORDER},
'0': SOUTH,
None: SOUTH,
}
class Dmi:
version = "4.0"
def __init__(self, width, height):
self.width = width
self.height = height
self.states = []
@classmethod
def from_file(cls, fname):
image = Image.open(fname)
# no metadata = regular image file
if 'Description' not in image.info:
dmi = Dmi(*image.size)
state = dmi.state("")
state.frame(image)
return dmi
# read metadata
metadata = image.info['Description']
line_iter = iter(metadata.splitlines())
assert next(line_iter) == "# BEGIN DMI"
assert next(line_iter) == f"version = {cls.version}"
dmi = Dmi(*DEFAULT_SIZE)
state = None
for line in line_iter:
if line == "# END DMI":
break
key, value = line.lstrip().split(" = ")
if key == 'width':
dmi.width = int(value)
elif key == 'height':
dmi.height = int(value)
elif key == 'state':
state = dmi.state(unescape(value))
elif key == 'dirs':
state.dirs = int(value)
elif key == 'frames':
state._nframes = int(value)
elif key == 'delay':
state.delays = [parse_num(x) for x in value.split(',')]
elif key == 'loop':
state.loop = int(value)
elif key == 'rewind':
state.rewind = parse_bool(value)
elif key == 'hotspot':
x, y, frm = [int(x) for x in value.split(',')]
state.hotspot(frm - 1, x, y)
elif key == 'movement':
state.movement = parse_bool(value)
else:
raise NotImplementedError(key)
# cut image into frames
width, height = image.size
gridwidth = width // dmi.width
i = 0
for state in dmi.states:
for frame in range(state._nframes):
for dir in range(state.dirs):
px = dmi.width * (i % gridwidth)
py = dmi.height * (i // gridwidth)
im = image.crop((px, py, px + dmi.width, py + dmi.height))
assert im.size == (dmi.width, dmi.height)
state.frames.append(im)
i += 1
state._nframes = None
return dmi
def state(self, *args, **kwargs):
s = State(self, *args, **kwargs)
self.states.append(s)
return s
@property
def default_state(self):
return self.states[0]
def get_state(self, name):
for state in self.states:
if state.name == name:
return state
raise KeyError(name)
return self.default_state
def _assemble_comment(self):
comment = "# BEGIN DMI\n"
comment += f"version = {self.version}\n"
comment += f"\twidth = {self.width}\n"
comment += f"\theight = {self.height}\n"
for state in self.states:
comment += f"state = {escape(state.name)}\n"
comment += f"\tdirs = {state.dirs}\n"
comment += f"\tframes = {state.framecount}\n"
if state.framecount > 1 and len(state.delays): #any(x != 1 for x in state.delays):
comment += "\tdelay = " + ",".join(map(str, state.delays)) + "\n"
if state.loop != 0:
comment += f"\tloop = {state.loop}\n"
if state.rewind:
comment += "\trewind = 1\n"
if state.movement:
comment += "\tmovement = 1\n"
if state.hotspots and any(state.hotspots):
current = None
for i, value in enumerate(state.hotspots):
if value != current:
x, y = value
comment += f"\thotspot = {x},{y},{i + 1}\n"
current = value
comment += "# END DMI"
return comment
def to_file(self, filename, *, palette=False):
# assemble comment
comment = self._assemble_comment()
# assemble spritesheet
W, H = self.width, self.height
num_frames = sum(len(state.frames) for state in self.states)
sqrt = math.ceil(math.sqrt(num_frames))
output = Image.new('RGBA', (sqrt * W, math.ceil(num_frames / sqrt) * H))
i = 0
for state in self.states:
for frame in state.frames:
output.paste(frame, ((i % sqrt) * W, (i // sqrt) * H))
i += 1
# save
pnginfo = PngInfo()
pnginfo.add_text('Description', comment, zip=True)
if palette:
output = output.convert('P')
output.save(filename, 'png', optimize=True, pnginfo=pnginfo)
class State:
def __init__(self, dmi, name, *, loop=LOOP_UNLIMITED, rewind=False, movement=False, dirs=1):
self.dmi = dmi
self.name = name
self.loop = loop
self.rewind = rewind
self.movement = movement
self.dirs = dirs
self._nframes = None # used during loading only
self.frames = []
self.delays = []
self.hotspots = None
@property
def framecount(self):
if self._nframes is not None:
return self._nframes
else:
return len(self.frames) // self.dirs
def frame(self, image, *, delay=1):
assert image.size == (self.dmi.width, self.dmi.height)
self.delays.append(delay)
self.frames.append(image)
def hotspot(self, first_frame, x, y):
if self.hotspots is None:
self.hotspots = [None] * self.framecount
for i in range(first_frame, self.framecount):
self.hotspots[i] = x, y
def _frame_index(self, frame=0, dir=None):
ofs = DIR_ORDER.index(DIR_NAMES[dir])
if ofs >= self.dirs:
ofs = 0
return frame * self.dirs + ofs
def get_frame(self, *args, **kwargs):
return self.frames[self._frame_index(*args, **kwargs)]
def escape(text):
assert '\\' not in text and '"' not in text
return f'"{text}"'
def unescape(text, quote='"'):
if text == 'null':
return None
if not (text.startswith(quote) and text.endswith(quote)):
raise ValueError(text)
text = text[1:-1]
assert '\\' not in text and quote not in text
return text
def parse_num(value):
if '.' in value:
return float(value)
return int(value)
def parse_bool(value):
if value not in ('0', '1'):
raise ValueError(value)
return value == '1'
if __name__ == '__main__':
# test: can we load every DMI in the tree
import os
count = 0
for dirpath, dirnames, filenames in os.walk('.'):
if '.git' in dirnames:
dirnames.remove('.git')
for filename in filenames:
if filename.endswith('.dmi'):
Dmi.from_file(os.path.join(dirpath, filename))
count += 1
print(f"Successfully parsed {count} dmi files")
@@ -58,6 +58,23 @@ class DMM:
raise RuntimeError("ran out of keys, this shouldn't happen")
def overwrite_key(self, key, fixed, bad_keys):
try:
self.dictionary[key] = fixed
return None
except bidict.DuplicationError:
old_key = self.dictionary.inv[fixed]
bad_keys[key] = old_key
print(f"Merging '{num_to_key(key, self.key_length)}' into '{num_to_key(old_key, self.key_length)}'")
return old_key
def reassign_bad_keys(self, bad_keys):
if not bad_keys:
return
for k, v in self.grid.items():
# reassign the grid entries which used the old key
self.grid[k] = bad_keys.get(v, v)
def _presave_checks(self):
# last-second handling of bogus keys to help prevent and fix broken maps
self._ensure_free_keys(0)
@@ -70,9 +87,16 @@ class DMM:
new_key = bad_keys[k] = self.generate_new_key()
self.dictionary.forceput(new_key, self.dictionary[k])
print(f" {num_to_key(k, self.key_length, True)} -> {num_to_key(new_key, self.key_length)}")
for k, v in self.grid.items():
# reassign the grid entries which used the old key
self.grid[k] = bad_keys.get(v, v)
# handle entries in the dictionary which have atoms in the wrong order
keys = list(self.dictionary.keys())
for key in keys:
value = self.dictionary[key]
if is_bad_atom_ordering(num_to_key(key, self.key_length, True), value):
fixed = tuple(fix_atom_ordering(value))
self.overwrite_key(key, fixed, bad_keys)
self.reassign_bad_keys(bad_keys)
def _ensure_free_keys(self, desired):
# ensure that free keys exist by increasing the key length if necessary
@@ -179,6 +203,45 @@ def parse_map_atom(atom):
return path, vars
def is_bad_atom_ordering(key, atoms):
seen_turfs = 0
seen_areas = 0
can_fix = False
for each in atoms:
if each.startswith('/turf'):
if seen_turfs == 1:
print(f"Warning: key '{key}' has multiple turfs!")
if seen_areas:
print(f"Warning: key '{key}' has area before turf (autofixing...)")
can_fix = True
seen_turfs += 1
elif each.startswith('/area'):
if seen_areas == 1:
print(f"Warning: key '{key}' has multiple areas!!!")
seen_areas += 1
else:
if (seen_turfs or seen_areas) and not can_fix:
print(f"Warning: key '{key}' has movable after turf or area (autofixing...)")
can_fix = True
if not seen_areas or not seen_turfs:
print(f"Warning: key '{key}' is missing either a turf or area")
return can_fix
def fix_atom_ordering(atoms):
movables = []
turfs = []
areas = []
for each in atoms:
if each.startswith('/turf'):
turfs.append(each)
elif each.startswith('/area'):
areas.append(each)
else:
movables.append(each)
movables.extend(turfs)
movables.extend(areas)
return movables
# ----------
# TGM writer
@@ -307,7 +370,7 @@ def _parse(map_raw_text):
continue
elif in_comment_line:
continue
elif char == "\t":
elif char in "\r\t":
continue
if char == "/" and not in_quote_block:
@@ -415,6 +478,9 @@ def _parse(map_raw_text):
# grid block
for char in it:
if char == "\r":
continue
if in_coord_block:
if char == ",":
if reading_coord == "x":
@@ -1,5 +1,5 @@
@echo off
set MAPROOT=../../_maps/
set TGM=1
python ./src/convert.py
python convert.py
pause
@@ -0,0 +1,30 @@
/obj/effect/turf_decal/stripes/corner {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
/obj/effect/turf_decal/stripes/corner {dir=2} : /obj/effect/turf_decal/stripes/corner {@OLD;dir=@SKIP}
/obj/effect/turf_decal/stripes/corner {dir=4} : /obj/effect/turf_decal/stripes/corner {@OLD;dir=1}
/obj/effect/turf_decal/stripes/corner {dir=8} : /obj/effect/turf_decal/stripes/corner {@OLD;dir=4}
/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/stripes/corner {@OLD}
/obj/effect/turf_decal/stripes/red/corner {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
/obj/effect/turf_decal/stripes/red/corner {dir=2} : /obj/effect/turf_decal/stripes/red/corner {@OLD;dir=@SKIP}
/obj/effect/turf_decal/stripes/red/corner {dir=4} : /obj/effect/turf_decal/stripes/red/corner {@OLD;dir=1}
/obj/effect/turf_decal/stripes/red/corner {dir=8} : /obj/effect/turf_decal/stripes/red/corner {@OLD;dir=4}
/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/stripes/red/corner {@OLD}
/obj/effect/turf_decal/stripes/white/corner {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
/obj/effect/turf_decal/stripes/white/corner {dir=2} : /obj/effect/turf_decal/stripes/white/corner {@OLD;dir=@SKIP}
/obj/effect/turf_decal/stripes/white/corner {dir=4} : /obj/effect/turf_decal/stripes/white/corner {@OLD;dir=1}
/obj/effect/turf_decal/stripes/white/corner {dir=8} : /obj/effect/turf_decal/stripes/white/corner {@OLD;dir=4}
/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/stripes/white/corner {@OLD}
/obj/effect/turf_decal/box/corners {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
/obj/effect/turf_decal/box/corners {dir=2} : /obj/effect/turf_decal/box/corners {@OLD;dir=@SKIP}
/obj/effect/turf_decal/box/corners {dir=4} : /obj/effect/turf_decal/box/corners {@OLD;dir=1}
/obj/effect/turf_decal/box/corners {dir=8} : /obj/effect/turf_decal/box/corners {@OLD;dir=4}
/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/box/corners {@OLD}
/obj/effect/turf_decal/box/red/corners {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
/obj/effect/turf_decal/box/red/corners {dir=2} : /obj/effect/turf_decal/box/red/corners {@OLD;dir=@SKIP}
/obj/effect/turf_decal/box/red/corners {dir=4} : /obj/effect/turf_decal/box/red/corners {@OLD;dir=1}
/obj/effect/turf_decal/box/red/corners {dir=8} : /obj/effect/turf_decal/box/red/corners {@OLD;dir=4}
/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/box/red/corners {@OLD}
/obj/effect/turf_decal/box/white/corners {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
/obj/effect/turf_decal/box/white/corners {dir=2} : /obj/effect/turf_decal/box/white/corners {@OLD;dir=@SKIP}
/obj/effect/turf_decal/box/white/corners {dir=4} : /obj/effect/turf_decal/box/white/corners {@OLD;dir=1}
/obj/effect/turf_decal/box/white/corners {dir=8} : /obj/effect/turf_decal/box/white/corners {@OLD;dir=4}
/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/box/white/corners {@OLD}
@@ -0,0 +1,465 @@
/turf/open/floor/circuit/killroom : /turf/open/floor/circuit/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/airless/asteroid : /obj/effect/turf_decal/sand , /turf/open/floor/plasteel/airless {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/airless/bar : /obj/effect/turf_decal/tile/bar , /obj/effect/turf_decal/tile/bar {dir=1} , /turf/open/floor/plasteel/airless {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/arrival {dir=1} : /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white/corner {@OLD;dir=1}
/turf/open/floor/plasteel/arrival {dir=@UNSET} : /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/arrival {dir=2} : /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/arrival {dir=4} : /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/arrival {dir=5} : /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/cafeteria {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/arrival {dir=6} : /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/arrival {dir=8} : /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=1}
/turf/open/floor/plasteel/arrival {dir=9} : /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=1}
/turf/open/floor/plasteel/arrival {dir=10} : /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/cafeteria {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/arrival/corner {dir=1} : /turf/open/floor/plasteel/white/corner {@OLD}
/turf/open/floor/plasteel/arrival/corner {dir=@UNSET} : /turf/open/floor/plasteel/white/corner {@OLD}
/turf/open/floor/plasteel/arrival/corner {dir=2} : /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/arrival/corner {dir=4} : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/arrival/corner {dir=8} : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/asteroid : /obj/effect/turf_decal/sand , /turf/open/floor/plasteel
/turf/open/floor/plasteel/bar : /obj/effect/turf_decal/tile/bar , /obj/effect/turf_decal/tile/bar {dir=1} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/barber : /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/cafeteria {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/blue : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/blue/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/blue/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/blue/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/blue/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/blue/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/blue/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/blue/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/blue/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/blue/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/blue/corner : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/blueyellow : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/blueyellow/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/blueyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/blueyellow/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/blueyellow/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/blueyellow/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/blueyellow/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/blueyellow/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/blueyellow/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/blueyellow/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown/corner : /obj/effect/turf_decal/tile/brown {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown/telecomms {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown/telecomms {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown/telecomms {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown/telecomms {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown/telecomms {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown/telecomms {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown/telecomms {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown/telecomms {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brownold {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brownold {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brownold {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brownold {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brownold {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brownold {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brownold {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brownold {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brownold {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/brownold/corner : /obj/effect/turf_decal/tile/brown {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/caution {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark/corner {@OLD;dir=1}
/turf/open/floor/plasteel/caution {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/corner {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/caution {dir=2} : /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/corner {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/caution {dir=4} : /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark/corner {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/caution {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/checker {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/caution {dir=6} : /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/corner {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/caution {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/corner {@OLD;dir=1}
/turf/open/floor/plasteel/caution {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/corner {@OLD;dir=1}
/turf/open/floor/plasteel/caution {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/checker {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/caution/corner {dir=1} : /turf/open/floor/plasteel/dark/corner {@OLD}
/turf/open/floor/plasteel/caution/corner {dir=@UNSET} : /turf/open/floor/plasteel/dark/corner {@OLD}
/turf/open/floor/plasteel/caution/corner {dir=2} : /turf/open/floor/plasteel/dark/corner {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/caution/corner {dir=4} : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/caution/corner {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/cmo : /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/dark/telecomms/mainframe : /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/dark/telecomms/server : /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/dark/telecomms/server/walkway : /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkblue : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkblue/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkblue/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkblue/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkblue/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkblue/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkblue/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkblue/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkblue/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkblue/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkblue/corner : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkblue/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkblue/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkblue/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkblue/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkblue/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkblue/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkblue/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkblue/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkblue/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkbrown : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkbrown/side {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkbrown/side {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkbrown/side {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkbrown/side {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkbrown/side {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkbrown/side {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkbrown/side {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkbrown/side {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkbrown/side {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkbrown/corner : /obj/effect/turf_decal/tile/brown {dir=@OLD} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkgreen : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkgreen/side {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkgreen/side {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkgreen/side {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkgreen/side {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkgreen/side {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkgreen/side {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkgreen/side {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkgreen/side {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkgreen/side {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkgreen/corner : /obj/effect/turf_decal/tile/green {dir=@OLD} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkpurple : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkpurple/side {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkpurple/side {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkpurple/side {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkpurple/side {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkpurple/side {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkpurple/side {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkpurple/side {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkpurple/side {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkpurple/side {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkpurple/corner : /obj/effect/turf_decal/tile/purple {dir=@OLD} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkred : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkred/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkred/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkred/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkred/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkred/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkred/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkred/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkred/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkred/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkred/corner : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkred/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkred/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkred/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkred/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkred/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkred/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkred/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkred/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkred/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkyellow : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkyellow/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkyellow/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkyellow/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkyellow/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkyellow/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkyellow/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkyellow/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkyellow/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkyellow/corner : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/escape {dir=1} : /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/white/corner {@OLD;dir=1}
/turf/open/floor/plasteel/escape {dir=@UNSET} : /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/escape {dir=2} : /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/escape {dir=4} : /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/escape {dir=5} : /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/cafeteria {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/escape {dir=6} : /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/escape {dir=8} : /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=1}
/turf/open/floor/plasteel/escape {dir=9} : /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=1}
/turf/open/floor/plasteel/escape {dir=10} : /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/cafeteria {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/escape/corner {dir=1} : /turf/open/floor/plasteel/white/corner {@OLD}
/turf/open/floor/plasteel/escape/corner {dir=@UNSET} : /turf/open/floor/plasteel/white/corner {@OLD}
/turf/open/floor/plasteel/escape/corner {dir=2} : /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/escape/corner {dir=4} : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/escape/corner {dir=8} : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/green : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/green/side {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/green/side {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/green/side {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/green/side {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/green/side {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/green/side {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/green/side {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/green/side {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/green/side {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/green/corner : /obj/effect/turf_decal/tile/green {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/green/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/green/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/green/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/green/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/green/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/green/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/green/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/green/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/green/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/greenblue : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/greenblue/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/greenblue/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/greenblue/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/greenblue/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/greenblue/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/greenblue/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/greenblue/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/greenblue/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/greenblue/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/greenyellow : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/greenyellow/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/greenyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/greenyellow/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/greenyellow/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/greenyellow/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/greenyellow/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/greenyellow/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/greenyellow/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/greenyellow/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/hydrofloor : /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/neutral : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/neutral/side {dir=1} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/neutral/side {dir=@UNSET} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/neutral/side {dir=2} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/neutral/side {dir=4} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/neutral/side {dir=5} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/neutral/side {dir=6} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/neutral/side {dir=8} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/neutral/side {dir=9} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/neutral/side {dir=10} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/neutral/corner : /obj/effect/turf_decal/tile/neutral {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/neutral/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/neutral/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/neutral/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/neutral/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/neutral/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/neutral/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/neutral/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/neutral/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/neutral/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/orange : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/orange/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/orange/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/orange/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/orange/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/orange/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/orange/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/orange/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/orange/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/orange/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/orange/corner : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/purple : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/purple/side {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/purple/side {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/purple/side {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/purple/side {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/purple/side {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/purple/side {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/purple/side {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/purple/side {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/purple/side {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/purple/corner : /obj/effect/turf_decal/tile/purple {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/red : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/red/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/red/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/red/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/red/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/red/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/red/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/red/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/red/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/red/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/red/corner : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redblue : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redblue/redside {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redblue/redside {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redblue/redside {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redblue/redside {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redblue/redside {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redblue/redside {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redblue/redside {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redblue/redside {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redblue/redside {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redblue/blueside {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redblue/blueside {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redblue/blueside {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redblue/blueside {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redblue/blueside {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redblue/blueside {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redblue/blueside {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redblue/blueside {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redblue/blueside {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redgreen : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redgreen/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redgreen/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redgreen/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redgreen/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redgreen/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redgreen/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redgreen/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redgreen/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redgreen/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redgreen : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redgreen/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redgreen/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redgreen/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redgreen/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redgreen/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redgreen/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redgreen/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redgreen/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redgreen/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redyellow : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redyellow/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redyellow/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redyellow/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redyellow/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redyellow/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redyellow/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redyellow/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/redyellow/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/vault : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/vault/airless : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark/airless {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/vault/snowdin : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark/snowdin {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/vault/telecomms : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/vault/telecomms/mainframe : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/vault/killroom : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/vault/side {dir=1} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/vault/side {dir=@UNSET} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/vault/side {dir=2} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/vault/side {dir=4} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/vault/side {dir=5} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/vault/side {dir=6} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/vault/side {dir=8} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/vault/side {dir=9} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/vault/side {dir=10} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/vault/corner : /obj/effect/turf_decal/tile/neutral {dir=@OLD} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteblue : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteblue/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteblue/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteblue/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteblue/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteblue/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteblue/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteblue/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteblue/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteblue/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteblue/corner : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitegreen : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitegreen/side {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitegreen/side {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitegreen/side {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitegreen/side {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitegreen/side {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitegreen/side {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitegreen/side {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitegreen/side {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitegreen/side {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitegreen/corner : /obj/effect/turf_decal/tile/green {dir=@OLD} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitepurple : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitepurple/side {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitepurple/side {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitepurple/side {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitepurple/side {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitepurple/side {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitepurple/side {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitepurple/side {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitepurple/side {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitepurple/side {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitepurple/corner : /obj/effect/turf_decal/tile/purple {dir=@OLD} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitered : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitered/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitered/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitered/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitered/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitered/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitered/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitered/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitered/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitered/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whitered/corner : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteyellow : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteyellow/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteyellow/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteyellow/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteyellow/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteyellow/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteyellow/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteyellow/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteyellow/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/whiteyellow/corner : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/yellow : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/yellow/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/yellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/yellow/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/yellow/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/yellow/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/yellow/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/yellow/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/yellow/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/yellow/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
/turf/open/floor/plasteel/yellow/corner : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
@@ -1,5 +1,5 @@
@echo off
set MAPROOT=../../_maps/
set TGM=1
python ./src/mapmerge.py
python mapmerge.py
pause
+177
View File
@@ -0,0 +1,177 @@
#!/usr/bin/env python3
import sys
import dmi
def images_equal(left, right):
if left.size != right.size:
return False
w, h = left.size
left_load, right_load = left.load(), right.load()
for y in range(0, h):
for x in range(0, w):
lpixel, rpixel = left_load[x, y], right_load[x, y]
# quietly ignore changes where both pixels are fully transparent
if lpixel != rpixel and (lpixel[3] != 0 or rpixel[3] != 0):
return False
return True
def states_equal(left, right):
result = True
# basic properties
for attr in ('loop', 'rewind', 'movement', 'dirs', 'delays', 'hotspots', 'framecount'):
lval, rval = getattr(left, attr), getattr(right, attr)
if lval != rval:
result = False
# frames
for (left_frame, right_frame) in zip(left.frames, right.frames):
if not images_equal(left_frame, right_frame):
result = False
return result
def key_of(state):
return (state.name, state.movement)
def dictify(sheet):
result = {}
for state in sheet.states:
k = key_of(state)
if k in result:
print(f" duplicate {k!r}")
result[k] = state
return result
def three_way_merge(base, left, right):
base_dims = base.width, base.height
if base_dims != (left.width, left.height) or base_dims != (right.width, right.height):
print("Dimensions have changed:")
print(f" Base: {base.width} x {base.height}")
print(f" Ours: {left.width} x {left.height}")
print(f" Theirs: {right.width} x {right.height}")
return True, None
base_states, left_states, right_states = dictify(base), dictify(left), dictify(right)
new_left = {k: v for k, v in left_states.items() if k not in base_states}
new_right = {k: v for k, v in right_states.items() if k not in base_states}
new_both = {}
conflicts = []
for key, state in list(new_left.items()):
in_right = new_right.get(key, None)
if in_right:
if states_equal(state, in_right):
# allow it
new_both[key] = state
else:
# generate conflict states
print(f" C: {state.name!r}: added differently in both!")
state.name = f"{state.name} !CONFLICT! left"
conflicts.append(state)
in_right.name = f"{state.name} !CONFLICT! right"
conflicts.append(in_right)
# don't add it a second time
del new_left[key]
del new_right[key]
final_states = []
# add states that are currently in the base
for state in base.states:
in_left = left_states.get(key_of(state), None)
in_right = right_states.get(key_of(state), None)
left_equals = in_left and states_equal(state, in_left)
right_equals = in_right and states_equal(state, in_right)
if not in_left and not in_right:
# deleted in both left and right, it's just deleted
print(f" {state.name!r}: deleted in both")
elif not in_left:
# left deletes
print(f" {state.name!r}: deleted in left")
if not right_equals:
print(f" ... but modified in right")
final_states.append(in_right)
elif not in_right:
# right deletes
print(f" {state.name!r}: deleted in right")
if not left_equals:
print(f" ... but modified in left")
final_states.append(in_left)
elif left_equals and right_equals:
# changed in neither
#print(f"Same in both: {state.name!r}")
final_states.append(state)
elif left_equals:
# changed only in right
print(f" {state.name!r}: changed in left")
final_states.append(in_right)
elif right_equals:
# changed only in left
print(f" {state.name!r}: changed in right")
final_states.append(in_left)
elif states_equal(in_left, in_right):
# changed in both, to the same thing
print(f" {state.name!r}: changed same in both")
final_states.append(in_left) # either or
else:
# changed in both
name = state.name
print(f" C: {name!r}: changed differently in both!")
state.name = f"{name} !CONFLICT! base"
conflicts.append(state)
in_left.name = f"{name} !CONFLICT! left"
conflicts.append(in_left)
in_right.name = f"{name} !CONFLICT! right"
conflicts.append(in_right)
# add states which both left and right added the same
for key, state in new_both.items():
print(f" {state.name!r}: added same in both")
final_states.append(state)
# add states that are brand-new in the left
for key, state in new_left.items():
print(f" {state.name!r}: added in left")
final_states.append(state)
# add states that are brand-new in the right
for key, state in new_right.items():
print(f" {state.name!r}: added in right")
final_states.append(state)
final_states.extend(conflicts)
merged = dmi.Dmi(base.width, base.height)
merged.states = final_states
return len(conflicts), merged
def main(path, original, left, right):
print(f"Merging icon: {path}")
icon_orig = dmi.Dmi.from_file(original)
icon_left = dmi.Dmi.from_file(left)
icon_right = dmi.Dmi.from_file(right)
trouble, merged = three_way_merge(icon_orig, icon_left, icon_right)
if merged:
merged.to_file(left)
if trouble:
print("!!! Manual merge required!")
if merged:
print(" A best-effort merge was performed. You must edit the icon and remove all")
print(" icon states marked with !CONFLICT!, leaving only the desired icon.")
else:
print(" The icon was totally unable to be merged, you must start with one version")
print(" or the other and manually resolve the conflict.")
print(" Information about which states conflicted is listed above.")
return trouble
if __name__ == '__main__':
if len(sys.argv) != 6:
print("DMI merge driver called with wrong number of arguments")
print(" usage: merge-driver-dmi %P %O %A %B %L")
exit(1)
# "left" is also the file that ought to be overwritten
_, path, original, left, right, conflict_size_marker = sys.argv
exit(main(path, original, left, right))
+57
View File
@@ -0,0 +1,57 @@
#!/usr/bin/env python3
import os
import pygit2
import dmm
from mapmerge import merge_map
def main(repo):
if repo.index.conflicts:
print("You need to resolve merge conflicts first.")
return 1
try:
repo.lookup_reference('MERGE_HEAD')
print("Not running mapmerge for merge commit.")
return 0
except KeyError:
pass
changed = 0
for path, status in repo.status().items():
if path.endswith(".dmm") and (status & (pygit2.GIT_STATUS_INDEX_MODIFIED | pygit2.GIT_STATUS_INDEX_NEW)):
# read the index
index_entry = repo.index[path]
index_map = dmm.DMM.from_bytes(repo[index_entry.id].read_raw())
try:
head_blob = repo[repo[repo.head.target].tree[path].id]
except KeyError:
# New map, no entry in HEAD
print(f"Converting new map: {path}", flush=True)
assert (status & pygit2.GIT_STATUS_INDEX_NEW)
merged_map = index_map
else:
# Entry in HEAD, merge the index over it
print(f"Merging map: {path}", flush=True)
assert not (status & pygit2.GIT_STATUS_INDEX_NEW)
head_map = dmm.DMM.from_bytes(head_blob.read_raw())
merged_map = merge_map(index_map, head_map)
# write to the index
blob_id = repo.create_blob(merged_map.to_bytes())
repo.index.add(pygit2.IndexEntry(path, blob_id, index_entry.mode))
changed += 1
# write to the working directory if that's clean
if status & (pygit2.GIT_STATUS_WT_DELETED | pygit2.GIT_STATUS_WT_MODIFIED):
print(f"Warning: {path} has unindexed changes, not overwriting them")
else:
merged_map.to_file(os.path.join(repo.workdir, path))
if changed:
repo.index.write()
print(f"Merged {changed} maps.")
return 0
if __name__ == '__main__':
exit(main(pygit2.Repository(pygit2.discover_repository(os.getcwd()))))
+1 -1
View File
@@ -1,3 +1,3 @@
pygit2==0.26.0
pygit2==0.27.2
bidict==0.13.1
Pillow==5.1.0
@@ -1,5 +1,5 @@
@echo off
set MAPROOT=../../_maps/
set TGM=0
python ./src/convert.py
python convert.py
pause
+163
View File
@@ -0,0 +1,163 @@
# A script and syntax for applying path updates to maps.
import re
import os
import argparse
import frontend
from dmm import *
desc = """
Update dmm files given update file/string.
Replacement syntax example:
/turf/open/floor/plasteel/warningline : /obj/effect/turf_decal {dir = @OLD ;tag = @SKIP;icon_state = @SKIP}
/turf/open/floor/plasteel/warningline : /obj/effect/turf_decal {@OLD} , /obj/thing {icon_state = @OLD:name; name = "meme"}
/turf/open/floor/plasteel/warningline{dir=2} : /obj/thing
New paths properties:
@OLD - if used as property name copies all modified properties from original path to this one
property = @SKIP - will not copy this property through when global @OLD is used.
property = @OLD - will copy this modified property from original object even if global @OLD is not used
property = @OLD:name - will copy [name] property from original object even if global @OLD is not used
Anything else is copied as written.
Old paths properties:
Will be used as a filter.
property = @UNSET - will apply the rule only if the property is not mapedited
"""
default_map_directory = "../../_maps"
replacement_re = re.compile('\s*([^{]*)\s*(\{(.*)\})?')
#urgent todo: replace with actual parser, this is slow as janitor in crit
split_re = re.compile('((?:[A-Za-z0-9_\-$]+)\s*=\s*(?:"(?:.+?)"|[^";]*)|@OLD)')
def props_to_string(props):
return "{{{0}}}".format(";".join([k+" = "+props[k] for k in props]))
def string_to_props(propstring, verbose = False):
props = dict()
for raw_prop in re.split(split_re, propstring):
if not raw_prop or raw_prop.strip() == ';':
continue
prop = raw_prop.split('=', maxsplit=1)
props[prop[0].strip()] = prop[1].strip() if len(prop) > 1 else None
if verbose:
print("{0} to {1}".format(propstring, props))
return props
def parse_rep_string(replacement_string, verbose = False):
# translates /blah/blah {meme = "test",} into path,prop dictionary tuple
match = re.match(replacement_re, replacement_string)
path = match.group(1)
props = match.group(3)
if props:
prop_dict = string_to_props(props, verbose)
else:
prop_dict = dict()
return path.strip(), prop_dict
def update_path(dmm_data, replacement_string, verbose=False):
old_path_part, new_path_part = replacement_string.split(':', maxsplit=1)
old_path, old_path_props = parse_rep_string(old_path_part, verbose)
new_paths = list()
for replacement_def in new_path_part.split(','):
new_path, new_path_props = parse_rep_string(replacement_def, verbose)
new_paths.append((new_path, new_path_props))
def replace_def(match):
if match.group(2):
old_props = string_to_props(match.group(2), verbose)
else:
old_props = dict()
for filter_prop in old_path_props:
if filter_prop not in old_props:
if old_path_props[filter_prop] == "@UNSET":
continue
else:
return [match.group(0)]
else:
if old_props[filter_prop] != old_path_props[filter_prop] or old_path_props[filter_prop] == "@UNSET":
return [match.group(0)] #does not match current filter, skip the change.
if verbose:
print("Found match : {0}".format(match.group(0)))
out_paths = []
for new_path, new_props in new_paths:
out = new_path
out_props = dict()
for prop_name, prop_value in new_props.items():
if prop_name == "@OLD":
out_props = dict(old_props)
continue
if prop_value == "@SKIP":
out_props.pop(prop_name, None)
continue
if prop_value.startswith("@OLD"):
params = prop_value.split(":")
if prop_name in old_props:
out_props[prop_name] = old_props[params[1]] if len(params) > 1 else old_props[prop_name]
continue
out_props[prop_name] = prop_value
if out_props:
out += props_to_string(out_props)
out_paths.append(out)
if verbose:
print("Replacing with: {0}".format(out_paths))
return out_paths
def get_result(element):
p = re.compile("{0}\s*({{(.*)}})?$".format(re.escape(old_path)))
match = p.match(element)
if match:
return replace_def(match) # = re.sub(p,replace_def,element)
else:
return [element]
bad_keys = {}
keys = list(dmm_data.dictionary.keys())
for definition_key in keys:
def_value = dmm_data.dictionary[definition_key]
new_value = tuple(y for x in def_value for y in get_result(x))
if new_value != def_value:
dmm_data.overwrite_key(definition_key, new_value, bad_keys)
dmm_data.reassign_bad_keys(bad_keys)
def update_map(map_filepath, updates, verbose=False):
print("Updating: {0}".format(map_filepath))
dmm_data = DMM.from_file(map_filepath)
for update_string in updates:
update_path(dmm_data, update_string, verbose)
dmm_data.to_file(map_filepath, True)
def update_all_maps(map_directory, updates, verbose=False):
for root, _, files in os.walk(map_directory):
for filepath in files:
if filepath.endswith(".dmm"):
path = os.path.join(root, filepath)
update_map(path, updates, verbose)
def main(args):
if args.inline:
updates = [args.update_source]
else:
with open(args.update_source) as f:
updates = [line for line in f if line and not line.startswith("#") and not line.isspace()]
if args.map:
update_map(args.map, updates, verbose=args.verbose)
else:
map_directory = args.directory or frontend.read_settings().map_folder
update_all_maps(map_directory, updates, verbose=args.verbose)
if __name__ == "__main__":
parser = argparse.ArgumentParser(description=desc, formatter_class=argparse.RawTextHelpFormatter)
parser.add_argument("update_source", help="update file path / line of update notation")
parser.add_argument("--map", "-m", help="path to update, defaults to all maps in maps directory")
parser.add_argument("--directory", "-d", help="path to maps directory, defaults to _maps/")
parser.add_argument("--inline", "-i", help="treat update source as update string instead of path", action="store_true")
parser.add_argument("--verbose", "-v", help="toggle detailed update information", action="store_true")
main(parser.parse_args())