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:
deathride58
2018-05-31 23:03:18 +00:00
committed by kevinz000
parent b6e608cb4c
commit 2f9e3e403d
395 changed files with 134016 additions and 26287 deletions
+34
View File
@@ -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 */;
+34
View File
@@ -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
},
+3 -9
View File
@@ -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
+5 -42
View File
@@ -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
},
+2 -3
View File
@@ -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
},
+1 -1
View File
@@ -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
-3
View File
@@ -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
},
+4 -12
View File
@@ -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"
},
+3 -9
View File
@@ -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
+7 -9
View File
@@ -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"
},
+6 -18
View File
@@ -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,
+21 -33
View File
@@ -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"
},
+3 -10
View File
@@ -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
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
+4 -7
View File
@@ -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
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)
+17 -3
View File
@@ -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
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -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
},
File diff suppressed because it is too large Load Diff
+5 -10
View File
@@ -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" = (
+2 -8
View File
@@ -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)
+8 -16
View File
@@ -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)
+13 -13
View File
@@ -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)
))
+1 -1
View File
@@ -156,4 +156,4 @@
//Ouch my toes!
#define CALTROP_BYPASS_SHOES 1
#define CALTROP_IGNORE_WALKERS 2
#define CALTROP_IGNORE_WALKERS 2
+19 -4
View File
@@ -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)
+1 -1
View File
@@ -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))
+1 -1
View File
@@ -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)
-2
View File
@@ -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
+1 -1
View File
@@ -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>"
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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);\
}\
+4 -1
View File
@@ -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"
+1 -8
View File
@@ -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)
+2 -2
View File
@@ -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
+2 -2
View File
@@ -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"])
+6 -4
View File
@@ -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)
+26 -2
View File
@@ -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,
),
))
+1
View File
@@ -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)
-8
View File
@@ -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))
+3 -3
View File
@@ -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)
/*
+20
View File
@@ -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)
+6
View File
@@ -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
+20 -8
View File
@@ -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
+1 -1
View File
@@ -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)
+3 -3
View File
@@ -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)
+1 -1
View File
@@ -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
+1
View File
@@ -8,3 +8,4 @@ SUBSYSTEM_DEF(religion)
var/bible_icon_state
var/bible_item_state
var/holy_weapon_type
var/holy_armor_type
+7
View File
@@ -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()
+2 -2
View File
@@ -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
+11
View File
@@ -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
+3 -1
View File
@@ -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
. = ..()
+1 -1
View File
@@ -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
View File
@@ -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
+2 -2
View File
@@ -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)
+2 -1
View File
@@ -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 ..()
+7
View File
@@ -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
+6 -2
View File
@@ -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"
-2
View File
@@ -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()
*/
+16 -13
View File
@@ -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)
+4
View File
@@ -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"
+6 -1
View File
@@ -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
+3
View File
@@ -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
View File
@@ -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")
-4
View File
@@ -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)
+1 -1
View File
@@ -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)
..()
+3 -1
View File
@@ -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())
+10 -11
View File
@@ -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)
. = ..()
+2 -2
View File
@@ -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)
+2 -8
View File
@@ -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)
+1
View File
@@ -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
+4 -5
View File
@@ -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()
+8 -7
View File
@@ -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)
..()
+9 -8
View File
@@ -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()
+2 -2
View File
@@ -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
+2 -2
View File
@@ -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)
+3 -4
View File
@@ -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)
+3 -1
View File
@@ -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
+1 -1
View File
@@ -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)
+5 -1
View File
@@ -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)
+2 -2
View File
@@ -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))
+3 -1
View File
@@ -120,6 +120,8 @@
return 1
/obj/machinery/sparker/emp_act(severity)
. = ..()
if (. & EMP_PROTECT_SELF)
return
if(!(stat & (BROKEN|NOPOWER)))
ignite()
..()
+3 -1
View File
@@ -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