diff --git a/code/modules/organs/external/external.dm b/code/modules/organs/external/external.dm index 2c498aea62a..81d1ab71b41 100644 --- a/code/modules/organs/external/external.dm +++ b/code/modules/organs/external/external.dm @@ -399,7 +399,10 @@ else if(!(damage_mode & DAMAGE_MODE_NO_OVERFLOW)) var/overflow_brute = brute - can_inflict_brute // keep allowing it, but, diminishing returns - var/damage_anyways_brute = brute * min(1, 1 / ((brute_dam + damage_softcap_intensifier) / (damage_softcap_intensifier + max_damage))) + var/damage_anyways_brute = !(damage_mode & DAMAGE_MODE_NO_OVERFLOW) && ( \ + overflow_brute * min(1, 1 / ((max(brute_dam, max_damage) + damage_softcap_intensifier) / (damage_softcap_intensifier + max_damage))) \ + ) + overflow_brute -= damage_anyways_brute if(can_cut) if(sharp && !edge) create_wound( PIERCE, damage_anyways_brute ) @@ -413,11 +416,13 @@ var/can_inflict_burn = max(0, max_damage - burn_dam) if(can_inflict_burn >= burn) create_wound( BURN, burn ) - else if(!(damage_mode & DAMAGE_MODE_NO_OVERFLOW)) + else var/overflow_burn = burn - can_inflict_burn - // keep allowing it, but, diminishing returns - var/damage_anyways_burn = burn * min(1, 1 / ((burn_dam + damage_softcap_intensifier) / (damage_softcap_intensifier + max_damage))) - create_wound( BURN, damage_anyways_burn ) + var/damage_anyways_burn = !(damage_mode & DAMAGE_MODE_NO_OVERFLOW) && ( \ + overflow_burn * min(1, 1 / ((max(burn_dam, max_damage) + damage_softcap_intensifier) / (damage_softcap_intensifier + max_damage))) \ + ) + overflow_burn -= damage_anyways_burn + create_wound(BURN, damage_anyways_burn + can_inflict_burn) // rest goes into shock owner.shock_stage += overflow_burn * 0.33 diff --git a/code/modules/organs/external/species/slime.dm b/code/modules/organs/external/species/slime.dm index a4ad1b4c5f0..17b437c8bc9 100644 --- a/code/modules/organs/external/species/slime.dm +++ b/code/modules/organs/external/species/slime.dm @@ -1,61 +1,61 @@ /obj/item/organ/external/chest/unbreakable/slime nonsolid = 1 - max_damage = 50 + max_damage = 200 encased = 0 spread_dam = 1 transparent = 1 /obj/item/organ/external/groin/unbreakable/slime nonsolid = 1 - max_damage = 30 + max_damage = 75 spread_dam = 1 transparent = 1 /obj/item/organ/external/arm/unbreakable/slime nonsolid = 1 - max_damage = 20 + max_damage = 35 spread_dam = 1 transparent = 1 /obj/item/organ/external/arm/right/unbreakable/slime nonsolid = 1 - max_damage = 20 + max_damage = 35 spread_dam = 1 transparent = 1 /obj/item/organ/external/leg/unbreakable/slime nonsolid = 1 - max_damage = 20 + max_damage = 35 spread_dam = 1 transparent = 1 /obj/item/organ/external/leg/right/unbreakable/slime nonsolid = 1 - max_damage = 20 + max_damage = 35 spread_dam = 1 transparent = 1 /obj/item/organ/external/foot/unbreakable/slime nonsolid = 1 - max_damage = 20 + max_damage = 35 spread_dam = 1 transparent = 1 /obj/item/organ/external/foot/right/unbreakable/slime nonsolid = 1 - max_damage = 20 + max_damage = 35 spread_dam = 1 transparent = 1 /obj/item/organ/external/hand/unbreakable/slime nonsolid = 1 - max_damage = 20 + max_damage = 35 spread_dam = 1 transparent = 1 /obj/item/organ/external/hand/right/unbreakable/slime nonsolid = 1 - max_damage = 20 + max_damage = 35 spread_dam = 1 transparent = 1 @@ -63,7 +63,7 @@ nonsolid = 1 cannot_gib = 0 vital = 0 - max_damage = 30 + max_damage = 35 encased = 0 spread_dam = 1 transparent = 1 diff --git a/code/modules/species/promethean/promethean.dm b/code/modules/species/promethean/promethean.dm index fa199a27a6e..96870277798 100644 --- a/code/modules/species/promethean/promethean.dm +++ b/code/modules/species/promethean/promethean.dm @@ -58,12 +58,11 @@ var/datum/species/shapeshifter/promethean/prometheans max_age = 80 - gluttonous = 0 virus_immune = TRUE slowdown = -0.2 - brute_mod = 0.5 - burn_mod = 2 + brute_mod = 0.9 + burn_mod = 1.1 oxy_mod = 0 flash_mod = 0.5 //No centralized, lensed eyes. item_slowdown_mod = 0.66