Skip to content

Commit 724a720

Browse files
committed
Tera Roller: Do extra skips if fresh out of reset.
1 parent a108f84 commit 724a720

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

SerialPrograms/Source/PokemonSV/Programs/TeraRaids/PokemonSV_TeraRoller.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,12 +122,23 @@ void TeraRoller::program(SingleSwitchProgramEnvironment& env, ProControllerConte
122122
bool first = true;
123123
uint32_t skip_counter = 0;
124124

125+
// Keep track of when we last reset.
126+
// Day skips too soon out of a reset may fail.
127+
WallClock last_reset = WallClock::min();
128+
125129
while (true){
126130
env.update_stats();
127131
send_program_status_notification(env, NOTIFICATION_STATUS_UPDATE);
128132

129133
if (!first){
130134
day_skip_from_overworld(env.console, context);
135+
136+
// Do it again if we're fresh out of a reset.
137+
while (last_reset + std::chrono::seconds(20) > current_time()){
138+
env.log("Fresh out of a reset. Skipping again.");
139+
day_skip_from_overworld(env.console, context);
140+
}
141+
131142
pbf_wait(context, GameSettings::instance().RAID_SPAWN_DELAY0);
132143
context.wait_for_all_requests();
133144
stats.m_skips++;
@@ -141,6 +152,7 @@ void TeraRoller::program(SingleSwitchProgramEnvironment& env, ProControllerConte
141152
env.log("Resetting game to clear framerate.");
142153
save_game_from_overworld(env.program_info(), env.console, context);
143154
reset_game(env.program_info(), env.console, context);
155+
last_reset = current_time();
144156
skip_counter = 0;
145157
stats.m_resets++;
146158
}

0 commit comments

Comments
 (0)