Hard upstream sync (#6951)
* maps - none of our changes included yet i'll get them in after i finish up the rest of the sync * sync part 1 - underscore folders in code * controllers folder * datums folder * game folder * cmon, work * modules - admin to awaymissions * cargo to events * fields to lighting * mapping > ruins * rest of the code folder * rest of the folders in the root directory * DME * fixes compiling errors. it compiles so it works * readds map changes * fixes dogborg module select * fixes typo in moduleselect_alternate_icon filepath
This commit is contained in:
@@ -277,6 +277,28 @@ CREATE TABLE `role_time`
|
||||
`minutes` INT UNSIGNED NOT NULL,
|
||||
PRIMARY KEY (`ckey`, `job`)
|
||||
) ENGINE = InnoDB;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `role_time`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `role_time_log`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `role_time_log` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`ckey` varchar(32) NOT NULL,
|
||||
`job` varchar(128) NOT NULL,
|
||||
`delta` int(11) NOT NULL,
|
||||
`datetime` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `ckey` (`ckey`),
|
||||
KEY `job` (`job`),
|
||||
KEY `datetime` (`datetime`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `player`
|
||||
@@ -428,6 +450,18 @@ CREATE TABLE `schema_revision` (
|
||||
PRIMARY KEY (`major`, `minor`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
|
||||
DELIMITER
|
||||
$$
|
||||
CREATE TRIGGER `role_timeTlogupdate` AFTER UPDATE ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (NEW.CKEY, NEW.job, NEW.minutes-OLD.minutes);
|
||||
END
|
||||
$$
|
||||
CREATE TRIGGER `role_timeTloginsert` AFTER INSERT ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (NEW.ckey, NEW.job, NEW.minutes);
|
||||
END
|
||||
$$
|
||||
CREATE TRIGGER `role_timeTlogdelete` AFTER DELETE ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (OLD.ckey, OLD.job, 0-OLD.minutes);
|
||||
END
|
||||
$$
|
||||
|
||||
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
||||
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
|
||||
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
||||
|
||||
@@ -277,6 +277,28 @@ CREATE TABLE `SS13_role_time`
|
||||
`minutes` INT UNSIGNED NOT NULL,
|
||||
PRIMARY KEY (`ckey`, `job`)
|
||||
) ENGINE = InnoDB;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `SS13_role_time`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `SS13_role_time_log`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `SS13_role_time_log` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`ckey` varchar(32) NOT NULL,
|
||||
`job` varchar(128) NOT NULL,
|
||||
`delta` int(11) NOT NULL,
|
||||
`datetime` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `ckey` (`ckey`),
|
||||
KEY `job` (`job`),
|
||||
KEY `datetime` (`datetime`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `SS13_player`
|
||||
@@ -428,6 +450,18 @@ CREATE TABLE `SS13_schema_revision` (
|
||||
PRIMARY KEY (`major`,`minor`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
|
||||
DELIMITER
|
||||
$$
|
||||
CREATE TRIGGER `role_timeTlogupdate` AFTER UPDATE ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (NEW.CKEY, NEW.job, NEW.minutes-OLD.minutes);
|
||||
END
|
||||
$$
|
||||
CREATE TRIGGER `role_timeTloginsert` AFTER INSERT ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (NEW.ckey, NEW.job, NEW.minutes);
|
||||
END
|
||||
$$
|
||||
CREATE TRIGGER `role_timeTlogdelete` AFTER DELETE ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (OLD.ckey, OLD.job, 0-OLD.minutes);
|
||||
END
|
||||
$$
|
||||
|
||||
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
||||
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
|
||||
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
||||
|
||||
@@ -211,9 +211,7 @@
|
||||
},
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"aP" = (
|
||||
/turf/open/floor/plasteel/blue/side{
|
||||
dir = 0
|
||||
},
|
||||
/turf/open/floor/plasteel/blue/side,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"aQ" = (
|
||||
/turf/open/floor/plasteel/blue/corner{
|
||||
@@ -721,9 +719,7 @@
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"cw" = (
|
||||
/obj/machinery/light/small,
|
||||
/turf/open/floor/plasteel/blue/side{
|
||||
dir = 0
|
||||
},
|
||||
/turf/open/floor/plasteel/blue/side,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"cx" = (
|
||||
/obj/machinery/light{
|
||||
@@ -782,9 +778,7 @@
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"cH" = (
|
||||
/mob/living/simple_animal/bot/cleanbot,
|
||||
/turf/open/floor/plasteel/blue/side{
|
||||
dir = 0
|
||||
},
|
||||
/turf/open/floor/plasteel/blue/side,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"cI" = (
|
||||
/obj/structure/table/glass,
|
||||
|
||||
@@ -422,7 +422,7 @@
|
||||
/turf/open/floor/pod/dark,
|
||||
/area/ruin/powered/snow_biodome)
|
||||
"UM" = (
|
||||
/obj/machinery/computer/monitor{
|
||||
/obj/machinery/computer/monitor/secret{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/pod/dark,
|
||||
|
||||
@@ -195,7 +195,6 @@
|
||||
/area/ruin/unpowered)
|
||||
"C" = (
|
||||
/obj/structure/chair/wood/wings{
|
||||
icon_state = "wooden_chair_wings";
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
@@ -253,7 +252,6 @@
|
||||
/area/ruin/unpowered)
|
||||
"K" = (
|
||||
/obj/structure/chair/wood/wings{
|
||||
icon_state = "wooden_chair_wings";
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/decal/remains/human,
|
||||
|
||||
@@ -100,6 +100,31 @@
|
||||
/obj/machinery/chem_dispenser/fullupgrade,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/unpowered/syndicate_lava_base/chemistry)
|
||||
"aW" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/research,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/unpowered/syndicate_lava_base/circuits)
|
||||
"bb" = (
|
||||
/obj/structure/chair/office/light{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/white/side,
|
||||
/area/ruin/unpowered/syndicate_lava_base/circuits)
|
||||
"bh" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/item/integrated_circuit_printer/upgraded,
|
||||
/obj/machinery/light/small{
|
||||
brightness = 3;
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/white/side,
|
||||
/area/ruin/unpowered/syndicate_lava_base/circuits)
|
||||
"cA" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/item/book/manual/wiki/chemistry,
|
||||
@@ -1269,6 +1294,7 @@
|
||||
/obj/item/circuitboard/machine/processor,
|
||||
/obj/item/circuitboard/machine/gibber,
|
||||
/obj/item/circuitboard/machine/deep_fryer,
|
||||
/obj/item/circuitboard/machine/cell_charger,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ruin/unpowered/syndicate_lava_base/cargo)
|
||||
"ft" = (
|
||||
@@ -3438,7 +3464,7 @@
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "0-2"
|
||||
},
|
||||
/obj/machinery/computer/monitor,
|
||||
/obj/machinery/computer/monitor/secret,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel/floorgrime,
|
||||
@@ -4847,15 +4873,18 @@
|
||||
},
|
||||
/area/ruin/unpowered/syndicate_lava_base/arrivals)
|
||||
"nv" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
|
||||
dir = 4
|
||||
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "2-4"
|
||||
},
|
||||
/turf/open/floor/plasteel/red/corner{
|
||||
dir = 1
|
||||
},
|
||||
@@ -5190,10 +5219,15 @@
|
||||
/turf/open/floor/plasteel/floorgrime,
|
||||
/area/ruin/unpowered/syndicate_lava_base/arrivals)
|
||||
"nY" = (
|
||||
/obj/machinery/light/small,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/turf/open/floor/plasteel/floorgrime,
|
||||
/area/ruin/unpowered/syndicate_lava_base/arrivals)
|
||||
"nZ" = (
|
||||
/obj/machinery/light/small,
|
||||
/turf/open/floor/plasteel/white/side{
|
||||
dir = 4
|
||||
},
|
||||
@@ -5508,6 +5542,50 @@
|
||||
/obj/structure/sign/departments/chemistry,
|
||||
/turf/closed/wall/mineral/plastitanium/nodiagonal,
|
||||
/area/ruin/unpowered/syndicate_lava_base/testlab)
|
||||
"pn" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-4"
|
||||
},
|
||||
/obj/machinery/light/small{
|
||||
brightness = 3;
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/unpowered/syndicate_lava_base/circuits)
|
||||
"sJ" = (
|
||||
/obj/structure/grille,
|
||||
/obj/structure/window/plastitanium,
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/poddoor{
|
||||
id = "lavalandsyndi_circuits"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/unpowered/syndicate_lava_base/circuits)
|
||||
"tZ" = (
|
||||
/obj/structure/chair/office/light{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/white/side,
|
||||
/area/ruin/unpowered/syndicate_lava_base/circuits)
|
||||
"yC" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/item/integrated_circuit_printer/upgraded,
|
||||
/obj/machinery/light/small{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/white/side,
|
||||
/area/ruin/unpowered/syndicate_lava_base/circuits)
|
||||
"Al" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 9
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
|
||||
dir = 5
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/unpowered/syndicate_lava_base/circuits)
|
||||
"EZ" = (
|
||||
/obj/machinery/door/airlock/external{
|
||||
req_access_txt = "150"
|
||||
@@ -5516,6 +5594,37 @@
|
||||
/obj/effect/mapping_helpers/airlock/cyclelink_helper,
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/unpowered/syndicate_lava_base/arrivals)
|
||||
"FK" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/item/stack/sheet/metal/fifty,
|
||||
/turf/open/floor/plasteel/white/side,
|
||||
/area/ruin/unpowered/syndicate_lava_base/circuits)
|
||||
"Gj" = (
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "0-8"
|
||||
},
|
||||
/obj/machinery/power/apc/syndicate{
|
||||
dir = 1;
|
||||
name = "Circuit Lab APC";
|
||||
pixel_y = 24
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/closet/crate/bin,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/unpowered/syndicate_lava_base/circuits)
|
||||
"MP" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/closed/wall/mineral/plastitanium/nodiagonal,
|
||||
/area/ruin/unpowered/syndicate_lava_base/circuits)
|
||||
"Oa" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/unpowered/syndicate_lava_base/circuits)
|
||||
"Pa" = (
|
||||
/turf/closed/wall/mineral/plastitanium/nodiagonal,
|
||||
/area/ruin/unpowered/syndicate_lava_base/circuits)
|
||||
"St" = (
|
||||
/obj/structure/fans/tiny,
|
||||
/obj/machinery/door/airlock/external{
|
||||
@@ -5526,6 +5635,71 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/unpowered/syndicate_lava_base/arrivals)
|
||||
"UP" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/machinery/airalarm/syndicate{
|
||||
dir = 8;
|
||||
pixel_x = 24
|
||||
},
|
||||
/obj/item/stock_parts/cell/high/plus{
|
||||
pixel_x = 7;
|
||||
pixel_y = -5
|
||||
},
|
||||
/obj/item/stock_parts/cell/high/plus{
|
||||
pixel_x = -8;
|
||||
pixel_y = -3
|
||||
},
|
||||
/obj/item/multitool{
|
||||
pixel_x = -1;
|
||||
pixel_y = -13
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/unpowered/syndicate_lava_base/circuits)
|
||||
"Wg" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/machinery/firealarm{
|
||||
dir = 8;
|
||||
pixel_x = -26
|
||||
},
|
||||
/obj/item/stock_parts/cell/high/plus{
|
||||
pixel_x = -5;
|
||||
pixel_y = 9
|
||||
},
|
||||
/obj/item/stock_parts/cell/high/plus{
|
||||
pixel_x = -8;
|
||||
pixel_y = -3
|
||||
},
|
||||
/obj/item/multitool,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/unpowered/syndicate_lava_base/circuits)
|
||||
"Yr" = (
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/unpowered/syndicate_lava_base/circuits)
|
||||
"Yu" = (
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/button/door{
|
||||
id = "lavalandsyndi_circuits";
|
||||
name = "Circuitry Blast Door Control";
|
||||
pixel_y = 26;
|
||||
req_access_txt = "150"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/unpowered/syndicate_lava_base/circuits)
|
||||
"ZW" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/item/paper_bin,
|
||||
/obj/item/pen,
|
||||
/obj/item/integrated_electronics/analyzer{
|
||||
pixel_x = -12;
|
||||
pixel_y = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/white/side,
|
||||
/area/ruin/unpowered/syndicate_lava_base/circuits)
|
||||
|
||||
(1,1,1) = {"
|
||||
aa
|
||||
@@ -6647,10 +6821,10 @@ jy
|
||||
ns
|
||||
nV
|
||||
oo
|
||||
ox
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
Pa
|
||||
Pa
|
||||
Pa
|
||||
Pa
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -6694,10 +6868,10 @@ jy
|
||||
nt
|
||||
nW
|
||||
oq
|
||||
mT
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
Pa
|
||||
Wg
|
||||
bh
|
||||
sJ
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -6740,11 +6914,11 @@ jy
|
||||
jy
|
||||
nu
|
||||
nX
|
||||
om
|
||||
mT
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
MP
|
||||
Pa
|
||||
Yu
|
||||
tZ
|
||||
sJ
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -6787,11 +6961,11 @@ jy
|
||||
mX
|
||||
nv
|
||||
nY
|
||||
mT
|
||||
mT
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
aW
|
||||
pn
|
||||
Al
|
||||
FK
|
||||
sJ
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -6834,11 +7008,11 @@ mz
|
||||
mY
|
||||
nw
|
||||
nZ
|
||||
mT
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
Pa
|
||||
Gj
|
||||
Oa
|
||||
ZW
|
||||
sJ
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -6881,11 +7055,11 @@ kQ
|
||||
kT
|
||||
nx
|
||||
kR
|
||||
kQ
|
||||
kQ
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
Pa
|
||||
Pa
|
||||
Yr
|
||||
bb
|
||||
sJ
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -6929,10 +7103,10 @@ mZ
|
||||
ny
|
||||
oa
|
||||
or
|
||||
kQ
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
Pa
|
||||
UP
|
||||
yC
|
||||
sJ
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -6976,10 +7150,10 @@ na
|
||||
nz
|
||||
ob
|
||||
os
|
||||
kQ
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
Pa
|
||||
Pa
|
||||
Pa
|
||||
Pa
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
|
||||
@@ -74,7 +74,6 @@
|
||||
icon_state = "0-4"
|
||||
},
|
||||
/obj/machinery/power/apc{
|
||||
dir = 0;
|
||||
name = "Worn-out APC";
|
||||
pixel_y = -24
|
||||
},
|
||||
|
||||
@@ -328,7 +328,7 @@
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/ruin/unpowered/no_grav)
|
||||
"aZ" = (
|
||||
/obj/machinery/computer/monitor{
|
||||
/obj/machinery/computer/monitor/secret{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/cable{
|
||||
@@ -848,7 +848,6 @@
|
||||
"cQ" = (
|
||||
/obj/structure/cable,
|
||||
/obj/machinery/power/apc{
|
||||
dir = 0;
|
||||
name = "Worn-out APC";
|
||||
pixel_y = -24
|
||||
},
|
||||
@@ -1560,7 +1559,6 @@
|
||||
"fg" = (
|
||||
/obj/structure/table,
|
||||
/obj/machinery/power/apc{
|
||||
dir = 0;
|
||||
name = "Worn-out APC";
|
||||
pixel_y = -24
|
||||
},
|
||||
@@ -2001,7 +1999,6 @@
|
||||
"gB" = (
|
||||
/obj/structure/cable,
|
||||
/obj/machinery/power/apc{
|
||||
dir = 0;
|
||||
name = "Worn-out APC";
|
||||
pixel_y = -24
|
||||
},
|
||||
@@ -2169,7 +2166,7 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/derelict/arrival)
|
||||
"hj" = (
|
||||
/obj/structure/closet/coffin,
|
||||
/obj/structure/closet/crate/coffin,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ruin/space/derelict/medical/chapel)
|
||||
"hk" = (
|
||||
@@ -2603,7 +2600,7 @@
|
||||
dir = 4;
|
||||
req_access_txt = "25"
|
||||
},
|
||||
/obj/structure/closet/coffin,
|
||||
/obj/structure/closet/crate/coffin,
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/derelict/medical/chapel)
|
||||
"iL" = (
|
||||
@@ -2855,7 +2852,6 @@
|
||||
/area/ruin/space/derelict/medical/chapel)
|
||||
"jz" = (
|
||||
/obj/machinery/power/apc{
|
||||
dir = 0;
|
||||
name = "Worn-out APC";
|
||||
pixel_y = -24
|
||||
},
|
||||
@@ -3130,7 +3126,6 @@
|
||||
"kr" = (
|
||||
/obj/structure/cable,
|
||||
/obj/machinery/power/apc{
|
||||
dir = 0;
|
||||
name = "Worn-out APC";
|
||||
pixel_y = -24
|
||||
},
|
||||
@@ -3314,7 +3309,6 @@
|
||||
"la" = (
|
||||
/obj/structure/cable,
|
||||
/obj/machinery/power/apc{
|
||||
dir = 0;
|
||||
name = "Worn-out APC";
|
||||
pixel_y = -24
|
||||
},
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1218,10 +1218,7 @@
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-8"
|
||||
},
|
||||
/turf/open/floor/plating/airless{
|
||||
tag = "icon-floor";
|
||||
icon_state = "floor"
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/template_noop)
|
||||
"dM" = (
|
||||
/obj/structure/table,
|
||||
@@ -1542,19 +1539,13 @@
|
||||
icon_state = "0-4"
|
||||
},
|
||||
/obj/machinery/power/solar,
|
||||
/turf/open/floor/plating/airless{
|
||||
tag = "icon-floor";
|
||||
icon_state = "floor"
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/template_noop)
|
||||
"eJ" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-8"
|
||||
},
|
||||
/turf/open/floor/plating/airless{
|
||||
tag = "icon-floor";
|
||||
icon_state = "floor"
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/template_noop)
|
||||
"eK" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
@@ -2823,8 +2814,6 @@
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel/orange/side{
|
||||
tag = "icon-orange (NORTHWEST)";
|
||||
icon_state = "orange";
|
||||
dir = 9
|
||||
},
|
||||
/area/ruin/space/has_grav/ancientstation/rnd)
|
||||
@@ -2838,8 +2827,6 @@
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel/orange/side{
|
||||
tag = "icon-orange (NORTH)";
|
||||
icon_state = "orange";
|
||||
dir = 1
|
||||
},
|
||||
/area/ruin/space/has_grav/ancientstation/rnd)
|
||||
@@ -2853,8 +2840,6 @@
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel/orange/side{
|
||||
tag = "icon-orange (NORTHEAST)";
|
||||
icon_state = "orange";
|
||||
dir = 5
|
||||
},
|
||||
/area/ruin/space/has_grav/ancientstation/rnd)
|
||||
@@ -2886,10 +2871,7 @@
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-4"
|
||||
},
|
||||
/turf/open/floor/plating/airless{
|
||||
tag = "icon-floor";
|
||||
icon_state = "floor"
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/template_noop)
|
||||
"hN" = (
|
||||
/obj/structure/lattice/catwalk,
|
||||
@@ -3002,8 +2984,6 @@
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel/orange/side{
|
||||
tag = "icon-orange (EAST)";
|
||||
icon_state = "orange";
|
||||
dir = 4
|
||||
},
|
||||
/area/ruin/space/has_grav/ancientstation/rnd)
|
||||
@@ -3129,8 +3109,6 @@
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/orange/side{
|
||||
tag = "icon-orange (EAST)";
|
||||
icon_state = "orange";
|
||||
dir = 4
|
||||
},
|
||||
/area/ruin/space/has_grav/ancientstation/rnd)
|
||||
@@ -3181,8 +3159,6 @@
|
||||
pixel_x = 24
|
||||
},
|
||||
/turf/open/floor/plasteel/orange/side{
|
||||
tag = "icon-orange (EAST)";
|
||||
icon_state = "orange";
|
||||
dir = 4
|
||||
},
|
||||
/area/ruin/space/has_grav/ancientstation/rnd)
|
||||
@@ -3297,8 +3273,6 @@
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel/orange/side{
|
||||
tag = "icon-orange (EAST)";
|
||||
icon_state = "orange";
|
||||
dir = 4
|
||||
},
|
||||
/area/ruin/space/has_grav/ancientstation/rnd)
|
||||
@@ -3387,8 +3361,6 @@
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel/orange/side{
|
||||
tag = "icon-orange (SOUTHWEST)";
|
||||
icon_state = "orange";
|
||||
dir = 10
|
||||
},
|
||||
/area/ruin/space/has_grav/ancientstation/rnd)
|
||||
@@ -3413,8 +3385,6 @@
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel/orange/side{
|
||||
tag = "icon-orange (SOUTHEAST)";
|
||||
icon_state = "orange";
|
||||
dir = 6
|
||||
},
|
||||
/area/ruin/space/has_grav/ancientstation/rnd)
|
||||
@@ -4338,10 +4308,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation/hivebot)
|
||||
"lz" = (
|
||||
/turf/open/floor/plating/airless{
|
||||
tag = "icon-floor";
|
||||
icon_state = "floor"
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/template_noop)
|
||||
"lL" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
@@ -4351,8 +4318,6 @@
|
||||
"lM" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel/orange/side{
|
||||
tag = "icon-orange (WEST)";
|
||||
icon_state = "orange";
|
||||
dir = 8
|
||||
},
|
||||
/area/ruin/space/has_grav/ancientstation/rnd)
|
||||
@@ -4360,8 +4325,6 @@
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/turf/open/floor/plasteel/orange/corner{
|
||||
tag = "icon-orangecorner (EAST)";
|
||||
icon_state = "orangecorner";
|
||||
dir = 4
|
||||
},
|
||||
/area/ruin/space/has_grav/ancientstation/rnd)
|
||||
|
||||
@@ -63,7 +63,6 @@
|
||||
/area/ruin/space/oldteleporter)
|
||||
"n" = (
|
||||
/obj/machinery/power/apc{
|
||||
dir = 0;
|
||||
name = "Worn-out APC";
|
||||
pixel_y = -24
|
||||
},
|
||||
|
||||
@@ -3392,9 +3392,8 @@
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "2-8"
|
||||
},
|
||||
/obj/machinery/atmospherics/components/binary/valve{
|
||||
name = "Air Release Valve";
|
||||
open = 1
|
||||
/obj/machinery/atmospherics/components/binary/valve/on{
|
||||
name = "Air Release Valve"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/hotel/power)
|
||||
|
||||
@@ -76,7 +76,6 @@
|
||||
/area/ruin/space/has_grav/turretedoutpost)
|
||||
"ar" = (
|
||||
/obj/machinery/power/apc{
|
||||
dir = 0;
|
||||
name = "Worn-out APC";
|
||||
pixel_y = -24
|
||||
},
|
||||
|
||||
@@ -3688,7 +3688,7 @@
|
||||
/turf/open/floor/vault,
|
||||
/area/awaymission/academy/academyengine)
|
||||
"mm" = (
|
||||
/obj/structure/closet/coffin,
|
||||
/obj/structure/closet/crate/coffin,
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/academy/academyengine)
|
||||
"mn" = (
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -37,7 +37,6 @@
|
||||
"ai" = (
|
||||
/obj/item/flashlight{
|
||||
icon_state = "flashlight-on";
|
||||
item_state = "flashlight";
|
||||
on = 1
|
||||
},
|
||||
/turf/open/floor/plasteel/airless,
|
||||
@@ -656,7 +655,6 @@
|
||||
dir = 1
|
||||
},
|
||||
/obj/item/radio/intercom{
|
||||
dir = 0;
|
||||
name = "Station Intercom (General)";
|
||||
pixel_y = 28
|
||||
},
|
||||
@@ -681,7 +679,6 @@
|
||||
/area/awaymission/challenge/end)
|
||||
"cg" = (
|
||||
/obj/item/radio/intercom{
|
||||
dir = 0;
|
||||
name = "Station Intercom (General)";
|
||||
pixel_x = -27
|
||||
},
|
||||
|
||||
@@ -728,7 +728,7 @@
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-4"
|
||||
},
|
||||
/obj/machinery/computer/monitor,
|
||||
/obj/machinery/computer/monitor/secret,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 5
|
||||
},
|
||||
@@ -2707,12 +2707,10 @@
|
||||
/turf/open/floor/engine,
|
||||
/area/awaymission/moonoutpost19/research)
|
||||
"fJ" = (
|
||||
/obj/machinery/atmospherics/components/unary/outlet_injector{
|
||||
/obj/machinery/atmospherics/components/unary/outlet_injector/on{
|
||||
desc = "Has a valve and pump attached to it. This one has been applied with an acid-proof coating.";
|
||||
dir = 8;
|
||||
icon_state = "on";
|
||||
name = "Acid-Proof Air Injector";
|
||||
on = 1
|
||||
name = "Acid-Proof Air Injector"
|
||||
},
|
||||
/obj/structure/alien/weeds,
|
||||
/turf/open/floor/engine,
|
||||
@@ -3126,7 +3124,7 @@
|
||||
},
|
||||
/area/awaymission/moonoutpost19/research)
|
||||
"gA" = (
|
||||
/obj/machinery/computer/monitor{
|
||||
/obj/machinery/computer/monitor/secret{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/cable,
|
||||
@@ -3973,7 +3971,6 @@
|
||||
/area/awaymission/moonoutpost19/research)
|
||||
"ie" = (
|
||||
/obj/machinery/door/airlock/medical{
|
||||
id_tag = "";
|
||||
name = "Research Division";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
@@ -5348,7 +5345,6 @@
|
||||
"kW" = (
|
||||
/obj/structure/closet/emcloset,
|
||||
/turf/open/floor/plasteel/blue/side{
|
||||
dir = 0;
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/moonoutpost19/arrivals)
|
||||
@@ -5360,7 +5356,6 @@
|
||||
},
|
||||
/obj/item/multitool,
|
||||
/turf/open/floor/plasteel/blue/side{
|
||||
dir = 0;
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/moonoutpost19/arrivals)
|
||||
@@ -5372,14 +5367,12 @@
|
||||
maxcharge = 15000
|
||||
},
|
||||
/turf/open/floor/plasteel/blue/side{
|
||||
dir = 0;
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/moonoutpost19/arrivals)
|
||||
"kZ" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel/blue/side{
|
||||
dir = 0;
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/moonoutpost19/arrivals)
|
||||
@@ -6776,7 +6769,6 @@
|
||||
/area/awaymission/moonoutpost19/arrivals)
|
||||
"Mm" = (
|
||||
/obj/machinery/door/airlock/medical{
|
||||
id_tag = "";
|
||||
name = "Research Division";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
|
||||
@@ -1253,9 +1253,6 @@
|
||||
/obj/effect/decal/cleanable/blood/drip,
|
||||
/turf/open/floor/plasteel/darkpurple,
|
||||
/area/awaymission/research/interior/genetics)
|
||||
"dP" = (
|
||||
/turf/open/floor/plasteel/darkpurple,
|
||||
/area/awaymission/research/interior/genetics)
|
||||
"dQ" = (
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 8
|
||||
@@ -3106,19 +3103,16 @@
|
||||
"jr" = (
|
||||
/obj/structure/sign/directions/security{
|
||||
dir = 1;
|
||||
icon_state = "direction_sec";
|
||||
pixel_x = 32;
|
||||
pixel_y = 40
|
||||
},
|
||||
/obj/structure/sign/directions/engineering{
|
||||
dir = 1;
|
||||
icon_state = "direction_eng";
|
||||
pixel_x = 32;
|
||||
pixel_y = 33
|
||||
},
|
||||
/obj/structure/sign/directions/science{
|
||||
dir = 1;
|
||||
icon_state = "direction_sci";
|
||||
pixel_x = 32;
|
||||
pixel_y = 26
|
||||
},
|
||||
@@ -36975,7 +36969,7 @@ fc
|
||||
fE
|
||||
ea
|
||||
cK
|
||||
dP
|
||||
cK
|
||||
dt
|
||||
cK
|
||||
cK
|
||||
@@ -37735,7 +37729,7 @@ cJ
|
||||
cK
|
||||
cK
|
||||
cK
|
||||
dP
|
||||
cK
|
||||
ea
|
||||
ez
|
||||
fg
|
||||
@@ -38005,7 +37999,7 @@ ea
|
||||
hV
|
||||
cK
|
||||
cK
|
||||
dP
|
||||
cK
|
||||
iI
|
||||
cx
|
||||
cd
|
||||
|
||||
@@ -5713,7 +5713,7 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/snowdin/post/engineering)
|
||||
"ns" = (
|
||||
/obj/machinery/computer/monitor,
|
||||
/obj/machinery/computer/monitor/secret,
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "0-8"
|
||||
},
|
||||
@@ -7654,7 +7654,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/snowdin/post/cavern2)
|
||||
"sv" = (
|
||||
/obj/machinery/computer/monitor{
|
||||
/obj/machinery/computer/monitor/secret{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/cable/yellow,
|
||||
@@ -8295,7 +8295,7 @@
|
||||
},
|
||||
/area/awaymission/snowdin/post/cavern1)
|
||||
"uA" = (
|
||||
/obj/machinery/computer/monitor{
|
||||
/obj/machinery/computer/monitor/secret{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/cable/yellow{
|
||||
@@ -9090,7 +9090,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/snowdin/post/mining_dock)
|
||||
"wJ" = (
|
||||
/obj/machinery/computer/monitor,
|
||||
/obj/machinery/computer/monitor/secret,
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "2-8"
|
||||
},
|
||||
@@ -10729,7 +10729,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/snowdin/post/minipost)
|
||||
"Br" = (
|
||||
/obj/machinery/computer/monitor,
|
||||
/obj/machinery/computer/monitor/secret,
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/snowdin/post/minipost)
|
||||
"Bs" = (
|
||||
@@ -10881,7 +10881,6 @@
|
||||
/area/awaymission/snowdin/cave)
|
||||
"BO" = (
|
||||
/obj/effect/turf_decal/stripes/end{
|
||||
icon_state = "warn_end";
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/snowed/cavern,
|
||||
@@ -10895,7 +10894,6 @@
|
||||
/area/awaymission/snowdin/cave/cavern)
|
||||
"BQ" = (
|
||||
/obj/effect/turf_decal/stripes/end{
|
||||
icon_state = "warn_end";
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating/snowed/cavern,
|
||||
@@ -13360,7 +13358,7 @@
|
||||
},
|
||||
/area/awaymission/snowdin/post/mining_main)
|
||||
"IZ" = (
|
||||
/obj/machinery/computer/monitor,
|
||||
/obj/machinery/computer/monitor/secret,
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "0-4"
|
||||
},
|
||||
@@ -13779,7 +13777,7 @@
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "2-8"
|
||||
},
|
||||
/obj/machinery/computer/monitor,
|
||||
/obj/machinery/computer/monitor/secret,
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "0-8"
|
||||
},
|
||||
|
||||
@@ -1388,16 +1388,12 @@
|
||||
},
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"fJ" = (
|
||||
/turf/open/floor/plasteel/blue/side{
|
||||
dir = 0
|
||||
},
|
||||
/turf/open/floor/plasteel/blue/side,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"fK" = (
|
||||
/obj/item/ammo_casing/c10mm,
|
||||
/obj/item/ammo_casing/c10mm,
|
||||
/turf/open/floor/plasteel/blue/side{
|
||||
dir = 0
|
||||
},
|
||||
/turf/open/floor/plasteel/blue/side,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"fL" = (
|
||||
/obj/item/stack/sheet/metal,
|
||||
@@ -1407,9 +1403,7 @@
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"fM" = (
|
||||
/obj/item/ammo_casing/shotgun,
|
||||
/turf/open/floor/plasteel/blue/side{
|
||||
dir = 0
|
||||
},
|
||||
/turf/open/floor/plasteel/blue/side,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"fN" = (
|
||||
/obj/effect/mob_spawn/human/syndicatesoldier,
|
||||
@@ -1417,9 +1411,7 @@
|
||||
/obj/item/ammo_casing/c10mm,
|
||||
/obj/item/ammo_casing/c10mm,
|
||||
/obj/effect/decal/cleanable/blood,
|
||||
/turf/open/floor/plasteel/blue/side{
|
||||
dir = 0
|
||||
},
|
||||
/turf/open/floor/plasteel/blue/side,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"fO" = (
|
||||
/obj/item/ammo_casing/c10mm,
|
||||
@@ -1773,9 +1765,7 @@
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"gZ" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/turf/open/floor/plasteel/blue/side{
|
||||
dir = 0
|
||||
},
|
||||
/turf/open/floor/plasteel/blue/side,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"ha" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end,
|
||||
@@ -2471,9 +2461,7 @@
|
||||
/obj/item/ammo_casing/c10mm,
|
||||
/obj/item/ammo_casing/c10mm,
|
||||
/obj/item/stack/sheet/metal,
|
||||
/turf/open/floor/plasteel/blue/side{
|
||||
dir = 0
|
||||
},
|
||||
/turf/open/floor/plasteel/blue/side,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"jP" = (
|
||||
/obj/structure/closet/crate/internals,
|
||||
|
||||
@@ -458,8 +458,7 @@
|
||||
/area/awaymission/undergroundoutpost45/central)
|
||||
"bm" = (
|
||||
/obj/structure/chair/comfy/beige{
|
||||
dir = 1;
|
||||
icon_state = "comfychair"
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel/grimy{
|
||||
heat_capacity = 1e+006
|
||||
@@ -6238,10 +6237,9 @@
|
||||
/area/awaymission/undergroundoutpost45/crew_quarters)
|
||||
"mZ" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/atmospherics/components/binary/pump{
|
||||
/obj/machinery/atmospherics/components/binary/pump/on{
|
||||
dir = 8;
|
||||
name = "Air to Distro";
|
||||
on = 1
|
||||
name = "Air to Distro"
|
||||
},
|
||||
/turf/open/floor/plasteel{
|
||||
heat_capacity = 1e+006
|
||||
@@ -8238,7 +8236,7 @@
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-4"
|
||||
},
|
||||
/obj/machinery/computer/monitor{
|
||||
/obj/machinery/computer/monitor/secret{
|
||||
name = "primary power monitoring console"
|
||||
},
|
||||
/obj/structure/sign/warning/nosmoking{
|
||||
@@ -8749,10 +8747,9 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/cyan/visible{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/components/binary/pump{
|
||||
/obj/machinery/atmospherics/components/binary/pump/on{
|
||||
dir = 1;
|
||||
name = "Mix to Exterior";
|
||||
on = 1
|
||||
name = "Mix to Exterior"
|
||||
},
|
||||
/turf/open/floor/plasteel{
|
||||
heat_capacity = 1e+006
|
||||
@@ -9649,10 +9646,9 @@
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/engineering)
|
||||
"sU" = (
|
||||
/obj/machinery/atmospherics/components/binary/pump{
|
||||
/obj/machinery/atmospherics/components/binary/pump/on{
|
||||
dir = 4;
|
||||
name = "Waste In";
|
||||
on = 1
|
||||
name = "Waste In"
|
||||
},
|
||||
/turf/open/floor/plasteel/floorgrime{
|
||||
dir = 8;
|
||||
@@ -9688,10 +9684,8 @@
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/engineering)
|
||||
"sY" = (
|
||||
/obj/machinery/atmospherics/components/binary/pump{
|
||||
dir = 0;
|
||||
name = "Mix to Filter";
|
||||
on = 1
|
||||
/obj/machinery/atmospherics/components/binary/pump/on{
|
||||
name = "Mix to Filter"
|
||||
},
|
||||
/turf/open/floor/plasteel{
|
||||
heat_capacity = 1e+006
|
||||
@@ -10043,20 +10037,18 @@
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/engineering)
|
||||
"tH" = (
|
||||
/obj/machinery/atmospherics/components/binary/pump{
|
||||
/obj/machinery/atmospherics/components/binary/pump/on{
|
||||
dir = 1;
|
||||
name = "N2 Outlet Pump";
|
||||
on = 1
|
||||
name = "N2 Outlet Pump"
|
||||
},
|
||||
/turf/open/floor/plasteel{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/engineering)
|
||||
"tI" = (
|
||||
/obj/machinery/atmospherics/components/binary/pump{
|
||||
/obj/machinery/atmospherics/components/binary/pump/on{
|
||||
dir = 1;
|
||||
name = "O2 Outlet Pump";
|
||||
on = 1
|
||||
name = "O2 Outlet Pump"
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel{
|
||||
@@ -10064,10 +10056,9 @@
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/engineering)
|
||||
"tJ" = (
|
||||
/obj/machinery/atmospherics/components/binary/pump{
|
||||
/obj/machinery/atmospherics/components/binary/pump/on{
|
||||
dir = 1;
|
||||
name = "Unfiltered to Mix";
|
||||
on = 1
|
||||
name = "Unfiltered to Mix"
|
||||
},
|
||||
/obj/structure/sign/warning/nosmoking{
|
||||
pixel_x = 32
|
||||
@@ -10336,20 +10327,17 @@
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/atmospherics/components/binary/pump{
|
||||
/obj/machinery/atmospherics/components/binary/pump/on{
|
||||
dir = 1;
|
||||
name = "External to Filter";
|
||||
on = 1
|
||||
name = "External to Filter"
|
||||
},
|
||||
/turf/open/floor/plasteel{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/engineering)
|
||||
"uk" = (
|
||||
/obj/machinery/atmospherics/components/binary/pump{
|
||||
dir = 0;
|
||||
name = "Air to External";
|
||||
on = 1
|
||||
/obj/machinery/atmospherics/components/binary/pump/on{
|
||||
name = "Air to External"
|
||||
},
|
||||
/turf/open/floor/plasteel{
|
||||
heat_capacity = 1e+006
|
||||
@@ -11923,7 +11911,7 @@
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/engineering)
|
||||
"xk" = (
|
||||
/obj/machinery/computer/monitor{
|
||||
/obj/machinery/computer/monitor/secret{
|
||||
dir = 1;
|
||||
name = "primary power monitoring console"
|
||||
},
|
||||
|
||||
@@ -1076,8 +1076,7 @@
|
||||
/area/awaymission/wildwest/mines)
|
||||
"dO" = (
|
||||
/obj/structure/chair/comfy/beige{
|
||||
dir = 1;
|
||||
icon_state = "comfychair"
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/carpet,
|
||||
/area/awaymission/wildwest/mines)
|
||||
@@ -1331,16 +1330,10 @@
|
||||
icon_state = "ironsand4"
|
||||
},
|
||||
/area/awaymission/wildwest/gov)
|
||||
"ez" = (
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/wildwest/refine)
|
||||
"eA" = (
|
||||
/obj/machinery/mineral/mint,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/wildwest/refine)
|
||||
"eB" = (
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/wildwest/refine)
|
||||
"eC" = (
|
||||
/obj/structure/chair/comfy/brown,
|
||||
/turf/open/floor/wood,
|
||||
@@ -28798,7 +28791,7 @@ aG
|
||||
aG
|
||||
aG
|
||||
et
|
||||
ez
|
||||
eu
|
||||
eu
|
||||
eu
|
||||
eu
|
||||
@@ -29312,7 +29305,7 @@ aW
|
||||
aW
|
||||
aW
|
||||
et
|
||||
eB
|
||||
eu
|
||||
eu
|
||||
eu
|
||||
eu
|
||||
|
||||
+6095
-5204
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+2497
-2008
File diff suppressed because it is too large
Load Diff
@@ -1109,9 +1109,10 @@
|
||||
},
|
||||
/area/mine/living_quarters)
|
||||
"dn" = (
|
||||
/obj/machinery/cryopod,
|
||||
/obj/machinery/computer/cryopod{
|
||||
pixel_y = 26
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/firstaid/toxin{
|
||||
pixel_x = 3;
|
||||
pixel_y = 3
|
||||
},
|
||||
/turf/open/floor/plasteel/whiteblue/side{
|
||||
dir = 5
|
||||
@@ -1244,10 +1245,6 @@
|
||||
"dE" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/firstaid/regular,
|
||||
/obj/item/storage/firstaid/toxin{
|
||||
pixel_x = 3;
|
||||
pixel_y = 3
|
||||
},
|
||||
/turf/open/floor/plasteel/whiteblue/side{
|
||||
dir = 4
|
||||
},
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+14762
-11079
File diff suppressed because it is too large
Load Diff
@@ -18,4 +18,3 @@
|
||||
access += ACCESS_CREMATORIUM
|
||||
minimal_access += ACCESS_CREMATORIUM
|
||||
|
||||
MAP_REMOVE_JOB(lawyer)
|
||||
|
||||
@@ -445,7 +445,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/engine/atmos)
|
||||
"bm" = (
|
||||
/obj/machinery/atmospherics/components/binary/valve/open{
|
||||
/obj/machinery/atmospherics/components/binary/valve/on{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
@@ -1370,6 +1370,13 @@
|
||||
/obj/item/storage/toolbox/syndicate,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/storage/primary)
|
||||
"oL" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/vr_sleeper,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/storage/primary)
|
||||
"oV" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
@@ -1434,6 +1441,13 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/medical/chemistry)
|
||||
"wV" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/vr_sleeper,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/storage/primary)
|
||||
"yp" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "4-8"
|
||||
@@ -3123,7 +3137,7 @@ dA
|
||||
dl
|
||||
dD
|
||||
dc
|
||||
dc
|
||||
oL
|
||||
cS
|
||||
af
|
||||
bY
|
||||
@@ -3555,7 +3569,7 @@ dC
|
||||
dl
|
||||
dF
|
||||
dk
|
||||
dk
|
||||
wV
|
||||
cS
|
||||
af
|
||||
ad
|
||||
|
||||
+2660
-2337
File diff suppressed because it is too large
Load Diff
@@ -1022,7 +1022,7 @@
|
||||
/obj/machinery/light{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/computer/monitor,
|
||||
/obj/machinery/computer/monitor/secret,
|
||||
/turf/open/floor/plasteel/yellow/side{
|
||||
dir = 1
|
||||
},
|
||||
|
||||
+732
-421
File diff suppressed because it is too large
Load Diff
@@ -621,8 +621,7 @@
|
||||
/area/shuttle/escape)
|
||||
"bF" = (
|
||||
/turf/open/floor/plasteel/darkgreen/side{
|
||||
dir = 9;
|
||||
icon_state = "darkgreen"
|
||||
dir = 9
|
||||
},
|
||||
/area/shuttle/escape)
|
||||
"bG" = (
|
||||
@@ -642,8 +641,7 @@
|
||||
pixel_y = -6
|
||||
},
|
||||
/turf/open/floor/plasteel/darkgreen/side{
|
||||
dir = 9;
|
||||
icon_state = "darkgreen"
|
||||
dir = 9
|
||||
},
|
||||
/area/shuttle/escape)
|
||||
"bI" = (
|
||||
@@ -791,8 +789,7 @@
|
||||
"bT" = (
|
||||
/obj/machinery/recharge_station,
|
||||
/turf/open/floor/plasteel/darkgreen/side{
|
||||
dir = 9;
|
||||
icon_state = "darkgreen"
|
||||
dir = 9
|
||||
},
|
||||
/area/shuttle/escape)
|
||||
"bU" = (
|
||||
@@ -806,8 +803,7 @@
|
||||
icon_state = "plant-22"
|
||||
},
|
||||
/turf/open/floor/plasteel/darkgreen/side{
|
||||
dir = 9;
|
||||
icon_state = "darkgreen"
|
||||
dir = 9
|
||||
},
|
||||
/area/shuttle/escape)
|
||||
"bW" = (
|
||||
@@ -884,8 +880,7 @@
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/darkgreen/side{
|
||||
dir = 9;
|
||||
icon_state = "darkgreen"
|
||||
dir = 9
|
||||
},
|
||||
/area/shuttle/escape)
|
||||
"ci" = (
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
"ah" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/computer/monitor{
|
||||
/obj/machinery/computer/monitor/secret{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
@@ -72,8 +72,6 @@
|
||||
req_access = null
|
||||
},
|
||||
/obj/structure/chair{
|
||||
tag = "icon-chair (WEST)";
|
||||
icon_state = "chair";
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
@@ -416,8 +414,6 @@
|
||||
req_access = null
|
||||
},
|
||||
/obj/structure/chair{
|
||||
tag = "icon-chair (WEST)";
|
||||
icon_state = "chair";
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
@@ -1193,7 +1189,7 @@
|
||||
},
|
||||
/area/shuttle/pirate)
|
||||
"cI" = (
|
||||
/obj/machinery/computer/monitor{
|
||||
/obj/machinery/computer/monitor/secret{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/cable/yellow{
|
||||
@@ -1552,8 +1548,6 @@
|
||||
/obj/effect/turf_decal/stripes/corner,
|
||||
/obj/machinery/light/small,
|
||||
/turf/open/floor/plasteel/yellow/corner{
|
||||
tag = "icon-yellowcorner (WEST)";
|
||||
icon_state = "yellowcorner";
|
||||
dir = 8
|
||||
},
|
||||
/area/shuttle/pirate)
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
|
||||
"al" = (
|
||||
/obj/machinery/airalarm{
|
||||
/obj/machinery/airalarm/syndicate{
|
||||
dir = 4;
|
||||
pixel_x = -24;
|
||||
req_access = null;
|
||||
req_access_txt = "150"
|
||||
pixel_x = -24
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
@@ -97,12 +95,10 @@
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "0-2"
|
||||
},
|
||||
/obj/machinery/power/apc{
|
||||
/obj/machinery/power/apc/syndicate{
|
||||
dir = 8;
|
||||
name = "Syndicate Drop Ship APC";
|
||||
pixel_x = -24;
|
||||
req_access = null;
|
||||
req_access_txt = "150"
|
||||
pixel_x = -24
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/pod/dark,
|
||||
@@ -283,10 +279,8 @@
|
||||
/area/shuttle/caravan/syndicate3)
|
||||
"EO" = (
|
||||
/obj/structure/chair,
|
||||
/obj/machinery/airalarm{
|
||||
pixel_y = 24;
|
||||
req_access = null;
|
||||
req_access_txt = "150"
|
||||
/obj/machinery/airalarm/syndicate{
|
||||
pixel_y = 24
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/pod/dark,
|
||||
@@ -302,11 +296,9 @@
|
||||
/turf/open/floor/mineral/plastitanium,
|
||||
/area/shuttle/caravan/syndicate3)
|
||||
"Gx" = (
|
||||
/obj/machinery/airalarm{
|
||||
/obj/machinery/airalarm/syndicate{
|
||||
dir = 4;
|
||||
pixel_x = -24;
|
||||
req_access = null;
|
||||
req_access_txt = "150"
|
||||
pixel_x = -24
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/shuttle/caravan/syndicate3)
|
||||
|
||||
@@ -217,16 +217,16 @@
|
||||
#define ASSERT_GAS(gas_id, gas_mixture) if (!gas_mixture.gases[gas_id]) { ADD_GAS(gas_id, gas_mixture.gases) };
|
||||
|
||||
GLOBAL_LIST_INIT(pipe_paint_colors, list(
|
||||
"Amethyst" = rgb(130,43,255), //supplymain
|
||||
"Blue" = rgb(0,0,255),
|
||||
"Brown" = rgb(178,100,56),
|
||||
"Cyan" = rgb(0,255,249),
|
||||
"Dark" = rgb(69,69,69),
|
||||
"Green" = rgb(30,255,0),
|
||||
"Grey" = rgb(255,255,255),
|
||||
"Orange" = rgb(255,129,25),
|
||||
"Purple" = rgb(128,0,182),
|
||||
"Red" = rgb(255,0,0),
|
||||
"Violet" = rgb(64,0,128),
|
||||
"Yellow" = rgb(255,198,0)
|
||||
))
|
||||
"amethyst" = rgb(130,43,255), //supplymain
|
||||
"blue" = rgb(0,0,255),
|
||||
"brown" = rgb(178,100,56),
|
||||
"cyan" = rgb(0,255,249),
|
||||
"dark" = rgb(69,69,69),
|
||||
"green" = rgb(30,255,0),
|
||||
"grey" = rgb(255,255,255),
|
||||
"orange" = rgb(255,129,25),
|
||||
"purple" = rgb(128,0,182),
|
||||
"red" = rgb(255,0,0),
|
||||
"violet" = rgb(64,0,128),
|
||||
"yellow" = rgb(255,198,0)
|
||||
))
|
||||
|
||||
@@ -156,4 +156,4 @@
|
||||
|
||||
//Ouch my toes!
|
||||
#define CALTROP_BYPASS_SHOES 1
|
||||
#define CALTROP_IGNORE_WALKERS 2
|
||||
#define CALTROP_IGNORE_WALKERS 2
|
||||
|
||||
+19
-4
@@ -23,10 +23,10 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
|
||||
#define ON_BORDER_1 (1<<9) // item has priority to check when entering or leaving
|
||||
#define DROPDEL_1 (1<<10) // When dropped, it calls qdel on itself
|
||||
#define PREVENT_CLICK_UNDER_1 (1<<11) //Prevent clicking things below it on the same turf eg. doors/ fulltile windows
|
||||
#define NO_EMP_WIRES_1 (1<<12)
|
||||
#define HOLOGRAM_1 (1<<13)
|
||||
#define TESLA_IGNORE_1 (1<<14) // TESLA_IGNORE grants immunity from being targeted by tesla-style electricity
|
||||
|
||||
#define HOLOGRAM_1 (1<<12)
|
||||
#define TESLA_IGNORE_1 (1<<13) // TESLA_IGNORE grants immunity from being targeted by tesla-style electricity
|
||||
#define INITIALIZED_1 (1<<14) //Whether /atom/Initialize() has already run for the object
|
||||
#define ADMIN_SPAWNED_1 (1<<15) //was this spawned by an admin? used for stat tracking stuff.
|
||||
|
||||
//turf-only flags
|
||||
#define NOJAUNT_1 (1<<0)
|
||||
@@ -66,3 +66,18 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
|
||||
#define ACID_PROOF (1<<5) //acid stuck on it doesn't melt it.
|
||||
#define INDESTRUCTIBLE (1<<6) //doesn't take damage
|
||||
#define FREEZE_PROOF (1<<7) //can't be frozen
|
||||
|
||||
//tesla_zap
|
||||
#define TESLA_MACHINE_EXPLOSIVE (1<<0)
|
||||
#define TESLA_ALLOW_DUPLICATES (1<<1)
|
||||
#define TESLA_OBJ_DAMAGE (1<<2)
|
||||
#define TESLA_MOB_DAMAGE (1<<3)
|
||||
#define TESLA_MOB_STUN (1<<4)
|
||||
|
||||
#define TESLA_DEFAULT_FLAGS ALL
|
||||
|
||||
//EMP protection
|
||||
#define EMP_PROTECT_SELF (1<<0)
|
||||
#define EMP_PROTECT_CONTENTS (1<<1)
|
||||
#define EMP_PROTECT_WIRES (1<<2)
|
||||
|
||||
|
||||
@@ -181,7 +181,7 @@ GLOBAL_LIST_INIT(glass_sheet_types, typecacheof(list(
|
||||
|
||||
#define is_glass_sheet(O) (is_type_in_typecache(O, GLOB.glass_sheet_types))
|
||||
|
||||
#define iseffect(O) (is_type_in_typecache(O, GLOB.typecache_effect))
|
||||
#define iseffect(O) (istype(O, /obj/effect))
|
||||
|
||||
#define isblobmonster(O) (istype(O, /mob/living/simple_animal/hostile/blob))
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ require only minor tweaks.
|
||||
#define CROSSLINKED "Cross"
|
||||
|
||||
// default trait definitions, used by SSmapping
|
||||
#define ZTRAITS_CENTCOM list(ZTRAIT_LINKAGE = SELFLOOPING, ZTRAIT_CENTCOM = TRUE)
|
||||
#define ZTRAITS_CENTCOM list(ZTRAIT_CENTCOM = TRUE)
|
||||
#define ZTRAITS_STATION list(ZTRAIT_LINKAGE = CROSSLINKED, ZTRAIT_STATION = TRUE)
|
||||
#define ZTRAITS_SPACE list(ZTRAIT_LINKAGE = CROSSLINKED, ZTRAIT_SPACE_RUINS = TRUE)
|
||||
#define ZTRAITS_LAVALAND list(ZTRAIT_MINING = TRUE, ZTRAIT_LAVA_RUINS = TRUE, ZTRAIT_BOMBCAP_MULTIPLIER = 2)
|
||||
|
||||
@@ -403,8 +403,6 @@ GLOBAL_LIST_INIT(ghost_others_options, list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE
|
||||
|
||||
#define MAX_PROC_DEPTH 195 // 200 proc calls deep and shit breaks, this is a bit lower to give some safety room
|
||||
|
||||
#define DUMMY_HUMAN_SLOT_MANIFEST "dummy_manifest_generation"
|
||||
|
||||
#define SYRINGE_DRAW 0
|
||||
#define SYRINGE_INJECT 1
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
#define RDSCREEN_TEXT_NO_PROTOLATHE "<div><h3>No Protolathe Linked!</h3></div><br>"
|
||||
#define RDSCREEN_TEXT_NO_IMPRINTER "<div><h3>No Circuit Imprinter Linked!</h3></div><br>"
|
||||
#define RDSCREEN_TEXT_NO_DECONSTRUCT "<div><h3>No Deconstructive Analyzer Linked!</h3></div><br>"
|
||||
#define RDSCREEN_TEXT_NO_DECONSTRUCT "<div><h3>No Destructive Analyzer Linked!</h3></div><br>"
|
||||
#define RDSCREEN_TEXT_NO_TDISK "<div><h3>No Technology Disk Inserted!</h3></div><br>"
|
||||
#define RDSCREEN_TEXT_NO_DDISK "<div><h3>No Design Disk Inserted!</h3></div><br>"
|
||||
#define RDSCREEN_TEXT_NO_SNODE "<div><h3>No Technology Node Selected!</h3></div><br>"
|
||||
|
||||
@@ -85,4 +85,4 @@
|
||||
/////////////
|
||||
|
||||
#define STATUS_EFFECT_RAINBOWPROTECTION /datum/status_effect/rainbow_protection //Invulnerable and pacifistic
|
||||
#define STATUS_EFFECT_SLIMESKIN /datum/status_effect/slimeskin //Increased armor
|
||||
#define STATUS_EFFECT_SLIMESKIN /datum/status_effect/slimeskin //Increased armor
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
//type and all subtypes should always call Initialize in New()
|
||||
#define INITIALIZE_IMMEDIATE(X) ##X/New(loc, ...){\
|
||||
..();\
|
||||
if(!initialized) {\
|
||||
if(!(flags_1 & INITIALIZED_1)) {\
|
||||
args[1] = TRUE;\
|
||||
SSatoms.InitAtom(src, args);\
|
||||
}\
|
||||
|
||||
@@ -40,11 +40,14 @@
|
||||
#define TRAIT_NOBREATH "no_breath"
|
||||
#define TRAIT_ANTIMAGIC "anti_magic"
|
||||
#define TRAIT_HOLY "holy"
|
||||
#define TRAIT_DEPRESSION "depression"
|
||||
#define TRAIT_DEPRESSION "depression"
|
||||
#define TRAIT_JOLLY "jolly"
|
||||
#define TRAIT_NOCRITDAMAGE "no_crit"
|
||||
#define TRAIT_NOSLIPWATER "noslip_water"
|
||||
#define TRAIT_NOSLIPALL "noslip_all"
|
||||
#define TRAIT_NODEATH "nodeath"
|
||||
#define TRAIT_NOHARDCRIT "nohardcrit"
|
||||
#define TRAIT_NOSOFTCRIT "nosoftcrit"
|
||||
|
||||
|
||||
#define TRAIT_ALCOHOL_TOLERANCE "alcohol_tolerance"
|
||||
|
||||
@@ -73,14 +73,7 @@
|
||||
return FALSE
|
||||
|
||||
//Checks for specific types in specifically structured (Assoc "type" = TRUE) lists ('typecaches')
|
||||
/proc/is_type_in_typecache(atom/A, list/L)
|
||||
if(!LAZYLEN(L) || !A)
|
||||
|
||||
return FALSE
|
||||
if(ispath(A))
|
||||
. = L[A]
|
||||
else
|
||||
. = L[A.type]
|
||||
#define is_type_in_typecache(A, L) (A && length(L) && L[(ispath(A) ? A : A:type)])
|
||||
|
||||
//Checks for a string in a list
|
||||
/proc/is_string_in_list(string, list/L)
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
var/turf/sourceT = found_turfs[1]
|
||||
if(break_if_found[sourceT.type])
|
||||
return FALSE
|
||||
if (is_type_in_typecache(sourceT.loc, GLOB.typecache_shuttle_area))
|
||||
if (istype(sourceT.loc, /area/shuttle))
|
||||
return FALSE
|
||||
found_turfs.Cut(1, 2)
|
||||
var/dir_flags = checked_turfs[sourceT]
|
||||
@@ -50,7 +50,7 @@
|
||||
var/list/areas = list("New Area" = /area)
|
||||
for(var/i in 1 to turfs.len)
|
||||
var/area/place = get_area(turfs[i])
|
||||
if(blacklisted_areas[place.type] || GLOB.typecache_shuttle_area[place.type])
|
||||
if(blacklisted_areas[place.type] || istype(place, /area/shuttle))
|
||||
continue
|
||||
if(!place.requires_power || place.noteleport || place.hidden)
|
||||
continue // No expanding powerless rooms etc
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
return
|
||||
if(QDELETED(A))
|
||||
return
|
||||
if((A.smooth & SMOOTH_TRUE) || (A.smooth & SMOOTH_MORE))
|
||||
if(A.smooth & (SMOOTH_TRUE | SMOOTH_MORE))
|
||||
var/adjacencies = calculate_adjacencies(A)
|
||||
|
||||
if(A.smooth & SMOOTH_DIAGONAL)
|
||||
@@ -156,7 +156,7 @@
|
||||
/turf/closed/wall/diagonal_smooth(adjacencies)
|
||||
adjacencies = reverse_ndir(..())
|
||||
if(adjacencies)
|
||||
var/mutable_appearance/underlay_appearance = mutable_appearance(layer = TURF_LAYER)
|
||||
var/mutable_appearance/underlay_appearance = mutable_appearance(layer = TURF_LAYER, plane = FLOOR_PLANE)
|
||||
var/list/U = list(underlay_appearance)
|
||||
if(fixed_underlay)
|
||||
if(fixed_underlay["space"])
|
||||
|
||||
@@ -278,8 +278,8 @@ Proc for attack log creation, because really why not
|
||||
/proc/add_logs(mob/user, mob/target, what_done, object=null, addition=null)
|
||||
var/turf/attack_location = get_turf(target)
|
||||
|
||||
var/is_mob_user = user && GLOB.typecache_mob[user.type]
|
||||
var/is_mob_target = target && GLOB.typecache_mob[target.type]
|
||||
var/is_mob_user = user && ismob(user)
|
||||
var/is_mob_target = target && ismob(target)
|
||||
|
||||
var/mob/living/living_target
|
||||
|
||||
@@ -505,7 +505,8 @@ Proc for attack log creation, because really why not
|
||||
|
||||
for(var/j in 1 to amount)
|
||||
var/atom/X = new spawn_type(arglist(new_args))
|
||||
X.admin_spawned = admin_spawn
|
||||
if (admin_spawn)
|
||||
X.flags_1 |= ADMIN_SPAWNED_1
|
||||
|
||||
/proc/spawn_and_random_walk(spawn_type, target, amount, walk_chance=100, max_walk=3, always_max_walk=FALSE, admin_spawn=FALSE)
|
||||
var/turf/T = get_turf(target)
|
||||
@@ -515,7 +516,8 @@ Proc for attack log creation, because really why not
|
||||
|
||||
for(var/j in 1 to amount)
|
||||
var/atom/movable/X = new spawn_type(T)
|
||||
X.admin_spawned = admin_spawn
|
||||
if (admin_spawn)
|
||||
X.flags_1 |= ADMIN_SPAWNED_1
|
||||
|
||||
if(always_max_walk || prob(walk_chance))
|
||||
if(always_max_walk)
|
||||
|
||||
@@ -119,7 +119,9 @@ GLOBAL_LIST_INIT(bitfields, list(
|
||||
"NODECONSTRUCT_1" = NODECONSTRUCT_1,
|
||||
"OVERLAY_QUEUED_1" = OVERLAY_QUEUED_1,
|
||||
"HOLOGRAM_1" = HOLOGRAM_1,
|
||||
"TESLA_IGNORE_1" = TESLA_IGNORE_1
|
||||
"TESLA_IGNORE_1" = TESLA_IGNORE_1,
|
||||
"INITIALIZED_1" = INITIALIZED_1,
|
||||
"ADMIN_SPAWNED_1" = ADMIN_SPAWNED_1,
|
||||
),
|
||||
"clothing_flags" = list(
|
||||
"LAVAPROTECT" = LAVAPROTECT,
|
||||
@@ -128,5 +130,27 @@ GLOBAL_LIST_INIT(bitfields, list(
|
||||
"MASKINTERNALS" = MASKINTERNALS,
|
||||
"NOSLIP" = NOSLIP,
|
||||
"THICKMATERIAL" = THICKMATERIAL,
|
||||
)
|
||||
),
|
||||
"tesla_flags" = list(
|
||||
"TESLA_MOB_DAMAGE" = TESLA_MOB_DAMAGE,
|
||||
"TESLA_OBJ_DAMAGE" = TESLA_OBJ_DAMAGE,
|
||||
"TESLA_MOB_STUN" = TESLA_MOB_STUN,
|
||||
"TESLA_ALLOW_DUPLICATES" = TESLA_ALLOW_DUPLICATES,
|
||||
"TESLA_MACHINE_EXPLOSIVE" = TESLA_MACHINE_EXPLOSIVE,
|
||||
),
|
||||
"smooth" = list(
|
||||
"SMOOTH_TRUE" = SMOOTH_TRUE,
|
||||
"SMOOTH_MORE" = SMOOTH_MORE,
|
||||
"SMOOTH_DIAGONAL" = SMOOTH_DIAGONAL,
|
||||
"SMOOTH_BORDER" = SMOOTH_BORDER,
|
||||
"SMOOTH_QUEUED" = SMOOTH_QUEUED,
|
||||
),
|
||||
"container_type" = list(
|
||||
"INJECTABLE" = INJECTABLE,
|
||||
"DRAWABLE" = DRAWABLE,
|
||||
"REFILLABLE" = REFILLABLE,
|
||||
"DRAINABLE" = DRAINABLE,
|
||||
"TRANSPARENT" = TRANSPARENT,
|
||||
"AMOUNT_VISIBLE" = AMOUNT_VISIBLE,
|
||||
),
|
||||
))
|
||||
|
||||
@@ -30,6 +30,7 @@ GLOBAL_LIST_EMPTY(ruin_landmarks)
|
||||
|
||||
//away missions
|
||||
GLOBAL_LIST_EMPTY(awaydestinations) //a list of landmarks that the warpgate can take you to
|
||||
GLOBAL_LIST_EMPTY(vr_spawnpoints)
|
||||
|
||||
//used by jump-to-area etc. Updated by area/updateName()
|
||||
GLOBAL_LIST_EMPTY(sortedAreas)
|
||||
|
||||
@@ -5,12 +5,4 @@
|
||||
|
||||
GLOBAL_LIST_INIT(typecache_mob, typecacheof(/mob))
|
||||
|
||||
GLOBAL_LIST_INIT(typecache_living, typecacheof(/mob/living))
|
||||
|
||||
GLOBAL_LIST_INIT(typecache_machine_or_structure, typecacheof(list(/obj/machinery, /obj/structure)))
|
||||
|
||||
GLOBAL_LIST_INIT(typecache_shuttle_area, typecacheof(/area/shuttle))
|
||||
|
||||
GLOBAL_LIST_INIT(typecache_clothing, typecacheof(/obj/item/clothing))
|
||||
|
||||
GLOBAL_LIST_INIT(typecache_effect, typecacheof(/obj/effect))
|
||||
|
||||
@@ -39,16 +39,16 @@
|
||||
Note that this proc can be overridden, and is in the case of screen objects.
|
||||
*/
|
||||
/atom/Click(location,control,params)
|
||||
if(initialized)
|
||||
if(flags_1 & INITIALIZED_1)
|
||||
SendSignal(COMSIG_CLICK, location, control, params)
|
||||
usr.ClickOn(src, params)
|
||||
|
||||
/atom/DblClick(location,control,params)
|
||||
if(initialized)
|
||||
if(flags_1 & INITIALIZED_1)
|
||||
usr.DblClickOn(src,params)
|
||||
|
||||
/atom/MouseWheel(delta_x,delta_y,location,control,params)
|
||||
if(initialized)
|
||||
if(flags_1 & INITIALIZED_1)
|
||||
usr.MouseWheelOn(src, delta_x, delta_y, params)
|
||||
|
||||
/*
|
||||
|
||||
@@ -11,7 +11,24 @@
|
||||
var/id
|
||||
var/ordered = TRUE //If the button gets placed into the default bar
|
||||
|
||||
/obj/screen/movable/action_button/proc/can_use(mob/user)
|
||||
if (linked_action)
|
||||
return linked_action.owner == user
|
||||
else if (isobserver(user))
|
||||
var/mob/dead/observer/O = user
|
||||
return !O.observetarget
|
||||
else
|
||||
return TRUE
|
||||
|
||||
/obj/screen/movable/action_button/MouseDrop()
|
||||
if (!can_use(usr))
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/screen/movable/action_button/Click(location,control,params)
|
||||
if (!can_use(usr))
|
||||
return
|
||||
|
||||
var/list/modifiers = params2list(params)
|
||||
if(modifiers["shift"])
|
||||
if(locked)
|
||||
@@ -44,6 +61,9 @@
|
||||
var/show_state = "show"
|
||||
|
||||
/obj/screen/movable/action_button/hide_toggle/Click(location,control,params)
|
||||
if (!can_use(usr))
|
||||
return
|
||||
|
||||
var/list/modifiers = params2list(params)
|
||||
if(modifiers["shift"])
|
||||
if(locked)
|
||||
|
||||
@@ -73,6 +73,12 @@
|
||||
static_inventory += using
|
||||
|
||||
/datum/hud/ghost/show_hud(version = 0, mob/viewmob)
|
||||
// don't show this HUD if observing; show the HUD of the observee
|
||||
var/mob/dead/observer/O = mymob
|
||||
if (istype(O) && O.observetarget)
|
||||
plane_masters_update()
|
||||
return FALSE
|
||||
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
update_sight()
|
||||
|
||||
//Version denotes which style should be displayed. blank or 0 means "next version"
|
||||
/datum/hud/proc/show_hud(version = 0,mob/viewmob)
|
||||
/datum/hud/proc/show_hud(version = 0, mob/viewmob)
|
||||
if(!ismob(mymob))
|
||||
return FALSE
|
||||
var/mob/screenmob = viewmob || mymob
|
||||
@@ -195,19 +195,30 @@
|
||||
if(infodisplay.len)
|
||||
screenmob.client.screen -= infodisplay
|
||||
|
||||
for(var/thing in plane_masters)
|
||||
var/obj/screen/plane_master/PM = plane_masters[thing]
|
||||
PM.backdrop(screenmob)
|
||||
screenmob.client.screen += PM
|
||||
|
||||
hud_version = display_hud_version
|
||||
persistent_inventory_update(screenmob)
|
||||
screenmob.update_action_buttons(1)
|
||||
reorganize_alerts()
|
||||
screenmob.reload_fullscreen()
|
||||
update_parallax_pref(screenmob)
|
||||
|
||||
// ensure observers get an accurate and up-to-date view
|
||||
if (!viewmob)
|
||||
plane_masters_update()
|
||||
for(var/M in mymob.observers)
|
||||
show_hud(hud_version, M)
|
||||
else if (viewmob.hud_used)
|
||||
viewmob.hud_used.plane_masters_update()
|
||||
|
||||
return TRUE
|
||||
|
||||
/datum/hud/proc/plane_masters_update()
|
||||
// Plane masters are always shown to OUR mob, never to observers
|
||||
for(var/thing in plane_masters)
|
||||
var/obj/screen/plane_master/PM = plane_masters[thing]
|
||||
PM.backdrop(mymob)
|
||||
mymob.client.screen += PM
|
||||
|
||||
/datum/hud/human/show_hud(version = 0,mob/viewmob)
|
||||
. = ..()
|
||||
if(!.)
|
||||
@@ -268,8 +279,9 @@
|
||||
i++
|
||||
for(var/obj/screen/human/equip/E in static_inventory)
|
||||
E.screen_loc = ui_equip_position(mymob)
|
||||
if(mymob.hud_used)
|
||||
show_hud(HUD_STYLE_STANDARD,mymob)
|
||||
|
||||
if(ismob(mymob) && mymob.hud_used == src)
|
||||
show_hud(hud_version)
|
||||
|
||||
/datum/hud/proc/update_locked_slots()
|
||||
return
|
||||
|
||||
@@ -177,6 +177,10 @@
|
||||
/datum/config_entry/string/githuburl
|
||||
config_entry_value = "https://www.github.com/tgstation/-tg-station"
|
||||
|
||||
/datum/config_entry/string/roundstatsurl
|
||||
|
||||
/datum/config_entry/string/gamelogurl
|
||||
|
||||
/datum/config_entry/number/githubrepoid
|
||||
config_entry_value = null
|
||||
min_val = 0
|
||||
|
||||
@@ -263,7 +263,7 @@ SUBSYSTEM_DEF(air)
|
||||
currentrun |= T
|
||||
if(blockchanges && T.excited_group)
|
||||
T.excited_group.garbage_collect()
|
||||
else if(T.initialized)
|
||||
else if(T.flags_1 & INITIALIZED_1)
|
||||
for(var/turf/S in T.atmos_adjacent_turfs)
|
||||
add_to_active(S)
|
||||
else if(map_loading)
|
||||
|
||||
@@ -37,14 +37,14 @@ SUBSYSTEM_DEF(atoms)
|
||||
count = atoms.len
|
||||
for(var/I in atoms)
|
||||
var/atom/A = I
|
||||
if(!A.initialized)
|
||||
if(!(A.flags_1 & INITIALIZED_1))
|
||||
if(InitAtom(I, mapload_arg))
|
||||
atoms -= I
|
||||
CHECK_TICK
|
||||
else
|
||||
count = 0
|
||||
for(var/atom/A in world)
|
||||
if(!A.initialized)
|
||||
if(!(A.flags_1 & INITIALIZED_1))
|
||||
InitAtom(A, mapload_arg)
|
||||
++count
|
||||
CHECK_TICK
|
||||
@@ -95,7 +95,7 @@ SUBSYSTEM_DEF(atoms)
|
||||
|
||||
if(!A) //possible harddel
|
||||
qdeleted = TRUE
|
||||
else if(!A.initialized)
|
||||
else if(!(A.flags_1 & INITIALIZED_1))
|
||||
BadInitializeCalls[the_type] |= BAD_INIT_DIDNT_INIT
|
||||
|
||||
return qdeleted || QDELING(A)
|
||||
|
||||
@@ -212,7 +212,7 @@ SUBSYSTEM_DEF(persistence)
|
||||
continue
|
||||
var/list/savable_obj = list()
|
||||
for(var/obj/O in F)
|
||||
if(is_type_in_typecache(O, satchel_blacklist) || O.admin_spawned)
|
||||
if(is_type_in_typecache(O, satchel_blacklist) || (O.flags_1 & ADMIN_SPAWNED_1))
|
||||
continue
|
||||
if(O.persistence_replacement)
|
||||
savable_obj += O.persistence_replacement
|
||||
|
||||
@@ -8,3 +8,4 @@ SUBSYSTEM_DEF(religion)
|
||||
var/bible_icon_state
|
||||
var/bible_item_state
|
||||
var/holy_weapon_type
|
||||
var/holy_armor_type
|
||||
|
||||
@@ -647,6 +647,13 @@ SUBSYSTEM_DEF(ticker)
|
||||
if(end_string)
|
||||
end_state = end_string
|
||||
|
||||
var/statspage = CONFIG_GET(string/roundstatsurl)
|
||||
var/gamelogloc = CONFIG_GET(string/gamelogurl)
|
||||
if(statspage)
|
||||
to_chat(world, "<span class='info'>Round statistics and logs can be viewed <a href=\"[statspage][GLOB.round_id]\">at this website!</a></span>")
|
||||
else if(gamelogloc)
|
||||
to_chat(world, "<span class='info'>Round logs can be located <a href=\"[gamelogloc]\">at this website!</a></span>")
|
||||
|
||||
log_game("<span class='boldannounce'>Rebooting World. [reason]</span>")
|
||||
|
||||
world.Reboot()
|
||||
|
||||
@@ -337,9 +337,9 @@ SUBSYSTEM_DEF(vote)
|
||||
return 1
|
||||
|
||||
/datum/action/vote/proc/remove_from_client()
|
||||
if(owner && owner.client)
|
||||
if(owner.client)
|
||||
owner.client.player_details.player_actions -= src
|
||||
else if(owner.ckey)
|
||||
var/datum/player_details/P = GLOB.player_details[owner.ckey]
|
||||
if(P)
|
||||
P.player_actions -= src
|
||||
P.player_actions -= src
|
||||
@@ -0,0 +1,11 @@
|
||||
/datum/component/empprotection
|
||||
var/flags = NONE
|
||||
|
||||
/datum/component/empprotection/Initialize(_flags)
|
||||
if(!istype(parent, /atom))
|
||||
return COMPONENT_INCOMPATIBLE
|
||||
flags = _flags
|
||||
RegisterSignal(list(COMSIG_ATOM_EMP_ACT), .proc/getEmpFlags)
|
||||
|
||||
/datum/component/empprotection/proc/getEmpFlags(severity)
|
||||
return flags
|
||||
@@ -51,10 +51,12 @@
|
||||
var/turf/T = get_turf(parent)
|
||||
if (!T)
|
||||
return FALSE
|
||||
var/area/A = T.loc
|
||||
if(istype(A, /area/fabric_of_reality)) // Obviously terrible, just for test merging
|
||||
return FALSE
|
||||
if (is_station_level(T.z) || is_centcom_level(T.z))
|
||||
return TRUE
|
||||
if (is_transit_level(T.z))
|
||||
var/area/A = T.loc
|
||||
if (is_type_in_typecache(A, allowed_shuttles))
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -6,17 +6,20 @@
|
||||
user.visible_message("<span class='warning'>An unseen force knocks [user] to the ground!</span>", "<span class='big_brass'>\"I think not!\"</span>")
|
||||
user.Knockdown(60)
|
||||
return
|
||||
if(istype(loccheck.loc, /area/fabric_of_reality))
|
||||
to_chat(user, "<span class='danger'>You can't do that here!</span>")
|
||||
var/safety = alert(user, "Doing this will have extremely dire consequences for the station and its crew. Be sure you know what you're doing.", "Put in [A.name]?", "Abort", "Proceed")
|
||||
if(safety == "Abort" || !in_range(A, user) || !A || !W || user.incapacitated())
|
||||
return
|
||||
A.investigate_log("has become a singularity. Caused by [user.key]", INVESTIGATE_SINGULO)
|
||||
to_chat(user, "<span class='danger'>The Bluespace interfaces of the two devices catastrophically malfunction!</span>")
|
||||
qdel(W)
|
||||
var/obj/singularity/singulo = new /obj/singularity (get_turf(A))
|
||||
singulo.energy = 300 //should make it a bit bigger~
|
||||
message_admins("[key_name_admin(user)] detonated a bag of holding")
|
||||
log_game("[key_name(user)] detonated a bag of holding")
|
||||
playsound(loccheck,'sound/effects/supermatter.ogg', 200, 1)
|
||||
for(var/turf/T in range(6,loccheck))
|
||||
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)].")
|
||||
qdel(A)
|
||||
singulo.process()
|
||||
return
|
||||
. = ..()
|
||||
|
||||
@@ -737,4 +737,4 @@
|
||||
if(COLLECT_EVERYTHING)
|
||||
to_chat(user, "[parent] now picks up all items in a tile at once.")
|
||||
if(COLLECT_ONE)
|
||||
to_chat(user, "[parent] now picks up one item at a time.")
|
||||
to_chat(user, "[parent] now picks up one item at a time.")
|
||||
|
||||
+3
-2
@@ -1,10 +1,11 @@
|
||||
|
||||
/////////////////////////// DNA DATUM
|
||||
/datum/dna
|
||||
var/unique_enzymes
|
||||
var/struc_enzymes
|
||||
var/uni_identity
|
||||
var/blood_type
|
||||
var/datum/species/species = new /datum/species/human() //The type of mutant race the player is if applicable (i.e. potato-man)
|
||||
var/datum/species/species = new /datum/species/human //The type of mutant race the player is if applicable (i.e. potato-man)
|
||||
var/list/features = list("FFF") //first value is mutant color
|
||||
var/real_name //Stores the real name of the person who originally got this dna datum. Used primarely for changelings,
|
||||
var/list/mutations = list() //All mutations are from now on here
|
||||
@@ -29,7 +30,7 @@
|
||||
previous.Cut() //^
|
||||
|
||||
return ..()
|
||||
|
||||
|
||||
/datum/dna/proc/transfer_identity(mob/living/carbon/destination, transfer_SE = 0)
|
||||
if(!istype(destination))
|
||||
return
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
if(line)
|
||||
var/datum/tgs_revision_information/test_merge/tm = line
|
||||
var/tmcommit = tm.commit
|
||||
log_world("Test merge active of PR #[line] commit [tmcommit]")
|
||||
SSblackbox.record_feedback("nested tally", "testmerged_prs", 1, list("[line]", "[tmcommit]"))
|
||||
log_world("Test merge active of PR #[tm.number] commit [tmcommit]")
|
||||
SSblackbox.record_feedback("nested tally", "testmerged_prs", 1, list("[tm.number]", "[tmcommit]"))
|
||||
if(originmastercommit)
|
||||
log_world("Based off origin/master commit [originmastercommit]")
|
||||
else if(originmastercommit)
|
||||
|
||||
@@ -21,7 +21,8 @@
|
||||
restraining = FALSE
|
||||
|
||||
/datum/martial_art/cqc/can_use(mob/living/carbon/human/H)
|
||||
if(just_a_cook && !(is_type_in_typecache(get_area(H), areas_under_siege)))
|
||||
var/area/A = get_area(H)
|
||||
if(just_a_cook && !(is_type_in_typecache(A, areas_under_siege)))
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
var/accessory = null
|
||||
|
||||
var/can_be_admin_equipped = TRUE // Set to FALSE if your outfit requires runtime parameters
|
||||
var/list/chameleon_extras //extra types for chameleon outfit changes, mostly guns
|
||||
|
||||
/datum/outfit/proc/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
|
||||
//to be overriden for customization depending on client prefs,species etc
|
||||
@@ -149,3 +150,9 @@
|
||||
for(var/obj/item/I in H.held_items)
|
||||
I.add_fingerprint(H,1)
|
||||
return 1
|
||||
|
||||
/datum/outfit/proc/get_chameleon_disguise_info()
|
||||
var/list/types = list(uniform, suit, back, belt, gloves, shoes, head, mask, neck, ears, glasses, id, l_pocket, r_pocket, suit_store, r_hand, l_hand)
|
||||
types += chameleon_extras
|
||||
listclearnulls(types)
|
||||
return types
|
||||
|
||||
@@ -391,11 +391,15 @@
|
||||
/datum/map_template/shuttle/arrival/omega
|
||||
suffix = "omega"
|
||||
name = "arrival shuttle (Omega)"
|
||||
|
||||
|
||||
/datum/map_template/shuttle/aux_base/default
|
||||
suffix = "default"
|
||||
name = "auxilliary base (Default)"
|
||||
|
||||
/datum/map_template/shuttle/aux_base/small
|
||||
suffix = "small"
|
||||
name = "auxilliary base (Small)"
|
||||
|
||||
/datum/map_template/shuttle/escape_pod/default
|
||||
suffix = "default"
|
||||
name = "escape pod (Default)"
|
||||
@@ -426,4 +430,4 @@
|
||||
|
||||
/datum/map_template/shuttle/ruin/syndicate_fighter
|
||||
suffix = "syndicate_fighter"
|
||||
name = "Syndicate Fighter"
|
||||
name = "Syndicate Fighter"
|
||||
|
||||
@@ -130,5 +130,3 @@ Use this as a guideline
|
||||
//If you don't need any special effects like spawning glasses, then you don't need an add()
|
||||
|
||||
*/
|
||||
|
||||
|
||||
|
||||
@@ -9,7 +9,11 @@
|
||||
medical_record_text = "Patient requires regular treatment for blood loss due to low production of blood."
|
||||
|
||||
/datum/quirk/blooddeficiency/on_process()
|
||||
quirk_holder.blood_volume -= 0.275
|
||||
var/mob/living/carbon/human/H = quirk_holder
|
||||
if(NOBLOOD in H.dna.species.species_traits) //can't lose blood if your species doesn't have any
|
||||
return
|
||||
else
|
||||
quirk_holder.blood_volume -= 0.275
|
||||
|
||||
|
||||
|
||||
@@ -27,11 +31,11 @@
|
||||
|
||||
/datum/quirk/family_heirloom
|
||||
name = "Family Heirloom"
|
||||
desc = "You are the current owner of an heirloom. passed down for generations. You have to keep it safe!"
|
||||
desc = "You are the current owner of an heirloom, passed down for generations. You have to keep it safe!"
|
||||
value = -1
|
||||
mood_quirk = TRUE
|
||||
var/obj/item/heirloom
|
||||
var/where_text
|
||||
var/where
|
||||
|
||||
/datum/quirk/family_heirloom/on_spawn()
|
||||
var/mob/living/carbon/human/H = quirk_holder
|
||||
@@ -58,19 +62,18 @@
|
||||
/obj/item/dice/d20)
|
||||
heirloom = new heirloom_type(get_turf(quirk_holder))
|
||||
var/list/slots = list(
|
||||
"in your backpack" = SLOT_IN_BACKPACK,
|
||||
"in your left pocket" = SLOT_L_STORE,
|
||||
"in your right pocket" = SLOT_R_STORE
|
||||
"in your right pocket" = SLOT_R_STORE,
|
||||
"in your backpack" = SLOT_IN_BACKPACK
|
||||
)
|
||||
var/where = H.equip_in_one_of_slots(heirloom, slots)
|
||||
if(!where)
|
||||
where = "at your feet"
|
||||
else if(where == "in your backpack")
|
||||
H.back.SendSignal(COMSIG_TRY_STORAGE_SHOW, H)
|
||||
where_text = "<span class='boldnotice'>There is a precious family [heirloom.name] [where], passed down from generation to generation. Keep it safe!</span>"
|
||||
where = H.equip_in_one_of_slots(heirloom, slots, FALSE) || "at your feet"
|
||||
|
||||
/datum/quirk/family_heirloom/post_add()
|
||||
to_chat(quirk_holder, where_text)
|
||||
if(where == "in your backpack")
|
||||
var/mob/living/carbon/human/H = quirk_holder
|
||||
H.back.SendSignal(COMSIG_TRY_STORAGE_SHOW, H)
|
||||
|
||||
to_chat(quirk_holder, "<span class='boldnotice'>There is a precious family [heirloom.name] [where], passed down from generation to generation. Keep it safe!</span>")
|
||||
var/list/family_name = splittext(quirk_holder.real_name, " ")
|
||||
heirloom.name = "\improper [family_name[family_name.len]] family [heirloom.name]"
|
||||
|
||||
@@ -230,7 +233,7 @@
|
||||
return
|
||||
if(prob(2)) //we'll all be mad soon enough
|
||||
madness()
|
||||
|
||||
|
||||
/datum/quirk/insanity/proc/madness()
|
||||
quirk_holder.hallucination += rand(10, 25)
|
||||
|
||||
|
||||
@@ -22,3 +22,7 @@ Unused icons for new areas are "awaycontent1" ~ "awaycontent30"
|
||||
name = "Super Secret Room"
|
||||
dynamic_lighting = DYNAMIC_LIGHTING_DISABLED
|
||||
has_gravity = TRUE
|
||||
|
||||
/area/awaymission/vr
|
||||
name = "Virtual Reality"
|
||||
icon_state = "awaycontent1"
|
||||
@@ -107,7 +107,12 @@
|
||||
name = "Syndicate Elite Squad"
|
||||
icon_state = "syndie-elite"
|
||||
|
||||
|
||||
/area/fabric_of_reality
|
||||
name = "Tear in the Fabric of Reality"
|
||||
requires_power = FALSE
|
||||
has_gravity = TRUE
|
||||
noteleport = TRUE
|
||||
blob_allowed = FALSE
|
||||
|
||||
//CAPTURE THE FLAG
|
||||
|
||||
|
||||
@@ -70,6 +70,9 @@
|
||||
/area/ruin/unpowered/syndicate_lava_base/telecomms
|
||||
name = "Syndicate Lavaland Telecommunications"
|
||||
|
||||
/area/ruin/unpowered/syndicate_lava_base/circuits
|
||||
name = "Syndicate Lavaland Circuit Lab"
|
||||
|
||||
|
||||
//Xeno Nest
|
||||
|
||||
|
||||
+6
-7
@@ -6,7 +6,6 @@
|
||||
var/flags_1 = NONE
|
||||
var/interaction_flags_atom = NONE
|
||||
var/container_type = NONE
|
||||
var/admin_spawned = 0 //was this spawned by an admin? used for stat tracking stuff.
|
||||
var/datum/reagents/reagents = null
|
||||
|
||||
//This atom's HUD (med/sec, etc) images. Associative list.
|
||||
@@ -19,7 +18,6 @@
|
||||
|
||||
var/list/atom_colours //used to store the different colors on an atom
|
||||
//its inherent color, the colored paint applied on it, special color effect etc...
|
||||
var/initialized = FALSE
|
||||
|
||||
var/list/our_overlays //our local copy of (non-priority) overlays without byond magic. Use procs in SSoverlays to manipulate
|
||||
var/list/priority_overlays //overlays that should remain on top and not normally removed when using cut_overlay functions, like c4.
|
||||
@@ -59,9 +57,9 @@
|
||||
// /turf/open/space/Initialize
|
||||
|
||||
/atom/proc/Initialize(mapload, ...)
|
||||
if(initialized)
|
||||
if(flags_1 & INITIALIZED_1)
|
||||
stack_trace("Warning: [src]([type]) initialized multiple times!")
|
||||
initialized = TRUE
|
||||
flags_1 |= INITIALIZED_1
|
||||
|
||||
//atom color stuff
|
||||
if(color)
|
||||
@@ -221,9 +219,10 @@
|
||||
return
|
||||
|
||||
/atom/proc/emp_act(severity)
|
||||
SendSignal(COMSIG_ATOM_EMP_ACT, severity)
|
||||
if(istype(wires) && !(flags_1 & NO_EMP_WIRES_1))
|
||||
var/protection = SendSignal(COMSIG_ATOM_EMP_ACT, severity)
|
||||
if(!(protection & EMP_PROTECT_WIRES) && istype(wires))
|
||||
wires.emp_pulse()
|
||||
return protection // Pass the protection value collected here upwards
|
||||
|
||||
/atom/proc/bullet_act(obj/item/projectile/P, def_zone)
|
||||
SendSignal(COMSIG_ATOM_BULLET_ACT, P, def_zone)
|
||||
@@ -517,7 +516,7 @@
|
||||
|
||||
/atom/vv_edit_var(var_name, var_value)
|
||||
if(!GLOB.Debug2)
|
||||
admin_spawned = TRUE
|
||||
flags_1 |= ADMIN_SPAWNED_1
|
||||
. = ..()
|
||||
switch(var_name)
|
||||
if("color")
|
||||
|
||||
@@ -248,10 +248,6 @@
|
||||
if (orbiting)
|
||||
orbiting.Check()
|
||||
|
||||
var/datum/proximity_monitor/proximity_monitor = src.proximity_monitor
|
||||
if(proximity_monitor)
|
||||
proximity_monitor.HandleMove()
|
||||
|
||||
return 1
|
||||
|
||||
/atom/movable/Destroy(force)
|
||||
|
||||
@@ -165,7 +165,7 @@ GLOBAL_LIST_INIT(meteorsC, list(/obj/effect/meteor/dust)) //for space dust event
|
||||
return
|
||||
|
||||
/obj/effect/meteor/examine(mob/user)
|
||||
if(!admin_spawned && isliving(user))
|
||||
if(!(flags_1 & ADMIN_SPAWNED_1) && isliving(user))
|
||||
SSmedals.UnlockMedal(MEDAL_METEOR, user.client)
|
||||
..()
|
||||
|
||||
|
||||
@@ -78,9 +78,11 @@
|
||||
to_chat(occupant, "[enter_message]")
|
||||
|
||||
/obj/machinery/sleeper/emp_act(severity)
|
||||
. = ..()
|
||||
if (. & EMP_PROTECT_SELF)
|
||||
return
|
||||
if(is_operational() && occupant)
|
||||
open_machine()
|
||||
..(severity)
|
||||
|
||||
/obj/machinery/sleeper/MouseDrop_T(mob/target, mob/user)
|
||||
if(user.stat || user.lying || !Adjacent(user) || !user.Adjacent(target) || !iscarbon(target) || !user.IsAdvancedToolUser())
|
||||
|
||||
@@ -153,10 +153,10 @@ Class Procs:
|
||||
return PROCESS_KILL
|
||||
|
||||
/obj/machinery/emp_act(severity)
|
||||
if(use_power && !stat)
|
||||
. = ..()
|
||||
if(use_power && !stat && !(. & EMP_PROTECT_SELF))
|
||||
use_power(7500/severity)
|
||||
new /obj/effect/temp_visual/emp(loc)
|
||||
..()
|
||||
|
||||
/obj/machinery/proc/open_machine(drop = TRUE)
|
||||
state_open = TRUE
|
||||
@@ -180,7 +180,7 @@ Class Procs:
|
||||
density = TRUE
|
||||
if(!target)
|
||||
for(var/am in loc)
|
||||
if(!is_type_in_typecache(am, (occupant_typecache || GLOB.typecache_living)))
|
||||
if (!(occupant_typecache ? is_type_in_typecache(am, occupant_typecache) : isliving(am)))
|
||||
continue
|
||||
var/atom/movable/AM = am
|
||||
if(AM.has_buckled_mobs())
|
||||
@@ -463,15 +463,14 @@ Class Procs:
|
||||
/obj/machinery/proc/can_be_overridden()
|
||||
. = 1
|
||||
|
||||
|
||||
/obj/machinery/tesla_act(power, explosive = FALSE)
|
||||
/obj/machinery/tesla_act(power, tesla_flags, shocked_objects)
|
||||
..()
|
||||
if(prob(85) && explosive)
|
||||
explosion(src.loc, 1, 2, 4, flame_range = 2, adminlog = FALSE, smoke = FALSE)
|
||||
else if(prob(50))
|
||||
emp_act(EMP_LIGHT)
|
||||
else
|
||||
ex_act(EXPLODE_HEAVY)
|
||||
if(prob(85) && (tesla_flags & TESLA_MACHINE_EXPLOSIVE))
|
||||
explosion(src, 1, 2, 4, flame_range = 2, adminlog = FALSE, smoke = FALSE)
|
||||
if(tesla_flags & TESLA_OBJ_DAMAGE)
|
||||
take_damage(power/2000, BURN, "energy")
|
||||
if(prob(40))
|
||||
emp_act(EMP_LIGHT)
|
||||
|
||||
/obj/machinery/Exited(atom/movable/AM, atom/newloc)
|
||||
. = ..()
|
||||
|
||||
@@ -173,9 +173,9 @@ GLOBAL_LIST_EMPTY(announcement_systems)
|
||||
newhead = pick("OV#RL()D: \[UNKNOWN??\] DET*#CT)D!", "ER)#R - B*@ TEXT F*O(ND!", "AAS.exe is not responding. NanoOS is searching for a solution to the problem.")
|
||||
|
||||
/obj/machinery/announcement_system/emp_act(severity)
|
||||
if(!(stat & (NOPOWER|BROKEN)))
|
||||
. = ..()
|
||||
if(!(stat & (NOPOWER|BROKEN)) && !(. & EMP_PROTECT_SELF))
|
||||
act_up()
|
||||
..(severity)
|
||||
|
||||
/obj/machinery/announcement_system/emag_act()
|
||||
if(obj_flags & EMAGGED)
|
||||
|
||||
@@ -77,9 +77,10 @@
|
||||
return ..()
|
||||
|
||||
/obj/machinery/camera/emp_act(severity)
|
||||
. = ..()
|
||||
if(!status)
|
||||
return
|
||||
if(!isEmpProof())
|
||||
if(!(. & EMP_PROTECT_SELF))
|
||||
if(prob(150/severity))
|
||||
update_icon()
|
||||
var/list/previous_network = network
|
||||
@@ -107,13 +108,6 @@
|
||||
M.unset_machine()
|
||||
M.reset_perspective(null)
|
||||
to_chat(M, "The screen bursts into static.")
|
||||
..()
|
||||
|
||||
/obj/machinery/camera/tesla_act(var/power)//EMP proof upgrade also makes it tesla immune
|
||||
if(isEmpProof())
|
||||
return
|
||||
..()
|
||||
qdel(src)//to prevent bomb testing camera from exploding over and over forever
|
||||
|
||||
/obj/machinery/camera/ex_act(severity, target)
|
||||
if(invuln)
|
||||
|
||||
@@ -75,6 +75,7 @@
|
||||
// UPGRADE PROCS
|
||||
|
||||
/obj/machinery/camera/proc/upgradeEmpProof()
|
||||
AddComponent(/datum/component/empprotection, EMP_PROTECT_SELF | EMP_PROTECT_WIRES | EMP_PROTECT_CONTENTS)
|
||||
assembly.upgrades.Add(new /obj/item/stack/sheet/mineral/plasma(assembly))
|
||||
upgrades |= CAMERA_UPGRADE_EMP_PROOF
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
user.visible_message("[user] inserts a cell into [src].", "<span class='notice'>You insert a cell into [src].</span>")
|
||||
chargelevel = -1
|
||||
updateicon()
|
||||
else
|
||||
else
|
||||
if(!charging && default_deconstruction_screwdriver(user, icon_state, icon_state, W))
|
||||
return
|
||||
if(default_deconstruction_crowbar(W))
|
||||
@@ -105,14 +105,14 @@
|
||||
return
|
||||
|
||||
/obj/machinery/cell_charger/emp_act(severity)
|
||||
if(stat & (BROKEN|NOPOWER))
|
||||
. = ..()
|
||||
|
||||
if(stat & (BROKEN|NOPOWER) || . & EMP_PROTECT_CONTENTS)
|
||||
return
|
||||
|
||||
if(charging)
|
||||
charging.emp_act(severity)
|
||||
|
||||
..(severity)
|
||||
|
||||
/obj/machinery/cell_charger/RefreshParts()
|
||||
charge_rate = 500
|
||||
for(var/obj/item/stock_parts/capacitor/C in component_parts)
|
||||
@@ -128,4 +128,3 @@
|
||||
charging.give(charge_rate) //this is 2558, efficient batteries exist
|
||||
|
||||
updateicon()
|
||||
|
||||
@@ -406,13 +406,14 @@
|
||||
go_out()
|
||||
|
||||
/obj/machinery/clonepod/emp_act(severity)
|
||||
var/mob/living/mob_occupant = occupant
|
||||
if(mob_occupant && prob(100/(severity*efficiency)))
|
||||
connected_message(Gibberish("EMP-caused Accidental Ejection", 0))
|
||||
SPEAK(Gibberish("Exposure to electromagnetic fields has caused the ejection of [mob_occupant.real_name] prematurely." ,0))
|
||||
go_out()
|
||||
mob_occupant.apply_vore_prefs()
|
||||
..()
|
||||
. = ..()
|
||||
if (!(. & EMP_PROTECT_SELF))
|
||||
var/mob/living/mob_occupant = occupant
|
||||
if(mob_occupant && prob(100/(severity*efficiency)))
|
||||
connected_message(Gibberish("EMP-caused Accidental Ejection", 0))
|
||||
SPEAK(Gibberish("Exposure to electromagnetic fields has caused the ejection of [mob_occupant.real_name] prematurely." ,0))
|
||||
mob_occupant.apply_vore_prefs()
|
||||
go_out()
|
||||
|
||||
/obj/machinery/clonepod/ex_act(severity, target)
|
||||
..()
|
||||
|
||||
@@ -95,14 +95,15 @@
|
||||
set_light(0)
|
||||
|
||||
/obj/machinery/computer/emp_act(severity)
|
||||
switch(severity)
|
||||
if(1)
|
||||
if(prob(50))
|
||||
obj_break("energy")
|
||||
if(2)
|
||||
if(prob(10))
|
||||
obj_break("energy")
|
||||
..()
|
||||
. = ..()
|
||||
if (!(. & EMP_PROTECT_SELF))
|
||||
switch(severity)
|
||||
if(1)
|
||||
if(prob(50))
|
||||
obj_break("energy")
|
||||
if(2)
|
||||
if(prob(10))
|
||||
obj_break("energy")
|
||||
|
||||
/obj/machinery/computer/deconstruct(disassembled = TRUE, mob/user)
|
||||
on_deconstruction()
|
||||
|
||||
@@ -85,9 +85,9 @@
|
||||
prize.forceMove(get_turf(src))
|
||||
|
||||
/obj/machinery/computer/arcade/emp_act(severity)
|
||||
..(severity)
|
||||
. = ..()
|
||||
|
||||
if(stat & (NOPOWER|BROKEN))
|
||||
if(stat & (NOPOWER|BROKEN) || . & EMP_PROTECT_SELF)
|
||||
return
|
||||
|
||||
var/empprize = null
|
||||
|
||||
@@ -553,7 +553,8 @@
|
||||
return
|
||||
|
||||
/obj/machinery/computer/med_data/emp_act(severity)
|
||||
if(!(stat & (BROKEN|NOPOWER)))
|
||||
. = ..()
|
||||
if(!(stat & (BROKEN|NOPOWER)) && !(. & EMP_PROTECT_SELF))
|
||||
for(var/datum/data/record/R in GLOB.data_core.medical)
|
||||
if(prob(10/severity))
|
||||
switch(rand(1,6))
|
||||
@@ -577,7 +578,6 @@
|
||||
else if(prob(1))
|
||||
qdel(R)
|
||||
continue
|
||||
..()
|
||||
|
||||
/obj/machinery/computer/med_data/proc/canUseMedicalRecordsConsole(mob/user, message = 1, record1, record2)
|
||||
if(user)
|
||||
|
||||
@@ -783,8 +783,9 @@ What a mess.*/
|
||||
printing = FALSE
|
||||
|
||||
/obj/machinery/computer/secure_data/emp_act(severity)
|
||||
if(stat & (BROKEN|NOPOWER))
|
||||
..(severity)
|
||||
. = ..()
|
||||
|
||||
if(stat & (BROKEN|NOPOWER) || . & EMP_PROTECT_SELF)
|
||||
return
|
||||
|
||||
for(var/datum/data/record/R in GLOB.data_core.security)
|
||||
@@ -817,8 +818,6 @@ What a mess.*/
|
||||
qdel(R)
|
||||
continue
|
||||
|
||||
..(severity)
|
||||
|
||||
/obj/machinery/computer/secure_data/proc/canUseSecurityRecordsConsole(mob/user, message1 = 0, record1, record2)
|
||||
if(user)
|
||||
if(authenticated)
|
||||
|
||||
@@ -208,6 +208,9 @@
|
||||
playsound(src.loc, 'sound/items/welder.ogg', 100, 1)
|
||||
|
||||
/obj/machinery/door/emp_act(severity)
|
||||
. = ..()
|
||||
if (. & EMP_PROTECT_SELF)
|
||||
return
|
||||
if(prob(20/severity) && (istype(src, /obj/machinery/door/airlock) || istype(src, /obj/machinery/door/window)) )
|
||||
INVOKE_ASYNC(src, .proc/open)
|
||||
if(prob(severity*10 - 20))
|
||||
@@ -215,7 +218,6 @@
|
||||
secondsElectrified = -1
|
||||
LAZYADD(shockedby, "\[[time_stamp()]\]EM Pulse")
|
||||
addtimer(CALLBACK(src, .proc/unelectrify), 300)
|
||||
..()
|
||||
|
||||
/obj/machinery/door/proc/unelectrify()
|
||||
secondsElectrified = 0
|
||||
|
||||
@@ -174,7 +174,7 @@
|
||||
use_power(power_used)
|
||||
|
||||
var/atom/A = new dispense_type(loc)
|
||||
A.admin_spawned = admin_spawned
|
||||
A.flags_1 |= (flags_1 & ADMIN_SPAWNED_1)
|
||||
|
||||
if(create_sound)
|
||||
playsound(src, create_sound, 50, 1)
|
||||
|
||||
@@ -81,9 +81,13 @@
|
||||
add_overlay("overlay_fire")
|
||||
|
||||
/obj/machinery/firealarm/emp_act(severity)
|
||||
. = ..()
|
||||
|
||||
if (. & EMP_PROTECT_SELF)
|
||||
return
|
||||
|
||||
if(prob(50 / severity))
|
||||
alarm()
|
||||
..()
|
||||
|
||||
/obj/machinery/firealarm/emag_act(mob/user)
|
||||
if(obj_flags & EMAGGED)
|
||||
|
||||
@@ -119,12 +119,12 @@
|
||||
|
||||
|
||||
/obj/machinery/flasher/emp_act(severity)
|
||||
if(!(stat & (BROKEN|NOPOWER)))
|
||||
. = ..()
|
||||
if(!(stat & (BROKEN|NOPOWER)) && !(. & EMP_PROTECT_SELF))
|
||||
if(bulb && prob(75/severity))
|
||||
flash()
|
||||
bulb.burn_out()
|
||||
power_change()
|
||||
..()
|
||||
|
||||
/obj/machinery/flasher/obj_break(damage_flag)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
|
||||
@@ -120,6 +120,8 @@
|
||||
return 1
|
||||
|
||||
/obj/machinery/sparker/emp_act(severity)
|
||||
. = ..()
|
||||
if (. & EMP_PROTECT_SELF)
|
||||
return
|
||||
if(!(stat & (BROKEN|NOPOWER)))
|
||||
ignite()
|
||||
..()
|
||||
|
||||
@@ -61,6 +61,8 @@
|
||||
updateicon()
|
||||
|
||||
/obj/machinery/light_switch/emp_act(severity)
|
||||
. = ..()
|
||||
if (. & EMP_PROTECT_SELF)
|
||||
return
|
||||
if(!(stat & (BROKEN|NOPOWER)))
|
||||
power_change()
|
||||
..()
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user