Commit graph

5597 commits

Author SHA1 Message Date
Kurt
292ea5ba44 More encountertrade workarounds
probably not entirely correct, but better than flagging incorrectly
2023-07-11 16:25:05 -07:00
Kurt
75e7965803 Update GameDataPK8.cs 2023-07-11 12:46:49 -07:00
Kurt
a49508b354 Check scale copy in non-SV formats
Rather than ignoring it
2023-07-11 11:05:55 -07:00
Kurt
6a5dc5caa5 Revise baby species-form check for SWSH/SV
Evolutions fail to reverse Alolan Raichu in these local contexts, so revise the sanity check to use Personal instead since seedpoke data is available.
2023-07-11 08:52:46 -07:00
Kurt
4f014a9275 Gen4: Load altform tutor bits
They can be different between alt forms.
2023-07-10 19:17:09 -07:00
Kurt
0876c8044a Set TR flags for all evos, indicate yellow 2023-07-10 18:41:56 -07:00
Kurt
2e0a2ed7eb Adjust head evo max level for 345 vc7 transfers
https://projectpokemon.org/home/forums/topic/63635-pkhex-230709-bugs/
2023-07-09 21:06:47 -07:00
Kurt
478413e8cd Discard Fairy type Arceus when reversing
https://projectpokemon.org/home/forums/topic/63635-pkhex-230709-bugs/
2023-07-09 20:22:01 -07:00
Kurt
7fb5dc2fde Update go pickles, add fr bdsp chatot goof
Nintendo + ILCA = no nicknames allowed ;)
While we're here, streamline Gen4/5 evo pickles too -- trim out unused bytes, no longer need to scan for array length (perf). Adjust method IDs for gen4 so we can use the same code for gen4 & gen5.
2023-07-09 19:59:37 -07:00
Kurt
26cabd022b Update 23.07.09 2023-07-09 14:10:40 -07:00
Zazsona
b340e2327a
Crystal (International) Checksum 2 Fix (#3939)
* Correct invalid OverallChecksumPosition2 offset for International Crystal

* Update SAV2 Checksum validation to check against both Checksum values
2023-07-08 20:21:43 -07:00
Kurt
2ea6ee4e10 Misc fixes
Add sound for adding all XY fashion items (was silent)

Fix Gen7 Resort PKM loading (4 bytes extra per slot)
Fix Gen6 HallOfFame TID/SID validation dropping leading zeroes
Fix Gen6 Best Friends ribbon validation
Treat GO8 as server date restricted, give detailed message outside window
HasTracker => must have HT name
2023-07-08 20:00:41 -07:00
Kurt
b5f0296fe6 Skip yielding GO8+ encounters if PB7
No backwards transfer to LGP/E, and this behavior is only encountered if you turn off specific filtering settings as the generator filters them out afterwards.
2023-07-08 18:28:09 -07:00
Kurt
a0fb01db23 More evo path restrictions
Early abort for bdsp spinda nincada
Skip caching visitation for nonvisit instead of post-work zeroing
Fix slowpoke-galar evo banning
2023-07-08 14:51:45 -07:00
Kurt
6d4cd60461 More fixes/improvements
Improve cctor times for Breeding; direct calls for splitbreed checks; inlined binary searches via generated IL instead of hashset
Fix permitting alpha ribbon on non-alphas in Gen8/8a/8b, disallow Gen8a/8b ribbons for Gen7 Alolan Raichu
Improve some IL generation of EvoChain logic
Add xmldoc for new evotree additions
2023-07-08 12:46:46 -07:00
Kurt
79729de90c Misc fixes
ty matt
2023-07-08 08:40:57 -07:00
Kurt
1b2efef864 Add GO masterball check
go ahead and waste them
2023-07-07 21:29:51 -07:00
Kurt
014cd8c738 Ban voltorb-1 ball inheritance 2023-07-07 21:20:15 -07:00
Kurt
c52b49de08 Update BallVerifier.cs 2023-07-07 20:57:01 -07:00
Kurt
164d517ef1 Allow move crossover from GO initial movesets
GO imports that are created with their PK7 and PB7 movesets can bleed from their initial moves.

Example: Muk-Alola level 20 with Minimize can bleed into SV at level 20 (below the normal learn at level 21).
2023-07-07 19:32:38 -07:00
Kurt
00b3e111f8 Extract some CGear logic
More span based interaction, less allocation.
2023-07-06 22:20:25 -07:00
Kurt
158b952265 Fix Box/Slot filter comparisons for gr/gre/lt/lte
Closes #3934
2023-07-06 20:02:07 -07:00
Kurt
41693b0142 Misc fixes 2023-07-06 19:41:27 -07:00
sora10pls
30df059544 Add raid data for raids that got delayed by 2 months 2023-07-06 20:04:09 -04:00
Kurt
0b9ec529d5 Update LearnSource2GS.cs 2023-07-05 22:08:03 -07:00
Kurt
dcc0e79435
Evotree: Evolution Traversal Enhancements (#3936)
Like move validation, evolutions are the earliest thing we wish to traverse when determining what encounters may have originated the current Pokémon. To determine the permitted species-form-levels a Pokémon could originate with, we must devolve a Pokémon by traveling down-generation to origin. Once we have an encounter, we can then evolve it to the current species, traversing upwards from origin to the current format.
2023-07-05 21:14:09 -07:00
Lusamine
e02b33ef2c Add Wedgehurst as valid general location to gen 8 sign memory 2023-07-05 19:40:17 -05:00
sora10pls
cc7b500566 Add legal date range for Paul Chua's Arcanine
Closes #3931
2023-06-30 19:39:00 -04:00
sora10pls
e7d60a88de Add latest distribution raid data 🪙 2023-06-21 19:31:51 -04:00
James Park
0ba64a8da2
Pokemon location tooltip fix for PLA + miscellaneous comment fixes (#3920)
* Fix Pokemon tooltip for LA incorrectly referring to SwSh location table

* Fixes to comments referring to incorrect generation/version/game

---------

Co-authored-by: James Park <5295838+pencilethics@users.noreply.github.com>
2023-06-20 10:36:28 -07:00
sora10pls
be210ceab2 Add 정원석's Gastrodon Server Date
Closes #3919

Co-Authored-By: Sakura <106369723+xiaolong11123@users.noreply.github.com>
2023-06-17 08:22:49 -04:00
Zazsona
38c7e755db
Correct SAV4Ranch's SetChecksums() passing the wrong pkEnd offset argument to UpdateMetadata() (#3918) 2023-06-16 15:45:09 -04:00
sora10pls
02eabfb10c Add latest distribution raid data (for real this time) 🐘
it took them a month but they did it
2023-06-15 20:03:19 -04:00
Kurt
6964d48adb Move location/capture to Encount
Shared for both roamers
https://projectpokemon.org/home/forums/topic/63405-suggestionbug-gen-5-roamers-block-data-only-shows-info-on-roaming-thundurus/?do=findComment&comment=283912
2023-06-11 11:12:34 -07:00
Kurt
8cc1220056 Minor clean 2023-06-11 10:38:51 -07:00
Manu
147eda0c74
Add そらみつ's Bronzong Server Date (#3911) 2023-06-11 13:16:15 -04:00
abcboy101
b0da14b71e
Add Geonet/Unity Tower editor (#3909)
Adds a basic editor for recorded Geonet/Unity Tower locations for the Gen 4/5 games, building on this [post by Danius88](https://projectpokemon.org/home/forums/topic/62055-bw-b2w2-unity-tower-geonet-and-passerby-research/).
So far, I've implemented buttons that set all locations (including unused ones), set all legal locations, and clear all recorded locations; and checkboxes to toggle whether the whole globe is visible (used in Japanese games) and whether the ferry to Unity Tower is unlocked.

Haven't implemented any UI for editing the status of individual locations, since I'm not sure how to lay it out.
Also haven't implemented anything related to how the data of the other players in Unity Tower is stored.
2023-06-11 09:38:24 -07:00
sora10pls
acba041ef8 Reorganize WC8 HOME gifts, fix Jewel of Life date ranges
tfw time zones
2023-06-11 12:24:07 -04:00
Manu
ee2c8945d3
Handle Rev 2 Home WC8 cards (#3910) 2023-06-11 09:03:39 -07:00
Kurt
11a4846b9e lower evolution stage and higher level
why did I do <= instead of <
the world may never know
2023-06-10 21:40:30 -07:00
Kurt
cd22cc64ce Restrict old WC8 HOME gifts for 0 EC
Restores strict checks for stuff prior to May 30th that were removed via 36a696e446

Add sim cards for Gen9 HOME starters

Allow tracker-less transfer matching for WC8

Helpful for generating bots who can't assign a legitimate tracker for direct-in-Gen9 injects.
2023-06-10 21:40:30 -07:00
Kurt
36a696e446 Misc tweaks
Prep for WC8 HOME Gifts having random PID/EC
2023-06-09 01:59:04 -07:00
Kurt
05be679d9a LearnPossible: Add len check for relearn move
Out of bounds relearn move IDs weren't sanity checked; now they are.
Closes #3906
2023-06-07 18:11:08 -07:00
Eelen
f94c4f4420
Update CHS Translations (#3903)
Update CHS Translations

Co-authored-by: Leo <103500840+wubinwww@users.noreply.github.com>
2023-06-04 23:43:09 -07:00
Kurt
5c21e4c73b Permit non-0 h/w on WC8 HOME gifts
Yay home rerolling these when transferred back in.
Ex: magearna gift
2023-06-03 21:03:17 -07:00
Kurt
35e3608dad PKH: Fix ribbon copy invert 2023-06-03 20:59:13 -07:00
Chris
1f68ca6fb6
add pichu wc9 dist. date (#3900)
* add pichu wc9 dist. dates

* Update EncounterServerDate.cs
2023-06-03 20:40:45 -07:00
Kurt
fa8e65f9e5 Extract Characteristic calc to static class
Reused logic, easier unit testing, better performance.
Old method would do max of 6 properties (that each fetch 32bits and bitshift themselves); now we just fetch once and shift calc accordingly.
2023-06-03 18:52:05 -07:00
Kurt
e3d8d167be Update 23.06.03 2023-06-03 18:29:07 -07:00
Kurt
1174e354b1
Initial support for Pokémon HOME 3.0.0 (#3899)
* Heavily rewrites the `PKH` abstractions.
* Uses HOME's core-side classes as the transfer middlemen instead of direct A->B transfers.
* Revises logic to account for most of HOME's quirks (scale/height copying, safe refuge PLA)

Future revisions hinge on better handling of evotree (need better metadata about existing as specific evolutions in each game).

---------

Co-authored-by: sora10pls <17801814+sora10pls@users.noreply.github.com>
Co-authored-by: Lusamine <30205550+Lusamine@users.noreply.github.com>
2023-06-03 18:19:16 -07:00
sora10pls
92258f6755 Label B2W2 available fossil event const 2023-05-29 09:59:14 -04:00
James Park
a8154cfa49
Fix Griseous Orb being incorrectly removed from Pt inventory (#3891)
* Fix Griseous Orb being incorrectly removed from Pt inventory
2023-05-28 01:05:44 -07:00
Pasquale Nardiello
3ca16b435c
[SV] Give All Clothing button (#3876)
* Mapped Fashion items for S/V and added injection logic
* Added 'Unlock Clothes' button in Trainer Editor's misc section alongside ComboBox to select type to add all.
2023-05-26 10:24:27 -07:00
sora10pls
6c3a8b8377 Update MoveInfo5.cs
Was missing Fusion Bolt, oops
2023-05-26 09:02:17 -04:00
sora10pls
61fbdfe5f6 GO: Separate Mythical encounters depending on HUD visibility
Also add in details for Shadow Raids now that they're known
2023-05-23 17:18:29 -04:00
sora10pls
2c0f4d0e91 Update ItemStorage7SM.cs 2023-05-20 15:17:41 -04:00
sora10pls
302f0593e6 RAID: Shadow Legends
Need to differentiate these from regular raid encounters so that they can be excluded from LGPE GO encounter data (purified can only be sent to HOME).
2023-05-20 11:56:19 -04:00
Kurt
b08843fcc5 Allow BDSP Slate/Shard to be given via "Give All"
https://projectpokemon.org/home/forums/topic/63429-bdsp-slate/

The "Give All" cheat will skip adding unobtainable items.
Since the BDSP-exclusive Treasure (slate/shard) are unable to held, they were also skipped. Revise the logic to allow them to be added via "Give All", but still disallowed as held items (separate arrays needed).

Also condense the logic for BCAT-Dmax crystal IDs since they're all sequential. Just iterate a range instead of a span.
2023-05-18 19:30:39 -07:00
sora10pls
1de4e4eaab Add latest distribution raid data 🐘 2023-05-18 20:04:39 -04:00
Kurt
ad739f1db7 Handle mutliple HM removal & downshift reorder 2023-05-17 17:20:39 -07:00
Kurt
be88ec387b More span for PKH rebuild 2023-05-17 16:57:13 -07:00
Kurt
53348bd646 Add TM91/92 + HM01-08
Oops
Closes #3883
2023-05-17 16:55:53 -07:00
Kurt
5acae160c6 Fix 2byte misalign on PH1
Closes #3882
2023-05-14 18:48:29 -07:00
sora10pls
2bdee8c87d Permit Unknown Dungeon/Secret Base hatch locations 2023-05-14 15:16:31 -04:00
Kurt
3b697a5da1 Update G8PKM.cs 2023-05-13 12:41:50 -07:00
Kurt
401c545ca8 Update 23.05.11 2023-05-11 21:44:36 -07:00
Kurt
34f4df3d4b Misc tweaks
Closes #3878

Pictures are Zoom instead of AutoSize so there's no need to downscale or dynamically position the smaller 2.
Fix my oopsie on docked tabs (hid the Cancel/Save button!), change sizing.
2023-05-11 20:56:45 -07:00
sora10pls
54b663ae6f Add latest distribution raid data 🪨 2023-05-11 20:04:24 -04:00
sora10pls
caf4a103dd GO ahead and add latest pickles 🥒 2023-05-11 16:07:56 -04:00
Pasquale Nardiello
d915bb6039
Img visualizer (#3875)
* Added Boxes to view Current Trainer photo and Trainer Icons

* Adjusted Images Visualization

* Updated Pictures decompression to final DXT1 version
2023-05-10 23:50:50 -07:00
sora10pls
1e985d6b26 Expose Gimmighoul form argument in editing tabs 2023-05-10 21:05:43 -07:00
Kurt
8d5672d9c4 Remove date restriction on HOME WC8 shiny gifts
Stuff back in 2020 could be shiny too (as TSV=0 was possible), so the antishiny mechanism existed from the start.
2023-05-10 21:05:43 -07:00
Kurt
8a2f1d56c2 Misc tweaks 2023-05-09 20:17:15 -07:00
Kurt
709da45449 Add synthesis for GameDataPK9->GameDataPK8
Code duplication -> identified the root pattern. Looks quite simple now; hopefully this is the eventual pattern.
2023-05-09 20:00:13 -07:00
Kurt
e265c18fa2 Span-ify HOME data structures
Much easier to read.
Optionals no longer store the 3-byte header in their memory reference.
If they were smart, they could track per-game visitation date/time in a future header format...

Fixes adding new side-formats and an updated header not writing the first time.
Fixes GameDataPK8.CopyTo where PokeJob data copies from the wrong segment
2023-05-09 19:13:58 -07:00
Kurt
3bde807bf2 Gen5: Add second roamer slot 2023-05-09 11:45:19 -07:00
Kurt
4aeea9e956 Allow TSV=0 for home accounts 2023-05-08 00:03:45 -07:00
Kurt
ec586683d6 Disallow crossover slots for Mesagoza (8)
Crossovers into Mesagoza should be disallowed since everything is too low in the water, and there's no way to get anything into a gate.
2023-05-07 22:03:44 -07:00
Kurt
e32410279e Flag invalid gimmighoul formarg values 2023-05-07 15:39:37 -07:00
Kurt
77c9438eb8 Add bulk renamer API for renaming PKM files 2023-05-07 15:30:03 -07:00
Kurt
a09a6263c7 Extend filename species 000's to 4 digits
Now that we're past the 999 count...
2023-05-07 15:29:40 -07:00
Kurt
5c70e41b76 Devirtualize GetMatchingSlots 2023-05-07 13:34:47 -07:00
Kurt
e75da5d3b7 Misc tweaks
More readonlyspan for the rest of the defined ushort[] arrays, less dictionary/hashset
Simplify some slot-empty checks, makes it easier to see an api for slot interaction (future?)
2023-05-07 13:32:29 -07:00
sora10pls
043618cf86 Update PokeSizeDetailed.cs
Different from 1.0.0 / 1.1.0
Thanks iD3M0N1C!
2023-05-02 20:56:16 -04:00
Kurt
3219e03dc6 XK3: Load Purified state from savefile
Closes #3872
2023-05-01 17:09:45 -07:00
Kurt
3285ecada9 Add MemoryCard detection as latest sav, pkmdb 2023-05-01 16:51:17 -07:00
sora10pls
e5cc0ffd6b SAV5: expose number of unlocked boxes 2023-04-30 18:59:51 -04:00
sora10pls
d55bf21466 Minor fix to LGPE fashion cheat
oops
2023-04-30 12:14:05 -04:00
sora10pls
6eb82e3847 Add unlock all fashion cheat for LGPE 2023-04-30 12:01:08 -04:00
sora10pls
7e2552d918 Expose LGPE current fashion/appearance 2023-04-28 21:14:24 -04:00
sora10pls
94f98d66f5 Add latest distribution raid data 🦎 2023-04-27 20:03:51 -04:00
Eelen
ce431d1df4
Update CHS translations (#3869)
Co-authored-by: Leo <103500840+wubinwww@users.noreply.github.com>
2023-04-27 15:35:10 -07:00
sora10pls
d4d353c087 Pokémon GO 0.269 Premier Ball Considerations
Perhaps one of the silliest things PKHeX could account for when it comes to legality 🥒🚫

Data has been added to PGET, but the issue has not been fixed yet, and Beast Ball is still up in the air. More to come?
2023-04-23 22:40:52 -04:00
Kurt
de17753733 Extract iterator flag mask check logic, reuse 2023-04-23 16:43:47 -07:00
Kurt
907ed0b32f struct CheckResult
tiny object, eliminate allocation for them since they're 10-16 bytes at most.
2023-04-23 16:04:04 -07:00
Kurt
b417964193 Condense some expressions for move fetch 2023-04-23 15:51:48 -07:00
Jonathan Herbert
599387e7aa
Fix ORAS Held Items Using XY Held Items By Mistake (#3866)
- Add HeldItems_XY
- Fix that HeldItem_AO pointed to what should have been HeldItems_XY
- Fix HeldItem_AO being inconsistent with the rest of the HeldItems
- Correct HeldItems_AO only having XY  held items and not ones added in ORAS
2023-04-23 01:35:26 -07:00
Kurt
f2ffd2ad1f Allow pointer property references for filters
=Stat_ATK=*Stat_DEF
.Species=0

^ will delete a pkm if the defense stat is equal to the attack stat.
the `*`* allows you to use the value from that property, rather than a value from the instruction

already worked for property-modify (aka copy property value), this just allows you to compare-filter with properties.
2023-04-22 17:58:36 -07:00
Kurt
998b8f1ce0 Minor tweaks
Add unit test for VC kata/hiragana edge case
De-duplicate some slot change notifications
Span in more spots
2023-04-22 17:51:32 -07:00
Lusamine
62173f4deb Add dates for Pokémon Center Mini/Jumbo Pikachu events 2023-04-22 10:00:29 -05:00
Kurt
0c1221eae1 Update Pokerus.cs 2023-04-21 00:22:44 -07:00
Kurt
5bdc6b9ef8
Privatize some static fields, more robust legal helper classes. (#3865)
* Uses LearnSource more throughout the codebase when appropriate, rather than loosely coupled pivot methods.
* Hides Learnset/EggMove data inside the LearnSource classes.
* Extracts functionality from the large Legal class & partial Table*.cs files into better performing helper classes.
* Cleans up some code from prior LearnSource commits.
2023-04-20 21:23:15 -07:00
Kurt
9a768dded3 Permit pkrs strain 0 & 8 on Gen3+ context
Ruby & Sapphire had a bug that only looped when (rand) == 0 !!! instead of (rand & 7) == 0.
End result is that the pkrs giving method yields strains 0 & 8 with 30/255 & 1/255 rarity.

Gen2: z80 assembly does NOT work as intended, and has a separate bug that causes strains 9+ to never be obtainable. So close to a neat statistical separation.

Revise the GUI to disable the events on field loading, and allow for selecting Strain0 w/ days !0.
VC2->7 does not transfer pkrs; not that it matters since Gen3++ transfers can spread every strain.

Thanks @SNBeast for clarification on Gen2's assembly logic and repro!

Co-Authored-By: SNBeast <21327530+snbeast@users.noreply.github.com>
2023-04-20 21:20:25 -07:00
Lusamine
b08581aecf Final adjustments to SV Trainer Editor, update localization files 2023-04-16 18:16:41 -05:00
sora10pls
8d452d1cc8 Add pre-Gen 6 move types
Curse unaccounted for because ??? type has no icon, better off displaying as Ghost in all cases
2023-04-16 18:58:59 -04:00
Kurt
fa9a809751
Encapsulate item pouch arrays/etc for finer control (#3860)
* Extract/encapsulate inventory legal arrays to interface+class

Hiding them behind methods allows these to be left as ReadOnlySpan<ushort> and thus never allocate on the heap.
Also refactors out some logic for checking if an item is legal.

End result feels more maintainable and is less bloaty (no more passing in a nullable func)

Batch editing
* Add HasType filter

```
=HasType=11
.HeldItem=Meadow Plate
```

slaps a meadow plate on any pkm with grass type
Use `=PersonalType1=11` for only primary grass types; only-secondary-type grass will not match it.
2023-04-16 12:58:07 -07:00
Jonathan Herbert
52a24a7bb0
Expose FashionUnlock8 From SAV8SWSH (#3859)
Also document what the relevant regions are as constants.
2023-04-16 12:32:25 -07:00
Kurt
5b484f5712 Use byte[] instead of int[] for tile sel 2023-04-15 11:28:35 -07:00
sora10pls
f433d02052 Label profile picture/trainer icon save blocks 2023-04-15 11:59:55 -04:00
Kurt
c73264d4f3 Minor minor perf
Small changes to reduce some allocations
2023-04-15 01:58:37 -07:00
sora10pls
e2fd292ffa Add Gavin's Palafin eligible date range 2023-04-14 08:16:52 -04:00
sora10pls
47f5799fef Add latest distribution raids
Scale: 0
tiny boi
2023-04-13 20:04:00 -04:00
sora10pls
f0a34f68ad Disallow form argument on Gimmighoul
Gimmighoul can't increment its form argument counter, it can only ever be 999 on Gholdengo after evolving.

Also reorder switch cases according to National Dex indexes.
2023-04-13 11:28:05 -04:00
Kurt
ecef31f167 Minor clean 2023-04-13 00:05:10 -07:00
Kurt
4caf749064 Misc tweaks
do things a little more directly

blank ctor: we already have the ctor, just invoke it ourselves instead of having to rediscover it
2023-04-10 01:26:54 -07:00
Kurt
ebd061dcd9 location list public (class still internal) 2023-04-10 00:50:11 -07:00
Kurt
6d0c2d9520 Add more overload methods
Learnset: slightly quicker check.
SCBlock: assists when you have Key separate from the encoded data.
2023-04-10 00:49:39 -07:00
Kurt
6182f889a6 Add learnset moves similar to games
Instead of looping, if the moveset is full and a new move is added, the game shifts all arr[1..] down one slot then adds the move at the end.
Since we don't need to keep track of PP/PP Ups, we can just defer the shifting and do n % 4 rotations at the end instead of n rotations (one on each move added).
2023-04-08 12:20:18 -07:00
Jonathan Herbert
7ea0e21b7d
Add Button To Unlock All Fashion in BDSP Misc Edits (#3856) 2023-04-06 20:54:42 -07:00
Kurt
0dfb012e5c Add Ditto distribution raids 👛
Adds a helper method for SCBlock to measure a size from header.
2023-04-06 19:28:10 -07:00
Kurt
340578b671 Update PGT.cs 2023-04-04 15:03:14 -07:00
Kurt
aeb6595887 Show move elemental type in PKM Editor
Note this is only SV types, so moves that had their type changed (=>dark/steel/fairy) will be inaccurate in past game formats.

Would need time to dump the info.
2023-04-04 14:38:07 -07:00
Manu
43c67fd455
Add wc5full compatibility (#3854)
* Add WC5Full compatibility

* Add .wc5full to mystery gift filter
2023-04-04 07:19:54 -07:00
Kurt
d6ec64fb00 Update MoveListSuggest.cs 2023-04-02 16:19:56 -07:00
Kurt
fcad4f8e08 Handle WC9.Scale spec per v1.2.0 patch changes
Unnoticed, undocumented, now both.
Pivot based on March 1st for the 4 gift-poke cards that already existed. On that day onward, games must be on v1.2.0 in order to redeem, and thus must follow the fixed scale spec.
2023-04-02 01:19:33 -07:00
Kurt
3b54ac6ecc Show affixedribbon next to markings
new Visual Studio version made my designer code ugly
maybe I should refactor the GUI like they recommend :P
2023-04-01 16:52:12 -07:00
Kurt
0d3bbe15b7 Add lechonk wc9 to pickle 2023-04-01 15:20:14 -07:00
Lusamine
d6e1019233 Add met dates for TCG Lechonk and end date for Fly Pikachu 2023-04-01 09:34:15 -05:00
sora10pls
2f5b66f49a Allow Master Rank Ribbon on Treasures of Ruin 2023-03-31 20:04:52 -04:00
Kurt
c81c0d84d4 Add GSC swarm fishing slots
https://projectpokemon.org/home/forums/topic/57375-pkhex-new-update-legality-errors-contribution-page/?do=findComment&comment=282691
9f52f8fb7c

Thanks SegNin !
2023-03-31 13:02:27 -07:00
Kurt
4384cadefc Add more xmldoc 2023-03-31 13:00:34 -07:00
sora10pls
3bfd302633 Add latest distribution raid data 🦦 2023-03-30 20:07:19 -04:00
Jonathan Herbert
5cb31d660d
Add Enrollment Date To SaveBlockAccessor9SV and SAV9SV (#3851)
Add Epoch1900Value based on Epoch1970Value's API and the method @Lusamine described in #3800 to access the Enrollment Date From Scarlet and Violet Save
2023-03-29 20:44:04 -07:00
sora10pls
bd05da2b94 Revise SV stake collection cheat
Chains in front of the ruins are now removed when activating the cheat
Also reorder and label more blocks
2023-03-28 18:25:56 -04:00
sora10pls
6b5d4ec3ea Add, label, and reorder more SV save blocks
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
2023-03-28 16:01:21 -04:00
sora10pls
dd157813c4 Misc changes
Re-order tables according to National Dex ID instead of Dev ID
Label unknown fields for SV player appearance/fashion
2023-03-28 16:00:44 -04:00
Kurt
79ca670044 Replace party/boxdata get with more performant use
Read directly from the save file.
Batch Editor no longer updates dex, HT details, or updates acquired counts when placing back in the SAV.
2023-03-28 12:49:21 -07:00
Kurt
e6ebd20d83 Minor tweaks
Fix boxbin load being ignored
2023-03-28 11:29:29 -07:00
Kurt
5c13183d02 Less allocation, minor tweaks
NET 8 will have a Shuffle method, which can get rid of the overload in Util.
Batch Editor no longer crashes the program when selecting OT_Trash/HT_Trash/Nickname_Trash via dropdown.
2023-03-27 00:11:42 -07:00
Kurt
82309cf99d Use Memory<byte> for Gen4 saves
Instead of allocating a buffer for Storage/General, just point within the raw Data, as a Memory<byte> reference. Most of the uses were already using it as span.
2023-03-26 15:16:12 -07:00
Lusamine
0e16b08482 Label step counters in SWSH for egg cycle and party friendship 2023-03-26 16:10:26 -05:00
Kurt
aa13c93e65 Add misc generic constraints
Resolves some allocation analyzer issues
2023-03-25 23:28:28 -07:00
Kurt
0087ccb44f Use span for savefile slot API
No more offset fetch
2023-03-25 23:14:50 -07:00
Kurt
5ce3e734b8
Skip initial cctor alloc on non-byte primitives (#3850)
Runtime/jit repoints these to the dll rather than heap if we're Little Endian (always, otherwise will allocate like before).

Eliminates quite a few static constructors, so even faster startup. Items later.
2023-03-25 17:55:55 -07:00
Kurt
34c1473966 Misc tweaks 2023-03-25 17:48:49 -07:00
Kurt
081a48bbf6 Update LevelVerifier.cs 2023-03-24 23:48:35 -07:00
sora10pls
a68165cdd8 Add latest distribution raid data 🥚 2023-03-23 20:06:11 -04:00
Kurt
4615e3577a Span-ify MoveSetApplicator 2023-03-21 21:02:13 -07:00
Kurt
46de8c4b06 Minor optimizations
Only fetch egg moves when using them
Localize KOR gen2 string directly instead of switch expression
Remap FRE gen4 chars directly, hot path instead of dictionary lookup
Uppercase chars in place
2023-03-21 17:20:13 -07:00
BlackShark
6247a61bd3
Fixed offset for MysteryEvent3RS checksum (#3847)
* Fixed offset for ME3RS checksum

* Added Subtitle for WonderCard3
2023-03-21 16:45:37 -07:00
BlackShark
a31217ef6a
Various changes to Gen 3 Mystery Data (#3842)
* Various changes to Gen 3 Mystery Data

* Update Gen3MysteryData.cs
2023-03-20 16:26:23 -07:00
Manu
8ab36f70fd
fix SetValue for SByte blocks (#3843) 2023-03-20 15:54:47 -07:00
Kurt
224283b7f8 Better spanify nth entry tsv fetch
Closes #3846
2023-03-20 15:52:27 -07:00
Manu
f9c55320f4
Label Active Outbreaks Number Save Block (#3844) 2023-03-20 06:07:30 -07:00
Kurt
30e3c94c8a GB: Clamp ev stat to 255 again
https://github.com/kwsch/PKHeX/issues/3841#issuecomment-1475373250
2023-03-19 12:40:50 -07:00
Kurt
ecbf6c06de Permit pokewalker courses for all languages
Wrong: #3594
Pokewalkers can interact with games they're not paired to (and receive gifts!).

Closes #3837
2023-03-19 12:21:43 -07:00
Kurt
c8909a4326 GB stats: Ceil instead of +1
Wrong: #2265
Edge case (exact sqrt); Closes #3841
2023-03-19 12:18:10 -07:00
Eelen
994685cad5
Update CHS translations (#3836)
Co-authored-by: Leo <103500840+wubinwww@users.noreply.github.com>
2023-03-19 10:11:04 -07:00
notzyro
df481c9b25
Label SV GO Vivillon Save Blocks (#3838)
- Rename FSYS_Vivillon for uniformity
- Labels bool for GOVivillon form is enabled
- Labels unix time stamp for GOVivillon postcard expiration
2023-03-18 16:38:11 -07:00
sora10pls
61a87333c0 Re-ban impossible SV Egg Moves
See e20b5cb325
2023-03-18 09:05:34 -04:00
Kurt
7e3af18b2e Fix inverted bdsp footprint ribbon check
Net7 must have rewritten the logic and I partially reverted
https://projectpokemon.org/home/forums/topic/57375-pkhex-new-update-legality-errors-contribution-page/?do=findComment&comment=282543
2023-03-16 21:05:42 -07:00
sora10pls
5110c62d25 Add latest distribution raid data 🦉 2023-03-16 20:05:39 -04:00
Lusamine
c0796780fa Tweak BulkAnalysis output 2023-03-15 21:24:03 -05:00
Kurt
d13b39231a Fix unset geoloc gen4/5
Closes #3833
2023-03-10 19:34:49 -08:00
Jonathan Herbert
547ec8ad12
Fix SwSh Treasure Inventory Tab Mislabeled As Mail (#3832) 2023-03-08 11:52:18 -08:00
Kurt
7b07334a5a Update Vivillon3DS.cs 2023-03-05 12:27:17 -08:00
Kurt
827b7455c0 Update Vivillon 3DS pattern handling
Follow up to #3235, this time closing the book for good.

From a bulk analysis perspective, having multiple patterns[0, 17] of Vivillon for the same Gen6/7 OT is illegal. Maybe not for traded eggs?
2023-03-05 01:39:13 -08:00
Kurt
29b3b695bd Pre-allocate some dictionary sizes
Skips the bucket array resizing steps
a 256 key dict will garbage 5KB; StringConverter2KOR wastes 100KB of garbage.

Zukan7b: save 144 bytes and eliminate cctor
2023-03-04 20:00:27 -08:00
Kurt
2c405f98b1 Deduplicate zh Gen5 met locations
StringQualityTests now passes again.
2023-03-04 19:31:03 -08:00
Kurt
284dd6d995 Update EncounterEgg.cs 2023-03-04 15:10:34 -08:00
Kurt
81bcd95dc1 Revise Vivillon form sanity check
Previously, slots were hard-matched to 18; now since they're "random", we need to flag out of bounds values.
2023-03-04 14:53:01 -08:00
Kurt
94d5ca491f FormRandom SV Vivillon 2023-03-04 14:48:40 -08:00
Eelen
5246d67284
Update CHS Translations (#3825)
Co-authored-by: Leo <103500840+wubinwww@users.noreply.github.com>
2023-03-04 13:22:06 -08:00
Ammako
0a1b4196b1
Fix Wishmaker Jirachi (#3824)
Needs ID32 because Wishmaker Jirachi is a fixed 00000 SID, unlike Channel Jirachi.
2023-03-04 13:21:57 -08:00
Kurt
569a4a7832 Add postcard before multiplayer size 2023-02-28 20:03:46 -08:00
Kurt
57d32456f6 Update 23.02.27 2023-02-27 19:21:56 -08:00
Kurt
0f1fba86f7
S/V 1.2.0 Support (#3819) 2023-02-27 19:12:27 -08:00
Eelen
353ca40f42
Update CHS Translations (#3802)
Co-authored-by: wu professor <103500840+wubinwww@users.noreply.github.com>
2023-02-27 18:15:13 -08:00
Manu
5ef3837d3f
Fix Jiseok Garganacl start date (#3815) 2023-02-27 16:18:39 -08:00
Kurt
7b93491025 Tab separated country/region tables
https://github.com/kwsch/PKHeX/pull/3810#issuecomment-1445519631

SuggestAppend for gen4/5 trainer country/region editor
Add country:0 for 3DS locale for consistency
Use — for "None"
2023-02-26 17:41:22 -08:00
abcboy101
30aa1cc9aa
Add Geonet location editing for Gen 4/5 (#3810)
* Add Geonet location to SAV4 and SAV5

* Allow commas to be escaped in subregion names

* Add missing 3DS subregions

* Add Geonet location editing

* Ensure null values are kept as the first option in GetCountryRegionList

* Add Geonet locations in CHS/CHT
2023-02-26 16:33:53 -08:00
Kurt
52f1bf081c Add SizeType9 for fixed range Scale values 2023-02-26 16:14:11 -08:00
Kurt
b4b1310934 Rework jagged crypt operation
Fixes checksums for Colo

Closes #3803
2023-02-26 15:18:32 -08:00
Kurt
839a76d6a3 Slightly better perf for HiddenPower/Nickname
No more stackalloc for temp string trimming/rebuilding. Really jank strings with multiple parens shouldn't need to be recognized.
Handle bad TeraType pkm values
Handle unrecognized Hidden Power types (Fairy), don't show "Normal"
Hide Tera Type import if requested for non-Tera formats, and gen8 props too.
2023-02-26 13:51:58 -08:00
sora10pls
0a07edb705 Add latest distribution raid data 🐭💧 2023-02-23 19:08:08 -05:00
Lusamine
0fa4ec8dce Fully update button naming/localization for propagating SV raids
Standardizes capitalization of "raid" in the editor and updates
shortcuts to indicate holding Shift to propagate seed.

Closes #3807
2023-02-23 11:08:33 -06:00
Kurt
812aa0a2d3 ThrowIfNull net7 2023-02-23 01:07:46 -08:00
Kurt
552676ed3a Add counter overflow check
Never will happen, but not worth arguing over because this is essentially what the ROM does. Entry to this method requires both OK.
91c040b081/src/save.c (L587-L605)
Closes #3805
2023-02-23 00:48:03 -08:00
Kurt
77cac48d34 Add sanity check for min level eggs
Closes #3797
2023-02-18 23:19:50 -08:00
Lusamine
3e5c31a7b5 Add server dates for Jiseok's Garganacl event 2023-02-17 02:22:39 -06:00
mi-ya1987
f3719e1d32
Fix Emerald flag Japanese localization (#3792)
* Update const_e_ja.txt
2023-02-17 00:09:06 -08:00
Manu
1d2c8d27ba
Fix MetDate for WC9 templates (#3790)
* fix flabébé wc9 details

* add JumpFesta Gyarados EncounterServerDate

* Fix MetDate when generating from WC9 template
2023-02-16 23:57:03 -08:00
Kurt
6daad3a1d1 Update CGearBackground.cs
Closes #3789
2023-02-16 23:51:15 -08:00
mi-ya1987
07fdae71f1
Fix extensions of Japanese RSE flag files (#3791)
* Rename const_e_ja to const_e_ja.txt

* Rename const_rs_ja to const_rs_ja.txt

* Rename flags_e_ja to flags_e_ja.txt

* Rename flags_rs_ja to flags_rs_ja.txt
2023-02-16 22:11:04 -08:00
mi-ya1987
db32f960c2
Create const_e_ja (#3783) 2023-02-16 19:39:44 -08:00
mi-ya1987
6ab1474523
Create flags_e_ja (#3782) 2023-02-16 19:39:32 -08:00
mi-ya1987
4de0844b84
Create const_rs_ja (#3781) 2023-02-16 19:39:16 -08:00
mi-ya1987
735916ab8a
Create flags_rs_ja (#3780) 2023-02-16 19:39:06 -08:00
mi-ya1987
0140f86add
Update flags_e_en.txt (#3787) 2023-02-16 19:35:15 -08:00
mi-ya1987
e12878fc48
Update flags_frlg_ja.txt (#3785) 2023-02-16 19:33:44 -08:00
mi-ya1987
c7917cea9a
Update const_frlg_ja.txt (#3788) 2023-02-16 19:32:16 -08:00
Lusamine
0d9d2e6a3d Add Sylveon and Garchomp Distribution Tera Raids 2023-02-16 20:06:01 -06:00
Manu
4c8831011d
fix wc9 dev id (#3786) 2023-02-16 05:54:48 -08:00
sora10pls
00bc21f8ff Add latest distribution raids 🫃 2023-02-12 19:47:12 -05:00
Zazsona
386c7078db
Update "SetStringKeepTerminatorStyle" to resolve "?" OT bug. (#3778) 2023-02-12 11:28:51 -08:00
Eelen
92b841881d
Update CHS translations (#3776)
Co-authored-by: wu professor <103500840+wubinwww@users.noreply.github.com>
2023-02-12 11:16:56 -08:00
mi-ya1987
76e014614c
Update flags_e_en.txt (#3773) 2023-02-10 23:29:25 -08:00
mi-ya1987
1989373bb3
Update flags_e_en.txt (#3772) 2023-02-10 23:29:04 -08:00
Eelen
d1016714ce
Update CHS translations (#3769)
* Update CHS Translations
2023-02-08 23:36:32 -08:00
mi-ya1987
0118a1880b
Update flags_frlg_ja.txt (#3767) 2023-02-08 23:35:51 -08:00
Kurt
39a7007541 Extract Bulk Analysis components 2023-02-08 17:24:47 -08:00
Kurt
f77e605cae Update AreaWeather9.cs 2023-02-08 08:19:38 -08:00
Kurt
ad31ebbbe2 Update TransferVerifier.cs 2023-02-07 22:30:33 -08:00
Kurt
aa430b48ca Disallow LGPE event gift OT handling 2023-02-07 21:56:25 -08:00
Kurt
ad0f604841 Add pokeflute to key XY
Temporary key item
https://gaming.stackexchange.com/questions/179667/how-to-get-the-pokeflute-in-pokemon-x-and-y
2023-02-07 21:52:06 -08:00
Lusamine
376e8f2d4f Always use white outlines on box shiny icons 2023-02-06 19:36:01 -06:00
Zazsona
c6e133cff8
Add Toys from the My Pokémon Ranch Platinum Update (#3766)
* Add Ranch Toys from Platinum Update

* Add ToyType validation to SAV4Ranch
2023-02-05 11:47:35 -08:00
mi-ya1987
a16b2cbd3a
Create flags_frlg_ja.txt (#3763) 2023-02-05 11:46:59 -08:00
mi-ya1987
6a8907398a
Update flags_frlg_en.txt (#3760) 2023-02-05 11:46:48 -08:00
mi-ya1987
7da2313db5
Create const_frlg_ja.txt (#3764) 2023-02-05 11:46:32 -08:00
Eelen
e77244957d
Update CHS translations (#3765)
-Update flags_bw_zh.txt
-Update flags_oras_zh.txt
* Fix CHS translation errors
* Update lang_zh.txt
* Update CHS translations
-Update flags_b2w2_zh.txt

Co-authored-by: wu professor <103500840+wubinwww@users.noreply.github.com>
2023-02-05 11:46:16 -08:00
mi-ya1987
ac833f0365
Update flags_frlg_en.txt (#3762) 2023-02-05 11:45:29 -08:00
mi-ya1987
11b0f96f08
Update flags_frlg_en.txt (#3761) 2023-02-05 11:45:18 -08:00
mi-ya1987
627965e6ed
Update flags_frlg_en.txt (#3759)
mistake in the spelling corrected
2023-02-05 00:42:20 -08:00
Kurt
31733671ec Fix string screening (str->int) 2023-02-03 20:44:11 -08:00
Kurt
fe2cbeac31 Add date restrictions for WC9, pika diff 2023-02-03 20:30:41 -08:00
Kurt
60a53b6afa Skip closing other-thread popups on sav load
Plugins may have popups that were created on another thread as diagnostic messages; by trying to close these on our main GUI thread, the program crashes.

Just leave these other-thread forms open when we change save files instead of crashing or closing them on their proper thread.
2023-02-03 12:52:52 -08:00
Eelen
5bee6d0d0d
Update CHS translations (#3755)
* Update CHS translations
* Update GEN8 GEN7 and GEN6.XY flags translations
* Update flags_gg_zh.txt

Co-authored-by: wu professor <103500840+wubinwww@users.noreply.github.com>
2023-02-03 12:45:19 -08:00
mi-ya1987
c6bfaa0709
Update text_ItemsG3_ja.txt (#3751) 2023-02-03 12:44:40 -08:00
frefire
f7179a7713
Gen 5 enhancements. (#3756)
* Gen 5 enhancements:
 -- BW: Dump/import black city/white forest data from each other.
 -- BW: Reset thundurus/tornadus flags so they can be roaming again by visiting the cabin at route 7.
      Reset this flag and switch your BW version with the same save file, you can catch the other pokemon that's limited to a sole version.

* Use work 192, fc5 ext

Adds a translatable message string to indicate the provided input size is incorrect.
2023-02-03 12:44:21 -08:00
sora10pls
3ade5794f2 Add latest distribution raid data 🧍‍♂️🔥 2023-02-02 20:01:44 -05:00
Kurt
8279615040 Fix bit wrap met location matching
Use ulong bitmask not u32
2023-02-02 15:12:18 -08:00
Kurt
3d29cc5a19 Misc tweaks
- Allow paradox species to receive master rank ribbon
 - Resize & center IV/AV rand button (localizations
were too wide for AVs)
 - Highlight blue the most recently toggled Ribbon
2023-02-01 16:55:38 -08:00
Kurt
9ecb8981a9 Expose criteria optimization for trade/headbutt
If the criteria template is optimized, we will be able to source moves from sibling game pairs that require indications of it being traded (yay strict logic...)

ex: encgenerator now yields X/Y eggs when ORAS tutors requested in moveset and game is X/Y
2023-01-31 23:23:12 -08:00
Kurt
c5ec20ef5d Emit sv scatterbug eggs as form18 2023-01-31 18:31:55 -08:00
Kurt
39fe454840 Revise natureamp clicks
now behaves correctly without off-by-1 behavior
2023-01-31 18:31:40 -08:00
Kurt
6bf3d4ce9f More descriptive version indication wc6/wc7
Skip yield if not matching version
Handle defer/partial for gen7
2023-01-30 22:57:18 -08:00
Kurt
10613fd070 Improve hidden power mutation logic
No more heap algo span copy mutation. Finish distilling the problem down to bits.
2023-01-30 19:49:31 -08:00
mi-ya1987
80dc35898a
Update text_ItemsG3_ja.txt (#3747) 2023-01-29 23:31:57 -08:00
mi-ya1987
9d3da25a02
Update MessageStrings_ja.txt (#3746) 2023-01-29 23:31:19 -08:00
Eelen
9fb1ec2c86
Update CHS translations (#3748) 2023-01-29 09:54:45 -08:00
Kurt
93c4abbbd5 Misc tweaks
Un-fix main panel, guess this might help for scaling the GUI via OS settings. Add an overload to rescale ItemSize for the vertical tab control; don't think it is ever called though.

Make EvoChain get method public for archit
2023-01-28 19:23:43 -08:00
Kurt
15925b1368 Fix mysterygift string ext cmp 2023-01-28 19:22:31 -08:00
Kurt
03be38c8df Handle remapped zukan species
The one critical spot it was needed :(
Revise SeenAll for genderflag set; just wipe -> reapply.

Closes #3745
2023-01-28 19:18:10 -08:00
Eelen
19b7e0fda3
Update CHS translations (#3742) 2023-01-27 09:21:05 -08:00
Kurt
3572097c96 Update 23.01.26
Hello .NET 7
2023-01-26 21:58:04 -08:00
Uiharu
0e897dc1f1
Update CHT and Japanese translations (#3738)
Update CHT and Japanese translations.
2023-01-26 19:03:28 -08:00
Manu
1205a2c0ae
update italian translation (#3737) 2023-01-26 19:03:19 -08:00
Kurt
9ddfe3f629 Misc fixes
Allow dragon ascent bitfetch for gen6/7
Fix hidden power type parse/trim
Remove */ from hidden power type calc
allow longer set lines (full EVs specified for Gen2 is 74 chars
allow set lines of length 1-2 to fully support trash sets for all languages
Tweak pb8->pk8 to be more straightforward
2023-01-26 19:03:06 -08:00
Kurt
387ab6d546 Pass species/form as param; toxtricity nature
Need to know the original encounter species rather than current species. Gotta pass this information in.

Closes #3739 ty @javierhimura !
2023-01-26 18:07:27 -08:00