Kurt
893f22a664
Extract generation traversal list fetch to static class
2021-04-17 13:09:09 -07:00
Kurt
8e52d2fddb
Xmldoc updates
2021-04-17 13:07:28 -07:00
Kurt
8b180c3122
Fix egg move source indications (were defaulting to gen2)
...
Switch expression had an issue with interpreting the object's type (unboxing, yay)
should probably just return a typed object from the parse, but nah, this is a quick fix.
2021-04-16 17:57:48 -07:00
Kurt
16406d7bba
Allow Strongest Trainer memory on gen6-visitors banned from Maison
...
https://projectpokemon.org/home/forums/topic/57375-pkhex-new-update-legality-errors-contribution-page/?do=findComment&comment=265898
End result is only gen7-origin-in-gen7 are disallowed.
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2021-04-16 08:53:50 -07:00
Kurt
aaae94b739
Fix Gen2 roamer location check
...
https://projectpokemon.org/home/forums/topic/57375-pkhex-new-update-legality-errors-contribution-page/?do=findComment&comment=265885
Location=>pkm.Met_Location
Change the array search for a bitwise and check, for muh efficiency
2021-04-14 13:29:23 -07:00
Kurt
c56ba76601
Expand jp table too
...
6754645a5f
2021-04-12 19:14:23 -07:00
Kurt
6754645a5f
Minor optimization
...
Similar to the index hack done for array shuffling modulo 24 & 1f.
2021-04-12 17:08:57 -07:00
Kurt
758b6e6770
Remove '<->’ aliasing
...
Farfetch’d uses the non-vertical apostrophe, still.
Showdown is consistent with their usage (in/outputting ’), but we'll keep the '->’ for that sanitization just in case other services/users enter the wrong char.
Closes #3185
2021-04-12 17:04:02 -07:00
Kurt
b289c12918
Update Locations.cs
2021-04-12 15:43:21 -07:00
Kurt
7bc733c900
Update SK2 language coercion
...
Closes #3194
Exports are fine, imports with an ambiguous language (can be either JPN or INT) while illegal don't result in the above branches passing it.
Inputs with <=6 chars for OT&Nick will be ambiguous; PKM editor.
2021-04-11 20:50:34 -07:00
Kurt
0d45075d4b
Rewrite settings handling; enhance some user experiences ( #3193 )
...
- Settings now stored as json next to exe
- Settings now exposes all legality checking setttings that can be changed
- Slot hovering now can play cries in MGDB/PKMDB/etc, not just the main boxes.
- Enhanced hover text for mystery gifts and encounters that have movesets
- Show recently loaded save files in ctrl-f browser
- Toggle auto-load savefile setting to be none/detect-latest/last-loaded
- Custom extensions & extra backup paths can now be configured directly in the json settings
- Settings editor now uses propertygrid & tabs.
2021-04-11 18:09:54 -07:00
Kurt
aaa69eac15
Rename Gen3 Champ ribbon to be more accurate
...
been like this since mid 2016
this ribbon can be obtained in either Hoenn or Kanto within Gen3
https://bulbapedia.bulbagarden.net/wiki/List_of_Ribbons_in_the_games#League_Ribbons
2021-04-10 12:09:43 -07:00
Kurt
cfcefca14f
Add splitbreed relearn suggest recursion
2021-04-10 11:03:21 -07:00
Kurt
c7b997865c
Minor clean
2021-04-09 14:52:49 -07:00
Kurt
fb972b9782
Update MoveSetApplicator.cs
...
Closes #3191 , uses a better method
2021-04-09 11:22:10 -07:00
Kurt
a450b56878
Add Gen2 rock smash encounters
...
oops
2021-04-08 20:45:14 -07:00
Kurt
e9c9627ad5
Relearn suggestions + Headbutt Slot Fix ( #3190 )
...
This change revises the logic for an Egg Move's RelearnMoves.
Removes a class that is no longer used
Passes the large value-passing struct byref via in keyword
Revises handling so that early-returned results from the MoveBreed processing are marked with their move source rather than leaving them unvisited.
The moveset processor uses depth search recursion, and returns false if the move that it is processing is not possible for the hatched moveset. If the depth search never reaches the check for base moves, all moves won't be marked for their origins, resulting in the result array not being accurate to use for suggestion purposes.
Yay multi-purpose logic (validation w/early returns & fixing needing fully processed data).
2021-04-08 15:58:09 -07:00
Kurt
3e052987e2
Clean up emerald event info files
...
Closes #3188
Remove tabs from zh
Removes duplicate flag from es
Co-Authored-By: hard <62216646+kamisama6866@users.noreply.github.com>
2021-04-07 22:13:09 -07:00
Kurt
b0700ba281
Extract Gen7 HoF class, extend event flag count
...
4k flags exactly, and probably 4950 for USUM (alignment +1 byte for an even 4960)
The old flag + count (4 bytes total) are just +32 event flags.
2021-04-07 00:20:02 -07:00
Kermalis
0c982a725a
Fix FRLG flags ( #3186 )
2021-04-06 19:17:57 -07:00
Kurt
2f4b754505
Fix incorrect event flag reference
...
Thanks SneakyPeekyFox!
Also fix crash if pressing escape on the save differentiation popup.
2021-04-06 17:26:13 -07:00
Kurt
c05fc854b1
Update 21.04.06
...
Mostly because of Gen3 save editing bugfixes, forcing a new version.
Last version added the PID checks for Gen8; this one adds move ordering checks for eggs. More fun :)
2021-04-05 22:57:05 -07:00
Kurt
223b56d779
Fix gen3 save incorrect destination writes
2021-04-05 22:28:04 -07:00
Kurt
673c0d93a6
Extract event flag/work editing from GUI
...
now <200 lines for editing (ignoring the diff functions), yay
Opening the editor allocates less (no copying save file)
2021-04-05 20:52:49 -07:00
Kurt
d0258fa2f7
Add gs/c resources
2021-04-04 22:14:17 -07:00
Kurt
4579a66a38
Fix deferral for wild slots
...
Base method checks wurmple (not available in swsh), removed.
Hidden ability check returns Partial for any species that cannot be patched, and Deferred for any patched; we don't care, because there aren't any wild species that can't be patched in swsh.
2021-04-04 21:54:24 -07:00
Kurt
63639a1ec8
Add latest distribution raid templates
2021-04-04 20:38:26 -07:00
Kurt
0ad06c6359
Disallow Thousand Arrows/Waves for Format6 Smeargle
...
moves unavailable in that format, same as light of ruin
Closes #3182 ty @DaWoblefet
2021-04-04 19:39:31 -07:00
Kurt
0626b0c29b
Add Breeding move ordering logic, and use in legality analysis ( #3183 )
...
* Initial bred moveset validation logic
Unpeel the inheritance via recursion and permitted moves
* Volt tackle considerations
* Optimize out empty slot skips
* Add tests, fix off-by-one's
* Require all base moves if empty slot in moveset
* Add test to prove failure per Anubis' provided test
* Tweak enum labels for easier debugging
When two enums share the same underlying value, the ToString/name of the value may be either of the two (or the last defined one, in my debugging). Just give it a separate magic value.
* Fix recursion oopsie
Also check for scenario where no-base-moves but not enough moves to push base moves out
* Add Crystal tutor checks
* Add specialized gen2 verification method
Game loops through father's moves and pushes in one iteration, rather than checking by type.
* Add another case with returning base move
* Add push-out requirement for re-added base moves
* Minor tweaks
Condense tests, fix another off-by-one noticed when creating tests
* Disallow inherited parent levelup moves
Disallow volt tackle on Gen2/R/S
* Split MoveBreed into generation specific classes
Gen2 behaves slightly different from Gen3/4, which behaves slightly different from Gen5... and Gen6 behaves differently too.
Add some xmldoc as the api is starting to solidify
* Add method overload that returns the parse
Verify that the parse order is as expected
* Add reordering suggestion logic
Try sorting first, then go nuclear with rebuilding.
* Return base moves if complete fail
* Set base moves when generating eggs, only.
* Use breed logic to check for egg ordering legality
Don't bother helping for split-breed species
2021-04-04 18:30:01 -07:00
Kurt
8c4ca3134a
Fix Gen3 coin get/set
2021-04-04 11:53:55 -07:00
Kurt
ba5bf463e0
Convert static dictionary to switch
...
probably ends up as a jumptable via jit, so better perf?
2021-04-02 16:47:37 -07:00
Kurt
1348f5deec
Allocate smaller buffers for gen3 sav objects
...
n*0xF80 instead of n*0x1000
2021-04-02 14:57:30 -07:00
Lusamine
d3059218c9
Remove gen 8 static encounters from DB if no location ( #3181 )
2021-04-01 15:09:26 -07:00
Kurt
cdc9710869
Fix gen3 record get/set
...
FR and LG are separate version IDs now
2021-04-01 14:15:11 -07:00
Kurt
a92f92e1c5
Fix gen3 TMHM pouch
2021-04-01 14:14:47 -07:00
Kurt
9881beea1e
Update EncounterStaticGenerator.cs
2021-04-01 13:51:00 -07:00
Kurt
1e38f55007
Fix changes not being saved completely
2021-04-01 13:43:06 -07:00
Kurt
4700fdd1e3
Set updated version when resetting personal
...
Closes #3180
Improves handling for corrupt gen3 saves (pokedex cheaters)
2021-04-01 13:37:39 -07:00
Kurt
4cf926f703
Update 21.04.01
...
Latest cumulative update release with mgdb/pget binaries updated.
There aren't any April Fools jokes in this release.
2021-03-31 21:52:15 -07:00
Kurt
69c737b71a
Show Mystery Gift information in hover summary
2021-03-30 20:27:58 -07:00
Kurt
75fb704658
Use already allocated result array
...
All operations overwrite all 4 entries of the result array, so no need to forcibly reallocate the array.
2021-03-30 20:27:40 -07:00
Kurt
5c9ce494cf
Minor perf improvements
...
Defer some value assignments
Pass already known values directly
Pass static references to reduce allocating small duplicate objects
2021-03-30 18:51:53 -07:00
Kurt
645f2b4db5
Revert implicit casting
...
Looks like netstandard2.0 wasn't meant to receive that new c#9 goodie
2021-03-29 00:14:44 -07:00
Kurt
f59d012cda
Add gen3 battle video class
...
Just supports importing dumps (via code), and the GUI supports loading the party data to boxes like the other supported battle video formats.
2021-03-27 23:22:56 -07:00
Kurt
4daf225379
Add location for colo ereader shadows
2021-03-27 20:32:52 -07:00
Kurt
53d3dba74e
Reorder array for ordered search
2021-03-27 20:32:25 -07:00
Kurt
0190098e47
Gen3: Add methods to get/set external event data
2021-03-27 18:58:51 -07:00
Kurt
4bb95e0bd3
Spring raids
2021-03-25 18:28:17 -07:00
Kurt
0c1d13bf4d
Minor tweaks
...
Lift some temporary arrays for more reuse
reuse some temp references
less allocation overall
2021-03-23 23:10:30 -07:00
Kurt
7c926dc09e
More xmldoc
2021-03-23 21:20:02 -07:00
Kurt
3822981590
Rework EncounterCriteria to be ability indexed rather than direct ability ( #3179 )
...
* Exploration: rework ability criteria to ability numbers desired
* Sync remaining changes
* Update EncounterCriteria.cs
* Add xmldoc
* Improve speed of IsDualGender check
* More xmldoc updates
Should be doing this on main but meh, this branch is gonna get merged later
* Fix typo
* Update WC7.cs
* Update PersonalInfo.cs
2021-03-23 17:05:15 -07:00
Kurt
f86291cc1c
Split gen3 encounter listing to have CXD separate
2021-03-21 19:52:48 -07:00
Kurt
5ce3d64996
Disallow lang=2 for dp trades
...
DP English origin are Japanese language; since we 1=>2, we still needed to disallow 2.
2021-03-21 10:34:00 -07:00
Kurt
012f6678ba
Check for dual ability =>evo w/single ability capsule
2021-03-20 17:49:16 -07:00
Kurt
56f24bbe5a
Fix deferral compare
...
neq -> defer
not like it matters for these
2021-03-20 17:47:31 -07:00
Kurt
e547a9cf63
Extract report generation from LegalityAnalysis object functions
...
Can replace the default functionality with your own formatter, I guess.
2021-03-20 13:21:04 -07:00
Kurt
7badb56535
Move strings file to formatting subfolder
2021-03-20 12:47:59 -07:00
Kurt
8d3f990667
Make some properties into consts
2021-03-20 12:47:21 -07:00
Kurt
a71d7d1950
Handle gen3 mismatched ability
...
ty Breil --
https://projectpokemon.org/home/forums/topic/58665-makuhita-in-game-trade-bug-sapphire/
2021-03-20 11:22:56 -07:00
Kurt
8020a44961
Minor simplification
...
All slots are now initialized via constructor, property can now be init!
Optimize some value fetching for gen7b, as the input data has features that can be abused
2021-03-17 22:40:37 -07:00
Kurt
71d355804a
Move enc7b sky encounter fudging to reformatter project
...
50c53d6b33
2021-03-17 21:59:00 -07:00
Kurt
1acefbcf93
Remove sigilyph from g5 breed HA banlist
...
https://projectpokemon.org/home/forums/topic/58657-sigilyph/?do=findComment&comment=265330
2021-03-17 20:20:54 -07:00
Kurt
b4f763f7ef
Move bridge-stony copy logic to pkNX
...
Also trims out empty slots (species=0), less size!
49efb96db9
2021-03-17 18:11:07 -07:00
Kurt
535f464b61
Update EncounterSlot7.cs
...
Closes #3176
2021-03-16 23:49:04 -07:00
Kurt
27cdcb8b0c
Simplify SAV3 loading
...
Remove hardcoded chunk lengths array
Remove cached chunk index array
Handle new-game files correctly (all blocks present check).
Consistently call things sector instead of chunk or block.
Somehow there was a bug with my FRLG save file's box data, which now loads completely?? Neat
2021-03-16 23:32:16 -07:00
Kurt
3b344bd5c3
Add batrev as a blank sav option via code
2021-03-16 18:49:27 -07:00
Kurt
98a80b4bf1
Fix party offset swap
2021-03-16 18:48:33 -07:00
Kurt
33e2c64721
Split SAV3 into version classes
...
Begone are the version-switch cases for value fetching.
2021-03-15 23:51:58 -07:00
Kurt
6bce4eea14
Minor clean
...
Annotations (nullable), some switch cases for readability
2021-03-14 16:16:55 -07:00
Kurt
ac116e0d0b
Add more xmldoc / enum clean
2021-03-14 11:28:46 -07:00
Kurt
649958ee68
Move EReader berry names from tables to settings class
2021-03-14 10:16:09 -07:00
Kurt
b7bb5a0672
Remove unused 0 pp entries at end
...
Array is length checked already
2021-03-14 10:15:45 -07:00
Kurt
7b163147ef
Add case for special headbutt slots
...
Closes #3174
Add more xmldoc for SlotType
Import revised slot-type table, as we've removed "Special" from the regular trees.
ef4b1b2894
2021-03-11 20:52:00 -08:00
Kurt
5cc3322b83
Split RNG class into simple & enhanced
...
ARNG object doesn't need the reversal caches, saves 256KB of memory allocation
Move RNG algorithms & support logic into a subfolder
2021-03-10 22:30:30 -08:00
Kurt
b36aa0ac99
Remove altering cave event tables
...
https://projectpokemon.org/home/forums/topic/58627-altering-cave-alternative-spawn-legality/
2021-03-10 10:10:54 -08:00
Kurt
155e0283ce
Inline some string logic, extract magic values, xmldoc
2021-03-09 21:31:53 -08:00
Kurt
4c45aa99af
Add missing uint cast
2021-03-08 15:33:52 -08:00
Kurt
e32bfcde2e
Minor simplifications
...
Extract RSBOX checksum logic to checksum class
Allocate half as much for gen3 save detect
Simplify some expressions for GC save loading (x - size + offset, when x==size)
2021-03-08 11:39:15 -08:00
Kurt
49541e6073
Rework mainline sav3 to not operate off chunks
...
Previous style was to resize the sav buffer and concat all the storage chunks at the end. Allocated a double save file.
Now, just allocate 3 buffers.
2021-03-07 23:22:07 -08:00
CanoeHope
cb7ee8a64e
Update Gen 6 Event Flags ( #3171 )
...
* Update flags_xy_en.txt
* Update flags_xy_es.txt
* Update flags_xy_ja.txt
* Update flags_xy_ko.txt
* Update flags_xy_zh.txt
* Update flags_oras_en.txt
* Update flags_oras_en.txt
* Update flags_oras_es.txt
* Update flags_oras_fr.txt
* Update flags_oras_ja.txt
* Update flags_oras_ko.txt
* Update flags_oras_zh.txt
* Update flags_oras_en.txt
2021-03-07 18:48:30 -08:00
Kurt
9e4f1d11cc
Show misc encounter details on hover
2021-03-07 12:35:26 -08:00
CanoeHope
b71de0e1d9
Add more Event Flags/Constants ( #3168 )
...
* Update const_c_en.txt
* Update flags_c_en.txt
* Update flags_c_es.txt
* Update flags_c_ja.txt
* Update flags_c_zh.txt
* Update flags_gs_en.txt
* Update flags_gs_es.txt
* Update flags_gs_ja.txt
* Update flags_gs_ko.txt
* Update flags_gs_zh.txt
* Update flags_rs_en.txt
* Update flags_rs_es.txt
* Update flags_rs_zh.txt
* Update flags_e_en.txt
* Update flags_rs_es.txt
* Update flags_rs_zh.txt
* Update flags_e_es.txt
* Update flags_e_zh.txt
* Update flags_e_zh.txt
* Update flags_frlg_en.txt
* Update flags_frlg_es.txt
* Update flags_frlg_zh.txt
* Update flags_dp_en.txt
* Update flags_dp_es.txt
* Update flags_dp_ja.txt
* Update flags_dp_ko.txt
* Update flags_dp_zh.txt
* Update flags_pt_en.txt
* Update flags_pt_es.txt
* Update flags_pt_ja.txt
* Update flags_pt_ko.txt
* Update flags_pt_zh.txt
* Update const_pt_en.txt
* Update const_pt_es.txt
* Update const_pt_ko.txt
* Update const_pt_zh.txt
* Update flags_e_zh.txt
* Update flags_e_en.txt
* Update flags_e_es.txt
* Update flags_e_zh.txt
2021-03-05 18:02:44 -08:00
Kurt
2e10e0757a
Check gen5 egg met location rather than gen6
...
Override the base impl in encstatic, swap const refs
2021-03-03 18:35:26 -08:00
sora10pls
9ee27aaf8f
Update EncounterArea7g/8g
...
Now properly grabs forms for Unown, Arceus, Vivillon, and Silvally.
2021-03-03 17:45:18 -05:00
Easy World
77aefbf20d
Update flags_gs_zh.txt ( #3167 )
2021-03-03 06:59:31 -08:00
Easy World
3c4efd0e29
Update flags_c_zh.txt ( #3166 )
2021-03-03 06:59:12 -08:00
CanoeHope
ef70ad0217
Add Gen 2 Event Constants and Legendary Beasts Flag ( #3163 )
...
* Add GSC Event Constants
* Update flags_c_en.txt
* Update flags_c_es.txt
* Update flags_c_ja.txt
* Update flags_c_zh.txt
* Update flags_gs_en.txt
* Update flags_gs_es.txt
* Update flags_gs_ja.txt
* Update flags_gs_ko.txt
* Update flags_gs_zh.txt
* Update const_c_en.txt
* Update const_gs_en.txt
2021-03-02 22:54:43 -08:00
Kurt
2826049e32
Add boxes unlocked & secret box toggle
...
ty @sora10pls
use box layout editor to change values (0-32 and toggle the flag)
2021-03-02 21:28:53 -08:00
sora10pls
08ecac8cb3
Update upcoming Dynamax Crystal encounters
2021-03-02 11:21:56 -05:00
Kurt
eba704a46b
Add March raid data
...
Wonder if they'll fix the gmax Hattrem ;)
2021-02-28 17:19:17 -08:00
Kurt
c27697c919
Flag contest stats if sheen is present on gen5+ origin
2021-02-27 20:02:18 -08:00
CanoeHope
f9bbf30d50
Update RSE Sealed Chamber Flags ( #3161 )
...
* Update flags_rs_en.txt
* Update flags_rs_es.txt
* Update flags_rs_zh.txt
* Update flags_e_en.txt
* Update flags_e_es.txt
* Update flags_e_zh.txt
2021-02-27 12:39:45 -08:00
Kurt
7afd2ec351
Add Pika 2/25 raids
2021-02-25 16:27:05 -08:00
Kurt
0ba029226c
Add more xmldoc
2021-02-24 18:08:03 -08:00
sora10pls
94597b84e0
Increment Total Battle/Poké Ball usage records on set
...
Closes #3158
2021-02-24 11:12:59 -05:00
Egzon
815da3ff0c
Update spanish translation ( #3160 )
...
* Update LegalityCheckStrings_es.txt
* Update lang_es.txt
2021-02-23 06:27:27 -08:00
Easy World
dcd5f1fce1
update zh translation ( #3159 )
2021-02-22 20:46:02 -08:00
Easy World
4dcd00026b
Update LegalityCheckStrings_zh.txt ( #3156 )
2021-02-21 19:29:12 -08:00
Kurt
89cc722cd2
Add missing met location bypass for pokewalker xfr's
2021-02-21 18:41:42 -08:00
Kurt
b159a43110
Update EncounterArea6XY.cs
2021-02-21 16:50:03 -08:00
CanoeHope
2940a0a47e
Update SM/USUM Event Flags ( #3155 )
...
* Update flags_sm_en.txt
* Update flags_sm_es.txt
* Update flags_sm_ja.txt
* Update flags_sm_ko.txt
* Update flags_sm_zh.txt
* Update flags_usum_en.txt
* Update flags_usum_es.txt
* Update flags_usum_ja.txt
* Update flags_usum_ko.txt
* Update flags_usum_zh.txt
2021-02-21 15:27:08 -08:00
Kurt
32eff161cc
Repopulate translations with latest additions/removals
2021-02-21 15:22:28 -08:00
Kurt
aaa1fd1b4f
Remove obsolete legality checks for safari
...
Hard matches for encounter slot result in these never being executable.
2021-02-21 15:22:10 -08:00
Kurt
c8b12a9ddc
Add safari slots for floette 2/3
...
Move the array into the constructor; let it get garbage collected rather than leaving it as static
2021-02-21 15:18:58 -08:00
Kurt
41096fb56e
Minor xmldoc / usage updates
2021-02-21 15:01:28 -08:00
Kurt
c11cf3d6d4
Extract gen4 pokedex logic
2021-02-21 09:59:10 -08:00
Kurt
f308be38fd
More tweaks
2021-02-19 10:52:26 -08:00
Kurt
d61e646ca9
Minor tweaks
2021-02-18 17:26:06 -08:00
Kurt
83c61a2515
Update EncounterGenerator6.cs
2021-02-17 08:49:32 -08:00
Kurt
31245d0e37
Add mythical table, allow non-mythical legends in latest ruleset (master ribbon)
2021-02-16 21:42:36 -08:00
Kurt
0121028a6b
Furfrou Bank edge cases
...
lmao nice meme
2021-02-16 21:22:20 -08:00
Kurt
165a0f3956
Update EncounterSlot8.cs
2021-02-16 09:54:47 -08:00
Kurt
f5b47f9116
Update EncounterGenerator6.cs
...
Closes #3153
wc6 is the only one with deferred cards that matter
2021-02-16 07:35:55 -08:00
Kurt
f63654d5ae
Force curry mark for generated galar mine hidden slots
2021-02-15 15:21:10 -08:00
Kurt
0d05715582
Fix reflective convert
...
Adding setters for Hidden Power caused the IVs to get mutated, same for some other values. The DateTime could return null if undefined.
Used to be Declared only (properties in destination class), but GBPKM has shared Nick/Lang/IV logic.
513648638f
Just do the GBPKM fixup at the end to copy the remaining properties manually. Set HP type if the conversion was from future 31IV games.
2021-02-15 13:52:49 -08:00
Kurt
6088a95421
Location specific restrictions
2021-02-15 10:31:07 -08:00
Kurt
bfe411d503
Update EncounterSlot8.cs
2021-02-15 10:19:52 -08:00
Kurt
74a5c03cd2
Clean check for overworld IVs
...
Closes #3150
Still need to remove some symbol encounter tables that are unused
2021-02-15 09:04:47 -08:00
Kurt
b82b0da7d9
Add checks for fishing mark
2021-02-14 22:25:59 -08:00
Kurt
90f7de4b27
Update Overworld8RNG.cs
2021-02-14 21:52:34 -08:00
Kurt
34bb0f1fc0
Update Overworld8RNG.cs
...
because archit wants it
2021-02-14 21:45:39 -08:00
Kurt
ebb4e2a56a
Defer curry mark static encounters, flag as invalid
...
Closes #3001 as all marks that can be checked are checked.
Promote trades above static encounters, as it's just met location.
2021-02-14 21:24:31 -08:00
Kurt
927c83d660
Show seed in output, flag correlations that shouldn't
2021-02-14 16:00:43 -08:00
Kurt
5949c3b57e
Minor clean
2021-02-14 15:14:45 -08:00
Kurt
267613270e
Generate slots/static per correlation if appropriate
...
Relocate the SetRandomEC at the tail end of the generator into the specific classes that set EC, so that our correlation generators don't have their EC overwritten at the end.
2021-02-14 12:27:14 -08:00
Kurt
884cd70d43
Minor clean
2021-02-14 10:23:53 -08:00
Kurt
1af27516e6
pid encounter type mismatch: returns
...
Keeping the cryptic message for now :)
2021-02-14 10:20:35 -08:00
Lusamine
205cf481b0
Add Gyarados/Milotic crossover & disallow marks in Motostoke Gym ( #3149 )
...
* Add a Gyarados crossover & disallow marks in Motostoke Gym
* Milotic can be lured across boundary too
2021-02-14 10:13:45 -08:00
Kurt
a65ab2accc
Flag wild slots that don't match 32bit correlation
2021-02-13 22:45:07 -08:00
Kurt
834d0d77ba
Create Overworld8RNG.cs
2021-02-13 18:18:14 -08:00
Kurt
4e92195b80
Add custom save type loading (hacks)
...
plugin adds a reader -> reader checks if it is a non-PKHeX.Core save type (they'd implement their own savefile/etc type) -> returns a matching save object if so
basically bypasses the base PKHeX logic
2021-02-13 01:53:38 -08:00
Kurt
6e4908b21e
Simplify a little
...
path.getfilename will never return null unless you pass null, which we don't do
setchecksums' base method does the AllBlocks.SetChecksums. move the battle team set to right before the usage of SetChecksums
2021-02-13 01:38:09 -08:00
Kurt
f583cdd385
Add valentines milcery def
...
nonshiny is dupe with prior enc
2021-02-12 20:21:13 -08:00
Kurt
c8d815dc59
Shift gen6 event flags to their actual index (+0xC*8)
2021-02-12 20:08:54 -08:00
Lusamine
c0b73575e6
Moltres-1 can be caught at Honeycalm Sea ( #3147 )
2021-02-10 21:02:29 -08:00
Kurt
4cabbc49a2
Add affixed ribbon drop-down
...
Closes #3146
2021-02-10 13:34:49 -08:00
Kurt
1405f2b9ba
Add optional original species parameter
2021-02-09 08:41:34 -08:00
Kurt
2ee88ee010
Update FormVerifier.cs
2021-02-08 23:18:45 -08:00
Kurt
666a1805ba
Relocate formargument logic
2021-02-08 20:42:19 -08:00
Kurt
ff7817a749
Create FormArgument extension logic
2021-02-08 20:39:46 -08:00
Kurt
37cb15749e
Update FormArgument handling for gen6/7
...
Disassociate pk4/pk6 backing byte[] when converting to pk5|pk7, as we no longer make a copy of the byte[] in the pkm's constructor.
Change UpdatePKM to include isParty, as we want it optional to update FormArgument too.
Change FormArgument saving to be handled by FormConverter; kinda not really good to have it there, but nothing else is handling FormArgument values.
Expand IFormArgument to have all FormArgument values exposed. "Maximum" is furfrou only.
PK6: Max is in the "FormArgument" u32, and the remain/elapsed is in party stats (hence the reverting when boxed)
PK7: u8 remain, u8 elapsed, u8 max, u8 unused.
PK8: assumedly the same as PK7, given the disassembly hints that it's the same as past games (even though Furfrou and Hoopa are not in SWSH).
2021-02-08 20:26:53 -08:00
CanoeHope
9a82070c7c
Add and update Gen 3 Event Flags ( #3142 )
...
* Update flags_rs_en.txt
* Update flags_rs_es.txt
* Update flags_rs_zh.txt
* Update flags_e_en.txt
* Update flags_e_es.txt
* Update flags_e_zh.txt
* Update const_frlg_en.txt
* Update const_frlg_es.txt
* Update const_frlg_en.txt
* Update const_frlg_es.txt
2021-02-08 09:04:27 -08:00
Kurt
3876b3b1fa
Allow traded egg while still egg
...
Closes #3144
2021-02-08 08:29:18 -08:00
Kurt
61266e3d49
Use popcount when appropriate
2021-02-07 21:47:43 -08:00
Kurt
62f4499646
Clamp type
...
oops, bitflags leaking through in comparison
2021-02-07 21:40:31 -08:00
Kurt
91253b810a
Indicate duplicate home trackers in report
...
Closes #3143
Reminder: Bulk Analysis can be accessed by control-clicking the verify checksums button :P
2021-02-07 08:34:56 -08:00
Kurt
a2d5d7d769
Show preview for encounter database slots on hover
2021-02-06 22:33:13 -08:00
Kurt
30cbe117dc
Add missing invert
2021-02-05 17:25:38 -08:00
Kurt
5bb4c9e7fe
Update FormVerifier.cs
2021-02-05 17:25:13 -08:00
Kurt
a7f65554ad
Update formarg handling
2021-02-05 16:52:46 -08:00
Kurt
b3029302ea
Cache a mismatched IV encounterslotGO
...
Eggs may come before wild in the pget pickle, so just keep bad matches around until the end.
2021-02-05 14:20:43 -08:00
sora10pls
eab75b7cba
Update HOME date legality
...
Update dictionary to use proper format (yyyy-mm-dd), as well as verifier to properly check met year.
Also updated IsValidDateWC8 to clamp latest met date based on UTC, like with GO encounters.
2021-02-04 09:12:47 -05:00
Kurt
f6f81ec782
Add initial date checks for HOME gifts
2021-02-03 22:57:59 -08:00
Kurt
5745f8b44e
Update AbilityVerifier.cs
2021-02-03 22:57:23 -08:00
Kurt
51bc48a6a8
Add Cramorant raids
2021-02-03 22:44:15 -08:00
Kurt
335ba2447e
Default parsesettings tradeback to true
2021-02-03 15:39:30 -08:00
Kurt
230073876f
Add catch rate for staticencounter1
2021-02-03 15:22:48 -08:00
Kurt
5350cb4ab6
Update EncounterTradeGenerator.cs
2021-02-03 14:50:15 -08:00
Kurt
ac464e0c57
Update EncounterStatic2E.cs
2021-02-03 13:49:14 -08:00
Kurt
36670292ad
Futureproof check regardless of packing filename
...
When making the wc8 bin, the filename v1/v2 may be first or second if the EventsGallery changes its syntax. Don't assume the v2 comes after v1. Just check for mismatch
2021-02-03 13:31:37 -08:00
Kurt
7d5596995d
Update WC8.cs
2021-02-03 13:29:48 -08:00
Kurt
862403858b
Refactoring
...
no functional change
2021-02-03 11:33:09 -08:00
Kurt
16ff74ccc0
Update WC8.cs
2021-02-02 22:57:44 -08:00
Kurt
9d9eb935b1
Improve partial match bleed through
...
Checks partial matches in the loop rather than outside; it'll only settle on the partial match if there's nothing else to settle on.
Gen1/2 generators can have partial matches bubble up before actual matches (gen1 fighting gen2).
2021-02-02 22:40:06 -08:00
Kurt
2b00e310ae
Handle some gen1/2 static generating easier
...
I should probably have slot1/2 and static1/2 and trade1/2 implement GetBlank so that they can flexibly return a japanese/int/(kor) from template rather than default int, but eh
2021-02-02 22:14:33 -08:00
Kurt
e33468db96
Mark (JP-BU)/(JP-GN)(EN-BU) as RB
...
BU is only Japanese
2021-02-02 22:13:24 -08:00
Kurt
33fc33a165
Add more nickname logic checks
...
Variant nicklang OT can nickname if it's the handler
2021-02-02 22:12:36 -08:00
Kurt
cd286d6923
Yield specific static encounters for rby/gsc for moveset gen
2021-02-02 20:25:59 -08:00
Kurt
fa09c6bc25
Update NicknameVerifier.cs
2021-02-02 19:21:17 -08:00
Kurt
3d99902023
Add HOME nickname verification rules
2021-02-02 19:14:38 -08:00
Kurt
107d9a71d5
Fix transfer for Gen1 in-game trades
2021-02-02 16:27:31 -08:00
Kurt
630d84c8b6
Check encounter moves for gen1/2 (no relearner)
2021-02-02 15:39:56 -08:00
Kurt
21e1e6def5
Check format 3/4 for setpidnature
2021-02-02 15:39:41 -08:00
Kurt
78cc0098b3
Update EncounterStatic2.cs
2021-02-02 10:41:28 -08:00
Kurt
f7f8597281
Handle game-specific slot fetch for gen1/2 more explicitly
2021-02-02 10:20:30 -08:00
Kurt
8705c26adc
Bake cosplay moves into the encounter template
...
yay records `with` syntax
don't bother specifying form6's moves, they're all levelup moves.
2021-02-02 09:40:58 -08:00
Kurt
f85ee7615d
Replace dashes with spaces for cosplay pikachu (rock star)
...
Can't replace all dashes with spaces, because Pom-Pom Oricorio exists.
2021-02-02 09:19:29 -08:00
Kurt
48c2c43293
Re-dump slots with revised SlotType definitions
2021-02-01 23:43:52 -08:00
Kurt
e55dae8f7b
Remove headbutt available check; already pruned
...
The Encounter dumper project already excluded all headbutt tree areas that can't be accessed. Every slot that is present in this project can be accessed.
Move the tree check to the eslot2 object
Check all gen2 slots regardless of crystal origin, since we now tag all of them with location IDs.
2021-02-01 21:22:58 -08:00
Kurt
a7afa58156
Rework partialmatch hidden check
...
Want to check if it has been evolved from the original species, and the current species is a non-changeable hidden ability
2021-02-01 20:45:48 -08:00
Kurt
5ef1850e46
Disallow marks on GO encounters
2021-02-01 20:34:04 -08:00
Kurt
4e9908a53d
Remove unnecessary logic
2021-02-01 20:17:17 -08:00
Kurt
03940b54a5
Update WB7.cs
2021-02-01 18:39:34 -08:00
Kurt
9124a3c62b
Improve handling of multi-nicknamed mystery gifts
2021-02-01 18:35:37 -08:00
Kurt
6d41d6a17c
Fix casting issue for mystry seed fetch
...
rand32 -> int32 can yield negative, when modulo'd can be negative (bad index)
2021-02-01 10:53:40 -08:00
Kurt
8a2d115df3
Sanity check nature for Criteria parameter
2021-02-01 10:45:53 -08:00
Kurt
afbf1d997b
Try to detect vc transferred species, don't assume most evolved
2021-02-01 09:52:25 -08:00
Kurt
7833d12f95
Simplify shared egg move array get
2021-01-31 23:07:14 -08:00
Kurt
a43f6aa71a
Add february dist raids
2021-01-31 22:40:47 -08:00
Kurt
f3ef88a5e9
Respect ability from criteria
2021-01-31 21:53:11 -08:00
Kurt
2dbdd83952
Update NicknameVerifier.cs
2021-01-31 21:43:33 -08:00
Kurt
34ac8167f2
Update EncounterSlot.cs
2021-01-31 21:42:24 -08:00
Kurt
d2d20c13e0
Don't emit JP-BU as a random gameversion
2021-01-31 21:28:33 -08:00
Kurt
fa3fe0a380
Invert check, fix xmldoc descriptions
2021-01-31 20:12:46 -08:00
Kurt
7d6249853d
Add gen8 case
...
This method is only used by BulkStorage, which is unused. Just keeping this up to date.
2021-01-31 13:10:03 -08:00
Kurt
1ece844f78
Partial match HA species without a HA possible
...
A captured metapod cannot have hidden ability via ability patch, but a captured caterpie evolved into metapod can, assuming it existed as caterpie.
2021-01-31 13:05:36 -08:00
Kurt
4456a9dc7a
Update nickname rules for gen8/=>gen8
...
Add a setting so that can flag deceptive species nicknames (even though it may be possible).
2021-01-31 12:37:03 -08:00
Kurt
09e5dde609
Add gen6 key item arg logic
2021-01-31 10:53:41 -08:00
Kurt
fd4034272b
Update WC8.cs
2021-01-31 10:36:33 -08:00
Kurt
d8e75ee85a
Force Japanese language for JP-BU safe language fetch
2021-01-31 10:19:12 -08:00