[NEW STATUS SYSTEM] Drunkenness, Stuttering, Slurred Speech, and Bloodloss (#38678)

* The only commit that matters

* I had to stop playing with my cat to push this change

* Yaml removal

* Proper drunk status effect and remove shitcode

* Review changes

* whoops

* Whoops x2

* Update master fix merge conflicts

* Fix merge conflicts

* Dunk Component kill

* MORE RELAYS

* Holy fucking breaking changes

* Ough

* 46 file diff

* Fix bad commits

* Erm what the test fail?

* Fix those last two

* Merge conflicts

* Me when I fix the merge conflicts

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
This commit is contained in:
Princess Cheeseballs
2025-08-18 13:26:29 -07:00
committed by GitHub
parent d737e39a98
commit 6b73d320b9
27 changed files with 235 additions and 176 deletions

View File

@@ -1,26 +1,24 @@
using Content.Shared.StatusEffect;
using Content.Shared.StatusEffectNew;
using Robust.Shared.Prototypes;
namespace Content.Shared.Speech.EntitySystems;
public abstract class SharedStutteringSystem : EntitySystem
{
public static readonly ProtoId<StatusEffectPrototype> StutterKey = "Stutter";
public static readonly EntProtoId Stuttering = "StatusEffectStutter";
[Dependency] private readonly StatusEffectsSystem _statusEffectsSystem = default!;
[Dependency] protected readonly StatusEffectsSystem Status = default!;
// For code in shared... I imagine we ain't getting accent prediction anytime soon so let's not bother.
public virtual void DoStutter(EntityUid uid, TimeSpan time, bool refresh, StatusEffectsComponent? status = null)
public virtual void DoStutter(EntityUid uid, TimeSpan time, bool refresh)
{
}
public virtual void DoRemoveStutterTime(EntityUid uid, double timeRemoved)
public virtual void DoRemoveStutterTime(EntityUid uid, TimeSpan timeRemoved)
{
_statusEffectsSystem.TryRemoveTime(uid, StutterKey, TimeSpan.FromSeconds(timeRemoved));
}
public void DoRemoveStutter(EntityUid uid, double timeRemoved)
public virtual void DoRemoveStutter(EntityUid uid)
{
_statusEffectsSystem.TryRemoveStatusEffect(uid, StutterKey);
}
}