public virtual void GrantTurn() { LevelScene.CurrentTurnOwnerDamageDealt = TurnDamageDealt = new ProjectileDamage(Owner.ID); OnGrantTurn?.Invoke(); OnGrantTurn = default; LevelScene.CurrentTurnOwner = SyncMobile; Movement.RemainingStepsThisTurn = Movement.MaximumStepsPerTurn; Movement.IsAbleToMove = true; IsAbleToShoot = true; IsAbleToUseItem = true; if (IsPlayable) { SyncMobile.ReduceSSCooldown(); if (SyncMobile.SSLockRemainingTurns == 0) { LevelScene.HUD.EnableSS(); } } LevelScene.HUD.GrantTurn(this); Crosshair.PlayAnimation(); AudioHandler.PlaySoundEffect(SoundEffectParameter.InGameGameplayNewTurn); GameScene.Camera.TrackObject(this); }