Replaces slime clone damage with a "Covered in Slime" status effect (#77569)

## About The Pull Request

This PR replaces clone damage dealt by slimes with a new status effect,
"Covered in Slime".

The status effect is applied when you wrestle a slime off. The status
effect has a chance of not applying if your biohazard protection on your
head and chest is good enough.

It deals brute damage over time and gets removed when you stand under
the shower for about 10 seconds or when you are about to enter softcrit.

As a direct consequence of adding this feature I added showers to the
North Star and Birdshot Xenobiology Labs. I'm sorry, I'm sure you wanted
to make a statement with this, but we kind of require them in there now.

## Why It's Good For The Game

One source of clone damage eliminated whilst hopefully keeping a
"unique" interaction when dealing with slimes. No other source of clone
damage has been touched.

Clone damage is a damage type that shouldn't exist anymore, it's a relic
left from the era of cloning and it's so specific of a damage type that
it rarely gets used as a result. It really should be a type of
affliction (wound etc) instead of its own damage counter.

However, some things in the game still depend on clone damage being
around, so those needs to be addressed first.
We start off with slimes in this PR.

This status effect either lets you either continue with your work if you
react fast enough or it forces you to medbay, giving a victim more
control over the situation, as opposed to just being dealt a rare damage
type that always forces you to go to medbay if you want it healed.

## Changelog

🆑 distributivgesetz
add: Replaced slime clone damage with a "Covered in Slime" status effect
that deals brute damage over time and can be washed off by standing
under a shower.
add: Northstar and Birdshot Xenobiology have been outfitted with a new
shower.
code: Replaced the magic strings in slime code with macros. Also
included some warnings to anyone daring to touch the macros.
/🆑
This commit is contained in:
distributivgesetz
2023-08-21 08:01:07 +02:00
committed by GitHub
parent 79a12235a7
commit 3645fa7d89
30 changed files with 914 additions and 711 deletions
+204 -190
View File
@@ -674,14 +674,6 @@
/obj/structure/marker_beacon/jade,
/turf/open/space/basic,
/area/space/nearstation)
"ans" = (
/obj/structure/cable,
/obj/machinery/firealarm/directional/east,
/obj/effect/turf_decal/siding/corner{
dir = 4
},
/turf/open/floor/iron/white,
/area/station/science/cytology)
"anv" = (
/obj/structure/lattice/catwalk,
/obj/structure/railing/corner{
@@ -915,6 +907,15 @@
},
/turf/open/floor/plating,
/area/station/engineering/atmos/project)
"asN" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/door/airlock/multi_tile/public/glass{
name = "Diner"
},
/obj/machinery/door/firedoor,
/turf/open/floor/iron/textured_half,
/area/station/service/cafeteria)
"ata" = (
/obj/structure/flora/bush/flowers_yw/style_random,
/obj/machinery/light/small/directional/west,
@@ -926,6 +927,10 @@
name = "hyper-reinforced wall"
},
/area/station/science/ordnance/bomb)
"ati" = (
/obj/machinery/hydroponics/soil,
/turf/open/misc/sandy_dirt,
/area/station/science/cytology)
"atm" = (
/obj/structure/table,
/obj/item/stack/spacecash/c1{
@@ -998,10 +1003,6 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/turf/open/floor/iron,
/area/station/engineering/atmos/storage/gas)
"auC" = (
/obj/machinery/hydroponics/soil,
/turf/open/misc/sandy_dirt,
/area/station/science/cytology)
"auG" = (
/obj/structure/chair{
dir = 1
@@ -1036,6 +1037,16 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
"avN" = (
/obj/structure/table/glass,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/airalarm/directional/north,
/obj/item/food/pizzaslice/moldy/bacteria{
pixel_x = -4;
pixel_y = 2
},
/turf/open/floor/iron/white,
/area/station/science/cytology)
"avU" = (
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 8
@@ -1455,6 +1466,15 @@
"aFR" = (
/turf/open/floor/plating,
/area/station/security/tram)
"aFY" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/firealarm/directional/north,
/turf/open/floor/iron/stairs{
dir = 8
},
/area/station/science/xenobiology)
"aGa" = (
/obj/structure/lattice/catwalk,
/obj/structure/marker_beacon/fuchsia,
@@ -1969,16 +1989,6 @@
/obj/machinery/holopad,
/turf/open/floor/iron/smooth_large,
/area/station/science/robotics/mechbay)
"aPY" = (
/obj/structure/lattice/catwalk,
/obj/structure/railing{
dir = 5
},
/obj/machinery/atmospherics/components/unary/passive_vent/layer2{
dir = 8
},
/turf/open/space/basic,
/area/space/nearstation)
"aQm" = (
/obj/structure/window/reinforced/spawner/directional/west,
/turf/open/floor/iron/dark/small,
@@ -3183,6 +3193,21 @@
/obj/item/clothing/mask/breath/medical,
/turf/open/floor/iron/white,
/area/station/science/robotics/augments)
"boX" = (
/obj/structure/table,
/obj/item/clothing/gloves/color/orange{
pixel_x = 4;
pixel_y = -2
},
/obj/item/stack/tile/iron/base{
pixel_y = 18
},
/obj/item/key/janitor{
pixel_x = -3;
pixel_y = 6
},
/turf/open/floor/iron/white/small,
/area/station/service/janitor)
"boY" = (
/obj/machinery/atmospherics/pipe/smart/simple/purple/visible,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
@@ -3272,6 +3297,11 @@
},
/turf/open/floor/iron/white/small,
/area/station/medical/virology)
"bqR" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/structure/closet/crate/mod,
/turf/open/floor/iron/white,
/area/station/science/robotics/augments)
"bqZ" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/spawner/random/structure/crate,
@@ -6009,6 +6039,18 @@
/obj/structure/bed/roller,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/lobby)
"cvH" = (
/obj/effect/turf_decal/trimline/purple/end{
dir = 4
},
/obj/effect/turf_decal/siding/white{
dir = 9
},
/obj/machinery/shower/directional/east{
name = "emergency shower"
},
/turf/open/floor/iron/dark/small,
/area/station/science/xenobiology)
"cvJ" = (
/turf/open/floor/plating,
/area/station/maintenance/department/engine/atmos)
@@ -9608,6 +9650,17 @@
"dNq" = (
/turf/closed/wall/r_wall/rust,
/area/station/ai_monitored/aisat/exterior)
"dNw" = (
/obj/effect/turf_decal/siding/wood,
/obj/effect/turf_decal/siding/wood{
dir = 1
},
/obj/machinery/door/airlock/multi_tile/public/glass{
name = "Library"
},
/obj/machinery/door/firedoor,
/turf/open/floor/iron/textured_half,
/area/station/service/library)
"dNy" = (
/obj/effect/spawner/random/structure/closet_maintenance,
/turf/open/floor/plating,
@@ -11615,6 +11668,18 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
"ewo" = (
/obj/effect/turf_decal/box/corners{
dir = 4
},
/obj/effect/turf_decal/box/corners{
dir = 1
},
/obj/machinery/plumbing/growing_vat{
dir = 4
},
/turf/open/floor/engine,
/area/station/science/cytology)
"ewy" = (
/obj/structure/disposalpipe/segment{
dir = 9
@@ -14542,6 +14607,10 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on,
/turf/open/floor/engine,
/area/station/engineering/supermatter)
"fzq" = (
/obj/structure/closet/crate/trashcart/filled,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
"fzt" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -15211,6 +15280,16 @@
},
/turf/open/floor/iron,
/area/station/science/xenobiology)
"fJO" = (
/obj/machinery/conveyor_switch/oneway{
id = "flamedra";
name = "Incinerator Conveyor";
pixel_x = -13;
pixel_y = -4
},
/obj/structure/closet/firecloset,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
"fJZ" = (
/obj/structure/closet/firecloset,
/obj/effect/turf_decal/tile/yellow{
@@ -18957,6 +19036,13 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
"hbk" = (
/obj/structure/cable,
/obj/effect/turf_decal/siding{
dir = 4
},
/turf/open/floor/iron/white,
/area/station/science/cytology)
"hbm" = (
/obj/structure/disposalpipe/segment{
dir = 5
@@ -19890,6 +19976,10 @@
/obj/structure/window/reinforced/spawner/directional/west,
/turf/open/floor/wood/parquet,
/area/station/service/theater)
"hpM" = (
/obj/effect/turf_decal/siding,
/turf/open/floor/iron/white,
/area/station/science/cytology)
"hpP" = (
/obj/effect/turf_decal/siding/wood{
dir = 6
@@ -22587,6 +22677,12 @@
/obj/effect/landmark/start/atmospheric_technician,
/turf/open/floor/iron/dark,
/area/station/engineering/atmos)
"ioR" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/airalarm/directional/west,
/obj/effect/spawner/random/trash/moisture_trap,
/turf/open/floor/iron/white,
/area/station/science/cytology)
"ioW" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -24589,6 +24685,16 @@
},
/turf/open/floor/iron/small,
/area/station/command/teleporter)
"iYJ" = (
/obj/structure/lattice/catwalk,
/obj/structure/railing{
dir = 5
},
/obj/machinery/atmospherics/components/unary/passive_vent/layer2{
dir = 8
},
/turf/open/space/basic,
/area/space/nearstation)
"iYY" = (
/obj/structure/cable,
/turf/open/floor/iron/small,
@@ -25024,11 +25130,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/textured_half,
/area/station/hallway/primary/aft)
"jif" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/structure/closet/crate/mod,
/turf/open/floor/iron/white,
/area/station/science/robotics/augments)
"jig" = (
/obj/effect/turf_decal/stripes/white/line{
dir = 9
@@ -26876,11 +26977,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/smooth,
/area/station/engineering/supermatter/room)
"jOc" = (
/mob/living/basic/mining/basilisk,
/obj/effect/decal/cleanable/dirt,
/turf/open/misc/asteroid,
/area/station/maintenance/fore/greater)
"jOh" = (
/obj/structure/cable,
/obj/machinery/door/firedoor,
@@ -28037,21 +28133,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/maintenance/hallway/abandoned_command)
"kkF" = (
/obj/structure/table,
/obj/item/clothing/gloves/color/orange{
pixel_x = 4;
pixel_y = -2
},
/obj/item/stack/tile/iron/base{
pixel_y = 18
},
/obj/item/key/janitor{
pixel_x = -3;
pixel_y = 6
},
/turf/open/floor/iron/white/small,
/area/station/service/janitor)
"kkL" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -34896,6 +34977,15 @@
/obj/machinery/door/firedoor,
/turf/open/floor/catwalk_floor/flat_white,
/area/station/science/robotics/lab)
"mEf" = (
/obj/item/kirbyplants/random,
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/structure/closet/crate/trashcart/filled,
/turf/open/floor/iron,
/area/station/hallway/secondary/recreation)
"mEk" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/components/binary/pump/on{
@@ -35601,13 +35691,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/closed/wall,
/area/station/maintenance/department/engine)
"mQE" = (
/obj/effect/turf_decal/siding/white{
dir = 9
},
/obj/machinery/firealarm/directional/west,
/turf/open/floor/iron/dark/small,
/area/station/science/xenobiology)
"mQF" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -35900,10 +35983,6 @@
/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron,
/area/station/security/processing)
"mXd" = (
/obj/structure/closet/crate/trashcart/filled,
/turf/open/floor/plating,
/area/station/maintenance/starboard/fore)
"mXo" = (
/obj/machinery/atmospherics/pipe/smart/manifold/general/visible{
dir = 1
@@ -38638,16 +38717,6 @@
/obj/machinery/camera/autoname/directional/north,
/turf/open/floor/iron/white,
/area/station/science/cytology)
"nXe" = (
/obj/structure/table/glass,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/airalarm/directional/north,
/obj/item/food/pizzaslice/moldy/bacteria{
pixel_x = -4;
pixel_y = 2
},
/turf/open/floor/iron/white,
/area/station/science/cytology)
"nXt" = (
/obj/effect/turf_decal/tile/yellow/full,
/obj/structure/table/reinforced,
@@ -38665,15 +38734,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/showroomfloor,
/area/station/commons/toilet/restrooms)
"nXE" = (
/obj/structure/disposalpipe/segment{
dir = 6
},
/obj/effect/decal/cleanable/cobweb,
/obj/item/radio/intercom/directional/north,
/obj/item/kirbyplants/fern,
/turf/open/floor/iron/white,
/area/station/science/cytology)
"nXP" = (
/obj/machinery/airalarm/directional/east,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
@@ -39289,17 +39349,6 @@
/obj/machinery/firealarm/directional/east,
/turf/open/floor/iron/white/small,
/area/station/science/ordnance/storage)
"ojk" = (
/obj/effect/turf_decal/siding/wood,
/obj/effect/turf_decal/siding/wood{
dir = 1
},
/obj/machinery/door/airlock/multi_tile/public/glass{
name = "Library"
},
/obj/machinery/door/firedoor,
/turf/open/floor/iron/textured_half,
/area/station/service/library)
"ojw" = (
/obj/item/kirbyplants/random,
/obj/effect/mapping_helpers/broken_floor,
@@ -40002,16 +40051,6 @@
},
/turf/open/floor/iron/dark,
/area/station/engineering/atmos)
"oyz" = (
/obj/effect/turf_decal/box/corners,
/obj/effect/turf_decal/box/corners{
dir = 8
},
/obj/machinery/plumbing/input{
dir = 8
},
/turf/open/floor/engine,
/area/station/science/cytology)
"oyA" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -40954,13 +40993,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/commons/storage/tools)
"oRd" = (
/obj/structure/cable,
/obj/effect/turf_decal/siding{
dir = 4
},
/turf/open/floor/iron/white,
/area/station/science/cytology)
"oRm" = (
/obj/effect/landmark/atmospheric_sanity/ignore_area,
/turf/closed/mineral/random/stationside,
@@ -41765,6 +41797,15 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/starboard/central)
"pgy" = (
/obj/structure/disposalpipe/segment{
dir = 6
},
/obj/effect/decal/cleanable/cobweb,
/obj/item/radio/intercom/directional/north,
/obj/item/kirbyplants/fern,
/turf/open/floor/iron/white,
/area/station/science/cytology)
"pgE" = (
/obj/structure/chair/office,
/obj/effect/mapping_helpers/broken_floor,
@@ -43590,12 +43631,6 @@
/obj/effect/turf_decal/delivery/red,
/turf/open/floor/iron/white/small,
/area/station/medical/medbay/central)
"pKL" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/airalarm/directional/west,
/obj/effect/spawner/random/trash/moisture_trap,
/turf/open/floor/iron/white,
/area/station/science/cytology)
"pKR" = (
/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
dir = 4
@@ -43643,6 +43678,11 @@
},
/turf/open/floor/iron/small,
/area/station/ai_monitored/command/storage/eva)
"pLk" = (
/mob/living/basic/mining/basilisk,
/obj/effect/decal/cleanable/dirt,
/turf/open/misc/asteroid,
/area/station/maintenance/fore/greater)
"pLl" = (
/obj/effect/spawner/random/vending/snackvend,
/obj/effect/turf_decal/tile/red/opposingcorners{
@@ -46761,6 +46801,14 @@
/obj/machinery/status_display/evac/directional/north,
/turf/open/floor/iron/white/side,
/area/station/science/lower)
"qIM" = (
/obj/structure/cable,
/obj/machinery/firealarm/directional/east,
/obj/effect/turf_decal/siding/corner{
dir = 4
},
/turf/open/floor/iron/white,
/area/station/science/cytology)
"qIO" = (
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 1
@@ -47991,18 +48039,6 @@
/obj/structure/barricade/wooden/crude,
/turf/open/floor/plating,
/area/station/maintenance/hallway/abandoned_recreation)
"rdk" = (
/obj/effect/turf_decal/box/corners{
dir = 4
},
/obj/effect/turf_decal/box/corners{
dir = 1
},
/obj/machinery/plumbing/growing_vat{
dir = 4
},
/turf/open/floor/engine,
/area/station/science/cytology)
"rdo" = (
/obj/structure/window/spawner/directional/west,
/obj/structure/flora/bush/jungle/a/style_random,
@@ -49285,15 +49321,6 @@
/obj/machinery/light/floor,
/turf/open/floor/wood/large,
/area/station/service/hydroponics/garden/monastery)
"rzC" = (
/obj/item/kirbyplants/random,
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/structure/closet/crate/trashcart/filled,
/turf/open/floor/iron,
/area/station/hallway/secondary/recreation)
"rzG" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/dark_red/half/contrasted{
@@ -50185,6 +50212,13 @@
/obj/machinery/digital_clock/directional/north,
/turf/open/floor/iron,
/area/station/security)
"rNq" = (
/obj/machinery/door/airlock/multi_tile/public/glass{
name = "Theatre"
},
/obj/machinery/door/firedoor,
/turf/open/floor/iron/textured_half,
/area/station/service/theater)
"rNA" = (
/turf/open/floor/wood,
/area/station/service/theater)
@@ -53612,15 +53646,6 @@
},
/turf/open/floor/iron/dark,
/area/station/science/genetics)
"sTa" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/door/airlock/multi_tile/public/glass{
name = "Diner"
},
/obj/machinery/door/firedoor,
/turf/open/floor/iron/textured_half,
/area/station/service/cafeteria)
"sTf" = (
/obj/structure/window/spawner/directional/west,
/obj/structure/chair/sofa/corp/left{
@@ -53697,13 +53722,6 @@
},
/turf/open/floor/iron,
/area/station/commons/dorms)
"sTW" = (
/obj/machinery/door/airlock/multi_tile/public/glass{
name = "Theatre"
},
/obj/machinery/door/firedoor,
/turf/open/floor/iron/textured_half,
/area/station/service/theater)
"sUe" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/wood,
@@ -60749,6 +60767,12 @@
dir = 1
},
/area/station/service/chapel/office)
"vmJ" = (
/obj/structure/cable,
/obj/machinery/holopad,
/obj/effect/turf_decal/siding/corner,
/turf/open/floor/iron/white,
/area/station/science/cytology)
"vmL" = (
/obj/effect/turf_decal/sand/plating,
/turf/open/floor/plating/airless,
@@ -63877,12 +63901,6 @@
/obj/effect/spawner/structure/window/reinforced/tinted,
/turf/open/floor/plating,
/area/station/hallway/secondary/recreation)
"wkJ" = (
/obj/structure/cable,
/obj/machinery/holopad,
/obj/effect/turf_decal/siding/corner,
/turf/open/floor/iron/white,
/area/station/science/cytology)
"wla" = (
/turf/open/floor/iron/chapel,
/area/station/maintenance/starboard/greater)
@@ -65874,10 +65892,6 @@
},
/turf/open/floor/iron/grimy,
/area/station/hallway/secondary/entry)
"wQL" = (
/obj/effect/turf_decal/siding,
/turf/open/floor/iron/white,
/area/station/science/cytology)
"wQP" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -67085,16 +67099,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/port)
"xgW" = (
/obj/machinery/conveyor_switch/oneway{
id = "flamedra";
name = "Incinerator Conveyor";
pixel_x = -13;
pixel_y = -4
},
/obj/structure/closet/firecloset,
/turf/open/floor/plating,
/area/station/maintenance/department/engine)
"xhe" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -70695,6 +70699,16 @@
/obj/structure/sign/poster/random/directional/east,
/turf/open/floor/wood,
/area/station/maintenance/port/fore)
"ydH" = (
/obj/effect/turf_decal/box/corners,
/obj/effect/turf_decal/box/corners{
dir = 8
},
/obj/machinery/plumbing/input{
dir = 8
},
/turf/open/floor/engine,
/area/station/science/cytology)
"yea" = (
/turf/closed/wall,
/area/station/service/chapel/office)
@@ -88871,7 +88885,7 @@ tWj
cAh
cLn
blb
aPY
iYJ
fPb
dUr
dzl
@@ -90153,7 +90167,7 @@ tpH
tTd
pJg
vxt
xgW
fJO
awi
fZq
yfa
@@ -92517,7 +92531,7 @@ xZS
vrn
ncL
wQB
ojk
dNw
lql
lKK
lql
@@ -96136,7 +96150,7 @@ rij
xCu
xCu
xCu
sTa
asN
wEI
tIL
tYX
@@ -97678,7 +97692,7 @@ rjb
rKL
siv
sED
sTW
rNq
tmV
tIL
tYX
@@ -103822,7 +103836,7 @@ xmO
sHe
nFW
kam
kkF
boX
kBH
ukW
cZL
@@ -107661,7 +107675,7 @@ dDB
dDB
aJq
jbm
jOc
pLk
twN
jbm
jbm
@@ -112057,7 +112071,7 @@ yjK
xpE
xMT
xQJ
rzC
mEf
qrR
sid
xbg
@@ -112608,7 +112622,7 @@ wMH
wMH
aSy
aSy
roC
aFY
pWZ
qZe
xvF
@@ -112864,7 +112878,7 @@ xjb
pAF
nyB
gOQ
mQE
cvH
xiT
blk
rUE
@@ -113341,7 +113355,7 @@ mjf
mFh
noB
xQJ
nXe
avN
ovg
rRU
wBI
@@ -113855,12 +113869,12 @@ mjF
mGp
vUz
qNn
nXE
pgy
owm
sXi
bfe
sXi
pKL
ioR
mEL
vbK
sfq
@@ -114879,14 +114893,14 @@ kNI
xXT
oOv
vwd
mXd
fzq
xau
rsL
qhh
ghC
wkJ
oRd
ans
vmJ
hbk
qIM
xfu
xbT
snJ
@@ -115141,8 +115155,8 @@ xau
rsL
xSe
miz
wQL
auC
hpM
ati
wJL
ppQ
tTp
@@ -115654,8 +115668,8 @@ rsL
mIh
rsL
xTO
rdk
oyz
ewo
ydH
xPj
wJL
sHX
@@ -116203,7 +116217,7 @@ eQn
vnf
wML
rrt
jif
bqR
ryy
boW
sYa
+122 -120
View File
@@ -4267,13 +4267,6 @@
/obj/machinery/light/floor,
/turf/open/floor/iron/dark,
/area/station/hallway/floor3/fore)
"bdY" = (
/obj/effect/turf_decal/tile/purple/opposingcorners,
/obj/effect/turf_decal/stripes/corner,
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/white,
/area/station/science/xenobiology)
"beh" = (
/turf/open/floor/iron,
/area/station/commons/toilet)
@@ -7100,6 +7093,14 @@
/obj/machinery/light/floor,
/turf/open/floor/wood/tile,
/area/station/service/library)
"bMu" = (
/obj/effect/turf_decal/tile/purple/opposingcorners,
/obj/machinery/computer/security/telescreen/rd{
pixel_x = -30
},
/obj/item/kirbyplants/random,
/turf/open/floor/iron/white,
/area/station/command/heads_quarters/rd)
"bMz" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/girder,
@@ -17113,14 +17114,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/floor1/starboard/fore)
"eur" = (
/obj/effect/mapping_helpers/airlock/access/any/supply/mining,
/obj/machinery/door/airlock/multi_tile/public/glass{
name = "Xenoflora"
},
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/textured_large,
/area/station/cargo/miningdock)
"euu" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron,
@@ -18164,6 +18157,14 @@
/obj/machinery/light/directional/north,
/turf/open/floor/iron,
/area/station/hallway/floor3/aft)
"eIU" = (
/obj/effect/turf_decal/tile/purple/opposingcorners,
/obj/effect/turf_decal/stripes/corner,
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/duct,
/turf/open/floor/iron/white,
/area/station/science/xenobiology)
"eIW" = (
/obj/effect/decal/cleanable/blood/old,
/obj/effect/spawner/random/maintenance,
@@ -18271,6 +18272,14 @@
dir = 8
},
/area/station/hallway/floor3/fore)
"eKB" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/stripes/line,
/obj/effect/turf_decal/tile/purple/opposingcorners,
/obj/structure/sink/directional/north,
/turf/open/floor/iron/white,
/area/station/science/xenobiology)
"eKC" = (
/turf/closed/wall,
/area/station/science/xenobiology/hallway)
@@ -18903,14 +18912,6 @@
/obj/machinery/light/directional/north,
/turf/open/floor/wood/tile,
/area/station/command/heads_quarters/captain/private)
"eVs" = (
/obj/effect/turf_decal/tile/purple/opposingcorners,
/obj/machinery/computer/security/telescreen/rd{
pixel_x = -30
},
/obj/item/kirbyplants/random,
/turf/open/floor/iron/white,
/area/station/command/heads_quarters/rd)
"eVN" = (
/obj/structure/grille/broken,
/obj/effect/decal/cleanable/dirt,
@@ -25288,16 +25289,6 @@
/obj/machinery/light/red/dim/directional/east,
/turf/open/floor/catwalk_floor,
/area/station/maintenance/floor3/port/fore)
"gHZ" = (
/obj/structure/railing/corner{
dir = 8
},
/obj/effect/turf_decal/tile/purple/opposingcorners,
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/science/xenobiology)
"gIa" = (
/obj/structure/railing{
dir = 1
@@ -29943,13 +29934,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/checker,
/area/station/commons/vacant_room/commissary)
"hTf" = (
/obj/structure/chair{
dir = 8
},
/obj/effect/landmark/start/assistant,
/turf/open/floor/iron/checker,
/area/station/commons/vacant_room/commissary)
"hTj" = (
/obj/effect/turf_decal/trimline/yellow/filled/line{
dir = 10
@@ -31562,14 +31546,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/security/prison)
"ipB" = (
/obj/structure/sign/poster/official/random/directional/north,
/obj/structure/chair{
dir = 8
},
/obj/effect/landmark/start/assistant,
/turf/open/floor/iron/checker,
/area/station/commons/vacant_room/commissary)
"ipI" = (
/obj/effect/turf_decal/tile/yellow/opposingcorners,
/obj/structure/cable,
@@ -38327,6 +38303,17 @@
},
/turf/open/floor/iron,
/area/station/maintenance/floor1/port/aft)
"kdU" = (
/obj/structure/railing/corner{
dir = 8
},
/obj/effect/turf_decal/tile/purple/opposingcorners,
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/duct,
/turf/open/floor/iron/white,
/area/station/science/xenobiology)
"keg" = (
/obj/machinery/light_switch/directional/south,
/obj/structure/cable,
@@ -44300,6 +44287,14 @@
/obj/machinery/duct,
/turf/open/floor/iron/showroomfloor,
/area/station/service/kitchen/diner)
"lFJ" = (
/obj/structure/sign/poster/official/random/directional/north,
/obj/structure/chair{
dir = 8
},
/obj/effect/landmark/start/assistant,
/turf/open/floor/iron/checker,
/area/station/commons/vacant_room/commissary)
"lFL" = (
/obj/effect/turf_decal/trimline/green/filled/corner{
dir = 4
@@ -46430,16 +46425,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/catwalk_floor,
/area/station/maintenance/floor4/starboard)
"mfY" = (
/obj/machinery/light/small/directional/west,
/obj/machinery/camera/directional/west{
c_tag = "Command - Research Director's Quarters #1"
},
/obj/effect/baseturf_helper/reinforced_plating/ceiling,
/obj/machinery/newscaster/directional/west,
/obj/item/kirbyplants/random/dead/research_director,
/turf/open/floor/iron/large,
/area/station/command/heads_quarters/rd)
"mge" = (
/obj/effect/turf_decal/trimline/blue/line{
dir = 4
@@ -55703,6 +55688,13 @@
/obj/structure/sign/warning/biohazard/directional/west,
/turf/open/floor/iron/white,
/area/station/hallway/floor2/aft)
"oyW" = (
/obj/structure/chair{
dir = 8
},
/obj/effect/landmark/start/assistant,
/turf/open/floor/iron/checker,
/area/station/commons/vacant_room/commissary)
"oyZ" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/trimline/brown/filled/line{
@@ -65008,6 +65000,17 @@
/obj/structure/cable/layer3,
/turf/open/floor/plating,
/area/station/ai_monitored/turret_protected/aisat)
"qXE" = (
/obj/structure/table,
/obj/item/plate,
/obj/item/knife/plastic{
pixel_x = 16
},
/obj/item/food/donkpocket/warm/berry{
pixel_y = 7
},
/turf/open/floor/iron/kitchen,
/area/station/command/heads_quarters/rd)
"qXQ" = (
/mob/living/carbon/human/species/monkey{
name = "Banana"
@@ -65522,13 +65525,6 @@
},
/turf/open/floor/glass/reinforced,
/area/station/service/library)
"rdZ" = (
/obj/structure/cable,
/obj/machinery/mining_weather_monitor/directional/north,
/turf/open/floor/iron/dark/side{
dir = 1
},
/area/station/hallway/secondary/exit)
"rec" = (
/obj/structure/cable,
/turf/open/floor/iron/dark/side{
@@ -66789,13 +66785,6 @@
/obj/machinery/duct,
/turf/open/floor/iron/white,
/area/station/medical/treatment_center)
"rwA" = (
/obj/effect/turf_decal/tile/purple/opposingcorners,
/obj/effect/turf_decal/stripes/line,
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/white,
/area/station/science/xenobiology)
"rwG" = (
/obj/effect/turf_decal/trimline/purple/line,
/obj/machinery/airalarm/directional/north,
@@ -66819,10 +66808,6 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/pod/light,
/area/station/maintenance/floor2/port/fore)
"rwV" = (
/obj/structure/closet/crate/mod,
/turf/open/floor/iron/dark/smooth_large,
/area/station/science/robotics/lab)
"rwY" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/modular_computer/preset/civilian{
@@ -67712,6 +67697,13 @@
},
/turf/open/floor/iron,
/area/station/science/auxlab)
"rKc" = (
/obj/structure/cable,
/obj/machinery/mining_weather_monitor/directional/north,
/turf/open/floor/iron/dark/side{
dir = 1
},
/area/station/hallway/secondary/exit)
"rKg" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -69610,6 +69602,13 @@
},
/turf/open/floor/iron/white,
/area/station/science/lower)
"smx" = (
/obj/structure/table,
/obj/item/pai_card{
pixel_y = 6
},
/turf/open/floor/iron/checker,
/area/station/commons/vacant_room/commissary)
"smJ" = (
/turf/open/floor/plating,
/area/station/maintenance/floor3/port/fore)
@@ -74209,6 +74208,18 @@
},
/turf/open/floor/plating,
/area/station/maintenance/floor2/starboard/aft)
"twv" = (
/obj/machinery/requests_console/directional/east{
department = "Xenobiology";
name = "Xenobiology Requests Console"
},
/obj/effect/mapping_helpers/requests_console/ore_update,
/obj/machinery/shower/directional/west,
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/turf/open/floor/noslip,
/area/station/science/xenobiology)
"twx" = (
/turf/open/floor/pod/light,
/area/station/maintenance/floor1/port)
@@ -76893,6 +76904,10 @@
/obj/machinery/camera/autoname/directional/south,
/turf/open/floor/iron/white/herringbone,
/area/station/medical/patients_rooms)
"uim" = (
/obj/structure/closet/crate/mod,
/turf/open/floor/iron/dark/smooth_large,
/area/station/science/robotics/lab)
"uit" = (
/obj/machinery/door/airlock/hatch{
name = "Maintenance Access"
@@ -77057,13 +77072,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/maintenance/disposal/incinerator)
"uko" = (
/obj/structure/table,
/obj/item/pai_card{
pixel_y = 6
},
/turf/open/floor/iron/checker,
/area/station/commons/vacant_room/commissary)
"ukr" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -77506,6 +77514,16 @@
/obj/machinery/status_display/ai/directional/north,
/turf/open/floor/iron/dark,
/area/station/security/courtroom)
"usa" = (
/obj/machinery/light/small/directional/west,
/obj/machinery/camera/directional/west{
c_tag = "Command - Research Director's Quarters #1"
},
/obj/effect/baseturf_helper/reinforced_plating/ceiling,
/obj/machinery/newscaster/directional/west,
/obj/item/kirbyplants/random/dead/research_director,
/turf/open/floor/iron/large,
/area/station/command/heads_quarters/rd)
"use" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 1
@@ -82222,6 +82240,14 @@
/obj/machinery/airalarm/directional/east,
/turf/open/floor/iron,
/area/station/hallway/secondary/service)
"vAS" = (
/obj/effect/mapping_helpers/airlock/access/any/supply/mining,
/obj/machinery/door/airlock/multi_tile/public/glass{
name = "Xenoflora"
},
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/textured_large,
/area/station/cargo/miningdock)
"vAU" = (
/obj/effect/turf_decal/tile/yellow/half/contrasted{
dir = 4
@@ -82630,19 +82656,6 @@
/obj/effect/turf_decal/tile/yellow/half/contrasted,
/turf/open/floor/iron,
/area/station/engineering/atmos/pumproom)
"vHV" = (
/obj/effect/turf_decal/tile/purple/opposingcorners,
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/obj/structure/sink/kitchen/directional/west,
/obj/machinery/requests_console/directional/east{
department = "Xenobiology";
name = "Xenobiology Requests Console"
},
/obj/effect/mapping_helpers/requests_console/ore_update,
/turf/open/floor/iron/white,
/area/station/science/xenobiology)
"vHX" = (
/obj/effect/spawner/random/decoration/glowstick,
/obj/effect/decal/cleanable/dirt,
@@ -91265,17 +91278,6 @@
/obj/machinery/camera/autoname/directional/east,
/turf/open/floor/wood/tile,
/area/station/service/chapel/office)
"xRh" = (
/obj/structure/table,
/obj/item/plate,
/obj/item/knife/plastic{
pixel_x = 16
},
/obj/item/food/donkpocket/warm/berry{
pixel_y = 7
},
/turf/open/floor/iron/kitchen,
/area/station/command/heads_quarters/rd)
"xRk" = (
/obj/structure/frame/computer{
dir = 8
@@ -107272,7 +107274,7 @@ eSX
ylE
qiy
hhx
rdZ
rKc
bfX
tqx
svs
@@ -123702,7 +123704,7 @@ cwG
qly
pEv
pnr
eur
vAS
tQf
qzm
gtX
@@ -186401,7 +186403,7 @@ hge
hge
hge
oiO
eVs
bMu
pKO
aiN
jDc
@@ -202370,7 +202372,7 @@ bpA
bfs
cVT
jXc
rwV
uim
lcv
lcv
bHU
@@ -253224,7 +253226,7 @@ qVO
plz
bYJ
rWT
mfY
usa
vQs
rWT
lEo
@@ -253731,7 +253733,7 @@ nAH
ovJ
eCz
jlE
gHZ
kdU
kNn
kNn
fli
@@ -253988,8 +253990,8 @@ nAH
rSD
bTy
cZS
bdY
vHV
eIU
twv
yfm
ygn
plz
@@ -254245,7 +254247,7 @@ nAH
maf
hrL
nqi
rwA
eKB
nAH
hUT
hUT
@@ -254253,7 +254255,7 @@ hUT
iHm
rWT
rWT
xRh
qXE
iHm
kgT
qrd
@@ -257612,7 +257614,7 @@ cdF
ftv
jiL
qbz
uko
smx
qxy
qnw
vcg
@@ -257869,9 +257871,9 @@ orN
ftv
jiL
eLw
ipB
lFJ
qxy
hTf
oyW
ofa
uKR
nXk
+23
View File
@@ -326,6 +326,29 @@
#define COLOR_CARP_DARK_BLUE "#3a384d"
#define COLOR_CARP_DARK_GREEN "#358102"
#define COLOR_SLIME_ADAMANTINE "#135f49"
#define COLOR_SLIME_BLACK "#3b3b3b"
#define COLOR_SLIME_BLUE "#19ffff"
#define COLOR_SLIME_BLUESPACE "#ebebeb"
#define COLOR_SLIME_CERULEAN "#5783aa"
#define COLOR_SLIME_DARK_BLUE "#2e9dff"
#define COLOR_SLIME_DARK_PURPLE "#9948f7"
#define COLOR_SLIME_GOLD "#c38b07"
#define COLOR_SLIME_GREEN "#07f024"
#define COLOR_SLIME_GREY "#c2c2c2"
#define COLOR_SLIME_LIGHT_PINK "#ffe1fa"
#define COLOR_SLIME_METAL "#676767"
#define COLOR_SLIME_OIL "#242424"
#define COLOR_SLIME_ORANGE "#ffb445"
#define COLOR_SLIME_PINK "#fe5bbd"
#define COLOR_SLIME_PURPLE "#d138ff"
#define COLOR_SLIME_PYRITE "#ffc427"
#define COLOR_SLIME_RAINBOW COLOR_SLIME_GREY // only for consistency
#define COLOR_SLIME_RED "#fb4848"
#define COLOR_SLIME_SEPIA "#9b8a7a"
#define COLOR_SLIME_SILVER "#dadada"
#define COLOR_SLIME_YELLOW "#fff419"
#define COLOR_GNOME_RED_ONE "#f10b0b"
#define COLOR_GNOME_RED_TWO "#bc5347"
#define COLOR_GNOME_RED_THREE "#b40f1a"
+27
View File
@@ -0,0 +1,27 @@
// Just slimin' here.
// Warning: These defines are used for slime cores and their icon states, so if you
// touch these names, remember to update icons/mob/simple/slimes.dmi and the respective
// slime core paths too!
#define SLIME_TYPE_ADAMANTINE "adamantine"
#define SLIME_TYPE_BLACK "black"
#define SLIME_TYPE_BLUE "blue"
#define SLIME_TYPE_BLUESPACE "bluespace"
#define SLIME_TYPE_CERULEAN "cerulean"
#define SLIME_TYPE_DARK_BLUE "dark blue"
#define SLIME_TYPE_DARK_PURPLE "dark purple"
#define SLIME_TYPE_GOLD "gold"
#define SLIME_TYPE_GREEN "green"
#define SLIME_TYPE_GREY "grey"
#define SLIME_TYPE_LIGHT_PINK "light pink"
#define SLIME_TYPE_METAL "metal"
#define SLIME_TYPE_OIL "oil"
#define SLIME_TYPE_ORANGE "orange"
#define SLIME_TYPE_PINK "pink"
#define SLIME_TYPE_PURPLE "purple"
#define SLIME_TYPE_PYRITE "pyrite"
#define SLIME_TYPE_RAINBOW "rainbow"
#define SLIME_TYPE_RED "red"
#define SLIME_TYPE_SEPIA "sepia"
#define SLIME_TYPE_SILVER "silver"
#define SLIME_TYPE_YELLOW "yellow"
@@ -29,6 +29,8 @@
var/remove_on_fullheal = FALSE
/// If remove_on_fullheal is TRUE, what flag do we need to be removed?
var/heal_flag_necessary = HEAL_STATUS
/// A particle effect, for things like embers - Should be set on update_particles()
var/obj/effect/abstract/particle_holder/particle_effect
/datum/status_effect/New(list/arguments)
on_creation(arglist(arguments))
@@ -63,6 +65,8 @@
if(STATUS_EFFECT_NORMAL_PROCESS)
START_PROCESSING(SSprocessing, src)
update_particles()
return TRUE
/datum/status_effect/Destroy()
@@ -78,6 +82,8 @@
on_remove()
UnregisterSignal(owner, COMSIG_LIVING_POST_FULLY_HEAL)
owner = null
if(particle_effect)
QDEL_NULL(particle_effect)
return ..()
// Status effect process. Handles adjusting its duration and ticks.
@@ -181,6 +187,14 @@
return FALSE
/**
* Updates the particles for the status effects
* Should be handled by subtypes!
*/
/datum/status_effect/proc/update_particles()
SHOULD_CALL_PARENT(FALSE)
/// Alert base type for status effect alerts
/atom/movable/screen/alert/status_effect
name = "Curse of Mundanity"
@@ -17,9 +17,6 @@
/// For how much firestacks does one our stack count
var/stack_modifier = 1
/// A particle effect, for things like embers - Should be set on update_particles()
var/obj/effect/abstract/particle_holder/particle_effect
/datum/status_effect/fire_handler/refresh(mob/living/new_owner, new_stacks, forced = FALSE)
if(forced)
set_stacks(new_stacks)
@@ -81,23 +78,6 @@
adjust_stacks(override_effect.stacks)
qdel(override_effect)
/datum/status_effect/fire_handler/on_apply()
. = ..()
update_particles()
/datum/status_effect/fire_handler/on_remove()
if(particle_effect)
QDEL_NULL(particle_effect)
return ..()
/**
* Updates the particles for the status effects
* Should be handled by subtypes!
*/
/datum/status_effect/fire_handler/proc/update_particles()
SHOULD_CALL_PARENT(FALSE)
/**
* Setter and adjuster procs for firestacks
*
@@ -0,0 +1,85 @@
/// The minimum amount of water stacks needed to start washing off the slime.
#define MIN_WATER_STACKS 5
/// The minimum amount of health a mob has to have before the status effect is removed.
#define MIN_HEALTH 10
/atom/movable/screen/alert/status_effect/slimed
name = "Covered in Slime"
desc = "You are covered in slime and it's eating away at you! Find a way to wash it off!"
icon_state = "slimed"
/datum/status_effect/slimed
id = "slimed"
tick_interval = 3 SECONDS
alert_type = /atom/movable/screen/alert/status_effect/slimed
remove_on_fullheal = TRUE
/// The amount of slime stacks that were applied, reduced by showering yourself under water.
var/slime_stacks = 10 // ~10 seconds of standing under a shower
/// Slime color, used for particles.
var/slime_color
/// Changes particle colors to rainbow, this overrides `slime_color`.
var/rainbow
/datum/status_effect/slimed/on_creation(mob/living/new_owner, slime_color = COLOR_SLIME_GREY, rainbow = FALSE)
src.slime_color = slime_color
src.rainbow = rainbow
return ..()
/datum/status_effect/slimed/on_apply()
if(owner.get_organic_health() <= MIN_HEALTH)
return FALSE
to_chat(owner, span_userdanger("You have been covered in a thick layer of slime! Find a way to wash it off!"))
return ..()
/datum/status_effect/slimed/tick(seconds_between_ticks)
// remove from the mob once we have dealt enough damage
if(owner.get_organic_health() <= MIN_HEALTH)
to_chat(owner, span_warning("You feel the layer of slime crawling off of your weakened body."))
qdel(src)
return
// handle washing slime off
var/datum/status_effect/fire_handler/wet_stacks/wetness = locate() in owner.status_effects
if(istype(wetness) && wetness.stacks > (MIN_WATER_STACKS * seconds_between_ticks))
slime_stacks -= seconds_between_ticks // lose 1 stack per second
wetness.adjust_stacks(-5 * seconds_between_ticks)
// got rid of it
if(slime_stacks <= 0)
to_chat(owner, span_notice("You manage to wash off the layer of slime completely."))
qdel(src)
return
if(SPT_PROB(10, seconds_between_ticks))
to_chat(owner,span_warning("The layer of slime is slowly getting thinner as it's washing off your skin."))
return
// otherwise deal brute damage
owner.apply_damage(rand(2,4) * seconds_between_ticks, damagetype = BRUTE)
if(SPT_PROB(10, seconds_between_ticks))
var/feedback_text = pick(list(
"Your entire body screams with pain",
"Your skin feels like it's coming off",
"Your body feels like it's melting together"
))
to_chat(owner, span_userdanger("[feedback_text] as the layer of slime eats away at you!"))
/datum/status_effect/slimed/update_particles()
if(particle_effect)
return
// taste the rainbow
var/particle_type = rainbow ? /particles/slime/rainbow : /particles/slime
particle_effect = new(owner, particle_type)
if(!rainbow)
particle_effect.particles.color = "[slime_color]a0"
/datum/status_effect/slimed/get_examine_text()
return span_warning("[owner.p_They()] [owner.p_are()] covered in bubbling slime!")
#undef MIN_HEALTH
#undef MIN_WATER_STACKS
+2 -2
View File
@@ -1,12 +1,12 @@
// Acid related particles.
/particles/acid
icon = 'icons/effects/particles/acid.dmi'
icon = 'icons/effects/particles/goop.dmi'
icon_state = list("goop_1" = 6, "goop_2" = 2, "goop_3" = 1)
width = 100
height = 100
count = 100
spawning = 0.5
color = "#FFFFFF80" //to get 96 alpha
color = "#00ea2b80" //to get 96 alpha
lifespan = 1.5 SECONDS
fade = 1 SECONDS
grow = -0.025
@@ -0,0 +1,22 @@
/// Slime particles.
/particles/slime
icon = 'icons/effects/particles/goop.dmi'
icon_state = list("goop_1" = 6, "goop_2" = 2, "goop_3" = 1)
width = 100
height = 100
count = 100
spawning = 0.5
color = "#707070a0"
lifespan = 1.5 SECONDS
fade = 1 SECONDS
grow = -0.025
gravity = list(0, -0.05)
position = generator(GEN_BOX, list(-8,-16,0), list(8,16,0), NORMAL_RAND)
spin = generator(GEN_NUM, -15, 15, NORMAL_RAND)
scale = list(0.75, 0.75)
/// Rainbow slime particles.
/particles/slime/rainbow
gradient = list(0, "#f00a", 3, "#0ffa", 6, "#f00a", "loop", "space"=COLORSPACE_HSL)
color_change = 0.2
color = generator(GEN_NUM, 0, 6, UNIFORM_RAND)
@@ -183,7 +183,7 @@
return
if(iscarbon(prey))
prey.adjustCloneLoss(rand(2, 4) * 0.5 * seconds_per_tick)
prey.adjustBruteLoss(rand(2, 4) * 0.5 * seconds_per_tick)
prey.adjustToxLoss(rand(1, 2) * 0.5 * seconds_per_tick)
if(SPT_PROB(5, seconds_per_tick) && prey.client)
@@ -199,7 +199,7 @@
var/mob/living/animal_victim = prey
var/totaldamage = 0 //total damage done to this unfortunate animal
totaldamage += animal_victim.adjustCloneLoss(rand(2, 4) * 0.5 * seconds_per_tick)
totaldamage += animal_victim.adjustBruteLoss(rand(2, 4) * 0.5 * seconds_per_tick)
totaldamage += animal_victim.adjustToxLoss(rand(1, 2) * 0.5 * seconds_per_tick)
if(totaldamage <= 0) //if we did no(or negative!) damage to it, stop
@@ -66,7 +66,7 @@
if(isanimal(meal))
var/mob/living/simple_animal/simple_meal = meal
if(simple_meal.damage_coeff[TOX] <= 0 && simple_meal.damage_coeff[CLONE] <= 0) //The creature wouldn't take any damage, it must be too weird even for us.
if(simple_meal.damage_coeff[TOX] <= 0 && simple_meal.damage_coeff[BRUTE] <= 0) //The creature wouldn't take any damage, it must be too weird even for us.
if(silent)
return FALSE
to_chat(src, "<span class='warning'>[pick("This subject is incompatible", \
@@ -76,7 +76,7 @@
return FALSE
else if(isbasicmob(meal))
var/mob/living/basic/basic_meal = meal
if(basic_meal.damage_coeff[TOX] <= 0 && basic_meal.damage_coeff[CLONE] <= 0)
if(basic_meal.damage_coeff[TOX] <= 0 && basic_meal.damage_coeff[BRUTE] <= 0)
if (silent)
return FALSE
to_chat(src, "<span class='warning'>[pick("This subject is incompatible", \
@@ -132,6 +132,14 @@
"This subject does not have life energy", "This subject is empty", \
"I am not satisified", "I can not feed from this subject", \
"I do not feel nourished", "This subject is not food")]!</span>")
var/mob/living/victim = buckled
if(istype(victim))
var/bio_protection = 100 - victim.getarmor(null, BIO)
if(prob(bio_protection))
victim.apply_status_effect(/datum/status_effect/slimed, slime_colours_to_rgb[colour], colour == SLIME_TYPE_RAINBOW)
if(!silent)
visible_message(span_warning("[src] lets go of [buckled]!"), \
span_notice("<i>I stopped feeding.</i>"))
@@ -192,7 +200,7 @@
for(var/i in 1 to 4)
var/child_colour
if(mutation_chance >= 100)
child_colour = "rainbow"
child_colour = SLIME_TYPE_RAINBOW
else if(prob(mutation_chance))
child_colour = slime_mutation[rand(1,4)]
else
@@ -77,33 +77,58 @@
var/static/regex/slime_name_regex = new("\\w+ (baby|adult) slime \\(\\d+\\)")
///////////TIME FOR SUBSPECIES
var/colour = "grey"
var/colour = SLIME_TYPE_GREY
var/coretype = /obj/item/slime_extract/grey
var/list/slime_mutation[4]
var/static/list/slime_colours = list(
"adamantine",
"black",
"blue",
"bluespace",
"cerulean",
"dark blue",
"dark purple",
"gold",
"green",
"grey",
"light pink",
"metal",
"oil",
"orange",
"pink",
"purple",
"pyrite",
"rainbow",
"red",
"sepia",
"silver",
"yellow",
SLIME_TYPE_ADAMANTINE,
SLIME_TYPE_BLACK,
SLIME_TYPE_BLUE,
SLIME_TYPE_BLUESPACE,
SLIME_TYPE_CERULEAN,
SLIME_TYPE_DARK_BLUE,
SLIME_TYPE_DARK_PURPLE,
SLIME_TYPE_GOLD,
SLIME_TYPE_GREEN,
SLIME_TYPE_GREY,
SLIME_TYPE_LIGHT_PINK,
SLIME_TYPE_METAL,
SLIME_TYPE_OIL,
SLIME_TYPE_ORANGE,
SLIME_TYPE_PINK,
SLIME_TYPE_PURPLE,
SLIME_TYPE_PYRITE,
SLIME_TYPE_RAINBOW,
SLIME_TYPE_RED,
SLIME_TYPE_SEPIA,
SLIME_TYPE_SILVER,
SLIME_TYPE_YELLOW,
)
var/static/list/slime_colours_to_rgb = list(
SLIME_TYPE_ADAMANTINE = COLOR_SLIME_ADAMANTINE,
SLIME_TYPE_BLACK = COLOR_SLIME_BLACK,
SLIME_TYPE_BLUE = COLOR_SLIME_BLUE,
SLIME_TYPE_BLUESPACE = COLOR_SLIME_BLUESPACE,
SLIME_TYPE_CERULEAN = COLOR_SLIME_CERULEAN,
SLIME_TYPE_DARK_BLUE = COLOR_SLIME_DARK_BLUE,
SLIME_TYPE_DARK_PURPLE = COLOR_SLIME_DARK_PURPLE,
SLIME_TYPE_GOLD = COLOR_SLIME_GOLD,
SLIME_TYPE_GREEN = COLOR_SLIME_GREEN,
SLIME_TYPE_GREY = COLOR_SLIME_GREY,
SLIME_TYPE_LIGHT_PINK = COLOR_SLIME_LIGHT_PINK,
SLIME_TYPE_METAL = COLOR_SLIME_METAL,
SLIME_TYPE_OIL = COLOR_SLIME_OIL,
SLIME_TYPE_ORANGE = COLOR_SLIME_ORANGE,
SLIME_TYPE_PINK = COLOR_SLIME_PINK,
SLIME_TYPE_PURPLE = COLOR_SLIME_PURPLE,
SLIME_TYPE_PYRITE = COLOR_SLIME_PYRITE,
SLIME_TYPE_RAINBOW = COLOR_SLIME_RAINBOW,
SLIME_TYPE_RED = COLOR_SLIME_RED,
SLIME_TYPE_SEPIA = COLOR_SLIME_SEPIA,
SLIME_TYPE_SILVER = COLOR_SLIME_SILVER,
SLIME_TYPE_YELLOW = COLOR_SLIME_YELLOW,
)
///////////CORE-CROSSING CODE
@@ -2,74 +2,74 @@
var/list/slime_mutation_colors[4]
switch(colour)
//Tier 1
if("grey")
slime_mutation_colors[1] = "orange"
slime_mutation_colors[2] = "metal"
slime_mutation_colors[3] = "blue"
slime_mutation_colors[4] = "purple"
if(SLIME_TYPE_GREY)
slime_mutation_colors[1] = SLIME_TYPE_ORANGE
slime_mutation_colors[2] = SLIME_TYPE_METAL
slime_mutation_colors[3] = SLIME_TYPE_BLUE
slime_mutation_colors[4] = SLIME_TYPE_PURPLE
//Tier 2
if("purple")
slime_mutation_colors[1] = "dark purple"
slime_mutation_colors[2] = "dark blue"
slime_mutation_colors[3] = "green"
slime_mutation_colors[4] = "green"
if("metal")
slime_mutation_colors[1] = "silver"
slime_mutation_colors[2] = "yellow"
slime_mutation_colors[3] = "gold"
slime_mutation_colors[4] = "gold"
if("orange")
slime_mutation_colors[1] = "dark purple"
slime_mutation_colors[2] = "yellow"
slime_mutation_colors[3] = "red"
slime_mutation_colors[4] = "red"
if("blue")
slime_mutation_colors[1] = "dark blue"
slime_mutation_colors[2] = "silver"
slime_mutation_colors[3] = "pink"
slime_mutation_colors[4] = "pink"
if(SLIME_TYPE_PURPLE)
slime_mutation_colors[1] = SLIME_TYPE_DARK_PURPLE
slime_mutation_colors[2] = SLIME_TYPE_DARK_BLUE
slime_mutation_colors[3] = SLIME_TYPE_GREEN
slime_mutation_colors[4] = SLIME_TYPE_GREEN
if(SLIME_TYPE_METAL)
slime_mutation_colors[1] = SLIME_TYPE_SILVER
slime_mutation_colors[2] = SLIME_TYPE_YELLOW
slime_mutation_colors[3] = SLIME_TYPE_GOLD
slime_mutation_colors[4] = SLIME_TYPE_GOLD
if(SLIME_TYPE_ORANGE)
slime_mutation_colors[1] = SLIME_TYPE_DARK_PURPLE
slime_mutation_colors[2] = SLIME_TYPE_YELLOW
slime_mutation_colors[3] = SLIME_TYPE_RED
slime_mutation_colors[4] = SLIME_TYPE_RED
if(SLIME_TYPE_BLUE)
slime_mutation_colors[1] = SLIME_TYPE_DARK_BLUE
slime_mutation_colors[2] = SLIME_TYPE_SILVER
slime_mutation_colors[3] = SLIME_TYPE_PINK
slime_mutation_colors[4] = SLIME_TYPE_PINK
//Tier 3
if("dark blue")
slime_mutation_colors[1] = "purple"
slime_mutation_colors[2] = "blue"
slime_mutation_colors[3] = "cerulean"
slime_mutation_colors[4] = "cerulean"
if("dark purple")
slime_mutation_colors[1] = "purple"
slime_mutation_colors[2] = "orange"
slime_mutation_colors[3] = "sepia"
slime_mutation_colors[4] = "sepia"
if("yellow")
slime_mutation_colors[1] = "metal"
slime_mutation_colors[2] = "orange"
slime_mutation_colors[3] = "bluespace"
slime_mutation_colors[4] = "bluespace"
if("silver")
slime_mutation_colors[1] = "metal"
slime_mutation_colors[2] = "blue"
slime_mutation_colors[3] = "pyrite"
slime_mutation_colors[4] = "pyrite"
if(SLIME_TYPE_DARK_BLUE)
slime_mutation_colors[1] = SLIME_TYPE_PURPLE
slime_mutation_colors[2] = SLIME_TYPE_BLUE
slime_mutation_colors[3] = SLIME_TYPE_CERULEAN
slime_mutation_colors[4] = SLIME_TYPE_CERULEAN
if(SLIME_TYPE_DARK_PURPLE)
slime_mutation_colors[1] = SLIME_TYPE_PURPLE
slime_mutation_colors[2] = SLIME_TYPE_ORANGE
slime_mutation_colors[3] = SLIME_TYPE_SEPIA
slime_mutation_colors[4] = SLIME_TYPE_SEPIA
if(SLIME_TYPE_YELLOW)
slime_mutation_colors[1] = SLIME_TYPE_METAL
slime_mutation_colors[2] = SLIME_TYPE_ORANGE
slime_mutation_colors[3] = SLIME_TYPE_BLUESPACE
slime_mutation_colors[4] = SLIME_TYPE_BLUESPACE
if(SLIME_TYPE_SILVER)
slime_mutation_colors[1] = SLIME_TYPE_METAL
slime_mutation_colors[2] = SLIME_TYPE_BLUE
slime_mutation_colors[3] = SLIME_TYPE_PYRITE
slime_mutation_colors[4] = SLIME_TYPE_PYRITE
//Tier 4
if("pink")
slime_mutation_colors[1] = "pink"
slime_mutation_colors[2] = "pink"
slime_mutation_colors[3] = "light pink"
slime_mutation_colors[4] = "light pink"
if("red")
slime_mutation_colors[1] = "red"
slime_mutation_colors[2] = "red"
slime_mutation_colors[3] = "oil"
slime_mutation_colors[4] = "oil"
if("gold")
slime_mutation_colors[1] = "gold"
slime_mutation_colors[2] = "gold"
slime_mutation_colors[3] = "adamantine"
slime_mutation_colors[4] = "adamantine"
if("green")
slime_mutation_colors[1] = "green"
slime_mutation_colors[2] = "green"
slime_mutation_colors[3] = "black"
slime_mutation_colors[4] = "black"
if(SLIME_TYPE_PINK)
slime_mutation_colors[1] = SLIME_TYPE_PINK
slime_mutation_colors[2] = SLIME_TYPE_PINK
slime_mutation_colors[3] = SLIME_TYPE_LIGHT_PINK
slime_mutation_colors[4] = SLIME_TYPE_LIGHT_PINK
if(SLIME_TYPE_RED)
slime_mutation_colors[1] = SLIME_TYPE_RED
slime_mutation_colors[2] = SLIME_TYPE_RED
slime_mutation_colors[3] = SLIME_TYPE_OIL
slime_mutation_colors[4] = SLIME_TYPE_OIL
if(SLIME_TYPE_GOLD)
slime_mutation_colors[1] = SLIME_TYPE_GOLD
slime_mutation_colors[2] = SLIME_TYPE_GOLD
slime_mutation_colors[3] = SLIME_TYPE_ADAMANTINE
slime_mutation_colors[4] = SLIME_TYPE_ADAMANTINE
if(SLIME_TYPE_GREEN)
slime_mutation_colors[1] = SLIME_TYPE_GREEN
slime_mutation_colors[2] = SLIME_TYPE_GREEN
slime_mutation_colors[3] = SLIME_TYPE_BLACK
slime_mutation_colors[4] = SLIME_TYPE_BLACK
// Tier 5
else
slime_mutation_colors[1] = colour
@@ -48,45 +48,45 @@ To add a crossbreed:
name = effect + " " + colour + " extract"
var/itemcolor = "#FFFFFF"
switch(colour)
if("orange")
if(SLIME_TYPE_ORANGE)
itemcolor = "#FFA500"
if("purple")
if(SLIME_TYPE_PURPLE)
itemcolor = "#B19CD9"
if("blue")
if(SLIME_TYPE_BLUE)
itemcolor = "#ADD8E6"
if("metal")
if(SLIME_TYPE_METAL)
itemcolor = "#7E7E7E"
if("yellow")
if(SLIME_TYPE_YELLOW)
itemcolor = "#FFFF00"
if("dark purple")
if(SLIME_TYPE_DARK_PURPLE)
itemcolor = "#551A8B"
if("dark blue")
if(SLIME_TYPE_DARK_BLUE)
itemcolor = "#0000FF"
if("silver")
if(SLIME_TYPE_SILVER)
itemcolor = "#D3D3D3"
if("bluespace")
if(SLIME_TYPE_BLUESPACE)
itemcolor = "#32CD32"
if("sepia")
if(SLIME_TYPE_SEPIA)
itemcolor = "#704214"
if("cerulean")
if(SLIME_TYPE_CERULEAN)
itemcolor = "#2956B2"
if("pyrite")
if(SLIME_TYPE_PYRITE)
itemcolor = "#FAFAD2"
if("red")
if(SLIME_TYPE_RED)
itemcolor = "#FF0000"
if("green")
if(SLIME_TYPE_GREEN)
itemcolor = "#00FF00"
if("pink")
if(SLIME_TYPE_PINK)
itemcolor = "#FF69B4"
if("gold")
if(SLIME_TYPE_GOLD)
itemcolor = "#FFD700"
if("oil")
if(SLIME_TYPE_OIL)
itemcolor = "#505050"
if("black")
if(SLIME_TYPE_BLACK)
itemcolor = "#000000"
if("light pink")
if(SLIME_TYPE_LIGHT_PINK)
itemcolor = "#FFB6C1"
if("adamantine")
if(SLIME_TYPE_ADAMANTINE)
itemcolor = "#008B8B"
add_atom_colour(itemcolor, FIXED_COLOUR_PRIORITY)
@@ -467,7 +467,7 @@
//Stabilized effects start below.
/datum/status_effect/stabilized/grey
id = "stabilizedgrey"
colour = "grey"
colour = SLIME_TYPE_GREY
/datum/status_effect/stabilized/grey/tick(seconds_between_ticks)
for(var/mob/living/simple_animal/slime/S in range(1, get_turf(owner)))
@@ -478,7 +478,7 @@
/datum/status_effect/stabilized/orange
id = "stabilizedorange"
colour = "orange"
colour = SLIME_TYPE_ORANGE
/datum/status_effect/stabilized/orange/tick(seconds_between_ticks)
var/body_temp_target = owner.get_body_temp_normal(apply_change = FALSE)
@@ -499,7 +499,7 @@
/datum/status_effect/stabilized/purple
id = "stabilizedpurple"
colour = "purple"
colour = SLIME_TYPE_PURPLE
/// Whether we healed from our last tick
var/healed_last_tick = FALSE
@@ -533,7 +533,7 @@
/datum/status_effect/stabilized/blue
id = "stabilizedblue"
colour = "blue"
colour = SLIME_TYPE_BLUE
/datum/status_effect/stabilized/blue/on_apply()
ADD_TRAIT(owner, TRAIT_NO_SLIP_WATER, "slimestatus")
@@ -544,7 +544,7 @@
/datum/status_effect/stabilized/metal
id = "stabilizedmetal"
colour = "metal"
colour = SLIME_TYPE_METAL
var/cooldown = 30
var/max_cooldown = 30
@@ -567,7 +567,7 @@
/datum/status_effect/stabilized/yellow
id = "stabilizedyellow"
colour = "yellow"
colour = SLIME_TYPE_YELLOW
var/cooldown = 10
var/max_cooldown = 10
@@ -598,7 +598,7 @@
/datum/status_effect/stabilized/darkpurple
id = "stabilizeddarkpurple"
colour = "dark purple"
colour = SLIME_TYPE_DARK_PURPLE
var/obj/item/hothands/fire
/datum/status_effect/stabilized/darkpurple/on_apply()
@@ -624,7 +624,7 @@
/datum/status_effect/stabilized/darkblue
id = "stabilizeddarkblue"
colour = "dark blue"
colour = SLIME_TYPE_DARK_BLUE
/datum/status_effect/stabilized/darkblue/tick(seconds_between_ticks)
if(owner.fire_stacks > 0 && prob(80))
@@ -656,7 +656,7 @@
/datum/status_effect/stabilized/silver
id = "stabilizedsilver"
colour = "silver"
colour = SLIME_TYPE_SILVER
/datum/status_effect/stabilized/silver/on_apply()
if(ishuman(owner))
@@ -682,7 +682,7 @@
/datum/status_effect/stabilized/bluespace
id = "stabilizedbluespace"
colour = "bluespace"
colour = SLIME_TYPE_BLUESPACE
alert_type = /atom/movable/screen/alert/status_effect/bluespaceslime
var/healthcheck
@@ -712,7 +712,7 @@
/datum/status_effect/stabilized/sepia
id = "stabilizedsepia"
colour = "sepia"
colour = SLIME_TYPE_SEPIA
var/mod = 0
/datum/status_effect/stabilized/sepia/tick(seconds_between_ticks)
@@ -730,7 +730,7 @@
/datum/status_effect/stabilized/cerulean
id = "stabilizedcerulean"
colour = "cerulean"
colour = SLIME_TYPE_CERULEAN
var/mob/living/clone
/datum/status_effect/stabilized/cerulean/on_apply()
@@ -766,7 +766,7 @@
/datum/status_effect/stabilized/pyrite
id = "stabilizedpyrite"
colour = "pyrite"
colour = SLIME_TYPE_PYRITE
var/originalcolor
/datum/status_effect/stabilized/pyrite/on_apply()
@@ -782,7 +782,7 @@
/datum/status_effect/stabilized/red
id = "stabilizedred"
colour = "red"
colour = SLIME_TYPE_RED
/datum/status_effect/stabilized/red/on_apply()
. = ..()
@@ -794,7 +794,7 @@
/datum/status_effect/stabilized/green
id = "stabilizedgreen"
colour = "green"
colour = SLIME_TYPE_GREEN
var/datum/dna/originalDNA
var/originalname
@@ -842,7 +842,7 @@
/datum/status_effect/stabilized/pink
id = "stabilizedpink"
colour = "pink"
colour = SLIME_TYPE_PINK
/// List of weakrefs to mobs we have pacified
var/list/mobs = list()
/// Name of our faction
@@ -914,7 +914,7 @@
/datum/status_effect/stabilized/oil
id = "stabilizedoil"
colour = "oil"
colour = SLIME_TYPE_OIL
/datum/status_effect/stabilized/oil/tick(seconds_between_ticks)
if(owner.stat == DEAD)
@@ -931,7 +931,7 @@
/datum/status_effect/stabilized/black
id = "stabilizedblack"
colour = "black"
colour = SLIME_TYPE_BLACK
/// How much we heal per tick (also how much we damage per tick times DRAIN_DAMAGE_MULTIPLIER).
var/heal_amount = 1
/// Weakref to the mob we're currently draining every tick.
@@ -999,7 +999,7 @@
/datum/status_effect/stabilized/lightpink
id = "stabilizedlightpink"
colour = "light pink"
colour = SLIME_TYPE_LIGHT_PINK
/datum/status_effect/stabilized/lightpink/on_apply()
owner.add_movespeed_modifier(/datum/movespeed_modifier/status_effect/lightpink)
@@ -1019,14 +1019,14 @@
/datum/status_effect/stabilized/adamantine
id = "stabilizedadamantine"
colour = "adamantine"
colour = SLIME_TYPE_ADAMANTINE
/datum/status_effect/stabilized/adamantine/get_examine_text()
return span_warning("[owner.p_They()] [owner.p_have()] strange metallic coating on [owner.p_their()] skin.")
/datum/status_effect/stabilized/gold
id = "stabilizedgold"
colour = "gold"
colour = SLIME_TYPE_GOLD
var/mob/living/simple_animal/familiar
/datum/status_effect/stabilized/gold/tick(seconds_between_ticks)
@@ -1066,7 +1066,7 @@
/datum/status_effect/stabilized/rainbow
id = "stabilizedrainbow"
colour = "rainbow"
colour = SLIME_TYPE_RAINBOW
/datum/status_effect/stabilized/rainbow/tick(seconds_between_ticks)
if(owner.health <= 0)
@@ -28,11 +28,11 @@ Burning extracts:
return
/obj/item/slimecross/burning/grey
colour = "grey"
colour = SLIME_TYPE_GREY
effect_desc = "Creates a hungry and speedy slime that will love you forever."
/obj/item/slimecross/burning/grey/do_effect(mob/user)
var/mob/living/simple_animal/slime/S = new(get_turf(user),"grey")
var/mob/living/simple_animal/slime/S = new(get_turf(user),SLIME_TYPE_GREY)
S.visible_message(span_danger("A baby slime emerges from [src], and it nuzzles [user] before burbling hungrily!"))
S.set_friendship(user, 20) //Gas, gas, gas
S.bodytemperature = T0C + 400 //We gonna step on the gas.
@@ -40,7 +40,7 @@ Burning extracts:
..()
/obj/item/slimecross/burning/orange
colour = "orange"
colour = SLIME_TYPE_ORANGE
effect_desc = "Expels pepperspray in a radius when activated."
/obj/item/slimecross/burning/orange/do_effect(mob/user)
@@ -54,7 +54,7 @@ Burning extracts:
..()
/obj/item/slimecross/burning/purple
colour = "purple"
colour = SLIME_TYPE_PURPLE
effect_desc = "Creates a clump of invigorating gel, it has healing properties and makes you feel good."
/obj/item/slimecross/burning/purple/do_effect(mob/user)
@@ -63,7 +63,7 @@ Burning extracts:
..()
/obj/item/slimecross/burning/blue
colour = "blue"
colour = SLIME_TYPE_BLUE
effect_desc = "Freezes the floor around you and chills nearby people."
/obj/item/slimecross/burning/blue/do_effect(mob/user)
@@ -77,7 +77,7 @@ Burning extracts:
..()
/obj/item/slimecross/burning/metal
colour = "metal"
colour = SLIME_TYPE_METAL
effect_desc = "Instantly destroys walls around you."
/obj/item/slimecross/burning/metal/do_effect(mob/user)
@@ -88,7 +88,7 @@ Burning extracts:
..()
/obj/item/slimecross/burning/yellow
colour = "yellow"
colour = SLIME_TYPE_YELLOW
effect_desc = "Electrocutes people near you."
/obj/item/slimecross/burning/yellow/do_effect(mob/user)
@@ -105,7 +105,7 @@ Burning extracts:
..()
/obj/item/slimecross/burning/darkpurple
colour = "dark purple"
colour = SLIME_TYPE_DARK_PURPLE
effect_desc = "Creates a cloud of plasma."
/obj/item/slimecross/burning/darkpurple/do_effect(mob/user)
@@ -115,7 +115,7 @@ Burning extracts:
return ..()
/obj/item/slimecross/burning/darkblue
colour = "dark blue"
colour = SLIME_TYPE_DARK_BLUE
effect_desc = "Expels a burst of chilling smoke while also filling you with regenerative jelly."
/obj/item/slimecross/burning/darkblue/do_effect(mob/user)
@@ -129,7 +129,7 @@ Burning extracts:
..()
/obj/item/slimecross/burning/silver
colour = "silver"
colour = SLIME_TYPE_SILVER
effect_desc = "Creates a few pieces of slime jelly laced food."
/obj/item/slimecross/burning/silver/do_effect(mob/user)
@@ -148,7 +148,7 @@ Burning extracts:
..()
/obj/item/slimecross/burning/bluespace
colour = "bluespace"
colour = SLIME_TYPE_BLUESPACE
effect_desc = "Teleports anyone directly next to you."
/obj/item/slimecross/burning/bluespace/do_effect(mob/user)
@@ -161,7 +161,7 @@ Burning extracts:
..()
/obj/item/slimecross/burning/sepia
colour = "sepia"
colour = SLIME_TYPE_SEPIA
effect_desc = "Turns into a special camera that rewinds time when used."
/obj/item/slimecross/burning/sepia/do_effect(mob/user)
@@ -170,7 +170,7 @@ Burning extracts:
..()
/obj/item/slimecross/burning/cerulean
colour = "cerulean"
colour = SLIME_TYPE_CERULEAN
effect_desc = "Produces an extract cloning potion, which copies an extract, as well as its extra uses."
/obj/item/slimecross/burning/cerulean/do_effect(mob/user)
@@ -179,7 +179,7 @@ Burning extracts:
..()
/obj/item/slimecross/burning/pyrite
colour = "pyrite"
colour = SLIME_TYPE_PYRITE
effect_desc = "Shatters all lights in the current room."
/obj/item/slimecross/burning/pyrite/do_effect(mob/user)
@@ -192,7 +192,7 @@ Burning extracts:
..()
/obj/item/slimecross/burning/red
colour = "red"
colour = SLIME_TYPE_RED
effect_desc = "Makes nearby slimes rabid, and they'll also attack their friends."
/obj/item/slimecross/burning/red/do_effect(mob/user)
@@ -209,7 +209,7 @@ Burning extracts:
..()
/obj/item/slimecross/burning/green
colour = "green"
colour = SLIME_TYPE_GREEN
effect_desc = "The user gets a dull arm blade in the hand it is used in."
/obj/item/slimecross/burning/green/do_effect(mob/user)
@@ -232,7 +232,7 @@ Burning extracts:
..()
/obj/item/slimecross/burning/pink
colour = "pink"
colour = SLIME_TYPE_PINK
effect_desc = "Creates a beaker of synthpax."
/obj/item/slimecross/burning/pink/do_effect(mob/user)
@@ -241,7 +241,7 @@ Burning extracts:
..()
/obj/item/slimecross/burning/gold
colour = "gold"
colour = SLIME_TYPE_GOLD
effect_desc = "Creates a gank squad of monsters that are friendly to the user."
/obj/item/slimecross/burning/gold/do_effect(mob/user)
@@ -255,7 +255,7 @@ Burning extracts:
..()
/obj/item/slimecross/burning/oil
colour = "oil"
colour = SLIME_TYPE_OIL
effect_desc = "Creates an explosion after a few seconds."
/obj/item/slimecross/burning/oil/do_effect(mob/user)
@@ -272,7 +272,7 @@ Burning extracts:
qdel(src)
/obj/item/slimecross/burning/black
colour = "black"
colour = SLIME_TYPE_BLACK
effect_desc = "Transforms the user into a slime. They can transform back at will and do not lose any items."
/obj/item/slimecross/burning/black/do_effect(mob/user)
@@ -286,7 +286,7 @@ Burning extracts:
return ..()
/obj/item/slimecross/burning/lightpink
colour = "light pink"
colour = SLIME_TYPE_LIGHT_PINK
effect_desc = "Paxes everyone in sight."
/obj/item/slimecross/burning/lightpink/do_effect(mob/user)
@@ -296,7 +296,7 @@ Burning extracts:
..()
/obj/item/slimecross/burning/adamantine
colour = "adamantine"
colour = SLIME_TYPE_ADAMANTINE
effect_desc = "Creates a mighty adamantine shield."
/obj/item/slimecross/burning/adamantine/do_effect(mob/user)
@@ -305,7 +305,7 @@ Burning extracts:
..()
/obj/item/slimecross/burning/rainbow
colour = "rainbow"
colour = SLIME_TYPE_RAINBOW
effect_desc = "Creates the Rainbow Knife, a kitchen knife that deals random types of damage."
/obj/item/slimecross/burning/rainbow/do_effect(mob/user)
@@ -29,7 +29,7 @@ Charged extracts:
return
/obj/item/slimecross/charged/grey
colour = "grey"
colour = SLIME_TYPE_GREY
effect_desc = "Produces a slime reviver potion, which revives dead slimes."
/obj/item/slimecross/charged/grey/do_effect(mob/user)
@@ -38,7 +38,7 @@ Charged extracts:
..()
/obj/item/slimecross/charged/orange
colour = "orange"
colour = SLIME_TYPE_ORANGE
effect_desc = "Instantly makes a large burst of flame for a moment."
/obj/item/slimecross/charged/orange/do_effect(mob/user)
@@ -49,7 +49,7 @@ Charged extracts:
..()
/obj/item/slimecross/charged/purple
colour = "purple"
colour = SLIME_TYPE_PURPLE
effect_desc = "Creates a packet of omnizine."
/obj/item/slimecross/charged/purple/do_effect(mob/user)
@@ -58,7 +58,7 @@ Charged extracts:
..()
/obj/item/slimecross/charged/blue
colour = "blue"
colour = SLIME_TYPE_BLUE
effect_desc = "Creates a potion that neuters the mutation chance of a slime, which passes on to new generations."
/obj/item/slimecross/charged/blue/do_effect(mob/user)
@@ -67,7 +67,7 @@ Charged extracts:
..()
/obj/item/slimecross/charged/metal
colour = "metal"
colour = SLIME_TYPE_METAL
effect_desc = "Produces a bunch of metal and plasteel."
/obj/item/slimecross/charged/metal/do_effect(mob/user)
@@ -77,7 +77,7 @@ Charged extracts:
..()
/obj/item/slimecross/charged/yellow
colour = "yellow"
colour = SLIME_TYPE_YELLOW
effect_desc = "Creates a hypercharged slime cell battery, which has high capacity but takes longer to recharge."
/obj/item/slimecross/charged/yellow/do_effect(mob/user)
@@ -86,7 +86,7 @@ Charged extracts:
..()
/obj/item/slimecross/charged/darkpurple
colour = "dark purple"
colour = SLIME_TYPE_DARK_PURPLE
effect_desc = "Creates several sheets of plasma."
/obj/item/slimecross/charged/darkpurple/do_effect(mob/user)
@@ -95,7 +95,7 @@ Charged extracts:
..()
/obj/item/slimecross/charged/darkblue
colour = "dark blue"
colour = SLIME_TYPE_DARK_BLUE
effect_desc = "Produces a pressure proofing potion."
/obj/item/slimecross/charged/darkblue/do_effect(mob/user)
@@ -104,7 +104,7 @@ Charged extracts:
..()
/obj/item/slimecross/charged/silver
colour = "silver"
colour = SLIME_TYPE_SILVER
effect_desc = "Creates a slime cake and some drinks."
/obj/item/slimecross/charged/silver/do_effect(mob/user)
@@ -116,7 +116,7 @@ Charged extracts:
..()
/obj/item/slimecross/charged/bluespace
colour = "bluespace"
colour = SLIME_TYPE_BLUESPACE
effect_desc = "Makes a bluespace polycrystal."
/obj/item/slimecross/charged/bluespace/do_effect(mob/user)
@@ -125,7 +125,7 @@ Charged extracts:
..()
/obj/item/slimecross/charged/sepia
colour = "sepia"
colour = SLIME_TYPE_SEPIA
effect_desc = "Creates a camera obscura."
/obj/item/slimecross/charged/sepia/do_effect(mob/user)
@@ -134,7 +134,7 @@ Charged extracts:
..()
/obj/item/slimecross/charged/cerulean
colour = "cerulean"
colour = SLIME_TYPE_CERULEAN
effect_desc = "Creates an extract enhancer, giving whatever it's used on five more uses."
/obj/item/slimecross/charged/cerulean/do_effect(mob/user)
@@ -143,7 +143,7 @@ Charged extracts:
..()
/obj/item/slimecross/charged/pyrite
colour = "pyrite"
colour = SLIME_TYPE_PYRITE
effect_desc = "Creates bananium. Oh no."
/obj/item/slimecross/charged/pyrite/do_effect(mob/user)
@@ -152,7 +152,7 @@ Charged extracts:
..()
/obj/item/slimecross/charged/red
colour = "red"
colour = SLIME_TYPE_RED
effect_desc = "Produces a lavaproofing potion"
/obj/item/slimecross/charged/red/do_effect(mob/user)
@@ -161,7 +161,7 @@ Charged extracts:
..()
/obj/item/slimecross/charged/green
colour = "green"
colour = SLIME_TYPE_GREEN
effect_desc = "Lets you choose what slime species you want to be."
/obj/item/slimecross/charged/green/do_effect(mob/user)
@@ -183,7 +183,7 @@ Charged extracts:
..()
/obj/item/slimecross/charged/pink
colour = "pink"
colour = SLIME_TYPE_PINK
effect_desc = "Produces a... lovepotion... no ERP."
/obj/item/slimecross/charged/pink/do_effect(mob/user)
@@ -192,7 +192,7 @@ Charged extracts:
..()
/obj/item/slimecross/charged/gold
colour = "gold"
colour = SLIME_TYPE_GOLD
effect_desc = "Slowly spawns 10 hostile monsters."
var/max_spawn = 10
var/spawned = 0
@@ -219,7 +219,7 @@ Charged extracts:
return ..()
/obj/item/slimecross/charged/oil
colour = "oil"
colour = SLIME_TYPE_OIL
effect_desc = "Creates an explosion after a few seconds."
/obj/item/slimecross/charged/oil/do_effect(mob/user)
@@ -231,7 +231,7 @@ Charged extracts:
qdel(src)
/obj/item/slimecross/charged/black
colour = "black"
colour = SLIME_TYPE_BLACK
effect_desc = "Randomizes the user's species."
/obj/item/slimecross/charged/black/do_effect(mob/user)
@@ -252,7 +252,7 @@ Charged extracts:
..()
/obj/item/slimecross/charged/lightpink
colour = "light pink"
colour = SLIME_TYPE_LIGHT_PINK
effect_desc = "Produces a pacification potion, which works on monsters and humanoids."
/obj/item/slimecross/charged/lightpink/do_effect(mob/user)
@@ -261,7 +261,7 @@ Charged extracts:
..()
/obj/item/slimecross/charged/adamantine
colour = "adamantine"
colour = SLIME_TYPE_ADAMANTINE
effect_desc = "Creates a completed golem shell."
/obj/item/slimecross/charged/adamantine/do_effect(mob/user)
@@ -270,7 +270,7 @@ Charged extracts:
..()
/obj/item/slimecross/charged/rainbow
colour = "rainbow"
colour = SLIME_TYPE_RAINBOW
effect_desc = "Produces three living slimes of random colors."
/obj/item/slimecross/charged/rainbow/do_effect(mob/user)
@@ -28,7 +28,7 @@ Chilling extracts:
return
/obj/item/slimecross/chilling/grey
colour = "grey"
colour = SLIME_TYPE_GREY
effect_desc = "Creates some slime barrier cubes. When used they create slimy barricades."
/obj/item/slimecross/chilling/grey/do_effect(mob/user)
@@ -38,7 +38,7 @@ Chilling extracts:
..()
/obj/item/slimecross/chilling/orange
colour = "orange"
colour = SLIME_TYPE_ORANGE
effect_desc = "Creates a ring of fire one tile away from the user."
/obj/item/slimecross/chilling/orange/do_effect(mob/user)
@@ -49,7 +49,7 @@ Chilling extracts:
..()
/obj/item/slimecross/chilling/purple
colour = "purple"
colour = SLIME_TYPE_PURPLE
effect_desc = "Injects everyone in the area with some regenerative jelly."
/obj/item/slimecross/chilling/purple/do_effect(mob/user)
@@ -63,7 +63,7 @@ Chilling extracts:
..()
/obj/item/slimecross/chilling/blue
colour = "blue"
colour = SLIME_TYPE_BLUE
effect_desc = "Creates a rebreather, a tankless mask."
/obj/item/slimecross/chilling/blue/do_effect(mob/user)
@@ -72,7 +72,7 @@ Chilling extracts:
..()
/obj/item/slimecross/chilling/metal
colour = "metal"
colour = SLIME_TYPE_METAL
effect_desc = "Temporarily surrounds the user with unbreakable walls."
/obj/item/slimecross/chilling/metal/do_effect(mob/user)
@@ -83,7 +83,7 @@ Chilling extracts:
..()
/obj/item/slimecross/chilling/yellow
colour = "yellow"
colour = SLIME_TYPE_YELLOW
effect_desc = "Recharges the room's APC by 50%."
/obj/item/slimecross/chilling/yellow/do_effect(mob/user)
@@ -95,7 +95,7 @@ Chilling extracts:
..()
/obj/item/slimecross/chilling/darkpurple
colour = "dark purple"
colour = SLIME_TYPE_DARK_PURPLE
effect_desc = "Removes all plasma gas in the area."
/obj/item/slimecross/chilling/darkpurple/do_effect(mob/user)
@@ -119,7 +119,7 @@ Chilling extracts:
..()
/obj/item/slimecross/chilling/darkblue
colour = "dark blue"
colour = SLIME_TYPE_DARK_BLUE
effect_desc = "Seals the user in a protective block of ice."
/obj/item/slimecross/chilling/darkblue/do_effect(mob/user)
@@ -130,7 +130,7 @@ Chilling extracts:
..()
/obj/item/slimecross/chilling/silver
colour = "silver"
colour = SLIME_TYPE_SILVER
effect_desc = "Creates several ration packs."
/obj/item/slimecross/chilling/silver/do_effect(mob/user)
@@ -141,7 +141,7 @@ Chilling extracts:
..()
/obj/item/slimecross/chilling/bluespace
colour = "bluespace"
colour = SLIME_TYPE_BLUESPACE
effect_desc = "Touching people with this extract adds them to a list, when it is activated it teleports everyone on that list to the user."
var/list/allies = list()
var/active = FALSE
@@ -184,7 +184,7 @@ Chilling extracts:
..()
/obj/item/slimecross/chilling/sepia
colour = "sepia"
colour = SLIME_TYPE_SEPIA
effect_desc = "Touching someone with it adds/removes them from a list. Activating the extract stops time for 30 seconds, and everyone on the list is immune, except the user."
var/list/allies = list()
@@ -206,7 +206,7 @@ Chilling extracts:
..()
/obj/item/slimecross/chilling/cerulean
colour = "cerulean"
colour = SLIME_TYPE_CERULEAN
effect_desc = "Creates a flimsy copy of the user, that they control."
/obj/item/slimecross/chilling/cerulean/do_effect(mob/user)
@@ -217,7 +217,7 @@ Chilling extracts:
..()
/obj/item/slimecross/chilling/pyrite
colour = "pyrite"
colour = SLIME_TYPE_PYRITE
effect_desc = "Creates a pair of Prism Glasses, which allow the wearer to place colored light crystals."
/obj/item/slimecross/chilling/pyrite/do_effect(mob/user)
@@ -226,7 +226,7 @@ Chilling extracts:
..()
/obj/item/slimecross/chilling/red
colour = "red"
colour = SLIME_TYPE_RED
effect_desc = "Pacifies every slime in your vacinity."
/obj/item/slimecross/chilling/red/do_effect(mob/user)
@@ -241,7 +241,7 @@ Chilling extracts:
return ..()
/obj/item/slimecross/chilling/green
colour = "green"
colour = SLIME_TYPE_GREEN
effect_desc = "Creates a bone gun in the hand it is used in, which uses blood as ammo."
/obj/item/slimecross/chilling/green/do_effect(mob/user)
@@ -264,7 +264,7 @@ Chilling extracts:
..()
/obj/item/slimecross/chilling/pink
colour = "pink"
colour = SLIME_TYPE_PINK
effect_desc = "Creates a slime corgi puppy."
/obj/item/slimecross/chilling/pink/do_effect(mob/user)
@@ -273,7 +273,7 @@ Chilling extracts:
..()
/obj/item/slimecross/chilling/gold
colour = "gold"
colour = SLIME_TYPE_GOLD
effect_desc = "Produces a golden capture device"
/obj/item/slimecross/chilling/gold/do_effect(mob/user)
@@ -282,7 +282,7 @@ Chilling extracts:
..()
/obj/item/slimecross/chilling/oil
colour = "oil"
colour = SLIME_TYPE_OIL
effect_desc = "It creates a weak, but wide-ranged explosion."
/obj/item/slimecross/chilling/oil/do_effect(mob/user)
@@ -294,7 +294,7 @@ Chilling extracts:
qdel(src)
/obj/item/slimecross/chilling/black
colour = "black"
colour = SLIME_TYPE_BLACK
effect_desc = "Transforms the user into a golem."
/obj/item/slimecross/chilling/black/do_effect(mob/user)
@@ -305,7 +305,7 @@ Chilling extracts:
..()
/obj/item/slimecross/chilling/lightpink
colour = "light pink"
colour = SLIME_TYPE_LIGHT_PINK
effect_desc = "Creates a Heroine Bud, a special flower that pacifies whoever wears it on their head. They will not be able to take it off without help."
/obj/item/slimecross/chilling/lightpink/do_effect(mob/user)
@@ -314,7 +314,7 @@ Chilling extracts:
..()
/obj/item/slimecross/chilling/adamantine
colour = "adamantine"
colour = SLIME_TYPE_ADAMANTINE
effect_desc = "Solidifies into a set of adamantine armor."
/obj/item/slimecross/chilling/adamantine/do_effect(mob/user)
@@ -323,7 +323,7 @@ Chilling extracts:
..()
/obj/item/slimecross/chilling/rainbow
colour = "rainbow"
colour = SLIME_TYPE_RAINBOW
effect_desc = "Makes an unpassable wall in every door in the area."
/obj/item/slimecross/chilling/rainbow/do_effect(mob/user)
@@ -83,7 +83,7 @@ Consuming extracts:
..()
/obj/item/slimecross/consuming/grey
colour = "grey"
colour = SLIME_TYPE_GREY
effect_desc = "Creates a slime cookie."
cookietype = /obj/item/slime_cookie/grey
@@ -95,7 +95,7 @@ Consuming extracts:
nutrition = 15
/obj/item/slimecross/consuming/orange
colour = "orange"
colour = SLIME_TYPE_ORANGE
effect_desc = "Creates a slime cookie that heats the target up and grants cold immunity for a short time."
cookietype = /obj/item/slime_cookie/orange
@@ -109,7 +109,7 @@ Consuming extracts:
M.apply_status_effect(/datum/status_effect/firecookie)
/obj/item/slimecross/consuming/purple
colour = "purple"
colour = SLIME_TYPE_PURPLE
effect_desc = "Creates a slime cookie that heals the target from every type of damage."
cookietype = /obj/item/slime_cookie/purple
@@ -128,7 +128,7 @@ Consuming extracts:
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -5)
/obj/item/slimecross/consuming/blue
colour = "blue"
colour = SLIME_TYPE_BLUE
effect_desc = "Creates a slime cookie that wets the floor around you and makes you immune to water based slipping for a short time."
cookietype = /obj/item/slime_cookie/blue
@@ -142,7 +142,7 @@ Consuming extracts:
M.apply_status_effect(/datum/status_effect/watercookie)
/obj/item/slimecross/consuming/metal
colour = "metal"
colour = SLIME_TYPE_METAL
effect_desc = "Creates a slime cookie that increases the target's resistance to brute damage."
cookietype = /obj/item/slime_cookie/metal
@@ -156,7 +156,7 @@ Consuming extracts:
M.apply_status_effect(/datum/status_effect/metalcookie)
/obj/item/slimecross/consuming/yellow
colour = "yellow"
colour = SLIME_TYPE_YELLOW
effect_desc = "Creates a slime cookie that makes the target immune to electricity for a short time."
cookietype = /obj/item/slime_cookie/yellow
@@ -170,7 +170,7 @@ Consuming extracts:
M.apply_status_effect(/datum/status_effect/sparkcookie)
/obj/item/slimecross/consuming/darkpurple
colour = "dark purple"
colour = SLIME_TYPE_DARK_PURPLE
effect_desc = "Creates a slime cookie that reverses how the target's body treats toxins."
cookietype = /obj/item/slime_cookie/darkpurple
@@ -184,7 +184,7 @@ Consuming extracts:
M.apply_status_effect(/datum/status_effect/toxincookie)
/obj/item/slimecross/consuming/darkblue
colour = "dark blue"
colour = SLIME_TYPE_DARK_BLUE
effect_desc = "Creates a slime cookie that chills the target and extinguishes them."
cookietype = /obj/item/slime_cookie/darkblue
@@ -199,7 +199,7 @@ Consuming extracts:
M.extinguish_mob()
/obj/item/slimecross/consuming/silver
colour = "silver"
colour = SLIME_TYPE_SILVER
effect_desc = "Creates a slime cookie that never gets the target fat."
cookietype = /obj/item/slime_cookie/silver
@@ -214,7 +214,7 @@ Consuming extracts:
M.reagents.add_reagent(/datum/reagent/consumable/nutriment/stabilized,10)
/obj/item/slimecross/consuming/bluespace
colour = "bluespace"
colour = SLIME_TYPE_BLUESPACE
effect_desc = "Creates a slime cookie that teleports the target to a random place in the area."
cookietype = /obj/item/slime_cookie/bluespace
@@ -250,7 +250,7 @@ Consuming extracts:
playsound(get_turf(M), SFX_SPARKS, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
/obj/item/slimecross/consuming/sepia
colour = "sepia"
colour = SLIME_TYPE_SEPIA
effect_desc = "Creates a slime cookie that makes the target do things slightly faster."
cookietype = /obj/item/slime_cookie/sepia
@@ -264,7 +264,7 @@ Consuming extracts:
M.apply_status_effect(/datum/status_effect/timecookie)
/obj/item/slimecross/consuming/cerulean
colour = "cerulean"
colour = SLIME_TYPE_CERULEAN
effect_desc = "Creates a slime cookie that has a chance to make another once you eat it."
cookietype = /obj/item/slime_cookie/cerulean
cookies = 3 //You're gonna get more.
@@ -282,7 +282,7 @@ Consuming extracts:
C.taste = taste + " and a sugar cookie"
/obj/item/slimecross/consuming/pyrite
colour = "pyrite"
colour = SLIME_TYPE_PYRITE
effect_desc = "Creates a slime cookie that randomly colors the target."
cookietype = /obj/item/slime_cookie/pyrite
@@ -324,7 +324,7 @@ Consuming extracts:
M.add_atom_colour(colour,WASHABLE_COLOUR_PRIORITY)
/obj/item/slimecross/consuming/red
colour = "red"
colour = SLIME_TYPE_RED
effect_desc = "Creates a slime cookie that creates a spatter of blood on the floor, while also restoring some of the target's blood."
cookietype = /obj/item/slime_cookie/red
@@ -342,7 +342,7 @@ Consuming extracts:
C.blood_volume += 25 //Half a vampire drain.
/obj/item/slimecross/consuming/green
colour = "green"
colour = SLIME_TYPE_GREEN
effect_desc = "Creates a slime cookie that is absolutely disgusting, makes the target vomit, however all reagent in their body are also removed."
cookietype = /obj/item/slime_cookie/green
@@ -359,7 +359,7 @@ Consuming extracts:
M.reagents.remove_all()
/obj/item/slimecross/consuming/pink
colour = "pink"
colour = SLIME_TYPE_PINK
effect_desc = "Creates a slime cookie that makes the target want to spread the love."
cookietype = /obj/item/slime_cookie/pink
@@ -373,7 +373,7 @@ Consuming extracts:
M.apply_status_effect(/datum/status_effect/lovecookie)
/obj/item/slimecross/consuming/gold
colour = "gold"
colour = SLIME_TYPE_GOLD
effect_desc = "Creates a slime cookie that has a gold coin inside."
cookietype = /obj/item/slime_cookie/gold
@@ -392,7 +392,7 @@ Consuming extracts:
M.put_in_hand(C)
/obj/item/slimecross/consuming/oil
colour = "oil"
colour = SLIME_TYPE_OIL
effect_desc = "Creates a slime cookie that slows anyone next to the user."
cookietype = /obj/item/slime_cookie/oil
@@ -406,7 +406,7 @@ Consuming extracts:
M.apply_status_effect(/datum/status_effect/tarcookie)
/obj/item/slimecross/consuming/black
colour = "black"
colour = SLIME_TYPE_BLACK
effect_desc = "Creates a slime cookie that makes the target look like a spooky skeleton for a little bit."
cookietype = /obj/item/slime_cookie/black
@@ -420,7 +420,7 @@ Consuming extracts:
M.apply_status_effect(/datum/status_effect/spookcookie)
/obj/item/slimecross/consuming/lightpink
colour = "light pink"
colour = SLIME_TYPE_LIGHT_PINK
effect_desc = "Creates a slime cookie that makes the target, and anyone next to the target, pacifistic for a small amount of time."
cookietype = /obj/item/slime_cookie/lightpink
@@ -434,7 +434,7 @@ Consuming extracts:
M.apply_status_effect(/datum/status_effect/peacecookie)
/obj/item/slimecross/consuming/adamantine
colour = "adamantine"
colour = SLIME_TYPE_ADAMANTINE
effect_desc = "Creates a slime cookie that increases the target's resistance to burn damage."
cookietype = /obj/item/slime_cookie/adamantine
@@ -448,7 +448,7 @@ Consuming extracts:
M.apply_status_effect(/datum/status_effect/adamantinecookie)
/obj/item/slimecross/consuming/rainbow
colour = "rainbow"
colour = SLIME_TYPE_RAINBOW
effect_desc = "Creates a slime cookie that has the effect of a random cookie."
/obj/item/slimecross/consuming/rainbow/spawncookie()
@@ -52,37 +52,37 @@ Industrial extracts:
icon_state = "industrial_still"
/obj/item/slimecross/industrial/grey
colour = "grey"
colour = SLIME_TYPE_GREY
effect_desc = "Produces monkey cubes."
itempath = /obj/item/food/monkeycube
itemamount = 5
/obj/item/slimecross/industrial/orange
colour = "orange"
colour = SLIME_TYPE_ORANGE
effect_desc = "Produces slime zippo lighters."
plasmarequired = 6
itempath = /obj/item/lighter/slime
/obj/item/slimecross/industrial/purple
colour = "purple"
colour = SLIME_TYPE_PURPLE
effect_desc = "Produces autoinjectors with regen jelly inside."
plasmarequired = 5
itempath = /obj/item/slimecrossbeaker/autoinjector/regenpack
/obj/item/slimecross/industrial/blue
colour = "blue"
colour = SLIME_TYPE_BLUE
effect_desc = "Produces full fire extinguishers."
plasmarequired = 10
itempath = /obj/item/extinguisher
/obj/item/slimecross/industrial/metal
colour = "metal"
colour = SLIME_TYPE_METAL
effect_desc = "Produces iron sheets."
plasmarequired = 3
itempath = /obj/item/stack/sheet/iron/ten
/obj/item/slimecross/industrial/yellow
colour = "yellow"
colour = SLIME_TYPE_YELLOW
effect_desc = "Produces high capacity power cells, which are not fully charged on creation."
plasmarequired = 5
itempath = /obj/item/stock_parts/cell/high
@@ -93,13 +93,13 @@ Industrial extracts:
C.charge = rand(0,C.maxcharge/2)
/obj/item/slimecross/industrial/darkpurple
colour = "dark purple"
colour = SLIME_TYPE_DARK_PURPLE
effect_desc = "Produces plasma... for plasma."
plasmarequired = 10
itempath = /obj/item/stack/sheet/mineral/plasma
/obj/item/slimecross/industrial/darkblue
colour = "dark blue"
colour = SLIME_TYPE_DARK_BLUE
effect_desc = "Produces one-use fireproofing potions."
plasmarequired = 6
itempath = /obj/item/slimepotion/fireproof
@@ -110,7 +110,7 @@ Industrial extracts:
potion.uses = 1
/obj/item/slimecross/industrial/silver
colour = "silver"
colour = SLIME_TYPE_SILVER
effect_desc = "Produces random food and drink items."
plasmarequired = 1
//Item picked below.
@@ -123,49 +123,49 @@ Industrial extracts:
ADD_TRAIT(spawned, TRAIT_FOOD_SILVER, INNATE_TRAIT)
/obj/item/slimecross/industrial/bluespace
colour = "bluespace"
colour = SLIME_TYPE_BLUESPACE
effect_desc = "Produces synthetic bluespace crystals."
plasmarequired = 7
itempath = /obj/item/stack/ore/bluespace_crystal/artificial
/obj/item/slimecross/industrial/sepia
colour = "sepia"
colour = SLIME_TYPE_SEPIA
effect_desc = "Produces cameras."
plasmarequired = 2
itempath = /obj/item/camera
/obj/item/slimecross/industrial/cerulean
colour = "cerulean"
colour = SLIME_TYPE_CERULEAN
effect_desc = "Produces normal slime extract enhancers."
plasmarequired = 5
itempath = /obj/item/slimepotion/enhancer
/obj/item/slimecross/industrial/pyrite
colour = "pyrite"
colour = SLIME_TYPE_PYRITE
effect_desc = "Produces cans of spraypaint."
plasmarequired = 2
itempath = /obj/item/toy/crayon/spraycan
/obj/item/slimecross/industrial/red
colour = "red"
colour = SLIME_TYPE_RED
effect_desc = "Produces blood orbs."
plasmarequired = 5
itempath = /obj/item/slimecrossbeaker/bloodpack
/obj/item/slimecross/industrial/green
colour = "green"
colour = SLIME_TYPE_GREEN
effect_desc = "Produces self-use-only slime jelly autoinjectors."
plasmarequired = 7
itempath = /obj/item/slimecrossbeaker/autoinjector/slimejelly
/obj/item/slimecross/industrial/pink
colour = "pink"
colour = SLIME_TYPE_PINK
effect_desc = "Produces synthpax and space drug autoinjectors."
plasmarequired = 6
itempath = /obj/item/slimecrossbeaker/autoinjector/peaceandlove
/obj/item/slimecross/industrial/gold
colour = "gold"
colour = SLIME_TYPE_GOLD
effect_desc = "Produces random coins."
plasmarequired = 10
@@ -174,31 +174,31 @@ Industrial extracts:
..()
/obj/item/slimecross/industrial/oil
colour = "oil"
colour = SLIME_TYPE_OIL
effect_desc = "Produces IEDs."
plasmarequired = 4
itempath = /obj/item/grenade/iedcasing/spawned
/obj/item/slimecross/industrial/black //What does this have to do with black slimes? No clue! Fun, though
colour = "black"
colour = SLIME_TYPE_BLACK
effect_desc = "Produces slime brand regenerative cigarettes."
plasmarequired = 6
itempath = /obj/item/storage/fancy/cigarettes/cigpack_xeno
/obj/item/slimecross/industrial/lightpink
colour = "light pink"
colour = SLIME_TYPE_LIGHT_PINK
effect_desc = "Produces heart shaped boxes that have candies in them."
plasmarequired = 3
itempath = /obj/item/storage/fancy/heart_box
/obj/item/slimecross/industrial/adamantine
colour = "adamantine"
colour = SLIME_TYPE_ADAMANTINE
effect_desc = "Produces sheets of adamantine."
plasmarequired = 10
itempath = /obj/item/stack/sheet/mineral/adamantine
/obj/item/slimecross/industrial/rainbow
colour = "rainbow"
colour = SLIME_TYPE_RAINBOW
effect_desc = "Produces random slime extracts."
plasmarequired = 5
//Item picked below.
@@ -19,7 +19,7 @@ Prismatic extracts:
playsound(target, 'sound/effects/slosh.ogg', 20, TRUE)
/obj/item/slimecross/prismatic/grey/
colour = "grey"
colour = SLIME_TYPE_GREY
desc = "It's constantly wet with a pungent-smelling, clear chemical."
/obj/item/slimecross/prismatic/grey/afterattack(turf/target, mob/user, proximity)
@@ -32,87 +32,87 @@ Prismatic extracts:
/obj/item/slimecross/prismatic/orange
paintcolor = "#FFA500"
colour = "orange"
colour = SLIME_TYPE_ORANGE
/obj/item/slimecross/prismatic/purple
paintcolor = "#B19CD9"
colour = "purple"
colour = SLIME_TYPE_PURPLE
/obj/item/slimecross/prismatic/blue
paintcolor = "#ADD8E6"
colour = "blue"
colour = SLIME_TYPE_BLUE
/obj/item/slimecross/prismatic/metal
paintcolor = "#7E7E7E"
colour = "metal"
colour = SLIME_TYPE_METAL
/obj/item/slimecross/prismatic/yellow
paintcolor = "#FFFF00"
colour = "yellow"
colour = SLIME_TYPE_YELLOW
/obj/item/slimecross/prismatic/darkpurple
paintcolor = "#551A8B"
colour = "dark purple"
colour = SLIME_TYPE_DARK_PURPLE
/obj/item/slimecross/prismatic/darkblue
paintcolor = "#0000FF"
colour = "dark blue"
colour = SLIME_TYPE_DARK_BLUE
/obj/item/slimecross/prismatic/silver
paintcolor = "#D3D3D3"
colour = "silver"
colour = SLIME_TYPE_SILVER
/obj/item/slimecross/prismatic/bluespace
paintcolor = "#32CD32"
colour = "bluespace"
colour = SLIME_TYPE_BLUESPACE
/obj/item/slimecross/prismatic/sepia
paintcolor = "#704214"
colour = "sepia"
colour = SLIME_TYPE_SEPIA
/obj/item/slimecross/prismatic/cerulean
paintcolor = "#2956B2"
colour = "cerulean"
colour = SLIME_TYPE_CERULEAN
/obj/item/slimecross/prismatic/pyrite
paintcolor = "#FAFAD2"
colour = "pyrite"
colour = SLIME_TYPE_PYRITE
/obj/item/slimecross/prismatic/red
paintcolor = "#FF0000"
colour = "red"
colour = SLIME_TYPE_RED
/obj/item/slimecross/prismatic/green
paintcolor = "#00FF00"
colour = "green"
colour = SLIME_TYPE_GREEN
/obj/item/slimecross/prismatic/pink
paintcolor = "#FF69B4"
colour = "pink"
colour = SLIME_TYPE_PINK
/obj/item/slimecross/prismatic/gold
paintcolor = "#FFD700"
colour = "gold"
colour = SLIME_TYPE_GOLD
/obj/item/slimecross/prismatic/oil
paintcolor = "#505050"
colour = "oil"
colour = SLIME_TYPE_OIL
/obj/item/slimecross/prismatic/black
paintcolor = "#000000"
colour = "black"
colour = SLIME_TYPE_BLACK
/obj/item/slimecross/prismatic/lightpink
paintcolor = "#FFB6C1"
colour = "light pink"
colour = SLIME_TYPE_LIGHT_PINK
/obj/item/slimecross/prismatic/adamantine
paintcolor = "#008B8B"
colour = "adamantine"
colour = SLIME_TYPE_ADAMANTINE
/obj/item/slimecross/prismatic/rainbow
paintcolor = "#FFFFFF"
colour = "rainbow"
colour = SLIME_TYPE_RAINBOW
/obj/item/slimecross/prismatic/rainbow/attack_self(mob/user)
var/newcolor = input(user, "Choose the slime color:", "Color change",paintcolor) as color|null
@@ -44,95 +44,95 @@ Recurring extracts:
/obj/item/slimecross/recurring/grey
extract_type = /obj/item/slime_extract/grey
colour = "grey"
colour = SLIME_TYPE_GREY
/obj/item/slimecross/recurring/orange
extract_type = /obj/item/slime_extract/orange
colour = "orange"
colour = SLIME_TYPE_ORANGE
/obj/item/slimecross/recurring/purple
extract_type = /obj/item/slime_extract/purple
colour = "purple"
colour = SLIME_TYPE_PURPLE
/obj/item/slimecross/recurring/blue
extract_type = /obj/item/slime_extract/blue
colour = "blue"
colour = SLIME_TYPE_BLUE
/obj/item/slimecross/recurring/metal
extract_type = /obj/item/slime_extract/metal
colour = "metal"
colour = SLIME_TYPE_METAL
max_cooldown = 20
/obj/item/slimecross/recurring/yellow
extract_type = /obj/item/slime_extract/yellow
colour = "yellow"
colour = SLIME_TYPE_YELLOW
max_cooldown = 20
/obj/item/slimecross/recurring/darkpurple
extract_type = /obj/item/slime_extract/darkpurple
colour = "dark purple"
colour = SLIME_TYPE_DARK_PURPLE
max_cooldown = 20
/obj/item/slimecross/recurring/darkblue
extract_type = /obj/item/slime_extract/darkblue
colour = "dark blue"
colour = SLIME_TYPE_DARK_BLUE
/obj/item/slimecross/recurring/silver
extract_type = /obj/item/slime_extract/silver
colour = "silver"
colour = SLIME_TYPE_SILVER
/obj/item/slimecross/recurring/bluespace
extract_type = /obj/item/slime_extract/bluespace
colour = "bluespace"
colour = SLIME_TYPE_BLUESPACE
/obj/item/slimecross/recurring/sepia
extract_type = /obj/item/slime_extract/sepia
colour = "sepia"
colour = SLIME_TYPE_SEPIA
max_cooldown = 36 //No infinite timestop for you!
/obj/item/slimecross/recurring/cerulean
extract_type = /obj/item/slime_extract/cerulean
colour = "cerulean"
colour = SLIME_TYPE_CERULEAN
/obj/item/slimecross/recurring/pyrite
extract_type = /obj/item/slime_extract/pyrite
colour = "pyrite"
colour = SLIME_TYPE_PYRITE
/obj/item/slimecross/recurring/red
extract_type = /obj/item/slime_extract/red
colour = "red"
colour = SLIME_TYPE_RED
/obj/item/slimecross/recurring/green
extract_type = /obj/item/slime_extract/green
colour = "green"
colour = SLIME_TYPE_GREEN
/obj/item/slimecross/recurring/pink
extract_type = /obj/item/slime_extract/pink
colour = "pink"
colour = SLIME_TYPE_PINK
/obj/item/slimecross/recurring/gold
extract_type = /obj/item/slime_extract/gold
colour = "gold"
colour = SLIME_TYPE_GOLD
max_cooldown = 30
/obj/item/slimecross/recurring/oil
extract_type = /obj/item/slime_extract/oil
colour = "oil" //Why would you want this?
colour = SLIME_TYPE_OIL //Why would you want this?
/obj/item/slimecross/recurring/black
extract_type = /obj/item/slime_extract/black
colour = "black"
colour = SLIME_TYPE_BLACK
/obj/item/slimecross/recurring/lightpink
extract_type = /obj/item/slime_extract/lightpink
colour = "light pink"
colour = SLIME_TYPE_LIGHT_PINK
/obj/item/slimecross/recurring/adamantine
extract_type = /obj/item/slime_extract/adamantine
colour = "adamantine"
colour = SLIME_TYPE_ADAMANTINE
max_cooldown = 20
/obj/item/slimecross/recurring/rainbow
extract_type = /obj/item/slime_extract/rainbow
colour = "rainbow"
colour = SLIME_TYPE_RAINBOW
max_cooldown = 40 //It's pretty powerful.
@@ -35,11 +35,11 @@ Regenerative extracts:
qdel(src)
/obj/item/slimecross/regenerative/grey
colour = "grey" //Has no bonus effect.
colour = SLIME_TYPE_GREY //Has no bonus effect.
effect_desc = "Fully heals the target and does nothing else."
/obj/item/slimecross/regenerative/orange
colour = "orange"
colour = SLIME_TYPE_ORANGE
/obj/item/slimecross/regenerative/orange/core_effect_before(mob/living/target, mob/user)
target.visible_message(span_warning("The [src] boils over!"))
@@ -48,14 +48,14 @@ Regenerative extracts:
new /obj/effect/hotspot(targetturf)
/obj/item/slimecross/regenerative/purple
colour = "purple"
colour = SLIME_TYPE_PURPLE
effect_desc = "Fully heals the target and injects them with some regen jelly."
/obj/item/slimecross/regenerative/purple/core_effect(mob/living/target, mob/user)
target.reagents.add_reagent(/datum/reagent/medicine/regen_jelly,10)
/obj/item/slimecross/regenerative/blue
colour = "blue"
colour = SLIME_TYPE_BLUE
effect_desc = "Fully heals the target and makes the floor wet."
/obj/item/slimecross/regenerative/blue/core_effect(mob/living/target, mob/user)
@@ -65,7 +65,7 @@ Regenerative extracts:
target.visible_message(span_warning("The milky goo in the extract gets all over the floor!"))
/obj/item/slimecross/regenerative/metal
colour = "metal"
colour = SLIME_TYPE_METAL
effect_desc = "Fully heals the target and encases the target in a locker."
/obj/item/slimecross/regenerative/metal/core_effect(mob/living/target, mob/user)
@@ -76,7 +76,7 @@ Regenerative extracts:
target.forceMove(C)
/obj/item/slimecross/regenerative/yellow
colour = "yellow"
colour = SLIME_TYPE_YELLOW
effect_desc = "Fully heals the target and fully recharges a single item on the target."
/obj/item/slimecross/regenerative/yellow/core_effect(mob/living/target, mob/user)
@@ -90,7 +90,7 @@ Regenerative extracts:
to_chat(target, span_notice("You feel a strange electrical pulse, and one of your electrical items was recharged."))
/obj/item/slimecross/regenerative/darkpurple
colour = "dark purple"
colour = SLIME_TYPE_DARK_PURPLE
effect_desc = "Fully heals the target and gives them purple clothing if they are naked."
/obj/item/slimecross/regenerative/darkpurple/core_effect(mob/living/target, mob/user)
@@ -103,7 +103,7 @@ Regenerative extracts:
target.visible_message(span_notice("The milky goo congeals into clothing!"))
/obj/item/slimecross/regenerative/darkblue
colour = "dark blue"
colour = SLIME_TYPE_DARK_BLUE
effect_desc = "Fully heals the target and fireproofs their clothes."
/obj/item/slimecross/regenerative/darkblue/core_effect(mob/living/target, mob/user)
@@ -131,7 +131,7 @@ Regenerative extracts:
C.resistance_flags |= FIRE_PROOF
/obj/item/slimecross/regenerative/silver
colour = "silver"
colour = SLIME_TYPE_SILVER
effect_desc = "Fully heals the target and makes their belly feel round and full."
/obj/item/slimecross/regenerative/silver/core_effect(mob/living/target, mob/user)
@@ -139,7 +139,7 @@ Regenerative extracts:
to_chat(target, span_notice("You feel satiated."))
/obj/item/slimecross/regenerative/bluespace
colour = "bluespace"
colour = SLIME_TYPE_BLUESPACE
effect_desc = "Fully heals the target and teleports them to where this core was created."
var/turf/open/T
@@ -155,7 +155,7 @@ Regenerative extracts:
T = get_turf(src)
/obj/item/slimecross/regenerative/sepia
colour = "sepia"
colour = SLIME_TYPE_SEPIA
effect_desc = "Fully heals the target. After 10 seconds, relocate the target to the initial position the core was used with their previous health status."
/obj/item/slimecross/regenerative/sepia/core_effect_before(mob/living/target, mob/user)
@@ -163,7 +163,7 @@ Regenerative extracts:
target.AddComponent(/datum/component/dejavu)
/obj/item/slimecross/regenerative/cerulean
colour = "cerulean"
colour = SLIME_TYPE_CERULEAN
effect_desc = "Fully heals the target and makes a second regenerative core with no special effects."
/obj/item/slimecross/regenerative/cerulean/core_effect(mob/living/target, mob/user)
@@ -175,7 +175,7 @@ Regenerative extracts:
to_chat(user, span_notice("Some of the milky goo congeals in your hand!"))
/obj/item/slimecross/regenerative/pyrite
colour = "pyrite"
colour = SLIME_TYPE_PYRITE
effect_desc = "Fully heals and randomly colors the target."
/obj/item/slimecross/regenerative/pyrite/core_effect(mob/living/target, mob/user)
@@ -183,7 +183,7 @@ Regenerative extracts:
target.add_atom_colour(rgb(rand(0,255),rand(0,255),rand(0,255)),WASHABLE_COLOUR_PRIORITY)
/obj/item/slimecross/regenerative/red
colour = "red"
colour = SLIME_TYPE_RED
effect_desc = "Fully heals the target and injects them with some ephedrine."
/obj/item/slimecross/regenerative/red/core_effect(mob/living/target, mob/user)
@@ -191,7 +191,7 @@ Regenerative extracts:
target.reagents.add_reagent(/datum/reagent/medicine/ephedrine,3)
/obj/item/slimecross/regenerative/green
colour = "green"
colour = SLIME_TYPE_GREEN
effect_desc = "Fully heals the target and changes the spieces or color of a slime or jellyperson."
/obj/item/slimecross/regenerative/green/core_effect(mob/living/target, mob/user)
@@ -204,7 +204,7 @@ Regenerative extracts:
/obj/item/slimecross/regenerative/pink
colour = "pink"
colour = SLIME_TYPE_PINK
effect_desc = "Fully heals the target and injects them with some krokodil."
/obj/item/slimecross/regenerative/pink/core_effect(mob/living/target, mob/user)
@@ -212,7 +212,7 @@ Regenerative extracts:
target.reagents.add_reagent(/datum/reagent/drug/krokodil,4)
/obj/item/slimecross/regenerative/gold
colour = "gold"
colour = SLIME_TYPE_GOLD
effect_desc = "Fully heals the target and produces a random coin."
/obj/item/slimecross/regenerative/gold/core_effect(mob/living/target, mob/user)
@@ -222,7 +222,7 @@ Regenerative extracts:
target.put_in_hand(C)
/obj/item/slimecross/regenerative/oil
colour = "oil"
colour = SLIME_TYPE_OIL
effect_desc = "Fully heals the target and flashes everyone in sight."
/obj/item/slimecross/regenerative/oil/core_effect(mob/living/target, mob/user)
@@ -231,7 +231,7 @@ Regenerative extracts:
L.flash_act()
/obj/item/slimecross/regenerative/black
colour = "black"
colour = SLIME_TYPE_BLACK
effect_desc = "Fully heals the target and creates an imperfect duplicate of them made of slime, that fakes their death."
/obj/item/slimecross/regenerative/black/core_effect_before(mob/living/target, mob/user)
@@ -253,7 +253,7 @@ Regenerative extracts:
dummy.death()
/obj/item/slimecross/regenerative/lightpink
colour = "light pink"
colour = SLIME_TYPE_LIGHT_PINK
effect_desc = "Fully heals the target and also heals the user."
/obj/item/slimecross/regenerative/lightpink/core_effect(mob/living/target, mob/user)
@@ -266,14 +266,14 @@ Regenerative extracts:
to_chat(U, span_notice("Some of the milky goo sprays onto you, as well!"))
/obj/item/slimecross/regenerative/adamantine
colour = "adamantine"
colour = SLIME_TYPE_ADAMANTINE
effect_desc = "Fully heals the target and boosts their armor."
/obj/item/slimecross/regenerative/adamantine/core_effect(mob/living/target, mob/user) //WIP - Find out why this doesn't work.
target.apply_status_effect(/datum/status_effect/slimeskin)
/obj/item/slimecross/regenerative/rainbow
colour = "rainbow"
colour = SLIME_TYPE_RAINBOW
effect_desc = "Fully heals the target and temporarily makes them immortal, but pacifistic."
/obj/item/slimecross/regenerative/rainbow/core_effect(mob/living/target, mob/user)
@@ -60,88 +60,88 @@ Reproductive extracts:
/obj/item/slimecross/reproductive/grey
extract_type = /obj/item/slime_extract/grey
colour = "grey"
colour = SLIME_TYPE_GREY
/obj/item/slimecross/reproductive/orange
extract_type = /obj/item/slime_extract/orange
colour = "orange"
colour = SLIME_TYPE_ORANGE
/obj/item/slimecross/reproductive/purple
extract_type = /obj/item/slime_extract/purple
colour = "purple"
colour = SLIME_TYPE_PURPLE
/obj/item/slimecross/reproductive/blue
extract_type = /obj/item/slime_extract/blue
colour = "blue"
colour = SLIME_TYPE_BLUE
/obj/item/slimecross/reproductive/metal
extract_type = /obj/item/slime_extract/metal
colour = "metal"
colour = SLIME_TYPE_METAL
/obj/item/slimecross/reproductive/yellow
extract_type = /obj/item/slime_extract/yellow
colour = "yellow"
colour = SLIME_TYPE_YELLOW
/obj/item/slimecross/reproductive/darkpurple
extract_type = /obj/item/slime_extract/darkpurple
colour = "dark purple"
colour = SLIME_TYPE_DARK_PURPLE
/obj/item/slimecross/reproductive/darkblue
extract_type = /obj/item/slime_extract/darkblue
colour = "dark blue"
colour = SLIME_TYPE_DARK_BLUE
/obj/item/slimecross/reproductive/silver
extract_type = /obj/item/slime_extract/silver
colour = "silver"
colour = SLIME_TYPE_SILVER
/obj/item/slimecross/reproductive/bluespace
extract_type = /obj/item/slime_extract/bluespace
colour = "bluespace"
colour = SLIME_TYPE_BLUESPACE
/obj/item/slimecross/reproductive/sepia
extract_type = /obj/item/slime_extract/sepia
colour = "sepia"
colour = SLIME_TYPE_SEPIA
/obj/item/slimecross/reproductive/cerulean
extract_type = /obj/item/slime_extract/cerulean
colour = "cerulean"
colour = SLIME_TYPE_CERULEAN
/obj/item/slimecross/reproductive/pyrite
extract_type = /obj/item/slime_extract/pyrite
colour = "pyrite"
colour = SLIME_TYPE_PYRITE
/obj/item/slimecross/reproductive/red
extract_type = /obj/item/slime_extract/red
colour = "red"
colour = SLIME_TYPE_RED
/obj/item/slimecross/reproductive/green
extract_type = /obj/item/slime_extract/green
colour = "green"
colour = SLIME_TYPE_GREEN
/obj/item/slimecross/reproductive/pink
extract_type = /obj/item/slime_extract/pink
colour = "pink"
colour = SLIME_TYPE_PINK
/obj/item/slimecross/reproductive/gold
extract_type = /obj/item/slime_extract/gold
colour = "gold"
colour = SLIME_TYPE_GOLD
/obj/item/slimecross/reproductive/oil
extract_type = /obj/item/slime_extract/oil
colour = "oil"
colour = SLIME_TYPE_OIL
/obj/item/slimecross/reproductive/black
extract_type = /obj/item/slime_extract/black
colour = "black"
colour = SLIME_TYPE_BLACK
/obj/item/slimecross/reproductive/lightpink
extract_type = /obj/item/slime_extract/lightpink
colour = "light pink"
colour = SLIME_TYPE_LIGHT_PINK
/obj/item/slimecross/reproductive/adamantine
extract_type = /obj/item/slime_extract/adamantine
colour = "adamantine"
colour = SLIME_TYPE_ADAMANTINE
/obj/item/slimecross/reproductive/rainbow
extract_type = /obj/item/slime_extract/rainbow
colour = "rainbow"
colour = SLIME_TYPE_RAINBOW
@@ -64,88 +64,88 @@ Self-sustaining extracts:
/obj/item/slimecross/selfsustaining/grey
extract_type = /obj/item/slime_extract/grey
colour = "grey"
colour = SLIME_TYPE_GREY
/obj/item/slimecross/selfsustaining/orange
extract_type = /obj/item/slime_extract/orange
colour = "orange"
colour = SLIME_TYPE_ORANGE
/obj/item/slimecross/selfsustaining/purple
extract_type = /obj/item/slime_extract/purple
colour = "purple"
colour = SLIME_TYPE_PURPLE
/obj/item/slimecross/selfsustaining/blue
extract_type = /obj/item/slime_extract/blue
colour = "blue"
colour = SLIME_TYPE_BLUE
/obj/item/slimecross/selfsustaining/metal
extract_type = /obj/item/slime_extract/metal
colour = "metal"
colour = SLIME_TYPE_METAL
/obj/item/slimecross/selfsustaining/yellow
extract_type = /obj/item/slime_extract/yellow
colour = "yellow"
colour = SLIME_TYPE_YELLOW
/obj/item/slimecross/selfsustaining/darkpurple
extract_type = /obj/item/slime_extract/darkpurple
colour = "dark purple"
colour = SLIME_TYPE_DARK_PURPLE
/obj/item/slimecross/selfsustaining/darkblue
extract_type = /obj/item/slime_extract/darkblue
colour = "dark blue"
colour = SLIME_TYPE_DARK_BLUE
/obj/item/slimecross/selfsustaining/silver
extract_type = /obj/item/slime_extract/silver
colour = "silver"
colour = SLIME_TYPE_SILVER
/obj/item/slimecross/selfsustaining/bluespace
extract_type = /obj/item/slime_extract/bluespace
colour = "bluespace"
colour = SLIME_TYPE_BLUESPACE
/obj/item/slimecross/selfsustaining/sepia
extract_type = /obj/item/slime_extract/sepia
colour = "sepia"
colour = SLIME_TYPE_SEPIA
/obj/item/slimecross/selfsustaining/cerulean
extract_type = /obj/item/slime_extract/cerulean
colour = "cerulean"
colour = SLIME_TYPE_CERULEAN
/obj/item/slimecross/selfsustaining/pyrite
extract_type = /obj/item/slime_extract/pyrite
colour = "pyrite"
colour = SLIME_TYPE_PYRITE
/obj/item/slimecross/selfsustaining/red
extract_type = /obj/item/slime_extract/red
colour = "red"
colour = SLIME_TYPE_RED
/obj/item/slimecross/selfsustaining/green
extract_type = /obj/item/slime_extract/green
colour = "green"
colour = SLIME_TYPE_GREEN
/obj/item/slimecross/selfsustaining/pink
extract_type = /obj/item/slime_extract/pink
colour = "pink"
colour = SLIME_TYPE_PINK
/obj/item/slimecross/selfsustaining/gold
extract_type = /obj/item/slime_extract/gold
colour = "gold"
colour = SLIME_TYPE_GOLD
/obj/item/slimecross/selfsustaining/oil
extract_type = /obj/item/slime_extract/oil
colour = "oil"
colour = SLIME_TYPE_OIL
/obj/item/slimecross/selfsustaining/black
extract_type = /obj/item/slime_extract/black
colour = "black"
colour = SLIME_TYPE_BLACK
/obj/item/slimecross/selfsustaining/lightpink
extract_type = /obj/item/slime_extract/lightpink
colour = "light pink"
colour = SLIME_TYPE_LIGHT_PINK
/obj/item/slimecross/selfsustaining/adamantine
extract_type = /obj/item/slime_extract/adamantine
colour = "adamantine"
colour = SLIME_TYPE_ADAMANTINE
/obj/item/slimecross/selfsustaining/rainbow
extract_type = /obj/item/slime_extract/rainbow
colour = "rainbow"
colour = SLIME_TYPE_RAINBOW
@@ -57,71 +57,71 @@ Stabilized extracts:
//Colors and subtypes:
/obj/item/slimecross/stabilized/grey
colour = "grey"
colour = SLIME_TYPE_GREY
effect_desc = "Makes slimes friendly to the owner"
/obj/item/slimecross/stabilized/orange
colour = "orange"
colour = SLIME_TYPE_ORANGE
effect_desc = "Passively tries to increase or decrease the owner's body temperature to normal"
/obj/item/slimecross/stabilized/purple
colour = "purple"
colour = SLIME_TYPE_PURPLE
effect_desc = "Provides a regeneration effect"
/obj/item/slimecross/stabilized/blue
colour = "blue"
colour = SLIME_TYPE_BLUE
effect_desc = "Makes the owner immune to slipping on water, soap or foam. Space lube and ice are still too slippery."
/obj/item/slimecross/stabilized/metal
colour = "metal"
colour = SLIME_TYPE_METAL
effect_desc = "Every 30 seconds, adds a sheet of material to a random stack in the owner's backpack."
/obj/item/slimecross/stabilized/yellow
colour = "yellow"
colour = SLIME_TYPE_YELLOW
effect_desc = "Every ten seconds it recharges a device on the owner by 10%."
/obj/item/slimecross/stabilized/darkpurple
colour = "dark purple"
colour = SLIME_TYPE_DARK_PURPLE
effect_desc = "Gives you burning fingertips, automatically cooking any microwavable food you hold."
/obj/item/slimecross/stabilized/darkblue
colour = "dark blue"
colour = SLIME_TYPE_DARK_BLUE
effect_desc = "Slowly extinguishes the owner if they are on fire, also wets items like monkey cubes, creating a monkey."
/obj/item/slimecross/stabilized/silver
colour = "silver"
colour = SLIME_TYPE_SILVER
effect_desc = "Slows the rate at which the owner loses nutrition"
/obj/item/slimecross/stabilized/bluespace
colour = "bluespace"
colour = SLIME_TYPE_BLUESPACE
effect_desc = "On a two minute cooldown, when the owner has taken enough damage, they are teleported to a safe place."
/obj/item/slimecross/stabilized/sepia
colour = "sepia"
colour = SLIME_TYPE_SEPIA
effect_desc = "Randomly adjusts the owner's speed."
/obj/item/slimecross/stabilized/cerulean
colour = "cerulean"
colour = SLIME_TYPE_CERULEAN
effect_desc = "Creates a duplicate of the owner. If the owner dies they will take control of the duplicate, unless the death was from beheading or gibbing."
/obj/item/slimecross/stabilized/pyrite
colour = "pyrite"
colour = SLIME_TYPE_PYRITE
effect_desc = "Randomly colors the owner every few seconds."
/obj/item/slimecross/stabilized/red
colour = "red"
colour = SLIME_TYPE_RED
effect_desc = "Nullifies all equipment based slowdowns."
/obj/item/slimecross/stabilized/green
colour = "green"
colour = SLIME_TYPE_GREEN
effect_desc = "Changes the owner's name and appearance while holding this extract."
/obj/item/slimecross/stabilized/pink
colour = "pink"
colour = SLIME_TYPE_PINK
effect_desc = "As long as no creatures are harmed in the owner's presense, they will not attack you. If the peace is broken it takes two minutes to restore."
/obj/item/slimecross/stabilized/gold
colour = "gold"
colour = SLIME_TYPE_GOLD
effect_desc = "Creates a pet when held."
var/mob_type
var/datum/mind/saved_mind
@@ -171,23 +171,23 @@ Stabilized extracts:
START_PROCESSING(SSobj, src)
/obj/item/slimecross/stabilized/oil
colour = "oil"
colour = SLIME_TYPE_OIL
effect_desc = "The owner will violently explode when they die while holding this extract."
/obj/item/slimecross/stabilized/black
colour = "black"
colour = SLIME_TYPE_BLACK
effect_desc = "While strangling someone, the owner's hands melt around their neck, draining their life in exchange for food and healing."
/obj/item/slimecross/stabilized/lightpink
colour = "light pink"
colour = SLIME_TYPE_LIGHT_PINK
effect_desc = "The owner moves at high speeds while holding this extract, also stabilizes anyone in critical condition around you using Epinephrine."
/obj/item/slimecross/stabilized/adamantine
colour = "adamantine"
colour = SLIME_TYPE_ADAMANTINE
effect_desc = "Owner gains a slight boost in damage resistance to all types."
/obj/item/slimecross/stabilized/rainbow
colour = "rainbow"
colour = SLIME_TYPE_RAINBOW
effect_desc = "Accepts a regenerative extract and automatically uses it if the owner enters a critical condition."
var/obj/item/slimecross/regenerative/regencore
@@ -105,7 +105,7 @@
if(SLIME_ACTIVATE_MAJOR)
to_chat(user, span_notice("Your [name] starts pulsing..."))
if(do_after(user, 40, target = user))
var/mob/living/simple_animal/slime/S = new(get_turf(user), "grey")
var/mob/living/simple_animal/slime/S = new(get_turf(user), SLIME_TYPE_GREY)
playsound(user, 'sound/effects/splat.ogg', 50, TRUE)
to_chat(user, span_notice("You spit out [S]."))
return 350
Binary file not shown.

Before

Width:  |  Height:  |  Size: 349 B

After

Width:  |  Height:  |  Size: 349 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 KiB

After

Width:  |  Height:  |  Size: 131 KiB

+3
View File
@@ -355,6 +355,7 @@
#include "code\__DEFINES\dcs\signals\signals_mob\signals_mob_spawner.dm"
#include "code\__DEFINES\research\anomalies.dm"
#include "code\__DEFINES\research\research_categories.dm"
#include "code\__DEFINES\research\slimes.dm"
#include "code\__HELPERS\_auxtools_api.dm"
#include "code\__HELPERS\_lists.dm"
#include "code\__HELPERS\_planes.dm"
@@ -1550,6 +1551,7 @@
#include "code\datums\status_effects\debuffs\screen_blur.dm"
#include "code\datums\status_effects\debuffs\screwy_hud.dm"
#include "code\datums\status_effects\debuffs\silenced.dm"
#include "code\datums\status_effects\debuffs\slimed.dm"
#include "code\datums\status_effects\debuffs\spacer.dm"
#include "code\datums\status_effects\debuffs\speech_debuffs.dm"
#include "code\datums\status_effects\debuffs\strandling.dm"
@@ -1905,6 +1907,7 @@
#include "code\game\objects\effects\particles\fire.dm"
#include "code\game\objects\effects\particles\misc.dm"
#include "code\game\objects\effects\particles\note_particles.dm"
#include "code\game\objects\effects\particles\slime.dm"
#include "code\game\objects\effects\particles\smoke.dm"
#include "code\game\objects\effects\particles\water.dm"
#include "code\game\objects\effects\posters\contraband.dm"