//this causes us the long execution. This is the only way I can think of getting the chasing enemy elf
        private Elf GetChasingEnemyElf(Elf myElf)
        {
            Elf closestEnemyElf = (Elf)Constants.GameCaching.GetEnemyElvesInArea(new Circle(myElf, maxChasingDistance)).ToArray().GetClosest(myElf);

            if (closestEnemyElf != null && closestEnemyElf.DistanceF(myElf) <= maxChasingDistance)
            {
                if (closestEnemyElf.CurrentHealth >= myElf.CurrentHealth && closestEnemyElf.IsHeadingTowards(myElf))
                {
                    return(closestEnemyElf);
                }
            }

            return(null);
        }