Add method to clear an action's cooldown (#21517)

This commit is contained in:
DrSmugleaf
2023-11-07 17:24:43 -08:00
committed by GitHub
parent 45ddc3046a
commit 3953257b7a

View File

@@ -126,6 +126,27 @@ public abstract class SharedActionsSystem : EntitySystem
Dirty(actionId.Value, action); Dirty(actionId.Value, action);
} }
public void SetCooldown(EntityUid? actionId, TimeSpan cooldown)
{
var start = GameTiming.CurTime;
SetCooldown(actionId, start, start + cooldown);
}
public void ClearCooldown(EntityUid? actionId)
{
if (actionId == null)
return;
if (!TryGetActionData(actionId, out var action))
return;
if (action.Cooldown is not { } cooldown)
return;
action.Cooldown = (cooldown.Start, GameTiming.CurTime);
Dirty(actionId.Value, action);
}
public void StartUseDelay(EntityUid? actionId) public void StartUseDelay(EntityUid? actionId)
{ {
if (actionId == null) if (actionId == null)