Added arbitrarily coloured blood decals.

This commit is contained in:
Zuhayr
2013-12-26 10:29:42 +10:30
parent 8b6da7ec62
commit 5b6ec6cd12
2 changed files with 27 additions and 4 deletions
@@ -1,15 +1,16 @@
#define DRYING_TIME 5 * 60*10 //for 1 unit of depth in puddle (amount var)
var/global/list/image/splatter_cache=list()
/obj/effect/decal/cleanable/blood
name = "blood"
desc = "It's red and gooey. Perhaps it's the chef's cooking?"
desc = "It's thick and gooey. Perhaps it's the chef's cooking?"
gender = PLURAL
density = 0
anchored = 1
layer = 2
icon = 'icons/effects/blood.dmi'
icon_state = "floor1"
random_icon_states = list("floor1", "floor2", "floor3", "floor4", "floor5", "floor6", "floor7")
random_icon_states = list("mfloor1", "mfloor2", "mfloor3", "mfloor4", "mfloor5", "mfloor6", "mfloor7")
var/list/viruses = list()
blood_DNA = list()
var/basecolor="#A10808" // Color when wet.
@@ -37,6 +38,18 @@
spawn(DRYING_TIME * (amount+1))
dry()
/obj/effect/decal/cleanable/blood/update_icon()
var/cache_key="[basecolor]|[icon_state]"
var/icon/I=null
if(cache_key in splatter_cache)
I = splatter_cache[cache_key]
else
I = new /icon('icons/effects/blood.dmi', icon_state=icon_state)
I.SwapColor("#000000",basecolor);
splatter_cache[cache_key]=I
icon = I
/obj/effect/decal/cleanable/blood/HasEntered(mob/living/carbon/human/perp)
if (!istype(perp))
return
@@ -91,7 +104,7 @@
layer = 2
icon = 'icons/effects/blood.dmi'
icon_state = "gibbl5"
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6")
random_icon_states = list("mgib1", "mgib2", "mgib3", "mgib4", "mgib5", "mgib6")
/obj/effect/decal/cleanable/blood/gibs/up
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibup1","gibup1","gibup1")
+10
View File
@@ -143,8 +143,12 @@
//Species-specific blood.
if(M.species)
newblood.basecolor = M.species.blood_color
else
newblood.basecolor = "#A10808"
newblood.blood_DNA[M.dna.unique_enzymes] = M.dna.b_type
newblood.update_icon()
return 1 //we bloodied the floor
@@ -154,14 +158,20 @@
var/obj/effect/decal/cleanable/blood/this = new /obj/effect/decal/cleanable/blood(src)
this.blood_DNA[M.dna.unique_enzymes] = M.dna.b_type
this.basecolor = "#A10808"
this.update_icon()
else if(istype(M,/mob/living/carbon/human))
var/obj/effect/decal/cleanable/blood/this = new /obj/effect/decal/cleanable/blood(src)
var/mob/living/carbon/human/H = M
//Species-specific blood.
if(H.species)
this.basecolor = H.species.blood_color
else
this.basecolor = "#A10808"
this.update_icon()
this.blood_DNA[M.dna.unique_enzymes] = M.dna.b_type