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
+2
View File
@@ -1428,6 +1428,8 @@
// Update icons if this is being carried by a mob
/obj/item/wash(clean_types)
. = ..()
if(!.) // we don't need mob updates when the item was already clean
return
if(ismob(loc))
var/mob/mob_loc = loc
mob_loc.update_clothing(slot_flags)