mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 20:48:56 +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:
@@ -21,7 +21,7 @@
|
||||
amount *= (rand(125, 130) * 0.01)
|
||||
return ..()
|
||||
|
||||
/mob/living/carbon/human/Sleeping(amount, updating = 1, ignore_canstun = 0)
|
||||
/mob/living/carbon/human/Sleeping(amount, updating = 1)
|
||||
if(HAS_TRAIT(src, TRAIT_HEAVY_SLEEPER))
|
||||
amount *= (rand(125, 130) * 0.01)
|
||||
return ..()
|
||||
|
||||
@@ -291,7 +291,8 @@
|
||||
/////////////////////////////////// SLEEPING ////////////////////////////////////
|
||||
|
||||
/mob/living/proc/IsSleeping() //If we're asleep
|
||||
return has_status_effect(STATUS_EFFECT_SLEEPING)
|
||||
if(!HAS_TRAIT(src, TRAIT_SLEEPIMMUNE))
|
||||
return has_status_effect(STATUS_EFFECT_SLEEPING)
|
||||
|
||||
/mob/living/proc/AmountSleeping() //How many deciseconds remain in our sleep
|
||||
var/datum/status_effect/incapacitating/sleeping/S = IsSleeping()
|
||||
@@ -299,41 +300,49 @@
|
||||
return S.duration - world.time
|
||||
return 0
|
||||
|
||||
/mob/living/proc/Sleeping(amount, updating = TRUE, ignore_canstun = FALSE) //Can't go below remaining duration
|
||||
if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_SLEEP, amount, updating, ignore_canstun) & COMPONENT_NO_STUN)
|
||||
/mob/living/proc/Sleeping(amount, updating = TRUE) //Can't go below remaining duration
|
||||
if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_SLEEP, amount, updating) & COMPONENT_NO_STUN)
|
||||
return
|
||||
if((!HAS_TRAIT(src, TRAIT_SLEEPIMMUNE)) || ignore_canstun)
|
||||
var/datum/status_effect/incapacitating/sleeping/S = IsSleeping()
|
||||
if(S)
|
||||
S.duration = max(world.time + amount, S.duration)
|
||||
else if(amount > 0)
|
||||
S = apply_status_effect(STATUS_EFFECT_SLEEPING, amount, updating)
|
||||
return S
|
||||
var/datum/status_effect/incapacitating/sleeping/S = IsSleeping()
|
||||
if(S)
|
||||
S.duration = max(world.time + amount, S.duration)
|
||||
else if(amount > 0)
|
||||
S = apply_status_effect(STATUS_EFFECT_SLEEPING, amount, updating)
|
||||
return S
|
||||
|
||||
/mob/living/proc/SetSleeping(amount, updating = TRUE, ignore_canstun = FALSE) //Sets remaining duration
|
||||
if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_SLEEP, amount, updating, ignore_canstun) & COMPONENT_NO_STUN)
|
||||
/mob/living/proc/SetSleeping(amount, updating = TRUE) //Sets remaining duration
|
||||
if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_SLEEP, amount, updating) & COMPONENT_NO_STUN)
|
||||
return
|
||||
if((!HAS_TRAIT(src, TRAIT_SLEEPIMMUNE)) || ignore_canstun)
|
||||
var/datum/status_effect/incapacitating/sleeping/S = IsSleeping()
|
||||
if(amount <= 0)
|
||||
if(S)
|
||||
qdel(S)
|
||||
else if(S)
|
||||
S.duration = world.time + amount
|
||||
else
|
||||
S = apply_status_effect(STATUS_EFFECT_SLEEPING, amount, updating)
|
||||
return S
|
||||
|
||||
/mob/living/proc/AdjustSleeping(amount, updating = TRUE, ignore_canstun = FALSE) //Adds to remaining duration
|
||||
if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_SLEEP, amount, updating, ignore_canstun) & COMPONENT_NO_STUN)
|
||||
return
|
||||
if((!HAS_TRAIT(src, TRAIT_SLEEPIMMUNE)) || ignore_canstun)
|
||||
var/datum/status_effect/incapacitating/sleeping/S = IsSleeping()
|
||||
var/datum/status_effect/incapacitating/sleeping/S = IsSleeping()
|
||||
if(amount <= 0)
|
||||
if(S)
|
||||
S.duration += amount
|
||||
else if(amount > 0)
|
||||
S = apply_status_effect(STATUS_EFFECT_SLEEPING, amount, updating)
|
||||
return S
|
||||
qdel(S)
|
||||
else if(S)
|
||||
S.duration = world.time + amount
|
||||
else
|
||||
S = apply_status_effect(STATUS_EFFECT_SLEEPING, amount, updating)
|
||||
return S
|
||||
|
||||
/mob/living/proc/AdjustSleeping(amount, updating = TRUE) //Adds to remaining duration
|
||||
if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_SLEEP, amount, updating) & COMPONENT_NO_STUN)
|
||||
return
|
||||
var/datum/status_effect/incapacitating/sleeping/S = IsSleeping()
|
||||
if(S)
|
||||
S.duration += amount
|
||||
else if(amount > 0)
|
||||
S = apply_status_effect(STATUS_EFFECT_SLEEPING, amount, updating)
|
||||
return S
|
||||
|
||||
///Allows us to set a permanent sleep on a player (use with caution and remember to unset it with SetSleeping() after the effect is over)
|
||||
/mob/living/proc/PermaSleeping(updating = TRUE)
|
||||
if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_SLEEP, -1, updating) & COMPONENT_NO_STUN)
|
||||
return
|
||||
var/datum/status_effect/incapacitating/sleeping/S = IsSleeping()
|
||||
if(S)
|
||||
S.duration = -1
|
||||
else
|
||||
S = apply_status_effect(STATUS_EFFECT_SLEEPING, -1, updating)
|
||||
return S
|
||||
|
||||
///////////////////////////////// FROZEN /////////////////////////////////////
|
||||
|
||||
|
||||
@@ -135,7 +135,7 @@
|
||||
O.Immobilize(AmountImmobilized(), ignore_canstun = TRUE)
|
||||
O.Paralyze(AmountParalyzed(), ignore_canstun = TRUE)
|
||||
O.Unconscious(AmountUnconscious(), ignore_canstun = TRUE)
|
||||
O.Sleeping(AmountSleeping(), ignore_canstun = TRUE)
|
||||
O.Sleeping(AmountSleeping())
|
||||
|
||||
//transfer reagents
|
||||
if(tr_flags & TR_KEEPREAGENTS)
|
||||
@@ -314,7 +314,7 @@
|
||||
O.Immobilize(AmountImmobilized(), ignore_canstun = TRUE)
|
||||
O.Paralyze(AmountParalyzed(), ignore_canstun = TRUE)
|
||||
O.Unconscious(AmountUnconscious(), ignore_canstun = TRUE)
|
||||
O.Sleeping(AmountSleeping(), ignore_canstun = TRUE)
|
||||
O.Sleeping(AmountSleeping())
|
||||
|
||||
//transfer reagents
|
||||
if(tr_flags & TR_KEEPREAGENTS)
|
||||
|
||||
Reference in New Issue
Block a user