void SniperFlee() { control.Flee(); if (control.CanMove(data.forwardSpeed) == false) { control.Avoid(); } if (control.playerIsInRange() == false) { ChangeState(AIState.Rest); } }
void AggroAttack() { if (control.playerIsInRange() == true) { control.Attack(); if (control.CanMove(data.forwardSpeed) == false) { control.Avoid(); } } else { ChangeState(AIState.Wander); } }
void GuardAttack() { if (control.playerIsInRange() == true) { control.Attack(); if (control.CanMove(data.forwardSpeed) == false) { control.Avoid(); } } if (data.tankCurrentLife <= (data.tankMaxLife / 2)) { ChangeState(AIState.Flee); } else { ChangeState(AIState.Wander); } }