[Ready] Refactors stuns and status effects. (#17579)

* Fixes reviver runtime

* Confusion status effect

* Dizzy status effect

* Drowsiness status effect

* decaying -> transient

* Drunkenness status effect

* why use timer when SSfastprocessing work good

* stuns (mostly)

* weaken and immobalise

* stun/weaken times

* update_flags redundancies.

* Slowed()

* Silence + fixes transient decay

* Jittery

* sleeping

* Paralyze -> weaken

* Cult sluring

* paralyse

* Stammer

* slurring + projectile cleanups

* losebreath

* Hallucination

* forgor this

* eyeblurry

* eye blind

* Druggy

* affected didn't like my spacing

* review pass

* second review pass

* some cleanups

* documentation and signal framework

* confusion fix

* Fixes spec_stun

* rejuv fix

* removes a TODO

* conflicted myself

* fixes

* self review

* review

* removes TODOs

* adminfreeze

* TM fixes

* hallucination fix + others

* tones down alchol and runtime fixes

* confusion overlay suggestion

* more fixes

* runtime fix

* losebreath fix

* clamp => directional bounded sum

* steel review

* oops

Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>

* reduces the dizziness cycle rate

* borg hotfix

* sanctified decursening

Co-authored-by: mochi <1496804+dearmochi@users.noreply.github.com>
Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
This commit is contained in:
Charlie
2022-05-24 16:35:26 +01:00
committed by GitHub
parent b32fb92770
commit 0f7a8707ef
311 changed files with 2268 additions and 2155 deletions

View File

@@ -4,7 +4,7 @@
max_integrity = 300
face_while_pulling = TRUE
var/climbable
var/mob/climber
var/mob/living/climber
var/broken = FALSE
/obj/structure/New()
@@ -94,7 +94,7 @@
if(M.lying) return //No spamming this on people.
M.Weaken(5)
M.Weaken(10 SECONDS)
to_chat(M, "<span class='warning'>You topple as \the [src] moves under you!</span>")
if(prob(25))
@@ -132,15 +132,15 @@
H.UpdateDamageIcon()
return
/obj/structure/proc/can_touch(mob/user)
if(!user)
/obj/structure/proc/can_touch(mob/living/user)
if(!istype(user))
return 0
if(!Adjacent(user))
return 0
if(user.restrained() || user.buckled)
to_chat(user, "<span class='notice'>You need your hands and legs free for this.</span>")
return 0
if(user.stat || user.paralysis || user.sleeping || user.lying || user.IsWeakened())
if(user.stat || user.IsParalyzed() || user.IsSleeping() || user.lying || user.IsWeakened())
return 0
if(issilicon(user))
to_chat(user, "<span class='notice'>You need hands for this.</span>")