Animals now leave pawprints in snow.

This commit is contained in:
MistakeNot4892
2022-08-16 19:05:47 +10:00
parent d2088cec86
commit 274b1e518f
7 changed files with 49 additions and 37 deletions
@@ -65,47 +65,38 @@ var/global/list/image/splatter_cache=list()
name = initial(name)
desc = initial(desc)
/obj/effect/decal/cleanable/blood/Crossed(mob/living/carbon/human/perp)
if(perp.is_incorporeal())
return
if (!istype(perp))
return
if(amount < 1)
return
var/obj/item/organ/external/l_foot = perp.get_organ("l_foot")
var/obj/item/organ/external/r_foot = perp.get_organ("r_foot")
/mob/living/carbon/human/walk_through_blood(var/obj/effect/decal/cleanable/blood/blood)
var/obj/item/organ/external/l_foot = get_organ("l_foot")
var/obj/item/organ/external/r_foot = get_organ("r_foot")
var/hasfeet = 1
if((!l_foot || l_foot.is_stump()) && (!r_foot || r_foot.is_stump()))
hasfeet = 0
if(perp.shoes && !perp.buckled)//Adding blood to shoes
var/obj/item/clothing/shoes/S = perp.shoes
if(shoes && !buckled)//Adding blood to shoes
var/obj/item/clothing/shoes/S = shoes
if(istype(S))
S.blood_color = basecolor
S.track_blood = max(amount,S.track_blood)
S.blood_color = blood.basecolor
S.track_blood = max(blood.amount, S.track_blood)
if(!S.blood_overlay)
S.generate_blood_overlay()
if(!S.blood_DNA)
S.blood_DNA = list()
S.blood_overlay.color = basecolor
S.blood_overlay.color = blood.basecolor
S.add_overlay(S.blood_overlay)
if(S.blood_overlay && S.blood_overlay.color != basecolor)
S.blood_overlay.color = basecolor
if(S.blood_overlay && S.blood_overlay.color != blood.basecolor)
S.blood_overlay.color = blood.basecolor
S.add_overlay(S.blood_overlay)
S.blood_DNA |= blood_DNA.Copy()
perp.update_inv_shoes()
S.blood_DNA |= blood.blood_DNA.Copy()
update_inv_shoes()
else if (hasfeet)//Or feet
perp.feet_blood_color = basecolor
perp.track_blood = max(amount,perp.track_blood)
LAZYINITLIST(perp.feet_blood_DNA)
perp.feet_blood_DNA |= blood_DNA.Copy()
perp.update_bloodied()
else if (perp.buckled && istype(perp.buckled, /obj/structure/bed/chair/wheelchair))
var/obj/structure/bed/chair/wheelchair/W = perp.buckled
..()
if(istype(buckled, /obj/structure/bed/chair/wheelchair))
var/obj/structure/bed/chair/wheelchair/W = buckled
W.bloodiness = 4
amount--
/obj/effect/decal/cleanable/blood/Crossed(mob/living/perp)
if(istype(perp) && amount >= 1 && !perp.is_incorporeal() && perp.walk_through_blood(src))
amount--
..()
/obj/effect/decal/cleanable/blood/proc/dry()
name = dryname