public override void OnStart(Tyr tyr) { tyr.Monday = true; MicroControllers.Add(FearVikingsController); MicroControllers.Add(new VoidrayController()); MicroControllers.Add(new CarrierController()); MicroControllers.Add(new StutterController()); if (SkipDefenses) { Set += ProtossBuildUtil.Pylons(); } else { Set += NaturalDefenses(); Set += RushDefenses(); Set += ProtossBuildUtil.Pylons(); Set += BuildReaperDefenseCannon(); Set += BuildReaperRushDefense(); Set += ProtossBuildUtil.Nexus(2); } Set += PowerPylons(); Set += MainBuild(); }
public override void OnStart(Tyr tyr) { tyr.TaskManager.Add(new DefenseTask()); tyr.TaskManager.Add(attackTask); tyr.TaskManager.Add(new WorkerScoutTask()); if (tyr.BaseManager.Pocket != null) tyr.TaskManager.Add(new ScoutProxyTask(tyr.BaseManager.Pocket.BaseLocation.Pos)); MicroControllers.Add(new StutterController()); Set += ProtossBuildUtil.Nexus(2); Set += ProtossBuildUtil.Pylons(); Set += MainBuildList(); }
public override void OnStart(Tyr tyr) { tyr.Monday = true; MicroControllers.Add(FearVikingsController); MicroControllers.Add(new VoidrayController()); MicroControllers.Add(new CarrierController()); MicroControllers.Add(new StutterController()); double distance = 0; foreach (Base b in tyr.BaseManager.Bases) { double newDist = Math.Sqrt(SC2Util.DistanceSq(b.BaseLocation.Pos, tyr.BaseManager.Main.BaseLocation.Pos)) + Math.Sqrt(SC2Util.DistanceSq(b.BaseLocation.Pos, tyr.TargetManager.PotentialEnemyStartLocations[0])); if (newDist > distance) { FarBase = b; distance = newDist; } } HideBaseTask.Task.HideLocation = FarBase; if (SkipDefenses) { Set += ProtossBuildUtil.Pylons(); } else { Set += NaturalDefenses(); Set += RushDefenses(); Set += ProtossBuildUtil.Pylons(); Set += BuildReaperDefenseCannon(); Set += BuildReaperRushDefense(); if (Tyr.Bot.EnemyRace != Race.Zerg) { Set += ProtossBuildUtil.Nexus(2); } } Set += PowerPylons(); Set += MainBuild(); }
public override void OnStart(Bot bot) { if (BuildDefenses == null) { BuildDefenses = () => !SkipDefenses; } bot.Monday = true; MicroControllers.Add(FearVikingsController); MicroControllers.Add(new VoidrayController()); MicroControllers.Add(new CarrierController()); MicroControllers.Add(new StutterController()); if (WallIn == null) { WallIn = new WallInCreator(); WallIn.CreateFullNatural(new List <uint>() { UnitTypes.GATEWAY, UnitTypes.GATEWAY, UnitTypes.PYLON, UnitTypes.GATEWAY }); WallIn.ReserveSpace(); if (NaturalWall) { bot.buildingPlacer.BuildInsideWall(WallIn); } } Set += NaturalDefenses(); Set += RushDefenses(); Set += ProtossBuildUtil.Pylons(); Set += BuildReaperDefenseCannon(); Set += BuildReaperRushDefense(); Set += ProtossBuildUtil.Nexus(2, () => Count(UnitTypes.GATEWAY) > 0 && (!DelayNatural || Count(UnitTypes.STARGATE) > 0)); Set += PowerPylons(); Set += MainBuild(); }