Exemple #1
0
        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();
        }
Exemple #2
0
 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;
     }
 }
Exemple #3
0
        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();
        }
Exemple #4
0
 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();
 }
Exemple #5
0
 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();
 }
Exemple #6
0
        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();
        }
Exemple #7
0
 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();
 }
Exemple #8
0
        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();
        }
Exemple #9
0
 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();
 }
Exemple #10
0
        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();
        }
Exemple #11
0
 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();
 }
Exemple #12
0
 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();
     }
 }
Exemple #13
0
        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();
        }