Mob Destroy Refactoring (#22573)

Refactoring the entire destroy proc path from Mob Human all the way down
to Atom while trying to find the causes for the damn mob human hard
deletes. This PR comprehensively reorganizes every single stray
snowflake var used by /atom/ all the way to /mob/living/carbon/human,
and makes sure that every var that COULD store a reference, is now
cleared during the entirety of the Mob Destroy() parent hierarchy.

This may very well be the end of the lag war. 

In total, I've hunted down and cleared 39 hanging references between
/atom and /mob/living/carbon/human

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
This commit is contained in:
VMSolidus
2026-06-03 15:15:56 +00:00
committed by GitHub
parent 7799ea7355
commit 201592f6bd
58 changed files with 383 additions and 345 deletions
-11
View File
@@ -27,17 +27,6 @@
#define langchat_client_enabled(M) (M && M.client && M.client.prefs && (M.client.prefs.toggles_secondary & FLOATING_MESSAGES))
/*
* Duplicate vars and logic created for untranslated images for the sake of getting an untranslated langchat to display for listeners who do not understand
* the language being spoken. Someone could certainly think of cleaner ways to do this, but for want of a better solution right now, it has been implemented
* in this rote manner to make it easier to strip out in future if it needs replaced.
*/
/atom/var/image/langchat_image
/atom/var/image/langchat_image_untranslated
/atom/var/list/mob/langchat_listeners
/atom/var/list/mob/langchat_listeners_untranslated
/// Hides the images, if they exist. Do not null the langchat images; they are rotated when the mob is buckled or proned to maintain text orientation.
/atom/proc/langchat_drop_images()
if(langchat_listeners)