From a65809e32f694c2ebd0f0a009eb5f208727b9b20 Mon Sep 17 00:00:00 2001 From: Luc <89928798+lewcc@users.noreply.github.com> Date: Sat, 16 Mar 2024 12:13:30 -0400 Subject: [PATCH] Adds an action button for succumbing, broadcasts last words (#24501) * succumb * Apply suggestions from code review Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * capitalize * clear the alert, and no more last words when you're already dead! * Update code/modules/mob/living/death.dm --------- Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> --- code/_onclick/hud/alert.dm | 14 ++++++++++++++ .../mob/living/carbon/human/human_life.dm | 5 +++++ code/modules/mob/living/death.dm | 4 ++++ code/modules/mob/living/living.dm | 12 ++++++++++++ code/modules/mob/living/living_defines.dm | 3 +++ code/modules/mob/living/living_life.dm | 4 ++++ icons/mob/screen_alert.dmi | Bin 72344 -> 72947 bytes 7 files changed, 42 insertions(+) diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index 66e7af873a3..6cf0868dd45 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -817,3 +817,17 @@ so as to remain in compliance with the most up-to-date laws." master = null screen_loc = "" return ..() + +/// Gives the player the option to succumb while in critical condition +/atom/movable/screen/alert/succumb + name = "Succumb" + desc = "Shuffle off this mortal coil." + icon_state = "succumb" + +/atom/movable/screen/alert/succumb/Click() + if(!usr || !usr.client) + return + var/mob/living/living_owner = usr + if(!istype(usr)) + return + living_owner.do_succumb(TRUE) diff --git a/code/modules/mob/living/carbon/human/human_life.dm b/code/modules/mob/living/carbon/human/human_life.dm index 83fba460563..ab18b3fd2b8 100644 --- a/code/modules/mob/living/carbon/human/human_life.dm +++ b/code/modules/mob/living/carbon/human/human_life.dm @@ -662,6 +662,11 @@ healthdoll.overlays -= (cached_overlays - new_overlays) healthdoll.cached_healthdoll_overlays = new_overlays + if(health <= HEALTH_THRESHOLD_CRIT) + throw_alert("succumb", /atom/movable/screen/alert/succumb) + else + clear_alert("succumb") + #undef BODYPART_PAIN_REDUCTION /mob/living/carbon/human/proc/handle_nutrition_alerts() //This is a terrible abuse of the alert system; something like this should be a HUD element diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index 211b99e16a6..e071470af7d 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -87,10 +87,14 @@ var/mob/M = P if((M.client?.prefs.toggles2 & PREFTOGGLE_2_DEATHMESSAGE) && (isobserver(M) || M.stat == DEAD)) to_chat(M, "[mind.name] has died at [area_name]. (JMP)") + if(last_words) + to_chat(M, "[p_their(TRUE)] last words were: \"[last_words]\"") if(SSticker && SSticker.mode) SSticker.mode.check_win() + clear_alert("succumb") + // u no we dead return TRUE diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 2f10c2ce209..4f3933fffb2 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -291,18 +291,30 @@ /mob/living/verb/succumb() set hidden = TRUE + // if you use the verb you better mean it + do_succumb(FALSE) + +/mob/living/proc/do_succumb(cancel_on_no_words) + if(stat == DEAD) + to_chat(src, "It's too late, you're already dead!") + return if(health >= HEALTH_THRESHOLD_CRIT) to_chat(src, "You are unable to succumb to death! This life continues!") return var/last_words = tgui_input_text(src, "Do you have any last words?", "Goodnight, Sweet Prince", encode = FALSE) + if(isnull(last_words) && cancel_on_no_words) + to_chat(src, "You decide you aren't quite ready to die.") + return + if(stat == DEAD) // cancel em out if they died while they had the message box up last_words = null if(!isnull(last_words)) create_log(MISC_LOG, "gave their final words, [last_words]") + src.last_words = last_words // sorry whisper(last_words) add_attack_logs(src, src, "[src] has [!isnull(last_words) ? "whispered [p_their()] final words" : "succumbed to death"] with [round(health, 0.1)] points of health!") diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index e58823c3d61..55324a2ef85 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -97,6 +97,9 @@ var/datum/middleClickOverride/middleClickOverride = null + /// Famous last words -- if succumbing, what the user's last words were + var/last_words + /* Taste Vars */ diff --git a/code/modules/mob/living/living_life.dm b/code/modules/mob/living/living_life.dm index 59b1b5a7c04..f930e555c9e 100644 --- a/code/modules/mob/living/living_life.dm +++ b/code/modules/mob/living/living_life.dm @@ -176,3 +176,7 @@ overlay_fullscreen("brute", /atom/movable/screen/fullscreen/brute, severity) else clear_fullscreen("brute") + if(health <= HEALTH_THRESHOLD_CRIT) + throw_alert("succumb", /atom/movable/screen/alert/succumb) + else + clear_alert("succumb") diff --git a/icons/mob/screen_alert.dmi b/icons/mob/screen_alert.dmi index e7f44d0f575c87e2414f9c75ab5680fff1d87fac..54a953367e2e076c7852bc81de98cff1dc834261 100644 GIT binary patch delta 17350 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 delta 16741 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
    ?Bii%6~B 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