From c8cb56309cfab354482e31c39cf540ce8a43c8e6 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Tue, 24 Oct 2023 22:22:07 +0200 Subject: [PATCH] [MIRROR] Blackout qol [MDB IGNORE] (#24541) * Blackout qol * This should have been a config setting --------- Co-authored-by: FinancialGoose <92416224+TheBoondock@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> --- code/datums/brain_damage/split_personality.dm | 16 +++++++++++++++- code/datums/status_effects/debuffs/drunk.dm | 14 ++++++++------ sound/attributions.txt | 3 +++ sound/effects/sf_hiccup_male_01.ogg | Bin 0 -> 7744 bytes 4 files changed, 26 insertions(+), 7 deletions(-) create mode 100644 sound/effects/sf_hiccup_male_01.ogg diff --git a/code/datums/brain_damage/split_personality.dm b/code/datums/brain_damage/split_personality.dm index 9176884b816..e5890a5fa9b 100644 --- a/code/datums/brain_damage/split_personality.dm +++ b/code/datums/brain_damage/split_personality.dm @@ -275,7 +275,9 @@ qdel(src) /datum/brain_trauma/severe/split_personality/blackout/on_life(seconds_per_tick, times_fired) - if(current_controller == OWNER) + if(current_controller == OWNER && stranger_backseat)//we should only start transitioning after the other personality has entered + owner.overlay_fullscreen("fade_to_black", /atom/movable/screen/fullscreen/blind) + owner.clear_fullscreen("fade_to_black", animated = 4 SECONDS) switch_personalities() if(owner.stat == DEAD) if(current_controller != OWNER) @@ -285,6 +287,18 @@ if(duration_in_seconds <= 0) qdel(src) return + else if(duration_in_seconds <= 50) + to_chat(owner, span_warning("You have 50 seconds left before sobering up!")) + if(prob(10) && !HAS_TRAIT(owner, TRAIT_DISCOORDINATED_TOOL_USER)) + ADD_TRAIT(owner, TRAIT_DISCOORDINATED_TOOL_USER, TRAUMA_TRAIT) + owner.balloon_alert(owner, "dexterity reduced temporarily!") + //We then send a callback to automatically re-add the trait + addtimer(TRAIT_CALLBACK_REMOVE(owner, TRAIT_DISCOORDINATED_TOOL_USER, TRAUMA_TRAIT), 10 SECONDS) + addtimer(CALLBACK(owner, TYPE_PROC_REF(/atom, balloon_alert), owner, "dexterity regained!"), 10 SECONDS) + if(prob(15)) + playsound(owner,'sound/effects/sf_hiccup_male_01.ogg', 50) + owner.emote("hiccup") + owner.adjustStaminaLoss(-5) //too drunk to feel anything duration_in_seconds -= seconds_per_tick /mob/living/split_personality/blackout diff --git a/code/datums/status_effects/debuffs/drunk.dm b/code/datums/status_effects/debuffs/drunk.dm index cdac6b59225..e46915922e5 100644 --- a/code/datums/status_effects/debuffs/drunk.dm +++ b/code/datums/status_effects/debuffs/drunk.dm @@ -223,13 +223,15 @@ /datum/status_effect/inebriated/drunk/proc/attempt_to_blackout() /* SKYRAT EDIT REMOVAL - Blackout drunk begone var/mob/living/carbon/drunkard = owner - if(drunkard.gain_trauma(/datum/brain_trauma/severe/split_personality/blackout, TRAUMA_LIMIT_ABSOLUTE)) - drunk_value -= 50 //So that the drunk personality can spice things up without being killed by liver failure + if(drunkard.has_trauma_type(/datum/brain_trauma/severe/split_personality/blackout))// prevent ping spamming + if(prob(10)) + to_chat(owner, span_warning("You stumbled and fall over!")) + owner.slip(1 SECONDS) return - else if(drunkard.has_trauma_type(/datum/brain_trauma/severe/split_personality/blackout) && prob(10)) - to_chat(owner, span_warning("You stumbled and fall over!")) - owner.slip(1 SECONDS) - */ // SKYRAT EDIT REMOVAL END (also removed the else on the line after) + if(drunkard.gain_trauma(/datum/brain_trauma/severe/split_personality/blackout, TRAUMA_LIMIT_ABSOLUTE)) + drunk_value -= 70 //So that the drunk personality can spice things up without being killed by liver failure + return + */ // SKYRAT EDIT REMOVAL END if(SSshuttle.emergency.mode == SHUTTLE_DOCKED && is_station_level(owner.z))// Don't put us in a deep sleep if the shuttle's here. QoL, mainly. to_chat(owner, span_warning("You're so tired... but you can't miss that shuttle...")) else diff --git a/sound/attributions.txt b/sound/attributions.txt index 4f000ad82f9..e7ceb44f08b 100644 --- a/sound/attributions.txt +++ b/sound/attributions.txt @@ -106,6 +106,9 @@ https://freesound.org/people/reelworldstudio/sounds/161122/ arcade_jump.ogg is adapted from se2001's "8-Bit Jump 3", which is public domain (CC 0): hhttps://freesound.org/people/se2001/sounds/528568/ +hiccup sfx is taken from SOUNDFISHING's hiccup sound effects, which is license under LESF and allowed ussage for video games under section 4 of aggreement: +https://www.soundfishing.eu/sound/hiccup + laser2.ogg is adapted with 3 SFX made by junggle (CC 4), inferno (CC Sampling+), humanoide9000 (CC 0): https://freesound.org/people/junggle/sounds/28917/ https://freesound.org/people/inferno/sounds/18397/ diff --git a/sound/effects/sf_hiccup_male_01.ogg b/sound/effects/sf_hiccup_male_01.ogg new file mode 100644 index 0000000000000000000000000000000000000000..bdff5eb24b83a82b029f3626d5d59c2450dd0451 GIT binary patch literal 7744 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 literal 0 HcmV?d00001