Simplifies hearing into handle_hearing() (#9443)

Currently, hearing related stuff is handled in at least three places throughout Life(), and whether a mob is deaf or not is complicated - Handled by an sdisabilities flag, has_hearing_aid() and ear_deaf.

This change consolidates everything into handle_hearing(); whether a mob is deaf or not can be determined just by the value of ear_deaf using isdeaf()

Fixes #9310
Fixes #8490
This commit is contained in:
mikomyazaki
2020-07-24 13:04:08 +01:00
committed by GitHub
parent 074cbfc9b1
commit 3ac9bd5849
13 changed files with 63 additions and 61 deletions

View File

@@ -341,7 +341,7 @@ var/datum/controller/subsystem/explosives/SSexplosives
continue
var/dist = get_dist(M, epicenter) || 1
if ((reception & EXPLFX_SOUND) && M.ear_deaf <= 0)
if ((reception & EXPLFX_SOUND) && !isdeaf(M))
if (dist <= close_dist)
M.playsound_simple(epicenter, explosion_sound, min(100, volume), use_random_freq = TRUE, falloff = 5)
//You hear a far explosion if you're outside the blast radius. Small bombs shouldn't be heard all over the station.