Merge branch 'master' into job-menu-improvements

This commit is contained in:
Poojawa
2019-08-02 11:55:28 -05:00
committed by GitHub
47 changed files with 712 additions and 578 deletions
+119 -116
View File
@@ -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
+76 -72
View File
@@ -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
+101 -98
View File
@@ -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
+135 -131
View File
@@ -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
+40 -40
View File
@@ -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
+10
View File
@@ -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"
+1
View File
@@ -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
View File
@@ -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>")
+1
View File
@@ -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
+2 -1
View File
@@ -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
View File
@@ -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
+1
View File
@@ -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
View File
@@ -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)
+1
View File
@@ -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
+1
View File
@@ -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()
+7
View File
@@ -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
+2
View File
@@ -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
+96 -81
View File
@@ -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)
+1 -1
View File
@@ -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."
+9
View File
@@ -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
+1
View File
@@ -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'
+16 -2
View File
@@ -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
+3 -2
View File
@@ -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()
+2 -1
View File
@@ -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")
+9 -2
View File
@@ -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."
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

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."
+1
View File
@@ -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"