diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm
index 9e91abdd3e4..ca520ba9289 100644
--- a/code/modules/mob/living/carbon/alien/alien.dm
+++ b/code/modules/mob/living/carbon/alien/alien.dm
@@ -27,7 +27,7 @@
var/heat_protection = 0.5
var/leaping = 0
ventcrawler = 2
-
+
var/list/alien_organs = list()
/mob/living/carbon/alien/New()
@@ -163,8 +163,8 @@
show_stat_emergency_shuttle_eta()
-/mob/living/carbon/alien/SetStunned(amount)
- ..(amount)
+/mob/living/carbon/alien/SetStunned(amount, updating = 1, force = 0)
+ ..()
if(!(status_flags & CANSTUN) && amount)
// add some movement delay
move_delay_add = min(move_delay_add + round(amount / 2), 10) // a maximum delay of 10
diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm
index 60a7e4e2f1a..afbac7f8c49 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm
@@ -108,7 +108,7 @@
sleep(2)//Runtime prevention (infinite bump() calls on hulks)
step_towards(src,L)
else
- weakened = 2
+ Weaken(2, 1, 1)
toggle_leap(0)
pounce_cooldown = !pounce_cooldown
@@ -116,7 +116,7 @@
pounce_cooldown = !pounce_cooldown
else if(A.density && !A.CanPass(src))
visible_message("[src] smashes into [A]!", "[src] smashes into [A]!")
- weakened = 2
+ Weaken(2, 1, 1)
if(leaping)
leaping = 0
diff --git a/code/modules/mob/living/carbon/alien/humanoid/life.dm b/code/modules/mob/living/carbon/alien/humanoid/life.dm
index da93e43c13f..e6a2f6567c2 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/life.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/life.dm
@@ -66,8 +66,8 @@
return 1
//UNCONSCIOUS. NO-ONE IS HOME
- if( (getOxyLoss() > 50) || (config.health_threshold_crit >= health) )
- if( health <= 20 && prob(1) )
+ if((getOxyLoss() > 50) || (config.health_threshold_crit >= health))
+ if(health <= 20 && prob(1))
spawn(0)
emote("gasp")
if(!reagents.has_reagent("epinephrine"))
@@ -75,14 +75,12 @@
Paralyse(3)
if(paralysis)
- AdjustParalysis(-1)
blinded = 1
stat = UNCONSCIOUS
else if(sleeping)
- AdjustSleeping(-1)
blinded = 1
stat = UNCONSCIOUS
- if( prob(10) && health )
+ if(prob(10) && health)
spawn(0)
emote("hiss")
//CONSCIOUS
@@ -110,17 +108,6 @@
else if(ear_damage < 25) //ear damage heals slowly under this threshold. otherwise you'll need earmuffs
AdjustEarDamage(-0.05)
- //Other
- if(stunned)
- AdjustStunned(-1)
- if(!stunned)
- update_icons()
-
- if(weakened)
- weakened = max(weakened-1,0)
- if(!weakened)
- update_icons()
-
if(stuttering)
AdjustStuttering(-1)
diff --git a/code/modules/mob/living/carbon/alien/larva/life.dm b/code/modules/mob/living/carbon/alien/larva/life.dm
index 03cb2096963..447f65c6744 100644
--- a/code/modules/mob/living/carbon/alien/larva/life.dm
+++ b/code/modules/mob/living/carbon/alien/larva/life.dm
@@ -35,11 +35,9 @@
Paralyse(3)
if(paralysis)
- AdjustParalysis(-2)
blinded = 1
stat = UNCONSCIOUS
else if(sleeping)
- AdjustSleeping(-1)
blinded = 1
stat = UNCONSCIOUS
if( prob(10) && health )
@@ -70,13 +68,6 @@
else if(ear_damage < 25) //ear damage heals slowly under this threshold.
AdjustEarDamage(-0.05)
- //Other
- if(stunned)
- AdjustStunned(-1)
-
- if(weakened)
- AdjustWeakened(-1)
-
if(stuttering)
AdjustStuttering(-1)
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 256aa562f72..f62df2ab76b 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -742,7 +742,7 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump,
/mob/living/carbon/resist_fire()
fire_stacks -= 5
- weakened = max(weakened, 3)//We dont check for CANWEAKEN, I don't care how immune to weakening you are, if you're rolling on the ground, you're busy.
+ Weaken(3, 1, 1) //We dont check for CANWEAKEN, I don't care how immune to weakening you are, if you're rolling on the ground, you're busy.
update_canmove()
spin(32,2)
visible_message("[src] rolls on the floor, trying to put themselves out!", \
diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm
index 308025e0204..e7222caa910 100644
--- a/code/modules/mob/living/life.dm
+++ b/code/modules/mob/living/life.dm
@@ -117,14 +117,14 @@
/mob/living/proc/handle_stunned()
if(stunned)
- AdjustStunned(-1)
+ AdjustStunned(-1, updating = 1, force = 1)
if(!stunned)
update_icons()
return stunned
/mob/living/proc/handle_weakened()
if(weakened)
- AdjustWeakened(-1)
+ AdjustWeakened(-1, updating = 1, force = 1)
if(!weakened)
update_icons()
return weakened
@@ -151,7 +151,7 @@
/mob/living/proc/handle_paralysed()
if(paralysis)
- AdjustParalysis(-1)
+ AdjustParalysis(-1, updating = 1, force = 1)
return paralysis
/mob/living/proc/handle_sleeping()
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index dd9e9f7cbd6..6be18445b44 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -320,9 +320,9 @@
setBrainLoss(0)
setStaminaLoss(0)
SetSleeping(0)
- SetParalysis(0)
- SetStunned(0)
- SetWeakened(0)
+ SetParalysis(0, 1, 1)
+ SetStunned(0, 1, 1)
+ SetWeakened(0, 1, 1)
SetSlowed(0)
SetLoseBreath(0)
SetDizzy(0)