Kurt
d95ba482f3
Reduce allocation in methodfinder IV set
2022-03-13 19:39:38 -07:00
Kurt
d5ae6764aa
Stackalloc IVs for template->pkm fill
2022-03-13 19:24:08 -07:00
Kurt
8f8726ac5e
Disallow encstatic1 yield catchrate not tradeback
2022-03-13 18:29:47 -07:00
Kurt
8afc6814eb
Disallow matching BU statics for non-JP
2022-03-13 17:45:01 -07:00
Kurt
69fafcab83
Performance: Slightly reduce allocations in moveset validation ( #3460 )
...
* Reuses move parse result objects for each encounter parsed in a LegalityCheck attempt, instead of creating a new object.
* Ensures the objects are never-null, and makes cleanup easier.
Slightly adjusts some other parts of the moveset validation to reduce allocations.
2022-03-12 17:39:00 -08:00
Kurt
93255efcb8
Disassociate Shiny enum from WC6 PIDType ( #3461 )
...
Have `Shiny.Random` be `0`, so we can skip init on this field for EncounterStatic. Plus makes it a little less brittle for future expansion if shiny qualities change.
2022-03-12 17:38:59 -08:00
Kurt
5359a140a6
Handle fixed ability for 8b RNG
2022-03-08 08:44:55 -08:00
Kurt
4e1276a954
-8 bytes from each encounter template
...
saves about ~1MB RAM savings (>=179,142 objects)
2022-03-06 23:25:47 -08:00
Kurt
462ef70ffb
SlotNumber/MagnetStatic int->byte
...
more size reductions
2022-03-06 22:47:03 -08:00
Kurt
8f9de86347
Span-ify BreedInfo, saves 10bytes heap alloc
...
the Actual result still needs to leave the stack, so that has to be heap allocated.
2022-03-06 13:04:56 -08:00
Kurt
9049ef99fd
Minor allocation reduction
2022-03-06 13:03:39 -08:00
Kurt
e1414a0bea
Move some interfaces to different folder
...
No code changes
2022-03-06 12:06:50 -08:00
Kurt
c51d51d381
More specific primitives for Memories/others
2022-03-06 12:01:47 -08:00
Kurt
41d2dd9294
Update EncounterTrade for Shiny metadata
...
Doesn't need to be stored in most cases
Now permits EncounterTrade1 to be shiny
2022-03-05 21:04:18 -08:00
Kurt
e17483fe46
some linq reduction
2022-03-05 20:03:52 -08:00
Kurt
1b266c1e4b
Handle PLA MMO formarg deferral
...
Can capture formarg evolved stuff directly in wild
2022-03-05 18:54:50 -08:00
Kurt
b20566eb59
Use actual primitive instead of int
...
Some interfaces aren't needed to be exposed as int
2022-03-05 18:30:35 -08:00
Kurt
d0f2b6eeb5
Add .CurrentLevel=$suggest for min legal level
2022-03-04 22:34:11 -08:00
Kurt
50828fa1bb
Change some field types, reduce memory usage
2022-02-28 22:46:59 -08:00
Kurt
85e422c225
Compress PLA wild bin resource
...
Change the data structure so that different locations are tied to the table, rather than separate usages of the table.
This de-bloats from 344KB->85KB and has less runtime memory consumption.
2022-02-27 15:08:53 -08:00
Kurt
c2f7003f38
Update Encounters8a.cs
2022-02-27 14:13:35 -08:00
Kurt
e5e2a3427f
Rename Silver SV->SI
...
SV will likely be the lump for SCarlet and VIolet
2022-02-27 11:16:12 -08:00
Kurt
ff58d1bb68
BDSP Shaymin encounter uncomment
...
Now available via oak's letter
2022-02-27 09:00:11 -08:00
Kurt
ccca8abdad
Remove fixedball for go7, reset h/w/cp
...
Now that we have accurate calcs, let's just generate them with the values.
2022-02-25 13:52:50 -08:00
Kurt
cd043bce04
Extract egg met location
2022-02-24 23:14:40 -08:00
Kurt
ab62e76505
Handle alolan vulpix suggestion scenario
2022-02-24 22:47:48 -08:00
Kurt
65130a9ae1
temp fix for some fixed h/w statics
2022-02-22 23:18:10 -08:00
sora10pls
91d1a91142
Add Pokémon Day distribution raids
2022-02-21 19:05:34 -05:00
Kurt
d5be6254f3
Add logic for PLA wild RNG correlation ( #3443 )
...
Adds structures to read/write saved spawner data such as seeds, counts.
Adds generator and validator to emulate the FixInitSpec builder used by the game logic
Similar to SW/SH raids, validating these in-process is not feasible due to the number crunching required.
This does not handle the encounter slot call or the follow-up level range call. Just the inner FixInitSpec ctor & fill.
level is calc'd:
randFloat(sum) -> slot float
rand.Next() -> gen_seed (for all the details)
rand.NextInt(delta) +min -> level
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
2022-02-20 17:59:48 -08:00
Kurt
dc3d8e7cec
Minor clean
2022-02-14 21:32:52 -08:00
Kurt
013fe95c8d
Update 22.02.14
2022-02-13 01:18:19 -08:00
Kurt
d17639f956
Add alpha move for encounter slots
...
oops
Closes #3427
2022-02-09 19:21:45 -08:00
Kurt
04856122b7
Simplify landmark alpha move match check
2022-02-09 16:17:44 -08:00
Kurt
988385e450
Add accurate Colo EReader PID generating
...
Closes #3421
Needed to force the locks, since they themselves are nature/gender locked.
2022-02-09 09:26:10 -08:00
Kurt
80eac48a49
Fix no alpha move bypass for alphas
...
https://projectpokemon.org/home/forums/topic/57375-pkhex-new-update-legality-errors-contribution-page/?do=findComment&comment=273294
2022-02-08 23:16:00 -08:00
Kurt
556f711728
Remove random EC set for Trade8b
...
EC is fixed, in the template
2022-02-08 17:37:33 -08:00
Kurt
e12f3004ad
Post-check defer if catchrate disallows tradeback
...
Closes #3412
2022-02-07 18:44:29 -08:00
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