protected override void Scan() { float scanRange = ss.GetComponent <CircleCollider2D>().radius; if (ut.TryGetClosestUnitWithinRange(gameObject, scanRange, "Turret", ownAllegiance, out closestEnemyTurret) == true) { return; } if (ut.TryGetClosestAttackerWithinRange(gameObject, scanRange, ownAllegiance, out closestEnemyUnit) == true) { return; } float distToFactionLeader = (transform.position - factionLeader.transform.position).magnitude; if (distToFactionLeader <= scanRange && factionLeaderCS.GetFollowMeStatus()) { playerToFollow = factionLeader; return; } FindClosestHomeCity(); if (homeCity) { float distToHome = (homeCity.transform.position - transform.position).magnitude; CitySquare possibleTargetCity = cm.FindNearestCitySquare_IgnoreIFF(transform, ownAllegiance); float distToInvade = (possibleTargetCity.transform.position - transform.position).magnitude; if (distToHome > distToInvade) { targetCity = possibleTargetCity; } else { targetCity = null; } } playerToFollow = null; closestEnemyTurret = null; closestEnemyTurret = null; }