public override void AddAction(EntityUid uid, ActionType action, EntityUid? provider, ActionsComponent? comp = null, bool dirty = true)
{
- if (uid != _playerManager.LocalPlayer?.ControlledEntity)
- return;
-
if (GameTiming.ApplyingState && !action.ClientExclusive)
return;
dirty &= !action.ClientExclusive;
base.AddAction(uid, action, provider, comp, dirty);
- ActionAdded?.Invoke(action);
+
+ if (uid == _playerManager.LocalPlayer?.ControlledEntity)
+ ActionAdded?.Invoke(action);
}
public override void RemoveAction(EntityUid uid, ActionType action, ActionsComponent? comp = null, bool dirty = true)
{
- if (uid != _playerManager.LocalPlayer?.ControlledEntity)
- return;
-
if (GameTiming.ApplyingState && !action.ClientExclusive)
return;
dirty &= !action.ClientExclusive;
base.RemoveAction(uid, action, comp, dirty);
- if (action.AutoRemove)
+ if (action.AutoRemove && uid == _playerManager.LocalPlayer?.ControlledEntity)
ActionRemoved?.Invoke(action);
}