Merge pull request #6436 from Cameron653/Boot_Fix

Fixed an issue with multiple boot/shoe overlays.
This commit is contained in:
Atermonera
2019-09-07 19:10:20 -08:00
committed by GitHub
4 changed files with 13 additions and 8 deletions
+2 -1
View File
@@ -388,7 +388,8 @@
blood_DNA = list()
was_bloodied = 1
blood_color = "#A10808"
if(!blood_color)
blood_color = "#A10808"
if(istype(M))
if (!istype(M.dna, /datum/dna))
M.dna = new /datum/dna(null)
@@ -53,7 +53,7 @@ var/global/list/image/splatter_cache=list()
blood_DNA |= B.blood_DNA.Copy()
qdel(B)
drytime = world.time + DRYING_TIME * (amount+1)
START_PROCESSING(SSobj, src)
START_PROCESSING(SSobj, src)
/obj/effect/decal/cleanable/blood/process()
if(world.time > drytime)
@@ -93,7 +93,6 @@ var/global/list/image/splatter_cache=list()
S.overlays += S.blood_overlay
if(S.blood_overlay && S.blood_overlay.color != basecolor)
S.blood_overlay.color = basecolor
S.overlays.Cut()
S.overlays += S.blood_overlay
S.blood_DNA |= blood_DNA.Copy()
perp.update_inv_shoes()
+4 -4
View File
@@ -581,10 +581,9 @@ var/list/global/slot_flags_enumeration = list(
if( !blood_overlay )
generate_blood_overlay()
//apply the blood-splatter overlay if it isn't already in there
if(!blood_DNA.len)
blood_overlay.color = blood_color
overlays += blood_overlay
//Make the blood_overlay have the proper color then apply it.
blood_overlay.color = blood_color
overlays += blood_overlay
//if this blood isn't already in the list, add it
if(istype(M))
@@ -593,6 +592,7 @@ var/list/global/slot_flags_enumeration = list(
blood_DNA[M.dna.unique_enzymes] = M.dna.b_type
return 1 //we applied blood to the item
/obj/item/proc/generate_blood_overlay()
if(blood_overlay)
return
+6 -1
View File
@@ -513,6 +513,7 @@
if(usr.put_in_hands(holding))
usr.visible_message("<span class='danger'>\The [usr] pulls a knife out of their boot!</span>")
holding = null
overlays -= image(icon, "[icon_state]_knife")
else
usr << "<span class='warning'>Your need an empty, unbroken hand to do that.</span>"
holding.forceMove(src)
@@ -557,9 +558,13 @@
update_icon()
/obj/item/clothing/shoes/update_icon()
overlays.Cut()
overlays.Cut() //This removes all the overlays on the sprite and then goes down a checklist adding them as required.
if(blood_DNA)
add_blood()
if(holding)
overlays += image(icon, "[icon_state]_knife")
if(contaminated)
overlays += contamination_overlay
if(ismob(usr))
var/mob/M = usr
M.update_inv_shoes()