Files
CHOMPStation2/code/datums/components/disabilities/coughing.dm
2025-08-09 14:18:49 -04:00

31 lines
732 B
Plaintext

/datum/component/coughing_disability
var/mob/living/owner
var/cough_chance = 5
/datum/component/coughing_disability/Initialize()
if (!isliving(parent))
return COMPONENT_INCOMPATIBLE
owner = parent
RegisterSignal(owner, COMSIG_HANDLE_DISABILITIES, PROC_REF(process_component))
/datum/component/coughing_disability/proc/process_component()
SIGNAL_HANDLER
if (QDELETED(parent))
return
if(isbelly(owner.loc))
return
if(owner.stat != CONSCIOUS)
return
if(owner.transforming)
return
if((prob(cough_chance) && owner.paralysis <= 1))
owner.drop_item()
owner.emote("cough")
/datum/component/coughing_disability/Destroy(force = FALSE)
UnregisterSignal(owner, COMSIG_HANDLE_DISABILITIES)
owner = null
. = ..()