Reducing overall lethality and nerfing lasers a bit. (#9691)

This commit is contained in:
Matt Atlas
2020-08-19 10:22:44 +02:00
committed by GitHub
parent 201e0fb694
commit 574ba1eb9b
9 changed files with 62 additions and 30 deletions
+4 -5
View File
@@ -122,7 +122,6 @@
var/damprob
//Effects of bloodloss
switch(blood_volume)
if(BLOOD_VOLUME_SAFE to INFINITY)
if(can_heal)
damage = max(damage-1, 0)
@@ -130,20 +129,20 @@
if(prob(1))
to_chat(owner, "<span class='warning'>You feel [pick("dizzy","woozy","faint")]...</span>")
damprob = owner.chem_effects[CE_STABLE] ? 30 : 60
if(!past_damage_threshold(4) && prob(damprob))
if(!past_damage_threshold(2) && prob(damprob))
take_internal_damage(1)
if(BLOOD_VOLUME_BAD to BLOOD_VOLUME_OKAY)
owner.eye_blurry = max(owner.eye_blurry,6)
damprob = owner.chem_effects[CE_STABLE] ? 40 : 80
if(!past_damage_threshold(6) && prob(damprob))
take_internal_damage(2)
if(!past_damage_threshold(4) && prob(damprob))
take_internal_damage(1)
if(!owner.paralysis && prob(10))
owner.Paralyse(rand(1,3))
to_chat(owner, "<span class='warning'>You feel extremely [pick("dizzy","woozy","faint")]...</span>")
if(BLOOD_VOLUME_SURVIVE to BLOOD_VOLUME_BAD)
owner.eye_blurry = max(owner.eye_blurry,6)
damprob = owner.chem_effects[CE_STABLE] ? 60 : 100
if(!past_damage_threshold(8) && prob(damprob))
if(!past_damage_threshold(6) && prob(damprob))
take_internal_damage(1)
if(!owner.paralysis && prob(15))
owner.Paralyse(rand(3, 5))
+2 -1
View File
@@ -174,7 +174,8 @@
blood_max *= 0.8
if(world.time >= next_blood_squirt && istype(owner.loc, /turf) && do_spray.len)
owner.visible_message("<span class='danger'>Blood squirts from \the [owner]'s [pick(do_spray)]!</span>", "<span class='danger'><font size=3>Blood is squirting out of your [pick(do_spray)]!</font></span>")
owner.visible_message("<span class='danger'>Blood squirts from \the [owner]'s [pick(do_spray)]!</span>", \
"<span class='danger'><font size=3>Blood sprays out of your [pick(do_spray)]!</font></span>")
owner.eye_blurry = 2
owner.Stun(1)
next_blood_squirt = world.time + 100
+2 -2
View File
@@ -9,11 +9,11 @@
parent_organ = BP_CHEST
robotic_name = "gas exchange system"
robotic_sprite = "lungs-prosthetic"
min_bruised_damage = 25
min_bruised_damage = 30
min_broken_damage = 45
toxin_type = CE_PNEUMOTOXIC
max_damage = 70
max_damage = 80
relative_size = 60
var/breathing = 0
+5 -4
View File
@@ -325,7 +325,10 @@
var/laser = (damage_flags & DAM_LASER)
var/sharp = (damage_flags & DAM_SHARP)
if(laser || BP_IS_ROBOTIC(src))
if(laser)
return FALSE
if(BP_IS_ROBOTIC(src))
damage_amt += burn
cur_damage += burn_dam
@@ -335,8 +338,6 @@
var/organ_damage_threshold = 10
if(sharp)
organ_damage_threshold *= 0.5
if(laser)
organ_damage_threshold *= 2
if(!(cur_damage + damage_amt >= max_damage) && !(damage_amt >= organ_damage_threshold))
return FALSE
@@ -360,7 +361,7 @@
organ_hit_chance = min(organ_hit_chance, 100)
if(prob(organ_hit_chance))
var/obj/item/organ/internal/victim = pickweight(victims)
damage_amt -= max(damage_amt*victim.damage_reduction, 0)
damage_amt = max(damage_amt*victim.damage_reduction, 0)
victim.take_internal_damage(damage_amt)
return TRUE