Audits wash/cleaning signals + refactors wash() to ensure no needless mob updates occur (#91259)

## About The Pull Request

This has the potential to create a lot of needless mob updates which is
not great. Now should only update a mob's clothing if it was actually
washed.

This PR

1) ensures that all wash() procs return a bitflag.
2) ensures that `wash()` proccalls which result in expensive operations
like icon updates only do so when it is necessary

## Why It's Good For The Game

Updating mob sprites is expensive, and doing it when nothing has been
changed is bad.

## Changelog

Nothing really player facing
This commit is contained in:
Bloop
2025-06-02 18:54:53 +00:00
committed by GitHub
parent 300087a3aa
commit 2bae025bfe
48 changed files with 156 additions and 79 deletions
@@ -61,9 +61,9 @@
/obj/effect/decal/cleanable/wash(clean_types)
. = ..()
if (. || (clean_types & clean_type))
if (. || clean_types & clean_type)
qdel(src)
return TRUE
. |= COMPONENT_CLEANED|COMPONENT_CLEANED_GAIN_XP
/obj/effect/decal/cleanable/proc/handle_merge_decal(obj/effect/decal/cleanable/merger)
if (!reagents && !decal_reagent)