/// <summary> /// Get the target to attack /// </summary> /// <returns>A target or self if shadowboxing</returns> public IMobile GetTarget() { var target = PrimaryTarget; //TODO: AI for NPCs for other branches if (PrimaryTarget == null || (PrimaryTarget.BirthMark.Equals(BirthMark) && EnemyGroup.Count() > 0)) { PrimaryTarget = EnemyGroup.OrderByDescending(enemy => enemy.Item2).FirstOrDefault()?.Item1; target = PrimaryTarget; } return(target); }