From ff6c2767b8a9f6ddf3d8f6cdb63da12d2d995a70 Mon Sep 17 00:00:00 2001 From: Nanai Date: Tue, 29 Oct 2013 01:02:35 -0400 Subject: [PATCH] Paincrit rebalance. Adjusted all of the damage types, particularly burn, to more reasonable levels while buffing halloss. Made paincrit incredibly less blackscreen and replaced it with weaken procs in order to make it a bit more roleplay friendly. Increased shock levels will now also affect your aim. --- code/modules/mob/living/carbon/human/life.dm | 25 ++++++++++++++------ code/modules/mob/living/carbon/shock.dm | 12 +++++----- code/modules/projectiles/gun.dm | 7 ++++++ 3 files changed, 31 insertions(+), 13 deletions(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 19d00be700..a94b0472ef 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1433,7 +1433,7 @@ else if(health < config.health_threshold_softcrit) shock_stage = max(shock_stage, 61) else - shock_stage = min(shock_stage, 100) + shock_stage = min(shock_stage, 160) shock_stage = max(shock_stage-1, 0) return @@ -1450,15 +1450,26 @@ if (shock_stage >= 60) if(shock_stage == 60) emote("me",1,"'s body becomes limp.") + 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) if (prob(5)) - Stun(20) - lying = 1 + 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 >= 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 > 80) - Paralyse(rand(15,28)) + if(shock_stage == 150) + emote("me",1,"can no longer stand, collapsing!") + Weaken(20) + + if(shock_stage >= 150) + Weaken(20) 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 fd2356be26..0c1ba44207 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 7bcfecfa46..fc75298280 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -136,6 +136,13 @@ in_chamber.current = curloc in_chamber.yo = targloc.y - curloc.y in_chamber.xo = targloc.x - curloc.x + if(istype(user, /mob/living/carbon)) + if(user:shock_stage > 120) + in_chamber.yo += rand(-2,2) + in_chamber.xo += rand(-2,2) + else if(user:shock_stage > 70) + in_chamber.yo += rand(-1,1) + in_chamber.xo += rand(-1,1) if(params) var/list/mouse_control = params2list(params)