Kurt
86fde6d42e
Memory 3 updates, revert todo
2021-08-22 23:39:23 -07:00
Kurt
3a8947cc59
Allow battleversion-ambiguous relearn move
2021-08-22 22:23:59 -07:00
Kurt
a631e5cb4e
Rearrange how some memory info is checked
...
Split into different game contexts
2021-08-22 16:41:57 -07:00
Kurt
b099b8d82c
More genloc memory refinements
...
starting to see the flaws in how things are organized
2021-08-22 11:10:29 -07:00
Kurt
40d1249f1e
Add genloc checks for gen8 memories 1,2,3
...
Can definitely be refined as these memories can restrict to capture/hatch/gift encounters. The multi-value arrays can also be restricted for non-hatches too (maybe first element if WasEgg?)
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
2021-08-22 01:40:08 -07:00
Kurt
28e7473f1a
Condense some expressions
2021-08-22 01:26:28 -07:00
Kurt
6112c9c91c
Condense into expression, add future-evo case
2021-08-22 00:06:02 -07:00
Kurt
92d1666970
Make PIDIV a readonly struct
...
Add tests to ensure the optimization remains in effect later
2021-08-21 18:24:38 -07:00
Kurt
65c5890e1f
Make NPCLock a readonly struct
...
Reduces allocation, improves locality of data since the contents take less size than a pointer (can pass byval)
2021-08-21 17:44:43 -07:00
Kurt
ae0ca49628
Arrange CXD Shadow encounters, add ShadowID documentation
2021-08-21 17:01:50 -07:00
Kurt
8f0fb902d1
ArgumentException -> ArgumentOutOfRangeException
2021-08-21 16:51:50 -07:00
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