pi1024e
8a1e73e5b3
Change OT_Class to have an expression body ( #2759 )
2020-03-13 10:28:50 -07:00
Kurt
6f0c3c1205
Add 3 more met locations
...
Co-Authored-By: Lusamine <lusamine@users.noreply.github.com>
2020-03-12 20:36:31 -07:00
Kurt
b68e9472cb
Break apart value fetch -> compare
...
easier to debug
2020-03-12 15:05:59 -07:00
Kurt
fbd533092d
Fix misspelling of the word "Received"
...
Closes #2757
Co-Authored-By: pi1024e <pi1024e@users.noreply.github.com>
2020-03-12 15:05:34 -07:00
Kurt
eb01591861
Remove duplicate method
...
Extract magic number 0x40000
2020-03-11 21:09:36 -07:00
Kurt
b5f1fc71c4
Use original PID for xor flip check
...
swap pkm.PID -> pkm.EncryptionConstant, simplify comparison
Co-Authored-By: Lusamine <lusamine@users.noreply.github.com>
2020-03-11 20:09:09 -07:00
Kurt
dcb7336d92
Hide pika beach on !YW, add a few RS flags
...
Closes #2745 , ty @FeralFalcon
hidden items are meh, items can be hacked in.
Co-Authored-By: feralfalcon <feralfalcon@users.noreply.github.com>
2020-03-11 19:33:17 -07:00
Kurt
1d5f929981
Fix shiny check behavior for XD nonshadows
...
XD compares the player TSV against the non-shadow members, which is unnecessary but does result in them being able to cause shiny skips.
Update the VerifyNPC method to remove tsv check, as it's just repeating the logic we've done in the lock generator.
Added a test method that can be stepped through; compare the team results manually since they aren't exposed for interaction.
Closes #2751 , big thanks to @ijuintekka for being so detailed in their investigation/report!
Co-Authored-By: ijuintekka <ijuintekka@users.noreply.github.com>
2020-03-11 19:18:58 -07:00
qhq
b799819131
Update text_Forms_zh.txt ( #2753 )
2020-03-11 18:18:27 -07:00
Kurt
efc0a9bcc4
Ban HA Pumpkaboo/Gourgeist Small/Large
...
Co-Authored-By: Lusamine <lusamine@users.noreply.github.com>
2020-03-11 17:38:01 -07:00
Kurt
1c2d9cf84c
Add another Lanturn location, level 38 Corviknight
...
Yay using bots to collect encounter data from players around the world :P
Co-Authored-By: Lusamine <lusamine@users.noreply.github.com>
2020-03-11 16:38:04 -07:00
Kurt
0aa6282d73
Sanity check value types via generic method
2020-03-11 16:31:53 -07:00
Kurt
f9bbeba3ad
Add get/set for swsh current box
...
Closes #2742
Co-Authored-By: Matt <sora10pls@users.noreply.github.com>
2020-03-10 23:18:51 -07:00
Kurt
eccfb61839
Update BallVerifier.cs
2020-03-10 22:59:46 -07:00
Kurt
9dbc3cd418
Permit galar native species to inherit past-gen balls
2020-03-10 17:53:56 -07:00
Kurt
093ce2a020
Add ★And337 4-Star Gigantamax Corviknight
2020-03-08 17:20:00 -07:00
Kurt
e2c579fbbc
3/8 - Gengar/Machamp nests
...
New? Dynamax Crystal: ★And337 - 4-Star Gigantamax Corviknight ???
2020-03-08 17:14:20 -07:00
qhq
5d63235dee
Update LegalityCheckStrings_zh.txt ( #2752 )
2020-03-06 05:54:13 -08:00
Kurt
d7cebb9d0c
Update LegalityCheckStrings_es.txt ( #2750 )
...
Making some changes on the previous strings update (not putting away Phoenix's effort tho!)
2020-03-05 10:59:32 -08:00
Kurt
116962317c
Update LegalityCheckStrings_es.txt ( #2748 )
2020-03-05 08:01:42 -08:00
Kurt
ed02f39224
Use another overload
...
Co-Authored-By: Archit Date <architdate@gmail.com>
2020-03-04 22:31:07 -08:00
Kurt
4c226340fe
Add shiny sprites, alcremie sprites & big sprites for all
...
Keeping the 30x40 for now; might change my mind later.
Kept the gmax sprites but they're unused.
2020-03-03 20:22:57 -08:00
Kurt
7919beaddc
Filter out duplicate moves
2020-03-03 18:23:00 -08:00
Kermalis
5a89c6af4c
Gen 3 Flags (Remastered!) ( #2744 )
2020-03-02 16:44:52 -08:00
Kurt
a83556d612
Heal x->pk8 converts
2020-03-02 16:32:23 -08:00
CanoeHope
e51df9855d
Add blocks for NPC and Friend League Cards ( #2741 )
...
* Add blocks for NPC and Friend League Cards
* Update SaveBlockAccessor8SWSH.cs
2020-03-01 00:47:56 -08:00
Kurt
4fb33413e3
Only set display shiny of not owned
...
Closes #2740 ; we don't want to set display shiny if it's not shiny
we only want to set display-shiny if (!owned && shiny)
Co-Authored-By: canoehope <canoehope@users.noreply.github.com>
2020-02-28 17:35:50 -08:00
Kurt
d80d1598dc
Only set displayed form if not previously owned
...
Closes #2739
2020-02-28 15:31:26 -08:00
Kurt
d58426ebf5
Hide affection fields, remove setters for unused
...
#2738
2020-02-27 20:53:33 -08:00
Kurt
b831d52b79
not capturable
...
gotta drip feed content -- tease ppl to migrate from prior games ($$$)
2020-02-26 17:16:52 -08:00
Kurt
283b7a353b
Add mewtwo raids
...
Mewtwo encounter has been added; awaiting confirmation that it can be captured (assumed yes)
Gen1 starters can be captured in beast ball in gen7 (scan), so nothing changes for ball legality.
2020-02-26 17:03:53 -08:00
Matt
0b5116f567
Add Battle Frontier + Facilities to Valid HGSS Met ( #2735 )
...
Accessible in Pt/HGSS, but not DP.
Closes #2734
2020-02-25 13:15:50 -08:00
Kurt
549e6f616b
allow shared eggmoves on format
2020-02-22 23:27:47 -08:00
Kurt
d93b603a31
Merge branch 'master' of https://github.com/kwsch/PKHeX
2020-02-22 19:47:28 -08:00
Kurt
e378821101
Remove duplicate key item list for pc items
...
Closes #2733
Co-Authored-By: kermalis <kermalis@users.noreply.github.com>
2020-02-22 19:47:25 -08:00
Kermalis
441a60a2fb
Some gen 3 flags ( #2732 )
2020-02-21 21:42:34 -08:00
Matt
7cb80fdbc5
Update GO Shiny Banlist ( #2731 )
...
- Valentine’s Day Event (Chansey)
- Raid Day (Lickitung)
- February Community Day (Rhyhorn)
2020-02-21 19:40:10 -08:00
Kurt
5240e67a14
Revert "Loop shiny force regardless of format"
...
This reverts commit cc8e5d9c32
.
2020-02-21 15:02:16 -08:00
Kurt
509e2f1fa3
Handle more evolution/form checks
...
Closes #2726
1. Add variant evolutions to form-match cases
2. Ban LGPE origin alolan raichu
3. Add egg form check for unavailable regional forms
4. Previous commit fixed mew (remove ribbon interface from WB7)
Co-Authored-By: Matt <sora10pls@users.noreply.github.com>
2020-02-20 22:11:48 -08:00
Kurt
4771158194
Remove ribbon check for mew
...
- Data is set to give a Classic ribbon
- The classic ribbon isnt ever applied
- nor does a transferred pb7->pk8 get it
so just remove the interface and treat it as unused (cuz it is, unused.)
2020-02-20 21:43:02 -08:00
Kurt
4116fb5b9b
Fix sprite format for gen3
...
Closes #2725
Fix crash if canceling the FRLG version select
Co-Authored-By: Kermalis <kermalis@users.noreply.github.com>
2020-02-20 19:36:06 -08:00
Kurt
03c58dbe89
Use selected language instead of sav lang
2020-02-19 21:32:01 -08:00
qhq
8b94794115
调整细节 ( #2720 )
2020-02-17 20:22:36 -08:00
Kurt
66efbaf407
Add box manip for heal all slots
2020-02-17 19:28:20 -08:00
Kurt
15121c2945
Fix shared egg moves for non-galar origin
...
Use the private method; we already know the gen and that the egg moves are permitted
Relocate method to MoveEgg
2020-02-16 19:47:57 -08:00
Kurt
0e2734d2d5
Add evo data for alolan raichu / weezing
...
Ban the evolution methods since they can't be triggered in-game
allows the gen8 evo tree to reverse evolve past gen specimens
2020-02-16 18:16:22 -08:00
Kurt
ee38e6890b
Disallow gen7 ribbons on lgpe origin
2020-02-16 17:41:38 -08:00
Kurt
f48a11f013
add 2/17 raids
...
milcery gone, toxel appears
2020-02-16 17:02:53 -08:00
Kurt
fc9d0b4b24
Add hint for pkm with dummied moves
...
Closes #2716
2020-02-16 12:17:36 -08:00
Kurt
cc8e5d9c32
Loop shiny force regardless of format
...
https://github.com/kwsch/PKHeX/issues/2717#issuecomment-586741748
2020-02-16 11:46:06 -08:00
Kurt
0d4cff81c6
Clean
2020-02-15 14:29:23 -08:00
Kurt
5e65df6758
Update egg ball check for galar non-natives
...
pretty rough check, but flags the old starters in bad balls now
2020-02-15 14:22:37 -08:00
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
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
8e1fe5e305
Don't apply template fake console data if invalid
...
pkmeditor only for blank data load
2019-12-08 20:09:45 -08:00
Kurt
5e1fd36b96
Account for memory feeling off-by-one bug
...
If the feeling is zero the game's string formatter will treat it as
null, and will newline before the period.
Gen6 (if I recall correctly) had "it was happy" as index 0
Gen8 (new) has "it was happy" as index 1, with 0 being invalid-bad.
Slice the array differently for gen8 to include the empty line as index
0.
Closes #2549 , ty @crzyc && @architdate for testing index 0 :)
2019-12-08 18:56:37 -08:00
Kurt
f54bc7bf6f
Batch editor updates
...
.PID=$shiny0 will do squares
anything else will do stars
.RelearnMoves=$suggestAll will give ALL TR moves, not just the ones for
its current movepool.
.Ribbons=$suggest will give all valid ribbons
.Ribbons=$suggestNone will remove all ribbons (except required ones like
event ribbons)
Closes #2568
2019-12-08 17:52:17 -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
5ddd59c9aa
Fix runerigus/yamask partial load fail
...
320 is max hp (31IV 252EV), is this just -60 from max HP (threshold to
evolve at?)
might need some more research to see what is going on with this
only trycatch in release builds; was confused until I stepped thru and
saw the crash
2019-12-08 00:03:08 -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
7b6d2bfa48
Fix trainerID trainer card write
2019-12-06 16:59:54 -08:00
Kurt
f07aed904d
add missing pokedex offset spoof for gen3 saves
...
https://projectpokemon.org/home/forums/topic/55704-drag-drop-to-boxes-not-working-in-blank-gen-3-save/
ty ICanSnake
2019-12-05 23:08:01 -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
65b921f806
Only apply 3DS geoloc data for 3DS blank saves
...
Closes #2560
Different logic in SimpleTrainerInfo applies it to <=Gen5, but that's fine... 414cb2d39e/PKHeX.Core/Legality/Structures/SimpleTrainerInfo.cs
2019-12-04 14:00:53 -08:00
Kurt
414cb2d39e
don't apply rib-markings on all
...
legality concerns
2019-12-03 23:41:24 -08:00
Kurt
d70a234552
Add $suggest for PKM.Ball
...
sets a legal ball, with preference for color matching
2019-12-03 20:14:36 -08:00
Kurt
e333f9b441
Add orbeetle 65 loc
...
thanks @sora10pls
2019-12-03 19:59:10 -08:00
Kurt
f45d730faf
Add TrainerID for trainer card
...
Closes #2556
2019-12-03 19:54:34 -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
a0f2aded02
Use more optimized index find
2019-12-03 18:24:28 -08:00
Archit Date
3526c37f1e
update forme to showdown strings ( #2558 )
...
* update forme to showdown strings
Galarian is represented as Galar on PS!
Polteageist has no form atall
galarian now called Galar by default to match with Alola as a forme. changed darmanitan forme-strings in form converter. Added sinistea to the forme ignore list when converting to showdown
2019-12-03 16:41:52 -08:00
Kurt
e9b9141eda
Fix property name typo
...
efec331741 (r36246093)
ty @AnalogMan151
2019-12-03 10:39:57 -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
Frank
efec331741
add some customization options in MyStatus8 ( #2552 )
2019-12-02 13:40:09 -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
Kurt
594c44f6c0
Set Gender for template
...
Closes #2548
2019-11-30 23:44:47 -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
Kurt
c27224830d
Rename rs Mystery Gift -> Mystery Event
...
Closes #2541
pret pokeruby still calls it Mystery Gift tho
11170ce90c/src/event_data.c (L88)
2019-11-29 18:48:58 -08:00
Kurt
89b4bc81b9
Update raid structure unknowns
2019-11-29 18:48:12 -08:00
Kurt
3c4e668d9a
Add alcremie formArg gui
...
Closes #2538
Standardize nomenclature as FormArgument, add interface for those
exposing the property.
2019-11-29 10:44:52 -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
Kurt
48a87397ec
Split daycare8 to its own file
...
Add method to fetch daycare seeds from metadata
2019-11-28 21:13:53 -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
5ba396db6e
Update shiny comparisons for (traded)eggs
...
PID rerolls happen on trade to ensure star/square state is kept
2019-11-28 12:40:33 -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
c81edac9e5
Fix CGB import
...
Trainer1 now unused for this class
Closes #2533
2019-11-27 18:33:30 -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
d3bd37a950
tweak last saved string format
...
ty @sora10pls for testing
2019-11-26 23:10:28 -08:00
Kurt
bac6032152
Update last saved parsing
...
year is years-since-1900
month is months-since-jan (jan=0)
2019-11-26 19:15:05 -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
b58ff25741
Use stat nature for showdown set export
...
thanks @sora10pls
2019-11-26 11:36:20 -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
6627d7e2f4
Minor clean
2019-11-26 10:45:36 -08:00
Kurt
0f96b3c4d5
Add Species specific arg memories
2019-11-26 10:44:36 -08:00
Kurt
6987edd7a3
Simplify expression
...
no allocations
2019-11-25 23:34:49 -08:00
Kurt
c0270b18e4
Add trainer card number editing
2019-11-25 23:26:01 -08:00
Kurt
e8f5ac8a00
Minor clean
2019-11-25 22:51:07 -08:00
Kurt
87a498ac05
Add flag api
2019-11-25 22:50:53 -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
24ac0d9d4b
Fix WasLink comparison
...
Closes #2525
G4Celebi & G6Link met location match; Pokémon Link was only available
for Gen6 so just check for that origin.
Ty @Ammako
tbh I shouldn't even have this property ha
2019-11-25 19:29:12 -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
5435a5d93e
Minor updates
...
Fix mark (ribbon) read for index > 64
Heal party stats on set detail import
Wipe HT Language for eggs/untraded
Extract BST total color logic
2019-11-25 17:32:10 -08:00
Kurt
22a5df5181
Only set permitted record flags for Move[]
...
Closes #2523
2019-11-25 12:02:30 -08:00
Archit Date
a05bed8f18
updated shiny indicator for xor0 ( #2522 )
2019-11-25 09:27:42 -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
9d02a2c2b1
Simplify comparison
...
never null
2019-11-24 09:48:22 -08:00
Kurt
cf12f7f4bc
Fix type comparison
...
works fine without this, but this is the correct type comparison
2019-11-24 06:43:42 -08:00
Kurt
32d8225023
Fix drag slot equality check
...
prevents deleting party slots if a slot is dragged into its original
slot (X->X); Equals check only checked reference
2019-11-24 06:42:41 -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
dd51ed707f
Update record flags on default showdown import
...
Closes #2511
2019-11-24 06:06:08 -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
Kurt
66ebf7cb60
Add $suggest for techrecord & (stat)nature
2019-11-23 12:02:58 -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
Kurt
67565aa71d
Update structure note comment
2019-11-23 07:12:20 -08:00
Kurt
4a6fa684e6
Fix IsUntraded check
...
used the pk6 offsets lol
2019-11-22 23:00:36 -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
Archit Date
915f6a5e42
fix toxtricity parsing ( #2496 )
...
Full amped form has no form string, so does not need fixing. Exporting low key form also adds a hyphen, so that does not need fixing either!
2019-11-22 14:17:52 -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
5a38e118e8
Add raid spawn initial docs
...
linq dump code I used for ez vis:
var sav = new SAV8SWSH(File.ReadAllBytes(@"D:\Kurt\Downloads\main
(7)"));
var blocks = sav.Blocks;
var raid = blocks.Raid;
raid.GetAllRaids().Dump();
2019-11-21 22:55:21 -08:00
Kurt
1ffee3de02
Add raid/fashion block accessors
...
set breakpoint at end of ctor... immediate window dump:
System.IO.File.WriteAllBytes(@"E:\raid.bin", Raid.Data);
2019-11-21 22:26:24 -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
a50169d3d2
Add shift-set shinyxor0 pid
...
Display xor value on hover, not gonna do alternate stars/square display
Closes #2482
2019-11-20 20:38:05 -08:00
Kurt
1be9a6f70d
Fix sav4 load for daycare / gts slots
...
Closes #2481
2019-11-20 19:16:25 -08:00
Kurt
2aaa3763ee
Fix record setting logic
...
Thanks @AnalogMan151 ! #2416
Fix method reference lol
2019-11-20 18:18:33 -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
Ammako
ee9c91e893
Add G4 Box Flags ( #2478 )
2019-11-20 11:39:31 -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
Archit Date
686f69484d
set gigantamax flag from showdown set ( #2469 )
2019-11-19 15:57:08 -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
9734010fcd
Add unsorted combolist method
...
#2465
2019-11-19 08:48:44 -08:00
Kurt
256de0380f
Swap order of vc1/vc2 in version dropdown
...
Closes #2464
2019-11-19 08:42:31 -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
Kurt
1538f04dce
Remove unnecessary logic
...
rip return frustration, don't need to consider this
2019-11-19 08:15:58 -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
iiippppk
4a82b424ce
Use simplified Chinese characters ( #2458 )
2019-11-18 21:35:21 -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
86796cd67a
Add accessor for TrainerCard block
2019-11-18 17:57:33 -08:00
Kurt
adf33404b3
Add Trainer Card block
2019-11-18 17:57:18 -08:00
Kurt
21c3b4e1b1
Add Ribbon interfaces to WC8
...
pretty silly but gets the job done
Closes #2446 by fully implementing all ribbon checks possible
2019-11-18 17:37:38 -08:00
Kurt
d7d2db8764
Add ribbon index enumeration and extension methods
2019-11-18 17:00:57 -08:00
Kurt
674152aa25
Add Mark interface
2019-11-18 17:00:16 -08:00
Kurt
fac5182d4b
Add a ChangeAllCount to current value dropdown
2019-11-18 16:25:27 -08:00
Kurt
5cf58dbb5f
Fix dex clearing on setting altform/gender
2019-11-18 16:21:11 -08:00
Ammako
acf5df07be
Box Layout fixes ( #2449 )
...
* Enforce box name length in Box Layout
* Fix G4 box renaming
* Fix G7 box renaming
2019-11-18 16:01:36 -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
2c11632a3c
gen6 Un-truncate box names
...
Closes #2445 ty @Ammako
2019-11-17 20:41:40 -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
fa169ff61c
Fix box binary / pcbin export
...
19784aaa41 (diff-37bd5b548e2b340e5c38fd0961a3eb04L880)
Was just exporting blank data, lol
https://projectpokemon.org/home/forums/topic/55436-issue-with-box-data-binary/
2019-11-17 14:04:04 -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
Kurt
ea822e9fcd
Add raid flawless IV check (speculation)
2019-11-17 09:55:27 -08:00
Kurt
86a20afe8e
Minor style fix
2019-11-17 09:47:10 -08:00
Kurt
d077d8549e
Add alcremie form display for dex edit
...
Nothing for the PKM Editor; not sure how I want to handle the reused
FormDuration work value.
For the meantime, just use the Batch Editor for a targeted write.
Closes #2441
2019-11-17 09:34:04 -08:00
Kurt
23c04cf809
Add beast ball to wild balls
2019-11-16 22:22:21 -08:00
Michael Scire
4227343a62
WC8: Add SWSH Pokeball Plus Mew
2019-11-16 22:13:44 -08:00
Kurt
f20f6cd4bb
Only check east asian script chars on gen7&below
...
Closes #2437 thanks @iiippppk !
2019-11-16 17:47:26 -08:00
Kurt
31c09c52e8
Add initial nieve check for ball inheritance
...
Closes #2438
2019-11-16 17:45:51 -08:00
Kurt
915c2d52b1
Update handling for non-competitive set import
...
Gen3 item paste -> Gen3 item import => take item ID as is
once parsing moves starts, break if any following lines are not move
lines
Closes #2412 , thanks @The-Fireplace !
2019-11-16 16:34:28 -08:00
Kurt
d981dc57e1
Handle ’ ' edge case
...
#2412
2019-11-16 16:21:17 -08:00
Kurt
31f9a5f4d8
Correctly locate pk8 foreign transfer checks
2019-11-16 16:05:45 -08:00
Kurt
08c1534cee
Lock sha256 for multithreaded use
...
Opening the database can result in multiple threads trying to hash at
the same time with the same sha256 object, so just gate it behind a lock
2019-11-16 15:46:45 -08:00
Kurt
524ceb7bf9
Fix dracozolt species ID
...
heh dunno how that happened
2019-11-16 15:02:32 -08:00
Kurt
3e4127b9e1
Track Gigantamax flag for set data
...
Closes #2436
2019-11-16 14:37:33 -08:00
Kurt
dbda5e6934
Update comments
...
align all, add location text for motostoke 3(4) encounters
2019-11-16 14:37:00 -08:00
Kurt
025cf69eeb
Switch pkm export formats to party format
...
Now dumps party format bytes
Cons: more space
Pros: stats are retained, especially when users drag-drop.
Closes #2419
2019-11-16 14:03:25 -08:00
Kurt
22fb1c8e8f
Fix - show daycare tab on sav5/7
...
Closes #2434 thanks @Ammako !
2019-11-16 13:19:41 -08:00
Ammako
6d61a97247
Fix Gen. 2 key items and balls ( #2432 )
2019-11-16 13:15:09 -08:00
Kurt
0716e50fd6
Add Gigantamax owned flag logic
...
Closes #2430 ty @igniscitrinus !
2019-11-16 13:10:46 -08:00
Kurt
e5bd026eec
Add static crustle location
...
ty @ReignOfComputer
2019-11-16 12:46:24 -08:00
Kurt
ce4cd2c60f
Add non-levelup evo methods to validator
2019-11-16 11:52:40 -08:00
Kurt
83388cc6fe
Add missing memecrypto clear
...
See the SAV7SM.cs constructor... yeah oops!
A hotfix has been posted (committing after I upload!)
Closes #2415 thanks @Ammako !
2019-11-16 11:44:48 -08:00
Kurt
d65e3369c9
Add toxtricity evo check
...
refer to sub_71007805B0 for algo
2019-11-16 11:01:00 -08:00
Kurt
3be4fde2d5
Prevent non-galar forms for wild match
...
uses the same logic as the wild area boost lines above
2019-11-16 10:35:08 -08:00
Kurt
53cec64e5e
Add recognition for dropped wc8 files
2019-11-16 09:35:14 -08:00
Kurt
b172008981
Fix Check All behavior
...
- Gender specific forms now set the correct flags
- Regular click on Check All doesn't set shiny flags
- Shift click on Check All sets shiny flags too.
Closes #2425 thanks @igniscitrinus !
2019-11-16 09:28:32 -08:00
Kurt
29d52e065f
Don't generate invalid sister-pair eggs
2019-11-16 09:00:05 -08:00
Kurt
dfcd93bfff
Fix alcremie form list, use toxtricity0 amped
...
https://projectpokemon.org/home/forums/topic/55410-alcreamie-mismatches/
2019-11-16 08:46:59 -08:00
Kurt
ab25038b58
Update max gen, add pk8/wc8 to dropdowns
2019-11-16 08:25:05 -08:00
Kurt
502adc6d74
Don't throw exception on setting giftused
...
needed in mystery gift db to clear flags (why idk)
2019-11-16 08:24:46 -08:00
Kurt
d7657f948d
Update documentation for techrecord flag methods
...
Allow an ienumerable of moves rather than a readonly list
2019-11-16 08:18:57 -08:00
Kurt
d1e9bc3877
Update evo dictionary and unreleased list
...
#2416 thanks @AnalogMan151
2019-11-16 08:18:12 -08:00
Kurt
d3b2a798fa
Fix evo via move check (tsareena)
...
Closes #2427
2019-11-16 08:01:49 -08:00
Kurt
87bb8f3b3f
Fix record clear
2019-11-16 08:00:58 -08:00
Kurt
981ed9a253
Add technical record flag editor & api
2019-11-15 23:12:28 -08:00
Kurt
848737b2a0
Remove giga gender lock
...
can be female
2019-11-15 21:05:19 -08:00
Kurt
19784aaa41
Update box format size get
...
fixes importing and exporting concatenated binaries
2019-11-15 21:01:22 -08:00
Kurt
025e36c5fc
Add treasure items to valid held item table
2019-11-15 19:50:22 -08:00
Kurt
ab7e920410
Update toxel static encounter def
...
flawless attack IVs, yay
2019-11-15 19:43:09 -08:00
Kurt
451694da28
Flag past gen transfers
...
not valid yet
2019-11-15 19:37:04 -08:00
Kurt
522d219b3c
Re-cap berries at 999
...
Closes #2414 , thanks @SatoMew !
2019-11-15 18:06:31 -08:00
Kurt
199570b12d
Update 19.11.15
...
Introducing Sword/Shield support!
Legality is still a work in progress, and documentation of encounters
and game features with respect to save data is ready for community
effort!
-Kurt
2019-11-15 17:52:08 -08:00
Kurt
cefb56a749
Sword/Shield Update
2019-11-15 17:52:08 -08:00
Kurt
d59764f25f
Fix keyitem reference
...
Closes #2410 ty @PKMWM1
2019-11-01 23:12:31 -07:00
Kurt
a6b6383538
Handle more messages
...
un-nest some classes, tooltip/menu disposing
2019-10-27 20:39:15 -07:00
Kurt
b8835facd5
Rename public "pkm" properties to non-lowercase
...
lowercase = local variable or private member
2019-10-27 12:57:04 -07:00
Kurt
ba593800d8
Keep text/value as get properties
...
Needed for binding in winforms, oops
2019-10-27 12:47:09 -07:00
Kurt
9401b7a790
More readonly struct tweaks
...
help dat compiler
minor clean elsewhere
2019-10-26 23:18:25 -07:00
Kurt
46640d48a3
Misc clean
...
un-nest classes,
move some logic to core,
update some get-only properties that return arrays to methods
2019-10-26 12:58:55 -07:00
Kurt
fcc993784b
Rename abstract pkm inherited class names
...
leading underscore for a class name = pls no
2019-10-26 12:42:33 -07:00
Kurt
e3efa65160
Cleanup
...
handle messages for dirty cleaning :)
2019-10-26 12:33:58 -07:00
Kurt
64a5c30356
Add 4th uint of fashion data
...
struct is really 16 bytes, and female uses 8 bits of the final uint
Closes #2407
2019-10-25 19:54:50 -07:00
Kurt
1c418e8394
Add advanced format output
...
groups together by encounter slottype (grass, water, etc) for a little
more detail
2019-10-25 19:53:32 -07:00
Kurt
5dcee4fb9a
Set random moves if GetMoveSet yields invalid set
...
Closes #2406
No clean way to check for these edge scenarios, so just double check the
moveset and return random moves if we fail
2019-10-24 18:11:25 -07:00
Kurt
4be35890e7
Make some usages generic
2019-10-24 18:10:23 -07:00
Kurt
f0b320eb28
Remove [Relic Gold] from g7 item banlist
...
Closes #2404 ty @CaptainBarnaklez (aka Glitch Guide Gabe on Discord)
2019-10-20 15:55:13 -07:00
Kurt
bb84ec4e89
Handle some vs message suggestions
2019-10-19 20:33:17 -07:00
Kurt
12a8dc66b6
Fix displayed bit set for gen6
...
Zukan5/6 was pushing 0 for the formBit, which was an incorrect value. I
probably should have abstracted things since gen5/6 don't behave the
same as gen7
rewrite the SetDisplayedFlag for more clarity, and to early-return
without checking displayed state if the flag is being cleared.
2019-10-19 18:24:37 -07:00
Kurt
923b581fed
Fix language flag set
...
looks like it was unfinished
2019-10-19 18:18:44 -07:00
Kurt
f77f0e8a4b
Keep gen6 dex form flags
...
oops, forgot to include ...(+ i)
ty @Ammako
https://projectpokemon.org/home/forums/topic/55244-pokedex-displays-shiny-version-of-transfered-pokemon/?do=findComment&comment=249665
no need to set editing flag as I'm not changing anything
have sav6xy use the sav6xy accessor interface instead of the main one
2019-10-19 17:38:01 -07:00
Kurt
3b0fd81aae
Rework & fix party slot deletion
...
Two birds with one stone:
- sav4 doesn't use Data (instead uses General/Storage), so we need to
use the abstracted method calls instead of trying to do things manually.
- setting a blank pkm at a party slot will decrease the party count!
don't decrease things twice.
2019-10-18 21:10:39 -07:00
Kurt
c3a6fd2a64
Handle bad gennumber indexes
...
Maybe returning 0 for "bad gen" will prevent bad array indexing...
2019-10-18 20:50:38 -07:00
Kurt
d4ce0644c8
Simplify block property names
...
[...]Block -> [...] since it's kinda redundant, we already know by its
type.
Rename offset ints that collide
2019-10-18 20:42:03 -07:00
Kurt
4302347366
Show missing editors
...
yay useless integer stores instead of checking if an interface is
implemented
2019-10-18 20:26:41 -07:00
Kurt
abe87eb369
Relocate maison stats to block access
2019-10-18 20:13:21 -07:00
Kurt
e05d75eeb7
More training bags
...
giff swsh
2019-10-17 23:02:01 -07:00
Kurt
c24851129f
Add super training block details & to block access
...
Use some properties in the super training editor, not gonna rewrite that
even though it really needs it :)
2019-10-17 20:13:17 -07:00
Kurt
fee92e4f32
Handle past gen transfer evochain for new evos
...
basically Math.Max(2, format);
we always want permissible evo chains when fetching encounters
Closes #2403 ty @Rayqo !
2019-10-17 18:23:50 -07:00
Kurt
cf955e9fc7
Fix sav7 init
...
guess I never launched this format the entire week
2019-10-16 19:08:13 -07:00
Kurt
2367fbd69a
Add docs for super training block
2019-10-16 18:49:01 -07:00
Kurt
02420d3e93
PKHeX.Core Nullable cleanup ( #2401 )
...
* Handle some nullable cases
Refactor MysteryGift into a second abstract class (backed by a byte array, or fake data)
Make some classes have explicit constructors instead of { } initialization
* Handle bits more obviously without null
* Make SaveFile.BAK explicitly readonly again
* merge constructor methods to have readonly fields
* Inline some properties
* More nullable handling
* Rearrange box actions
define straightforward classes to not have any null properties
* Make extrabyte reference array immutable
* Move tooltip creation to designer
* Rearrange some logic to reduce nesting
* Cache generated fonts
* Split mystery gift album purpose
* Handle more tooltips
* Disallow null setters
* Don't capture RNG object, only type enum
* Unify learnset objects
Now have readonly properties which are never null
don't new() empty learnsets (>800 Learnset objects no longer created,
total of 2400 objects since we also new() a move & level array)
optimize g1/2 reader for early abort case
* Access rewrite
Initialize blocks in a separate object, and get via that object
removes a couple hundred "might be null" warnings since blocks are now readonly getters
some block references have been relocated, but interfaces should expose all that's needed
put HoF6 controls in a groupbox, and disable
* Readonly personal data
* IVs non nullable for mystery gift
* Explicitly initialize forced encounter moves
* Make shadow objects readonly & non-null
Put murkrow fix in binary data resource, instead of on startup
* Assign dex form fetch on constructor
Fixes legality parsing edge cases
also handle cxd parse for valid; exit before exception is thrown in FrameGenerator
* Remove unnecessary null checks
* Keep empty value until init
SetPouch sets the value to an actual one during load, but whatever
* Readonly team lock data
* Readonly locks
Put locked encounters at bottom (favor unlocked)
* Mail readonly data / offset
Rearrange some call flow and pass defaults
Add fake classes for SaveDataEditor mocking
Always party size, no need to check twice in stat editor
use a fake save file as initial data for savedata editor, and for
gamedata (wow i found a usage)
constrain eventwork editor to struct variable types (uint, int, etc),
thus preventing null assignment errors
2019-10-16 18:47:31 -07:00
Kurt
a70769dc76
Remove static encounter voltorb def
...
unused ingame; only electrodes are static
Closes #2399 , ty @steph9009 !
2019-10-11 08:19:35 -07:00
Kurt
4baf745af8
Use some c#8 sugar
...
static local functions
switch expressions
using usings :)
nullable next?
2019-10-07 18:40:09 -07:00
Kurt
a792e58d49
Fix poketch logic
...
ushort poketch_def
{
enabled:1
unk1:1
unk2:1
color:3
unk40:1
unk80:1
unk:8
}
byte currentapp;
u825] unlockedflags
...app-specific data follows
2019-10-06 20:27:34 -07:00
Kurt
d249975895
Make current box reads s8 instead of s32
...
https://projectpokemon.org/home/forums/topic/55168-bug-report-pkhex-unable-to-load-pokemon-platinum-save/
saves with un-initialized boxes (FF'd) have 00 FF FF FF in the first 4
bytes
2019-10-05 14:32:40 -07:00
Kurt
40db929166
Re-add resources for inventory editor
...
Closes #2398
2019-10-04 21:23:54 -07:00
Kurt
87f43a47d8
Bump lang version to 8
...
some lang upgrades
2019-10-04 20:10:50 -07:00
Kurt
255cdc6ae0
Seal r2
...
https://www.reddit.com/r/csharp/comments/dd5c1o/til_sealed_override_modifier/
only a few instances for now
2019-10-04 15:56:22 -07:00
Kurt
d3b0c392b2
Minor tweaks
...
no functional change
2019-10-03 22:21:33 -07:00
Kurt
8d8adde2b1
sealed
...
sealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealedsealed
2019-10-03 19:09:02 -07:00
Kurt
ffe3a4ba15
Relocate resource naming for sprite fetch to draw
2019-10-03 18:23:40 -07:00
Kurt
39eedb1db2
Make PCBinary a method instead of get prop
2019-10-03 17:45:19 -07:00
Kurt
c0cdf81ca5
Default LGPE backgrounds to clean
...
Could iterate up and use the xy special backgrounds; just keep em simple
ty @sora10pls for pointing out this unintended behavior
2019-10-02 20:11:21 -07:00
Matt
72a751b9ce
Update GO Shiny Banlist ( #2397 )
...
oddish family
2019-10-02 20:04:49 -07:00
Kurt
94baab1c45
Split off image generation to separate project ( #2395 )
...
With the approaching games, PKM sprites are a different size from the 3DS era (as already hinted by LGPE, which has 56x68). It'll be a little easier to manage with this portion of the library walled off from the rest of the codebase.
Eventually the net46 target will use fody or something to merge in these extra dependency dll's automatically to not disturb the usual exe/dll experience.
2019-09-29 09:47:06 -07:00
Kurt
03c3610eb5
Handle level20 transferred feebas edge case
...
Closes #2394 thanks @iiippppk !
2019-09-27 20:22:54 -07:00
Kurt
930f4a2062
Use format specific item IDs
2019-09-25 22:40:16 -07:00
Kurt
7013d4f0c8
add 7->8 transfer legality check
...
currently flags anything transferred as illegal, which is the right
thing to do until home is released.
2019-09-24 23:28:05 -07:00
Kurt
33649d4e02
Fix bitflag clearing for g6/7 gifts
...
https://projectpokemon.org/home/forums/topic/55092-recevied-list-in-mystery-gift/?tab=comments#comment-249220
ty tsubasa830 !
2019-09-23 19:01:37 -07:00
Kurt
825e06130e
Add nullable reftype compiler checks to test proj
...
New in c# 8
Assert.True(check for null) doesn't give a hint that the obj isnt null
afterwards.
Assert.NotNull does have the compiler hint attribute
could probably use fluentexpression syntax, but resharper doesn't pick
up on the nonnullable hint like vs does.
GeneratorTests: swap FirstOrDefault to First, can keep the fluent style
and resharper gets the hint.
tl;dr : resharper doesn't look at external lib for hints, gotta use
Assert.NotNull or something that doesn't return null
2019-09-23 18:13:51 -07:00
Kurt
980a9874a3
Remove unused wrappers
...
I think I left these in so AutoLegality could function, but we already
have a couple breaking changes / build pause notice, so lets keep
cleaning our API 👍
2019-09-23 17:28:40 -07:00
Kurt
ab0b8979e9
Add swsh content placeholders ( #2392 )
...
placeholder content until real data is dumped
2019-09-23 16:56:47 -07:00
Kurt
7819c16792
Use slice operation instead of linq chain
...
Reuse IsRangeAll for smdemo detect
reset dragdrop on dropping folder (early returned)
2019-09-23 15:13:22 -07:00
Kurt
78b7409e77
Use start index for writing box binary
...
Closes #2390 ty @PKMWM1 !
2019-09-23 15:12:03 -07:00
Kurt
a60a73e9d5
Fix unintentional overflow
...
oops
2019-09-22 13:56:13 -07:00
Kurt
ea5b498f8f
Fix sav4 stored slot redirect
...
all Get*Slot fetches are now used like the Set*Slot methods.
https://projectpokemon.org/home/forums/topic/55067-box-2-bug/?do=findComment&comment=249136
2019-09-21 10:42:54 -07:00
Kurt
02014273b8
Remove unused abstractions (slotview)
2019-09-21 10:31:59 -07:00
Kurt
8912f76726
Clean up super training medal checks
...
Futureproof with transfer considerations
This is just a guess; gen7 didn't update the medal count and if we
assume pk8 overhauls the structure for a new console, they'll drop old
data.
With c#8 later next week, will move SuperTrainingMedalCount() to a
default interface method ez.
2019-09-20 20:55:36 -07:00
Kurt
3c50983afd
Use less efficient IsLevelWithinRange, for clarity
...
See previous commit for discussion; it's easier to read and maintain
this rather than have the precomputed min/max comparisons.
LevelMin - minDecrease <= min && max <= LevelMax + maxIncrease;
See EncounterArea7b:
Since we know min and minDecrease (0) before doing the linq filter we
can precompute the lowbound, same for highbound; but this isn't
immediately obvious to the reader. The perf cost is pretty much
negligible in the big picture, so leave it in the more readable state.
Thanks @fattard & @ammako !
#2389
2019-09-19 22:54:53 -07:00
Kurt
a4a0e3ac6e
Fix flute level amp direction
...
The inputs to "IsLevelWithinRange" are the highest value the
lowest-level can be, and the lowest value the highest level can be...
seems confusing (hence the original error).
If a slot is 6-7, with a wild encounter (flute), we can go +/-3 from
6-7, which is 3-10.
With an encounter of level 5, the inputs are: 5+3, and 5-3 (8, 2).
Since 8>lvlmin and 2<lvlhi, we can get a level 5 pkm from the slot
(using a negative flute yielding a -1 adjustment).
I could probably refactor it to be a 3-input signature (lvl, lvlneg,
lvlpos), and have it do LevelMin - lvlneg <= lvl && lvl <= LevelMax +
lvlpos
I should probably refactor these methods to do minLevel & maxLevel (so
baseSpecies.Level to CurrentLevel for pkm that lost their original met
data) but nothing needs the extra logic at this time.
2019-09-19 22:37:56 -07:00
Kurt
7e70d83664
Add missing filter overrides
...
Were using default filter behavior, which needs to be tweaked to account
for the original met location/level not being present (ie skip the
minLevel bounds check).
Hardcode logic for HasOriginalMetLocation for simplicity
Closes #2389 , thanks @Ammako !
2019-09-19 16:19:07 -07:00
Kurt
b41f2a3062
Extract logic from PKX
...
Extract Species Name logic to SpeciesName
Extract Language logic to Language
Remove FormConverter wrapper for string[] fetch
Rearrange some logic to more appropriate locations, update access
modifiers / types
Move some pkm array methods to arrayutil, make generic
PKX.GetVCLanguage was a dupe of _K12.GuessedLanguage() so just expose
the method
PKX is now back to pkm data manip only
2019-09-18 19:58:23 -07:00
Kurt
712a9cf4a0
Update 19.09.19
...
Update event binaries with latest from the Event Gallery
2019-09-18 15:29:07 -07:00
Matt
84f72ed2b9
Unban GO Shiny Mewtwo ( #2387 )
...
Ultra Bonus Unlock (Week 3)
2019-09-16 15:04:52 -07:00
Kurt
b9246ece37
Extract y2k datetime logic, also wardrobe tweak
...
swsh gonna have wardrobe, so rename class and relocate some logic in for
better docs
2019-09-15 22:12:32 -07:00
Kurt
0fe42a1db3
Minor tweaks
...
no functional change
2019-09-14 11:48:07 -07:00
Kurt
229bb0d05d
Merge dualbuffer into sav4
...
SAV3 has two general save chunks and storage
SAV4 also has the hall of fame block, which is a third block; no mo
silly names !
2019-09-14 11:39:48 -07:00
Kurt
972e35a289
Minor reorganization
...
Move the ea32->array creation to the actual class
2019-09-13 09:08:12 -07:00
Kurt
aa6f803ba9
fix g7sm trade strings
...
borked in a prior commit, nice string reference
2019-09-13 08:36:21 -07:00
Kurt
734aa33898
Split encounter areas, relocate slot finding to obj
...
Now logic is reasonably split, and each format of area has its own way
of yielding slots
Too much junk with checking flute boosts or catch combo applicability;
just let the area dictate how slots match.
2019-09-12 23:20:52 -07:00
Kurt
dc10c057a0
Use correct boxdata buffer when doing box manip
...
Closes #2386 ; guess I forgot to finish this.
2019-09-12 19:01:06 -07:00
Kurt
0d9c18e1c6
Minor clean
...
dual bounds check -> single check via uint cast
pkx: keep array reference for reuse in next check
format return to second line to stick out more; lines of code are cheap
:)
2019-09-11 22:17:16 -07:00
Kurt
477187a66c
Split EncounterArea into game-specific classes
...
Generating encounters from an EncounterArea is getting a little stupid
without inheritance; each type can now have its own specific behavior
without checking for each individual type of generation pattern. Will
add the abstract method implementations in a future commit
Move some string[] array fetch (for all languages) to Util
2019-09-11 22:06:24 -07:00
Kurt
40cbbaa695
Relocate to more appropriate util class
2019-09-11 18:39:49 -07:00
Kurt
c5ebbbbe15
Minor clean
...
Magic number -> const usage
default(T) -> default (c#7.x feature)
remove some unused stuff
fix indentation in some spots
2019-09-10 22:07:50 -07:00
Kurt
62d08d7c30
Misc clean
...
split some methods with optional parameters=null
add more xmldoc
replace some magic numbers -> enum/const references
consolidate common array operations (span soon maybe?)
2019-09-10 00:21:51 -07:00
Kurt
74f8e312ca
Merge branch 'master' of https://github.com/kwsch/PKHeX
2019-09-09 21:30:05 -07:00
Matt
5ab0005de7
Update GO Shiny Banlist ( #2384 )
...
Ultra Unlock Bonus, Week 2.
2019-09-09 21:07:30 -07:00
Kurt
02f36655a0
Reload box data cache on resetting slots
...
clear box and other calls to ResetSlots weren't reloading with the NEW
modified pkms.
2019-09-09 20:23:18 -07:00
Kurt
6d8ff992e2
Clean up / fix external drag in ( #2383 )
...
* stash
* Consolidate some logic
2019-09-03 19:54:41 -07:00
Kurt
edf36e8a34
Fix sav4 checksum calc
...
DPPt have a footer that's 0x14 bytes; HGSS is only 0x10 (first u32 was
removed from struct).
2019-09-03 18:16:10 -07:00
Kurt
4b8082be23
Add Pokegear number editing (hgss)
...
Closes #2379
2019-09-02 21:24:49 -07:00
Kurt
b81a1e1e29
Refactoring
...
Increase abstraction for arbitrary slot get/set operations, and fracture
SAV4 behavior for each game type.
Adds: Undo/Redo of party slot changes
Fixes: Fixed Gen5 daycare slot 2 reading, and EXP reading
Fixes: Some slot color glitchiness
Fixed: Box layout editor now hides the flag label if no flags are
present
Fixed: Gen7 box flags are now shown (unknown purpose lol)
Changed: savefile objects are generally smaller (removed a few shared
offset fields)
2019-09-02 19:30:58 -07:00
Matt
afd4ff25a5
Fix off-by-one ( #2382 )
2019-09-02 19:28:48 -07:00
Kurt
0fc9b4dd15
Fix lgpe init
...
oops prior commit
2019-09-02 19:07:20 -07:00
Kurt
ef5ff32c3c
Add GO transfer restrictions for min level
...
Closes #2381
Keep Raichu and Marowak at the end for ez referencing. Keep a separate
refence for alolan kanto stuff for futureproofing
Might want to improve the EncounterArea abstraction to do the
slot-finding labor themselves, but whatever, hardcode stuff until swsh
throws new monkey wrenches in. A good idea would be a dictionary with
level forcings [species | form << 10] = X and use the dictionary to
check on slot creation
2019-09-02 18:38:12 -07:00
Kurt
a133abc615
Add pokegear caller ID enum
...
#2379
Cheat as requested in issue not implemented yet; pending future changes
to split sav4.
2019-08-27 16:17:29 -07:00
Kurt
f0df115ccd
Fix box load on uninitialized box load
...
Closes #2376
probably will be rewritten at a later time; am reworking the slot info
messaging for drag/drop/display
2019-08-23 18:03:10 -07:00
Kurt
bf6c25eca7
Break up SlotChangeManager logic
...
A little bit cleaner when the logic is separated
Keep an abstraction of BoxEdit to cache the current box contents.
Already fetched to show sprites; any future fetches (for preview text /
hover sprite) can reuse the already fetched pkm data.
Should probably rewrite this stuff completely, but effort better spent
elsewhere
2019-08-20 19:50:28 -07:00
Kurt
d0ae47eb6c
Update 19.08.19
...
Update event binaries with latest from the Event Gallery
2019-08-18 21:51:40 -07:00
Kurt
4f3745e3c6
Change enumerate -> array fetch to force eval
...
https://projectpokemon.org/home/forums/topic/54426-pkhex-error/
trycatch will trip here rather than be uncaught when evaluated later
tbh I don't like pkhex's method chain (enumerable, bool, throws), but
this fixes the error.
2019-08-14 16:45:21 -07:00
Kurt
cf574337e9
Rewrite encounter move suggestion logic
...
more straightforward logic flow, don't repeat same <= 2 comparison
2019-08-14 16:35:25 -07:00
Matt
d85a57ac1e
Update Generation 3 Event Flags/Constants ( #2374 )
2019-08-12 15:26:00 -07:00
Matt
fb4a33ce7e
Unban GO Shiny Poliwag
...
Yokohama GO Fest
2019-08-05 21:06:57 -04:00
Kurt
8b49ddb0ad
Merge pull request #2372 from XxPhoenix1996xX/patch-13
...
Update lang_es.txt
2019-08-04 23:09:07 -07:00
Kurt
b81742c38c
Update MessageStrings_es.txt ( #2371 )
2019-08-04 23:08:58 -07:00
XxPhoenix1996xX
ec9ae87340
Update LegalityCheckStrings_es.txt ( #2370 )
2019-08-04 23:08:52 -07:00
XxPhoenix1996xX
e89c2f6d25
Update lang_es.txt
2019-08-04 19:13:56 -04:00
XxPhoenix1996xX
e2227cbddf
Update MessageStrings_es.txt
2019-08-04 18:50:34 -04:00
Kurt
9c58903f55
Fix blank sav3 : sapphire init
...
lol it's been this way for 7+mo
Closes #2369 ty @CorvusAtrox !
2019-08-04 00:59:59 -07:00
Kurt
f462f49eec
Fix sav7 map data rw
...
https://projectpokemon.org/home/forums/topic/54197-issues-with-newest-version-of-pkhex/
2019-08-02 15:11:22 -07:00
ReignOfComputer
33ae5b3ac5
Add Realgam Tower to Colosseum Encounters ( #2368 )
...
https://github.com/kwsch/PKHeX/issues/2367
2019-07-30 08:43:30 -07:00
Kurt
7424cf6fb0
Remove GSC/C differentiation in PK2
...
Allows for no adjusting the game group
2019-07-28 13:26:39 -07:00
Matt
79127d02e4
Update GO Shiny banlist ( #2365 )
2019-07-26 15:33:19 -07:00
Riccardo Boninsegna
3e7be6832c
Even more FR/LG stuff ( #2364 )
...
* corrections and styling
* FR/LG: some more story/item related variables
* FR/LG: More HMs and Oak's Aide's items
* FR/LG: League beaten flag fairly confirmed
* FR/LG: variables
2019-07-25 17:42:41 -07:00
Kurt
db632905fd
Remove WasEgg setter
...
WasEgg (aka WasDefinitelyAnEgg) from stored properties is one thing,
WasEgg from encounter info is another; don't mix
2019-07-25 17:42:20 -07:00
Riccardo Boninsegna
8ffcdc9570
FR/LG: More variables! ( #2363 )
...
* FR/LG/E: Altering Cave variable
* FR/LG: Pokemon Tower related variables
* FR/LG: Pokedex/Oak/Rival (part 1) related variables
* FR/LG: more story related variables
2019-07-23 16:08:54 -07:00
Riccardo Boninsegna
c508d49f87
FR/LG flag names ( #2362 )
...
* FR/LG: Event flags for eventually reaching event-only places
(required to enable processing of the appropriate items; officially set by DLC scripts)
* FR/LG: Badge names and Running Shoes
2019-07-23 09:40:41 -07:00
Kurt
9ed47cc8fd
Minor tweaks, no functional change
2019-07-21 12:30:21 -07:00
Matt
9cab2e366d
Misc Let's Go updates ( #2361 )
2019-07-15 09:05:53 -07:00
Kurt
894237449b
Allow differentiation between SAV2 blanks
...
Choosing G/S will initialize as GS
Choosing C will initialize as C
calling via their own code (GSC/GS) will choose the most recent (crystal
if possible).
Closes #2359
2019-07-14 15:13:13 -07:00
Kurt
a608e0b252
Minor clean
...
Remove some unnecessary properties from SaveFile
Enumerate checksum flag results for GC memcard checking
Remove unnecessary checks on savefile type
Add some documentation
Decapitalize some method parameters
2019-07-14 15:06:45 -07:00
Kurt
839500a7ee
Fix medicine offset for AO
2019-07-13 17:43:29 -07:00