diff --git a/code/game/gamemodes/changeling/powers/revive.dm b/code/game/gamemodes/changeling/powers/revive.dm
index 6150da027ca..1bb19749ac1 100644
--- a/code/game/gamemodes/changeling/powers/revive.dm
+++ b/code/game/gamemodes/changeling/powers/revive.dm
@@ -19,8 +19,7 @@
user.radiation = 0
user.eye_blind = 0
user.eye_blurry = 0
- user.ear_deaf = 0
- user.ear_damage = 0
+ user.setEarDamage(0,0)
user.heal_overall_damage(user.getBruteLoss(), user.getFireLoss())
user.reagents.clear_reagents()
user.germ_level = 0
diff --git a/code/game/gamemodes/changeling/powers/shriek.dm b/code/game/gamemodes/changeling/powers/shriek.dm
index 745d84507d7..7babc2a5a62 100644
--- a/code/game/gamemodes/changeling/powers/shriek.dm
+++ b/code/game/gamemodes/changeling/powers/shriek.dm
@@ -11,8 +11,7 @@
for(var/mob/living/M in get_mobs_in_view(4, user))
if(iscarbon(M))
if(!M.mind || !M.mind.changeling)
- M.ear_deaf = max(0, M.ear_deaf + 30)
- M.ear_damage = max(0, M.ear_damage)
+ M.adjustEarDamage(0, 30)
M.confused += 20
M.Jitter(50)
else
diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm
index 3f24e090ed0..7ad1e33b747 100644
--- a/code/game/gamemodes/cult/runes.dm
+++ b/code/game/gamemodes/cult/runes.dm
@@ -840,7 +840,7 @@ var/list/sacrificed = list()
var/obj/item/weapon/nullrod/N = locate() in C
if(N)
continue
- C.ear_deaf += 50
+ C.adjustEarDamage(0,50)
C.show_message("\red The world around you suddenly becomes quiet.", 3)
affected++
if(prob(1))
@@ -859,7 +859,7 @@ var/list/sacrificed = list()
var/obj/item/weapon/nullrod/N = locate() in C
if(N)
continue
- C.ear_deaf += 30
+ C.adjustEarDamage(0,30)
//talismans is weaker.
C.show_message("\red The world around you suddenly becomes quiet.", 3)
affected++
diff --git a/code/game/gamemodes/shadowling/shadowling_abilities.dm b/code/game/gamemodes/shadowling/shadowling_abilities.dm
index f91b9fa1aee..c4e88ea12b8 100644
--- a/code/game/gamemodes/shadowling/shadowling_abilities.dm
+++ b/code/game/gamemodes/shadowling/shadowling_abilities.dm
@@ -557,7 +557,7 @@
var/mob/living/carbon/M = target
to_chat(M, "A spike of pain drives into your head and scrambles your thoughts!")
M.confused += 10
- M.ear_damage += 3
+ M.setEarDamage(M.ear_damage + 3)
else if(issilicon(target))
var/mob/living/silicon/S = target
to_chat(S, "ERROR $!(@ ERROR )#^! SENSORY OVERLOAD \[$(!@#")
diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm
index 64309ef8f5e..f33bda2ed3a 100644
--- a/code/game/gamemodes/vampire/vampire_powers.dm
+++ b/code/game/gamemodes/vampire/vampire_powers.dm
@@ -259,7 +259,7 @@
continue
to_chat(C, "You hear a ear piercing shriek and your senses dull!")
C.Weaken(4)
- C.ear_deaf = 20
+ C.adjustEarDamage(0,20)
C.stuttering = 20
C.Stun(4)
C.Jitter(150)
diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm
index edbec8843e6..3f33d84b978 100644
--- a/code/game/gamemodes/wizard/artefact.dm
+++ b/code/game/gamemodes/wizard/artefact.dm
@@ -778,7 +778,7 @@ var/global/list/multiverse = list()
else if(istype(I,/obj/item/weapon/bikehorn))
to_chat(target, "HONK")
target << 'sound/items/AirHorn.ogg'
- target.ear_damage += rand(0,3)
+ target.adjustEarDamage(0,3)
GiveHint(target)
cooldown = world.time +cooldown_time
return
diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm
index 22850e63f48..6660692ce62 100644
--- a/code/game/mecha/equipment/weapons/weapons.dm
+++ b/code/game/mecha/equipment/weapons/weapons.dm
@@ -166,7 +166,7 @@
to_chat(M, "HONK")
M.sleeping = 0
M.stuttering = 20
- M.ear_deaf = 30
+ M.adjustEarDamage(0,30)
M.Weaken(3)
if(prob(30))
M.Stun(10)
diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm
index cf060b7d02a..9562f9442c7 100644
--- a/code/game/objects/items/weapons/grenades/flashbang.dm
+++ b/code/game/objects/items/weapons/grenades/flashbang.dm
@@ -51,8 +51,7 @@
if(!ear_safety)
M.Stun(max(10/distance, 3))
M.Weaken(max(10/distance, 3))
- M.ear_damage += rand(0, 5)
- M.ear_deaf = max(M.ear_deaf,15)
+ M.setEarDamage(M.ear_damage + rand(0, 5), max(M.ear_deaf,15))
if(M.ear_damage >= 15)
to_chat(M, "Your ears start to ring badly!")
if(prob(M.ear_damage - 10 + 5))
diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
index 9996c3eeb89..9f47fc9910c 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
@@ -96,15 +96,13 @@
f_loss += 60
- ear_damage += 30
- ear_deaf += 120
+ adjustEarDamage(30, 120)
if(3.0)
b_loss += 30
if(prob(50) && !shielded)
Paralyse(1)
- ear_damage += 15
- ear_deaf += 60
+ adjustEarDamage(15,60)
adjustBruteLoss(b_loss)
adjustFireLoss(f_loss)
diff --git a/code/modules/mob/living/carbon/alien/humanoid/life.dm b/code/modules/mob/living/carbon/alien/humanoid/life.dm
index 565f8b7e2e1..4cccb6e57ed 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/life.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/life.dm
@@ -105,11 +105,11 @@
//Ears
if(disabilities & DEAF) //disabled-deaf, doesn't get better on its own
- ear_deaf = max(ear_deaf, 1)
+ setEarDamage(-1, max(ear_deaf, 1))
else if(ear_deaf) //deafness, heals slowly over time
- ear_deaf = max(ear_deaf-1, 0)
+ adjustEarDamage(0,-1)
else if(ear_damage < 25) //ear damage heals slowly under this threshold. otherwise you'll need earmuffs
- ear_damage = max(ear_damage-0.05, 0)
+ adjustEarDamage(-0.05, 0)
//Other
if(stunned)
diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm
index c8bd8765a97..19f3368ce96 100644
--- a/code/modules/mob/living/carbon/alien/larva/larva.dm
+++ b/code/modules/mob/living/carbon/alien/larva/larva.dm
@@ -87,15 +87,13 @@
f_loss += 60
- ear_damage += 30
- ear_deaf += 120
+ adjustEarDamage(30,120)
if(3.0)
b_loss += 30
if(prob(50))
Paralyse(1)
- ear_damage += 15
- ear_deaf += 60
+ adjustEarDamage(15,60)
adjustBruteLoss(b_loss)
adjustFireLoss(f_loss)
diff --git a/code/modules/mob/living/carbon/alien/larva/life.dm b/code/modules/mob/living/carbon/alien/larva/life.dm
index 8ddca5b89b7..76ceef6ad2e 100644
--- a/code/modules/mob/living/carbon/alien/larva/life.dm
+++ b/code/modules/mob/living/carbon/alien/larva/life.dm
@@ -64,11 +64,11 @@
//Ears
if(disabilities & DEAF) //disabled-deaf, doesn't get better on its own
- ear_deaf = max(ear_deaf, 1)
+ setEarDamage(-1, max(ear_deaf, 1))
else if(ear_deaf) //deafness, heals slowly over time
- ear_deaf = max(ear_deaf-1, 0)
+ adjustEarDamage(0,-1)
else if(ear_damage < 25) //ear damage heals slowly under this threshold.
- ear_damage = max(ear_damage-0.05, 0)
+ adjustEarDamage(-0.05,0)
//Other
if(stunned)
diff --git a/code/modules/mob/living/carbon/brain/brain_item.dm b/code/modules/mob/living/carbon/brain/brain_item.dm
index f75cfee8f9b..dd2e81ed35b 100644
--- a/code/modules/mob/living/carbon/brain/brain_item.dm
+++ b/code/modules/mob/living/carbon/brain/brain_item.dm
@@ -21,8 +21,7 @@
/obj/item/organ/internal/brain/surgeryize()
if(!owner)
return
- owner.ear_damage = 0 //Yeah, didn't you...hear? The ears are totally inside the brain.
- owner.ear_deaf = 0
+ owner.setEarDamage(0,0) //Yeah, didn't you...hear? The ears are totally inside the brain.
/obj/item/organ/internal/brain/xeno
name = "xenomorph brain"
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 33ad123c34d..07060cfe1a4 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -355,8 +355,7 @@
else valid_limbs -= processing_dismember
if(!istype(l_ear, /obj/item/clothing/ears/earmuffs) && !istype(r_ear, /obj/item/clothing/ears/earmuffs))
- ear_damage += 30
- ear_deaf += 120
+ adjustEarDamage(30, 120)
if(prob(70) && !shielded)
Paralyse(10)
@@ -380,8 +379,7 @@
else valid_limbs -= processing_dismember
if(!istype(l_ear, /obj/item/clothing/ears/earmuffs) && !istype(r_ear, /obj/item/clothing/ears/earmuffs))
- ear_damage += 15
- ear_deaf += 60
+ adjustEarDamage(15,60)
if(prob(50) && !shielded)
Paralyse(10)
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index 54d83ca7344..5e61d82d7c2 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -882,17 +882,17 @@
//Ears
if(disabilities & DEAF) //disabled-deaf, doesn't get better on its own
- ear_deaf = max(ear_deaf, 1)
+ setEarDamage(-1, max(ear_deaf, 1))
else if(ear_deaf) //deafness, heals slowly over time
- ear_deaf = max(ear_deaf - 1, 0)
+ adjustEarDamage(0,-1)
else if(istype(l_ear, /obj/item/clothing/ears/earmuffs) || istype(r_ear, /obj/item/clothing/ears/earmuffs)) //resting your ears with earmuffs heals ear damage faster
- ear_damage = max(ear_damage - 0.15, 0)
- ear_deaf = max(ear_deaf, 1)
+ adjustEarDamage(-0.15,0)
+ setEarDamage(-1, max(ear_deaf, 1))
else if(ear_damage < 25) //ear damage heals slowly under this threshold. otherwise you'll need earmuffs
- ear_damage = max(ear_damage - 0.05, 0)
+ adjustEarDamage(-0.05,0)
if(flying)
animate(src, pixel_y = pixel_y + 5 , time = 10, loop = 1, easing = SINE_EASING)
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 5d4155f67e2..69a32f2c285 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -346,7 +346,7 @@
dead_mob_list -= src
living_mob_list |= src
mob_list |= src
- ear_deaf = 0
+ setEarDamage(-1,0)
timeofdeath = 0
/mob/living/proc/rejuvenate()
@@ -377,8 +377,7 @@
blinded = 0
eye_blind = 0
eye_blurry = 0
- ear_deaf = 0
- ear_damage = 0
+ setEarDamage(0,0)
heal_overall_damage(1000, 1000)
ExtinguishMob()
fire_stacks = 0
diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm
index c6fc2919a16..ff9d43ec277 100644
--- a/code/modules/mob/living/silicon/robot/life.dm
+++ b/code/modules/mob/living/silicon/robot/life.dm
@@ -18,7 +18,7 @@
SetParalysis(min(paralysis, 30))
SetWeakened(min(weakened, 20))
sleeping = 0
- ear_deaf = 0
+ setEarDamage(-1,0)
/mob/living/silicon/robot/proc/handle_robot_cell()
if(stat != DEAD)
diff --git a/code/modules/reagents/newchem/medicine.dm b/code/modules/reagents/newchem/medicine.dm
index 3b5f4f6f06e..5b5e5722c46 100644
--- a/code/modules/reagents/newchem/medicine.dm
+++ b/code/modules/reagents/newchem/medicine.dm
@@ -478,7 +478,7 @@
if(istype(E))
E.damage = max(E.damage-1, 0)
M.eye_blurry = max(M.eye_blurry-1 , 0)
- M.ear_damage = max(M.ear_damage-1, 0)
+ M.adjustEarDamage(-1,0)
if(prob(50))
M.disabilities &= ~NEARSIGHTED
if(prob(30))
@@ -486,7 +486,7 @@
M.eye_blind = 0
if(M.ear_damage <= 25)
if(prob(30))
- M.ear_deaf = 0
+ M.setEarDamage(-1,0)
..()
/datum/chemical_reaction/oculine
diff --git a/code/modules/reagents/newchem/pyro.dm b/code/modules/reagents/newchem/pyro.dm
index 5bb6700dd49..96cbecf3680 100644
--- a/code/modules/reagents/newchem/pyro.dm
+++ b/code/modules/reagents/newchem/pyro.dm
@@ -356,8 +356,7 @@
if(!ear_safety)
M.Stun(max(10/distance, 3))
M.Weaken(max(10/distance, 3))
- M.ear_damage += rand(0, 5)
- M.ear_deaf = max(M.ear_deaf,15)
+ M.setEarDamage(M.ear_damage + rand(0, 5), max(M.ear_deaf,15))
if(M.ear_damage >= 15)
to_chat(M, "Your ears start to ring badly!")
if(prob(M.ear_damage - 10 + 5))
@@ -385,8 +384,7 @@
if(!ear_safety)
M.Stun(max(10/distance, 3))
M.Weaken(max(10/distance, 3))
- M.ear_damage += rand(0, 5)
- M.ear_deaf = max(M.ear_deaf,15)
+ M.setEarDamage(M.ear_damage + rand(0, 5), max(M.ear_deaf,15))
if(M.ear_damage >= 15)
to_chat(M, "Your ears start to ring badly!")
if(prob(M.ear_damage - 10 + 5))
diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm
index a33846bcb17..9c28a60b055 100644
--- a/code/modules/surgery/organs/organ_internal.dm
+++ b/code/modules/surgery/organs/organ_internal.dm
@@ -538,7 +538,7 @@
to_chat(owner, "HONK")
owner.sleeping = 0
owner.stuttering = 20
- owner.ear_deaf = 30
+ owner.adjustEarDamage(0, 30)
owner.Weaken(3)
owner << 'sound/items/AirHorn.ogg'
if(prob(30))