This commit is contained in:
kappa-sama
2019-11-02 22:46:50 -04:00
1463 changed files with 15847 additions and 10774 deletions
@@ -167,7 +167,7 @@
/area/ruin/unpowered/xenonest)
"aM" = (
/obj/structure/alien/weeds,
/obj/effect/decal/cleanable/xenoblood,
/obj/effect/decal/cleanable/blood/xeno,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/ruin/unpowered/xenonest)
"aQ" = (
@@ -260,7 +260,7 @@
/obj/structure/stone_tile/cracked{
dir = 1
},
/obj/effect/decal/cleanable/xenoblood,
/obj/effect/decal/cleanable/blood/xeno,
/turf/open/indestructible/boss/air,
/area/ruin/unpowered/xenonest)
"be" = (
@@ -381,7 +381,7 @@
/obj/structure/stone_tile{
dir = 1
},
/obj/effect/decal/cleanable/xenoblood,
/obj/effect/decal/cleanable/blood/xeno,
/turf/open/indestructible/boss/air,
/area/ruin/unpowered/xenonest)
"bs" = (
@@ -439,7 +439,7 @@
/obj/structure/stone_tile{
dir = 8
},
/obj/effect/decal/cleanable/xenoblood,
/obj/effect/decal/cleanable/blood/xeno,
/turf/open/indestructible/boss/air,
/area/ruin/unpowered/xenonest)
"by" = (
@@ -475,6 +475,8 @@
dir = 4
},
/obj/item/storage/bag/plants/portaseeder,
/obj/item/seeds/cotton,
/obj/item/seeds/cotton,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"bk" = (
@@ -279,6 +279,7 @@
},
/turf/open/floor/plasteel/freezer,
/area/ruin/powered/seedvault)
(1,1,1) = {"
a
a
@@ -90,6 +90,9 @@
/obj/structure/table,
/obj/effect/decal/cleanable/dirt,
/obj/item/organ/cyberimp/chest/reviver,
/obj/item/stack/sheet/mineral/gold{
amount = 3
},
/turf/open/floor/plasteel,
/area/ruin/powered)
"s" = (
@@ -145,9 +148,6 @@
"A" = (
/obj/structure/table,
/obj/effect/decal/cleanable/dirt,
/obj/item/mmi/posibrain{
pixel_y = 9
},
/obj/item/mmi,
/turf/open/floor/plasteel,
/area/ruin/powered)
@@ -1288,7 +1288,7 @@
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/derelictoutpost/cargobay)
"cV" = (
/obj/effect/decal/cleanable/xenoblood/xsplatter,
/obj/effect/decal/cleanable/blood/splatter/xeno,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/derelictoutpost/cargobay)
"cW" = (
@@ -1525,7 +1525,7 @@
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/derelictoutpost/cargobay)
"dq" = (
/obj/effect/decal/cleanable/xenoblood/xsplatter,
/obj/effect/decal/cleanable/blood/splatter/xeno,
/obj/structure/alien/weeds{
color = "#4BAE56";
desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";
@@ -0,0 +1,970 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/open/space/basic,
/area/template_noop)
"b" = (
/turf/open/floor/plating/asteroid/airless,
/area/ruin/unpowered/no_grav)
"c" = (
/turf/closed/wall/r_wall/rust,
/area/ruin/space/has_grav/hilbertresearchfacility)
"d" = (
/turf/closed/wall/r_wall,
/area/ruin/space/has_grav/hilbertresearchfacility)
"e" = (
/obj/machinery/porta_turret/syndicate{
desc = "A ballistic machine gun auto-turret that fires bluespace bullets.";
lethal_projectile = /obj/item/projectile/magic/teleport;
name = "displacement turret";
stun_projectile = /obj/item/projectile/magic/teleport
},
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/ruin/space/has_grav/hilbertresearchfacility)
"f" = (
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/ruin/space/has_grav/hilbertresearchfacility)
"g" = (
/obj/structure/table/glass,
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/ruin/space/has_grav/hilbertresearchfacility)
"h" = (
/obj/structure/table/glass,
/obj/item/stack/sheet/bluespace_crystal{
amount = 37
},
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/ruin/space/has_grav/hilbertresearchfacility)
"i" = (
/obj/structure/table/glass,
/obj/item/bodybag/bluespace,
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/ruin/space/has_grav/hilbertresearchfacility)
"j" = (
/turf/open/floor/plasteel/stairs/left,
/area/ruin/space/has_grav/hilbertresearchfacility)
"k" = (
/turf/open/floor/plasteel/stairs/medium,
/area/ruin/space/has_grav/hilbertresearchfacility)
"l" = (
/turf/open/floor/plasteel/stairs/right,
/area/ruin/space/has_grav/hilbertresearchfacility)
"m" = (
/obj/structure/table/glass,
/obj/item/reagent_containers/syringe/bluespace,
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/ruin/space/has_grav/hilbertresearchfacility)
"n" = (
/obj/structure/table/glass,
/obj/item/stock_parts/matter_bin/bluespace,
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/ruin/space/has_grav/hilbertresearchfacility)
"o" = (
/turf/open/floor/plasteel/vaporwave,
/area/ruin/space/has_grav/hilbertresearchfacility)
"p" = (
/obj/structure/table/glass,
/obj/item/stack/cable_coil/blue,
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/ruin/space/has_grav/hilbertresearchfacility)
"q" = (
/obj/structure/table/glass,
/obj/item/storage/backpack/holding,
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/ruin/space/has_grav/hilbertresearchfacility)
"r" = (
/obj/structure/table/glass,
/obj/item/reagent_containers/glass/beaker/bluespace,
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/ruin/space/has_grav/hilbertresearchfacility)
"s" = (
/obj/structure/table/glass,
/obj/item/stock_parts/subspace/crystal,
/obj/item/stock_parts/subspace/transmitter,
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/ruin/space/has_grav/hilbertresearchfacility)
"t" = (
/obj/structure/displaycase{
start_showpiece_type = /obj/item/hilbertshotel
},
/turf/open/floor/plasteel/vaporwave,
/area/ruin/space/has_grav/hilbertresearchfacility)
"u" = (
/obj/structure/table/glass,
/obj/item/analyzer,
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/ruin/space/has_grav/hilbertresearchfacility)
"v" = (
/obj/structure/table/glass,
/obj/item/stock_parts/subspace/amplifier,
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/ruin/space/has_grav/hilbertresearchfacility)
"w" = (
/obj/item/paper/crumpled/docslogs,
/obj/item/pen,
/turf/open/floor/plasteel/vaporwave,
/area/ruin/space/has_grav/hilbertresearchfacility)
"x" = (
/obj/structure/table/glass,
/obj/item/assembly/signaler,
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/ruin/space/has_grav/hilbertresearchfacility)
"y" = (
/obj/structure/table/glass,
/obj/item/slimecross/industrial/bluespace,
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/ruin/space/has_grav/hilbertresearchfacility)
"z" = (
/obj/machinery/door/airlock/vault{
name = "secured door";
req_access = 207
},
/obj/effect/mapping_helpers/airlock/locked,
/turf/open/floor/plasteel/grimy{
icon_state = "engine"
},
/area/ruin/space/has_grav/hilbertresearchfacility)
"A" = (
/obj/structure/filingcabinet,
/turf/open/floor/plasteel/grimy,
/area/ruin/space/has_grav/hilbertresearchfacility)
"B" = (
/turf/open/floor/plasteel/grimy,
/area/ruin/space/has_grav/hilbertresearchfacility)
"C" = (
/obj/structure/table/reinforced,
/turf/open/floor/plasteel/grimy,
/area/ruin/space/has_grav/hilbertresearchfacility)
"D" = (
/obj/item/twohanded/required/kirbyplants/random,
/turf/open/floor/plasteel/grimy,
/area/ruin/space/has_grav/hilbertresearchfacility)
"E" = (
/obj/structure/chair/office,
/turf/open/floor/plasteel/grimy,
/area/ruin/space/has_grav/hilbertresearchfacility)
"F" = (
/obj/machinery/door/window/eastleft,
/turf/open/floor/plasteel/grimy,
/area/ruin/space/has_grav/hilbertresearchfacility)
"G" = (
/obj/structure/table/reinforced,
/obj/item/pen,
/turf/open/floor/plasteel/grimy,
/area/ruin/space/has_grav/hilbertresearchfacility)
"H" = (
/obj/structure/table/reinforced,
/obj/item/paper/crumpled/robertsworkjournal,
/turf/open/floor/plasteel/grimy,
/area/ruin/space/has_grav/hilbertresearchfacility)
"I" = (
/obj/machinery/door/airlock/highsecurity{
req_access = 207
},
/obj/effect/mapping_helpers/airlock/locked,
/turf/open/floor/plasteel/grimy,
/area/ruin/space/has_grav/hilbertresearchfacility)
"J" = (
/turf/closed/mineral/random,
/area/ruin/unpowered/no_grav)
"K" = (
/turf/open/floor/plasteel/stairs/right{
initial_gas_mix = "TEMP=2.7"
},
/area/ruin/unpowered/no_grav)
"U" = (
/turf/open/floor/plasteel/stairs/medium{
initial_gas_mix = "TEMP=2.7"
},
/area/ruin/unpowered/no_grav)
"X" = (
/turf/open/floor/plasteel/stairs/left{
initial_gas_mix = "TEMP=2.7"
},
/area/ruin/unpowered/no_grav)
(1,1,1) = {"
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
"}
(2,1,1) = {"
a
a
a
a
a
a
a
a
a
a
a
b
b
b
a
a
a
a
a
a
a
a
a
a
a
a
"}
(3,1,1) = {"
a
a
a
a
a
a
a
a
a
a
b
J
J
J
a
a
a
a
a
a
a
a
a
a
a
a
"}
(4,1,1) = {"
a
a
a
J
b
J
b
b
a
b
J
b
b
b
b
a
a
a
a
a
a
a
a
a
a
a
"}
(5,1,1) = {"
a
a
b
J
J
J
b
J
b
J
b
b
J
J
J
b
a
a
a
a
a
a
a
a
a
a
"}
(6,1,1) = {"
a
a
b
c
c
c
c
c
d
d
c
d
d
c
d
d
b
a
a
a
a
a
a
a
a
a
"}
(7,1,1) = {"
a
a
b
d
e
f
f
m
r
g
g
f
f
f
e
c
b
a
a
a
a
a
a
a
a
a
"}
(8,1,1) = {"
a
a
b
d
f
f
f
f
f
f
f
f
f
f
f
d
J
b
b
b
b
b
a
a
a
a
"}
(9,1,1) = {"
a
a
J
d
f
f
f
f
f
f
f
f
f
f
f
c
J
b
b
J
b
b
b
a
a
a
"}
(10,1,1) = {"
a
a
J
c
f
f
f
f
f
f
f
f
f
f
f
c
J
b
J
b
b
J
b
a
a
a
"}
(11,1,1) = {"
a
a
J
c
g
f
f
n
s
v
f
f
f
f
f
c
J
J
J
J
J
J
b
a
a
a
"}
(12,1,1) = {"
a
a
J
c
g
f
j
o
o
o
j
f
f
f
c
d
d
c
c
d
c
J
b
a
a
a
"}
(13,1,1) = {"
a
a
J
c
h
f
k
o
t
o
k
f
f
f
c
A
B
C
B
D
c
J
J
a
a
a
"}
(14,1,1) = {"
a
a
J
c
g
f
l
o
o
w
l
f
f
f
d
B
B
G
B
B
c
J
b
b
a
a
"}
(15,1,1) = {"
a
a
J
c
i
f
f
p
u
x
f
f
f
f
d
B
E
H
B
B
c
J
J
J
a
a
"}
(16,1,1) = {"
a
b
J
c
f
f
f
f
f
f
f
f
f
f
c
B
B
C
B
B
c
b
J
b
a
a
"}
(17,1,1) = {"
a
b
J
d
f
f
f
f
f
f
f
f
f
f
c
C
F
C
B
B
c
b
b
b
a
a
"}
(18,1,1) = {"
a
b
J
d
f
f
f
f
f
f
f
f
f
f
d
B
B
B
B
B
d
b
b
b
b
a
"}
(19,1,1) = {"
a
b
J
d
f
f
f
f
f
f
f
f
f
f
z
B
B
B
B
B
d
b
b
b
b
a
"}
(20,1,1) = {"
a
a
b
c
e
f
g
q
g
y
g
f
e
f
c
B
B
B
B
B
d
b
b
b
b
a
"}
(21,1,1) = {"
a
a
b
c
c
c
c
c
c
d
d
c
c
c
d
B
B
B
B
B
d
X
b
b
b
a
"}
(22,1,1) = {"
a
a
b
b
J
J
b
b
J
J
J
J
J
J
d
D
B
B
B
B
I
U
b
b
b
a
"}
(23,1,1) = {"
a
a
a
b
b
J
J
b
b
b
b
J
b
J
c
d
d
c
d
c
d
K
b
b
b
a
"}
(24,1,1) = {"
a
a
a
a
b
b
J
J
J
b
b
b
b
J
b
b
J
J
J
J
b
b
b
b
b
a
"}
(25,1,1) = {"
a
a
a
a
a
b
b
b
J
J
J
J
b
b
b
b
b
b
a
J
J
J
b
J
b
a
"}
(26,1,1) = {"
a
a
a
a
a
a
a
a
b
b
b
a
b
b
b
b
b
a
a
a
J
J
J
J
J
a
"}
(27,1,1) = {"
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
"}
+1 -1
View File
@@ -3830,7 +3830,7 @@
/turf/open/floor/engine/cult,
/area/awaymission/academy/academycellar)
"kY" = (
/obj/effect/decal/cleanable/xenoblood,
/obj/effect/decal/cleanable/blood/xeno,
/turf/open/floor/engine/cult,
/area/awaymission/academy/academycellar)
"kZ" = (
+3 -3
View File
@@ -873,7 +873,7 @@
/obj/structure/window/reinforced{
dir = 4
},
/obj/effect/decal/cleanable/xenoblood,
/obj/effect/decal/cleanable/blood/xeno,
/turf/open/floor/plating{
initial_gas_mix = "n2=23;o2=14"
},
@@ -945,7 +945,7 @@
/area/awaymission/caves/research)
"cN" = (
/obj/machinery/door/window/eastleft,
/obj/effect/decal/cleanable/xenoblood/xgibs,
/obj/effect/decal/cleanable/blood/gibs/xeno,
/turf/open/floor/plating{
initial_gas_mix = "n2=23;o2=14"
},
@@ -1015,7 +1015,7 @@
},
/area/awaymission/caves/BMP_asteroid/level_two)
"cV" = (
/obj/effect/decal/cleanable/xenoblood/xgibs,
/obj/effect/decal/cleanable/blood/gibs/xeno,
/turf/open/floor/plating{
initial_gas_mix = "n2=23;o2=14"
},
+3 -3
View File
@@ -5597,8 +5597,8 @@
},
/area/awaymission/moonoutpost19/arrivals)
"kK" = (
/obj/effect/decal/cleanable/xenoblood,
/obj/effect/decal/cleanable/xenoblood/xgibs,
/obj/effect/decal/cleanable/blood/xeno,
/obj/effect/decal/cleanable/blood/gibs/xeno,
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
dir = 1
@@ -5608,7 +5608,7 @@
},
/area/awaymission/moonoutpost19/arrivals)
"kL" = (
/obj/effect/decal/cleanable/xenoblood,
/obj/effect/decal/cleanable/blood/xeno,
/obj/effect/decal/remains/xeno{
desc = "They look like the remains of something... alien. The front of skull appears to have been completely obliterated."
},
+6 -6
View File
@@ -34753,12 +34753,7 @@
/turf/open/floor/plasteel/white,
/area/medical/sleeper)
"bCO" = (
/obj/structure/table,
/obj/item/storage/box/bodybags{
pixel_x = 3;
pixel_y = 3
},
/obj/item/storage/box/rxglasses,
/obj/machinery/bloodbankgen,
/turf/open/floor/plasteel/white,
/area/medical/sleeper)
"bCP" = (
@@ -36538,6 +36533,11 @@
"bGR" = (
/obj/structure/table,
/obj/item/hand_labeler,
/obj/item/storage/box/rxglasses,
/obj/item/storage/box/bodybags{
pixel_x = 3;
pixel_y = 3
},
/obj/item/gun/syringe,
/turf/open/floor/plasteel/white,
/area/medical/sleeper)
@@ -89232,7 +89232,7 @@
/area/maintenance/port)
"cTz" = (
/obj/effect/decal/remains/xeno,
/obj/effect/decal/cleanable/xenoblood,
/obj/effect/decal/cleanable/blood/xeno,
/turf/open/floor/circuit/green,
/area/science/xenobiology)
"cTA" = (
@@ -93013,10 +93013,10 @@
/turf/open/floor/plasteel/white,
/area/medical/medbay/central)
"cZK" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/obj/machinery/bloodbankgen,
/turf/open/floor/plasteel/white,
/area/medical/medbay/central)
"cZL" = (
@@ -127842,8 +127842,7 @@
icon_state = "airlock_control_standby";
id = "chapelgun";
name = "Mass Driver Controller";
pixel_x = -24;
pixel_y = 0
pixel_x = -24
},
/turf/open/floor/plasteel/dark,
/area/chapel/office)
+1 -5
View File
@@ -56605,11 +56605,6 @@
/turf/open/floor/plasteel/dark,
/area/medical/sleeper)
"cfK" = (
/obj/structure/table,
/obj/item/paper_bin{
pixel_x = -2;
pixel_y = 4
},
/obj/machinery/light_switch{
pixel_x = 11;
pixel_y = 23
@@ -56624,6 +56619,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/machinery/bloodbankgen,
/turf/open/floor/plasteel/dark,
/area/medical/sleeper)
"cfL" = (
@@ -30073,10 +30073,8 @@
/turf/open/floor/plasteel/white,
/area/medical/medbay/zone3)
"bbs" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/blue,
/obj/machinery/bloodbankgen,
/turf/open/floor/plasteel/white,
/area/medical/medbay/zone3)
"bbt" = (
@@ -43077,7 +43075,7 @@
/turf/open/floor/plasteel,
/area/engine/atmos)
"vsf" = (
/obj/effect/decal/cleanable/xenoblood/xgibs,
/obj/effect/decal/cleanable/blood/gibs/xeno,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -24138,8 +24138,7 @@
dir = 8
},
/obj/machinery/keycard_auth{
pixel_x = -23;
pixel_y = 0
pixel_x = -23
},
/turf/open/floor/plasteel,
/area/quartermaster/qm)
@@ -31872,14 +31871,11 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
pixel_y = 3
},
/obj/effect/turf_decal/tile/blue,
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/obj/machinery/bloodbankgen,
/turf/open/floor/plasteel/white,
/area/medical/sleeper)
"bwG" = (
+7 -2
View File
@@ -9,6 +9,7 @@
/obj/machinery/door/airlock/titanium{
name = "Arrivals Shuttle Airlock"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/arrival)
"d" = (
@@ -150,17 +151,21 @@
},
/turf/open/floor/plating/airless,
/area/shuttle/arrival)
"B" = (
/obj/machinery/porta_turret/centcom_shuttle,
/turf/closed/wall/mineral/titanium,
/area/shuttle/arrival)
"S" = (
/turf/open/floor/mineral/titanium,
/area/shuttle/arrival)
(1,1,1) = {"
a
b
B
o
d
d
b
B
a
"}
(2,1,1) = {"
+7 -2
View File
@@ -165,6 +165,7 @@
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/obj/structure/fans/tiny,
/turf/open/floor/plasteel/white,
/area/shuttle/arrival)
"o" = (
@@ -449,6 +450,10 @@
},
/turf/open/floor/plasteel,
/area/shuttle/arrival)
"T" = (
/obj/machinery/porta_turret/centcom_shuttle,
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/arrival)
"U" = (
/obj/machinery/computer{
dir = 1;
@@ -480,7 +485,7 @@
(1,1,1) = {"
a
d
T
f
g
n
@@ -632,7 +637,7 @@ a
"}
(9,1,1) = {"
a
d
T
f
g
n
+1
View File
@@ -87,6 +87,7 @@
/obj/effect/turf_decal/stripes/line{
dir = 9
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/arrival)
"k" = (
+7 -2
View File
@@ -9,6 +9,7 @@
/obj/machinery/door/airlock/titanium{
name = "Arrivals Shuttle Airlock"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/arrival)
"d" = (
@@ -139,16 +140,20 @@
},
/turf/open/floor/plating/airless,
/area/shuttle/arrival)
"w" = (
/obj/machinery/porta_turret/centcom_shuttle,
/turf/closed/wall/mineral/titanium,
/area/shuttle/arrival)
"C" = (
/turf/open/floor/mineral/titanium,
/area/shuttle/arrival)
(1,1,1) = {"
a
b
w
m
m
b
w
a
"}
(2,1,1) = {"
+65 -52
View File
@@ -28,7 +28,7 @@
/turf/closed/wall,
/area/shuttle/escape)
"f" = (
/turf/open/floor/plating/airless,
/turf/open/floor/plating,
/area/shuttle/escape)
"g" = (
/obj/docking_port/mobile/emergency/shuttle_build{
@@ -39,32 +39,45 @@
preferred_direction = 2;
width = 30
},
/turf/open/floor/plating/airless,
/obj/machinery/door/airlock,
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"h" = (
/obj/machinery/computer/emergency_shuttle{
dir = 1
},
/turf/open/floor/plating,
/area/shuttle/escape)
"K" = (
/obj/machinery/door/airlock,
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
(1,1,1) = {"
a
c
e
f
f
f
f
f
f
f
f
e
e
e
e
e
e
K
e
g
f
f
f
f
f
f
f
f
f
f
e
e
e
e
e
K
e
K
e
e
e
e
a
@@ -128,7 +141,7 @@ f
f
f
f
f
e
a
a
a
@@ -192,8 +205,8 @@ f
f
e
e
f
f
e
e
e
e
"}
@@ -257,7 +270,7 @@ f
f
f
f
f
e
"}
(8,1,1) = {"
c
@@ -288,7 +301,7 @@ f
f
f
f
f
e
"}
(9,1,1) = {"
b
@@ -318,8 +331,8 @@ f
f
f
f
f
f
h
e
"}
(10,1,1) = {"
b
@@ -350,7 +363,7 @@ f
f
f
f
f
e
"}
(11,1,1) = {"
c
@@ -381,7 +394,7 @@ f
f
f
f
f
e
"}
(12,1,1) = {"
b
@@ -412,7 +425,7 @@ f
f
f
f
f
e
"}
(13,1,1) = {"
b
@@ -471,8 +484,8 @@ f
f
e
e
f
f
e
e
e
e
"}
@@ -531,7 +544,7 @@ f
f
f
f
f
e
a
a
a
@@ -573,25 +586,25 @@ a
a
c
e
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
a
+15 -13
View File
@@ -2,6 +2,13 @@
"aa" = (
/turf/template_noop,
/area/template_noop)
"ab" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/obj/structure/fans/tiny,
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"ac" = (
/turf/closed/wall/mineral/titanium,
/area/shuttle/escape)
@@ -16,17 +23,7 @@
},
/turf/open/floor/mineral/titanium/yellow,
/area/shuttle/escape)
"ah" = (
/obj/effect/spawner/structure/window/shuttle,
/turf/open/floor/plating,
/area/shuttle/escape)
"ai" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"aj" = (
"af" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
@@ -37,8 +34,13 @@
name = "Asteroid emergency shuttle";
width = 28
},
/obj/structure/fans/tiny,
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"ah" = (
/obj/effect/spawner/structure/window/shuttle,
/turf/open/floor/plating,
/area/shuttle/escape)
"al" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock";
@@ -618,7 +620,7 @@ aa
aa
"}
(12,1,1) = {"
ai
ab
at
at
at
@@ -708,7 +710,7 @@ aa
aa
"}
(18,1,1) = {"
aj
af
at
at
at
+3 -2
View File
@@ -5,9 +5,10 @@
},
/turf/open/floor/mineral/titanium,
/area/shuttle/escape/backup)
"c" = (
"b" = (
/obj/machinery/door/airlock/titanium,
/obj/docking_port/mobile/emergency/backup,
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape/backup)
"f" = (
@@ -55,7 +56,7 @@
(1,1,1) = {"
m
m
c
b
m
m
m
+232 -196
View File
@@ -10,15 +10,8 @@
/turf/open/floor/plating,
/area/shuttle/escape)
"ad" = (
/obj/structure/table,
/obj/machinery/chem_dispenser/drinks/beer{
dir = 8
},
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
dir = 1
},
/turf/open/floor/plasteel,
/obj/effect/spawner/structure/window/shuttle,
/turf/open/space/basic,
/area/shuttle/escape)
"ae" = (
/turf/closed/wall/mineral/titanium/nodiagonal,
@@ -45,19 +38,10 @@
pixel_x = -4;
pixel_y = 6
},
/obj/item/reagent_containers/food/drinks/bottle/whiskey,
/obj/item/storage/box/drinkingglasses,
/turf/open/floor/carpet,
/area/shuttle/escape)
"aj" = (
/obj/structure/table,
/obj/machinery/chem_dispenser/drinks{
dir = 8
},
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
dir = 1
},
/turf/open/floor/plasteel,
/area/shuttle/escape)
"ak" = (
/obj/structure/extinguisher_cabinet{
pixel_y = 30
@@ -88,12 +72,6 @@
},
/turf/open/floor/carpet,
/area/shuttle/escape)
"ap" = (
/obj/machinery/computer/security{
dir = 8
},
/turf/open/floor/carpet,
/area/shuttle/escape)
"aq" = (
/obj/machinery/computer/crew{
dir = 4
@@ -122,17 +100,53 @@
pixel_x = 6;
pixel_y = -24
},
/obj/structure/table/wood/poker,
/obj/item/storage/box/drinkingglasses,
/obj/item/reagent_containers/food/drinks/bottle/whiskey,
/obj/machinery/light,
/turf/open/floor/carpet,
/area/shuttle/escape)
"au" = (
/obj/machinery/computer/communications{
dir = 8
/obj/structure/table,
/obj/item/storage/backpack/duffelbag/med/surgery,
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"av" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock";
req_access_txt = "2"
},
/turf/open/floor/carpet,
/obj/structure/fans/tiny,
/turf/open/floor/mineral/plastitanium/red/brig,
/area/shuttle/escape)
"aw" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/obj/docking_port/mobile/emergency{
name = "The Emergency Escape Bar"
},
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
dir = 1
},
/obj/structure/fans/tiny,
/turf/open/floor/plasteel,
/area/shuttle/escape)
"ax" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
dir = 1
},
/obj/structure/fans/tiny,
/turf/open/floor/plasteel,
/area/shuttle/escape)
"ay" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/obj/structure/fans/tiny,
/turf/open/floor/plasteel/freezer,
/area/shuttle/escape)
"az" = (
/obj/machinery/door/airlock/public/glass{
@@ -145,6 +159,12 @@
/obj/machinery/status_display/evac,
/turf/closed/wall/mineral/titanium,
/area/shuttle/escape)
"aB" = (
/obj/machinery/computer/security{
dir = 8
},
/turf/open/floor/carpet,
/area/shuttle/escape)
"aC" = (
/obj/structure/chair/comfy/shuttle,
/turf/open/floor/mineral/plastitanium/red/brig,
@@ -183,10 +203,10 @@
/turf/open/floor/plasteel/grimy,
/area/shuttle/escape)
"aG" = (
/obj/structure/chair/stool{
can_buckle = 1
/obj/machinery/computer/communications{
dir = 8
},
/turf/open/floor/plasteel/grimy,
/turf/open/floor/carpet,
/area/shuttle/escape)
"aH" = (
/obj/machinery/flasher{
@@ -220,11 +240,10 @@
/turf/open/floor/plasteel,
/area/shuttle/escape)
"aK" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock";
req_access_txt = "2"
/obj/structure/chair/stool{
can_buckle = 1
},
/turf/open/floor/mineral/plastitanium/red/brig,
/turf/open/floor/plasteel/grimy,
/area/shuttle/escape)
"aL" = (
/obj/structure/extinguisher_cabinet{
@@ -267,6 +286,12 @@
},
/turf/open/floor/plasteel,
/area/shuttle/escape)
"aQ" = (
/obj/machinery/light/small{
dir = 4
},
/turf/open/floor/plasteel/grimy,
/area/shuttle/escape)
"aR" = (
/obj/structure/table/wood/bar{
boot_dir = 8
@@ -278,6 +303,15 @@
/turf/open/floor/plasteel,
/area/shuttle/escape)
"aS" = (
/obj/structure/table/wood/bar,
/obj/item/instrument/guitar,
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
dir = 1
},
/turf/open/floor/plasteel,
/area/shuttle/escape)
"aT" = (
/obj/structure/extinguisher_cabinet{
pixel_x = 27
},
@@ -290,19 +324,6 @@
},
/turf/open/floor/plasteel,
/area/shuttle/escape)
"aT" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/obj/docking_port/mobile/emergency{
name = "The Emergency Escape Bar"
},
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
dir = 1
},
/turf/open/floor/plasteel,
/area/shuttle/escape)
"aU" = (
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
@@ -311,6 +332,17 @@
/mob/living/simple_animal/hostile/alien/maid/barmaid,
/turf/open/floor/plasteel,
/area/shuttle/escape)
"aV" = (
/obj/structure/table,
/obj/machinery/chem_dispenser/drinks/beer{
dir = 8
},
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
dir = 1
},
/turf/open/floor/plasteel,
/area/shuttle/escape)
"aW" = (
/obj/structure/chair/wood/normal,
/turf/open/floor/plasteel/grimy,
@@ -341,6 +373,17 @@
/obj/effect/spawner/lootdrop/gambling,
/turf/open/floor/plasteel/grimy,
/area/shuttle/escape)
"bb" = (
/obj/structure/table,
/obj/machinery/chem_dispenser/drinks{
dir = 8
},
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
dir = 1
},
/turf/open/floor/plasteel,
/area/shuttle/escape)
"bc" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
@@ -369,10 +412,29 @@
},
/turf/open/floor/plasteel,
/area/shuttle/escape)
"bg" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
"bf" = (
/obj/structure/table,
/obj/item/storage/box/drinkingglasses,
/obj/item/reagent_containers/food/drinks/shaker,
/obj/item/storage/fancy/cigarettes/cigars/havana,
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
dir = 1
},
/turf/open/floor/plasteel,
/area/shuttle/escape)
"bg" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-10"
},
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
dir = 1
},
/turf/open/floor/plasteel,
/area/shuttle/escape)
"bh" = (
/obj/machinery/vending/cigarette,
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
dir = 1
@@ -382,13 +444,24 @@
"bi" = (
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"bj" = (
/obj/effect/spawner/structure/window/shuttle,
/turf/open/floor/plasteel/freezer,
/area/shuttle/escape)
"bk" = (
/obj/machinery/vending/cigarette,
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
dir = 1
/obj/machinery/sleeper{
dir = 8
},
/turf/open/floor/plasteel,
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"bl" = (
/obj/machinery/sleeper{
dir = 8
},
/obj/machinery/light/small{
dir = 4
},
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"bm" = (
/obj/machinery/door/airlock{
@@ -402,10 +475,13 @@
/turf/closed/wall/mineral/titanium,
/area/shuttle/escape)
"bo" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
/obj/structure/table,
/obj/item/storage/firstaid/fire,
/obj/item/storage/firstaid/brute{
pixel_x = 4;
pixel_y = 4
},
/turf/open/floor/plasteel/freezer,
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"bp" = (
/turf/open/floor/plasteel/freezer,
@@ -417,10 +493,8 @@
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"br" = (
/obj/machinery/sleeper{
dir = 8
},
/turf/open/floor/mineral/titanium,
/obj/machinery/computer/card,
/turf/open/floor/carpet,
/area/shuttle/escape)
"bs" = (
/obj/machinery/door/airlock{
@@ -442,7 +516,6 @@
/area/shuttle/escape)
"bw" = (
/obj/structure/table/optable,
/obj/item/surgical_drapes,
/obj/machinery/light/small{
brightness = 3;
dir = 8
@@ -465,15 +538,12 @@
},
/turf/open/floor/plasteel/freezer,
/area/shuttle/escape)
"bz" = (
/obj/structure/table,
/obj/item/circular_saw,
/obj/item/hemostat,
/obj/item/retractor,
/obj/item/scalpel,
/obj/item/surgicaldrill,
/obj/item/cautery,
/turf/open/floor/mineral/titanium,
"bA" = (
/obj/effect/turf_decal/tile/bar{
dir = 1
},
/obj/effect/turf_decal/tile/bar,
/turf/open/floor/plasteel,
/area/shuttle/escape)
"bC" = (
/obj/structure/window/reinforced{
@@ -486,10 +556,6 @@
/obj/structure/shuttle/engine/propulsion,
/turf/open/floor/plating/airless,
/area/shuttle/escape)
"bF" = (
/obj/effect/spawner/structure/window/shuttle,
/turf/open/floor/plasteel/freezer,
/area/shuttle/escape)
"bG" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21";
@@ -505,15 +571,6 @@
"bH" = (
/turf/open/floor/plasteel/grimy,
/area/shuttle/escape)
"bI" = (
/obj/structure/table/wood/bar,
/obj/item/instrument/guitar,
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
dir = 1
},
/turf/open/floor/plasteel,
/area/shuttle/escape)
"bJ" = (
/obj/structure/table/wood/bar,
/obj/item/storage/fancy/donut_box,
@@ -535,17 +592,6 @@
},
/turf/open/floor/plasteel/grimy,
/area/shuttle/escape)
"bN" = (
/obj/structure/table,
/obj/item/storage/box/drinkingglasses,
/obj/item/reagent_containers/food/drinks/shaker,
/obj/item/storage/fancy/cigarettes/cigars/havana,
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
dir = 1
},
/turf/open/floor/plasteel,
/area/shuttle/escape)
"bO" = (
/obj/structure/table/wood/bar,
/obj/item/folder/red,
@@ -584,25 +630,6 @@
},
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"bT" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-10"
},
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
dir = 1
},
/turf/open/floor/plasteel,
/area/shuttle/escape)
"bU" = (
/obj/structure/table,
/obj/item/storage/firstaid/fire,
/obj/item/storage/firstaid/brute{
pixel_x = 4;
pixel_y = 4
},
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"bV" = (
/obj/structure/table/wood/bar{
boot_dir = 8
@@ -616,12 +643,6 @@
},
/turf/open/floor/plasteel,
/area/shuttle/escape)
"bW" = (
/obj/machinery/light/small{
dir = 4
},
/turf/open/floor/plasteel/grimy,
/area/shuttle/escape)
"bX" = (
/obj/machinery/light{
dir = 8
@@ -658,15 +679,6 @@
},
/turf/open/floor/plasteel,
/area/shuttle/escape)
"cb" = (
/obj/machinery/sleeper{
dir = 8
},
/obj/machinery/light/small{
dir = 4
},
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
(1,1,1) = {"
aa
@@ -676,17 +688,17 @@ aa
ab
ab
ab
aK
av
ab
aT
aw
ab
ac
ac
ac
ab
bg
ax
ab
bo
ay
ab
ab
ab
@@ -703,11 +715,11 @@ aH
aL
ab
bY
bH
aZ
bc
aZ
bH
bA
bA
bA
bA
bA
bZ
ab
bp
@@ -727,11 +739,11 @@ aI
aM
ab
aE
aW
ba
bL
bO
bQ
bH
aZ
bc
aZ
bH
bR
ab
bp
@@ -752,9 +764,9 @@ aM
ab
aE
aW
bJ
bM
bP
ba
bL
bO
bQ
aE
ab
@@ -775,11 +787,11 @@ aJ
ac
ae
aE
bH
bK
bH
bK
bH
aW
bJ
bM
bP
bQ
aE
aA
bp
@@ -799,11 +811,11 @@ aE
aE
bX
aE
aE
aE
aE
aE
aE
bH
bK
bH
bK
bH
aE
bm
bp
@@ -814,10 +826,34 @@ bE
"}
(7,1,1) = {"
ac
ag
br
an
an
az
bA
bA
bA
bA
bA
bA
bA
bA
bA
bA
bA
ae
ae
ab
ab
bC
bE
"}
(8,1,1) = {"
ad
ag
an
an
ab
aE
aE
aN
@@ -830,13 +866,13 @@ aN
aE
ca
ae
ab
ab
ab
bw
bi
au
bC
bE
"}
(8,1,1) = {"
(9,1,1) = {"
ac
ai
ao
@@ -855,16 +891,16 @@ aN
aE
bn
bi
bw
bz
bi
bi
bC
bE
"}
(9,1,1) = {"
(10,1,1) = {"
ab
ae
ap
au
aB
aG
ab
aF
bH
@@ -884,32 +920,32 @@ bS
bC
bE
"}
(10,1,1) = {"
aa
ab
ab
ab
ab
aG
bW
bI
aS
ad
aY
aj
bN
be
bT
bk
bF
br
cb
bU
ab
ab
"}
(11,1,1) = {"
aa
ab
ab
ab
ab
aK
aQ
aS
aT
aV
aY
bb
bf
be
bg
bh
bj
bk
bl
bo
ab
ab
"}
(12,1,1) = {"
aa
aa
aa
aa
+7 -1
View File
@@ -112,6 +112,11 @@
/obj/machinery/light,
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"w" = (
/obj/machinery/door/airlock/titanium,
/obj/structure/fans/tiny,
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"x" = (
/obj/structure/table,
/obj/machinery/recharger{
@@ -197,6 +202,7 @@
width = 14;
name = "Birdboat emergency escape shuttle"
},
/obj/structure/fans/tiny,
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"L" = (
@@ -574,7 +580,7 @@ p
u
b
b
G
w
K
b
b
+40 -28
View File
@@ -2,6 +2,14 @@
"aa" = (
/turf/template_noop,
/area/template_noop)
"ab" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock";
req_access_txt = "2"
},
/obj/structure/fans/tiny,
/turf/open/floor/mineral/plastitanium/red/brig,
/area/shuttle/escape)
"ac" = (
/obj/effect/spawner/structure/window/shuttle,
/turf/open/floor/plating,
@@ -37,6 +45,23 @@
/obj/item/storage/firstaid/fire,
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/escape)
"aj" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/obj/docking_port/mobile/emergency{
name = "Box emergency shuttle"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"ak" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"al" = (
/obj/machinery/computer/atmos_alert{
dir = 4
@@ -171,13 +196,6 @@
},
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"aI" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock";
req_access_txt = "2"
},
/turf/open/floor/mineral/plastitanium/red/brig,
/area/shuttle/escape)
"aJ" = (
/obj/structure/chair/comfy/shuttle{
dir = 1
@@ -192,15 +210,6 @@
/obj/structure/table,
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/escape)
"aP" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/obj/docking_port/mobile/emergency{
name = "Box emergency shuttle"
},
/turf/open/floor/plating,
/area/shuttle/escape)
"aQ" = (
/obj/structure/extinguisher_cabinet{
pixel_x = -5;
@@ -235,12 +244,6 @@
},
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/escape)
"aV" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/turf/open/floor/plating,
/area/shuttle/escape)
"aW" = (
/obj/structure/extinguisher_cabinet{
pixel_y = -30
@@ -362,10 +365,19 @@
"ga" = (
/turf/open/floor/mineral/titanium/white,
/area/shuttle/escape)
"gJ" = (
/obj/structure/table/optable,
/turf/open/floor/mineral/titanium/white,
/area/shuttle/escape)
"XC" = (
/obj/structure/closet/emcloset,
/turf/open/floor/mineral/titanium/white,
/area/shuttle/escape)
"ZQ" = (
/obj/item/storage/backpack/duffelbag/med/surgery,
/obj/structure/table,
/turf/open/floor/mineral/titanium/white,
/area/shuttle/escape)
(1,1,1) = {"
aa
@@ -375,17 +387,17 @@ aa
ad
ad
ad
aI
ab
ad
aP
aj
ad
ac
ac
ac
ad
aV
ak
ad
aV
ak
ad
ad
ad
@@ -531,7 +543,7 @@ aC
ac
XC
bs
XC
gJ
bi
bk
"}
@@ -555,7 +567,7 @@ aC
aZ
ga
ga
ga
ZQ
bi
bk
"}
+41 -49
View File
@@ -507,6 +507,35 @@
/obj/item/book/manual/wiki/security_space_law,
/turf/open/floor/mineral/plastitanium/red/brig,
/area/shuttle/escape)
"aW" = (
/obj/machinery/door/airlock/shuttle{
name = "Emergency Shuttle Airlock";
req_access_txt = "2"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"aX" = (
/obj/machinery/door/airlock/shuttle{
name = "Emergency Shuttle Airlock"
},
/obj/docking_port/mobile/emergency{
dheight = 0;
dwidth = 15;
height = 20;
name = "Cere emergency shuttle";
width = 42
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"aY" = (
/obj/machinery/door/airlock/shuttle{
name = "Emergency Shuttle Airlock"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"aZ" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -639,13 +668,6 @@
},
/turf/open/floor/plasteel,
/area/shuttle/escape)
"bv" = (
/obj/machinery/door/airlock/shuttle{
name = "Emergency Shuttle Airlock";
req_access_txt = "2"
},
/turf/open/floor/plating,
/area/shuttle/escape)
"bw" = (
/obj/structure/chair/comfy/shuttle{
dir = 1
@@ -696,19 +718,6 @@
},
/turf/open/floor/plasteel,
/area/shuttle/escape)
"bE" = (
/obj/machinery/door/airlock/shuttle{
name = "Emergency Shuttle Airlock"
},
/obj/docking_port/mobile/emergency{
dheight = 0;
dwidth = 15;
height = 20;
name = "Cere emergency shuttle";
width = 42
},
/turf/open/floor/plating,
/area/shuttle/escape)
"bF" = (
/obj/structure/closet/crate/bin,
/obj/effect/turf_decal/tile/neutral{
@@ -936,12 +945,6 @@
},
/turf/open/floor/plasteel,
/area/shuttle/escape)
"bY" = (
/obj/machinery/door/airlock/shuttle{
name = "Emergency Shuttle Airlock"
},
/turf/open/floor/plating,
/area/shuttle/escape)
"bZ" = (
/obj/structure/extinguisher_cabinet{
pixel_x = -28
@@ -1291,26 +1294,17 @@
/obj/structure/window/reinforced{
dir = 4
},
/obj/item/circular_saw,
/obj/item/scalpel{
pixel_y = 12
},
/obj/item/hemostat,
/obj/item/surgicaldrill,
/obj/item/cautery{
pixel_x = 4
},
/obj/item/retractor,
/obj/effect/turf_decal/tile/blue{
dir = 1
},
/obj/effect/turf_decal/tile/blue,
/obj/item/storage/backpack/duffelbag/med/surgery,
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/obj/effect/turf_decal/tile/blue{
dir = 1
},
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/obj/effect/turf_decal/tile/blue,
/turf/open/floor/plasteel/white,
/area/shuttle/escape)
"cG" = (
@@ -1361,15 +1355,13 @@
/obj/item/clothing/suit/apron/surgical,
/obj/item/clothing/gloves/color/latex,
/obj/item/clothing/mask/surgical,
/obj/item/surgical_drapes,
/obj/item/razor,
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/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
},
@@ -1762,17 +1754,17 @@ ab
ab
ab
ab
bv
aW
ab
bE
aX
ab
aa
aa
aa
ab
bY
aY
ab
bY
aY
ab
aa
aa
+28 -19
View File
@@ -117,6 +117,23 @@
},
/turf/open/floor/mineral/bananium,
/area/shuttle/escape)
"aw" = (
/obj/machinery/door/airlock/bananium{
name = "Emergency Shuttle Airlock"
},
/obj/docking_port/mobile/emergency{
name = "Snappop(tm)!"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"ax" = (
/obj/machinery/door/airlock/bananium{
name = "Emergency Shuttle Airlock"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"ay" = (
/obj/structure/table,
/obj/item/storage/firstaid/fire,
@@ -137,6 +154,8 @@
/obj/machinery/door/airlock/bananium/glass{
name = "Emergency Shuttle Greentext"
},
/obj/structure/fans/tiny,
/obj/structure/barricade/wooden/crude,
/turf/open/floor/bluespace,
/area/shuttle/escape)
"aC" = (
@@ -170,15 +189,6 @@
/obj/item/toy/sword,
/turf/open/floor/mineral/bananium,
/area/shuttle/escape)
"aI" = (
/obj/machinery/door/airlock/bananium{
name = "Emergency Shuttle Airlock"
},
/obj/docking_port/mobile/emergency{
name = "Snappop(tm)!"
},
/turf/open/floor/plating,
/area/shuttle/escape)
"aJ" = (
/obj/item/toy/snappop/phoenix,
/obj/machinery/light/small{
@@ -233,12 +243,6 @@
},
/turf/open/floor/mineral/bananium,
/area/shuttle/escape)
"aQ" = (
/obj/machinery/door/airlock/bananium{
name = "Emergency Shuttle Airlock"
},
/turf/open/floor/plating,
/area/shuttle/escape)
"aR" = (
/obj/item/toy/snappop/phoenix,
/obj/machinery/light/small,
@@ -338,6 +342,11 @@
/obj/structure/shuttle/engine/propulsion,
/turf/open/floor/plating/airless,
/area/shuttle/escape)
"bL" = (
/obj/item/toy/snappop/phoenix,
/obj/item/pneumatic_cannon/pie/selfcharge,
/turf/open/floor/bluespace,
/area/shuttle/escape)
"Zf" = (
/obj/structure/closet/emcloset,
/obj/item/toy/sword,
@@ -354,15 +363,15 @@ ab
ab
ab
ab
aI
aw
ab
ac
ac
ac
ab
aQ
ax
ab
aQ
ax
ab
ab
ab
@@ -467,7 +476,7 @@ bg
(6,1,1) = {"
ac
ag
ak
bL
aq
ab
av
+3
View File
@@ -11,6 +11,7 @@
name = "Emergency Shuttle Airlock";
req_access_txt = "2"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"d" = (
@@ -64,6 +65,7 @@
name = "Secure Transport Vessel 5";
width = 14
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"l" = (
@@ -97,6 +99,7 @@
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"r" = (
+5 -15
View File
@@ -147,7 +147,6 @@
/area/shuttle/escape)
"al" = (
/obj/structure/table/optable,
/obj/item/surgical_drapes,
/obj/effect/turf_decal/tile/blue{
dir = 4
},
@@ -157,18 +156,7 @@
/turf/open/floor/plasteel/white,
/area/shuttle/escape)
"am" = (
/obj/item/scalpel{
pixel_y = 12
},
/obj/item/circular_saw,
/obj/item/retractor{
pixel_x = 4
},
/obj/item/hemostat{
pixel_x = -4
},
/obj/item/clothing/gloves/color/latex,
/obj/item/clothing/mask/surgical,
/obj/item/storage/backpack/duffelbag/med/surgery,
/obj/structure/table/reinforced,
/obj/effect/turf_decal/tile/blue{
dir = 4
@@ -176,8 +164,6 @@
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/obj/item/surgicaldrill,
/obj/item/cautery,
/turf/open/floor/plasteel/white,
/area/shuttle/escape)
"an" = (
@@ -490,6 +476,7 @@
/obj/effect/turf_decal/stripes/line{
dir = 8
},
/obj/structure/fans/tiny,
/turf/open/floor/plasteel/white,
/area/shuttle/escape)
"aP" = (
@@ -562,6 +549,7 @@
preferred_direction = 2;
port_direction = 4
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"aX" = (
@@ -796,6 +784,7 @@
/obj/effect/turf_decal/stripes/line{
dir = 8
},
/obj/structure/fans/tiny,
/turf/open/floor/plasteel/white,
/area/shuttle/escape)
"bw" = (
@@ -908,6 +897,7 @@
/obj/effect/turf_decal/stripes/line{
dir = 8
},
/obj/structure/fans/tiny,
/turf/open/floor/plasteel,
/area/shuttle/escape)
"bM" = (
+23 -15
View File
@@ -83,6 +83,7 @@
/obj/machinery/door/airlock/gold{
req_access_txt = "19"
},
/obj/structure/fans/tiny,
/turf/open/floor/mineral/gold,
/area/shuttle/escape)
"q" = (
@@ -110,6 +111,7 @@
heat_proof = 1;
resistance_flags = 2
},
/obj/structure/fans/tiny,
/turf/open/floor/mineral/plasma,
/area/shuttle/escape)
"v" = (
@@ -118,6 +120,7 @@
/area/shuttle/escape)
"w" = (
/obj/machinery/door/airlock/gold,
/obj/structure/fans/tiny,
/turf/open/floor/wood,
/area/shuttle/escape)
"x" = (
@@ -220,6 +223,11 @@
"O" = (
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/area/shuttle/escape)
"P" = (
/obj/effect/spawner/structure/window/plasma/reinforced,
/obj/structure/fans/tiny,
/turf/open/floor/plasteel/elevatorshaft,
/area/shuttle/escape)
(1,1,1) = {"
a
@@ -262,7 +270,7 @@ r
r
r
q
c
P
x
C
I
@@ -274,7 +282,7 @@ b
b
h
m
c
P
r
r
r
@@ -286,7 +294,7 @@ r
r
r
r
c
P
x
D
D
@@ -298,7 +306,7 @@ c
d
i
i
c
P
r
r
r
@@ -310,7 +318,7 @@ j
r
r
r
c
P
x
x
x
@@ -322,7 +330,7 @@ c
e
j
j
c
P
r
r
s
@@ -334,7 +342,7 @@ j
s
r
r
c
P
y
E
y
@@ -346,7 +354,7 @@ c
f
j
n
c
P
r
j
j
@@ -358,7 +366,7 @@ t
j
j
r
c
P
z
F
J
@@ -382,7 +390,7 @@ j
s
r
r
c
P
y
G
y
@@ -394,7 +402,7 @@ c
g
k
k
c
P
r
r
r
@@ -406,7 +414,7 @@ j
r
r
r
c
P
x
x
x
@@ -418,7 +426,7 @@ b
b
l
o
c
P
r
r
r
@@ -430,7 +438,7 @@ r
r
r
r
c
P
A
x
K
@@ -454,7 +462,7 @@ r
r
r
q
c
P
B
H
L
+12 -11
View File
@@ -28,6 +28,7 @@
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"h" = (
@@ -41,6 +42,7 @@
name = "NES Port";
width = 19
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"l" = (
@@ -67,9 +69,7 @@
/turf/open/floor/plating,
/area/shuttle/escape)
"q" = (
/obj/machinery/sleeper{
dir = 4
},
/obj/machinery/sleeper,
/turf/open/floor/mineral/titanium/white,
/area/shuttle/escape)
"r" = (
@@ -93,11 +93,6 @@
},
/turf/open/floor/mineral/titanium/yellow,
/area/shuttle/escape)
"v" = (
/obj/structure/table,
/obj/effect/spawner/lootdrop/maintenance,
/turf/open/floor/mineral/titanium/white,
/area/shuttle/escape)
"w" = (
/obj/machinery/door/airlock/public/glass{
name = "Emergency Shuttle Infirmary"
@@ -186,12 +181,18 @@
/obj/structure/window/reinforced,
/turf/open/floor/mineral/titanium/yellow,
/area/shuttle/escape)
"P" = (
/obj/structure/table/optable,
/turf/open/floor/mineral/titanium/white,
/area/shuttle/escape)
"Q" = (
/obj/machinery/light,
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"R" = (
/obj/machinery/light/small,
/obj/structure/table,
/obj/item/storage/backpack/duffelbag/med/surgery,
/turf/open/floor/mineral/titanium/white,
/area/shuttle/escape)
"S" = (
@@ -272,8 +273,8 @@ X
c
d
q
v
q
n
P
d
H
H
@@ -284,7 +285,7 @@ Y
(4,1,1) = {"
d
l
n
q
n
R
d
+641
View File
@@ -0,0 +1,641 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
/turf/template_noop,
/area/template_noop)
"ab" = (
/turf/closed/wall/rust,
/area/shuttle/escape)
"ac" = (
/obj/effect/spawner/structure/window/plasma/reinforced,
/turf/open/floor/plasteel/elevatorshaft,
/area/shuttle/escape)
"ad" = (
/turf/closed/wall,
/area/shuttle/escape)
"ae" = (
/turf/open/floor/holofloor/wood,
/area/shuttle/escape)
"af" = (
/obj/machinery/computer/emergency_shuttle,
/turf/open/floor/holofloor/wood,
/area/shuttle/escape)
"ag" = (
/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/floor/holofloor/wood,
/area/shuttle/escape)
"ah" = (
/obj/machinery/computer/atmos_alert{
dir = 4
},
/turf/open/floor/holofloor/wood,
/area/shuttle/escape)
"ai" = (
/obj/structure/chair/office/dark,
/turf/open/floor/holofloor/wood,
/area/shuttle/escape)
"aj" = (
/obj/structure/chair/comfy/brown{
dir = 1
},
/turf/open/floor/holofloor/wood,
/area/shuttle/escape)
"ak" = (
/obj/item/chair,
/turf/open/floor/holofloor/wood,
/area/shuttle/escape)
"al" = (
/obj/machinery/computer/security{
dir = 8
},
/turf/open/floor/holofloor/wood,
/area/shuttle/escape)
"am" = (
/obj/machinery/computer/crew{
dir = 4
},
/turf/open/floor/holofloor/wood,
/area/shuttle/escape)
"an" = (
/obj/machinery/light,
/turf/open/floor/holofloor/wood,
/area/shuttle/escape)
"ao" = (
/obj/machinery/computer/communications{
dir = 8
},
/turf/open/floor/holofloor/wood,
/area/shuttle/escape)
"ap" = (
/obj/machinery/status_display/evac,
/turf/closed/wall/rust,
/area/shuttle/escape)
"aq" = (
/obj/machinery/door/airlock/gold{
req_access_txt = "19"
},
/turf/open/floor/holofloor/wood,
/area/shuttle/escape)
"ar" = (
/obj/structure/urinal{
pixel_y = 31
},
/turf/open/floor/mineral/plastitanium/red/brig,
/area/shuttle/escape)
"as" = (
/obj/structure/chair/comfy/shuttle,
/turf/open/floor/mineral/plastitanium/red/brig,
/area/shuttle/escape)
"at" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/shuttle/escape)
"au" = (
/obj/machinery/deepfryer,
/turf/open/floor/plasteel/shuttle,
/area/shuttle/escape)
"av" = (
/turf/open/floor/plasteel/shuttle,
/area/shuttle/escape)
"aw" = (
/obj/structure/closet/crate/freezer/blood,
/turf/open/floor/plasteel/freezer,
/area/shuttle/escape)
"ax" = (
/turf/open/floor/plating,
/area/shuttle/escape)
"ay" = (
/obj/machinery/flasher{
id = "shuttle_flasher";
pixel_x = -24;
pixel_y = 6
},
/obj/machinery/button/flasher{
id = "shuttle_flasher";
pixel_x = -24;
pixel_y = -6
},
/obj/machinery/light/small{
brightness = 3;
dir = 8
},
/turf/open/floor/mineral/plastitanium/red/brig,
/area/shuttle/escape)
"az" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/mineral/plastitanium/red/brig,
/area/shuttle/escape)
"aA" = (
/turf/open/floor/mineral/plastitanium/red/brig,
/area/shuttle/escape)
"aB" = (
/obj/machinery/door/airlock/security/glass{
name = "Emergency Shuttle Brig";
req_access_txt = "2"
},
/turf/open/floor/mineral/plastitanium,
/area/shuttle/escape)
"aC" = (
/turf/open/floor/plasteel/freezer,
/area/shuttle/escape)
"aD" = (
/obj/structure/closet,
/turf/open/floor/plasteel/freezer,
/area/shuttle/escape)
"aE" = (
/obj/machinery/door/airlock/security/glass{
name = "Emergency Shuttle Airlock";
req_access_txt = "2"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"aF" = (
/obj/structure/chair/comfy/shuttle{
dir = 1
},
/turf/open/floor/mineral/plastitanium/red/brig,
/area/shuttle/escape)
"aG" = (
/obj/effect/decal/cleanable/blood/splatter,
/turf/open/floor/plasteel/freezer,
/area/shuttle/escape)
"aH" = (
/obj/structure/noticeboard,
/turf/closed/wall/rust,
/area/shuttle/escape)
"aI" = (
/obj/docking_port/mobile/emergency{
height = 15;
name = "Gorilla Emergency Shuttle"
},
/obj/machinery/door/airlock/security/glass{
name = "Emergency Shuttle Airlock"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"aJ" = (
/obj/structure/extinguisher_cabinet{
pixel_x = -5;
pixel_y = 30
},
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/shuttle/escape)
"aK" = (
/obj/structure/closet/crate/trashcart,
/turf/open/floor/plasteel/shuttle,
/area/shuttle/escape)
"aL" = (
/obj/machinery/light{
dir = 1
},
/turf/open/floor/plasteel/shuttle,
/area/shuttle/escape)
"aM" = (
/obj/structure/reagent_dispensers/keg/mead,
/turf/open/floor/plating,
/area/shuttle/escape)
"aN" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/shuttle/escape)
"aO" = (
/obj/effect/decal/cleanable/glass,
/turf/open/floor/plasteel/shuttle,
/area/shuttle/escape)
"aP" = (
/obj/structure/fluff/broken_flooring,
/turf/open/floor/plating,
/area/shuttle/escape)
"aQ" = (
/obj/structure/closet/crate/freezer,
/turf/open/floor/plating,
/area/shuttle/escape)
"aR" = (
/obj/structure/chair/comfy/shuttle{
dir = 4
},
/turf/open/floor/plasteel/shuttle,
/area/shuttle/escape)
"aS" = (
/obj/effect/decal/cleanable/vomit/old,
/turf/open/floor/plasteel/shuttle,
/area/shuttle/escape)
"aT" = (
/obj/structure/chair/comfy/shuttle{
dir = 8
},
/turf/open/floor/plasteel/shuttle,
/area/shuttle/escape)
"aU" = (
/obj/machinery/door/airlock/security/glass{
name = "Emergency Shuttle Airlock"
},
/turf/open/floor/plasteel/freezer,
/area/shuttle/escape)
"aV" = (
/obj/effect/decal/cleanable/blood/innards,
/turf/open/floor/plasteel/freezer,
/area/shuttle/escape)
"aW" = (
/obj/structure/chair/comfy/shuttle{
dir = 4
},
/turf/open/floor/plating,
/area/shuttle/escape)
"aX" = (
/obj/structure/closet/crate/freezer/surplus_limbs,
/turf/open/floor/plasteel/freezer,
/area/shuttle/escape)
"aY" = (
/obj/effect/decal/cleanable/oil,
/turf/open/floor/plasteel/freezer,
/area/shuttle/escape)
"aZ" = (
/obj/structure/closet/crate/freezer,
/turf/open/floor/plasteel/freezer,
/area/shuttle/escape)
"ba" = (
/obj/structure/chair/comfy/shuttle{
dir = 4
},
/obj/machinery/light/small{
brightness = 3;
dir = 8
},
/turf/open/floor/plasteel/shuttle,
/area/shuttle/escape)
"bb" = (
/obj/machinery/door/airlock/security/glass{
name = "Emergency Shuttle Airlock"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"bc" = (
/obj/structure/extinguisher_cabinet{
pixel_y = -30
},
/turf/open/floor/plasteel/shuttle,
/area/shuttle/escape)
"bd" = (
/obj/structure/closet/toolcloset,
/turf/open/floor/plating,
/area/shuttle/escape)
"be" = (
/obj/structure/chair/sofa/right,
/turf/open/floor/plating,
/area/shuttle/escape)
"bf" = (
/obj/structure/chair/sofa,
/mob/living/simple_animal/hostile/gorilla,
/turf/open/floor/plating,
/area/shuttle/escape)
"bg" = (
/obj/structure/chair/sofa,
/turf/open/floor/plating,
/area/shuttle/escape)
"bh" = (
/obj/structure/chair/sofa,
/mob/living/simple_animal/hostile/gorilla,
/turf/open/floor/plasteel/shuttle,
/area/shuttle/escape)
"bi" = (
/obj/structure/chair/sofa/left,
/mob/living/simple_animal/hostile/gorilla,
/turf/open/floor/plating,
/area/shuttle/escape)
"bj" = (
/obj/effect/decal/cleanable/glass,
/turf/open/floor/plating,
/area/shuttle/escape)
"bk" = (
/obj/machinery/door/airlock/security/glass{
name = "Emergency Shuttle Brig";
req_access_txt = "2"
},
/turf/open/floor/plating,
/area/shuttle/escape)
"bl" = (
/mob/living/simple_animal/hostile/gorilla,
/turf/open/floor/plating,
/area/shuttle/escape)
"bm" = (
/obj/effect/decal/cleanable/blood/gibs/limb,
/mob/living/simple_animal/hostile/gorilla,
/turf/open/floor/plasteel/shuttle,
/area/shuttle/escape)
"bn" = (
/obj/structure/reagent_dispensers/keg/semen,
/turf/open/floor/plating,
/area/shuttle/escape)
"bo" = (
/obj/structure/closet/crate/freezer/surplus_limbs,
/turf/open/floor/plasteel/shuttle,
/area/shuttle/escape)
"bp" = (
/obj/structure/closet/crate/freezer/surplus_limbs,
/turf/open/floor/plating,
/area/shuttle/escape)
"bq" = (
/mob/living/simple_animal/hostile/gorilla,
/turf/open/floor/plasteel/shuttle,
/area/shuttle/escape)
"br" = (
/obj/effect/decal/cleanable/blood/old,
/turf/open/floor/plasteel/shuttle,
/area/shuttle/escape)
"bs" = (
/obj/structure/shuttle/engine/heater,
/obj/structure/window/plasma/reinforced{
dir = 1
},
/turf/open/floor/plating/airless,
/area/shuttle/escape)
"bt" = (
/turf/template_noop,
/area/space)
"bu" = (
/obj/structure/shuttle/engine/propulsion,
/turf/open/floor/plating/airless,
/area/shuttle/escape)
"fV" = (
/turf/closed/wall/r_wall,
/area/shuttle/escape)
"IR" = (
/obj/effect/spawner/structure/window/plasma/reinforced,
/turf/open/floor/plating,
/area/shuttle/escape)
"Pi" = (
/obj/structure/chair/sofa,
/obj/machinery/light/small{
dir = 1
},
/turf/open/floor/plating,
/area/shuttle/escape)
(1,1,1) = {"
aa
aa
aa
aa
ab
ab
ab
aE
ab
aI
ab
at
at
at
ab
bb
ab
bb
ab
ad
ad
bt
"}
(2,1,1) = {"
aa
ad
ab
ad
ab
ar
ay
aA
aH
ax
aN
aR
aW
aR
ba
av
ad
ax
ax
bo
ab
ab
"}
(3,1,1) = {"
ab
ab
ah
am
ap
as
az
aF
ab
aJ
av
aS
av
ax
av
bc
ab
bd
bj
bp
bs
bu
"}
(4,1,1) = {"
ac
ae
ai
ae
ab
as
aA
aF
ad
aK
av
aP
av
av
ax
av
fV
fV
bk
fV
bs
bu
"}
(5,1,1) = {"
ac
ae
ae
ak
ab
at
aB
at
ab
aL
av
aT
aT
aT
aT
aT
IR
be
aN
bl
bs
bu
"}
(6,1,1) = {"
ac
af
aj
an
ad
au
av
av
av
av
aO
ab
ab
ad
ab
ad
fV
bf
bl
bq
bs
bu
"}
(7,1,1) = {"
ac
ae
ae
ae
aq
av
ax
av
av
aM
aP
aU
aC
aC
aX
aD
fV
Pi
bm
bn
bs
bu
"}
(8,1,1) = {"
ac
ag
ak
ae
ab
ab
ad
ad
ab
ad
ab
ab
aC
aC
aY
aX
fV
bh
aP
bq
bs
bu
"}
(9,1,1) = {"
ab
ad
al
ao
ab
aw
aC
ax
aG
aC
aD
aC
ax
aC
aZ
ax
IR
bg
bl
br
bs
bu
"}
(10,1,1) = {"
aa
ad
ab
ad
ab
ax
aD
aG
aD
aC
aQ
aV
aC
aC
aX
aD
fV
bi
bn
bl
fV
ab
"}
(11,1,1) = {"
aa
aa
aa
aa
ab
ab
ad
ab
ab
ad
ab
ad
ab
ad
ad
ab
fV
fV
fV
fV
fV
aa
"}
File diff suppressed because it is too large Load Diff
+28 -32
View File
@@ -2,6 +2,13 @@
"aa" = (
/turf/template_noop,
/area/template_noop)
"ab" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/obj/structure/fans/tiny,
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/escape)
"ac" = (
/obj/effect/spawner/structure/window/shuttle,
/turf/open/floor/plating,
@@ -9,17 +16,7 @@
"ad" = (
/turf/closed/wall/mineral/titanium,
/area/shuttle/escape)
"af" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/escape)
"ag" = (
/obj/structure/sign/warning/nosmoking,
/turf/closed/wall/mineral/titanium,
/area/shuttle/escape)
"ah" = (
"ae" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
@@ -30,8 +27,21 @@
name = "Meta emergency shuttle";
width = 25
},
/obj/structure/fans/tiny,
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/escape)
"af" = (
/obj/machinery/door/airlock/external{
name = "Emergency Recovery Airlock"
},
/obj/effect/decal/cleanable/dirt,
/obj/structure/fans/tiny,
/turf/open/floor/plasteel,
/area/shuttle/escape)
"ag" = (
/obj/structure/sign/warning/nosmoking,
/turf/closed/wall/mineral/titanium,
/area/shuttle/escape)
"al" = (
/obj/structure/table,
/obj/item/phone{
@@ -513,7 +523,6 @@
/area/shuttle/escape)
"bz" = (
/obj/structure/table/optable,
/obj/item/surgical_drapes,
/obj/machinery/light{
dir = 8
},
@@ -576,25 +585,12 @@
/area/shuttle/escape)
"bH" = (
/obj/structure/table,
/obj/item/scalpel{
pixel_y = 12
},
/obj/item/circular_saw,
/obj/item/retractor{
pixel_x = 4
},
/obj/item/hemostat{
pixel_x = -4
},
/obj/item/clothing/gloves/color/latex,
/obj/item/clothing/mask/surgical,
/obj/item/storage/backpack/duffelbag/med/surgery,
/obj/item/radio/intercom{
dir = 2;
name = "Station Intercom (General)";
pixel_x = -27
},
/obj/item/surgicaldrill,
/obj/item/cautery,
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"bI" = (
@@ -939,7 +935,7 @@ be
cc
be
be
bf
af
"}
(6,1,1) = {"
ac
@@ -955,7 +951,7 @@ bf
bT
be
be
bf
af
"}
(7,1,1) = {"
ac
@@ -1038,7 +1034,7 @@ bF
ac
"}
(12,1,1) = {"
af
ab
LY
LY
aE
@@ -1070,7 +1066,7 @@ ad
ad
"}
(14,1,1) = {"
af
ab
LY
LY
aE
@@ -1166,7 +1162,7 @@ bM
ad
"}
(20,1,1) = {"
ah
ae
LY
LY
aE
@@ -1198,7 +1194,7 @@ bO
ac
"}
(22,1,1) = {"
af
ab
LY
LY
LY
+16 -14
View File
@@ -113,6 +113,21 @@
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/obj/structure/fans/tiny,
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/escape)
"v" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/obj/docking_port/mobile/emergency{
dir = 8;
dwidth = 8;
height = 9;
name = "Mini emergency shuttle";
width = 21
},
/obj/structure/fans/tiny,
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/escape)
"x" = (
@@ -145,19 +160,6 @@
},
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/escape)
"B" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/obj/docking_port/mobile/emergency{
dir = 8;
dwidth = 8;
height = 9;
name = "Mini emergency shuttle";
width = 21
},
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/escape)
"D" = (
/obj/structure/table,
/obj/item/storage/firstaid/fire,
@@ -453,7 +455,7 @@ b
n
b
b
B
v
b
b
b
+32 -30
View File
@@ -6,7 +6,8 @@
/turf/closed/wall/mineral/cult,
/area/shuttle/escape)
"c" = (
/obj/effect/forcefield/cult,
/obj/machinery/door/airlock/cult/friendly,
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"d" = (
@@ -125,6 +126,10 @@
/area/shuttle/escape)
"x" = (
/obj/machinery/door/airlock/cult/friendly,
/obj/docking_port/mobile/emergency{
name = "shuttle 667"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"y" = (
@@ -156,13 +161,6 @@
/obj/effect/decal/remains/human,
/turf/open/floor/plasteel/cult,
/area/shuttle/escape)
"E" = (
/obj/machinery/door/airlock/cult/friendly,
/obj/docking_port/mobile/emergency{
name = "shuttle 667"
},
/turf/open/floor/plating,
/area/shuttle/escape)
"F" = (
/obj/effect/decal/cleanable/blood/gibs/down,
/turf/open/floor/plasteel/cult,
@@ -262,6 +260,10 @@
/obj/structure/shuttle/engine/propulsion,
/turf/open/floor/plating/airless,
/area/shuttle/escape)
"W" = (
/obj/effect/spawner/structure/window/plastitanium,
/turf/open/floor/plating,
/area/shuttle/escape)
(1,1,1) = {"
a
@@ -271,17 +273,17 @@ a
b
b
b
x
b
E
b
c
c
c
b
x
b
x
W
W
W
b
c
b
c
b
b
b
@@ -336,7 +338,7 @@ U
V
"}
(4,1,1) = {"
c
W
d
i
n
@@ -360,7 +362,7 @@ U
V
"}
(5,1,1) = {"
c
W
e
j
o
@@ -384,7 +386,7 @@ U
V
"}
(6,1,1) = {"
c
W
f
j
j
@@ -408,7 +410,7 @@ U
V
"}
(7,1,1) = {"
c
W
e
j
j
@@ -424,7 +426,7 @@ j
j
K
L
c
W
t
j
t
@@ -432,7 +434,7 @@ U
V
"}
(8,1,1) = {"
c
W
g
k
k
@@ -472,7 +474,7 @@ A
j
j
j
c
W
j
j
j
@@ -496,7 +498,7 @@ j
j
j
M
c
W
P
Q
P
@@ -509,21 +511,21 @@ a
a
a
b
c
W
b
c
W
b
b
b
c
c
c
W
W
W
b
b
b
c
W
b
c
W
b
a
"}
+11 -22
View File
@@ -185,6 +185,7 @@
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/obj/structure/fans/tiny,
/turf/open/floor/plasteel/white,
/area/shuttle/escape)
"ar" = (
@@ -287,6 +288,7 @@
/obj/effect/turf_decal/stripes/line{
dir = 8
},
/obj/structure/fans/tiny,
/turf/open/floor/plasteel/white,
/area/shuttle/escape)
"az" = (
@@ -509,6 +511,7 @@
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/obj/structure/fans/tiny,
/turf/open/floor/plasteel/white,
/area/shuttle/escape)
"aQ" = (
@@ -782,41 +785,27 @@
/turf/open/floor/plasteel,
/area/shuttle/escape)
"bn" = (
/obj/item/scalpel{
pixel_y = 12
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/obj/item/circular_saw,
/obj/item/retractor{
pixel_x = 4
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/obj/item/hemostat{
pixel_x = -4
},
/obj/item/clothing/gloves/color/latex,
/obj/item/clothing/mask/surgical,
/obj/structure/table/reinforced,
/obj/structure/extinguisher_cabinet{
pixel_x = -24
},
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/obj/item/cautery,
/obj/item/surgicaldrill,
/obj/item/storage/backpack/duffelbag/med/surgery,
/turf/open/floor/plasteel/white,
/area/shuttle/escape)
"bo" = (
/obj/structure/table/optable,
/obj/item/surgical_drapes,
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/turf/open/floor/plasteel/white,
/area/shuttle/escape)
"bp" = (
+68 -58
View File
@@ -58,6 +58,29 @@
},
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/escape)
"am" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"an" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/obj/docking_port/mobile/emergency{
dir = 8;
dwidth = 27;
height = 8;
name = "PubbyStation emergency shuttle";
port_direction = 4;
preferred_direction = 1;
width = 46
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"ap" = (
/obj/structure/chair/comfy,
/obj/machinery/computer/security/telescreen/entertainment{
@@ -133,12 +156,6 @@
"ax" = (
/turf/open/floor/mineral/plastitanium/red/brig,
/area/shuttle/escape)
"ay" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/turf/open/floor/plating,
/area/shuttle/escape)
"az" = (
/obj/structure/chair/comfy{
dir = 1
@@ -440,14 +457,12 @@
/turf/open/floor/plasteel/dark,
/area/shuttle/escape)
"aZ" = (
/obj/structure/table/glass,
/obj/machinery/sleeper,
/obj/machinery/light{
dir = 1
},
/obj/item/storage/firstaid/regular,
/obj/structure/window/reinforced{
dir = 4;
layer = 2.9
dir = 4
},
/obj/effect/turf_decal/tile/blue{
dir = 4
@@ -487,13 +502,18 @@
/turf/open/floor/plasteel/cafeteria,
/area/shuttle/escape)
"be" = (
/obj/structure/chair/comfy/shuttle,
/obj/effect/turf_decal/tile/blue{
dir = 4
/obj/structure/table,
/obj/item/storage/firstaid,
/obj/item/storage/firstaid/fire{
pixel_x = -3;
pixel_y = 3
},
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/turf/open/floor/plasteel/white,
/area/shuttle/escape)
"bf" = (
@@ -509,30 +529,12 @@
/turf/open/floor/plating,
/area/shuttle/escape)
"bh" = (
/obj/structure/window/reinforced,
/obj/structure/table/glass,
/obj/item/defibrillator/loaded,
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/turf/open/floor/plasteel/white,
/area/shuttle/escape)
"bi" = (
/obj/structure/window/reinforced,
/obj/structure/window/reinforced{
dir = 4
},
/obj/structure/table/glass,
/obj/item/storage/firstaid/regular,
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/turf/open/floor/plasteel/white,
/area/shuttle/escape)
"bj" = (
@@ -551,11 +553,8 @@
/turf/open/floor/plating,
/area/shuttle/escape)
"bn" = (
/obj/structure/closet/crate{
icon_state = "crateopen"
},
/obj/structure/reagent_dispensers/fueltank,
/obj/machinery/light,
/obj/item/storage/toolbox/mechanical,
/turf/open/floor/plating,
/area/shuttle/escape)
"bo" = (
@@ -675,21 +674,6 @@
},
/turf/open/floor/plating,
/area/shuttle/escape)
"bL" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/obj/docking_port/mobile/emergency{
dir = 8;
dwidth = 27;
height = 8;
name = "PubbyStation emergency shuttle";
port_direction = 4;
preferred_direction = 1;
width = 46
},
/turf/open/floor/plating,
/area/shuttle/escape)
"bO" = (
/obj/machinery/door/airlock/public/glass{
name = "Cockpit";
@@ -710,6 +694,21 @@
},
/turf/open/floor/plating,
/area/shuttle/escape)
"sI" = (
/obj/structure/window/reinforced,
/obj/structure/window/reinforced{
dir = 4
},
/obj/item/storage/backpack/duffelbag/med/surgery,
/obj/structure/table,
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/turf/open/floor/plasteel/white,
/area/shuttle/escape)
"xt" = (
/obj/structure/window/reinforced{
dir = 8;
@@ -717,6 +716,17 @@
},
/turf/open/floor/plating,
/area/shuttle/escape)
"Jw" = (
/obj/structure/window/reinforced,
/obj/structure/table/optable,
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/turf/open/floor/plasteel/white,
/area/shuttle/escape)
"Uu" = (
/obj/structure/window/reinforced{
dir = 4
@@ -804,9 +814,9 @@ aX
bb
be
bh
Jw
bg
bl
bg
bg
ab
aa
bs
@@ -851,8 +861,8 @@ ab
aZ
bb
bb
bi
bl
bh
sI
bg
bn
ab
@@ -1071,17 +1081,17 @@ ab
ab
ab
ab
ay
am
ab
ay
am
ab
ab
aa
ab
ab
bL
an
ab
ay
am
ab
ac
ab
+31 -29
View File
@@ -149,9 +149,6 @@
/area/shuttle/escape)
"as" = (
/obj/structure/table/optable,
/obj/item/surgical_drapes,
/obj/item/clothing/gloves/color/latex,
/obj/item/clothing/mask/surgical,
/obj/effect/turf_decal/tile/purple{
dir = 1
},
@@ -228,18 +225,13 @@
/area/shuttle/escape)
"aB" = (
/obj/structure/table/reinforced,
/obj/item/scalpel,
/obj/item/circular_saw,
/obj/item/retractor,
/obj/item/hemostat,
/obj/item/storage/backpack/duffelbag/med/surgery,
/obj/effect/turf_decal/tile/purple{
dir = 1
},
/obj/effect/turf_decal/tile/purple{
dir = 8
},
/obj/item/surgicaldrill,
/obj/item/cautery,
/turf/open/floor/plasteel/dark,
/area/shuttle/escape)
"aC" = (
@@ -427,6 +419,22 @@
"aW" = (
/turf/open/floor/mineral/plastitanium/red,
/area/shuttle/escape)
"aX" = (
/obj/machinery/door/airlock/hatch,
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"aY" = (
/obj/docking_port/mobile/emergency{
dwidth = 14;
height = 18;
name = "CentCom Raven Battlecruiser";
width = 32
},
/obj/machinery/door/airlock/hatch,
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"aZ" = (
/obj/effect/turf_decal/tile/green,
/obj/effect/turf_decal/tile/green{
@@ -761,16 +769,6 @@
},
/turf/open/floor/plasteel/dark,
/area/shuttle/escape)
"bE" = (
/obj/docking_port/mobile/emergency{
dwidth = 14;
height = 18;
name = "CentCom Raven Battlecruiser";
width = 32
},
/obj/machinery/door/airlock/hatch,
/turf/open/floor/plating,
/area/shuttle/escape)
"bF" = (
/obj/effect/turf_decal/tile/green{
dir = 1
@@ -1331,9 +1329,13 @@
"eP" = (
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/area/shuttle/escape)
"UQ" = (
/obj/machinery/door/airlock/hatch,
/turf/open/floor/plating,
"Mb" = (
/obj/machinery/door/airlock/hatch{
name = "Shuttle EVA";
req_access_txt = "19"
},
/obj/structure/fans/tiny,
/turf/open/floor/plasteel/dark,
/area/shuttle/escape)
(1,1,1) = {"
@@ -1349,17 +1351,17 @@ bJ
cs
bJ
bJ
UQ
aX
cs
bE
aY
bJ
bJ
cs
ad
aa
UQ
aX
bJ
UQ
aX
cs
bJ
cs
@@ -1651,7 +1653,7 @@ cs
ad
cr
cs
aR
Mb
cs
ar
br
@@ -1893,7 +1895,7 @@ bJ
bJ
bJ
cs
cs
en
ad
ad
ad
@@ -1909,7 +1911,7 @@ ab
bJ
bJ
cs
cs
en
ad
ad
ad
+148 -84
View File
@@ -235,6 +235,7 @@
name = "Emergency Shuttle Airlock";
req_access_txt = "2"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"aP" = (
@@ -282,6 +283,7 @@
/obj/machinery/door/airlock/security/glass{
name = "Emergency Shuttle Airlock"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"aX" = (
@@ -375,7 +377,9 @@
/turf/open/floor/mineral/plastitanium/red,
/area/shuttle/escape)
"bk" = (
/obj/structure/kitchenspike,
/obj/machinery/light/small{
dir = 4
},
/turf/open/floor/mineral/plastitanium,
/area/shuttle/escape)
"bl" = (
@@ -420,6 +424,7 @@
/obj/machinery/door/airlock/security/glass{
name = "Emergency Shuttle Airlock"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"bs" = (
@@ -460,13 +465,10 @@
/turf/open/floor/plating,
/area/shuttle/escape)
"bz" = (
/obj/structure/extinguisher_cabinet{
pixel_x = 27
},
/turf/open/floor/plating,
/turf/open/floor/mineral/plastitanium,
/area/shuttle/escape)
"bA" = (
/obj/structure/closet/emcloset,
/obj/machinery/sleeper,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel,
/area/shuttle/escape)
@@ -487,17 +489,12 @@
/turf/open/floor/plasteel,
/area/shuttle/escape)
"bD" = (
/obj/machinery/sleeper{
dir = 8
},
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel,
/obj/structure/closet/emcloset,
/turf/open/floor/mineral/plastitanium/red,
/area/shuttle/escape)
"bE" = (
/obj/machinery/sleeper{
dir = 4
},
/obj/effect/decal/cleanable/dirt,
/obj/machinery/sleeper,
/turf/open/floor/plasteel,
/area/shuttle/escape)
"bF" = (
@@ -567,13 +564,6 @@
},
/turf/open/floor/mineral/plastitanium,
/area/shuttle/escape)
"bP" = (
/obj/structure/kitchenspike,
/obj/machinery/light/small{
dir = 4
},
/turf/open/floor/mineral/plastitanium,
/area/shuttle/escape)
"bQ" = (
/obj/machinery/light,
/turf/open/floor/mineral/plastitanium/red,
@@ -584,6 +574,56 @@
},
/turf/open/floor/plating,
/area/shuttle/escape)
"bS" = (
/obj/structure/kitchenspike,
/turf/open/floor/plating,
/area/shuttle/escape)
"bT" = (
/obj/structure/extinguisher_cabinet{
pixel_x = 27
},
/obj/structure/kitchenspike,
/turf/open/floor/plating,
/area/shuttle/escape)
"bU" = (
/obj/machinery/vending/sovietsoda,
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/escape)
"ca" = (
/obj/structure/shuttle/engine/heater,
/obj/structure/window/reinforced{
dir = 1
},
/turf/open/floor/plating,
/area/shuttle/escape)
"cb" = (
/obj/structure/shuttle/engine/propulsion,
/turf/open/floor/plating,
/area/shuttle/escape)
"cd" = (
/obj/structure/closet/emcloset,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel,
/area/shuttle/escape)
"ce" = (
/obj/structure/table/optable,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel,
/area/shuttle/escape)
"cf" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/table,
/obj/item/storage/backpack/duffelbag/med/surgery,
/turf/open/floor/plasteel,
/area/shuttle/escape)
"cg" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/light/small{
brightness = 3;
dir = 8
},
/turf/open/floor/plasteel,
/area/shuttle/escape)
(1,1,1) = {"
aa
@@ -712,7 +752,7 @@ aj
ao
ad
aw
ax
aR
ax
aR
ax
@@ -721,9 +761,9 @@ ax
aR
ax
bj
ax
aR
ab
by
bS
bx
bI
bK
@@ -736,6 +776,30 @@ ak
ak
at
ax
aR
ax
ax
ax
aR
aR
aR
aR
aR
ax
ab
bT
bx
bI
ca
cb
"}
(8,1,1) = {"
ac
ag
ak
ap
ab
ax
aJ
aJ
aJ
@@ -745,30 +809,6 @@ ax
bc
bc
bc
ax
ab
bz
bx
bI
bK
bL
"}
(8,1,1) = {"
ac
ag
ak
ap
ab
ay
ay
ay
aS
aY
bf
ax
ax
ax
ax
bQ
bv
ad
@@ -783,6 +823,30 @@ af
al
aq
au
ay
ay
ay
aS
aY
bf
ax
ax
ax
ax
ax
ad
bA
cg
ce
bK
bL
"}
(10,1,1) = {"
ac
bU
ak
aq
au
az
aK
aQ
@@ -792,16 +856,16 @@ ax
ax
bl
ax
ax
bD
ax
ad
bA
bE
bA
bB
bJ
bK
bL
"}
(10,1,1) = {"
(11,1,1) = {"
ac
ah
ak
@@ -821,16 +885,16 @@ ax
ac
bB
bB
bJ
cf
bK
bL
"}
(11,1,1) = {"
(12,1,1) = {"
ad
ab
am
ar
au
ac
aB
aA
aA
@@ -849,12 +913,12 @@ bB
bK
bL
"}
(12,1,1) = {"
(13,1,1) = {"
aa
ad
ab
ad
as
bv
aC
aK
bM
@@ -869,11 +933,11 @@ ax
ac
bB
bB
bD
bF
ad
ad
"}
(13,1,1) = {"
(14,1,1) = {"
aa
aa
aa
@@ -892,41 +956,41 @@ ax
ax
ad
bC
bF
cd
ad
ad
aa
"}
(14,1,1) = {"
aa
aa
aa
aa
ab
aE
aN
aN
aV
aD
bi
bk
bk
bk
bP
bt
ab
bD
ab
ad
aa
aa
"}
(15,1,1) = {"
aa
aa
aa
aa
ad
aE
aN
aN
aV
aD
bi
bz
bz
bz
bk
bt
ab
cd
ab
ad
aa
aa
"}
(16,1,1) = {"
aa
aa
aa
aa
aa
aD
aE
aE
+4
View File
@@ -106,6 +106,7 @@
name = "Emergency Shuttle Airlock";
req_access_txt = "2"
},
/obj/structure/fans/tiny,
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"at" = (
@@ -174,6 +175,7 @@
name = "Emergency Shuttle Airlock";
req_access_txt = "2"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"aD" = (
@@ -227,6 +229,7 @@
/obj/docking_port/mobile/emergency{
name = "Scrapheap Challenge"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"aL" = (
@@ -309,6 +312,7 @@
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"ba" = (
+30 -27
View File
@@ -2,6 +2,13 @@
"aa" = (
/turf/template_noop,
/area/template_noop)
"ab" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"ac" = (
/obj/structure/sign/warning/radiation,
/turf/closed/wall/mineral/titanium,
@@ -13,6 +20,16 @@
"ae" = (
/turf/closed/wall/mineral/titanium,
/area/shuttle/escape)
"af" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/obj/docking_port/mobile/emergency{
name = "Hyperfractal Gigashuttle"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"ag" = (
/obj/structure/closet/radiation{
anchored = 1
@@ -33,6 +50,14 @@
},
/turf/open/floor/mineral/titanium/yellow,
/area/shuttle/escape)
"ak" = (
/obj/machinery/door/airlock/external{
name = "Emergency Launch Catwalk";
req_access_txt = "10;13"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"al" = (
/obj/machinery/shower{
dir = 8
@@ -101,12 +126,6 @@
"ax" = (
/turf/closed/wall/mineral/titanium/interior,
/area/shuttle/escape)
"aA" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/turf/open/floor/plating,
/area/shuttle/escape)
"aB" = (
/obj/machinery/power/supermatter_crystal/shard/hugbox/fakecrystal,
/turf/open/floor/plating,
@@ -125,26 +144,10 @@
/obj/structure/reagent_dispensers/fueltank,
/turf/open/floor/mineral/titanium/yellow,
/area/shuttle/escape)
"aF" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/obj/docking_port/mobile/emergency{
name = "Hyperfractal Gigashuttle"
},
/turf/open/floor/plating,
/area/shuttle/escape)
"aI" = (
/obj/structure/sign/warning/radiation,
/turf/closed/wall/mineral/titanium/nodiagonal,
/area/shuttle/escape)
"aL" = (
/obj/machinery/door/airlock/external{
name = "Emergency Launch Catwalk";
req_access_txt = "10;13"
},
/turf/open/floor/plating,
/area/shuttle/escape)
"aM" = (
/turf/open/floor/plating/airless,
/area/shuttle/escape)
@@ -348,9 +351,9 @@ aa
aa
aa
aw
aA
ab
ac
aF
af
aw
aa
aa
@@ -472,7 +475,7 @@ aB
bf
at
at
aL
ak
aM
aM
hD
@@ -588,9 +591,9 @@ aa
aa
aa
aw
aA
ab
ac
aA
ab
aw
aa
aa
+17 -35
View File
@@ -116,7 +116,6 @@
id = "shuttleshutters";
name = "Bridge Blast Shutters";
pixel_x = -26;
pixel_y = 0;
req_access_txt = "19"
},
/obj/effect/turf_decal/tile/neutral{
@@ -199,8 +198,7 @@
/obj/item/radio/intercom{
dir = 4;
name = "Station Intercom (General)";
pixel_x = 27;
pixel_y = 0
pixel_x = 27
},
/turf/open/floor/plasteel/dark,
/area/shuttle/escape)
@@ -309,8 +307,7 @@
/obj/item/radio/intercom{
dir = 4;
name = "Station Intercom (General)";
pixel_x = -27;
pixel_y = 0
pixel_x = -27
},
/turf/open/floor/plasteel/dark,
/area/shuttle/escape)
@@ -408,7 +405,6 @@
id = "smindicate";
name = "external door control";
pixel_x = 26;
pixel_y = 0;
req_access_txt = "150"
},
/obj/structure/fans/tiny,
@@ -420,8 +416,7 @@
/obj/item/radio/intercom{
dir = 4;
name = "Station Intercom (General)";
pixel_x = 27;
pixel_y = 0
pixel_x = 27
},
/turf/open/floor/plasteel/dark,
/area/shuttle/escape)
@@ -878,6 +873,7 @@
/area/shuttle/escape)
"bz" = (
/obj/machinery/door/airlock/hatch,
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"bA" = (
@@ -991,6 +987,7 @@
/obj/docking_port/mobile/emergency{
name = "Syndicate Battlecruiser"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"bL" = (
@@ -1064,10 +1061,7 @@
/area/shuttle/escape)
"bR" = (
/obj/structure/table/reinforced,
/obj/item/storage/box/drinkingglasses{
pixel_x = 0;
pixel_y = 0
},
/obj/item/storage/box/drinkingglasses,
/obj/item/storage/box/drinkingglasses{
pixel_x = -3;
pixel_y = 3
@@ -1499,8 +1493,7 @@
/obj/item/radio/intercom{
dir = 4;
name = "Station Intercom (General)";
pixel_x = 27;
pixel_y = 0
pixel_x = 27
},
/turf/open/floor/plasteel/dark,
/area/shuttle/escape)
@@ -1606,8 +1599,7 @@
/obj/item/radio/intercom{
dir = 4;
name = "Station Intercom (General)";
pixel_x = 27;
pixel_y = 0
pixel_x = 27
},
/turf/open/floor/plasteel/dark,
/area/shuttle/escape)
@@ -1634,10 +1626,7 @@
pixel_x = 3;
pixel_y = -3
},
/obj/item/storage/toolbox/emergency{
pixel_x = 0;
pixel_y = 0
},
/obj/item/storage/toolbox/emergency,
/obj/item/storage/toolbox/syndicate{
pixel_x = -3;
pixel_y = 3
@@ -1717,38 +1706,31 @@
/obj/structure/window/reinforced{
dir = 8
},
/obj/item/retractor,
/obj/item/hemostat,
/obj/item/cautery,
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/item/storage/backpack/duffelbag/med/surgery,
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/plasteel/dark,
/area/shuttle/escape)
"cI" = (
/obj/structure/table/reinforced,
/obj/item/circular_saw,
/obj/item/surgicaldrill,
/obj/item/scalpel{
pixel_y = 15
},
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/plasteel/dark,
/area/shuttle/escape)
"cJ" = (
+52 -91
View File
@@ -119,12 +119,7 @@
/area/shuttle/escape)
"ar" = (
/obj/structure/table,
/obj/item/storage/firstaid/fire,
/obj/item/storage/firstaid/regular{
pixel_x = 2;
pixel_y = 3
},
/obj/item/crowbar,
/obj/item/storage/toolbox/mechanical,
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"as" = (
@@ -166,6 +161,7 @@
name = "Emergency Shuttle Airlock";
req_access_txt = "2"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"ay" = (
@@ -206,22 +202,23 @@
/obj/docking_port/mobile/emergency{
name = "NT Lepton Violet"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"aF" = (
/obj/machinery/door/window/eastleft,
/turf/open/floor/mineral/titanium,
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/escape)
"aG" = (
/obj/machinery/sleeper{
dir = 8
},
/obj/structure/extinguisher_cabinet{
pixel_x = 27
},
/obj/structure/table/glass,
/obj/item/storage/box/syringes{
pixel_x = 3;
pixel_y = 3
},
/obj/item/storage/box/beakers,
/turf/open/floor/mineral/titanium/white,
/area/shuttle/escape)
"aH" = (
@@ -244,72 +241,36 @@
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/escape)
"aK" = (
/obj/machinery/sleeper{
dir = 4
/obj/structure/table,
/obj/item/storage/firstaid/regular{
pixel_x = 2;
pixel_y = 3
},
/obj/item/storage/firstaid/fire,
/turf/open/floor/mineral/titanium/white,
/area/shuttle/escape)
"aL" = (
/obj/structure/table/reinforced,
/turf/open/floor/mineral/titanium,
/obj/structure/table,
/obj/item/storage/backpack/duffelbag/med/surgery,
/turf/open/floor/mineral/titanium/white,
/area/shuttle/escape)
"aM" = (
/obj/machinery/chem_dispenser,
/obj/machinery/light/small{
/obj/structure/chair/comfy/shuttle{
dir = 4
},
/turf/open/floor/mineral/titanium/white,
/area/shuttle/escape)
"aN" = (
/obj/structure/table,
/obj/item/storage/toolbox/mechanical,
/obj/item/storage/firstaid/regular{
pixel_x = -1;
pixel_y = 1
},
/obj/item/wrench/medical,
/turf/open/floor/mineral/titanium/white,
/area/shuttle/escape)
"aO" = (
/turf/open/floor/plating,
/area/shuttle/escape)
"aP" = (
/obj/structure/chair/office/light{
/obj/structure/window/reinforced{
dir = 8
},
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"aQ" = (
/obj/machinery/chem_heater,
/turf/open/floor/mineral/titanium/white,
/area/shuttle/escape)
"aR" = (
/obj/machinery/chem_master,
/turf/open/floor/mineral/titanium/white,
/area/shuttle/escape)
"aS" = (
/obj/machinery/door/window/eastright,
/turf/open/floor/mineral/titanium,
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/escape)
"aT" = (
/obj/structure/table/glass,
/obj/item/reagent_containers/glass/bottle/epinephrine{
pixel_x = 2;
pixel_y = 2
},
/obj/item/reagent_containers/glass/bottle/charcoal,
/obj/structure/table/optable,
/turf/open/floor/mineral/titanium/white,
/area/shuttle/escape)
"aU" = (
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"aV" = (
/obj/machinery/door/airlock/titanium{
name = "Emergency Shuttle Airlock"
},
/turf/open/floor/plating,
/area/shuttle/escape)
"aW" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -517,21 +478,21 @@
},
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"cF" = (
/obj/machinery/sleeper{
dir = 8
},
/obj/machinery/light/small{
dir = 4
},
/turf/open/floor/mineral/titanium/white,
/area/shuttle/escape)
"ji" = (
/obj/structure/chair/comfy/shuttle{
dir = 8
},
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/escape)
"Ec" = (
/obj/structure/chair/comfy/shuttle{
dir = 8
},
/obj/structure/window/reinforced{
dir = 4
},
/turf/open/floor/mineral/titanium/white,
/area/shuttle/escape)
"MK" = (
/obj/structure/chair/comfy/shuttle,
/turf/open/floor/mineral/titanium/blue,
@@ -553,9 +514,9 @@ as
as
as
ab
aV
aF
ab
aV
aF
ab
ab
ab
@@ -644,9 +605,9 @@ ab
ab
ab
aq
aK
aN
aK
aM
aM
aM
aq
ab
ji
@@ -673,10 +634,10 @@ aq
aq
bn
aH
ab
ab
ab
ab
as
as
as
as
be
bf
bg
@@ -691,11 +652,11 @@ ao
au
az
ab
aF
Ec
aq
Ec
aS
aJ
aJ
aJ
aq
as
aI
aI
@@ -716,9 +677,9 @@ av
aA
ab
aq
aL
aO
aL
aM
aM
aM
aq
aU
aq
@@ -741,7 +702,7 @@ aq
aC
aq
aq
aP
aq
aq
aq
as
@@ -764,9 +725,9 @@ aw
aw
ab
aG
aM
aQ
aR
aK
cF
aL
aT
as
MK
+3
View File
@@ -11,6 +11,7 @@
/area/shuttle/transport)
"d" = (
/obj/machinery/door/airlock/external,
/obj/structure/fans/tiny,
/turf/open/floor/pod/dark,
/area/shuttle/transport)
"e" = (
@@ -74,6 +75,7 @@
preferred_direction = 4;
width = 5
},
/obj/structure/fans/tiny,
/turf/open/floor/pod/light,
/area/shuttle/transport)
"o" = (
@@ -98,6 +100,7 @@
/area/shuttle/transport)
"r" = (
/obj/machinery/door/airlock/external,
/obj/structure/fans/tiny,
/turf/open/floor/pod/light,
/area/shuttle/transport)
+545
View File
@@ -0,0 +1,545 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/open/space/bluespace,
/area/hilbertshotel)
"b" = (
/turf/closed/indestructible/hotelwall,
/area/hilbertshotel)
"c" = (
/obj/machinery/jukebox{
req_access = null
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"d" = (
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"e" = (
/obj/structure/table/wood,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"f" = (
/obj/structure/table/wood,
/obj/structure/showcase/machinery/tv,
/obj/machinery/light/small{
dir = 1
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"g" = (
/obj/structure/dresser,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"h" = (
/obj/structure/table/wood/fancy,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"i" = (
/obj/structure/table/wood/fancy,
/obj/structure/mirror{
pixel_y = 24
},
/obj/machinery/light/small{
dir = 1
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"j" = (
/obj/structure/table/wood/fancy,
/obj/item/flashlight/lamp/green,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"k" = (
/obj/structure/chair/comfy/brown{
dir = 4
},
/obj/machinery/light/small{
dir = 8
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"l" = (
/obj/structure/table/wood/poker,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"m" = (
/obj/structure/chair/comfy/brown{
dir = 8
},
/obj/machinery/light/small{
dir = 4
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"n" = (
/obj/effect/landmark/xmastree,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"o" = (
/obj/structure/chair/comfy/brown{
dir = 1
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"p" = (
/obj/structure/mineral_door/wood,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"q" = (
/obj/structure/bed,
/obj/item/bedsheet/random,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"r" = (
/obj/structure/closet/cabinet{
anchored = 1
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"s" = (
/obj/structure/table/wood/fancy,
/obj/item/reagent_containers/food/snacks/grown/poppy,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"t" = (
/obj/machinery/light/small{
dir = 8
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"u" = (
/obj/structure/mineral_door/paperframe,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"v" = (
/obj/structure/extinguisher_cabinet{
pixel_x = 32
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"w" = (
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"x" = (
/obj/structure/curtain,
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"y" = (
/obj/machinery/door/window/northleft,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"z" = (
/obj/structure/table/reinforced,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"A" = (
/obj/structure/mirror{
pixel_x = -32
},
/obj/structure/sink{
dir = 8;
pixel_x = -12;
pixel_y = 2
},
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"B" = (
/obj/structure/chair/stool/bar,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"C" = (
/obj/machinery/shower{
dir = 8
},
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"D" = (
/obj/machinery/light_switch{
pixel_x = 32
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"E" = (
/obj/structure/table/reinforced,
/obj/item/soap/deluxe,
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"F" = (
/obj/structure/window/reinforced/tinted{
dir = 8
},
/obj/structure/window/reinforced/tinted{
dir = 1
},
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"G" = (
/obj/machinery/light_switch{
pixel_x = -32
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"H" = (
/obj/structure/table/reinforced,
/obj/machinery/microwave,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"I" = (
/turf/closed/indestructible/hoteldoor,
/area/hilbertshotel)
"J" = (
/obj/machinery/light/small,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"K" = (
/obj/structure/closet/crate/bin,
/obj/machinery/light/small{
dir = 4
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"L" = (
/obj/machinery/light/small{
dir = 1
},
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"M" = (
/obj/structure/table/reinforced,
/obj/machinery/light/small{
dir = 4
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"N" = (
/obj/structure/table/reinforced,
/obj/item/soap/deluxe,
/obj/machinery/light/small{
dir = 8
},
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"O" = (
/obj/item/bikehorn/rubberducky,
/obj/machinery/light/small{
dir = 4
},
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"P" = (
/obj/machinery/light/small,
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"Q" = (
/obj/machinery/smartfridge/food,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"R" = (
/obj/structure/toilet{
dir = 8
},
/obj/structure/window/reinforced/tinted{
dir = 1
},
/obj/structure/window/reinforced/tinted{
dir = 8
},
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"S" = (
/obj/structure/window/reinforced/tinted{
dir = 8
},
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"T" = (
/obj/structure/window/reinforced/tinted{
dir = 8
},
/obj/structure/window/reinforced/tinted,
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"U" = (
/obj/structure/table/reinforced,
/obj/structure/sink/kitchen,
/obj/machinery/light/small,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"V" = (
/obj/structure/table/reinforced,
/obj/effect/spawner/lootdrop/three_course_meal,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
(1,1,1) = {"
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
"}
(2,1,1) = {"
a
b
b
b
b
b
I
b
b
b
b
b
b
b
a
"}
(3,1,1) = {"
a
b
d
d
k
d
d
t
d
y
t
H
z
b
a
"}
(4,1,1) = {"
a
b
e
d
l
o
d
d
B
z
d
d
z
b
a
"}
(5,1,1) = {"
a
b
f
d
l
o
d
d
B
V
d
d
U
b
a
"}
(6,1,1) = {"
a
b
e
d
l
o
d
d
B
z
d
d
z
b
a
"}
(7,1,1) = {"
a
b
c
d
m
d
D
K
v
z
M
Q
z
b
a
"}
(8,1,1) = {"
a
b
b
b
b
p
b
b
b
b
b
b
b
b
a
"}
(9,1,1) = {"
a
b
g
d
t
d
G
u
w
A
N
A
E
b
a
"}
(10,1,1) = {"
a
b
h
d
d
d
d
b
w
w
w
w
w
b
a
"}
(11,1,1) = {"
a
b
i
d
n
d
J
b
L
w
R
w
P
b
a
"}
(12,1,1) = {"
a
b
h
d
d
d
r
b
x
F
S
T
x
b
a
"}
(13,1,1) = {"
a
b
d
d
d
d
d
b
w
w
w
w
w
b
a
"}
(14,1,1) = {"
a
b
d
j
q
q
s
b
w
C
O
C
w
b
a
"}
(15,1,1) = {"
a
b
b
b
b
b
b
b
b
b
b
b
b
b
a
"}
(16,1,1) = {"
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
"}
+289
View File
@@ -0,0 +1,289 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/open/space/bluespace,
/area/hilbertshotel)
"b" = (
/turf/closed/indestructible/hotelwall,
/area/hilbertshotel)
"c" = (
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"d" = (
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"e" = (
/turf/closed/indestructible/hoteldoor,
/area/hilbertshotel)
(1,1,1) = {"
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
"}
(2,1,1) = {"
a
b
b
b
b
b
e
b
b
b
b
b
b
b
a
"}
(3,1,1) = {"
a
b
c
c
c
c
c
c
c
c
c
c
c
b
a
"}
(4,1,1) = {"
a
b
c
c
c
c
c
c
c
c
c
c
c
b
a
"}
(5,1,1) = {"
a
b
c
c
c
c
c
c
c
c
c
c
c
b
a
"}
(6,1,1) = {"
a
b
c
c
c
c
c
c
c
c
c
c
c
b
a
"}
(7,1,1) = {"
a
b
c
c
c
c
c
c
c
c
c
c
c
b
a
"}
(8,1,1) = {"
a
b
b
b
b
c
b
b
b
b
b
b
b
b
a
"}
(9,1,1) = {"
a
b
c
c
c
c
c
c
d
d
d
d
d
b
a
"}
(10,1,1) = {"
a
b
c
c
c
c
c
b
d
d
d
d
d
b
a
"}
(11,1,1) = {"
a
b
c
c
c
c
c
b
d
d
d
d
d
b
a
"}
(12,1,1) = {"
a
b
c
c
c
c
c
b
d
d
d
d
d
b
a
"}
(13,1,1) = {"
a
b
c
c
c
c
c
b
d
d
d
d
d
b
a
"}
(14,1,1) = {"
a
b
c
c
c
c
c
b
d
d
d
d
d
b
a
"}
(15,1,1) = {"
a
b
b
b
b
b
b
b
b
b
b
b
b
b
a
"}
(16,1,1) = {"
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
"}
+639
View File
@@ -0,0 +1,639 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
/turf/open/space/bluespace,
/area/hilbertshotel)
"ab" = (
/turf/closed/indestructible/hotelwall,
/area/hilbertshotel)
"ac" = (
/obj/structure/table/wood/fancy,
/obj/structure/mirror{
broken = 1;
desc = "Oh no, seven years of bad luck!";
icon_state = "mirror_broke";
pixel_y = 24
},
/obj/machinery/light/small{
dir = 1
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"ad" = (
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"ae" = (
/obj/structure/table/wood,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"af" = (
/obj/structure/table/wood,
/obj/structure/showcase/machinery/tv,
/obj/machinery/light/small{
dir = 1
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"ag" = (
/obj/structure/dresser,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"ah" = (
/obj/structure/table/wood/fancy,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"ai" = (
/obj/structure/table/wood/poker,
/obj/item/toy/cards/deck,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"aj" = (
/obj/structure/table/wood/fancy,
/obj/item/flashlight/lamp/green,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"ak" = (
/obj/structure/chair/comfy/brown{
dir = 4
},
/obj/machinery/light/small{
dir = 8
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"al" = (
/obj/structure/table/wood/poker,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"am" = (
/obj/structure/chair/comfy/brown{
dir = 8
},
/obj/machinery/light/small{
dir = 4
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"an" = (
/obj/machinery/light/small{
dir = 8
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"ap" = (
/obj/structure/bed,
/obj/item/bedsheet/random,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"aq" = (
/obj/structure/chair/comfy/brown{
dir = 1
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"ar" = (
/obj/structure/mineral_door/wood,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"as" = (
/turf/closed/indestructible/hoteldoor,
/area/hilbertshotel)
"at" = (
/obj/effect/decal/cleanable/cobweb,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"au" = (
/obj/machinery/light_switch{
pixel_x = -32
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"av" = (
/obj/machinery/light/small,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"aw" = (
/obj/structure/closet/cabinet{
anchored = 1
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"ax" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"ay" = (
/obj/structure/closet/crate/bin,
/obj/machinery/light/small{
dir = 4
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"az" = (
/obj/structure/mineral_door/paperframe,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"aA" = (
/obj/structure/chair/stool/bar,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"aB" = (
/obj/structure/extinguisher_cabinet{
pixel_x = 32
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"aC" = (
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"aD" = (
/obj/machinery/light/small{
dir = 1
},
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"aE" = (
/obj/structure/curtain,
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"aF" = (
/obj/machinery/door/window/northleft,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"aG" = (
/obj/structure/table/reinforced,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"aH" = (
/obj/structure/table/reinforced,
/obj/item/pen,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"aI" = (
/obj/structure/mirror{
pixel_x = -32
},
/obj/structure/sink{
dir = 8;
pixel_x = -12;
pixel_y = 2
},
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"aJ" = (
/obj/structure/window/reinforced/tinted{
dir = 8
},
/obj/structure/window/reinforced/tinted{
dir = 1
},
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"aK" = (
/obj/machinery/shower{
dir = 8
},
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"aL" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"aM" = (
/obj/structure/table/wood/poker,
/obj/effect/decal/cleanable/dirt,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"aN" = (
/obj/structure/toilet{
dir = 8
},
/obj/structure/window/reinforced/tinted{
dir = 1
},
/obj/structure/window/reinforced/tinted{
dir = 8
},
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"aO" = (
/obj/structure/window/reinforced/tinted{
dir = 8
},
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"aP" = (
/obj/item/bikehorn/rubberducky,
/obj/machinery/light/small{
dir = 4
},
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"aQ" = (
/obj/structure/table/reinforced,
/obj/machinery/microwave,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"aR" = (
/obj/machinery/smartfridge/food,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"aS" = (
/obj/structure/window/reinforced/tinted{
dir = 8
},
/obj/structure/window/reinforced/tinted,
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"aT" = (
/obj/structure/table/reinforced,
/obj/structure/sink/kitchen,
/obj/machinery/light/small,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"aU" = (
/obj/structure/bed,
/obj/item/bedsheet/random,
/obj/effect/decal/cleanable/dirt,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"aV" = (
/obj/machinery/light/small,
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"aW" = (
/obj/machinery/jukebox{
req_access = null
},
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"aX" = (
/obj/machinery/light_switch{
pixel_x = 32
},
/obj/effect/decal/cleanable/dirt,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"aY" = (
/obj/structure/chair/stool/bar,
/obj/effect/decal/cleanable/blood,
/obj/effect/decal/cleanable/vomit,
/obj/effect/mob_spawn/human/doctorhilbert,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"aZ" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"ba" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"bb" = (
/obj/structure/mirror{
pixel_x = -32
},
/obj/structure/sink{
dir = 8;
pixel_x = -12;
pixel_y = 2
},
/obj/effect/decal/cleanable/dirt,
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"bc" = (
/obj/effect/decal/cleanable/blood,
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"bd" = (
/obj/machinery/shower{
dir = 8
},
/obj/effect/decal/cleanable/dirt,
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"be" = (
/obj/machinery/light/small{
dir = 8
},
/obj/effect/decal/cleanable/dirt,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"bf" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"bg" = (
/obj/structure/table/reinforced,
/obj/machinery/light/small{
dir = 4
},
/obj/effect/decal/cleanable/dirt,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"bh" = (
/obj/structure/table/reinforced,
/obj/machinery/light/small{
dir = 8
},
/obj/item/soap/homemade{
name = "used soap"
},
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"bi" = (
/obj/effect/decal/cleanable/vomit,
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"bj" = (
/obj/structure/table/reinforced,
/obj/item/soap/homemade{
name = "used soap"
},
/turf/open/indestructible/hoteltile,
/area/hilbertshotel)
"bk" = (
/obj/structure/table/reinforced,
/obj/item/analyzer/hilbertsanalyzer,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"bl" = (
/obj/structure/table/reinforced,
/obj/item/paper/crumpled/bloody/docsdeathnote,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
(1,1,1) = {"
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
"}
(2,1,1) = {"
aa
ab
ab
ab
ab
ab
as
ab
ab
ab
ab
ab
ab
ab
aa
"}
(3,1,1) = {"
aa
ab
at
aL
ak
ad
aL
an
ad
aF
be
aQ
aG
ab
aa
"}
(4,1,1) = {"
aa
ab
ae
ad
al
aq
ad
ad
aA
aH
ad
aL
aG
ab
aa
"}
(5,1,1) = {"
aa
ab
af
ad
ai
aq
aL
ad
aY
bl
ad
aL
aT
ab
aa
"}
(6,1,1) = {"
aa
ab
ae
ad
aM
aq
ad
ad
aA
bk
bf
bf
aG
ab
aa
"}
(7,1,1) = {"
aa
ab
aW
aL
am
ad
aX
ay
aB
aG
bg
aR
aG
ab
aa
"}
(8,1,1) = {"
aa
ab
ab
ab
ab
ar
ab
ab
ab
ab
ab
ab
ab
ab
aa
"}
(9,1,1) = {"
aa
ab
ag
ad
an
ad
au
az
aC
bb
bh
aI
bj
ab
aa
"}
(10,1,1) = {"
aa
ab
ah
ad
aL
aL
ad
ab
aZ
aZ
aC
aZ
aZ
ab
aa
"}
(11,1,1) = {"
aa
ab
ac
ad
ad
aL
av
ab
aD
aC
aN
bi
aV
ab
aa
"}
(12,1,1) = {"
aa
ab
ah
ad
aL
ad
aw
ab
aE
aJ
aO
aS
aE
ab
aa
"}
(13,1,1) = {"
aa
ab
ad
ad
aL
ad
ad
ab
aC
bc
aZ
aZ
aC
ab
aa
"}
(14,1,1) = {"
aa
ab
ax
aj
ap
aU
ah
ab
ba
bd
aP
aK
aC
ab
aa
"}
(15,1,1) = {"
aa
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
ab
aa
"}
(16,1,1) = {"
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
"}
+23
View File
@@ -0,0 +1,23 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/closed/indestructible/hotelwall,
/area/hilbertshotelstorage)
"b" = (
/turf/open/indestructible/hotelwood,
/area/hilbertshotelstorage)
(1,1,1) = {"
a
a
a
"}
(2,1,1) = {"
a
b
a
"}
(3,1,1) = {"
a
a
a
"}
+6
View File
@@ -105,6 +105,7 @@
#define MATRIXED 22 //if icon is color matrix'd
#define SKINTONE 23 //uses skin tones
#define HORNCOLOR 24
#define WINGCOLOR 25
//organ slots
#define ORGAN_SLOT_BRAIN "brain"
@@ -130,6 +131,11 @@
#define ORGAN_SLOT_BRAIN_ANTISTUN "brain_antistun"
#define ORGAN_SLOT_TAIL "tail"
#define ORGAN_SLOT_PENIS "penis"
#define ORGAN_SLOT_WOMB "womb"
#define ORGAN_SLOT_VAGINA "vagina"
#define ORGAN_SLOT_TESTICLES "testicles"
#define ORGAN_SLOT_BREASTS "breasts"
////organ defines
#define STANDARD_ORGAN_THRESHOLD 100
+32
View File
@@ -0,0 +1,32 @@
#if DM_VERSION < 513
#define ismovableatom(A) (istype(A, /atom/movable))
#define islist(L) (istype(L, /list))
#define CLAMP01(x) (CLAMP(x, 0, 1))
#define CLAMP(CLVALUE,CLMIN,CLMAX) ( max( (CLMIN), min((CLVALUE), (CLMAX)) ) )
#define ATAN2(x, y) ( !(x) && !(y) ? 0 : (y) >= 0 ? arccos((x) / sqrt((x)*(x) + (y)*(y))) : -arccos((x) / sqrt((x)*(x) + (y)*(y))) )
#define TAN(x) (sin(x) / cos(x))
#define arctan(x) (arcsin(x/sqrt(1+x*x)))
//////////////////////////////////////////////////
#else
#define ismovableatom(A) ismovable(A)
#define CLAMP01(x) clamp(x, 0, 1)
#define CLAMP(CLVALUE, CLMIN, CLMAX) clamp(CLVALUE, CLMIN, CLMAX)
#define TAN(x) tan(x)
#define ATAN2(x, y) arctan(x, y)
#endif
+3 -1
View File
@@ -6,7 +6,7 @@
#define ACCESS_MORGUE 6
#define ACCESS_TOX 7 //R&D department, R&D console, burn chamber on some maps
#define ACCESS_TOX_STORAGE 8 //Toxins storage, burn chamber on some maps
#define ACCESS_GENETICS 9
#define ACCESS_GENETICS 9
#define ACCESS_ENGINE 10 //Engineering area, power monitor, power flow control console
#define ACCESS_ENGINE_EQUIP 11 //APCs, EngiVend/YouTool, engineering equipment lockers
#define ACCESS_MAINT_TUNNELS 12
@@ -64,6 +64,8 @@
#define ACCESS_WEAPONS 66 //Weapon authorization for secbots
#define ACCESS_NETWORK 67 //NTnet diagnostics/monitoring software
#define ACCESS_CLONING 68 //Cloning room and clone pod ejection
#define ACCESS_ENTER_GENPOP 69
#define ACCESS_LEAVE_GENPOP 70
//BEGIN CENTCOM ACCESS
/*Should leave plenty of room if we need to add more access levels.
+17 -27
View File
@@ -18,6 +18,23 @@
#define CIT_FILTER_STAMINACRIT filter(type="drop_shadow", x=0, y=0, size=-3, border=0, color="#04080F")
//organ defines
#define VAGINA_LAYER_INDEX 1
#define TESTICLES_LAYER_INDEX 2
#define GENITAL_LAYER_INDEX 3
#define PENIS_LAYER_INDEX 4
#define GENITAL_LAYER_INDEX_LENGTH 4 //keep it updated with each new index added, thanks.
//genital flags
#define GENITAL_BLACKLISTED (1<<0) //for genitals that shouldn't be added to GLOB.genitals_list.
#define GENITAL_INTERNAL (1<<1)
#define GENITAL_HIDDEN (1<<2)
#define GENITAL_THROUGH_CLOTHES (1<<3)
#define GENITAL_FUID_PRODUCTION (1<<4)
#define CAN_MASTURBATE_WITH (1<<5)
#define MASTURBATE_LINKED_ORGAN (1<<6) //used to pass our mission to the linked organ
#define CAN_CLIMAX_WITH (1<<7)
#define COCK_SIZE_MIN 1
#define COCK_SIZE_MAX 20
@@ -50,27 +67,6 @@
#define BREASTS_VOLUME_BASE 50 //base volume for the reagents in the breasts, multiplied by the size then multiplier. 50u for A cups, 850u for HH cups.
#define BREASTS_VOLUME_MULT 1 //global multiplier for breast volume.
#define BREASTS_SIZE_FLAT 0
#define BREASTS_SIZE_A 1
#define BREASTS_SIZE_AA 1.5
#define BREASTS_SIZE_B 2
#define BREASTS_SIZE_BB 2.5
#define BREASTS_SIZE_C 3
#define BREASTS_SIZE_CC 3.5
#define BREASTS_SIZE_D 4
#define BREASTS_SIZE_DD 4.5
#define BREASTS_SIZE_E 5
#define BREASTS_SIZE_EE 5.5
#define BREASTS_SIZE_F 6
#define BREASTS_SIZE_FF 6.5
#define BREASTS_SIZE_G 7
#define BREASTS_SIZE_GG 7.5//Are these even real sizes? The world may never know because cup sizes make no fucking sense.
#define BREASTS_SIZE_H 8
#define BREASTS_SIZE_HH 8.5//Largest size, ever. For now.
#define BREASTS_SIZE_MIN BREASTS_SIZE_A
#define BREASTS_SIZE_DEF BREASTS_SIZE_C
#define BREASTS_SIZE_MAX BREASTS_SIZE_HH
#define MILK_RATE 5
#define MILK_RATE_MULT 1
@@ -93,12 +89,6 @@
#define isgenital(A) (istype(A, /obj/item/organ/genital))
#define isborer(A) (istype(A, /mob/living/simple_animal/borer))
#define isipcperson(A) (is_species(A, /datum/species/ipc))
#define ismammal(A) (is_species(A, /datum/species/mammal))
#define isavian(A) (is_species(A, /datum/species/avian))
#define isaquatic(A) (is_species(A, /datum/species/aquatic))
#define isinsect(A) (is_species(A, /datum/species/insect))
#define isxenoperson(A) (is_species(A, /datum/species/xeno))
#define CITADEL_MENTOR_OOC_COLOUR "#224724"
-5
View File
@@ -5,8 +5,3 @@
#define CLEAN_STRONG 4 // Industrial strength
#define CLEAN_IMPRESSIVE 5 // Cleaning strong enough your granny would be proud
#define CLEAN_GOD 6 // Cleans things spotless down to the atomic structure
//How strong things have to be to wipe forensic evidence...
#define CLEAN_STRENGTH_FINGERPRINTS CLEAN_IMPRESSIVE
#define CLEAN_STRENGTH_BLOOD CLEAN_WEAK
#define CLEAN_STRENGTH_FIBERS CLEAN_IMPRESSIVE
+1
View File
@@ -8,6 +8,7 @@
GLOBAL_VAR_INIT(clockwork_construction_value, 0) //The total value of all structures built by the clockwork cult
GLOBAL_VAR_INIT(clockwork_vitality, 0) //How much Vitality is stored, total
GLOBAL_VAR_INIT(clockwork_power, 0) //How many watts of power are globally available to the clockwork cult
GLOBAL_VAR_INIT(neovgre_exists, 0) //Does neovgre exist?
GLOBAL_LIST_EMPTY(all_clockwork_objects) //All clockwork items, structures, and effects in existence
GLOBAL_LIST_EMPTY(all_clockwork_mobs) //All clockwork SERVANTS (not creatures) in existence
+1 -2
View File
@@ -104,8 +104,7 @@
#define SHOVE_KNOCKDOWN_HUMAN 30
#define SHOVE_KNOCKDOWN_TABLE 30
#define SHOVE_KNOCKDOWN_COLLATERAL 10
//Shove slowdown
#define SHOVE_SLOWDOWN_ID "shove_slowdown"
//for the shove slowdown, see __DEFINES/movespeed_modification.dm
#define SHOVE_SLOWDOWN_LENGTH 30
#define SHOVE_SLOWDOWN_STRENGTH 0.85 //multiplier
//Shove disarming item list
+8 -7
View File
@@ -2,11 +2,8 @@
#define SEND_GLOBAL_SIGNAL(sigtype, arguments...) ( SEND_SIGNAL(SSdcs, sigtype, ##arguments) )
//shorthand
#define GET_COMPONENT_FROM(varname, path, target) var##path/##varname = ##target.GetComponent(##path)
#define GET_COMPONENT(varname, path) GET_COMPONENT_FROM(varname, path, src)
#define COMPONENT_INCOMPATIBLE 1
#define COMPONENT_NOTRANSFER 2
// How multiple components of the exact same type are handled in the same datum
@@ -129,7 +126,7 @@
#define COMSIG_MOB_GHOSTIZE "mob_ghostize" //from base of mob/Ghostize() (can_reenter_corpse)
#define COMPONENT_BLOCK_GHOSTING 1
#define COMSIG_MOB_ALLOWED "mob_allowed" //from base of obj/allowed(mob/M): (/obj) returns bool, if TRUE the mob has id access to the obj
#define COMSIG_MOB_RECEIVE_MAGIC "mob_receive_magic" //from base of mob/anti_magic_check(): (magic, holy, protection_sources)
#define COMSIG_MOB_RECEIVE_MAGIC "mob_receive_magic" //from base of mob/anti_magic_check(): (mob/user, magic, holy, tinfoil, chargecost, self, protection_sources)
#define COMPONENT_BLOCK_MAGIC 1
#define COMSIG_MOB_HUD_CREATED "mob_hud_created" //from base of mob/create_mob_hud(): ()
#define COMSIG_MOB_ATTACK_HAND "mob_attack_hand" //from base of
@@ -225,14 +222,18 @@
#define COMSIG_TURF_MAKE_DRY "make_turf_try" //(max_strength, immediate, duration_decrease = INFINITY): Returns bool.
#define COMSIG_COMPONENT_CLEAN_ACT "clean_act" //called on an object to clean it of cleanables. Usualy with soap: (num/strength)
//Blood color
#define COMSIG_BLOOD_COLOR "blood_DNA_to_color" //RGB blood stuff
//Food
#define COMSIG_FOOD_EATEN "food_eaten" //from base of obj/item/reagent_containers/food/snacks/attack(): (mob/living/eater, mob/feeder)
//Gibs
#define COMSIG_GIBS_STREAK "gibs_streak" // from base of /obj/effect/decal/cleanable/blood/gibs/streak(): (list/directions, list/diseases)
//Mood
#define COMSIG_ADD_MOOD_EVENT "add_mood" //Called when you send a mood event from anywhere in the code.
#define COMSIG_CLEAR_MOOD_EVENT "clear_mood" //Called when you clear a mood event from anywhere in the code.
#define COMSIG_INCREASE_SANITY "decrease_sanity" //Called when you want to increase sanity from anywhere in the code.
#define COMSIG_DECREASE_SANITY "increase_sanity" //Same as above but to decrease sanity instead.
#define COMSIG_MODIFY_SANITY "modify_sanity" //Called when you want to increase or decrease sanity from anywhere in the code.
//NTnet
#define COMSIG_COMPONENT_NTNET_RECEIVE "ntnet_receive" //called on an object by its NTNET connection component on receive. (sending_id(number), sending_netname(text), data(datum/netdata))
+1
View File
@@ -58,6 +58,7 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
#define GROUND (1<<0)
#define FLYING (1<<1)
#define VENTCRAWLING (1<<2)
#define FLOATING (1<<3)
//Fire and Acid stuff, for resistance_flags
#define LAVA_PROOF (1<<0)
+9
View File
@@ -15,6 +15,15 @@
//misc footstep sounds
#define FOOTSTEP_GENERIC_HEAVY "heavy"
#define FOOTPRINT_SHOE "shoe"
#define FOOTPRINT_FOOT "foot"
#define FOOTPRINT_PAW "paw"
#define FOOTPRINT_CLAW "claw"
#define FOOTPRINT_WHEEL "wheels"
#define FOOTPRINT_TRAIL "trails_"
#define FOOTPRINT_SNAKE "snake"
#define FOOTPRINT_DRAG "drag"
/*
id = list(
-2
View File
@@ -1,2 +0,0 @@
#define IF_HAS_BLOOD_DNA(__thing) GET_COMPONENT_FROM(__FR##__thing, /datum/component/forensics, __thing); if(__FR##__thing && length(__FR##__thing.blood_DNA))
#define IF_HAS_BLOOD_DNA_AND(__thing, __conditions...) GET_COMPONENT_FROM(__FR##__thing, /datum/component/forensics, __thing); if(__FR##__thing && length(__FR##__thing.blood_DNA) && (##__conditions))
+10 -1
View File
@@ -28,7 +28,9 @@
#define ITEM_SLOT_POCKET (1<<11) // this is to allow items with a w_class of WEIGHT_CLASS_NORMAL or WEIGHT_CLASS_BULKY to fit in pockets.
#define ITEM_SLOT_DENYPOCKET (1<<12) // this is to deny items with a w_class of WEIGHT_CLASS_SMALL or WEIGHT_CLASS_TINY to fit in pockets.
#define ITEM_SLOT_NECK (1<<13)
#define ITEM_SLOT_SUITSTORE (1<<14)
#define ITEM_SLOT_HANDS (1<<14)
#define ITEM_SLOT_BACKPACK (1<<15)
#define ITEM_SLOT_SUITSTORE (1<<16)
//SLOTS
#define SLOT_BACK 1
@@ -86,6 +88,10 @@
. = ITEM_SLOT_ICLOTHING
if(SLOT_L_STORE, SLOT_R_STORE)
. = ITEM_SLOT_POCKET
if(SLOT_HANDS)
. = ITEM_SLOT_HANDS
if(SLOT_IN_BACKPACK)
. = ITEM_SLOT_BACKPACK
if(SLOT_S_STORE)
. = ITEM_SLOT_SUITSTORE
@@ -237,3 +243,6 @@ GLOBAL_LIST_INIT(security_wintercoat_allowed, typecacheof(list(
//Internals checker
#define GET_INTERNAL_SLOTS(C) list(C.head, C.wear_mask)
//Slots that won't trigger humans' update_genitals() on equip().
GLOBAL_LIST_INIT(no_genitals_update_slots, list(SLOT_L_STORE, SLOT_R_STORE, SLOT_S_STORE, SLOT_IN_BACKPACK, SLOT_LEGCUFFED, SLOT_HANDCUFFED, SLOT_HANDS, SLOT_GENERC_DEXTROUS_STORAGE))
+12 -5
View File
@@ -1,11 +1,7 @@
// simple is_type and similar inline helpers
#define islist(L) (istype(L, /list))
#define in_range(source, user) (get_dist(source, user) <= 1 && (get_step(source, 0)?:z) == (get_step(user, 0)?:z))
#define ismovableatom(A) (istype(A, /atom/movable))
#define isatom(A) (isloc(A))
#define isweakref(D) (istype(D, /datum/weakref))
@@ -61,6 +57,15 @@
#define iscatperson(A) (ishumanbasic(A) && istype(A.dna.species, /datum/species/human/felinid) )
#define isdwarf(A) (is_species(A, /datum/species/dwarf))
// Citadel specific species
#define isipcperson(A) (is_species(A, /datum/species/ipc))
#define ismammal(A) (is_species(A, /datum/species/mammal))
#define isavian(A) (is_species(A, /datum/species/avian))
#define isaquatic(A) (is_species(A, /datum/species/aquatic))
#define isinsect(A) (is_species(A, /datum/species/insect))
#define isxenoperson(A) (is_species(A, /datum/species/xeno))
#define isstartjelly(A) (is_species(A, /datum/species/jelly/roundstartslime))
//more carbon mobs
#define ismonkey(A) (istype(A, /mob/living/carbon/monkey))
@@ -176,6 +181,8 @@ GLOBAL_LIST_INIT(heavyfootmob, typecacheof(list(
#define iscameramob(A) (istype(A, /mob/camera))
#define isaicamera(A) (istype(A, /mob/camera/aiEye))
#define iseminence(A) (istype(A, /mob/camera/eminence))
//Footstep helpers
@@ -235,4 +242,4 @@ GLOBAL_LIST_INIT(glass_sheet_types, typecacheof(list(
#define isblobmonster(O) (istype(O, /mob/living/simple_animal/hostile/blob))
#define isshuttleturf(T) (length(T.baseturfs) && (/turf/baseturf_skipover/shuttle in T.baseturfs))
#define isshuttleturf(T) (length(T.baseturfs) && (/turf/baseturf_skipover/shuttle in T.baseturfs))
+4
View File
@@ -92,3 +92,7 @@ require only minor tweaks.
#define PLACE_SAME_Z "same"
#define PLACE_SPACE_RUIN "space"
#define PLACE_LAVA_RUIN "lavaland"
//Map type stuff.
#define MAP_TYPE_STATION "station"
+1 -9
View File
@@ -16,7 +16,6 @@
#define TICK_USAGE_TO_MS(starting_tickusage) (TICK_DELTA_TO_MS(TICK_USAGE_REAL - starting_tickusage))
#define PERCENT(val) (round((val)*100, 0.1))
#define CLAMP01(x) (CLAMP(x, 0, 1))
//time of day but automatically adjusts to the server going into the next day within the same round.
//for when you need a reliable time number that doesn't depend on byond time.
@@ -30,17 +29,12 @@
// round() acts like floor(x, 1) by default but can't handle other values
#define FLOOR(x, y) ( round((x) / (y)) * (y) )
#define CLAMP(CLVALUE,CLMIN,CLMAX) ( max( (CLMIN), min((CLVALUE), (CLMAX)) ) )
// Similar to clamp but the bottom rolls around to the top and vice versa. min is inclusive, max is exclusive
#define WRAP(val, min, max) ( min == max ? min : (val) - (round(((val) - (min))/((max) - (min))) * ((max) - (min))) )
// Real modulus that handles decimals
#define MODULUS(x, y) ( (x) - (y) * round((x) / (y)) )
// Tangent
#define TAN(x) (sin(x) / cos(x))
// Cotangent
#define COT(x) (1 / TAN(x))
@@ -50,8 +44,6 @@
// Cosecant
#define CSC(x) (1 / sin(x))
#define ATAN2(x, y) ( !(x) && !(y) ? 0 : (y) >= 0 ? arccos((x) / sqrt((x)*(x) + (y)*(y))) : -arccos((x) / sqrt((x)*(x) + (y)*(y))) )
// Greatest Common Divisor - Euclid's algorithm
/proc/Gcd(a, b)
return b ? Gcd(b, (a) % (b)) : a
@@ -207,4 +199,4 @@
#define LORENTZ_CUMULATIVE_DISTRIBUTION(x, y, s) ( (1/PI)*TORADIANS(arctan((x-y)/s)) + 1/2 )
#define RULE_OF_THREE(a, b, x) ((a*x)/b)
// )
// )
+26 -15
View File
@@ -51,24 +51,25 @@ Will print: "/mob/living/carbon/human/death" (you can optionally embed it in a s
//Human Overlays Indexes/////////
//LOTS OF CIT CHANGES HERE. BE CAREFUL WHEN UPSTREAM ADDS MORE LAYERS
#define MUTATIONS_LAYER 31 //mutations. Tk headglows, cold resistance glow, etc
#define GENITALS_BEHIND_LAYER 30 //Some genitalia needs to be behind everything, such as with taurs (Taurs use body_behind_layer
#define BODY_BEHIND_LAYER 29 //certain mutantrace features (tail when looking south) that must appear behind the body parts
#define BODYPARTS_LAYER 28 //Initially "AUGMENTS", this was repurposed to be a catch-all bodyparts flag
#define MARKING_LAYER 27 //Matrixed body markings because clashing with snouts?
#define BODY_ADJ_LAYER 26 //certain mutantrace features (snout, body markings) that must appear above the body parts
#define GENITALS_FRONT_LAYER 25 //Draws some genitalia above clothes and the TAUR body if need be.
#define BODY_LAYER 24 //underwear, undershirts, socks, eyes, lips(makeup)
#define FRONT_MUTATIONS_LAYER 23 //mutations that should appear above body, body_adj and bodyparts layer (e.g. laser eyes)
#define DAMAGE_LAYER 22 //damage indicators (cuts and burns)
#define UNIFORM_LAYER 21
#define ID_LAYER 20
#define MUTATIONS_LAYER 32 //mutations. Tk headglows, cold resistance glow, etc
#define GENITALS_BEHIND_LAYER 31 //Some genitalia needs to be behind everything, such as with taurs (Taurs use body_behind_layer
#define BODY_BEHIND_LAYER 30 //certain mutantrace features (tail when looking south) that must appear behind the body parts
#define BODYPARTS_LAYER 29 //Initially "AUGMENTS", this was repurposed to be a catch-all bodyparts flag
#define MARKING_LAYER 28 //Matrixed body markings because clashing with snouts?
#define BODY_ADJ_LAYER 27 //certain mutantrace features (snout, body markings) that must appear above the body parts
#define GENITALS_FRONT_LAYER 26 //Draws some genitalia above clothes and the TAUR body if need be.
#define BODY_LAYER 25 //underwear, undershirts, socks, eyes, lips(makeup)
#define FRONT_MUTATIONS_LAYER 24 //mutations that should appear above body, body_adj and bodyparts layer (e.g. laser eyes)
#define DAMAGE_LAYER 23 //damage indicators (cuts and burns)
#define UNIFORM_LAYER 22
#define ID_LAYER 21
#define HANDS_PART_LAYER 20
#define SHOES_LAYER 19
#define GLOVES_LAYER 18
#define EARS_LAYER 17
#define BODY_TAUR_LAYER 16
#define SUIT_LAYER 15
#define GENITALS_EXPOSED_LAYER 14
#define GLASSES_LAYER 13
#define BELT_LAYER 12 //Possible make this an overlay of somethign required to wear a belt?
#define SUIT_STORE_LAYER 11
@@ -82,7 +83,7 @@ Will print: "/mob/living/carbon/human/death" (you can optionally embed it in a s
#define HANDS_LAYER 3
#define BODY_FRONT_LAYER 2
#define FIRE_LAYER 1 //If you're on fire
#define TOTAL_LAYERS 30 //KEEP THIS UP-TO-DATE OR SHIT WILL BREAK ;_;
#define TOTAL_LAYERS 32 //KEEP THIS UP-TO-DATE OR SHIT WILL BREAK ;_;
//Human Overlay Index Shortcuts for alternate_worn_layer, layers
//Because I *KNOW* somebody will think layer+1 means "above"
@@ -171,12 +172,22 @@ GLOBAL_LIST_EMPTY(bloody_footprints_cache)
#define BLOOD_LOSS_IN_SPREAD 20
//Bloody shoe blood states
#define BLOOD_STATE_HUMAN "blood"
#define BLOOD_STATE_XENO "xeno"
#define BLOOD_STATE_BLOOD "blood"
#define BLOOD_STATE_OIL "oil"
#define BLOOD_STATE_NOT_BLOODY "no blood whatsoever"
#define BLOOD_AMOUNT_PER_DECAL 20
//Blood Decal Colors
#define BLOOD_COLOR_HUMAN "#dc0000"
#define BLOOD_COLOR_XENO "#94a83c"
#define BLOOD_COLOR_OIL "#301d02"
#define BLOOD_COLOR_SYNTHETIC "#3f48aa"
#define BLOOD_COLOR_SLIME "#00ff90"
#define BLOOD_COLOR_LIZARD "#db004D"
#define BLOOD_COLOR_UNIVERSAL "#db3300"
#define BLOOD_COLOR_BUG "#a37c0f"
//suit sensors: sensor_mode defines
#define SENSOR_OFF 0
+34 -2
View File
@@ -1,12 +1,19 @@
#define MOVESPEED_DATA_INDEX_PRIORITY 1
#define MOVESPEED_DATA_INDEX_FLAGS 2
#define MOVESPEED_DATA_INDEX_MULTIPLICATIVE_SLOWDOWN 3
#define MOVESPEED_DATA_INDEX_MOVETYPE 4
#define MOVESPEED_DATA_INDEX_BL_MOVETYPE 5
#define MOVESPEED_DATA_INDEX_CONFLICT 6
#define MOVESPEED_DATA_INDEX_MAX 3
#define MOVESPEED_DATA_INDEX_MAX 6
//flags
#define IGNORE_NOSLOW (1 << 0)
//conflict types
#define MOVE_CONFLICT_JETPACK "JETPACK"
//ids
#define MOVESPEED_ID_MOB_WALK_RUN_CONFIG_SPEED "MOB_WALK_RUN"
@@ -16,15 +23,29 @@
#define MOVESPEED_ID_SLIME_HEALTHMOD "SLIME_HEALTH_MODIFIER"
#define MOVESPEED_ID_SLIME_TEMPMOD "SLIME_TEMPERATURE_MODIFIER"
#define MOVESPEED_ID_SLIME_STATUS "SLIME_STATUS"
#define MOVESPEED_ID_TARANTULA_WEB "TARANTULA_WEB"
#define MOVESPEED_ID_LIVING_TURF_SPEEDMOD "LIVING_TURF_SPEEDMOD"
#define MOVESPEED_ID_CARBON_SOFTCRIT "CARBON_SOFTCRIT"
#define MOVESPEED_ID_CARBON_OLDSPEED "CARBON_DEPRECATED_SPEED"
#define MOVESPEED_ID_DNA_VAULT "DNA_VAULT"
#define MOVESPEED_ID_YELLOW_ORB "YELLOW_ORB"
#define MOVESPEED_ID_TARFOOT "TARFOOT"
#define MOVESPEED_ID_SEPIA "SEPIA"
#define MOVESPEED_ID_MONKEY_REAGENT_SPEEDMOD "MONKEY_REAGENT_SPEEDMOD"
#define MOVESPEED_ID_MONKEY_TEMPERATURE_SPEEDMOD "MONKEY_TEMPERATURE_SPEEDMOD"
#define MOVESPEED_ID_MONKEY_HEALTH_SPEEDMOD "MONKEY_HEALTH_SPEEDMOD"
#define MOVESPEED_ID_CHANGELING_MUSCLES "CHANGELING_MUSCLES"
#define MOVESPEED_ID_SIMPLEMOB_VARSPEED "SIMPLEMOB_VARSPEED_MODIFIER"
#define MOVESPEED_ID_ADMIN_VAREDIT "ADMIN_VAREDIT_MODIFIER"
@@ -32,7 +53,18 @@
#define MOVESPEED_ID_SANITY "MOOD_SANITY"
#define MOVESPEED_ID_SPECIES "SPECIES_SPEED_MOD"
#define MOVESPEED_ID_PRONE_DRAGGING "PRONE_DRAG"
#define MOVESPEED_ID_HUMAN_CARRYING "HUMAN_CARRY"
#define MOVESPEED_ID_TASED_STATUS "TASED"
#define MOVESPEED_ID_TASED_STATUS "TASED"
#define MOVESPEED_ID_SLAUGHTER "SLAUGHTER"
#define MOVESPEED_ID_CYBER_THRUSTER "CYBER_IMPLANT_THRUSTER"
#define MOVESPEED_ID_JETPACK "JETPACK"
#define MOVESPEED_ID_SHOVE "SHOVE"
#define MOVESPEED_ID_MKULTRA "MKULTRA"
+26 -24
View File
@@ -2,43 +2,45 @@
#define EMAGGED (1<<0)
#define IN_USE (1<<1) // If we have a user using us, this will be set on. We will check if the user has stopped using us, and thus stop updating and LAGGING EVERYTHING!
#define CAN_BE_HIT (1<<2) //can this be bludgeoned by items?
#define BEING_SHOCKED (1<<3) // Whether this thing is currently (already) being shocked by a tesla
#define DANGEROUS_POSSESSION (1<<4) //Admin possession yes/no
#define ON_BLUEPRINTS (1<<5) //Are we visible on the station blueprints at roundstart?
#define UNIQUE_RENAME (1<<6) // can you customize the description/name of the thing?
#define IN_USE (1<<1) //If we have a user using us, this will be set on. We will check if the user has stopped using us, and thus stop updating and LAGGING EVERYTHING!
#define CAN_BE_HIT (1<<2) //can this be bludgeoned by items?
#define BEING_SHOCKED (1<<3) //Whether this thing is currently (already) being shocked by a tesla
#define DANGEROUS_POSSESSION (1<<4) //Admin possession yes/no
#define ON_BLUEPRINTS (1<<5) //Are we visible on the station blueprints at roundstart?
#define UNIQUE_RENAME (1<<6) //can you customize the description/name of the thing?
#define USES_TGUI (1<<7) //put on things that use tgui on ui_interact instead of custom/old UI.
#define FROZEN (1<<8)
#define SHOVABLE_ONTO (1<<9) //called on turf.shove_act() to consider whether an object should have a niche effect (defined in their own shove_act()) when someone is pushed onto it, or do a sanity CanPass() check.
#define SHOVABLE_ONTO (1<<9) //called on turf.shove_act() to consider whether an object should have a niche effect (defined in their own shove_act()) when someone is pushed onto it, or do a sanity CanPass() check.
// If you add new ones, be sure to add them to /obj/Initialize as well for complete mapping support
// Flags for the item_flags var on /obj/item
#define BEING_REMOVED (1<<0)
#define IN_INVENTORY (1<<1) //is this item equipped into an inventory slot or hand of a mob? used for tooltips
#define FORCE_STRING_OVERRIDE (1<<2) // used for tooltips
#define NEEDS_PERMIT (1<<3) //Used by security bots to determine if this item is safe for public use.
#define IN_INVENTORY (1<<1) //is this item equipped into an inventory slot or hand of a mob? used for tooltips
#define FORCE_STRING_OVERRIDE (1<<2) //used for tooltips
#define NEEDS_PERMIT (1<<3) //Used by security bots to determine if this item is safe for public use.
#define SLOWS_WHILE_IN_HAND (1<<4)
#define NO_MAT_REDEMPTION (1<<5) // Stops you from putting things like an RCD or other items into an ORM or protolathe for materials.
#define DROPDEL (1<<6) // When dropped, it calls qdel on itself
#define NOBLUDGEON (1<<7) // when an item has this it produces no "X has been hit by Y with Z" message in the default attackby()
#define ABSTRACT (1<<8) // for all things that are technically items but used for various different stuff
#define IMMUTABLE_SLOW (1<<9) //When players should not be able to change the slowdown of the item (Speed potions, ect)
#define NO_MAT_REDEMPTION (1<<5) //Stops you from putting things like an RCD or other items into an ORM or protolathe for materials.
#define DROPDEL (1<<6) //When dropped, it calls qdel on itself
#define NOBLUDGEON (1<<7) //when an item has this it produces no "X has been hit by Y with Z" message in the default attackby()
#define ABSTRACT (1<<8) //for all things that are technically items but used for various different stuff
#define IMMUTABLE_SLOW (1<<9) //When players should not be able to change the slowdown of the item (Speed potions, ect)
#define SURGICAL_TOOL (1<<10) //Tool commonly used for surgery: won't attack targets in an active surgical operation on help intent (in case of mistakes)
#define NO_UNIFORM_REQUIRED (1<<11) // Can be worn on certain slots (currently belt and id) that would otherwise require an uniform.
#define NO_UNIFORM_REQUIRED (1<<11) //Can be worn on certain slots (currently belt and id) that would otherwise require an uniform.
// Flags for the clothing_flags var on /obj/item/clothing
#define LAVAPROTECT (1<<0)
#define LAVAPROTECT (1<<0)
#define STOPSPRESSUREDAMAGE (1<<1) //SUIT and HEAD items which stop pressure damage. To stop you taking all pressure damage you must have both a suit and head item with this flag.
#define BLOCK_GAS_SMOKE_EFFECT (1<<2) // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY!
#define ALLOWINTERNALS (1<<3) // mask allows internals
#define NOSLIP (1<<4) //prevents from slipping on wet floors, in space etc
#define THICKMATERIAL (1<<5) //prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body.
#define VOICEBOX_TOGGLABLE (1<<6) // The voicebox in this clothing can be toggled.
#define VOICEBOX_DISABLED (1<<7) // The voicebox is currently turned off.
#define BLOCK_GAS_SMOKE_EFFECT (1<<2) //blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY!
#define ALLOWINTERNALS (1<<3) //mask allows internals
#define NOSLIP (1<<4) //prevents from slipping on wet floors, in space etc
#define THICKMATERIAL (1<<5) //prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body.
#define VOICEBOX_TOGGLABLE (1<<6) //The voicebox in this clothing can be toggled.
#define VOICEBOX_DISABLED (1<<7) //The voicebox is currently turned off.
#define SNUG_FIT (1<<8) //Prevents knock-off from things like hat-throwing.
#define ANTI_TINFOIL_MANEUVER (1<<9) //Hats with negative effects when worn (i.e the tinfoil hat).
// Flags for the organ_flags var on /obj/item/organ
@@ -47,4 +49,4 @@
#define ORGAN_FAILING (1<<2) //Failing organs perform damaging effects until replaced or fixed
#define ORGAN_EXTERNAL (1<<3) //Was this organ implanted/inserted/etc, if true will not be removed during species change.
#define ORGAN_VITAL (1<<4) //Currently only the brain
#define ORGAN_NO_SPOIL (1<<5) //Do not spoil under any circumstances
#define ORGAN_NO_SPOIL (1<<5) //Do not spoil under any circumstances
+11 -38
View File
@@ -27,45 +27,18 @@
#define NOBLIUM_RESEARCH_AMOUNT 1000
#define BZ_RESEARCH_SCALE 4
#define BZ_RESEARCH_MAX_AMOUNT 400
#define MIASMA_RESEARCH_AMOUNT 160
#define MIASMA_RESEARCH_AMOUNT 6
#define STIMULUM_RESEARCH_AMOUNT 50
//Plasma fusion properties
#define FUSION_ENERGY_THRESHOLD 3e9 //Amount of energy it takes to start a fusion reaction
#define FUSION_TEMPERATURE_THRESHOLD 1000 //Temperature required to start a fusion reaction
#define FUSION_MOLE_THRESHOLD 250 //Mole count required (tritium/plasma) to start a fusion reaction
#define FUSION_RELEASE_ENERGY_SUPER 3e9 //Amount of energy released in the fusion process, super tier
#define FUSION_RELEASE_ENERGY_HIGH 1e9 //Amount of energy released in the fusion process, high tier
#define FUSION_RELEASE_ENERGY_MID 5e8 //Amount of energy released in the fusion process, mid tier
#define FUSION_RELEASE_ENERGY_LOW 1e8 //Amount of energy released in the fusion process, low tier
#define FUSION_MEDIATION_FACTOR 80 //Arbitrary
#define FUSION_SUPER_TIER_THRESHOLD 50 //anything above this is super tier
#define FUSION_HIGH_TIER_THRESHOLD 20 //anything above this and below 50 is high tier
#define FUSION_MID_TIER_THRESHOLD 5 //anything above this and below 20 is mid tier - below this is low tier, but that doesnt need a define
#define FUSION_ENERGY_DIVISOR_SUPER 25 //power_ratio is divided by this during energy calculations
#define FUSION_ENERGY_DIVISOR_HIGH 20
#define FUSION_ENERGY_DIVISOR_MID 10
#define FUSION_ENERGY_DIVISOR_LOW 2
#define FUSION_GAS_CREATION_FACTOR_TRITIUM 0.40 //trit - one gas rather than two, so think about that when calculating stuff - 40% in total
#define FUSION_GAS_CREATION_FACTOR_STIM 0.05 //stim percentage creation from high tier - 5%, 60% in total with pluox
#define FUSION_GAS_CREATION_FACTOR_PLUOX 0.55 //pluox percentage creation from high tier - 55%, 60% in total with stim
#define FUSION_GAS_CREATION_FACTOR_NITRYL 0.20 //nitryl and N2O - 80% in total
#define FUSION_GAS_CREATION_FACTOR_N2O 0.60 //nitryl and N2O - 80% in total
#define FUSION_GAS_CREATION_FACTOR_BZ 0.05 //BZ - 5% - 90% in total with CO2
#define FUSION_GAS_CREATION_FACTOR_CO2 0.85 //CO2 - 85% - 90% in total with BZ
#define FUSION_MID_TIER_RAD_PROB_FACTOR 2 //probability of radpulse is power ratio * this for whatever tier
#define FUSION_LOW_TIER_RAD_PROB_FACTOR 5
#define FUSION_EFFICIENCY_BASE 60 //used in the fusion efficiency calculations
#define FUSION_EFFICIENCY_DIVISOR 0.6 //ditto
#define FUSION_RADIATION_FACTOR 15000 //horizontal asymptote
#define FUSION_RADIATION_CONSTANT 30 //equation is form of (ax) / (x + b), where a = radiation factor and b = radiation constant and x = power ratio (https://www.desmos.com/calculator/4i1f296phl)
#define FUSION_ZAP_POWER_ASYMPTOTE 50000 //maximum value - not enough to instacrit but it'll still hurt like shit
#define FUSION_ZAP_POWER_CONSTANT 75 //equation is of from [ax / (x + b)] + c, where a = zap power asymptote, b = zap power constant, c = zap power base and x = power ratio
#define FUSION_ZAP_POWER_BASE 1000 //(https://www.desmos.com/calculator/vvbmhf4unm)
#define FUSION_ZAP_RANGE_SUPER 9 //range of the tesla zaps that occur from fusion
#define FUSION_ZAP_RANGE_HIGH 7
#define FUSION_ZAP_RANGE_MID 5
#define FUSION_ZAP_RANGE_LOW 3
#define FUSION_PARTICLE_FACTOR_SUPER 4 //# of particles fired out is equal to rand(3,6) * this for whatever tier
#define FUSION_PARTICLE_FACTOR_HIGH 3
#define FUSION_PARTICLE_FACTOR_MID 2
#define FUSION_PARTICLE_FACTOR_LOW 1
#define FUSION_TRITIUM_CONVERSION_COEFFICIENT (1e-10)
#define INSTABILITY_GAS_POWER_FACTOR 0.003
#define FUSION_TRITIUM_MOLES_USED 1
#define PLASMA_BINDING_ENERGY 20000000
#define TOROID_VOLUME_BREAKEVEN 1000
#define FUSION_TEMPERATURE_THRESHOLD 10000
#define PARTICLE_CHANCE_CONSTANT (-20000000)
#define FUSION_RAD_MAX 2000
#define FUSION_RAD_COEFFICIENT (-1000)
#define FUSION_INSTABILITY_ENDOTHERMALITY 2
+2
View File
@@ -23,6 +23,8 @@
#define MODE_WHISPER "whisper"
#define MODE_WHISPER_CRIT "whispercrit"
#define MODE_CUSTOM_SAY "custom_say"
#define MODE_DEPARTMENT "department"
#define MODE_KEY_DEPARTMENT "h"
#define MODE_TOKEN_DEPARTMENT ":h"
+6 -6
View File
@@ -3,12 +3,12 @@
#define CHANNEL_ADMIN 1023
#define CHANNEL_VOX 1022
#define CHANNEL_JUKEBOX 1021
#define CHANNEL_JUKEBOX_START 1020
#define CHANNEL_JUSTICAR_ARK 1019
#define CHANNEL_HEARTBEAT 1018 //sound channel for heartbeats
#define CHANNEL_AMBIENCE 1017
#define CHANNEL_BUZZ 1016
#define CHANNEL_BICYCLE 1015
#define CHANNEL_JUKEBOX_START 1016 //The gap between this and CHANNEL_JUKEBOX determines the amount of free jukebox channels. This currently allows 6 jukebox channels to exist.
#define CHANNEL_JUSTICAR_ARK 1015
#define CHANNEL_HEARTBEAT 1014 //sound channel for heartbeats
#define CHANNEL_AMBIENCE 1013
#define CHANNEL_BUZZ 1012
#define CHANNEL_BICYCLE 1011
//CIT CHANNELS - TRY NOT TO REGRESS
#define CHANNEL_PRED 1010
+3
View File
@@ -74,6 +74,9 @@
#define STATUS_EFFECT_ICHORIAL_STAIN /datum/status_effect/ichorial_stain //Prevents a servant from being revived by vitality matrices for one minute.
#define STATUS_EFFECT_BREASTS_ENLARGEMENT /datum/status_effect/chem/breast_enlarger //Applied slowdown due to the ominous bulk.
#define STATUS_EFFECT_PENIS_ENLARGEMENT /datum/status_effect/chem/penis_enlarger //More applied slowdown, just like the above.
/////////////
// NEUTRAL //
/////////////
+1 -1
View File
@@ -99,7 +99,6 @@
#define FIRE_PRIORITY_GARBAGE 15
#define FIRE_PRIORITY_WET_FLOORS 20
#define FIRE_PRIORITY_AIR 20
#define FIRE_PRIORITY_NPC 20
#define FIRE_PRIORITY_PROCESS 25
#define FIRE_PRIORITY_THROWING 25
#define FIRE_PRIORITY_SPACEDRIFT 30
@@ -112,6 +111,7 @@
#define FIRE_PRIORITY_AIR_TURFS 40
#define FIRE_PRIORITY_DEFAULT 50
#define FIRE_PRIORITY_PARALLAX 65
#define FIRE_PRIORITY_NPC 80
#define FIRE_PRIORITY_FLIGHTPACKS 80
#define FIRE_PRIORITY_MOBS 100
#define FIRE_PRIORITY_TGUI 110
+6 -7
View File
@@ -70,8 +70,6 @@
#define TRAIT_MONKEYLIKE "monkeylike" //sets IsAdvancedToolUser to FALSE
#define TRAIT_PACIFISM "pacifism"
#define TRAIT_IGNORESLOWDOWN "ignoreslow"
#define TRAIT_GOTTAGOFAST "fast"
#define TRAIT_GOTTAGOREALLYFAST "2fast"
#define TRAIT_DEATHCOMA "deathcoma" //Causes death-like unconsciousness
#define TRAIT_FAKEDEATH "fakedeath" //Makes the owner appear as dead to most forms of medical examination
#define TRAIT_DISFIGURED "disfigured"
@@ -147,13 +145,14 @@
#define TRAIT_SKITTISH "skittish"
#define TRAIT_POOR_AIM "poor_aim"
#define TRAIT_PROSOPAGNOSIA "prosopagnosia"
#define TRAIT_DRUNK_HEALING "drunk_healing"
#define TRAIT_TAGGER "tagger"
#define TRAIT_PHOTOGRAPHER "photographer"
#define TRAIT_MUSICIAN "musician"
#define TRAIT_CROCRIN_IMMUNE "crocin_immune"
#define TRAIT_DRUNK_HEALING "drunk_healing"
#define TRAIT_TAGGER "tagger"
#define TRAIT_PHOTOGRAPHER "photographer"
#define TRAIT_MUSICIAN "musician"
#define TRAIT_CROCRIN_IMMUNE "crocin_immune"
#define TRAIT_NYMPHO "nymphomania"
#define TRAIT_MASO "masochism"
#define TRAIT_EXHIBITIONIST "exhibitionist"
#define TRAIT_HIGH_BLOOD "high_blood"
#define TRAIT_PHARMA "hepatic_pharmacokinesis"
#define TRAIT_PARA "paraplegic"
+26 -25
View File
@@ -56,6 +56,7 @@ GLOBAL_LIST_EMPTY(ipc_screens_list)
GLOBAL_LIST_EMPTY(ipc_antennas_list)
//Genitals and Arousal Lists
GLOBAL_LIST_EMPTY(genitals_list)
GLOBAL_LIST_EMPTY(cock_shapes_list)//global_lists.dm for the list initializations //Now also _DATASTRUCTURES globals.dm
GLOBAL_LIST_EMPTY(cock_shapes_icons) //Associated list for names->icon_states for cockshapes.
GLOBAL_LIST_EMPTY(gentlemans_organ_names)
@@ -131,53 +132,53 @@ GLOBAL_VAR_INIT(miscreants_allowed, FALSE)
SSblackbox.record_feedback("tally", "admin_verb", 1, "TLOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/mob/living/carbon/proc/has_penis()
if(getorganslot("penis"))//slot shared with ovipositor
if(istype(getorganslot("penis"), /obj/item/organ/genital/penis))
return TRUE
var/obj/item/organ/genital/G = getorganslot(ORGAN_SLOT_PENIS)
if(G && istype(G, /obj/item/organ/genital/penis))
return TRUE
return FALSE
/mob/living/carbon/proc/has_balls()
if(getorganslot("balls"))
if(istype(getorganslot("balls"), /obj/item/organ/genital/testicles))
return TRUE
var/obj/item/organ/genital/G = getorganslot(ORGAN_SLOT_TESTICLES)
if(G && istype(G, /obj/item/organ/genital/testicles))
return TRUE
return FALSE
/mob/living/carbon/proc/has_vagina()
if(getorganslot("vagina"))
if(getorganslot(ORGAN_SLOT_VAGINA))
return TRUE
return FALSE
/mob/living/carbon/proc/has_breasts()
if(getorganslot("breasts"))
if(getorganslot(ORGAN_SLOT_BREASTS))
return TRUE
return FALSE
/mob/living/carbon/proc/has_ovipositor()
if(getorganslot("penis"))//shared slot
if(istype(getorganslot("penis"), /obj/item/organ/genital/ovipositor))
return TRUE
var/obj/item/organ/genital/G = getorganslot(ORGAN_SLOT_PENIS)
if(G && istype(G, /obj/item/organ/genital/ovipositor))
return TRUE
return FALSE
/mob/living/carbon/human/proc/has_eggsack()
if(getorganslot("balls"))
if(istype(getorganslot("balls"), /obj/item/organ/genital/eggsack))
return TRUE
var/obj/item/organ/genital/G = getorganslot(ORGAN_SLOT_TESTICLES)
if(G && istype(G, /obj/item/organ/genital/eggsack))
return TRUE
return FALSE
/mob/living/carbon/human/proc/is_bodypart_exposed(bodypart)
/mob/living/carbon/proc/is_groin_exposed(var/list/L)
/mob/living/carbon/proc/is_groin_exposed(list/L)
if(!L)
L = get_equipped_items()
for(var/obj/item/I in L)
for(var/A in L)
var/obj/item/I = A
if(I.body_parts_covered & GROIN)
return FALSE
return TRUE
/mob/living/carbon/proc/is_chest_exposed(var/list/L)
/mob/living/carbon/proc/is_chest_exposed(list/L)
if(!L)
L = get_equipped_items()
for(var/obj/item/I in L)
for(var/A in L)
var/obj/item/I = A
if(I.body_parts_covered & CHEST)
return FALSE
return TRUE
@@ -195,9 +196,9 @@ GLOBAL_VAR_INIT(miscreants_allowed, FALSE)
message_admins("[src] gave everyone genitals.")
for(var/mob/living/carbon/human/H in GLOB.mob_list)
if(H.gender == MALE)
H.give_penis()
H.give_balls()
H.give_genital(/obj/item/organ/genital/penis)
H.give_genital(/obj/item/organ/genital/testicles)
else
H.give_vagina()
H.give_womb()
H.give_breasts()
H.give_genital(/obj/item/organ/genital/vagina)
H.give_genital(/obj/item/organ/genital/womb)
H.give_genital(/obj/item/organ/genital/breasts)
+8 -2
View File
@@ -379,6 +379,12 @@
i++
return i
/proc/count_occurences_of_value(list/L, val, limit) //special thanks to salmonsnake
. = 0
for (var/i in 1 to limit)
if (L[i] == val)
.++
/proc/find_record(field, value, list/L)
for(var/datum/data/record/R in L)
if(R.fields[field] == value)
@@ -514,7 +520,7 @@
used_key_list[input_key] = 1
return input_key
#if DM_VERSION > 512
#if DM_VERSION > 513
#error Remie said that lummox was adding a way to get a lists
#error contents via list.values, if that is true remove this
#error otherwise, update the version and bug lummox
@@ -564,4 +570,4 @@
if(key in L1)
L1[key] += other_value
else
L1[key] = other_value
L1[key] = other_value
+4
View File
@@ -72,6 +72,10 @@
var/datum/sprite_accessory/testicles/value = GLOB.balls_shapes_list[K]
GLOB.balls_shapes_icons[K] = value.icon_state
for(var/gpath in subtypesof(/obj/item/organ/genital))
var/obj/item/organ/genital/G = gpath
if(!CHECK_BITFIELD(initial(G.genital_flags), GENITAL_BLACKLISTED))
GLOB.genitals_list[initial(G.name)] = gpath
//END OF CIT CHANGES
//Species
-1
View File
@@ -160,7 +160,6 @@
"xenodorsal" = "Standard",
"xenohead" = "Standard",
"xenotail" = "Xenomorph Tail",
"exhibitionist" = FALSE,
"genitals_use_skintone" = FALSE,
"has_cock" = FALSE,
"cock_shape" = pick(GLOB.cock_shapes_list),
+94 -3
View File
@@ -1,4 +1,4 @@
/proc/priority_announce(text, title = "", sound = 'sound/ai/attention.ogg', type , sender_override)
/proc/priority_announce(text, title = "", sound = "attention", type , sender_override)
if(!text)
return
@@ -29,19 +29,110 @@
announcement += "<br><span class='alert'>[html_encode(text)]</span><br>"
announcement += "<br>"
var/s = sound(sound)
var/s = sound(get_announcer_sound(sound))
for(var/mob/M in GLOB.player_list)
if(!isnewplayer(M) && M.can_hear())
to_chat(M, announcement)
if(M.client.prefs.toggles & SOUND_ANNOUNCEMENTS)
SEND_SOUND(M, s)
/proc/get_announcer_sound(soundid)
if(isfile(soundid))
return soundid
else if(!istext(soundid))
CRASH("Invalid type passed to get_announcer_sound()")
switch(GLOB.announcertype) //These are all individually hardcoded to allow the announcer sounds to be included in the rsc, reducing lag from sending resources midgame.
if("classic")
switch(soundid)
if("aimalf")
. = 'sound/announcer/classic/aimalf.ogg'
if("aliens")
. = 'sound/announcer/classic/aliens.ogg'
if("animes")
. = 'sound/announcer/classic/animes.ogg'
if("attention")
. = 'sound/announcer/classic/attention.ogg'
if("commandreport")
. = 'sound/announcer/classic/commandreport.ogg'
if("granomalies")
. = 'sound/announcer/classic/granomalies.ogg'
if("intercept")
. = 'sound/announcer/classic/intercept.ogg'
if("ionstorm")
. = 'sound/announcer/classic/ionstorm.ogg'
if("meteors")
. = 'sound/announcer/classic/meteors.ogg'
if("newAI")
. = 'sound/announcer/classic/newAI.ogg'
if("outbreak5")
. = 'sound/announcer/classic/outbreak5.ogg'
if("outbreak7")
. = 'sound/announcer/classic/outbreak7.ogg'
if("poweroff")
. = 'sound/announcer/classic/poweroff.ogg'
if("poweron")
. = 'sound/announcer/classic/poweron.ogg'
if("radiation")
. = 'sound/announcer/classic/radiation.ogg'
if("shuttlecalled")
. = 'sound/announcer/classic/shuttlecalled.ogg'
if("shuttledock")
. = 'sound/announcer/classic/shuttledock.ogg'
if("shuttlerecalled")
. = 'sound/announcer/classic/shuttlerecalled.ogg'
if("spanomalies")
. = 'sound/announcer/classic/spanomalies.ogg'
if("welcome")
. = 'sound/announcer/classic/welcome.ogg'
if("medibot")
switch(soundid)
if("aimalf")
. = 'sound/announcer/classic/aimalf.ogg'
if("aliens")
. = 'sound/announcer/medibot/aliens.ogg'
if("animes")
. = 'sound/announcer/medibot/animes.ogg'
if("attention")
. = 'sound/announcer/medibot/attention.ogg'
if("commandreport")
. = 'sound/announcer/medibot/commandreport.ogg'
if("granomalies")
. = 'sound/announcer/medibot/granomalies.ogg'
if("intercept")
. = 'sound/announcer/medibot/intercept.ogg'
if("ionstorm")
. = 'sound/announcer/medibot/ionstorm.ogg'
if("meteors")
. = 'sound/announcer/medibot/meteors.ogg'
if("newAI")
. = 'sound/announcer/medibot/newAI.ogg'
if("outbreak5")
. = 'sound/announcer/medibot/outbreak5.ogg'
if("outbreak7")
. = 'sound/announcer/medibot/outbreak7.ogg'
if("poweroff")
. = 'sound/announcer/medibot/poweroff.ogg'
if("poweron")
. = 'sound/announcer/medibot/poweron.ogg'
if("radiation")
. = 'sound/announcer/medibot/radiation.ogg'
if("shuttlecalled")
. = 'sound/announcer/medibot/shuttlecalled.ogg'
if("shuttledock")
. = 'sound/announcer/medibot/shuttledocked.ogg'
if("shuttlerecalled")
. = 'sound/announcer/medibot/shuttlerecalled.ogg'
if("spanomalies")
. = 'sound/announcer/medibot/spanomalies.ogg'
if("welcome")
. = 'sound/announcer/medibot/welcome.ogg'
/proc/print_command_report(text = "", title = null, announce=TRUE)
if(!title)
title = "Classified [command_name()] Update"
if(announce)
priority_announce("A report has been downloaded and printed out at all communications consoles.", "Incoming Classified Message", 'sound/ai/commandreport.ogg')
priority_announce("A report has been downloaded and printed out at all communications consoles.", "Incoming Classified Message", "commandreport")
var/datum/comm_message/M = new
M.title = title
+4 -5
View File
@@ -451,10 +451,6 @@ Turf and target are separate in case you want to teleport some distance from a t
var/y = min(world.maxy, max(1, A.y + dy))
return locate(x,y,A.z)
/proc/arctan(x)
var/y=arcsin(x/sqrt(1+x*x))
return y
/*
Gets all contents of contents and returns them all in a list.
*/
@@ -756,7 +752,6 @@ Turf and target are separate in case you want to teleport some distance from a t
loc = loc.loc
return null
//For objects that should embed, but make no sense being is_sharp or is_pointed()
//e.g: rods
GLOBAL_LIST_INIT(can_embed_types, typecacheof(list(
@@ -1550,3 +1545,7 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
for(var/i in L)
if(condition.Invoke(i))
. |= i
/proc/CallAsync(datum/source, proctype, list/arguments)
set waitfor = FALSE
return call(source, proctype)(arglist(arguments))
+13 -1
View File
@@ -142,6 +142,8 @@ GLOBAL_LIST_INIT(bitfields, list(
"THICKMATERIAL" = THICKMATERIAL,
"VOICEBOX_TOGGLABLE" = VOICEBOX_TOGGLABLE,
"VOICEBOX_DISABLED" = VOICEBOX_DISABLED,
"SNUG_FIT" = SNUG_FIT,
"ANTI_TINFOIL_MANEUVER" = ANTI_TINFOIL_MANEUVER,
),
"tesla_flags" = list(
"TESLA_MOB_DAMAGE" = TESLA_MOB_DAMAGE,
@@ -200,4 +202,14 @@ GLOBAL_LIST_INIT(bitfields, list(
"ORGAN_VITAL" = ORGAN_VITAL,
"ORGAN_NO_SPOIL" = ORGAN_NO_SPOIL
),
))
"genital_flags" = list(
"GENITAL_BLACKLISTED" = GENITAL_BLACKLISTED,
"GENITAL_INTERNAL" = GENITAL_INTERNAL,
"GENITAL_HIDDEN" = GENITAL_HIDDEN,
"GENITAL_THROUGH_CLOTHES" = GENITAL_THROUGH_CLOTHES,
"GENITAL_FUID_PRODUCTION" = GENITAL_FUID_PRODUCTION,
"CAN_MASTURBATE_WITH" = CAN_MASTURBATE_WITH,
"MASTURBATE_LINKED_ORGAN" = MASTURBATE_LINKED_ORGAN,
"CAN_CLIMAX_WITH" = CAN_CLIMAX_WITH
)
))
+61
View File
@@ -58,3 +58,64 @@ GLOBAL_LIST_EMPTY(latejoiners) //CIT CHANGE - All latejoining people, for traito
for(var/i in GLOB.mob_list)
var/mob/M = i
M.update_config_movespeed()
GLOBAL_LIST_INIT(noodle_taurs, list(
"Naga",
"Tentacle"
))
GLOBAL_LIST_INIT(paw_taurs, list(
"Fox",
"Wolf",
"Otie",
"Drake",
"Lab",
"Shepherd",
"Husky",
"Eevee",
"Panther",
"Horse",
"Cow",
"Tiger"
))
//blood types
GLOBAL_LIST_INIT(regular_bloods,list(
"O-",
"O+",
"A-",
"A+",
"B-",
"B+",
"AB-",
"AB+"
))
GLOBAL_LIST_INIT(all_types_bloods,list(
"O-",
"O+",
"A-",
"A+",
"B-",
"B+",
"AB-",
"AB+",
"SY",
"X*",
"HF",
"L",
"U",
"GEL",
"BUG"
))
GLOBAL_LIST_INIT(blood_types, list(
"blood",
"jellyblood"
))
GLOBAL_LIST_INIT(blood_id_types, list(
"blood" = /datum/reagent/blood,
"jellyblood" = /datum/reagent/blood/jellyblood
))
+7 -1
View File
@@ -2,6 +2,12 @@ GLOBAL_VAR_INIT(admin_notice, "") // Admin notice that all clients see when join
GLOBAL_VAR_INIT(timezoneOffset, 0) // The difference betwen midnight (of the host computer) and 0 world.ticks.
GLOBAL_VAR_INIT(year, time2text(world.realtime,"YYYY"))
GLOBAL_VAR_INIT(year_integer, text2num(year)) // = 2013???
GLOBAL_VAR_INIT(announcertype, "standard")
// For FTP requests. (i.e. downloading runtime logs.)
// However it'd be ok to use for accessing attack logs and such too, which are even laggier.
GLOBAL_VAR_INIT(fileaccess_timer, 0)
@@ -24,4 +30,4 @@ GLOBAL_VAR(bible_name)
GLOBAL_VAR(bible_icon_state)
GLOBAL_VAR(bible_item_state)
GLOBAL_VAR(holy_weapon_type)
GLOBAL_VAR(holy_armor_type)
GLOBAL_VAR(holy_armor_type)
+5 -1
View File
@@ -200,7 +200,7 @@
if (!target.loc)
continue
if(!(SEND_SIGNAL(target.loc, COMSIG_ATOM_CANREACH, next) & COMPONENT_BLOCK_REACH))
if(!(SEND_SIGNAL(target.loc, COMSIG_ATOM_CANREACH, next) & COMPONENT_BLOCK_REACH) && target.loc.canReachInto(src, ultimate_target, next, view_only, tool))
next += target.loc
checking = next
@@ -215,6 +215,10 @@
/mob/living/DirectAccess(atom/target)
return ..() + GetAllContents()
//This is called reach into but it's called on the deepest things first so uh, make sure to account for that!
/atom/proc/canReachInto(atom/user, atom/target, list/next, view_only, obj/item/tool)
return TRUE
/atom/proc/AllowClick()
return FALSE
+4 -4
View File
@@ -49,9 +49,9 @@
#define ui_storage1 "CENTER+1:18,SOUTH:5"
#define ui_storage2 "CENTER+2:20,SOUTH:5"
#define ui_borg_sensor "CENTER-3:16, SOUTH:5" //borgs
#define ui_borg_lamp "CENTER-4:16, SOUTH:5" //borgs
#define ui_borg_thrusters "CENTER-5:16, SOUTH:5" //borgs
#define ui_borg_sensor "CENTER-3:15, SOUTH:5" //borgs
#define ui_borg_lamp "CENTER-4:15, SOUTH:5" //borgs
#define ui_borg_thrusters "CENTER-5:15, SOUTH:5" //borgs
#define ui_inv1 "CENTER-2:16,SOUTH:5" //borgs
#define ui_inv2 "CENTER-1 :16,SOUTH:5" //borgs
#define ui_inv3 "CENTER :16,SOUTH:5" //borgs
@@ -59,7 +59,7 @@
#define ui_borg_store "CENTER+2:16,SOUTH:5" //borgs
#define ui_borg_camera "CENTER+3:21,SOUTH:5" //borgs
#define ui_borg_album "CENTER+4:21,SOUTH:5" //borgs
#define ui_borg_language_menu "CENTER+4:21,SOUTH+1:5" //borgs
#define ui_borg_language_menu "EAST-1:27,SOUTH+2:8" //borgs
#define ui_monkey_head "CENTER-5:13,SOUTH:5" //monkey
#define ui_monkey_mask "CENTER-4:14,SOUTH:5" //monkey
+22 -2
View File
@@ -88,6 +88,26 @@
var/mob/living/silicon/robot/R = usr
R.toggle_ionpulse()
/obj/screen/robot/sensors
name = "Sensor Augmentation"
icon_state = "cyborg_sensor"
/obj/screen/robot/sensors/Click()
if(..())
return
var/mob/living/silicon/S = usr
S.toggle_sensors()
/obj/screen/robot/language_menu
name = "silicon language selection"
icon_state = "talk_wheel"
/obj/screen/robot/language_menu/Click()
if(..())
return
var/mob/living/silicon/S = usr
S.open_language_menu(usr)
/datum/hud/robot
ui_style = 'icons/mob/screen_cyborg.dmi'
@@ -96,7 +116,7 @@
var/mob/living/silicon/robot/mymobR = mymob
var/obj/screen/using
using = new/obj/screen/language_menu
using = new/obj/screen/robot/language_menu
using.screen_loc = ui_borg_language_menu
static_inventory += using
@@ -133,7 +153,7 @@
static_inventory += using
//Sec/Med HUDs
using = new /obj/screen/ai/sensors()
using = new /obj/screen/robot/sensors()
using.screen_loc = ui_borg_sensor
static_inventory += using
+2 -2
View File
@@ -40,7 +40,7 @@
return TRUE
user.changeNext_move(CLICK_CD_MELEE)
if(user.a_intent == INTENT_HARM && stat == DEAD && (butcher_results || guaranteed_butcher_results)) //can we butcher it?
GET_COMPONENT_FROM(butchering, /datum/component/butchering, I)
var/datum/component/butchering/butchering = I.GetComponent(/datum/component/butchering)
if(butchering && butchering.butchering_enabled)
to_chat(user, "<span class='notice'>You begin to butcher [src]...</span>")
playsound(loc, butchering.butcher_sound, 50, TRUE, -1)
@@ -82,7 +82,7 @@
log_combat(user, M, "attacked", src.name, "(INTENT: [uppertext(user.a_intent)]) (DAMTYPE: [uppertext(damtype)])")
add_fingerprint(user)
user.adjustStaminaLossBuffered(getweight())//CIT CHANGE - makes attacking things cause stamina loss
user.adjustStaminaLossBuffered(getweight()*0.8)//CIT CHANGE - makes attacking things cause stamina loss
//the equivalent of the standard version of attack() but for object targets.
/obj/item/proc/attack_obj(obj/O, mob/living/user)
@@ -1,6 +1,7 @@
#define VALUE_MODE_NUM 0
#define VALUE_MODE_TEXT 1
#define VALUE_MODE_FLAG 2
#define VALUE_MODE_NUM_LIST 3
#define KEY_MODE_TEXT 0
#define KEY_MODE_TYPE 1
@@ -191,6 +192,18 @@
if(VALUE_MODE_TEXT)
new_value = key_value
continue_check_value = new_value
if(VALUE_MODE_NUM_LIST)
// this is all copy+pasted from number list up there, but it's super basic so I don't see it being changed soon
var/list/new_list = list()
var/list/values = splittext(key_value," ")
for(var/I in values)
var/temp = text2num(I)
if(isnull(temp))
log_admin("invalid number list entry in [key_name]: [I]")
continue_check_value = FALSE
new_list += temp
new_value = new_list
continue_check_value = new_list.len
if(continue_check_value && continue_check_key && ValidateListEntry(new_key, new_value))
config_entry_value[new_key] = new_value
return TRUE
@@ -66,6 +66,10 @@
/datum/config_entry/flag/disable_human_mood
/datum/config_entry/flag/disable_borg_flash_knockdown //Should borg flashes be capable of knocking humanoid entities down?
/datum/config_entry/flag/weaken_secborg //Brings secborgs and k9s back in-line with the other borg modules
/datum/config_entry/flag/disable_secborg // disallow secborg module to be chosen.
/datum/config_entry/flag/disable_peaceborg
@@ -367,3 +371,27 @@
/datum/config_entry/number/auto_transfer_delay
config_entry_value = 72000
min_val = 0
/datum/config_entry/number/dynamic_high_pop_limit
config_entry_value = 55
min_val = 1
/datum/config_entry/number/dynamic_pop_per_requirement
config_entry_value = 6
min_val = 1
/datum/config_entry/keyed_list/dynamic_cost
key_mode = KEY_MODE_TEXT
value_mode = VALUE_MODE_NUM
/datum/config_entry/keyed_list/dynamic_weight
key_mode = KEY_MODE_TEXT
value_mode = VALUE_MODE_NUM
/datum/config_entry/keyed_list/dynamic_requirements
key_mode = KEY_MODE_TEXT
value_mode = VALUE_MODE_NUM_LIST
/datum/config_entry/keyed_list/dynamic_high_population_requirement
key_mode = KEY_MODE_TEXT
value_mode = VALUE_MODE_NUM
+28 -8
View File
@@ -3,6 +3,7 @@ SUBSYSTEM_DEF(jukeboxes)
wait = 5
var/list/songs = list()
var/list/activejukeboxes = list()
var/list/freejukeboxchannels = list()
/datum/track
var/song_name = "generic"
@@ -21,23 +22,39 @@ SUBSYSTEM_DEF(jukeboxes)
/datum/controller/subsystem/jukeboxes/proc/addjukebox(obj/jukebox, datum/track/T, jukefalloff = 1)
if(!istype(T))
CRASH("[src] tried to play a song with a nonexistant track")
var/channeltoreserve = CHANNEL_JUKEBOX_START + activejukeboxes.len - 1
if(channeltoreserve > CHANNEL_JUKEBOX)
var/channeltoreserve = pick(freejukeboxchannels)
if(!channeltoreserve)
return FALSE
freejukeboxchannels -= channeltoreserve
var/list/youvegotafreejukebox = list(T, channeltoreserve, jukebox, jukefalloff)
activejukeboxes.len++
activejukeboxes[activejukeboxes.len] = list(T, channeltoreserve, jukebox, jukefalloff)
activejukeboxes[activejukeboxes.len] = youvegotafreejukebox
//Due to changes in later versions of 512, SOUND_UPDATE no longer properly plays audio when a file is defined in the sound datum. As such, we are now required to init the audio before we can actually do anything with it.
//Downsides to this? This means that you can *only* hear the jukebox audio if you were present on the server when it started playing, and it means that it's now impossible to add loops to the jukebox track list.
var/sound/song_to_init = sound(T.song_path)
song_to_init.status = SOUND_MUTE
for(var/mob/M in GLOB.player_list)
if(!M.client)
continue
if(!(M.client.prefs.toggles & SOUND_INSTRUMENTS))
continue
M.playsound_local(M, null, 100, channel = youvegotafreejukebox[2], S = song_to_init)
return activejukeboxes.len
/datum/controller/subsystem/jukeboxes/proc/removejukebox(IDtoremove)
if(islist(activejukeboxes[IDtoremove]))
var/jukechannel = activejukeboxes[IDtoremove][2]
for(var/mob/M in GLOB.player_list)
if(!M.client)
continue
M.stop_sound_channel(activejukeboxes[IDtoremove][2])
M.stop_sound_channel(jukechannel)
freejukeboxchannels |= jukechannel
activejukeboxes.Cut(IDtoremove, IDtoremove+1)
return TRUE
else
to_chat(world, "<span class='warning'>If you see this, screenshot it and send it to a dev. Tried to remove jukebox with invalid ID</span>")
CRASH("Tried to remove jukebox with invalid ID")
/datum/controller/subsystem/jukeboxes/proc/findjukeboxindex(obj/jukebox)
if(activejukeboxes.len)
@@ -57,6 +74,8 @@ SUBSYSTEM_DEF(jukeboxes)
T.song_beat = text2num(L[3])
T.song_associated_id = L[4]
songs |= T
for(var/i in CHANNEL_JUKEBOX_START to CHANNEL_JUKEBOX)
freejukeboxchannels |= i
return ..()
/datum/controller/subsystem/jukeboxes/fire()
@@ -64,14 +83,15 @@ SUBSYSTEM_DEF(jukeboxes)
return
for(var/list/jukeinfo in activejukeboxes)
if(!jukeinfo.len)
to_chat(world, "<span class='warning'>If you see this, screenshot it and send it to a dev. Active jukebox without any associated metadata</span>")
EXCEPTION("Active jukebox without any associated metadata.")
continue
var/datum/track/juketrack = jukeinfo[1]
if(!istype(juketrack))
to_chat(world, "<span class='warning'>If you see this, screenshot it and send it to a dev. After jukebox track grabbing</span>")
EXCEPTION("Invalid jukebox track datum.")
continue
var/obj/jukebox = jukeinfo[3]
if(!istype(jukebox))
to_chat(world, "<span class='warning'>If you see this, screenshot it and send it to a dev. Nonexistant or invalid jukebox in active jukebox list")
EXCEPTION("Nonexistant or invalid object associated with jukebox.")
continue
var/sound/song_played = sound(juketrack.song_path)
var/area/currentarea = get_area(jukebox)
+9
View File
@@ -33,6 +33,7 @@ SUBSYSTEM_DEF(mapping)
var/list/z_list
var/datum/space_level/transit
var/datum/space_level/empty_space
var/num_of_res_levels = 1
//dlete dis once #39770 is resolved
/datum/controller/subsystem/mapping/proc/HACK_LoadMapConfig()
@@ -53,6 +54,8 @@ SUBSYSTEM_DEF(mapping)
if(!config || config.defaulted)
to_chat(world, "<span class='boldannounce'>Unable to load next or default map config, defaulting to Box Station</span>")
config = old_config
GLOB.year_integer += config.year_offset
GLOB.announcertype = (config.announcertype == "standard" ? (prob(1) ? "medibot" : "classic") : config.announcertype)
loadWorld()
repopulate_sorted_areas()
process_teleport_locs() //Sets up the wizard teleport locations
@@ -449,6 +452,11 @@ GLOBAL_LIST_EMPTY(the_station_areas)
for(var/i in levels_by_trait(ZTRAIT_RESERVED))
if(reserve.Reserve(width, height, i))
return reserve
//If we didn't return at this point, theres a good chance we ran out of room on the exisiting reserved z levels, so lets try a new one
num_of_res_levels += 1
var/newReserved = add_new_zlevel("Transit/Reserved [num_of_res_levels]", list(ZTRAIT_RESERVED = TRUE))
if(reserve.Reserve(width, height, newReserved))
return reserve
else
if(!level_trait(z, ZTRAIT_RESERVED))
qdel(reserve)
@@ -481,6 +489,7 @@ GLOBAL_LIST_EMPTY(the_station_areas)
LAZYINITLIST(unused_turfs["[T.z]"])
unused_turfs["[T.z]"] |= T
T.flags_1 |= UNUSED_RESERVATION_TURF_1
GLOB.areas_by_type[world.area].contents += T
CHECK_TICK
//DO NOT CALL THIS PROC DIRECTLY, CALL wipe_reservations().
+1 -1
View File
@@ -1,6 +1,6 @@
SUBSYSTEM_DEF(npcpool)
name = "NPC Pool"
flags = SS_POST_FIRE_TIMING|SS_NO_INIT|SS_BACKGROUND
flags = SS_KEEP_TIMING | SS_NO_INIT
priority = FIRE_PRIORITY_NPC
runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME
+22
View File
@@ -1,4 +1,5 @@
#define FILE_ANTAG_REP "data/AntagReputation.json"
#define MAX_RECENT_MAP_RECORD 10
SUBSYSTEM_DEF(persistence)
name = "Persistence"
@@ -11,6 +12,7 @@ SUBSYSTEM_DEF(persistence)
var/list/obj/structure/chisel_message/chisel_messages = list()
var/list/saved_messages = list()
var/list/saved_modes = list(1,2,3)
var/list/saved_maps
var/list/saved_trophies = list()
var/list/spawned_objects = list()
var/list/antag_rep = list()
@@ -25,6 +27,7 @@ SUBSYSTEM_DEF(persistence)
LoadChiselMessages()
LoadTrophies()
LoadRecentModes()
LoadRecentMaps()
LoadPhotoPersistence()
if(CONFIG_GET(flag/use_antag_rep))
LoadAntagReputation()
@@ -163,6 +166,15 @@ SUBSYSTEM_DEF(persistence)
return
saved_modes = json["data"]
/datum/controller/subsystem/persistence/proc/LoadRecentMaps()
var/json_file = file("data/RecentMaps.json")
if(!fexists(json_file))
return
var/list/json = json_decode(file2text(json_file))
if(!json)
return
saved_maps = json["maps"]
/datum/controller/subsystem/persistence/proc/LoadAntagReputation()
var/json = file2text(FILE_ANTAG_REP)
if(!json)
@@ -204,6 +216,7 @@ SUBSYSTEM_DEF(persistence)
CollectSecretSatchels()
CollectTrophies()
CollectRoundtype()
RecordMaps()
SavePhotoPersistence() //THIS IS PERSISTENCE, NOT THE LOGGING PORTION.
if(CONFIG_GET(flag/use_antag_rep))
CollectAntagReputation()
@@ -359,6 +372,15 @@ SUBSYSTEM_DEF(persistence)
fdel(json_file)
WRITE_FILE(json_file, json_encode(file_data))
/datum/controller/subsystem/persistence/proc/RecordMaps()
saved_maps = saved_maps?.len ? list("[SSmapping.config.map_name]") | saved_maps : list("[SSmapping.config.map_name]")
var/json_file = file("data/RecentMaps.json")
var/list/file_data = list()
file_data["maps"] = saved_maps
fdel(json_file)
WRITE_FILE(json_file, json_encode(file_data))
/datum/controller/subsystem/persistence/proc/CollectAntagReputation()
var/ANTAG_REP_MAXIMUM = CONFIG_GET(number/antag_rep_maximum)
+1 -1
View File
@@ -373,7 +373,7 @@ SUBSYSTEM_DEF(shuttle)
emergency.setTimer(emergencyDockTime)
priority_announce("Hostile environment resolved. \
You have 3 minutes to board the Emergency Shuttle.",
null, 'sound/ai/shuttledock.ogg', "Priority")
null, "shuttledock", "Priority")
//try to move/request to dockHome if possible, otherwise dockAway. Mainly used for admin buttons
/datum/controller/subsystem/shuttle/proc/toggleShuttle(shuttleId, dockHome, dockAway, timed)
+1
View File
@@ -43,6 +43,7 @@ SUBSYSTEM_DEF(throwing)
var/atom/movable/thrownthing
var/atom/target
var/turf/target_turf
var/target_zone
var/init_dir
var/maxrange
var/speed
+1 -1
View File
@@ -303,7 +303,7 @@ SUBSYSTEM_DEF(ticker)
SSdbcore.SetRoundStart()
to_chat(world, "<span class='notice'><B>Welcome to [station_name()], enjoy your stay!</B></span>")
SEND_SOUND(world, sound('sound/ai/welcome.ogg'))
SEND_SOUND(world, sound(get_announcer_sound("welcome")))
current_state = GAME_STATE_PLAYING
Master.SetRunLevel(RUNLEVEL_GAME)
+1 -3
View File
@@ -6,11 +6,9 @@ SUBSYSTEM_DEF(vis_overlays)
var/list/vis_overlay_cache
var/list/currentrun
var/datum/callback/rotate_cb
/datum/controller/subsystem/vis_overlays/Initialize()
vis_overlay_cache = list()
rotate_cb = CALLBACK(src, .proc/rotate_vis_overlay)
return ..()
/datum/controller/subsystem/vis_overlays/fire(resumed = FALSE)
@@ -52,7 +50,7 @@ SUBSYSTEM_DEF(vis_overlays)
if(!thing.managed_vis_overlays)
thing.managed_vis_overlays = list(overlay)
RegisterSignal(thing, COMSIG_ATOM_DIR_CHANGE, rotate_cb)
RegisterSignal(thing, COMSIG_ATOM_DIR_CHANGE, .proc/rotate_vis_overlay)
else
thing.managed_vis_overlays += overlay
+13 -3
View File
@@ -208,9 +208,19 @@ SUBSYSTEM_DEF(vote)
if("gamemode")
choices.Add(config.votable_modes)
if("map")
choices.Add(config.maplist)
for(var/i in choices)//this is necessary because otherwise we'll end up with a bunch of /datum/map_config's as the default vote value instead of 0 as intended
choices[i] = 0
var/players = GLOB.clients.len
var/list/lastmaps = SSpersistence.saved_maps?.len ? list("[SSmapping.config.map_name]") | SSpersistence.saved_maps : list("[SSmapping.config.map_name]")
for(var/M in config.maplist) //This is a typeless loop due to the finnicky nature of keyed lists in this kind of context
var/datum/map_config/targetmap = config.maplist[M]
if(!istype(targetmap))
continue
if(!targetmap.voteweight)
continue
if((targetmap.config_min_users && players < targetmap.config_min_users) || (targetmap.config_max_users && players > targetmap.config_max_users))
continue
if(targetmap.max_round_search_span && count_occurences_of_value(lastmaps, M, targetmap.max_round_search_span) >= targetmap.max_rounds_played)
continue
choices |= M
if("roundtype") //CIT CHANGE - adds the roundstart secret/extended vote
choices.Add("secret", "extended")
if("custom")
+28 -22
View File
@@ -2,6 +2,10 @@
var/dupe_mode = COMPONENT_DUPE_HIGHLANDER
var/dupe_type
var/datum/parent
//only set to true if you are able to properly transfer this component
//At a minimum RegisterWithParent and UnregisterFromParent should be used
//Make sure you also implement PostTransfer for any post transfer handling
var/can_transfer = FALSE
/datum/component/New(datum/P, ...)
parent = P
@@ -83,7 +87,7 @@
/datum/component/proc/UnregisterFromParent()
return
/datum/proc/RegisterSignal(datum/target, sig_type_or_types, proc_or_callback, override = FALSE)
/datum/proc/RegisterSignal(datum/target, sig_type_or_types, proctype, override = FALSE)
if(QDELETED(src) || QDELETED(target))
return
@@ -96,15 +100,12 @@
if(!lookup)
target.comp_lookup = lookup = list()
if(!istype(proc_or_callback, /datum/callback)) //if it wasnt a callback before, it is now
proc_or_callback = CALLBACK(src, proc_or_callback)
var/list/sig_types = islist(sig_type_or_types) ? sig_type_or_types : list(sig_type_or_types)
for(var/sig_type in sig_types)
if(!override && procs[target][sig_type])
stack_trace("[sig_type] overridden. Use override = TRUE to suppress this warning")
procs[target][sig_type] = proc_or_callback
procs[target][sig_type] = proctype
if(!lookup[sig_type]) // Nothing has registered here yet
lookup[sig_type] = src
@@ -154,7 +155,7 @@
return
/datum/component/proc/PostTransfer()
return
return COMPONENT_INCOMPATIBLE //Do not support transfer by default as you must properly support it
/datum/component/proc/_GetInverseTypeList(our_type = type)
//we can do this one simple trick
@@ -171,17 +172,20 @@
var/datum/C = target
if(!C.signal_enabled)
return NONE
var/datum/callback/CB = C.signal_procs[src][sigtype]
return CB.InvokeAsync(arglist(arguments))
var/proctype = C.signal_procs[src][sigtype]
return NONE | CallAsync(C, proctype, arguments)
. = NONE
for(var/I in target)
var/datum/C = I
if(!C.signal_enabled)
continue
var/datum/callback/CB = C.signal_procs[src][sigtype]
. |= CB.InvokeAsync(arglist(arguments))
var/proctype = C.signal_procs[src][sigtype]
. |= CallAsync(C, proctype, arguments)
/datum/proc/GetComponent(c_type)
// The type arg is casted so initial works, you shouldn't be passing a real instance into this
/datum/proc/GetComponent(datum/component/c_type)
if(initial(c_type.dupe_mode) == COMPONENT_DUPE_ALLOWED)
stack_trace("GetComponent was called to get a component of which multiple copies could be on an object. This can easily break and should be changed. Type: \[[c_type]\]")
var/list/dc = datum_components
if(!dc)
return null
@@ -220,10 +224,6 @@
if(ispath(nt))
if(nt == /datum/component)
CRASH("[nt] attempted instantiation!")
if(!isnum(dm))
CRASH("[nt]: Invalid dupe_mode ([dm])!")
if(dt && !ispath(dt))
CRASH("[nt]: Invalid dupe_type ([dt])!")
else
new_comp = nt
nt = new_comp.type
@@ -285,10 +285,13 @@
if(target.parent)
target.RemoveComponent()
target.parent = src
if(target.PostTransfer() == COMPONENT_INCOMPATIBLE)
var/c_type = target.type
qdel(target)
CRASH("Incompatible [c_type] transfer attempt to a [type]!")
var/result = target.PostTransfer()
switch(result)
if(COMPONENT_INCOMPATIBLE)
var/c_type = target.type
qdel(target)
CRASH("Incompatible [c_type] transfer attempt to a [type]!")
if(target == AddComponent(target))
target._JoinParent()
@@ -298,10 +301,13 @@
return
var/comps = dc[/datum/component]
if(islist(comps))
for(var/I in comps)
target.TakeComponent(I)
for(var/datum/component/I in comps)
if(I.can_transfer)
target.TakeComponent(I)
else
target.TakeComponent(comps)
var/datum/component/C = comps
if(C.can_transfer)
target.TakeComponent(comps)
/datum/component/ui_host()
return parent
+27 -5
View File
@@ -1,26 +1,48 @@
/datum/component/anti_magic
var/magic = FALSE
var/holy = FALSE
var/psychic = FALSE
var/allowed_slots = ~ITEM_SLOT_BACKPACK
var/charges = INFINITY
var/blocks_self = TRUE
var/datum/callback/reaction
var/datum/callback/expire
/datum/component/anti_magic/Initialize(_magic = FALSE, _holy = FALSE)
/datum/component/anti_magic/Initialize(_magic = FALSE, _holy = FALSE, _psychic = FALSE, _allowed_slots, _charges, _blocks_self = TRUE, datum/callback/_reaction, datum/callback/_expire)
if(isitem(parent))
RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/on_equip)
RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/on_drop)
else if(ismob(parent))
RegisterSignal(parent, COMSIG_MOB_RECEIVE_MAGIC, .proc/can_protect)
RegisterSignal(parent, COMSIG_MOB_RECEIVE_MAGIC, .proc/protect)
else
return COMPONENT_INCOMPATIBLE
magic = _magic
holy = _holy
psychic = _psychic
if(_allowed_slots)
allowed_slots = _allowed_slots
if(!isnull(_charges))
charges = _charges
blocks_self = _blocks_self
reaction = _reaction
expire = _expire
/datum/component/anti_magic/proc/on_equip(datum/source, mob/equipper, slot)
RegisterSignal(equipper, COMSIG_MOB_RECEIVE_MAGIC, .proc/can_protect, TRUE)
if(!CHECK_BITFIELD(allowed_slots, slotdefine2slotbit(slot))) //Check that the slot is valid for antimagic
UnregisterSignal(equipper, COMSIG_MOB_RECEIVE_MAGIC)
return
RegisterSignal(equipper, COMSIG_MOB_RECEIVE_MAGIC, .proc/protect, TRUE)
/datum/component/anti_magic/proc/on_drop(datum/source, mob/user)
UnregisterSignal(user, COMSIG_MOB_RECEIVE_MAGIC)
/datum/component/anti_magic/proc/can_protect(datum/source, _magic, _holy, list/protection_sources)
if((_magic && magic) || (_holy && holy))
/datum/component/anti_magic/proc/protect(datum/source, mob/user, _magic, _holy, _psychic, chargecost = 1, self, list/protection_sources)
if(((_magic && magic) || (_holy && holy) || (_psychic && psychic)) && (!self || blocks_self))
protection_sources += parent
reaction?.Invoke(user, chargecost)
charges -= chargecost
if(charges <= 0)
expire?.Invoke(user)
qdel(src)
return COMPONENT_BLOCK_MAGIC
+1 -1
View File
@@ -65,7 +65,7 @@
return FALSE
if(!isliving(AM) && !isobj(AM))
return FALSE
if(is_type_in_typecache(AM, forbidden_types) || AM.throwing || AM.floating)
if(is_type_in_typecache(AM, forbidden_types) || AM.throwing || (AM.movement_type & FLOATING))
return FALSE
//Flies right over the chasm
if(ismob(AM))
+24 -17
View File
@@ -8,32 +8,39 @@
/datum/component/cleaning/proc/Clean()
var/atom/movable/AM = parent
var/turf/tile = AM.loc
if(!isturf(tile))
return
SEND_SIGNAL(tile, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_STRENGTH_BLOOD)
for(var/A in tile)
var/turf/T = AM.loc
SEND_SIGNAL(T, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_WEAK)
for(var/A in T)
if(is_cleanable(A))
qdel(A)
else if(istype(A, /obj/item))
var/obj/item/I = A
SEND_SIGNAL(I, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_STRENGTH_BLOOD)
if(ismob(I.loc))
var/mob/M = I.loc
else if(isitem(A))
var/obj/item/cleaned_item = A
SEND_SIGNAL(cleaned_item, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_WEAK)
cleaned_item.clean_blood()
if(ismob(cleaned_item.loc))
var/mob/M = cleaned_item.loc
M.regenerate_icons()
else if(ishuman(A))
var/mob/living/carbon/human/cleaned_human = A
if(cleaned_human.lying)
if(cleaned_human.head)
SEND_SIGNAL(cleaned_human.head, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_STRENGTH_BLOOD)
SEND_SIGNAL(cleaned_human.head, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_WEAK)
cleaned_human.head.clean_blood()
cleaned_human.update_inv_head()
if(cleaned_human.wear_suit)
SEND_SIGNAL(cleaned_human.wear_suit, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_STRENGTH_BLOOD)
SEND_SIGNAL(cleaned_human.wear_suit, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_WEAK)
cleaned_human.wear_suit.clean_blood()
cleaned_human.update_inv_wear_suit()
else if(cleaned_human.w_uniform)
SEND_SIGNAL(cleaned_human.w_uniform, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_STRENGTH_BLOOD)
SEND_SIGNAL(cleaned_human.w_uniform, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_WEAK)
cleaned_human.w_uniform.clean_blood()
cleaned_human.update_inv_w_uniform()
if(cleaned_human.shoes)
SEND_SIGNAL(cleaned_human.shoes, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_STRENGTH_BLOOD)
SEND_SIGNAL(cleaned_human, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_STRENGTH_BLOOD)
SEND_SIGNAL(cleaned_human.shoes, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_WEAK)
cleaned_human.shoes.clean_blood()
cleaned_human.update_inv_shoes()
SEND_SIGNAL(cleaned_human, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_WEAK)
cleaned_human.clean_blood()
cleaned_human.wash_cream()
cleaned_human.regenerate_icons()
to_chat(cleaned_human, "<span class='danger'>[AM] cleans your face!</span>")
to_chat(cleaned_human, "<span class='danger'>[src] cleans your face!</span>")

Some files were not shown because too many files have changed in this diff Show More