if you close the form after running a batch edit, it allows you to undo
if you want to undo while the form is still up, you can reset back to the initial state
buttons only enable when sufficient progress/available slots (so it doesn't run on 0/0)
shows a live-updating count of how many pkm slots will be edited by your currently entered command
Pass CancellationToken thru and better scan drive types to see if we bother trying to access them.
Network drives and CD drives are now disallowed, which should lessen the amount of hang-hiccups on startup for some users' hardware setup.
* Recursive egg chain solver
Supercedes #4444
- Handles Volbeat/NidoranM specific inheritance cases
- Handles Smoochum(female-only) male father search cases
- Allocation free, result struct
Closes#4426
Removed unreachable eggmoves from gs:
no Charm for Bulbasaur
no Charm for Oddish
no Charm for Snorlax
no AuroraBeam for Staryu
no Barrier for Staryu
no Supersonic for Staryu
no LovelyKiss for Smoochum
pass a ref struct storing the result, which updates with transactions to log the verification state during the recursion.
* Print traced chain in verbose report
Added functionality to exclude the opposite-gender rival (self) from PokeGear callers.
* Remove Bike Shop from Pokegear callers list: It's not legally obtainable you only get called once you've used the Bike enough you never get to save it.
* Exclude bike shop in caller list logic
Updated logic to exclude both the rival and bike shop from the caller list.
Better there and now public for anyone to use (why would they want to check that lol)
make the Battle Frontier hashset a ReadOnlySpan;
- since the list is sorted, use BinarySearch to reduce worst case from 43 ops to 6.
- no static ctor in RibbonRules (yay no nanosecond hiccup)
that was the last static HashSet in the repo 👀
It's stored as a 3-variable value. Decompose & recompose in the GUI.
Closes#4841 -- Raffle is values 1-10, which explains the observed behavior in the issue.
The old GUI would set [-1, 7], if modified to any selected Shop type, results in all being Raffle (incorrect behavior).
By unpacking to separate variables, the 1-321 combinations are user adjustable rather than just showing the raw value for edits. Sure the Version could be localized, and Shop Rank could be [1,10] instead of [0,9]...
ref: https://bulbapedia.bulbagarden.net/wiki/Join_Avenue#Shop_rank
Windows.Forms quirk where it don't hide the dropdown when it tries to Suggest via the separate Suggest pop-down.
Since all comboboxes that do the databind+suggest are impacted by this, just add the event when initializing binding. There don't appear to be any reapply-binding cases where it is set to suggest (only case is Battle Revolution save select, which isn't textual entry).
Closes#4846
Ensure all have dashes at front
for multiple strings, separate out the GB/VC to a separate tag.
No longer does the program show `SAV3FRLGUGBA` instead of `SAV3FRLG-U [GBA]`, which is a little more transparent to the end user.
I accidentally reverted my intermediate value sum for the channel solver after I discovered the counterexample -- now with the refinements as detailed in the issue, we can proceed with many `long` => `uint`
The xoroshiro128+ solvers aren't really set up to take advantage of the eager returns; the iterator struct (not class) would have to be made heavier to store the intermediate values for a given `assume`. Probably would have to inline the methods and break out their inner Update steps. Probably not worth the hassle :)
Closes#4844
Co-Authored-By: StarfBerry <65578604+StarfBerry@users.noreply.github.com>
#4844
not yet implemented: xoroshiro algorithmic improvements
overflow counterexample for channel IV reversal regarding s32 vs s64 noted in the github issue
Co-Authored-By: StarfBerry <65578604+StarfBerry@users.noreply.github.com>
Game has a Ratatta table for the Safari zone that it replaces with the Safari slots.
HG/SS (separately) have Caterpie and Weedle for the National Park fake area when a BCC is active.
Updated pkl includes "correct" safari zone wild encounter rate rather than an encoded "which safari sub-zone" index.
e789757783
turns out pk4 egg => hatch routine recreates the mon, copying only properties they figured were worth copying. guess it's a good way to sanitize out eggs.
since version doesn't update on hatch, we need to be flexible based on detecting which game it actually hatched on (thus, the game it truly was last "created" on.
https://github.com/kwsch/PKHeX/discussions/4842
Introduces the MRNG algorithm and MRNGReversal to model My Pokemon Ranch IV generation, then wires it into Gen4 Ranch gift creation and IV legality checks with a new PIDType.Ranch classification.
Updates the seed-reversal logic in the LCRNG-based recovery methods with more performant lattice-bound implementations and early returns.
Adds more unit tests for Ranch & Channel reversals and expected recovered seed counts/hit-ability.
Refer to the linked LCG_Recovery.py for more details.
https://github.com/StarfBerry/PokeRNG/blob/main/Recovery/LCG_Recovery.py
(big thanks to StarfBerry for the math & documentation; this is merely a port of their work).
From Admiral-Fish's testing for PokeFinder, "shows 17-25% faster. Channel is 12k times faster"
d4512de8dc
Co-Authored-By: StarfBerry <65578604+starfberry@users.noreply.github.com>
Closes#4837
refer pkl generation code that appends the scraped restriction info to the end of the concatenated bin:
1ae1742acd
other adjustments:
- remove Nature set on pgf->pk5 ctor, already set later in SetPINGA
- ensure sane language/version on ctor, distrust OT if language incompatible (not perfect but better)
Battle Revolution uses more of the sanity flags (probably as quarantine) and the checksum algorithm probably isn't updated/stale. Just ignore it for now.
special moves and hard to verify vblanks, just prefer the special move source first. I guess it's also the more statistically likely (players using swarms to catch the species that are much less common otherwise?)
* Localize additional settings PropertyGrid editors
* Handle [Flags] enum with multiple flagged values
* Regenerate translation file
Can be done by pressing CTRL-ALT-D on the Main form when running a debug build of the program.
Also includes new translations for Champions SP stat export for battle templates from an unrelated commit.