Exemple #1
0
        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;
            }
        }