Files
Bubberstation/code/datums/status_effects/debuffs/silenced.dm
MrMelbert 79ffefa06d Allows Fully Heal to be passed a series of flags, fixes Adminordrazine being horrible (#71123)
## About The Pull Request

- Fully heal can be passed a series of flags detailing what all is
healed by the proc. This allows for things to provide
almost-but-not-quite fully heals.
- Uses this in Adminordrazine, so that it stops being a pain to update
every time fully heal is updated.

This includes some small balance changes which i'll go over, nothing
extremely noticable.

## Why It's Good For The Game

Allows for more precise control over full heals. 

## Changelog

🆑 Melbert
refactor: Fully heal can be passed a series of flags. As a result, some
things which previously did a full heal might heal slightly less, or
some things which did partial full heals might do slightly more.
fix: Adminordrazine will no longer completely break every facet of a
person
admin: Ahealing a changeling will refill all of their chems.
/🆑
2022-11-17 10:09:00 -08:00

24 lines
662 B
Plaintext

/datum/status_effect/silenced
id = "silent"
alert_type = null
remove_on_fullheal = TRUE
/datum/status_effect/silenced/on_creation(mob/living/new_owner, duration = 10 SECONDS)
src.duration = duration
return ..()
/datum/status_effect/silenced/on_apply()
RegisterSignal(owner, COMSIG_LIVING_DEATH, PROC_REF(clear_silence))
ADD_TRAIT(owner, TRAIT_MUTE, id)
return TRUE
/datum/status_effect/silenced/on_remove()
UnregisterSignal(owner, COMSIG_LIVING_DEATH)
REMOVE_TRAIT(owner, TRAIT_MUTE, id)
/// Signal proc that clears any silence we have (self-deletes).
/datum/status_effect/silenced/proc/clear_silence(mob/living/source)
SIGNAL_HANDLER
qdel(src)