Merge branch 'master' into job-menu-improvements
@@ -41,24 +41,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/bar)
|
||||
"aad" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/airalarm{
|
||||
pixel_y = 23
|
||||
},
|
||||
/obj/machinery/button/door{
|
||||
id = "Dorm4";
|
||||
name = "Dorm Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_x = 25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
"aae" = (
|
||||
/obj/effect/landmark/carpspawn,
|
||||
/turf/open/space,
|
||||
@@ -595,19 +577,6 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/security/execution/transfer)
|
||||
"abz" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/button/door{
|
||||
id = "Dorm5";
|
||||
name = "Cabin Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_y = -25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/dorms)
|
||||
"abA" = (
|
||||
/obj/machinery/light,
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
|
||||
@@ -2149,55 +2118,6 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/fore/secondary)
|
||||
"aeD" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/button/door{
|
||||
id = "Dorm6";
|
||||
name = "Cabin Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_y = -25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/dorms)
|
||||
"aeE" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/airalarm{
|
||||
pixel_y = 23
|
||||
},
|
||||
/obj/machinery/button/door{
|
||||
id = "Dorm3";
|
||||
name = "Dorm Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_x = 25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
"aeF" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/airalarm{
|
||||
pixel_y = 23
|
||||
},
|
||||
/obj/machinery/button/door{
|
||||
id = "Dorm2";
|
||||
name = "Dorm Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_x = 25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
"aeG" = (
|
||||
/obj/structure/cable,
|
||||
/obj/machinery/power/solar{
|
||||
@@ -2574,11 +2494,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/security/main)
|
||||
"afn" = (
|
||||
/obj/structure/bed,
|
||||
/obj/item/bedsheet/medical,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/virology)
|
||||
"afo" = (
|
||||
/obj/machinery/door/airlock/external{
|
||||
name = "Escape Pod Three"
|
||||
@@ -2599,14 +2514,6 @@
|
||||
},
|
||||
/turf/open/space/basic,
|
||||
/area/space)
|
||||
"afq" = (
|
||||
/obj/structure/bed,
|
||||
/obj/item/tank/internals/anesthetic,
|
||||
/obj/item/clothing/mask/breath,
|
||||
/obj/effect/decal/cleanable/semen,
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/bar)
|
||||
"aft" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/general/visible{
|
||||
dir = 5
|
||||
@@ -7503,6 +7410,24 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/fore/secondary)
|
||||
"aqn" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/airalarm{
|
||||
pixel_y = 23
|
||||
},
|
||||
/obj/machinery/button/door{
|
||||
id = "Dorm4";
|
||||
name = "Dorm Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_x = 25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
"aqo" = (
|
||||
/obj/structure/chair/stool{
|
||||
pixel_y = 8
|
||||
@@ -8283,6 +8208,19 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/fitness)
|
||||
"asu" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/button/door{
|
||||
id = "Dorm5";
|
||||
name = "Cabin Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_y = -25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/dorms)
|
||||
"asv" = (
|
||||
/obj/structure/table,
|
||||
/obj/effect/spawner/lootdrop/maintenance{
|
||||
@@ -8374,6 +8312,19 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/port/fore)
|
||||
"asL" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/button/door{
|
||||
id = "Dorm6";
|
||||
name = "Cabin Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_y = -25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/dorms)
|
||||
"asM" = (
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
|
||||
@@ -8980,6 +8931,24 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/fitness)
|
||||
"auw" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/airalarm{
|
||||
pixel_y = 23
|
||||
},
|
||||
/obj/machinery/button/door{
|
||||
id = "Dorm3";
|
||||
name = "Dorm Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_x = 25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
"aux" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
@@ -10846,6 +10815,24 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ai_monitored/storage/eva)
|
||||
"ayV" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/airalarm{
|
||||
pixel_y = 23
|
||||
},
|
||||
/obj/machinery/button/door{
|
||||
id = "Dorm2";
|
||||
name = "Dorm Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_x = 25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
"ayW" = (
|
||||
/turf/closed/wall,
|
||||
/area/ai_monitored/storage/eva)
|
||||
@@ -31259,6 +31246,9 @@
|
||||
/obj/effect/turf_decal/tile/brown{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/keycard_auth{
|
||||
pixel_y = 25
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/quartermaster/qm)
|
||||
"bvH" = (
|
||||
@@ -39377,6 +39367,11 @@
|
||||
/obj/machinery/announcement_system,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/tcommsat/computer)
|
||||
"bOm" = (
|
||||
/obj/structure/bed,
|
||||
/obj/item/bedsheet/medical,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/virology)
|
||||
"bOn" = (
|
||||
/obj/machinery/light{
|
||||
dir = 1
|
||||
@@ -56671,12 +56666,6 @@
|
||||
/obj/item/stock_parts/cell/high,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/science/circuit)
|
||||
"eef" = (
|
||||
/obj/machinery/autolathe{
|
||||
name = "public autolathe"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/quartermaster/office)
|
||||
"evR" = (
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/bar)
|
||||
@@ -56912,6 +56901,12 @@
|
||||
/obj/item/pen,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/science/circuit)
|
||||
"ium" = (
|
||||
/mob/living/simple_animal/bot/cleanbot{
|
||||
name = "C.L.E.A.N."
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/medbay/central)
|
||||
"izv" = (
|
||||
/obj/machinery/vending/clothing,
|
||||
/obj/machinery/light/small{
|
||||
@@ -57146,12 +57141,6 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/construction/mining/aux_base)
|
||||
"lKX" = (
|
||||
/mob/living/simple_animal/bot/cleanbot{
|
||||
name = "C.L.E.A.N."
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/medbay/central)
|
||||
"lMg" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 9
|
||||
@@ -57383,6 +57372,14 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/construction)
|
||||
"rMN" = (
|
||||
/obj/structure/bed,
|
||||
/obj/item/tank/internals/anesthetic,
|
||||
/obj/item/clothing/mask/breath,
|
||||
/obj/effect/decal/cleanable/semen,
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/bar)
|
||||
"rNc" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 6
|
||||
@@ -57594,6 +57591,12 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/science/circuit)
|
||||
"urE" = (
|
||||
/obj/machinery/autolathe{
|
||||
name = "public autolathe"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/quartermaster/office)
|
||||
"usO" = (
|
||||
/obj/machinery/vending/snack/random,
|
||||
/obj/machinery/light/small{
|
||||
@@ -79853,7 +79856,7 @@ sAM
|
||||
imH
|
||||
evR
|
||||
evR
|
||||
afq
|
||||
rMN
|
||||
bCq
|
||||
bUs
|
||||
bLv
|
||||
@@ -81615,7 +81618,7 @@ cNG
|
||||
cNJ
|
||||
bLF
|
||||
aZK
|
||||
eef
|
||||
urE
|
||||
bbR
|
||||
bqt
|
||||
cBq
|
||||
@@ -88517,13 +88520,13 @@ aoD
|
||||
aod
|
||||
aqe
|
||||
arf
|
||||
aad
|
||||
aqn
|
||||
ath
|
||||
arf
|
||||
aeE
|
||||
auw
|
||||
ath
|
||||
arf
|
||||
aeF
|
||||
ayV
|
||||
ath
|
||||
dgz
|
||||
aCd
|
||||
@@ -90317,7 +90320,7 @@ cSA
|
||||
aqe
|
||||
arf
|
||||
ari
|
||||
abz
|
||||
asu
|
||||
aun
|
||||
auW
|
||||
avR
|
||||
@@ -91345,7 +91348,7 @@ apr
|
||||
aqj
|
||||
arf
|
||||
ark
|
||||
aeD
|
||||
asL
|
||||
aun
|
||||
avu
|
||||
awt
|
||||
@@ -94210,7 +94213,7 @@ blm
|
||||
bmL
|
||||
boi
|
||||
bpw
|
||||
lKX
|
||||
ium
|
||||
bsx
|
||||
btX
|
||||
bvj
|
||||
@@ -96541,7 +96544,7 @@ bof
|
||||
fTg
|
||||
bLV
|
||||
bNd
|
||||
afn
|
||||
bOm
|
||||
bPp
|
||||
bQF
|
||||
bRN
|
||||
@@ -98347,7 +98350,7 @@ bRQ
|
||||
bOr
|
||||
bSQ
|
||||
bWj
|
||||
afn
|
||||
bOm
|
||||
bXc
|
||||
bYe
|
||||
bNd
|
||||
@@ -98861,7 +98864,7 @@ bRQ
|
||||
bOr
|
||||
bSQ
|
||||
bWj
|
||||
afn
|
||||
bOm
|
||||
bXc
|
||||
bYe
|
||||
bNd
|
||||
|
||||
@@ -124,22 +124,6 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/crew_quarters/abandoned_gambling_den)
|
||||
"aaq" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/status_display{
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/item/bedsheet/clown,
|
||||
/turf/open/floor/plasteel/grimy,
|
||||
/area/hallway/secondary/service)
|
||||
"aar" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/status_display{
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/item/bedsheet/mime,
|
||||
/turf/open/floor/wood,
|
||||
/area/hallway/secondary/service)
|
||||
"aas" = (
|
||||
/obj/docking_port/stationary/random{
|
||||
id = "pod_lavaland1";
|
||||
@@ -159,52 +143,6 @@
|
||||
/obj/effect/landmark/xeno_spawn,
|
||||
/turf/open/space,
|
||||
/area/solar/starboard/fore)
|
||||
"aav" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/light{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/status_display{
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
"aaw" = (
|
||||
/obj/structure/bed,
|
||||
/obj/effect/decal/cleanable/dirt{
|
||||
desc = "A thin layer of dust coating the floor.";
|
||||
name = "dust"
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/dorms)
|
||||
"aax" = (
|
||||
/obj/structure/bed,
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/dorms)
|
||||
"aay" = (
|
||||
/obj/structure/bed,
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/plasteel/grimy,
|
||||
/area/crew_quarters/dorms)
|
||||
"aaz" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/light,
|
||||
/obj/machinery/status_display{
|
||||
pixel_y = -32
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
"aaA" = (
|
||||
/obj/structure/bed,
|
||||
/obj/item/tank/internals/anesthetic,
|
||||
/obj/item/clothing/mask/breath,
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/plating,
|
||||
/area/crew_quarters/abandoned_gambling_den)
|
||||
"aaE" = (
|
||||
/obj/structure/lattice/catwalk,
|
||||
/turf/open/space,
|
||||
@@ -1072,6 +1010,10 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"aez" = (
|
||||
/obj/machinery/keycard_auth,
|
||||
/turf/closed/wall,
|
||||
/area/quartermaster/qm)
|
||||
"aeB" = (
|
||||
/obj/machinery/status_display,
|
||||
/turf/closed/wall,
|
||||
@@ -13768,6 +13710,14 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/grimy,
|
||||
/area/hallway/secondary/service)
|
||||
"aDF" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/status_display{
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/item/bedsheet/clown,
|
||||
/turf/open/floor/plasteel/grimy,
|
||||
/area/hallway/secondary/service)
|
||||
"aDG" = (
|
||||
/turf/open/floor/plasteel/grimy,
|
||||
/area/hallway/secondary/service)
|
||||
@@ -16922,6 +16872,14 @@
|
||||
},
|
||||
/turf/open/floor/wood,
|
||||
/area/hallway/secondary/service)
|
||||
"aIP" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/status_display{
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/item/bedsheet/mime,
|
||||
/turf/open/floor/wood,
|
||||
/area/hallway/secondary/service)
|
||||
"aIQ" = (
|
||||
/obj/structure/dresser,
|
||||
/turf/open/floor/wood{
|
||||
@@ -79006,6 +78964,17 @@
|
||||
/obj/structure/dresser,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
"cCi" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/light{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/status_display{
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
"cCj" = (
|
||||
/obj/structure/closet/secure_closet/personal/cabinet,
|
||||
/obj/item/clothing/suit/jacket{
|
||||
@@ -81023,10 +80992,24 @@
|
||||
icon_state = "wood-broken2"
|
||||
},
|
||||
/area/crew_quarters/dorms)
|
||||
"cFx" = (
|
||||
/obj/structure/bed,
|
||||
/obj/effect/decal/cleanable/dirt{
|
||||
desc = "A thin layer of dust coating the floor.";
|
||||
name = "dust"
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/dorms)
|
||||
"cFy" = (
|
||||
/obj/item/twohanded/required/kirbyplants/random,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/dorms)
|
||||
"cFz" = (
|
||||
/obj/structure/bed,
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/dorms)
|
||||
"cFA" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/flashlight/lamp/green,
|
||||
@@ -88896,6 +88879,11 @@
|
||||
/obj/structure/chair/office/dark,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/dorms)
|
||||
"cTc" = (
|
||||
/obj/structure/bed,
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/plasteel/grimy,
|
||||
/area/crew_quarters/dorms)
|
||||
"cTd" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/fancy/donut_box,
|
||||
@@ -90092,6 +90080,15 @@
|
||||
},
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/dorms)
|
||||
"cUX" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/light,
|
||||
/obj/machinery/status_display{
|
||||
pixel_y = -32
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
"cUY" = (
|
||||
/obj/structure/closet/secure_closet/personal/cabinet,
|
||||
/obj/item/clothing/suit/jacket{
|
||||
@@ -127214,6 +127211,13 @@
|
||||
dir = 1
|
||||
},
|
||||
/area/science/circuit)
|
||||
"poI" = (
|
||||
/obj/structure/bed,
|
||||
/obj/item/tank/internals/anesthetic,
|
||||
/obj/item/clothing/mask/breath,
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/plating,
|
||||
/area/crew_quarters/abandoned_gambling_den)
|
||||
"psi" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/bodycontainer/morgue{
|
||||
@@ -151680,7 +151684,7 @@ djm
|
||||
fow
|
||||
dod
|
||||
dod
|
||||
aaA
|
||||
poI
|
||||
dfY
|
||||
ajr
|
||||
aad
|
||||
@@ -160834,11 +160838,11 @@ ary
|
||||
aAf
|
||||
aBu
|
||||
aCB
|
||||
aaq
|
||||
aDF
|
||||
aEJ
|
||||
aFV
|
||||
aDI
|
||||
aar
|
||||
aIP
|
||||
aKo
|
||||
aLE
|
||||
aMX
|
||||
@@ -174465,7 +174469,7 @@ aaa
|
||||
aaa
|
||||
aad
|
||||
aQQ
|
||||
aQQ
|
||||
aez
|
||||
aUp
|
||||
aVY
|
||||
aXE
|
||||
@@ -178374,7 +178378,7 @@ cyY
|
||||
cAx
|
||||
cCd
|
||||
cDD
|
||||
aaw
|
||||
cFx
|
||||
cGU
|
||||
cAw
|
||||
cJl
|
||||
@@ -178382,7 +178386,7 @@ cLa
|
||||
cMx
|
||||
cIi
|
||||
cPR
|
||||
aax
|
||||
cFz
|
||||
cDG
|
||||
cUW
|
||||
cAw
|
||||
@@ -179155,7 +179159,7 @@ cNU
|
||||
cDI
|
||||
cFB
|
||||
cDI
|
||||
aaz
|
||||
cUX
|
||||
cAw
|
||||
cYj
|
||||
cZV
|
||||
@@ -179402,7 +179406,7 @@ czc
|
||||
cAw
|
||||
cCg
|
||||
cDG
|
||||
aax
|
||||
cFz
|
||||
cGW
|
||||
cIi
|
||||
cJo
|
||||
@@ -180171,7 +180175,7 @@ bHq
|
||||
cxt
|
||||
coI
|
||||
cAw
|
||||
aav
|
||||
cCi
|
||||
cDI
|
||||
cFB
|
||||
cDI
|
||||
@@ -180439,7 +180443,7 @@ cMB
|
||||
cIi
|
||||
cPW
|
||||
cRv
|
||||
aay
|
||||
cTc
|
||||
cVb
|
||||
cAw
|
||||
cYp
|
||||
|
||||
@@ -2,58 +2,10 @@
|
||||
"aaa" = (
|
||||
/turf/open/space/basic,
|
||||
/area/space)
|
||||
"aab" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/button/door{
|
||||
id = "Cabin3";
|
||||
name = "Cabin Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_x = 25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/effect/decal/cleanable/cobweb/cobweb2,
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/dorms)
|
||||
"aac" = (
|
||||
/obj/effect/landmark/carpspawn,
|
||||
/turf/open/space,
|
||||
/area/space)
|
||||
"aad" = (
|
||||
/obj/machinery/light/small{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/decal/cleanable/cobweb,
|
||||
/obj/machinery/button/door{
|
||||
id = "Cabin4";
|
||||
name = "Cabin Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_x = -25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
|
||||
/obj/structure/bed,
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
"aae" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/button/door{
|
||||
id = "Cabin2";
|
||||
name = "Cabin Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_x = 25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
"aaf" = (
|
||||
/obj/structure/lattice,
|
||||
/turf/open/space,
|
||||
@@ -300,19 +252,6 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/security/prison)
|
||||
"aaM" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/button/door{
|
||||
id = "Cabin5";
|
||||
name = "Dorm Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_x = -25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/dorms)
|
||||
"aaN" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-2"
|
||||
@@ -355,37 +294,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/security/prison)
|
||||
"aaU" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/button/door{
|
||||
id = "Cabin6";
|
||||
name = "Dorm Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_x = -25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/effect/decal/cleanable/cobweb,
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
"aaV" = (
|
||||
/obj/machinery/button/door{
|
||||
id = "Cabin7";
|
||||
name = "Door Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_x = -25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/dorms)
|
||||
"aaY" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
@@ -10233,6 +10141,22 @@
|
||||
/obj/item/clothing/under/assistantformal,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/dorms)
|
||||
"asV" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/button/door{
|
||||
id = "Cabin3";
|
||||
name = "Cabin Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_x = 25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/effect/decal/cleanable/cobweb/cobweb2,
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/dorms)
|
||||
"asW" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
@@ -10271,6 +10195,23 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/dorms)
|
||||
"ata" = (
|
||||
/obj/machinery/light/small{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/decal/cleanable/cobweb,
|
||||
/obj/machinery/button/door{
|
||||
id = "Cabin4";
|
||||
name = "Cabin Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_x = -25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
|
||||
/obj/structure/bed,
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
"atb" = (
|
||||
/obj/structure/closet/secure_closet/personal/cabinet,
|
||||
/obj/machinery/airalarm{
|
||||
@@ -11951,6 +11892,21 @@
|
||||
/obj/item/clothing/under/suit_jacket/tan,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
"awE" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/button/door{
|
||||
id = "Cabin2";
|
||||
name = "Cabin Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_x = 25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
"awF" = (
|
||||
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
|
||||
dir = 4
|
||||
@@ -11964,6 +11920,19 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/dorms)
|
||||
"awG" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/button/door{
|
||||
id = "Cabin5";
|
||||
name = "Dorm Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_x = -25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/dorms)
|
||||
"awH" = (
|
||||
/obj/machinery/newscaster{
|
||||
pixel_y = 32
|
||||
@@ -15014,6 +14983,22 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/dorms)
|
||||
"aCJ" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/button/door{
|
||||
id = "Cabin6";
|
||||
name = "Dorm Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_x = -25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/effect/decal/cleanable/cobweb,
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
"aCK" = (
|
||||
/obj/structure/closet/secure_closet/personal/cabinet,
|
||||
/obj/machinery/airalarm{
|
||||
@@ -17590,6 +17575,21 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/dorms)
|
||||
"aHS" = (
|
||||
/obj/machinery/button/door{
|
||||
id = "Cabin7";
|
||||
name = "Door Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_x = -25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/dorms)
|
||||
"aHT" = (
|
||||
/obj/structure/chair/wood/normal{
|
||||
dir = 4
|
||||
@@ -20373,6 +20373,9 @@
|
||||
/obj/effect/turf_decal/tile/brown{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/keycard_auth{
|
||||
pixel_y = 23
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/quartermaster/qm)
|
||||
"aNS" = (
|
||||
@@ -120053,10 +120056,10 @@ agz
|
||||
aoV
|
||||
dhs
|
||||
arB
|
||||
aab
|
||||
asV
|
||||
auf
|
||||
arB
|
||||
aae
|
||||
awE
|
||||
axE
|
||||
arB
|
||||
dhA
|
||||
@@ -121595,19 +121598,19 @@ anK
|
||||
aoZ
|
||||
aqk
|
||||
arB
|
||||
aad
|
||||
ata
|
||||
aul
|
||||
avp
|
||||
aaM
|
||||
awG
|
||||
axJ
|
||||
avp
|
||||
aAj
|
||||
arB
|
||||
aaU
|
||||
aCJ
|
||||
aEe
|
||||
arB
|
||||
boS
|
||||
aaV
|
||||
aHS
|
||||
aJh
|
||||
aKt
|
||||
aLW
|
||||
|
||||
@@ -2,126 +2,12 @@
|
||||
"aaa" = (
|
||||
/turf/open/space/basic,
|
||||
/area/space)
|
||||
"aab" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/button/door{
|
||||
id = "Dorm3Shutters";
|
||||
name = "Privacy Shutters Control";
|
||||
pixel_y = 26
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/dorms)
|
||||
"aac" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/button/door{
|
||||
id = "Dorm2Shutters";
|
||||
name = "Privacy Shutters Control";
|
||||
pixel_y = 26;
|
||||
req_access_txt = "0"
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
"aad" = (
|
||||
/obj/effect/spawner/lootdrop/maintenance,
|
||||
/turf/open/floor/plating{
|
||||
icon_state = "platingdmg3"
|
||||
},
|
||||
/area/maintenance/department/science)
|
||||
"aae" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/button/door{
|
||||
id = "Dorm1Shutters";
|
||||
name = "Privacy Shutters Control";
|
||||
pixel_y = 26;
|
||||
req_access_txt = "0"
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/plasteel/grimy,
|
||||
/area/crew_quarters/dorms)
|
||||
"aaf" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 1;
|
||||
id = "garbage"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/disposal)
|
||||
"aag" = (
|
||||
/obj/machinery/mineral/stacking_unit_console{
|
||||
dir = 2;
|
||||
machinedir = 8;
|
||||
pixel_x = -32;
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/machinery/conveyor{
|
||||
dir = 4;
|
||||
id = "garbagestacked"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/disposal)
|
||||
"aah" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 4;
|
||||
id = "garbagestacked"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/disposal)
|
||||
"aai" = (
|
||||
/obj/machinery/light/small{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/conveyor{
|
||||
dir = 1;
|
||||
id = "garbage"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/disposal)
|
||||
"aaj" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 8;
|
||||
id = "garbage"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/disposal)
|
||||
"aak" = (
|
||||
/obj/machinery/recycler,
|
||||
/obj/machinery/conveyor{
|
||||
dir = 4;
|
||||
id = "garbage"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/disposal)
|
||||
"aal" = (
|
||||
/obj/structure/chair/comfy/black,
|
||||
/obj/structure/sign/plaques/kiddie{
|
||||
desc = "An embossed piece of paper from the Third University of Harvard.";
|
||||
name = "\improper 'Diploma' frame";
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/machinery/light/small{
|
||||
dir = 1;
|
||||
light_color = "#ffc1c1"
|
||||
},
|
||||
/obj/effect/landmark/start/lawyer,
|
||||
/turf/open/floor/wood,
|
||||
/area/lawoffice)
|
||||
"aam" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 4;
|
||||
id = "garbage"
|
||||
},
|
||||
/obj/structure/disposaloutlet{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/disposalpipe/trunk{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/disposal)
|
||||
"abf" = (
|
||||
/obj/structure/bed,
|
||||
/turf/open/floor/plating,
|
||||
@@ -8719,6 +8605,16 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/crew_quarters/dorms)
|
||||
"ave" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/button/door{
|
||||
id = "Dorm3Shutters";
|
||||
name = "Privacy Shutters Control";
|
||||
pixel_y = 26
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/dorms)
|
||||
"avf" = (
|
||||
/obj/machinery/light/small{
|
||||
dir = 1
|
||||
@@ -10162,6 +10058,17 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/crew_quarters/dorms)
|
||||
"ayj" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/button/door{
|
||||
id = "Dorm2Shutters";
|
||||
name = "Privacy Shutters Control";
|
||||
pixel_y = 26;
|
||||
req_access_txt = "0"
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
"ayk" = (
|
||||
/obj/machinery/light/small{
|
||||
dir = 1
|
||||
@@ -11609,6 +11516,17 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/crew_quarters/dorms)
|
||||
"aBM" = (
|
||||
/obj/structure/bed,
|
||||
/obj/machinery/button/door{
|
||||
id = "Dorm1Shutters";
|
||||
name = "Privacy Shutters Control";
|
||||
pixel_y = 26;
|
||||
req_access_txt = "0"
|
||||
},
|
||||
/obj/effect/spawner/lootdrop/bedsheet,
|
||||
/turf/open/floor/plasteel/grimy,
|
||||
/area/crew_quarters/dorms)
|
||||
"aBN" = (
|
||||
/obj/machinery/light/small{
|
||||
dir = 1
|
||||
@@ -16769,6 +16687,13 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/disposal)
|
||||
"aNV" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 4;
|
||||
id = "garbagestacked"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/disposal)
|
||||
"aNX" = (
|
||||
/obj/machinery/disposal/deliveryChute{
|
||||
dir = 8
|
||||
@@ -17255,6 +17180,22 @@
|
||||
/obj/item/shard,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/department/cargo)
|
||||
"aPg" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 4;
|
||||
id = "garbage"
|
||||
},
|
||||
/obj/structure/disposaloutlet{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/disposalpipe/trunk{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/disposal)
|
||||
"aPi" = (
|
||||
/obj/machinery/light/small{
|
||||
dir = 4
|
||||
@@ -17620,6 +17561,16 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/disposal)
|
||||
"aQo" = (
|
||||
/obj/machinery/light/small{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/conveyor{
|
||||
dir = 1;
|
||||
id = "garbage"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/disposal)
|
||||
"aQp" = (
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
@@ -24159,6 +24110,10 @@
|
||||
/obj/effect/turf_decal/tile/brown{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/keycard_auth{
|
||||
pixel_x = -23;
|
||||
pixel_y = 0
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/quartermaster/qm)
|
||||
"beK" = (
|
||||
@@ -51312,6 +51267,14 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/chapel/main/monastery)
|
||||
"cvf" = (
|
||||
/obj/machinery/recycler,
|
||||
/obj/machinery/conveyor{
|
||||
dir = 4;
|
||||
id = "garbage"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/disposal)
|
||||
"cvg" = (
|
||||
/obj/structure/flora/ausbushes/ywflowers,
|
||||
/obj/structure/flora/ausbushes/brflowers,
|
||||
@@ -52118,6 +52081,13 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/library/lounge)
|
||||
"cyp" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 8;
|
||||
id = "garbage"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/disposal)
|
||||
"cyy" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 5
|
||||
@@ -53734,6 +53704,19 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/sleeper)
|
||||
"eFG" = (
|
||||
/obj/machinery/mineral/stacking_unit_console{
|
||||
dir = 2;
|
||||
machinedir = 8;
|
||||
pixel_x = -32;
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/machinery/conveyor{
|
||||
dir = 4;
|
||||
id = "garbagestacked"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/disposal)
|
||||
"eHI" = (
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on,
|
||||
/turf/open/floor/plasteel,
|
||||
@@ -61528,6 +61511,13 @@
|
||||
/obj/structure/sign/warning/vacuum/external,
|
||||
/turf/open/floor/plating,
|
||||
/area/hallway/secondary/exit/departure_lounge)
|
||||
"xer" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 1;
|
||||
id = "garbage"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/disposal)
|
||||
"xeB" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/structure/disposalpipe/segment,
|
||||
@@ -61781,6 +61771,20 @@
|
||||
},
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/science/mixing)
|
||||
"xJy" = (
|
||||
/obj/structure/chair/comfy/black,
|
||||
/obj/structure/sign/plaques/kiddie{
|
||||
desc = "An embossed piece of paper from the Third University of Harvard.";
|
||||
name = "\improper 'Diploma' frame";
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/machinery/light/small{
|
||||
dir = 1;
|
||||
light_color = "#ffc1c1"
|
||||
},
|
||||
/obj/effect/landmark/start/lawyer,
|
||||
/turf/open/floor/wood,
|
||||
/area/lawoffice)
|
||||
"xKc" = (
|
||||
/obj/structure/sign/warning/biohazard,
|
||||
/turf/closed/wall/r_wall,
|
||||
@@ -81803,7 +81807,7 @@ ajM
|
||||
aiu
|
||||
aiu
|
||||
gSH
|
||||
aal
|
||||
xJy
|
||||
sJr
|
||||
sJr
|
||||
sJr
|
||||
@@ -99272,13 +99276,13 @@ ale
|
||||
asb
|
||||
coe
|
||||
apX
|
||||
aab
|
||||
ave
|
||||
awn
|
||||
apX
|
||||
aac
|
||||
ayj
|
||||
azr
|
||||
apX
|
||||
aae
|
||||
aBM
|
||||
aDb
|
||||
apX
|
||||
oFo
|
||||
@@ -101105,7 +101109,7 @@ aTm
|
||||
bbE
|
||||
bbE
|
||||
bbE
|
||||
dps
|
||||
bbE
|
||||
bbE
|
||||
bbE
|
||||
aEj
|
||||
@@ -101364,7 +101368,7 @@ bcA
|
||||
bdF
|
||||
beJ
|
||||
bfB
|
||||
bbE
|
||||
dps
|
||||
aZv
|
||||
aUC
|
||||
biz
|
||||
@@ -107513,9 +107517,9 @@ aaa
|
||||
aaa
|
||||
aLn
|
||||
aNT
|
||||
aaf
|
||||
aai
|
||||
aam
|
||||
xer
|
||||
aQo
|
||||
aPg
|
||||
aRu
|
||||
srZ
|
||||
aLm
|
||||
@@ -107771,7 +107775,7 @@ aaa
|
||||
aLm
|
||||
aLm
|
||||
aNU
|
||||
aaj
|
||||
cyp
|
||||
dqY
|
||||
aRv
|
||||
sZh
|
||||
@@ -108027,8 +108031,8 @@ aaa
|
||||
aaa
|
||||
aLm
|
||||
aME
|
||||
aag
|
||||
aaj
|
||||
eFG
|
||||
cyp
|
||||
dqY
|
||||
aRw
|
||||
sqQ
|
||||
@@ -108284,9 +108288,9 @@ aaa
|
||||
aaa
|
||||
aLo
|
||||
aMF
|
||||
aah
|
||||
aaj
|
||||
aak
|
||||
aNV
|
||||
cyp
|
||||
cvf
|
||||
aQn
|
||||
sqQ
|
||||
aSm
|
||||
@@ -108542,8 +108546,8 @@ aaa
|
||||
aLo
|
||||
aMG
|
||||
aNX
|
||||
aaj
|
||||
aaf
|
||||
cyp
|
||||
xer
|
||||
aRy
|
||||
aSn
|
||||
aSn
|
||||
|
||||
@@ -2248,11 +2248,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/tdome/arena_source)
|
||||
"fR" = (
|
||||
/obj/item/paicard,
|
||||
/obj/structure/table/wood,
|
||||
/turf/open/floor/engine/cult,
|
||||
/area/wizard_station)
|
||||
"fS" = (
|
||||
/obj/effect/turf_decal/tile/red{
|
||||
dir = 8
|
||||
@@ -2940,22 +2935,6 @@
|
||||
/obj/machinery/capture_the_flag/red,
|
||||
/turf/open/floor/circuit/green/anim,
|
||||
/area/ctf)
|
||||
"hH" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/item/flashlight/seclite,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/item/paicard,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/centcom/ferry)
|
||||
"hI" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 10
|
||||
@@ -3730,13 +3709,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/centcom/control)
|
||||
"jA" = (
|
||||
/obj/machinery/shower{
|
||||
dir = 4
|
||||
},
|
||||
/obj/item/soap/syndie,
|
||||
/turf/open/floor/plasteel/freezer,
|
||||
/area/syndicate_mothership)
|
||||
"jB" = (
|
||||
/obj/structure/noticeboard{
|
||||
dir = 8;
|
||||
@@ -4222,14 +4194,6 @@
|
||||
"ku" = (
|
||||
/turf/closed/indestructible/fakeglass,
|
||||
/area/syndicate_mothership)
|
||||
"kv" = (
|
||||
/obj/structure/mirror{
|
||||
pixel_x = -28
|
||||
},
|
||||
/obj/structure/table,
|
||||
/obj/item/reagent_containers/rag/towel/syndicate,
|
||||
/turf/open/floor/plasteel/freezer,
|
||||
/area/syndicate_mothership)
|
||||
"kw" = (
|
||||
/turf/open/floor/plasteel/yellowsiding,
|
||||
/area/centcom/supply)
|
||||
@@ -8429,6 +8393,13 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/syndicate_mothership)
|
||||
"tg" = (
|
||||
/obj/machinery/shower{
|
||||
dir = 4
|
||||
},
|
||||
/obj/item/soap/syndie,
|
||||
/turf/open/floor/plasteel/freezer,
|
||||
/area/syndicate_mothership)
|
||||
"tl" = (
|
||||
/obj/effect/turf_decal/stripes/corner,
|
||||
/turf/open/floor/plating,
|
||||
@@ -11402,6 +11373,22 @@
|
||||
/obj/structure/table/reinforced,
|
||||
/turf/open/floor/plasteel/grimy,
|
||||
/area/centcom/ferry)
|
||||
"AL" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/item/flashlight/seclite,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/item/paicard,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/centcom/ferry)
|
||||
"AM" = (
|
||||
/obj/machinery/shuttle_manipulator,
|
||||
/turf/open/floor/circuit/green,
|
||||
@@ -11598,6 +11585,11 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/centcom/holding)
|
||||
"Bp" = (
|
||||
/obj/item/paicard,
|
||||
/obj/structure/table/wood,
|
||||
/turf/open/floor/engine/cult,
|
||||
/area/wizard_station)
|
||||
"Bs" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/machinery/computer/libraryconsole/bookmanagement,
|
||||
@@ -17441,6 +17433,14 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/centcom/holding)
|
||||
"Rl" = (
|
||||
/obj/structure/mirror{
|
||||
pixel_x = -28
|
||||
},
|
||||
/obj/structure/table,
|
||||
/obj/item/reagent_containers/rag/towel/syndicate,
|
||||
/turf/open/floor/plasteel/freezer,
|
||||
/area/syndicate_mothership)
|
||||
"Rm" = (
|
||||
/obj/structure/chair/wood/wings{
|
||||
dir = 3
|
||||
@@ -25747,7 +25747,7 @@ lI
|
||||
lI
|
||||
lI
|
||||
Ax
|
||||
fR
|
||||
Bp
|
||||
qZ
|
||||
qZ
|
||||
Ax
|
||||
@@ -37828,8 +37828,8 @@ nx
|
||||
mA
|
||||
Tz
|
||||
ku
|
||||
jA
|
||||
kv
|
||||
tg
|
||||
Rl
|
||||
uM
|
||||
QV
|
||||
wp
|
||||
@@ -56343,7 +56343,7 @@ yr
|
||||
sw
|
||||
sw
|
||||
Ad
|
||||
hH
|
||||
AL
|
||||
Bx
|
||||
sw
|
||||
Cv
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
//Martial arts defines
|
||||
|
||||
#define MARTIALART_BOXING "boxing"
|
||||
#define MARTIALART_WRESTLING "wrestling"
|
||||
#define MARTIALART_SLEEPINGCARP "sleeping carp"
|
||||
#define MARTIALART_PSYCHOBRAWL "psychotic brawling"
|
||||
#define MARTIALART_MUSHPUNCH "mushroom punch"
|
||||
#define MARTIALART_KRAVMAGA "krav maga"
|
||||
#define MARTIALART_CQC "CQC"
|
||||
#define MARTIALART_PLASMAFIST "plasma fist"
|
||||
@@ -2,6 +2,7 @@
|
||||
var/name = "Martial Art"
|
||||
var/streak = ""
|
||||
var/max_streak_length = 6
|
||||
var/id = "" //ID, used by mind/has_martialartcode\game\objects\items\granters.dm:345:error: user.mind.has_martialart: undefined proccode\game\objects\items\granters.dm:345:error: user.mind.has_martialart: undefined proccode\game\objects\items\granters.dm:345:error: user.mind.has_martialart: undefined proccode\game\objects\items\granters.dm:345:error: user.mind.has_martialart: undefined proccode\game\objects\items\granters.dm:345:error: user.mind.has_martialart: undefined proc
|
||||
var/current_target
|
||||
var/datum/martial_art/base // The permanent style. This will be null unless the martial art is temporary
|
||||
var/deflection_chance = 0 //Chance to deflect projectiles
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/datum/martial_art/boxing
|
||||
name = "Boxing"
|
||||
id = MARTIALART_BOXING
|
||||
|
||||
/datum/martial_art/boxing/disarm_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
|
||||
to_chat(A, "<span class='warning'>Can't disarm while boxing!</span>")
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
/datum/martial_art/cqc
|
||||
name = "CQC"
|
||||
id = MARTIALART_CQC
|
||||
help_verb = /mob/living/carbon/human/proc/CQC_help
|
||||
block_chance = 75
|
||||
var/just_a_cook = FALSE
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/datum/martial_art/krav_maga
|
||||
name = "Krav Maga"
|
||||
id = MARTIALART_KRAVMAGA
|
||||
var/datum/action/neck_chop/neckchop = new/datum/action/neck_chop()
|
||||
var/datum/action/leg_sweep/legsweep = new/datum/action/leg_sweep()
|
||||
var/datum/action/lung_punch/lungpunch = new/datum/action/lung_punch()
|
||||
@@ -92,7 +93,7 @@
|
||||
"<span class='userdanger'>[A] leg sweeps you!</span>")
|
||||
playsound(get_turf(A), 'sound/effects/hit_kick.ogg', 50, 1, -1)
|
||||
D.apply_damage(5, BRUTE)
|
||||
D.Knockdown(40, override_hardstun = 0.01, 25)
|
||||
D.Knockdown(40, override_hardstun = 0.01, override_stamdmg = 25)
|
||||
log_combat(A, D, "leg sweeped")
|
||||
return 1
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/datum/martial_art/mushpunch
|
||||
name = "Mushroom Punch"
|
||||
id = MARTIALART_MUSHPUNCH
|
||||
|
||||
/datum/martial_art/mushpunch/harm_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
|
||||
var/atk_verb
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
/datum/martial_art/plasma_fist
|
||||
name = "Plasma Fist"
|
||||
id = MARTIALART_PLASMAFIST
|
||||
help_verb = /mob/living/carbon/human/proc/plasma_fist_help
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/datum/martial_art/psychotic_brawling
|
||||
name = "Psychotic Brawling"
|
||||
id = MARTIALART_PSYCHOBRAWL
|
||||
|
||||
/datum/martial_art/psychotic_brawling/disarm_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
|
||||
return psycho_attack(A,D)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
/datum/martial_art/the_sleeping_carp
|
||||
name = "The Sleeping Carp"
|
||||
id = MARTIALART_SLEEPINGCARP
|
||||
deflection_chance = 100
|
||||
reroute_deflection = TRUE
|
||||
no_guns = TRUE
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
/datum/martial_art/wrestling
|
||||
name = "Wrestling"
|
||||
id = MARTIALART_WRESTLING
|
||||
var/datum/action/slam/slam = new/datum/action/slam()
|
||||
var/datum/action/throw_wrassle/throw_wrassle = new/datum/action/throw_wrassle()
|
||||
var/datum/action/kick/kick = new/datum/action/kick()
|
||||
|
||||
@@ -64,6 +64,8 @@
|
||||
|
||||
var/force_escaped = FALSE // Set by Into The Sunset command of the shuttle manipulator
|
||||
|
||||
var/list/learned_recipes //List of learned recipe TYPES.
|
||||
|
||||
/datum/mind/New(var/key)
|
||||
src.key = key
|
||||
soulOwner = src
|
||||
@@ -779,6 +781,11 @@
|
||||
mind_initialize() //updates the mind (or creates and initializes one if one doesn't exist)
|
||||
mind.active = 1 //indicates that the mind is currently synced with a client
|
||||
|
||||
/datum/mind/proc/has_martialart(var/string)
|
||||
if(martial_art && martial_art.id == string)
|
||||
return martial_art
|
||||
return FALSE
|
||||
|
||||
/mob/dead/new_player/sync_mind()
|
||||
return
|
||||
|
||||
|
||||
@@ -177,6 +177,8 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list(
|
||||
desc = "A device used to rapidly pipe things."
|
||||
icon = 'icons/obj/tools.dmi'
|
||||
icon_state = "rpd"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
|
||||
flags_1 = CONDUCT_1
|
||||
force = 10
|
||||
throwforce = 10
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
///books that teach things (intrinsic actions like bar flinging, spells like fireball or smoke, or martial arts)///
|
||||
|
||||
/obj/item/book/granter
|
||||
@@ -13,19 +12,50 @@
|
||||
/obj/item/book/granter/proc/turn_page(mob/user)
|
||||
playsound(user, pick('sound/effects/pageturn1.ogg','sound/effects/pageturn2.ogg','sound/effects/pageturn3.ogg'), 30, 1)
|
||||
if(do_after(user,50, user))
|
||||
to_chat(user, "<span class='notice'>[pick(remarks)]</span>")
|
||||
if(remarks.len)
|
||||
to_chat(user, "<span class='notice'>[pick(remarks)]</span>")
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You keep reading...</span>")
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/item/book/granter/proc/recoil(mob/user) //nothing so some books can just return
|
||||
|
||||
/obj/item/book/granter/proc/already_known(mob/user)
|
||||
return FALSE
|
||||
|
||||
/obj/item/book/granter/proc/on_reading_start(mob/user)
|
||||
to_chat(user, "<span class='notice'>You start reading [name]...</span>")
|
||||
|
||||
/obj/item/book/granter/proc/on_reading_stopped(mob/user)
|
||||
to_chat(user, "<span class='notice'>You stop reading...</span>")
|
||||
|
||||
/obj/item/book/granter/proc/on_reading_finished(mob/user)
|
||||
to_chat(user, "<span class='notice'>You finish reading [name]!</span>")
|
||||
|
||||
/obj/item/book/granter/proc/onlearned(mob/user)
|
||||
used = TRUE
|
||||
|
||||
|
||||
/obj/item/book/granter/attack_self(mob/user)
|
||||
if(reading == TRUE)
|
||||
if(reading)
|
||||
to_chat(user, "<span class='warning'>You're already reading this!</span>")
|
||||
return FALSE
|
||||
if(already_known(user))
|
||||
return FALSE
|
||||
if(used && oneuse)
|
||||
recoil(user)
|
||||
else
|
||||
on_reading_start(user)
|
||||
reading = TRUE
|
||||
for(var/i=1, i<=pages_to_mastery, i++)
|
||||
if(!turn_page(user))
|
||||
on_reading_stopped()
|
||||
reading = FALSE
|
||||
return
|
||||
if(do_after(user,50, user))
|
||||
on_reading_finished(user)
|
||||
reading = FALSE
|
||||
return TRUE
|
||||
|
||||
///ACTION BUTTONS///
|
||||
@@ -34,33 +64,23 @@
|
||||
var/granted_action
|
||||
var/actionname = "catching bugs" //might not seem needed but this makes it so you can safely name action buttons toggle this or that without it fucking up the granter, also caps
|
||||
|
||||
/obj/item/book/granter/action/attack_self(mob/user)
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
/obj/item/book/granter/action/already_known(mob/user)
|
||||
if(!granted_action)
|
||||
return
|
||||
var/datum/action/G = new granted_action
|
||||
return TRUE
|
||||
for(var/datum/action/A in user.actions)
|
||||
if(A.type == G.type)
|
||||
if(A.type == granted_action)
|
||||
to_chat(user, "<span class='notice'>You already know all about [actionname].</span>")
|
||||
qdel(G)
|
||||
return
|
||||
if(used == TRUE && oneuse == TRUE)
|
||||
recoil(user)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You start reading about [actionname]...</span>")
|
||||
reading = TRUE
|
||||
for(var/i=1, i<=pages_to_mastery, i++)
|
||||
if(!turn_page(user))
|
||||
to_chat(user, "<span class='notice'>You stop reading...</span>")
|
||||
reading = FALSE
|
||||
qdel(G)
|
||||
return
|
||||
if(do_after(user,50, user))
|
||||
to_chat(user, "<span class='notice'>You feel like you've got a good handle on [actionname]!</span>")
|
||||
G.Grant(user)
|
||||
reading = FALSE
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/item/book/granter/action/on_reading_start(mob/user)
|
||||
to_chat(user, "<span class='notice'>You start reading about [actionname]...</span>")
|
||||
|
||||
/obj/item/book/granter/action/on_reading_finished(mob/user)
|
||||
to_chat(user, "<span class='notice'>You feel like you've got a good handle on [actionname]!</span>")
|
||||
var/datum/action/G = new granted_action
|
||||
G.Grant(user)
|
||||
onlearned(user)
|
||||
|
||||
/obj/item/book/granter/action/drink_fling
|
||||
granted_action = /datum/action/innate/drink_fling
|
||||
@@ -120,38 +140,28 @@
|
||||
var/spell
|
||||
var/spellname = "conjure bugs"
|
||||
|
||||
/obj/item/book/granter/spell/attack_self(mob/user)
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
/obj/item/book/granter/spell/already_known(mob/user)
|
||||
if(!spell)
|
||||
return
|
||||
var/obj/effect/proc_holder/spell/S = new spell
|
||||
return TRUE
|
||||
for(var/obj/effect/proc_holder/spell/knownspell in user.mind.spell_list)
|
||||
if(knownspell.type == S.type)
|
||||
if(knownspell.type == spell)
|
||||
if(user.mind)
|
||||
if(iswizard(user))
|
||||
to_chat(user,"<span class='notice'>You're already far more versed in this spell than this flimsy howto book can provide.</span>")
|
||||
to_chat(user,"<span class='notice'>You're already far more versed in this spell than this flimsy how-to book can provide.</span>")
|
||||
else
|
||||
to_chat(user,"<span class='notice'>You've already read this one.</span>")
|
||||
return
|
||||
if(used == TRUE && oneuse == TRUE)
|
||||
recoil(user)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You start reading about casting [spellname]...</span>")
|
||||
reading = TRUE
|
||||
for(var/i=1, i<=pages_to_mastery, i++)
|
||||
if(!turn_page(user))
|
||||
to_chat(user, "<span class='notice'>You stop reading...</span>")
|
||||
reading = FALSE
|
||||
qdel(S)
|
||||
return
|
||||
if(do_after(user,50, user))
|
||||
to_chat(user, "<span class='notice'>You feel like you've experienced enough to cast [spellname]!</span>")
|
||||
user.mind.AddSpell(S)
|
||||
user.log_message("learned the spell [spellname] ([S])", LOG_ATTACK, color="orange")
|
||||
onlearned(user)
|
||||
reading = FALSE
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/item/book/granter/spell/on_reading_start(mob/user)
|
||||
to_chat(user, "<span class='notice'>You start reading about casting [spellname]...</span>")
|
||||
|
||||
/obj/item/book/granter/spell/on_reading_finished(mob/user)
|
||||
to_chat(user, "<span class='notice'>You feel like you've experienced enough to cast [spellname]!</span>")
|
||||
var/obj/effect/proc_holder/spell/S = new spell
|
||||
user.mind.AddSpell(S)
|
||||
user.log_message("learned the spell [spellname] ([S])", LOG_ATTACK, color="orange")
|
||||
onlearned(user)
|
||||
|
||||
/obj/item/book/granter/spell/recoil(mob/user)
|
||||
user.visible_message("<span class='warning'>[src] glows in a black light!</span>")
|
||||
@@ -280,7 +290,8 @@
|
||||
if(ishuman(user))
|
||||
to_chat(user,"<font size='15' color='red'><b>HORSIE HAS RISEN</b></font>")
|
||||
var/obj/item/clothing/magichead = new /obj/item/clothing/mask/horsehead/cursed(user.drop_location())
|
||||
user.dropItemToGround(user.wear_mask, TRUE)
|
||||
if(!user.dropItemToGround(user.wear_mask))
|
||||
qdel(user.wear_mask)
|
||||
user.equip_to_slot_if_possible(magichead, SLOT_WEAR_MASK, TRUE, TRUE)
|
||||
qdel(src)
|
||||
else
|
||||
@@ -327,35 +338,24 @@
|
||||
var/martialname = "bug jitsu"
|
||||
var/greet = "You feel like you have mastered the art in breaking code. Nice work, jackass."
|
||||
|
||||
/obj/item/book/granter/martial/attack_self(mob/user)
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
/obj/item/book/granter/martial/already_known(mob/user)
|
||||
if(!martial)
|
||||
return
|
||||
return TRUE
|
||||
var/datum/martial_art/MA = martial
|
||||
if(user.mind.has_martialart(initial(MA.id)))
|
||||
to_chat(user,"<span class='warning'>You already know [martialname]!</span>")
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/item/book/granter/martial/on_reading_start(mob/user)
|
||||
to_chat(user, "<span class='notice'>You start reading about [martialname]...</span>")
|
||||
|
||||
/obj/item/book/granter/martial/on_reading_finished(mob/user)
|
||||
to_chat(user, "[greet]")
|
||||
var/datum/martial_art/MA = new martial
|
||||
if(user.mind.martial_art)
|
||||
for(var/datum/martial_art/knownmartial in user.mind.martial_art)
|
||||
if(knownmartial.type == MA.type)
|
||||
to_chat(user,"<span class='warning'>You already know [martialname]!</span>")
|
||||
return
|
||||
if(used == TRUE && oneuse == TRUE)
|
||||
recoil(user)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You start reading about [martialname]...</span>")
|
||||
reading = TRUE
|
||||
for(var/i=1, i<=pages_to_mastery, i++)
|
||||
if(!turn_page(user))
|
||||
to_chat(user, "<span class='notice'>You stop reading...</span>")
|
||||
reading = FALSE
|
||||
qdel(MA)
|
||||
return
|
||||
if(do_after(user,50, user))
|
||||
to_chat(user, "[greet]")
|
||||
MA.teach(user)
|
||||
user.log_message("learned the martial art [martialname] ([MA])", LOG_ATTACK, color="orange")
|
||||
onlearned(user)
|
||||
reading = FALSE
|
||||
MA.teach(user)
|
||||
user.log_message("learned the martial art [martialname] ([MA])", LOG_ATTACK, color="orange")
|
||||
onlearned(user)
|
||||
|
||||
/obj/item/book/granter/martial/cqc
|
||||
martial = /datum/martial_art/cqc
|
||||
@@ -416,3 +416,18 @@
|
||||
icon_state = "blankscroll"
|
||||
|
||||
// I did not include mushpunch's grant, it is not a book and the item does it just fine.
|
||||
|
||||
|
||||
//Crafting Recipe books
|
||||
|
||||
/obj/item/book/granter/crafting_recipe
|
||||
var/list/crafting_recipe_types = list()
|
||||
|
||||
/obj/item/book/granter/crafting_recipe/on_reading_finished(mob/user)
|
||||
. = ..()
|
||||
if(!user.mind)
|
||||
return
|
||||
for(var/crafting_recipe_type in crafting_recipe_types)
|
||||
var/datum/crafting_recipe/R = crafting_recipe_type
|
||||
user.mind.teach_crafting_recipe(crafting_recipe_type)
|
||||
to_chat(user,"<span class='notice'>You learned how to make [initial(R.name)].</span>")
|
||||
@@ -21,7 +21,7 @@
|
||||
return
|
||||
if(!H.mind)
|
||||
return
|
||||
if(istype(H.mind.martial_art, /datum/martial_art/krav_maga))
|
||||
if(H.mind.has_martialart(MARTIALART_KRAVMAGA))
|
||||
style.remove(H)
|
||||
else
|
||||
style.teach(H,1)
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
/obj/item/stack/medical/attack(mob/living/M, mob/user)
|
||||
|
||||
if(M.stat == DEAD)
|
||||
if(M.stat == DEAD && !stop_bleeding)
|
||||
var/t_him = "it"
|
||||
if(M.gender == MALE)
|
||||
t_him = "him"
|
||||
|
||||
@@ -230,24 +230,23 @@
|
||||
|
||||
/obj/effect/proc_holder/changeling/sting/LSD
|
||||
name = "Hallucination Sting"
|
||||
desc = "Causes terror in the target."
|
||||
helptext = "We evolve the ability to sting a target with a powerful hallucinogenic chemical. The target does not notice they have been stung, and the effect begins after a few seconds."
|
||||
desc = "Causes terror in the target and deals a minor amount of toxin damage."
|
||||
helptext = "We evolve the ability to sting a target with a powerful toxic hallucinogenic chemical. The target does not notice they have been stung, and the effect begins instantaneously. This ability is somewhat loud, and carries a small risk of our blood gaining violent sensitivity to heat."
|
||||
sting_icon = "sting_lsd"
|
||||
chemical_cost = 10
|
||||
dna_cost = 1
|
||||
loudness = 1
|
||||
action_icon = 'icons/mob/actions/actions_changeling.dmi'
|
||||
action_icon_state = "ling_sting_lsd"
|
||||
action_background_icon_state = "bg_ling"
|
||||
|
||||
/obj/effect/proc_holder/changeling/sting/LSD/sting_action(mob/user, mob/living/carbon/target)
|
||||
/obj/effect/proc_holder/changeling/sting/LSD/sting_action(mob/user, mob/target)
|
||||
log_combat(user, target, "stung", "LSD sting")
|
||||
addtimer(CALLBACK(src, .proc/hallucination_time, target), rand(100,200))
|
||||
if(target.reagents)
|
||||
target.reagents.add_reagent("regenerative_materia", 5)
|
||||
target.reagents.add_reagent("mindbreaker", 5)
|
||||
return TRUE
|
||||
|
||||
/obj/effect/proc_holder/changeling/sting/LSD/proc/hallucination_time(mob/living/carbon/target)
|
||||
if(target)
|
||||
target.hallucination = max(90, target.hallucination)
|
||||
|
||||
/obj/effect/proc_holder/changeling/sting/cryo
|
||||
name = "Cryogenic Sting"
|
||||
desc = "We silently sting a human with a cocktail of chemicals that freeze them."
|
||||
|
||||
@@ -317,6 +317,8 @@
|
||||
var/list/cant_craft = list()
|
||||
for(var/rec in GLOB.crafting_recipes)
|
||||
var/datum/crafting_recipe/R = rec
|
||||
if(!R.always_availible && !(R.type in user?.mind?.learned_recipes)) //User doesn't actually know how to make this.
|
||||
continue
|
||||
if((R.category != cur_category) || (R.subcategory != cur_subcategory))
|
||||
continue
|
||||
if(check_contents(R, surroundings))
|
||||
@@ -431,3 +433,10 @@
|
||||
data["tool_text"] = tool_text
|
||||
|
||||
return data
|
||||
|
||||
//Mind helpers
|
||||
|
||||
/datum/mind/proc/teach_crafting_recipe(R)
|
||||
if(!learned_recipes)
|
||||
learned_recipes = list()
|
||||
learned_recipes |= R
|
||||
@@ -9,6 +9,7 @@
|
||||
var/chem_catalysts[] = list() //like tools but for reagents
|
||||
var/category = CAT_NONE //where it shows up in the crafting UI
|
||||
var/subcategory = CAT_NONE
|
||||
var/always_availible = TRUE //Set to FALSE if it needs to be learned first.
|
||||
|
||||
/datum/crafting_recipe/pin_removal
|
||||
name = "Pin Removal"
|
||||
|
||||
@@ -283,7 +283,7 @@
|
||||
tastes = list("blackberry" = 2, "strawberries" = 2, "chocolate" = 2, "sweetness" = 2,"cake" = 3)
|
||||
foodtype = GRAIN | DAIRY | FRUIT | SUGAR
|
||||
|
||||
obj/item/reagent_containers/food/snacks/store/cake/holy_cake
|
||||
/obj/item/reagent_containers/food/snacks/store/cake/holy_cake
|
||||
name = "angel food cake"
|
||||
desc = "A cake made for angels and chaplains alike! Contains holy water."
|
||||
icon = 'modular_citadel/icons/obj/food/cake.dmi'
|
||||
@@ -322,7 +322,7 @@ obj/item/reagent_containers/food/snacks/store/cake/pound_cake
|
||||
tastes = list("cake" = 5, "sweetness" = 5, "batter" = 1)
|
||||
foodtype = GRAIN | DAIRY | SUGAR | JUNKFOOD
|
||||
|
||||
obj/item/reagent_containers/food/snacks/store/cake/hardware_cake
|
||||
/obj/item/reagent_containers/food/snacks/store/cake/hardware_cake
|
||||
name = "hardware cake"
|
||||
desc = "A cake that is made with electronic boards and leaks acid..."
|
||||
icon = 'modular_citadel/icons/obj/food/cake.dmi'
|
||||
|
||||
@@ -432,7 +432,21 @@
|
||||
|
||||
|
||||
/mob/dead/new_player/proc/LateChoices()
|
||||
var/list/dat = list("<div class='notice'>Round Duration: [DisplayTimeText(world.time - SSticker.round_start_time)]</div>")
|
||||
|
||||
var/level = "green"
|
||||
switch(GLOB.security_level)
|
||||
if(SEC_LEVEL_GREEN)
|
||||
level = "green"
|
||||
if(SEC_LEVEL_BLUE)
|
||||
level = "blue"
|
||||
if(SEC_LEVEL_AMBER)
|
||||
level = "amber"
|
||||
if(SEC_LEVEL_RED)
|
||||
level = "red"
|
||||
if(SEC_LEVEL_DELTA)
|
||||
level = "delta"
|
||||
|
||||
var/dat = "<div class='notice'>Round Duration: [DisplayTimeText(world.time - SSticker.round_start_time)]<br>Alert Level: [capitalize(level)]</div>"
|
||||
if(SSshuttle.emergency)
|
||||
switch(SSshuttle.emergency.mode)
|
||||
if(SHUTTLE_ESCAPE)
|
||||
@@ -601,4 +615,4 @@
|
||||
message_admins("[src.ckey] just got booted back to lobby with no jobs enabled, but antag rolling enabled. Likely antag rolling abuse.")
|
||||
|
||||
return FALSE //This is the only case someone should actually be completely blocked from antag rolling as well
|
||||
return TRUE
|
||||
return TRUE
|
||||
|
||||
@@ -699,9 +699,10 @@
|
||||
clear_fullscreen("critvision")
|
||||
|
||||
//Oxygen damage overlay
|
||||
if(oxyloss)
|
||||
var/windedup = getOxyLoss() + getStaminaLoss() * 0.2 + stamdamageoverlaytemp
|
||||
if(windedup)
|
||||
var/severity = 0
|
||||
switch(oxyloss)
|
||||
switch(windedup)
|
||||
if(10 to 20)
|
||||
severity = 1
|
||||
if(20 to 25)
|
||||
|
||||
@@ -61,5 +61,6 @@
|
||||
var/next_hallucination = 0
|
||||
var/cpr_time = 1 //CPR cooldown.
|
||||
var/damageoverlaytemp = 0
|
||||
var/stamdamageoverlaytemp = 0
|
||||
|
||||
var/drunkenness = 0 //Overall drunkenness - check handle_alcohol() in life.dm for effects
|
||||
|
||||
@@ -1781,6 +1781,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
|
||||
if(CLONE)
|
||||
H.adjustCloneLoss(damage * hit_percent * H.physiology.clone_mod)
|
||||
if(STAMINA)
|
||||
H.stamdamageoverlaytemp = 20
|
||||
if(BP)
|
||||
if(damage > 0 ? BP.receive_damage(0, 0, damage * hit_percent * H.physiology.stamina_mod) : BP.heal_damage(0, 0, abs(damage * hit_percent * H.physiology.stamina_mod), only_robotic = FALSE, only_organic = FALSE))
|
||||
H.update_stamina()
|
||||
|
||||
@@ -4,8 +4,9 @@
|
||||
if(notransform)
|
||||
return
|
||||
|
||||
if(damageoverlaytemp)
|
||||
if(damageoverlaytemp || stamdamageoverlaytemp)
|
||||
damageoverlaytemp = 0
|
||||
stamdamageoverlaytemp = 0
|
||||
update_damage_hud()
|
||||
|
||||
if(stat != DEAD) //Reagent processing needs to come before breathing, to prevent edge cases.
|
||||
|
||||
@@ -62,3 +62,8 @@
|
||||
e_cost = 200
|
||||
select_name = "stun"
|
||||
projectile_type = /obj/item/projectile/energy/tesla/revolver
|
||||
|
||||
/obj/item/ammo_casing/energy/emitter
|
||||
fire_sound = 'sound/weapons/emitter.ogg'
|
||||
e_cost = 2000 //20,000 is in the cell making this 10 shots before reload
|
||||
projectile_type = /obj/item/projectile/beam/emitter
|
||||
|
||||
@@ -304,3 +304,22 @@
|
||||
|
||||
/obj/item/gun/energy/gravity_gun/security
|
||||
pin = /obj/item/firing_pin
|
||||
|
||||
//Emitter Gun
|
||||
|
||||
/obj/item/gun/energy/emitter
|
||||
name = "Emitter Carbine"
|
||||
desc = "A small emitter fitted into a handgun case, do to size constraints and safety it can only shoot about ten times when fully charged."
|
||||
icon_state = "emitter_carbine"
|
||||
force = 12
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
cell_type = /obj/item/stock_parts/cell/super
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/emitter)
|
||||
|
||||
/obj/item/gun/energy/emitter/update_icon()
|
||||
..()
|
||||
var/obj/item/ammo_casing/energy/shot = ammo_type[select]
|
||||
if(!QDELETED(cell) && (cell.charge > shot.e_cost))
|
||||
add_overlay("emitter_carbine_empty")
|
||||
else
|
||||
add_overlay("emitter_carbine")
|
||||
|
||||
@@ -414,8 +414,8 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
|
||||
/datum/uplink_item/dangerous/rapier
|
||||
name = "Rapier"
|
||||
desc = "A fancy rapier with a diamond tip piercing anything that it comes into contack with. \
|
||||
The rapier comes with its own shielf, this is rather noticeable as only the captain is known to carry a shielf. \
|
||||
The shielf itself can be used to block melee attacks only. Its also jet black colours."
|
||||
The rapier comes with its own sheath, this is rather noticeable as only the captain is known to carry a sheath. \
|
||||
The sheath itself can be used to block melee attacks only. Its also jet black colours."
|
||||
item = /obj/item/storage/belt/sabre/rapier
|
||||
cost = 8
|
||||
exclude_modes = list(/datum/game_mode/nuclear/clown_ops)
|
||||
@@ -1837,6 +1837,13 @@ datum/uplink_item/stealthy_weapons/taeclowndo_shoes
|
||||
item = /obj/item/clothing/shoes/clown_shoes/taeclowndo
|
||||
restricted_roles = list("Clown")
|
||||
|
||||
/datum/uplink_item/role_restricted/emitter_cannon
|
||||
name = "Emitter Cannon"
|
||||
desc = "A small emitter fitted into a gun case, do to size constraints and safety it can only shoot about ten times when fully charged."
|
||||
cost = 5 //Low ammo, and deals same as 10mm but emp-able
|
||||
item = /obj/item/gun/energy/emitter
|
||||
restricted_roles = list("Chief Engineer", "Station Engineer", "Atmospheric Technician")
|
||||
|
||||
// Pointless
|
||||
/datum/uplink_item/badass
|
||||
category = "(Pointless) Badassery"
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
author: "Toriate"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "RPD now has inhands"
|
||||
- imageadd: "New sprites for RCDs and RPDs, inhands included"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Trilbyspaceclone"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Emitter gun"
|
||||
@@ -0,0 +1,5 @@
|
||||
author: "kiwedespars"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "regenerative materia to hallucination sting"
|
||||
- rscadd: "mindbreaker toxin as an actual chemical to hallucination sting"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Ghommie"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "the oxyloss fullscreen overlays now also take in consideration 1/5 of the user stamina loss."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "EgoSumStultus"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "FIXED SHIELF"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Linzolle"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscdel: "duplicate definition of hos and sec skirts"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Trilbyspaceclone"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "QM rooms not getting Key Aunths"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Linzolle"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Krav Maga leg sweep now works properly."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "BurgerBB"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "The alert level is displayed at the job selection screen."
|
||||
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 23 KiB |
@@ -5,26 +5,6 @@
|
||||
*//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
/obj/item/clothing/under/rank/security/skirt
|
||||
name = "security skirt"
|
||||
desc = "A tactical security skirt for officers complete with Nanotrasen belt buckle."
|
||||
icon = 'modular_citadel/icons/obj/clothing/cit_clothes.dmi'
|
||||
icon_state = "secskirt"
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
|
||||
item_state = "r_suit"
|
||||
item_color = "secskirt"
|
||||
body_parts_covered = CHEST|GROIN|ARMS
|
||||
|
||||
/obj/item/clothing/under/rank/head_of_security/skirt
|
||||
name = "head of security's skirt"
|
||||
desc = "A security skirt decorated for those few with the dedication to achieve the position of Head of Security."
|
||||
icon = 'modular_citadel/icons/obj/clothing/cit_clothes.dmi'
|
||||
icon_state = "hosskirt"
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
|
||||
item_state = "gy_suit"
|
||||
item_color = "hosskirt"
|
||||
body_parts_covered = CHEST|GROIN|ARMS
|
||||
|
||||
/obj/item/clothing/under/corporateuniform
|
||||
name = "corporate uniform"
|
||||
desc = "A comfortable, tight fitting jumpsuit made of premium materials. Not space-proof."
|
||||
|
||||
@@ -62,6 +62,7 @@
|
||||
#include "code\__DEFINES\maths.dm"
|
||||
#include "code\__DEFINES\MC.dm"
|
||||
#include "code\__DEFINES\medal.dm"
|
||||
#include "code\__DEFINES\melee.dm"
|
||||
#include "code\__DEFINES\menu.dm"
|
||||
#include "code\__DEFINES\misc.dm"
|
||||
#include "code\__DEFINES\mobs.dm"
|
||||
|
||||