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(); DefendClosestBaseTask.Enable(); DistributeHellbatsTask = new DistributeOverBasesTask(UnitTypes.HELLBAT); DistributeHellbatsTask.Enable(); if (CycloneDefenseSquads == null) { CycloneDefenseSquads = DefenseSquadTask.GetDefenseTasks(UnitTypes.CYCLONE); } else { foreach (DefenseSquadTask task in CycloneDefenseSquads) { Bot.Main.TaskManager.Add(task); } } DefenseSquadTask.Enable(CycloneDefenseSquads, true, true); foreach (DefenseSquadTask task in CycloneDefenseSquads) { task.Priority = 4; task.MaxDefenders = 1; task.AllowClaiming = false; } }
public override void InitializeTasks() { base.InitializeTasks(); SiegeTask.Enable(); TimingAttackTask.Enable(); WorkerScoutTask.Enable(); DefenseTask.Enable(); BunkerDefendersTask.Enable(); SupplyDepotTask.Enable(); ArmyRavenTask.Enable(); RepairTask.Enable(); ReplenishBuildingSCVTask.Enable(); ClearBlockedExpandsTask.Enable(); HomeRepairTask.Enable(); TransformTask.Enable(); DefendClosestBaseTask.Enable(); if (TankDefenseTasks.Count == 0) { foreach (Base b in Tyr.Bot.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); } DefenseSquadTask.Enable(false, UnitTypes.CYCLONE); foreach (DefenseSquadTask task in DefenseSquadTask.Tasks) { task.MaxDefenders = 2; } if (CycloneDefenseTasks == null) { CycloneDefenseTasks = DefenseSquadTask.GetDefenseTasks(UnitTypes.CYCLONE); } DefenseSquadTask.Enable(CycloneDefenseTasks, false, false); foreach (DefenseSquadTask task in CycloneDefenseTasks) { task.MaxDefenders = 1; task.Priority = 8; } }