diff --git a/code/modules/clothing/masks/_masks.dm b/code/modules/clothing/masks/_masks.dm index ad296d30356..0bcd0e14382 100644 --- a/code/modules/clothing/masks/_masks.dm +++ b/code/modules/clothing/masks/_masks.dm @@ -16,6 +16,8 @@ var/voice_override /// If set to true, activates the radio effect on TTS. Used for sec hailers, but other masks can utilize it for their own vocal effect. var/use_radio_beeps_tts = FALSE + /// The unique sound effect of dying while wearing this + var/unique_death /obj/item/clothing/mask/attack_self(mob/user) if((clothing_flags & VOICEBOX_TOGGLABLE)) diff --git a/code/modules/clothing/masks/hailer.dm b/code/modules/clothing/masks/hailer.dm index 64de19b95aa..5720c754ead 100644 --- a/code/modules/clothing/masks/hailer.dm +++ b/code/modules/clothing/masks/hailer.dm @@ -57,6 +57,7 @@ GLOBAL_LIST_INIT(hailer_phrases, list( visor_flags_cover = MASKCOVERSMOUTH tint = 0 has_fov = FALSE + unique_death = 'sound/voice/sec_death.ogg' COOLDOWN_DECLARE(hailer_cooldown) ///Decides the phrases available for use; defines used are the last index of a category of available phrases var/aggressiveness = AGGR_BAD_COP diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm index 38a1aba1020..be71ef5c350 100644 --- a/code/modules/mob/living/emote.dm +++ b/code/modules/mob/living/emote.dm @@ -107,9 +107,14 @@ message_animal_or_basic = custom_message . = ..() message_animal_or_basic = initial(message_animal_or_basic) - if(. && user.death_sound) - if(!user.can_speak() || user.oxyloss >= 50) - return //stop the sound if oxyloss too high/cant speak + if(!. && !user.can_speak() || user.getOxyLoss() >= 50) + return //stop the sound if oxyloss too high/cant speak + var/mob/living/carbon/carbon_user = user + // For masks that give unique death sounds + if(istype(carbon_user) && isclothing(carbon_user.wear_mask) && carbon_user.wear_mask.unique_death) + playsound(carbon_user, carbon_user.wear_mask.unique_death, 200, TRUE, TRUE) + return + if(user.death_sound) playsound(user, user.death_sound, 200, TRUE, TRUE) /datum/emote/living/drool diff --git a/sound/voice/sec_death.ogg b/sound/voice/sec_death.ogg new file mode 100644 index 00000000000..25f9b24c313 Binary files /dev/null and b/sound/voice/sec_death.ogg differ