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 00000000000..bdff5eb24b8 Binary files /dev/null and b/sound/effects/sf_hiccup_male_01.ogg differ