mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2025-12-31 12:41:46 +00:00
[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:
@@ -1131,9 +1131,12 @@
|
||||
M.update_icons()
|
||||
|
||||
//so they black out before warping
|
||||
M.Paralyse(5)
|
||||
if(isliving(M))
|
||||
var/mob/living/L = M
|
||||
L.Paralyse(10 SECONDS)
|
||||
sleep(5)
|
||||
if(!M) return
|
||||
if(!M)
|
||||
return
|
||||
|
||||
M.loc = prison_cell
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
@@ -1257,7 +1260,9 @@
|
||||
I.plane = initial(I.plane)
|
||||
I.dropped(M)
|
||||
|
||||
M.Paralyse(5)
|
||||
if(isliving(M))
|
||||
var/mob/living/L = M
|
||||
L.Paralyse(10 SECONDS)
|
||||
sleep(5)
|
||||
M.loc = pick(GLOB.tdome1)
|
||||
spawn(50)
|
||||
@@ -1287,7 +1292,9 @@
|
||||
I.plane = initial(I.plane)
|
||||
I.dropped(M)
|
||||
|
||||
M.Paralyse(5)
|
||||
if(isliving(M))
|
||||
var/mob/living/L = M
|
||||
L.Paralyse(10 SECONDS)
|
||||
sleep(5)
|
||||
M.loc = pick(GLOB.tdome2)
|
||||
spawn(50)
|
||||
@@ -1309,7 +1316,9 @@
|
||||
to_chat(usr, "<span class='warning'>This cannot be used on instances of type /mob/living/silicon/ai</span>")
|
||||
return
|
||||
|
||||
M.Paralyse(5)
|
||||
if(isliving(M))
|
||||
var/mob/living/L = M
|
||||
L.Paralyse(10 SECONDS)
|
||||
sleep(5)
|
||||
M.loc = pick(GLOB.tdomeadmin)
|
||||
spawn(50)
|
||||
@@ -1343,7 +1352,9 @@
|
||||
var/mob/living/carbon/human/observer = M
|
||||
observer.equip_to_slot_or_del(new /obj/item/clothing/under/suit_jacket(observer), slot_w_uniform)
|
||||
observer.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(observer), slot_shoes)
|
||||
M.Paralyse(5)
|
||||
if(isliving(M))
|
||||
var/mob/living/L = M
|
||||
L.Paralyse(10 SECONDS)
|
||||
sleep(5)
|
||||
M.loc = pick(GLOB.tdomeobserve)
|
||||
spawn(50)
|
||||
@@ -1436,7 +1447,9 @@
|
||||
to_chat(usr, "<span class='warning'>This cannot be used on instances of type /mob/living/silicon/ai</span>")
|
||||
return
|
||||
|
||||
M.Paralyse(5)
|
||||
if(isliving(M))
|
||||
var/mob/living/L = M
|
||||
L.Paralyse(10 SECONDS)
|
||||
sleep(5)
|
||||
M.loc = pick(GLOB.aroomwarp)
|
||||
spawn(50)
|
||||
@@ -1771,9 +1784,8 @@
|
||||
M.gib()
|
||||
else
|
||||
M.adjustBruteLoss(min(99,(M.health - 1)))
|
||||
M.Stun(20)
|
||||
M.Weaken(20)
|
||||
M.Stuttering(20)
|
||||
M.Weaken(40 SECONDS)
|
||||
M.Stuttering(40 SECONDS)
|
||||
|
||||
else if(href_list["CentcommReply"])
|
||||
if(!check_rights(R_ADMIN))
|
||||
@@ -2011,7 +2023,7 @@
|
||||
M.electrocute_act(5, "Lightning Bolt", flags = SHOCK_NOGLOVES)
|
||||
playsound(get_turf(M), 'sound/magic/lightningshock.ogg', 50, 1, -1)
|
||||
M.adjustFireLoss(75)
|
||||
M.Weaken(5)
|
||||
M.Weaken(10 SECONDS)
|
||||
to_chat(M, "<span class='userdanger'>The gods have punished you for your sins!</span>")
|
||||
logmsg = "a lightning bolt."
|
||||
if("Fire Death")
|
||||
@@ -2038,7 +2050,7 @@
|
||||
organ.insert(H)
|
||||
logmsg = "a honk tumor."
|
||||
if("Hallucinate")
|
||||
H.Hallucinate(1000)
|
||||
H.Hallucinate(1000 SECONDS)
|
||||
logmsg = "hallucinations."
|
||||
if("Cold")
|
||||
H.reagents.add_reagent("frostoil", 40)
|
||||
@@ -2821,7 +2833,7 @@
|
||||
|
||||
//don't warp them if they aren't ready or are already there
|
||||
continue
|
||||
H.Paralyse(5)
|
||||
H.Paralyse(10 SECONDS)
|
||||
if(H.wear_id)
|
||||
var/obj/item/card/id/id = H.get_idcard()
|
||||
for(var/A in id.access)
|
||||
|
||||
@@ -43,8 +43,8 @@ GLOBAL_LIST_EMPTY(frozen_atom_list) // A list of admin-frozen atoms.
|
||||
|
||||
anchored = TRUE
|
||||
canmove = FALSE
|
||||
admin_prev_sleeping = sleeping
|
||||
AdjustSleeping(20000)
|
||||
admin_prev_sleeping = AmountSleeping()
|
||||
PermaSleeping()
|
||||
frozen = AO
|
||||
|
||||
else
|
||||
@@ -56,7 +56,7 @@ GLOBAL_LIST_EMPTY(frozen_atom_list) // A list of admin-frozen atoms.
|
||||
anchored = FALSE
|
||||
canmove = TRUE
|
||||
frozen = null
|
||||
SetSleeping(admin_prev_sleeping)
|
||||
SetSleeping(admin_prev_sleeping, TRUE)
|
||||
admin_prev_sleeping = null
|
||||
|
||||
to_chat(src, "<b><font color= red>You have been [frozen ? "frozen" : "unfrozen"] by [admin]</b></font>")
|
||||
|
||||
@@ -31,7 +31,9 @@
|
||||
for(var/obj/item/W in M)
|
||||
M.unEquip(W)
|
||||
//teleport person to cell
|
||||
M.Paralyse(5)
|
||||
if(isliving(M))
|
||||
var/mob/living/L = M
|
||||
L.Paralyse(10 SECONDS)
|
||||
sleep(5) //so they black out before warping
|
||||
M.loc = pick(GLOB.prisonwarp)
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
|
||||
Reference in New Issue
Block a user