public override void OnFrame(Tyr tyr) { if (tyr.EnemyStrategyAnalyzer.LiftingDetected) { int surfaceEnemies = 0; foreach (Unit unit in tyr.Enemies()) { if (!unit.IsFlying) { surfaceEnemies++; } } if (surfaceEnemies < 3 && WorkerTask.Task.Units.Count < 16) { WorkerRushTask.Clear(); WorkerRushTask.Stopped = true; } } if (!MessageSent) { if (tyr.Enemies().Count > 0) { MessageSent = true; tyr.Chat("Prepare to be TICKLED! :D"); } } if (tyr.Frame - LastReinforcementsFrame >= 100 && WorkerTask.Task.Units.Count >= (tyr.EnemyStrategyAnalyzer.LiftingDetected ? 22 : 12) && !tyr.EnemyStrategyAnalyzer.LiftingDetected) { LastReinforcementsFrame = tyr.Frame; WorkerRushTask.TakeWorkers += 6; } }
public override void OnFrame(Bot bot) { if (Count(UnitTypes.STALKER) > 0) { BalanceGas(); } else if (Gas() < 50) { GasWorkerTask.WorkersPerGas = 3; } else { GasWorkerTask.WorkersPerGas = 1; } TimingAttackTask.Task.RequiredSize = 1; TimingAttackTask.Task.RetreatSize = 0; TimingAttackTask.Task.ExcludeUnitTypes.Add(UnitTypes.VOID_RAY); if (Lifting.Get().Detected) { int surfaceEnemies = 0; foreach (Unit unit in bot.Enemies()) { if (!unit.IsFlying) { surfaceEnemies++; } } if (surfaceEnemies < 3 && WorkerTask.Task.Units.Count < 16) { WorkerRushTask.Clear(); WorkerRushTask.Stopped = true; } } if (!MessageSent) { if (bot.Enemies().Count > 0) { MessageSent = true; bot.Chat("Prepare to be TICKLED! :D"); } } if (bot.Frame - LastReinforcementsFrame >= 100 && WorkerTask.Task.Units.Count >= (Lifting.Get().Detected ? 22 : 12) && !Lifting.Get().Detected && (!CounterWorkerRush.Get().Detected || bot.Frame >= 22.4 * 120) && (!CounterWorkerRush.Get().Detected || !BuildStalkers)) { LastReinforcementsFrame = bot.Frame; WorkerRushTask.TakeWorkers += 6; } if (UseRecall()) { RecallTask.Task.Location = new PotentialHelper(bot.TargetManager.PotentialEnemyStartLocations[0], 8).To(Main.BaseLocation.Pos).Get(); Recalled = true; } }