public override void OnStart(Tyr tyr) { DefenseTask.Enable(); tyr.TaskManager.Add(attackTask); tyr.TaskManager.Add(WorkerScoutTask); tyr.TaskManager.Add(new ObserverScoutTask()); tyr.TaskManager.Add(new AdeptScoutTask()); if (tyr.BaseManager.Pocket != null) { tyr.TaskManager.Add(new ScoutProxyTask(tyr.BaseManager.Pocket.BaseLocation.Pos)); } ArchonMergeTask.Enable(); OverrideDefenseTarget = tyr.MapAnalyzer.Walk(NaturalDefensePos, tyr.MapAnalyzer.EnemyDistances, 15); MicroControllers.Add(new StalkerController()); MicroControllers.Add(new StutterController()); MicroControllers.Add(new HTController()); MicroControllers.Add(new ColloxenController()); Set += ProtossBuildUtil.Pylons(); Set += EmergencyGateways(); Set += ExpandBuildings(); Set += Nexii(); Set += MainBuild(); }
public override void InitializeTasks() { base.InitializeTasks(); DefenseTask.Enable(); TimingAttackTask.Enable(); if (!BlockExpand) { WorkerScoutTask.Enable(); } ArmyObserverTask.Enable(); ObserverScoutTask.Enable(); if (Bot.Main.BaseManager.Pocket != null) { ScoutProxyTask.Enable(Bot.Main.BaseManager.Pocket.BaseLocation.Pos); } ArchonMergeTask.Enable(); ForwardProbeTask.Enable(); ShieldRegenTask.Enable(); HodorTask.Enable(); if (BlockExpand) { BlockExpandTask.Enable(); } if (ProxyPylon) { ProxyTask.Enable(new List <ProxyBuilding>() { new ProxyBuilding() { UnitType = UnitTypes.PYLON } }); ProxyTask.Task.UseEnemyNatural = true; } }
public override void OnStart(Tyr tyr) { DefenseTask.Enable(); tyr.TaskManager.Add(attackTask); tyr.TaskManager.Add(WorkerScoutTask); tyr.TaskManager.Add(new ObserverScoutTask()); tyr.TaskManager.Add(new ArmyObserverTask()); tyr.TaskManager.Add(new AdeptScoutTask()); tyr.TaskManager.Add(TimedObserverTask); PhasedDisruptorTask.Enable(); if (tyr.BaseManager.Pocket != null) { tyr.TaskManager.Add(new ScoutProxyTask(tyr.BaseManager.Pocket.BaseLocation.Pos)); } ArchonMergeTask.Enable(); OverrideDefenseTarget = tyr.MapAnalyzer.Walk(NaturalDefensePos, tyr.MapAnalyzer.EnemyDistances, 15); MicroControllers.Add(new DodgeBallController()); MicroControllers.Add(FearSpinesController); MicroControllers.Add(new StalkerController()); MicroControllers.Add(new StutterController()); MicroControllers.Add(new HTController()); MicroControllers.Add(new ColloxenController()); MicroControllers.Add(new DisruptorController()); if (WallIn == null) { System.Console.WriteLine("Creating wall."); WallIn = new WallInCreator(); WallIn.Create(new List <uint>() { UnitTypes.GATEWAY, UnitTypes.PYLON, UnitTypes.GATEWAY }); WallIn.ReserveSpace(); System.Console.WriteLine("Wall size: " + WallIn.Wall.Count); foreach (WallBuilding building in WallIn.Wall) { System.Console.WriteLine("Building pos: " + building.Pos); } } Set += ProtossBuildUtil.Pylons(() => Completed(UnitTypes.PYLON) > 0); Set += EmergencyGateways(); Set += MutaCannons(); Set += ExpandBuildings(); Set += Nexii(); Set += MainBuild(); }
public override void InitializeTasks() { base.InitializeTasks(); DefenseTask.Enable(); TimingAttackTask.Enable(); if (Bot.Main.TargetManager.PotentialEnemyStartLocations.Count > 1) { WorkerScoutTask.Enable(); } ArmyObserverTask.Enable(); if (Bot.Main.BaseManager.Pocket != null) { ScoutProxyTask.Enable(Bot.Main.BaseManager.Pocket.BaseLocation.Pos); } ArchonMergeTask.Enable(); }
public override void InitializeTasks() { base.InitializeTasks(); DefenseTask.Enable(); TimingAttackTask.Enable(); WorkerScoutTask.Enable(); ShieldRegenTask.Enable(); ArmyObserverTask.Enable(); ObserverScoutTask.Enable(); if (Bot.Main.BaseManager.Pocket != null) { ScoutProxyTask.Enable(Bot.Main.BaseManager.Pocket.BaseLocation.Pos); } ArchonMergeTask.Enable(); ForceFieldRampTask.Enable(); }
public override void OnStart(Bot bot) { WorkerScoutTask.StartFrame = 1200; DefenseTask.Enable(); bot.TaskManager.Add(AttackTask); bot.TaskManager.Add(WorkerScoutTask); ArmyObserverTask.Enable(); bot.TaskManager.Add(new ObserverScoutTask() { Priority = 6 }); if (bot.BaseManager.Pocket != null) { bot.TaskManager.Add(new ScoutProxyTask(bot.BaseManager.Pocket.BaseLocation.Pos)); } ArchonMergeTask.Enable(); OverrideDefenseTarget = bot.MapAnalyzer.Walk(NaturalDefensePos, bot.MapAnalyzer.EnemyDistances, 15); MicroControllers.Add(FallBackController); MicroControllers.Add(new StalkerController()); MicroControllers.Add(new SoftLeashController(UnitTypes.STALKER, UnitTypes.IMMORTAL, 6)); MicroControllers.Add(new DisruptorController()); MicroControllers.Add(new StutterController()); MicroControllers.Add(new HTController()); MicroControllers.Add(new ColloxenController()); MicroControllers.Add(new TempestController()); if (WallIn == null) { WallIn = new WallInCreator(); WallIn.Create(new List <uint>() { UnitTypes.GATEWAY, UnitTypes.PYLON, UnitTypes.GATEWAY }); WallIn.ReserveSpace(); } Set += ProtossBuildUtil.Pylons(() => Completed(UnitTypes.PYLON) > 0); Set += CannonDefense(); Set += EmergencyGateways(); Set += ExpandBuildings(); Set += Units(); Set += MainBuild(); }
public override void InitializeTasks() { base.InitializeTasks(); DefenseTask.Enable(); TimingAttackTask.Enable(); WorkerScoutTask.Enable(); ArmyObserverTask.Enable(); ObserverScoutTask.Enable(); if (Bot.Main.BaseManager.Pocket != null) { ScoutProxyTask.Enable(Bot.Main.BaseManager.Pocket.BaseLocation.Pos); } ArchonMergeTask.Enable(); WorkerRushDefenseTask.Enable(); ScoutTask.Enable(); KillOwnUnitTask.Enable(); AdeptHarassExpandsTask.Enable(); }
public override void OnStart(Tyr tyr) { WorkerScoutTask.StartFrame = 1200; DefenseTask.Enable(); tyr.TaskManager.Add(AttackTask); tyr.TaskManager.Add(WorkerScoutTask); ArmyObserverTask.Enable(); tyr.TaskManager.Add(new ObserverScoutTask() { Priority = 6 }); tyr.TaskManager.Add(new AdeptScoutTask()); if (tyr.BaseManager.Pocket != null) { tyr.TaskManager.Add(new ScoutProxyTask(tyr.BaseManager.Pocket.BaseLocation.Pos)); } ArchonMergeTask.Enable(); MechDestroyExpandsTask.Enable(); OverrideDefenseTarget = tyr.MapAnalyzer.Walk(NaturalDefensePos, tyr.MapAnalyzer.EnemyDistances, 15); MicroControllers.Add(new VoidrayController()); MicroControllers.Add(new StalkerController()); MicroControllers.Add(new DisruptorController()); MicroControllers.Add(new StutterController()); MicroControllers.Add(new HTController()); MicroControllers.Add(new ColloxenController()); MicroControllers.Add(new TempestController()); if (WallIn == null) { WallIn = new WallInCreator(); WallIn.Create(new List <uint>() { UnitTypes.GATEWAY, UnitTypes.PYLON, UnitTypes.GATEWAY }); WallIn.ReserveSpace(); } Set += ProtossBuildUtil.Pylons(() => Completed(UnitTypes.PYLON) > 0); Set += CannonDefense(); Set += ExpandBuildings(); Set += MainBuild(); }
public override void InitializeTasks() { base.InitializeTasks(); DefenseTask.Enable(); WarpPrismElevatorTask.Enable(); TimingAttackTask.Enable(); WorkerScoutTask.Enable(); ArmyObserverTask.Enable(); if (Tyr.Bot.BaseManager.Pocket != null) { ScoutProxyTask.Enable(Tyr.Bot.BaseManager.Pocket.BaseLocation.Pos); } ArchonMergeTask.Enable(); ForwardProbeTask.Enable(); ShieldRegenTask.Enable(); WorkerRushDefenseTask.Enable(); ScoutTask.Enable(); KillOwnUnitTask.Enable(); }
public override void OnStart(Bot bot) { DefenseTask.Enable(); bot.TaskManager.Add(attackTask); bot.TaskManager.Add(WorkerScoutTask); bot.TaskManager.Add(new ObserverScoutTask()); bot.TaskManager.Add(new ArmyObserverTask()); bot.TaskManager.Add(new AdeptScoutTask()); bot.TaskManager.Add(TimedObserverTask); PhasedDisruptorTask.Enable(); if (bot.BaseManager.Pocket != null) { bot.TaskManager.Add(new ScoutProxyTask(bot.BaseManager.Pocket.BaseLocation.Pos)); } ArchonMergeTask.Enable(); OverrideDefenseTarget = bot.MapAnalyzer.Walk(NaturalDefensePos, bot.MapAnalyzer.EnemyDistances, 15); MicroControllers.Add(new DodgeBallController()); MicroControllers.Add(FearSpinesController); MicroControllers.Add(new StalkerController()); MicroControllers.Add(new StutterController()); MicroControllers.Add(new HTController()); MicroControllers.Add(new ColloxenController()); MicroControllers.Add(new DisruptorController()); if (WallIn == null) { WallIn = new WallInCreator(); WallIn.Create(new List <uint>() { UnitTypes.GATEWAY, UnitTypes.PYLON, UnitTypes.GATEWAY }); WallIn.ReserveSpace(); } Set += ProtossBuildUtil.Pylons(() => Completed(UnitTypes.PYLON) > 0); Set += EmergencyGateways(); Set += MutaCannons(); Set += ExpandBuildings(); Set += Nexii(); Set += MainBuild(); }
public override void InitializeTasks() { base.InitializeTasks(); DefenseTask.Enable(); TimingAttackTask.Enable(); if (Tyr.Bot.TargetManager.PotentialEnemyStartLocations.Count > 1) { WorkerScoutTask.Enable(); } ArmyObserverTask.Enable(); if (Tyr.Bot.BaseManager.Pocket != null) { ScoutProxyTask.Enable(Tyr.Bot.BaseManager.Pocket.BaseLocation.Pos); } ArchonMergeTask.Enable(); ShieldRegenTask.Enable(); WorkerRushDefenseTask.Enable(); ScoutTask.Enable(); KillOwnUnitTask.Enable(); ForceFieldRampTask.Enable(); }
public override void InitializeTasks() { base.InitializeTasks(); DefenseTask.Enable(); TimingAttackTask.Enable(); if (!BlockExpand) { WorkerScoutTask.Enable(); } ArmyObserverTask.Enable(); ObserverScoutTask.Enable(); if (Bot.Main.BaseManager.Pocket != null) { ScoutProxyTask.Enable(Bot.Main.BaseManager.Pocket.BaseLocation.Pos); } ArchonMergeTask.Enable(); ForwardProbeTask.Enable(); ShieldRegenTask.Enable(); HodorTask.Enable(); if (BlockExpand) { BlockExpandTask.Enable(); } }
public override void OnStart(Tyr tyr) { DefenseTask.Enable(); tyr.TaskManager.Add(attackTask); tyr.TaskManager.Add(WorkerScoutTask); ArmyObserverTask.Enable(); tyr.TaskManager.Add(new ObserverScoutTask() { Priority = 6 }); tyr.TaskManager.Add(new AdeptScoutTask()); if (tyr.BaseManager.Pocket != null) { tyr.TaskManager.Add(new ScoutProxyTask(tyr.BaseManager.Pocket.BaseLocation.Pos)); } ArchonMergeTask.Enable(); if (StalkerDefenseSquads == null) { StalkerDefenseSquads = DefenseSquadTask.GetDefenseTasks(UnitTypes.STALKER); } else { foreach (DefenseSquadTask task in StalkerDefenseSquads) { Tyr.Bot.TaskManager.Add(task); } } DefenseSquadTask.Enable(StalkerDefenseSquads, true, true); OverrideDefenseTarget = tyr.MapAnalyzer.Walk(NaturalDefensePos, tyr.MapAnalyzer.EnemyDistances, 15); MicroControllers.Add(new SpreadOutController() { SpreadTypes = new HashSet <uint>() { UnitTypes.IMMORTAL, UnitTypes.ARCHON, UnitTypes.STALKER } }); MicroControllers.Add(FearSpinesController); MicroControllers.Add(new FearMinesController()); MicroControllers.Add(new FallBackController()); MicroControllers.Add(new StalkerController()); MicroControllers.Add(new DisruptorController()); MicroControllers.Add(new StutterController()); MicroControllers.Add(new HTController()); MicroControllers.Add(new ColloxenController()); MicroControllers.Add(new TempestController()); if (WallIn == null) { WallIn = new WallInCreator(); WallIn.Create(new List <uint>() { UnitTypes.GATEWAY, UnitTypes.PYLON, UnitTypes.GATEWAY }); WallIn.ReserveSpace(); } Set += ProtossBuildUtil.Pylons(() => Completed(UnitTypes.PYLON) > 0 && (Completed(Natural, UnitTypes.PYLON) > 0 || Count(UnitTypes.PYLON) < 2 || Minerals() >= 500)); Set += CannonDefense(); Set += EmergencyGateways(); Set += ExpandBuildings(); Set += Nexii(); Set += Units(); Set += MainBuild(); }