private void Idle() { if (_player.IsUnderAttack(out FightingObjectView attacker)) { Core.Log("[Combat] Attacked"); elapsedSeconds = 0; _state.Fire(Trigger.EncounteredAttacker); return; } if (_player.GetHealth() <= 0) { Core.Log("[Combat] Player died"); _state.Fire(Trigger.Died); return; } if (_player.GetHealth() <= _player.GetMaxHealth() * 0.5f) { Core.Log("[Combat] Recovering"); _state.Fire(Trigger.Recover); return; } }