Kurt
21eb9cb499
Remove gen7b trade evo if HT present requirement
...
lgpe->HOME->lgpe can set the HT details, but it isn't a trade.
2020-02-15 13:43:58 -08:00
Kurt
3e4bb9f320
Ignore keldeo resolute form check on gen8+
...
can mismatch in gen8+ as the form activates in battle when knowing the move; outside of battle can be either state.
2020-02-15 13:30:50 -08:00
Kurt
9e16df4970
Only check g6 contest ribbon affection in g6/7
...
Affection is discarded on PK7->PK8 in favor of friendship, which can be lowered.
2020-02-15 11:43:21 -08:00
Kurt
b9e3ddf612
Disallow regular slowpoke
...
Closes #2708
Can't be moved into the game (no sprites yet).
To be removed or handled a better whenever DLC comes out.
2020-02-14 14:52:05 -08:00
Kurt
9efaae0df6
Remove unneded property copy
...
eggs didnt exist in lgpe, would be all zero anyways
memories copy in pk7, remove todo
2020-02-14 14:48:48 -08:00
Kurt
ae0777018c
Update PB7.cs
...
Co-Authored-By: Chris Feger <piepie62@users.noreply.github.com>
2020-02-14 11:48:13 -08:00
Kurt
d560fbcf7f
Fix typo
...
Co-Authored-By: Chris Feger <piepie62@users.noreply.github.com>
2020-02-13 21:00:07 -08:00
Kurt
0c83c48cef
Add MrMime-1 check for past gen origin
...
permit mime jr evolving to mr mime-1
2020-02-13 20:00:41 -08:00
Kurt
f62b6e33f3
handle alolan meowth origin in gen8
...
https://projectpokemon.org/home/forums/topic/56267-checks-associated-with-events-or-forms/
2020-02-13 17:05:06 -08:00
Kurt
3ce590aca8
Don't clear FormArgument on set to box slot
...
Closes #2706
removal of isParty prevents the erroneous force-0 behavior
Co-Authored-By: Russell Jones <questiondesk@gmail.com>
2020-02-13 16:35:37 -08:00
Kurt
c855bb8bcc
Expose method for reuse in other projects
2020-02-12 20:42:45 -08:00
Kurt
75d8635580
Fix lgpe moveset restriction
...
Closes #2704
Co-Authored-By: BetaLeaf <betaleaf@gmail.com>
2020-02-12 20:25:39 -08:00
Kurt
6346444db7
Extract home tracker to interface
2020-02-12 18:52:48 -08:00
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
6ef2950cc4
Add toggleable flag setting for tracker, update translations
2020-02-12 18:14:23 -08:00
Kurt
63044cd3f9
Add tracker unique text & setting
2020-02-12 18:10:24 -08:00
Kurt
e77fa205a0
Add tracker editor
2020-02-12 18:10:03 -08:00
Kurt
fd4690714e
Add duplicate tracker SAV check
2020-02-12 16:37:59 -08:00
Kurt
9f6d234c53
Fix hgss box wallpaper read
...
lol oops
Closes #2698
Co-Authored-By: ammako <ammako@users.noreply.github.com>
2020-02-11 23:24:03 -08:00
Kurt
d3c060e1d4
Add pt flags
...
Closes #2699
Co-Authored-By: FeralFalcon <feralfalcon@users.noreply.github.com>
2020-02-11 23:21:21 -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
435953f4e1
Don't transfer locale
2020-02-11 19:04:00 -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
332f92f5e9
Update p*7 transfer logic
...
Add scalars & stat natures
Do note: there is more data that is set and can potentially be used to flag you for cheats. Beware.
2020-02-11 18:05:07 -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
7ab128de89
Add SwSh Birthday blocks ( #2696 )
...
Because the Switch doesn't have a feature to internally store your B-day like the DS and 3DS does, you set it in-game by the "Fortune Girl" right in front of Wedgehurst's PokeCenter in month and day.
https://www.serebii.net/swordshield/birthdays.shtml
2020-02-10 18:14:20 -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
CanoeHope
acb9cc2a9d
Add Gender to Gen 8 Trainer Card ( #2694 )
2020-02-10 12:02:52 -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
48bc4ec8fa
Don't yield twice
...
oops lol
2020-02-07 21:34:05 -08:00
Kurt
6d24905a7d
Update hypertrained IVs on export
...
Don't indicate flawed IVs; just pre-compute the hidden power type.
Remove unnecessary language logic (not needed due to prior commit)
Optimize string concat to a single interpolation, because it's totally a performance improvement!!!1
2020-02-07 17:50:42 -08:00
Kurt
9ffac4382a
Replace gender symbols for nidoran with -M/F
2020-02-07 17:42:28 -08:00
Kurt
1cd23e6587
Don't include language name as nickname on set export
2020-02-07 17:42:16 -08:00
Kurt
1bf22467de
Add Rental Team (gen8) reader
2020-02-07 17:23:26 -08:00
Kurt
d52366b0d5
Add download rules/comp block labels
...
https: //projectpokemon.org/home/forums/topic/56121-swsh-blocks-and-save-research/
Co-Authored-By: pp-theslayer <pp-theslayer@users.noreply.github.com>
2020-02-07 16:32:05 -08:00
Kurt
a73f14836d
Add HoF time block accessor object
...
Not gonna add it to the interface
Closes #2691
Co-Authored-By: canoehope <canoehope@users.noreply.github.com>
2020-02-07 15:59:36 -08:00
Kurt
c08cf9c95f
Add rental team hashes
...
Co-Authored-By: Archit Date <architdate@gmail.com>
2020-02-07 15:33:53 -08:00
Kurt
7866958af8
Add dynamax crystal type, exclude from activation
...
Closes #2690
Co-Authored-By: slp32 <slp32@users.noreply.github.com>
2020-02-07 10:16:27 -08:00
Kurt
6e5ef9667f
Add female gender check for stadium
...
Closes #2687
2020-02-06 21:25:13 -08:00
Kurt
cc05a38548
Clear team slots on blank load
...
Closes #2688
2020-02-06 20:11:58 -08:00
Kurt
cdd4cb33b2
Add togepi hgss const
...
Closes #2689
Co-Authored-By: asterysx <asterysx@users.noreply.github.com>
2020-02-06 19:36:47 -08:00
Frank
e5286f3325
RaidSpawnList8 fix DenType and Flags ( #2686 )
...
* RaidSpawnList8 use enum RaidType for DenType
fix IsWishingPiece and add WattsHarvested
* Add check between RaidType.Event and IsEvent flag
2020-02-06 17:12:26 -08:00
Kurt
29258ca501
Add tox nests
2020-02-06 17:11:39 -08:00
Kurt
a004b301d0
Add record count incrementing for sav8
...
Closes #2685 ty @CanoeHope
2020-02-05 19:42:46 -08:00
Kurt
81c78be8c7
Change default gen7 hatch location
...
ty @CanoeHope #2685
2020-02-05 19:42:22 -08:00
Kurt
bc45660f99
Update legal raid clamp
...
https: //github.com/kwsch/PKHeX/issues/2681#issuecomment-582215498
Co-Authored-By: slp32 <slp32@users.noreply.github.com>
2020-02-04 19:06:33 -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
2e1528b199
Merge branch 'master' of https://github.com/kwsch/PKHeX
2020-02-04 16:55:42 -08:00
Kurt
7e6cae4004
Clamp activating raids to available indexes
...
Closes #2681
2020-02-04 16:55:40 -08:00
Yurical
a4e579c49b
Update Korean translation ( #2680 )
2020-02-04 07:36:40 -08:00
CanoeHope
9b172d2666
Correct Day offset ( #2679 )
...
a1ae14325a (commitcomment-37103852)
2020-02-04 07:35:02 -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
bdf6afd2f3
Fix egg trainer name logic for wc3
...
Closes #2676
2020-02-03 19:22:16 -08:00
Kurt
0e1fd49be1
Decrement runtime language if appropriate
...
Closes #2674
2020-02-03 19:16:30 -08:00
Kurt
a1ae14325a
Add more block documentation
...
Ty @CanoeHope !
Closes #2677
To edit these values, use the Block Data editor and select the *Object Trainer Card
Co-Authored-By: CanoeHope <canoehope@users.noreply.github.com>
2020-02-03 18:56:35 -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
b31f0428cf
Add raidtype docs & wishing piece indication
2020-02-02 10:21:34 -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
Kurt
43036e7e94
Add team index recognition
...
lock by default until we find the location that locks team slots
2020-02-01 18:56:23 -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
b35d53368f
Sort blocks by initial value
...
allows some lumping of similar-value blocks for easier analysis
2020-01-28 19:08:26 -08:00
Kurt
dd07126d83
Relocate level suggestions to EncounterSuggestion
2020-01-28 16:21:38 -08:00
Kurt
ee5c033b51
Add dlc block annotations
...
ty @pp-theslayer
https://projectpokemon.org/home/forums/topic/56121-swsh-blocks-and-save-research/
add another array detail
2020-01-28 16:21:11 -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
a3e9649f09
Update 20.01.26
...
Update with latest events from EventsGallery
2020-01-26 00:35:31 -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
edc95efe95
Add 2 more b2w2 flags
...
Closes #2661
Add more clarification for kyogre/groudon const value; not gonna re-localize myself :P
2020-01-25 18:09:27 -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
b5d48bc14f
Split up portions of CommonEdits
...
Cuts out about half the size; there's still a bunch of apply-value logic but it's not really big enough for a separate class.
Rename BallRandomizer->BallApplicator
2020-01-25 16:47:44 -08:00
Kurt
88dcb59798
Extract language initialization to core
...
Call this method whenever you boot a separate app that needs legality strings to be ready.
2020-01-25 16:27:16 -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
527442bb49
Only fetch strings when required for compat check
...
if item == 0, don't bother checking. Fetch strings only if there's an issue with the item.
2020-01-25 12:16:45 -08:00
Kurt
63ee520e75
Fix de ribbon name missing
2020-01-25 10:17:02 -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
6dddb0526f
Fix starter order
...
Closes #2660
2020-01-24 20:18:26 -08:00
Kurt
f50ee0f18e
Update gen3/4 event flag lists
...
Closes #2659 ty @FeralFalcon !
2020-01-24 18:13:23 -08:00
Kurt
9b6a10df46
Extract metadata-reflection class to PKHeX.Core
...
separate GUI logic from non-gui logic :)
2020-01-24 17:57:47 -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
92d1ccf3d9
Fix Pokewalker course unlock all
...
write to correct location
https://projectpokemon.org/home/forums/topic/56084-pokewalker-courses/
2020-01-24 17:10:53 -08:00
Kurt
46156b48c6
Add missing generation to accessor type name
...
Now matches Interface declaration style (iAccessorGenGame), and is consistently named with the other accessors already using the same naming style
plus they are now ordered in the file tree :)
no functional change
2020-01-23 23:22:54 -08:00
Kurt
fb02295c70
Use object block names in diff
2020-01-23 23:19:38 -08:00
Kurt
12244909ba
Split off SCBlock-logic from SWSH accessor
...
In case a future game uses this same setup.
2020-01-23 23:16:09 -08:00
Kurt
2adbca628b
Add raw value edits
...
Not done for Array types or Object types
muh reflection, such spooky
mark Offset as non-browsable so it doesn't show up in propertygrid if the block is being edited by a grid :)
I imagine a struct-type-sensitive array property grid edit could be done via Buffer.BlockCopy to a dest array, but there's so few Array blocks... so meh
2020-01-23 21:30:39 -08:00
Kurt
99baa171f4
Indicate known block types at top
...
Uses reflection to grab a list of defined constants (block keys), and a list of defined block reader classes.
Show name of block in red for a more prominent hint that this block is somewhat editable :)
2020-01-23 20:11:39 -08:00
Kurt
a88c7c4800
Add more trainer card/status fields & stats
...
Closes #2658 ty @CanoeHope !
Mostly just serves as documentation; with the amount of fields being editable increasing, hard-coded GUI might not be optimal here. I'm thinking something like a PropertyGrid based on the selected block which will pull up the Block object if the key matches... for fields, something like a dynamically populated list or something.
2020-01-23 18:31:10 -08:00
Egzon
a5985536e2
Miscelanous fix on Underground Scores ( #2657 )
...
* UG scores are uint32, with max value up to 999999.
* fixing label position
* another positioning fix!
2020-01-23 16:37:39 -08:00
Kurt
ecfcbbc4cb
Verify full raid result with known seed
2020-01-23 00:11:07 -08:00
Kurt
467045e95c
Swap rand call order, rename as overload
2020-01-22 19:04:20 -08:00
Kurt
ba5cc26e83
Add indication to which blocks changed
...
Use reflection to grab all const declarations (private and public), and grab the name of that const. Whenever that block is mentioned in our diff, use the name instead of the key.
Helps identify what changed / remove noise if you don't care about that block.
2020-01-22 17:06:23 -08:00
Kurt
4ea2be250f
Add TitleScreen8 and Trainer Card team structs
...
Closes #2653 , ty @CanoeHope !
Editable from the Trainer Info button, comes with a Copy From Party button for each.
2020-01-21 23:23:27 -08:00
Egzon
9cce65e937
Fix Subway Super checks ( #2652 )
...
Oops, it's actually a byte...
2020-01-21 11:00:09 -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
Kurt
b84cae9ff5
Fix box name write for sav8swsh
...
only used via the view-all-boxes popup when switching boxes
ty anubis!
2020-01-20 22:04:52 -08:00
Kurt
6fdc71b2e4
Update tower record set
...
Record ID const declaration for reuse
Change 255->300 for streak max
Set record as well (ignore currently set value if modified via dropdown)
Closes #2649
Not sure if Money and BP can get a similar record-set treatment.
2020-01-20 18:16:46 -08:00
Egzon
1a3d8b1fab
Fix Seedot and Nuzleaf swarm moves ( #2648 )
2020-01-20 14:31:59 -08:00
Archit Date
117bb35621
handle smogon sets with multiple moves ( #2647 )
...
sometimes competitive sets have multiple moves in one slot as optional coverage moves. Handle these cases by splitting and trimming over '/'. Example: https://pastebin.com/raw/jvPziRdC (The dusk mane set)
2020-01-19 22:30:09 -08:00
Kurt
40e5cd66da
Add block diff for swsh, add bool type toggle
...
Apparently my copypaste of the class didn't delete all the old unused controls. Ha!
Move non-gui logic to core as separate classes, in case ppl wanted to reuse them in their own projects.
2020-01-19 22:29:50 -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
a98ca2351d
Don't SetValue to block if not exportable
...
blank saves do not have the type metadata for the blocks that are spoofed, nor do they have all blocks spoofed.
I suspect things might get more difficult as more value-blocks are identified, which would throw a wrench into things. We'll figure that out at that time :)
Add a test to ensure that the blank save can be created correctly
Closes #2644
2020-01-19 10:25:40 -08:00
Kurt
4567bba03f
More elegant block read/write
...
Removes TONS of unnecessary allocations, and is more simple
2020-01-19 00:55:10 -08:00
Kurt
0244cc7489
Add more info to exception message
...
Closes #2644
2020-01-18 19:44:34 -08:00
Egzon Qukovci Jusufi
ab5016bf7d
Add Subway Scores edition ( #2643 )
...
* Add Subway Scores edition
* Changing the offsets handling
Simply use the block offset as the base and add them to it. Also allow edition on B2W2.
2020-01-18 19:31:36 -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
643c0c1cc7
null/empty check -> check both
2020-01-18 17:33:19 -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
40c2c483fb
Common1-3 => Bool1-3
...
Blocks that use Bool1/2 toggle to the other state; evident when comparing between two different saves. The key doesn't change, only the Type is toggled.
2020-01-18 14:19:01 -08:00
Kurt
9b0b0cb1a6
Add misc value r/w for trainer8
...
Closes #2639
casting object to generic T : struct isn't valid, so just cast the get/set appropriately
2020-01-17 23:25:02 -08:00
Kurt
2a7d475b5b
Rearrange key list, add syntax sugar methods
2020-01-17 21:53:51 -08:00
Kurt
e4e1681e1c
Clamp roto rally score to 99_999
...
https://github.com/kwsch/PKHeX/issues/2639#issuecomment-575863541
2020-01-17 21:09:54 -08:00
Kurt
e3cafe5cd6
Relocate getsize to extension method
...
use sizeof for clarity, add test to ensure bool size is 1 byte (which is always true)
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/sizeof
2020-01-17 21:09:26 -08:00
Kurt
a590d3713b
Refine enum with TypeCode names
...
Add GetValue/SetValue/GetType extension methods
2020-01-17 18:59:45 -08:00
Kurt
ff466826af
Flip hgss trade flag state meaning
...
Closes #2640
2020-01-17 16:39:19 -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
Kurt
8315f740cb
Merge branch 'master' of https://github.com/kwsch/PKHeX
2020-01-16 18:54:11 -08:00
Kurt
857124acf0
Swap zen galar -> galar zen
...
ty showdown for changing your convention over a month ago
a01e2a26bc (diff-58e367765263b7e21df251b3e7619b70L9307)
2020-01-16 18:54:09 -08:00
Egzon Qukovci Jusufi
deece433a5
Add SWSH Legends to the Tables ( #2637 )
2020-01-15 20:49:19 -08:00
Archit Date
22ed59d6a3
sanity check necrozma forms ( #2638 )
...
smogon allows Dusk Mane as well as Dusk-Mane as their form argument
2020-01-15 20:48:53 -08:00
Kurt
41f909c08a
Add Roto Rally score, copy Jersey # to other block
...
Closes #2635
2020-01-15 20:48: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
726947eaf5
Add HGSS starter const/flags
...
Closes #2634 ty @asterysx !
2020-01-13 20:40:44 -08:00
Kurt
a6aabcdc96
Split out a method before crypto step
...
Allows for capturing the obtaining the raw decrypted data via the PKHeX.Core api
2020-01-13 19:03:27 -08:00
Kurt
2e16fb058c
Show form arguments in gen6/7
...
Clamp form argument load to current list bounds (used to throw arg range exception if invalid)
2020-01-13 17:09:03 -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
a305c00ac4
Reorder feebas evo for swsh, patch data
...
Updated comment in #2394 with byte swap info
Forgot to check tests when importing patched data :)
2020-01-12 11:48:42 -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
7cbf8d0fcf
Set gen3 count ribbons appropriately
...
ty anubis
2020-01-11 15:51:25 -08:00
Kurt
7e6edbaded
Remove unnecessary constructor
...
Make key readonly
2020-01-11 14:18:11 -08:00
Kurt
95f24a9d36
Revise suggested AV set logic
...
Closes #2630
2020-01-11 11:43:53 -08:00
Kurt
62c35194c3
Remove unnecessary form duration code
...
probably misinterpreted the furfrou/hoopa stuff; probably is "SetMaxFormDuration"
d3f6d5935f (commitcomment-36754955)
ty @CanoeHope
2020-01-10 22:16:30 -08:00
Kurt
d3f6d5935f
Add form argument legality checks
...
Closes #2611 (Alcremie)
Closes #2604 (Runerigus)
2020-01-10 16:33:40 -08:00
Kurt
507868ce58
Merge branch 'master' of https://github.com/kwsch/PKHeX
2020-01-10 16:08:51 -08:00
Kurt
fdd321dd8c
Make memory 6 fishy if textvar present
...
Closes #2621
2020-01-10 16:08:34 -08:00
Egzon Qukovci Jusufi
fe13b3374d
Spanish Translations ( #2625 )
...
* Update LegalityCheckStrings_es.txt
* Update lang_es.txt
2020-01-10 16:03:28 -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
f291da8f32
Add 2 bw flags
...
Closes #2628
2020-01-10 15:53:26 -08:00
Kurt
718d00f970
Ban ha slowpoke-1
2020-01-09 23:50:15 -08:00
Kurt
cf06335a22
Update 20.01.10
...
Update with latest events from EventsGallery
2020-01-09 21:13:07 -08:00
Kurt
2915692daa
Use more performant block lookup strategy
...
Rather than storing a dictionary of keys, we can abuse the fact that the SCBlock[] is stored in order of ascending block key.
Binary Search doesn't require extra memory like a Dictionary would; also, we only need to find a few blocks.
2020-01-09 19:00:49 -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
3fa44361e6
Update block fetch & blank init
...
blanks: {key,size}
fetch: get block by key (index isnt the same between patches, as blocks with different keys get added). The savefile stores them as a SortedDictionary (by key), hence the shifting.
2020-01-09 08:59:26 -08:00
Kurt
bbd1aff5fe
Add new lengths
...
new format still crashes as block absolute index is now different
should do a different way of loading blocks (key instead of index)
2020-01-09 08:17:41 -08:00
Kurt
0dd4d1fe7a
Remove unnecessary casts
2020-01-06 17:50:18 -08:00
Kurt
efbac28b91
Rework accessors for PKMConverter trainer cache
...
Might break downstream users, for the better. Internal behavior had to change!
2020-01-05 21:51:02 -08:00
Kurt
1906a1040f
Relocate console-location data setting to PKMConverter
...
When adding data, check if the current Trainer has valid console data; if not, use a default value.
2020-01-05 21:41:32 -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
e21d108fb2
Split PokeCrypto from PKX
...
All logic in PokeCrypto is separate from the rest of the PKHeX.Core
library; makes it easy to just rip this portion out and reuse in other
projects without needing the entirety of PKHeX.Core logic
optimize out the CheckEncrypted to the actual path, separate methods.
Only usages of this method were with hardcoded Format values, so no
impact
2020-01-04 14:48:39 -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
ecabbfff53
Add individual Move#_PP $suggest
...
#2603
add in "secret" heal/healPP actions -- do ".Heal=$suggest" to refresh
all stats like it was healed at the pokecenter. I can't think of a good
way to handle invoking of methods (">", but what about parameters?)
2020-01-03 20:21:02 -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
a08ebff699
Add gen8 mimikyu form case
...
Closes #2618
2020-01-03 19:20:16 -08:00
Kurt
0788780404
Add bewear motostoke crossover location
...
Closes #2619
2020-01-03 19:14:03 -08:00
Kurt
852bd2af20
Relocate gui-only text files to WinForms project
...
Split up the DataUtil method to load text files so that the caching
functionality can be reused
2020-01-03 15:53:48 -08:00
Kurt
10b2120b93
Update translations with latest translatable fields
2020-01-03 15:29:31 -08:00
Kurt
350895aba6
Use permissive string search, add indeedee-M case
...
Manually modified showdown sets can contain errors (capitalization,
etc). Use the string search api to permit weaker matches, since there's
not going to be any exact-matches-with-different-caps/spaces.
2020-01-02 15:49:35 -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
35c7195d77
Add custom int/uint parse tests
...
Correctly handle negative parsing for int by flipping sign at end
optimize out a compare char digit/hex check
2020-01-02 11:11:31 -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
0002f1d1ad
Grab CXD location if encounter is COLO or XD
2019-12-31 12:15:48 -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
f4bafe0809
Add extension methods for gym team get/set for all
...
Closes #2607
SAV6XY/AO had GymTeams get/set, this now makes similar logic accessible
for even SAV5BW/B2W2.
2019-12-28 22:32:45 -08:00
Kurt
be50abcc44
Add SubEventLog block object, etc
...
Adds gym team records, remove from savefile properties
update block list documentation
2019-12-28 21:53:58 -08:00
Kurt
0ce6254cee
Add GymTeam records for Gen5 saves
2019-12-28 21:51:10 -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
Matt
6f1611f360
Add Gen 4-6 Starter Event Constants ( #2608 )
2019-12-28 17:39:46 -08:00
Kurt
b294eba181
Fix combee gender check
...
silly convoluted checks
#2603
2019-12-27 19:17:08 -08:00
Kurt
f65e0a96a7
repoint sav4 event constant reads
...
should work fine now
2019-12-27 18:30:39 -08:00
Kurt
940cdccb6b
Restrict downleveled to lvl % 5 == 0
2019-12-27 00:17:59 -08:00
Kurt
c7e396ef14
Update 19.12.26
...
Update with latest event data from the Events Gallery
2019-12-26 19:07:04 -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
b255937e86
Revise input parameter names
...
pk instead of pkm (consistency)
Lowercase anything that started with uppercase (not static state)
2019-12-26 18:47:31 -08:00
Kurt
d736f24bb7
Heal PP on transfer
...
force everything to their current pp count
2019-12-26 15:28:04 -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
9ee2b08ce5
Update rare flag logic
...
Closes #2601
Add ComponentModel attributes for properties, add u64 typeconverter for
propertygrid
2019-12-26 13:39:07 -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
06348096aa
Fix block de-referencing issue
...
SCBlock is an input to the individual save blocks; changing the SCBlock
byte[] reference won't change the individual save block reference. Just
copy the data and keep the original reference instead.
Repro: trainer data editor, save-close window, then delete a slot.
Export save; reload. Changes to box data were using old byte[]
reference, and didn't get repointed. Works fine with latest commit now.
I think I wanted to avoid copyto since it's slower than just a reference
change; but that didn't work out perfectly :)
2019-12-25 23:24:40 -08:00
Kurt
0a8c791e10
Pad with null terminators rather than 0
...
Can have a single digit (not forced to 3), so null terminate I assume.
2019-12-25 21:31:49 -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
827a7649c1
Export PCD/PGT as encrypted format
...
add Write method for writing the data outside the program; only use Data
if you know what you're doing!
2019-12-24 23:24:28 -08:00
Kurt
9d1bfd67b5
Add braces
...
style fix, no functional change
2019-12-24 23:23:42 -08:00
Kurt
e6dcf64abe
Disallow Spiky Ear Pichu eggs
...
sneaky gen4 bad hacks are bad
2019-12-24 13:21:56 -08:00
Kurt
97c3c6b610
Add raid/den detail browser
...
Hold alt when hitting activate all to dump instead
I've seen DenType=5 Event=2 for at least one raid so far... not sure if
the event/rare properties are accurate.
2019-12-23 23:30:21 -08:00
Kurt
bc3e84d30e
Check high bound of language when generating wb7/8
...
Closes #2599 ty @slp32
2019-12-23 11:27:36 -08:00
Kurt
3b1cab0ab5
Update translation resources
...
things are pretty stabilized, so it seems like a good time to allow
translations
2019-12-22 13:53:16 -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
ce463d057a
Add Pikachu Beach Score editing for YW saves
...
Closes #2585
2019-12-21 15:17:05 -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
4bf71de621
Minor clean
...
automatically update total_watt if insufficient
SAV8 is not SAV8SWSH
#2583
2019-12-12 22:58:18 -08:00
Atzgi
d9c59666e0
Add watt in trainer data editor ( #2583 )
2019-12-12 16:27:01 -08:00
Kurt
506e64186a
Rearrange & re-do "CanHaveMemory" value check
...
Closes #2581
2019-12-11 19:37:57 -08:00
iiippppk
dfa951d76c
Update Gen8 Traditional Chinese Species ( #2579 )
2019-12-11 06:09:41 -08:00
iiippppk
35c0a4d931
Fix Chinese text error ( #2578 )
2019-12-11 06:09:12 -08:00
Kurt
802b93bb16
Fix xor order
...
oops, upper half gets the star/square xor
no real difference since PID is random
2019-12-10 22:05:47 -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
e9d127f225
Copy console data, copy OT memories
...
still hypothetical; we know that memories exist and console data still
has accessors
HT memories should be replaced, so no need to transfer 'em.
2019-12-10 19:13:32 -08:00