コード例 #1
0
ファイル: PvTStalkerImmortal.cs プロジェクト: kblood/TyrSc2
        public override void InitializeTasks()
        {
            base.InitializeTasks();

            if (ReaperDefenseTask == null)
            {
                ReaperDefenseTask = new DefenseSquadTask(Main, UnitTypes.STALKER)
                {
                    MaxDefenders = 2, Priority = 10
                }
            }
            ;
            DefenseSquadTask.Enable(ReaperDefenseTask);

            DefenseTask.Enable();
            TimingAttackTask.Enable();
            if (Tyr.Bot.TargetManager.PotentialEnemyStartLocations.Count > 1)
            {
                WorkerScoutTask.Enable();
            }
            if (Tyr.Bot.BaseManager.Pocket != null)
            {
                ScoutProxyTask.Enable(Tyr.Bot.BaseManager.Pocket.BaseLocation.Pos);
            }
            ArmyObserverTask.Enable();
            TimedObserverTask.Enable();
            SaveWorkersTask.Enable();
        }
コード例 #2
0
ファイル: OneBaseStalker.cs プロジェクト: evilz/TyrSc2
        public override void InitializeTasks()
        {
            base.InitializeTasks();
            DefenseTask.Enable();
            TimingAttackTask.Enable();
            if (Bot.Main.TargetManager.PotentialEnemyStartLocations.Count > 1)
            {
                WorkerScoutTask.Enable();
            }
            if (Bot.Main.BaseManager.Pocket != null)
            {
                ScoutProxyTask.Enable(Bot.Main.BaseManager.Pocket.BaseLocation.Pos);
            }
            if (ProxyPylon && !PylonPlaced)
            {
                PlacePylonTask.Enable();
            }
            ScoutTask.Enable();
            if (HuntProxy)
            {
                HuntProxyTask.Enable();
            }

            HuntProxyTask.Task.CloseBasesFirst = true;
            HuntProxyTask.Task.AddMidwayPoint  = false;
            HuntProxyTask.Task.StartFrame      = (int)(22.4 * 15);
        }
コード例 #3
0
ファイル: PvTStalkerImmortal.cs プロジェクト: evilz/TyrSc2
        public override void InitializeTasks()
        {
            base.InitializeTasks();

            DefenseTask.Enable();
            TimingAttackTask.Enable();
            if (Bot.Main.TargetManager.PotentialEnemyStartLocations.Count > 1 || SendScout)
            {
                WorkerScoutTask.Enable();
            }
            if (Bot.Main.BaseManager.Pocket != null)
            {
                ScoutProxyTask.Enable(Bot.Main.BaseManager.Pocket.BaseLocation.Pos);
            }
            ArmyObserverTask.Enable();
            TimedObserverTask.Enable();
            ObserverScoutTask.Enable();
            SaveWorkersTask.Enable();
            ForceFieldRampTask.Enable();
            if (ProxyPylon)
            {
                ProxyTask.Enable(new List <ProxyBuilding>()
                {
                    new ProxyBuilding()
                    {
                        UnitType = UnitTypes.PYLON
                    }
                });
                ProxyTask.Task.UseEnemyNatural = true;
                ProxyTask.Task.Stopped         = true;
            }
        }
コード例 #4
0
 public override void InitializeTasks()
 {
     base.InitializeTasks();
     DefenseTask.Enable();
     TimingAttackTask.Enable();
     if (Bot.Main.TargetManager.PotentialEnemyStartLocations.Count > 1 || Scouting)
     {
         WorkerScoutTask.Enable();
     }
     if (Bot.Main.BaseManager.Pocket != null)
     {
         ScoutProxyTask.Enable(Bot.Main.BaseManager.Pocket.BaseLocation.Pos);
     }
     ScoutTask.Enable();
     ArmyObserverTask.Enable();
     if (ObserverScout)
     {
         ObserverScoutTask.Enable();
     }
     if (Bot.Main.EnemyRace == SC2APIProtocol.Race.Zerg || Bot.Main.EnemyRace == SC2APIProtocol.Race.Protoss)
     {
         ForceFieldRampTask.Enable();
     }
     if (DenyScouting)
     {
         DenyScoutTask.Enable();
     }
     WorkerRushDefenseTask.Enable();
 }
コード例 #5
0
ファイル: CannonRush.cs プロジェクト: evilz/TyrSc2
 public override void InitializeTasks()
 {
     base.InitializeTasks();
     DefenseTask.Enable();
     CannonRushTask.Enable();
     TimingAttackTask.Enable();
 }
コード例 #6
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);
            }
        }
コード例 #7
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();
        }
コード例 #8
0
ファイル: PvZStalkerImmortal.cs プロジェクト: evilz/TyrSc2
 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;
     }
 }
コード例 #9
0
        public override void InitializeTasks()
        {
            base.InitializeTasks();
            DefenseTask.Enable();
            FlyerAttackTask.Enable();
            if (Tyr.Bot.BaseManager.Pocket != null)
            {
                ScoutProxyTask.Enable(Tyr.Bot.BaseManager.Pocket.BaseLocation.Pos);
            }
            WorkerSafetyTask.Enable();

            if (Tyr.Bot.EnemyRace == Race.Terran)
            {
                HideBaseTask.Enable();
            }
            else if (Tyr.Bot.EnemyRace == Race.Protoss)
            {
                WorkerScoutTask.Enable();
            }

            FlyerDestroyTask.Enable();
            if (Tyr.Bot.EnemyRace == Race.Protoss)
            {
                ProxySpotterTask.Enable();
            }
        }
コード例 #10
0
ファイル: MarineRush.cs プロジェクト: Susuwatari1522/TyrSc2
 public override void InitializeTasks()
 {
     base.InitializeTasks();
     TimingAttackTask.Enable();
     WorkerScoutTask.Enable();
     DefenseTask.Enable();
     SupplyDepotTask.Enable();
 }
コード例 #11
0
ファイル: BanelingBust.cs プロジェクト: evilz/TyrSc2
 public override void InitializeTasks()
 {
     base.InitializeTasks();
     QueenInjectTask.Enable();
     QueenDefenseTask.Enable();
     DefenseTask.Enable();
     TimingAttackTask.Enable();
     SafeZerglingsFromReapersTask.Enable();
 }
コード例 #12
0
 public override void InitializeTasks()
 {
     base.InitializeTasks();
     DefenseTask.Enable();
     TimingAttackTask.Enable();
     WorkerScoutTask.Enable();
     ArmyObserverTask.Enable();
     HodorTask.Enable();
     WarpPrismTask.Enable();
 }
コード例 #13
0
ファイル: PvPAdeptAllIn.cs プロジェクト: kblood/TyrSc2
 public override void InitializeTasks()
 {
     base.InitializeTasks();
     DefenseTask.Enable();
     TimingAttackTask.Enable();
     if (Tyr.Bot.TargetManager.PotentialEnemyStartLocations.Count > 1)
     {
         WorkerScoutTask.Enable();
     }
     ForwardProbeTask.Enable();
 }
コード例 #14
0
 public override void InitializeTasks()
 {
     base.InitializeTasks();
     TimingAttackTask.Enable();
     WorkerScoutTask.Enable();
     WorkerRushDefenseTask.Enable();
     DefenseTask.Enable();
     SupplyDepotTask.Enable();
     RepairTask.Enable();
     ReplenishBuildingSCVTask.Enable();
 }
コード例 #15
0
 public override void InitializeTasks()
 {
     base.InitializeTasks();
     TimingAttackTask.Enable();
     WorkerScoutTask.Enable();
     QueenInjectTask.Enable();
     QueenDefenseTask.Enable();
     ArmyOverseerTask.Enable();
     QueenTumorTask.Enable();
     DefenseTask.Enable();
 }
コード例 #16
0
ファイル: CycloneRush.cs プロジェクト: evilz/TyrSc2
 public override void InitializeTasks()
 {
     base.InitializeTasks();
     TimingAttackTask.Enable();
     DefenseTask.Enable();
     SupplyDepotTask.Enable();
     RepairTask.Enable();
     ReplenishBuildingSCVTask.Enable();
     ClearBlockedExpandsTask.Enable();
     HomeRepairTask.Enable();
 }
コード例 #17
0
 public override void InitializeTasks()
 {
     base.InitializeTasks();
     DefenseTask.Enable();
     TimingAttackTask.Enable();
     if (Bot.Main.TargetManager.PotentialEnemyStartLocations.Count > 1)
     {
         WorkerScoutTask.Enable();
     }
     WorkerRushDefenseTask.Enable();
     ArmyObserverTask.Enable();
 }
コード例 #18
0
ファイル: HydraLurker.cs プロジェクト: evilz/TyrSc2
 public override void InitializeTasks()
 {
     base.InitializeTasks();
     TimingAttackTask.Enable();
     WorkerScoutTask.Enable();
     QueenInjectTask.Enable();
     QueenDefenseTask.Enable();
     ArmyOverseerTask.Enable();
     QueenTumorTask.Enable();
     DefenseTask.Enable();
     DefenseSquadTask.Enable(true, UnitTypes.HYDRALISK);
 }
コード例 #19
0
 public override void InitializeTasks()
 {
     base.InitializeTasks();
     DefenseTask.Enable();
     DTAttackTask.Enable();
     FlyerAttackTask.Enable();
     ShieldBatteryTargetTask.Enable();
     if (Bot.Main.BaseManager.Pocket != null)
     {
         ScoutProxyTask.Enable(Bot.Main.BaseManager.Pocket.BaseLocation.Pos);
     }
 }
コード例 #20
0
 public override void InitializeTasks()
 {
     base.InitializeTasks();
     DefenseTask.Enable();
     TimingAttackTask.Enable();
     StalkerBlinkInMainTask.Enable();
     WorkerScoutTask.Enable();
     if (Bot.Main.BaseManager.Pocket != null)
     {
         ScoutProxyTask.Enable(Bot.Main.BaseManager.Pocket.BaseLocation.Pos);
     }
     ForceFieldRampTask.Enable();
 }
コード例 #21
0
 public override void InitializeTasks()
 {
     base.InitializeTasks();
     WorkerRushTask = CounterJensiii ? new WorkerRushJensiiTask() : new WorkerRushTask();
     Bot.Main.TaskManager.Add(WorkerRushTask);
     Bot.Main.TaskManager.Add(new FlyerAttackTask()
     {
         RequiredSize = 3
     });
     Bot.Main.TaskManager.Add(new ElevatorChaserTask());
     TimingAttackTask.Enable();
     RecallTask.Enable();
     DefenseTask.Enable();
 }
コード例 #22
0
 public override void InitializeTasks()
 {
     base.InitializeTasks();
     DefenseTask.Enable();
     TimingAttackTask.Enable();
     if (Tyr.Bot.TargetManager.PotentialEnemyStartLocations.Count > 1)
     {
         WorkerScoutTask.Enable();
     }
     if (Tyr.Bot.BaseManager.Pocket != null)
     {
         ScoutProxyTask.Enable(Tyr.Bot.BaseManager.Pocket.BaseLocation.Pos);
     }
 }
コード例 #23
0
ファイル: MassOracle.cs プロジェクト: evilz/TyrSc2
 public override void InitializeTasks()
 {
     base.InitializeTasks();
     HideUnitsTask.Enable();
     DefenseTask.Enable();
     TimingAttackTask.Enable();
     OracleHarassBasesTask.Enable();
     WorkerScoutTask.Enable();
     ArmyObserverTask.Enable();
     if (Bot.Main.BaseManager.Pocket != null)
     {
         ScoutProxyTask.Enable(Bot.Main.BaseManager.Pocket.BaseLocation.Pos);
     }
 }
コード例 #24
0
ファイル: MacroToss.cs プロジェクト: slemvs/TyrSc2
        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();
        }
コード例 #25
0
ファイル: BunkerRush.cs プロジェクト: evilz/TyrSc2
 public override void InitializeTasks()
 {
     base.InitializeTasks();
     TimingAttackTask.Enable();
     WorkerScoutTask.Enable();
     WorkerRushDefenseTask.Enable();
     DefenseTask.Enable();
     SupplyDepotTask.Enable();
     RepairTask.Enable();
     ReplenishBuildingSCVTask.Enable();
     BunkerRushTask.Enable();
     BunkerRushTask.Task.Stopped = true;
     BunkerDefendersTask.Enable();
     ArmyRavenTask.Enable();
 }
コード例 #26
0
        public override void InitializeTasks()
        {
            base.InitializeTasks();
            DefenseTask.Enable();

            HideBaseTask.Enable();
            HideLostWorkersTask.Enable();

            FlyerDestroyTask.Enable();
            if (Tyr.Bot.EnemyRace == Race.Protoss)
            {
                ProxySpotterTask.Enable();
            }
            ShieldBatteryTargetTask.Enable();
        }
コード例 #27
0
 public override void InitializeTasks()
 {
     base.InitializeTasks();
     DefenseTask.Enable();
     TimingAttackTask.Enable();
     WorkerScoutTask.Enable();
     if (Tyr.Bot.BaseManager.Pocket != null)
     {
         ScoutProxyTask.Enable(Tyr.Bot.BaseManager.Pocket.BaseLocation.Pos);
     }
     if (ProxyPylon && !PylonPlaced)
     {
         PlacePylonTask.Enable();
     }
 }
コード例 #28
0
ファイル: TempestProxy.cs プロジェクト: kblood/TyrSc2
 public override void InitializeTasks()
 {
     base.InitializeTasks();
     ArmyObserverTask.Enable();
     DefenseTask.Enable();
     TimingAttackTask.Enable();
     DefendRegionTask.Enable();
     if (Tyr.Bot.TargetManager.PotentialEnemyStartLocations.Count > 1)
     {
         WorkerScoutTask.Enable();
     }
     if (Tyr.Bot.BaseManager.Pocket != null)
     {
         ScoutProxyTask.Enable(Tyr.Bot.BaseManager.Pocket.BaseLocation.Pos);
     }
     ProxyTask.Enable(new List <ProxyBuilding>()
     {
         new ProxyBuilding()
         {
             UnitType = UnitTypes.PYLON
         },
         new ProxyBuilding()
         {
             UnitType = UnitTypes.STARGATE, Number = 1, Test = () => Count(UnitTypes.CYBERNETICS_CORE) > 0
         },
         new ProxyBuilding()
         {
             UnitType = UnitTypes.PHOTON_CANNON, Number = 1, Test = () => CollectionUtil.Get(ProxyTask.Task.UnitCounts, UnitTypes.STARGATE) > 0
         },
         new ProxyBuilding()
         {
             UnitType = UnitTypes.STARGATE, Number = 2, Test = () => Count(UnitTypes.FLEET_BEACON) > 0
         },
         new ProxyBuilding()
         {
             UnitType = UnitTypes.PHOTON_CANNON, Number = 3, Test = () => Minerals() >= 150 && Count(UnitTypes.FLEET_BEACON) > 0 && (Count(UnitTypes.TEMPEST) > 0 || Minerals() >= 600)
         },
         new ProxyBuilding()
         {
             UnitType = UnitTypes.PYLON, Number = 2, Test = () => Minerals() >= 400 && Count(UnitTypes.PHOTON_CANNON) >= 3
         },
         new ProxyBuilding()
         {
             UnitType = UnitTypes.SHIELD_BATTERY, Number = 3, Test = () => Minerals() >= 400 && Count(UnitTypes.TEMPEST) > 0
         },
         //new ProxyBuilding() { UnitType = UnitTypes.STARGATE, Number = 1, Test = () => Count(UnitTypes.TEMPEST) >= 2 }
     }, true);
 }
コード例 #29
0
ファイル: PvTDisruptor.cs プロジェクト: evilz/TyrSc2
 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();
 }
コード例 #30
0
ファイル: GreedySentries.cs プロジェクト: evilz/TyrSc2
 public override void InitializeTasks()
 {
     base.InitializeTasks();
     DefenseTask.Enable();
     MassSentriesTask.Enable();
     if (Bot.Main.TargetManager.PotentialEnemyStartLocations.Count > 1)
     {
         WorkerScoutTask.Enable();
     }
     if (Bot.Main.BaseManager.Pocket != null)
     {
         ScoutProxyTask.Enable(Bot.Main.BaseManager.Pocket.BaseLocation.Pos);
     }
     HallucinationAttackTask.Enable();
     WorkerRushDefenseTask.Enable();
 }