Makes slimes have slime jelly for blood (#14665)

* Makes slimes have slime jelly for blood, reduces the healing and toxin effects of slime jelly

* Slime jelly is a diffrent colour so it does not look like blood, slime jelly iv bag added, said bag is now found in nanomed plus

* Makes slimes bleed in c o l o u r, makes iron affect exotic blood species.

* Makes slime blood always the same colour as skin, fixing dye and CMA issues

* Fixes iron mistake

* Fix henk stuff

Adds EXOTIC_COLOR trait, used if you want exotic blood to be coloured when splattering, in this case slime blood. Removes uneeded blood data stuff

* Update toxins.dm

* Fixes the black blood issue

By B-B-BLENDING the slime colour with a medium grey, it helps match the blood colour to the true colour of the slime way better, meaning that a default slime that looks grey (but techicaly has pitch black skin codewise) will have grey blood.

* Update code/modules/reagents/chemistry/reagents/toxins.dm

Co-authored-by: farie82 <joepvelden@hotmail.com>

* Update code/modules/mob/living/carbon/human/species/slime.dm

Co-authored-by: farie82 <joepvelden@hotmail.com>

* Update code/modules/reagents/chemistry/reagents/toxins.dm

Co-authored-by: farie82 <joepvelden@hotmail.com>

* Update code/modules/reagents/chemistry/reagents/toxins.dm

Co-authored-by: farie82 <joepvelden@hotmail.com>

* Signals for henk, fixes henks worries, less processing

* Fixes runtime

* Update code/modules/mob/living/carbon/human/species/slime.dm

Co-authored-by: farie82 <joepvelden@hotmail.com>

* Update code/modules/surgery/organs/blood.dm

Co-authored-by: farie82 <joepvelden@hotmail.com>

* Update code/modules/surgery/organs/blood.dm

Co-authored-by: farie82 <joepvelden@hotmail.com>

* Update code/modules/mob/living/carbon/human/species/slime.dm

Co-authored-by: farie82 <joepvelden@hotmail.com>

* Update code/modules/mob/living/carbon/human/species/slime.dm

Co-authored-by: farie82 <joepvelden@hotmail.com>

Co-authored-by: farie82 <joepvelden@hotmail.com>
This commit is contained in:
Qwertytoforty
2020-10-31 17:49:55 -04:00
committed by GitHub
co-authored by farie82
parent ee664a866f
commit e3ee0b01e8
12 changed files with 70 additions and 11 deletions
+1 -1
View File
@@ -579,7 +579,7 @@
continue
R.reaction_mob(A, method, R.volume * volume_modifier, show_message)
if("TURF")
R.reaction_turf(A, R.volume * volume_modifier)
R.reaction_turf(A, R.volume * volume_modifier, R.color)
if("OBJ")
R.reaction_obj(A, R.volume * volume_modifier)
+1 -1
View File
@@ -62,7 +62,7 @@
/datum/reagent/proc/reaction_obj(obj/O, volume)
return
/datum/reagent/proc/reaction_turf(turf/T, volume)
/datum/reagent/proc/reaction_turf(turf/T, volume, color)
return
/datum/reagent/proc/on_mob_life(mob/living/M)
@@ -164,7 +164,7 @@
/datum/reagent/iron/on_mob_life(mob/living/M)
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(!H.dna.species.exotic_blood && !(NO_BLOOD in H.dna.species.species_traits))
if(!(NO_BLOOD in H.dna.species.species_traits))
if(H.blood_volume < BLOOD_VOLUME_NORMAL)
H.blood_volume += 0.8
return ..()
@@ -43,7 +43,7 @@
id = "slimejelly"
description = "A gooey semi-liquid produced from one of the deadliest lifeforms in existence. SO REAL."
reagent_state = LIQUID
color = "#801E28" // rgb: 128, 30, 40
color = "#0b8f70" // rgb: 11, 143, 112
taste_description = "slimes"
taste_mult = 1.3
@@ -51,11 +51,23 @@
var/update_flags = STATUS_UPDATE_NONE
if(prob(10))
to_chat(M, "<span class='danger'>Your insides are burning!</span>")
update_flags |= M.adjustToxLoss(rand(20,60)*REAGENTS_EFFECT_MULTIPLIER, FALSE)
update_flags |= M.adjustToxLoss(rand(2, 6) * REAGENTS_EFFECT_MULTIPLIER, FALSE) // avg 0.4 toxin per cycle, not unreasonable
else if(prob(40))
update_flags |= M.adjustBruteLoss(-5*REAGENTS_EFFECT_MULTIPLIER, FALSE)
update_flags |= M.adjustBruteLoss(-0.5 * REAGENTS_EFFECT_MULTIPLIER, FALSE)
return ..() | update_flags
/datum/reagent/slimejelly/on_merge(list/mix_data)
if(data && mix_data)
if(mix_data["colour"])
color = mix_data["colour"]
/datum/reagent/slimejelly/reaction_turf(turf/T, volume, color)
if(volume >= 3 && !isspaceturf(T) && !locate(/obj/effect/decal/cleanable/blood/slime) in T)
var/obj/effect/decal/cleanable/blood/slime/B = new(T)
B.basecolor = color
B.update_icon()
/datum/reagent/slimetoxin
name = "Mutation Toxin"
id = "mutationtoxin"
@@ -200,3 +200,7 @@
/obj/item/reagent_containers/iv_bag/blood/OMinus
blood_type = "O-"
/obj/item/reagent_containers/iv_bag/slime
name = "\improper IV Bag (Slime Jelly)"
list_reagents = list("slimejelly" = 200)