Commit graph

1316 commits

Author SHA1 Message Date
Kurt
c7ed55ab54 Simplify match rating return value choice
Ensure it is ordered Partial->DeferredErrors->Deferred->Match
2022-02-06 16:14:46 -08:00
Kurt
07b3efd14d Force PID for shiny ponyta 2022-02-05 15:57:34 -08:00
Kurt
3793fd4fd3 Landmark Alphas do not have Alpha Moves
nice omission gamefreak
2022-02-05 10:23:00 -08:00
Kurt
69ee363663 Fix EncounterSlot form set order, copy expgrowth for consistency
Closes #3387
ty @odin880 !
2022-02-05 00:47:17 -08:00
Kurt
10fff124e5 Minor clean 2022-02-04 22:19:04 -08:00
Kurt
94f2d3ba0b Fix Flawless IV count comparison
lol ty atrius
Closes #3383
2022-02-04 19:31:45 -08:00
Kurt
eed5bb04e3
Merge pull request #3382 from kwsch/pla
Update 22.02.04
Individual commits from this PR are not cherry-pickable in a vacuum; these were manually re-committed from a staging repo in order to group together changes for general public viewing. There were over 250 commits on the private development repo for this update.
2022-02-04 18:28:17 -08:00
Kurt
0b32cbf132 Update PKHeX.Core abstractions with latest logic
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
Co-Authored-By: SciresM <8676005+SciresM@users.noreply.github.com>
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
2022-02-04 17:35:15 -08:00
Kurt
4c280c4c6d Add BinLinkerAccessor for better startup perf
Read without splitting the arrays by using span instead.
2022-02-04 17:20:56 -08:00
Kurt
66c00e4f8a Add EC/PID checks for bdsp in-game trades
all data stored in the object is pre-computed from the EC xoroshiro (similar to roamers); all have a fixed seed.
2022-01-17 20:22:17 -08:00
Lusamine
96d2ca1dcc Add Wild8RNG generation method 2022-01-16 01:57:56 -06:00
Kurt
682feab3d4 Return evolution chains with more accurate min-max
Closes #3371 ty @Ninjistix !
2022-01-14 00:11:33 -08:00
Lusamine
5dfd7996f7 Uncomment 3 IV static Rotom and Ditto from SWSH
https://projectpokemon.org/home/forums/topic/57375-pkhex-new-update-legality-errors-contribution-page/page/10/#comment-272386
Thanks to air6ornepig for reporting.
2022-01-13 13:16:15 -06:00
Kurt
73575624cf Define specific moveset for Odd Egg / extremespeed mons
Closes #3370
2022-01-10 21:27:04 -08:00
Kurt
9cde291595
Enumerate ability permissions in encounter templates, misc updates (#3368) 2022-01-08 22:34:04 -08:00
Kurt
75a438ca44 Misc tweaks 2022-01-08 10:33:02 -08:00
Lusamine
522790b8e6 Add Giant's Bed static encounter Trevenant crossover
Co-Authored-By: Skadiv <62726360+Skadiv@users.noreply.github.com>
2022-01-07 21:00:44 -06:00
Kurt
f83a9bf833 Expose shiny potential value
Not really digging it currently as it doesn't cover multi-state like AlwaysStar-Or-Never, but that single edge case can be handled elsewhere
2022-01-07 17:48:12 -08:00
Kurt
47071b41f3
Refactoring: Span-based value writes and method signatures (#3361)
Existing `get`/`set` logic is flawed in that it doesn't work on Big Endian operating systems, and it allocates heap objects when it doesn't need to.

`System.Buffers.Binary.BinaryPrimitives` in the `System.Memory` NuGet package provides both Little Endian and Big Endian methods to read and write data; all the `get`/`set` operations have been reworked to use this new API. This removes the need for PKHeX's manual `BigEndian` class, as all functions are already covered by the BinaryPrimitives API.

The `StringConverter` has now been rewritten to accept a Span to read from & write to, no longer requiring a temporary StringBuilder.

Other Fixes included:
- The Super Training UI for Gen6 has been reworked according to the latest block structure additions.
- Cloning a Stadium2 Save File now works correctly (opening from the Folder browser list).
- Checksum & Sanity properties removed from parent PKM class, and is now implemented via interface.
2022-01-02 21:35:59 -08:00
Lusamine
a9896022ed Allow Ninjask moves on Gen 4 Sport Ball Shedinja 2022-01-02 21:12:46 -06:00
Kurt
bee4a54148 Ignore encounter if bad catch rate
Waffling on this, let's just be less lenient in error messages and just outright reject the encounter.
2022-01-02 15:03:04 -08:00
sora10pls
eb71576803 Add New Year's distribution raid data 2021-12-31 19:04:35 -05:00
Kurt
29fd17a6f9 Add friendsafari to HA metadata permission 2021-12-26 23:05:25 -08:00
Kurt
1d0993f852 Remove EvoBase, relocate functions to call sites
Utilize FormInfo to remap battle forms into hatch forms so the encounter matches something valid, and is flagged later in FormVerifier
2021-12-26 00:57:40 -08:00
Kurt
b348e38a3e Don't do DP english->jpn bug for BDSP 2021-12-26 00:06:10 -08:00
Kurt
49a2cd19d0 template=>pk4: Only ENG->JPN if DP, not Pt
Language bug was fixed after ENG DP (for other localizations, and Pt)
2021-12-25 23:59:18 -08:00
Kurt
defae6727d Check bdsp version exclusive hatch locations
lol srsly

Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2021-12-24 18:39:54 -08:00
Lusamine
8612404f84 Add Slippery Slope Weavile static encounter 2021-12-24 20:06:31 -06:00
sora10pls
260036a90b Add Holiday 2021 distribution raid data 🎄 2021-12-16 19:04:28 -05:00
Kurt
6b2ea0894e Bypass encounter slot check for radar slots
https://projectpokemon.org/home/forums/topic/57375-pkhex-new-update-legality-errors-contribution-page/?do=findComment&comment=271406
https://discord.com/channels/401014193211441153/679178558597496872/908489378043686944
2021-12-12 13:16:27 -08:00
Kurt
f1fe2f6a8c Minor clean 2021-12-09 19:30:12 -08:00
Kurt
e84932badd Remove unnecessary trailing comma
nit
2021-12-09 19:10:50 -08:00
Kurt
18469a78aa Set legal default ball for bdsp bred egg templates 2021-12-09 18:39:03 -08:00
Lusamine
e617beb604 Add Lost Tower to zones where Radar can't be used 2021-12-09 11:02:12 -06:00
Kurt
870a38c607 Use primary constructors for some records 2021-12-09 01:08:46 -08:00
Kurt
51c75dd102 Explicitly implement IFixedAbilityNumber on all templates 2021-12-09 00:46:59 -08:00
Kurt
aa78152856 Implement hidden ability (pokeradar) possibility for slots
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2021-12-08 23:41:50 -08:00
Kurt
fcd97d5989 Don't add TR moves as possible for BDSP origin 2021-12-06 00:01:13 -08:00
Kurt
40ed5898af Merge extended property patterns 2021-12-04 18:37:47 -08:00
Kurt
f55c5bea66 Minor clean
no functional change
2021-12-04 17:56:56 -08:00
Kurt
95454246b8 Skip eggs for EncounterTrade check
yay reusing Link Trade egg met locations wrong, ty ilca
2021-12-01 10:38:12 -08:00
Kurt
1c82b707f3 Add xmldoc, add egglevel get central location 2021-11-30 17:09:46 -08:00
sora10pls
dfff798855 Label more BDSP flags/work vals 2021-11-27 23:12:29 -05:00
Kurt
66a2046e5a Fix move search loop 2021-11-26 16:50:30 -08:00
Kurt
614ae6855b Allow ignored egg moves for v1.0 unpatched games
They didn't reference the TamagoWazaIgnore table until v1.1 lmao

mimic BDSP's index fetching and just grab the array of eggmoves directly to avoid the abstraction method's overhead

set evotree back to private because don't need direct access anymore
2021-11-25 11:24:34 -08:00
Kurt
56c7c8336a Revise roamer shiny xor checking
shininess unrelated to your trainer ID, lol

probably also applies to other predetermined encounters like underground and radar, but those aren't EC-seed regenerated (?)

Remove unused interface declaration
2021-11-25 08:32:36 -08:00
Kurt
203b764829 Add zero height/weight flagging setting
because people couldn't hacc responsibly, I might as well give them a nudge in the right direction.

Doesn't mean I won't check your "random" choices distribution.
2021-11-24 19:29:02 -08:00
Lusamine
f34bc9c3fa Add Slippery Slope static encounter Trevenant
Closes #3287
2021-11-23 10:26:11 -06:00
Kurt
b2fd51ddab Revise roamer locations: source from mvpoke
Route 220 (00485) now valid

now invalid:
Route 224 (00411)
Route 225 (00412)
Route 227 (00414)
Route 228 (00416)
Route 229 (00420)

matt assumed dppt locations were reused, but not entirely :)

Closes #3296
2021-11-20 09:02:24 -08:00
Kurt
723514e89c
Update 21.11.19 - Brilliant Diamond & Shining Pearl (#3289)
Big thanks to @SciresM @sora10pls @Lusamine @architdate @ReignOfComputer for testing and contributing code / test cases. Can't add co-authors from the PR menu :(

Builds will fail because azure pipelines not yet updated with net6.
2021-11-19 18:23:49 -08:00