diff --git a/code/datums/organs/organ_external.dm b/code/datums/organs/organ_external.dm index 9806f1d0acf..acac9585819 100644 --- a/code/datums/organs/organ_external.dm +++ b/code/datums/organs/organ_external.dm @@ -189,6 +189,8 @@ // internal wounds get worse over time W.open_wound(0.1 * wound_update_accuracy) owner.vessel.remove_reagent("blood",0.07 * W.damage * wound_update_accuracy) + if(prob(1 * wound_update_accuracy)) + owner.custom_pain("You feel a stabbing pain in your [display_name]!",1) if(W.bandaged || W.salved) // slow healing @@ -489,9 +491,11 @@ W = new wound_type(damage) // Possibly trigger an internal wound, too. - if(damage > 10 && prob(damage) && type != BURN) + var/local_damage = brute_dam + burn_dam + damage + if(damage > 10 && type != BURN && local_damage > 20 && prob(damage)) var/datum/wound/internal_bleeding/I = new (15) wounds += I + owner.custom_pain("You feel something rip in your [display_name]!", 1) // check whether we can add the wound to an existing wound for(var/datum/wound/other in wounds) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index b6a31f764e0..161e21d4781 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -187,7 +187,10 @@ var/word = pick("dizzy","woosey","faint") src << "\red You feel extremely [word]" if(0 to 122) - toxloss += 200 + // There currently is a strange bug here. If the mob is not below -100 health + // when death() is called, apparently they will be just fine, and this way it'll + // spam deathgasp. Adjusting toxloss ensures the mob will stay dead. + toxloss += 300 // just to be safe! death() diff --git a/code/setup.dm b/code/setup.dm index f7935d741d5..39a9b4b06fd 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -19,7 +19,7 @@ #define MOLES_PLASMA_VISIBLE 0.7 //Moles in a standard cell after which plasma is visible #define MIN_PLASMA_DAMAGE 20 -#define BREATH_VOLUME 5 //liters in a normal breath +#define BREATH_VOLUME 0.5 //liters in a normal breath #define BREATH_MOLES (ONE_ATMOSPHERE * BREATH_VOLUME /(T20C*R_IDEAL_GAS_EQUATION)) #define BREATH_PERCENTAGE BREATH_MOLES/MOLES_CELLSTANDARD //Amount of air to take a from a tile