Пример #1
0
        public override void InitializeTasks()
        {
            base.InitializeTasks();
            SiegeTask.Enable();
            TimingAttackTask.Enable();
            //WorkerScoutTask.Enable();
            DefenseTask.Enable();
            BunkerDefendersTask.Enable();
            SupplyDepotTask.Enable();
            ArmyRavenTask.Enable();
            MechDestroyExpandsTask.Enable();
            RepairTask.Enable();
            ReplenishBuildingSCVTask.Enable();
            ClearBlockedExpandsTask.Enable();
            HomeRepairTask.Enable();
            TransformTask.Enable();
            ThorretTask.Enable();
            HideBuildingTask.Enable();
            HideUnitsTask.Enable();
            //AttackTask.Enable();

            AttackTask.Enable();

            if (TankDefenseTasks.Count == 0)
            {
                foreach (Base b in Bot.Main.BaseManager.Bases)
                {
                    if (b == Natural ||
                        b == Main)
                    {
                        continue;
                    }
                    TankDefenseTasks.Add(new DefenseSquadTask(b, UnitTypes.SIEGE_TANK)
                    {
                        MaxDefenders = 2
                    });
                    LiberatorDefenseTasks.Add(new DefenseSquadTask(b, UnitTypes.LIBERATOR)
                    {
                        MaxDefenders = 1
                    });
                    VikingDefenseTasks.Add(new DefenseSquadTask(b, UnitTypes.VIKING_FIGHTER)
                    {
                        MaxDefenders = 1
                    });
                }
            }

            foreach (DefenseSquadTask task in TankDefenseTasks)
            {
                Task.Enable(task);
            }
            foreach (DefenseSquadTask task in LiberatorDefenseTasks)
            {
                Task.Enable(task);
            }
            foreach (DefenseSquadTask task in VikingDefenseTasks)
            {
                Task.Enable(task);
            }
        }
Пример #2
0
 public override void InitializeTasks()
 {
     base.InitializeTasks();
     GroupedAttackTask.Enable();
     WorkerScoutTask.Enable();
     QueenInjectTask.Enable();
     DefenseTask.Enable();
     QueenDefenseTask.Enable();
     ArmyOverseerTask.Enable();
     DefendingOverseerTask.Enable();
     QueenTumorTask.Enable();
     OverlordScoutTask.Enable();
     CreeperLordTask.Enable();
     OverlordAtNaturalTask.Enable();
     ParasitedBCTask.Enable();
     DefenseSquadTask.Enable(false, UnitTypes.QUEEN);
     MechDestroyExpandsTask.Enable();
 }
Пример #3
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();
        }
Пример #4
0
 public override void InitializeTasks()
 {
     base.InitializeTasks();
     WorkerScoutTask.Enable();
     DefenseTask.Enable();
     BunkerDefendersTask.Enable();
     SupplyDepotTask.Enable();
     ArmyRavenTask.Enable();
     MechDestroyExpandsTask.Enable();
     RepairTask.Enable();
     ReplenishBuildingSCVTask.Enable();
     TransformTask.Enable();
     WorkerRushDefenseTask.Enable();
     TimingAttackTask.Enable();
     DefenseSquadTask.Enable(false, UnitTypes.MARINE);
     SiegeAtRampTask.Enable();
     SiegeBelowRampTask.Enable();
     HomeRepairTask.Enable();
 }
Пример #5
0
        public override void InitializeTasks()
        {
            base.InitializeTasks();
            TimingAttackTask.Enable();
            WorkerScoutTask.Enable();
            DefenseTask.Enable();
            BunkerDefendersTask.Enable();
            SupplyDepotTask.Enable();
            ArmyRavenTask.Enable();
            RepairTask.Enable();
            ReplenishBuildingSCVTask.Enable();
            DistributedDefenseTask.Enable();
            TransformTask.Enable();
            KillScoutsTask.Enable();
            HomeRepairTask.Enable();
            MechDestroyExpandsTask.Enable();

            DistributeHellbatsTask = new DistributeOverBasesTask(UnitTypes.HELLBAT);
            DistributeHellbatsTask.Enable();

            if (CycloneDefenseSquads == null)
            {
                CycloneDefenseSquads = DefenseSquadTask.GetDefenseTasks(UnitTypes.CYCLONE);
            }
            else
            {
                foreach (DefenseSquadTask task in CycloneDefenseSquads)
                {
                    Tyr.Bot.TaskManager.Add(task);
                }
            }
            DefenseSquadTask.Enable(CycloneDefenseSquads, true, true);

            foreach (DefenseSquadTask task in CycloneDefenseSquads)
            {
                task.Priority      = 4;
                task.MaxDefenders  = 1;
                task.AllowClaiming = false;
            }
        }