mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-05 06:21:57 +00:00
## 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. /🆑
24 lines
662 B
Plaintext
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)
|