Kurt
cd12962a50
Remove Tradeback state caching in PKM data
...
Since we have more metadata with move learn sourcing, we can check if it was traded to gen2 to get new moves / deleted.
Adjust call sites appropriately
might have some issues, to be ironed out maybe
2021-08-20 15:59:54 -07:00
Kurt
bedc52943e
Trailing commas
...
No functional change
2021-08-20 13:49:20 -07:00
Kurt
c6342a163f
Minor clean
...
variable swaps, simplifications
2021-08-20 13:42:25 -07:00
Kurt
9f249ef4d6
Add bounds check for API purposes
...
chris doing things funkily, might as well range check ourselves before blindly accessing the array
Use a const value for vivillon max wild form value
2021-08-19 18:59:24 -07:00
sora10pls
5379bad7ff
Add new distribution raids 👻
2021-08-19 21:20:56 -04:00
Kurt
934628b077
Pre-filter memory mismatch on moves
...
All over the place with prior commits; everything should be correct (and more robust) now.
2021-08-15 14:23:15 -07:00
Kurt
31ddaf2bc4
Don't defer on ability mismatch
2021-08-15 11:07:59 -07:00
Kurt
42330eb771
Memories and special moves, bite the bullet
...
Allocate a list :(
We need to keep all the secondary deferred around, since they have special movepools.
2021-08-15 09:47:31 -07:00
Kurt
7c60363b38
Rework match ranking to have multi levels of deferral
2021-08-15 09:28:47 -07:00
Kurt
24e77e7382
Handle form changing for move memories
...
Doesn't invalidate any of the statements made today.
ty @Lusamine for identifying these cases.
2021-08-14 20:20:13 -07:00
Kurt
db1cbf8cce
Handle raids with specific TR moves tripping memory checks
...
Defer the ones that have the memory and don't have the move; we'll likely find another match else settle for this one.
2021-08-14 19:47:52 -07:00
Kurt
9793e9f1a0
Minor clean
...
Slap on interface for EntreeSlot
De-magic some 💯 numbers to indicate what they're doing
Improve perf of move-match-relearn check
Add an "else" as valid is never both values (history verifier)
2021-08-13 15:36:30 -07:00
Kurt
a0bdb1a40e
Fix OT->HT memory string output for HT verifier
...
Use the `memory.Handler string` value rather than recomputing. (lines 51, 64 pf memverify)
2021-08-12 17:33:31 -07:00
Kurt
cad09e68bb
Fix source string returns
...
I blame the goofy "move egg" names confusing me
Reorder some so that the switch case is sequential and can be optimized by jit as a jumptable
2021-08-12 17:32:25 -07:00
Kurt
89372145b7
Extract legality report (invalids) methods
2021-08-06 16:12:11 -07:00
Kurt
b8e203bdef
Remove invalidmatch tracking
...
The Encounter verifier method rarely rejects as our inner encounter matching methods are all-or-nothing. Don't bother keeping references for this bloat.
Ran the unit tests and nothing hit this logic.
2021-08-06 15:38:39 -07:00
Kurt
9f8642f7d2
Hide Generation/Game setters behind mutation method
2021-08-06 15:35:49 -07:00
Kurt
391c6d4af6
Use Generation property when available
2021-08-06 15:34:28 -07:00
Kurt
69a907c5e7
Pass encounter object to innermost ability verifier
...
Fixes stuff for format3 CXD encounters as the side-games applied ability bits regardless of a second ability existing.
2021-08-06 15:26:21 -07:00
Kurt
70e10478dd
Extract fog boost location check
2021-08-06 14:54:32 -07:00
Kurt
c126cd968a
Only boost templates to 60 in wild area
...
No functional change for legality checks, so should be fine unless you're trying to get tiny edge case stuff.
2021-08-06 09:42:27 -07:00
Kurt
5ec2b12ae5
Handle some warnings for release build
...
Unused usings; just make PIDType stuff visible.
2021-08-06 09:41:39 -07:00
Kurt
0f3e5095c5
Replace more linq usage
2021-08-05 22:39:38 -07:00
Kurt
e18c2d8fa4
Replace linq with similar but faster logic
2021-08-05 20:47:32 -07:00
Kurt
5c472a400d
Expand shorthand parameters
...
int i => int index, or whatever the value is representing.
2021-08-05 20:33:25 -07:00
Kurt
edcf3a9bd6
Remove duplicate no-item for gen6 held item list
2021-08-05 18:54:08 -07:00
Kurt
c409026a69
Merge branch 'master' of https://github.com/kwsch/PKHeX
2021-08-05 17:16:15 -07:00
Kurt
4e669468c3
Pass parse result list to encounter info fetch ctor
...
Old: when an encounter is found, we copied the contents of the list into our analysis list.
Since we stop when we find a suitable encounter, the old list is useless. By sharing the same list, there's no consequence. Reduces allocation by ~56B each analysis object!
Simplification reduces the amount of method calls by 1
2021-08-05 17:16:13 -07:00
sora10pls
2766c2c900
Add new distribution raids
...
Apparently the theme is summer
2021-08-05 20:03:56 -04:00
Kurt
2f9a60b5e6
Organize byte resources into subfolders
2021-08-05 15:35:29 -07:00
Kurt
cc0397f087
Misc tweaks
...
Improved readability
2021-08-05 15:18:43 -07:00
Kurt
ab3795abaa
Handle enc->pk7 form-random vivillon Island Scan static
2021-08-05 12:36:47 -07:00
Kurt
0a74f6c33d
Ignore species for rby if not present
...
encounter moves not present for those, lol
2021-08-05 12:36:19 -07:00
Kurt
d1fb38b9cf
Set correlation with unrestricted details if failed
2021-08-04 19:58:25 -07:00
Kurt
616acc8bbd
Misc fixes
2021-08-04 19:54:04 -07:00
Kurt
83a72df7cc
Include gen1 encounter moves in not-needed list
...
Might result in some illegal matches as it includes it for all evolutions in the chain, but whatever. Could probably rewrite the generator to only generate for different starting-species, but it's fine now.
Inline the max level calc
2021-08-04 19:07:20 -07:00
Lusamine
0f1f0166ce
Check for Fishing flag in case of grass spawns
...
Handles exceptions like Chewtle in high level area of Route 2, which are
in the Normal weather grass slots as well as the fishing slots.
2021-08-03 23:12:09 -05:00
Lusamine
2858c6636d
Minor adjustments to area slot extensions
...
Invert check for crossover to disallow hidden (there are more symbol
tables). Galar Mine No. 2 has hidden fishing slots as well as curry.
HiddenMain3 SlotType was never used so it was removed.
Updates pkl to remove HiddenMain3.
2021-08-03 13:03:04 -05:00
Kurt
8a75435dc0
Add crossover from-to stub for anubis
2021-08-02 23:54:44 -07:00
Kurt
277b1b658d
Un-nest 3ds console region bitflags
...
Insert 3DS into the name to indicate that it's for the 3DS
2021-08-02 20:59:40 -07:00
Kurt
66f1b23dc6
Consider the "SkipFormCheck" for gen7 scatterbug static
...
Rework to match the encounter slot form-ambiguous checks
2021-08-02 20:45:52 -07:00
Kurt
140f814f90
Update EncounterMovesetGenerator.cs
2021-08-02 20:25:16 -07:00
Kurt
d0a558a211
Update MoveList.cs
2021-08-02 19:56:09 -07:00
Kurt
1efebe51d3
Simplify Country/Region/ConsoleRegion to byte from int
...
Only exists in gen6/7 games.
2021-08-02 19:43:57 -07:00
Lusamine
928abfac3e
Properly check Vivillon form legality ( #3235 )
...
This uses more current crowdsourced information to update the country
and subregion tables for Vivillon forms. It's possible to change the
country/subregion within a 3DS console region, so only forms that cannot
be obtained for a console region are flagged as illegal. If a form is
not native to the country/subregion, it is marked as Fishy instead.
https://docs.google.com/spreadsheets/d/e/2PACX-1vTVVOEZbXLVQvjIdzGACpZ_IrOWgVDBr_Wa-xULK3191BP9lf1tep-z-PsmcAfaH_aE56j3GHDX_9UO/pubhtml
2021-08-02 08:57:21 -07:00
Kurt
c1f13923c8
Update EncounterSlot7.cs
2021-08-02 08:57:03 -07:00
Matt
f6a652c360
Update RibbonVerifier.cs
...
Official announcement in Pokémon HOME (mobile) states that Series 10 lasts until October 31, not August 31 as mentioned on Serebii.
2021-08-02 10:49:32 -04:00
Kurt
26f7364a9c
Condense more expressions
...
Easier to read as pattern matching
2021-08-01 16:21:30 -07:00
Kurt
846f9506fb
Misc form handling update (EncounterSlots)
...
Mark gen7 Minior slots with 31
Mark gen2 Unown slots with 31
Mark gen4 Unown slots with 31
2021-07-31 22:41:52 -07:00
Kurt
f46bda3f75
Condense some expressions, parameter names
...
Enable warnings as errors, so that future pull requests can't submit nullable warning content
2021-07-31 22:38:04 -07:00