using Content.Shared.Hands; using Content.Shared.Movement.Systems; using Content.Shared.Wieldable; namespace Content.Shared.Traits.Assorted; /// /// Handles /// public sealed class MobilityAidSystem : EntitySystem { [Dependency] private readonly MovementSpeedModifierSystem _movementSpeedModifier = default!; /// public override void Initialize() { SubscribeLocalEvent(OnGotEquippedHand); SubscribeLocalEvent(OnGotUnequippedHand); SubscribeLocalEvent(OnMobilityAidWielded); SubscribeLocalEvent(OnMobilityAidUnwielded); } private void OnGotEquippedHand(Entity ent, ref GotEquippedHandEvent args) { _movementSpeedModifier.RefreshMovementSpeedModifiers(args.User); } private void OnGotUnequippedHand(Entity ent, ref GotUnequippedHandEvent args) { _movementSpeedModifier.RefreshMovementSpeedModifiers(args.User); } private void OnMobilityAidWielded(Entity ent, ref ItemWieldedEvent args) { _movementSpeedModifier.RefreshMovementSpeedModifiers(args.User); } private void OnMobilityAidUnwielded(Entity ent, ref ItemUnwieldedEvent args) { _movementSpeedModifier.RefreshMovementSpeedModifiers(args.User); } }