protected override void SpecialPath(ManagerHelper mH) { var temp = (Conquest)mH.GetGametype(); ConquestBase targetBase = null; float distanceToClosest = float.PositiveInfinity; foreach (ConquestBase conquestBase in temp.GetBases()) { if (conquestBase.affiliation != affiliation) { float distanceToBase = PathHelper.DistanceSquared(GetOriginPosition(), conquestBase.GetOriginPosition()); if (distanceToBase < distanceToClosest) { distanceToClosest = distanceToBase; targetBase = conquestBase; } } } if (targetBase != null) { if (PathHelper.DistanceSquared(GetOriginPosition(), targetBase.GetOriginPosition()) > 32 * 32) { mH.GetPathHelper().FindClearPath(GetOriginPosition(), targetBase.GetOriginPosition(), mH, path); } else { HoverPath(mH, targetBase.GetOriginPosition(), 32); } } else { EngagePath(mH); } }
protected override void SpecialPath(ManagerHelper mH) { var temp = (Conquest)mH.GetGametype(); ConquestBase forwardBase = temp.GetForwardBase(affiliation, mH); if (forwardBase != null) { mH.GetPathHelper().FindClearPath(GetOriginPosition(), forwardBase.GetOriginPosition(), mH, path); } else { EngagePath(mH); } }