Kurt
3d6846eb3e
Permit more HA breeding
...
Remove non-galar species from gen8 banlist
Add Ban_NoHidden8Apricorn -- all of these aren't even breedable in-game anyways, but futureproof for DLC? ;)
2020-02-12 18:40:41 -08:00
Kurt
258993ad0c
Flag missing tracker regardless of setting
2020-02-12 18:29:47 -08:00
Kurt
63044cd3f9
Add tracker unique text & setting
2020-02-12 18:10:24 -08:00
Kurt
fd4690714e
Add duplicate tracker SAV check
2020-02-12 16:37:59 -08:00
Kurt
3e9262efbb
Only check memory feeling restriction if gen6
...
dunno restrictions for gen8 memories.
2020-02-11 22:25:50 -08:00
Kurt
87bb4c4138
Add more met locations
...
https: //projectpokemon.org/home/forums/topic/56227-bug-missing-game-encounter-affecting-legality-status/
Co-Authored-By: pp-theslayer <pp-theslayer@users.noreply.github.com>
2020-02-11 20:50:26 -08:00
Kurt
d97db1cc40
Allow pk7->pk8 pikachu cap transfer
2020-02-11 20:36:10 -08:00
Kurt
ebf20d927b
More transfer implications
...
Totems are downsized to regular
araquanid, togedemaru, and ribombee totems can't transfer (at the moment)
2020-02-11 20:11:33 -08:00
Kurt
217156d2b9
Continued comparisons & implications
...
pk7->pk8 doesnt assign height/weight (zero), require zero for legal
p*7->pk8 assigns a tracker value, enforce something is present for legal
copy OT friendship (oops)
2020-02-11 18:35:54 -08:00
Kurt
7523639b48
Unbanana galar transfers
...
Initial restriction removal, probably more implications
Need to reverse transfer logic
2020-02-11 17:29:10 -08:00
CanoeHope
29814d4251
Change FRLG hatch location ( #2700 )
...
Better location.
2020-02-11 15:39:27 -08:00
CanoeHope
d3a284699f
Change Gen 5 hatch location ( #2695 )
...
Skyarrow Bridge is more popular to hatch at legitimately.
2020-02-10 12:52:55 -08:00
Kurt
cb5d8186fd
Defer formargument for raids
...
Closes #2693
Account for runerigus too, if they ever have a den for it ;)
Co-Authored-By: crzyc <crzyc@users.noreply.github.com>
2020-02-09 15:04:45 -08:00
Kurt
b94430a89f
Ban bred HA voltorb in beast ball
...
https://projectpokemon.org/home/forums/topic/56212-legality-ha-voltorb-in-beast-ball/
https://www.reddit.com/r/BankBallExchange/comments/7boi0h/new_apricorn_and_beast_ball_combinations_for_usum/dpwu5in/
ty Prophet丶W
2020-02-08 20:24:02 -08:00
Kurt
4656978a43
Enforce toxtricity encounters to have restricted nature
2020-02-08 15:08:12 -08:00
Kurt
e9e1e5e166
Fix encounter find for passed egg moves
...
https://projectpokemon.org/home/forums/topic/56188-encounter-database-froslass-error/
2020-02-08 13:36:37 -08:00
Kurt
8e5876b96f
Expose item->form methods
2020-02-07 21:34:25 -08:00
Kurt
6e5ef9667f
Add female gender check for stadium
...
Closes #2687
2020-02-06 21:25:13 -08:00
Kurt
29258ca501
Add tox nests
2020-02-06 17:11:39 -08:00
Kurt
81c78be8c7
Change default gen7 hatch location
...
ty @CanoeHope #2685
2020-02-05 19:42:22 -08:00
Kurt
d3d6225a73
Fix unown ?! order
...
Closes #2683
ty @Kermalis !
2020-02-04 19:03:55 -08:00
Kurt
5ac9782320
Form check wild unown
...
Closes #2682
2020-02-04 17:38:35 -08:00
Kurt
867f62c555
Check multi lang stadium OTs
...
Closes #2671
really wish the gen1-3 event data was serialized ;)
2020-02-03 20:10:07 -08:00
Kurt
522dbdbe32
Flute boost/decrease 3->4
...
Closes #2678 ty @Rayqo
dat level 1 wild pokemon 👍
2020-02-03 18:40:31 -08:00
Kurt
222d95e742
Add bridge field loc for nest35
...
https://projectpokemon.org/home/forums/topic/56154-illegal-theivul/
2020-02-01 21:45:33 -08:00
Matt
cbf6c1e1b6
Unban Star Sweet and Ribbon Sweet ( #2670 )
...
Item drops from the new Milcery distribution Raids.
2020-01-30 19:30:17 -08:00
Kurt
774dec5123
Add milcery distro nests
2020-01-30 16:44:51 -08:00
Archit Date
c8a16a1f71
fix yamask/runerigus form handling ( #2669 )
...
fixes #2668
2020-01-29 16:11:56 -08:00
Kurt
dd07126d83
Relocate level suggestions to EncounterSuggestion
2020-01-28 16:21:38 -08:00
Kurt
3111a8dc62
Cast the array a little safer
...
bad hacks with invalid future gen evolutions yield no evolution data, which results in empty arrays.
2020-01-26 23:58:14 -08:00
Kurt
f0fb6a2371
Play with living dex gen a little
...
generate altforms too, store in a list
2020-01-25 22:54:25 -08:00
Kurt
c301ce88ab
Update Random to be a bit more thread safe
...
Random isn't thread safe; users of PKHeX.Core.dll might run multithreaded operations (see PKSM + ALM), so we need to have a thread-specific RNG available.
Thread Local get; to improve performance, save the random object locally whenever it is used more than once in the method.
https://docs.microsoft.com/en-us/dotnet/api/system.threading.threadlocal-1?redirectedfrom=MSDN&view=netframework-4.8
https://stackoverflow.com/questions/18333885/threadstatic-v-s-threadlocalt-is-generic-better-than-attribute/18337158#18337158
2020-01-25 21:49:52 -08:00
Kurt
9b062bc770
Remove unused legality check strings
...
Fix spanish translation messages not being loaded
2020-01-25 17:37:47 -08:00
Kurt
ffa70e7626
Move files
...
no functional change, just putting stuff in a more appropriate folder
2020-01-25 17:22:20 -08:00
Kurt
3813d5dba9
Readonly init EvolutionMethod
...
Add xmldoc
2020-01-25 15:42:17 -08:00
Kurt
9c28ffacc0
Simplify N's pkm encounter handling
...
Readonly PID; sparkle is True always, so it's a const instead of a mutable property.
2020-01-25 12:31:56 -08:00
Kurt
7a7358d0e5
Flag g4 bad met locations for hatched eggs
...
Traded eggs in gen4 can have from any game (since version isn't updated on hatch).
Use the hashsets, and remove the incorrect array. The incorrect array allowed stuff like Pokéwalker to be a "valid met location", hah.
2020-01-25 12:19:59 -08:00
Kurt
c730dfa1ba
Remove empty ushort[1], improve item combo fetch
...
held item list now allocates less (concat arrays instead of ienumerables)
item list already prunes out of range items, so simplify data source fetch
simplify item list prune (return as list, so we can call RemoveAll instead of Where.ToList)
2020-01-24 23:29:45 -08:00
Kurt
94eee74e5c
Add another rhydon lvl 46 loc
...
Ty @slp32 for reporting in #2633 , && anubis (discord) for finding the actual level without being asked /s
2020-01-24 17:56:42 -08:00
Kurt
ecfcbbc4cb
Verify full raid result with known seed
2020-01-23 00:11:07 -08:00
Kurt
d9c162b5cf
Fix criteria comparison
...
Closes #2651
2020-01-21 09:05:39 -08:00
Kurt
5be9c6bcc8
Remove unnecessary null handling
...
objects are no longer null
2020-01-20 23:32:05 -08:00
Kurt
5bb51b07ac
Check Footprint Ribbon for gen8
...
gen7 used same as gen6, we just need to restrict gen!=8
add placeholder LGPE origin check; that'll likely throw a wrench into things when HOME happens (next month?).
2020-01-20 23:09:28 -08:00
Egzon
1a3d8b1fab
Fix Seedot and Nuzleaf swarm moves ( #2648 )
2020-01-20 14:31:59 -08:00
Kurt
d788af45cd
Unban HA mimikyu
...
Only one encounter for mimikyu = A4 }, // Mimikyu
Update manual banlist to permit it
Closes #2646
2020-01-19 19:02:53 -08:00
Kurt
63ea57436f
Make the template IV/contest stat array readonly
...
See prior commits
no longer need to clone subarrays, they're shared immutable
2020-01-18 19:11:29 -08:00
Kurt
843330a375
Remove unnecessary null checks
...
this is a null free project /s
dont provide null, else u deserve to get an exception
2020-01-18 16:57:25 -08:00
Kurt
8312c52cc1
Make Move[] readonly list
...
contract: don't modify the template movesets
mystery gift now exposes IRelearn, remove unnecessary type checks
2020-01-18 16:46:38 -08:00
Kurt
0cd9c47953
Make Relearn array for encounters readonly
...
No change em
2020-01-18 16:31:24 -08:00
Kurt
bd9ec72d98
Misc tweaks
...
Add more direct legality analysis constructors
evo count is >= 1
fix invalid test message
disallow gen2 moves if transferred from gen1
use ^1 instead of len-1 for netcore test project
2020-01-16 23:22:54 -08:00
Kurt
c739af4767
Extract item restrictions to separate class
...
Move similar classes to folder
2020-01-16 19:27:29 -08:00
Kurt
baf46f9a3a
cache form/species/format on first get
...
very minor perf consideration, since those values are immutable (except for cross thread shenanigans)
2020-01-16 19:23:29 -08:00
Kurt
e97970023a
Add swsh battle-only forms
2020-01-16 19:03:47 -08:00
Egzon Qukovci Jusufi
deece433a5
Add SWSH Legends to the Tables ( #2637 )
2020-01-15 20:49:19 -08:00
Kurt
aecc08f65c
Remove duplicate electrode encounter
...
3IV requirement isn't required for wild slots that are also at the same level-location
Closes #2636
ty @dstevenson12 !
2020-01-14 18:39:25 -08:00
Kurt
f4162d2dce
Add another corviknight location
...
ty anubis
Closes #2633
2020-01-13 22:36:00 -08:00
Kurt
11978dab4f
Make pgt ranger manaphy IsEgg true
2020-01-12 23:00:32 -08:00
Kurt
81f280f4d1
Update EncounterSuggestion.cs
...
weaken legality check, we only check moves
2020-01-12 20:49:33 -08:00
Kurt
5a20dc707d
Rewrite encounter suggestions
...
Don't clone legality templates, and keep suggested information minimal -- this isn't automod
2020-01-12 19:40:36 -08:00
Kurt
eaeebea923
Remove another method shortcut
...
EncounterSuggestion needs a facelift anyway
2020-01-12 17:00:03 -08:00
Kurt
3b5c7062ac
Minor perf improvement
...
pass in, don't constantly fetch
helps generated IL code be slightly more efficient
2020-01-12 16:49:12 -08:00
Kurt
a8c28369b6
Add Yamask-1 max hp calc for formArg compare
...
Closes #2632 ty @CanoeHope
2020-01-12 16:22:56 -08:00
Kurt
d5948b9dbe
Add relearn moves to Except comparison
...
Burn Up ho-oh is dumb
2020-01-12 16:09:35 -08:00
Kurt
48fd36a9a2
Handle g4 shedinja learn case too
...
change 291/292 to Shedinja/Ninjask for easy enum reference check
2020-01-12 14:34:29 -08:00
Kurt
61ecb52347
Remove unnecessary allocation
2020-01-12 12:06:33 -08:00
Kurt
82eaf39d45
Remove method alias for init mysterygift db
2020-01-12 11:41:23 -08:00
Kurt
9ed441885a
Remove manual personal info fix
...
Change FDDC from 47 -> 41
SM is 40, as the tutor isn't possible in that game.
2020-01-12 11:39:43 -08:00
Kurt
f6fb54aecc
Move shedinja/egg evo chain short circuit
...
Some routes use the evolutiontree directly instead of this method (with the same name); should probably consolidate but meh
This causes Shedinja to yield the correct evolution chain when called directly (because nothing naturally evolves to shedinja; it's created out of thin air as a clone)
Take the egg short circuit with it to keep things simple
2020-01-11 21:43:58 -08:00
Kurt
0eca1bbd1c
g3 shedinja api usage fix
...
see comments in src for justification
need ninjask moves if gen3; dl.Count is guaranteed to be >= 1
2020-01-11 21:41:24 -08:00
Kurt
d3f6d5935f
Add form argument legality checks
...
Closes #2611 (Alcremie)
Closes #2604 (Runerigus)
2020-01-10 16:33:40 -08:00
Kurt
fdd321dd8c
Make memory 6 fishy if textvar present
...
Closes #2621
2020-01-10 16:08:34 -08:00
Kurt
be92d4436e
Rearrange argument check order
...
USUM evo table has Meowstic with Arg=-1, which early aborted.
Closes #2627
2020-01-10 16:02:22 -08:00
Kurt
718d00f970
Ban ha slowpoke-1
2020-01-09 23:50:15 -08:00
Kurt
51d2fc9d93
Update with slowpoke-1/new raid data
...
TransferVerifier: Revise transfer check to allow slowpoke-1 (slowpoke-0 is flagged via next check)
2020-01-09 18:44:45 -08:00
Kurt
0dd4d1fe7a
Remove unnecessary casts
2020-01-06 17:50:18 -08:00
Kurt
3d581283c2
Minor clean
...
move Text.cs manual Courier new() to the designer, have it dispose when form is disposed. Set it as the numericupdown's font and just reuse that :)
2020-01-05 18:46:30 -08:00
Kurt
7caeebd772
Add formcount for scatterbug/spewpa
...
USUM had 20 for both, but XY/AO/SM had only 1 (vivillon had 20); make
them consistent so that our generated evolution paths behave correctly
Add meowstic specific evolution form modifier... so silly
simpler to have it inlined with the sSpecies, for jit optimization
could probably do this with silvally but meh, things work fine now
Closes #2603
2020-01-04 22:31:46 -08:00
Kurt
68e6644d40
Split off shared nest class, deduplicate logic
...
use generics to have shared logic in one spot
Handle downleveled distribution/crystal(soon?) data
2020-01-04 11:44:16 -08:00
Kurt
308e6fa291
Add temp workaround for version encounter fetch
...
PKX.Generation is 8, which returns SWSH evo tree; evo tree doesn't have
non-galar-native species data, so stuff like Ambipom don't get reversed
properly.
use math.max for tree fetch when appropriate:
- egg generator: pre-evolutions like pichu should be allowed if pk1
- don't fetch format twice, just do math.max
2020-01-04 11:14:25 -08:00
Kurt
15779513f5
Add stubs for raid correlation verifiers/generators
...
Not going to implement this within the base repo as z3 is too large of a
dependency and is platform specific.
If anyone wants to implement as a plugin project, just inject your new
methods via the setters on the static func/action at the top of the 3
classes.
Since z3's searches aren't instant, I'd recommend caching recent results
in a dictionary, as re-parses are common. Something like the Wordfilter
is what you'd be aiming for :)
Closes #2617
2020-01-03 20:03:04 -08:00
Kurt
0788780404
Add bewear motostoke crossover location
...
Closes #2619
2020-01-03 19:14:03 -08:00
Kurt
fe8e5e3fd9
Add more string search methods
...
exposes some common string search operations that can be useful for
parsing user entered data
2020-01-02 12:06:58 -08:00
Kurt
b55dc37e05
Extend some logic
...
make summary more accessible
2020-01-02 10:55:37 -08:00
Kurt
166f8d82e5
Misc clean
...
Refactor out some logic, make "en" literals reference one spot (where
appropriate)
2020-01-01 19:07:21 -08:00
Kurt
7e490b8dcc
Add lanturn/bronzong alt locations
...
Closes #2613
2019-12-31 21:47:28 -08:00
Kurt
14eae5f62d
Add magikarp distribution data
2019-12-30 22:32:12 -08:00
Kurt
3b2b86950f
Ignore symbols (apostrophe) for string matching
...
Farfetch'd vs Farfetch’d
2019-12-30 15:39:13 -08:00
Kurt
84c5f6e914
Add another met location for gastro-1
...
Closes #2612
2019-12-30 15:11:54 -08:00
Kurt
9864f23427
Handle Bridge Field->Stony Wilderness berry tree
...
Closes #2610
2019-12-29 12:48:34 -08:00
Kurt
d6471e2b3b
Add more pelipper & dusclops strong locs
...
ty anubis
2019-12-29 11:28:29 -08:00
Kurt
ce62d63c5a
Fix eggmove fetch for move check
...
Closes #2609
2019-12-29 10:17:07 -08:00
Kurt
bfd9bf6b53
Simplify formchange calls
...
Don't use the dex chain for certain checks, it's unnecessary.
2019-12-28 19:00:01 -08:00
Kurt
8493471793
Add alcremie form change case
2019-12-28 18:59:00 -08:00
Kurt
3280adcb9f
Add another location for Golurk & Galvantula
...
Closes #2606
2019-12-28 18:03:20 -08:00
Kurt
b294eba181
Fix combee gender check
...
silly convoluted checks
#2603
2019-12-27 19:17:08 -08:00
Kurt
940cdccb6b
Restrict downleveled to lvl % 5 == 0
2019-12-27 00:17:59 -08:00
Kurt
ceae77c677
Add load-line overlap location for Den 27/42
...
The nest is situated right next to the load line, and may be accessed
from either map (across the load line), resulting in a Dusty Bowl
Pumpkaboo-0.
Many thanks to Anubis on Discord for figuring this (very silly) thing
out !
2019-12-26 18:59:02 -08:00
Kurt
5cb3556eee
Add Move PP verification
...
Eggs already had it, adding now for regular pkm
Closes #2602
2019-12-26 14:28:01 -08:00
Kurt
6c7065fb7b
Fix bool compare
...
oops
https://github.com/kwsch/PKHeX/issues/2600#issuecomment-569134146
ty @slp32 !
2019-12-26 13:12:10 -08:00
Kurt
bb7c94dadb
Add seismitoad location
...
https://github.com/kwsch/PKHeX/issues/2570#issuecomment-568235086
2019-12-26 13:04:44 -08:00
Kurt
baf0f52f06
Handle downleveled raids
...
Closes #2573
- self-hosted raids can be downleveled too (see cufant), probably only
by 1 rank
- min-rank check now checks for downleveled cases
- Add extra gyarados/ferrothorn locations
2019-12-26 12:59:16 -08:00
Kurt
4740fab5ec
Have separate encounter yielder for gen8
...
the "Strong" static encounters can be near-matches with wild encounter
slots; example is a evolved Cutiefly->Ribombee with Quiver Dance.
Remove unnecessary IsLink/FriendSafari check for this gen8 method
https://github.com/kwsch/PKHeX/issues/2573#issuecomment-569126371
2019-12-26 12:32:48 -08:00
Kurt
420307d4bf
Make non-exportable saves (fake) act as VC saves
...
https://github.com/kwsch/PKHeX/issues/2600#issuecomment-569125853
2019-12-26 12:21:35 -08:00
Kurt
0c7d347a29
Add Delibird distribution data, split files
...
ROM nest data definitions are already pretty hefty and won't be revised;
split out the future content
2019-12-25 14:26:49 -08:00
Kurt
e6dcf64abe
Disallow Spiky Ear Pichu eggs
...
sneaky gen4 bad hacks are bad
2019-12-24 13:21:56 -08:00
Kurt
ea5ca7b2d2
Add Ingredients to swsh held item list
...
Closes #2597
2019-12-22 12:16:06 -08:00
Kurt
3b2ebbb84f
Add PID check for gen4/5 Combee->Vespiquen evo
...
Closes #2593
2019-12-21 16:52:56 -08:00
Kurt
7edfe4543f
Flag eggs with HT string
...
Closes #2586
Modify PKM Info already clears it, but if disabled, will be flagged.
2019-12-21 16:01:51 -08:00
Kurt
8309060298
Add more egg verification for statnature/techrecord
2019-12-21 14:51:52 -08:00
Kurt
7889a0abe6
Simplify form egg move handling
...
Closes #2588
2019-12-21 13:37:20 -08:00
Kurt
d7bc68d7a5
Add HT case for capture memory check
...
#2570
https://github.com/kwsch/PKHeX/issues/2570#issuecomment-568149050
2019-12-20 19:47:40 -08:00
NotTsunami
a05b38ab39
Legality: Add Nature and Gender to Gen 8 Trades ( #2591 )
...
Closes #2589
https://bulbapedia.bulbagarden.net/wiki/In-game_trade#Sword_and_Shield
2019-12-20 10:48:46 -08:00
Kurt
506e64186a
Rearrange & re-do "CanHaveMemory" value check
...
Closes #2581
2019-12-11 19:37:57 -08:00
Kurt
108233b45f
Add glalie/skuntank locations
...
#2570
2019-12-10 19:54:26 -08:00
Kurt
fcdd7019d3
Add missing shadow yanma location ID
...
Closes #2577 thanks @HoppyShnell ! -- this looks like the final met
location ID?!
Not sure if Murkrow (locked) is missing one; moved duplicate-location
Heracross and made it use the same locks.
2019-12-10 19:22:46 -08:00
Kurt
9a87647409
Add more static encounter locations
...
Some of these are probably crossovers
#2570
2019-12-09 19:28:57 -08:00
Kurt
c85c8ded5c
Fix crossover location compare, add formchange
...
Rotom can change forms, first time it's available in the wild. Fun.
Fix crossover location comparison (was always returning false).
2019-12-09 19:28:28 -08:00
Kurt
281c1ae744
Skip SWSH untraded link trade eggs if trade-memory
...
just read the comments & code, this one is an annoying oversight
untraded pkm /should/ never have HT memory data, but sometimes it do be
like that
Closes #2571
2019-12-09 16:23:29 -08:00
Kurt
aa2241ba66
Fix unchangeable OT friendship to compare correctly
...
Closes #2572 ty @sora10pls for confirming that evo chains are necessary
for VC transfer
2019-12-09 15:50:03 -08:00
Kurt
0fa25b4c8c
Fix VC transfer evo chain population
...
Move EncounterOriginal to Legal info; needed in order to pass the
correct encounter to the EvoChain fetch.
The EncounterOriginal 'hack' might be unnecessary with the current state
of the legality checker... maybe can see if it can be removed later.
2019-12-09 15:48:54 -08:00
Matt
5395cf6bab
Update UnreleasedHeldItems_8 ( #2575 )
2019-12-09 12:35:50 -08:00
Kurt
8acb336d51
Use enum for species comparisons
...
slightly easier to read with named values
2019-12-08 17:39:19 -08:00
Kurt
475dc02101
Add edge case handling for indeedee shared egg moves
...
#2416
2019-12-08 12:08:21 -08:00
Kurt
c6ef2a845d
Fix ribbon compare
...
oops
2019-12-07 23:39:32 -08:00
Kurt
4611146807
Update memory verifier
...
Adds handling for SW/SH quirks
Closes #2545
2019-12-07 23:36:39 -08:00
Kurt
19b1564eb2
Split history and memory verifiers
...
Rewrite a bunch of the history verification stuff
Fix a few test cases with incorrect OT Friendship (transferred), and
missing GeoCountry
Need to rewrite memory verification next
(All test cases currently pass)
#2545
2019-12-07 18:12:31 -08:00
Kurt
34452c2818
Add gen8 ribbon verification
2019-12-07 11:58:56 -08:00
Kurt
aa3d63e982
Add Mr. Rime to splitbreed table
...
Closes #2567
2019-12-07 00:04:46 -08:00
Kurt
861d7b6014
Remove unnecessary parameters for species fetch
...
#2567
2019-12-07 00:00:49 -08:00
Kurt
2b1aee7c38
Gen8: Update rules for having BestFriends ribbon
...
Closes #2562
ty @iiippppk
2019-12-06 20:22:23 -08:00
Kurt
d08e3a3f81
Fix form change evolution linking
...
GetDestinationForm for gen7+ is fine
gen7 and gen8 use the "form" argument as the destination form; -1 means
don't change
espurr-F just gets forced to 1 in gen7 since it's -1
Closes #2564 ty @iiippppk
2019-12-06 19:31:18 -08:00
Kurt
d24a09f7c9
Make level min/max virtual for nest
...
Closes #2566
be sure to set the correct flawless IV count & dynamax level so that the
encounter matches
2019-12-06 19:17:26 -08:00
Kurt
862a446eb3
Fix form sanitization for de-evolution
...
Better to handle things this way, we know for sure the form it HAS to
originate as.
Closes #2565
ty @iiippppk !
2019-12-06 19:00:41 -08:00
Kurt
be38a60267
Fix handling for get evolutions method
...
only used for Zukan7b, but add in handling so that it works for <=gen6
games, and supports form alterations too!
update style to match GetPreEvolutions
could probably update this to yield tuples (species, form) but LGPE/SWSH
only needs species. If there's the need for tuples later, should be ez
tweak.
2019-12-06 18:16:11 -08:00
Kurt
314d8f6b58
Update form destination handling
...
espurr-F evolves to form-1 from form0, even tho the form arg is -1 (gen7
consideration)
gen8 has 0/1 for the two evolutions, dictating the destination form
2019-12-06 17:36:36 -08:00
Kurt
f7620908df
dummy out empty evo species
2019-12-06 17:21:38 -08:00
Kurt
eac3804c7b
Clean up dexlevel/evocriteria constructor usage
...
DexLevel was the initial abstraction, which was expanded/reused for
evolution details
I should probably merge the two classes since everything is passed as
EvoCriteria
The encounter generators do some silly form fuzzy match which can now be
more accurately checked since I've moved Form to DexLevel... maybe a
future commit can clean that up.
encounterarea2 was reusing this class, just use a throwaway readonly
struct as our temp value storage
2019-12-05 23:04:24 -08:00
Kurt
b49c5a5a8a
Rewrite evolution lineage generating
...
- Use tail recursion and a lookup table (species | form) for reversing
- generate the reversal lookup by extrapolating all species-form
destination values (EvolutionLink)
All tests pass, and no special handling for forms is required. Kinda
suspicious that it works this simply...
Redo evolution banning (no wormhole for non-Alolan evolutions in SM), in
a style that we can ban the Gigantamax event evolutions
(pika/meowth/eevee). Their evolutions can't be resulted from a pre-evo,
because the in-game routine early aborts if the gigantamax flag is set
for those species.
Update gen4 personal tables (formCount was 0, needs to be a minimum of 1
by default)
Closes #2537
2019-12-05 22:32:47 -08:00
Kurt
786d9c8f18
Handle shedinja encounter balls
...
nincada -> spawn shedinja = pokeball (wild encounter rules if gen3)
shedinja encounter = wild encounter rules
2019-12-05 16:40:14 -08:00
Kurt
b2fc99e50a
Update nest dist/crystal location get/check
2019-12-04 19:04:36 -08:00
Kurt
e333f9b441
Add orbeetle 65 loc
...
thanks @sora10pls
2019-12-03 19:59:10 -08:00
Kurt
71318c9bd5
Add clarification/notes
2019-12-03 19:54:06 -08:00
Kurt
ab7cf3252e
Add snorlax raid dist data
2019-12-03 18:25:06 -08:00
Kurt
d3f7e7bf07
Minor simplifications
...
format >= 6 is always true (early return in entry)
don't double-flag/check memory presence in OTs from gen5 and below (hist
and OT verifier)
rename method; I'll probably rework the flow of things for gen6
verification and gen8 verification since the rules are slightly
different
2019-12-02 16:36:53 -08:00
Kurt
a844fb5249
Add strong dubwool location
...
https://projectpokemon.org/home/forums/topic/55654-new-pokemon-to-fix-on-pkhex/?tab=comments#comment-251010
2019-12-01 00:02:02 -08:00
Matt
7b7a161ac9
Minor fixes ( #2547 )
...
Fix Sinistea/Polteageist Form names (as per Strategy Guide)
Add Eternamax menu sprite
2019-11-30 13:19:22 -08:00
Kurt
f3ecff272c
Update HA8 banlist
...
Closes #2544
Closes #2543
2019-11-29 22:33:11 -08:00
Kurt
2ee6fbb7e9
Only flag bred stuff for no-breed
...
Closes #2542
2019-11-29 18:54:07 -08:00
Matt
bc9be36123
Add more Gen 8 static encounter locations ( #2540 )
...
Also add West Sea Shellos/Gastrodon to transfer form banlist
2019-11-29 10:03:35 -08:00
Matt
faf936bceb
Update Gen 8 transfer banlist ( #2536 )
...
Alolan Forms can't be obtained yet, same with Hoenn Zigzagoon/Linoone and Unova Stunfisk.
2019-11-28 18:42:22 -08:00
Kurt
f25b36a306
Minor tweaks
...
Remove unused stuff
add some comments/xmldoc
Move Trainer1 to classes that use it
2019-11-28 14:00:55 -08:00
Kurt
ea2f7f338b
Add weather indication to detailed parse output
2019-11-28 12:56:26 -08:00
Kurt
2c0b85ef21
Add form banlist for g8
...
Weezing-0 has no de-evolution path (nothing evolves to it)
Just ban these forms existence in SW/SH
2019-11-28 12:09:55 -08:00
Kurt
f0cf28fbad
Flag bred transfer mons
...
#2416
2019-11-28 11:51:23 -08:00
Kurt
e8bdc34a18
Tweak gift generator
...
Yield ranger manaphy gift as possible (encmoveset generator)
Move ranger manaphy equals check to PGT
2019-11-28 10:42:24 -08:00
Archit Date
897b97ceed
comment typo fix ( #2535 )
...
lul
2019-11-28 10:35:18 -08:00
Kurt
7a51e48747
Add wc8 star/square pid types
2019-11-28 09:46:48 -08:00
Kurt
f5307c142b
Use format sensitive move knowable check
...
Closes #2534
2019-11-27 23:07:41 -08:00
Kurt
5a1bffb2ba
Split wild encounters for crossover & weather
...
Certain Mark values (ribbon) are only obtainable if the encounter was
obtained in some weather (I really hope there's no crossover cases for
this), and non-symbol encounters can't wander to another zone.
I wonder if you can wander from one zone with one exclusive weather, to
another zone, and get an 'unobtainable' mark (with the new zone's
weather) on the crossover mon's weather. yikes lmao
2019-11-27 22:46:14 -08:00
Kurt
a0ee7a3e51
Add route 2 lapras location
...
ty Waves (discord)
https://www.serebii.net/pokearth/galar/route2.shtml#xy-lake
2019-11-27 19:44:14 -08:00
Kurt
5761f03f94
Add OT memory details for gen6 ingame trades
2019-11-27 19:30:28 -08:00
Kurt
907f036956
Disregard OT memory values on gen7 origin
2019-11-27 16:01:12 -08:00
Kurt
c4951f1650
Add strong piloswine location
...
ty wowjinxy
2019-11-27 11:34:20 -08:00
Kurt
4cd358833a
Add corvisquire static enc location
...
https://projectpokemon.org/home/forums/topic/55611-corvisquire-route-3/
thanks ThePunish3D!
2019-11-26 18:20:52 -08:00
Kurt
b95ab53e92
Finalize unreleased item banlist
2019-11-26 17:16:57 -08:00
Kurt
5b932c961f
Merge branch 'master' of https://github.com/kwsch/PKHeX
2019-11-26 16:58:44 -08:00
Kurt
08e293dadc
Add SimpleTrainerInfo constructor
...
zeroes out console region data if not present in game
2019-11-26 16:55:28 -08:00
Chris
f23874b1ae
Safari/Sports Ball is also not released
2019-11-27 01:55:15 +01:00
Kurt
4182b22686
Update Unreleased Items(SwSh) ( #2529 )
...
https://www.serebii.net/swordshield/items.shtml
only Pixie Plate & Normal Gem are in the Game yet.
2019-11-26 16:13:30 -08:00
Kurt
5883acd5b9
Fix florges/floette evo tree
...
No personal stats for those evos different from main species
2019-11-26 16:12:35 -08:00
Chris
ba43631d40
Update Unreleased Items(SwSh)
...
https://www.serebii.net/swordshield/items.shtml
only Pixie Plate & Normal Gem are in the Game yet.
2019-11-27 01:08:31 +01:00
Kurt
9cb56be3dd
Add bronzong/galvantula strong loc
...
previous Bronzong location is likely a crossover case
ty wowjinxy
2019-11-26 11:39:17 -08:00
Kurt
15ef6555a8
Add WC8 memory & fix fallthrough
...
ty @sora10pls
2019-11-26 11:22:01 -08:00
Kurt
ef425af835
Add memory / console region checks for pb7/pk8
...
yeah your initial hacks were hacks
It appears there's a bug (in the game) for link trade memories --
applied to the OT memory instead of HT memory?? Fun!
2019-11-26 11:01:09 -08:00
Kurt
7960f2d748
Don't set console region data for pb7/pk8+
2019-11-26 10:46:32 -08:00
Kurt
445fdee2ba
Add shared memory interface (encounter)
2019-11-26 10:46:16 -08:00
Kurt
0f96b3c4d5
Add Species specific arg memories
2019-11-26 10:44:36 -08:00
Kurt
e8f5ac8a00
Minor clean
2019-11-25 22:51:07 -08:00
Kurt
7a10311207
Unban scrafty/scraggy HA
...
new EncounterStatic8N(Nest87,3,4,4) { Species = 560, Ability = A4 }, //
Scrafty
2019-11-25 20:31:42 -08:00
Kurt
c416fc5fa1
Update handling for invalid genNumber
...
all edge case movepool stuff is IGeneration; we're fine just using
IGeneration.Generation
2019-11-25 18:33:38 -08:00
Kurt
5dde0f5c43
Merge Error flag into Parsed
...
Simplify some logic with ??=
2019-11-25 18:32:50 -08:00
Kurt
c5593470df
Add 2 more static enc locations, swap yield order
...
Private report with 3 specimens, 2 undocumented met locations
The other was a Gigantamax which matched another static encounter,
resulting in a partial match being accepted (the real match came after,
but was never iterated to).
Rather than adding deferrals for Enc8, do nest stuff first since it's
the most restrictive
In the past we didn't really have duplicate static encounters with
slightly different permissions.
Thanks @ReignOfComputer & {reporting user}!
2019-11-25 17:57:25 -08:00
Kurt
b37a0c5bfe
Add downleveled regular raid movepool verification
...
#2416
Not having enough badges pulls the level of the captured mon down
need more info if the other raid types behave similarly
2019-11-25 08:52:03 -08:00
Kurt
5dec94d456
Handle banned form eggs with more flexibility
...
Closes #2519
better to not generate the encounter as opposed to flagging it after
generation
2019-11-25 00:16:16 -08:00
Kurt
6ca8571759
Add stomp min level for Steenee
...
Closes #2520
2019-11-24 23:50:10 -08:00
Kurt
b588af8300
Ban meowstic-1 hidden ability
...
Closes #2521
2019-11-24 23:14:42 -08:00
Kurt
0dcd9b744a
Include swsh held items to valid items list
...
Closes #2518
2019-11-24 22:34:51 -08:00
Kurt
c446ff5b51
Fix non-galar egg moves passing
...
Closes #2516
2019-11-24 18:18:26 -08:00
Kurt
e1e7bf321b
Add South Lake Miloch for den 42
...
#2416
2019-11-24 11:07:31 -08:00
Kurt
aeb3ee6cec
Fix shedinja evo chain logic
...
#2416
2019-11-24 09:49:54 -08:00
Kurt
64d94903ff
Change fixed ability
...
0=abil1
1=abil2
2=abil4
3=abil1/2
4=any
probably same as WC8 etc
doesn't have any impact as there's other encounters that allow Hidden
2019-11-24 06:26:33 -08:00
Kurt
113d16fa5d
Fix darumaka->darmanitan blizzard move
...
#2416
Looks like the only issues left are:
Shedinja
Crossover/Bleed locations
Static Encounter locations
2019-11-23 22:48:02 -08:00
Kurt
96f6db0e38
Add recognition for distribution raids
...
Closes #2457
2019-11-23 22:23:43 -08:00
Kurt
52cd8ae855
Revise HA banlist
...
https://www.smogon.com/forums/threads/sword-shield-battle-mechanics-research.3655528/post-8291236
2019-11-23 20:50:56 -08:00
Kurt
09d1d0e799
Add darumaka to galar origin
...
lol oops
Closes #2508 thanks @iiippppk !
2019-11-23 19:45:18 -08:00
Kurt
5df6565597
Add fast ball
...
Closes #2507
2019-11-23 19:12:53 -08:00
Kurt
cccf2a1939
Fix flawless IV count check
...
#2506 trapinch
2019-11-23 14:46:09 -08:00
Archit Date
f96eafa682
grab correct evo stage 1 from evocriteria list ( #2503 )
...
EncounterMovesetGenerator was using the de-evolution order in the passed evocriteria list
2019-11-23 09:01:09 -08:00
Kurt
e70a2f40b8
Add den crossover via online share
...
fix ability deferral for non-HA (eg. A4 mr rime encounter)
2019-11-23 08:27:50 -08:00
Kurt
b29fc5216e
Add shared moveset transfer
...
Closes #2501 for now
2019-11-23 07:27:06 -08:00
Kurt
c27b1d0bb8
Revise hidden ability banlist
...
Might need to remove entries once the Distribution raid data is added.
2019-11-23 07:12:50 -08:00
Chris
03ee264d0c
Add Vanilluxe Multiple Encounters ( #2499 )
...
* Add Vanilluxe Multiple Encounters
Vanilluxe spawns also on any Lake if its snowing
2019-11-22 21:32:39 -08:00
Kurt
9e4c408ac7
Fix galar form egg move fetch
...
Closes #2500
2019-11-22 21:32:05 -08:00
Kurt
26b21d8603
Rewrite reverse evo lineage rectifier
...
Closes #2479
Fixes Silvally in swsh not having evo reversal content for each form
2019-11-22 21:04:34 -08:00
Kurt
d25f388bf5
Fix dexnav relearn checks
...
Closes #2491
Thanks @NinFanBoyFTW !
2019-11-22 19:59:40 -08:00
Chris
97f156364d
Update Multiple Encounters for Lakes ( #2498 )
...
happens also for:
Drifloon, Wingull, Goldeen, Frillish, Magikarp
but theese aren't listed, feel free to add new encounters.
2019-11-22 18:26:47 -08:00
Chris
e90d2fbc29
Also Seaking have multiple Locations ( #2495 )
...
^
2019-11-22 08:05:46 -08:00
Chris
4c9815c17e
Add Multiple Gyarados Spawns ( #2493 )
...
Gyarados Spawns in Area 1:
North/East/South/West Lake Miloch,
Area 2:
the Lake of Outrage (in a Wild Area)
2019-11-22 08:04:17 -08:00
Chris
8bdc110e2b
Added Multiple Lapras Spawns ( #2492 )
...
Lapras Spawns in Area 1:
North/East/South/West Lake Miloch,
Area 2:
the Lake of Outrage (in a Wild Area)
2019-11-22 08:03:16 -08:00
Kurt
4b3d85d5e6
Add multi-location strong encounter handling
...
#2484
OH BOY REUSED INDEXES
smart to save space, but a small pain for legality
feels pretty bad breaking up abstractions for every minor difference in
verification...
2019-11-21 21:44:41 -08:00
Kurt
5235c9b252
Revert "Add lapras encounter location?"
...
This reverts commit e4e516d1c2
.
2019-11-21 21:14:45 -08:00
Kurt
e4e516d1c2
Add lapras encounter location?
...
#2484
The other lapras encounter was found by @sora10pls and was lv56; we're
assuming this other lapras is the encounter (for now).
2019-11-21 20:59:24 -08:00
Kurt
4c8dd0cb3a
Defer rather than reject
...
#2490
2019-11-21 20:05:20 -08:00
Archit Date
e93bc5e67c
Misc Nest Fixes ( #2490 )
...
* fix A3 and A4 ability values
private > internal so it can be used in Encounter Nest matching
* reject ability number 4 if ability is from A3
2019-11-21 20:03:02 -08:00
Kurt
b9e32c67a0
Add encounter static deferral oop
...
We've already been doing something similar for the deferral check; just
merge the logic into the base object
Closes #2489
2019-11-21 20:02:08 -08:00
Archit Date
93028b3439
modify nest locations based on serebii ( #2483 )
...
https://serebii.net/swordshield/maxraidbattles.shtml
2019-11-20 23:02:54 -08:00
Kurt
f6c6639078
Add online den location
...
There's still the down-leveled issue with high level moves. fun.
2019-11-20 23:02:31 -08:00
Kurt
f30a14ebf0
Disallow dynamax level on story legends
...
ty @sora10pls
2019-11-20 18:15:21 -08:00
Kurt
473afb8377
Initial rough draft of nest location matching
...
nest data doesn't match what's expected, but recognition is ready for
tweaks
2019-11-20 17:07:55 -08:00
Kurt
c6f515c755
Use more performat array join
2019-11-20 17:07:55 -08:00
ReignOfComputer
f19193c66f
Static Locations Update ( #2475 )
...
* Static Locations Update
- Removed version lock on Motostoke Stadium Vulpix (may want to investigate Growlithe)
- Wild Area Updates
- Other Static Updates
* Squeeze in 2 more Statics
* Rhydon Static Location
Last one I promise.
2019-11-20 11:38:25 -08:00
Kurt
8294d77464
Add Carkol static loc
2019-11-19 20:24:12 -08:00
Kurt
2c5a7cd5de
Add linoone strong loc
2019-11-19 19:41:30 -08:00
Kurt
feef1c1122
Add 2 more strong locations
2019-11-19 19:27:57 -08:00
Chris
7ef4fce89e
Add Eevveelutions Spawns for Lake of Outrage ( #2471 )
...
All Eeveelutions spawns at the Lake of Outrage, based on the weather?
2019-11-19 19:21:41 -08:00
Kurt
18b20e09d2
Add leafeon location
2019-11-19 19:03:39 -08:00
Kurt
e6476e943b
Change Gender to OT Gender
...
ty @sora10pls for confirmation
2019-11-19 18:55:03 -08:00
Kurt
0f4598ff66
Update some comparisons
2019-11-19 18:02:57 -08:00
Kurt
85fa6e0273
Add more strong encounter locations
2019-11-19 17:07:11 -08:00
Matt
ea80718919
Unban GO Shiny Tentacool ( #2468 )
...
* Unban GO Shiny Tentacool
* Also unban GO Shiny Meowth
2019-11-19 13:54:29 -08:00
Kurt
fa344208b2
Add crossover location handling
...
Closes #2461 by implementing slightly differently
Dictionary instead of new[] every area
Checks original met location first before attempting the dictionary
lookup (missing in pull request)
Easy path forward if LGPE crossover is needed
Potential issues: Since encounter types aren't marked, shaking trees and
fishing encounters are allowed to cross over. Maybe need to have some
marking for encounter slots or something...
2019-11-19 08:38:18 -08:00
ReignOfComputer
0230dafe2b
Wild Area Updates from RoC's PC ( #2460 )
2019-11-19 08:13:53 -08:00
Kurt
a368b81519
Minor clean
2019-11-18 22:48:03 -08:00
ReignOfComputer
0ef6f024d6
Wild Area Updates from #2416 ( #2459 )
...
https://github.com/kwsch/PKHeX/issues/2416
2019-11-18 22:21:13 -08:00
Kurt
f88388cb70
Add Form (AltForm) to IEncounterable interface
...
All of the encounterable templates have Form anyway; funny that I was
consistent naming them all differently than pkm.AltForm :)
Closes #2452
2019-11-18 22:20:55 -08:00
ReignOfComputer
6d95fa5884
Wild Area Updates from RoC's PC ( #2456 )
2019-11-18 20:26:38 -08:00
Kurt
1df90199e3
Rework GetBaseSpecies to return EvoCriteria
...
#2452
2019-11-18 20:26:11 -08:00
Kurt
5a4c026dc7
Restrict egg related species fetch to EvoCriteria
...
#2452
2019-11-18 20:10:39 -08:00
Kurt
535397cf5e
Consolidate egg ctor with args
...
Form is an absolute requirement for the encounter data.
#2452
2019-11-18 20:01:48 -08:00
Kurt
2b76fe148d
Fix property reference for Darmanitan-G
...
lul
Closes #2453
2019-11-18 19:29:05 -08:00
Kurt
5e1937d8b4
Fix fossil8 to unbreedable
...
Not needed in the HA banlist table since it can't breed.
Closes #2451 thanks @iiippppk !
(undiscovered egg group)
2019-11-18 19:26:01 -08:00
Kurt
1ea3976805
Split up Encounters8
...
Nests in their own file
Encounter types in their own files
2019-11-18 19:23:01 -08:00
Kurt
e9fdc721df
Add chewtle
2019-11-18 18:42:10 -08:00
Kurt
3aa3a29264
Add 3 more static enc locations
2019-11-17 22:04:52 -08:00
Kurt
38abafab99
Catch some evolution edge cases
2019-11-17 22:04:41 -08:00
Kurt
47be249331
Rework evo tree chaining to track form
...
Now recognizes & reverses form-changing evolution chains like Sirfetch'd
basically the whole process is to build the tree but point in the
opposite direction (for de-evolution paths)
2019-11-17 21:45:53 -08:00
Kurt
4bcf60746b
Add egg move sharing checks
...
Was referencing wild caught mons that are given a single egg move; this
logic handles shared egg moves too via daycare.
Probably need to rework SplitBreed into a dictionary; this might not
catch Mime/etc split breeds if they have different tables.
2019-11-17 17:14:21 -08:00
Kurt
c2dce518c2
Invert sign of fake met locations
...
Suggested encounters check < 0
2019-11-17 16:03:53 -08:00
Kurt
d4c5919e5e
Revisions for some static encounters
...
Identified a few more
2019-11-17 15:50:41 -08:00
Kurt
13adc38ee8
Add elemental tutors
...
Closes #2443
Capture some array references to avoid re-fetching array -- array
reference is readonly so it probably won't matter
2019-11-17 11:13:57 -08:00