diff --git a/code/game/objects/effects/decals/cleanable/humans.dm b/code/game/objects/effects/decals/cleanable/humans.dm index 8861376e07..42aec1582e 100644 --- a/code/game/objects/effects/decals/cleanable/humans.dm +++ b/code/game/objects/effects/decals/cleanable/humans.dm @@ -135,9 +135,10 @@ var/obj/item/clothing/shoes/S = H.shoes if(S && S.bloody_shoes[blood_state]) S.bloody_shoes[blood_state] = max(S.bloody_shoes[blood_state] - BLOOD_LOSS_PER_STEP, 0) - entered_dirs|= H.dir - shoe_types |= H.shoes.type - update_icon() + shoe_types |= S.type + if (!(entered_dirs & H.dir)) + entered_dirs |= H.dir + update_icon() /obj/effect/decal/cleanable/blood/footprints/Uncrossed(atom/movable/O) ..() @@ -146,9 +147,11 @@ var/obj/item/clothing/shoes/S = H.shoes if(S && S.bloody_shoes[blood_state]) S.bloody_shoes[blood_state] = max(S.bloody_shoes[blood_state] - BLOOD_LOSS_PER_STEP, 0) - exited_dirs|= H.dir - shoe_types |= H.shoes.type - update_icon() + shoe_types |= S.type + if (!(exited_dirs & H.dir)) + exited_dirs |= H.dir + update_icon() + /obj/effect/decal/cleanable/blood/footprints/update_icon() cut_overlays()