This commit is contained in:
Ghommie
2019-05-21 22:48:59 +02:00
121 changed files with 3102 additions and 803 deletions
+139 -53
View File
@@ -250,7 +250,9 @@
/obj/machinery/light{
dir = 4
},
/obj/machinery/cryopod,
/obj/machinery/cryopod{
dir = 8
},
/turf/open/floor/plasteel,
/area/security/prison)
"aaH" = (
@@ -319,6 +321,10 @@
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/obj/machinery/computer/cryopod{
dir = 8;
pixel_x = 26
},
/turf/open/floor/plasteel/cafeteria,
/area/security/prison)
"aaQ" = (
@@ -12182,11 +12188,12 @@
/obj/machinery/airalarm{
pixel_y = 23
},
/obj/machinery/atmospherics/components/unary/vent_pump/on{
/obj/machinery/cryopod,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/turf/open/floor/carpet,
/area/crew_quarters/dorms)
/area/crew_quarters/cryopod)
"aCe" = (
/obj/effect/landmark/xeno_spawn,
/obj/item/bikehorn/rubberducky,
@@ -12822,6 +12829,10 @@
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/machinery/camera{
c_tag = "Dormitory South";
dir = 8
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"aDH" = (
@@ -12846,11 +12857,16 @@
/turf/closed/wall/r_wall,
/area/ai_monitored/storage/eva)
"aDK" = (
/obj/machinery/door/airlock{
name = "Cryo airlock"
/obj/machinery/door/airlock/public/glass{
name = "Cryogenics "
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/machinery/door/firedoor,
/obj/machinery/door/firedoor,
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
/area/crew_quarters/cryopod)
"aDL" = (
/obj/structure/sink{
dir = 8;
@@ -12865,6 +12881,9 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/structure/cable{
icon_state = "2-4"
},
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet)
"aDM" = (
@@ -12894,7 +12913,7 @@
"aDQ" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
/obj/structure/cable{
icon_state = "2-4"
icon_state = "4-8"
},
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet)
@@ -13386,13 +13405,12 @@
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"aFe" = (
/obj/machinery/camera{
c_tag = "Dormitory South";
dir = 4
},
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 8
},
@@ -13402,12 +13420,21 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"aFf" = (
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 1
},
/obj/structure/cable{
icon_state = "4-8"
},
/obj/structure/cable{
icon_state = "1-8"
},
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet)
"aFg" = (
@@ -13423,6 +13450,9 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet)
"aFi" = (
@@ -13435,7 +13465,9 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/obj/structure/cable,
/obj/structure/cable{
icon_state = "0-8"
},
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet)
"aFj" = (
@@ -56571,16 +56603,31 @@
/obj/structure/reagent_dispensers/keg/gargle,
/turf/open/floor/wood,
/area/maintenance/bar)
"dgz" = (
/turf/closed/wall,
/area/crew_quarters/cryopod)
"dqu" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/closed/wall/r_wall,
/area/maintenance/disposal/incinerator)
"dvc" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 4
},
/turf/open/floor/carpet,
/area/crew_quarters/cryopod)
"dvO" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 10
},
/turf/closed/wall,
/area/science/circuit)
"dzi" = (
/obj/structure/cable{
icon_state = "2-4"
},
/turf/open/floor/carpet,
/area/crew_quarters/cryopod)
"dKP" = (
/turf/closed/wall,
/area/maintenance/bar)
@@ -56625,6 +56672,11 @@
/obj/structure/grille,
/turf/open/space/basic,
/area/space/nearstation)
"eVC" = (
/obj/effect/spawner/structure/window,
/obj/machinery/door/firedoor,
/turf/open/floor/plating,
/area/crew_quarters/cryopod)
"eVL" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/light_switch{
@@ -56664,8 +56716,14 @@
/turf/open/floor/plasteel/dark,
/area/engine/engineering)
"fvY" = (
/obj/machinery/computer/cryopod{
pixel_y = 26
},
/obj/machinery/atmospherics/components/unary/vent_pump/on{
dir = 4
},
/turf/open/floor/carpet,
/area/crew_quarters/dorms)
/area/crew_quarters/cryopod)
"fxa" = (
/obj/structure/chair/wood/normal,
/turf/open/floor/wood{
@@ -56696,6 +56754,12 @@
/obj/item/stack/sheet/glass/fifty,
/turf/open/floor/plating,
/area/maintenance/department/medical/morgue)
"gfD" = (
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/carpet,
/area/crew_quarters/cryopod)
"gjl" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
@@ -56835,6 +56899,14 @@
/obj/structure/reagent_dispensers/cooking_oil,
/turf/open/floor/plasteel/showroomfloor,
/area/crew_quarters/kitchen)
"iVU" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/obj/effect/spawner/structure/window,
/obj/machinery/door/firedoor,
/turf/open/floor/plating,
/area/crew_quarters/cryopod)
"jbf" = (
/obj/structure/cable{
icon_state = "0-2"
@@ -57233,11 +57305,8 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/machinery/computer/cryopod{
pixel_y = -30
},
/turf/open/floor/carpet,
/area/crew_quarters/dorms)
/area/crew_quarters/cryopod)
"rcD" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -57392,15 +57461,15 @@
},
/area/maintenance/bar)
"tqg" = (
/obj/machinery/light/small{
dir = 8
},
/obj/machinery/cryopod{
icon_state = "cryopod-open";
dir = 1
dir = 4
},
/obj/machinery/firealarm{
dir = 2;
pixel_y = 24
},
/turf/open/floor/carpet,
/area/crew_quarters/dorms)
/area/crew_quarters/cryopod)
"trb" = (
/obj/machinery/light{
dir = 4
@@ -57471,15 +57540,11 @@
/turf/open/floor/plasteel/dark,
/area/engine/engineering)
"ujF" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
/obj/machinery/cryopod{
dir = 4
},
/obj/machinery/cryopod{
icon_state = "cryopod-open";
dir = 1
},
/turf/open/floor/carpet,
/area/crew_quarters/dorms)
/area/crew_quarters/cryopod)
"uoB" = (
/obj/structure/table/reinforced,
/obj/item/multitool,
@@ -57567,6 +57632,11 @@
/obj/machinery/meter,
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
"vsM" = (
/obj/machinery/power/apc/auto_name/south,
/obj/structure/cable,
/turf/open/floor/carpet,
/area/crew_quarters/cryopod)
"vxh" = (
/obj/structure/table,
/obj/effect/spawner/lootdrop/maintenance{
@@ -57599,6 +57669,16 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on,
/turf/open/floor/plasteel/white,
/area/science/circuit)
"vHj" = (
/obj/machinery/door/airlock/public/glass{
name = "Cryogenics "
},
/obj/structure/cable{
icon_state = "4-8"
},
/obj/machinery/door/firedoor,
/turf/open/floor/plasteel,
/area/crew_quarters/cryopod)
"vHY" = (
/turf/open/floor/plating,
/area/science/mixing)
@@ -57616,6 +57696,12 @@
"wkN" = (
/turf/closed/wall,
/area/science/circuit)
"woR" = (
/obj/machinery/cryopod{
dir = 1
},
/turf/open/floor/carpet,
/area/crew_quarters/cryopod)
"wph" = (
/obj/docking_port/stationary{
area_type = /area/construction/mining/aux_base;
@@ -87629,12 +87715,12 @@ arf
arf
arf
arf
arf
arf
arf
arf
anF
ahn
dgz
dgz
dgz
dgz
dgz
dgz
aJn
aJn
aJq
@@ -87886,12 +87972,12 @@ atf
arf
aqa
atf
arf
dgz
tqg
ujF
arf
anF
ahn
ujF
ujF
dgz
aaa
aJn
aJq
@@ -88143,12 +88229,12 @@ ath
arf
apY
ath
arf
dgz
fvY
ath
arf
anF
ahn
dvc
dzi
vsM
dgz
aaa
aJn
aLY
@@ -88400,12 +88486,12 @@ ath
arf
ayV
ath
arf
dgz
aCd
qIw
arf
anF
ahn
gfD
woR
dgz
aJw
aJw
aMh
@@ -88657,12 +88743,12 @@ awo
arf
asd
aAb
arf
asd
dgz
iVU
aDK
arf
aoa
ahn
vHj
eVC
dgz
aJv
aKG
aMg
+37 -56
View File
@@ -18876,6 +18876,9 @@
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/machinery/computer/cryopod{
pixel_y = 26
},
/turf/open/floor/plasteel,
/area/security/prison)
"aMm" = (
@@ -74297,6 +74300,10 @@
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/machinery/computer/cryopod{
dir = 8;
pixel_x = 26
},
/turf/open/floor/plasteel,
/area/crew_quarters/locker)
"cuC" = (
@@ -75916,10 +75923,6 @@
/obj/machinery/light{
dir = 4
},
/obj/machinery/computer/cryopod{
pixel_x = 30
},
/obj/machinery/cryopod,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -75930,6 +75933,9 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/machinery/cryopod{
dir = 8
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"cxs" = (
@@ -76886,7 +76892,6 @@
/obj/machinery/status_display{
pixel_x = 32
},
/obj/machinery/cryopod,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -76897,6 +76902,9 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/machinery/cryopod{
dir = 8
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"cyX" = (
@@ -77710,6 +77718,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/structure/closet/wardrobe/white,
/turf/open/floor/plasteel{
heat_capacity = 1e+006
},
@@ -78713,6 +78722,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/structure/closet/wardrobe/mixed,
/turf/open/floor/plasteel{
heat_capacity = 1e+006
},
@@ -78880,7 +78890,9 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/structure/closet/wardrobe/mixed,
/obj/machinery/cryopod{
dir = 8
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"cCc" = (
@@ -79859,20 +79871,6 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/locker)
"cDB" = (
/obj/structure/closet/wardrobe/white,
/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
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"cDC" = (
/obj/effect/decal/cleanable/blood/old,
/obj/effect/decal/cleanable/dirt{
@@ -80973,20 +80971,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/plasteel,
/area/crew_quarters/locker)
"cFv" = (
/obj/structure/closet/wardrobe/grey,
/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
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"cFw" = (
/obj/item/clipboard{
pixel_x = -4;
@@ -81692,7 +81676,6 @@
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"cGM" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -81703,6 +81686,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/structure/closet/wardrobe/grey,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"cGN" = (
@@ -81738,9 +81722,6 @@
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"cGP" = (
/obj/structure/table,
/obj/item/paper_bin,
/obj/item/pen,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -81751,6 +81732,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/structure/closet/wardrobe/black,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"cGQ" = (
@@ -81785,20 +81767,6 @@
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"cGS" = (
/obj/structure/closet/wardrobe/black,
/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
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"cGT" = (
/obj/machinery/button/door{
id = "Dorm1";
@@ -127461,6 +127429,19 @@
},
/turf/open/floor/plasteel/white,
/area/medical/medbay/central)
"xKS" = (
/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
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"xMn" = (
/obj/structure/disposalpipe/trunk,
/obj/machinery/disposal/bin,
@@ -177002,7 +176983,7 @@ cAu
cBZ
cDA
cFt
cGM
xKS
cxi
cJg
cKV
@@ -177514,9 +177495,9 @@ cxr
cyW
cqd
cCb
cDB
cFv
cGS
cCb
cCb
cCb
cqd
cJi
cKX
+262 -82
View File
@@ -911,7 +911,9 @@
dir = 8;
pixel_x = 24
},
/obj/machinery/cryopod,
/obj/machinery/cryopod{
dir = 8
},
/turf/open/floor/plasteel,
/area/security/prison)
"acy" = (
@@ -1090,6 +1092,10 @@
pixel_y = 7
},
/obj/item/pen,
/obj/machinery/computer/cryopod{
dir = 8;
pixel_x = 26
},
/turf/open/floor/plasteel,
/area/security/prison)
"acN" = (
@@ -2682,10 +2688,13 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
"afv" = (
/obj/structure/easel,
/obj/structure/cable/yellow{
icon_state = "1-2"
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
"afw" = (
@@ -2714,6 +2723,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
"afy" = (
@@ -3276,6 +3286,7 @@
/obj/structure/cable/yellow{
icon_state = "4-8"
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
"agx" = (
@@ -3720,6 +3731,7 @@
"ahj" = (
/obj/structure/chair,
/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
"ahk" = (
@@ -5184,9 +5196,7 @@
/obj/structure/chair/stool{
pixel_y = 8
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
"ajS" = (
@@ -5974,10 +5984,6 @@
/turf/open/floor/plating,
/area/maintenance/fore)
"alf" = (
/obj/machinery/cryopod{
icon_state = "cryopod-open";
dir = 1
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
"alg" = (
@@ -6797,23 +6803,6 @@
},
/turf/open/floor/plating,
/area/maintenance/fore)
"amv" = (
/obj/machinery/cryopod{
icon_state = "cryopod-open";
dir = 1
},
/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
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
"amw" = (
/obj/structure/window/reinforced,
/obj/machinery/door/window/eastright{
@@ -6826,11 +6815,16 @@
/area/crew_quarters/fitness/recreation)
"amx" = (
/obj/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
dir = 8
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
"amy" = (
/obj/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 9
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
"amz" = (
@@ -80731,9 +80725,6 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 6
},
/obj/machinery/computer/cryopod{
pixel_x = -30
},
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
"dhq" = (
@@ -83268,6 +83259,12 @@
},
/turf/open/floor/plasteel/dark,
/area/chapel/office)
"eHn" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/door/firedoor,
/turf/open/floor/plating,
/area/crew_quarters/cryopod)
"eZe" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
@@ -83281,6 +83278,19 @@
/obj/structure/closet/firecloset,
/turf/open/floor/plating,
/area/engine/engineering)
"fpY" = (
/turf/closed/wall,
/area/crew_quarters/cryopod)
"fzR" = (
/obj/machinery/door/airlock{
name = "Cryogenics"
},
/obj/machinery/door/firedoor,
/obj/structure/cable/yellow{
icon_state = "1-2"
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"fDD" = (
/obj/machinery/light_switch{
pixel_y = -25
@@ -83302,6 +83312,12 @@
},
/turf/open/floor/plasteel/white,
/area/science/circuit)
"gde" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"gnZ" = (
/obj/item/radio/intercom{
pixel_y = -30
@@ -83321,6 +83337,18 @@
/obj/item/clothing/suit/apron/chef,
/turf/open/floor/plating,
/area/maintenance/port/aft)
"gqO" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
},
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/structure/cable/yellow{
icon_state = "1-4"
},
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
"gra" = (
/obj/structure/disposalpipe/segment{
dir = 5
@@ -83415,6 +83443,12 @@
/obj/machinery/door/firedoor,
/turf/open/floor/plasteel,
/area/science/circuit)
"ivu" = (
/obj/structure/cable/yellow{
icon_state = "2-4"
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"izu" = (
/obj/machinery/autolathe{
name = "public autolathe"
@@ -83452,6 +83486,13 @@
},
/turf/open/floor/plating,
/area/quartermaster/storage)
"jfW" = (
/obj/structure/window/reinforced{
dir = 1
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
"jwW" = (
/turf/closed/wall/mineral/plastitanium,
/area/crew_quarters/fitness/recreation)
@@ -83609,6 +83650,12 @@
},
/turf/open/floor/plasteel/white,
/area/science/circuit)
"lzG" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"lGS" = (
/obj/docking_port/stationary/public_mining_dock,
/turf/open/floor/plating,
@@ -83643,6 +83690,13 @@
},
/turf/open/floor/plasteel/dark,
/area/tcommsat/server)
"maM" = (
/obj/machinery/cryopod,
/obj/machinery/light{
dir = 4
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"mjJ" = (
/obj/machinery/nuclearbomb/beer{
pixel_x = 2;
@@ -83650,6 +83704,10 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
"mnV" = (
/obj/structure/lattice,
/turf/closed/wall,
/area/crew_quarters/cryopod)
"mvj" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -83666,6 +83724,14 @@
},
/turf/open/floor/plasteel/white,
/area/science/circuit)
"mAU" = (
/obj/machinery/cryopod,
/obj/machinery/camera{
c_tag = "Fitness Room - Fore";
dir = 2
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"mWg" = (
/obj/structure/girder,
/obj/structure/grille,
@@ -83783,6 +83849,13 @@
/obj/structure/sign/poster/official/random,
/turf/closed/wall,
/area/hydroponics)
"oFq" = (
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"oLq" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"oLW" = (
/obj/structure/table/reinforced,
/obj/structure/cable/yellow{
@@ -83819,6 +83892,13 @@
/obj/item/pen,
/turf/open/floor/plasteel/white,
/area/science/circuit)
"oXn" = (
/obj/machinery/computer/cryopod{
dir = 4;
pixel_x = -26
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"oZg" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -83868,6 +83948,14 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard)
"pEv" = (
/obj/machinery/airalarm{
dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"pMX" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -83912,6 +84000,20 @@
},
/turf/open/floor/plasteel,
/area/science/misc_lab)
"qvY" = (
/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/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
"qBh" = (
/obj/structure/table,
/obj/item/paicard,
@@ -83935,6 +84037,11 @@
/obj/item/storage/photo_album,
/turf/open/floor/engine/cult,
/area/library)
"qLE" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/firedoor,
/turf/open/floor/plating,
/area/crew_quarters/cryopod)
"qRM" = (
/obj/machinery/camera{
c_tag = "Research Division Circuitry Lab";
@@ -83952,6 +84059,13 @@
},
/turf/open/floor/wood,
/area/library)
"qXt" = (
/obj/machinery/firealarm{
dir = 8;
pixel_x = -24
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"rzX" = (
/obj/structure/chair/office/light{
dir = 1;
@@ -83998,10 +84112,23 @@
},
/turf/open/floor/plasteel,
/area/science/circuit)
"sdw" = (
/turf/open/space/basic,
/area/space/nearstation)
"siF" = (
/obj/structure/grille,
/turf/open/floor/plating/airless,
/area/space/nearstation)
"soh" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
},
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
"sFv" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -84043,6 +84170,23 @@
"sJW" = (
/turf/closed/wall/mineral/plastitanium,
/area/engine/break_room)
"sME" = (
/obj/machinery/light{
dir = 8
},
/obj/machinery/cryopod,
/obj/machinery/light_switch{
pixel_x = -26
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"tap" = (
/obj/machinery/power/apc/auto_name/east,
/obj/structure/cable/yellow{
icon_state = "0-8"
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"tsx" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -84091,6 +84235,10 @@
/obj/machinery/air_sensor/atmos/toxins_mixing_tank,
/turf/open/floor/engine/vacuum,
/area/science/mixing)
"ugc" = (
/obj/machinery/cryopod,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"upN" = (
/obj/effect/turf_decal/stripes/line{
dir = 5
@@ -84182,6 +84330,23 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
"vxG" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/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/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
"vyx" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 4
@@ -84193,6 +84358,11 @@
/obj/structure/lattice,
/turf/open/space/basic,
/area/space)
"wdu" = (
/obj/structure/grille,
/obj/structure/lattice,
/turf/open/floor/plating,
/area/space/nearstation)
"wgw" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/closed/wall/r_wall,
@@ -84221,6 +84391,12 @@
},
/turf/open/floor/plating,
/area/engine/atmos)
"wzH" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/door/firedoor,
/turf/open/floor/plating,
/area/crew_quarters/cryopod)
"wFH" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
@@ -84254,6 +84430,10 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel,
/area/science/misc_lab)
"xeC" = (
/obj/machinery/light,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"xkG" = (
/obj/item/integrated_electronics/wirer,
/obj/structure/table/reinforced,
@@ -119110,11 +119290,11 @@ aaa
aaa
aaa
aai
aaa
aaa
aaf
aaa
acP
fpY
fpY
mnV
fpY
fpY
acP
ags
acP
@@ -119122,7 +119302,7 @@ acP
acP
acP
alf
amv
afA
acP
aoS
acP
@@ -119367,11 +119547,11 @@ aaa
aaa
aaa
aag
aaa
aaa
aaf
aaa
acQ
fpY
sME
oXn
qXt
qLE
aft
agt
ahf
@@ -119623,17 +119803,17 @@ aaa
aaa
aaa
aaa
aag
aaa
aaa
aaf
aaa
acQ
wdu
qLE
ugc
oFq
oLq
wzH
afu
agu
ahg
ahg
ahg
soh
aiX
aiX
aiX
ajR
ahg
ahg
@@ -119881,13 +120061,13 @@ aaa
aaa
aaa
aag
aaa
aaa
aaf
aaa
acQ
fpY
ugc
ivu
gde
fzR
afv
agu
gqO
ahh
ahh
aiR
@@ -120138,11 +120318,11 @@ aaa
aaa
aaa
aai
aaa
aaa
aaf
aaf
acP
fpY
mAU
lzG
xeC
fpY
acP
agv
ahh
@@ -120395,11 +120575,11 @@ aaa
aaa
aaa
aag
aaa
aaa
aaf
aaa
acQ
fpY
ugc
lzG
oFq
qLE
afw
agu
ahi
@@ -120652,18 +120832,18 @@ aaa
aaa
aaa
aag
aaa
aaa
aaf
aaa
acQ
qLE
maM
tap
pEv
eHn
afx
agw
ahj
ahX
afA
ajU
afA
jfW
qvY
vxG
qvY
amy
anI
aoX
@@ -120909,11 +121089,11 @@ aaa
aaa
aaf
aai
aaf
aaf
aaf
aaa
acQ
fpY
fpY
fpY
fpY
fpY
afy
agx
ahk
@@ -121168,7 +121348,7 @@ aaf
aaa
aaa
aaa
aaf
sdw
aaa
acP
acP
+15 -2
View File
@@ -2639,6 +2639,13 @@
},
/turf/open/indestructible/boss,
/area/lavaland/surface/outdoors)
"il" = (
/obj/machinery/computer/cryopod{
dir = 4;
pixel_x = -26
},
/turf/open/floor/plasteel,
/area/mine/laborcamp)
"ir" = (
/obj/structure/stone_tile/slab/cracked{
dir = 5
@@ -3534,6 +3541,12 @@
},
/turf/open/indestructible/boss,
/area/lavaland/surface/outdoors)
"Po" = (
/obj/machinery/cryopod{
dir = 4
},
/turf/open/floor/plasteel,
/area/mine/laborcamp)
"Uq" = (
/obj/docking_port/stationary{
area_type = /area/lavaland/surface/outdoors;
@@ -9244,8 +9257,8 @@ ap
ar
ar
aq
az
az
Po
il
az
az
az
+11 -5
View File
@@ -13798,7 +13798,6 @@
/area/crew_quarters/dorms)
"axG" = (
/obj/effect/turf_decal/bot,
/obj/machinery/cryopod,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -13809,6 +13808,9 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/machinery/cryopod{
dir = 8
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/dorms)
"axH" = (
@@ -16798,6 +16800,7 @@
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"aDG" = (
/obj/effect/landmark/event_spawn,
/turf/open/floor/wood,
/area/crew_quarters/dorms)
"aDH" = (
@@ -36561,10 +36564,6 @@
/turf/open/floor/plasteel,
/area/engine/atmos)
"bxJ" = (
/obj/effect/landmark/event_spawn,
/obj/machinery/computer/cryopod{
pixel_x = 30
},
/obj/machinery/light{
dir = 4;
light_color = "#e8eaff"
@@ -36573,6 +36572,13 @@
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/machinery/computer/cryopod{
dir = 8;
pixel_x = 26
},
/obj/machinery/cryopod{
dir = 8
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"bxK" = (
+24 -5
View File
@@ -8707,7 +8707,9 @@
/obj/machinery/computer/cryopod{
pixel_y = 30
},
/obj/machinery/cryopod,
/obj/machinery/cryopod{
dir = 8
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"avm" = (
@@ -53537,6 +53539,12 @@
/obj/structure/chair/office/dark,
/turf/open/floor/wood,
/area/lawoffice)
"epj" = (
/obj/machinery/cryopod{
dir = 8
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"epJ" = (
/obj/structure/sign/poster/contraband/random{
pixel_y = 32
@@ -53769,6 +53777,13 @@
/obj/machinery/door/firedoor,
/turf/open/floor/plasteel,
/area/hallway/primary/aft)
"eSB" = (
/obj/machinery/computer/cryopod{
dir = 1;
pixel_y = -26;
},
/turf/open/floor/plasteel/dark,
/area/security/prison)
"eSL" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/item/beacon,
@@ -54140,7 +54155,9 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/machinery/cryopod,
/obj/machinery/cryopod{
dir = 8
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"fIN" = (
@@ -55936,7 +55953,9 @@
/turf/open/floor/plating,
/area/maintenance/department/science)
"jXF" = (
/obj/machinery/cryopod,
/obj/machinery/cryopod{
dir = 1
},
/turf/open/floor/plasteel/dark,
/area/security/prison)
"jXV" = (
@@ -82772,7 +82791,7 @@ aeU
afo
afG
aeU
aeU
eSB
agy
agL
agZ
@@ -102071,7 +102090,7 @@ apX
apX
avl
fIu
dbi
epj
aIh
azA
dbi
+1
View File
@@ -71,6 +71,7 @@
#define ADMIN_PUNISHMENT_ROD "Immovable Rod"
#define ADMIN_PUNISHMENT_SUPPLYPOD "Supply Pod"
#define ADMIN_PUNISHMENT_MAZING "Puzzle"
#define ADMIN_PUNISHMENT_PIE "Cream Pie"
#define AHELP_ACTIVE 1
#define AHELP_CLOSED 2
+5
View File
@@ -76,6 +76,9 @@
#define MILK_RATE_MULT 1
#define MILK_EFFICIENCY 1
#define AROUSAL_MINIMUM_DEFAULT 0
#define AROUSAL_MAXIMUM_DEFAULT 100
#define AROUSAL_START_VALUE 1
//Individual logging define
#define INDIVIDUAL_LOOC_LOG "LOOC log"
@@ -98,6 +101,8 @@
#define SKINTONE 40 //uses skin tones
//Citadel istypes
#define isgenital(A) (istype(A, /obj/item/organ/genital))
#define isborer(A) (istype(A, /mob/living/simple_animal/borer))
#define isipcperson(A) (is_species(A, /datum/species/ipc))
#define ismammal(A) (is_species(A, /datum/species/mammal))
+3 -3
View File
@@ -28,9 +28,9 @@ GLOBAL_LIST_EMPTY(all_scripture) //a list containing scripture instances; not us
#define SCRIPTURE_APPLICATION "Application"
//Various costs related to power.
#define MAX_CLOCKWORK_POWER 50000 //The max power in W that the cult can stockpile
#define SCRIPT_UNLOCK_THRESHOLD 25000 //Scripts will unlock if the total power reaches this amount
#define APPLICATION_UNLOCK_THRESHOLD 40000 //Applications will unlock if the total powre reaches this amount
#define MAX_CLOCKWORK_POWER 80000 //The max power in W that the cult can stockpile
#define SCRIPT_UNLOCK_THRESHOLD 35000 //Scripts will unlock if the total power reaches this amount
#define APPLICATION_UNLOCK_THRESHOLD 50000 //Applications will unlock if the total powre reaches this amount
#define ABSCOND_ABDUCTION_COST 95
+2 -1
View File
@@ -53,4 +53,5 @@
#define COLOR_ASSEMBLY_GREEN "#44843C"
#define COLOR_ASSEMBLY_LBLUE "#5D99BE"
#define COLOR_ASSEMBLY_BLUE "#38559E"
#define COLOR_ASSEMBLY_PURPLE "#6F6192"
#define COLOR_ASSEMBLY_PURPLE "#6F6192"
#define COLOR_ASSEMBLY_PINK "#ff4adc"
+1
View File
@@ -70,6 +70,7 @@
#define TRAIT_PHOTOGRAPHER "photographer"
#define TRAIT_MUSICIAN "musician"
#define TRAIT_CROCRIN_IMMUNE "crocin_immune"
#define TRAIT_NYMPHO "nymphomania"
// common trait sources
#define TRAIT_GENERIC "generic"
+5
View File
@@ -12,3 +12,8 @@
/proc/format_frequency(frequency)
frequency = text2num(frequency)
return "[round(frequency / 10)].[frequency % 10]"
//Opposite of format, returns as a number
/proc/unformat_frequency(frequency)
frequency = text2num(frequency)
return frequency * 10
@@ -360,3 +360,7 @@
min_val = 0
/datum/config_entry/flag/disable_stambuffer
/datum/config_entry/number/auto_transfer_delay
config_entry_value = 72000
min_val = 0
+1
View File
@@ -76,6 +76,7 @@ SUBSYSTEM_DEF(shuttle)
if(!supply)
WARNING("No /obj/docking_port/mobile/supply placed on the map!")
realtimeofstart = world.realtime
auto_call = CONFIG_GET(number/auto_transfer_delay)
return ..()
/datum/controller/subsystem/shuttle/proc/initial_load()
+32 -10
View File
@@ -14,7 +14,8 @@ SUBSYSTEM_DEF(traumas)
//phobia types is to pull from randomly for brain traumas, e.g. conspiracies is for special assignment only
phobia_types = list("spiders", "space", "security", "clowns", "greytide", "lizards",
"skeletons", "snakes", "robots", "doctors", "authority", "the supernatural",
"aliens", "strangers", "birds", "falling", "anime", "mimes", "cats"
"aliens", "strangers", "birds", "falling", "anime", "mimes", "cats", "syndicate",
"eye"
)
phobia_words = list("spiders" = strings(PHOBIA_FILE, "spiders"),
@@ -36,7 +37,9 @@ SUBSYSTEM_DEF(traumas)
"falling" = strings(PHOBIA_FILE, "falling"),
"anime" = strings(PHOBIA_FILE, "anime"),
"mimes" = strings(PHOBIA_FILE, "mimes"),
"cats" = strings(PHOBIA_FILE, "cats")
"cats" = strings(PHOBIA_FILE, "cats"),
"syndicate"= strings(PHOBIA_FILE, "syndicate"),
"eye" = strings(PHOBIA_FILE, "eye")
)
phobia_mobs = list("spiders" = typecacheof(list(/mob/living/simple_animal/hostile/poison/giant_spider)),
@@ -56,7 +59,9 @@ SUBSYSTEM_DEF(traumas)
"birds" = typecacheof(list(/mob/living/simple_animal/parrot, /mob/living/simple_animal/chick, /mob/living/simple_animal/chicken,
/mob/living/simple_animal/pet/penguin)),
"anime" = typecacheof(list(/mob/living/simple_animal/hostile/guardian)),
"cats"= typecacheof(list(/mob/living/simple_animal/mouse, /mob/living/simple_animal/pet/cat, /mob/living/simple_animal/hostile/cat_butcherer))
"cats"= typecacheof(list(/mob/living/simple_animal/mouse, /mob/living/simple_animal/pet/cat, /mob/living/simple_animal/hostile/cat_butcherer)),
"syndicate" = typecacheof(list(/mob/living/simple_animal/hostile/syndicate, /mob/living/simple_animal/hostile/viscerator, /mob/living/simple_animal/hostile/carp/cayenne, /mob/living/silicon/robot/modules/syndicate)),
"eye" = typecacheof(list(/mob/living/simple_animal/hostile/asteroid/basilisk/watcher, /mob/living/simple_animal/hostile/carp/eyeball))
)
@@ -157,7 +162,23 @@ SUBSYSTEM_DEF(traumas)
/obj/item/clothing/under/sexymime, /obj/item/toy/figure/mime, /obj/item/toy/crayon/mime, /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/silenced, /obj/mecha/combat/reticence)),
"cats" = typecacheof(list(/obj/item/organ/ears/cat, /obj/item/organ/tail/cat, /obj/item/laser_pointer, /obj/item/toy/cattoy, /obj/item/clothing/head/kitty,
/obj/item/clothing/head/collectable/kitty, /obj/item/melee/chainofcommand/tailwhip/kitty, /obj/item/stack/sheet/animalhide/cat))
/obj/item/clothing/head/collectable/kitty, /obj/item/melee/chainofcommand/tailwhip/kitty, /obj/item/stack/sheet/animalhide/cat)),
"syndicate" = typecacheof(list(/obj/item/stack/tile/mineral/plastitanium, /obj/machinery/computer/shuttle/syndicate, /obj/machinery/computer/shuttle/syndicate/recall, /obj/machinery/computer/shuttle/syndicate/drop_pod, /obj/machinery/computer/camera_advanced/shuttle_docker/syndicate, /obj/machinery/recharge_station,
/obj/machinery/porta_turret/syndicate, /obj/structure/closet/syndicate, /obj/machinery/suit_storage_unit/syndicate, /obj/item/clothing/under/syndicate, /obj/item/folder/syndicate, /obj/item/documents/syndicate, /obj/item/clothing/glasses/phantomthief/syndicate, /obj/item/antag_spawner/nuke_ops, /obj/item/storage/box/syndicate,
/obj/structure/fluff/empty_sleeper/syndicate, /obj/item/implant/radio/syndicate, /obj/item/clothing/head/helmet/space/syndicate, /obj/machinery/nuclearbomb/syndicate, /obj/item/grenade/syndieminibomb, /obj/item/storage/backpack/duffelbag/syndie, /obj/item/gun/ballistic/automatic/pistol, /obj/item/gun/ballistic/revolver/syndie,
/obj/item/gun/ballistic/automatic/shotgun/bulldog, /obj/item/gun/ballistic/automatic/c20r, /obj/item/gun/ballistic/automatic/m90, /obj/item/gun/ballistic/automatic/l6_saw, /obj/item/storage/belt/grenade/full, /obj/item/gun/ballistic/automatic/sniper_rifle/syndicate, /obj/item/gun/energy/kinetic_accelerator/crossbow,
/obj/item/melee/transforming/energy/sword/saber, /obj/item/twohanded/dualsaber, /obj/item/melee/powerfist, /obj/item/storage/box/syndie_kit, /obj/item/grenade/spawnergrenade/manhacks, /obj/item/grenade/chem_grenade/bioterrorfoam, /obj/item/reagent_containers/spray/chemsprayer/bioterror, /obj/item/ammo_box/magazine/m10mm,
/obj/item/ammo_box/magazine/pistolm9mm, /obj/item/ammo_box/a357, /obj/item/ammo_box/magazine/m12g, /obj/item/ammo_box/magazine/mm195x129, /obj/item/antag_spawner/nuke_ops, /obj/mecha/combat/gygax/dark, /obj/mecha/combat/marauder/mauler, /obj/item/soap/syndie, /obj/item/gun/syringe/syndicate, /obj/item/cartridge/virus/syndicate,
/obj/item/cartridge/virus/frame, /obj/item/chameleon, /obj/item/storage/box/syndie_kit/cutouts, /obj/item/clothing/suit/space/hardsuit/syndi, /obj/item/card/emag, /obj/item/storage/toolbox/syndicate, /obj/item/storage/book/bible/syndicate, /obj/item/encryptionkey/binary, /obj/item/encryptionkey/syndicate, /obj/item/aiModule/syndicate,
/obj/item/clothing/shoes/magboots/syndie, /obj/item/powersink, /obj/item/sbeacondrop, /obj/item/sbeacondrop/bomb, /obj/item/syndicatedetonator, /obj/item/shield/energy, /obj/item/assault_pod, /obj/item/slimepotion/slime/sentience/nuclear, /obj/item/stack/telecrystal, /obj/item/jammer, /obj/item/codespeak_manual/unlimited,
/obj/item/toy/cards/deck/syndicate, /obj/item/storage/secure/briefcase/syndie, /obj/item/storage/fancy/cigarettes/cigpack_syndicate, /obj/item/toy/syndicateballoon, /obj/item/clothing/gloves/rapid, /obj/item/paper/fluff/ruins/thederelict/syndie_mission, /obj/item/organ/cyberimp/eyes/hud/security/syndicate, /obj/item/clothing/head/HoS/syndicate,
/obj/machinery/computer/pod/old/syndicate, /obj/machinery/vending/medical/syndicate_access, /obj/item/mmi/syndie, /obj/item/target/syndicate, /obj/machinery/vending/cigarette/syndicate, /obj/item/robot_module/syndicate, /obj/item/clothing/mask/gas/syndicate, /obj/machinery/power/singularity_beacon/syndicate, /obj/item/clothing/head/syndicatefake,
/obj/item/radio/headset/syndicate, /obj/item/gun/ballistic/automatic/pistol/antitank/syndicate, /obj/item/pda/syndicate, /obj/item/clothing/suit/armor/vest/capcarapace/syndicate, /obj/item/gun/ballistic/automatic/flechette, /obj/item/ammo_box/magazine/flechette, /obj/item/clothing/suit/toggle/lawyer/black/syndie, /obj/item/melee/transforming/energy/sword/cx/traitor,
/obj/structure/sign/poster/contraband/syndicate_pistol, /obj/structure/sign/poster/contraband/syndicate_recruitment, /obj/item/bedsheet/syndie, /obj/item/borg/upgrade/syndicate, /obj/item/tank/jetpack/oxygen/harness, /obj/item/firing_pin/implant/pindicate, /obj/item/reagent_containers/glass/bottle/traitor, /obj/item/storage/belt/military,
/obj/item/twohanded/shockpaddles/syndicate, /obj/item/clothing/mask/cigarette/syndicate, /obj/item/toy/plush/nukeplushie)),
"eye" = typecacheof(list(/obj/item/organ/eyes, /obj/item/reagent_containers/syringe))
)
phobia_turfs = list("space" = typecacheof(list(/turf/open/space, /turf/open/floor/holofloor/space, /turf/open/floor/fakespace)),
@@ -165,18 +186,19 @@ SUBSYSTEM_DEF(traumas)
/turf/open/floor/plasteel/cult, /turf/closed/wall/mineral/cult)),
"aliens" = typecacheof(list(/turf/open/floor/plating/abductor, /turf/open/floor/plating/abductor2,
/turf/open/floor/mineral/abductor, /turf/closed/wall/mineral/abductor)),
"falling" = typecacheof(list(/turf/open/chasm, /turf/open/floor/fakepit))
"falling" = typecacheof(list(/turf/open/chasm, /turf/open/floor/fakepit)),
"syndicate" = typecacheof(list(/turf/closed/wall/mineral/plastitanium, /turf/open/floor/mineral/plastitanium, /turf/open/floor/plasteel/shuttle/red/syndicate))
)
phobia_species = list("lizards" = typecacheof(list(/datum/species/lizard)),
"skeletons" = typecacheof(list(/datum/species/skeleton, /datum/species/plasmaman)),
"conspiracies" = typecacheof(list(/datum/species/abductor, /datum/species/lizard, /datum/species/synth)),
"robots" = typecacheof(list(/datum/species/android)),
"conspiracies" = typecacheof(list(/datum/species/abductor, /datum/species/lizard, /datum/species/synth, /datum/species/corporate)),
"robots" = typecacheof(list(/datum/species/android, /datum/species/synth)),
"the supernatural" = typecacheof(list(/datum/species/golem/clockwork, /datum/species/golem/runic)),
"aliens" = typecacheof(list(/datum/species/abductor, /datum/species/jelly, /datum/species/pod,
/datum/species/shadow)),
"aliens" = typecacheof(list(/datum/species/abductor, /datum/species/jelly, /datum/species/pod, /datum/species/shadow)),
"anime" = typecacheof(list(/datum/species/human/felinid)),
"cats" = typecacheof(list(/datum/species/human/felinid))
"cats" = typecacheof(list(/datum/species/human/felinid)),
"syndicate" = typecacheof(list(/datum/species/corporate, /datum/species/zombie/infectious))
)
return ..()
+1
View File
@@ -228,6 +228,7 @@ SUBSYSTEM_DEF(vote)
to_chat(world, "\n<font color='purple'><b>[text]</b>\nType <b>vote</b> or click <a href='?src=[REF(src)]'>here</a> to place your votes.\nYou have [DisplayTimeText(vp)] to vote.</font>")
time_remaining = round(vp/10)
for(var/c in GLOB.clients)
SEND_SOUND(c, sound('sound/misc/server-ready.ogg'))
var/client/C = c
var/datum/action/vote/V = new
if(question)
+1 -1
View File
@@ -57,8 +57,8 @@
if(H.stat == CONSCIOUS)
H.visible_message("<span class='userdanger'>[H] clutches at [H.p_their()] chest as if [H.p_their()] heart is stopping!</span>")
H.adjustStaminaLoss(60)
H.reagents.add_reagent("corazone", 3) // To give the victim a final chance to shock their heart before losing consciousness
H.set_heartattack(TRUE)
H.reagents.add_reagent("corazone", 3) // To give the victim a final chance to shock their heart before losing consciousness
cure()
else
@@ -33,6 +33,11 @@
mood_change = 2
timeout = 2400
/datum/mood_event/bshonk
description = "<span class='nicegreen'>Quantum mechanics can be fun and silly, too! Honk!</span>\n"
mood_change = 6
timeout = 4800
/datum/mood_event/perform_cpr
description = "<span class='nicegreen'>It feels good to save a life.</span>\n"
mood_change = 6
+16
View File
@@ -151,6 +151,22 @@
if(mob_occupant.reagents && mob_occupant.reagents.reagent_list.len)
for(var/datum/reagent/R in mob_occupant.reagents.reagent_list)
data["occupant"]["reagents"] += list(list("name" = R.name, "volume" = R.volume))
if(mob_occupant.has_dna()) // Blood-stuff is mostly a copy-paste from the healthscanner.
var/mob/living/carbon/C = mob_occupant
var/blood_id = C.get_blood_id()
if(blood_id)
data["occupant"]["blood"] = list() // We can start populating this list.
var/blood_type = C.dna.blood_type
if(blood_id != "blood") // special blood substance
var/datum/reagent/R = GLOB.chemical_reagents_list[blood_id]
if(R)
blood_type = R.name
else
blood_type = blood_id
data["occupant"]["blood"]["maxBloodVolume"] = BLOOD_VOLUME_NORMAL
data["occupant"]["blood"]["currentBloodVolume"] = C.blood_volume
data["occupant"]["blood"]["dangerBloodVolume"] = BLOOD_VOLUME_SAFE
data["occupant"]["blood"]["bloodType"] = blood_type
return data
/obj/machinery/sleeper/ui_act(action, params)
+55 -7
View File
@@ -50,6 +50,8 @@
radio.canhear_range = 0
radio.recalculateChannels()
update_icon()
/obj/machinery/clonepod/Destroy()
go_out()
QDEL_NULL(radio)
@@ -151,7 +153,6 @@
if(clonemind.damnation_type) //Can't clone the damned.
INVOKE_ASYNC(src, .proc/horrifyingsound)
mess = TRUE
icon_state = "pod_g"
update_icon()
return FALSE
@@ -179,7 +180,6 @@
clonename = "clone ([rand(1,999)])"
H.real_name = clonename
icon_state = "pod_1"
//Get the clone body ready
maim_clone(H)
H.add_trait(TRAIT_STABLEHEART, "cloning")
@@ -278,10 +278,10 @@
else if (!mob_occupant || mob_occupant.loc != src)
occupant = null
if (!mess && !panel_open)
icon_state = "pod_0"
use_power(200)
update_icon()
//Let's unlock this early I guess. Might be too early, needs tweaking.
/obj/machinery/clonepod/attackby(obj/item/W, mob/user, params)
if(!(occupant || mess))
@@ -355,7 +355,7 @@
mess = FALSE
new /obj/effect/gibspawner/generic(get_turf(src))
audible_message("<span class='italics'>You hear a splat.</span>")
icon_state = "pod_0"
update_icon()
return
if(!mob_occupant)
@@ -373,7 +373,7 @@
mob_occupant.flash_act()
occupant.forceMove(T)
icon_state = "pod_0"
update_icon()
mob_occupant.domutcheck(1) //Waiting until they're out before possible monkeyizing. The 1 argument forces powers to manifest.
for(var/fl in unattached_flesh)
qdel(fl)
@@ -389,7 +389,7 @@
technician, as your warranty may be affected.")
mess = TRUE
maim_clone(mob_occupant) //Remove every bit that's grown back so far to drop later, also destroys bits that haven't grown yet
icon_state = "pod_g"
update_icon()
if(mob_occupant.mind != clonemind)
clonemind.transfer_to(mob_occupant)
mob_occupant.grab_ghost() // We really just want to make you suffer.
@@ -471,6 +471,54 @@
flesh_number = unattached_flesh.len
#define CRYOMOBS 'icons/obj/cryo_mobs.dmi'
/obj/machinery/clonepod/update_icon()
cut_overlays()
if(mess)
icon_state = "pod_g"
var/image/gib1 = image(CRYOMOBS, "gibup")
var/image/gib2 = image(CRYOMOBS, "gibdown")
gib1.pixel_y = 27 + round(sin(world.time) * 3)
gib1.pixel_x = round(sin(world.time * 3))
gib2.pixel_y = 27 + round(cos(world.time) * 3)
gib2.pixel_x = round(cos(world.time * 3))
add_overlay(gib2)
add_overlay(gib1)
add_overlay("cover-on")
else if(occupant)
icon_state = "pod_1"
var/image/occupant_overlay
var/completion = (flesh_number - unattached_flesh.len) / flesh_number
if(unattached_flesh.len <= 0)
occupant_overlay = image(occupant.icon, occupant.icon_state)
occupant_overlay.copy_overlays(occupant)
else
occupant_overlay = image(CRYOMOBS, "clone_meat")
var/matrix/tform = matrix()
tform.Scale(completion)
tform.Turn(cos(world.time * 2) * 3)
occupant_overlay.transform = tform
occupant_overlay.appearance_flags = 0
occupant_overlay.dir = SOUTH
occupant_overlay.pixel_y = 27 + round(sin(world.time) * 3)
occupant_overlay.pixel_x = round(sin(world.time * 3))
add_overlay(occupant_overlay)
add_overlay("cover-on")
else
icon_state = "pod_0"
if(panel_open)
icon_state = "pod_0_maintenance"
add_overlay("panel")
/*
* Manual -- A big ol' manual.
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/obj/machinery/dna_scannernew
name = "\improper DNA scanner"
desc = "It scans DNA structures."
icon = 'icons/obj/machines/cloning.dmi'
icon = 'icons/obj/Cryogenic2.dmi'
icon_state = "scanner"
density = TRUE
use_power = IDLE_POWER_USE
+10 -5
View File
@@ -96,7 +96,7 @@
/obj/machinery/recycler/proc/eat(atom/AM0, sound=TRUE)
var/list/to_eat
if(istype(AM0, /obj/item))
if(isitem(AM0))
to_eat = AM0.GetAllContents()
else
to_eat = list(AM0)
@@ -107,7 +107,7 @@
var/atom/movable/AM = i
var/obj/item/bodypart/head/as_head = AM
var/obj/item/mmi/as_mmi = AM
var/brain_holder = istype(AM, /obj/item/organ/brain) || (istype(as_head) && as_head.brain) || (istype(as_mmi) && as_mmi.brain) || istype(AM, /mob/living/brain)
var/brain_holder = istype(AM, /obj/item/organ/brain) || (istype(as_head) && as_head.brain) || (istype(as_mmi) && as_mmi.brain) || isbrain(AM)
if(brain_holder)
emergency_stop(AM)
else if(isliving(AM))
@@ -115,9 +115,14 @@
crush_living(AM)
else
emergency_stop(AM)
else if(istype(AM, /obj/item))
recycle_item(AM)
items_recycled++
else if(isitem(AM))
var/obj/O = AM
if(O.resistance_flags & INDESTRUCTIBLE)
playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 0)
O.forceMove(loc)
else
recycle_item(AM)
items_recycled++
else
playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 0)
AM.forceMove(loc)
+2 -2
View File
@@ -37,10 +37,10 @@
to_chat(user, "You're still waiting for approval from your employers about your proposed name change, it'd be best to wait for now.")
return
var/new_name = stripped_input(user, message="What do you want to name \
var/new_name = html_decode(stripped_input(user, message="What do you want to name \
[station_name()]? Keep in mind particularly terrible names may be \
rejected by your employers, while names using the standard format, \
will automatically be accepted.", max_length=MAX_CHARTER_LEN)
will automatically be accepted.", max_length=MAX_CHARTER_LEN))
if(response_timer_id)
to_chat(user, "You're still waiting for approval from your employers about your proposed name change, it'd be best to wait for now.")
+22 -7
View File
@@ -447,8 +447,9 @@
return (!H.suiciding && !(H.has_trait(TRAIT_NOCLONE)) && !H.hellbound && ((world.time - H.timeofdeath) < tlimit) && (H.getBruteLoss() < 180) && (H.getFireLoss() < 180) && H.getorgan(/obj/item/organ/heart) && BR && !BR.damaged_brain)
/obj/item/twohanded/shockpaddles/proc/shock_touching(dmg, mob/H)
if(defib.pullshocksafely && isliving(H.pulledby))
H.visible_message("<span class='danger'>The defibrillator safely discharges the excessive charge into the floor!</span>")
if(req_defib)
if(defib.pullshocksafely && isliving(H.pulledby))
H.visible_message("<span class='danger'>The defibrillator safely discharges the excessive charge into the floor!</span>")
else
var/mob/living/M = H.pulledby
if(M.electrocute_act(30, src))
@@ -542,7 +543,20 @@
user.visible_message("<span class='warning'>[user] begins to place [src] on [H]'s chest.</span>", "<span class='warning'>You begin to place [src] on [H]'s chest...</span>")
busy = TRUE
update_icon()
if(do_after(user, 30 - defib.primetime, target = H)) //beginning to place the paddles on patient's chest to allow some time for people to move away to stop the process
var/primetimer
var/primetimer2
var/deathtimer
if(req_defib)
primetimer = 30 - defib.primetime //I swear to god if I find shit like this elsewhere
primetimer2 = 20 - defib.primetime
deathtimer = DEFIB_TIME_LOSS * defib.timedeath
else
primetimer = 30
primetimer2 = 20
deathtimer = DEFIB_TIME_LOSS * 10
if(do_after(user, primetimer, target = H)) //beginning to place the paddles on patient's chest to allow some time for people to move away to stop the process
user.visible_message("<span class='notice'>[user] places [src] on [H]'s chest.</span>", "<span class='warning'>You place [src] on [H]'s chest.</span>")
playsound(src, 'sound/machines/defib_charge.ogg', 75, 0)
var/tplus = world.time - H.timeofdeath
@@ -550,10 +564,10 @@
// (in deciseconds)
// brain damage starts setting in on the patient after
// some time left rotting
var/tloss = DEFIB_TIME_LOSS * defib.timedeath
var/tloss = deathtimer
var/total_burn = 0
var/total_brute = 0
if(do_after(user, 20 - defib.primetime, target = H)) //placed on chest and short delay to shock for dramatic effect, revive time is 5sec total
if(do_after(user, primetimer2, target = H)) //placed on chest and short delay to shock for dramatic effect, revive time is 5sec total
for(var/obj/item/carried_item in H.contents)
if(istype(carried_item, /obj/item/clothing/suit/space))
if((!combat && !req_defib) || (req_defib && !defib.combat))
@@ -613,8 +627,9 @@
if(tplus > tloss)
H.adjustBrainLoss( max(0, min(99, ((tlimit - tplus) / tlimit * 100))), 150)
log_combat(user, H, "revived", defib)
if(defib.healdisk)
H.heal_overall_damage(25, 25)
if(req_defib)
if(defib.healdisk)
H.heal_overall_damage(25, 25)
if(req_defib)
defib.deductcharge(revivecost)
cooldown = 1
+3 -1
View File
@@ -248,7 +248,9 @@
if(SSreligion.holy_weapon_type)
return
var/obj/item/nullrod/holy_weapon
var/list/holy_weapons_list = typesof(/obj/item/nullrod)
var/list/holy_weapons_list = typesof(/obj/item/nullrod) + list(
/obj/item/melee/transforming/energy/sword/cx/chaplain
)
var/list/display_names = list()
for(var/V in holy_weapons_list)
var/obj/item/nullrod/rodtype = V
@@ -1,6 +1,7 @@
/obj/item/implant/mindshield
name = "mindshield implant"
desc = "Protects against brainwashing."
resistance_flags = INDESTRUCTIBLE
activated = 0
/obj/item/implant/mindshield/get_data()
@@ -34,16 +34,23 @@
. = ..()
uses--
to_chat(imp_in, "<span class='notice'>You feel a sudden surge of energy!</span>")
imp_in.SetSleeping(0)
imp_in.SetStun(0)
imp_in.SetKnockdown(0)
imp_in.SetUnconscious(0)
imp_in.adjustStaminaLoss(-75)
imp_in.adjustStaminaLoss(-150)
imp_in.stuttering = 0
imp_in.updatehealth()
imp_in.update_stamina()
imp_in.resting = 0
imp_in.lying = 0
imp_in.update_canmove()
imp_in.reagents.add_reagent("inaprovaline", 3) //let's give another chance to dumb fucks who forget to breathe
imp_in.reagents.add_reagent("synaptizine", 10)
imp_in.reagents.add_reagent("omnizine", 10)
imp_in.reagents.add_reagent("stimulants", 10)
if(!uses)
qdel(src)
@@ -27,6 +27,14 @@
for(var/i in 1 to 6)
new /obj/item/paper(folder)
/obj/item/storage/briefcase/crafted
desc = "Hand crafted suitcase made of leather and cloth."
force = 6
max_integrity = 50
/obj/item/storage/briefcase/crafted/PopulateContents()
return //So we dont spawn items
/obj/item/storage/briefcase/lawyer
folder_path = /obj/item/folder/blue
+4
View File
@@ -290,6 +290,8 @@
var/hacked = FALSE
var/brightness_on = 6 //TWICE AS BRIGHT AS A REGULAR ESWORD
var/list/possible_colors = list("red", "blue", "green", "purple")
total_mass = 0.375 //Survival flashlights typically weigh around 5 ounces.
var/total_mass_on = 3.4 //The typical medieval sword, on the other hand, weighs roughly 3 pounds. //Values copied from the regular e-sword
/obj/item/twohanded/dualsaber/suicide_act(mob/living/carbon/user)
if(wielded)
@@ -387,6 +389,7 @@
if(wielded)
sharpness = IS_SHARP
w_class = w_class_on
total_mass = total_mass_on
hitsound = 'sound/weapons/blade1.ogg'
START_PROCESSING(SSobj, src)
set_light(brightness_on)
@@ -394,6 +397,7 @@
/obj/item/twohanded/dualsaber/unwield() //Specific unwield () to switch hitsounds.
sharpness = initial(sharpness)
w_class = initial(w_class)
total_mass = initial(total_mass)
..()
hitsound = "swing_hit"
STOP_PROCESSING(SSobj, src)
+1
View File
@@ -500,6 +500,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
w_class = WEIGHT_CLASS_HUGE
var/homerun_ready = 0
var/homerun_able = 0
total_mass = 2.7 //a regular wooden major league baseball bat weighs somewhere between 2 to 3.4 pounds, according to google
/obj/item/melee/baseball_bat/homerun
name = "home run bat"
+36
View File
@@ -150,6 +150,42 @@
message_admins("[key_name_admin(src)] set the round end sound to [S]")
SSblackbox.record_feedback("tally", "admin_verb", 1, "Set Round End Sound") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/play_web_sound_manual()
set category = "Fun"
set name = "Manual Play Internet Sound"
if(!check_rights(R_SOUNDS))
return
var/web_sound_input = input("Enter youtube-dl fetched content URL (supported sites only, leave blank to stop playing)", "Send youtube-dl media link") as text|null
if(!istext(web_sound_input))
return
web_sound_input = trim(web_sound_input)
if(!length(web_sound_input))
log_admin("[key_name(src)] stopped web sound")
message_admins("[key_name(src)] stopped web sound")
for(var/m in GLOB.player_list)
var/mob/M = m
var/client/C = M.client
if((C.prefs.toggles & SOUND_MIDI) && C.chatOutput && !C.chatOutput.broken && C.chatOutput.loaded)
C.chatOutput.stopMusic()
return
var/freq = input(usr, "What frequency would you like the sound to play at?",, 1) as null|num
if(!freq)
return
if(web_sound_input && !findtext(web_sound_input, GLOB.is_http_protocol))
to_chat(src, "<span class='boldwarning'>BLOCKED: Content URL not using http(s) protocol</span>")
to_chat(src, "<span class='warning'>The media provider returned a content URL that isn't using the HTTP or HTTPS protocol</span>")
return
SSblackbox.record_feedback("nested tally", "played_url_manual", 1, list("[ckey]", "[web_sound_input]"))
log_admin("[key_name(src)] manually played web sound: [web_sound_input]")
message_admins("[key_name(src)] manually played web sound: <a href='web_sound_input'>HREF</a>")
for(var/m in GLOB.player_list)
var/mob/M = m
var/client/C = M.client
if((C.prefs.toggles & SOUND_MIDI) && C.chatOutput && !C.chatOutput.broken && C.chatOutput.loaded)
C.chatOutput.sendMusic(web_sound_input, freq)
/client/proc/stop_sounds()
set category = "Debug"
set name = "Stop All Playing Sounds"
+4 -1
View File
@@ -1249,7 +1249,7 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits
if(!check_rights(R_ADMIN) || !check_rights(R_FUN))
return
var/list/punishment_list = list(ADMIN_PUNISHMENT_LIGHTNING, ADMIN_PUNISHMENT_BRAINDAMAGE, ADMIN_PUNISHMENT_GIB, ADMIN_PUNISHMENT_BSA, ADMIN_PUNISHMENT_FIREBALL, ADMIN_PUNISHMENT_ROD, ADMIN_PUNISHMENT_SUPPLYPOD, ADMIN_PUNISHMENT_MAZING)
var/list/punishment_list = list(ADMIN_PUNISHMENT_PIE, ADMIN_PUNISHMENT_FIREBALL, ADMIN_PUNISHMENT_LIGHTNING, ADMIN_PUNISHMENT_BRAINDAMAGE, ADMIN_PUNISHMENT_BSA, ADMIN_PUNISHMENT_GIB, ADMIN_PUNISHMENT_SUPPLYPOD, ADMIN_PUNISHMENT_MAZING, ADMIN_PUNISHMENT_ROD)
var/punishment = input("Choose a punishment", "DIVINE SMITING") as null|anything in punishment_list
@@ -1294,6 +1294,9 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits
if(!puzzle_imprison(target))
to_chat(usr,"<span class='warning'>Imprisonment failed!</span>")
return
if(ADMIN_PUNISHMENT_PIE)
var/obj/item/reagent_containers/food/snacks/pie/cream/nostun/creamy = new(get_turf(target))
creamy.splat(target)
var/msg = "[key_name_admin(usr)] punished [key_name_admin(target)] with [punishment]."
message_admins(msg)
@@ -108,10 +108,20 @@
to_chat(loc, "<span class='warning'>Combat injection is still recharging.</span>")
return
var/mob/living/carbon/human/M = loc
M.adjustStaminaLoss(-75)
M.SetSleeping(0)
M.SetUnconscious(0)
M.SetStun(0)
M.SetKnockdown(0)
M.reagents.add_reagent("inaprovaline", 3)
M.reagents.add_reagent("synaptizine", 10)
M.reagents.add_reagent("stimulants", 10)
M.adjustStaminaLoss(-150)
M.stuttering = 0
M.updatehealth()
M.update_stamina()
M.resting = 0
M.lying = 0
M.update_canmove()
combat_cooldown = 0
START_PROCESSING(SSobj, src)
@@ -19,6 +19,14 @@
user.SetKnockdown(0)
user.reagents.add_reagent("changelingadrenaline", 10)
user.reagents.add_reagent("changelinghaste", 2) //For a really quick burst of speed
user.adjustStaminaLoss(-75)
user.reagents.add_reagent("inaprovaline", 3) //let's give another chance to dumb fucks who forget to breathe
user.adjustStaminaLoss(-150)
user.stuttering = 0
user.updatehealth()
user.update_stamina()
user.resting = 0
user.lying = 0
user.update_canmove()
return TRUE
@@ -13,7 +13,7 @@
if (user.has_trait(CHANGELING_HIVEMIND_MUTE))
to_chat(user, "<span class='warning'>The poison in the air hinders our ability to interact with the hivemind.</span>")
return
var/input = stripped_input(usr, "Please choose a message to transmit.", "Changeling Hivemind", "")
var/input = html_decode(stripped_input(usr, "Please choose a message to transmit.", "Changeling Hivemind", ""))
user.say(".g[input]")
/obj/effect/proc_holder/changeling/hivemind_comms/on_purchase(mob/user, is_respec)
@@ -44,12 +44,13 @@
/obj/item/clockwork/slab/cyborg //three scriptures, plus a spear and fabricator
clockwork_desc = "A divine link to the Celestial Derelict, allowing for limited recital of scripture."
quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/ranged_ability/judicial_marker, /datum/clockwork_scripture/ranged_ability/linked_vanguard)
quickbound = list(/datum/clockwork_scripture/ranged_ability/judicial_marker, /datum/clockwork_scripture/ranged_ability/linked_vanguard, \
/datum/clockwork_scripture/create_object/stargazer)
maximum_quickbound = 6 //we usually have one or two unique scriptures, so if ratvar is up let us bind one more
actions_types = list()
/obj/item/clockwork/slab/cyborg/engineer //two scriptures, plus a fabricator
quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/create_object/replicant, /datum/clockwork_scripture/create_object/sigil_of_transmission)
/obj/item/clockwork/slab/cyborg/engineer //three scriptures, plus a fabricator
quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/create_object/replicant, /datum/clockwork_scripture/create_object/sigil_of_transmission, /datum/clockwork_scripture/create_object/stargazer)
/obj/item/clockwork/slab/cyborg/medical //five scriptures, plus a spear
quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/ranged_ability/linked_vanguard, /datum/clockwork_scripture/ranged_ability/sentinels_compromise, \
@@ -61,12 +62,12 @@
/obj/item/clockwork/slab/cyborg/peacekeeper //two scriptures, plus a spear
quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/ranged_ability/hateful_manacles, /datum/clockwork_scripture/ranged_ability/judicial_marker)
/obj/item/clockwork/slab/cyborg/janitor //five scriptures, plus a fabricator
/obj/item/clockwork/slab/cyborg/janitor //six scriptures, plus a fabricator
quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/create_object/replicant, /datum/clockwork_scripture/create_object/sigil_of_transgression, \
/datum/clockwork_scripture/create_object/ocular_warden, /datum/clockwork_scripture/create_object/mania_motor)
/datum/clockwork_scripture/create_object/stargazer, /datum/clockwork_scripture/create_object/ocular_warden, /datum/clockwork_scripture/create_object/mania_motor)
/obj/item/clockwork/slab/cyborg/service //five scriptures, plus xray vision
quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/create_object/replicant, \
/obj/item/clockwork/slab/cyborg/service //six scriptures, plus xray vision
quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/create_object/replicant,/datum/clockwork_scripture/create_object/stargazer, \
/datum/clockwork_scripture/spatial_gateway, /datum/clockwork_scripture/create_object/clockwork_obelisk)
/obj/item/clockwork/slab/cyborg/miner //two scriptures, plus a spear and xray vision
@@ -2,6 +2,32 @@
// DRIVERS //
/////////////
//Stargazer: Creates a stargazer, a cheap power generator that utilizes starlight.
/datum/clockwork_scripture/create_object/stargazer
descname = "Generates Power From Starlight"
name = "Stargazer"
desc = "Forms a weak structure that generates power every second while within three tiles of starlight."
invocations = list("Capture their inferior light for us!")
channel_time = 50
power_cost = 200
object_path = /obj/structure/destructible/clockwork/stargazer
creator_message = "<span class='brass'>You form a stargazer, which will generate power near starlight.</span>"
observer_message = "<span class='warning'>A large lantern-shaped machine forms!</span>"
usage_tip = "For obvious reasons, make sure to place this near a window or somewhere else that can see space!"
tier = SCRIPTURE_DRIVER
one_per_tile = TRUE
primary_component = HIEROPHANT_ANSIBLE
sort_priority = 1
quickbind = TRUE
quickbind_desc = "Creates a stargazer, which generates power when near starlight."
/datum/clockwork_scripture/create_object/stargazer/check_special_requirements()
var/area/A = get_area(invoker)
if(A.outdoors || A.map_name == "Space" || !A.blob_allowed)
to_chat(invoker, "<span class='danger'>Stargazers can't be built off-station.</span>")
return
return ..()
//Integration Cog: Creates an integration cog that can be inserted into APCs to passively siphon power.
/datum/clockwork_scripture/create_object/integration_cog
@@ -18,7 +44,7 @@
tier = SCRIPTURE_DRIVER
space_allowed = TRUE
primary_component = HIEROPHANT_ANSIBLE
sort_priority = 1
sort_priority = 2
important = TRUE
quickbind = TRUE
quickbind_desc = "Creates an integration cog, which can be used to siphon power from an open APC."
@@ -39,7 +65,7 @@
tier = SCRIPTURE_DRIVER
one_per_tile = TRUE
primary_component = HIEROPHANT_ANSIBLE
sort_priority = 2
sort_priority = 3
quickbind = TRUE
quickbind_desc = "Creates a Sigil of Transgression, which will briefly stun and slow the next non-Servant to cross it."
@@ -59,7 +85,7 @@
tier = SCRIPTURE_DRIVER
one_per_tile = TRUE
primary_component = HIEROPHANT_ANSIBLE
sort_priority = 3
sort_priority = 4
quickbind = TRUE
quickbind_desc = "Creates a Sigil of Submission, which will convert non-Servants that remain on it."
@@ -76,7 +102,7 @@
usage_tip = "The light can be used from up to two tiles away. Damage taken will GREATLY REDUCE the stun's duration."
tier = SCRIPTURE_DRIVER
primary_component = BELLIGERENT_EYE
sort_priority = 4
sort_priority = 5
slab_overlay = "volt"
ranged_type = /obj/effect/proc_holder/slab/kindle
ranged_message = "<span class='brass'><i>You charge the clockwork slab with divine energy.</i>\n\
@@ -100,7 +126,7 @@
usage_tip = "The manacles are about as strong as zipties, and break when removed."
tier = SCRIPTURE_DRIVER
primary_component = BELLIGERENT_EYE
sort_priority = 5
sort_priority = 6
ranged_type = /obj/effect/proc_holder/slab/hateful_manacles
slab_overlay = "hateful_manacles"
ranged_message = "<span class='neovgre_small'><i>You charge the clockwork slab with divine energy.</i>\n\
@@ -124,7 +150,7 @@
usage_tip = "You cannot reactivate Vanguard while still shielded by it."
tier = SCRIPTURE_DRIVER
primary_component = VANGUARD_COGWHEEL
sort_priority = 6
sort_priority = 7
quickbind = TRUE
quickbind_desc = "Allows you to temporarily have quickly regenerating stamina and absorb stuns. All stuns absorbed will affect you when disabled."
@@ -156,7 +182,7 @@
usage_tip = "The Compromise is very fast to invoke, and will remove holy water from the target Servant."
tier = SCRIPTURE_DRIVER
primary_component = VANGUARD_COGWHEEL
sort_priority = 7
sort_priority = 8
quickbind = TRUE
quickbind_desc = "Allows you to convert a Servant's brute, burn, and oxygen damage to half toxin damage.<br><b>Click your slab to disable.</b>"
slab_overlay = "compromise"
@@ -180,7 +206,7 @@
usage_tip = "This can't be used while on Reebe, for obvious reasons."
tier = SCRIPTURE_DRIVER
primary_component = GEIS_CAPACITOR
sort_priority = 8
sort_priority = 9
important = TRUE
quickbind = TRUE
quickbind_desc = "Returns you to Reebe."
@@ -238,7 +264,7 @@
tier = SCRIPTURE_DRIVER
space_allowed = TRUE
primary_component = GEIS_CAPACITOR
sort_priority = 9
sort_priority = 10
important = TRUE
quickbind = TRUE
quickbind_desc = "Creates a new Clockwork Slab."
@@ -259,6 +285,6 @@
tier = SCRIPTURE_DRIVER
space_allowed = TRUE
primary_component = GEIS_CAPACITOR
sort_priority = 10
sort_priority = 11
quickbind = TRUE
quickbind_desc = "Creates a pair of Wraith Spectacles, which grant true sight but cause gradual vision loss."
@@ -0,0 +1,70 @@
#define STARGAZER_RANGE 3 //How many tiles the stargazer can see out to
#define STARGAZER_POWER 7 //How many watts will be produced per second when the stargazer sees starlight
//Stargazer: A very fragile but cheap generator that creates power from starlight.
/obj/structure/destructible/clockwork/stargazer
name = "stargazer"
desc = "A large lantern-shaped machine made of thin brass. It looks fragile."
clockwork_desc = "A lantern-shaped generator that produces power when near starlight."
icon_state = "stargazer"
unanchored_icon = "stargazer_unwrenched"
max_integrity = 40
construction_value = 5
layer = WALL_OBJ_LAYER
break_message = "<span class='warning'>The stargazer's fragile body shatters into pieces!</span>"
resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF
light_color = "#DAAA18"
var/star_light_star_bright = FALSE //If this stargazer can see starlight
/obj/structure/destructible/clockwork/stargazer/Initialize()
. = ..()
START_PROCESSING(SSprocessing, src)
/obj/structure/destructible/clockwork/stargazer/Destroy()
STOP_PROCESSING(SSprocessing, src)
. = ..()
/obj/structure/destructible/clockwork/stargazer/examine(mob/user)
..()
if(is_servant_of_ratvar(user))
to_chat(user, "<span class='nzcrentr_small'>Generates <b>[DisplayPower(STARGAZER_POWER)]</b> per second while viewing starlight within [STARGAZER_RANGE] tiles.</span>")
if(star_light_star_bright)
to_chat(user, "[is_servant_of_ratvar(user) ? "<span class='nzcrentr_small'>It can see starlight!</span>" : "It's shining brilliantly!"]")
/obj/structure/destructible/clockwork/stargazer/process()
star_light_star_bright = check_starlight()
if(star_light_star_bright)
adjust_clockwork_power(STARGAZER_POWER)
/obj/structure/destructible/clockwork/stargazer/update_anchored(mob/living/user, damage)
. = ..()
star_light_star_bright = check_starlight()
/obj/structure/destructible/clockwork/stargazer/proc/check_starlight()
var/old_status = star_light_star_bright
var/has_starlight
if(!anchored)
has_starlight = FALSE
else
for(var/turf/T in view(3, src))
if(isspaceturf(T))
has_starlight = TRUE
break
if(has_starlight && anchored)
var/area/A = get_area(src)
if(A.outdoors || A.map_name == "Space" || !A.blob_allowed)
has_starlight = FALSE
if(old_status != has_starlight)
if(has_starlight)
visible_message("<span class='nzcrentr_small'>[src] hums and shines brilliantly!</span>")
playsound(src, 'sound/machines/clockcult/stargazer_activate.ogg', 50, TRUE)
add_overlay("stargazer_light")
set_light(1.5, 5)
else
if(anchored) //We lost visibility somehow
visible_message("<span class='danger'>[src] flickers, and falls dark.</span>")
else
visible_message("<span class='danger'>[src] whooshes quietly as it slides into a less bulky form.</span>")
cut_overlays()
set_light(0)
return has_starlight
+5 -5
View File
@@ -211,8 +211,6 @@
else
return FALSE
/datum/action/innate/cult/spin2win
name = "Geometer's Fury"
desc = "You draw on the power of the sword's ancient runes, spinning it wildly around you as you become immune to most attacks."
@@ -267,7 +265,6 @@
return
. = ..()
/obj/item/clothing/head/culthood
name = "ancient cultist hood"
icon_state = "culthood"
@@ -294,7 +291,6 @@
heat_protection = CHEST|GROIN|LEGS|ARMS
max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT
/obj/item/clothing/head/culthood/alt
name = "cultist hood"
desc = "An armored hood worn by the followers of Nar'Sie."
@@ -313,7 +309,6 @@
/obj/item/clothing/suit/cultrobes/alt/ghost
item_flags = NODROP | DROPDEL
/obj/item/clothing/head/magus
name = "magus helm"
icon_state = "magus"
@@ -529,7 +524,12 @@
"The shuttle's custodian was found washing the windows with their own blood.",
"A shuttle engineer began screaming 'DEATH IS NOT THE END' and ripped out wires until an arc flash seared off her flesh.",
"A shuttle inspector started laughing madly over the radio and then threw herself into an engine turbine.",
"An assistant was found on the shuttle.",
"A medical officer was found pouring out several blood bags onto the shuttle's instrument panels, before slitting both wrists open and screaming 'DEATH IS NOT THE END'.",
"A fuel technician was found replacing the fuel with his blood.",
"All the lights aboard the shuttle turned a crimson red before blowing out..",
"The shuttle dispatcher was found dead with bloody symbols carved into their flesh.",
"An engine turbine began leaking blood when it was powered on.",
"The shuttle's transponder is emitting the encoded message 'FEAR THE OLD BLOOD' in lieu of its assigned identification signal.")
var/message = pick_n_take(curses)
message += " The shuttle will be delayed by three minutes."
+19 -19
View File
@@ -58,18 +58,12 @@
<A href='byond://?src=[REF(src)];send=1'>Send Signal</A><BR>
<B>Frequency/Code</B> for signaler:<BR>
Frequency:
<A href='byond://?src=[REF(src)];freq=-10'>-</A>
<A href='byond://?src=[REF(src)];freq=-2'>-</A>
[format_frequency(src.frequency)]
<A href='byond://?src=[REF(src)];freq=2'>+</A>
<A href='byond://?src=[REF(src)];freq=10'>+</A><BR>
<A href='byond://?src=[REF(src)];set=freq'>Set</A><BR>
Code:
<A href='byond://?src=[REF(src)];code=-5'>-</A>
<A href='byond://?src=[REF(src)];code=-1'>-</A>
[src.code]
<A href='byond://?src=[REF(src)];code=1'>+</A>
<A href='byond://?src=[REF(src)];code=5'>+</A><BR>
<A href='byond://?src=[REF(src)];set=code'>Set</A><BR>
[t1]
</TT>"}
user << browse(dat, "window=radio")
@@ -85,17 +79,23 @@ Code:
onclose(usr, "radio")
return
if (href_list["freq"])
var/new_frequency = (frequency + text2num(href_list["freq"]))
if(new_frequency < MIN_FREE_FREQ || new_frequency > MAX_FREE_FREQ)
new_frequency = sanitize_frequency(new_frequency)
set_frequency(new_frequency)
if (href_list["set"])
if(href_list["code"])
src.code += text2num(href_list["code"])
src.code = round(src.code)
src.code = min(100, src.code)
src.code = max(1, src.code)
if(href_list["set"] == "freq")
var/new_freq = input(usr, "Input a new signalling frequency", "Remote Signaller Frequency", format_frequency(frequency)) as num|null
if(!usr.canUseTopic(src, BE_CLOSE))
return
new_freq = unformat_frequency(new_freq)
new_freq = sanitize_frequency(new_freq, TRUE)
set_frequency(new_freq)
if(href_list["set"] == "code")
var/new_code = input(usr, "Input a new signalling code", "Remote Signaller Code", code) as num|null
if(!usr.canUseTopic(src, BE_CLOSE))
return
new_code = round(new_code)
new_code = CLAMP(new_code, 1, 100)
code = new_code
if(href_list["send"])
spawn( 0 )
@@ -206,4 +206,4 @@ Code:
/obj/item/assembly/signaler/cyborg/attackby(obj/item/W, mob/user, params)
return
/obj/item/assembly/signaler/cyborg/screwdriver_act(mob/living/user, obj/item/I)
return
return
+59 -1
View File
@@ -177,9 +177,12 @@
/obj/item/clothing/neck/petcollar
name = "pet collar"
desc = "It's for pets. Though you probably could wear it yourself, you'd doubtless be the subject of ridicule."
desc = "It's for pets. Though you probably could wear it yourself, you'd doubtless be the subject of ridicule. It seems to be made out of a polychromic material."
icon_state = "petcollar"
item_color = "petcollar"
alternate_worn_icon = 'icons/mob/neck.dmi' //Because, as it appears, the item itself is normally not directly aware of its worn overlays, so this is about the easiest way, without adding a new var.
hasprimary = TRUE
primary_color = "#00BBBB"
pocket_storage_component_path = /datum/component/storage/concrete/pockets/small/collar
var/tagname = null
@@ -187,6 +190,42 @@
tagname = copytext(sanitize(input(user, "Would you like to change the name on the tag?", "Name your new pet", "Spot") as null|text),1,MAX_NAME_LEN)
name = "[initial(name)] - [tagname]"
/obj/item/clothing/neck/petcollar/worn_overlays(isinhands, icon_file)
. = ..()
if(hasprimary | hassecondary | hastertiary)
if(!isinhands) //prevents the worn sprites from showing up if you're just holding them
if(hasprimary) //checks if overlays are enabled
var/mutable_appearance/primary_worn = mutable_appearance(alternate_worn_icon, "[item_color]-primary") //automagical sprite selection
primary_worn.color = primary_color //colors the overlay
. += primary_worn //adds the overlay onto the buffer list to draw on the mob sprite
if(hassecondary)
var/mutable_appearance/secondary_worn = mutable_appearance(alternate_worn_icon, "[item_color]-secondary")
secondary_worn.color = secondary_color
. += secondary_worn
if(hastertiary)
var/mutable_appearance/tertiary_worn = mutable_appearance(alternate_worn_icon, "[item_color]-tertiary")
tertiary_worn.color = tertiary_color
. += tertiary_worn
/obj/item/clothing/neck/petcollar/leather
name = "leather pet collar"
icon_state = "leathercollar"
item_color = "leathercollar"
hasprimary = TRUE
hassecondary = TRUE
primary_color = "#222222"
secondary_color = "#888888"
/obj/item/clothing/neck/petcollar/choker
desc = "Quite fashionable... if you're somebody who's just read their first BDSM-themed erotica novel."
name = "choker"
icon_state = "choker"
item_color = "choker"
hasprimary = TRUE
primary_color = "#222222"
/obj/item/clothing/neck/petcollar/locked
name = "locked collar"
desc = "A collar that has a small lock on it to keep it from being removed."
@@ -209,6 +248,25 @@
return
..()
/obj/item/clothing/neck/petcollar/locked/leather
name = "leather pet collar"
icon_state = "leathercollar"
item_color = "leathercollar"
hasprimary = TRUE
hassecondary = TRUE
primary_color = "#222222"
secondary_color = "#888888"
/obj/item/clothing/neck/petcollar/locked/choker
name = "choker"
desc = "Quite fashionable... if you're somebody who's just read their first BDSM-themed erotica novel."
icon_state = "choker"
item_color = "choker"
hasprimary = TRUE
primary_color = "#222222"
/obj/item/key/collar
name = "Collar Key"
desc = "A key for a tiny lock on a collar or bag."
-6
View File
@@ -41,12 +41,6 @@
if(tauric == TRUE)
center = TRUE
dimension_x = 64
/*
else if(H.dna.features["taur"] == "Horse" || "Cow")
taurmode = HOOF_TAURIC //tweak this for when the exotics get their own suits, if ever.
center = TRUE
dimension_x = 64
*/
else
taurmode = NOT_TAURIC
if(tauric == TRUE)
-1
View File
@@ -23,7 +23,6 @@
item_state = "armoralt"
blood_overlay_type = "armor"
dog_fashion = /datum/dog_fashion/back
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/suit/armor/vest/alt
desc = "A Type I armored vest that provides decent protection against most types of damage."
+1
View File
@@ -28,6 +28,7 @@
CAT_PIZZA,
CAT_SALAD,
CAT_SANDWICH,
CAT_SUSHI,
CAT_SOUP,
CAT_SPAGHETTI),
CAT_CLOTHING) //Clothing subcategories
+20 -1
View File
@@ -435,6 +435,15 @@
result = /obj/item/extendohand
category = CAT_MISC
/datum/crafting_recipe/bluespacehonker
name = "Bluespace Bike horn"
result = /obj/item/bikehorn/bluespacehonker
time = 10
reqs = list(/obj/item/stack/ore/bluespace_crystal = 1,
/obj/item/toy/crayon/blue = 1,
/obj/item/bikehorn = 1)
category = CAT_MISC
/datum/crafting_recipe/chemical_payload
name = "Chemical Payload (C4)"
result = /obj/item/bombcore/chemical
@@ -686,6 +695,16 @@
reqs = list(/obj/item/bedsheet = 1)
category = CAT_CLOTHING
/datum/crafting_recipe/briefcase
name = "Hand made Briefcase"
result = /obj/item/storage/briefcase/crafted
time = 35
tools = list(TOOL_WIRECUTTER)
reqs = list(/obj/item/stack/sheet/cardboard = 1,
/obj/item/stack/sheet/cloth = 2,
/obj/item/stack/sheet/leather = 5)
category = CAT_CLOTHING
/datum/crafting_recipe/aitater
name = "intelliTater"
result = /obj/item/aicard/aitater
@@ -706,7 +725,7 @@
name = "Improvised Jetpack"
result = /obj/item/tank/jetpack/improvised
time = 30
reqs = list(/obj/item/tank/internals/oxygen/red = 2, /obj/item/extinguisher = 1, /obj/item/pipe = 3, /obj/item/stack/cable_coil = 30)//red oxygen tank so it looks right
reqs = list(/obj/item/tank/internals/oxygen = 2, /obj/item/extinguisher = 1, /obj/item/pipe = 3, /obj/item/stack/cable_coil = 30)//red oxygen tank so it looks right
category = CAT_MISC
tools = list(TOOL_WRENCH, TOOL_WELDER, TOOL_WIRECUTTER)
+15 -4
View File
@@ -47,7 +47,16 @@
"hair_dye",
"sugar",
"white_glitter",
"growthserum"
"growthserum",
"cornoil",
"uranium",
"carpet",
"firefighting_foam",
"semen",
"femcum",
"tearjuice",
"strange_reagent"
)
//needs to be chemid unit checked at some point
@@ -58,8 +67,10 @@
endWhen = rand(120, 180)
for(var/obj/machinery/atmospherics/components/unary/vent_scrubber/temp_vent in GLOB.machines)
var/turf/T = get_turf(temp_vent)
if(T && is_station_level(T.z) && !temp_vent.welded)
var/area/A = T.loc
if(T && is_station_level(T.z) && !temp_vent.welded && !A.safe)
vents += temp_vent
if(!vents.len)
return kill()
@@ -87,8 +98,8 @@
else
R.add_reagent(pick(saferChems), reagentsAmount)
var/datum/effect_system/smoke_spread/chem/C = new
C.set_up(R,16,T,TRUE)
var/datum/effect_system/smoke_spread/chem/smoke_machine/C = new
C.set_up(R,16,1,T)
C.start()
playsound(T, 'sound/effects/smoke.ogg', 50, 1, -3)
@@ -25,7 +25,9 @@
"green" = COLOR_ASSEMBLY_GREEN,
"light blue" = COLOR_ASSEMBLY_LBLUE,
"blue" = COLOR_ASSEMBLY_BLUE,
"purple" = COLOR_ASSEMBLY_PURPLE
"purple" = COLOR_ASSEMBLY_PURPLE,
"pink" = COLOR_ASSEMBLY_PINK,
"custom" = COLOR_ASSEMBLY_WHITE
)
/obj/item/integrated_electronics/detailer/Initialize()
@@ -43,6 +45,9 @@
if(!color_list[color_choice])
return
if(!in_range(src, user))
return
detail_color = color_list[color_choice]
return
if(color_choice == "custom")
detail_color = input(user,"","Choose Color",detail_color) as color|null
else
detail_color = color_list[color_choice]
update_icon()
@@ -756,7 +756,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(!forced_colour)
switch(S.color_src)
if(SKINTONE)
accessory_overlay.color = skintone2hex(H.skin_tone)
accessory_overlay.color = "#[skintone2hex(H.skin_tone)]"
if(MUTCOLORS)
if(fixed_mut_color)
accessory_overlay.color = "#[fixed_mut_color]"
@@ -1451,7 +1451,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
target.forcesay(GLOB.hit_appends)
/datum/species/proc/disarm(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style)
// CITADEL EDIT slap mouthy gits
// CITADEL EDIT slap mouthy gits and booty
var/aim_for_mouth = user.zone_selected == "mouth"
var/target_on_help_and_unarmed = target.a_intent == INTENT_HELP && !target.get_active_held_item()
var/target_aiming_for_mouth = target.zone_selected == "mouth"
@@ -1461,7 +1461,22 @@ GLOBAL_LIST_EMPTY(roundstart_races)
user.visible_message("<span class='danger'>[user] slaps [target] in the face!</span>",
"<span class='notice'>You slap [target] in the face! </span>",\
"You hear a slap.")
stop_wagging_tail(target)
if (!target.has_trait(TRAIT_NYMPHO))
stop_wagging_tail(target)
return FALSE
var/aim_for_groin = user.zone_selected == "groin"
var/target_aiming_for_groin = target.zone_selected == "groin"
if(aim_for_groin && (target_on_help_and_unarmed || target_restrained || target_aiming_for_groin))
playsound(target.loc, 'sound/weapons/slap.ogg', 50, 1, -1)
user.visible_message("<span class='danger'>[user] slaps [target]'s ass!</span>",
"<span class='notice'>You slap [target]'s ass! </span>",\
"You hear a slap.")
if (target.canbearoused)
target.adjustArousalLoss(5)
if (target.getArousalLoss() >= 100 && ishuman(target) && target.has_trait(TRAIT_NYMPHO) && target.has_dna())
target.mob_climax(forced_climax=TRUE)
if (!target.has_trait(TRAIT_NYMPHO))
stop_wagging_tail(target)
return FALSE
else if(user.getStaminaLoss() >= STAMINA_SOFTCRIT)
to_chat(user, "<span class='warning'>You're too exhausted.</span>")
@@ -3,7 +3,7 @@
id = "abductor"
say_mod = "gibbers"
sexes = FALSE
species_traits = list(NOBLOOD,NOEYES)
species_traits = list(NOBLOOD,NOEYES,NOGENITALS)
inherent_traits = list(TRAIT_VIRUSIMMUNE,TRAIT_NOGUNS,TRAIT_NOHUNGER,TRAIT_NOBREATH)
mutanttongue = /obj/item/organ/tongue/abductor
var/scientist = FALSE // vars to not pollute spieces list with castes
@@ -2,7 +2,7 @@
name = "Android"
id = "android"
say_mod = "states"
species_traits = list(NOBLOOD)
species_traits = list(NOBLOOD,NOGENITALS)
inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_RADIMMUNE,TRAIT_NOFIRE,TRAIT_PIERCEIMMUNE,TRAIT_NOHUNGER,TRAIT_LIMBATTACHMENT)
inherent_biotypes = list(MOB_ROBOTIC, MOB_HUMANOID)
meat = null
@@ -15,6 +15,6 @@
attack_sound = 'sound/weapons/resonator_blast.ogg'
blacklisted = 1
use_skintones = 0
species_traits = list(NOBLOOD,EYECOLOR)
species_traits = list(NOBLOOD,EYECOLOR,NOGENITALS)
inherent_traits = list(TRAIT_RADIMMUNE,TRAIT_VIRUSIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER,TRAIT_NOHUNGER)
sexes = 0
@@ -2,7 +2,7 @@
// Animated beings of stone. They have increased defenses, and do not need to breathe. They're also slow as fuuuck.
name = "Golem"
id = "iron golem"
species_traits = list(NOBLOOD,MUTCOLORS,NO_UNDERWEAR)
species_traits = list(NOBLOOD,MUTCOLORS,NO_UNDERWEAR,NOGENITALS)
inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOFIRE,TRAIT_NOGUNS,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER)
inherent_biotypes = list(MOB_INORGANIC, MOB_HUMANOID)
mutant_organs = list(/obj/item/organ/adamantine_resonator)
@@ -9,7 +9,7 @@
nojumpsuit = TRUE
say_mod = "poofs" //what does a mushroom sound like
species_traits = list(MUTCOLORS, NOEYES, NO_UNDERWEAR)
species_traits = list(MUTCOLORS, NOEYES, NO_UNDERWEAR,NOGENITALS)
inherent_traits = list(TRAIT_NOBREATH)
speedmod = 1.5 //faster than golems but not by much
@@ -4,7 +4,7 @@
say_mod = "rattles"
sexes = 0
meat = /obj/item/stack/sheet/mineral/plasma
species_traits = list(NOBLOOD,NOTRANSSTING)
species_traits = list(NOBLOOD,NOTRANSSTING,NOGENITALS)
inherent_traits = list(TRAIT_RESISTCOLD,TRAIT_RADIMMUNE,TRAIT_NOHUNGER)
inherent_biotypes = list(MOB_INORGANIC, MOB_HUMANOID)
mutantlungs = /obj/item/organ/lungs/plasmaman
@@ -12,6 +12,11 @@
meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/plant
disliked_food = MEAT | DAIRY
liked_food = VEGETABLES | FRUIT | GRAIN
var/light_nutrition_gain_factor = 10
var/light_toxheal = 1
var/light_oxyheal = 1
var/light_burnheal = 1
var/light_bruteheal = 1
/datum/species/pod/on_species_gain(mob/living/carbon/C, datum/species/old_species)
. = ..()
@@ -30,13 +35,13 @@
if(isturf(H.loc)) //else, there's considered to be no light
var/turf/T = H.loc
light_amount = min(1,T.get_lumcount()) - 0.5
H.nutrition += light_amount * 10
H.nutrition += light_amount * light_nutrition_gain_factor
if(H.nutrition > NUTRITION_LEVEL_FULL)
H.nutrition = NUTRITION_LEVEL_FULL
if(light_amount > 0.2) //if there's enough light, heal
H.heal_overall_damage(1,1)
H.adjustToxLoss(-1)
H.adjustOxyLoss(-1)
H.heal_overall_damage(light_bruteheal, light_burnheal)
H.adjustToxLoss(-light_toxheal)
H.adjustOxyLoss(-light_oxyheal)
if(H.nutrition < NUTRITION_LEVEL_STARVING + 50)
H.take_overall_damage(2,0)
@@ -64,3 +69,11 @@
H.show_message("<span class='userdanger'>The radiation beam singes you!</span>")
if(/obj/item/projectile/energy/florayield)
H.nutrition = min(H.nutrition+30, NUTRITION_LEVEL_FULL)
/datum/species/pod/pseudo_weak
id = "podweak"
limbs_id = "pod"
light_nutrition_gain_factor = 7.5
light_bruteheal = 0.2
light_burnheal = 0.2
light_toxheal = 0.7
@@ -38,7 +38,7 @@
burnmod = 1.5
blacklisted = TRUE
no_equip = list(SLOT_WEAR_MASK, SLOT_WEAR_SUIT, SLOT_GLOVES, SLOT_SHOES, SLOT_W_UNIFORM, SLOT_S_STORE)
species_traits = list(NOBLOOD,NO_UNDERWEAR,NO_DNA_COPY,NOTRANSSTING,NOEYES)
species_traits = list(NOBLOOD,NO_UNDERWEAR,NO_DNA_COPY,NOTRANSSTING,NOEYES,NOGENITALS)
inherent_traits = list(TRAIT_RESISTCOLD,TRAIT_NOBREATH,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOGUNS,TRAIT_RADIMMUNE,TRAIT_VIRUSIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER,TRAIT_NOHUNGER)
mutanteyes = /obj/item/organ/eyes/night_vision/nightmare
mutant_organs = list(/obj/item/organ/heart/nightmare)
@@ -6,7 +6,7 @@
blacklisted = 1
sexes = 0
meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/skeleton
species_traits = list(NOBLOOD)
species_traits = list(NOBLOOD,NOGENITALS)
inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NOHUNGER,TRAIT_EASYDISMEMBER,TRAIT_LIMBATTACHMENT,TRAIT_FAKEDEATH)
inherent_biotypes = list(MOB_UNDEAD, MOB_HUMANOID)
mutanttongue = /obj/item/organ/tongue/bone
@@ -3,7 +3,7 @@
id = "synth"
say_mod = "beep boops" //inherited from a user's real species
sexes = 0
species_traits = list(NOTRANSSTING) //all of these + whatever we inherit from the real species
species_traits = list(NOTRANSSTING,NOGENITALS) //all of these + whatever we inherit from the real species
inherent_traits = list(TRAIT_VIRUSIMMUNE,TRAIT_NODISMEMBER,TRAIT_NOHUNGER,TRAIT_NOBREATH)
inherent_biotypes = list(MOB_ROBOTIC, MOB_HUMANOID)
dangerous_existence = 1
@@ -102,20 +102,19 @@
set category = "Object"
set src in oview(1)
var/datum/belly/B = vore_organs[vore_selected]
if(faction != usr.faction)
to_chat(usr,"<span class='warning'>This predator isn't friendly, and doesn't give a shit about your opinions of it digesting you.</span>")
return
if(B.digest_mode == "Hold")
var/mob/living/carbon/human/user = usr
if(!istype(user) || user.stat) return
if(vore_selected.digest_mode == DM_HOLD)
var/confirm = alert(usr, "Enabling digestion on [name] will cause it to digest all stomach contents. Using this to break OOC prefs is against the rules. Digestion will disable itself after 20 minutes.", "Enabling [name]'s Digestion", "Enable", "Cancel")
if(confirm == "Enable")
B.digest_mode = "Digest"
sleep(20 MINUTES) //12000=20 minutes
B.digest_mode = "Hold"
vore_selected.digest_mode = DM_DIGEST
sleep(20 MINUTES)
vore_selected.digest_mode = vore_default_mode
else
var/confirm = alert(usr, "This mob is currently set to digest all stomach contents. Do you want to disable this?", "Disabling [name]'s Digestion", "Disable", "Cancel")
if(confirm == "Disable")
B.digest_mode = "Hold"
vore_selected.digest_mode = DM_HOLD
//
// Simple nom proc for if you get ckey'd into a simple_animal mob! Avoids grabs.
@@ -4,12 +4,25 @@
if(!ninjacost(0,N_ADRENALINE))
var/mob/living/carbon/human/H = affecting
H.SetUnconscious(0)
H.SetSleeping(0)
H.SetStun(0)
H.SetKnockdown(0)
H.adjustStaminaLoss(-75)
H.SetUnconscious(0)
H.adjustStaminaLoss(-150)
H.stuttering = 0
H.updatehealth()
H.update_stamina()
H.resting = 0
H.lying = 0
H.update_canmove()
H.reagents.add_reagent("inaprovaline", 3) //let's give another chance to dumb fucks who forget to breathe
H.reagents.add_reagent("synaptizine", 10)
H.reagents.add_reagent("omnizine", 10)
H.reagents.add_reagent("stimulants", 10)
H.say(pick("A CORNERED FOX IS MORE DANGEROUS THAN A JACKAL!","HURT ME MOOORRREEE!","IMPRESSIVE!"), forced = "ninjaboost")
a_boost--
to_chat(H, "<span class='notice'>There are <B>[a_boost]</B> adrenaline boosts remaining.</span>")
s_coold = 3
@@ -299,4 +299,8 @@
ammo_type = list(/obj/item/ammo_casing/energy/gravity/repulse, /obj/item/ammo_casing/energy/gravity/attract, /obj/item/ammo_casing/energy/gravity/chaos)
item_state = "gravity_gun"
icon_state = "gravity_gun"
pin = null
var/power = 4
/obj/item/gun/energy/gravity_gun/security
pin = /obj/item/firing_pin
+2 -2
View File
@@ -269,11 +269,11 @@
if(C.reagent_check(R) != 1)
if(can_overdose)
if(R.overdose_threshold)
if(R.volume >= R.overdose_threshold && !R.overdosed)
if(R.volume > R.overdose_threshold && !R.overdosed)
R.overdosed = 1
need_mob_update += R.overdose_start(C)
if(R.addiction_threshold)
if(R.volume >= R.addiction_threshold && !is_type_in_list(R, cached_addictions))
if(R.volume > R.addiction_threshold && !is_type_in_list(R, cached_addictions))
var/datum/reagent/new_reagent = new R.type()
cached_addictions.Add(new_reagent)
if(R.overdosed)
@@ -304,13 +304,14 @@
reagent_state = SOLID
color = "#000067" // rgb: 0, 0, 103
toxpwr = 0
metabolization_rate = 1.5 * REAGENTS_METABOLISM
metabolization_rate = 1 * REAGENTS_METABOLISM
/datum/reagent/toxin/chloralhydratedelayed/on_mob_life(mob/living/carbon/M)
switch(current_cycle)
if(10 to 20)
M.confused += 1
M.drowsyness += 1
M.adjustStaminaLoss(7.5)
if(20 to INFINITY)
M.Sleeping(40, 0)
..()
+69
View File
@@ -0,0 +1,69 @@
/obj/item/nutcracker
name = "nutcracker"
desc = "It seems quite oversized. You could probably even crush a watermelon with it."
icon = 'icons/obj/surgery.dmi'
icon_state = "nutcracker"
force = 10
flags_1 = CONDUCT_1
w_class = WEIGHT_CLASS_NORMAL
attack_verb = list("smashed", "beaten", "crushed")
/obj/item/nutcracker/proc/gib_head(mob/living/carbon/M)
var/obj/item/bodypart/head = M.get_bodypart("head")
if(!head)
return
var/turf/T = get_turf(M)
var/list/organs = M.getorganszone("head") + M.getorganszone("eyes") + M.getorganszone("mouth")
for(var/internal_organ in organs)
var/obj/item/organ/I = internal_organ
I.Remove(M)
I.forceMove(T)
head.drop_limb()
qdel(head)
new M.gib_type(T,1,M.get_static_viruses())
M.add_splatter_floor(T)
playsound(M, 'sound/effects/splat.ogg', 50, 1)
//It's a bit of a clusterfuck, but if someone wants, it can be easily repurposed to work on other limbs too.
/obj/item/nutcracker/attack(mob/living/carbon/M, mob/living/carbon/user)
. = ..()
var/target_zone = "head"
var/obj/item/bodypart/target_limb = M.get_bodypart(target_zone)
if(!get_turf(M))
return
if(!istype(M))
return
if(M == user) //just use the suicide verb instead
return
if(user.zone_selected != "head")
return
if(!target_limb)
to_chat(user, "<span class='notice'>[M] has no [parse_zone(target_zone)]!</span>")
return
if(!get_location_accessible(M, target_zone))
to_chat(user, "<span class='notice'>Expose [M]\s head before trying to crush it!</span>")
return
M.visible_message("<span class='warning'>[user] is trying to crush [M]\s head with \the [src]!</span>")
var/crush_time = max(0, 400 - target_limb.brute_dam*2)
if(do_mob(user, M, crush_time))
if(get_location_accessible(M, target_zone)) //Yes, two checks, before and after the timer. What if someone puts a helmet on the guy while you're crushing his head?
if(target_limb)//If he still has the head. In case you queue up a lot of these up at once or the guy loses the head while you're removing it.
M.visible_message("<span class='warning'>[M]\s head cracks like a watermelon, spilling everything inside, as it becomes an unrecognizable mess!</span>")
gib_head(M)
else
to_chat(user, "<span class='notice'>Expose [M]\s head before trying to crush it!</span>")
/obj/item/nutcracker/suicide_act(mob/living/carbon/user)
var/obj/item/bodypart/target_limb = user.get_bodypart("head")
if(target_limb) //I mean like... for example lings can be still alive without heads.
user.visible_message("<span class='suicide'>[user] is crushing [user.p_their()] own head with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
if(do_after(user, 30))
gib_head(user)
else
return
return (BRUTELOSS)
+4
View File
@@ -113,6 +113,10 @@
if(owner)
to_chat(owner, "<span class ='userdanger'>Your heart has been replaced with a cursed one, you have to pump this one manually otherwise you'll die!</span>")
/obj/item/organ/heart/cursed/Remove(mob/living/carbon/M, special = 0)
..()
M.remove_client_colour(/datum/client_colour/cursed_heart_blood)
/datum/action/item_action/organ_action/cursed_heart
name = "Pump your blood"
+7 -1
View File
@@ -988,6 +988,12 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/storage/backpack/duffelbag/syndie/surgery
cost = 3
/datum/uplink_item/device_tools/nutcracker
name = "Nutcracker"
desc = "An oversized version of what you'd initially expect here. Big enough to crush skulls."
item = /obj/item/nutcracker
cost = 1
/datum/uplink_item/device_tools/surgerybag_adv
name = "Syndicate Surgery Duffel Bag"
desc = "The Syndicate surgery duffel bag is a toolkit containing all newest surgery tools, surgical drapes, \
@@ -1511,7 +1517,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
cost = 15
restricted_roles = list("Clown")
/datum/uplink_item/device_tools/honkpins //Idealy so they can place it into their own guns without needing cargo
/datum/uplink_item/device_tools/honkpins //Idealy so they can place it into their own guns without needing cargo
name = "Hilarious firing pin"
desc = "A single firing pin made for Clown agents, this firing pin makes any gun honk when fired if not a true clown! \
This firing pin also helps you fire the gun correctly. May the HonkMother HONK you agent."
+107 -107
View File
@@ -6,114 +6,114 @@
icon_deny = "clothes-deny"
product_slogans = "Dress for success!;Prepare to look swagalicious!;Look at all this free swag!;Why leave style up to fate? Use the ClothesMate!"
vend_reply = "Thank you for using the ClothesMate!"
products = list(/obj/item/clothing/head/that = 2,
/obj/item/clothing/head/fedora = 1,
/obj/item/clothing/glasses/monocle = 1,
/obj/item/clothing/suit/jacket = 2,
/obj/item/clothing/suit/jacket/puffer/vest = 2,
/obj/item/clothing/suit/jacket/puffer = 2,
/obj/item/clothing/under/suit_jacket/navy = 1,
/obj/item/clothing/under/suit_jacket/really_black = 1,
/obj/item/clothing/under/suit_jacket/burgundy = 1,
/obj/item/clothing/under/suit_jacket/charcoal = 1,
/obj/item/clothing/under/suit_jacket/white = 1,
/obj/item/clothing/under/kilt = 1,
/obj/item/clothing/under/overalls = 1,
/obj/item/clothing/under/sl_suit = 1,
/obj/item/clothing/under/pants/jeans = 3,
/obj/item/clothing/under/pants/classicjeans = 2,
/obj/item/clothing/under/pants/camo = 1,
/obj/item/clothing/under/pants/blackjeans = 2,
/obj/item/clothing/under/pants/khaki = 2,
/obj/item/clothing/under/pants/white = 2,
/obj/item/clothing/under/pants/red = 1,
/obj/item/clothing/under/pants/black = 2,
/obj/item/clothing/under/pants/tan = 2,
/obj/item/clothing/under/pants/track = 1,
/obj/item/clothing/suit/jacket/miljacket = 1,
/obj/item/clothing/neck/tie/blue = 1,
/obj/item/clothing/neck/tie/red = 1,
/obj/item/clothing/neck/tie/black = 1,
/obj/item/clothing/neck/tie/horrible = 1,
/obj/item/clothing/neck/scarf/pink = 1,
/obj/item/clothing/neck/scarf/red = 1,
/obj/item/clothing/neck/scarf/green = 1,
/obj/item/clothing/neck/scarf/darkblue = 1,
/obj/item/clothing/neck/scarf/purple = 1,
/obj/item/clothing/neck/scarf/yellow = 1,
/obj/item/clothing/neck/scarf/orange = 1,
/obj/item/clothing/neck/scarf/cyan = 1,
/obj/item/clothing/neck/scarf = 1,
/obj/item/clothing/neck/scarf/black = 1,
/obj/item/clothing/neck/scarf/zebra = 1,
/obj/item/clothing/neck/scarf/christmas = 1,
/obj/item/clothing/neck/stripedredscarf = 1,
/obj/item/clothing/neck/stripedbluescarf = 1,
/obj/item/clothing/neck/stripedgreenscarf = 1,
/obj/item/clothing/accessory/waistcoat = 1,
/obj/item/clothing/under/skirt/black = 1,
/obj/item/clothing/under/skirt/blue = 1,
/obj/item/clothing/under/skirt/red = 1,
/obj/item/clothing/under/skirt/purple = 1,
/obj/item/clothing/under/sundress = 2,
/obj/item/clothing/under/stripeddress = 1,
/obj/item/clothing/under/sailordress = 1,
/obj/item/clothing/under/redeveninggown = 1,
/obj/item/clothing/under/blacktango = 1,
/obj/item/clothing/under/plaid_skirt = 1,
/obj/item/clothing/under/plaid_skirt/blue = 1,
/obj/item/clothing/under/plaid_skirt/purple = 1,
/obj/item/clothing/under/plaid_skirt/green = 1,
/obj/item/clothing/glasses/regular = 1,
/obj/item/clothing/glasses/regular/jamjar = 1,
/obj/item/clothing/head/sombrero = 1,
/obj/item/clothing/suit/poncho = 1,
/obj/item/clothing/suit/ianshirt = 1,
/obj/item/clothing/shoes/laceup = 2,
/obj/item/clothing/shoes/sneakers/black = 4,
/obj/item/clothing/shoes/sandal = 1,
/obj/item/clothing/gloves/fingerless = 2,
/obj/item/clothing/glasses/orange = 1,
/obj/item/clothing/glasses/red = 1,
/obj/item/storage/belt/fannypack = 1,
/obj/item/storage/belt/fannypack/blue = 1,
/obj/item/storage/belt/fannypack/red = 1,
/obj/item/clothing/suit/jacket/letterman = 2,
/obj/item/clothing/head/beanie = 1,
/obj/item/clothing/head/beanie/black = 1,
/obj/item/clothing/head/beanie/red = 1,
/obj/item/clothing/head/beanie/green = 1,
/obj/item/clothing/head/beanie/darkblue = 1,
/obj/item/clothing/head/beanie/purple = 1,
/obj/item/clothing/head/beanie/yellow = 1,
/obj/item/clothing/head/beanie/orange = 1,
/obj/item/clothing/head/beanie/cyan = 1,
/obj/item/clothing/head/beanie/christmas = 1,
/obj/item/clothing/head/beanie/striped = 1,
/obj/item/clothing/head/beanie/stripedred = 1,
/obj/item/clothing/head/beanie/stripedblue = 1,
/obj/item/clothing/head/beanie/stripedgreen = 1,
/obj/item/clothing/suit/jacket/letterman_red = 1,
products = list(/obj/item/clothing/head/that = 4,
/obj/item/clothing/head/fedora = 3,
/obj/item/clothing/glasses/monocle = 3,
/obj/item/clothing/suit/jacket = 4,
/obj/item/clothing/suit/jacket/puffer/vest = 4,
/obj/item/clothing/suit/jacket/puffer = 4,
/obj/item/clothing/under/suit_jacket/navy = 3,
/obj/item/clothing/under/suit_jacket/really_black = 3,
/obj/item/clothing/under/suit_jacket/burgundy = 3,
/obj/item/clothing/under/suit_jacket/charcoal = 3,
/obj/item/clothing/under/suit_jacket/white = 3,
/obj/item/clothing/under/kilt = 3,
/obj/item/clothing/under/overalls = 3,
/obj/item/clothing/under/sl_suit = 3,
/obj/item/clothing/under/pants/jeans = 5,
/obj/item/clothing/under/pants/classicjeans = 5,
/obj/item/clothing/under/pants/camo = 3,
/obj/item/clothing/under/pants/blackjeans = 5,
/obj/item/clothing/under/pants/khaki = 5,
/obj/item/clothing/under/pants/white = 5,
/obj/item/clothing/under/pants/red = 3,
/obj/item/clothing/under/pants/black = 4,
/obj/item/clothing/under/pants/tan = 4,
/obj/item/clothing/under/pants/track = 3,
/obj/item/clothing/suit/jacket/miljacket = 5,
/obj/item/clothing/neck/tie/blue = 3,
/obj/item/clothing/neck/tie/red = 3,
/obj/item/clothing/neck/tie/black = 3,
/obj/item/clothing/neck/tie/horrible = 5,
/obj/item/clothing/neck/scarf/pink = 3,
/obj/item/clothing/neck/scarf/red = 3,
/obj/item/clothing/neck/scarf/green = 3,
/obj/item/clothing/neck/scarf/darkblue = 3,
/obj/item/clothing/neck/scarf/purple = 3,
/obj/item/clothing/neck/scarf/yellow = 3,
/obj/item/clothing/neck/scarf/orange = 3,
/obj/item/clothing/neck/scarf/cyan = 3,
/obj/item/clothing/neck/scarf = 3,
/obj/item/clothing/neck/scarf/black = 3,
/obj/item/clothing/neck/scarf/zebra = 3,
/obj/item/clothing/neck/scarf/christmas = 3,
/obj/item/clothing/neck/stripedredscarf = 3,
/obj/item/clothing/neck/stripedbluescarf = 3,
/obj/item/clothing/neck/stripedgreenscarf = 3,
/obj/item/clothing/accessory/waistcoat = 2,
/obj/item/clothing/under/skirt/black = 3,
/obj/item/clothing/under/skirt/blue = 3,
/obj/item/clothing/under/skirt/red = 3,
/obj/item/clothing/under/skirt/purple = 3,
/obj/item/clothing/under/sundress = 4,
/obj/item/clothing/under/stripeddress = 3,
/obj/item/clothing/under/sailordress = 3,
/obj/item/clothing/under/redeveninggown = 3,
/obj/item/clothing/under/blacktango = 3,
/obj/item/clothing/under/plaid_skirt = 3,
/obj/item/clothing/under/plaid_skirt/blue = 3,
/obj/item/clothing/under/plaid_skirt/purple = 3,
/obj/item/clothing/under/plaid_skirt/green = 3,
/obj/item/clothing/glasses/regular = 2,
/obj/item/clothing/glasses/regular/jamjar = 2,
/obj/item/clothing/head/sombrero = 3,
/obj/item/clothing/suit/poncho = 3,
/obj/item/clothing/suit/ianshirt = 3,
/obj/item/clothing/shoes/laceup = 5,
/obj/item/clothing/shoes/sneakers/black = 6,
/obj/item/clothing/shoes/sandal = 3,
/obj/item/clothing/gloves/fingerless = 3,
/obj/item/clothing/glasses/orange = 5,
/obj/item/clothing/glasses/red = 5,
/obj/item/storage/belt/fannypack = 3,
/obj/item/storage/belt/fannypack/blue = 3,
/obj/item/storage/belt/fannypack/red = 3,
/obj/item/clothing/suit/jacket/letterman = 5,
/obj/item/clothing/head/beanie = 3,
/obj/item/clothing/head/beanie/black = 3,
/obj/item/clothing/head/beanie/red = 3,
/obj/item/clothing/head/beanie/green = 3,
/obj/item/clothing/head/beanie/darkblue = 3,
/obj/item/clothing/head/beanie/purple = 3,
/obj/item/clothing/head/beanie/yellow = 3,
/obj/item/clothing/head/beanie/orange = 3,
/obj/item/clothing/head/beanie/cyan = 3,
/obj/item/clothing/head/beanie/christmas = 3,
/obj/item/clothing/head/beanie/striped = 3,
/obj/item/clothing/head/beanie/stripedred = 3,
/obj/item/clothing/head/beanie/stripedblue = 3,
/obj/item/clothing/head/beanie/stripedgreen = 3,
/obj/item/clothing/suit/jacket/letterman_red = 3,
/obj/item/clothing/ears/headphones = 10,
/obj/item/clothing/suit/apron/purple_bartender = 2,
/obj/item/clothing/under/rank/bartender/purple = 2)
contraband = list(/obj/item/clothing/under/syndicate/tacticool = 1,
/obj/item/clothing/mask/balaclava = 1,
/obj/item/clothing/head/ushanka = 1,
/obj/item/clothing/under/soviet = 1,
/obj/item/storage/belt/fannypack/black = 2,
/obj/item/clothing/suit/jacket/letterman_syndie = 1,
/obj/item/clothing/under/jabroni = 1,
/obj/item/clothing/suit/vapeshirt = 1,
/obj/item/clothing/under/geisha = 1)
premium = list(/obj/item/clothing/under/suit_jacket/checkered = 1,
/obj/item/clothing/head/mailman = 1,
/obj/item/clothing/under/rank/mailman = 1,
/obj/item/clothing/suit/jacket/leather = 1,
/obj/item/clothing/suit/jacket/leather/overcoat = 1,
/obj/item/clothing/under/pants/mustangjeans = 1,
/obj/item/clothing/neck/necklace/dope = 3,
/obj/item/clothing/suit/jacket/letterman_nanotrasen = 1)
/obj/item/clothing/suit/apron/purple_bartender = 4,
/obj/item/clothing/under/rank/bartender/purple = 4)
contraband = list(/obj/item/clothing/under/syndicate/tacticool = 3,
/obj/item/clothing/mask/balaclava = 3,
/obj/item/clothing/head/ushanka = 3,
/obj/item/clothing/under/soviet = 3,
/obj/item/storage/belt/fannypack/black = 3,
/obj/item/clothing/suit/jacket/letterman_syndie = 5,
/obj/item/clothing/under/jabroni = 2,
/obj/item/clothing/suit/vapeshirt = 2,
/obj/item/clothing/under/geisha = 4)
premium = list(/obj/item/clothing/under/suit_jacket/checkered = 4,
/obj/item/clothing/head/mailman = 2,
/obj/item/clothing/under/rank/mailman = 2,
/obj/item/clothing/suit/jacket/leather = 4,
/obj/item/clothing/suit/jacket/leather/overcoat = 4,
/obj/item/clothing/under/pants/mustangjeans = 3,
/obj/item/clothing/neck/necklace/dope = 5,
/obj/item/clothing/suit/jacket/letterman_nanotrasen = 5)
refill_canister = /obj/item/vending_refill/clothing
/obj/item/vending_refill/clothing
+145 -145
View File
@@ -7,21 +7,21 @@
icon_state = "secdrobe"
product_ads = "Beat perps in style!;It's red so you can't see the blood!;You have the right to be fashionable!;Now you can be the fashion police you always wanted to be!"
vend_reply = "Thank you for using the SecDrobe!"
products = list(/obj/item/clothing/suit/hooded/wintercoat/security = 1,
/obj/item/storage/backpack/security = 1,
/obj/item/storage/backpack/satchel/sec = 1,
/obj/item/storage/backpack/duffelbag/sec = 2,
/obj/item/clothing/under/rank/security = 3,
/obj/item/clothing/shoes/jackboots = 3,
/obj/item/clothing/head/beret/sec = 3,
/obj/item/clothing/head/soft/sec = 3,
/obj/item/clothing/mask/bandana/red = 3,
/obj/item/clothing/under/rank/security/skirt = 3,
/obj/item/clothing/under/rank/security/grey = 3,
/obj/item/clothing/under/pants/khaki = 3)
premium = list(/obj/item/clothing/under/rank/security/navyblue = 3,
/obj/item/clothing/suit/security/officer = 3,
/obj/item/clothing/head/beret/sec/navyofficer = 3)
products = list(/obj/item/clothing/suit/hooded/wintercoat/security = 2,
/obj/item/storage/backpack/security = 2,
/obj/item/storage/backpack/satchel/sec = 2,
/obj/item/storage/backpack/duffelbag/sec = 3,
/obj/item/clothing/under/rank/security = 5,
/obj/item/clothing/shoes/jackboots = 5,
/obj/item/clothing/head/beret/sec =5,
/obj/item/clothing/head/soft/sec = 5,
/obj/item/clothing/mask/bandana/red = 5,
/obj/item/clothing/under/rank/security/skirt = 5,
/obj/item/clothing/under/rank/security/grey = 5,
/obj/item/clothing/under/pants/khaki = 5)
premium = list(/obj/item/clothing/under/rank/security/navyblue = 5,
/obj/item/clothing/suit/security/officer = 5,
/obj/item/clothing/head/beret/sec/navyofficer = 5)
refill_canister = /obj/item/vending_refill/wardrobe/sec_wardrobe
/obj/item/vending_refill/wardrobe/sec_wardrobe
@@ -33,23 +33,23 @@
icon_state = "medidrobe"
product_ads = "Make those blood stains look fashionable!!"
vend_reply = "Thank you for using the MediDrobe!"
products = list(/obj/item/clothing/accessory/pocketprotector = 1,
/obj/item/storage/backpack/duffelbag/med = 1,
/obj/item/storage/backpack/medic = 1,
/obj/item/storage/backpack/satchel/med = 1,
/obj/item/clothing/suit/hooded/wintercoat/medical = 1,
/obj/item/clothing/under/rank/nursesuit = 1,
/obj/item/clothing/head/nursehat = 1,
/obj/item/clothing/under/rank/medical/blue = 1,
/obj/item/clothing/under/rank/medical/green = 1,
/obj/item/clothing/under/rank/medical/purple = 1,
/obj/item/clothing/under/rank/medical = 3,
/obj/item/clothing/suit/toggle/labcoat = 3,
/obj/item/clothing/suit/toggle/labcoat/emt = 3,
/obj/item/clothing/shoes/sneakers/white = 3,
/obj/item/clothing/head/soft/emt = 3,
/obj/item/clothing/suit/apron/surgical = 1,
/obj/item/clothing/mask/surgical = 1)
products = list(/obj/item/clothing/accessory/pocketprotector = 3,
/obj/item/storage/backpack/duffelbag/med = 3,
/obj/item/storage/backpack/medic = 3,
/obj/item/storage/backpack/satchel/med = 3,
/obj/item/clothing/suit/hooded/wintercoat/medical = 3,
/obj/item/clothing/under/rank/nursesuit = 3,
/obj/item/clothing/head/nursehat = 3,
/obj/item/clothing/under/rank/medical/blue = 2,
/obj/item/clothing/under/rank/medical/green = 2,
/obj/item/clothing/under/rank/medical/purple = 2,
/obj/item/clothing/under/rank/medical = 5,
/obj/item/clothing/suit/toggle/labcoat = 5,
/obj/item/clothing/suit/toggle/labcoat/emt = 5,
/obj/item/clothing/shoes/sneakers/white = 5,
/obj/item/clothing/head/soft/emt = 5,
/obj/item/clothing/suit/apron/surgical = 3,
/obj/item/clothing/mask/surgical = 5)
refill_canister = /obj/item/vending_refill/wardrobe/medi_wardrobe
/obj/item/vending_refill/wardrobe/medi_wardrobe
@@ -61,15 +61,15 @@
icon_state = "engidrobe"
product_ads = "Guaranteed to protect your feet from industrial accidents!;Afraid of radiation? Then wear yellow!"
vend_reply = "Thank you for using the EngiDrobe!"
products = list(/obj/item/clothing/accessory/pocketprotector = 1,
/obj/item/storage/backpack/duffelbag/engineering = 1,
/obj/item/storage/backpack/industrial = 1,
/obj/item/storage/backpack/satchel/eng = 1,
/obj/item/clothing/suit/hooded/wintercoat/engineering = 1,
/obj/item/clothing/under/rank/engineer = 3,
/obj/item/clothing/suit/hazardvest = 3,
/obj/item/clothing/shoes/workboots = 3,
/obj/item/clothing/head/hardhat = 3)
products = list(/obj/item/clothing/accessory/pocketprotector = 5,
/obj/item/storage/backpack/duffelbag/engineering = 2,
/obj/item/storage/backpack/industrial = 3,
/obj/item/storage/backpack/satchel/eng = 3,
/obj/item/clothing/suit/hooded/wintercoat/engineering = 3,
/obj/item/clothing/under/rank/engineer = 5,
/obj/item/clothing/suit/hazardvest = 5,
/obj/item/clothing/shoes/workboots = 5,
/obj/item/clothing/head/hardhat = 5)
refill_canister = /obj/item/vending_refill/wardrobe/engi_wardrobe
/obj/item/vending_refill/wardrobe/engi_wardrobe
@@ -81,13 +81,13 @@
icon_state = "atmosdrobe"
product_ads = "Get your inflammable clothing right here!!!"
vend_reply = "Thank you for using the AtmosDrobe!"
products = list(/obj/item/clothing/accessory/pocketprotector = 1,
/obj/item/storage/backpack/duffelbag/engineering = 1,
/obj/item/storage/backpack/satchel/eng = 1,
/obj/item/storage/backpack/industrial = 1,
/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos = 3,
/obj/item/clothing/under/rank/atmospheric_technician = 3,
/obj/item/clothing/shoes/sneakers/black = 3)
products = list(/obj/item/clothing/accessory/pocketprotector = 3,
/obj/item/storage/backpack/duffelbag/engineering = 3,
/obj/item/storage/backpack/satchel/eng = 3,
/obj/item/storage/backpack/industrial = 3,
/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos = 5,
/obj/item/clothing/under/rank/atmospheric_technician = 5,
/obj/item/clothing/shoes/sneakers/black = 5)
refill_canister = /obj/item/vending_refill/wardrobe/atmos_wardrobe
/obj/item/vending_refill/wardrobe/atmos_wardrobe
@@ -99,12 +99,12 @@
icon_state = "cargodrobe"
product_ads = "Upgraded Assistant Style! Pick yours today!;These shorts are comfy and easy to wear, get yours now!"
vend_reply = "Thank you for using the CargoDrobe!"
products = list(/obj/item/clothing/suit/hooded/wintercoat/cargo = 1,
/obj/item/clothing/under/rank/cargotech = 3,
/obj/item/clothing/shoes/sneakers/black = 3,
/obj/item/clothing/gloves/fingerless = 3,
/obj/item/clothing/head/soft = 3,
/obj/item/radio/headset/headset_cargo = 1)
products = list(/obj/item/clothing/suit/hooded/wintercoat/cargo = 3,
/obj/item/clothing/under/rank/cargotech = 5,
/obj/item/clothing/shoes/sneakers/black = 5,
/obj/item/clothing/gloves/fingerless = 5,
/obj/item/clothing/head/soft = 5,
/obj/item/radio/headset/headset_cargo = 3)
refill_canister = /obj/item/vending_refill/wardrobe/cargo_wardrobe
/obj/item/vending_refill/wardrobe/cargo_wardrobe
@@ -116,13 +116,13 @@
icon_state = "robodrobe"
product_ads = "You turn me TRUE, use defines!;0110001101101100011011110111010001101000011001010111001101101000011001010111001001100101"
vend_reply = "Thank you for using the RoboDrobe!"
products = list(/obj/item/clothing/glasses/hud/diagnostic = 2,
/obj/item/clothing/under/rank/roboticist = 2,
/obj/item/clothing/suit/toggle/labcoat = 2,
/obj/item/clothing/shoes/sneakers/black = 2,
/obj/item/clothing/gloves/fingerless = 2,
/obj/item/clothing/head/soft/black = 2,
/obj/item/clothing/mask/bandana/skull = 1)
products = list(/obj/item/clothing/glasses/hud/diagnostic = 3,
/obj/item/clothing/under/rank/roboticist = 3,
/obj/item/clothing/suit/toggle/labcoat = 3,
/obj/item/clothing/shoes/sneakers/black = 3,
/obj/item/clothing/gloves/fingerless = 3,
/obj/item/clothing/head/soft/black = 3,
/obj/item/clothing/mask/bandana/skull = 2)
premium = list(/obj/item/radio/headset/headset_rob = 2) //Cit change
refill_canister = /obj/item/vending_refill/wardrobe/robo_wardrobe
@@ -135,15 +135,15 @@
icon_state = "scidrobe"
product_ads = "Longing for the smell of flesh plasma? Buy your science clothing now!;Made with 10% Auxetics, so you don't have to worry losing your arm!"
vend_reply = "Thank you for using the SciDrobe!"
products = list(/obj/item/clothing/accessory/pocketprotector = 1,
/obj/item/storage/backpack/science = 2,
/obj/item/storage/backpack/satchel/tox = 2,
/obj/item/clothing/suit/hooded/wintercoat/science = 1,
/obj/item/clothing/under/rank/scientist = 3,
/obj/item/clothing/suit/toggle/labcoat/science = 3,
/obj/item/clothing/shoes/sneakers/white = 3,
/obj/item/radio/headset/headset_sci = 2,
/obj/item/clothing/mask/gas = 3)
products = list(/obj/item/clothing/accessory/pocketprotector = 5,
/obj/item/storage/backpack/science = 3,
/obj/item/storage/backpack/satchel/tox = 3,
/obj/item/clothing/suit/hooded/wintercoat/science = 3,
/obj/item/clothing/under/rank/scientist = 4,
/obj/item/clothing/suit/toggle/labcoat/science = 4,
/obj/item/clothing/shoes/sneakers/white = 4,
/obj/item/radio/headset/headset_sci = 4,
/obj/item/clothing/mask/gas = 5)
refill_canister = /obj/item/vending_refill/wardrobe/science_wardrobe
/obj/item/vending_refill/wardrobe/science_wardrobe
@@ -155,13 +155,13 @@
icon_state = "hydrobe"
product_ads = "Do you love soil? Then buy our clothes!;Get outfits to match your green thumb here!"
vend_reply = "Thank you for using the Hydrobe!"
products = list(/obj/item/storage/backpack/botany = 2,
/obj/item/storage/backpack/satchel/hyd = 2,
/obj/item/clothing/suit/hooded/wintercoat/hydro = 1,
/obj/item/clothing/suit/apron = 2,
/obj/item/clothing/suit/apron/overalls = 3,
/obj/item/clothing/under/rank/hydroponics = 3,
/obj/item/clothing/mask/bandana = 3)
products = list(/obj/item/storage/backpack/botany = 3,
/obj/item/storage/backpack/satchel/hyd = 3,
/obj/item/clothing/suit/hooded/wintercoat/hydro = 2,
/obj/item/clothing/suit/apron = 3,
/obj/item/clothing/suit/apron/overalls = 5,
/obj/item/clothing/under/rank/hydroponics = 5,
/obj/item/clothing/mask/bandana = 4)
refill_canister = /obj/item/vending_refill/wardrobe/hydro_wardrobe
/obj/item/vending_refill/wardrobe/hydro_wardrobe
@@ -173,12 +173,12 @@
icon_state = "curadrobe"
product_ads = "Our clothes are endorsed by treasure hunters everywhere!"
vend_reply = "Thank you for using the CuraDrobe!"
products = list(/obj/item/clothing/head/fedora/curator = 1,
/obj/item/clothing/suit/curator = 1,
/obj/item/clothing/under/rank/curator/treasure_hunter = 1,
/obj/item/clothing/shoes/workboots/mining = 1,
/obj/item/storage/backpack/satchel/explorer = 1,
/obj/item/storage/bag/books = 1)
products = list(/obj/item/clothing/head/fedora/curator = 2,
/obj/item/clothing/suit/curator = 2,
/obj/item/clothing/under/rank/curator/treasure_hunter = 2,
/obj/item/clothing/shoes/workboots/mining = 2,
/obj/item/storage/backpack/satchel/explorer = 2,
/obj/item/storage/bag/books = 2)
refill_canister = /obj/item/vending_refill/wardrobe/curator_wardrobe
/obj/item/vending_refill/wardrobe/curator_wardrobe
@@ -190,21 +190,21 @@
icon_state = "bardrobe"
product_ads = "Guaranteed to prevent stains from spilled drinks!"
vend_reply = "Thank you for using the BarDrobe!"
products = list(/obj/item/clothing/head/that = 2,
/obj/item/radio/headset/headset_srv = 2,
/obj/item/clothing/under/sl_suit = 2,
/obj/item/clothing/under/rank/bartender = 2,
/obj/item/clothing/under/rank/bartender/purple = 1,
/obj/item/clothing/accessory/waistcoat = 2,
/obj/item/clothing/suit/apron/purple_bartender = 1,
/obj/item/clothing/head/soft/black = 2,
/obj/item/clothing/shoes/sneakers/black = 2,
/obj/item/reagent_containers/glass/rag = 2,
products = list(/obj/item/clothing/head/that = 3,
/obj/item/radio/headset/headset_srv = 3,
/obj/item/clothing/under/sl_suit = 3,
/obj/item/clothing/under/rank/bartender = 3,
/obj/item/clothing/under/rank/bartender/purple = 2,
/obj/item/clothing/accessory/waistcoat = 3,
/obj/item/clothing/suit/apron/purple_bartender = 2,
/obj/item/clothing/head/soft/black = 4,
/obj/item/clothing/shoes/sneakers/black = 4,
/obj/item/reagent_containers/glass/rag = 4,
/obj/item/storage/box/beanbag = 1,
/obj/item/clothing/suit/armor/vest/alt = 1,
/obj/item/circuitboard/machine/dish_drive = 1,
/obj/item/clothing/glasses/sunglasses/reagent = 1,
/obj/item/clothing/neck/petcollar = 1,
/obj/item/clothing/neck/petcollar = 3,
/obj/item/storage/belt/bandolier = 1)
refill_canister = /obj/item/vending_refill/wardrobe/bar_wardrobe
@@ -217,17 +217,17 @@
icon_state = "chefdrobe"
product_ads = "Our clothes are guaranteed to protect you from food splatters!"
vend_reply = "Thank you for using the ChefDrobe!"
products = list(/obj/item/clothing/under/waiter = 2,
/obj/item/radio/headset/headset_srv = 2,
/obj/item/clothing/accessory/waistcoat = 2,
products = list(/obj/item/clothing/under/waiter = 3,
/obj/item/radio/headset/headset_srv = 4,
/obj/item/clothing/accessory/waistcoat = 3,
/obj/item/clothing/suit/apron/chef = 3,
/obj/item/clothing/head/soft/mime = 2,
/obj/item/storage/box/mousetraps = 2,
/obj/item/circuitboard/machine/dish_drive = 1,
/obj/item/clothing/suit/toggle/chef = 1,
/obj/item/clothing/under/rank/chef = 1,
/obj/item/clothing/head/chefhat = 1,
/obj/item/reagent_containers/glass/rag = 1)
/obj/item/clothing/suit/toggle/chef = 2,
/obj/item/clothing/under/rank/chef = 2,
/obj/item/clothing/head/chefhat = 2,
/obj/item/reagent_containers/glass/rag = 3)
refill_canister = /obj/item/vending_refill/wardrobe/chef_wardrobe
/obj/item/vending_refill/wardrobe/chef_wardrobe
@@ -239,21 +239,21 @@
icon_state = "janidrobe"
product_ads = "Come and get your janitorial clothing, now endorsed by lizard janitors everywhere!"
vend_reply = "Thank you for using the JaniDrobe!"
products = list(/obj/item/clothing/under/rank/janitor = 1,
/obj/item/cartridge/janitor = 1,
/obj/item/clothing/gloves/color/black = 1,
/obj/item/clothing/head/soft/purple = 1,
/obj/item/paint/paint_remover = 1,
products = list(/obj/item/clothing/under/rank/janitor = 2,
/obj/item/cartridge/janitor = 3,
/obj/item/clothing/gloves/color/black = 2,
/obj/item/clothing/head/soft/purple = 2,
/obj/item/paint/paint_remover = 2,
/obj/item/melee/flyswatter = 1,
/obj/item/flashlight = 1,
/obj/item/caution = 6,
/obj/item/flashlight = 2,
/obj/item/caution = 8,
/obj/item/holosign_creator = 1,
/obj/item/lightreplacer = 1,
/obj/item/soap = 1,
/obj/item/storage/bag/trash = 1,
/obj/item/clothing/shoes/galoshes = 1,
/obj/item/watertank/janitor = 1,
/obj/item/storage/belt/janitor = 1)
/obj/item/storage/belt/janitor = 2)
refill_canister = /obj/item/vending_refill/wardrobe/jani_wardrobe
/obj/item/vending_refill/wardrobe/jani_wardrobe
@@ -265,17 +265,17 @@
icon_state = "lawdrobe"
product_ads = "OBJECTION! Get the rule of law for yourself!"
vend_reply = "Thank you for using the LawDrobe!"
products = list(/obj/item/clothing/under/lawyer/female = 1,
/obj/item/clothing/under/lawyer/black = 1,
/obj/item/clothing/under/lawyer/red = 1,
/obj/item/clothing/under/lawyer/bluesuit = 1,
/obj/item/clothing/suit/toggle/lawyer = 1,
/obj/item/clothing/under/lawyer/purpsuit = 1,
/obj/item/clothing/suit/toggle/lawyer/purple = 1,
/obj/item/clothing/under/lawyer/blacksuit = 1,
/obj/item/clothing/suit/toggle/lawyer/black = 1,
/obj/item/clothing/shoes/laceup = 2,
/obj/item/clothing/accessory/lawyers_badge = 2)
products = list(/obj/item/clothing/under/lawyer/female = 3,
/obj/item/clothing/under/lawyer/black = 3,
/obj/item/clothing/under/lawyer/red = 3,
/obj/item/clothing/under/lawyer/bluesuit = 3,
/obj/item/clothing/suit/toggle/lawyer = 3,
/obj/item/clothing/under/lawyer/purpsuit = 3,
/obj/item/clothing/suit/toggle/lawyer/purple = 3,
/obj/item/clothing/under/lawyer/blacksuit = 3,
/obj/item/clothing/suit/toggle/lawyer/black = 3,
/obj/item/clothing/shoes/laceup = 3,
/obj/item/clothing/accessory/lawyers_badge = 3)
refill_canister = /obj/item/vending_refill/wardrobe/law_wardrobe
/obj/item/vending_refill/wardrobe/law_wardrobe
@@ -288,14 +288,14 @@
product_ads = "Are you being bothered by cultists or pesky revenants? Then come and dress like the holy man!;Clothes for men of the cloth!"
vend_reply = "Thank you for using the ChapDrobe!"
products = list(/obj/item/holybeacon = 1,
/obj/item/storage/backpack/cultpack = 1,
/obj/item/clothing/accessory/pocketprotector/cosmetology = 1,
/obj/item/clothing/under/rank/chaplain = 1,
/obj/item/clothing/shoes/sneakers/black = 1,
/obj/item/clothing/suit/nun = 1,
/obj/item/clothing/head/nun_hood = 1,
/obj/item/clothing/suit/holidaypriest = 1,
/obj/item/storage/fancy/candle_box = 2)
/obj/item/storage/backpack/cultpack = 2,
/obj/item/clothing/accessory/pocketprotector/cosmetology = 2,
/obj/item/clothing/under/rank/chaplain = 2,
/obj/item/clothing/shoes/sneakers/black = 2,
/obj/item/clothing/suit/nun = 2,
/obj/item/clothing/head/nun_hood = 2,
/obj/item/clothing/suit/holidaypriest = 2,
/obj/item/storage/fancy/candle_box = 3)
refill_canister = /obj/item/vending_refill/wardrobe/chap_wardrobe
/obj/item/vending_refill/wardrobe/chap_wardrobe
@@ -307,12 +307,12 @@
icon_state = "chemdrobe"
product_ads = "Our clothes are 0.5% more resistant to acid spills! Get yours now!"
vend_reply = "Thank you for using the ChemDrobe!"
products = list(/obj/item/clothing/under/rank/chemist = 2,
/obj/item/clothing/shoes/sneakers/white = 2,
/obj/item/clothing/suit/toggle/labcoat/chemist = 2,
/obj/item/storage/backpack/chemistry = 2,
/obj/item/storage/backpack/satchel/chem = 2,
/obj/item/storage/bag/chemistry = 2)
products = list(/obj/item/clothing/under/rank/chemist = 3,
/obj/item/clothing/shoes/sneakers/white = 3,
/obj/item/clothing/suit/toggle/labcoat/chemist = 3,
/obj/item/storage/backpack/chemistry = 3,
/obj/item/storage/backpack/satchel/chem = 3,
/obj/item/storage/bag/chemistry = 3)
refill_canister = /obj/item/vending_refill/wardrobe/chem_wardrobe
/obj/item/vending_refill/wardrobe/chem_wardrobe
@@ -324,11 +324,11 @@
icon_state = "genedrobe"
product_ads = "Perfect for the mad scientist in you!"
vend_reply = "Thank you for using the GeneDrobe!"
products = list(/obj/item/clothing/under/rank/geneticist = 2,
/obj/item/clothing/shoes/sneakers/white = 2,
/obj/item/clothing/suit/toggle/labcoat/genetics = 2,
/obj/item/storage/backpack/genetics = 2,
/obj/item/storage/backpack/satchel/gen = 2)
products = list(/obj/item/clothing/under/rank/geneticist = 3,
/obj/item/clothing/shoes/sneakers/white = 3,
/obj/item/clothing/suit/toggle/labcoat/genetics = 3,
/obj/item/storage/backpack/genetics = 3,
/obj/item/storage/backpack/satchel/gen = 3)
refill_canister = /obj/item/vending_refill/wardrobe/gene_wardrobe
/obj/item/vending_refill/wardrobe/gene_wardrobe
@@ -340,12 +340,12 @@
icon_state = "virodrobe"
product_ads = " Viruses getting you down? Then upgrade to sterilized clothing today!"
vend_reply = "Thank you for using the ViroDrobe"
products = list(/obj/item/clothing/under/rank/virologist = 2,
/obj/item/clothing/shoes/sneakers/white = 2,
/obj/item/clothing/suit/toggle/labcoat/virologist = 2,
/obj/item/clothing/mask/surgical = 2,
/obj/item/storage/backpack/virology = 2,
/obj/item/storage/backpack/satchel/vir = 2)
products = list(/obj/item/clothing/under/rank/virologist = 3,
/obj/item/clothing/shoes/sneakers/white = 3,
/obj/item/clothing/suit/toggle/labcoat/virologist = 3,
/obj/item/clothing/mask/surgical = 3,
/obj/item/storage/backpack/virology = 3,
/obj/item/storage/backpack/satchel/vir = 3)
refill_canister = /obj/item/vending_refill/wardrobe/viro_wardrobe
/obj/item/vending_refill/wardrobe/viro_wardrobe
@@ -0,0 +1,5 @@
author: "BurgerBB"
delete-after: True
changes:
- rscadd: "Added the following reagents to the common list of vent clog reagents: ~~Cooking Oil~~, ~~Frost Oil~~, Sodium Chloride, Corn Oil, Uranium, Carpet, Firefighting Foam, semen, femcum, tear juice, strange reagent, ~~spraytan~~."
- balance: "Vent Clog smoke emits the same transparent smoke as a smoke machine, including how much it transfers. Vent Clogs also do not trigger in areas deemed \"Safe\" in code, such as in the dorms or trusted areas where dangerous things shouldn't occur."
@@ -0,0 +1,5 @@
author: "Trilbyspaceclone"
delete-after: True
changes:
- rscadd: "syndicate phobia"
- tweak: "other phobia's"
@@ -0,0 +1,4 @@
author: "Trilbyspaceclone"
delete-after: True
changes:
- rscadd: "Crafting suitcases"
@@ -0,0 +1,4 @@
author: "dtfe3"
delete-after: True
changes:
- tweak: "Made it so any oxygen tank can be used instead of only red ones."
+10
View File
@@ -0,0 +1,10 @@
author: "Poojawa"
delete-after: True
changes:
- bugfix: "Box Cryopods expanded to 6 public. Permabrig cryo fixed."
- bugfix: "Delta Cryopods expanded to 6 public. Permabrig cryo fixed."
- bugfix: "MetaStation Crypods expanded to 6 public, relocated above sparring ring. Permabrig cryo fixed"
- bugfix: "PubbyStation gained one more cryopod, Permabrig's cryo fixed."
- rscadd: "Omega given one more crypod as well."
- rscadd: "Gulag was given a cryopod."
- tweak: "Box and Meta's cryo rooms are now a new room entirely."
@@ -0,0 +1,7 @@
author: "Poojawa"
delete-after: True
changes:
- rscadd: "Added erect states for all phallic bodyparts"
- bugfix: "YOUR DICK ACTUALLY STANDS UP NOW, YOU'RE WELCOME."
- bugfix: "skintone locked genitals match the new skintone colorations."
- rscadd: "added two new vaginal types and descriptions."
@@ -0,0 +1,4 @@
author: "Trilbyspaceclone"
delete-after: True
changes:
- rscadd: "better stocks"
@@ -0,0 +1,4 @@
author: "Trilbyspaceclone"
delete-after: True
changes:
- rscadd: "more evil blood fluff text"
@@ -0,0 +1,4 @@
author: "Trilbyspaceclone"
delete-after: True
changes:
- rscadd: "Added more mime names"
@@ -0,0 +1,4 @@
author: "Poojawa"
delete-after: True
changes:
- bugfix: "fixed borg defib runtimes"
@@ -0,0 +1,4 @@
author: "Poojawa"
delete-after: True
changes:
- bugfix: "fixed heart attacks being nonlethal"
@@ -0,0 +1,4 @@
author: "Poojawa"
delete-after: True
changes:
- rscadd: "Ported Oracle's cloning set up, you're now visible like cryo when being cloned, though it's a mystery until you have skin on your meat puppet existance"
@@ -0,0 +1,4 @@
author: "Poojawa"
delete-after: True
changes:
- balance: "Recyclers are unable to destroy the indestructible any longer."
@@ -0,0 +1,4 @@
author: "Useroth"
delete-after: True
changes:
- bugfix: "the collars are now aware of their proper overlay sprites"
@@ -0,0 +1,5 @@
author: "Poojawa"
delete-after: True
changes:
- bugfix: "Kiara's toy sabre now actually is the correct item + icon states"
- bugfix: "Generic armor for taurs fixed, there isn't actually any sprites for 'em, so. Full sprites overlay over bodies, but I really can't be bothered to do all the offset fixes otherwise."
@@ -0,0 +1,4 @@
author: "WhiteHusky"
delete-after: True
changes:
- rscadd: "Sleepers now show blood level and type."
Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 34 KiB

@@ -3,4 +3,15 @@
desc = "A shiny bike horn handcrafted in the artisan workshops of Mars, with superior kevlar-reinforced rubber bulb attached to a polished plasteel reed horn."
attack_verb = list("elegantly HONKED")
icon = 'modular_citadel/icons/obj/honk.dmi'
icon_state = "silverhorn"
icon_state = "silverhorn"
/obj/item/bikehorn/bluespacehonker
name = "bluespace bike horn"
desc = "A normal bike horn colored blue and has bluespace dust held in to reed horn allowing for silly honks through space and time, into your in childhood."
attack_verb = list("HONKED in bluespace", "HONKED", "quantumly HONKED")
icon = 'modular_citadel/icons/obj/honk.dmi'
icon_state = "bluespacehonker"
/obj/item/bikehorn/bluespacehonker/attack(mob/living/carbon/M, mob/living/carbon/user)
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "bshonk", /datum/mood_event/bshonk)
return ..()
@@ -117,6 +117,28 @@
desc = "The Non-Eutactic Blade utilizes a hardlight blade that is dynamically 'forged' on demand to create a deadly sharp edge that is unbreakable. This one seems to have a damaged handle and misaligned components, causing the blade to be unstable at best"
force_on = 15 //As strong a survival knife/bone dagger
/obj/item/melee/transforming/energy/sword/cx/attackby(obj/item/W, mob/living/user, params)
if(istype(W, /obj/item/melee/transforming/energy/sword/cx))
if((W.item_flags & NODROP) || (item_flags & NODROP))
to_chat(user, "<span class='warning'>\the [item_flags & NODROP ? src : W] is stuck to your hand, you can't attach it to \the [item_flags & NODROP ? W : src]!</span>")
return
else
to_chat(user, "<span class='notice'>You combine the two light swords, making a single supermassive blade! You're cool.</span>")
new /obj/item/twohanded/hypereutactic(user.drop_location())
qdel(W)
qdel(src)
else
return ..()
/obj/item/melee/transforming/energy/sword/cx/chaplain
name = "divine lightblade"
force_on = 20 //haha i'll regret this
block_chance = 50
/obj/item/melee/transforming/energy/sword/cx/chaplain/Initialize()
. = ..()
AddComponent(/datum/component/anti_magic, TRUE, TRUE)
//OBLIGATORY TOY MEMES /////////////////////////////////////
/obj/item/toy/sword/cx
@@ -235,21 +257,21 @@
inhand_y_dimension = 64
name = "hypereutactic blade"
desc = "A supermassive weapon envisioned to cleave the very fabric of space and time itself in twain, the hypereutactic blade dynamically flash-forges a hypereutactic crystaline nanostructure capable of passing through most known forms of matter like a hot knife through butter."
force = 3
force = 7
throwforce = 5
throw_speed = 3
throw_range = 5
w_class = WEIGHT_CLASS_SMALL
var/w_class_on = WEIGHT_CLASS_BULKY
force_unwielded = 3
force_wielded = 30
force_unwielded = 7
force_wielded = 40
wieldsound = 'sound/weapons/nebon.ogg'
unwieldsound = 'sound/weapons/neboff.ogg'
hitsound = "swing_hit"
armour_penetration = 10
armour_penetration = 60
light_color = "#37FFF7"
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "destroyed", "ripped", "devastated", "shredded")
block_chance = 25
block_chance = 75
max_integrity = 200
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 70)
resistance_flags = FIRE_PROOF
@@ -265,7 +287,6 @@
user.visible_message("<span class='notice'>[user] points the tip of [src] at [target].</span>", "<span class='notice'>You point the tip of [src] at [target].</span>")
return TRUE
/obj/item/twohanded/hypereutactic/wield(mob/living/carbon/M) //Specific wield () hulk checks due to reflection chance for balance issues and switches hitsounds.
if(M.has_dna())
if(M.dna.check_mutation(HULK))
@@ -278,7 +299,6 @@
hitsound = 'sound/weapons/nebhit.ogg'
START_PROCESSING(SSobj, src)
set_light(brightness_on)
slowdown = 1
/obj/item/twohanded/hypereutactic/unwield() //Specific unwield () to switch hitsounds.
sharpness = initial(sharpness)
@@ -338,12 +358,8 @@
..()
to_chat(user, "<span class='notice'>Alt-click to recolor it.</span>")
////////// stuff beneath this is all taken from the desword //////////// wow very professional such OOP wow
/obj/item/twohanded/hypereutactic/attack(mob/target, mob/living/carbon/human/user)
if(user.has_dna())
if(user.dna.check_mutation(HULK))
@@ -426,7 +442,7 @@
It appears to have a wooden grip and a shaved down guard."
icon_state = "cxsword_hilt_traitor"
force_on = 30
armour_penetration = 35
armour_penetration = 50
embedding = list("embedded_pain_multiplier" = 10, "embed_chance" = 75, "embedded_fall_chance" = 0, "embedded_impact_pain_multiplier" = 10)
block_chance = 50
hitsound_on = 'sound/weapons/blade1.ogg'
@@ -6,7 +6,12 @@
var/saltresult = "The wheel of salt [pick("clatters","screams","vibrates","clanks","resonates","groans","moans","squeaks","emits a[pick(" god-forsaken"," lewd"," creepy"," generic","n orgasmic"," demonic")] [pick("airhorn","bike horn","trumpet","clown","latex","vore","dog","laughing")] noise")] as it spins violently... And it seems the salt of the day is the "
var/saltprimarysubject = "[pick("combat","medical","grab","furry","wall","orgasm","cat","ERP","lizard","dog","latex","vision cone","atmospherics","table","chem","vore","dogborg","Skylar Lineman","Mekhi Anderson","Peppermint","rework","cum","dick","cockvore","Medihound","sleeper","belly sleeper","door wires","flightsuit","coder privilege","Developer abuse","ban reason","github self merge","red panda","beret","male catgirl","powergame","hexacrocin","Discord server","Clitadel","Cargonia","Solarian Republic","Main and RP merger","bluespace","salt","chem dispenser theft","Botany","moth","BWOINK","anal vore","stamina","Mason Jakops","mining","noodle","milf","Lavaland","Necropolis","Ashwalker","Chase Redtail","Drew Mint","Pavel Marsk","Jecca Qua","Joker Amari","Durgit","chaplain","Antag","nanite","Syndicate","Nar-Sie","Ratvar","Cult","maint","Foam-Force","AI","cyborg","ghost","clockwork","cyberpunk","vaporwave","Clown","Leon Beech","Mime","security","research","Megafauna","Bubblegum","Ash Drake","Legion","Colossus","White Shuttle","Changeling","Cowboy","Space Ninja","Poly","Revolutionary","Skyrim","forbidden fruits","xenomorph","blob","Nuclear Operative","crossdressing")]"
var/saltsecondarysubject = "[pick("rework","changes","r34","ban","removal","addition","leak","proposal","fanart","introduction","tabling","ERP","bikeshedding","crossdressing","sprites","semen keg","argument","theft","nerf","screeching","salt","creampie","lewding","murder","kissing","marriage","replacement","fucking","ship","netflix adaptation","dance","remaster","system","voyeur","decoration","pre-order","bukkake","seduction","worship","gangbang","handholding")]"
saltresult += "[saltprimarysubject] [saltsecondarysubject]"
if(prob(10))
saltresult += "@here for your salt, all day every day"
if(prob(1))
saltresult += " @everyone gets some salt this time too"
else
saltresult += "[saltprimarysubject] [saltsecondarysubject]"
return "[saltresult]!"
/datum/tgs_chat_command/despacito
+14 -11
View File
@@ -1,13 +1,13 @@
//Mob vars
/mob/living
var/arousalloss = 0 //How aroused the mob is.
var/min_arousal = 0 //The lowest this mobs arousal will get. default = 0
var/max_arousal = 100 //The highest this mobs arousal will get. default = 100
var/arousal_rate = 1 //The base rate that arousal will increase in this mob.
var/arousal_loss_rate = 1 //How easily arousal can be relieved for this mob.
var/canbearoused = FALSE //Mob-level disabler for arousal. Starts off and can be enabled as features are added for different mob types.
var/mb_cd_length = 100 //5 second cooldown for masturbating because fuck spam.
var/mb_cd_timer = 0 //The timer itself
var/arousalloss = 0 //How aroused the mob is.
var/min_arousal = AROUSAL_MINIMUM_DEFAULT //The lowest this mobs arousal will get. default = 0
var/max_arousal = AROUSAL_MAXIMUM_DEFAULT //The highest this mobs arousal will get. default = 100
var/arousal_rate = AROUSAL_START_VALUE //The base rate that arousal will increase in this mob.
var/arousal_loss_rate = AROUSAL_START_VALUE //How easily arousal can be relieved for this mob.
var/canbearoused = FALSE //Mob-level disabler for arousal. Starts off and can be enabled as features are added for different mob types.
var/mb_cd_length = 5 SECONDS //5 second cooldown for masturbating because fuck spam.
var/mb_cd_timer = 0 //The timer itself
/mob/living/carbon/human
canbearoused = TRUE
@@ -22,8 +22,8 @@
//Species vars
/datum/species
var/arousal_gain_rate = 1 //Rate at which this species becomes aroused
var/arousal_lose_rate = 1 //Multiplier for how easily arousal can be relieved
var/arousal_gain_rate = AROUSAL_START_VALUE //Rate at which this species becomes aroused
var/arousal_lose_rate = AROUSAL_START_VALUE //Multiplier for how easily arousal can be relieved
var/list/cum_fluids = list("semen")
var/list/milk_fluids = list("milk")
var/list/femcum_fluids = list("femcum")
@@ -77,7 +77,8 @@
updatearousal()
/mob/living/proc/getPercentAroused()
return ((100 / max_arousal) * arousalloss)
var/percentage = ((100 / max_arousal) * arousalloss)
return percentage
/mob/living/proc/isPercentAroused(percentage)//returns true if the mob's arousal (measured in a percent of 100) is greater than the arg percentage.
if(!isnum(percentage) || percentage > 100 || percentage < 0)
@@ -104,6 +105,8 @@
S = GLOB.breasts_shapes_list[G.shape]
if(S?.alt_aroused)
G.aroused_state = isPercentAroused(G.aroused_amount)
if(getArousalLoss() >= ((max_arousal / 100) * 33))
G.aroused_state = TRUE
else
G.aroused_state = FALSE
G.update_appearance()
@@ -36,8 +36,6 @@
reagents.add_reagent(fluid_id, (fluid_mult * fluid_rate))
/obj/item/organ/genital/breasts/update_appearance()
var/string = "breasts_[lowertext(shape)]_[size]"
icon_state = sanitize_text(string)
var/lowershape = lowertext(shape)
switch(lowershape)
if("pair")
@@ -50,10 +48,19 @@
desc += " You wouldn't measure them in cup sizes."
if(producing && aroused_state)
desc += " They're leaking [fluid_id]."
var/string
if(owner)
if(owner.dna.species.use_skintones && owner.dna.features["genitals_use_skintone"])
if(ishuman(owner)) // Check before recasting type, although someone fucked up if you're not human AND have use_skintones somehow...
var/mob/living/carbon/human/H = owner // only human mobs have skin_tone, which we need.
color = "#[skintone2hex(H.skin_tone)]"
string = "breasts_[lowertext(shape)]_[size]-s"
else
color = "#[owner.dna.features["breasts_color"]]"
string = "breasts_[lowertext(shape)]_[size]"
if(ishuman(owner))
var/mob/living/carbon/human/H = owner
H.update_genitals()
icon_state = sanitize_text(string)
@@ -92,7 +92,7 @@
var/list/genital_list = list()
for(var/obj/item/organ/O in internal_organs)
if(istype(O, /obj/item/organ/genital))
if(isgenital(O))
var/obj/item/organ/genital/G = O
if(!G.internal)
genital_list += G
@@ -110,10 +110,13 @@
/obj/item/organ/genital/proc/update_size()
return
/obj/item/organ/genital/proc/update_appearance()
return
/obj/item/organ/genital/proc/update_link()
return
/obj/item/organ/genital/proc/remove_ref()
if(linked_organ)
@@ -211,7 +214,10 @@
/mob/living/carbon/human/proc/give_ovipositor()
return
/mob/living/carbon/human/proc/give_eggsack()
return
/mob/living/carbon/human/proc/give_vagina()
if(!dna)
return FALSE
@@ -280,7 +286,8 @@
var/list/genitals_to_add = list()
var/list/relevant_layers = list(GENITALS_BEHIND_LAYER, GENITALS_ADJ_LAYER, GENITALS_FRONT_LAYER)
var/list/standing = list()
var/size = null
var/size
var/aroused_state
for(var/L in relevant_layers) //Less hardcode
H.remove_overlay(L)
@@ -288,7 +295,7 @@
//start scanning for genitals
//var/list/worn_stuff = H.get_equipped_items()//cache this list so it's not built again
for(var/obj/item/organ/O in H.internal_organs)
if(istype(O, /obj/item/organ/genital))
if(isgenital(O))
var/obj/item/organ/genital/G = O
if(G.is_exposed()) //Checks appropriate clothing slot and if it's through_clothes
genitals_to_add += H.getorganslot(G.slot)
@@ -300,6 +307,7 @@
for(var/obj/item/organ/genital/G in genitals_to_add)
var/datum/sprite_accessory/S
size = G.size
aroused_state = G.aroused_state
switch(G.type)
if(/obj/item/organ/genital/penis)
S = GLOB.cock_shapes_list[G.shape]
@@ -311,13 +319,14 @@
if(!S || S.icon_state == "none")
continue
var/mutable_appearance/genital_overlay = mutable_appearance(S.icon, layer = -layer)
genital_overlay.icon_state = "[G.slot]_[S.icon_state]_[size]_[G.aroused_state]_[layertext]"
genital_overlay.icon_state = "[G.slot]_[S.icon_state]_[size]_[aroused_state]_[layertext]"
if(S.center)
genital_overlay = center_image(genital_overlay, S.dimension_x, S.dimension_y)
if(use_skintones && H.dna.features["genitals_use_skintone"])
genital_overlay.color = "#[skintone2hex(H.skin_tone)]"
genital_overlay.icon_state = "[G.slot]_[S.icon_state]_[size]-s_[aroused_state]_[layertext]"
else
switch(S.color_src)
if("cock_color")
@@ -326,21 +335,7 @@
genital_overlay.color = "#[H.dna.features["breasts_color"]]"
if("vag_color")
genital_overlay.color = "#[H.dna.features["vag_color"]]"
if(MUTCOLORS)
if(fixed_mut_color)
genital_overlay.color = "#[fixed_mut_color]"
else
genital_overlay.color = "#[H.dna.features["mcolor"]]"
if(MUTCOLORS2)
if(fixed_mut_color2)
genital_overlay.color = "#[fixed_mut_color2]"
else
genital_overlay.color = "#[H.dna.features["mcolor2"]]"
if(MUTCOLORS3)
if(fixed_mut_color3)
genital_overlay.color = "#[fixed_mut_color3]"
else
genital_overlay.color = "#[H.dna.features["mcolor3"]]"
standing += genital_overlay
if(LAZYLEN(standing))
H.overlays_standing[layer] = standing.Copy()

Some files were not shown because too many files have changed in this diff Show More