From c0e4b5bdc92340d811d10ae815dbca1f074a90b8 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Sat, 5 Nov 2016 00:46:07 -0400 Subject: [PATCH] Fixes Xeno Stuns --- code/modules/mob/living/carbon/alien/alien.dm | 6 +++--- .../carbon/alien/humanoid/caste/hunter.dm | 4 ++-- .../mob/living/carbon/alien/humanoid/life.dm | 19 +++---------------- .../mob/living/carbon/alien/larva/life.dm | 9 --------- code/modules/mob/living/carbon/carbon.dm | 2 +- code/modules/mob/living/life.dm | 6 +++--- code/modules/mob/living/living.dm | 6 +++--- 7 files changed, 15 insertions(+), 37 deletions(-) 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)