protected override async Task MainLoop(CancellationToken token) { Log("Identifying trainer data of the host console."); var sav = await IdentifyTrainer(token).ConfigureAwait(false); var originalTextSpeed = await EnsureTextSpeedFast(token).ConfigureAwait(false); Log("Starting main RaidBot loop."); if (Hub.Config.Raid.MinTimeToWait < 0 || Hub.Config.Raid.MinTimeToWait > 180) { Log("Time to wait must be between 0 and 180 seconds."); return; } while (!token.IsCancellationRequested && Config.NextRoutineType == PokeRoutineType.RaidBot) { Config.IterateNextRoutine(); int code = Settings.GetRandomRaidCode(); bool airplane = await HostRaidAsync(sav, code, token).ConfigureAwait(false); encounterCount++; Log($"Raid host {encounterCount} finished."); Counts.AddCompletedRaids(); await ResetGameAsync(airplane, token).ConfigureAwait(false); } await SetTextSpeed(originalTextSpeed, token).ConfigureAwait(false); }
protected override async Task MainLoop(CancellationToken token) { Log("Identifying trainer data of the host console."); var sav = await IdentifyTrainer(token).ConfigureAwait(false); Log("Starting main RaidBot loop."); while (!token.IsCancellationRequested && Config.NextRoutineType == PokeRoutineType.RaidBot) { int code = Settings.GetRandomRaidCode(); bool airplane = await HostRaidAsync(sav, code, token).ConfigureAwait(false); await ResetGameAsync(airplane, token).ConfigureAwait(false); encounterCount++; Log($"Raid host {encounterCount} finished."); Counts.AddCompletedRaids(); } }
public override async Task MainLoop(CancellationToken token) { Log("Identifying trainer data of the host console."); _ = await IdentifyTrainer(token).ConfigureAwait(false); Log("Starting main RaidBot loop."); if (Hub.Config.Raid.MinTimeToWait < 0 || Hub.Config.Raid.MinTimeToWait > 180) { Log("Time to wait must be between 0 and 180 seconds."); return; } while (!token.IsCancellationRequested && Config.NextRoutineType == PokeRoutineType.RaidBot) { Config.IterateNextRoutine(); addFriends = false; deleteFriends = false; // If they set this to 0, they want to add and remove friends before hosting any raids. if (Settings.InitialRaidsToHost == 0 && encounterCount == 0) { if (Hub.Config.Raid.NumberFriendsToAdd > 0) { addFriends = true; } if (Hub.Config.Raid.NumberFriendsToDelete > 0) { deleteFriends = true; } if (addFriends || deleteFriends) { // Back out of the game. await Click(B, 0_500, token).ConfigureAwait(false); await Click(HOME, 4_000, token).ConfigureAwait(false); await DeleteAddFriends(token).ConfigureAwait(false); await Click(HOME, 1_000, token).ConfigureAwait(false); } } encounterCount++; // Check if we're scheduled to delete or add friends after this raid is hosted. // If we're changing friends, we'll echo while waiting on the lobby to fill up. if (Settings.InitialRaidsToHost <= encounterCount) { if (Hub.Config.Raid.NumberFriendsToAdd > 0 && Hub.Config.Raid.RaidsBetweenAddFriends > 0) { addFriends = (encounterCount - Settings.InitialRaidsToHost) % Hub.Config.Raid.RaidsBetweenAddFriends == 0; } if (Hub.Config.Raid.NumberFriendsToDelete > 0 && Hub.Config.Raid.RaidsBetweenDeleteFriends > 0) { deleteFriends = (encounterCount - Settings.InitialRaidsToHost) % Hub.Config.Raid.RaidsBetweenDeleteFriends == 0; } } int code = Settings.GetRandomRaidCode(); await HostRaidAsync(code, token).ConfigureAwait(false); Log($"Raid host {encounterCount} finished."); Counts.AddCompletedRaids(); await ResetGameAsync(token).ConfigureAwait(false); } }