From cbeda3651ea755a78b9f4cb280c7db6bb3ef86d6 Mon Sep 17 00:00:00 2001 From: FinancialGoose <92416224+TheBoondock@users.noreply.github.com> Date: Mon, 23 Jun 2025 20:26:19 -0400 Subject: [PATCH] Small blackout qol (#91604) ## About The Pull Request Now when you blackout your drunk-value will be capped at 51 so that your liver does not die while the drunkard personality is controlling the body ## Why It's Good For The Game I saw that liver failure has removed alot of the fun from being blackout drunk both as the drunkard and the original personality as they die from liver failure. There will still be consequences from having tons of alcohol in you but at least you will feel it after the blackout, which i think is very fitting. --- code/datums/brain_damage/split_personality.dm | 4 ++++ code/datums/status_effects/debuffs/drunk.dm | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/code/datums/brain_damage/split_personality.dm b/code/datums/brain_damage/split_personality.dm index 2931117b2fe..7b3d42522a6 100644 --- a/code/datums/brain_damage/split_personality.dm +++ b/code/datums/brain_damage/split_personality.dm @@ -283,11 +283,15 @@ header = "Bro I'm not even drunk right now", notify_flags = NOTIFY_CATEGORY_NOFLASH, ) + var/datum/status_effect/inebriated/inebriation = owner.has_status_effect(/datum/status_effect/inebriated) + inebriation?.iron_liver = TRUE /datum/brain_trauma/severe/split_personality/blackout/on_lose() . = ..() owner.add_mood_event("hang_over", /datum/mood_event/hang_over) UnregisterSignal(owner, COMSIG_ATOM_SPLASHED) + var/datum/status_effect/inebriated/inebriation = owner.has_status_effect(/datum/status_effect/inebriated) + inebriation?.iron_liver = FALSE /datum/brain_trauma/severe/split_personality/blackout/proc/on_splashed() SIGNAL_HANDLER diff --git a/code/datums/status_effects/debuffs/drunk.dm b/code/datums/status_effects/debuffs/drunk.dm index 10afaaa017a..fc5c74f46d5 100644 --- a/code/datums/status_effects/debuffs/drunk.dm +++ b/code/datums/status_effects/debuffs/drunk.dm @@ -18,6 +18,8 @@ alert_type = null /// The level of drunkness we are currently at. var/drunk_value = 0 + /// If TRUE, drunk_value will be capped at 51, preventing serious damage + var/iron_liver = FALSE /datum/status_effect/inebriated/on_creation(mob/living/new_owner, drunk_value = 0) . = ..() @@ -57,7 +59,8 @@ /datum/status_effect/inebriated/proc/set_drunk_value(set_to) if(!isnum(set_to)) CRASH("[type] - invalid value passed to set_drunk_value. (Got: [set_to])") - + if(iron_liver) + set_to = min(51, set_to) drunk_value = set_to if(drunk_value <= 0) qdel(src)