Added bloody footprints.

This commit is contained in:
Chinsky
2013-06-01 14:30:05 +04:00
parent 89fff29db1
commit 3bbb250749
4 changed files with 72 additions and 5 deletions
@@ -27,15 +27,40 @@
if(src.loc && isturf(src.loc))
for(var/obj/effect/decal/cleanable/blood/B in src.loc)
if(B != src)
if (B.blood_DNA)
blood_DNA |= B.blood_DNA.Copy()
del(B)
spawn(DRYING_TIME * (amount+1))
dry()
/obj/effect/decal/cleanable/blood/HasEntered(mob/living/carbon/human/perp)
if (!istype(perp))
return
if(amount < 1)
return
if(perp.shoes)
perp.shoes:track_blood = max(amount,perp.shoes:track_blood) //Adding blood to shoes
if(!perp.shoes.blood_overlay)
perp.shoes.generate_blood_overlay()
if(!perp.shoes.blood_DNA)
perp.shoes.blood_DNA = list()
perp.shoes.overlays += perp.shoes.blood_overlay
perp.update_inv_shoes(1)
perp.shoes.blood_DNA |= blood_DNA.Copy()
else
perp.track_blood = max(amount,perp.track_blood) //Or feet
if(!perp.feet_blood_DNA)
perp.feet_blood_DNA = list()
perp.feet_blood_DNA |= blood_DNA.Copy()
amount--
/obj/effect/decal/cleanable/blood/proc/dry()
name = "dried [src]"
desc = "It's dark red and crusty. Someone is not doing their job."
var/icon/I = icon(icon,icon_state)
I.SetIntensity(0.5)
I.SetIntensity(0.7)
icon = I
amount = 0
@@ -43,11 +68,20 @@
random_icon_states = list("gibbl1", "gibbl2", "gibbl3", "gibbl4", "gibbl5")
amount = 2
/obj/effect/decal/cleanable/blood/footprints
name = "bloody footprints"
desc = "Whoops..."
icon='icons/effects/footprints.dmi'
icon_state = "blood1"
amount = 0
random_icon_states = null
/obj/effect/decal/cleanable/blood/tracks
icon_state = "tracks"
desc = "They look like tracks left by wheels."
gender = PLURAL
random_icon_states = null
amount = 0
/obj/effect/decal/cleanable/blood/drip
name = "drips of blood"
@@ -55,6 +89,7 @@
gender = PLURAL
icon = 'drip.dmi'
icon_state = "1"
amount = 0
/obj/effect/decal/cleanable/blood/gibs
name = "gibs"
+25
View File
@@ -34,6 +34,31 @@
else
playsound(src, "clownstep", 20, 1)
var/list/bloodDNA = null
if(H.shoes)
var/obj/item/clothing/shoes/S = H.shoes
if(S.track_blood && S.blood_DNA)
bloodDNA = S.blood_DNA
S.track_blood--
else
if(H.track_blood && H.feet_blood_DNA)
bloodDNA = H.feet_blood_DNA
H.track_blood--
if (bloodDNA)
var/obj/effect/decal/cleanable/blood/footprints/here = new(src)
here.icon_state = "blood1"
here.dir = H.dir
here.blood_DNA |= bloodDNA.Copy()
var/turf/simulated/from = get_step(H,reverse_direction(H.dir))
if(from)
var/obj/effect/decal/cleanable/blood/footprints/there = new(from)
there.icon_state = "blood2"
there.dir = H.dir
there.blood_DNA |= bloodDNA.Copy()
bloodDNA = null
switch (src.wet)
if(1)
if(istype(M, /mob/living/carbon/human)) // Added check since monkeys don't have shoes
@@ -1,15 +1,16 @@
/mob
var/bloody_hands = 0
var/mob/living/carbon/human/bloody_hands_mob
var/track_blood
var/mob/living/carbon/human/track_blood_mob
var/track_blood = 0
var/list/feet_blood_DNA
var/track_blood_type
/obj/item/clothing/gloves
var/transfer_blood = 0
var/mob/living/carbon/human/bloody_hands_mob
/obj/item/clothing/shoes/
var/track_blood = 0
/obj/item/weapon/reagent_containers/glass/rag
name = "damp rag"
@@ -1095,4 +1095,10 @@
return 0 //already bloodied with this blood. Cannot add more.
blood_DNA[M.dna.unique_enzymes] = M.dna.b_type
src.update_inv_gloves() //handles bloody hands overlays and updating
return 1 //we applied blood to the item
return 1 //we applied blood to the item
/mob/living/carbon/human/clean_blood()
.=..()
if(istype(feet_blood_DNA, /list) && feet_blood_DNA.len)
del(feet_blood_DNA)
return 1