Lusamine
3627ff4104
Disallow specific memories from SWSH
...
Never observed these in 20k+ memories, and I wasn't able to trigger them myself either.
2021-08-29 10:42:16 -05:00
Skadiv
809557715d
Add Wyndon to the sign memory locations ( #3252 )
2021-08-29 09:38:15 -05:00
Lusamine
e85a75e796
Add Wyndon as a location for sitting on bench memory
2021-08-29 01:28:42 -05:00
Kurt
02e9d07745
Update EvolutionTree.cs
2021-08-28 14:44:07 -07:00
Lusamine
81f2744af2
Add story raid species for Dynamax memory
2021-08-28 15:55:47 -05:00
Kurt
c65fda5e7d
Allow HM moves in gen2-4 eggs
...
Yay silly inheritance
ty atrius
2021-08-28 13:54:58 -07:00
Kurt
7434af48bf
Fix HT know move memory deferral
...
Checks if it can know the move up until the current format, rather than origin game
2021-08-28 13:44:10 -07:00
Kurt
65b7102d4e
Permit gen1/2 format eggs to have eggmoves (GS)
...
Thanks Psyduck!
https://projectpokemon.org/home/forums/topic/57375-pkhex-new-update-legality-errors-contribution-page/page/10/?tab=comments#comment-268691
2021-08-27 23:11:21 -07:00
LegoFigure11
eeaf19f1c2
Fix incorrect met locations in XD GoD ( #3250 )
...
The Hexagon Brothers can be rematched in Phenac City if their shadows aren't snagged at the Cipher Lab, but Seedot, Houndour, Gulpin, and Spheal are all encountered outdoors (Phenac City (XD) [100]). Mareep and Baltoy are both encountered downstairs in the Mayor's House (Phenac City (XD) [096]).
Relevant .xk3 files: https://cdn.discordapp.com/attachments/537784151970021376/880816626176495626/Phenac_Rematches.zip
2021-08-27 07:33:12 -07:00
Kurt
92f30e26cc
Add misc memory checks for gen8 memID 42/51/70 args
...
Closes #3249
Co-Authored-By: Skadiv <62726360+Skadiv@users.noreply.github.com>
2021-08-26 21:20:52 -07:00
Kurt
87a268fa7f
Clean up memory generation parameter fetching
2021-08-25 19:45:47 -07:00
Kurt
0e2dac3ff6
Minor tweaks
...
Empty return for invalid species encountertemplate fetch
Expose property for ck3 @ 0xD7
show legal memory context items rather than gen8 always
2021-08-25 19:23:15 -07:00
Kurt
6ea0d9f3bb
Handle bank transferred memory feelings 5->6
...
Apparently they don't use the bit-permission table in Bank to get a random feeling, and instead just do rand(0,10).
Our logic to set a random feeling for bank transfers is still fine, because we set [0,10) within the bit table.
2021-08-25 10:37:53 -07:00
Kurt
c1a7d04c5c
Fix ck3 fateful read
...
Hope 555e81205d
was actually incorrect and that this is finally correct
2021-08-24 22:23:45 -07:00
Kurt
ffcd2e96e0
Fateful Mattle Ho-oh on japanese colosseum
...
must have been an oopsie they reverted for international releases
Thanks @liketolike !
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
#3242
2021-08-24 19:29:51 -07:00
Kurt
6e3bcd5b66
Encounter visualization: Show ball and differentiate visually
2021-08-24 14:03:20 -07:00
Kurt
2e3a6cc719
Fix memory 6 (pokecenter) compare for gen8
2021-08-23 23:06:33 -07:00
Kurt
a3633bb562
Update MemoryContext8.cs
2021-08-23 19:15:39 -07:00
Kurt
d684b9fa14
Disallow starter pika/vee on opposite game storage
2021-08-23 16:46:03 -07:00
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