FRLG Starter Auto-RNG#1205
Conversation
| } | ||
|
|
||
| void PossibleHitsDisplay::reset(){ | ||
| hits.set("-"); |
There was a problem hiding this comment.
Here you have - as the empty state. But get_hits_string() returns empty string on empty state. Which one should it be?
There was a problem hiding this comment.
I've added a more descriptive message in the case where there are no search hits. - will correspond with the empty state before a search has been done, while No matches found will be displayed if a search turns up empty.
| ); | ||
|
|
||
| bool walk_to_rival_battle(SingleSwitchProgramEnvironment& env, ProControllerContext& context); | ||
| bool auto_battle_rival( |
There was a problem hiding this comment.
The purpose of battling rival is to get lvl6 stats to refine the search?
There was a problem hiding this comment.
Yup. There are 3 ways to try to figure out what advance you're hitting when there are multiple possibilities (which is usually the case):
- Level up and use the new stats to get tighter IV ranges. This can be done with the rival battle and/or some Route 1 wild battles
- Keep RNG advances the same while slightly changing the seed delay to avoid hitting the exact same stats. Look for common advances (within ±2) in the search results across multiple resets
- Pick the search result that is closest to your target advances. This is only a good idea after some calibration has been done
Currently, the program attempts to use a combination of these. Things still work fairly well even if we leave out battles entirely -- I originally messed up the part that updates the search filters, so level-up stats weren't actually narrowing the search results, but the program still hit the target reasonably quickly.
* reorganize FRLG RNG programs * expose move_to_user * get working seed/advance search * implement most of the program * fixes * tweaks * fix filters update * add get_hits_string() message for no hits * add missing hits display update * make a few things const
Automatically calibrates timings to hit a specific seed and advance for picking up a starter.
User setup (all easily copyable from ten-lines):
Works for both shiny and non-shiny targets. Tested several times with non-shiny targets (SID-finding has been slower than expected).