Merge branch 'master' into upstream-merge-38186

This commit is contained in:
deathride58
2018-06-09 05:54:28 +00:00
committed by GitHub
469 changed files with 7337 additions and 6445 deletions
@@ -0,0 +1,990 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/template_noop,
/area/template_noop)
"b" = (
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors/unexplored)
"c" = (
/obj/item/clockwork/alloy_shards/small,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors/unexplored)
"d" = (
/obj/structure/destructible/clockwork/wall_gear,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors/unexplored)
"e" = (
/obj/item/stack/tile/brass,
/turf/open/floor/clockwork{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/lavaland/surface/outdoors/unexplored)
"f" = (
/turf/closed/mineral/volcanic,
/area/lavaland/surface/outdoors/unexplored)
"g" = (
/obj/item/clockwork/alloy_shards/medium/gear_bit,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors/unexplored)
"h" = (
/turf/open/floor/clockwork{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/lavaland/surface/outdoors/unexplored)
"i" = (
/obj/structure/grille/ratvar/broken,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors/unexplored)
"j" = (
/turf/closed/wall/clockwork,
/area/lavaland/surface/outdoors/unexplored)
"k" = (
/obj/item/clockwork/alloy_shards/small,
/turf/open/floor/clockwork{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/lavaland/surface/outdoors/unexplored)
"l" = (
/turf/open/lava/smooth/lava_land_surface,
/area/lavaland/surface/outdoors/unexplored)
"m" = (
/obj/item/clockwork/alloy_shards/medium,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors/unexplored)
"n" = (
/obj/item/clockwork/component/belligerent_eye/blind_eye,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors/unexplored)
"o" = (
/obj/item/clockwork/alloy_shards/large,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors/unexplored)
"p" = (
/obj/item/clockwork/alloy_shards/medium,
/turf/open/floor/clockwork{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/lavaland/surface/outdoors/unexplored)
"q" = (
/obj/structure/lattice/catwalk/clockwork,
/turf/open/lava/smooth/lava_land_surface,
/area/lavaland/surface/outdoors/unexplored)
"r" = (
/obj/structure/lattice/clockwork,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors/unexplored)
"s" = (
/obj/item/clockwork/alloy_shards/large,
/turf/open/floor/clockwork{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/lavaland/surface/outdoors/unexplored)
"t" = (
/obj/item/stack/tile/brass,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors/unexplored)
"u" = (
/obj/structure/grille/ratvar,
/turf/open/floor/clockwork{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/lavaland/surface/outdoors/unexplored)
"v" = (
/obj/item/clockwork/alloy_shards/medium,
/obj/structure/lattice/clockwork,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors/unexplored)
"w" = (
/obj/structure/grille/ratvar/broken,
/turf/open/floor/clockwork{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/lavaland/surface/outdoors/unexplored)
"x" = (
/obj/structure/destructible/clockwork/wall_gear,
/obj/item/stack/tile/brass,
/turf/open/floor/clockwork{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/lavaland/surface/outdoors/unexplored)
"y" = (
/obj/item/clockwork/component/geis_capacitor/fallen_armor,
/turf/open/floor/clockwork{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/lavaland/surface/outdoors/unexplored)
"z" = (
/obj/structure/destructible/clockwork/wall_gear,
/turf/open/floor/clockwork{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/lavaland/surface/outdoors/unexplored)
"A" = (
/obj/item/clockwork/alloy_shards/clockgolem_remains,
/turf/open/floor/clockwork{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/lavaland/surface/outdoors/unexplored)
"B" = (
/obj/item/clockwork/weapon/ratvarian_spear,
/turf/open/floor/clockwork{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/lavaland/surface/outdoors/unexplored)
"C" = (
/obj/item/clockwork/alloy_shards/medium/gear_bit,
/turf/open/floor/clockwork{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/lavaland/surface/outdoors/unexplored)
"D" = (
/obj/structure/grille/ratvar,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors/unexplored)
"E" = (
/obj/item/clockwork/alloy_shards/clockgolem_remains,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors/unexplored)
"F" = (
/obj/structure/dead_ratvar,
/turf/open/floor/clockwork{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/lavaland/surface/outdoors/unexplored)
"G" = (
/obj/item/stack/tile/brass/fifty,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors/unexplored)
(1,1,1) = {"
a
a
a
a
a
a
a
a
a
a
a
a
a
b
s
h
b
a
a
a
a
a
a
a
"}
(2,1,1) = {"
a
a
a
a
a
a
a
o
b
a
h
b
r
c
j
x
b
b
g
a
a
a
a
a
"}
(3,1,1) = {"
a
a
a
a
a
a
f
b
l
b
v
b
p
w
j
j
c
l
b
b
a
a
a
a
"}
(4,1,1) = {"
a
a
a
a
a
a
f
l
l
r
b
b
l
j
j
j
p
l
b
h
c
r
a
a
"}
(5,1,1) = {"
a
a
a
a
a
b
l
l
p
h
c
l
l
l
j
l
b
l
l
D
h
r
a
a
"}
(6,1,1) = {"
a
a
a
h
c
h
m
l
l
c
l
l
l
l
w
l
l
l
m
c
h
f
a
a
"}
(7,1,1) = {"
a
a
b
b
b
l
l
l
l
h
b
l
l
l
l
l
l
l
l
c
f
f
b
a
"}
(8,1,1) = {"
a
h
h
g
c
b
l
l
l
l
n
h
r
l
l
b
l
l
l
l
f
b
a
a
"}
(9,1,1) = {"
a
b
c
b
b
l
l
l
l
t
h
b
h
w
p
b
g
l
l
b
b
b
b
a
"}
(10,1,1) = {"
b
h
l
l
l
l
l
l
b
b
p
r
F
b
h
A
b
l
l
l
m
l
l
a
"}
(11,1,1) = {"
c
i
j
j
l
l
l
l
l
b
h
k
h
h
h
r
l
l
l
l
l
l
b
a
"}
(12,1,1) = {"
d
j
j
j
h
l
l
b
l
q
r
h
h
h
c
q
l
b
l
l
b
h
o
a
"}
(13,1,1) = {"
e
k
b
l
l
l
b
p
s
r
h
h
h
h
h
h
h
l
l
l
l
b
b
a
"}
(14,1,1) = {"
b
b
b
m
l
l
l
b
h
h
k
h
h
h
h
h
c
b
l
l
b
b
h
b
"}
(15,1,1) = {"
b
b
b
l
l
l
l
h
h
h
h
h
h
h
k
B
h
l
l
l
l
b
b
a
"}
(16,1,1) = {"
f
l
l
l
l
l
l
q
b
h
h
h
h
h
h
s
b
l
l
l
l
f
f
a
"}
(17,1,1) = {"
b
b
b
l
l
l
b
l
q
r
h
h
h
h
h
b
s
r
l
r
l
l
b
a
"}
(18,1,1) = {"
b
h
l
l
l
b
b
h
b
h
h
h
h
h
r
k
b
C
r
h
b
b
m
b
"}
(19,1,1) = {"
b
b
l
l
l
l
h
b
h
h
h
h
h
h
h
r
j
h
c
h
r
h
b
b
"}
(20,1,1) = {"
b
l
l
l
l
b
b
p
h
c
h
k
h
h
o
b
l
l
l
b
E
r
G
o
"}
(21,1,1) = {"
g
b
l
l
l
l
l
r
h
r
h
h
h
h
y
l
l
l
l
l
l
j
j
r
"}
(22,1,1) = {"
c
c
b
l
l
b
h
h
t
b
h
h
h
h
h
m
b
l
l
l
h
j
j
j
"}
(23,1,1) = {"
b
h
m
n
b
h
l
o
j
u
r
p
h
r
h
b
l
l
l
b
b
w
r
b
"}
(24,1,1) = {"
a
a
b
b
l
l
l
j
j
q
p
h
m
e
z
j
j
l
l
c
l
l
b
a
"}
(25,1,1) = {"
a
a
a
l
l
l
l
j
l
l
b
h
r
x
h
l
l
l
l
l
l
a
a
a
"}
(26,1,1) = {"
a
a
a
c
b
l
l
l
l
l
l
g
q
b
h
l
l
l
c
m
b
a
a
a
"}
(27,1,1) = {"
a
a
a
b
h
b
l
l
l
l
l
l
l
l
l
l
l
l
l
b
a
a
a
a
"}
(28,1,1) = {"
a
a
a
a
c
b
l
b
l
l
l
l
l
l
l
l
b
l
f
a
a
a
a
a
"}
(29,1,1) = {"
a
a
a
a
b
b
f
c
b
l
c
l
l
l
l
c
o
l
b
a
a
a
a
a
"}
(30,1,1) = {"
a
a
a
a
a
g
c
b
l
l
b
m
l
b
l
f
b
a
a
a
a
a
a
a
"}
(31,1,1) = {"
a
a
a
a
a
a
a
b
l
b
a
b
l
c
f
f
a
a
a
a
a
a
a
a
"}
(32,1,1) = {"
a
a
a
a
a
a
a
a
a
a
a
a
a
a
c
a
a
a
a
a
a
a
a
a
"}
-1
View File
@@ -5,7 +5,6 @@
#ifndef LOWMEMORYMODE
#ifdef ALL_MAPS
#include "map_files\Mining\Lavaland.dmm"
#include "map_files\generic\City_of_Cogs.dmm"
#include "map_files\debug\runtimestation.dmm"
#include "map_files\Deltastation\DeltaStation2.dmm"
#include "map_files\MetaStation\MetaStation.dmm"
File diff suppressed because it is too large Load Diff
+40 -116
View File
@@ -15401,9 +15401,7 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/airlock_sensor{
id_tag = "incinerator_airlock_sensor";
master_tag = "incinerator_airlock_control";
/obj/machinery/airlock_sensor/incinerator_atmos{
pixel_y = 24
},
/turf/open/floor/engine,
@@ -15960,10 +15958,7 @@
},
/area/security/execution/education)
"aNO" = (
/obj/machinery/door/poddoor{
id = "turbinevent";
name = "Turbine Vent"
},
/obj/machinery/door/poddoor/incinerator_atmos_main,
/turf/open/floor/engine/vacuum,
/area/maintenance/disposal/incinerator)
"aNP" = (
@@ -15997,9 +15992,7 @@
/turf/open/floor/engine/vacuum,
/area/maintenance/disposal/incinerator)
"aNR" = (
/obj/machinery/igniter{
id = "Incinerator"
},
/obj/machinery/igniter/incinerator_atmos,
/obj/structure/cable{
icon_state = "4-8"
},
@@ -16011,14 +16004,7 @@
/area/maintenance/disposal/incinerator)
"aNS" = (
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/public/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "incinerator_airlock_exterior";
name = "Incinerator Exterior Airlock";
req_access_txt = "12"
},
/obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior,
/obj/structure/cable{
icon_state = "4-8"
},
@@ -16033,23 +16019,14 @@
icon_state = "4-8"
},
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume{
dir = 2;
frequency = 1449;
id = "incinerator_airlock_pump"
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_atmos{
dir = 2
},
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
"aNU" = (
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/public/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "incinerator_airlock_interior";
name = "Incinerator Interior Airlock";
req_access_txt = "12"
},
/obj/machinery/door/airlock/public/glass/incinerator/atmos_interior,
/obj/structure/cable{
icon_state = "4-8"
},
@@ -16057,16 +16034,8 @@
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 8
},
/obj/machinery/embedded_controller/radio/airlock_controller{
airpump_tag = "incinerator_airlock_pump";
exterior_door_tag = "incinerator_airlock_exterior";
id_tag = "incinerator_airlock_control";
interior_door_tag = "incinerator_airlock_interior";
name = "Incinerator Access Console";
pixel_y = 27;
req_access_txt = "12";
sanitize_external = 1;
sensor_tag = "incinerator_airlock_sensor"
/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_atmos{
pixel_y = 27
},
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
@@ -16735,24 +16704,17 @@
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
"aPA" = (
/obj/machinery/button/ignition{
id = "Incinerator";
/obj/machinery/button/ignition/incinerator/atmos{
pixel_x = 8;
pixel_y = -36
},
/obj/machinery/button/door{
id = "turbinevent";
name = "Turbine Vent Control";
/obj/machinery/button/door/incinerator_vent_atmos_main{
pixel_x = -8;
pixel_y = -36;
req_access_txt = "12"
pixel_y = -36
},
/obj/machinery/button/door{
id = "auxincineratorvent";
name = "Auxiliary Vent Control";
/obj/machinery/button/door/incinerator_vent_atmos_aux{
pixel_x = -8;
pixel_y = -24;
req_access_txt = "12"
pixel_y = -24
},
/obj/machinery/computer/turbine_computer{
dir = 1;
@@ -17622,10 +17584,7 @@
/turf/open/floor/plating/airless,
/area/maintenance/disposal/incinerator)
"aRo" = (
/obj/machinery/door/poddoor{
id = "auxincineratorvent";
name = "Incineration Chamber Vent"
},
/obj/machinery/door/poddoor/incinerator_atmos_aux,
/turf/open/floor/engine/vacuum,
/area/maintenance/disposal/incinerator)
"aRp" = (
@@ -72556,7 +72515,7 @@
/obj/item/pen,
/obj/machinery/door/window/southleft{
name = "Research Lab Desk";
req_access_txt = "7"
req_one_access_txt = "7;29"
},
/obj/machinery/door/poddoor/shutters/preopen{
id = "rndlab1";
@@ -76089,7 +76048,7 @@
/obj/machinery/door/window/southleft{
dir = 4;
name = "Research Lab Desk";
req_access_txt = "7"
req_one_access_txt = "7;29"
},
/obj/machinery/door/window/westleft,
/obj/effect/turf_decal/delivery,
@@ -76754,7 +76713,7 @@
/obj/machinery/door/window/southleft{
dir = 8;
name = "Research Lab Desk";
req_access_txt = "7"
req_one_access_txt = "7;29"
},
/obj/machinery/door/poddoor/shutters/preopen{
id = "rndlab2";
@@ -82923,7 +82882,6 @@
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 4
},
/obj/structure/window/spawner/north,
/obj/effect/turf_decal/stripes/line{
dir = 5
},
@@ -83693,6 +83651,9 @@
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/obj/machinery/portable_atmospherics/pump{
name = "Lil Pump"
},
/turf/open/floor/plasteel,
/area/science/mixing)
"dxQ" = (
@@ -84469,7 +84430,6 @@
dir = 4
},
/obj/machinery/portable_atmospherics/canister,
/obj/structure/window/spawner,
/obj/effect/turf_decal/stripes/line{
dir = 6
},
@@ -84989,7 +84949,6 @@
/obj/effect/turf_decal/stripes/line{
dir = 10
},
/obj/structure/window/spawner,
/turf/open/floor/plasteel,
/area/science/mixing)
"dAD" = (
@@ -85787,6 +85746,9 @@
/obj/effect/turf_decal/stripes/line{
dir = 5
},
/obj/item/radio/intercom{
pixel_x = -26
},
/turf/open/floor/plasteel,
/area/science/mixing)
"dCb" = (
@@ -86384,7 +86346,6 @@
/obj/effect/turf_decal/stripes/line{
dir = 9
},
/obj/structure/window/spawner/north,
/turf/open/floor/plasteel,
/area/science/mixing)
"dDt" = (
@@ -86891,6 +86852,7 @@
/obj/structure/sign/poster/official/science{
pixel_x = 32
},
/obj/machinery/portable_atmospherics/scrubber,
/turf/open/floor/plasteel,
/area/science/mixing)
"dEv" = (
@@ -87473,6 +87435,7 @@
/obj/effect/turf_decal/stripes/line{
dir = 8
},
/obj/machinery/portable_atmospherics/pump,
/turf/open/floor/plasteel,
/area/science/mixing)
"dFM" = (
@@ -92690,12 +92653,6 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
"dQF" = (
/obj/machinery/droneDispenser,
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/maintenance/port/aft)
"dQG" = (
/obj/structure/table,
/obj/effect/decal/cleanable/dirt,
@@ -99679,14 +99636,7 @@
},
/area/science/mixing)
"fpQ" = (
/obj/machinery/door/airlock/research/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "tox_airlock_interior";
name = "Mixing Room Interior Airlock";
req_access_txt = "8"
},
/obj/machinery/door/airlock/research/glass/incinerator/toxmix_interior,
/obj/effect/mapping_helpers/airlock/locked,
/turf/open/floor/engine,
/area/science/mixing)
@@ -99714,9 +99664,7 @@
/obj/machinery/atmospherics/components/binary/pump/on{
dir = 1
},
/obj/machinery/airlock_sensor{
id_tag = "tox_airlock_sensor";
master_tag = "tox_airlock_control";
/obj/machinery/airlock_sensor/incinerator_toxmix{
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -99951,17 +99899,13 @@
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/obj/machinery/button/ignition{
id = "herrington_memorial_toxigniter";
/obj/machinery/button/ignition/incinerator/toxmix{
pixel_x = -6;
pixel_y = 30
},
/obj/machinery/button/door{
id = "mixvent";
/obj/machinery/button/door/incinerator_vent_toxmix{
pixel_x = 8;
pixel_y = 30;
req_one_access = null;
req_one_access_txt = "8"
pixel_y = 30
},
/obj/effect/decal/cleanable/dirt,
/obj/machinery/camera{
@@ -100048,7 +99992,7 @@
/obj/machinery/autolathe,
/obj/machinery/door/window/southleft{
name = "Research Lab Desk";
req_access_txt = "7"
req_one_access_txt = "7;29"
},
/obj/machinery/door/firedoor,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -100066,10 +100010,8 @@
},
/area/science/mixing)
"lyU" = (
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume{
dir = 8;
frequency = 1449;
id = "tox_airlock_pump"
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_toxmix{
dir = 8
},
/turf/open/floor/engine,
/area/science/mixing)
@@ -100144,14 +100086,8 @@
/area/science/circuit)
"mkm" = (
/obj/machinery/atmospherics/components/binary/valve,
/obj/machinery/embedded_controller/radio/airlock_controller{
airpump_tag = "tox_airlock_pump";
exterior_door_tag = "tox_airlock_exterior";
id_tag = "tox_airlock_control";
interior_door_tag = "tox_airlock_interior";
pixel_y = 26;
sanitize_external = 1;
sensor_tag = "tox_airlock_sensor"
/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_toxmix{
pixel_y = 26
},
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/vault{
@@ -100207,15 +100143,7 @@
},
/area/science/mixing)
"oIE" = (
/obj/machinery/door/airlock/research/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "tox_airlock_exterior";
name = "Mixing Room Exterior Airlock";
req_one_access = "8";
req_one_access_txt = "0"
},
/obj/machinery/door/airlock/research/glass/incinerator/toxmix_exterior,
/obj/effect/mapping_helpers/airlock/locked,
/turf/open/floor/engine,
/area/science/mixing)
@@ -100255,9 +100183,7 @@
},
/area/science/research)
"oYI" = (
/obj/machinery/igniter{
id = "herrington_memorial_toxigniter"
},
/obj/machinery/igniter/incinerator_toxmix,
/turf/open/floor/engine/vacuum,
/area/science/mixing)
"oZC" = (
@@ -100360,9 +100286,7 @@
/turf/open/floor/engine/vacuum,
/area/science/mixing)
"svv" = (
/obj/machinery/door/poddoor{
id = "mixvent"
},
/obj/machinery/door/poddoor/incinerator_toxmix,
/turf/open/floor/engine/vacuum,
/area/science/mixing)
"tmi" = (
@@ -134175,7 +134099,7 @@ dNC
dNC
dOT
dPM
dQF
dOb
dRE
dSC
dTA
+141 -295
View File
@@ -1,4 +1,4 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aaa" = (
/turf/open/space/basic,
/area/space)
@@ -897,6 +897,14 @@
},
/turf/open/floor/plasteel/floorgrime,
/area/security/prison)
"acx" = (
/obj/machinery/airalarm{
dir = 8;
pixel_x = 24
},
/obj/machinery/cryopod,
/turf/open/floor/plasteel/floorgrime,
/area/security/prison)
"acy" = (
/obj/machinery/door/airlock/external{
name = "Escape Pod Two"
@@ -1042,6 +1050,15 @@
/obj/machinery/light,
/turf/open/floor/plasteel/floorgrime,
/area/security/prison)
"acM" = (
/obj/structure/table,
/obj/item/paper_bin{
pixel_x = -3;
pixel_y = 7
},
/obj/item/pen,
/turf/open/floor/plasteel/floorgrime,
/area/security/prison)
"acN" = (
/obj/structure/table/glass,
/obj/item/reagent_containers/syringe,
@@ -3622,25 +3639,6 @@
icon_state = "platingdmg1"
},
/area/maintenance/fore)
"ahU" = (
/obj/effect/decal/cleanable/cobweb/cobweb2,
/obj/structure/table,
/obj/item/stock_parts/manipulator,
/obj/effect/spawner/lootdrop/maintenance,
/turf/open/floor/plating,
/area/maintenance/fore)
"ahV" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
},
/obj/machinery/firealarm{
dir = 8;
pixel_x = -24
},
/turf/open/floor/plasteel/neutral/corner{
dir = 1
},
/area/crew_quarters/fitness/recreation)
"ahW" = (
/obj/structure/window/reinforced{
dir = 1
@@ -4057,22 +4055,6 @@
},
/turf/open/floor/plating,
/area/maintenance/fore)
"aiP" = (
/obj/structure/table,
/obj/item/folder,
/turf/open/floor/plating,
/area/maintenance/fore)
"aiQ" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
},
/obj/structure/extinguisher_cabinet{
pixel_x = -27
},
/turf/open/floor/plasteel/neutral/corner{
dir = 1
},
/area/crew_quarters/fitness/recreation)
"aiR" = (
/obj/structure/table,
/obj/item/clothing/under/sl_suit{
@@ -4476,7 +4458,9 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/turf/open/floor/plasteel,
/turf/open/floor/plasteel/neutral/corner{
dir = 8
},
/area/crew_quarters/fitness/recreation)
"ajS" = (
/obj/structure/table,
@@ -5121,10 +5105,6 @@
},
/turf/open/floor/plating,
/area/maintenance/fore)
"alf" = (
/obj/structure/closet/firecloset,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
"alg" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
@@ -5828,10 +5808,6 @@
},
/turf/open/floor/plating,
/area/maintenance/fore)
"amv" = (
/obj/structure/closet/emcloset,
/turf/open/floor/plasteel/vault,
/area/crew_quarters/fitness/recreation)
"amw" = (
/obj/structure/window/reinforced,
/obj/machinery/door/window/eastright{
@@ -6013,6 +5989,11 @@
},
/turf/open/floor/plating,
/area/maintenance/port/fore)
"amU" = (
/turf/open/floor/plating{
icon_state = "platingdmg2"
},
/area/maintenance/port)
"amW" = (
/obj/structure/table/reinforced,
/obj/item/folder,
@@ -7774,9 +7755,7 @@
/turf/open/floor/plating,
/area/maintenance/port/fore)
"aqR" = (
/obj/structure/chair{
dir = 8
},
/obj/machinery/vending/kink,
/turf/open/floor/plating{
icon_state = "panelscorched"
},
@@ -21724,11 +21703,23 @@
"aUM" = (
/turf/closed/wall,
/area/crew_quarters/locker)
"aUN" = (
/obj/structure/closet/wardrobe/black,
/turf/open/floor/plasteel/vault,
/area/crew_quarters/locker)
"aUO" = (
/obj/structure/closet/wardrobe/grey,
/turf/open/floor/plasteel/vault,
/area/crew_quarters/locker)
"aUP" = (
/obj/structure/closet/wardrobe/white,
/turf/open/floor/plasteel/vault,
/area/crew_quarters/locker)
"aUQ" = (
/turf/open/floor/plasteel/vault,
/area/crew_quarters/locker)
"aUR" = (
/obj/structure/closet/wardrobe/green,
/obj/machinery/vending/kink,
/turf/open/floor/plasteel/vault,
/area/crew_quarters/locker)
"aUS" = (
@@ -25533,6 +25524,12 @@
dir = 4
},
/area/security/checkpoint/engineering)
"bcO" = (
/obj/machinery/vending/kink,
/turf/open/floor/plating{
icon_state = "platingdmg3"
},
/area/maintenance/starboard/fore)
"bcP" = (
/obj/machinery/light{
dir = 8
@@ -51612,7 +51609,7 @@
/obj/machinery/door/window/eastright{
dir = 2;
name = "Research and Development Desk";
req_access_txt = "7"
req_one_access_txt = "7;29"
},
/obj/machinery/door/poddoor/shutters/preopen{
id = "research_shutters";
@@ -52935,29 +52932,14 @@
/area/maintenance/disposal/incinerator)
"cja" = (
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/public/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "incinerator_airlock_interior";
name = "Incinerator Interior Airlock";
req_access_txt = "12"
},
/obj/machinery/door/airlock/public/glass/incinerator/atmos_interior,
/obj/structure/cable{
icon_state = "1-2"
},
/obj/effect/mapping_helpers/airlock/cyclelink_helper,
/obj/machinery/embedded_controller/radio/airlock_controller{
airpump_tag = "incinerator_airlock_pump";
exterior_door_tag = "incinerator_airlock_exterior";
id_tag = "incinerator_airlock_control";
interior_door_tag = "incinerator_airlock_interior";
name = "Incinerator Access Console";
/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_atmos{
pixel_x = 40;
pixel_y = 8;
req_access_txt = "12";
sanitize_external = 1;
sensor_tag = "incinerator_airlock_sensor"
pixel_y = 8
},
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
@@ -53665,9 +53647,7 @@
/obj/machinery/atmospherics/components/binary/pump/on{
dir = 1
},
/obj/machinery/airlock_sensor{
id_tag = "incinerator_airlock_sensor";
master_tag = "incinerator_airlock_control";
/obj/machinery/airlock_sensor/incinerator_atmos{
pixel_x = -8;
pixel_y = 24
},
@@ -53680,10 +53660,8 @@
/obj/structure/cable{
icon_state = "1-2"
},
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume{
dir = 8;
frequency = 1449;
id = "incinerator_airlock_pump"
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_atmos{
dir = 8
},
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
@@ -54314,8 +54292,7 @@
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
"cmb" = (
/obj/machinery/chem_master/condimaster{
name = "CondiMaster Neo";
/obj/machinery/chem_master{
pixel_x = -4
},
/turf/open/floor/plating,
@@ -54328,14 +54305,7 @@
/area/space/nearstation)
"cmd" = (
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/public/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "incinerator_airlock_exterior";
name = "Incinerator Exterior Airlock";
req_access_txt = "12"
},
/obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior,
/obj/structure/cable{
icon_state = "1-2"
},
@@ -54795,9 +54765,7 @@
/turf/open/floor/engine/vacuum,
/area/maintenance/disposal/incinerator)
"cne" = (
/obj/machinery/igniter{
id = "Incinerator"
},
/obj/machinery/igniter/incinerator_atmos,
/obj/structure/cable{
icon_state = "1-2"
},
@@ -54817,10 +54785,7 @@
/turf/open/floor/engine/vacuum,
/area/maintenance/disposal/incinerator)
"cng" = (
/obj/machinery/door/poddoor{
id = "auxincineratorvent";
name = "Incineration Chamber Vent"
},
/obj/machinery/door/poddoor/incinerator_atmos_aux,
/turf/open/floor/engine/vacuum,
/area/maintenance/disposal/incinerator)
"cnh" = (
@@ -55792,7 +55757,7 @@
/obj/machinery/door/window/eastright{
dir = 4;
name = "Research and Development Desk";
req_access_txt = "7"
req_one_access_txt = "7;29"
},
/obj/item/folder/white{
pixel_x = 4;
@@ -56632,7 +56597,7 @@
/obj/machinery/door/window/eastleft{
dir = 1;
name = "Research and Development Deliveries";
req_access_txt = "7"
req_one_access_txt = "7;29"
},
/obj/structure/window/reinforced{
dir = 8
@@ -56905,10 +56870,7 @@
/turf/closed/wall/r_wall,
/area/maintenance/disposal/incinerator)
"crf" = (
/obj/machinery/door/poddoor{
id = "turbinevent";
name = "Turbine Vent"
},
/obj/machinery/door/poddoor/incinerator_atmos_main,
/turf/open/floor/engine/vacuum,
/area/maintenance/disposal/incinerator)
"crg" = (
@@ -58034,10 +57996,7 @@
/turf/open/floor/plating,
/area/maintenance/port/aft)
"cto" = (
/obj/machinery/vending/assist,
/obj/effect/turf_decal/stripes/line{
dir = 1
},
/obj/machinery/vending/kink,
/turf/open/floor/plating,
/area/maintenance/port/aft)
"ctq" = (
@@ -63419,10 +63378,7 @@
/turf/open/space,
/area/science/mixing)
"cEr" = (
/obj/machinery/door/poddoor{
id = "mixvent";
name = "Mixer Room Vent"
},
/obj/machinery/door/poddoor/incinerator_toxmix,
/turf/open/floor/engine/vacuum,
/area/science/mixing)
"cEs" = (
@@ -63432,9 +63388,8 @@
/turf/open/floor/engine/vacuum,
/area/science/mixing)
"cEt" = (
/obj/machinery/sparker{
/obj/machinery/sparker/toxmix{
dir = 2;
id = "mixingsparker";
pixel_x = 25
},
/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/toxins_mixing_output{
@@ -63449,9 +63404,7 @@
/turf/closed/wall/r_wall,
/area/science/mixing)
"cEv" = (
/obj/machinery/airlock_sensor{
id_tag = "tox_airlock_sensor";
master_tag = "tox_airlock_control";
/obj/machinery/airlock_sensor/incinerator_toxmix{
pixel_y = 24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -63465,14 +63418,8 @@
dir = 4
},
/obj/machinery/meter,
/obj/machinery/embedded_controller/radio/airlock_controller{
airpump_tag = "tox_airlock_pump";
exterior_door_tag = "tox_airlock_exterior";
id_tag = "tox_airlock_control";
interior_door_tag = "tox_airlock_interior";
pixel_x = -24;
sanitize_external = 1;
sensor_tag = "tox_airlock_sensor"
/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_toxmix{
pixel_x = -24
},
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -63864,35 +63811,19 @@
/area/science/mixing)
"cFo" = (
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/research/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "tox_airlock_exterior";
name = "Mixing Room Exterior Airlock";
req_access_txt = "8"
},
/obj/machinery/door/airlock/research/glass/incinerator/toxmix_exterior,
/turf/open/floor/engine,
/area/science/mixing)
"cFp" = (
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume{
dir = 2;
frequency = 1449;
id = "tox_airlock_pump"
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_toxmix{
dir = 2
},
/obj/effect/landmark/blobstart,
/turf/open/floor/engine,
/area/science/mixing)
"cFq" = (
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/research/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "tox_airlock_interior";
name = "Mixing Room Interior Airlock";
req_access_txt = "8"
},
/obj/machinery/door/airlock/research/glass/incinerator/toxmix_interior,
/turf/open/floor/engine,
/area/science/mixing)
"cFr" = (
@@ -64316,9 +64247,8 @@
},
/area/science/research)
"cGj" = (
/obj/machinery/sparker{
/obj/machinery/sparker/toxmix{
dir = 2;
id = "mixingsparker";
pixel_x = 25
},
/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/toxins_mixing_input{
@@ -64341,15 +64271,11 @@
dir = 4
},
/obj/machinery/meter,
/obj/machinery/button/door{
id = "mixvent";
name = "Mixing Room Vent Control";
/obj/machinery/button/door/incinerator_vent_toxmix{
pixel_x = -25;
pixel_y = 5;
req_access_txt = "7"
pixel_y = 5
},
/obj/machinery/button/ignition{
id = "mixingsparker";
/obj/machinery/button/ignition/incinerator/toxmix{
pixel_x = -25;
pixel_y = -5
},
@@ -67097,8 +67023,7 @@
/turf/open/floor/plating,
/area/maintenance/aft)
"cLC" = (
/obj/machinery/button/ignition{
id = "Incinerator";
/obj/machinery/button/ignition/incinerator/atmos{
pixel_x = 8;
pixel_y = -36
},
@@ -67109,20 +67034,14 @@
network = list("turbine");
pixel_x = 29
},
/obj/machinery/button/door{
id = "turbinevent";
name = "Turbine Vent Control";
/obj/machinery/button/door/incinerator_vent_atmos_main{
pixel_x = -8;
pixel_y = -36;
req_access_txt = "12"
pixel_y = -36
},
/obj/machinery/atmospherics/pipe/simple/general/visible,
/obj/machinery/button/door{
id = "auxincineratorvent";
name = "Auxiliary Vent Control";
/obj/machinery/button/door/incinerator_vent_atmos_aux{
pixel_x = -8;
pixel_y = -24;
req_access_txt = "12"
pixel_y = -24
},
/obj/machinery/computer/turbine_computer{
dir = 1;
@@ -70756,6 +70675,13 @@
/obj/structure/disposalpipe/segment,
/turf/closed/wall/r_wall,
/area/science/xenobiology)
"cUd" = (
/obj/machinery/cryopod{
dir = 4;
tag = "0"
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
"cUH" = (
/obj/structure/table/optable,
/turf/open/floor/plasteel/white,
@@ -71412,6 +71338,10 @@
/obj/structure/easel,
/turf/open/floor/plating,
/area/maintenance/port)
"dbl" = (
/obj/structure/easel,
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
"dbm" = (
/obj/effect/landmark/event_spawn,
/turf/open/floor/plasteel,
@@ -73623,19 +73553,12 @@
/turf/open/floor/plating,
/area/maintenance/port/fore)
"dhp" = (
/obj/machinery/light{
dir = 8
},
/obj/structure/cable/yellow{
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 6
/turf/open/floor/plasteel/neutral/corner{
dir = 8
},
/obj/structure/sign/poster/official/random{
pixel_x = -32
},
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
"dhq" = (
/obj/structure/table/reinforced,
@@ -76007,6 +75930,10 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard)
"dWa" = (
/obj/machinery/computer/cryopod,
/turf/closed/wall,
/area/security/prison)
"dYu" = (
/obj/machinery/door/airlock/external{
name = "Auxiliary Airlock"
@@ -76175,6 +76102,13 @@
},
/turf/closed/wall/r_wall,
/area/maintenance/disposal/incinerator)
"hdw" = (
/obj/machinery/cryopod{
dir = 4;
tag = "0"
},
/turf/open/floor/plasteel/vault,
/area/crew_quarters/fitness/recreation)
"hfJ" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -76191,14 +76125,6 @@
},
/turf/open/floor/plating,
/area/security/prison)
"hAJ" = (
/obj/machinery/airalarm{
dir = 8;
pixel_x = 24
},
/obj/machinery/cryopod,
/turf/open/floor/plasteel/floorgrime,
/area/security/prison)
"ioI" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -76217,7 +76143,7 @@
/obj/machinery/door/window/eastright{
dir = 2;
name = "Research and Development Desk";
req_access_txt = "7"
req_one_access_txt = "7;29"
},
/obj/machinery/door/firedoor,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -76447,10 +76373,15 @@
},
/turf/open/floor/plasteel/white,
/area/science/circuit)
"mEW" = (
/obj/machinery/vending/kink,
/turf/open/floor/plasteel/vault,
/area/crew_quarters/locker)
"mSt" = (
/obj/machinery/firealarm{
dir = 8;
pixel_x = -24
},
/turf/open/floor/plasteel/neutral/corner{
dir = 1
},
/area/crew_quarters/fitness/recreation)
"nnK" = (
/obj/item/stack/sheet/glass/fifty,
/obj/item/paper_bin,
@@ -76711,12 +76642,10 @@
},
/turf/open/floor/wood,
/area/library)
"rhY" = (
/obj/machinery/vending/kink,
/turf/open/floor/plating{
icon_state = "platingdmg2"
},
/area/maintenance/port)
"rzf" = (
/obj/machinery/computer/cryopod,
/turf/closed/wall,
/area/crew_quarters/fitness/recreation)
"rzX" = (
/obj/structure/chair/office/light{
dir = 1;
@@ -76930,15 +76859,6 @@
},
/turf/open/floor/plasteel,
/area/science/misc_lab)
"vlg" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/effect/turf_decal/tile/green/side,
/turf/open/floor/plasteel/neutral/corner{
dir = 2
},
/area/crew_quarters/locker)
"vlx" = (
/obj/machinery/vr_sleeper,
/turf/open/floor/plasteel/neutral/corner{
@@ -76994,7 +76914,6 @@
/turf/closed/wall,
/area/science/circuit)
"wOE" = (
/obj/machinery/droneDispenser,
/turf/open/floor/plating,
/area/maintenance/aft)
"wPk" = (
@@ -77083,79 +77002,6 @@
/obj/machinery/light,
/turf/open/floor/plasteel/white,
/area/science/circuit)
"AIY" = (
/obj/machinery/computer/cryopod{
pixel_y = -24
},
/obj/effect/turf_decal/stripes/line{
dir = 1
},
/obj/effect/turf_decal/box/white/corners,
/obj/effect/turf_decal/box/white/corners{
dir = 8
},
/turf/open/floor/plasteel/vault,
/area/crew_quarters/locker)
"FiY" = (
/obj/machinery/vending/kink,
/turf/open/floor/plating{
icon_state = "platingdmg3"
},
/area/maintenance/starboard/fore)
"KHe" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/effect/turf_decal/tile/green/corner{
dir = 1
},
/turf/open/floor/plasteel/neutral/corner{
dir = 2
},
/area/crew_quarters/locker)
"RbF" = (
/obj/machinery/vending/kink,
/obj/machinery/vending/kink,
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
"SuJ" = (
/obj/machinery/cryopod,
/obj/effect/turf_decal/stripes/line{
dir = 5
},
/turf/open/floor/plasteel/vault,
/area/crew_quarters/locker)
"WoM" = (
/obj/machinery/cryopod{
dir = 4
},
/obj/effect/turf_decal/stripes/line{
dir = 1
},
/turf/open/floor/plasteel/vault,
/area/crew_quarters/locker)
"Xvm" = (
/obj/structure/table,
/obj/item/paper_bin{
pixel_x = -3;
pixel_y = 7
},
/obj/item/pen,
/obj/machinery/computer/cryopod{
pixel_x = 30;
pixel_y = 6
},
/turf/open/floor/plasteel/floorgrime,
/area/security/prison)
"XMx" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/effect/turf_decal/tile/green/corner,
/turf/open/floor/plasteel/neutral/corner{
dir = 2
},
/area/crew_quarters/locker)
(1,1,1) = {"
aaa
@@ -95026,7 +94872,7 @@ bHQ
bvW
bLg
bLf
rhY
amU
bPL
alK
bOf
@@ -101641,8 +101487,8 @@ aay
abs
abK
ace
hAJ
Xvm
acx
acM
abe
ady
adT
@@ -101899,7 +101745,7 @@ aax
aax
aax
aax
abe
dWa
abe
abe
abe
@@ -110487,7 +110333,7 @@ cGl
cHg
cIh
dAh
RbF
dbl
dyc
dxQ
dvY
@@ -110675,8 +110521,8 @@ aOx
aPJ
aQT
aOu
XMx
WoM
aTt
aUN
aUM
aYc
aTC
@@ -110932,8 +110778,8 @@ aOy
aOt
aQU
aSg
vlg
AIY
aTt
aUO
aUM
boW
aZt
@@ -111189,8 +111035,8 @@ aOz
aOu
aQV
aOv
KHe
SuJ
aTt
aUP
aUM
dCD
aZt
@@ -111673,8 +111519,8 @@ acQ
afs
agr
acP
ahU
aiP
acP
acP
acP
acP
acP
@@ -111930,12 +111776,12 @@ acP
acP
ags
acP
acP
acP
acP
alf
amv
acP
hdw
cUd
cUd
cUd
cUd
rzf
aoS
acP
arB
@@ -112186,9 +112032,9 @@ aaa
acQ
aft
agt
mSt
ahf
ahf
ahV
aiQ
dhp
alg
alg
@@ -112447,7 +112293,7 @@ ahg
ahg
ahg
ajR
ahg
ahl
ahg
anG
aoU
@@ -112475,7 +112321,7 @@ aPL
aQZ
aSh
aTA
mEW
aUT
aUM
aYh
aCM
@@ -118361,7 +118207,7 @@ aaf
aaf
ack
dni
FiY
bcO
dnS
dnS
dnS
+16 -15
View File
@@ -1,4 +1,4 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aaa" = (
/turf/open/space/basic,
/area/space)
@@ -7629,7 +7629,6 @@
},
/area/teleporter)
"aoJ" = (
/obj/machinery/droneDispenser,
/obj/effect/turf_decal/stripes/line{
dir = 10
},
@@ -14629,6 +14628,18 @@
dir = 5
},
/area/crew_quarters/dorms)
"aEL" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-21"
},
/obj/machinery/status_display{
pixel_y = -32
},
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel/vault{
dir = 5
},
/area/crew_quarters/dorms)
"aEM" = (
/obj/structure/closet/crate/bin,
/obj/effect/turf_decal/bot,
@@ -20523,7 +20534,7 @@
/obj/item/pen,
/obj/machinery/door/window/southleft{
name = "Research Lab Desk";
req_access_txt = "7"
req_one_access_txt = "7;29"
},
/obj/machinery/door/poddoor/shutters/preopen{
id = "rndlab1";
@@ -21476,7 +21487,7 @@
/obj/machinery/door/window/southleft{
dir = 4;
name = "Research Lab Desk";
req_access_txt = "7"
req_one_access_txt = "7;29"
},
/obj/machinery/door/poddoor/shutters/preopen{
id = "rndlab1";
@@ -35974,16 +35985,6 @@
dir = 5
},
/area/engine/atmos)
"ZwS" = (
/obj/machinery/status_display{
pixel_y = -32
},
/obj/effect/turf_decal/bot,
/obj/machinery/vending/kink,
/turf/open/floor/plasteel/vault{
dir = 5
},
/area/crew_quarters/dorms)
(1,1,1) = {"
aaa
@@ -72590,7 +72591,7 @@ aAF
aBO
aCN
aDD
ZwS
aEL
awQ
aGz
aGM
+207 -246
View File
@@ -1,4 +1,4 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aaa" = (
/turf/open/space/basic,
/area/space)
@@ -3054,6 +3054,10 @@
},
/turf/open/space,
/area/space/nearstation)
"ajB" = (
/obj/item/storage/box/mousetraps,
/turf/open/floor/plating,
/area/maintenance/department/security/brig)
"ajC" = (
/obj/structure/chair/stool,
/turf/open/floor/plating,
@@ -3448,6 +3452,10 @@
},
/turf/open/floor/plating,
/area/maintenance/department/security/brig)
"aks" = (
/obj/machinery/light/small,
/turf/open/floor/plating,
/area/maintenance/department/security/brig)
"akt" = (
/obj/structure/bed,
/obj/item/bedsheet,
@@ -7805,6 +7813,7 @@
dir = 4;
pixel_x = 28
},
/obj/machinery/cryopod,
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"avm" = (
@@ -10349,6 +10358,14 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"aBK" = (
/obj/structure/table,
/obj/machinery/light{
dir = 4
},
/obj/item/crowbar,
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"aBL" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/shutters/preopen{
@@ -10422,12 +10439,16 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on,
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"aBT" = (
/obj/structure/closet/wardrobe/white,
/turf/open/floor/plasteel/arrival,
/area/crew_quarters/fitness/recreation)
"aBU" = (
/obj/structure/closet/wardrobe/mixed,
/turf/open/floor/plasteel/arrival,
/area/crew_quarters/fitness/recreation)
"aBV" = (
/obj/structure/closet/wardrobe/green,
/obj/machinery/vending/kink,
/turf/open/floor/plasteel/arrival,
/area/crew_quarters/fitness/recreation)
"aBW" = (
@@ -11017,6 +11038,7 @@
/turf/open/floor/plasteel/white/side,
/area/crew_quarters/dorms)
"aDk" = (
/obj/machinery/cryopod,
/turf/open/floor/plasteel/white/corner{
icon_state = "whitecorner";
dir = 8
@@ -12047,6 +12069,14 @@
/obj/machinery/vending/snack,
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"aFD" = (
/obj/structure/table,
/obj/machinery/light{
dir = 4
},
/obj/item/taperecorder,
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"aFE" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -12420,6 +12450,13 @@
/obj/machinery/vending/cigarette,
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"aGA" = (
/obj/structure/cable{
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plating,
/area/storage/emergency/starboard)
"aGB" = (
/obj/machinery/space_heater,
/turf/open/floor/plating,
@@ -21172,10 +21209,6 @@
icon_state = "platingdmg3"
},
/area/maintenance/department/cargo)
"bdA" = (
/obj/machinery/droneDispenser,
/turf/open/floor/plating,
/area/maintenance/department/cargo)
"bdB" = (
/obj/structure/cable{
icon_state = "1-4"
@@ -25732,7 +25765,7 @@
/obj/machinery/door/window/eastright{
dir = 2;
name = "Research and Development Desk";
req_access_txt = "7"
req_one_access_txt = "7;29"
},
/obj/machinery/door/poddoor/shutters/preopen{
id = "research_shutters_2";
@@ -31482,8 +31515,8 @@
/obj/structure/cable{
icon_state = "4-8"
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
dir = 1
},
/turf/open/floor/plasteel/white,
/area/science/mixing)
@@ -32064,9 +32097,6 @@
dir = 4
},
/area/science/explab)
"bFg" = (
/turf/open/floor/plasteel/white,
/area/science/mixing)
"bFh" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 1
@@ -32501,6 +32531,9 @@
/area/science/mixing)
"bGn" = (
/obj/machinery/vending/wardrobe/science_wardrobe,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 5
},
/turf/open/floor/plasteel/whitepurple/side,
/area/science/mixing)
"bGo" = (
@@ -32520,6 +32553,9 @@
pixel_y = -2
},
/obj/structure/table/reinforced,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/turf/open/floor/plasteel/whitepurple/side,
/area/science/mixing)
"bGp" = (
@@ -32544,6 +32580,9 @@
network = list("ss13","rd")
},
/obj/machinery/light,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/turf/open/floor/plasteel/whitepurple/side,
/area/science/mixing)
"bGq" = (
@@ -32561,16 +32600,25 @@
},
/obj/item/assembly/timer,
/obj/structure/table/reinforced,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/turf/open/floor/plasteel/whitepurple/side,
/area/science/mixing)
"bGr" = (
/obj/structure/tank_dispenser,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/turf/open/floor/plasteel/whitepurple/side,
/area/science/mixing)
"bGs" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 10
},
/turf/open/floor/plasteel/whitepurple/side,
/area/science/mixing)
"bGt" = (
@@ -33023,12 +33071,8 @@
/area/science/mixing)
"bHz" = (
/obj/machinery/atmospherics/components/binary/valve,
/obj/machinery/button/door{
id = "toxvent";
name = "Aft Vent Control";
pixel_y = -24;
req_access_txt = "0";
req_one_access_txt = "8;24"
/obj/machinery/button/door/incinerator_vent_toxmix{
pixel_y = -24
},
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -33044,14 +33088,9 @@
pixel_x = -6;
pixel_y = -24
},
/obj/machinery/doorButtons/airlock_controller{
idExterior = "tox_airlock_exterior";
idInterior = "tox_airlock_interior";
idSelf = "tox_access_control";
name = "Mixing Chamber Access Console";
/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_toxmix{
pixel_x = 6;
pixel_y = -26;
req_access_txt = "0"
pixel_y = -26
},
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -33068,9 +33107,15 @@
dir = 2;
name = "Incinerator Output Pump"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/turf/open/floor/plasteel,
/area/science/mixing)
"bHD" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/turf/open/floor/plasteel/purple/side,
/area/science/mixing)
"bHE" = (
@@ -33081,6 +33126,9 @@
/obj/effect/turf_decal/bot{
dir = 2
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 9
},
/turf/open/floor/plasteel/purple/side,
/area/science/mixing)
"bHI" = (
@@ -33115,6 +33163,10 @@
},
/turf/open/space/basic,
/area/space/nearstation)
"bHP" = (
/obj/effect/decal/cleanable/cobweb,
/turf/open/floor/plasteel/dark,
/area/maintenance/department/engine)
"bHQ" = (
/turf/open/floor/plasteel/dark,
/area/maintenance/department/engine)
@@ -33515,15 +33567,7 @@
/area/science/mixing)
"bIL" = (
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/public/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "tox_airlock_interior";
name = "Interior Airlock";
req_access_txt = "8";
req_one_access_txt = "0"
},
/obj/machinery/door/airlock/research/glass/incinerator/toxmix_interior,
/obj/effect/mapping_helpers/airlock/cyclelink_helper,
/turf/open/floor/engine,
/area/science/mixing)
@@ -33954,36 +33998,33 @@
/obj/machinery/atmospherics/components/binary/pump/on{
dir = 2
},
/obj/machinery/doorButtons/access_button{
idDoor = "tox_airlock_exterior";
idSelf = "tox_access_control";
layer = 3.1;
name = "airlock control";
pixel_x = 8;
pixel_y = -24
},
/obj/machinery/light/small{
dir = 8
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/machinery/airlock_sensor/incinerator_toxmix{
pixel_x = -24
},
/turf/open/floor/engine,
/area/science/mixing)
"bJR" = (
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_toxmix{
dir = 8
},
/turf/open/floor/engine,
/area/science/mixing)
"bJS" = (
/obj/machinery/atmospherics/components/binary/pump{
dir = 1
},
/obj/machinery/doorButtons/access_button{
idDoor = "tox_airlock_interior";
idSelf = "tox_access_control";
name = "airlock control";
pixel_x = -8;
pixel_y = 24
},
/obj/machinery/light/small{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/turf/open/floor/engine,
/area/science/mixing)
"bJT" = (
@@ -34467,15 +34508,7 @@
/area/engine/atmos)
"bLf" = (
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/public/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "tox_airlock_exterior";
name = "Exterior Airlock";
req_access_txt = "8";
req_one_access_txt = "0"
},
/obj/machinery/door/airlock/research/glass/incinerator/toxmix_exterior,
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 1
},
@@ -35680,10 +35713,7 @@
/turf/closed/wall/r_wall,
/area/science/mixing)
"bOt" = (
/obj/machinery/door/poddoor{
id = "toxvent";
name = "Aft Vent"
},
/obj/machinery/door/poddoor/incinerator_toxmix,
/turf/open/floor/engine/vacuum,
/area/science/mixing)
"bOu" = (
@@ -40308,19 +40338,13 @@
dir = 8;
id = "incineratorturbine"
},
/obj/machinery/button/door{
id = "turbinevent";
name = "Outtake Vent Control";
/obj/machinery/button/door/incinerator_vent_atmos_main{
pixel_x = 24;
pixel_y = 6;
req_one_access_txt = "8;24"
pixel_y = 6
},
/obj/machinery/button/door{
id = "mixvent";
name = "Intake Vent Control";
/obj/machinery/button/door/incinerator_vent_atmos_aux{
pixel_x = 24;
pixel_y = -6;
req_one_access_txt = "8;24"
pixel_y = -6
},
/turf/open/floor/plasteel/darkyellow/side{
dir = 4
@@ -40340,6 +40364,9 @@
dir = 1
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/airlock_sensor/incinerator_atmos{
pixel_y = 22
},
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
"bZT" = (
@@ -40607,24 +40634,10 @@
icon_state = "4-8"
},
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/public/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "incinerator_airlock_interior";
name = "Turbine Interior Airlock";
req_access_txt = "24"
},
/obj/machinery/embedded_controller/radio/airlock_controller{
airpump_tag = "incinerator_airlock_pump";
exterior_door_tag = "incinerator_airlock_exterior";
id_tag = "incinerator_airlock_control";
interior_door_tag = "incinerator_airlock_interior";
name = "Incinerator Access Console";
/obj/machinery/door/airlock/public/glass/incinerator/atmos_interior,
/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_atmos{
pixel_x = -6;
pixel_y = -26;
sanitize_external = 1;
sensor_tag = "incinerator_airlock_sensor"
pixel_y = -26
},
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
@@ -40632,10 +40645,8 @@
/obj/structure/cable/yellow{
icon_state = "4-8"
},
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume{
dir = 2;
frequency = 1449;
id = "incinerator_airlock_pump"
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_atmos{
dir = 2
},
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
@@ -40644,23 +40655,14 @@
icon_state = "4-8"
},
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/public/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "incinerator_airlock_exterior";
name = "Turbine Exterior Airlock";
req_access_txt = "24"
},
/obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior,
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
"caO" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
},
/obj/machinery/igniter{
id = "Incinerator"
},
/obj/machinery/igniter/incinerator_atmos,
/obj/machinery/air_sensor/atmos/incinerator_tank{
pixel_x = 32;
pixel_y = -32
@@ -40697,10 +40699,7 @@
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
"caR" = (
/obj/machinery/door/poddoor{
id = "turbinevent";
name = "Outtake Vent"
},
/obj/machinery/door/poddoor/incinerator_atmos_main,
/turf/open/floor/engine/vacuum,
/area/maintenance/disposal/incinerator)
"caS" = (
@@ -40920,8 +40919,7 @@
/turf/open/floor/plasteel/dark,
/area/maintenance/disposal/incinerator)
"cbC" = (
/obj/machinery/button/ignition{
id = "Incinerator";
/obj/machinery/button/ignition/incinerator/atmos{
pixel_x = 26;
pixel_y = -6
},
@@ -40945,12 +40943,6 @@
},
/obj/machinery/light/small,
/obj/machinery/atmospherics/pipe/simple/general/hidden,
/obj/machinery/airlock_sensor{
id_tag = "incinerator_airlock_sensor";
master_tag = "incinerator_airlock_control";
pixel_x = -26;
pixel_y = 8
},
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
"cbF" = (
@@ -41194,10 +41186,7 @@
},
/area/maintenance/disposal/incinerator)
"ccs" = (
/obj/machinery/door/poddoor{
id = "mixvent";
name = "Intake Vent"
},
/obj/machinery/door/poddoor/incinerator_atmos_aux,
/turf/open/floor/engine/vacuum,
/area/maintenance/disposal/incinerator)
"ccu" = (
@@ -43077,6 +43066,19 @@
},
/turf/open/floor/plasteel/dark,
/area/chapel/main/monastery)
"cjO" = (
/obj/effect/decal/cleanable/cobweb{
icon_state = "cobweb2"
},
/obj/item/stack/sheet/glass/fifty{
layer = 4
},
/obj/item/stack/sheet/metal{
amount = 20;
layer = 3.1
},
/turf/open/floor/plating,
/area/maintenance/department/chapel/monastery)
"cjP" = (
/obj/item/twohanded/required/kirbyplants{
icon_state = "plant-22"
@@ -46986,10 +46988,7 @@
/turf/open/floor/plasteel/dark,
/area/library)
"cBk" = (
/obj/machinery/vending/boozeomat{
products = list(/obj/item/reagent_containers/food/drinks/bottle/whiskey = 1, /obj/item/reagent_containers/food/drinks/bottle/absinthe = 1, /obj/item/reagent_containers/food/drinks/bottle/limejuice = 1, /obj/item/reagent_containers/food/drinks/bottle/cream = 1, /obj/item/reagent_containers/food/drinks/soda_cans/tonic = 1, /obj/item/reagent_containers/food/drinks/drinkingglass = 10, /obj/item/reagent_containers/food/drinks/ice = 3, /obj/item/reagent_containers/food/drinks/drinkingglass/shotglass = 6, /obj/item/reagent_containers/food/drinks/flask = 1);
req_access_txt = "0"
},
/obj/machinery/vending/boozeomat/maint,
/turf/closed/wall,
/area/maintenance/department/crew_quarters/dorms)
"cBl" = (
@@ -47905,7 +47904,6 @@
/obj/structure/cable{
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/general/hidden,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plating,
/area/maintenance/department/cargo)
@@ -48014,16 +48012,6 @@
},
/turf/open/floor/plating,
/area/engine/engineering)
"eWf" = (
/obj/machinery/light{
dir = 4
},
/obj/machinery/cryopod,
/obj/machinery/computer/cryopod{
pixel_y = 24
},
/turf/open/floor/plasteel/dark,
/area/hallway/primary/central)
"eWi" = (
/obj/structure/reagent_dispensers/fueltank,
/turf/open/floor/plasteel/dark,
@@ -49447,6 +49435,10 @@
},
/turf/closed/wall/r_wall,
/area/engine/engineering)
"jqN" = (
/obj/effect/spawner/lootdrop/keg,
/turf/open/floor/wood,
/area/maintenance/department/crew_quarters/dorms)
"jrG" = (
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -49729,6 +49721,12 @@
icon_state = "platingdmg3"
},
/area/maintenance/department/engine)
"kfh" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 9
},
/turf/closed/wall/r_wall,
/area/science/mixing)
"kfM" = (
/obj/structure/closet,
/obj/machinery/light/small{
@@ -49793,6 +49791,10 @@
/obj/item/clothing/under/rank/clown/sexy,
/turf/open/floor/plasteel/dark,
/area/maintenance/department/crew_quarters/dorms)
"kmn" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/white,
/area/science/mixing)
"knw" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -49835,9 +49837,6 @@
dir = 9
},
/area/chapel/office)
"kwI" = (
/turf/open/floor/plasteel,
/area/science/mixing)
"kxj" = (
/obj/structure/chair/office/dark{
dir = 1
@@ -50732,6 +50731,12 @@
/obj/item/stack/spacecash/c10,
/turf/open/floor/plasteel/dark,
/area/maintenance/department/crew_quarters/dorms)
"noM" = (
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 1
},
/turf/open/floor/plasteel,
/area/science/mixing)
"npE" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plating,
@@ -50769,6 +50774,12 @@
},
/turf/open/floor/plasteel,
/area/construction/mining/aux_base)
"nsD" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 6
},
/turf/closed/wall/r_wall,
/area/science/mixing)
"ntj" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -50991,11 +51002,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/wood,
/area/lawoffice)
"nSH" = (
/obj/effect/decal/cleanable/cobweb,
/obj/machinery/vending/kink,
/turf/open/floor/plasteel/dark,
/area/maintenance/department/engine)
"nVU" = (
/obj/item/twohanded/spear,
/turf/open/floor/plating,
@@ -51957,15 +51963,6 @@
},
/turf/open/floor/plating,
/area/crew_quarters/heads/chief)
"qHi" = (
/obj/structure/table,
/obj/machinery/light{
dir = 4
},
/obj/item/crowbar,
/obj/item/taperecorder,
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"qHI" = (
/obj/structure/disposalpipe/segment{
dir = 9
@@ -52329,6 +52326,11 @@
"rHA" = (
/turf/open/floor/plasteel,
/area/construction/mining/aux_base)
"rHP" = (
/obj/structure/lattice,
/obj/structure/reagent_dispensers/keg/aphro/strong,
/turf/open/space,
/area/space/nearstation)
"rJg" = (
/obj/machinery/atmospherics/pipe/simple/cyan/hidden,
/obj/machinery/light/small{
@@ -52354,7 +52356,7 @@
width = 9
},
/turf/open/floor/plating,
/area/shuttle/auxillary_base)
/area/construction/mining/aux_base)
"rKr" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -52407,6 +52409,10 @@
},
/turf/open/floor/plating/airless,
/area/engine/engineering)
"rPW" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/closed/wall/r_wall,
/area/science/mixing)
"rSH" = (
/obj/item/trash/can,
/turf/open/floor/wood,
@@ -52449,7 +52455,7 @@
/turf/open/floor/plating,
/area/engine/engineering)
"sbk" = (
/obj/structure/girder,
/obj/machinery/vending/kink,
/turf/open/floor/plating,
/area/maintenance/department/crew_quarters/dorms)
"sbY" = (
@@ -53020,6 +53026,10 @@
},
/turf/open/floor/plating/airless,
/area/engine/engineering)
"ubW" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/closed/wall/r_wall,
/area/science/mixing)
"uek" = (
/obj/structure/rack,
/obj/effect/spawner/lootdrop/maintenance{
@@ -53135,7 +53145,7 @@
/area/construction/mining/aux_base)
"uoS" = (
/turf/open/floor/plating,
/area/shuttle/auxillary_base)
/area/construction/mining/aux_base)
"uqJ" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable,
@@ -54302,6 +54312,12 @@
},
/turf/open/floor/plasteel/dark/telecomms,
/area/tcommsat/server)
"xIx" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 5
},
/turf/closed/wall/r_wall,
/area/science/mixing)
"xJy" = (
/obj/structure/chair/comfy/black,
/obj/structure/sign/plaques/atmos{
@@ -54404,6 +54420,10 @@
},
/turf/open/floor/plasteel,
/area/science/xenobiology)
"yap" = (
/obj/machinery/computer/cryopod,
/turf/closed/wall,
/area/crew_quarters/dorms)
"ybX" = (
/obj/structure/table,
/obj/effect/spawner/lootdrop/maintenance,
@@ -54452,65 +54472,6 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/dark,
/area/engine/engineering)
"yzM" = (
/obj/machinery/light/small,
/obj/item/storage/box/mousetraps,
/turf/open/floor/plating,
/area/maintenance/department/security/brig)
"Drm" = (
/obj/effect/turf_decal/stripes/corner,
/turf/open/floor/plasteel/green/corner,
/area/hallway/primary/central)
"EjC" = (
/obj/machinery/cryopod,
/turf/open/floor/plasteel/dark,
/area/hallway/primary/central)
"JAb" = (
/obj/structure/cable{
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/item/taperecorder,
/turf/open/floor/plating,
/area/storage/emergency/starboard)
"KhG" = (
/obj/machinery/vending/kink,
/turf/open/floor/plating,
/area/maintenance/department/security/brig)
"QYc" = (
/obj/machinery/vending/kink,
/obj/effect/decal/cleanable/cobweb{
icon_state = "cobweb2"
},
/turf/open/floor/plating,
/area/maintenance/department/chapel/monastery)
"RST" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/turf/open/floor/plasteel/green/side{
dir = 4
},
/area/hallway/primary/central)
"Xmf" = (
/obj/item/stack/sheet/metal{
amount = 20;
layer = 3.1
},
/obj/item/stack/sheet/glass/fifty{
layer = 4
},
/turf/open/floor/plating,
/area/maintenance/department/chapel/monastery)
"YSB" = (
/obj/machinery/vending/kink,
/turf/closed/wall,
/area/storage/emergency/starboard)
"Zud" = (
/obj/machinery/vending/kink,
/obj/machinery/vending/kink,
/turf/open/floor/plasteel/arrival,
/area/crew_quarters/fitness/recreation)
(1,1,1) = {"
aaa
@@ -70775,7 +70736,7 @@ aaa
aaa
ait
aiV
KhG
ajB
akr
aiu
ait
@@ -71149,7 +71110,7 @@ cvw
cvI
ckQ
clf
Xmf
cwA
cwA
cwS
cjm
@@ -71290,7 +71251,7 @@ aaa
aiu
aiX
ajD
yzM
aks
aiu
ait
ait
@@ -71405,7 +71366,7 @@ cgG
cfn
ciR
cwa
QYc
cjO
ckk
ckC
ckR
@@ -75731,7 +75692,7 @@ bDg
bEj
bFF
bva
nSH
bHP
bJb
bJb
bJb
@@ -88728,7 +88689,7 @@ aaa
aaa
aaa
aby
abI
rHP
abO
abX
acg
@@ -90583,12 +90544,12 @@ awd
abI
awd
aAM
qHi
aBK
aDa
aEb
Drm
RST
RST
aAM
aFD
aDa
aAN
aIf
aJe
@@ -90844,8 +90805,8 @@ awd
awd
aAN
aAN
eWf
EjC
awd
awd
aAN
aIg
aJf
@@ -91100,10 +91061,10 @@ aaa
aaa
aaa
aaa
aAN
aAN
aAN
aAN
aaa
aaa
aaa
awd
aHN
aIU
aJI
@@ -91381,7 +91342,7 @@ aPY
bau
aLf
aFi
bdA
aFi
beI
beI
bgD
@@ -91591,7 +91552,7 @@ cBo
alQ
alb
cBw
alb
jqN
aiS
aiS
aiS
@@ -92387,7 +92348,7 @@ aDd
apX
aEU
aFE
JAb
aGA
aHn
aIi
aJi
@@ -92901,7 +92862,7 @@ com
apX
aET
lKL
YSB
aET
aET
aHN
aIU
@@ -94688,7 +94649,7 @@ aaa
aaa
apX
apX
apX
yap
avl
fIu
dbi
@@ -95003,7 +94964,7 @@ bAF
bBK
bCW
bDV
bFg
bFh
bGm
bHy
aaa
@@ -95209,7 +95170,7 @@ axw
ayu
azC
axw
Zud
aBT
atn
aEf
aFc
@@ -95260,7 +95221,7 @@ bAF
bBL
bCW
bDW
bFh
kmn
bGn
bHy
aaa
@@ -96547,9 +96508,9 @@ bDa
bEa
bFm
bGs
bHy
bHy
bHy
ubW
ubW
xIx
bHy
bHy
bHy
@@ -97575,9 +97536,9 @@ bHy
bHy
bHy
bGw
bHy
bHy
bHy
nsD
rPW
kfh
bHy
bHy
bHy
@@ -97832,7 +97793,7 @@ bwm
glf
bFr
qtA
kwI
khk
bIN
dAF
bCV
@@ -98602,7 +98563,7 @@ nev
hgD
bEf
bFu
khk
noM
bHE
bJV
bLh
File diff suppressed because it is too large Load Diff
+2 -7
View File
@@ -1,4 +1,4 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"b" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -44,10 +44,6 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plating,
/area/shuttle/auxillary_base)
"y" = (
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plating,
/area/shuttle/auxillary_base)
"z" = (
/obj/machinery/light{
dir = 8
@@ -82,7 +78,6 @@
/area/shuttle/auxillary_base)
"X" = (
/obj/machinery/camera{
c_tag = "Auxillary Mining Base";
dir = 1
},
/obj/structure/mining_shuttle_beacon,
@@ -142,7 +137,7 @@ P
k
k
k
y
x
"}
(6,1,1) = {"
v
+149
View File
@@ -0,0 +1,149 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"b" = (
/obj/effect/turf_decal/stripes/line{
dir = 9
},
/obj/structure/ore_box,
/turf/open/floor/plating,
/area/shuttle/auxillary_base)
"c" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
},
/turf/open/floor/plating,
/area/shuttle/auxillary_base)
"d" = (
/obj/effect/turf_decal/stripes/line{
dir = 5
},
/turf/open/floor/plating,
/area/shuttle/auxillary_base)
"e" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
},
/turf/open/floor/plating,
/area/shuttle/auxillary_base)
"f" = (
/turf/open/floor/plating,
/area/shuttle/auxillary_base)
"g" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/turf/open/floor/plating,
/area/shuttle/auxillary_base)
"h" = (
/obj/machinery/camera{
dir = 1
},
/obj/structure/mining_shuttle_beacon,
/turf/open/floor/plating,
/area/shuttle/auxillary_base)
"i" = (
/obj/machinery/light{
dir = 4
},
/turf/open/floor/plating,
/area/shuttle/auxillary_base)
"j" = (
/obj/docking_port/mobile/auxillary_base{
dheight = 4;
dir = 2;
dwidth = 4;
height = 9;
width = 9;
timid = 1
},
/obj/machinery/bluespace_beacon,
/obj/machinery/computer/auxillary_base,
/turf/closed/wall,
/area/shuttle/auxillary_base)
"k" = (
/obj/machinery/light{
dir = 8
},
/turf/open/floor/plating,
/area/shuttle/auxillary_base)
"l" = (
/obj/machinery/portable_atmospherics/canister/air,
/obj/effect/turf_decal/stripes/line{
dir = 10
},
/turf/open/floor/plating,
/area/shuttle/auxillary_base)
"m" = (
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plating,
/area/shuttle/auxillary_base)
"n" = (
/obj/structure/closet/secure_closet/miner/unlocked,
/obj/effect/turf_decal/stripes/line{
dir = 6
},
/turf/open/floor/plating,
/area/shuttle/auxillary_base)
(1,1,1) = {"
b
e
e
e
e
e
l
"}
(2,1,1) = {"
c
f
f
f
f
f
m
"}
(3,1,1) = {"
c
f
f
i
f
f
m
"}
(4,1,1) = {"
c
f
h
j
f
f
m
"}
(5,1,1) = {"
c
f
f
k
f
f
m
"}
(6,1,1) = {"
c
f
f
f
f
f
m
"}
(7,1,1) = {"
d
g
g
g
g
g
n
"}
+2 -2
View File
@@ -411,12 +411,12 @@
/area/shuttle/syndicate/airlock)
"bi" = (
/obj/structure/rack,
/obj/item/clothing/suit/space/syndicate/black/red,
/obj/item/clothing/head/helmet/space/syndicate/black/red,
/obj/effect/turf_decal/bot_white,
/obj/effect/turf_decal/stripes/line{
dir = 10
},
/obj/item/clothing/suit/space/syndicate,
/obj/item/clothing/head/helmet/space/syndicate,
/turf/open/floor/mineral/plastitanium,
/area/shuttle/syndicate/airlock)
"bj" = (
+2 -2
View File
@@ -19,8 +19,8 @@
#define NEW_SS_GLOBAL(varname) if(varname != src){if(istype(varname)){Recover();qdel(varname);}varname = src;}
#define START_PROCESSING(Processor, Datum) if (!Datum.isprocessing) {Datum.isprocessing = TRUE;Processor.processing += Datum}
#define STOP_PROCESSING(Processor, Datum) Datum.isprocessing = FALSE;Processor.processing -= Datum
#define START_PROCESSING(Processor, Datum) if (!(Datum.datum_flags & DF_ISPROCESSING)) {Datum.datum_flags |= DF_ISPROCESSING;Processor.processing += Datum}
#define STOP_PROCESSING(Processor, Datum) Datum.datum_flags &= ~DF_ISPROCESSING;Processor.processing -= Datum
//SubSystem flags (Please design any new flags so that the default is off, to make adding flags to subsystems easier)
+3
View File
@@ -58,7 +58,9 @@
#define ADMIN_FULLMONTY(user) "[key_name_admin(user)] [ADMIN_FULLMONTY_NONAME(user)]"
#define ADMIN_JMP(src) "(<a href='?_src_=holder;[HrefToken(TRUE)];adminplayerobservecoodjump=1;X=[src.x];Y=[src.y];Z=[src.z]'>JMP</a>)"
#define COORD(src) "[src ? "([src.x],[src.y],[src.z])" : "nonexistent location"]"
#define AREACOORD(src) "[src ? "[get_area_name(src, TRUE)] ([src.x], [src.y], [src.z])" : "nonexistent location"]"
#define ADMIN_COORDJMP(src) "[src ? "[COORD(src)] [ADMIN_JMP(src)]" : "nonexistent location"]"
#define ADMIN_VERBOSEJMP(src) "[src ? "[AREACOORD(src)] [ADMIN_JMP(src)]" : "nonexistent location"]"
#define ADMIN_INDIVIDUALLOG(user) "(<a href='?_src_=holder;[HrefToken(TRUE)];individuallog=[REF(user)]'>LOGS</a>)"
#define ADMIN_PUNISHMENT_LIGHTNING "Lightning bolt"
@@ -67,6 +69,7 @@
#define ADMIN_PUNISHMENT_BSA "Bluespace Artillery Device"
#define ADMIN_PUNISHMENT_FIREBALL "Fireball"
#define ADMIN_PUNISHMENT_ROD "Immovable Rod"
#define ADMIN_PUNISHMENT_SUPPLYPOD "Supply Pod"
#define AHELP_ACTIVE 1
#define AHELP_CLOSED 2
+31
View File
@@ -194,6 +194,37 @@
#define ATMOS_GAS_MONITOR_WASTE_ENGINE "engine-waste_out"
#define ATMOS_GAS_MONITOR_WASTE_ATMOS "atmos-waste_out"
//AIRLOCK CONTROLLER TAGS
//RnD toxins burn chamber
#define INCINERATOR_TOXMIX_IGNITER "toxmix_igniter"
#define INCINERATOR_TOXMIX_VENT "toxmix_vent"
#define INCINERATOR_TOXMIX_DP_VENTPUMP "toxmix_airlock_pump"
#define INCINERATOR_TOXMIX_AIRLOCK_SENSOR "toxmix_airlock_sensor"
#define INCINERATOR_TOXMIX_AIRLOCK_CONTROLLER "toxmix_airlock_controller"
#define INCINERATOR_TOXMIX_AIRLOCK_INTERIOR "toxmix_airlock_interior"
#define INCINERATOR_TOXMIX_AIRLOCK_EXTERIOR "toxmix_airlock_exterior"
//Atmospherics/maintenance incinerator
#define INCINERATOR_ATMOS_IGNITER "atmos_incinerator_igniter"
#define INCINERATOR_ATMOS_MAINVENT "atmos_incinerator_mainvent"
#define INCINERATOR_ATMOS_AUXVENT "atmos_incinerator_auxvent"
#define INCINERATOR_ATMOS_DP_VENTPUMP "atmos_incinerator_airlock_pump"
#define INCINERATOR_ATMOS_AIRLOCK_SENSOR "atmos_incinerator_airlock_sensor"
#define INCINERATOR_ATMOS_AIRLOCK_CONTROLLER "atmos_incinerator_airlock_controller"
#define INCINERATOR_ATMOS_AIRLOCK_INTERIOR "atmos_incinerator_airlock_interior"
#define INCINERATOR_ATMOS_AIRLOCK_EXTERIOR "atmos_incinerator_airlock_exterior"
//Syndicate lavaland base incinerator (lavaland_surface_syndicate_base1.dmm)
#define INCINERATOR_SYNDICATELAVA_IGNITER "syndicatelava_igniter"
#define INCINERATOR_SYNDICATELAVA_MAINVENT "syndicatelava_mainvent"
#define INCINERATOR_SYNDICATELAVA_AUXVENT "syndicatelava_auxvent"
#define INCINERATOR_SYNDICATELAVA_DP_VENTPUMP "syndicatelava_airlock_pump"
#define INCINERATOR_SYNDICATELAVA_AIRLOCK_SENSOR "syndicatelava_airlock_sensor"
#define INCINERATOR_SYNDICATELAVA_AIRLOCK_CONTROLLER "syndicatelava_airlock_controller"
#define INCINERATOR_SYNDICATELAVA_AIRLOCK_INTERIOR "syndicatelava_airlock_interior"
#define INCINERATOR_SYNDICATELAVA_AIRLOCK_EXTERIOR "syndicatelava_airlock_exterior"
//MULTIPIPES
//IF YOU EVER CHANGE THESE CHANGE SPRITES TO MATCH.
#define PIPING_LAYER_MIN 1
-5
View File
@@ -45,11 +45,6 @@
#define GLASS_CORE 4
#define AI_READY_CORE 5
//emitter construction defines
#define EM_UNSECURED 0
#define EM_SECURED 1
#define EM_WELDED 2
//Construction defines for the pinion airlock
#define GEAR_SECURE 1
#define GEAR_LOOSE 2
+1
View File
@@ -9,6 +9,7 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
// for /datum/var/datum_flags
#define DF_USE_TAG (1<<0)
#define DF_VAR_EDITED (1<<1)
#define DF_ISPROCESSING (1<<2)
//FLAGS BITMASK
+4 -1
View File
@@ -20,4 +20,7 @@
#define INDIVIDUAL_SAY_LOG "Say log"
#define INDIVIDUAL_EMOTE_LOG "Emote log"
#define INDIVIDUAL_OOC_LOG "OOC log"
#define INDIVIDUAL_SHOW_ALL_LOG "All logs"
#define INDIVIDUAL_OWNERSHIP_LOG "Ownership log"
#define INDIVIDUAL_SHOW_ALL_LOG "All logs"
#define LOGSRC_CLIENT "Client"
#define LOGSRC_MOB "Mob"
+2
View File
@@ -254,6 +254,8 @@ GLOBAL_LIST_INIT(ghost_others_options, list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE
#define ORBITRON "Orbitron"
#define SHARE "Share Tech Mono"
GLOBAL_LIST_INIT(pda_styles, list(MONO, VT, ORBITRON, SHARE))
//Color Defines
#define OOC_COLOR "#002eb8"
+2 -1
View File
@@ -42,5 +42,6 @@
last_huge_pulse = world.time
log = TRUE
if(log)
log_game("Radiation pulse with intensity:[intensity] and range modifier:[range_modifier] in area [get_area(source)] ")
var/turf/_source_T = isturf(source) ? source : get_turf(source)
log_game("Radiation pulse with intensity: [intensity] and range modifier: [range_modifier] in [AREACOORD(_source_T)] ")
return TRUE
+2 -1
View File
@@ -35,7 +35,8 @@ GLOBAL_LIST_INIT(bitfields, list(
),
"datum_flags" = list(
"DF_USE_TAG" = DF_USE_TAG,
"DF_VAR_EDITED" = DF_VAR_EDITED
"DF_VAR_EDITED" = DF_VAR_EDITED,
"DF_ISPROCESSING" = DF_ISPROCESSING,
),
"item_flags" = list(
"BEING_REMOVED" = BEING_REMOVED,
-2
View File
@@ -41,6 +41,4 @@ GLOBAL_PROTECT(OOClog)
GLOBAL_LIST_EMPTY(adminlog)
GLOBAL_PROTECT(adminlog)
GLOBAL_LIST_EMPTY(individual_log_list) // Logs each mob individual logs, a global so it doesn't get lost on cloning/changing mobs
GLOBAL_LIST_EMPTY(active_turfs_startlist)
+10 -2
View File
@@ -26,6 +26,14 @@
return
next_click = world.time + 1
if(multicam_on)
var/turf/T = get_turf(A)
if(T)
for(var/obj/screen/movable/pic_in_pic/ai/P in T.vis_locs)
if(P.ai == src)
P.Click(params)
break
if(check_click_intercept(params,A))
return
@@ -38,8 +46,8 @@
if(!can_see(A))
if(isturf(A)) //On unmodified clients clicking the static overlay clicks the turf underneath
return //So there's no point messaging admins
message_admins("[key_name_admin(src)] might be running a modified client! (failed can_see on AI click of [A]([ADMIN_COORDJMP(pixel_turf)]))")
var/message = "[key_name(src)] might be running a modified client! (failed can_see on AI click of [A]([COORD(pixel_turf)]))"
message_admins("[ADMIN_LOOKUPFLW(src)] might be running a modified client! (failed can_see on AI click of [A] (Turf Loc: [ADMIN_VERBOSEJMP(pixel_turf)]))")
var/message = "[key_name(src)] might be running a modified client! (failed can_see on AI click of [A] (Turf Loc: [AREACOORD(pixel_turf)]))"
log_admin(message)
if(REALTIMEOFDAY >= chnotify + 9000)
chnotify = REALTIMEOFDAY
+2
View File
@@ -134,6 +134,8 @@
#define ui_ai_take_picture "SOUTH:6,WEST+12"
#define ui_ai_view_images "SOUTH:6,WEST+13"
#define ui_ai_sensor "SOUTH:6,WEST+14"
#define ui_ai_multicam "SOUTH+1:6,WEST+13"
#define ui_ai_add_multicam "SOUTH+1:6,WEST+14"
//Pop-up inventory
#define ui_shoes "WEST+1:8,SOUTH:5"
+29 -1
View File
@@ -164,6 +164,26 @@
var/mob/living/silicon/S = usr
S.toggle_sensors()
/obj/screen/ai/multicam
name = "Multicamera Mode"
icon_state = "multicam"
/obj/screen/ai/multicam/Click()
if(..())
return
var/mob/living/silicon/ai/AI = usr
AI.toggle_multicam()
/obj/screen/ai/add_multicam
name = "New Camera"
icon_state = "new_cam"
/obj/screen/ai/add_multicam/Click()
if(..())
return
var/mob/living/silicon/ai/AI = usr
AI.drop_new_multicam()
/datum/hud/ai
ui_style_icon = 'icons/mob/screen_ai.dmi'
@@ -247,12 +267,20 @@
using.screen_loc = ui_ai_view_images
static_inventory += using
//Medical/Security sensors
using = new /obj/screen/ai/sensors()
using.screen_loc = ui_ai_sensor
static_inventory += using
//Multicamera mode
using = new /obj/screen/ai/multicam()
using.screen_loc = ui_ai_multicam
static_inventory += using
//Add multicamera camera
using = new /obj/screen/ai/add_multicam()
using.screen_loc = ui_ai_add_multicam
static_inventory += using
/mob/living/silicon/ai/create_mob_hud()
if(client && !hud_used)
+4 -2
View File
@@ -12,6 +12,8 @@
var/snap2grid = FALSE
var/moved = FALSE
var/locked = FALSE
var/x_off = -16
var/y_off = -16
//Snap Screen Object
//Tied to the grid, snaps to the nearest turf
@@ -42,8 +44,8 @@
screen_loc = "[screen_loc_X[1]],[screen_loc_Y[1]]"
else //Normalise Pixel Values (So the object drops at the center of the mouse, not 16 pixels off)
var/pix_X = text2num(screen_loc_X[2]) - 16
var/pix_Y = text2num(screen_loc_Y[2]) - 16
var/pix_X = text2num(screen_loc_X[2]) + x_off
var/pix_Y = text2num(screen_loc_Y[2]) + y_off
screen_loc = "[screen_loc_X[1]]:[pix_X],[screen_loc_Y[1]]:[pix_Y]"
moved = screen_loc
+144
View File
@@ -0,0 +1,144 @@
/obj/screen/movable/pic_in_pic
name = "Picture-in-picture"
screen_loc = "CENTER"
plane = FLOOR_PLANE
var/atom/center
var/width = 0
var/height = 0
var/list/shown_to = list()
var/list/viewing_turfs = list()
var/obj/screen/component_button/button_x
var/obj/screen/component_button/button_expand
var/obj/screen/component_button/button_shrink
var/mutable_appearance/standard_background
var/const/max_dimensions = 10
/obj/screen/movable/pic_in_pic/Initialize()
. = ..()
make_backgrounds()
/obj/screen/movable/pic_in_pic/Destroy()
for(var/C in shown_to)
unshow_to(C)
QDEL_NULL(button_x)
QDEL_NULL(button_shrink)
QDEL_NULL(button_expand)
return ..()
/obj/screen/movable/pic_in_pic/component_click(obj/screen/component_button/component, params)
if(component == button_x)
qdel(src)
else if(component == button_expand)
set_view_size(width+1, height+1)
else if(component == button_shrink)
set_view_size(width-1, height-1)
/obj/screen/movable/pic_in_pic/proc/make_backgrounds()
standard_background = new /mutable_appearance()
standard_background.icon = 'icons/misc/pic_in_pic.dmi'
standard_background.icon_state = "background"
standard_background.layer = SPACE_LAYER
/obj/screen/movable/pic_in_pic/proc/add_buttons()
var/static/mutable_appearance/move_tab
if(!move_tab)
move_tab = new /mutable_appearance()
//all these properties are always the same, and since adding something to the overlay
//list makes a copy, there is no reason to make a new one each call
move_tab.icon = 'icons/misc/pic_in_pic.dmi'
move_tab.icon_state = "move"
move_tab.plane = HUD_PLANE
var/matrix/M = matrix()
M.Translate(0, (height + 0.25) * world.icon_size)
move_tab.transform = M
add_overlay(move_tab)
if(!button_x)
button_x = new /obj/screen/component_button(null, src)
var/mutable_appearance/MA = new /mutable_appearance()
MA.name = "close"
MA.icon = 'icons/misc/pic_in_pic.dmi'
MA.icon_state = "x"
MA.plane = HUD_PLANE
button_x.appearance = MA
M = matrix()
M.Translate((max(4, width) - 0.75) * world.icon_size, (height + 0.25) * world.icon_size)
button_x.transform = M
vis_contents += button_x
if(!button_expand)
button_expand = new /obj/screen/component_button(null, src)
var/mutable_appearance/MA = new /mutable_appearance()
MA.name = "expand"
MA.icon = 'icons/misc/pic_in_pic.dmi'
MA.icon_state = "expand"
MA.plane = HUD_PLANE
button_expand.appearance = MA
M = matrix()
M.Translate(world.icon_size, (height + 0.25) * world.icon_size)
button_expand.transform = M
vis_contents += button_expand
if(!button_shrink)
button_shrink = new /obj/screen/component_button(null, src)
var/mutable_appearance/MA = new /mutable_appearance()
MA.name = "shrink"
MA.icon = 'icons/misc/pic_in_pic.dmi'
MA.icon_state = "shrink"
MA.plane = HUD_PLANE
button_shrink.appearance = MA
M = matrix()
M.Translate(2 * world.icon_size, (height + 0.25) * world.icon_size)
button_shrink.transform = M
vis_contents += button_shrink
/obj/screen/movable/pic_in_pic/proc/add_background()
if((width > 0) && (height > 0))
var/matrix/M = matrix()
M.Scale(width + 0.5, height + 0.5)
M.Translate((width-1)/2 * world.icon_size, (height-1)/2 * world.icon_size)
standard_background.transform = M
add_overlay(standard_background)
/obj/screen/movable/pic_in_pic/proc/set_view_size(width, height, do_refresh = TRUE)
width = CLAMP(width, 0, max_dimensions)
height = CLAMP(height, 0, max_dimensions)
src.width = width
src.height = height
y_off = -height * world.icon_size - 16
cut_overlays()
add_background()
add_buttons()
if(do_refresh)
refresh_view()
/obj/screen/movable/pic_in_pic/proc/set_view_center(atom/target, do_refresh = TRUE)
center = target
if(do_refresh)
refresh_view()
/obj/screen/movable/pic_in_pic/proc/refresh_view()
vis_contents -= viewing_turfs
if(!width || !height)
return
var/turf/T = get_turf(center)
if(!T)
return
var/turf/lowerleft = locate(max(1, T.x - round(width/2)), max(1, T.y - round(height/2)), T.z)
var/turf/upperright = locate(min(world.maxx, lowerleft.x + width - 1), min(world.maxy, lowerleft.y + height - 1), lowerleft.z)
viewing_turfs = block(lowerleft, upperright)
vis_contents += viewing_turfs
/obj/screen/movable/pic_in_pic/proc/show_to(client/C)
if(C)
shown_to[C] = 1
C.screen += src
/obj/screen/movable/pic_in_pic/proc/unshow_to(client/C)
if(C)
shown_to -= C
C.screen -= src
+15
View File
@@ -30,6 +30,9 @@
/obj/screen/orbit()
return
/obj/screen/proc/component_click(obj/screen/component_button/component, params)
return
/obj/screen/text
icon = null
icon_state = null
@@ -604,3 +607,15 @@
holder.screen -= src
holder = null
return ..()
/obj/screen/component_button
var/obj/screen/parent
/obj/screen/component_button/Initialize(mapload, obj/screen/parent)
. = ..()
src.parent = parent
/obj/screen/component_button/Click(params)
if(parent)
parent.component_click(src, params)
@@ -288,6 +288,11 @@
/datum/config_entry/flag/shift_time_realtime
/datum/config_entry/keyed_number_list/antag_rep
/datum/config_entry/number/monkeycap
config_entry_value = 64
min_val = 0
//Cit changes - Adds config options for crew objectives and miscreants
/datum/config_entry/flag/allow_crew_objectives
@@ -304,4 +309,4 @@
/datum/config_entry/number/nightshift_finish
config_entry_value = 6
//End of Cit changes
//End of Cit changes
+1 -1
View File
@@ -291,4 +291,4 @@ Versioning
var/suicide = sanitizeSQL(L.suiciding)
var/map = sanitizeSQL(SSmapping.config.map_name)
var/datum/DBQuery/query_report_death = SSdbcore.NewQuery("INSERT INTO [format_table_name("death")] (pod, x_coord, y_coord, z_coord, mapname, server_ip, server_port, round_id, tod, job, special, name, byondkey, laname, lakey, bruteloss, fireloss, brainloss, oxyloss, toxloss, cloneloss, staminaloss, last_words, suicide) VALUES ('[sqlpod]', '[x_coord]', '[y_coord]', '[z_coord]', '[map]', INET_ATON(IF('[world.internet_address]' LIKE '', '0', '[world.internet_address]')), '[world.port]', [GLOB.round_id], '[SQLtime()]', '[sqljob]', '[sqlspecial]', '[sqlname]', '[sqlkey]', '[laname]', '[lakey]', [sqlbrute], [sqlfire], [sqlbrain], [sqloxy], [sqltox], [sqlclone], [sqlstamina], '[last_words]', [suicide])")
query_report_death.Execute()
query_report_death.Execute()
+1 -1
View File
@@ -26,7 +26,7 @@ SUBSYSTEM_DEF(communications)
priority_announce(html_decode(user.treat_message(input)), null, 'sound/misc/announce.ogg', "Captain")
nonsilicon_message_cooldown = world.time + COMMUNICATION_COOLDOWN
log_talk(user,"[key_name(user)] has made a priority announcement: [input]",LOGSAY)
message_admins("[key_name_admin(user)] has made a priority announcement.")
message_admins("[ADMIN_LOOKUPFLW(user)] has made a priority announcement.")
/datum/controller/subsystem/communications/proc/send_message(datum/comm_message/sending,print = TRUE,unique = FALSE)
for(var/obj/machinery/computer/communications/C in GLOB.machines)
+16 -6
View File
@@ -6,16 +6,26 @@ SUBSYSTEM_DEF(icon_smooth)
flags = SS_TICKER
var/list/smooth_queue = list()
var/list/deferred = list()
/datum/controller/subsystem/icon_smooth/fire()
while(smooth_queue.len)
var/atom/A = smooth_queue[smooth_queue.len]
smooth_queue.len--
smooth_icon(A)
var/list/cached = smooth_queue
while(cached.len)
var/atom/A = cached[cached.len]
cached.len--
if (A.flags_1 & INITIALIZED_1)
smooth_icon(A)
else
deferred += A
if (MC_TICK_CHECK)
return
if (!smooth_queue.len)
can_fire = 0
if (!cached.len)
if (deferred.len)
smooth_queue = deferred
deferred = cached
else
can_fire = 0
/datum/controller/subsystem/icon_smooth/Initialize()
smooth_zlevel(1,TRUE)
+1 -1
View File
@@ -422,7 +422,7 @@ SUBSYSTEM_DEF(job)
else
M = H
SSpersistence.antag_rep_change[M.client.ckey] += job.antag_rep
SSpersistence.antag_rep_change[M.client.ckey] += job.GetAntagRep()
to_chat(M, "<b>You are the [rank].</b>")
if(job)
+1 -1
View File
@@ -45,7 +45,7 @@ SUBSYSTEM_DEF(machines)
else
processing -= thing
if (!QDELETED(thing))
thing.isprocessing = FALSE
thing.datum_flags &= ~DF_ISPROCESSING
if (MC_TICK_CHECK)
return
+6 -9
View File
@@ -121,7 +121,7 @@ SUBSYSTEM_DEF(mapping)
z_list = SSmapping.z_list
#define INIT_ANNOUNCE(X) to_chat(world, "<span class='boldannounce'>[X]</span>"); log_world(X)
/datum/controller/subsystem/mapping/proc/LoadGroup(list/errorList, name, path, files, list/traits, list/default_traits)
/datum/controller/subsystem/mapping/proc/LoadGroup(list/errorList, name, path, files, list/traits, list/default_traits, silent = FALSE)
var/start_time = REALTIMEOFDAY
if (!islist(files)) // handle single-level maps
@@ -157,8 +157,8 @@ SUBSYSTEM_DEF(mapping)
var/full_path = "_maps/[path]/[file]"
if(!loader.load_map(file(full_path), 0, 0, start_z + files[file], no_changeturf = TRUE))
errorList |= full_path
INIT_ANNOUNCE("Loaded [name] in [(REALTIMEOFDAY - start_time)/10]s!")
if(!silent)
INIT_ANNOUNCE("Loaded [name] in [(REALTIMEOFDAY - start_time)/10]s!")
/datum/controller/subsystem/mapping/proc/loadWorld()
//if any of these fail, something has gone horribly, HORRIBLY, wrong
@@ -187,9 +187,6 @@ SUBSYSTEM_DEF(mapping)
LoadGroup(FailedZs, "Lavaland", "map_files/Mining", "Lavaland.dmm", default_traits = ZTRAITS_LAVALAND)
else if (!isnull(config.minetype))
INIT_ANNOUNCE("WARNING: An unknown minetype '[config.minetype]' was set! This is being ignored! Update the maploader code!")
// load Reebe
LoadGroup(FailedZs, "Reebe", "map_files/generic", "City_of_Cogs.dmm", default_traits = ZTRAITS_REEBE)
#endif
if(LAZYLEN(FailedZs)) //but seriously, unless the server's filesystem is messed up this will never happen
@@ -367,14 +364,14 @@ GLOBAL_LIST_EMPTY(the_station_areas)
away_level = template.load_new_z()
else
return
message_admins("Admin [key_name_admin(usr)] has loaded [away_name] away mission.")
log_admin("Admin [key_name(usr)] has loaded [away_name] away mission.")
if(!away_level)
message_admins("Loading [away_name] failed!")
return
if(GLOB.the_gateway)
//Link any found away gate with station gate
var/obj/machinery/gateway/centeraway/new_gate
-1
View File
@@ -7,7 +7,6 @@ SUBSYSTEM_DEF(mobs)
var/list/currentrun = list()
var/static/list/clients_by_zlevel[][]
var/static/list/cubemonkeys = list()
var/cubemonkeycap = 64
/datum/controller/subsystem/mobs/stat_entry()
..("P:[GLOB.mob_living_list.len]")
@@ -27,7 +27,6 @@ SUBSYSTEM_DEF(processing)
if (MC_TICK_CHECK)
return
/datum/var/isprocessing = FALSE
/datum/proc/process()
set waitfor = 0
STOP_PROCESSING(SSobj, src)
+3 -4
View File
@@ -277,7 +277,7 @@ SUBSYSTEM_DEF(shuttle)
if(call_reason)
SSblackbox.record_feedback("text", "shuttle_reason", 1, "[call_reason]")
log_game("Shuttle call reason: [call_reason]")
message_admins("[key_name_admin(user)] has called the shuttle. (<A HREF='?_src_=holder;[HrefToken()];trigger_centcom_recall=1'>TRIGGER CENTCOM RECALL</A>)")
message_admins("[ADMIN_LOOKUPFLW(user)] has called the shuttle. (<A HREF='?_src_=holder;[HrefToken()];trigger_centcom_recall=1'>TRIGGER CENTCOM RECALL</A>)")
/datum/controller/subsystem/shuttle/proc/centcom_recall(old_timer, admiral_message)
if(emergency.mode != SHUTTLE_CALL || emergency.timer != old_timer)
@@ -310,9 +310,8 @@ SUBSYSTEM_DEF(shuttle)
if(canRecall())
emergency.cancel(get_area(user))
log_game("[key_name(user)] has recalled the shuttle.")
message_admins("[key_name_admin(user)] has recalled the shuttle.")
var/area/A = get_area(user)
deadchat_broadcast("<span class='deadsay'><span class='name'>[user.real_name]</span> has recalled the shuttle at <span class='name'>[A.name]</span>.</span>", user)
message_admins("[ADMIN_LOOKUPFLW(user)] has recalled the shuttle.")
deadchat_broadcast("<span class='deadsay'><span class='name'>[user.real_name]</span> has recalled the shuttle from <span class='name'>[get_area_name(user, TRUE)]</span>.</span>", user)
return 1
/datum/controller/subsystem/shuttle/proc/canRecall()
-13
View File
@@ -564,19 +564,6 @@
/datum/action/innate/proc/Deactivate()
return
//Preset for action that call specific procs (consider innate).
/datum/action/generic
check_flags = 0
var/procname
/datum/action/generic/Trigger()
if(!..())
return 0
if(target && procname)
call(target, procname)(usr)
return 1
//Preset for an action with a cooldown
/datum/action/cooldown
@@ -28,7 +28,7 @@
var/mob/dead/observer/C = pick(candidates)
stranger_backseat.key = C.key
log_game("[key_name(stranger_backseat)] became [key_name(owner)]'s split personality.")
message_admins("[key_name_admin(stranger_backseat)] became [key_name_admin(owner)]'s split personality.")
message_admins("[ADMIN_LOOKUPFLW(stranger_backseat)] became [ADMIN_LOOKUPFLW(owner)]'s split personality.")
else
qdel(src)
+4 -1
View File
@@ -11,13 +11,16 @@
/obj/structure/lattice,
/obj/structure/stone_tile,
/obj/item/projectile,
/obj/effect/projectile,
/obj/effect/portal,
/obj/effect/abstract,
/obj/effect/hotspot,
/obj/effect/landmark,
/obj/effect/temp_visual,
/obj/effect/light_emitter/tendril,
/obj/effect/collapse))
/obj/effect/collapse,
/obj/effect/particle_effect/ion_trails
))
/datum/component/chasm/Initialize(turf/target)
RegisterSignal(list(COMSIG_MOVABLE_CROSSED, COMSIG_ATOM_ENTERED), .proc/Entered)
+3 -3
View File
@@ -1,5 +1,5 @@
/datum/component/riding
var/next_vehicle_move = 0 //used for move delays
var/last_vehicle_move = 0 //used for move delays
var/vehicle_move_delay = 2 //tick delay between movements, lower = faster, higher = slower
var/keytype
@@ -146,9 +146,9 @@
Unbuckle(user)
return
if(world.time < next_vehicle_move)
if(world.time < last_vehicle_move + vehicle_move_delay)
return
next_vehicle_move = world.time + vehicle_move_delay
last_vehicle_move = world.time
if(keycheck(user))
var/turf/next = get_step(AM, direction)
+6 -6
View File
@@ -39,9 +39,9 @@
var/turf/currentturf = get_turf(src)
to_chat(get(parent, /mob), "<span class='danger'>You can't help but feel that you just lost something back there...</span>")
var/turf/targetturf = relocate()
log_game("[parent] has been moved out of bounds in [COORD(currentturf)]. Moving it to [COORD(targetturf)].")
log_game("[parent] has been moved out of bounds in [AREACOORD(currentturf)]. Moving it to [AREACOORD(targetturf)].")
if(inform_admins)
message_admins("[parent] has been moved out of bounds in [ADMIN_COORDJMP(currentturf)]. Moving it to [ADMIN_COORDJMP(targetturf)].")
message_admins("[parent] has been moved out of bounds in [ADMIN_VERBOSEJMP(currentturf)]. Moving it to [ADMIN_VERBOSEJMP(targetturf)].")
/datum/component/stationloving/proc/check_soul_imbue()
return disallow_soul_imbue
@@ -67,13 +67,13 @@
var/turf/T = get_turf(parent)
if(inform_admins && force)
message_admins("[parent] has been !!force deleted!! in [ADMIN_COORDJMP(T)].")
log_game("[parent] has been !!force deleted!! in [COORD(T)].")
message_admins("[parent] has been !!force deleted!! in [ADMIN_VERBOSEJMP(T)].")
log_game("[parent] has been !!force deleted!! in [AREACOORD(T)].")
if(!force)
var/turf/targetturf = relocate()
log_game("[parent] has been destroyed in [COORD(T)]. Moving it to [COORD(targetturf)].")
log_game("[parent] has been destroyed in [AREACOORD(T)]. Moving it to [AREACOORD(targetturf)].")
if(inform_admins)
message_admins("[parent] has been destroyed in [ADMIN_COORDJMP(T)]. Moving it to [ADMIN_COORDJMP(targetturf)].")
message_admins("[parent] has been destroyed in [ADMIN_VERBOSEJMP(T)]. Moving it to [ADMIN_VERBOSEJMP(targetturf)].")
return TRUE
return FALSE
@@ -18,8 +18,8 @@
if(istype(T, /turf/open/space/transit))
continue
T.TerraformTurf(/turf/open/chasm/magic, /turf/open/chasm/magic)
message_admins("[ADMIN_LOOKUPFLW(user)] detonated a bag of holding at [get_area_name(loccheck, TRUE)] [ADMIN_COORDJMP(loccheck)].")
log_game("[key_name(user)] detonated a bag of holding at [get_area_name(loccheck, TRUE)] [COORD(loccheck)].")
message_admins("[ADMIN_LOOKUPFLW(user)] detonated a bag of holding at [ADMIN_VERBOSEJMP(loccheck)].")
log_game("[key_name(user)] detonated a bag of holding at [AREACOORD(loccheck)].")
qdel(A)
return
. = ..()
+1 -1
View File
@@ -175,7 +175,7 @@
if(!LAZYLEN(time_left_list))
if(on_init)
var/turf/T = parent
stack_trace("Warning: Wet floor component gc'd right initializatoin! What a waste of time and CPU! Type = [T? T.type : "ERROR - NO PARENT"], Coords = [istype(T)? COORD(T) : "ERROR - INVALID PARENT"].")
stack_trace("Warning: Wet floor component gc'd right after initialization! What a waste of time and CPU! Type = [T? T.type : "ERROR - NO PARENT"], Location = [istype(T)? AREACOORD(T) : "ERROR - INVALID PARENT"].")
qdel(src)
return TRUE
return FALSE
@@ -125,7 +125,7 @@ Bonus
symptom_delay_max = 140
if(A.properties["stage_rate"] >= 8) //serious boom when wet
explosion_power = 2
if(A.properties["transmission"] >= 8) //extra chemicals
if(A.properties["transmittable"] >= 8) //extra chemicals
chems = TRUE
/datum/symptom/alkali/Activate(datum/disease/advance/A)
@@ -60,7 +60,7 @@
/datum/symptom/heal/starlight/Start(datum/disease/advance/A)
if(!..())
return
if(A.properties["transmission"] >= 6)
if(A.properties["transmittable"] >= 6)
nearspace_penalty = 1
if(A.properties["stage_rate"] >= 6)
power = 2
@@ -358,7 +358,7 @@
return
if(A.properties["stage_rate"] >= 7)
power = 2
if(A.properties["trasmission"] >= 6)
if(A.properties["transmittable"] >= 6)
temp_rate = 4
/datum/symptom/heal/plasma/CanHeal(datum/disease/advance/A)
@@ -425,7 +425,7 @@
return
if(A.properties["resistance"] >= 7)
power = 2
if(A.properties["trasmission"] >= 6)
if(A.properties["transmittable"] >= 6)
cellular_damage = TRUE
/datum/symptom/heal/radiation/CanHeal(datum/disease/advance/A)
@@ -33,10 +33,10 @@ Bonus
/datum/symptom/fever/Start(datum/disease/advance/A)
if(!..())
return
if(A.properties["stage_speed"] >= 5) //dangerous cold
if(A.properties["stage_rate"] >= 5) //dangerous cold
power = 1.5
unsafe = TRUE
if(A.properties["stage_speed"] >= 10)
if(A.properties["stage_rate"] >= 10)
power = 2.5
/datum/symptom/shivering/Activate(datum/disease/advance/A)
+1 -1
View File
@@ -55,7 +55,7 @@
if(affected_mob.notransform)
return
affected_mob.notransform = 1
for(var/obj/item/W in affected_mob.get_equipped_items())
for(var/obj/item/W in affected_mob.get_equipped_items(TRUE))
affected_mob.dropItemToGround(W)
for(var/obj/item/I in affected_mob.held_items)
affected_mob.dropItemToGround(I)
+4 -5
View File
@@ -84,16 +84,15 @@ GLOBAL_LIST_EMPTY(explosions)
var/max_range = max(devastation_range, heavy_impact_range, light_impact_range, flame_range)
var/area/epi_area = get_area(epicenter)
if(adminlog)
message_admins("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range], [flame_range]) in area: [epi_area] [ADMIN_COORDJMP(epicenter)]")
log_game("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range], [flame_range]) in area [epicenter.loc.name] ([epicenter.x],[epicenter.y],[epicenter.z])")
message_admins("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range], [flame_range]) in [ADMIN_VERBOSEJMP(epicenter)]")
log_game("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range], [flame_range]) in [AREACOORD(epicenter)]")
var/x0 = epicenter.x
var/y0 = epicenter.y
var/z0 = epicenter.z
SSblackbox.record_feedback("associative", "explosion", 1, list("dev" = devastation_range, "heavy" = heavy_impact_range, "light" = light_impact_range, "flash" = flash_range, "flame" = flame_range, "orig_dev" = orig_dev_range, "orig_heavy" = orig_heavy_range, "orig_light" = orig_light_range, "x" = x0, "y" = y0, "z" = z0, "area" = epi_area.type))
var/area/areatype = get_area(epicenter)
SSblackbox.record_feedback("associative", "explosion", 1, list("dev" = devastation_range, "heavy" = heavy_impact_range, "light" = light_impact_range, "flash" = flash_range, "flame" = flame_range, "orig_dev" = orig_dev_range, "orig_heavy" = orig_heavy_range, "orig_light" = orig_light_range, "x" = x0, "y" = y0, "z" = z0, "area" = areatype.type))
// Play sounds; we want sounds to be different depending on distance so we will manually do it ourselves.
// Stereo users will also hear the direction of the explosion!
+2 -2
View File
@@ -112,13 +112,13 @@
if(force_teleport)
teleatom.forceMove(destturf)
if(ismegafauna(teleatom))
message_admins("[teleatom] [ADMIN_FLW(teleatom)] has teleported from [ADMIN_COORDJMP(curturf)] to [ADMIN_COORDJMP(destturf)].")
message_admins("[teleatom] [ADMIN_FLW(teleatom)] has teleported from [ADMIN_VERBOSEJMP(curturf)] to [ADMIN_VERBOSEJMP(destturf)].")
playSpecials(destturf,effectout,soundout)
else
if(teleatom.Move(destturf))
playSpecials(destturf,effectout,soundout)
if(ismegafauna(teleatom))
message_admins("[teleatom] [ADMIN_FLW(teleatom)] has teleported from [ADMIN_COORDJMP(curturf)] to [ADMIN_COORDJMP(destturf)].")
message_admins("[teleatom] [ADMIN_FLW(teleatom)] has teleported from [ADMIN_VERBOSEJMP(curturf)] to [ADMIN_VERBOSEJMP(destturf)].")
if(ismob(teleatom))
var/mob/M = teleatom
M.cancel_camera()
+16 -13
View File
@@ -60,17 +60,19 @@
user.remote_control = null
if(!QDELETED(eye))
if(user_good && user.client)
for(var/datum/camerachunk/chunk in eye.visibleCameraChunks)
chunk.remove(eye)
qdel(eye)
eye = null
eye.RemoveImages()
QDEL_NULL(eye)
if(connected_holopad && !QDELETED(hologram))
hologram = null
connected_holopad.clear_holo(user)
user = null
if(hologram)
//Hologram survived holopad destro
if(!QDELETED(hologram))
hologram.HC = null
hologram = null
QDEL_NULL(hologram)
for(var/I in dialed_holopads)
var/obj/machinery/holopad/H = I
@@ -93,9 +95,10 @@
/datum/holocall/proc/Disconnect(obj/machinery/holopad/H)
testing("Holocall disconnect")
if(H == connected_holopad)
calling_holopad.say("[usr] disconnected.")
var/area/A = get_area(connected_holopad)
calling_holopad.say("[A] holopad disconnected.")
else if(H == calling_holopad && connected_holopad)
connected_holopad.say("[usr] disconnected.")
connected_holopad.say("[user] disconnected.")
ConnectionFailure(H, TRUE)
@@ -157,6 +160,7 @@
eye.setLoc(H.loc)
hangup = new(eye, src)
hangup.Grant(user)
//Checks the validity of a holocall and qdels itself if it's not. Returns TRUE if valid, FALSE otherwise
/datum/holocall/proc/Check()
@@ -205,7 +209,7 @@
/datum/holorecord/proc/set_caller_image(mob/user)
var/olddir = user.dir
user.setDir(SOUTH)
caller_image = getFlatIcon(user)
caller_image = image(user)
user.setDir(olddir)
/obj/item/disk/holodisk
@@ -284,7 +288,7 @@
else
var/datum/preset_holoimage/H = new preset_image_type
record.caller_image = H.build_image()
//These build caller image from outfit and some additional data, for use by mappers for ruin holorecords
/datum/preset_holoimage
var/nonhuman_mobtype //Fill this if you just want something nonhuman
@@ -303,7 +307,7 @@
mannequin.equipOutfit(outfit_type,TRUE)
mannequin.setDir(SOUTH)
COMPILE_OVERLAYS(mannequin)
. = getFlatIcon(mannequin)
. = image(mannequin)
unset_busy_human_dummy("HOLODISK_PRESET")
/obj/item/disk/holodisk/example
@@ -347,4 +351,3 @@
/datum/preset_holoimage/clown
outfit_type = /datum/outfit/job/clown
+8
View File
@@ -115,6 +115,14 @@
// Generates nothing but atmos runtimes and salt
cost = 0
/datum/map_template/ruin/lavaland/ratvar
name = "Dead God"
id = "ratvar"
description = "Ratvars final resting place."
suffix = "lavaland_surface_dead_ratvar.dmm"
cost = 0
allow_duplicates = FALSE
/datum/map_template/ruin/lavaland/hierophant
name = "Hierophant's Arena"
id = "hierophant"
+3
View File
@@ -55,6 +55,9 @@
/datum/quirk/proc/post_add() //for text, disclaimers etc. given after you spawn in with the trait
/datum/quirk/proc/on_transfer() //code called when the trait is transferred to a new mob
/datum/quirk/proc/clone_data() //return additional data that should be remembered by cloning
/datum/quirk/proc/on_clone(data) //create the quirk from clone data
/datum/quirk/process()
if(QDELETED(quirk_holder))
quirk_holder = null
+4
View File
@@ -85,7 +85,11 @@
quirk_holder.SendSignal(COMSIG_CLEAR_MOOD_EVENT, "family_heirloom")
quirk_holder.SendSignal(COMSIG_ADD_MOOD_EVENT, "family_heirloom_missing", /datum/mood_event/family_heirloom_missing)
/datum/quirk/family_heirloom/clone_data()
return heirloom
/datum/quirk/family_heirloom/on_clone(data)
heirloom = data
/datum/quirk/heavy_sleeper
name = "Heavy Sleeper"
+2 -2
View File
@@ -88,5 +88,5 @@
if(istype(B, /obj/machinery/syndicatebomb/training))
return
var/turf/T = get_turf(B)
log_game("\A [B] was detonated via boom wire at [COORD(T)].")
message_admins("A [B.name] was detonated via boom wire at [ADMIN_COORDJMP(T)].")
log_game("\A [B] was detonated via boom wire at [AREACOORD(T)].")
message_admins("A [B.name] was detonated via boom wire at [ADMIN_VERBOSEJMP(T)].")
-17
View File
@@ -425,23 +425,6 @@
/atom/proc/update_remote_sight(mob/living/user)
return
/atom/proc/add_vomit_floor(mob/living/carbon/M, toxvomit = 0)
if(isturf(src))
var/obj/effect/decal/cleanable/vomit/V = new /obj/effect/decal/cleanable/vomit(src, M.get_static_viruses())
// Make toxins vomit look different
if(toxvomit)
V.icon_state = "vomittox_[pick(1,4)]"
if(M.reagents)
clear_reagents_to_vomit_pool(M,V)
/atom/proc/clear_reagents_to_vomit_pool(mob/living/carbon/M, obj/effect/decal/cleanable/vomit/V)
M.reagents.trans_to(V, M.reagents.total_volume / 10)
for(var/datum/reagent/R in M.reagents.reagent_list) //clears the stomach of anything that might be digested as food
if(istype(R, /datum/reagent/consumable))
var/datum/reagent/consumable/nutri_check = R
if(nutri_check.nutriment_factor >0)
M.reagents.remove_reagent(R.id,R.volume)
//Hook for running code when a dir change occurs
/atom/proc/setDir(newdir)
+14 -10
View File
@@ -161,41 +161,45 @@
else //Diagonal move, split it into cardinal moves
moving_diagonally = FIRST_DIAG_STEP
var/first_step_dir
// The `&& moving_diagonally` checks are so that a forceMove taking
// place due to a Crossed, Collided, etc. call will interrupt
// the second half of the diagonal movement, or the second attempt
// at a first half if step() fails because we hit something.
if (direct & NORTH)
if (direct & EAST)
if (step(src, NORTH))
if (step(src, NORTH) && moving_diagonally)
first_step_dir = NORTH
moving_diagonally = SECOND_DIAG_STEP
. = step(src, EAST)
else if (step(src, EAST))
else if (moving_diagonally && step(src, EAST))
first_step_dir = EAST
moving_diagonally = SECOND_DIAG_STEP
. = step(src, NORTH)
else if (direct & WEST)
if (step(src, NORTH))
if (step(src, NORTH) && moving_diagonally)
first_step_dir = NORTH
moving_diagonally = SECOND_DIAG_STEP
. = step(src, WEST)
else if (step(src, WEST))
else if (moving_diagonally && step(src, WEST))
first_step_dir = WEST
moving_diagonally = SECOND_DIAG_STEP
. = step(src, NORTH)
else if (direct & SOUTH)
if (direct & EAST)
if (step(src, SOUTH))
if (step(src, SOUTH) && moving_diagonally)
first_step_dir = SOUTH
moving_diagonally = SECOND_DIAG_STEP
. = step(src, EAST)
else if (step(src, EAST))
else if (moving_diagonally && step(src, EAST))
first_step_dir = EAST
moving_diagonally = SECOND_DIAG_STEP
. = step(src, SOUTH)
else if (direct & WEST)
if (step(src, SOUTH))
if (step(src, SOUTH) && moving_diagonally)
first_step_dir = SOUTH
moving_diagonally = SECOND_DIAG_STEP
. = step(src, WEST)
else if (step(src, WEST))
else if (moving_diagonally && step(src, WEST))
first_step_dir = WEST
moving_diagonally = SECOND_DIAG_STEP
. = step(src, SOUTH)
@@ -310,8 +314,8 @@
var/area/old_area = get_area(oldloc)
var/area/destarea = get_area(destination)
loc = destination
moving_diagonally = 0
if(!same_loc)
if(oldloc)
@@ -558,7 +562,7 @@
if(visual_effect_icon)
I = image('icons/effects/effects.dmi', A, visual_effect_icon, A.layer + 0.1)
else if(used_item)
I = image(used_item.icon, A, used_item.icon_state, A.layer + 0.1)
I = image(icon = used_item, loc = A, layer = A.layer + 0.1)
// Scale the icon.
I.transform *= 0.75
+1 -1
View File
@@ -11,7 +11,7 @@ GLOBAL_VAR(changeling_team_objective_type) //If this is not null, we hand our th
antag_flag = ROLE_CHANGELING
false_report_weight = 10
restricted_jobs = list("AI", "Cyborg")
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain")
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Chief Medical Officer", "Research Director") //citadel change - adds HoP, CE, CMO, and RD to ling role blacklist
required_players = 15
required_enemies = 1
recommended_enemies = 4
@@ -143,6 +143,12 @@ Credit where due:
var/datum/team/clockcult/main_clockcult
/datum/game_mode/clockwork_cult/pre_setup()
var/list/errorList = list()
SSmapping.LoadGroup(errorList, "Reebe", "map_files/generic", "City_of_Cogs.dmm", default_traits = ZTRAITS_REEBE, silent = TRUE)
if(errorList.len) // reebe failed to load
message_admins("Rebee failed to load!")
log_game("Rebee failed to load!")
return FALSE
if(CONFIG_GET(flag/protect_roles_from_antagonist))
restricted_jobs += protected_jobs
if(CONFIG_GET(flag/protect_assistant_from_antagonist))
+1 -1
View File
@@ -11,7 +11,7 @@
antag_flag = ROLE_TRAITOR
false_report_weight = 20 //Reports of traitors are pretty common.
restricted_jobs = list("Cyborg")//They are part of the AI if he is traitor so are they, they use to get double chances
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain")
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Chief Medical Officer", "Research Director") //citadel change - adds HoP, CE, CMO, and RD to ling role blacklist
required_players = 0
required_enemies = 1
recommended_enemies = 4
-1
View File
@@ -6,7 +6,6 @@
desc = "A device that draws power from bluespace and creates a permanent tracking beacon."
level = 1 // underfloor
layer = LOW_OBJ_LAYER
anchored = TRUE
use_power = IDLE_POWER_USE
idle_power_usage = 0
var/obj/item/beacon/Beacon
+1 -2
View File
@@ -4,10 +4,9 @@
icon = 'icons/obj/pda.dmi'
icon_state = "pdapainter"
density = TRUE
anchored = TRUE
max_integrity = 200
var/obj/item/pda/storedpda = null
var/list/colorlist = list()
max_integrity = 200
/obj/machinery/pdapainter/update_icon()
-2
View File
@@ -3,7 +3,6 @@
icon = 'icons/obj/machines/sleeper.dmi'
icon_state = "console"
density = FALSE
anchored = TRUE
/obj/machinery/sleeper
name = "sleeper"
@@ -11,7 +10,6 @@
icon = 'icons/obj/machines/sleeper.dmi'
icon_state = "sleeper"
density = FALSE
anchored = TRUE
state_open = TRUE
circuit = /obj/item/circuitboard/machine/sleeper
var/efficiency = 1
+1
View File
@@ -92,6 +92,7 @@ Class Procs:
pressure_resistance = 15
max_integrity = 200
anchored = TRUE
interaction_flags_atom = INTERACT_ATOM_ATTACK_HAND | INTERACT_ATOM_UI_INTERACT
var/stat = 0
-1
View File
@@ -5,7 +5,6 @@
icon_state = "ai-slipper0"
layer = PROJECTILE_HIT_THRESHHOLD_LAYER
plane = FLOOR_PLANE
anchored = TRUE
max_integrity = 200
armor = list("melee" = 50, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 30)
+163 -153
View File
@@ -1,154 +1,164 @@
#define AIRLOCK_CONTROL_RANGE 5
// This code allows for airlocks to be controlled externally by setting an id_tag and comm frequency (disables ID access)
/obj/machinery/door/airlock
var/id_tag
var/frequency
var/datum/radio_frequency/radio_connection
/obj/machinery/door/airlock/receive_signal(datum/signal/signal)
if(!signal)
return
if(id_tag != signal.data["tag"] || !signal.data["command"])
return
switch(signal.data["command"])
if("open")
open(1)
if("close")
close(1)
if("unlock")
locked = FALSE
update_icon()
if("lock")
locked = TRUE
update_icon()
if("secure_open")
locked = FALSE
update_icon()
sleep(2)
open(1)
locked = TRUE
update_icon()
if("secure_close")
locked = FALSE
close(1)
locked = TRUE
sleep(2)
update_icon()
send_status()
/obj/machinery/door/airlock/proc/send_status()
if(radio_connection)
var/datum/signal/signal = new(list(
"tag" = id_tag,
"timestamp" = world.time,
"door_status" = density ? "closed" : "open",
"lock_status" = locked ? "locked" : "unlocked"
))
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
/obj/machinery/door/airlock/open(surpress_send)
. = ..()
if(!surpress_send)
send_status()
/obj/machinery/door/airlock/close(surpress_send)
. = ..()
if(!surpress_send)
send_status()
/obj/machinery/door/airlock/proc/set_frequency(new_frequency)
SSradio.remove_object(src, frequency)
if(new_frequency)
frequency = new_frequency
radio_connection = SSradio.add_object(src, frequency, RADIO_AIRLOCK)
/obj/machinery/door/airlock/Destroy()
if(frequency)
SSradio.remove_object(src,frequency)
return ..()
/obj/machinery/airlock_sensor
icon = 'icons/obj/airlock_machines.dmi'
icon_state = "airlock_sensor_off"
name = "airlock sensor"
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
anchored = TRUE
power_channel = ENVIRON
var/id_tag
var/master_tag
var/frequency = FREQ_AIRLOCK_CONTROL
var/datum/radio_frequency/radio_connection
var/on = TRUE
var/alert = FALSE
/obj/machinery/airlock_sensor/update_icon()
if(on)
if(alert)
icon_state = "airlock_sensor_alert"
else
icon_state = "airlock_sensor_standby"
else
icon_state = "airlock_sensor_off"
/obj/machinery/airlock_sensor/attack_hand(mob/user)
. = ..()
if(.)
return
var/datum/signal/signal = new(list(
"tag" = master_tag,
"command" = "cycle"
))
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
flick("airlock_sensor_cycle", src)
/obj/machinery/airlock_sensor/process()
if(on)
var/datum/gas_mixture/air_sample = return_air()
var/pressure = round(air_sample.return_pressure(),0.1)
alert = (pressure < ONE_ATMOSPHERE*0.8)
var/datum/signal/signal = new(list(
"tag" = id_tag,
"timestamp" = world.time,
"pressure" = num2text(pressure)
))
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
update_icon()
/obj/machinery/airlock_sensor/proc/set_frequency(new_frequency)
SSradio.remove_object(src, frequency)
frequency = new_frequency
radio_connection = SSradio.add_object(src, frequency, RADIO_AIRLOCK)
/obj/machinery/airlock_sensor/Initialize()
. = ..()
set_frequency(frequency)
/obj/machinery/airlock_sensor/Destroy()
SSradio.remove_object(src,frequency)
#define AIRLOCK_CONTROL_RANGE 5
// This code allows for airlocks to be controlled externally by setting an id_tag and comm frequency (disables ID access)
/obj/machinery/door/airlock
var/id_tag
var/frequency
var/datum/radio_frequency/radio_connection
/obj/machinery/door/airlock/receive_signal(datum/signal/signal)
if(!signal)
return
if(id_tag != signal.data["tag"] || !signal.data["command"])
return
switch(signal.data["command"])
if("open")
open(1)
if("close")
close(1)
if("unlock")
locked = FALSE
update_icon()
if("lock")
locked = TRUE
update_icon()
if("secure_open")
locked = FALSE
update_icon()
sleep(2)
open(1)
locked = TRUE
update_icon()
if("secure_close")
locked = FALSE
close(1)
locked = TRUE
sleep(2)
update_icon()
send_status()
/obj/machinery/door/airlock/proc/send_status()
if(radio_connection)
var/datum/signal/signal = new(list(
"tag" = id_tag,
"timestamp" = world.time,
"door_status" = density ? "closed" : "open",
"lock_status" = locked ? "locked" : "unlocked"
))
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
/obj/machinery/door/airlock/open(surpress_send)
. = ..()
if(!surpress_send)
send_status()
/obj/machinery/door/airlock/close(surpress_send)
. = ..()
if(!surpress_send)
send_status()
/obj/machinery/door/airlock/proc/set_frequency(new_frequency)
SSradio.remove_object(src, frequency)
if(new_frequency)
frequency = new_frequency
radio_connection = SSradio.add_object(src, frequency, RADIO_AIRLOCK)
/obj/machinery/door/airlock/Destroy()
if(frequency)
SSradio.remove_object(src,frequency)
return ..()
/obj/machinery/airlock_sensor
icon = 'icons/obj/airlock_machines.dmi'
icon_state = "airlock_sensor_off"
name = "airlock sensor"
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
power_channel = ENVIRON
var/id_tag
var/master_tag
var/frequency = FREQ_AIRLOCK_CONTROL
var/datum/radio_frequency/radio_connection
var/on = TRUE
var/alert = FALSE
/obj/machinery/airlock_sensor/incinerator_toxmix
id_tag = INCINERATOR_TOXMIX_AIRLOCK_SENSOR
master_tag = INCINERATOR_TOXMIX_AIRLOCK_CONTROLLER
/obj/machinery/airlock_sensor/incinerator_atmos
id_tag = INCINERATOR_ATMOS_AIRLOCK_SENSOR
master_tag = INCINERATOR_ATMOS_AIRLOCK_CONTROLLER
/obj/machinery/airlock_sensor/incinerator_syndicatelava
id_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_SENSOR
master_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_CONTROLLER
/obj/machinery/airlock_sensor/update_icon()
if(on)
if(alert)
icon_state = "airlock_sensor_alert"
else
icon_state = "airlock_sensor_standby"
else
icon_state = "airlock_sensor_off"
/obj/machinery/airlock_sensor/attack_hand(mob/user)
. = ..()
if(.)
return
var/datum/signal/signal = new(list(
"tag" = master_tag,
"command" = "cycle"
))
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
flick("airlock_sensor_cycle", src)
/obj/machinery/airlock_sensor/process()
if(on)
var/datum/gas_mixture/air_sample = return_air()
var/pressure = round(air_sample.return_pressure(),0.1)
alert = (pressure < ONE_ATMOSPHERE*0.8)
var/datum/signal/signal = new(list(
"tag" = id_tag,
"timestamp" = world.time,
"pressure" = num2text(pressure)
))
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
update_icon()
/obj/machinery/airlock_sensor/proc/set_frequency(new_frequency)
SSradio.remove_object(src, frequency)
frequency = new_frequency
radio_connection = SSradio.add_object(src, frequency, RADIO_AIRLOCK)
/obj/machinery/airlock_sensor/Initialize()
. = ..()
set_frequency(frequency)
/obj/machinery/airlock_sensor/Destroy()
SSradio.remove_object(src,frequency)
return ..()
@@ -2,7 +2,6 @@ GLOBAL_LIST_EMPTY(announcement_systems)
/obj/machinery/announcement_system
density = TRUE
anchored = TRUE
name = "\improper Automated Announcement System"
desc = "An automated announcement system that handles minor announcements over the radio."
icon = 'icons/obj/machines/telecomms.dmi'
-1
View File
@@ -4,7 +4,6 @@
icon = 'icons/obj/pda.dmi'
icon_state = "pdapainter"
density = TRUE
anchored = TRUE
obj_integrity = 200
max_integrity = 200
var/obj/item/bodypart/storedpart
+1 -2
View File
@@ -7,13 +7,12 @@
desc = "It produces items using metal and glass."
icon_state = "autolathe"
density = TRUE
anchored = TRUE
use_power = IDLE_POWER_USE
idle_power_usage = 10
active_power_usage = 100
circuit = /obj/item/circuitboard/machine/autolathe
layer = BELOW_OBJ_LAYER
var/operating = FALSE
var/list/L = list()
var/list/LL = list()
+38 -1
View File
@@ -11,7 +11,6 @@
var/id = null
var/initialized_button = 0
armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 50, "bomb" = 10, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 70)
anchored = TRUE
use_power = IDLE_POWER_USE
idle_power_usage = 2
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
@@ -190,6 +189,31 @@
device = new /obj/item/assembly/control(src)
..()
/obj/machinery/button/door/incinerator_vent_toxmix
name = "combustion chamber vent control"
id = INCINERATOR_TOXMIX_VENT
req_access = list(ACCESS_TOX)
/obj/machinery/button/door/incinerator_vent_atmos_main
name = "turbine vent control"
id = INCINERATOR_ATMOS_MAINVENT
req_one_access = list(ACCESS_ATMOSPHERICS, ACCESS_MAINT_TUNNELS)
/obj/machinery/button/door/incinerator_vent_atmos_aux
name = "combustion chamber vent control"
id = INCINERATOR_ATMOS_AUXVENT
req_one_access = list(ACCESS_ATMOSPHERICS, ACCESS_MAINT_TUNNELS)
/obj/machinery/button/door/incinerator_vent_syndicatelava_main
name = "turbine vent control"
id = INCINERATOR_SYNDICATELAVA_MAINVENT
req_access = list(ACCESS_SYNDICATE)
/obj/machinery/button/door/incinerator_vent_syndicatelava_aux
name = "combustion chamber vent control"
id = INCINERATOR_SYNDICATELAVA_AUXVENT
req_access = list(ACCESS_SYNDICATE)
/obj/machinery/button/massdriver
name = "mass driver button"
desc = "A remote control switch for a mass driver."
@@ -204,6 +228,19 @@
skin = "launcher"
device_type = /obj/item/assembly/control/igniter
/obj/machinery/button/ignition/incinerator
name = "combustion chamber ignition switch"
desc = "A remote control switch for the combustion chamber's igniter."
/obj/machinery/button/ignition/incinerator/toxmix
id = INCINERATOR_TOXMIX_IGNITER
/obj/machinery/button/ignition/incinerator/atmos
id = INCINERATOR_ATMOS_IGNITER
/obj/machinery/button/ignition/incinerator/syndicatelava
id = INCINERATOR_SYNDICATELAVA_IGNITER
/obj/machinery/button/flasher
name = "flasher button"
desc = "A remote control switch for a mounted flasher."
+2 -3
View File
@@ -19,9 +19,7 @@
integrity_failure = 50
var/list/network = list("ss13")
var/c_tag = null
var/c_tag_order = 999
var/status = TRUE
anchored = TRUE
var/start_active = FALSE //If it ignores the random chance to start broken on round start
var/invuln = null
var/obj/item/camera_bug/bug = null
@@ -36,6 +34,7 @@
var/alarm_on = FALSE
var/busy = FALSE
var/emped = FALSE //Number of consecutive EMP's on this camera
var/in_use_lights = 0
// Upgrades bitflag
var/upgrades = 0
@@ -285,7 +284,7 @@
else if (stat & EMPED)
icon_state = "[initial(icon_state)]emp"
else
icon_state = "[initial(icon_state)]"
icon_state = "[initial(icon_state)][in_use_lights ? "_in_use" : ""]"
/obj/machinery/camera/proc/toggle_cam(mob/user, displaymessage = 1)
status = !status
+2 -6
View File
@@ -146,10 +146,6 @@
for (var/j = 1 to i - 1)
a = L[j]
b = L[j + 1]
if (a.c_tag_order != b.c_tag_order)
if (a.c_tag_order > b.c_tag_order)
L.Swap(j, j + 1)
else
if (sorttext(a.c_tag, b.c_tag) < 0)
L.Swap(j, j + 1)
if (sorttext(a.c_tag, b.c_tag) < 0)
L.Swap(j, j + 1)
return L
-1
View File
@@ -3,7 +3,6 @@
desc = "It charges power cells."
icon = 'icons/obj/power.dmi'
icon_state = "ccharger"
anchored = TRUE
use_power = IDLE_POWER_USE
idle_power_usage = 5
active_power_usage = 60
+2 -2
View File
@@ -9,7 +9,6 @@
#define SPEAK(message) radio.talk_into(src, message, radio_channel, get_spans(), get_default_language())
/obj/machinery/clonepod
anchored = TRUE
name = "cloning pod"
desc = "An electronically-lockable pod for growing organic tissue."
density = TRUE
@@ -204,7 +203,8 @@
H.faction |= factions
for(var/V in quirks)
new V(H)
var/datum/quirk/Q = new V(H)
Q.on_clone(quirks[V])
H.set_cloned_appearance()
@@ -3,7 +3,6 @@
icon = 'icons/obj/computer.dmi'
icon_state = "computer"
density = TRUE
anchored = TRUE
use_power = IDLE_POWER_USE
idle_power_usage = 300
active_power_usage = 300
+5 -5
View File
@@ -122,12 +122,12 @@
active_apc.locked = TRUE
active_apc.update_icon()
active_apc = null
to_chat(usr, "<span class='robot notice'>[icon2html(src, usr)] Connected to APC in [APC.area]. Interface request sent.</span>")
log_activity("remotely accessed APC in [APC.area]")
to_chat(usr, "<span class='robot notice'>[icon2html(src, usr)] Connected to APC in [get_area_name(APC.area, TRUE)]. Interface request sent.</span>")
log_activity("remotely accessed APC in [get_area_name(APC.area, TRUE)]")
APC.ui_interact(usr, state = GLOB.not_incapacitated_state)
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
message_admins("[key_name_admin(usr)] remotely accessed [APC] from [src] at [get_area(src)].")
log_game("[key_name(usr)] remotely accessed [APC] from [src] at [get_area(src)].")
message_admins("[ADMIN_LOOKUPFLW(usr)] remotely accessed [APC] from [src] at [AREACOORD(src)].")
log_game("[key_name(usr)] remotely accessed [APC] from [src] at [AREACOORD(src)].")
if(APC.locked)
APC.say("Remote access detected. Interface unlocked.")
playsound(APC, 'sound/machines/boltsup.ogg', 25, 0)
@@ -188,7 +188,7 @@
log_activity("logged in")
else if(!(obj_flags & EMAGGED))
user.visible_message("<span class='warning'>You emag [src], disabling precise logging and allowing you to clear logs.</span>")
log_game("[key_name(user)] emagged [src] at [get_area(src)], disabling operator tracking.")
log_game("[key_name(user)] emagged [src] at [AREACOORD(src)], disabling operator tracking.")
obj_flags |= EMAGGED
playsound(src, "sparks", 50, 1)
+7 -5
View File
@@ -51,7 +51,9 @@
/obj/item/hot_potato/harmless/toy = 1,
/obj/item/card/emagfake = 1,
/obj/item/clothing/shoes/wheelys = 2,
/obj/item/clothing/shoes/kindleKicks = 2)
/obj/item/clothing/shoes/kindleKicks = 2,
/obj/item/storage/belt/military/snack = 2
)
light_color = LIGHT_COLOR_GREEN
@@ -233,7 +235,7 @@
if(obj_flags & EMAGGED)
new /obj/effect/spawner/newbomb/timer/syndicate(loc)
new /obj/item/clothing/head/collectable/petehat(loc)
message_admins("[key_name_admin(usr)] has outbombed Cuban Pete and been awarded a bomb.")
message_admins("[ADMIN_LOOKUPFLW(usr)] has outbombed Cuban Pete and been awarded a bomb.")
log_game("[key_name(usr)] has outbombed Cuban Pete and been awarded a bomb.")
Reset()
obj_flags &= ~EMAGGED
@@ -1028,7 +1030,7 @@
say("Congratulations, you made it to Orion!")
if(obj_flags & EMAGGED)
new /obj/item/orion_ship(loc)
message_admins("[key_name_admin(usr)] made it to Orion on an emagged machine and got an explosive toy ship.")
message_admins("[ADMIN_LOOKUPFLW(usr)] made it to Orion on an emagged machine and got an explosive toy ship.")
log_game("[key_name(usr)] made it to Orion on an emagged machine and got an explosive toy ship.")
else
prizevend(user)
@@ -1073,8 +1075,8 @@
if(active)
return
message_admins("[key_name_admin(usr)] primed an explosive Orion ship for detonation.")
log_game("[key_name(usr)] primed an explosive Orion ship for detonation.")
message_admins("[ADMIN_LOOKUPFLW(usr)] primed an explosive Orion ship for detonation at [AREACOORD(usr)].")
log_game("[key_name(usr)] primed an explosive Orion ship for detonation at [AREACOORD(usr)].")
to_chat(user, "<span class='warning'>You flip the switch on the underside of [src].</span>")
active = 1
@@ -6,7 +6,6 @@
name = "gas sensor"
icon = 'icons/obj/stationobjs.dmi'
icon_state = "gsensor1"
anchored = TRUE
var/on = TRUE
+1 -1
View File
@@ -196,7 +196,7 @@
icon_keyboard = "mining_key"
network = list("mine")
circuit = /obj/item/circuitboard/computer/mining
/obj/machinery/computer/security/research
name = "research camera console"
desc = "Used to access the various cameras in science."
@@ -190,7 +190,7 @@
else
moveToNullspace()
if(use_static)
GLOB.cameranet.visibility(src)
GLOB.cameranet.visibility(src, GetViewerClient())
if(visible_icon)
if(eye_user.client)
eye_user.client.images -= user_image
+14 -5
View File
@@ -1,3 +1,5 @@
#define AUTOCLONING_MINIMAL_LEVEL 3
/obj/machinery/computer/cloning
name = "cloning console"
desc = "Used to clone people and manage DNA."
@@ -79,6 +81,10 @@
src.scanner = findscanner()
if(findfirstcloner && !LAZYLEN(pods))
findcloner()
if(!autoprocess)
STOP_PROCESSING(SSmachines, src)
else
START_PROCESSING(SSmachines, src)
/obj/machinery/computer/cloning/proc/findscanner()
var/obj/machinery/dna_scannernew/scannerf = null
@@ -151,7 +157,7 @@
var/dat = ""
dat += "<a href='byond://?src=[REF(src)];refresh=1'>Refresh</a>"
if(scanner && HasEfficientPod() && scanner.scan_level > 2)
if(scanner && HasEfficientPod() && scanner.scan_level >= AUTOCLONING_MINIMAL_LEVEL)
if(!autoprocess)
dat += "<a href='byond://?src=[REF(src)];task=autoprocess'>Autoprocess</a>"
else
@@ -276,10 +282,13 @@
if(href_list["task"])
switch(href_list["task"])
if("autoprocess")
autoprocess = 1
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
if(scanner && HasEfficientPod() && scanner.scan_level >= AUTOCLONING_MINIMAL_LEVEL)
autoprocess = TRUE
START_PROCESSING(SSmachines, src)
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
if("stopautoprocess")
autoprocess = 0
autoprocess = FALSE
STOP_PROCESSING(SSmachines, src)
playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0)
else if ((href_list["scan"]) && !isnull(scanner) && scanner.is_operational())
@@ -476,7 +485,7 @@
R.fields["quirks"] = list()
for(var/V in mob_occupant.roundstart_quirks)
var/datum/quirk/T = V
R.fields["quirks"] += T.type
R.fields["quirks"][T.type] = T.clone_data()
if (!isnull(mob_occupant.mind)) //Save that mind so traitors can continue traitoring after cloning.
R.fields["mind"] = "[REF(mob_occupant.mind)]"
+21 -21
View File
@@ -51,13 +51,11 @@
/obj/machinery/computer/communications/Topic(href, href_list)
if(..())
return
if(!is_station_level(z) && !is_centcom_level(z)) //Can only use on centcom and SS13
if(!is_station_level(z) && !is_transit_level(z)) //Can only use in transit and on SS13
to_chat(usr, "<span class='boldannounce'>Unable to establish a connection</span>: \black You're too far away from the station!")
return
usr.set_machine(src)
var/area/A = get_area(usr)
var/area_name = A.name
if(!href_list["operation"])
return
@@ -115,9 +113,9 @@
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
//Only notify people if an actual change happened
var/security_level = get_security_level()
log_game("[key_name(usr)] has changed the security level to [security_level].")
message_admins("[key_name_admin(usr)] has changed the security level to [security_level].")
deadchat_broadcast("<span class='deadsay'><span class='name'>[usr.real_name]</span> has changed the security level to [security_level] at <span class='name'>[area_name]</span>.</span>", usr)
log_game("[key_name(usr)] has changed the security level to [security_level] with [src] at [AREACOORD(usr)].")
message_admins("[ADMIN_LOOKUPFLW(usr)] has changed the security level to [security_level] with [src] at [AREACOORD(usr)].")
deadchat_broadcast("<span class='deadsay'><span class='name'>[usr.real_name]</span> has changed the security level to [security_level] with [src] at <span class='name'>[get_area_name(usr, TRUE)]</span>.</span>", usr)
tmp_alertlevel = 0
else
to_chat(usr, "<span class='warning'>You are not authorized to do this!</span>")
@@ -146,7 +144,7 @@
send2otherserver("[station_name()]", input,"Comms_Console")
minor_announce(input, title = "Outgoing message to allied station")
log_talk(usr,"[key_name(usr)] has sent a message to the other server: [input]",LOGSAY)
message_admins("[key_name_admin(usr)] has sent a message to the other server.")
message_admins("[ADMIN_LOOKUPFLW(usr)] has sent a message to the other server.")
deadchat_broadcast("<span class='deadsay bold'>[usr.real_name] has sent an outgoing message to the other station(s).</span>", usr)
CM.lastTimeUsed = world.time
@@ -176,7 +174,7 @@
M.action_load(S)
SSshuttle.points -= S.credit_cost
minor_announce("[usr.real_name] has purchased [S.name] for [S.credit_cost] credits." , "Shuttle Purchase")
message_admins("[key_name_admin(usr)] purchased [S.name].")
message_admins("[ADMIN_LOOKUPFLW(usr)] purchased [S.name].")
SSblackbox.record_feedback("text", "shuttle_purchase", 1, "[S.name]")
else
to_chat(usr, "Something went wrong! The shuttle exchange system seems to be down.")
@@ -249,14 +247,14 @@
if("enableemergency")
make_maint_all_access()
log_game("[key_name(usr)] enabled emergency maintenance access.")
message_admins("[key_name_admin(usr)] enabled emergency maintenance access.")
deadchat_broadcast("<span class='deadsay'><span class='name'>[usr.real_name]</span> enabled emergency maintenance access at <span class='name'>[area_name]</span>.</span>", usr)
message_admins("[ADMIN_LOOKUPFLW(usr)] enabled emergency maintenance access.")
deadchat_broadcast("<span class='deadsay'><span class='name'>[usr.real_name]</span> enabled emergency maintenance access at <span class='name'>[get_area_name(usr, TRUE)]</span>.</span>", usr)
state = STATE_DEFAULT
if("disableemergency")
revoke_maint_all_access()
log_game("[key_name(usr)] disabled emergency maintenance access.")
message_admins("[key_name_admin(usr)] disabled emergency maintenance access.")
deadchat_broadcast("<span class='deadsay'><span class='name'>[usr.real_name]</span> disabled emergency maintenance access at <span class='name'>[area_name]</span>.</span>", usr)
message_admins("[ADMIN_LOOKUPFLW(usr)] disabled emergency maintenance access.")
deadchat_broadcast("<span class='deadsay'><span class='name'>[usr.real_name]</span> disabled emergency maintenance access at <span class='name'>[get_area_name(usr, TRUE)]</span>.</span>", usr)
state = STATE_DEFAULT
// Status display stuff
@@ -290,7 +288,7 @@
CentCom_announce(input, usr)
to_chat(usr, "<span class='notice'>Message transmitted to Central Command.</span>")
log_talk(usr,"[key_name(usr)] has made a CentCom announcement: [input]",LOGSAY)
deadchat_broadcast("<span class='deadsay'><span class='name'>[usr.real_name]</span> has messaged CentCom, \"[input]\" at <span class='name'>[area_name]</span>.</span>", usr)
deadchat_broadcast("<span class='deadsay'><span class='name'>[usr.real_name]</span> has messaged CentCom, \"[input]\" at <span class='name'>[get_area_name(usr, TRUE)]</span>.</span>", usr)
CM.lastTimeUsed = world.time
// OMG SYNDICATE ...LETTERHEAD
@@ -307,7 +305,7 @@
Syndicate_announce(input, usr)
to_chat(usr, "<span class='danger'>SYSERR @l(19833)of(transmit.dm): !@$ MESSAGE TRANSMITTED TO SYNDICATE COMMAND.</span>")
log_talk(usr,"[key_name(usr)] has made a Syndicate announcement: [input]",LOGSAY)
deadchat_broadcast("<span class='deadsay'><span class='name'>[usr.real_name]</span> has messaged the Syndicate, \"[input]\" at <span class='name'>[area_name]</span>.</span>", usr)
deadchat_broadcast("<span class='deadsay'><span class='name'>[usr.real_name]</span> has messaged the Syndicate, \"[input]\" at <span class='name'>[get_area_name(usr, TRUE)]</span>.</span>", usr)
CM.lastTimeUsed = world.time
if("RestoreBackup")
@@ -388,9 +386,9 @@
if(GLOB.security_level != old_level)
//Only notify people if an actual change happened
var/security_level = get_security_level()
log_game("[key_name(usr)] has changed the security level to [security_level].")
message_admins("[key_name_admin(usr)] has changed the security level to [security_level].")
deadchat_broadcast("<span class='deadsay'><span class='name'>[usr.real_name]</span> has changed the security level to [security_level].</span>", usr)
log_game("[key_name(usr)] has changed the security level to [security_level] from [src] at [AREACOORD(usr)].")
message_admins("[ADMIN_LOOKUPFLW(usr)] has changed the security level to [security_level] from [src] at [AREACOORD(usr)].")
deadchat_broadcast("<span class='deadsay'><span class='name'>[usr.real_name]</span> has changed the security level to [security_level] from [src] at [get_area_name(usr, TRUE)].</span>", usr)
tmp_alertlevel = 0
aistate = STATE_DEFAULT
if("ai-changeseclevel")
@@ -400,13 +398,13 @@
if("ai-enableemergency")
make_maint_all_access()
log_game("[key_name(usr)] enabled emergency maintenance access.")
message_admins("[key_name_admin(usr)] enabled emergency maintenance access.")
message_admins("[ADMIN_LOOKUPFLW(usr)] enabled emergency maintenance access.")
deadchat_broadcast("<span class='deadsay bold'>[usr.real_name] enabled emergency maintenance access.</span>", usr)
aistate = STATE_DEFAULT
if("ai-disableemergency")
revoke_maint_all_access()
log_game("[key_name(usr)] disabled emergency maintenance access.")
message_admins("[key_name_admin(usr)] disabled emergency maintenance access.")
message_admins("[ADMIN_LOOKUPFLW(usr)] disabled emergency maintenance access.")
deadchat_broadcast("<span class='deadsay bold'>[usr.real_name] disabled emergency maintenance access.</span>", usr)
aistate = STATE_DEFAULT
@@ -556,6 +554,9 @@
if(STATE_PURCHASE)
dat += "Budget: [SSshuttle.points] Credits.<BR>"
dat += "<BR>"
dat += "<b>Caution: Purchasing dangerous shuttles may lead to mutiny and/or death.</b><br>"
dat += "<BR>"
for(var/shuttle_id in SSmapping.shuttle_templates)
var/datum/map_template/shuttle/S = SSmapping.shuttle_templates[shuttle_id]
if(S.can_be_bought && S.credit_cost < INFINITY)
@@ -700,8 +701,7 @@
if(!input || !user.canUseTopic(src))
return
SScommunications.make_announcement(user, is_silicon, input)
var/area/A = get_area(user)
deadchat_broadcast("<span class='deadsay'><span class='name'>[user.real_name]</span> made an priority announcement at <span class='name'>[A.name]</span>.</span>", user)
deadchat_broadcast("<span class='deadsay'><span class='name'>[user.real_name]</span> made an priority announcement from <span class='name'>[get_area_name(usr, TRUE)]</span>.</span>", user)
/obj/machinery/computer/communications/proc/post_status(command, data1, data2)
@@ -33,7 +33,6 @@
var/obj/machinery/dna_scannernew/connected = null
var/obj/item/disk/data/diskette = null
var/list/delayed_action = null
anchored = TRUE
use_power = IDLE_POWER_USE
idle_power_usage = 10
active_power_usage = 400
@@ -148,7 +148,7 @@
id_goal_not_set = TRUE
id.goal = default_goal
say("[id]'s ID card goal defaulting to [id.goal] points.")
log_game("[user]([user.ckey] teleported [prisoner]([prisoner.ckey]) to the Labor Camp ([beacon.x], [beacon.y], [beacon.z]) for [id_goal_not_set ? "default goal of ":""][id.goal] points.")
log_game("[user]([user.ckey] teleported [prisoner]([prisoner.ckey]) to the Labor Camp [COORD(beacon)] for [id_goal_not_set ? "default goal of ":""][id.goal] points.")
teleporter.handle_prisoner(id, temporary_record)
playsound(src, 'sound/weapons/emitter.ogg', 50, 1)
prisoner.forceMove(get_turf(beacon))
+4 -4
View File
@@ -104,7 +104,7 @@
var/choice = input("Are you certain you wish to detonate [R.name]?") in list("Confirm", "Abort")
if(choice == "Confirm" && can_control(usr, R) && !..())
var/turf/T = get_turf(R)
message_admins("<span class='notice'>[ADMIN_LOOKUPFLW(usr)] detonated [key_name(R, R.client)][ADMIN_JMP(T)]!</span>")
message_admins("<span class='notice'>[ADMIN_LOOKUPFLW(usr)] detonated [key_name_admin(R, R.client)] at [ADMIN_VERBOSEJMP(T)]!</span>")
log_game("\<span class='notice'>[key_name(usr)] detonated [key_name(R)]!</span>")
if(R.connected_ai)
to_chat(R.connected_ai, "<br><br><span class='alert'>ALERT - Cyborg detonation detected: [R.name]</span><br>")
@@ -134,7 +134,7 @@
var/mob/living/silicon/robot/R = locate(href_list["magbot"]) in GLOB.silicon_mobs
if(istype(R) && !R.emagged && (R.connected_ai == usr || IsAdminGhost(usr)) && !R.scrambledcodes && can_control(usr, R))
log_game("[key_name(usr)] emagged [R.name] using robotic console!")
message_admins("[key_name_admin(usr)] emagged cyborg [key_name_admin(R)] using robotic console!")
message_admins("[ADMIN_LOOKUPFLW(usr)] emagged cyborg [key_name_admin(R)] using robotic console!")
R.SetEmagged(1)
else if(href_list["convert"])
@@ -142,7 +142,7 @@
var/mob/living/silicon/robot/R = locate(href_list["convert"]) in GLOB.silicon_mobs
if(istype(R) && !is_servant_of_ratvar(R) && R.connected_ai == usr)
log_game("[key_name(usr)] converted [R.name] using robotic console!")
message_admins("[key_name_admin(usr)] converted cyborg [key_name_admin(R)] using robotic console!")
message_admins("[ADMIN_LOOKUPFLW(usr)] converted cyborg [key_name_admin(R)] using robotic console!")
add_servant_of_ratvar(R)
else if (href_list["killdrone"])
@@ -152,7 +152,7 @@
to_chat(usr, "<span class='danger'>ERROR: [D] is not responding to external commands.</span>")
else
var/turf/T = get_turf(D)
message_admins("[ADMIN_LOOKUPFLW(usr)] detonated [key_name_admin(D)][ADMIN_JMP(T)]!")
message_admins("[ADMIN_LOOKUPFLW(usr)] detonated [key_name_admin(D)] at [ADMIN_VERBOSEJMP(T)]!")
log_game("[key_name(usr)] detonated [key_name(D)]!")
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, D)
-1
View File
@@ -3,7 +3,6 @@
desc = "A classic music player."
icon = 'icons/obj/stationobjs.dmi'
icon_state = "jukebox"
anchored = TRUE
verb_say = "states"
density = TRUE
req_access = list(ACCESS_BAR)
@@ -7,7 +7,6 @@
icon = 'icons/obj/machines/defib_mount.dmi'
icon_state = "defibrillator_mount"
density = FALSE
anchored = TRUE
use_power = IDLE_POWER_USE
idle_power_usage = 1
power_channel = EQUIP
-1
View File
@@ -7,7 +7,6 @@
icon_state = "synthesizer"
idle_power_usage = 8 //5 with default parts
active_power_usage = 13 //10 with default parts
anchored = TRUE
density = FALSE
circuit = /obj/item/circuitboard/machine/dish_drive
var/static/list/item_types = list(/obj/item/trash/waffles,
-1
View File
@@ -4,7 +4,6 @@
icon = 'icons/obj/machines/cloning.dmi'
icon_state = "scanner"
density = TRUE
anchored = TRUE
use_power = IDLE_POWER_USE
idle_power_usage = 50
active_power_usage = 300
+1 -1
View File
@@ -178,7 +178,7 @@
limit--
while(!FoundDoor && limit)
if (!FoundDoor)
log_world("### MAP WARNING, [src] at [get_area_name(src, TRUE)] [COORD(src)] failed to find a valid airlock to cyclelink with!")
log_world("### MAP WARNING, [src] at [AREACOORD(src)] failed to find a valid airlock to cyclelink with!")
return
FoundDoor.cyclelinkedairlock = src
cyclelinkedairlock = FoundDoor
+44 -2
View File
@@ -79,6 +79,20 @@
opacity = 0
glass = TRUE
/obj/machinery/door/airlock/glass/incinerator
autoclose = FALSE
frequency = FREQ_AIRLOCK_CONTROL
heat_proof = TRUE
req_access = list(ACCESS_SYNDICATE)
/obj/machinery/door/airlock/glass/incinerator/syndicatelava_interior
name = "Turbine Interior Airlock"
id_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_INTERIOR
/obj/machinery/door/airlock/glass/incinerator/syndicatelava_exterior
name = "Turbine Exterior Airlock"
id_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_EXTERIOR
/obj/machinery/door/airlock/command/glass
opacity = 0
glass = TRUE
@@ -107,6 +121,20 @@
opacity = 0
glass = TRUE
/obj/machinery/door/airlock/research/glass/incinerator
autoclose = FALSE
frequency = FREQ_AIRLOCK_CONTROL
heat_proof = TRUE
req_access = list(ACCESS_TOX)
/obj/machinery/door/airlock/research/glass/incinerator/toxmix_interior
name = "Mixing Room Interior Airlock"
id_tag = INCINERATOR_TOXMIX_AIRLOCK_INTERIOR
/obj/machinery/door/airlock/research/glass/incinerator/toxmix_exterior
name = "Mixing Room Exterior Airlock"
id_tag = INCINERATOR_TOXMIX_AIRLOCK_EXTERIOR
/obj/machinery/door/airlock/mining/glass
opacity = 0
glass = TRUE
@@ -222,8 +250,8 @@
/obj/machinery/door/airlock/plasma/attackby(obj/item/C, mob/user, params)
if(C.is_hot() > 300)//If the temperature of the object is over 300, then ignite
message_admins("Plasma airlock ignited by [ADMIN_LOOKUPFLW(user)] in [ADMIN_COORDJMP(src)]")
log_game("Plasma airlock ignited by [key_name(user)] in [COORD(src)]")
message_admins("Plasma airlock ignited by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(src)]")
log_game("Plasma airlock ignited by [key_name(user)] in [AREACOORD(src)]")
ignite(C.is_hot())
else
return ..()
@@ -287,6 +315,20 @@
opacity = 0
glass = TRUE
/obj/machinery/door/airlock/public/glass/incinerator
autoclose = FALSE
frequency = FREQ_AIRLOCK_CONTROL
heat_proof = TRUE
req_one_access = list(ACCESS_ATMOSPHERICS, ACCESS_MAINT_TUNNELS)
/obj/machinery/door/airlock/public/glass/incinerator/atmos_interior
name = "Turbine Interior Airlock"
id_tag = INCINERATOR_ATMOS_AIRLOCK_INTERIOR
/obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior
name = "Turbine Exterior Airlock"
id_tag = INCINERATOR_ATMOS_AIRLOCK_EXTERIOR
//////////////////////////////////
/*
External Airlocks
-1
View File
@@ -24,7 +24,6 @@
icon_state = "frame"
desc = "A remote control for a door."
req_access = list(ACCESS_SECURITY)
anchored = TRUE
density = FALSE
var/id = null // id of linked machinery/lockers
-1
View File
@@ -3,7 +3,6 @@
desc = "It opens and closes."
icon = 'icons/obj/doors/Doorint.dmi'
icon_state = "door1"
anchored = TRUE
opacity = 1
density = TRUE
layer = OPEN_DOOR_LAYER
+20
View File
@@ -36,6 +36,26 @@
else
INVOKE_ASYNC(src, .proc/close)
/obj/machinery/door/poddoor/incinerator_toxmix
name = "combustion chamber vent"
id = INCINERATOR_TOXMIX_VENT
/obj/machinery/door/poddoor/incinerator_atmos_main
name = "turbine vent"
id = INCINERATOR_ATMOS_MAINVENT
/obj/machinery/door/poddoor/incinerator_atmos_aux
name = "combustion chamber vent"
id = INCINERATOR_ATMOS_AUXVENT
/obj/machinery/door/poddoor/incinerator_syndicatelava_main
name = "turbine vent"
id = INCINERATOR_SYNDICATELAVA_MAINVENT
/obj/machinery/door/poddoor/incinerator_syndicatelava_aux
name = "combustion chamber vent"
id = INCINERATOR_SYNDICATELAVA_AUXVENT
/obj/machinery/door/poddoor/CollidedWith(atom/movable/AM)
if(density)
return 0
-1
View File
@@ -6,7 +6,6 @@ GLOBAL_LIST_EMPTY(doppler_arrays)
icon = 'icons/obj/machines/research.dmi'
icon_state = "tdoppler"
density = TRUE
anchored = TRUE
var/integrated = FALSE
var/max_dist = 150
verb_say = "states coldly"
-1
View File
@@ -8,7 +8,6 @@
icon = 'icons/obj/machines/droneDispenser.dmi'
icon_state = "on"
anchored = TRUE
density = TRUE
max_integrity = 250
@@ -6,7 +6,6 @@
/obj/machinery/doorButtons
power_channel = ENVIRON
anchored = TRUE
use_power = IDLE_POWER_USE
idle_power_usage = 2
active_power_usage = 4
@@ -7,11 +7,11 @@
/datum/computer/file/embedded_program/airlock_controller
var/id_tag
var/exterior_door_tag
var/interior_door_tag
var/airpump_tag
var/sensor_tag
var/sanitize_external
var/exterior_door_tag //Burn chamber facing door
var/interior_door_tag //Station facing door
var/airpump_tag //See: dp_vent_pump.dm
var/sensor_tag //See: /obj/machinery/airlock_sensor
var/sanitize_external //Before the interior airlock opens, do we first drain all gases inside the chamber and then repressurize?
state = AIRLOCK_STATE_CLOSED
var/target_state = AIRLOCK_STATE_CLOSED
@@ -211,6 +211,33 @@
var/sensor_tag
var/sanitize_external
/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_toxmix
name = "Incinerator Access Console"
airpump_tag = INCINERATOR_TOXMIX_DP_VENTPUMP
exterior_door_tag = INCINERATOR_TOXMIX_AIRLOCK_EXTERIOR
id_tag = INCINERATOR_TOXMIX_AIRLOCK_CONTROLLER
interior_door_tag = INCINERATOR_TOXMIX_AIRLOCK_INTERIOR
sanitize_external = TRUE
sensor_tag = INCINERATOR_TOXMIX_AIRLOCK_SENSOR
/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_atmos
name = "Incinerator Access Console"
airpump_tag = INCINERATOR_ATMOS_DP_VENTPUMP
exterior_door_tag = INCINERATOR_ATMOS_AIRLOCK_EXTERIOR
id_tag = INCINERATOR_ATMOS_AIRLOCK_CONTROLLER
interior_door_tag = INCINERATOR_ATMOS_AIRLOCK_INTERIOR
sanitize_external = TRUE
sensor_tag = INCINERATOR_ATMOS_AIRLOCK_SENSOR
/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_syndicatelava
name = "Incinerator Access Console"
airpump_tag = INCINERATOR_SYNDICATELAVA_DP_VENTPUMP
exterior_door_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_EXTERIOR
id_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_CONTROLLER
interior_door_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_INTERIOR
sanitize_external = TRUE
sensor_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_SENSOR
/obj/machinery/embedded_controller/radio/airlock_controller/Initialize(mapload)
. = ..()
if(!mapload)
@@ -1,88 +1,87 @@
/datum/computer/file/embedded_program
var/list/memory = list()
var/state
var/obj/machinery/embedded_controller/master
/datum/computer/file/embedded_program/proc/post_signal(datum/signal/signal, comm_line)
if(master)
master.post_signal(signal, comm_line)
else
qdel(signal)
/datum/computer/file/embedded_program/proc/receive_user_command(command)
/datum/computer/file/embedded_program/proc/receive_signal(datum/signal/signal)
return null
/datum/computer/file/embedded_program/process()
return 0
/obj/machinery/embedded_controller
var/datum/computer/file/embedded_program/program
name = "embedded controller"
density = FALSE
anchored = TRUE
var/on = TRUE
/obj/machinery/embedded_controller/ui_interact(mob/user)
. = ..()
user.set_machine(src)
var/datum/browser/popup = new(user, "computer", name) // Set up the popup browser window
popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state))
popup.set_content(return_text())
popup.open()
/obj/machinery/embedded_controller/update_icon()
/obj/machinery/embedded_controller/proc/return_text()
/obj/machinery/embedded_controller/proc/post_signal(datum/signal/signal, comm_line)
return 0
/obj/machinery/embedded_controller/receive_signal(datum/signal/signal)
if(istype(signal) && program)
program.receive_signal(signal)
/obj/machinery/embedded_controller/Topic(href, href_list)
if(..())
return 0
if(program)
program.receive_user_command(href_list["command"])
addtimer(CALLBACK(program, /datum/computer/file/embedded_program.proc/process), 5)
usr.set_machine(src)
addtimer(CALLBACK(src, .proc/updateDialog), 5)
/obj/machinery/embedded_controller/process()
if(program)
program.process()
update_icon()
src.updateDialog()
/obj/machinery/embedded_controller/radio
var/frequency
var/datum/radio_frequency/radio_connection
/obj/machinery/embedded_controller/radio/Destroy()
SSradio.remove_object(src,frequency)
return ..()
/obj/machinery/embedded_controller/radio/Initialize()
. = ..()
set_frequency(frequency)
/obj/machinery/embedded_controller/radio/post_signal(datum/signal/signal)
signal.transmission_method = TRANSMISSION_RADIO
if(radio_connection)
return radio_connection.post_signal(src, signal)
else
signal = null
/obj/machinery/embedded_controller/radio/proc/set_frequency(new_frequency)
SSradio.remove_object(src, frequency)
frequency = new_frequency
radio_connection = SSradio.add_object(src, frequency)
/datum/computer/file/embedded_program
var/list/memory = list()
var/state
var/obj/machinery/embedded_controller/master
/datum/computer/file/embedded_program/proc/post_signal(datum/signal/signal, comm_line)
if(master)
master.post_signal(signal, comm_line)
else
qdel(signal)
/datum/computer/file/embedded_program/proc/receive_user_command(command)
/datum/computer/file/embedded_program/proc/receive_signal(datum/signal/signal)
return null
/datum/computer/file/embedded_program/process()
return 0
/obj/machinery/embedded_controller
var/datum/computer/file/embedded_program/program
name = "embedded controller"
density = FALSE
var/on = TRUE
/obj/machinery/embedded_controller/ui_interact(mob/user)
. = ..()
user.set_machine(src)
var/datum/browser/popup = new(user, "computer", name) // Set up the popup browser window
popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state))
popup.set_content(return_text())
popup.open()
/obj/machinery/embedded_controller/update_icon()
/obj/machinery/embedded_controller/proc/return_text()
/obj/machinery/embedded_controller/proc/post_signal(datum/signal/signal, comm_line)
return 0
/obj/machinery/embedded_controller/receive_signal(datum/signal/signal)
if(istype(signal) && program)
program.receive_signal(signal)
/obj/machinery/embedded_controller/Topic(href, href_list)
if(..())
return 0
if(program)
program.receive_user_command(href_list["command"])
addtimer(CALLBACK(program, /datum/computer/file/embedded_program.proc/process), 5)
usr.set_machine(src)
addtimer(CALLBACK(src, .proc/updateDialog), 5)
/obj/machinery/embedded_controller/process()
if(program)
program.process()
update_icon()
src.updateDialog()
/obj/machinery/embedded_controller/radio
var/frequency
var/datum/radio_frequency/radio_connection
/obj/machinery/embedded_controller/radio/Destroy()
SSradio.remove_object(src,frequency)
return ..()
/obj/machinery/embedded_controller/radio/Initialize()
. = ..()
set_frequency(frequency)
/obj/machinery/embedded_controller/radio/post_signal(datum/signal/signal)
signal.transmission_method = TRANSMISSION_RADIO
if(radio_connection)
return radio_connection.post_signal(src, signal)
else
signal = null
/obj/machinery/embedded_controller/radio/proc/set_frequency(new_frequency)
SSradio.remove_object(src, frequency)
frequency = new_frequency
radio_connection = SSradio.add_object(src, frequency)
-1
View File
@@ -16,7 +16,6 @@
desc = "<i>\"Pull this in case of emergency\"</i>. Thus, keep pulling it forever."
icon = 'icons/obj/monitors.dmi'
icon_state = "fire0"
anchored = TRUE
max_integrity = 250
integrity_failure = 100
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 30)

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