diff --git a/code/modules/mob/living/carbon/breathe.dm b/code/modules/mob/living/carbon/breathe.dm index d11043ebf77..c14e6350831 100644 --- a/code/modules/mob/living/carbon/breathe.dm +++ b/code/modules/mob/living/carbon/breathe.dm @@ -13,10 +13,10 @@ //First, check if we can breathe at all if(health < config.health_threshold_crit && !(CE_STABLE in chem_effects)) //crit aka circulatory shock - losebreath++ + AdjustLosebreath(1) if(losebreath>0) //Suffocating so do not take a breath - losebreath-- + AdjustLosebreath(-1) if (prob(10)) //Gasp per 10 ticks? Sounds about right. spawn emote("gasp") else diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 6063526c897..ceb06bf3893 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -860,6 +860,12 @@ resting = max(resting + amount,0) return +/mob/proc/AdjustLosebreath(amount) + losebreath = Clamp(0, losebreath + amount, 25) + +/mob/proc/SetLosebreath(amount) + losebreath = Clamp(0, amount, 25) + /mob/proc/get_species() return "" diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index 890ff2e8732..492ec9cb05a 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -277,7 +277,7 @@ msg_admin_attack("[key_name(assailant)] strangled (kill intent) [key_name(affecting)]") affecting.setClickCooldown(10) - affecting.losebreath += 1 + affecting.AdjustLosebreath(1) affecting.set_dir(WEST) adjust_position() diff --git a/code/modules/organs/internal/lungs.dm b/code/modules/organs/internal/lungs.dm index c00d5df7a83..c42167f1311 100644 --- a/code/modules/organs/internal/lungs.dm +++ b/code/modules/organs/internal/lungs.dm @@ -19,7 +19,7 @@ owner.drip(10) if(prob(8)) spawn owner.emote("me", 1, "gasps for air!") - owner.losebreath += 15 + owner.AdjustLosebreath(15) /obj/item/organ/internal/lungs/proc/rupture() var/obj/item/organ/external/parent = owner.get_organ(parent_organ) diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm index d61ace5b17f..aced9105d7a 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm @@ -356,11 +356,11 @@ if(alien == IS_SKRELL) M.take_organ_damage(2.4 * removed, 0) if(M.losebreath < 10) - M.losebreath++ + M.AdjustLosebreath(1) else M.take_organ_damage(3 * removed, 0) if(M.losebreath < 15) - M.losebreath++ + M.AdjustLosebreath(1) /datum/reagent/mutagen name = "Unstable mutagen" @@ -524,7 +524,7 @@ /datum/reagent/chloralhydrate/overdose(var/mob/living/carbon/M, var/alien, var/removed) ..() - M.losebreath = (min(M.losebreath + 1, 10)) + M.SetLosebreath(10) M.adjustOxyLoss(removed * overdose_mod) /datum/reagent/chloralhydrate/beer2 //disguised as normal beer for use by emagged brobots diff --git a/code/modules/surgery/face.dm b/code/modules/surgery/face.dm index a0ad788bdd9..f9c6a6b2855 100644 --- a/code/modules/surgery/face.dm +++ b/code/modules/surgery/face.dm @@ -43,7 +43,7 @@ user.visible_message("[user]'s hand slips, slicing [target]'s throat wth \the [tool]!" , \ "Your hand slips, slicing [target]'s throat wth \the [tool]!" ) affected.createwound(CUT, 60) - target.losebreath += 10 + target.AdjustLosebreath(10) /datum/surgery_step/face/mend_vocal allowed_tools = list( @@ -71,7 +71,7 @@ fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) user.visible_message("[user]'s hand slips, clamping [target]'s trachea shut for a moment with \the [tool]!", \ "Your hand slips, clamping [user]'s trachea shut for a moment with \the [tool]!") - target.losebreath += 10 + target.AdjustLosebreath(10) /datum/surgery_step/face/fix_face allowed_tools = list( diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index 9dc0f658361..562cc8e380b 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -120,7 +120,7 @@ if(I.organ_tag == O_EYES) target.sdisabilities &= ~BLIND if(I.organ_tag == O_LUNGS) - target.losebreath = 0 + target.SetLosebreath(0) fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)