SpeedModifierContactCapClothingSystem.cs 717 B

1234567891011121314151617181920
  1. using Content.Shared.Clothing.Components;
  2. using Content.Shared.Inventory;
  3. using Content.Shared.Movement.Events;
  4. namespace Content.Shared.Clothing.EntitySystems;
  5. public sealed class SpeedModifierContactCapClothingSystem : EntitySystem
  6. {
  7. public override void Initialize()
  8. {
  9. base.Initialize();
  10. SubscribeLocalEvent<SpeedModifierContactCapClothingComponent, InventoryRelayedEvent<GetSpeedModifierContactCapEvent>>(OnGetMaxSlow);
  11. }
  12. private void OnGetMaxSlow(Entity<SpeedModifierContactCapClothingComponent> ent, ref InventoryRelayedEvent<GetSpeedModifierContactCapEvent> args)
  13. {
  14. args.Args.SetIfMax(ent.Comp.MaxContactSprintSlowdown, ent.Comp.MaxContactWalkSlowdown);
  15. }
  16. }