Files
wwdpublic/Content.Shared/Movement/Events/GetSpeedModifierContactCapEvent.cs
SlamBamActionman a48507664d Add Galoshes slowdown over slippery surfaces (#30967)
* first draft

* Fixed it all, just need to rename stuff

* Rename and add comments

* Clean-up

* Access added
2025-07-19 17:37:55 +10:00

29 lines
877 B
C#

using Content.Shared.Inventory;
namespace Content.Shared.Movement.Events;
/// <summary>
/// Raised on an entity to check if it has a max contact slowdown.
/// </summary>
[ByRefEvent]
public record struct GetSpeedModifierContactCapEvent() : IInventoryRelayEvent
{
SlotFlags IInventoryRelayEvent.TargetSlots => ~SlotFlags.POCKET;
public float WalkSpeedModifier;
public float SprintSpeedModifier;
public void SetIfMax(float walkSpeedModifier, float sprintSpeedModifier)
{
WalkSpeedModifier = MathF.Max(WalkSpeedModifier, walkSpeedModifier);
SprintSpeedModifier = MathF.Max(SprintSpeedModifier, sprintSpeedModifier);
}
public GetSpeedModifierContactCapEvent(float walkSpeedModifier, float sprintSpeedModifier) : this()
{
WalkSpeedModifier = walkSpeedModifier;
SprintSpeedModifier = sprintSpeedModifier;
}
}