Kurt
b6da6c1207
Add raticate form list for gen8+
2020-11-15 08:31:58 -08:00
Kurt
3b5bcc9dad
Update comments with context/clarification
...
No functional change, the order of switch case won't matter
2020-10-24 23:08:39 -07:00
Kurt
5326067c8d
Return old Chinese species name for Gen7 fetch
...
Add documentation comments, because changing species names is so weird.
ty anubis for confirming the game resets the old-nickname to new-nickname even without transferring to HOME.
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
2020-10-24 22:28:39 -07:00
Kurt
5fa4ddd4a2
Update internal data sources for Crown Tundra
...
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
Co-Authored-By: ReignOfComputer <2667537+ReignOfComputer@users.noreply.github.com>
2020-10-24 11:11:05 -07:00
Kurt
6239f59b9d
Inline checksum logic for gen3, simplify else case
2020-10-18 09:16:52 -07:00
Kurt
7132750c9b
Placeholder crown tundra logic
...
To be updated:
- Tables8: magic numbers for maximums
- IGigantamax: any new gigantamax forms?
- FormConverter: any new forms? (calyrex)
2020-10-10 13:14:32 -07:00
Kurt
478cb33788
Unshorten parameter names
...
lang->language
nick->nickname
2020-10-08 13:59:58 -07:00
Kurt
6938d2f94d
Split VivillonTables into two classes
...
Indicate that the content is for 3DS specific logic
Reduce restriction for parameters requiring IGeoTrack => IRegionOrigin
2020-10-04 14:15:13 -07:00
Kurt
09c6359e3a
Add flexibility for SK2 imports
...
Check language character table for English vs Japanese when loading for a destination
2020-10-04 10:25:34 -07:00
Kurt
52a67f2425
Add Stadium2 Support
...
Introducing a new PKM format: SK2
Split ICaughtData2 off of PK2 so it can be shared with SK2 when type-checks occur
Add conversion for PK2<->SK2
Split the split-buffer handling for GBPKM to GBPKML (what a name), so that I can reuse shared accessor logic for SK2.
2020-10-02 18:08:40 -07:00
Kurt
060b0bf7fe
Reduce linq/allocation
...
don't fetch IVs/EVs array, just scan and apply
2020-09-26 11:30:30 -07:00
Kurt
2b7e06e217
Refactoring
...
Extract some logic, suppress some compiler messages
2020-09-18 22:11:13 -07:00
Kurt
9191f023a3
Minor clean
...
Nullability annotations and some logic simplification
2020-09-06 11:24:54 -07:00
Kurt
cf9e5ec37f
Minor refactoring
...
Change Ability array to IReadOnlyList, add method to check ability index in personal data
Suppress some message warnings
Change EvolutionChain short-circuit for VC to jump from gen6 directly down to gen2. There aren't any notradeback 1 situations, so a notradeback1 will always start with g=1, so no need for the other if-continue.
Simplify pk5 conversion
2020-09-06 10:53:13 -07:00
Kurt
1ee459a46c
Use language for checking IsNicknamed flag
2020-08-29 10:40:41 -07:00
ReignOfComputer
f313321126
Gen 4 French Egg Fix ( #2978 )
...
* Gen 4 French Egg Fix
Mauvais œuf, je le réparerai. Bon appétit!
Fixes Gen 4 edge case reported by Taya on Discord.
* Tweak flow to handle gen2
Add a comment to indicate why this special handling is required
2020-08-26 10:18:10 -07:00
Kurt
12d9397c8c
Split GO from "GG" gameversion
...
Make Gen7b as the combined ver for that expression
2020-08-06 18:24:20 -07:00
Kurt
b7211000b0
Split Country/Region/ConsoleRegion from ITrainerInfo
...
Only present in mainline gen6/7 game pairs, so it's not wise to have it for all games
2020-07-31 13:53:42 -07:00
Kurt
27f15d2f20
Split Country/Region/ConsoleRegion to interface
2020-07-31 11:17:31 -07:00
Kurt
12b8060ec1
Use byte instead of int
2020-07-21 23:43:34 -05:00
Kurt
a7ba178005
Remove unreachable/const logic
...
Earlier compares result in some logic being unnecessary
The Gen7 level up move compare was actually an oversight, so it's a worthwhile fix :)
2020-06-27 22:44:14 -05:00
Kurt
36dd5ece21
Initial Isle of Armor support
...
Co-Authored-By: sciresm <sciresm@users.noreply.github.com>
Co-Authored-By: Matt <sora10pls@users.noreply.github.com>
Co-Authored-By: Archit Date <architdate@gmail.com>
2020-06-19 18:51:15 -05:00
Kurt
2cdb5d26db
Clean up some method signatures
...
rename things to be a little more consistent in naming conventions
2020-06-16 21:46:22 -05:00
Kurt
efb628c002
PID Rand: Handle ability bits for gen34 differently from gen5
...
quite an old method we have here; used to just maintain both low bits from u16. Need to handle things differently for g34/g5.
Rearrange some variable init for slightly better perf, and clean up parameter names
https://projectpokemon.org/home/forums/topic/55750-pkhex-square-shiny/
2020-06-11 09:32:43 -07:00
Kirk Scheibelhut
0aa84f3456
Fix minor typos in FormConverter comments ( #2831 )
2020-05-10 14:27:12 -07:00
Kurt
3100471299
Strip out some unnecessary logic
...
notnull => no need to check for null manually
2020-04-16 12:58:48 -07:00
Kurt
b8814d2448
Split GG into LGPE (GP/GE), GG (LGPE||GO)
...
Update usages
2020-04-16 12:48:18 -07:00
Kurt
0b48034f4d
&& -> ||
...
we want to decrypt if either are set
(they should be zero as they're the always-null terminators of strings)
ty @Lusamine !
2020-04-06 15:12:51 -07:00
Kurt
270d984130
Minor clean
...
Remove unnecessary null checks
Mark some methods with nullable type
2020-04-04 19:30:50 -07:00
Kurt
cce28df6e3
Update PKMConverter.cs
2020-03-20 09:28:16 -07:00
Kurt
287a2ac5c5
Rework handling of bk4 constructor
...
Can't really detect if it's shuffled or not; just assume it's always unshuffled unless it originates from a save file read. Probably not a perfect solution, but achieves better results.
https://projectpokemon.org/home/forums/topic/56217-error-in-archive-bk4/
2020-03-18 23:34:53 -07:00
Kurt
ed02f39224
Use another overload
...
Co-Authored-By: Archit Date <architdate@gmail.com>
2020-03-04 22:31:07 -08:00
Kurt
ebf20d927b
More transfer implications
...
Totems are downsized to regular
araquanid, togedemaru, and ribombee totems can't transfer (at the moment)
2020-02-11 20:11:33 -08:00
Kurt
c301ce88ab
Update Random to be a bit more thread safe
...
Random isn't thread safe; users of PKHeX.Core.dll might run multithreaded operations (see PKSM + ALM), so we need to have a thread-specific RNG available.
Thread Local get; to improve performance, save the random object locally whenever it is used more than once in the method.
https://docs.microsoft.com/en-us/dotnet/api/system.threading.threadlocal-1?redirectedfrom=MSDN&view=netframework-4.8
https://stackoverflow.com/questions/18333885/threadstatic-v-s-threadlocalt-is-generic-better-than-attribute/18337158#18337158
2020-01-25 21:49:52 -08:00
Kurt
857124acf0
Swap zen galar -> galar zen
...
ty showdown for changing your convention over a month ago
a01e2a26bc (diff-58e367765263b7e21df251b3e7619b70L9307)
2020-01-16 18:54:09 -08:00
Kurt
2e16fb058c
Show form arguments in gen6/7
...
Clamp form argument load to current list bounds (used to throw arg range exception if invalid)
2020-01-13 17:09:03 -08:00
Kurt
51d2fc9d93
Update with slowpoke-1/new raid data
...
TransferVerifier: Revise transfer check to allow slowpoke-1 (slowpoke-0 is flagged via next check)
2020-01-09 18:44:45 -08:00
Kurt
0dd4d1fe7a
Remove unnecessary casts
2020-01-06 17:50:18 -08:00
Kurt
efbac28b91
Rework accessors for PKMConverter trainer cache
...
Might break downstream users, for the better. Internal behavior had to change!
2020-01-05 21:51:02 -08:00
Kurt
1906a1040f
Relocate console-location data setting to PKMConverter
...
When adding data, check if the current Trainer has valid console data; if not, use a default value.
2020-01-05 21:41:32 -08:00
Kurt
e21d108fb2
Split PokeCrypto from PKX
...
All logic in PokeCrypto is separate from the rest of the PKHeX.Core
library; makes it easy to just rip this portion out and reuse in other
projects without needing the entirety of PKHeX.Core logic
optimize out the CheckEncrypted to the actual path, separate methods.
Only usages of this method were with hardcoded Format values, so no
impact
2020-01-04 14:48:39 -08:00
Kurt
a08ebff699
Add gen8 mimikyu form case
...
Closes #2618
2020-01-03 19:20:16 -08:00
Kurt
166f8d82e5
Misc clean
...
Refactor out some logic, make "en" literals reference one spot (where
appropriate)
2020-01-01 19:07:21 -08:00
Kurt
827a7649c1
Export PCD/PGT as encrypted format
...
add Write method for writing the data outside the program; only use Data
if you know what you're doing!
2019-12-24 23:24:28 -08:00
Kurt
8acb336d51
Use enum for species comparisons
...
slightly easier to read with named values
2019-12-08 17:39:19 -08:00
Kurt
5ddd59c9aa
Fix runerigus/yamask partial load fail
...
320 is max hp (31IV 252EV), is this just -60 from max HP (threshold to
evolve at?)
might need some more research to see what is going on with this
only trycatch in release builds; was confused until I stepped thru and
saw the crash
2019-12-08 00:03:08 -08:00
Archit Date
3526c37f1e
update forme to showdown strings ( #2558 )
...
* update forme to showdown strings
Galarian is represented as Galar on PS!
Polteageist has no form atall
galarian now called Galar by default to match with Alola as a forme. changed darmanitan forme-strings in form converter. Added sinistea to the forme ignore list when converting to showdown
2019-12-03 16:41:52 -08:00
Matt
7b7a161ac9
Minor fixes ( #2547 )
...
Fix Sinistea/Polteageist Form names (as per Strategy Guide)
Add Eternamax menu sprite
2019-11-30 13:19:22 -08:00
Kurt
3c4e668d9a
Add alcremie formArg gui
...
Closes #2538
Standardize nomenclature as FormArgument, add interface for those
exposing the property.
2019-11-29 10:44:52 -08:00
Kurt
f25b36a306
Minor tweaks
...
Remove unused stuff
add some comments/xmldoc
Move Trainer1 to classes that use it
2019-11-28 14:00:55 -08:00