mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-28 07:38:05 +01:00
[MIRROR] Healium is too powerful we need to nerf it! (#908)
* Healium is too powerful we need to nerf it! (#53766) Healium was too stronk, nerfed it to behave like a good gas. Added coughing and euphoria mood if breathed in small quantities to alert the player. Sleep if it is 3 moles in the air for 3 to 5 seconds Sleep you if is more than 6 moles and it heals you while knocked down. Lowered the amount of healing done Edit: It doesnt knock you out, it makes you sleep now, since the knockdown effect was so strong that people wouldn't wake up * Healium is too powerful we need to nerf it! Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
This commit is contained in:
@@ -116,6 +116,7 @@
|
||||
id = "sleeping"
|
||||
alert_type = /obj/screen/alert/status_effect/asleep
|
||||
needs_update_stat = TRUE
|
||||
tick_interval = 2 SECONDS
|
||||
var/mob/living/carbon/carbon_owner
|
||||
var/mob/living/carbon/human/human_owner
|
||||
|
||||
@@ -136,12 +137,31 @@
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
ADD_TRAIT(owner, TRAIT_KNOCKEDOUT, TRAIT_STATUS_EFFECT(id))
|
||||
if(!HAS_TRAIT(owner, TRAIT_SLEEPIMMUNE))
|
||||
ADD_TRAIT(owner, TRAIT_KNOCKEDOUT, TRAIT_STATUS_EFFECT(id))
|
||||
tick_interval = -1
|
||||
RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_SLEEPIMMUNE), .proc/on_owner_insomniac)
|
||||
RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_SLEEPIMMUNE), .proc/on_owner_sleepy)
|
||||
|
||||
/datum/status_effect/incapacitating/sleeping/on_remove()
|
||||
REMOVE_TRAIT(owner, TRAIT_KNOCKEDOUT, TRAIT_STATUS_EFFECT(id))
|
||||
UnregisterSignal(owner, list(SIGNAL_ADDTRAIT(TRAIT_SLEEPIMMUNE), SIGNAL_REMOVETRAIT(TRAIT_SLEEPIMMUNE)))
|
||||
if(!HAS_TRAIT(owner, TRAIT_SLEEPIMMUNE))
|
||||
REMOVE_TRAIT(owner, TRAIT_KNOCKEDOUT, TRAIT_STATUS_EFFECT(id))
|
||||
tick_interval = initial(tick_interval)
|
||||
return ..()
|
||||
|
||||
///If the mob is sleeping and gain the TRAIT_SLEEPIMMUNE we remove the TRAIT_KNOCKEDOUT and stop the tick() from happening
|
||||
/datum/status_effect/incapacitating/sleeping/proc/on_owner_insomniac(mob/living/source)
|
||||
SIGNAL_HANDLER
|
||||
REMOVE_TRAIT(owner, TRAIT_KNOCKEDOUT, TRAIT_STATUS_EFFECT(id))
|
||||
tick_interval = -1
|
||||
|
||||
///If the mob has the TRAIT_SLEEPIMMUNE but somehow looses it we make him sleep and restart the tick()
|
||||
/datum/status_effect/incapacitating/sleeping/proc/on_owner_sleepy(mob/living/source)
|
||||
SIGNAL_HANDLER
|
||||
ADD_TRAIT(owner, TRAIT_KNOCKEDOUT, TRAIT_STATUS_EFFECT(id))
|
||||
tick_interval = initial(tick_interval)
|
||||
|
||||
/datum/status_effect/incapacitating/sleeping/tick()
|
||||
if(owner.maxHealth)
|
||||
var/health_ratio = owner.health / owner.maxHealth
|
||||
|
||||
Reference in New Issue
Block a user