From 81d393d20b95976e32d48eda8d5736fa1945cf2b Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Thu, 31 Oct 2013 04:07:57 -0400 Subject: [PATCH] Bug fixes and paincrit balances --- code/modules/mob/living/carbon/human/life.dm | 32 ++++++++++++++------ code/modules/mob/living/carbon/shock.dm | 12 ++++---- code/modules/projectiles/gun.dm | 9 ++++++ code/modules/surgery/headreattach.dm | 6 ++-- 4 files changed, 40 insertions(+), 19 deletions(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index c56551c0e02..db38edf07d9 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1278,6 +1278,7 @@ else see_invisible = SEE_INVISIBLE_LIVING else if(!seer) + see_in_dark = species.darksight see_invisible = SEE_INVISIBLE_LIVING if(healths) @@ -1478,7 +1479,7 @@ if(traumatic_shock >= 80) shock_stage += 1 else - shock_stage = min(shock_stage, 100) + shock_stage = min(shock_stage, 160) shock_stage = max(shock_stage-1, 0) return @@ -1493,17 +1494,28 @@ if(shock_stage == 40) src << ""+pick("The pain is excrutiating!", "Please, just end the pain!", "Your whole body is going numb!") - if (shock_stage >= 60) - if(shock_stage == 60) emote("me",1,"'s body becomes limp.") - if (prob(5) && health <= 20) - Stun(20) - lying = 1 + if(shock_stage >=60) + if (prob(2)) + src << ""+pick("The pain is excrutiating!", "Please, just end the pain!", "Your whole body is going numb!") + Weaken(20) - if(shock_stage == 80) - src << ""+pick("You see a light at the end of the tunnel!", "You feel like you could die any moment now.", "You're about to lose consciousness.") + if(shock_stage >= 80) + if (prob(5)) + src << ""+pick("The pain is excrutiating!", "Please, just end the pain!", "Your whole body is going numb!") + Weaken(20) + + if(shock_stage >= 120) + if (prob(2)) + src << ""+pick("You black out!", "You feel like you could die any moment now.", "You're about to lose consciousness.") + Paralyse(5) + + if(shock_stage == 150) + emote("me",1,"can no longer stand, collapsing!") + Weaken(20) + + if(shock_stage >= 150) + Weaken(20) - if (shock_stage > 100 && health <= 20) - Paralyse(rand(15,28)) proc/handle_pulse() if(life_tick % 5) return pulse //update pulse every 5 life ticks (~1 tick/sec, depending on server load) diff --git a/code/modules/mob/living/carbon/shock.dm b/code/modules/mob/living/carbon/shock.dm index fd2356be26d..447f27fa1c8 100644 --- a/code/modules/mob/living/carbon/shock.dm +++ b/code/modules/mob/living/carbon/shock.dm @@ -5,11 +5,11 @@ /mob/living/carbon/proc/updateshock() src.traumatic_shock = \ 1 * src.getOxyLoss() + \ - 0.5 * src.getToxLoss() + \ - 2.5 * src.getFireLoss() + \ - 1.5 * src.getBruteLoss() + \ - 2 * src.getCloneLoss() + \ - 1 * src.halloss + 0.7 * src.getToxLoss() + \ + 1.5 * src.getFireLoss() + \ + 1.2 * src.getBruteLoss() + \ + 1.7 * src.getCloneLoss() + \ + 2 * src.halloss if(reagents.has_reagent("alkysine")) src.traumatic_shock -= 10 @@ -35,7 +35,7 @@ else if(organ.status & ORGAN_BROKEN || organ.open) src.traumatic_shock += 30 if(organ.status & ORGAN_SPLINTED) - src.traumatic_shock -= 20 + src.traumatic_shock -= 25 if(src.traumatic_shock < 0) src.traumatic_shock = 0 diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 16e4431da0d..2afec0d1f9d 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -134,6 +134,15 @@ in_chamber.current = curloc in_chamber.yo = targloc.y - curloc.y in_chamber.xo = targloc.x - curloc.x + if(istype(user, /mob/living/carbon)) + var/mob/living/carbon/mob = user + if(mob.shock_stage > 120) + in_chamber.yo += rand(-2,2) + in_chamber.xo += rand(-2,2) + else if(mob.shock_stage > 70) + in_chamber.yo += rand(-1,1) + in_chamber.xo += rand(-1,1) + if(params) var/list/mouse_control = params2list(params) diff --git a/code/modules/surgery/headreattach.dm b/code/modules/surgery/headreattach.dm index 0a05d8ceda4..543ebedf9ff 100644 --- a/code/modules/surgery/headreattach.dm +++ b/code/modules/surgery/headreattach.dm @@ -174,12 +174,12 @@ affected.status = 0 affected.amputated = 0 affected.destspawn = 0 - var/obj/item/weapon/organ/head/B = tool - B.brainmob.mind.transfer_to(target) target.update_body() target.updatehealth() target.UpdateDamageIcon() - del(tool) + var/obj/item/weapon/organ/head/B = tool + B.brainmob.mind.transfer_to(target) + del(B) fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone)