mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-25 05:51:56 +01:00
Being thrown, or leaping, over blood/oil decals do not dirty your feet/shoes anymore (#17306)
* asfsasfd * I hate tabulations * Whitespace Fix --------- Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
This commit is contained in:
@@ -89,41 +89,50 @@
|
||||
var/hasfeet = 1
|
||||
if((!l_foot || l_foot.is_stump()) && (!r_foot || r_foot.is_stump()))
|
||||
hasfeet = 0
|
||||
if(perp.shoes && !perp.buckled_to)//Adding blood to shoes
|
||||
var/obj/item/clothing/shoes/S = perp.shoes
|
||||
if(istype(S))
|
||||
if(S.item_flags & LIGHTSTEP)
|
||||
return
|
||||
S.blood_color = basecolor
|
||||
S.track_footprint = max(amount, S.track_footprint)
|
||||
if(!S.blood_overlay)
|
||||
S.generate_blood_overlay()
|
||||
if(!S.blood_DNA)
|
||||
S.blood_DNA = list()
|
||||
S.blood_overlay.color = basecolor
|
||||
S.add_overlay(S.blood_overlay)
|
||||
if(S.blood_overlay && S.blood_overlay.color != basecolor)
|
||||
S.cut_overlay(S.blood_overlay, TRUE)
|
||||
S.blood_overlay.color = basecolor
|
||||
S.add_overlay(S.blood_overlay, TRUE)
|
||||
|
||||
//If thrown (or leap manouvering), the mob is considered flying, so don't dirt its shoes
|
||||
if(!perp.throwing)
|
||||
|
||||
if(perp.shoes && !perp.buckled_to)//Adding blood to shoes
|
||||
var/obj/item/clothing/shoes/S = perp.shoes
|
||||
if(istype(S))
|
||||
if(S.item_flags & LIGHTSTEP)
|
||||
return
|
||||
S.blood_color = basecolor
|
||||
S.track_footprint = max(amount, S.track_footprint)
|
||||
if(!S.blood_overlay)
|
||||
S.generate_blood_overlay()
|
||||
if(!S.blood_DNA)
|
||||
S.blood_DNA = list()
|
||||
S.blood_overlay.color = basecolor
|
||||
S.add_overlay(S.blood_overlay)
|
||||
if(S.blood_overlay && S.blood_overlay.color != basecolor)
|
||||
S.cut_overlay(S.blood_overlay, TRUE)
|
||||
S.blood_overlay.color = basecolor
|
||||
S.add_overlay(S.blood_overlay, TRUE)
|
||||
if(blood_DNA)
|
||||
S.blood_DNA |= blood_DNA.Copy()
|
||||
|
||||
else if(hasfeet) //Or feet
|
||||
perp.footprint_color = basecolor
|
||||
perp.track_footprint = max(amount,perp.track_footprint)
|
||||
LAZYINITLIST(perp.feet_blood_DNA)
|
||||
if(blood_DNA)
|
||||
S.blood_DNA |= blood_DNA.Copy()
|
||||
perp.feet_blood_DNA |= blood_DNA.Copy()
|
||||
else if(perp.buckled_to && istype(perp.buckled_to, /obj/structure/bed/stool/chair/office/wheelchair))
|
||||
var/obj/structure/bed/stool/chair/office/wheelchair/W = perp.buckled_to
|
||||
W.bloodiness = 4
|
||||
|
||||
else if (hasfeet)//Or feet
|
||||
perp.footprint_color = basecolor
|
||||
perp.track_footprint = max(amount,perp.track_footprint)
|
||||
LAZYINITLIST(perp.feet_blood_DNA)
|
||||
if (blood_DNA)
|
||||
perp.feet_blood_DNA |= blood_DNA.Copy()
|
||||
else if (perp.buckled_to && istype(perp.buckled_to, /obj/structure/bed/stool/chair/office/wheelchair))
|
||||
var/obj/structure/bed/stool/chair/office/wheelchair/W = perp.buckled_to
|
||||
W.bloodiness = 4
|
||||
perp.update_inv_shoes(1)
|
||||
amount--
|
||||
|
||||
perp.update_inv_shoes(1)
|
||||
amount--
|
||||
//Point and laugh
|
||||
if(amount > 2 && prob(perp.slip_chance(perp.m_intent == M_RUN ? 20 : 5)))
|
||||
perp.slip(src, 4)
|
||||
|
||||
if(perp.throwing)
|
||||
amount--
|
||||
|
||||
/obj/effect/decal/cleanable/blood/attack_hand(mob/living/carbon/human/user)
|
||||
..()
|
||||
if(dries && world.time > (bleed_time + drytime))
|
||||
|
||||
Reference in New Issue
Block a user