Skip to content

Commit

Permalink
Working Joe Death Sound and Death Message (It is so Joever) (#3798)
Browse files Browse the repository at this point in the history
# About the pull request

This PR gives Working joes a unique death sound and death
message....upon death.

TODO:
- [x] Add framework for implementation.
- [x] Find appropriate sounds for Working Joe death
- [x] (Optional) Have a random death noise be picked to be played
- [x] Implement a death message for Working Joes

# Explain why it's good for the game

For the same reasons we added the initial Working Joe audible emotes,
this will add more depth to the Joes and make them even more uncanny.
(Also default death message makes no sense as Working Joe eyes are
already dead and lifeless.)


# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>


https://github.com/cmss13-devs/cmss13/assets/91219575/f266f4f3-983c-4f2e-907f-97218eb939f7

Example of default death noise playing, what most will hear.


</details>


# Changelog

:cl:
add: Working Joes now have a unique death message. Credit to Quickload
for the message.
soundadd: Working Joes now have a death rattle. Credit to Quickload for
shifting through Alien Isolation audio files.
qol: Things that die with intent eyes now lose color in their eyes on
death.
/:cl:

---------

Co-authored-by: harryob <[email protected]>
  • Loading branch information
Ben10083 and harryob authored Jul 18, 2023
1 parent 3cf1032 commit d8c1bf9
Show file tree
Hide file tree
Showing 6 changed files with 11 additions and 0 deletions.
5 changes: 5 additions & 0 deletions code/modules/mob/living/carbon/human/death.dm
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,10 @@
if(HAS_TRAIT(src, TRAIT_HARDCORE) || MODE_HAS_TOGGLEABLE_FLAG(MODE_HARDCORE_PERMA))
if(!(species.flags & IS_SYNTHETIC)) // Synths wont perma
status_flags |= PERMANENTLY_DEAD
if(HAS_TRAIT(src, TRAIT_INTENT_EYES)) //their eyes need to be 'offline'
r_eyes = 0
g_eyes = 0
b_eyes = 0
disable_special_flags()
disable_lights()
disable_special_items()
Expand All @@ -59,6 +63,7 @@
//Handle species-specific deaths.
if(species)
species.handle_death(src, gibbed)
update_body() //if species handle_death or other procs change body in some way after death, this is what will update the body.

SEND_GLOBAL_SIGNAL(COMSIG_GLOB_MARINE_DEATH, src, gibbed)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
/datum/species/synthetic/colonial/working_joe
name = SYNTH_WORKING_JOE
name_plural = "Working Joes"
death_message = "violently gargles fluid and seizes up, the glow in their eyes dimming..."
uses_ethnicity = FALSE
burn_mod = 0.65 // made for hazardous environments, withstanding temperatures up to 1210 degrees
mob_inherent_traits = list(TRAIT_SUPER_STRONG, TRAIT_INTENT_EYES, TRAIT_EMOTE_CD_EXEMPT, TRAIT_CANNOT_EAT)
Expand All @@ -14,6 +15,11 @@
. = ..()
give_action(joe, /datum/action/joe_emote_panel)

// Special death noise for Working Joe
/datum/species/synthetic/colonial/working_joe/handle_death(mob/living/carbon/human/dying_joe, gibbed)
if(!gibbed) //A gibbed Joe won't have a death rattle
playsound(dying_joe.loc, pick_weight(list('sound/voice/joe/death_normal.ogg' = 75, 'sound/voice/joe/death_silence.ogg' = 10, 'sound/voice/joe/death_tomorrow.ogg' = 10,'sound/voice/joe/death_dream.ogg' = 5)), 25, FALSE)
return ..()

/// Open the WJ's emote panel, which allows them to use voicelines
/datum/species/synthetic/colonial/working_joe/proc/open_emote_panel()
Expand Down
Binary file added sound/voice/joe/death_dream.ogg
Binary file not shown.
Binary file added sound/voice/joe/death_normal.ogg
Binary file not shown.
Binary file added sound/voice/joe/death_silence.ogg
Binary file not shown.
Binary file added sound/voice/joe/death_tomorrow.ogg
Binary file not shown.

0 comments on commit d8c1bf9

Please sign in to comment.