Minor Slime Additions

- Injecting slimes with plasma will increase their chance of mutating,
up to 50%.
- Injecting slimes with inaprovaline will decrease their chance of
mutating, this can reach 0%.
- Injecting a grey slime core with water will produce inaprovaline
inside the core.
- You can feed slimes plasma bars to make them more friendly, this does
NOT work the same way as pink slime extracts, but rather like feeding
them a monkey and punching the monkey to unconsciousness.
- Adds gold slime core + blood reaction, will spawn a mob that plasma +
gold core reactions normally spawn, but the mob will not be hostile.
This does not prevent space bears from becoming VERY pissed off if you
pet them.

All shamelessly ~~open source stolen (thefted?)~~ ported from /tg/.
This commit is contained in:
DZD
2015-01-13 22:24:13 -05:00
parent 54555ec81c
commit 8a03f88923
3 changed files with 83 additions and 4 deletions
@@ -182,7 +182,12 @@
/mob/living/carbon/slime/proc/handle_chemicals_in_body()
if(reagents) reagents.metabolize(src)
if (reagents.get_reagent_amount("plasma")>=5)
mutation_chance = min(mutation_chance + 5,50) //Prevents mutation chance going >50%
reagents.remove_reagent("plasma", 5)
if (reagents.get_reagent_amount("inaprovaline")>=5)
mutation_chance = max(mutation_chance - 5,0) //Prevents muation chance going <0%
reagents.remove_reagent("inaprovaline", 5)
src.updatehealth()
return //TODO: DEFERRED
@@ -534,14 +534,23 @@
return
/mob/living/carbon/slime/attackby(obj/item/W, mob/user)
if(W.force > 0)
if(istype(W,/obj/item/stack/sheet/mineral/plasma)) //Lets you feed slimes plasma.
if (user in Friends)
++Friends[user]
else
Friends[user] = 1
user << "You feed the slime the plasma. It chirps happily."
var/obj/item/stack/sheet/mineral/plasma/S = W
S.use(1)
return
else if(W.force > 0)
attacked += 10
if(prob(25))
user << "<span class='danger'>[W] passes right through [src]!</span>"
return
if(Discipline && prob(50)) // wow, buddy, why am I getting attacked??
Discipline = 0
if(W.force >= 3)
else if(W.force >= 3)
if(is_adult)
if(prob(5 + round(W.force/2)))
if(Victim || Target)
@@ -613,7 +622,7 @@ mob/living/carbon/slime/var/temperature_resistance = T0C+75
Target = null
++Discipline
return
/mob/living/carbon/slime/can_use_vents()
if(Victim)
return "You cannot ventcrawl while feeding."