Kurt
1c0f842173
Remove unnecessary Clone method for Items
...
Remove linq using by doing things slightly more efficiently
2022-03-05 19:51:16 -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
3c567c0c97
Rearrange some scblock logic
...
No functional change. just increasing robustness
Decouples exportable state from get/set values
2022-03-05 17:46:03 -08:00
Kurt
1370d9ab0f
Merge SAV8 into SAV8SWSH
...
Was originally expected that gen8 was going to be a pair+revision generation, but with BDSP and PLA being totally different games, there's no need to have inheritance complicating a single SWSH class.
2022-03-05 17:34:09 -08:00
Kurt
90b075947d
Move some get/set operations into Accessor class
...
Adds exception-free get/set for revised saves.
2022-03-05 17:33:08 -08:00
Kurt
8f0035a577
Deduplicate savefile constructors
...
No longer necessary as we don't keep BAK reference anymore.
2022-03-05 17:15:38 -08:00
Kurt
8fdd96209c
Deduplicate some logic
...
No need to length check in the SwishCrypto hash check, as the methods pre-check length as well.
Extract checksum footer check for Gen5 saves
2022-03-05 17:14:25 -08:00
Kurt
1f07685921
Update MyStatus8b.cs
2022-03-05 15:17:13 -08:00
Kurt
f3b3f15035
Add exp > lvl100 check
...
stop directly writing EXP values lol
2022-03-05 09:12:43 -08:00
Kurt
3ebf5279cc
Add .X=*Y (property copy) feature
2022-03-04 22:35:04 -08:00
Kurt
d0f2b6eeb5
Add .CurrentLevel=$suggest for min legal level
2022-03-04 22:34:11 -08:00
Kurt
6ae59c509f
IGanbaru int->byte fields
2022-03-04 22:34:11 -08:00
Kurt
7443db3564
Update some xmldoc
2022-03-04 22:34:11 -08:00
Kurt
7cfdb8a466
Move hashing to SCBlockAccessor, fix #3455
...
Fixes #3455 by adding bool for insular sea, and adjusting overall progress values as listed.
Closes #3456 (supersedes)
Updates SCBlockAccessor to eliminate bounds check (integer overflow, which isn't possible with our array size), adds some overloads, and xmldoc.
Co-Authored-By: Jonathan Herbert <3344332+foohyfooh@users.noreply.github.com>
2022-03-02 18:05:13 -08:00
CanoeHope
e507d4ab91
Update SaveBlockAccessor8LA.cs ( #3453 )
2022-03-01 21:34:37 -08:00
Kurt
e5296fc51a
Add IoA diglett button in Trainer editor
...
Closes #3454
Use ahtb sourced (hash,string) correlation from pkNX to dynamically generate block keys.
Co-Authored-By: Jonathan Herbert <3344332+foohyfooh@users.noreply.github.com>
2022-03-01 21:34:16 -08:00
Kurt
415c5f5560
Update SCTypeCode.cs
2022-03-01 19:09:42 -08:00
Kurt
8c9c5e0198
Update 22.03.01
2022-02-28 23:16:17 -08:00
CanoeHope
e792c038b8
Label a new L:A update block ( #3452 )
2022-02-28 22:47:30 -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
d1e62fb6d1
Add dex solitude complete mark checkbox
2022-02-28 00:03:38 -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
c2e9401468
Add computed new huge outbreak slots
2022-02-27 13:51:33 -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
b3cd4dea25
Initial support for PLA-v1.1
2022-02-27 07:56:47 -08:00
Kurt
044dfe46ae
Reduce allocation on encrypt/decrypt
...
Xor no longer allocates
Encrypt no longer allocates byte[0x60]
temp now allocated on stack instead of heap
Pre-size memorystream (prevents 0xF0 allocation)
2022-02-27 01:05:11 -08:00
Kurt
76afe91bbb
Allocation free besides ctor
2022-02-26 21:39:50 -08:00
Kurt
3bef0452d6
Update bdsp underground table for area6
...
819b90f931
Closes #3450
2022-02-26 11:54:24 -08:00
Kurt
dd4c2a349c
Fix moving 5th party slot between boxes
...
Thanks Burning Justice !
https://projectpokemon.org/home/forums/topic/60789-error-when-attempting-to-edit-pokemon-battle-revolution-save/
2022-02-25 16:32:15 -08:00
Kurt
fd07456ee1
Fix boolean value copy changes
...
a5710ee374
2022-02-25 16:10:49 -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
a5710ee374
Fix PLA box flag setter
...
nice boo boo matt
2022-02-25 13:29:43 -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
a276975847
Don't throw exception in safe block search
...
Just duplicate the method to return fake default instead of trycatch overhead.
2022-02-24 21:02:08 -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
bdbd9fc899
Add error message if user moves file for backup
2022-02-23 21:53:01 -08:00
Kurt
65130a9ae1
temp fix for some fixed h/w statics
2022-02-22 23:18:10 -08:00
Kurt
fc3f142d16
Update 22.02.22
2022-02-22 21:40:01 -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
0404b94f86
Add support for BDSP 1.2.0 save files
2022-02-21 18:11:35 -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
48742da4ae
Ignore BDSP backup paths
...
"Backup.bin"
2022-02-21 17:45:23 -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
CanoeHope
61821c7986
Add L:A blocks and BDSP event constants ( #3444 )
...
* Update SaveBlockAccessor8LA.cs
* Update work_bdsp_en.txt
2022-02-20 22:46:20 -08: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
f2637168ab
Fix kor string writes
...
Was writing kor string, then writing en after (all terminators).
Make method signature match other SetString, with write buffer as first arg
Closes #3440
2022-02-17 23:11:13 -08:00
Kurt
51975e4bdd
Only push move if doesn't already have
...
Closes #3439
2022-02-17 20:53:21 -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
03b8ceb5ab
Allow TypeSuggestion to operate on interfaces
...
Add ganbaru clear/suggest, lgpe iawakened clear/suggest, hyperatrain/geolocation clear
2022-02-13 11:02:22 -08:00
Easy World
843e065fb4
Add batch command to suggest HeightAbsolute & WeightAbsolute ( #3435 )
...
Already available for PB7, this adds it for PA8.
2022-02-13 07:10:26 -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
0eece2711a
Set the calc h/w float regardless of epsilon
...
epsilon no longer required per #3417
closes #3434
2022-02-12 18:48:33 -08:00
Kurt
cedf13c343
PK4: Fix DP met location write
...
Closes #3431
2022-02-11 16:28:51 -08:00
Kurt
574a7f43a0
BDSP: Handle uninitialized box names
...
span refactoring didn't catch this
also apply same change for gen4 battle revolution string reads
2022-02-11 10:43:27 -08:00
Kurt
bb2b8e74c3
Update SCBlock xmldoc
2022-02-10 11:08:30 -08:00
Kurt
a5d1bf7900
Fix cxd pouch write, bk4 pid reads
...
Closes #3429
2022-02-10 10:57:59 -08:00
Kurt
a287efe3a1
Inline pk2/pk3 form setter, only SetGender if different
...
Helps out ALM generate unown
2022-02-09 20:20:32 -08:00
Kurt
6da235f0e8
Set 3 flawless IVs if randomizing alpha IVs
...
Closes #3428
2022-02-09 19:26:18 -08:00
Kurt
d17639f956
Add alpha move for encounter slots
...
oops
Closes #3427
2022-02-09 19:21:45 -08:00
Kurt
bc2549b24e
Minimize BAK file allocations ( #3426 )
...
Stop allocating an entire shadow copy of the save file whenever we create a new savefile object from file.
Prior commits added the clear SaveFileMetadata class to cleanly track the file path. Backups are copied from the original path.
2022-02-09 16:48:55 -08:00
Kurt
04856122b7
Simplify landmark alpha move match check
2022-02-09 16:17:44 -08:00
Kurt
16da1deadc
Revise battle subway flag handling
...
Retain all flag bits; expose the other 5 flag bits as some saves do have them.
Undocumented.
Closes #3422
2022-02-09 15:41:00 -08:00
Kurt
39e47dbb82
Flag SWSH tutor moves
2022-02-09 15:06:14 -08:00
Kurt
f5344452cf
Fix last funfest mission record r/w
...
Closes #3423
2022-02-09 10:36:46 -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
CanoeHope
08f8b6e3d4
Add Legends: Arceus blocks ( #3403 )
...
* Update SaveBlockAccessor8LA.cs
2022-02-08 18:50:52 -08:00
Kurt
5cdfe18b8e
Add 7b Starter choice
...
Closes #3420
Co-Authored-By: GiftedK <99304781+GiftedK@users.noreply.github.com>
2022-02-08 18:49:44 -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
2f5635613e
Update TechnicalRecordApplicator.cs
2022-02-08 08:55:56 -08:00
Kurt
c7f24eecd0
Parse shiny/gmax Yes with any case/culture
2022-02-08 00:00:52 -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
b06f889cdd
Update 22.02.08
2022-02-07 20:13:19 -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
b20fb39d77
Don't set dex on slot swap within save
...
Closes #3411
2022-02-07 15:03:26 -08:00
Kurt
105e6a31f8
Fix Colo checksum refresh
...
https://projectpokemon.org/home/forums/topic/60614-error-when-opening-a-clean-pok%C3%A9mon-colosseum-save-and-exporting-it-as-is-using-220204/
2022-02-06 19:17:46 -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
sora10pls
43b0c340c1
Update Korean research task localization
...
oops
2022-02-06 10:47:26 -05: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
1297dd45e0
Fix missing event flag rows for Platinum-spanish event flags
...
https://projectpokemon.org/home/forums/topic/60601-pokemon-platinum-error/
2022-02-05 22:11:20 -08:00
Kurt
9137a03b50
Hide unavailable species for PLA saves (similar to LGPE)
2022-02-05 22:02:26 -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
sora10pls
9023b302c8
Label individual clothing item unlock save blocks
2022-02-05 13:38:39 -05:00
Kurt
3793fd4fd3
Landmark Alphas do not have Alpha Moves
...
nice omission gamefreak
2022-02-05 10:23:00 -08:00
Kurt
cd19d1d700
Fix folder list backup fetch
...
Introduces an option to disable reading .bak / "backup" files; trickle the changes up to all surface users so that SAV_FolderList can correctly load all .bak saves into its Backup tab.
The "ignore backups" was added in the latest feature push to ignore "backup" from being detected as the latest save.
2022-02-05 09:49:47 -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
5c33245221
Update MyItem8a.cs
2022-02-04 22:28:07 -08:00
Kurt
10fff124e5
Minor clean
2022-02-04 22:19:04 -08:00
Kurt
e2bafab3c2
Clamp pouch inventory per satchel size
...
Closes #3384
2022-02-04 22:18:57 -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
Easy World
52b980290f
update Chinese translation for PLA ( #3385 )
...
* Update text_Games_zh.txt
* Update text_Ribbons_zh.txt
* Update lang_zh.txt
2022-02-04 20:01:28 -08:00
Kurt
94f2d3ba0b
Fix Flawless IV count comparison
...
lol ty atrius
Closes #3383
2022-02-04 19:31:45 -08:00
sora10pls
97eb2d47d5
Update GO legality binaries
2022-02-04 21:41:49 -05: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
d4a6392b44
Update 22.02.04
...
Co-Authored-By: SciresM <8676005+SciresM@users.noreply.github.com>
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2022-02-04 18:21:10 -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
691f941bb6
Add savedata models
...
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:31:20 -08:00
Kurt
b2a65363ff
Add forms, games, species, moves localization
...
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
Co-Authored-By: SciresM <8676005+SciresM@users.noreply.github.com>
2022-02-04 17:30:06 -08:00
Kurt
b3eae15a0c
Add item localizations
2022-02-04 17:28:19 -08:00
Kurt
9d2d7a6cd1
Add met location localizations
2022-02-04 17:28:06 -08:00
Kurt
b63e401652
Add research task localizations
2022-02-04 17:27:38 -08:00
Kurt
c1a2b55191
Add new legality binaries from pkNX
...
Co-Authored-By: SciresM <8676005+SciresM@users.noreply.github.com>
2022-02-04 17:26:55 -08:00
Kurt
429c80e9f5
Add new abstractions for pkm/personal/mysterygift
...
Co-Authored-By: SciresM <8676005+SciresM@users.noreply.github.com>
2022-02-04 17:26:15 -08:00
Kurt
752ddc1a88
Move SWSH save abstractions to subfolder
2022-02-04 17:22:33 -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
b0197a84a0
Update lgpe route20 lapras level range
...
Closes #3380
2022-02-04 00:53:29 -08:00
Kurt
ff48c824eb
Update ContestStatInfo.cs
2022-02-04 00:37:29 -08:00
Kurt
d44c43f249
Fix swarm/safari seeds for DP saves
...
https://github.com/kwsch/PKHeX/pull/3379#issuecomment-1026405162
2022-01-31 18:01:44 -08:00
Edoardo Lolletti
5e3efc6c23
Fix swarm seed location for pokemon platinum ( #3379 )
...
The seed was being read/written to the wrong location of the save
2022-01-31 18:00:37 -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
Kurt
51090d0be8
Revise mystery gift Shiny potential for eggs
...
swsh+ now revise TIDSID on trade, so can't alter shiny state.
2022-01-17 20:06:46 -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
Kurt
0742c1b891
More sneaky updates
...
Revises initial seeding mechanism to match games
Use structlayout to get/init 64bit state numbers
2022-01-10 22:33:37 -08:00
Kurt
79e22be419
Add more constructors
...
Ease of use
2022-01-10 22:06:22 -08:00
Kurt
73575624cf
Define specific moveset for Odd Egg / extremespeed mons
...
Closes #3370
2022-01-10 21:27:04 -08:00
Kurt
03cedd4d8b
Split xorshift128 to separate RNG
...
Blame ILCA for using RandomRangeInt to generate unsigned 32bit numbers :D
2022-01-10 21:07:27 -08:00
Kurt
1992f36c5b
Fix gen3 item quantity reads
...
Oops :)
Closes #3369
ty @MichiS97 !
2022-01-09 20:34:55 -08:00
sora10pls
42fd9124a6
Label more LGPE event flags
2022-01-09 20:54:55 -05:00
Kurt
659fc9978b
Stackalloc marking set & raid IV gen
2022-01-08 22:48:33 -08:00
Kurt
9cde291595
Enumerate ability permissions in encounter templates, misc updates ( #3368 )
2022-01-08 22:34:04 -08:00
Kurt
437c79925d
More poffin min sheen fudge
2022-01-08 10:57:51 -08:00
Kurt
933294b3c9
Update NicknameVerifier.cs
2022-01-08 10:43:53 -08:00
Kurt
75a438ca44
Misc tweaks
2022-01-08 10:33:02 -08:00
Kurt
209d295f58
More handling for traded Meister magikarp
...
what a meme
All these edge cases make me want to move all this trade OT/Nick validation into the EncounterTrade classes and just get an enum indicating what is wrong with the trainer/OT details...
2022-01-08 09:59:35 -08:00
Kurt
b96e2cacd7
Add xmldoc
2022-01-08 09:54:32 -08:00
Kurt
9bddc89c07
Use span if possible instead of new arrays
2022-01-07 20:56:44 -08:00
Kurt
01f1be6f89
Fix incorrect g1 trade trainer char reference
2022-01-07 20:52:26 -08:00
Kurt
8f5f80b391
Only remove space in gen1/2
...
prior version removed all spaces if < 3, this just early returns before span trimming.
2022-01-07 20:34:35 -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
7743b30b2f
Fix species being replaced with incorrect mapping
...
XD shadow monitor stores the Gen3-mainline-SpeciesID instead of nationaldex ID.
Remap the values on the fly.
Pass the data via span to save a 8KB allocation for sav ctor
Closes #3365
2022-01-07 17:48:12 -08: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
a08330ffd4
Update MoveSetApplicator.cs
2022-01-03 22:27:20 -08:00
Kurt
36bf73818e
Source trainers for encounter database
...
Closes #3364
Related: #3358
2022-01-03 19:33:10 -08:00
sora10pls
3f1335e19f
Add Zone unlock cheat to BDSP Misc Editor
...
As with most event work tampering, make sure you keep save backups. Accessing areas before you're intended to will almost certainly break story progression.
2022-01-03 11:06:06 -05: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
MewTracker
d5a79079c0
Added named constant for BDSP swarms ( #3362 )
2022-01-02 15:43:18 -08: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
Kurt
3f769d6f52
Update 22.01.01
2022-01-02 00:53:37 -08:00
Kurt
7b4099030a
Properly flag gmax in bdsp
2022-01-01 23:11:45 -08:00
sora10pls
eb71576803
Add New Year's distribution raid data
2021-12-31 19:04:35 -05:00
Kurt
ac1136615e
Fix rival string read/write to General
2021-12-31 13:52:50 -08:00
Kurt
2de2ed4985
Merge branch 'master' of https://github.com/kwsch/PKHeX
2021-12-31 13:52:37 -08:00
sora10pls
a02e97a8af
Unban alternate Lake Verity zone
...
As you progress the story in the Sinnoh games, the water level in Lake Verity will rise allowing you to Surf and reach the Verity Cavern. When this happens differs between DP/BDSP and Pt.
Zone 323 has nothing to do with it being early-game and only when Rowan's briefcase is present, but rather the differing water level. Riley's Riolu Egg can be hatched here without trading, as well.
Co-Authored-By: Billo-PS <63661653+Billo-PS@users.noreply.github.com>
2021-12-28 17:26:05 -05:00
Kurt
dc4a9136ea
Remove trailing whitespace
2021-12-27 14:03:41 -08:00
Kurt
a2f61166e4
Use System.Memory for BigEndian value reads
...
Temp testing commit; will improve performance in the future
2021-12-27 13:56:52 -08:00
Kurt
76cac85243
Minor clean
2021-12-27 13:50:21 -08:00
Kurt
cc8ac7a4f1
Remove unnecessary warning suppression
...
fixed dat .editorconfig in vs22
Catching general exceptions is okay because this program handles user modified data that can potentially be corrupt.
2021-12-27 12:09:15 -08:00
Kurt
5f7caf9ca2
Tweak PB8.FixMemories for importing eggs & handler quirk
2021-12-27 01:53:28 -08:00
Kurt
29fd17a6f9
Add friendsafari to HA metadata permission
2021-12-26 23:05:25 -08:00
Kurt
24e1898410
Update gen4 Shedinja handling
...
PK4->PK5 fixes gendered Shedinja -> genderless.
Clean up PK4 ball value setters and expose those 2 properties separately.
Add edge case permission for HG/SS Sport Ball Shedinja being legal if evolved on DP (DP doesn't change 0x86, lol)
Copy PokéathlonStat and ball values individually for BK4<->PK4 conversion
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
2021-12-26 20:13:36 -08:00
Kurt
f50684b794
Remove childless xmldoc
2021-12-26 19:44:04 -08:00
Kurt
749293fc75
Move BoxManip to subfolder
2021-12-26 19:43:42 -08:00
Kurt
3d7967fcfe
Fix recognition for cutecharm Nincada->Shedinja
...
GetGender would return 2, which would abort the Cute Charm check since genderless is not able to be cute-charm'd.
https://projectpokemon.org/home/forums/topic/57375-pkhex-new-update-legality-errors-contribution-page/?do=findComment&comment=271537
2021-12-26 18:22:41 -08:00
Kurt
11039f1119
Extract some event unlocking logic for core
2021-12-26 18:21:34 -08:00
Kurt
76ab09f024
Inline constant value
2021-12-26 01:06:30 -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
192ef23052
Allow gen5 deerling and sawsbuck slots to be any form [0,3]
2021-12-26 00:00:38 -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
ac6fd085ba
Update translation files
2021-12-25 19:03:11 -08:00
tastymeatball
2d3fae889b
Update flags_e_en.txt ( #3350 )
...
add a lot of flags to emerald
2021-12-25 18:57:02 -08:00
Kurt
9ce0da6c46
Add bdsp approximations for min sheen calcs
...
Closes #3351
2021-12-25 18:51:02 -08:00
Kurt
fbb9e0bf0e
Flag original catchrates on g1->g2->g1 transfers
...
Closes #3328
2021-12-25 18:44:37 -08:00
Kurt
13e0f35e00
Add munchlax slot checking for DPPt/BDSP honey trees
...
Closes #3352
2021-12-25 13:48:28 -08:00
Kurt
2d34411203
Fix g8 meister magikarp matching
...
5b2ad8703c
2021-12-25 12:57:05 -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
Kurt
42d24ad183
Add sketch check for bdsp legends signature moves
...
Can't learn these yet
2021-12-23 01:57:53 -08:00
Kurt
46f5a9c29a
Remove inaccessible zone IDs from hatch location list
...
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2021-12-23 01:25:14 -08:00
Kurt
606818b835
Bounds check sketch move IDs for generation
...
Smeargle no longer permitted to have Eerie Spell in gen6 format :)
2021-12-23 01:24:47 -08:00
Kurt
4e7e23cb88
Add battle tower record editing
2021-12-20 23:48:05 -08:00
Kurt
36a97a6eda
Add misc edit to defeat all trainers & rebattle all
2021-12-20 19:26:07 -08:00
Kurt
39f8e9173e
Add contest stat batch modification
2021-12-20 19:16:23 -08:00
Kurt
1e0ac7fb26
Ban more BDSP egg moves before HOME
...
https: //github.com/kwsch/UnityDPtools/pull/2
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
2021-12-20 19:00:48 -08:00
Kurt
38a4135bcd
Span-ify the unpacking of mini arcs
...
cuts out some of the internal c# sanity checking for better perf
2021-12-20 18:37:45 -08:00
sora10pls
260036a90b
Add Holiday 2021 distribution raid data 🎄
2021-12-16 19:04:28 -05:00
Kurt
98713f4d7b
Move inventory item clearing to class
...
Fixes ClearItem offset being wrong
2021-12-13 18:31:00 -08:00
sora10pls
57efeff0ee
Expose WK_SCENE_GAME_START in Work Values
...
hilarious that you can use this to skip the opening movie
2021-12-13 18:43:31 -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
sora10pls
3e92d5a85d
Add Dialga/Palkia + Roamer resets to Misc Editor
...
For roamers, go back to Lake Valor/Fullmoon Island, and re-interact with Mesprit/Cresselia so that the game can generate a new one.
Also add Rotom rebattle event flag, and fix consistency with flag labels.
2021-12-12 11:28:48 -05:00
sora10pls
c05b79b532
Handle Route 229 <=> Route 230 crossover case
2021-12-12 09:18:57 -05:00
Kurt
5b2ad8703c
Handle g8 meister magikarp language goofiness
...
Only 5 & 1 language IDs are used
2021-12-11 22:23:05 -08:00
Kurt
47a1fd10e4
Allow surf crossover from r223<->pkmleague
...
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2021-12-11 21:31:32 -08:00
Kurt
aa968f56aa
File scoped namespace for drawing projects
...
Extract color util to separate class as it's not entirely image related.
2021-12-10 00:15:04 -08:00
Kurt
9f920405df
Revise gen3 sheen max extrapolation
...
any contest stat sum above 73 can have any sheen if you really give it trash blocks, lol
not trying to bruteforce the exact combination of consumed blocks/poffins, so these clamps may permit impossible intermediate values, but these are infrequent and meh.
Closes #3325
2021-12-09 23:33:54 -08:00
Kurt
e5efbdcbf0
Remove head smash from hgss nosepass eggmoves
...
Closes #3327
2021-12-09 22:41:14 -08:00
Kurt
2e20e75168
Temp handling for bdsp case
2021-12-09 19:53:43 -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
d7e1f65faa
Add some xmldoc, file scoped namespaces
...
Not much of a git diff history for these files so I don't mind them being reformatted.
2021-12-09 18:58:30 -08:00
Kurt
18469a78aa
Set legal default ball for bdsp bred egg templates
2021-12-09 18:39:03 -08:00
Kurt
22cd12ee8d
Recategorize bdsp Honey Tree encounters from Grass to HoneyTree
...
Now they no longer show as Radar possible (no longer "grass")
2021-12-09 15:55:14 -08:00
Lusamine
e617beb604
Add Lost Tower to zones where Radar can't be used
2021-12-09 11:02:12 -06:00
Kurt
6e0170f938
Update eggmove_bdsp.pkl
...
Of all the available Pokémon in BDSP, the following cannot have these corresponding Egg Moves:
Snorlax: Power-Up Punch
Taillow: Boomburst
Chatot: Boomburst
Revert this commit when HOME is available for BDSP
2021-12-09 01:30:20 -08: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
90956f3b05
Flag encounter slots that cannot obtain HA or use ability patch
...
Ex: old chateau Gastly in bdsp cannot have HA as it is not different from base abilities
2021-12-08 23:43:32 -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
0bb4534870
Reset contest stats to enc instead of zeroed
...
Can't lower contest stats, but there's no cases of them giving a pkm with contest stats in a game that can't obtain contest stats -- let's just reset instead of zero for futureproofing.
Make them extension methods too; add an overload if you want to purposefully maximize them.
2021-12-08 22:43:56 -08:00
sora10pls
88822b4e68
Update minimum Egg hatch cycle legality
...
0 is legal in most cases except for Gen2 and BDSP!
...it's technically possible to get 0 in BDSP if you have autosave turned on and have an Egg in your party after hatching one before it, but it will hatch immediately on your next game startup, so disallow it anyway.
2021-12-07 20:38:00 -05:00
Kurt
543359fff6
Add contest stat sheen checking
...
Closes #3324
2021-12-07 00:54:39 -08:00
Kurt
fcd97d5989
Don't add TR moves as possible for BDSP origin
2021-12-06 00:01:13 -08:00
Kurt
cacd6e9965
More records/sealing
2021-12-05 23:54:59 -08:00
sora10pls
ffebc74b90
Update National Dex Underground encounter minimum requirements
...
See https://github.com/kwsch/UnityDPtools/pull/1/files for more details.
2021-12-05 12:00:51 -05:00
Kurt
7e4877e7de
Add 3 more useless blocks
...
Spinda registers correctly now, lol
2021-12-04 23:52:33 -08:00
Kurt
40ed5898af
Merge extended property patterns
2021-12-04 18:37:47 -08:00
Kurt
88ddc5822e
c#10: readonly record structs
...
Reduces some boilerplate constructors/equality compares
2021-12-04 18:32:35 -08:00
Kurt
f55c5bea66
Minor clean
...
no functional change
2021-12-04 17:56:56 -08:00
Kurt
9a1b2719ec
Add simple legal item filtering for giveall
...
Closes #3318
Gen8: if held item, only give if can be legally held; if dmax crystal, only give if available.
Gen8b: if held item, only give if can be legally held
Others: unimplemented; pull requests accepted.
2021-12-04 12:24:32 -08:00
Kurt
4cb80b5463
Update memory feeling localization files for gen8
...
Keep the old localizations around for displaying gen6 format memories in their original localization.
I didn't rename the files so the git diff was clean for showing the re-localized lines.
Closes #3302
2021-12-04 11:40:40 -08:00
Kurt
3e59d481c4
Move bred pokeball short circuit to gen-specific function
...
Now flags safari-exclusive species in pokeballs
2021-12-04 10:52:57 -08:00
Lusamine
aef7987f82
Enable SWSH restaurant memory
...
Obtained by eating at the Circhester restaurant in story mode!
2021-12-03 16:58:07 -06:00
Kurt
e50bb8f288
Abstract-ify pouch items; acknowledge sort order
...
Closes #3320
Should better handle bdsp inventory format; shows sort order with the now-zero slots
2021-12-02 23:31:48 -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
Matt
483547f631
Update Tables8bs.cs
2021-12-01 06:16:45 -05:00
Kurt
4046ea0840
Handle encrypted pb8 file detection as pb8
2021-11-30 22:08:15 -08:00