protected override void DoAction(UnitStateController controller)
        {
            Unit unit = controller.unit;

            EnemyStateController enemyStateController = (EnemyStateController)controller;

            if (!enemyStateController.abilityToUse && enemyStateController.IsReadyToChooseAbility())
            {
                Ability ability = AbilityUtils.ChooseRandomReadyAbility(unit.GetAbilityAgent().abilities);

                if (ability != null)
                {
                    if (ability is AoeAbility)
                    {
                        controller.aoeAbilityTarget = controller.chaseTarget.transform.position;
                    }

                    controller.abilityToUse = ability;
                    enemyStateController.ResetAbilityChoiceTimer();
                }
            }
        }