Files
CHOMPStation2/code/datums/components/resize_guard.dm
2024-12-08 15:57:55 +01:00

21 lines
631 B
Plaintext

/datum/component/resize_guard
/datum/component/resize_guard/Initialize()
if(!isliving(parent))
return COMPONENT_INCOMPATIBLE
/datum/component/resize_guard/RegisterWithParent()
// When our parent mob enters any atom, we check resize
RegisterSignal(parent, COMSIG_ATOM_ENTERING, PROC_REF(check_resize))
/datum/component/resize_guard/UnregisterFromParent()
UnregisterSignal(parent, COMSIG_ATOM_ENTERING)
/datum/component/resize_guard/proc/check_resize()
var/area/A = get_area(parent)
if(A?.flag_check(AREA_ALLOW_LARGE_SIZE))
return
var/mob/living/L = parent
L.resize(L.size_multiplier, ignore_prefs = TRUE)
qdel(src)