SharedStutteringSystem.cs 907 B

1234567891011121314151617181920212223242526
  1. using Content.Shared.StatusEffect;
  2. namespace Content.Shared.Speech.EntitySystems;
  3. public abstract class SharedStutteringSystem : EntitySystem
  4. {
  5. [ValidatePrototypeId<StatusEffectPrototype>]
  6. public const string StutterKey = "Stutter";
  7. [Dependency] private readonly StatusEffectsSystem _statusEffectsSystem = default!;
  8. // For code in shared... I imagine we ain't getting accent prediction anytime soon so let's not bother.
  9. public virtual void DoStutter(EntityUid uid, TimeSpan time, bool refresh, StatusEffectsComponent? status = null)
  10. {
  11. }
  12. public virtual void DoRemoveStutterTime(EntityUid uid, double timeRemoved)
  13. {
  14. _statusEffectsSystem.TryRemoveTime(uid, StutterKey, TimeSpan.FromSeconds(timeRemoved));
  15. }
  16. public void DoRemoveStutter(EntityUid uid, double timeRemoved)
  17. {
  18. _statusEffectsSystem.TryRemoveStatusEffect(uid, StutterKey);
  19. }
  20. }