Merge branch 'master' into upstream-merge-34067
This commit is contained in:
@@ -383,4 +383,4 @@ UPDATE erro_library SET deleted = 1 WHERE id = someid
|
||||
|
||||
(Replace someid with the id of the book you want to soft delete.)
|
||||
|
||||
----------------------------------------------------
|
||||
----------------------------------------------------
|
||||
|
||||
@@ -12,4 +12,4 @@ ALTER TABLE erro_poll_option RENAME TO SS13_poll_option;
|
||||
ALTER TABLE erro_poll_question RENAME TO SS13_poll_question;
|
||||
ALTER TABLE erro_poll_textreply RENAME TO SS13_poll_textreply;
|
||||
ALTER TABLE erro_poll_vote RENAME TO SS13_poll_vote;
|
||||
ALTER TABLE erro_watch RENAME TO SS13_watch;
|
||||
ALTER TABLE erro_watch RENAME TO SS13_watch;
|
||||
|
||||
@@ -226,4 +226,4 @@ ALTER TABLE `poll_vote`
|
||||
, ADD INDEX `idx_pvote_optionid_ckey` (`optionid` ASC, `ckey` ASC);
|
||||
|
||||
ALTER TABLE `poll_textreply`
|
||||
ADD INDEX `idx_ptext_pollid_ckey` (`pollid` ASC, `ckey` ASC);
|
||||
ADD INDEX `idx_ptext_pollid_ckey` (`pollid` ASC, `ckey` ASC);
|
||||
|
||||
@@ -432,4 +432,4 @@ CREATE TABLE `schema_revision` (
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
|
||||
@@ -432,4 +432,4 @@ CREATE TABLE `SS13_schema_revision` (
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
|
||||
@@ -229,7 +229,7 @@
|
||||
/area/ruin/powered/beach)
|
||||
"aV" = (
|
||||
/obj/effect/mob_spawn/human/beach/alive{
|
||||
flavour_text = "You're, like, totally a dudebro, bruh. Ch'yea. You came here, like, on spring break, hopin' to pick up some bangin' hot chicks, y'knaw?";
|
||||
flavour_text = "<span class='big bold'>You're, like, totally a dudebro, bruh.</span><b> Ch'yea. You came here, like, on spring break, hopin' to pick up some bangin' hot chicks, y'knaw?</b>";
|
||||
l_pocket = /obj/item/reagent_containers/food/snacks/pizzaslice/dank;
|
||||
uniform = /obj/item/clothing/under/pants/youngfolksjeans
|
||||
},
|
||||
@@ -349,7 +349,7 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/mob_spawn/human/beach/alive{
|
||||
flavour_text = "You're a spunky lifeguard! It's up to you to make sure nobody drowns or gets eaten by sharks and stuff.";
|
||||
flavour_text = "<span class='big bold'>You're a spunky lifeguard!</span><b> It's up to you to make sure nobody drowns or gets eaten by sharks and stuff.</b>";
|
||||
id = /obj/item/card/id;
|
||||
id_access = "Medical Doctor";
|
||||
id_job = "Lifeguard";
|
||||
|
||||
@@ -544,7 +544,7 @@
|
||||
"bN" = (
|
||||
/obj/effect/mob_spawn/cow{
|
||||
dir = 4;
|
||||
flavour_text = "<font size=3><b>Y</b></font><b>ou're a cow. You've lived a pampered life as a prized show heifer, a real blue-ribbon winner. After showing signs of a minor respiratory infection, your master took you to the hospital right away. He'd better come back soon. You're getting quite impatient.</b>";
|
||||
flavour_text = "<span class='big bold'>You're a cow.</span><b> You've lived a pampered life as a prized show heifer, a real blue-ribbon winner. After showing signs of a minor respiratory infection, your master took you to the hospital right away. He'd better come back soon. You're getting quite impatient.</b>";
|
||||
mob_name = "Flossie"
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
triggerer_only = 1
|
||||
},
|
||||
/obj/effect/step_trigger/message{
|
||||
message = "<span class='cultitalic'><b><span class='big'>You've made a grave mistake, haven't you?</span></b></span>";
|
||||
message = "<span class='cult italic'><b><span class='big'>You've made a grave mistake, haven't you?</span></b></span>";
|
||||
name = "ohfuck"
|
||||
},
|
||||
/turf/open/floor/engine/cult{
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -498,7 +498,7 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/derelictoutpost/cargobay)
|
||||
"by" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
id_tag = "innerbrig";
|
||||
name = "Security Checkpoint";
|
||||
req_access_txt = "63"
|
||||
|
||||
@@ -494,7 +494,7 @@
|
||||
/area/ruin/space/has_grav/ancientstation/comm)
|
||||
"bB" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
name = "Bridge"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
@@ -1408,7 +1408,7 @@
|
||||
/turf/open/floor/plasteel/floorgrime,
|
||||
/area/ruin/space/has_grav/ancientstation/deltacorridor)
|
||||
"ef" = (
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
name = "Medical Bay"
|
||||
},
|
||||
/turf/open/floor/plasteel/floorgrime,
|
||||
@@ -3222,7 +3222,7 @@
|
||||
},
|
||||
/area/ruin/space/has_grav/ancientstation/rnd)
|
||||
"is" = (
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
name = "Chemical Storage";
|
||||
req_access_txt = "200"
|
||||
},
|
||||
|
||||
@@ -297,7 +297,7 @@
|
||||
},
|
||||
/area/ruin/space/has_grav/onehalf/hallway)
|
||||
"aV" = (
|
||||
/obj/machinery/door/airlock/glass_medical,
|
||||
/obj/machinery/door/airlock/medical/glass,
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
@@ -984,7 +984,7 @@
|
||||
/turf/template_noop,
|
||||
/area/ruin/space/has_grav/onehalf/hallway)
|
||||
"cE" = (
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
name = "Bridge"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
@@ -998,7 +998,7 @@
|
||||
id = "bridge_onehalf";
|
||||
name = "bridge blast door"
|
||||
},
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
name = "Bridge"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
|
||||
@@ -3447,7 +3447,7 @@
|
||||
/turf/closed/wall,
|
||||
/area/ruin/space/has_grav/hotel/security)
|
||||
"jq" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Hotel Security Checkpoint";
|
||||
req_access_txt = "203"
|
||||
},
|
||||
@@ -4197,7 +4197,7 @@
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/unpowered/no_grav)
|
||||
"lF" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Hotel Security Checkpoint";
|
||||
req_access_txt = "203"
|
||||
},
|
||||
|
||||
@@ -162,7 +162,7 @@
|
||||
uniform = /obj/item/clothing/under/rank/bartender;
|
||||
death = 0;
|
||||
desc = "Looks secure.";
|
||||
flavour_text = "You are a bartender for the beach!";
|
||||
flavour_text = "<span class='big bold'>You are a bartender for the beach!</span>";
|
||||
icon = 'icons/obj/machines/sleeper.dmi';
|
||||
icon_state = "sleeper";
|
||||
mob_name = "Jerry Thomas";
|
||||
|
||||
@@ -1513,7 +1513,7 @@
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/awaymission/centcomAway/courtroom)
|
||||
"fG" = (
|
||||
/obj/machinery/door/airlock/glass_engineering{
|
||||
/obj/machinery/door/airlock/engineering/glass{
|
||||
name = "Engineering";
|
||||
req_access_txt = "32"
|
||||
},
|
||||
@@ -1803,7 +1803,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/hangar)
|
||||
"gF" = (
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
name = "Bridge";
|
||||
req_access_txt = "19"
|
||||
},
|
||||
|
||||
@@ -3204,7 +3204,7 @@
|
||||
},
|
||||
/area/awaymission/moonoutpost19/research)
|
||||
"gk" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Security Post";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
@@ -4009,7 +4009,7 @@
|
||||
},
|
||||
/area/awaymission/moonoutpost19/research)
|
||||
"hG" = (
|
||||
/obj/machinery/door/airlock/glass_research{
|
||||
/obj/machinery/door/airlock/research/glass{
|
||||
name = "Research Storage";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
@@ -4244,11 +4244,9 @@
|
||||
},
|
||||
/area/awaymission/moonoutpost19/research)
|
||||
"ie" = (
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
glass = 0;
|
||||
/obj/machinery/door/airlock/medical{
|
||||
id_tag = "";
|
||||
name = "Research Division";
|
||||
opacity = 1;
|
||||
req_access_txt = "201";
|
||||
req_one_access_txt = "0"
|
||||
},
|
||||
|
||||
@@ -1596,7 +1596,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/research/interior/security)
|
||||
"eS" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
id_tag = "outerbrig";
|
||||
name = "Brig";
|
||||
req_access_txt = "63"
|
||||
@@ -1913,7 +1913,7 @@
|
||||
},
|
||||
/area/awaymission/research/interior)
|
||||
"fS" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
id_tag = "outerbrig";
|
||||
name = "Brig";
|
||||
req_access_txt = "63"
|
||||
@@ -2323,7 +2323,7 @@
|
||||
},
|
||||
/area/awaymission/research/interior)
|
||||
"hb" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
id_tag = "outerbrig";
|
||||
name = "Brig";
|
||||
req_access_txt = "63"
|
||||
|
||||
@@ -160,7 +160,7 @@
|
||||
/area/awaymission/snowdin/base)
|
||||
"aC" = (
|
||||
/obj/structure/barricade/wooden,
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Security Office";
|
||||
req_access_txt = "63"
|
||||
},
|
||||
@@ -2181,7 +2181,7 @@
|
||||
/area/awaymission/snowdin/post)
|
||||
"ha" = (
|
||||
/obj/structure/barricade/wooden,
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Security Office";
|
||||
req_access_txt = "63"
|
||||
},
|
||||
@@ -2570,7 +2570,7 @@
|
||||
/turf/open/floor/plasteel/darkred,
|
||||
/area/awaymission/snowdin/post)
|
||||
"is" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Security Office";
|
||||
req_access_txt = "63"
|
||||
},
|
||||
@@ -3306,7 +3306,7 @@
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/awaymission/snowdin/sekret)
|
||||
"kJ" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Security Office";
|
||||
req_access_txt = "63"
|
||||
},
|
||||
|
||||
@@ -7380,7 +7380,7 @@
|
||||
},
|
||||
/area/awaymission/undergroundoutpost45/research)
|
||||
"oE" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Security Office";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
@@ -8008,7 +8008,7 @@
|
||||
/turf/closed/wall/rust,
|
||||
/area/awaymission/undergroundoutpost45/research)
|
||||
"pM" = (
|
||||
/obj/machinery/door/airlock/glass_research{
|
||||
/obj/machinery/door/airlock/research/glass{
|
||||
name = "Research Storage";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
@@ -8159,7 +8159,7 @@
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,
|
||||
/obj/machinery/door/airlock/glass_engineering{
|
||||
/obj/machinery/door/airlock/engineering/glass{
|
||||
name = "SMES Room";
|
||||
req_access_txt = "201";
|
||||
req_one_access_txt = "0"
|
||||
@@ -8622,7 +8622,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
name = "Server Room";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
@@ -9318,7 +9318,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/door/airlock/glass_engineering{
|
||||
/obj/machinery/door/airlock/engineering/glass{
|
||||
name = "Engineering Reception";
|
||||
req_access_txt = "0"
|
||||
},
|
||||
@@ -9760,7 +9760,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/door/airlock/glass_engineering{
|
||||
/obj/machinery/door/airlock/engineering/glass{
|
||||
name = "Engineering Reception";
|
||||
req_access_txt = "0"
|
||||
},
|
||||
@@ -10793,7 +10793,7 @@
|
||||
/turf/closed/wall,
|
||||
/area/awaymission/undergroundoutpost45/engineering)
|
||||
"uF" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Security Office";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
@@ -11382,7 +11382,7 @@
|
||||
"vN" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/machinery/door/airlock/glass_mining{
|
||||
/obj/machinery/door/airlock/mining/glass{
|
||||
name = "Mining Foyer";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
@@ -11396,7 +11396,7 @@
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/machinery/door/airlock/glass_mining{
|
||||
/obj/machinery/door/airlock/mining/glass{
|
||||
name = "Mining Foyer";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
@@ -11682,7 +11682,7 @@
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-8"
|
||||
},
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
name = "Chief Engineer";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
@@ -12448,7 +12448,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/door/airlock/glass_mining{
|
||||
/obj/machinery/door/airlock/mining/glass{
|
||||
name = "Mining EVA";
|
||||
req_access_txt = "201"
|
||||
},
|
||||
|
||||
+2420
-2385
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
@@ -111,6 +111,7 @@
|
||||
/obj/item/pickaxe,
|
||||
/obj/item/device/flashlight,
|
||||
/obj/item/clothing/glasses/meson,
|
||||
/obj/item/device/mining_scanner,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/laborcamp)
|
||||
"av" = (
|
||||
@@ -119,6 +120,7 @@
|
||||
/obj/item/device/flashlight,
|
||||
/obj/item/pickaxe,
|
||||
/obj/item/clothing/glasses/meson,
|
||||
/obj/item/device/mining_scanner,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/laborcamp)
|
||||
"aw" = (
|
||||
@@ -144,7 +146,7 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/laborcamp)
|
||||
"aB" = (
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
id_tag = null;
|
||||
name = "Infirmary";
|
||||
req_access_txt = "0"
|
||||
@@ -286,7 +288,7 @@
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/lavaland/surface/outdoors/explored)
|
||||
"aY" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
cyclelinkeddir = 4;
|
||||
name = "Labor Camp Shuttle Security Airlock";
|
||||
req_access_txt = "2"
|
||||
@@ -450,7 +452,7 @@
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/mine/eva)
|
||||
"bx" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
cyclelinkeddir = 4;
|
||||
name = "Labor Camp Shuttle Prisoner Airlock";
|
||||
req_access_txt = "0"
|
||||
@@ -470,7 +472,7 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/laborcamp)
|
||||
"bA" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Labor Camp Backroom";
|
||||
req_access_txt = "2"
|
||||
},
|
||||
@@ -557,7 +559,7 @@
|
||||
/turf/open/floor/plasteel/purple/corner,
|
||||
/area/mine/eva)
|
||||
"bL" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Labor Camp Monitoring";
|
||||
req_access_txt = "2"
|
||||
},
|
||||
@@ -617,7 +619,7 @@
|
||||
/obj/structure/cable{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/door/airlock/glass_mining{
|
||||
/obj/machinery/door/airlock/mining/glass{
|
||||
name = "Mining Station EVA";
|
||||
req_access_txt = "54"
|
||||
},
|
||||
@@ -1371,7 +1373,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/mine/living_quarters)
|
||||
"dR" = (
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
id_tag = null;
|
||||
name = "Infirmary";
|
||||
req_access_txt = "0"
|
||||
@@ -1511,7 +1513,7 @@
|
||||
/turf/open/floor/plasteel/purple/corner,
|
||||
/area/mine/living_quarters)
|
||||
"el" = (
|
||||
/obj/machinery/door/airlock/glass_mining{
|
||||
/obj/machinery/door/airlock/mining/glass{
|
||||
name = "Processing Area";
|
||||
req_access_txt = "48"
|
||||
},
|
||||
@@ -1614,7 +1616,7 @@
|
||||
/obj/structure/cable{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/door/airlock/glass_mining{
|
||||
/obj/machinery/door/airlock/mining/glass{
|
||||
name = "Mining Station Bridge";
|
||||
req_access_txt = "48"
|
||||
},
|
||||
@@ -1647,7 +1649,7 @@
|
||||
/obj/structure/cable{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/door/airlock/glass_mining{
|
||||
/obj/machinery/door/airlock/mining/glass{
|
||||
name = "Mining Station Bridge";
|
||||
req_access_txt = "48"
|
||||
},
|
||||
@@ -1689,7 +1691,7 @@
|
||||
},
|
||||
/area/mine/production)
|
||||
"eF" = (
|
||||
/obj/machinery/door/airlock/glass_mining{
|
||||
/obj/machinery/door/airlock/mining/glass{
|
||||
name = "Processing Area";
|
||||
req_access_txt = "48"
|
||||
},
|
||||
@@ -3328,7 +3330,7 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/laborcamp)
|
||||
"WB" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
cyclelinkeddir = 8;
|
||||
name = "Labor Camp Shuttle Security Airlock";
|
||||
req_access_txt = "2"
|
||||
@@ -3336,7 +3338,7 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/laborcamp)
|
||||
"WC" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
cyclelinkeddir = 8;
|
||||
name = "Labor Camp Shuttle Prisoner Airlock";
|
||||
req_access_txt = "0"
|
||||
@@ -21563,7 +21565,7 @@ am
|
||||
am
|
||||
am
|
||||
am
|
||||
ao
|
||||
ai
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -22070,7 +22072,7 @@ am
|
||||
am
|
||||
am
|
||||
am
|
||||
ao
|
||||
ai
|
||||
ab
|
||||
ab
|
||||
ai
|
||||
@@ -22854,7 +22856,7 @@ ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ao
|
||||
ai
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -24644,7 +24646,7 @@ am
|
||||
am
|
||||
am
|
||||
am
|
||||
ao
|
||||
ai
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -24901,7 +24903,7 @@ am
|
||||
am
|
||||
am
|
||||
am
|
||||
ao
|
||||
ai
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -25178,7 +25180,7 @@ ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ao
|
||||
ai
|
||||
am
|
||||
am
|
||||
ai
|
||||
@@ -25422,7 +25424,7 @@ ab
|
||||
ab
|
||||
ab
|
||||
ai
|
||||
ao
|
||||
ai
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -25672,7 +25674,7 @@ am
|
||||
am
|
||||
am
|
||||
am
|
||||
ao
|
||||
ai
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -25956,7 +25958,7 @@ am
|
||||
am
|
||||
am
|
||||
am
|
||||
ao
|
||||
ai
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -26199,7 +26201,7 @@ ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ao
|
||||
ai
|
||||
am
|
||||
am
|
||||
am
|
||||
@@ -26213,7 +26215,7 @@ am
|
||||
am
|
||||
am
|
||||
am
|
||||
ao
|
||||
ai
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -26972,7 +26974,7 @@ ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ao
|
||||
ai
|
||||
am
|
||||
am
|
||||
am
|
||||
@@ -28511,7 +28513,7 @@ ab
|
||||
ab
|
||||
ab
|
||||
ai
|
||||
ao
|
||||
ai
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -29021,7 +29023,7 @@ ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ao
|
||||
ai
|
||||
ab
|
||||
ab
|
||||
ai
|
||||
@@ -29030,13 +29032,13 @@ am
|
||||
am
|
||||
am
|
||||
am
|
||||
ao
|
||||
ai
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ao
|
||||
ao
|
||||
ai
|
||||
ai
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -29278,8 +29280,8 @@ ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ao
|
||||
ao
|
||||
ai
|
||||
ai
|
||||
ab
|
||||
ai
|
||||
am
|
||||
@@ -30060,8 +30062,8 @@ ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ao
|
||||
ao
|
||||
ai
|
||||
ai
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -30573,7 +30575,7 @@ ai
|
||||
ai
|
||||
ab
|
||||
ab
|
||||
ao
|
||||
ai
|
||||
am
|
||||
am
|
||||
am
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -202,7 +202,7 @@
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/door/firedoor/heavy,
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
name = "AI Core";
|
||||
req_access_txt = "65"
|
||||
},
|
||||
@@ -241,7 +241,7 @@
|
||||
/area/ai_monitored/turret_protected/ai)
|
||||
"act" = (
|
||||
/obj/machinery/door/firedoor/heavy,
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
name = "AI Core";
|
||||
req_access_txt = "65"
|
||||
},
|
||||
@@ -502,7 +502,7 @@
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
name = "AI Core";
|
||||
req_access_txt = "65"
|
||||
},
|
||||
@@ -2136,7 +2136,7 @@
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/security/execution/transfer)
|
||||
"ahm" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Long-Term Cell 2";
|
||||
req_access_txt = "2"
|
||||
},
|
||||
@@ -2156,7 +2156,7 @@
|
||||
/turf/closed/wall,
|
||||
/area/security/prison)
|
||||
"ahp" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Long-Term Cell 1";
|
||||
req_access_txt = "2"
|
||||
},
|
||||
@@ -2864,7 +2864,6 @@
|
||||
"aiY" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/device/flashlight/lamp,
|
||||
/obj/item/storage/box/mousetraps,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/department/security/brig)
|
||||
"aiZ" = (
|
||||
@@ -2908,7 +2907,7 @@
|
||||
/area/security/prison)
|
||||
"ajd" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Prison Wing";
|
||||
req_access_txt = "1"
|
||||
},
|
||||
@@ -2925,7 +2924,7 @@
|
||||
/area/security/prison)
|
||||
"ajf" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Prison Wing";
|
||||
req_access_txt = "1"
|
||||
},
|
||||
@@ -3137,14 +3136,14 @@
|
||||
/area/maintenance/department/crew_quarters/dorms)
|
||||
"ajA" = (
|
||||
/obj/docking_port/stationary{
|
||||
dheight = 9;
|
||||
dir = 2;
|
||||
dwidth = 5;
|
||||
height = 24;
|
||||
dheight = 1;
|
||||
dir = 8;
|
||||
dwidth = 12;
|
||||
height = 17;
|
||||
id = "syndicate_ne";
|
||||
name = "northeast of station";
|
||||
turf_type = /turf/open/space;
|
||||
width = 18
|
||||
width = 23
|
||||
},
|
||||
/turf/open/space,
|
||||
/area/space/nearstation)
|
||||
@@ -3537,6 +3536,7 @@
|
||||
/area/maintenance/department/security/brig)
|
||||
"aks" = (
|
||||
/obj/machinery/light/small,
|
||||
/obj/item/storage/box/mousetraps,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/department/security/brig)
|
||||
"akt" = (
|
||||
@@ -4407,7 +4407,7 @@
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/security/main)
|
||||
"amt" = (
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
name = "Head of Security";
|
||||
req_access_txt = "58"
|
||||
},
|
||||
@@ -5810,7 +5810,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/security/warden)
|
||||
"apM" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Brig Control";
|
||||
req_access_txt = "3"
|
||||
},
|
||||
@@ -6393,7 +6393,7 @@
|
||||
/area/security/brig)
|
||||
"arj" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Labor Camp Shuttle Airlock";
|
||||
req_access_txt = "2"
|
||||
},
|
||||
@@ -7453,7 +7453,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/security/brig)
|
||||
"atE" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
cyclelinkeddir = 2;
|
||||
id_tag = "innerbrig";
|
||||
name = "Brig";
|
||||
@@ -7478,7 +7478,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/security/brig)
|
||||
"atG" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
cyclelinkeddir = 2;
|
||||
id_tag = "innerbrig";
|
||||
name = "Brig";
|
||||
@@ -7490,7 +7490,7 @@
|
||||
},
|
||||
/area/security/brig)
|
||||
"atH" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Brig Desk";
|
||||
req_access_txt = "1"
|
||||
},
|
||||
@@ -8781,7 +8781,7 @@
|
||||
/area/shuttle/labor)
|
||||
"awH" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Labor Camp Shuttle Airlock";
|
||||
req_access_txt = "0"
|
||||
},
|
||||
@@ -8828,7 +8828,7 @@
|
||||
/area/security/brig)
|
||||
"awL" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
cyclelinkeddir = 1;
|
||||
id_tag = "outerbrig";
|
||||
name = "Brig";
|
||||
@@ -8856,7 +8856,7 @@
|
||||
/area/security/brig)
|
||||
"awN" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
cyclelinkeddir = 1;
|
||||
id_tag = "outerbrig";
|
||||
name = "Brig";
|
||||
@@ -10634,7 +10634,7 @@
|
||||
/area/crew_quarters/heads/captain)
|
||||
"aBq" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
cyclelinkeddir = 2;
|
||||
name = "Bridge";
|
||||
req_access_txt = "19"
|
||||
@@ -10648,7 +10648,7 @@
|
||||
"aBr" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
cyclelinkeddir = 2;
|
||||
name = "Bridge";
|
||||
req_access_txt = "19"
|
||||
@@ -10711,7 +10711,7 @@
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
cyclelinkeddir = 2;
|
||||
name = "Bridge";
|
||||
req_access_txt = "19"
|
||||
@@ -13145,7 +13145,7 @@
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
cyclelinkeddir = 1;
|
||||
name = "Bridge";
|
||||
req_access_txt = "19"
|
||||
@@ -13159,7 +13159,7 @@
|
||||
},
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
cyclelinkeddir = 1;
|
||||
name = "Bridge";
|
||||
req_access_txt = "19"
|
||||
@@ -13181,7 +13181,7 @@
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
cyclelinkeddir = 1;
|
||||
name = "Bridge";
|
||||
req_access_txt = "19"
|
||||
@@ -14830,7 +14830,7 @@
|
||||
/area/storage/eva)
|
||||
"aLb" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
name = "EVA Storage";
|
||||
req_access_txt = "18"
|
||||
},
|
||||
@@ -14847,7 +14847,7 @@
|
||||
"aLd" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
name = "Teleporter";
|
||||
req_access_txt = "17"
|
||||
},
|
||||
@@ -14926,7 +14926,7 @@
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/escape)
|
||||
"aLs" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Holding Area";
|
||||
req_access_txt = "2"
|
||||
},
|
||||
@@ -16435,7 +16435,7 @@
|
||||
},
|
||||
/area/security/checkpoint/supply)
|
||||
"aOR" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Cargo Security Post";
|
||||
req_access_txt = "63"
|
||||
},
|
||||
@@ -17396,7 +17396,7 @@
|
||||
/area/security/checkpoint/supply)
|
||||
"aRg" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Cargo Security Post";
|
||||
req_access_txt = "63"
|
||||
},
|
||||
@@ -17821,7 +17821,7 @@
|
||||
/area/quartermaster/office)
|
||||
"aSg" = (
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/obj/machinery/door/airlock/glass_mining{
|
||||
/obj/machinery/door/airlock/mining/glass{
|
||||
name = "Mailroom";
|
||||
req_access_txt = "0";
|
||||
req_one_access_txt = "48;50"
|
||||
@@ -18751,7 +18751,7 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/quartermaster/office)
|
||||
"aUo" = (
|
||||
/obj/machinery/door/airlock/glass_mining{
|
||||
/obj/machinery/door/airlock/mining/glass{
|
||||
name = "Cargo Bay";
|
||||
req_access_txt = "0";
|
||||
req_one_access_txt = "31;48"
|
||||
@@ -20921,7 +20921,7 @@
|
||||
/area/quartermaster/office)
|
||||
"aZl" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/glass_mining{
|
||||
/obj/machinery/door/airlock/mining/glass{
|
||||
name = "Cargo Office";
|
||||
req_access_txt = "50"
|
||||
},
|
||||
@@ -21872,7 +21872,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/quartermaster/qm)
|
||||
"bbG" = (
|
||||
/obj/machinery/door/airlock/glass_mining{
|
||||
/obj/machinery/door/airlock/mining/glass{
|
||||
name = "Quartermaster";
|
||||
req_access_txt = "41"
|
||||
},
|
||||
@@ -26578,7 +26578,7 @@
|
||||
/area/medical/genetics)
|
||||
"bnw" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
id_tag = null;
|
||||
name = "Cloning";
|
||||
req_access_txt = "0";
|
||||
@@ -26636,7 +26636,7 @@
|
||||
/area/security/checkpoint/medical)
|
||||
"bnB" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Medbay Security Post";
|
||||
req_access_txt = "63"
|
||||
},
|
||||
@@ -26776,7 +26776,7 @@
|
||||
/area/science/server)
|
||||
"bnU" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
name = "Server Room";
|
||||
req_access_txt = "30"
|
||||
},
|
||||
@@ -28155,7 +28155,7 @@
|
||||
/area/medical/genetics)
|
||||
"bra" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
id_tag = "GeneticsDoor";
|
||||
name = "Cloning";
|
||||
req_access_txt = "0";
|
||||
@@ -29796,7 +29796,7 @@
|
||||
/area/science/explab)
|
||||
"buA" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/glass_research{
|
||||
/obj/machinery/door/airlock/research/glass{
|
||||
name = "Experimentation Lab";
|
||||
req_access_txt = "47"
|
||||
},
|
||||
@@ -30020,7 +30020,7 @@
|
||||
/area/science/xenobiology)
|
||||
"buV" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/glass_research{
|
||||
/obj/machinery/door/airlock/research/glass{
|
||||
name = "Kill Room";
|
||||
req_access_txt = "55"
|
||||
},
|
||||
@@ -30071,7 +30071,7 @@
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/medical/genetics)
|
||||
"bvd" = (
|
||||
/obj/machinery/door/airlock/glass_research{
|
||||
/obj/machinery/door/airlock/research/glass{
|
||||
name = "Genetics";
|
||||
req_access_txt = "9"
|
||||
},
|
||||
@@ -30168,7 +30168,7 @@
|
||||
/turf/open/floor/plasteel/whiteblue/corner,
|
||||
/area/medical/medbay/central)
|
||||
"bvq" = (
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
id_tag = null;
|
||||
name = "Chemistry Lab";
|
||||
req_access_txt = "5; 33"
|
||||
@@ -31710,7 +31710,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/medical/sleeper)
|
||||
"byp" = (
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
id_tag = null;
|
||||
name = "Sleepers";
|
||||
req_access_txt = "5"
|
||||
@@ -31722,7 +31722,7 @@
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/sleeper)
|
||||
"byq" = (
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
id_tag = null;
|
||||
name = "Sleepers";
|
||||
req_access_txt = "5"
|
||||
@@ -32986,7 +32986,7 @@
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/sleeper)
|
||||
"bBd" = (
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
id_tag = "MedbaySleepers";
|
||||
name = "Sleepers";
|
||||
req_access_txt = "5"
|
||||
@@ -33532,7 +33532,7 @@
|
||||
},
|
||||
/area/medical/medbay/central)
|
||||
"bCq" = (
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
name = "Chief Medical Office";
|
||||
req_access_txt = "40"
|
||||
},
|
||||
@@ -34149,7 +34149,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/door/airlock/glass_research{
|
||||
/obj/machinery/door/airlock/research/glass{
|
||||
name = "Toxins Storage";
|
||||
req_access_txt = "8"
|
||||
},
|
||||
@@ -34190,7 +34190,7 @@
|
||||
/area/science/research)
|
||||
"bDU" = (
|
||||
/obj/machinery/door/firedoor/heavy,
|
||||
/obj/machinery/door/airlock/glass_research{
|
||||
/obj/machinery/door/airlock/research/glass{
|
||||
name = "Toxins Lab";
|
||||
req_access_txt = "8"
|
||||
},
|
||||
@@ -34432,6 +34432,10 @@
|
||||
pixel_x = -3;
|
||||
pixel_y = -3
|
||||
},
|
||||
/obj/structure/window/reinforced,
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/whiteblue/side{
|
||||
dir = 1
|
||||
},
|
||||
@@ -34447,6 +34451,10 @@
|
||||
pixel_x = -3;
|
||||
pixel_y = -3
|
||||
},
|
||||
/obj/machinery/door/window/southleft{
|
||||
name = "First-Aid Supplies";
|
||||
req_access_txt = "5"
|
||||
},
|
||||
/turf/open/floor/plasteel/whiteblue/side{
|
||||
dir = 1
|
||||
},
|
||||
@@ -34462,6 +34470,10 @@
|
||||
pixel_x = -3;
|
||||
pixel_y = -3
|
||||
},
|
||||
/obj/machinery/door/window/southright{
|
||||
name = "First-Aid Supplies";
|
||||
req_access_txt = "5"
|
||||
},
|
||||
/turf/open/floor/plasteel/whiteblue/side{
|
||||
dir = 1
|
||||
},
|
||||
@@ -34477,6 +34489,7 @@
|
||||
pixel_x = -3;
|
||||
pixel_y = -3
|
||||
},
|
||||
/obj/structure/window/reinforced,
|
||||
/turf/open/floor/plasteel/whiteblue/side{
|
||||
dir = 1
|
||||
},
|
||||
@@ -35159,7 +35172,7 @@
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/medbay/central)
|
||||
"bFR" = (
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
id_tag = null;
|
||||
name = "Medbay Storage";
|
||||
req_access_txt = "45"
|
||||
@@ -35243,7 +35256,7 @@
|
||||
/turf/closed/wall,
|
||||
/area/hallway/primary/aft)
|
||||
"bGb" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Research Security Post";
|
||||
req_access_txt = "63"
|
||||
},
|
||||
@@ -35611,7 +35624,7 @@
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/medbay/central)
|
||||
"bGY" = (
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
id_tag = null;
|
||||
name = "Medbay Storage";
|
||||
req_access_txt = "45"
|
||||
@@ -35996,11 +36009,10 @@
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/maintenance/department/engine)
|
||||
"bHS" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/device/flashlight/lamp,
|
||||
/obj/effect/decal/cleanable/cobweb{
|
||||
icon_state = "cobweb2"
|
||||
},
|
||||
/obj/machinery/vending/kink,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/maintenance/department/engine)
|
||||
"bHT" = (
|
||||
@@ -36550,6 +36562,8 @@
|
||||
/obj/structure/sign/poster/contraband/random{
|
||||
pixel_x = 32
|
||||
},
|
||||
/obj/structure/table,
|
||||
/obj/item/device/flashlight/lamp,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/maintenance/department/engine)
|
||||
"bJi" = (
|
||||
@@ -36619,7 +36633,7 @@
|
||||
},
|
||||
/area/medical/medbay/central)
|
||||
"bJq" = (
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
id_tag = null;
|
||||
name = "Recovery Room";
|
||||
req_access_txt = "0"
|
||||
@@ -37044,7 +37058,7 @@
|
||||
/area/medical/virology)
|
||||
"bKo" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/glass_virology{
|
||||
/obj/machinery/door/airlock/virology/glass{
|
||||
name = "Isolation B";
|
||||
req_access_txt = "39"
|
||||
},
|
||||
@@ -37053,7 +37067,7 @@
|
||||
/area/medical/virology)
|
||||
"bKp" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/glass_virology{
|
||||
/obj/machinery/door/airlock/virology/glass{
|
||||
name = "Isolation A";
|
||||
req_access_txt = "39"
|
||||
},
|
||||
@@ -37739,7 +37753,7 @@
|
||||
"bLX" = (
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/machinery/door/airlock/glass_atmos{
|
||||
/obj/machinery/door/airlock/atmos/glass{
|
||||
cyclelinkeddir = 0;
|
||||
name = "Atmospherics";
|
||||
req_access_txt = "24"
|
||||
@@ -38189,7 +38203,7 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/door/firedoor/heavy,
|
||||
/obj/machinery/door/airlock/glass_atmos{
|
||||
/obj/machinery/door/airlock/atmos/glass{
|
||||
name = "Atmospherics Monitoring";
|
||||
req_access_txt = "24"
|
||||
},
|
||||
@@ -38618,7 +38632,7 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/door/firedoor/heavy,
|
||||
/obj/machinery/door/airlock/glass_atmos{
|
||||
/obj/machinery/door/airlock/atmos/glass{
|
||||
name = "Atmospherics Monitoring";
|
||||
req_access_txt = "24"
|
||||
},
|
||||
@@ -40514,7 +40528,7 @@
|
||||
/area/hallway/primary/aft)
|
||||
"bSQ" = (
|
||||
/obj/machinery/door/firedoor/heavy,
|
||||
/obj/machinery/door/airlock/glass_atmos{
|
||||
/obj/machinery/door/airlock/atmos/glass{
|
||||
cyclelinkeddir = 0;
|
||||
name = "Atmospherics Monitoring";
|
||||
req_access_txt = "24"
|
||||
@@ -41457,7 +41471,7 @@
|
||||
},
|
||||
/area/security/checkpoint/engineering)
|
||||
"bUY" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Engineering Security Post";
|
||||
req_access_txt = "63"
|
||||
},
|
||||
@@ -42725,7 +42739,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/crew_quarters/heads/chief)
|
||||
"bYa" = (
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
name = "Chief Engineer";
|
||||
req_access_txt = "56"
|
||||
},
|
||||
@@ -42772,7 +42786,7 @@
|
||||
/area/engine/engine_smes)
|
||||
"bYh" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/glass_engineering{
|
||||
/obj/machinery/door/airlock/engineering/glass{
|
||||
name = "Power Storage";
|
||||
req_access_txt = "11";
|
||||
req_one_access_txt = "0"
|
||||
@@ -47545,7 +47559,7 @@
|
||||
},
|
||||
/area/tcommsat/computer)
|
||||
"cmj" = (
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
name = "Control Room";
|
||||
req_access_txt = "19; 61"
|
||||
},
|
||||
@@ -47674,7 +47688,7 @@
|
||||
},
|
||||
/area/tcommsat/computer)
|
||||
"cmw" = (
|
||||
/obj/machinery/door/airlock/glass_engineering{
|
||||
/obj/machinery/door/airlock/engineering/glass{
|
||||
cyclelinkeddir = 2;
|
||||
name = "Server Room";
|
||||
req_access_txt = "61"
|
||||
@@ -47749,7 +47763,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/tcommsat/computer)
|
||||
"cmF" = (
|
||||
/obj/machinery/door/airlock/glass_engineering{
|
||||
/obj/machinery/door/airlock/engineering/glass{
|
||||
cyclelinkeddir = 1;
|
||||
name = "Server Room";
|
||||
req_access_txt = "61"
|
||||
@@ -51364,8 +51378,10 @@
|
||||
/area/maintenance/department/crew_quarters/dorms)
|
||||
"cCY" = (
|
||||
/obj/machinery/vending/kink,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/department/engine)
|
||||
/turf/open/floor/plating{
|
||||
icon_state = "platingdmg3"
|
||||
},
|
||||
/area/maintenance/department/cargo)
|
||||
"cCZ" = (
|
||||
/obj/machinery/vending/kink,
|
||||
/turf/open/floor/plating,
|
||||
@@ -73874,7 +73890,7 @@ bvb
|
||||
bDj
|
||||
bEo
|
||||
bva
|
||||
cCY
|
||||
bva
|
||||
bHQ
|
||||
bJg
|
||||
bKl
|
||||
@@ -74130,7 +74146,7 @@ bnv
|
||||
bnv
|
||||
bDi
|
||||
bmf
|
||||
bva
|
||||
bsn
|
||||
bva
|
||||
bHS
|
||||
bJh
|
||||
@@ -100071,7 +100087,7 @@ aaa
|
||||
aaa
|
||||
aEj
|
||||
bkO
|
||||
bgO
|
||||
cCY
|
||||
bnn
|
||||
bom
|
||||
aEj
|
||||
|
||||
@@ -310,7 +310,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/engine/engineering)
|
||||
"aU" = (
|
||||
/obj/machinery/door/airlock/glass_engineering{
|
||||
/obj/machinery/door/airlock/engineering/glass{
|
||||
name = "Gravity Generator";
|
||||
req_access_txt = "11";
|
||||
req_one_access_txt = "0"
|
||||
@@ -339,7 +339,7 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/gravity_generator)
|
||||
"aX" = (
|
||||
/obj/machinery/door/airlock/glass_engineering{
|
||||
/obj/machinery/door/airlock/engineering/glass{
|
||||
name = "Gravity Generator";
|
||||
req_access_txt = "11";
|
||||
req_one_access_txt = "0"
|
||||
|
||||
@@ -9446,7 +9446,7 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/centcom/ferry)
|
||||
"zk" = (
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
name = "Infirmary"
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
|
||||
@@ -197,7 +197,7 @@
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/escape)
|
||||
"aP" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Emergency Shuttle Brig";
|
||||
req_access_txt = "2"
|
||||
},
|
||||
@@ -297,7 +297,7 @@
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/escape)
|
||||
"bg" = (
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
name = "Emergency Shuttle Cockpit";
|
||||
req_access_txt = "19"
|
||||
},
|
||||
@@ -355,7 +355,7 @@
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/escape)
|
||||
"bq" = (
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
id_tag = null;
|
||||
name = "Escape Shuttle Infirmary";
|
||||
req_access_txt = "5"
|
||||
@@ -363,7 +363,7 @@
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/escape)
|
||||
"br" = (
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
id_tag = null;
|
||||
name = "Escape Shuttle Infirmary";
|
||||
req_access_txt = "0"
|
||||
|
||||
@@ -387,7 +387,7 @@
|
||||
/turf/open/floor/plasteel/freezer,
|
||||
/area/shuttle/escape)
|
||||
"bq" = (
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
name = "Medbay"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium,
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/escape)
|
||||
"as" = (
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
name = "bridge door";
|
||||
req_access_txt = "19"
|
||||
},
|
||||
@@ -134,7 +134,7 @@
|
||||
/turf/open/floor/mineral/plastitanium/brig,
|
||||
/area/shuttle/escape)
|
||||
"az" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "security airlock";
|
||||
req_access_txt = "63"
|
||||
},
|
||||
|
||||
@@ -399,7 +399,7 @@
|
||||
},
|
||||
/area/shuttle/escape)
|
||||
"bn" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Emergency Shuttle Brig";
|
||||
req_access_txt = "2"
|
||||
},
|
||||
@@ -717,7 +717,7 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/shuttle/escape)
|
||||
"ce" = (
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
name = "Emergency Shuttle Medbay"
|
||||
},
|
||||
/turf/open/floor/plasteel/whiteblue,
|
||||
@@ -986,7 +986,7 @@
|
||||
},
|
||||
/area/shuttle/escape)
|
||||
"cP" = (
|
||||
/obj/machinery/door/airlock/glass_engineering{
|
||||
/obj/machinery/door/airlock/engineering/glass{
|
||||
name = "Engine Room";
|
||||
req_one_access_txt = "10;24"
|
||||
},
|
||||
|
||||
@@ -306,7 +306,7 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/shuttle/escape)
|
||||
"aF" = (
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
id_tag = null;
|
||||
name = "Escape Shuttle Infirmary";
|
||||
req_access_txt = "0"
|
||||
@@ -422,7 +422,7 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/shuttle/escape)
|
||||
"aV" = (
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
id_tag = null;
|
||||
name = "Escape Shuttle Infirmary";
|
||||
req_access_txt = "0"
|
||||
@@ -649,14 +649,14 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/shuttle/escape)
|
||||
"bt" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Holding Area";
|
||||
req_access_txt = "2"
|
||||
},
|
||||
/turf/open/floor/mineral/plastitanium/brig,
|
||||
/area/shuttle/escape)
|
||||
"bu" = (
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
name = "Cockpit";
|
||||
req_access_txt = "19"
|
||||
},
|
||||
|
||||
@@ -260,7 +260,7 @@
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/escape)
|
||||
"aH" = (
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
name = "Cockpit";
|
||||
req_access_txt = "19"
|
||||
},
|
||||
@@ -377,14 +377,14 @@
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/escape)
|
||||
"aY" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Brig";
|
||||
req_access_txt = "2"
|
||||
},
|
||||
/turf/open/floor/mineral/plastitanium/brig,
|
||||
/area/shuttle/escape)
|
||||
"aZ" = (
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
id_tag = null;
|
||||
name = "Escape Shuttle Infirmary";
|
||||
req_access_txt = "0"
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
dwidth = 20;
|
||||
height = 40;
|
||||
movement_force = list("KNOCKDOWN" = 3, "THROW" = 6);
|
||||
name = "a meteor with engines strapped to it";
|
||||
name = "\proper a meteor with engines strapped to it";
|
||||
timid = 1;
|
||||
width = 40
|
||||
},
|
||||
|
||||
@@ -82,14 +82,14 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/escape)
|
||||
"o" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Escape Shuttle Cell";
|
||||
req_access_txt = "2"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/escape)
|
||||
"p" = (
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
id_tag = null;
|
||||
name = "Escape Shuttle Infirmary";
|
||||
req_access_txt = "0"
|
||||
@@ -214,7 +214,7 @@
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/escape)
|
||||
"I" = (
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
name = "Escape Shuttle Cockpit";
|
||||
req_access_txt = "19"
|
||||
},
|
||||
|
||||
@@ -197,7 +197,7 @@
|
||||
/turf/open/floor/mineral/plastitanium/brig,
|
||||
/area/shuttle/escape)
|
||||
"aI" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Emergency Shuttle Brig";
|
||||
req_access_txt = "2"
|
||||
},
|
||||
@@ -231,7 +231,7 @@
|
||||
/turf/open/floor/engine,
|
||||
/area/shuttle/escape)
|
||||
"aO" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Emergency Shuttle Airlock";
|
||||
req_access_txt = "2"
|
||||
},
|
||||
@@ -280,7 +280,7 @@
|
||||
name = "Box emergency shuttle";
|
||||
timid = 1
|
||||
},
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Emergency Shuttle Airlock"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
@@ -418,7 +418,7 @@
|
||||
/turf/open/floor/mineral/plastitanium,
|
||||
/area/shuttle/escape)
|
||||
"br" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Emergency Shuttle Airlock"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
@@ -438,7 +438,7 @@
|
||||
/turf/open/floor/mineral/plastitanium,
|
||||
/area/shuttle/escape)
|
||||
"bu" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Emergency Shuttle Cargo"
|
||||
},
|
||||
/turf/open/floor/mineral/plastitanium,
|
||||
@@ -448,7 +448,7 @@
|
||||
/turf/closed/wall,
|
||||
/area/shuttle/escape)
|
||||
"bw" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Emergency Shuttle Infirmary"
|
||||
},
|
||||
/turf/open/floor/mineral/plastitanium,
|
||||
|
||||
@@ -201,7 +201,7 @@
|
||||
desc = "A thin layer of dust coating the floor.";
|
||||
name = "dust"
|
||||
},
|
||||
/obj/machinery/door/airlock/glass_maintenance{
|
||||
/obj/machinery/door/airlock/maintenance/glass{
|
||||
name = "Maintenance"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
@@ -252,7 +252,7 @@
|
||||
},
|
||||
/area/shuttle/abandoned)
|
||||
"aA" = (
|
||||
/obj/machinery/door/airlock/glass_maintenance{
|
||||
/obj/machinery/door/airlock/maintenance/glass{
|
||||
name = "Maintenance"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
@@ -1014,7 +1014,7 @@
|
||||
desc = "A thin layer of dust coating the floor.";
|
||||
name = "dust"
|
||||
},
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
id_tag = null;
|
||||
name = "Infirmary";
|
||||
req_access_txt = "0"
|
||||
@@ -1295,7 +1295,7 @@
|
||||
desc = "A thin layer of dust coating the floor.";
|
||||
name = "dust"
|
||||
},
|
||||
/obj/machinery/door/airlock/glass_engineering{
|
||||
/obj/machinery/door/airlock/engineering/glass{
|
||||
name = "Engineering Storage"
|
||||
},
|
||||
/turf/open/floor/plasteel/neutral/side{
|
||||
@@ -1614,7 +1614,7 @@
|
||||
desc = "A thin layer of dust coating the floor.";
|
||||
name = "dust"
|
||||
},
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
/obj/machinery/door/airlock/command/glass{
|
||||
name = "Bridge";
|
||||
welded = 1
|
||||
},
|
||||
|
||||
@@ -538,7 +538,7 @@
|
||||
/turf/open/floor/pod/dark,
|
||||
/area/shuttle/pirate/vault)
|
||||
"bs" = (
|
||||
/obj/machinery/door/airlock/glass_medical{
|
||||
/obj/machinery/door/airlock/medical/glass{
|
||||
name = "Medbay"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
|
||||
+3
-20
@@ -61,7 +61,7 @@
|
||||
//DNA - Because fuck you and your magic numbers being all over the codebase.
|
||||
#define DNA_BLOCK_SIZE 3
|
||||
|
||||
#define DNA_UNI_IDENTITY_BLOCKS 19
|
||||
#define DNA_UNI_IDENTITY_BLOCKS 19 //CIT CHANGE - adds more DNA blocks for cit's mutant bodyparts. Update citadel_defines.dm if this gets changed.
|
||||
#define DNA_HAIR_COLOR_BLOCK 1
|
||||
#define DNA_FACIAL_HAIR_COLOR_BLOCK 2
|
||||
#define DNA_SKIN_TONE_BLOCK 3
|
||||
@@ -69,19 +69,7 @@
|
||||
#define DNA_GENDER_BLOCK 5
|
||||
#define DNA_FACIAL_HAIR_STYLE_BLOCK 6
|
||||
#define DNA_HAIR_STYLE_BLOCK 7
|
||||
#define DNA_EYE_COLOR_TWO_BLOCK 8
|
||||
#define DNA_EYE_COLOR_SWITCH_BLOCK 9
|
||||
#define DNA_EYE_COLOR_BLOCK 10
|
||||
#define DNA_COLOR_ONE_BLOCK 11
|
||||
#define DNA_COLOR_TWO_BLOCK 12
|
||||
#define DNA_COLOR_THR_BLOCK 13
|
||||
#define DNA_COLOR_SWITCH_BLOCK 14
|
||||
#define DNA_COLOR_SWITCH_MAX 7 //must be (2^(n+1))-1
|
||||
#define DNA_COCK_BLOCK 15
|
||||
#define DNA_MUTANTRACE_BLOCK 16
|
||||
#define DNA_MUTANTTAIL_BLOCK 17
|
||||
#define DNA_MUTANTWING_BLOCK 18
|
||||
#define DNA_WINGCOLOR_BLOCK 19
|
||||
|
||||
#define DNA_STRUC_ENZYMES_BLOCKS 18
|
||||
#define DNA_UNIQUE_ENZYMES_LEN 32
|
||||
|
||||
@@ -127,7 +115,7 @@
|
||||
#define TOXINLOVER 24
|
||||
#define DIGITIGRADE 25 //Uses weird leg sprites. Optional for Lizards, required for ashwalkers. Don't give it to other races unless you make sprites for this (see human_parts_greyscale.dmi)
|
||||
#define NO_UNDERWEAR 26
|
||||
#define NOLIVER 27
|
||||
#define NOLIVER 27
|
||||
#define NOSTOMACH 28
|
||||
#define NO_DNA_COPY 29
|
||||
#define DRINKSBLOOD 30
|
||||
@@ -135,11 +123,6 @@
|
||||
#define SPECIES_INORGANIC 32
|
||||
#define SPECIES_UNDEAD 33
|
||||
#define SPECIES_ROBOTIC 34
|
||||
//citadel code
|
||||
#define MUTCOLORS2 35
|
||||
#define MUTCOLORS3 36
|
||||
#define NOAROUSAL 37 //Stops all arousal effects
|
||||
#define NOGENITALS 38 //Cannot create, use, or otherwise have genitals
|
||||
|
||||
#define ORGAN_SLOT_BRAIN "brain"
|
||||
#define ORGAN_SLOT_APPENDIX "appendix"
|
||||
|
||||
@@ -1,79 +1,5 @@
|
||||
//A set of constants used to determine which type of mute an admin wishes to apply:
|
||||
//Please read and understand the muting/automuting stuff before changing these. MUTE_IC_AUTO etc = (MUTE_IC << 1)
|
||||
//Therefore there needs to be a gap between the flags_1 for the automute flags_1
|
||||
#define MUTE_IC 1
|
||||
#define MUTE_OOC 2
|
||||
#define MUTE_PRAY 4
|
||||
#define MUTE_ADMINHELP 8
|
||||
#define MUTE_DEADCHAT 16
|
||||
#define MUTE_ALL 31
|
||||
|
||||
//Some constants for DB_Ban
|
||||
#define BANTYPE_PERMA 1
|
||||
#define BANTYPE_TEMP 2
|
||||
#define BANTYPE_JOB_PERMA 3
|
||||
#define BANTYPE_JOB_TEMP 4
|
||||
#define BANTYPE_ANY_FULLBAN 5 //used to locate stuff to unban.
|
||||
|
||||
#define BANTYPE_ADMIN_PERMA 7
|
||||
#define BANTYPE_ADMIN_TEMP 8
|
||||
#define BANTYPE_ANY_JOB 9 //used to remove jobbans
|
||||
|
||||
//Please don't edit these values without speaking to Errorage first ~Carn
|
||||
//Admin Permissions
|
||||
#define R_BUILDMODE 1
|
||||
#define R_ADMIN 2
|
||||
#define R_BAN 4
|
||||
#define R_FUN 8
|
||||
#define R_SERVER 16
|
||||
#define R_DEBUG 32
|
||||
#define R_POSSESS 64
|
||||
#define R_PERMISSIONS 128
|
||||
#define R_STEALTH 256
|
||||
#define R_POLL 512
|
||||
#define R_VAREDIT 1024
|
||||
#define R_SOUNDS 2048
|
||||
#define R_SPAWN 4096
|
||||
|
||||
#if DM_VERSION > 512
|
||||
#error Remove the flag below , its been long enough
|
||||
#endif
|
||||
//legacy , remove post 512, it was replaced by R_POLL
|
||||
#define R_REJUVINATE 2
|
||||
|
||||
#define R_MAXPERMISSION 4096 //This holds the maximum value for a permission. It is used in iteration, so keep it updated.
|
||||
|
||||
#define ADMIN_QUE(user) "(<a href='?_src_=holder;adminmoreinfo=\ref[user]'>?</a>)"
|
||||
#define ADMIN_FLW(user) "(<a href='?_src_=holder;adminplayerobservefollow=\ref[user]'>FLW</a>)"
|
||||
#define ADMIN_PP(user) "(<a href='?_src_=holder;adminplayeropts=\ref[user]'>PP</a>)"
|
||||
#define ADMIN_VV(atom) "(<a href='?_src_=vars;Vars=\ref[atom]'>VV</a>)"
|
||||
#define ADMIN_SM(user) "(<a href='?_src_=holder;subtlemessage=\ref[user]'>SM</a>)"
|
||||
#define ADMIN_TP(user) "(<a href='?_src_=holder;traitor=\ref[user]'>TP</a>)"
|
||||
#define ADMIN_KICK(user) "(<a href='?_src_=holder;boot2=\ref[user]'>KICK</a>)"
|
||||
#define ADMIN_CENTCOM_REPLY(user) "(<a href='?_src_=holder;CentComReply=\ref[user]'>RPLY</a>)"
|
||||
#define ADMIN_SYNDICATE_REPLY(user) "(<a href='?_src_=holder;SyndicateReply=\ref[user]'>RPLY</a>)"
|
||||
#define ADMIN_SC(user) "(<a href='?_src_=holder;adminspawncookie=\ref[user]'>SC</a>)"
|
||||
#define ADMIN_SMITE(user) "(<a href='?_src_=holder;adminsmite=\ref[user]'>SMITE</a>)"
|
||||
#define ADMIN_LOOKUP(user) "[key_name_admin(user)][ADMIN_QUE(user)]"
|
||||
#define ADMIN_LOOKUPFLW(user) "[key_name_admin(user)][ADMIN_QUE(user)] [ADMIN_FLW(user)]"
|
||||
#define ADMIN_SET_SD_CODE "(<a href='?_src_=holder;set_selfdestruct_code=1'>SETCODE</a>)"
|
||||
#define ADMIN_FULLMONTY_NONAME(user) "[ADMIN_QUE(user)] [ADMIN_PP(user)] [ADMIN_VV(user)] [ADMIN_SM(user)] [ADMIN_FLW(user)] [ADMIN_TP(user)] [ADMIN_INDIVIDUALLOG(user)] [ADMIN_SMITE(user)]"
|
||||
#define ADMIN_FULLMONTY(user) "[key_name_admin(user)] [ADMIN_FULLMONTY_NONAME(user)]"
|
||||
#define ADMIN_JMP(src) "(<a href='?_src_=holder;adminplayerobservecoodjump=1;X=[src.x];Y=[src.y];Z=[src.z]'>JMP</a>)"
|
||||
#define COORD(src) "[src ? "([src.x],[src.y],[src.z])" : "nonexistent location"]"
|
||||
#define ADMIN_COORDJMP(src) "[src ? "[COORD(src)] [ADMIN_JMP(src)]" : "nonexistent location"]"
|
||||
#define ADMIN_INDIVIDUALLOG(user) "(<a href='?_src_=holder;individuallog=\ref[user]'>LOGS</a>)"
|
||||
|
||||
#define ADMIN_PUNISHMENT_LIGHTNING "Lightning bolt"
|
||||
#define ADMIN_PUNISHMENT_BRAINDAMAGE "Brain damage"
|
||||
#define ADMIN_PUNISHMENT_GIB "Gib"
|
||||
#define ADMIN_PUNISHMENT_BSA "Bluespace Artillery Device"
|
||||
|
||||
#define AHELP_ACTIVE 1
|
||||
#define AHELP_CLOSED 2
|
||||
#define AHELP_RESOLVED 3
|
||||
//A set of constants used to determine which type of mute an admin wishes to apply:
|
||||
//Please read and understand the muting/automuting stuff before changing these. MUTE_IC_AUTO etc = (MUTE_IC << 1)
|
||||
//Therefore there needs to be a gap between the flags for the automute flags
|
||||
#define MUTE_IC 1
|
||||
#define MUTE_OOC 2
|
||||
|
||||
@@ -9,12 +9,12 @@
|
||||
#define ANTAG_DATUM_TRAITOR /datum/antagonist/traitor
|
||||
#define ANTAG_DATUM_TRAITOR_HUMAN /datum/antagonist/traitor/human
|
||||
#define ANTAG_DATUM_TRAITOR_AI /datum/antagonist/traitor/AI
|
||||
#define ANTAG_DATUM_IAA /datum/antagonist/traitor/internal_affairs
|
||||
#define ANTAG_DATUM_IAA /datum/antagonist/traitor/internal_affairs
|
||||
#define ANTAG_DATUM_IAA_HUMAN /datum/antagonist/traitor/human/internal_affairs
|
||||
#define ANTAG_DATUM_IAA_AI /datum/antagonist/traitor/AI/internal_affairs
|
||||
#define ANTAG_DATUM_IAA_AI /datum/antagonist/traitor/AI/internal_affairs
|
||||
#define ANTAG_DATUM_BROTHER /datum/antagonist/brother
|
||||
#define ANTAG_DATUM_ABDUCTOR /datum/antagonist/abductor
|
||||
#define ANTAG_DATUM_ABDUCTOR_SCIENTIST /datum/antagonist/abductor/scientist
|
||||
#define ANTAG_DATUM_ABDUCTOR_AGENT /datum/antagonist/abductor/agent
|
||||
#define ANTAG_DATUM_ABDUCTOR_SCIENTIST /datum/antagonist/abductor/scientist
|
||||
#define ANTAG_DATUM_ABDUCTOR_AGENT /datum/antagonist/abductor/agent
|
||||
#define ANTAG_DATUM_MONKEY /datum/antagonist/monkey
|
||||
#define ANTAG_DATUM_MONKEY_LEADER /datum/antagonist/monkey/leader
|
||||
#define ANTAG_DATUM_MONKEY_LEADER /datum/antagonist/monkey/leader
|
||||
@@ -71,3 +71,31 @@
|
||||
#define ADMIN_MARKREAD(client) "(<a href='?_src_=holder;markedread=\ref[client]'>MARK READ</a>)"//marks an adminhelp as read and under investigation
|
||||
#define ADMIN_IC(client) "(<a href='?_src_=holder;icissue=\ref[client]'>IC</a>)"//marks and adminhelp as an IC issue
|
||||
#define ADMIN_REJECT(client) "(<a href='?_src_=holder;rejectadminhelp=\ref[client]'>REJT</a>)"//Rejects an adminhelp for being unclear or otherwise unhelpful. resets their adminhelp timer
|
||||
|
||||
//Damage stuffs
|
||||
#define AROUSAL "arousal"
|
||||
|
||||
//DNA stuffs. Remember to change this if upstream adds more snowflake options
|
||||
#define DNA_EYE_COLOR_TWO_BLOCK 8
|
||||
#define DNA_EYE_COLOR_SWITCH_BLOCK 9
|
||||
#define DNA_EYE_COLOR_BLOCK 10
|
||||
#define DNA_COLOR_ONE_BLOCK 11
|
||||
#define DNA_COLOR_TWO_BLOCK 12
|
||||
#define DNA_COLOR_THR_BLOCK 13
|
||||
#define DNA_COLOR_SWITCH_BLOCK 14
|
||||
#define DNA_COLOR_SWITCH_MAX 7 //must be (2^(n+1))-1
|
||||
#define DNA_COCK_BLOCK 15
|
||||
#define DNA_MUTANTRACE_BLOCK 16
|
||||
#define DNA_MUTANTTAIL_BLOCK 17
|
||||
#define DNA_MUTANTWING_BLOCK 18
|
||||
#define DNA_WINGCOLOR_BLOCK 19
|
||||
|
||||
|
||||
//Species stuffs. Remember to change this if upstream updates species flags
|
||||
#define MUTCOLORS2 35
|
||||
#define MUTCOLORS3 36
|
||||
#define NOAROUSAL 37 //Stops all arousal effects
|
||||
#define NOGENITALS 38 //Cannot create, use, or otherwise have genitals
|
||||
|
||||
//Brainslugs
|
||||
#define isborer(A) (istype(A, /mob/living/simple_animal/borer))
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
// This is eventualy for wjohn to add more color standardization stuff like I keep asking him >:(
|
||||
|
||||
#define COLOR_INPUT_DISABLED "#F0F0F0"
|
||||
#define COLOR_INPUT_ENABLED "#D3B5B5"
|
||||
@@ -11,9 +11,6 @@
|
||||
#define STAMINA "stamina"
|
||||
#define BRAIN "brain"
|
||||
|
||||
//Citadel code
|
||||
#define AROUSAL "arousal"
|
||||
|
||||
//bitflag damage defines used for suicide_act
|
||||
#define BRUTELOSS 1
|
||||
#define FIRELOSS 2
|
||||
@@ -22,9 +19,6 @@
|
||||
#define SHAME 16
|
||||
#define MANUAL_SUICIDE 32 //suicide_act will do the actual killing.
|
||||
|
||||
//Citadel code
|
||||
#define AROUSAL 32
|
||||
|
||||
#define STUN "stun"
|
||||
#define KNOCKDOWN "knockdown"
|
||||
#define UNCONSCIOUS "unconscious"
|
||||
|
||||
@@ -75,14 +75,6 @@
|
||||
// /obj/item/clothing signals
|
||||
#define COMSIG_SHOES_STEP_ACTION "shoes_step_action" //from base of obj/item/clothing/shoes/proc/step_action(): ()
|
||||
|
||||
// /obj/item signals
|
||||
#define COMSIG_ITEM_ATTACK "item_attack" //from base of obj/item/attack(): (mob/living/target, mob/living/user)
|
||||
#define COMSIG_ITEM_ATTACK_SELF "item_attack_self" //from base of obj/item/attack_self(): (mob)
|
||||
#define COMSIG_ITEM_ATTACK_OBJ "item_attack_obj" //from base of obj/item/attack_obj(): (obj, mob)
|
||||
|
||||
// /obj/item/clothing signals
|
||||
#define COMSIG_SHOES_STEP_ACTION "shoes_step_action" //from base of obj/item/clothing/shoes/proc/step_action(): ()
|
||||
|
||||
// /obj/machinery signals
|
||||
#define COMSIG_MACHINE_PROCESS "machine_process" //from machinery subsystem fire(): ()
|
||||
#define COMSIG_MACHINE_PROCESS_ATMOS "machine_process_atmos" //from air subsystem process_atmos_machinery(): ()
|
||||
|
||||
@@ -22,7 +22,7 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
|
||||
#define ON_BORDER_1 512 // item has priority to check when entering or leaving
|
||||
|
||||
#define NOSLIP_1 1024 //prevents from slipping on wet floors, in space etc
|
||||
#define CLEAN_ON_MOVE_1 2048
|
||||
#define _UNUSED_1 2048
|
||||
|
||||
// BLOCK_GAS_SMOKE_EFFECT_1 only used in masks at the moment.
|
||||
#define BLOCK_GAS_SMOKE_EFFECT_1 4096 // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY!
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
. = SLOT_POCKET
|
||||
|
||||
|
||||
//Bit flags_1 for the flags_inv variable, which determine when a piece of clothing hides another. IE a helmet hiding glasses.
|
||||
//Bit flags for the flags_inv variable, which determine when a piece of clothing hides another. IE a helmet hiding glasses.
|
||||
#define HIDEGLOVES 1
|
||||
#define HIDESUITSTORAGE 2
|
||||
#define HIDEJUMPSUIT 4 //these first four are only used in exterior suits
|
||||
@@ -134,17 +134,17 @@
|
||||
#define THERMAL_PROTECTION_HAND_LEFT 0.025
|
||||
#define THERMAL_PROTECTION_HAND_RIGHT 0.025
|
||||
|
||||
//flags_1 for female outfits: How much the game can safely "take off" the uniform without it looking weird
|
||||
//flags for female outfits: How much the game can safely "take off" the uniform without it looking weird
|
||||
#define NO_FEMALE_UNIFORM 0
|
||||
#define FEMALE_UNIFORM_FULL 1
|
||||
#define FEMALE_UNIFORM_TOP 2
|
||||
|
||||
//flags_1 for alternate styles: These are hard sprited so don't set this if you didn't put the effort in
|
||||
//flags for alternate styles: These are hard sprited so don't set this if you didn't put the effort in
|
||||
#define NORMAL_STYLE 0
|
||||
#define ALT_STYLE 1
|
||||
#define DIGITIGRADE_STYLE 2
|
||||
|
||||
//flags_1 for outfits that have mutantrace variants (try not to use this): Currently only needed if you're trying to add tight fitting bootyshorts
|
||||
//flags for outfits that have mutantrace variants (try not to use this): Currently only needed if you're trying to add tight fitting bootyshorts
|
||||
#define NO_MUTANTRACE_VARIATION 0
|
||||
#define MUTANTRACE_VARIATION 1
|
||||
|
||||
@@ -152,9 +152,9 @@
|
||||
#define FULL_DIGITIGRADE 1
|
||||
#define SQUISHED_DIGITIGRADE 2
|
||||
|
||||
//flags_1 for covering body parts
|
||||
//flags for covering body parts
|
||||
#define GLASSESCOVERSEYES 1
|
||||
#define MASKCOVERSEYES 2 // get rid of some of the other retardation in these flags_1
|
||||
#define MASKCOVERSEYES 2 // get rid of some of the other retardation in these flags
|
||||
#define HEADCOVERSEYES 4 // feel free to realloc these numbers for other purposes
|
||||
#define MASKCOVERSMOUTH 8 // on other items, these are just for mask/head
|
||||
#define HEADCOVERSMOUTH 16
|
||||
@@ -199,7 +199,8 @@ GLOBAL_LIST_INIT(detective_vest_allowed, typecacheof(list(
|
||||
/obj/item/reagent_containers/spray/pepper,
|
||||
/obj/item/restraints/handcuffs,
|
||||
/obj/item/storage/fancy/cigarettes,
|
||||
/obj/item/tank/internals/emergency_oxygen)))
|
||||
/obj/item/tank/internals/emergency_oxygen,
|
||||
/obj/item/tank/internals/plasmaman)))
|
||||
|
||||
GLOBAL_LIST_INIT(security_vest_allowed, typecacheof(list(
|
||||
/obj/item/ammo_box,
|
||||
@@ -212,7 +213,8 @@ GLOBAL_LIST_INIT(security_vest_allowed, typecacheof(list(
|
||||
/obj/item/melee/classic_baton/telescopic,
|
||||
/obj/item/reagent_containers/spray/pepper,
|
||||
/obj/item/restraints/handcuffs,
|
||||
/obj/item/tank/internals/emergency_oxygen)))
|
||||
/obj/item/tank/internals/emergency_oxygen,
|
||||
/obj/item/tank/internals/plasmaman)))
|
||||
|
||||
GLOBAL_LIST_INIT(security_wintercoat_allowed, typecacheof(list(
|
||||
/obj/item/ammo_box,
|
||||
@@ -227,4 +229,5 @@ GLOBAL_LIST_INIT(security_wintercoat_allowed, typecacheof(list(
|
||||
/obj/item/reagent_containers/spray/pepper,
|
||||
/obj/item/restraints/handcuffs,
|
||||
/obj/item/tank/internals/emergency_oxygen,
|
||||
/obj/item/tank/internals/plasmaman,
|
||||
/obj/item/toy)))
|
||||
|
||||
@@ -102,8 +102,6 @@
|
||||
|
||||
#define isrevenant(A) (istype(A, /mob/living/simple_animal/revenant))
|
||||
|
||||
#define isborer(A) (istype(A, /mob/living/simple_animal/borer))
|
||||
|
||||
#define isbot(A) (istype(A, /mob/living/simple_animal/bot))
|
||||
|
||||
#define iscrab(A) (istype(A, /mob/living/simple_animal/crab))
|
||||
|
||||
@@ -49,7 +49,7 @@ Will print: "/mob/living/carbon/human/death" (you can optionally embed it in a s
|
||||
#define FRIDAY_13TH "Friday the 13th"
|
||||
|
||||
//Human Overlays Indexes/////////
|
||||
//citadel code
|
||||
//LOTS OF CIT CHANGES HERE. BE CAREFUL WHEN UPSTREAM ADDS MORE LAYERS
|
||||
#define MUTATIONS_LAYER 30 //mutations. Tk headglows, cold resistance glow, etc
|
||||
#define GENITALS_BEHIND_LAYER 29 //Some genitalia needs to be behind everything, such as with taurs (Taurs use body_behind_layer
|
||||
#define BODY_BEHIND_LAYER 28 //certain mutantrace features (tail when looking south) that must appear behind the body parts
|
||||
|
||||
@@ -1,52 +1,52 @@
|
||||
|
||||
//Preference toggles
|
||||
#define SOUND_ADMINHELP 1
|
||||
#define SOUND_MIDI 2
|
||||
#define SOUND_AMBIENCE 4
|
||||
#define SOUND_LOBBY 8
|
||||
#define MEMBER_PUBLIC 16
|
||||
#define INTENT_STYLE 32
|
||||
#define MIDROUND_ANTAG 64
|
||||
#define SOUND_INSTRUMENTS 128
|
||||
#define SOUND_SHIP_AMBIENCE 256
|
||||
#define SOUND_PRAYERS 512
|
||||
#define ANNOUNCE_LOGIN 1024
|
||||
#define SOUND_ANNOUNCEMENTS 2048
|
||||
#define DISABLE_DEATHRATTLE 4096
|
||||
#define DISABLE_ARRIVALRATTLE 8192
|
||||
|
||||
#define TOGGLES_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|MEMBER_PUBLIC|INTENT_STYLE|MIDROUND_ANTAG|SOUND_INSTRUMENTS|SOUND_SHIP_AMBIENCE|SOUND_PRAYERS|SOUND_ANNOUNCEMENTS)
|
||||
|
||||
//Chat toggles
|
||||
#define CHAT_OOC 1
|
||||
#define CHAT_DEAD 2
|
||||
#define CHAT_GHOSTEARS 4
|
||||
#define CHAT_GHOSTSIGHT 8
|
||||
#define CHAT_PRAYER 16
|
||||
#define CHAT_RADIO 32
|
||||
#define CHAT_PULLR 64
|
||||
#define CHAT_GHOSTWHISPER 128
|
||||
#define CHAT_GHOSTPDA 256
|
||||
#define CHAT_GHOSTRADIO 512
|
||||
#define CHAT_LOOC 1024
|
||||
|
||||
#define TOGGLES_DEFAULT_CHAT (CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|CHAT_PULLR|CHAT_GHOSTWHISPER|CHAT_GHOSTPDA|CHAT_GHOSTRADIO|CHAT_LOOC)
|
||||
|
||||
#define PARALLAX_INSANE -1 //for show offs
|
||||
#define PARALLAX_HIGH 0 //default.
|
||||
#define PARALLAX_MED 1
|
||||
#define PARALLAX_LOW 2
|
||||
#define PARALLAX_DISABLE 3 //this option must be the highest number
|
||||
|
||||
#define PARALLAX_DELAY_DEFAULT world.tick_lag
|
||||
#define PARALLAX_DELAY_MED 1
|
||||
#define PARALLAX_DELAY_LOW 2
|
||||
|
||||
#define SEC_DEPT_NONE "None"
|
||||
#define SEC_DEPT_RANDOM "Random"
|
||||
#define SEC_DEPT_ENGINEERING "Engineering"
|
||||
#define SEC_DEPT_MEDICAL "Medical"
|
||||
#define SEC_DEPT_SCIENCE "Science"
|
||||
|
||||
//Preference toggles
|
||||
#define SOUND_ADMINHELP 1
|
||||
#define SOUND_MIDI 2
|
||||
#define SOUND_AMBIENCE 4
|
||||
#define SOUND_LOBBY 8
|
||||
#define MEMBER_PUBLIC 16
|
||||
#define INTENT_STYLE 32
|
||||
#define MIDROUND_ANTAG 64
|
||||
#define SOUND_INSTRUMENTS 128
|
||||
#define SOUND_SHIP_AMBIENCE 256
|
||||
#define SOUND_PRAYERS 512
|
||||
#define ANNOUNCE_LOGIN 1024
|
||||
#define SOUND_ANNOUNCEMENTS 2048
|
||||
#define DISABLE_DEATHRATTLE 4096
|
||||
#define DISABLE_ARRIVALRATTLE 8192
|
||||
|
||||
#define TOGGLES_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|MEMBER_PUBLIC|INTENT_STYLE|MIDROUND_ANTAG|SOUND_INSTRUMENTS|SOUND_SHIP_AMBIENCE|SOUND_PRAYERS|SOUND_ANNOUNCEMENTS)
|
||||
|
||||
//Chat toggles
|
||||
#define CHAT_OOC 1
|
||||
#define CHAT_DEAD 2
|
||||
#define CHAT_GHOSTEARS 4
|
||||
#define CHAT_GHOSTSIGHT 8
|
||||
#define CHAT_PRAYER 16
|
||||
#define CHAT_RADIO 32
|
||||
#define CHAT_PULLR 64
|
||||
#define CHAT_GHOSTWHISPER 128
|
||||
#define CHAT_GHOSTPDA 256
|
||||
#define CHAT_GHOSTRADIO 512
|
||||
#define CHAT_LOOC 1024
|
||||
|
||||
#define TOGGLES_DEFAULT_CHAT (CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|CHAT_PULLR|CHAT_GHOSTWHISPER|CHAT_GHOSTPDA|CHAT_GHOSTRADIO|CHAT_LOOC)
|
||||
|
||||
#define PARALLAX_INSANE -1 //for show offs
|
||||
#define PARALLAX_HIGH 0 //default.
|
||||
#define PARALLAX_MED 1
|
||||
#define PARALLAX_LOW 2
|
||||
#define PARALLAX_DISABLE 3 //this option must be the highest number
|
||||
|
||||
#define PARALLAX_DELAY_DEFAULT world.tick_lag
|
||||
#define PARALLAX_DELAY_MED 1
|
||||
#define PARALLAX_DELAY_LOW 2
|
||||
|
||||
#define SEC_DEPT_NONE "None"
|
||||
#define SEC_DEPT_RANDOM "Random"
|
||||
#define SEC_DEPT_ENGINEERING "Engineering"
|
||||
#define SEC_DEPT_MEDICAL "Medical"
|
||||
#define SEC_DEPT_SCIENCE "Science"
|
||||
#define SEC_DEPT_SUPPLY "Supply"
|
||||
|
||||
// Playtime tracking system, see jobs_exp.dm
|
||||
|
||||
+55
-4
@@ -1,5 +1,56 @@
|
||||
#define MIN_FREE_FREQ 1201
|
||||
#define MAX_FREE_FREQ 1599
|
||||
// Radios use a large variety of predefined frequencies.
|
||||
|
||||
#define MIN_FREQ 1441
|
||||
#define MAX_FREQ 1489
|
||||
#define MIN_FREE_FREQ 1201 // -------------------------------------------------
|
||||
// Frequencies are always odd numbers and range from 1201 to 1599.
|
||||
|
||||
#define FREQ_SYNDICATE 1213 // Nuke op comms frequency, dark brown
|
||||
#define FREQ_CTF_RED 1215 // CTF red team comms frequency, red
|
||||
#define FREQ_CTF_BLUE 1217 // CTF blue team comms frequency, blue
|
||||
#define FREQ_CENTCOM 1337 // CentCom comms frequency, gray
|
||||
#define FREQ_SUPPLY 1347 // Supply comms frequency, light brown
|
||||
#define FREQ_SERVICE 1349 // Service comms frequency, green
|
||||
#define FREQ_SCIENCE 1351 // Science comms frequency, plum
|
||||
#define FREQ_COMMAND 1353 // Command comms frequency, gold
|
||||
#define FREQ_MEDICAL 1355 // Medical comms frequency, soft blue
|
||||
#define FREQ_ENGINEERING 1357 // Engineering comms frequency, orange
|
||||
#define FREQ_SECURITY 1359 // Security comms frequency, red
|
||||
|
||||
#define FREQ_STATUS_DISPLAYS 1435
|
||||
#define FREQ_ATMOS_ALARMS 1437 // air alarms <-> alert computers
|
||||
#define FREQ_ATMOS_CONTROL 1439 // air alarms <-> vents and scrubbers
|
||||
|
||||
#define MIN_FREQ 1441 // ------------------------------------------------------
|
||||
// Only the 1441 to 1489 range is freely available for general conversation.
|
||||
// This represents 1/8th of the available spectrum.
|
||||
|
||||
#define FREQ_ATMOS_STORAGE 1441
|
||||
#define FREQ_NAV_BEACON 1445
|
||||
#define FREQ_AI_PRIVATE 1447 // AI private comms frequency, magenta
|
||||
#define FREQ_PRESSURE_PLATE 1447
|
||||
#define FREQ_AIRLOCK_CONTROL 1449
|
||||
#define FREQ_ELECTROPACK 1449
|
||||
#define FREQ_MAGNETS 1449
|
||||
#define FREQ_LOCATOR_IMPLANT 1451
|
||||
#define FREQ_SIGNALER 1457 // the default for new signalers
|
||||
#define FREQ_COMMON 1459 // Common comms frequency, dark green
|
||||
|
||||
#define MAX_FREQ 1489 // ------------------------------------------------------
|
||||
|
||||
#define MAX_FREE_FREQ 1599 // -------------------------------------------------
|
||||
|
||||
// Transmission types.
|
||||
#define TRANSMISSION_WIRE 0 // some sort of wired connection, not used
|
||||
#define TRANSMISSION_RADIO 1 // electromagnetic radiation (default)
|
||||
#define TRANSMISSION_SUBSPACE 2 // subspace transmission (headsets only)
|
||||
#define TRANSMISSION_SUPERSPACE 3 // reaches independent (CentCom) radios only
|
||||
|
||||
// Filter types, used as an optimization to avoid unnecessary proc calls.
|
||||
#define RADIO_TO_AIRALARM "to_airalarm"
|
||||
#define RADIO_FROM_AIRALARM "from_airalarm"
|
||||
#define RADIO_SIGNALER "signaler"
|
||||
#define RADIO_ATMOSIA "atmosia"
|
||||
#define RADIO_NAVBEACONS "navbeacons"
|
||||
#define RADIO_AIRLOCK "airlock"
|
||||
#define RADIO_MAGNETS "magnets"
|
||||
|
||||
#define DEFAULT_SIGNALER_CODE 30
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
#define MODE_HOLOPAD "holopad"
|
||||
#define MODE_CHANGELING "changeling"
|
||||
#define MODE_VOCALCORDS "cords"
|
||||
#define MODE_MONKEY "monkeyhive"
|
||||
|
||||
//Spans. Robot speech, italics, etc. Applied in compose_message().
|
||||
#define SPAN_ROBOT "robot"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
//use this define if you want to do configuration outside of this file
|
||||
#ifndef SERVER_TOOLS_EXTERNAL_CONFIGURATION
|
||||
//Comment this out once you've filled in the below
|
||||
//#error /tg/station server tools interface unconfigured
|
||||
#error /tg/station server tools interface unconfigured
|
||||
|
||||
//Required interfaces (fill in with your codebase equivalent):
|
||||
|
||||
|
||||
@@ -61,7 +61,6 @@
|
||||
#define DOCKING_NULL_DESTINATION 8
|
||||
#define DOCKING_NULL_SOURCE 16
|
||||
|
||||
|
||||
//Docking turf movements
|
||||
#define MOVE_TURF 1
|
||||
#define MOVE_AREA 2
|
||||
|
||||
@@ -25,6 +25,6 @@
|
||||
//for clothing visor toggles, these determine which vars to toggle
|
||||
#define VISOR_FLASHPROTECT 1
|
||||
#define VISOR_TINT 2
|
||||
#define VISOR_VISIONFLAGS 4 //all following flags_1 only matter for glasses
|
||||
#define VISOR_VISIONFLAGS 4 //all following flags only matter for glasses
|
||||
#define VISOR_DARKNESSVIEW 8
|
||||
#define VISOR_INVISVIEW 16
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
#define CHANNEL_BUZZ 1017
|
||||
#define CHANNEL_BICYCLE 1016
|
||||
|
||||
//Citadel code
|
||||
//CIT CHANNELS - TRY NOT TO REGRESS
|
||||
#define CHANNEL_PRED 1015
|
||||
#define CHANNEL_PREYLOOP 1014
|
||||
|
||||
//THIS SHOULD ALWAYS BE THE LOWEST ONE!
|
||||
//KEEP IT UPDATED
|
||||
|
||||
#define CHANNEL_HIGHEST_AVAILABLE 1013
|
||||
#define CHANNEL_HIGHEST_AVAILABLE 1013 //CIT CHANGE - COMPENSATES FOR VORESOUND CHANNELS
|
||||
|
||||
|
||||
#define SOUND_MINIMUM_PRESSURE 10
|
||||
|
||||
@@ -46,16 +46,17 @@
|
||||
#define INIT_ORDER_DBCORE 18
|
||||
#define INIT_ORDER_BLACKBOX 17
|
||||
#define INIT_ORDER_SERVER_MAINT 16
|
||||
#define INIT_ORDER_RESEARCH 15
|
||||
#define INIT_ORDER_EVENTS 14
|
||||
#define INIT_ORDER_JOBS 13
|
||||
#define INIT_ORDER_TICKER 12
|
||||
#define INIT_ORDER_MAPPING 11
|
||||
#define INIT_ORDER_ATOMS 10
|
||||
#define INIT_ORDER_NETWORKS 9
|
||||
#define INIT_ORDER_LANGUAGE 8
|
||||
#define INIT_ORDER_MACHINES 7
|
||||
#define INIT_ORDER_CIRCUIT 6
|
||||
#define INIT_ORDER_INPUT 15
|
||||
#define INIT_ORDER_RESEARCH 14
|
||||
#define INIT_ORDER_EVENTS 13
|
||||
#define INIT_ORDER_JOBS 12
|
||||
#define INIT_ORDER_TICKER 11
|
||||
#define INIT_ORDER_MAPPING 10
|
||||
#define INIT_ORDER_ATOMS 9
|
||||
#define INIT_ORDER_NETWORKS 8
|
||||
#define INIT_ORDER_LANGUAGE 7
|
||||
#define INIT_ORDER_MACHINES 6
|
||||
#define INIT_ORDER_CIRCUIT 5
|
||||
#define INIT_ORDER_TIMER 1
|
||||
#define INIT_ORDER_DEFAULT 0
|
||||
#define INIT_ORDER_AIR -1
|
||||
@@ -136,4 +137,4 @@
|
||||
A.overlays.Cut();\
|
||||
}\
|
||||
A.flags_1 &= ~OVERLAY_QUEUED_1;\
|
||||
}
|
||||
}
|
||||
@@ -30,7 +30,7 @@ GLOBAL_VAR_INIT(cmp_field, "name")
|
||||
return sorttext(a.ckey, b.ckey)
|
||||
|
||||
/proc/cmp_subsystem_init(datum/controller/subsystem/a, datum/controller/subsystem/b)
|
||||
return b.init_order - a.init_order
|
||||
return initial(b.init_order) - initial(a.init_order) //uses initial() so it can be used on types
|
||||
|
||||
/proc/cmp_subsystem_display(datum/controller/subsystem/a, datum/controller/subsystem/b)
|
||||
return sorttext(b.name, a.name)
|
||||
@@ -72,4 +72,3 @@ GLOBAL_VAR_INIT(cmp_field, "name")
|
||||
|
||||
/proc/cmp_profile_count_dsc(list/A, list/B)
|
||||
return B[PROFILE_ITEM_COUNT] - A[PROFILE_ITEM_COUNT]
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/legs, GLOB.legs_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/wings, GLOB.r_wings_list,roundstart = TRUE)
|
||||
|
||||
//citadel code
|
||||
//CIT CHANGES START HERE, ADDS SNOWFLAKE BODYPARTS AND MORE
|
||||
//mammal bodyparts (fucking furries)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_body_markings, GLOB.mam_body_markings_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_tails, GLOB.mam_tails_list)
|
||||
@@ -56,7 +56,7 @@
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/vagina, GLOB.vagina_shapes_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/breasts, GLOB.breasts_shapes_list)
|
||||
GLOB.breasts_size_list = list("a","b","c","d","e") //We need the list to choose from initialized, but it's no longer a sprite_accessory thing.
|
||||
|
||||
//END OF CIT CHANGES
|
||||
|
||||
//Species
|
||||
for(var/spath in subtypesof(/datum/species))
|
||||
|
||||
@@ -69,6 +69,7 @@
|
||||
if(!GLOB.wings_list.len)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/wings, GLOB.wings_list)
|
||||
|
||||
//CIT CHANGES - genitals and such
|
||||
if(!GLOB.cock_shapes_list.len)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/penis, GLOB.cock_shapes_list)
|
||||
if(!GLOB.vagina_shapes_list.len)
|
||||
@@ -90,6 +91,7 @@
|
||||
womb = 1
|
||||
breasts = 1 */
|
||||
|
||||
//CIT CHANGE - changes this entire return to support cit's snowflake parts
|
||||
return(list(
|
||||
"mcolor" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
|
||||
"mcolor2" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
|
||||
@@ -473,7 +475,7 @@ Proc for attack log creation, because really why not
|
||||
if(extra_args)
|
||||
new_args += extra_args
|
||||
|
||||
for(var/j in 1 to amount)
|
||||
for(var/j in 1 to amount)
|
||||
var/atom/X = new spawn_type(arglist(new_args))
|
||||
X.admin_spawned = admin_spawn
|
||||
|
||||
|
||||
@@ -121,7 +121,6 @@ GLOBAL_VAR(command_name)
|
||||
return new_station_name
|
||||
|
||||
/proc/syndicate_name()
|
||||
|
||||
var/name = ""
|
||||
|
||||
// Prefix
|
||||
@@ -143,7 +142,7 @@ GLOBAL_VAR(command_name)
|
||||
else
|
||||
name += pick("-", "*", "")
|
||||
name += pick("Tech", "Sun", "Co", "Tek", "X", "Inc", "Gen", "Star", "Dyne", "Code", "Hive")
|
||||
|
||||
|
||||
return name
|
||||
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
|
||||
for(var/mob/M in GLOB.player_list)
|
||||
if(!isnewplayer(M) && M.can_hear())
|
||||
to_chat(M, "<b><font size = 3><font color = red>[title]</font color><BR>[message]</font size></b><BR>")
|
||||
to_chat(M, "<span class='big bold'><font color = red>[title]</font color><BR>[message]</span><BR>")
|
||||
if(M.client.prefs.toggles & SOUND_ANNOUNCEMENTS)
|
||||
if(alert)
|
||||
SEND_SOUND(M, sound('sound/misc/notice1.ogg'))
|
||||
|
||||
@@ -103,10 +103,10 @@
|
||||
if(LAZYLEN(GLOB.round_end_notifiees))
|
||||
send2irc("Notice", "[GLOB.round_end_notifiees.Join(", ")] the round has ended.")
|
||||
|
||||
/*for(var/client/C in GLOB.clients)
|
||||
for(var/client/C in GLOB.clients)
|
||||
if(!C.credits)
|
||||
C.RollCredits()
|
||||
C.playtitlemusic(40)*/
|
||||
C.playtitlemusic(40)
|
||||
|
||||
display_report()
|
||||
|
||||
@@ -434,7 +434,10 @@
|
||||
|
||||
|
||||
/proc/printplayer(datum/mind/ply, fleecheck)
|
||||
var/text = "<b>[ply.key]</b> was <b>[ply.name]</b> the <b>[ply.assigned_role]</b> and"
|
||||
var/jobtext = ""
|
||||
if(ply.assigned_role)
|
||||
jobtext = " the <b>[ply.assigned_role]</b>"
|
||||
var/text = "<b>[ply.key]</b> was <b>[ply.name]</b>[jobtext] and"
|
||||
if(ply.current)
|
||||
if(ply.current.stat == DEAD)
|
||||
text += " <span class='redtext'>died</span>"
|
||||
|
||||
@@ -139,7 +139,6 @@
|
||||
return NORTH
|
||||
|
||||
//returns the north-zero clockwise angle in degrees, given a direction
|
||||
|
||||
/proc/dir2angle(D)
|
||||
switch(D)
|
||||
if(NORTH)
|
||||
|
||||
@@ -199,6 +199,8 @@ Turf and target are separate in case you want to teleport some distance from a t
|
||||
newname = C.prefs.custom_names[role]
|
||||
else
|
||||
switch(role)
|
||||
if("human")
|
||||
newname = random_unique_name(gender)
|
||||
if("clown")
|
||||
newname = pick(GLOB.clown_names)
|
||||
if("mime")
|
||||
@@ -524,7 +526,7 @@ Turf and target are separate in case you want to teleport some distance from a t
|
||||
processing_list.Cut(1, 2)
|
||||
//Byond does not allow things to be in multiple contents, or double parent-child hierarchies, so only += is needed
|
||||
//This is also why we don't need to check against assembled as we go along
|
||||
processing_list += A.contents
|
||||
processing_list += A.contents
|
||||
assembled += A
|
||||
return assembled
|
||||
|
||||
@@ -1487,6 +1489,7 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
|
||||
var/time_low = num2hex(world.time, 3)
|
||||
|
||||
var/time_clock = num2hex(TICK_DELTA_TO_MS(world.tick_usage), 3)
|
||||
|
||||
return "{[time_high]-[time_mid]-[GUID_VERSION][time_low]-[GUID_VARIANT][time_clock]-[node_id]}"
|
||||
|
||||
// \ref behaviour got changed in 512 so this is necesary to replicate old behaviour.
|
||||
|
||||
@@ -104,6 +104,6 @@ GLOBAL_LIST_INIT(maintenance_loot, list(
|
||||
/obj/item/storage/secure/briefcase = 3,
|
||||
/obj/item/storage/toolbox/artistic = 2,
|
||||
/obj/item/toy/eightball = 1,
|
||||
/obj/item/storage/daki = 3,
|
||||
/obj/item/storage/daki = 3, //VERY IMPORTANT CIT CHANGE - adds bodypillows to maint
|
||||
"" = 3
|
||||
))
|
||||
|
||||
@@ -29,4 +29,4 @@ GLOBAL_LIST_EMPTY(bots_list)
|
||||
GLOBAL_LIST_EMPTY(language_datum_instances)
|
||||
GLOBAL_LIST_EMPTY(all_languages)
|
||||
|
||||
GLOBAL_LIST_EMPTY(latejoiners) //All latejoining people, for traitor-target purposes.
|
||||
GLOBAL_LIST_EMPTY(latejoiners) //CIT CHANGE - All latejoining people, for traitor-target purposes.
|
||||
@@ -45,3 +45,4 @@ Be sure to include required js functions in your page, or it'll raise an excepti
|
||||
|
||||
receiver << output(argums,"[control_id]:replaceContent")
|
||||
return
|
||||
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
#define ui_health "EAST-1:28,CENTER-1:15"
|
||||
#define ui_internal "EAST-1:28,CENTER:17"
|
||||
|
||||
//borgs
|
||||
//borgs
|
||||
#define ui_borg_health "EAST-1:28,CENTER-1:15" //borgs have the health display where humans have the pressure damage indicator.
|
||||
|
||||
//aliens
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
#define CREDIT_ROLL_SPEED 125
|
||||
#define CREDIT_SPAWN_SPEED 10
|
||||
#define CREDIT_ANIMATE_HEIGHT (14 * world.icon_size)
|
||||
#define CREDIT_EASE_DURATION 22
|
||||
#define CREDITS_PATH "[GLOB.config_dir]contributors.dmi"
|
||||
|
||||
/client/proc/RollCredits()
|
||||
set waitfor = FALSE
|
||||
if(!fexists(CREDITS_PATH))
|
||||
return
|
||||
var/icon/credits_icon = new(CREDITS_PATH)
|
||||
LAZYINITLIST(credits)
|
||||
var/list/_credits = credits
|
||||
verbs += /client/proc/ClearCredits
|
||||
var/static/list/credit_order_for_this_round
|
||||
if(isnull(credit_order_for_this_round))
|
||||
credit_order_for_this_round = list("Thanks for playing!") + (shuffle(icon_states(credits_icon)) - "Thanks for playing!")
|
||||
for(var/I in credit_order_for_this_round)
|
||||
if(!credits)
|
||||
return
|
||||
_credits += new /obj/screen/credit(null, I, src, credits_icon)
|
||||
sleep(CREDIT_SPAWN_SPEED)
|
||||
sleep(CREDIT_ROLL_SPEED - CREDIT_SPAWN_SPEED)
|
||||
verbs -= /client/proc/ClearCredits
|
||||
qdel(credits_icon)
|
||||
|
||||
/client/proc/ClearCredits()
|
||||
set name = "Hide Credits"
|
||||
set category = "OOC"
|
||||
verbs -= /client/proc/ClearCredits
|
||||
QDEL_LIST(credits)
|
||||
credits = null
|
||||
|
||||
/obj/screen/credit
|
||||
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
|
||||
alpha = 0
|
||||
screen_loc = "12,1"
|
||||
layer = SPLASHSCREEN_LAYER
|
||||
var/client/parent
|
||||
var/matrix/target
|
||||
|
||||
/obj/screen/credit/Initialize(mapload, credited, client/P, icon/I)
|
||||
. = ..()
|
||||
icon = I
|
||||
parent = P
|
||||
icon_state = credited
|
||||
maptext = credited
|
||||
maptext_x = world.icon_size + 8
|
||||
maptext_y = (world.icon_size / 2) - 4
|
||||
maptext_width = world.icon_size * 3
|
||||
var/matrix/M = matrix(transform)
|
||||
M.Translate(0, CREDIT_ANIMATE_HEIGHT)
|
||||
animate(src, transform = M, time = CREDIT_ROLL_SPEED)
|
||||
target = M
|
||||
animate(src, alpha = 255, time = CREDIT_EASE_DURATION, flags = ANIMATION_PARALLEL)
|
||||
addtimer(CALLBACK(src, .proc/FadeOut), CREDIT_ROLL_SPEED - CREDIT_EASE_DURATION)
|
||||
QDEL_IN(src, CREDIT_ROLL_SPEED)
|
||||
P.screen += src
|
||||
|
||||
/obj/screen/credit/Destroy()
|
||||
var/client/P = parent
|
||||
P.screen -= src
|
||||
icon = null
|
||||
LAZYREMOVE(P.credits, src)
|
||||
parent = null
|
||||
return ..()
|
||||
|
||||
/obj/screen/credit/proc/FadeOut()
|
||||
animate(src, alpha = 0, transform = target, time = CREDIT_EASE_DURATION)
|
||||
@@ -1,3 +1,4 @@
|
||||
|
||||
/mob
|
||||
var/list/screens = list()
|
||||
|
||||
@@ -174,4 +175,3 @@
|
||||
layer = LIGHTING_LAYER
|
||||
blend_mode = BLEND_ADD
|
||||
show_when_dead = TRUE
|
||||
|
||||
|
||||
@@ -280,10 +280,11 @@
|
||||
healths = new /obj/screen/healths()
|
||||
infodisplay += healths
|
||||
|
||||
//citadel code
|
||||
//CIT CHANGE - adds arousal to hud
|
||||
arousal = new /obj/screen/arousal()
|
||||
arousal.icon_state = (owner.canbearoused == 1 ? "arousal0" : "")
|
||||
infodisplay += arousal
|
||||
//END OF CIT CHANGES
|
||||
|
||||
healthdoll = new /obj/screen/healthdoll()
|
||||
infodisplay += healthdoll
|
||||
|
||||
@@ -60,8 +60,6 @@
|
||||
var/pref = C.prefs.parallax
|
||||
if (isnull(pref))
|
||||
pref = PARALLAX_HIGH
|
||||
if (C.byond_version < 511)
|
||||
pref = PARALLAX_DISABLE
|
||||
switch(C.prefs.parallax)
|
||||
if (PARALLAX_INSANE)
|
||||
C.parallax_throttle = FALSE
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
SendSignal(COMSIG_ITEM_ATTACK, M, user)
|
||||
if(flags_1 & NOBLUDGEON_1)
|
||||
return
|
||||
|
||||
|
||||
if(force && user.has_disability(DISABILITY_PACIFISM))
|
||||
to_chat(user, "<span class='warning'>You don't want to harm other living beings!</span>")
|
||||
return
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
var/mob/living/carbon/tk_user = null
|
||||
|
||||
/obj/item/tk_grab/Initialize()
|
||||
..()
|
||||
. = ..()
|
||||
START_PROCESSING(SSfastprocess, src)
|
||||
|
||||
/obj/item/tk_grab/Destroy()
|
||||
|
||||
@@ -53,8 +53,9 @@
|
||||
. = !(IsAdminAdvancedProcCall() && GLOB.LastAdminCalledProc == "ValidateAndSet" && GLOB.LastAdminCalledTargetRef == "[REF(src)]")
|
||||
if(!.)
|
||||
log_admin_private("Config set of [type] to [str_val] attempted by [key_name(usr)]")
|
||||
|
||||
|
||||
/datum/config_entry/proc/ValidateAndSet(str_val)
|
||||
VASProcCallGuard(str_val)
|
||||
CRASH("Invalid config entry type!")
|
||||
|
||||
/datum/config_entry/proc/ValidateKeyedList(str_val, list_mode, splitter)
|
||||
@@ -78,12 +79,12 @@
|
||||
if(LIST_MODE_TEXT)
|
||||
temp = key_value
|
||||
continue_check = temp
|
||||
if(continue_check && ValidateKeyName(key_name))
|
||||
if(continue_check && ValidateListEntry(key_name, temp))
|
||||
value[key_name] = temp
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/datum/config_entry/proc/ValidateKeyName(key_name)
|
||||
/datum/config_entry/proc/ValidateListEntry(key_name, key_value)
|
||||
return TRUE
|
||||
|
||||
/datum/config_entry/string
|
||||
@@ -95,6 +96,8 @@
|
||||
return var_name != "auto_trim" && ..()
|
||||
|
||||
/datum/config_entry/string/ValidateAndSet(str_val)
|
||||
if(!VASProcCallGuard(str_val))
|
||||
return FALSE
|
||||
value = auto_trim ? trim(str_val) : str_val
|
||||
return TRUE
|
||||
|
||||
@@ -106,6 +109,8 @@
|
||||
var/min_val = -INFINITY
|
||||
|
||||
/datum/config_entry/number/ValidateAndSet(str_val)
|
||||
if(!VASProcCallGuard(str_val))
|
||||
return FALSE
|
||||
var/temp = text2num(trim(str_val))
|
||||
if(!isnull(temp))
|
||||
value = CLAMP(integer ? round(temp) : temp, min_val, max_val)
|
||||
@@ -123,6 +128,8 @@
|
||||
abstract_type = /datum/config_entry/flag
|
||||
|
||||
/datum/config_entry/flag/ValidateAndSet(str_val)
|
||||
if(!VASProcCallGuard(str_val))
|
||||
return FALSE
|
||||
value = text2num(trim(str_val)) != 0
|
||||
return TRUE
|
||||
|
||||
@@ -131,6 +138,8 @@
|
||||
value = list()
|
||||
|
||||
/datum/config_entry/number_list/ValidateAndSet(str_val)
|
||||
if(!VASProcCallGuard(str_val))
|
||||
return FALSE
|
||||
str_val = trim(str_val)
|
||||
var/list/new_list = list()
|
||||
var/list/values = splittext(str_val," ")
|
||||
@@ -150,6 +159,8 @@
|
||||
dupes_allowed = TRUE
|
||||
|
||||
/datum/config_entry/keyed_flag_list/ValidateAndSet(str_val)
|
||||
if(!VASProcCallGuard(str_val))
|
||||
return FALSE
|
||||
return ValidateKeyedList(str_val, LIST_MODE_FLAG, " ")
|
||||
|
||||
/datum/config_entry/keyed_number_list
|
||||
@@ -162,6 +173,8 @@
|
||||
return var_name != "splitter" && ..()
|
||||
|
||||
/datum/config_entry/keyed_number_list/ValidateAndSet(str_val)
|
||||
if(!VASProcCallGuard(str_val))
|
||||
return FALSE
|
||||
return ValidateKeyedList(str_val, LIST_MODE_NUM, splitter)
|
||||
|
||||
/datum/config_entry/keyed_string_list
|
||||
@@ -174,6 +187,8 @@
|
||||
return var_name != "splitter" && ..()
|
||||
|
||||
/datum/config_entry/keyed_string_list/ValidateAndSet(str_val)
|
||||
if(!VASProcCallGuard(str_val))
|
||||
return FALSE
|
||||
return ValidateKeyedList(str_val, LIST_MODE_TEXT, splitter)
|
||||
|
||||
#undef LIST_MODE_NUM
|
||||
|
||||
@@ -97,19 +97,13 @@ GLOBAL_PROTECT(config_dir)
|
||||
|
||||
if(!entry)
|
||||
continue
|
||||
if(entry == "$include")
|
||||
if(!value)
|
||||
log_config("Warning: Invalid $include directive: [value]")
|
||||
else
|
||||
LoadEntries(value, stack)
|
||||
++.
|
||||
continue
|
||||
|
||||
if(entry == "$include")
|
||||
if(!value)
|
||||
log_config("Warning: Invalid $include directive: [value]")
|
||||
else
|
||||
LoadEntries(value, stack)
|
||||
++.
|
||||
continue
|
||||
|
||||
var/datum/config_entry/E = _entries[entry]
|
||||
|
||||
@@ -2,13 +2,21 @@
|
||||
protection = CONFIG_ENTRY_HIDDEN
|
||||
|
||||
/datum/config_entry/string/comms_key/ValidateAndSet(str_val)
|
||||
return str_val != "default_pwd" && length(str_val) > 6 && ..()
|
||||
return str_val != "default_pwd" && length(str_val) > 6 && ..()
|
||||
|
||||
/datum/config_entry/keyed_string_list/cross_server
|
||||
protection = CONFIG_ENTRY_LOCKED
|
||||
|
||||
/datum/config_entry/string/cross_server_address/ValidateAndSet(str_val)
|
||||
return str_val != "byond:\\address:port" && ..()
|
||||
/datum/config_entry/keyed_string_list/cross_server/ValidateAndSet(str_val)
|
||||
. = ..()
|
||||
if(.)
|
||||
var/list/newv = list()
|
||||
for(var/I in value)
|
||||
newv[replacetext(I, "+", " ")] = value[I]
|
||||
value = newv
|
||||
|
||||
/datum/config_entry/keyed_string_list/cross_server/ValidateListEntry(key_name, key_value)
|
||||
return key_value != "byond:\\address:port" && ..()
|
||||
|
||||
/datum/config_entry/string/cross_comms_name
|
||||
|
||||
@@ -17,4 +25,4 @@ GLOBAL_VAR_INIT(medals_enabled, TRUE) //will be auto set to false if the game fa
|
||||
/datum/config_entry/string/medal_hub_address
|
||||
|
||||
/datum/config_entry/string/medal_hub_password
|
||||
protection = CONFIG_ENTRY_HIDDEN
|
||||
protection = CONFIG_ENTRY_HIDDEN
|
||||
@@ -2,27 +2,27 @@
|
||||
|
||||
/datum/config_entry/keyed_number_list/probability
|
||||
|
||||
/datum/config_entry/keyed_number_list/probability/ValidateKeyName(key_name)
|
||||
/datum/config_entry/keyed_number_list/probability/ValidateListEntry(key_name)
|
||||
return key_name in config.modes
|
||||
|
||||
/datum/config_entry/keyed_number_list/max_pop
|
||||
|
||||
/datum/config_entry/keyed_number_list/max_pop/ValidateKeyName(key_name)
|
||||
/datum/config_entry/keyed_number_list/max_pop/ValidateListEntry(key_name)
|
||||
return key_name in config.modes
|
||||
|
||||
/datum/config_entry/keyed_number_list/min_pop
|
||||
|
||||
/datum/config_entry/keyed_number_list/min_pop/ValidateKeyName(key_name)
|
||||
/datum/config_entry/keyed_number_list/min_pop/ValidateListEntry(key_name, key_value)
|
||||
return key_name in config.modes
|
||||
|
||||
/datum/config_entry/keyed_flag_list/continuous // which roundtypes continue if all antagonists die
|
||||
|
||||
/datum/config_entry/keyed_flag_list/continuous/ValidateKeyName(key_name)
|
||||
/datum/config_entry/keyed_flag_list/continuous/ValidateListEntry(key_name, key_value)
|
||||
return key_name in config.modes
|
||||
|
||||
/datum/config_entry/keyed_flag_list/midround_antag // which roundtypes use the midround antagonist system
|
||||
|
||||
/datum/config_entry/keyed_flag_list/midround_antag/ValidateKeyName(key_name)
|
||||
/datum/config_entry/keyed_flag_list/midround_antag/ValidateListEntry(key_name, key_value)
|
||||
return key_name in config.modes
|
||||
|
||||
/datum/config_entry/keyed_string_list/policy
|
||||
|
||||
@@ -394,4 +394,4 @@ SUBSYSTEM_DEF(air)
|
||||
#undef SSAIR_EXCITEDGROUPS
|
||||
#undef SSAIR_HIGHPRESSURE
|
||||
#undef SSAIR_HOTSPOT
|
||||
#undef SSAIR_SUPERCONDUCTIVITY
|
||||
#undef SSAIR_SUPERCONDUCTIVITY
|
||||
|
||||
@@ -8,11 +8,10 @@ SUBSYSTEM_DEF(blackbox)
|
||||
var/list/feedback = list() //list of datum/feedback_variable
|
||||
var/triggertime = 0
|
||||
var/sealed = FALSE //time to stop tracking stats?
|
||||
var/list/research_levels = list() //list of highest tech levels attained that isn't lost lost by destruction of RD computers
|
||||
var/list/versions = list("time_dilation_current" = 2,
|
||||
"science_techweb_unlock" = 2,
|
||||
"antagonists" = 3) //associative list of any feedback variables that have had their format changed since creation and their current version, remember to update this
|
||||
|
||||
var/list/versions = list("antagonists" = 3,
|
||||
"admin_secrets_fun_used" = 2,
|
||||
"time_dilation_current" = 3,
|
||||
"science_techweb_unlock" = 2) //associative list of any feedback variables that have had their format changed since creation and their current version, remember to update this
|
||||
|
||||
/datum/controller/subsystem/blackbox/Initialize()
|
||||
triggertime = world.time
|
||||
@@ -59,13 +58,11 @@ SUBSYSTEM_DEF(blackbox)
|
||||
/datum/controller/subsystem/blackbox/Shutdown()
|
||||
sealed = FALSE
|
||||
record_feedback("tally", "ahelp_stats", GLOB.ahelp_tickets.active_tickets.len, "unresolved")
|
||||
for (var/obj/machinery/message_server/MS in GLOB.message_servers)
|
||||
for (var/obj/machinery/telecomms/message_server/MS in GLOB.telecomms_list)
|
||||
if (MS.pda_msgs.len)
|
||||
record_feedback("tally", "radio_usage", MS.pda_msgs.len, "PDA")
|
||||
if (MS.rc_msgs.len)
|
||||
record_feedback("tally", "radio_usage", MS.rc_msgs.len, "request console")
|
||||
if(research_levels.len)
|
||||
SSblackbox.record_feedback("associative", "high_research_level", 1, research_levels)
|
||||
|
||||
if (!SSdbcore.Connect())
|
||||
return
|
||||
@@ -92,39 +89,35 @@ SUBSYSTEM_DEF(blackbox)
|
||||
sealed = TRUE
|
||||
return TRUE
|
||||
|
||||
/datum/controller/subsystem/blackbox/proc/log_research(tech, level)
|
||||
if(!(tech in research_levels) || research_levels[tech] < level)
|
||||
research_levels[tech] = level
|
||||
|
||||
/datum/controller/subsystem/blackbox/proc/LogBroadcast(freq)
|
||||
if(sealed)
|
||||
return
|
||||
switch(freq)
|
||||
if(1459)
|
||||
if(FREQ_COMMON)
|
||||
record_feedback("tally", "radio_usage", 1, "common")
|
||||
if(GLOB.SCI_FREQ)
|
||||
if(FREQ_SCIENCE)
|
||||
record_feedback("tally", "radio_usage", 1, "science")
|
||||
if(GLOB.COMM_FREQ)
|
||||
if(FREQ_COMMAND)
|
||||
record_feedback("tally", "radio_usage", 1, "command")
|
||||
if(GLOB.MED_FREQ)
|
||||
if(FREQ_MEDICAL)
|
||||
record_feedback("tally", "radio_usage", 1, "medical")
|
||||
if(GLOB.ENG_FREQ)
|
||||
if(FREQ_ENGINEERING)
|
||||
record_feedback("tally", "radio_usage", 1, "engineering")
|
||||
if(GLOB.SEC_FREQ)
|
||||
if(FREQ_SECURITY)
|
||||
record_feedback("tally", "radio_usage", 1, "security")
|
||||
if(GLOB.SYND_FREQ)
|
||||
if(FREQ_SYNDICATE)
|
||||
record_feedback("tally", "radio_usage", 1, "syndicate")
|
||||
if(GLOB.SERV_FREQ)
|
||||
if(FREQ_SERVICE)
|
||||
record_feedback("tally", "radio_usage", 1, "service")
|
||||
if(GLOB.SUPP_FREQ)
|
||||
if(FREQ_SUPPLY)
|
||||
record_feedback("tally", "radio_usage", 1, "supply")
|
||||
if(GLOB.CENTCOM_FREQ)
|
||||
if(FREQ_CENTCOM)
|
||||
record_feedback("tally", "radio_usage", 1, "centcom")
|
||||
if(GLOB.AIPRIV_FREQ)
|
||||
if(FREQ_AI_PRIVATE)
|
||||
record_feedback("tally", "radio_usage", 1, "ai private")
|
||||
if(GLOB.REDTEAM_FREQ)
|
||||
if(FREQ_CTF_RED)
|
||||
record_feedback("tally", "radio_usage", 1, "CTF red team")
|
||||
if(GLOB.BLUETEAM_FREQ)
|
||||
if(FREQ_CTF_BLUE)
|
||||
record_feedback("tally", "radio_usage", 1, "CTF blue team")
|
||||
else
|
||||
record_feedback("tally", "radio_usage", 1, "other")
|
||||
@@ -194,7 +187,7 @@ Versioning
|
||||
"gun_fired" = 2)
|
||||
*/
|
||||
/datum/controller/subsystem/blackbox/proc/record_feedback(key_type, key, increment, data, overwrite)
|
||||
if(sealed || !key_type || !istext(key) || !isnum(increment || !data))
|
||||
if(sealed || !key_type || !istext(key) || !isnum(increment) || !data)
|
||||
return
|
||||
var/datum/feedback_variable/FV = find_feedback_datum(key, key_type)
|
||||
switch(key_type)
|
||||
|
||||
@@ -41,4 +41,3 @@ SUBSYSTEM_DEF(idlenpcpool)
|
||||
SA.consider_wakeup()
|
||||
if (MC_TICK_CHECK)
|
||||
return
|
||||
|
||||
|
||||
@@ -1,10 +1,101 @@
|
||||
SUBSYSTEM_DEF(input)
|
||||
name = "Input"
|
||||
wait = 1 //SS_TICKER means this runs every tick
|
||||
flags = SS_TICKER | SS_NO_INIT
|
||||
init_order = INIT_ORDER_INPUT
|
||||
flags = SS_TICKER
|
||||
priority = FIRE_PRIORITY_INPUT
|
||||
runlevels = RUNLEVELS_DEFAULT | RUNLEVEL_LOBBY
|
||||
|
||||
var/list/macro_sets
|
||||
|
||||
/datum/controller/subsystem/input/Initialize()
|
||||
setup_default_macro_sets()
|
||||
|
||||
initialized = TRUE
|
||||
|
||||
refresh_client_macro_sets()
|
||||
|
||||
return ..()
|
||||
|
||||
// This is for when macro sets are eventualy datumized
|
||||
/datum/controller/subsystem/input/proc/setup_default_macro_sets()
|
||||
var/list/static/default_macro_sets
|
||||
|
||||
if(default_macro_sets)
|
||||
macro_sets = default_macro_sets
|
||||
return
|
||||
|
||||
default_macro_sets = list(
|
||||
"default" = list(
|
||||
"Tab" = "\".winset \\\"input.focus=true?map.focus=true input.background-color=[COLOR_INPUT_DISABLED]:input.focus=true input.background-color=[COLOR_INPUT_ENABLED]\\\"\"",
|
||||
"O" = "ooc",
|
||||
"T" = "say",
|
||||
"M" = "me",
|
||||
"Back" = "\".winset \\\"input.text=\\\"\\\"\\\"\"", // This makes it so backspace can remove default inputs
|
||||
"Any" = "\"KeyDown \[\[*\]\]\"",
|
||||
"Any+UP" = "\"KeyUp \[\[*\]\]\"",
|
||||
),
|
||||
"old_default" = list(
|
||||
"Tab" = "\".winset \\\"mainwindow.macro=old_hotkeys map.focus=true input.background-color=[COLOR_INPUT_DISABLED]\\\"\"",
|
||||
"Ctrl+T" = "say",
|
||||
"Ctrl+O" = "ooc",
|
||||
),
|
||||
"old_hotkeys" = list(
|
||||
"Tab" = "\".winset \\\"mainwindow.macro=old_default input.focus=true input.background-color=[COLOR_INPUT_ENABLED]\\\"\"",
|
||||
"O" = "ooc",
|
||||
"T" = "say",
|
||||
"M" = "me",
|
||||
"Back" = "\".winset \\\"input.text=\\\"\\\"\\\"\"", // This makes it so backspace can remove default inputs
|
||||
"Any" = "\"KeyDown \[\[*\]\]\"",
|
||||
"Any+UP" = "\"KeyUp \[\[*\]\]\"",
|
||||
),
|
||||
)
|
||||
|
||||
// Because i'm lazy and don't want to type all these out twice
|
||||
var/list/old_default = default_macro_sets["old_default"]
|
||||
|
||||
var/list/static/oldmode_keys = list(
|
||||
"North", "East", "South", "West",
|
||||
"Northeast", "Southeast", "Northwest", "Southwest",
|
||||
"Insert", "Delete", "Ctrl", "Alt",
|
||||
"F1", "F2", "F5", "F6", "F7", "F8", "F12",
|
||||
)
|
||||
|
||||
for(var/i in 1 to oldmode_keys.len)
|
||||
var/key = oldmode_keys[i]
|
||||
old_default[key] = "\"KeyDown [key]\""
|
||||
old_default["[key]+UP"] = "\"KeyUp [key]\""
|
||||
|
||||
var/list/static/oldmode_ctrl_override_keys = list(
|
||||
"W" = "W", "A" = "A", "S" = "S", "D" = "D", // movement
|
||||
"1" = "1", "2" = "2", "3" = "3", "4" = "4", // intent
|
||||
"B" = "B", // resist
|
||||
"E" = "E", // quick equip
|
||||
"F" = "F", // intent left
|
||||
"G" = "G", // intent right
|
||||
"H" = "H", // stop pulling
|
||||
"Q" = "Q", // drop
|
||||
"R" = "R", // throw
|
||||
"X" = "X", // switch hands
|
||||
"Y" = "Y", // activate item
|
||||
"Z" = "Z", // activate item
|
||||
)
|
||||
|
||||
for(var/i in 1 to oldmode_ctrl_override_keys.len)
|
||||
var/key = oldmode_ctrl_override_keys[i]
|
||||
var/override = oldmode_ctrl_override_keys[key]
|
||||
old_default["Ctrl+[key]"] = "\"KeyDown [override]\""
|
||||
old_default["Ctrl+[key]+UP"] = "\"KeyUp [override]\""
|
||||
|
||||
macro_sets = default_macro_sets
|
||||
|
||||
// Badmins just wanna have fun ♪
|
||||
/datum/controller/subsystem/input/proc/refresh_client_macro_sets()
|
||||
var/list/clients = GLOB.clients
|
||||
for(var/i in 1 to clients.len)
|
||||
var/client/user = clients[i]
|
||||
user.set_macros()
|
||||
|
||||
/datum/controller/subsystem/input/fire()
|
||||
var/list/clients = GLOB.clients // Let's sing the list cache song
|
||||
for(var/i in 1 to clients.len)
|
||||
|
||||
@@ -107,9 +107,6 @@ SUBSYSTEM_DEF(job)
|
||||
if(player.mind && job.title in player.mind.restricted_roles)
|
||||
Debug("FOC incompatible with antagonist role, Player: [player]")
|
||||
continue
|
||||
if(CONFIG_GET(flag/enforce_human_authority) && !player.client.prefs.pref_species.qualifies_for_rank(job.title, player.client.prefs.features))
|
||||
Debug("FOC non-human failed, Player: [player]")
|
||||
continue
|
||||
if(player.client.prefs.GetJobDepartment(job, level) & job.flag)
|
||||
Debug("FOC pass, Player: [player], Level:[level]")
|
||||
candidates += player
|
||||
@@ -144,11 +141,6 @@ SUBSYSTEM_DEF(job)
|
||||
Debug("GRJ incompatible with antagonist role, Player: [player], Job: [job.title]")
|
||||
continue
|
||||
|
||||
if(CONFIG_GET(flag/enforce_human_authority) && !player.client.prefs.pref_species.qualifies_for_rank(job.title, player.client.prefs.features))
|
||||
Debug("GRJ non-human failed, Player: [player]")
|
||||
continue
|
||||
|
||||
|
||||
if((job.current_positions < job.spawn_positions) || job.spawn_positions == -1)
|
||||
Debug("GRJ Random job given, Player: [player], Job: [job]")
|
||||
if(AssignRole(player, job.title))
|
||||
@@ -319,10 +311,6 @@ SUBSYSTEM_DEF(job)
|
||||
Debug("DO incompatible with antagonist role, Player: [player], Job:[job.title]")
|
||||
continue
|
||||
|
||||
if(CONFIG_GET(flag/enforce_human_authority) && !player.client.prefs.pref_species.qualifies_for_rank(job.title, player.client.prefs.features))
|
||||
Debug("DO non-human failed, Player: [player], Job:[job.title]")
|
||||
continue
|
||||
|
||||
// If the player wants that job on this level, then try give it to him.
|
||||
if(player.client.prefs.GetJobDepartment(job, level) & job.flag)
|
||||
|
||||
@@ -424,7 +412,8 @@ SUBSYSTEM_DEF(job)
|
||||
|
||||
if(job && H)
|
||||
job.after_spawn(H, M)
|
||||
handle_roundstart_items(H, M.ckey, H.mind.assigned_role, H.mind.special_role)
|
||||
handle_roundstart_items(H, M.ckey, H.mind.assigned_role, H.mind.special_role) //CIT CHANGE - makes donators spawn with their items
|
||||
|
||||
return H
|
||||
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ SUBSYSTEM_DEF(lighting)
|
||||
|
||||
create_all_lighting_objects()
|
||||
initialized = TRUE
|
||||
|
||||
|
||||
fire(FALSE, TRUE)
|
||||
|
||||
..()
|
||||
|
||||
@@ -62,4 +62,4 @@ SUBSYSTEM_DEF(machines)
|
||||
if (istype(SSmachines.processing))
|
||||
processing = SSmachines.processing
|
||||
if (istype(SSmachines.powernets))
|
||||
powernets = SSmachines.powernets
|
||||
powernets = SSmachines.powernets
|
||||
|
||||
@@ -135,12 +135,12 @@ SUBSYSTEM_DEF(npcpool)
|
||||
|
||||
if(facCount == 1 && helpProb)
|
||||
helpProb = 100
|
||||
|
||||
|
||||
if(prob(helpProb) && candidate.takeDelegate(check,FALSE))
|
||||
--canBeUsed.len
|
||||
candidate.eye_color = "yellow"
|
||||
candidate.update_icons()
|
||||
|
||||
|
||||
if(!currentrun.len || MC_TICK_CHECK) //don't change SS state if it isn't necessary
|
||||
return
|
||||
|
||||
|
||||
@@ -40,3 +40,5 @@ SUBSYSTEM_DEF(orbit)
|
||||
O.Check(targetloc)
|
||||
if (MC_TICK_CHECK)
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -250,4 +250,4 @@ SUBSYSTEM_DEF(persistence)
|
||||
var/list/file_data = list()
|
||||
file_data["data"] = saved_modes
|
||||
fdel(json_file)
|
||||
WRITE_FILE(json_file, json_encode(file_data))
|
||||
WRITE_FILE(json_file, json_encode(file_data))
|
||||
|
||||
@@ -14,35 +14,22 @@ SUBSYSTEM_DEF(radio)
|
||||
/datum/controller/subsystem/radio/proc/add_object(obj/device, new_frequency as num, filter = null as text|null)
|
||||
var/f_text = num2text(new_frequency)
|
||||
var/datum/radio_frequency/frequency = frequencies[f_text]
|
||||
|
||||
if(!frequency)
|
||||
frequency = new
|
||||
frequency.frequency = new_frequency
|
||||
frequencies[f_text] = frequency
|
||||
|
||||
frequencies[f_text] = frequency = new(new_frequency)
|
||||
frequency.add_listener(device, filter)
|
||||
return frequency
|
||||
|
||||
/datum/controller/subsystem/radio/proc/remove_object(obj/device, old_frequency)
|
||||
var/f_text = num2text(old_frequency)
|
||||
var/datum/radio_frequency/frequency = frequencies[f_text]
|
||||
|
||||
if(frequency)
|
||||
frequency.remove_listener(device)
|
||||
|
||||
if(frequency.devices.len == 0)
|
||||
qdel(frequency)
|
||||
frequencies -= f_text
|
||||
|
||||
// let's don't delete frequencies in case a non-listener keeps a reference
|
||||
return 1
|
||||
|
||||
/datum/controller/subsystem/radio/proc/return_frequency(new_frequency as num)
|
||||
var/f_text = num2text(new_frequency)
|
||||
var/datum/radio_frequency/frequency = frequencies[f_text]
|
||||
|
||||
if(!frequency)
|
||||
frequency = new
|
||||
frequency.frequency = new_frequency
|
||||
frequencies[f_text] = frequency
|
||||
|
||||
frequencies[f_text] = frequency = new(new_frequency)
|
||||
return frequency
|
||||
|
||||
@@ -54,6 +54,7 @@ SUBSYSTEM_DEF(research)
|
||||
bitcoins = single_server_income
|
||||
break //Just need one to work.
|
||||
var/income_time_difference = world.time - last_income
|
||||
science_tech.last_bitcoins = bitcoins // Doesn't take tick drift into account
|
||||
bitcoins *= income_time_difference / 10
|
||||
science_tech.research_points += bitcoins
|
||||
last_income = world.time
|
||||
|
||||
@@ -54,7 +54,7 @@ SUBSYSTEM_DEF(shuttle)
|
||||
|
||||
var/lockdown = FALSE //disallow transit after nuke goes off
|
||||
|
||||
var/auto_call = 99000 //time before in deciseconds in which the shuttle is auto called. Default is 2½ hours plus 15 for the shuttle. So total is 3.
|
||||
var/auto_call = 99000 //CIT CHANGE - time before in deciseconds in which the shuttle is auto called. Default is 2½ hours plus 15 for the shuttle. So total is 3.
|
||||
|
||||
/datum/controller/subsystem/shuttle/Initialize(timeofday)
|
||||
if(!arrivals)
|
||||
@@ -158,7 +158,7 @@ SUBSYSTEM_DEF(shuttle)
|
||||
break
|
||||
|
||||
/datum/controller/subsystem/shuttle/proc/CheckAutoEvac()
|
||||
if(emergencyNoEscape || emergencyNoRecall || !emergency)
|
||||
if(emergencyNoEscape || emergencyNoRecall || !emergency || !SSticker.HasRoundStarted())
|
||||
return
|
||||
|
||||
var/threshold = CONFIG_GET(number/emergency_shuttle_autocall_threshold)
|
||||
@@ -262,7 +262,7 @@ SUBSYSTEM_DEF(shuttle)
|
||||
|
||||
if(!admiral_message)
|
||||
admiral_message = pick(GLOB.admiral_messages)
|
||||
var/intercepttext = "<font size = 3><b>NanoTrasen Update</b>: Request For Shuttle.</font><hr>\
|
||||
var/intercepttext = "<font size = 3><b>Nanotrasen Update</b>: Request For Shuttle.</font><hr>\
|
||||
To whom it may concern:<br><br>\
|
||||
We have taken note of the situation upon [station_name()] and have come to the \
|
||||
conclusion that it does not warrant the abandonment of the station.<br>\
|
||||
@@ -387,7 +387,7 @@ SUBSYSTEM_DEF(shuttle)
|
||||
emergency.setTimer(emergencyDockTime)
|
||||
priority_announce("Hostile environment resolved. \
|
||||
You have 3 minutes to board the Emergency Shuttle.",
|
||||
null, 'sound/AI/shuttledock.ogg', "Priority")
|
||||
null, 'sound/ai/shuttledock.ogg', "Priority")
|
||||
|
||||
//try to move/request to dockHome if possible, otherwise dockAway. Mainly used for admin buttons
|
||||
/datum/controller/subsystem/shuttle/proc/toggleShuttle(shuttleId, dockHome, dockAway, timed)
|
||||
@@ -431,7 +431,8 @@ SUBSYSTEM_DEF(shuttle)
|
||||
if(!(M in transit_requesters))
|
||||
transit_requesters += M
|
||||
|
||||
/datum/controller/subsystem/shuttle/proc/autoEnd()
|
||||
|
||||
/datum/controller/subsystem/shuttle/proc/autoEnd() //CIT CHANGE - allows shift to end after 3 hours has passed.
|
||||
if(world.time > auto_call && EMERGENCY_IDLE_OR_RECALLED) //3 hours
|
||||
SSshuttle.emergency.request(null, 1.5)
|
||||
priority_announce("The shift has come to an end and the shuttle called.")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// The Squeak
|
||||
// because this is about placement of mice mobs, and nothing to do with
|
||||
// mice - the computer peripheral
|
||||
// mice - the computer peripheral
|
||||
|
||||
SUBSYSTEM_DEF(squeak)
|
||||
name = "Squeak"
|
||||
|
||||
@@ -27,6 +27,6 @@ SUBSYSTEM_DEF(stickyban)
|
||||
ban["existing_user_matches_this_round"] = list()
|
||||
ban["admin_matches_this_round"] = list()
|
||||
cache[ckey] = ban
|
||||
|
||||
|
||||
for (var/bannedckey in cache)
|
||||
world.SetConfig("ban", bannedckey, list2stickyban(cache[bannedckey]))
|
||||
|
||||
@@ -631,6 +631,7 @@ SUBSYSTEM_DEF(ticker)
|
||||
world.Reboot()
|
||||
|
||||
/datum/controller/subsystem/ticker/Shutdown()
|
||||
gather_newscaster() //called here so we ensure the log is created even upon admin reboot
|
||||
if(!round_end_sound)
|
||||
round_end_sound = pick(\
|
||||
'sound/roundend/newroundsexy.ogg',
|
||||
|
||||
@@ -35,4 +35,4 @@ SUBSYSTEM_DEF(time_track)
|
||||
last_tick_realtime = current_realtime
|
||||
last_tick_byond_time = current_byondtime
|
||||
last_tick_tickcount = current_tickcount
|
||||
SSblackbox.record_feedback("associative", "time_dilation_current", 1, list("[time_dilation_current]" = "[SQLtime()]"))
|
||||
SSblackbox.record_feedback("associative", "time_dilation_current", 1, list("[SQLtime()]" = list("current" = "[time_dilation_current]", "avg_fast" = "[time_dilation_avg_fast]", "avg" = "[time_dilation_avg]", "avg_slow" = "[time_dilation_avg_slow]")))
|
||||
|
||||
@@ -411,4 +411,4 @@ SUBSYSTEM_DEF(timer)
|
||||
|
||||
|
||||
#undef BUCKET_LEN
|
||||
#undef BUCKET_POS
|
||||
#undef BUCKET_POS
|
||||
+16
-2
@@ -170,14 +170,15 @@
|
||||
..(current_button)
|
||||
else if(target && current_button.appearance_cache != target.appearance) //replace with /ref comparison if this is not valid.
|
||||
var/obj/item/I = target
|
||||
current_button.appearance_cache = I.appearance
|
||||
var/old_layer = I.layer
|
||||
var/old_plane = I.plane
|
||||
I.layer = FLOAT_LAYER //AAAH
|
||||
I.plane = FLOAT_PLANE //^ what that guy said
|
||||
current_button.overlays = list(I)
|
||||
current_button.cut_overlays()
|
||||
current_button.add_overlay(I)
|
||||
I.layer = old_layer
|
||||
I.plane = old_plane
|
||||
current_button.appearance_cache = I.appearance
|
||||
|
||||
/datum/action/item_action/toggle_light
|
||||
name = "Toggle Light"
|
||||
@@ -344,6 +345,19 @@
|
||||
/datum/action/item_action/change
|
||||
name = "Change"
|
||||
|
||||
/datum/action/item_action/nano_picket_sign
|
||||
name = "Retext Nano Picket Sign"
|
||||
var/obj/item/picket_sign/S
|
||||
|
||||
/datum/action/item_action/nano_picket_sign/New(Target)
|
||||
..()
|
||||
if(istype(Target, /obj/item/picket_sign))
|
||||
S = Target
|
||||
|
||||
/datum/action/item_action/nano_picket_sign/Trigger()
|
||||
if(istype(S))
|
||||
S.retext(owner)
|
||||
|
||||
/datum/action/item_action/adjust
|
||||
|
||||
/datum/action/item_action/adjust/New(Target)
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
|
||||
|
||||
/datum/action/item_action/flightsuit
|
||||
icon_icon = 'icons/mob/actions/actions_flightsuit.dmi'
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
. = ..()
|
||||
|
||||
/datum/antagonist/changeling/on_removal()
|
||||
remove_changeling_powers(FALSE)
|
||||
remove_changeling_powers()
|
||||
owner.objectives -= objectives
|
||||
. = ..()
|
||||
|
||||
@@ -100,11 +100,11 @@
|
||||
chem_recharge_slowdown = initial(chem_recharge_slowdown)
|
||||
mimicing = ""
|
||||
|
||||
/datum/antagonist/changeling/proc/remove_changeling_powers(keep_free_powers=0)
|
||||
/datum/antagonist/changeling/proc/remove_changeling_powers()
|
||||
if(ishuman(owner.current) || ismonkey(owner.current))
|
||||
reset_properties()
|
||||
for(var/obj/effect/proc_holder/changeling/p in purchasedpowers)
|
||||
if((p.dna_cost == 0 && keep_free_powers) || p.always_keep)
|
||||
if(p.always_keep)
|
||||
continue
|
||||
purchasedpowers -= p
|
||||
p.on_refund(owner.current)
|
||||
@@ -116,13 +116,13 @@
|
||||
|
||||
/datum/antagonist/changeling/proc/reset_powers()
|
||||
if(purchasedpowers)
|
||||
remove_changeling_powers(TRUE)
|
||||
//Purchase free powers.
|
||||
remove_changeling_powers()
|
||||
//Repurchase free powers.
|
||||
for(var/path in all_powers)
|
||||
var/obj/effect/proc_holder/changeling/S = new path()
|
||||
if(!S.dna_cost)
|
||||
if(!has_sting(S))
|
||||
purchasedpowers+=S
|
||||
purchasedpowers += S
|
||||
S.on_purchase(owner.current,TRUE)
|
||||
|
||||
/datum/antagonist/changeling/proc/has_sting(obj/effect/proc_holder/changeling/power)
|
||||
@@ -223,7 +223,6 @@
|
||||
if(verbose)
|
||||
to_chat(user, "<span class='warning'>[target] is not compatible with our biology.</span>")
|
||||
return
|
||||
|
||||
if((target.has_disability(DISABILITY_NOCLONE)) || (target.has_disability(DISABILITY_NOCLONE)))
|
||||
if(verbose)
|
||||
to_chat(user, "<span class='warning'>DNA of [target] is ruined beyond usability!</span>")
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user