Beispiel #1
0
        private AIState HasBeenInjuredRelatedStateCheck()
        {
            AIState nextState = AIState.None;

            if (brain.HasBeenInjured() || brain.InjuredByDeathCircle)
            {
                if (actor.AIHealth.HealthPoints < 0.0f)
                {
                    nextState = AIState.Dead;
                }
                else if (brain.InjuredByDeathCircle)
                {
                    brain.InjuredByDeathCircle = false;
                    nextState = AIState.DeathCircle;
                }
                else if (actor.AIHealth.HealthPoints < brain.LifeFleeThreshold)
                {
                    nextState = AIState.Flee;
                }
            }
            return(nextState);
        }