mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-28 14:37:04 +01:00
Merge remote-tracking branch 'upstream/master' into pill-bottles-and-patch-packs
This commit is contained in:
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" = (
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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" = (
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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" = (
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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())
|
||||
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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())
|
||||
|
||||
|
||||
@@ -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,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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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 ..()
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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 |
@@ -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>
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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))
|
||||
@@ -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,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
|
||||
@@ -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())
|
||||
Reference in New Issue
Block a user