Kurt
0dc641453b
Condense some expressions
...
Getting close to weeding out all the easy inefficiencies to make me finally tackle the "stop gathering all moves instead of checking individual moves" allocation issue.
2022-03-20 23:28:18 -07:00
Kurt
3d759e1491
Move location lists to separate classes
2022-03-20 21:26:56 -07:00
Kurt
a4533b62d8
Reduce size of display-able met location arrays
...
shaves 5KB off the core DLL
2022-03-20 19:07:33 -07:00
Kurt
54f1e341f9
Spanify spawner object get
2022-03-20 01:46:24 -07:00
sora10pls
f94c16c40f
Add new distribution raids 🦴
2022-03-17 20:04:14 -04:00
sora10pls
5b9b5e4faa
Update Tables8bs.cs
...
Sweet Heart still unobtainable (why did they give it a sprite if it's not functional ingame?)
Azure Flute is now obtainable
Sacred Ash was never obtainable
2022-03-17 14:40:35 -04:00
Kurt
434f89fa0f
Merge branch 'master' of https://github.com/kwsch/PKHeX
2022-03-15 19:23:20 -07:00
sora10pls
5c8d1ceeec
Unban BDSP Ver. 1.3.0 locations + Sketch Judgment
2022-03-15 21:36:26 -04:00
Kurt
d91d242719
Stackalloc EV/AV checks
2022-03-13 22:33:17 -07:00
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
4841a01b4e
Update GO pickles, move Shiny.Never before Always
2022-03-12 17:39:01 -08:00
Kurt
801892b59e
potential revisions for gible ( #3462 )
...
ddc6f414df
caused it to be `<=` instead of `<`, but maybe the underlying issue was fixed a different way since all tests still pass with this reversion.
2022-03-12 17:39:01 -08: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
85b7541c9f
Update EncounterArea1.cs
2022-03-10 18:04:39 -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
7911cd6d5c
Seal some classes
2022-03-06 12:16:36 -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
3d9c7dc750
Reduce IAwakened from int->byte
2022-03-05 18:46:03 -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
9696da2eb3
Minor clean
...
Seal ComboItem
Reorder methods for easier reading
Fix BulkGenerator living dex setting CurrentLevel -- needs to be after species,form as EXPGrowth can vary for forms.
2022-03-05 18:13:31 -08:00
Kurt
f3b3f15035
Add exp > lvl100 check
...
stop directly writing EXP values lol
2022-03-05 09:12:43 -08:00
Kurt
d0f2b6eeb5
Add .CurrentLevel=$suggest for min legal level
2022-03-04 22:34:11 -08:00
Kurt
7443db3564
Update some xmldoc
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
2991f62052
Reduce allocation for eggmove loading
2022-02-28 18:24:11 -08:00
Kurt
b0f846ae35
Optimize bdsp eggmove bin
...
Strip out unused entries
Use form-less loader format (nothing has formed eggmoves), just let shellos-1 use shellos-0's table.
2022-02-28 18:24:11 -08:00
Kurt
21a77f2197
Guard against invalid egg move indexing
2022-02-28 16:57:51 -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
Matt
0d96d801ac
Unban Sketch Seed Flare, Oak’s Letter hatch locs
2022-02-27 13:15:01 -05: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
5a71ecc8bb
Minor clean
2022-02-24 23:17:16 -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
32789d5609
Fix WB8 friendship check
...
Similar to WA8 friendship check. Previous personal table repoint didn't work because WB8 have .Version=BDSP.
7b05d0c056
Works fine now.
Closes #3448
2022-02-24 20:17:58 -08:00
Kurt
65130a9ae1
temp fix for some fixed h/w statics
2022-02-22 23:18:10 -08:00
Kurt
2753927942
Ignore empty slots in pre-filter
...
Add Palma property to PK8 per bdsp disassembly
2022-02-22 07:34:43 -08:00
Kurt
75bd26d056
Add new Illegal (clone/glitch abuse) flag + check
2022-02-21 20:13:27 -08:00
Kurt
5b981f2832
Un-secret the bulk PKM validator
...
Now has its own button next to verify checksums.
2022-02-21 17:46:32 -08:00
Kurt
2870163fff
Don't check handler friendship if already invalid
...
prevents generating an unnecessary exception when gen == -1
2022-02-21 17:46:03 -08:00
Kurt
f1264a1a97
Handle struct default ctor 17.1 handling
...
Closes #3445
2022-02-21 16:11:58 -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
7b05d0c056
Fix base friendship check for PLA piplup WA8
2022-02-13 15:25:45 -08:00
Kurt
013fe95c8d
Update 22.02.14
2022-02-13 01:18:19 -08:00
Kurt
2267e1a879
Minor tweaks for api consumers
...
Indicate Shiny.Random on home shiny-possible gifts
More detailed exception message for GetLearnset/GetPersonal
2022-02-12 23:40:28 -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
39e47dbb82
Flag SWSH tutor moves
2022-02-09 15:06:14 -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
9c5955c104
Emulate Height & Weight float calculations matching the game ( #3417 )
...
* Accurately implement height/weight calc
* Handle GUI reads
Having Auto off will read and write the values correctly
F6 will handle all the decimal points possible
* Remove no longer needed tolerance check
2022-02-08 18:56:11 -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
59144ddb0d
Check level for new evo methods
...
Can't learn move below this level
2022-02-07 21:46:05 -08:00
Kurt
e12f3004ad
Post-check defer if catchrate disallows tradeback
...
Closes #3412
2022-02-07 18:44:29 -08:00
Kurt
a7051107ea
Conditionally set PP Ups and Purchase/Mastery flags on set import
2022-02-07 15:40:02 -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
b8394516d2
Flag insufficient flawless IVs for eslot8a
2022-02-06 16:08:03 -08:00
Kurt
420dd32aea
Allow lower sheen threshold for beauty
...
Not really worth checking if it is all in beauty; this is just a simple error checker.
Closes #3401
2022-02-06 00:30:38 -08:00
Kurt
e8903505df
Min move count: ignore purchased moves
2022-02-05 16:47:19 -08:00
Kurt
07b3efd14d
Force PID for shiny ponyta
2022-02-05 15:57:34 -08:00
Kurt
3ca8c4c69f
Add GV legality check
...
GUI already did indicate if a value was legal, but this actually flags the pkm in the legality checking report.
2022-02-05 13:48:34 -08:00
Kurt
3793fd4fd3
Landmark Alphas do not have Alpha Moves
...
nice omission gamefreak
2022-02-05 10:23:00 -08:00
Kurt
b252bc129a
Re-enable legality checking error suppression
...
Forgot to disable it from testing, oops.
2022-02-05 09:31:36 -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
b72c5bbf1a
Fix mystery gift alpha check
...
Implement IAlpha for good measure
2022-02-04 20:13:36 -08:00
Kurt
16e52cdb19
Add move mastery batch command (MoveMastery)
...
$suggestAll -> get all
$suggestNone -> remove all
$suggest -> get current moves
2022-02-04 20:04:57 -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
cdf41c0376
Update program translations
2022-02-04 17:42:00 -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
ff48c824eb
Update ContestStatInfo.cs
2022-02-04 00:37:29 -08:00
Kurt
936a0e927a
Handle unavailable hidden abilities for bdsp
...
EncounterSlots now expose Ability, so no need for manual checks there.
2022-01-17 21:44:21 -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
Kurt
38809f67dd
Handle suggestions
2022-01-17 20:21:33 -08:00
sora10pls
93083616dd
Extend Ranked Ribbon availability for GO encounters
...
Also hange >= to > because of new GO => HOME met date legality.9/1/2022 is legal if it was transferred in somewhere like Kiribati or New Zealand, but 9/2/2022 isn't.
2022-01-16 14:53:04 -05: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
Kurt
94080eb71a
Add prev function for xoroshiro implementations
2022-01-13 18:43:04 -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
be8b12dbbe
Add Prev for xorshift implementation
...
Add some unit tests (why not?)
2022-01-12 17:05:16 -08:00
Kurt
bb2a63bbce
Split min sheen calc for 3 & 4, revise limits
...
Thanks @SadisticMystic!
https: //github.com/kwsch/PKHeX/commit/9ce0da6c46ebea3c7c6edd1f1e0571e5ecbec739#r63579484
Co-Authored-By: Russell Jones <questiondesk@gmail.com>
2022-01-11 23:29:01 -08:00
Kurt
da9d09ea76
Misc tweaks
...
No functional change
2022-01-11 22:53:20 -08:00