Kurt
f615814548
Add xmldoc, increase swish util flexibility
2021-01-07 15:34:26 -08:00
Kurt
5554651951
Mark scxorshift32 and xoro128p as ref structs
...
Prevents passing them as args, as intended. These are self mutating structs
2021-01-07 15:33:42 -08:00
Kurt
1c19bc86f4
Preallocate some holding objects to prevent doubling allocations
...
Saves 12 doubling reallocations for new List to hold blocks
Saves 21 for the memorystream on writing
2021-01-07 09:37:27 -08:00
Kurt
6e741a0cf0
Minor tweaks
...
Add xmldoc
Remove linq from memecrypto code (speed lmao)
Hide some methods that shouldn't be called directly
Name variables better for accessor const's
2021-01-06 23:30:30 -08:00
Kurt
9718d1d2aa
Add save handler abstraction for detecting atypical save formats
...
GCI, DSV, DUC are already supported, so I've written the abstraction for those and seed the Handler list on startup.
Can add a new class with recognition via SaveUtil.Handlers.Add(myHandler);
2021-01-06 15:46:43 -08:00
Kurt
118e1266a6
Swap lgpe sandshrew/vulpix version restrictions
...
Closes #3122 ty @FeralFalcon !
2021-01-05 17:30:14 -08:00
Kurt
1bd60ba6f9
Check original species in the event of VC transfers
2021-01-05 16:36:16 -08:00
Kurt
9d7c9929b4
Minor tweaks
...
should be it :( :(
2021-01-05 09:58:33 -08:00
Kurt
23b5aebe05
Update IndividualValueVerifier.cs
2021-01-05 09:56:19 -08:00
Kurt
70fe1847ac
sync missing changes
2021-01-05 09:51:32 -08:00
Kurt
373aecdf7c
Merge GO IV checks, behavior is now correct
...
Rename IV1/2/3 to HP/ATK/DEF in gp1 structure
2021-01-05 09:39:50 -08:00
Kurt
6fc8779aaa
Revert "Add vc shiny female gender ratio check"
...
This reverts commit d5a1283585
.
2021-01-04 17:31:56 -08:00
Kurt
cc43550357
Simplify more expressions
2021-01-04 17:31:43 -08:00
Kurt
ad48f4e909
Set languageID if present for sav
...
Lowercase the "SAV" variable too
2021-01-04 16:28:46 -08:00
Kurt
acf811f5c1
Permit all generations prior to requested generation for know move check
2021-01-04 15:38:30 -08:00
Kurt
cbc57dc794
Force sav1 BU to init as japanese
2021-01-04 15:18:16 -08:00
Kurt
99fe3b59b4
Fix contains indexing incorrectly
...
blame apr 17 2017 !
a5b1d72f06 (diff-53c2e8acc19c5af65034cf0460ba82ebc7dc00ba61eb142ef4aa2c0cbc1f7cffR2918)
2021-01-04 15:06:52 -08:00
Kurt
0ab3493335
Skip save sub-type detection if we already it
2021-01-03 18:11:59 -08:00
Kurt
d5a1283585
Add vc shiny female gender ratio check
2021-01-03 18:08:31 -08:00
Kurt
730640decc
Minor clean
2021-01-03 16:53:13 -08:00
Kurt
33ad654be6
Mark encstatic version on init rather than post-init
2021-01-03 16:49:49 -08:00
CanoeHope
916c70341a
Added Bebe's PC Event Flag for DP + Update Gen 3 & 4 translations ( #3116 )
...
* Update flags_dp_en.txt
* Update flags_frlg_es.txt
* Update flags_dp_es.txt
* Update flags_dp_ja.txt
* Update flags_dp_ko.txt
* Update flags_dp_zh.txt
* Update flags_frlg_zh.txt
* Update flags_rs_es.txt
* Update flags_rs_zh.txt
2021-01-02 21:36:42 -08:00
Kurt
e663ffdd35
Fix comparison
2021-01-02 20:52:39 -08:00
Kurt
1f600f3518
Fix Gen2 Shiny ShowdownSet import
...
SetNature loops by changing the PID which doesn't exist; there's no nature or abilities in gen1/2 so just skip these two methods completely.
2021-01-02 19:58:25 -08:00
Kurt
7629d3f887
Bounds check empty permutations
...
If the length is 0 or malformed input, we return empty.
2021-01-02 19:23:39 -08:00
Kurt
1f3d3112d3
Move some future-evolution tables to separate class
2021-01-02 19:11:46 -08:00
Kurt
4a52b349ff
Minor clean
2021-01-02 19:11:34 -08:00
Kurt
77a784a881
Move Stadium static encounter junk to event list
...
Charmander has Leer at level 5, which makes it a special move (can't learn it normally that low).
2021-01-02 14:48:11 -08:00
Kurt
97be69bca1
Use EncounterMatch when EncounterOriginal doesn't matter
2021-01-02 14:47:39 -08:00
Kurt
7a4d8925f2
Update EncounterStaticGenerator.cs
2021-01-02 13:53:25 -08:00
Kurt
f785231692
Fix backup filenaming
2021-01-02 10:34:33 -08:00
Kurt
699a598227
Update NicknameVerifier.cs
...
Nickname AND Trainer Name are verified in that method; we still want to execute it. If it has a fixed nickname, we can skip the wordfilter since it's already been checked.
2021-01-02 01:02:59 -08:00
Kurt
401add520a
Check nickname of non-nicknamed in-game trades
2021-01-02 00:48:58 -08:00
Kurt
c432a15a20
Relocate some tables to a location closer to where they're used
2021-01-02 00:46:09 -08:00
Kurt
a7b9fafb69
Remove unnecessary logic
...
Encounters are thoroughly checked for their origins; don't need to check again if it's possible to have it in an egg.
2021-01-01 19:45:40 -08:00
Kurt
2648560684
Invert breeding method result returns
...
clean:
if (!logical) return;
Existing logic had methods named to return true if fail, now method checks for passing, thus the logic now follows the above pattern.
2021-01-01 19:36:54 -08:00
Kurt
09089da14e
Use more expression return style
...
Reduces indentation & bracketing, a bit more concise
2021-01-01 17:08:49 -08:00
Kurt
1d22b74970
Remove unused block class
...
Copied from Gen7b, swsh is just a key,value list
2021-01-01 16:57:18 -08:00
Kurt
813180453e
Delete duplicate HT bit fetch method
...
Make expression methods
2021-01-01 16:39:33 -08:00
Kurt
11a2a7a318
Condense expression to use bitflags
...
from 2 cmp to just 1
2021-01-01 16:25:48 -08:00
Kurt
46f3b17a67
Replace this[] indirect access with direct table access
...
The static constructor setup methods don't need to be maxSpecies aware, they always succeed. So just remove the self-imposed-safe bounds checks by accessing & mutating the table directly.
2021-01-01 15:24:11 -08:00
Kurt
04f8efec4f
Move more breeding logic to Breeding
...
Simplify some method signatures, reduce checks for MoveEgg.GetEggMoves
ran legality checks for 100,000 pkm, no more exceptions (Internal Error) -- added a "CanGameGenerateEggs" which filters out unused gameIDs
2021-01-01 15:01:22 -08:00
Kurt
7523e0e200
Make ContestStat fields byte (from int)
2021-01-01 13:39:08 -08:00
Kurt
f6d4d93613
Inline some logic for contest stats
2021-01-01 12:21:46 -08:00
Kurt
e2c1a3045a
Extract gen2 egg generator, simplify can be egg checks
...
Optional parameters were never passed; force Min Level to 5 to match egg level.
Tried removing it completely but it still allowed Charizard eggs (no)
2021-01-01 11:27:45 -08:00
Kurt
a4c4a2b231
Make EncounterArea record type
...
immutable reference types is the goal; the array for the data isn't copied, but both records refer to the same data.
2021-01-01 10:55:33 -08:00
Kurt
4e01e78734
Make Species/Form/Min/Max readonly, not init
...
Pass them to the abstract class's constructor
2021-01-01 10:53:05 -08:00
CanoeHope
45c46d774f
Added a few RS, FRLG and DP Event Flags ( #3115 )
...
* Update flags_rs_en.txt
* Update flags_frlg_en.txt
* Update flags_dp_en.txt
2020-12-31 23:36:12 -08:00
Kurt
fb008be6a6
Condense some more expressions
2020-12-31 23:13:27 -08:00
Kurt
080f6f827d
Replace pkm.GG references with direct version checks
...
No longer tied to met location
2020-12-31 17:45:11 -08:00
Kurt
8bf250ff5a
Update EncounterEggGenerator.cs
2020-12-31 17:16:28 -08:00
Kurt
2689e72252
Hide field that shouldnt be used by external users
...
Not to be confused with LegalityAnalysis.Parse
2020-12-31 17:14:39 -08:00
Kurt
b9f0427ccd
Add Year of the Dragon distribution raids
2020-12-31 16:07:52 -08:00
Kurt
f631cbbecd
Generate gen2 eggs via gen2 method, ignore gen1 versions
...
For searching, only return versions compatible with the save file
Don't bother filtering out BU for Japanese-only.
2020-12-31 15:51:06 -08:00
Kurt
4058d44229
Fix inverted check
2020-12-31 12:14:24 -08:00
Kurt
aaad127b99
Condense things a little more
2020-12-31 10:41:55 -08:00
Kurt
f4bf9dd208
Minor clean
...
add download count to changelog
move 2019 changelog to uncompiled resource (for record)
2020-12-31 10:36:09 -08:00
Kurt
28ec0e91f0
Use specific type when storing reference
2020-12-31 10:33:30 -08:00
Kurt
38e02a53b2
Condense switch cases to switch expressions
2020-12-31 10:33:13 -08:00
Kurt
99292c75f9
Update 20.12.30
2020-12-30 21:16:38 -08:00
Kurt
b7d70e61d3
Update gen7 slot pickles, removes inaccessible areas
...
Closes #3025 , ty @sora10pls and @Ammako !
2020-12-30 19:08:53 -08:00
Kurt
6a9aa891f1
Validate VC transfer consoleregion-language relationship
2020-12-30 15:30:50 -08:00
Kurt
ef51f53e9a
Flag battle-only minior forms
2020-12-30 15:03:55 -08:00
Kurt
24332b6979
Minor tweaks
2020-12-30 13:08:15 -08:00
Kurt
206a05082b
Update HistoryVerifier.cs
2020-12-30 09:55:41 -08:00
Kurt
6040faed10
Yield gb events in generator
...
Were recently split off so that the events could be generated last rather than with the rest of static encounters (first)
2020-12-29 21:45:37 -08:00
Kurt
6071834d4f
Fix gender ratio comparison for Colo starters
...
LockFinder:
https://projectpokemon.org/home/forums/topic/57375-pkhex-new-update-legality-errors-contribution-page/?do=findComment&comment=263736
CXDVerifier:
Use a switch expression for a more concise representation of logic
2020-12-29 20:25:05 -08:00
Kurt
b19688b13d
Defer go slots with IV sets as there might be other encs
...
Move the logic to the class
Update go binaries
2020-12-29 16:07:29 -08:00
Kurt
4d1832b124
Move showdown stuff to subfolder
2020-12-29 15:39:24 -08:00
Kurt
2af9e800fb
Add RotomAffection and rotoloto1/2 flag editing to GUI
2020-12-29 11:39:19 -08:00
Kurt
d9a4eacaf4
Allow deactivating all raids
2020-12-29 10:53:47 -08:00
Kurt
de840f40d4
Invert some "!is" to "is not"
2020-12-29 00:58:08 -08:00
Kurt
e8c23f6644
Simplify some repeated comparisons with expressions
...
Less prone for bugs since it uses the same value for all comparisons without re-specifying
2020-12-29 00:37:59 -08:00
Kurt
c119f18af3
spec->species
2020-12-28 22:22:52 -08:00
Kurt
6502c9df33
Condense some expressions, extract static class
2020-12-28 21:42:54 -08:00
Kurt
0a46f45b00
Split MetDataSource from GameDataSource
2020-12-28 21:12:46 -08:00
Kurt
688b636b93
Fix off-by-one and trim trailing tabs of blank rows
2020-12-28 14:45:08 -08:00
Kurt
bb68dcc3cb
Move trade->pkm edge case handling to derived classes
2020-12-28 14:42:48 -08:00
Kurt
934316d68d
Simplify some expressions for game datasources
...
Reduce allocations for ball
Use a clean switch expression for version->met list
2020-12-28 13:32:36 -08:00
Kurt
74ee22e66e
Make ComboItem a record
2020-12-28 11:57:34 -08:00
Kurt
e44100a9fd
Remove unnecessary ComboItem logic
2020-12-28 11:56:00 -08:00
Kurt
a124168e87
Make FormArg editing a complex control
...
Shows a dropdown for alcremie only, and a number entry for everything else.
See 771086a222
for initial implementation; I don't want the lag anymore lol
2020-12-28 11:51:25 -08:00
Kurt
c14f2a1dd1
Minor initialization tweaks
...
GameStrings: 10% of strings are unique; just mark everything. Stop a little early so we don't process the empty & (trade) string.
LearnsetReader: All empty entries are length==0; malformed should throw an exception (never).
EggMoves: Compute ptr inside the array fetch loop; don't use linq.
EggMoves & string shaves off 80ms of startup time according to profiling; some could be attributed to warm-up but yay more efficient.
2020-12-28 10:22:13 -08:00
Lusamine
c46c55f304
Add missing static encounters ( #3113 )
2020-12-27 11:47:01 -08:00
Kurt
b84e2283a7
Add missing snorlax nest encounter (Zeraora event)
...
The event had copies of the current month's raids, but snuck in Snorlax at level 17 (wrong, should have been munchlax?).
ty atrius
fix indentation
2020-12-27 11:32:05 -08:00
CanoeHope
0f5a77f187
Update DPPt Starter event constants ( #3112 )
...
* Update const_dp_en.txt
* Update const_dp_es.txt
* Update const_pt_en.txt
* Update const_pt_es.txt
2020-12-26 12:46:49 -08:00
Kurt
e4c391dc01
Move nest downlevel checks into specific encounter type
...
Distribution nests are checked for 1/3 badge restrictions similar to regular nests; crystal nests are not. Thanks @Lusamine!
2020-12-26 09:31:21 -08:00
Kurt
a4ccca7980
Add battle-only known move memory bypass
2020-12-26 09:27:41 -08:00
Kurt
ee5349ff98
moar is or
2020-12-25 12:30:26 -08:00
Kurt
4a8a495d04
Condense some switch expressions
...
Should be it for now; exhaustively searched for all that made sense to change
2020-12-25 10:58:33 -08:00
Kurt
799d5aea56
Merge branch 'master' of https://github.com/kwsch/PKHeX
2020-12-24 17:15:34 -08:00
Kurt
1d501366cb
Add holiday raids
2020-12-24 17:15:32 -08:00
Kurt
95e3337f2c
More switch expressions
2020-12-24 17:12:08 -08:00
Kurt
4d0108331a
Move LegalityAnalysis derived movesets out of class
...
LegalityAnalysis just does the analysis; no need to do unnecessary suggestion logic inside the object.
2020-12-24 16:36:50 -08:00
Kurt
749fef0ac6
Minor clean
2020-12-24 15:23:38 -08:00
Kurt
ba7ccaf5e6
Make EncounterTrade's version init-only
2020-12-24 15:23:26 -08:00
CanoeHope
3d400675dd
Add running shoes for DP + merge 1 RS event flag ( #3111 )
...
* Add running shoes flag for DP
Platinum & HGSS don't use a flag, sorry!
* Merge an identical RS flag
2020-12-24 13:08:21 -08:00
Kurt
43dd390f21
Split IContestStats, mark trades as records
2020-12-24 00:06:40 -08:00
Kurt
afdd2bd57e
Mark EncounterSlot/Static types as immutable record types
2020-12-23 20:40:59 -08:00
Kurt
0a3f45218f
Add OT gender check for N's Pokemon
...
Closes #3110 ty @FeralFalcon !
2020-12-23 18:03:05 -08:00
Kurt
93910df2c6
Use new switch statements
2020-12-23 17:14:38 -08:00
Kurt
736564be8c
Merge EncounterStatic4 back together
2020-12-23 12:15:49 -08:00
Kurt
324ce9d6ac
Minor clean
2020-12-23 09:34:29 -08:00
Kurt
e34c8df044
Revise some method signatures
2020-12-22 20:50:33 -08:00
Kurt
105e8b3818
Move version forcing for unavailable encounters to es4
2020-12-22 20:15:56 -08:00
sora10pls
dcd20a3649
Update PogoTypes and their respective requirements
...
For more context, see 62e84309d7
2020-12-22 15:20:15 -05:00
Kurt
d288a32ef5
Permit TR flags for "Can Relearn", split branching for TR checks
2020-12-22 09:10:10 -08:00
Kurt
53e0046a48
SWSH has some form entries with different base friendship (stunfisk)
2020-12-22 09:09:49 -08:00
Kurt
2bc7110884
Remove unnecessary overrides
2020-12-21 23:40:58 -08:00
Kurt
997e0751f3
Minor clean
...
Handle remainder of c#9 sugar
Fix some spelling mistakes
2020-12-21 23:37:07 -08:00
Kurt
514b60b447
Merge type check with usage in if statements
...
if x is y with z property true, then :D
2020-12-21 22:33:48 -08:00
Kurt
4890e0e952
Change move source requests from a bunch of bools to bitflag enum
...
little more sane & clear
2020-12-21 21:24:16 -08:00
Kurt
cd76e49388
Strengthen know move check
2020-12-21 19:50:56 -08:00
Kurt
351637900f
Downgrade swsh move memory verification severity
...
Some special encounters don't set the Relearn Moves, so we can't really check the memory-moves unless we somehow late-reject a matching encounter. Not really worth the effort to try and verify cosmetic mismatches; just tag them as Fishy.
2020-12-21 19:20:11 -08:00
Kurt
d225f3391a
Split up DataUtil to separate files
...
ya i know there's already a localizeutil class, whatever
2020-12-21 19:13:18 -08:00
Kurt
594db92ad0
Minor clean
...
Handle some stragglers
2020-12-21 17:48:08 -08:00
Kurt
98be0f6739
Target type'd new
2020-12-21 17:17:56 -08:00
Kurt
0303eada32
this is not that
...
clearer than before, yay
2020-12-21 17:12:39 -08:00
Kurt
1854d172bd
Add missing property set
...
lol oops
2020-12-21 17:12:21 -08:00
Kurt
68ee8cfcc4
Change setters to init only
2020-12-21 17:05:05 -08:00
Kurt
c6b702ae54
Create cosplay pikachu rather than clone
2020-12-21 17:04:37 -08:00
Kurt
133b8e6ba0
Rework Pokewalker/Dream Radar static encounters to own class
2020-12-21 17:04:09 -08:00
Kurt
5729718d68
Simplify ternary byte casts
...
No longer needed to explicitly cast, thanks c#9 !
2020-12-21 16:53:28 -08:00
Kurt
6d030831ab
Bump PKHeX.Core to C#9 language version
...
Add FrameworkUtil.cs which is compiled if the build isn't net5+, needed to support init setters & records
2020-12-21 16:52:11 -08:00
Kurt
b71df7b064
Allow shared moves from daycare as "can know move"
...
See b58f3bbc22
2020-12-21 16:49:42 -08:00
Kurt
8a0e7d90e0
Move Shiny override set to constructor
2020-12-21 14:40:34 -08:00
Kurt
b58f3bbc22
Add memory checks for GO->HOME transfers
...
Also add checks for the new memory types introduced in swsh
2020-12-21 14:22:24 -08:00
Kurt
62018cce1a
Unify concepts with different names
...
AltForm & Form & Forme => Form
GenNumber & Generation => Generation
Extract out SpeciesForm interface, and re-add IGeneration
For those using PKHeX as a dependency, this should be a pretty straightforward manual replacement... GenNumber and AltForm should be quick find-replace`s.
2020-12-10 20:42:30 -08:00
Kurt
7c4c1e0913
Minor prep clean
2020-12-10 19:49:53 -08:00
Kurt
ebc1cec3da
Extract breeding info to separate class
...
Remove splitbreed check in encounteregg2 generator; gen is always 2, never >=3, so the splitbreed check is never executed
2020-12-07 20:54:55 -08:00
Kurt
a13c2c852c
Add some comments, clean a little
2020-12-07 20:14:12 -08:00
Kurt
98ef0299b6
Add xmldoc for save meta/state tracking
...
Move some logic around to the more appropriate spot
2020-12-07 19:49:04 -08:00
Kurt
6f7602f2ad
Change signatures to use readonly if possible
...
Extract get/set team methods for battle video
2020-12-05 06:09:33 -08:00
Kurt
e72c80613e
Extract metadata/state tracking from SaveFile obj
2020-12-05 05:36:23 -08:00
Kurt
44473d1593
Add CHS armor trade OT name
...
Closes #3100 ty @FeralFalcon !
2020-12-03 12:50:07 -08:00
Kurt
9cd6d34f1d
Disregard ability bit checks if was shadow
...
only really pertains to xk3/ck3 and this doesn't really impact legality once transferred
2020-12-02 21:40:35 -08:00
Kurt
3d87070cc8
Require strict match for hidden ability encounters
...
Metagross collision with wild beldum
deferral API is kinda crude, hence these janky workarounds. Was originally intended to hold onto close matches when there's no more possible matches to check.
I think a priority-deferral while only retaining a single encounter bad (instead of a list of retries) may work better than the current setup, but that would require more abstraction
2020-12-02 21:39:45 -08:00
Kurt
d5bd36143e
Add language check for jp-blue gameversion, non-crystal female
...
Closes #3099
Ty @CarlosofKalos !
2020-12-01 16:55:10 -08:00
Kurt
e54e94a734
Don't waste alloc on clearing titlescreen slot
...
Revisiting #3098 #3086
2020-12-01 07:19:21 -08:00
CanoeHope
228042b111
Properly set empty slots to Trainer Card ( #3098 )
...
#3086
Was only partially addressed -- it was only done for Title Screen and not League Card too.
2020-11-30 21:38:15 -08:00
Kurt
c77461808d
Update Encounters8NestDist.cs
2020-11-30 21:38:03 -08:00
Kurt
5e32e64ac8
Handle MANôA and FALCçN SPA->FRE Gen2 Trades
...
Transporter remaps certain locale specific chars depending on the source ROM's version.
Since VC can trade between languages, there are 2 Spanish in-game trades that have glyphs subject to remapping, if it's transferred from a French game.
If the spanish trade is transferred from a french game, it must match the mutated string.
ty @Lusamine & helpers :D
2020-11-29 18:17:15 -08:00
Kurt
4f7e34dd47
Simplify slot init to reduce re-allocation
...
Slap in friend safari at the end during object construction; saves about 1KB of allocation on startup (lol)
Change internal array types to match object types, similar to other encounter-generation definitions.
2020-11-29 15:05:53 -08:00
Kurt
5bc5b611cb
Make RefreshAbility virtual, add overrides for gen3&5
...
Gen5: set HA bit if hidden ability
Gen3: prevent setting AbilityBit if it doesn't have 2 distinct abilities
Failed test now passes; all tests are passing!
2020-11-29 15:02:57 -08:00
Kurt
fefc38bacb
Minor debug optimizations
...
Trees:
- Only retain the objects needed after calculation
- Reduce size of TreeCoordinates and remove allocation penalty (now a struct)
No more warnings for Release compilation :D
2020-11-28 14:55:09 -08:00
Kurt
8778d8c6b7
Update 20.11.28
2020-11-27 21:40:36 -08:00
Kurt
3d6bb0ec00
Ignore bad evolution slots
2020-11-27 21:04:06 -08:00
Kurt
016ebb86ad
Update AbilityVerifier.cs
2020-11-27 20:44:44 -08:00
Kurt
8eb582c997
Move species/move names to parsesettings
2020-11-27 18:45:06 -08:00
Kurt
67b7d44ced
Fix accented-a/i for spanish in-game trade
...
I think this was a PKHeX issue that went unnoticed; originally, we didn't include the Á and Í chars in the dictionary.
I checked the transporter code:
The app maintains the international & japanese character tables, and depending on the ROM language, it may change a char to the language-specific entry. Refer to Bulbapedia's notes on the char tables for different languages:
https://bulbapedia.bulbagarden.net/wiki/Character_encoding_in_Generation_II
However, none of these char-changes are able to be reached with a legal char.
Á and Í (only accessible from the Spanish in-game trades) and the german 0xC0 && z <= 0xC6 chars are already in the international table. Every single difference in the VC1/VC2 table is an un-enterable char.
tl;dr -- all possible char codes are transferred fine with the VC2 table without extra language logic. We just keep out any inaccessible char (replaced with space).
2020-11-27 16:49:06 -08:00
Kurt
e9075436b7
Split off g7 transporter string handling
...
Add katakana / hiragana sensitive transferring
var check = CheckKata("ぐリお") == "ぐりお";
check should be true, dugtrio case !
2020-11-27 15:37:55 -08:00
Kurt
110d25d50e
Add placeholder duplicate relearn move check
2020-11-27 13:05:36 -08:00
Kurt
26d6143325
Indicate static encounters disallowed from marks
...
Includes gifts by default
2020-11-27 12:48:47 -08:00
Kurt
3680048c0a
Add local pickle loading if compiled as debug
...
Same dangers about "what is the root path"
Bump the level cap while we're here.
2020-11-27 12:14:13 -08:00
Kurt
c2867f7899
Move EvoBase to Evolutions folder
2020-11-27 12:06:52 -08:00
Kurt
6ebeb73293
Rename split legality class files
2020-11-27 12:01:30 -08:00
Kurt
fa36b70b29
Split Analysis into two separate classes
...
Will rename in next commit
2020-11-27 12:00:49 -08:00
Kurt
9b178fefe2
Xmldoc, minor tweaks
...
Move form-info logic from FormConverter to AltFormInfo; now FormConverter is entirely form=>string[]
Add a bunch of xmldoc
Make pogo no-end-date cmp agaisnt UTCnow rather than local now.
2020-11-27 11:51:02 -08:00
sora10pls
a437cbb9ca
Update FormConverter.cs
...
Display 0-9999 for Galarian Yamask formarg values.
2020-11-26 18:41:45 -05:00
Kurt
771086a222
Show all valid yamask-1 formarg values
...
from 319 (max HP-1) to 9999 (max saved value).
Causes a little bit of GUI lag when loading 10k items to the combobox; could be a number entry but meh. Lazily allocate the 10k strings; wait until it's requested.
2020-11-24 12:40:56 -08:00
Kurt
d6294d42f7
Update SAV1.cs
2020-11-24 10:51:31 -08:00
Kurt
1bde155c4d
Move tolerance permissions to pget
2020-11-23 16:25:34 -08:00
Kurt
21669d3f77
Update EncounterTrade1.cs
2020-11-23 13:24:02 -08:00
Kurt
624c65b937
Update EncounterMovesetGenerator.cs
2020-11-23 12:53:32 -08:00
ShadowMario3
80c0d73e18
Fix order of RB Ingame Trades ( #3095 )
...
* Fix Gen1 traded JPN Dugtrio nickname
* Fix order of RB Ingame Trades
2020-11-23 10:29:59 -08:00
ShadowMario3
ba8b8f706b
Fix Gen1 traded JPN Dugtrio nickname ( #3094 )
2020-11-23 08:44:15 -08:00
Kurt
69ad16c30f
Remove has move check for static encounters
...
Event Move special encounters are yielded after static encounters by the generator, so this iterator-picker will never behave as originally intended.
Since the encounter generator works fine for these events in its current form, we can just remove it. If we need to prefer GB era events before static, then we'd reinstate the priority and move the GenerateGBEvents before the static yielder.
bla bla bla this is just a cleanup from old preference code where we wanted to recognize the encounter as an event/trade as they're more recognizable. We just want to track the progress of the iterator so that g1/g2 follow a merged yielding order
2020-11-22 17:03:30 -08:00
Kurt
37782f0ce4
Consolidate EncounterTrade1 level objects
...
Adds Nickname checks, thanks @ShadowMario3 for grabbing these into separate text files from Bulbapedia.
I reordered all the encounters to match Bulbapedia; each level is denoted if different if it can be sourced from RBY.
2020-11-22 16:19:03 -08:00
Kurt
e701bf2725
Add Frostpoint Field for dens 175/176
...
Closes #3091
2020-11-20 18:20:00 -08:00
Kurt
dba7dc9911
Forest distribution raids
2020-11-19 16:06:43 -08:00
Kurt
ce17fd4050
Minor tweaks
...
Enc static 4 should check met location, since locations are flexible for roamers
Simplify expressions
Disallow 0 moves in "needed moves" list.
2020-11-19 15:34:06 -08:00
Kurt
9d8b528437
Update EncounterMovesetGenerator.cs
2020-11-19 07:33:35 -08:00
Kurt
0af0c05bac
Update go slot list yield and move fetch
2020-11-18 21:34:40 -08:00
sora10pls
f8dd2cf977
Update PogoType.cs
2020-11-18 21:05:46 -05:00
zzzzRuby
34321ee52c
Add some event flag of gift pokemon for Platinum version ( #3088 )
2020-11-18 08:28:38 -08:00
sora10pls
3b66e2e9b1
Add min. Level requirement for PogoType FieldP
...
Mew, Celebi, Jirachi and Victini (one-time Mythicals) require Lv. 15 with at least 10/10/10 IVs.
2020-11-17 21:56:47 -05:00
Kurt
4a8ad8b149
Expose raw evolution chain methods
2020-11-17 14:23:15 -08:00
Kurt
037db7b8a3
Add xmldoc for new obj/func related to GO legality
2020-11-16 21:17:45 -08:00
Kurt
e6a60ec210
Add single day tolerance to end of appearance period
2020-11-16 15:41:39 -08:00
Kurt
26e0f31c95
Include date legality parameters for LGPE
...
Extract common abstract class for GO transferred encounters
Clamp minlevel instead of met level
Add optional parameter for GO IV randomization
Update go legality binaries with latest
2020-11-16 15:32:22 -08:00
Kurt
770f7584c9
Behavior tweaks
2020-11-16 14:33:21 -08:00
Kurt
f25a7c7cf2
Apply valid ball on create
2020-11-15 20:51:07 -08:00
Kurt
d393773fb0
Update EncounterSlot8GO.cs
2020-11-15 18:32:30 -08:00
Kurt
d7dc69104b
Fix year check
...
still testing
2020-11-15 18:12:58 -08:00
Kurt
0ba2f6a53a
Update EncounterSlot8GO.cs
2020-11-15 17:44:13 -08:00
sora10pls
a4125472f4
Add PogoType for GO Battle League Mythicals
...
Covers Darkrai and any other future Mythical rewards from GBL.
2020-11-15 18:48:33 -05:00
Kurt
b1ae53ec63
Set empty slots if party not full
...
Closes #3086
2020-11-15 14:31:33 -08:00
Kurt
b6da6c1207
Add raticate form list for gen8+
2020-11-15 08:31:58 -08:00
Kurt
760adb4945
Check date legality
2020-11-15 08:31:48 -08:00
sora10pls
d5e1447f7c
Add additional PogoType enums, add min Lv/IVs
2020-11-14 19:36:07 -05:00
Kurt
cb57e807ce
Update EncounterSlot8GO.cs
2020-11-14 15:33:32 -08:00
Kurt
377ec02c9b
Minor clean
...
Remove GoPark as a "Type" since it is now baked into the encounter object type
2020-11-14 12:55:30 -08:00
Kurt
ad9e9ddfa0
Relocate go encounter maintenance outside of pkhex.core
...
PKHeX.Core now accepts generated pkl binaries from PoGoEncounterTool (PGET).
Refer to pporg's repo. This will be treated like event data; occasionally updated.
2020-11-14 12:51:24 -08:00
Kurt
5e22c119be
Continued refinements
2020-11-13 08:20:51 -08:00
Kurt
67a796e982
Update EncountersGO.cs
2020-11-12 22:08:13 -08:00
Kurt
82c016639d
Update EncountersGO.cs
2020-11-12 22:00:09 -08:00
Kurt
f366d27bdb
Revert Mothim form
2020-11-12 22:00:02 -08:00
Kurt
3e4d685d37
Update EncountersGO.cs
2020-11-12 20:50:39 -08:00
Kurt
01c597cba7
GO checks round 2
2020-11-12 20:41:01 -08:00
Kurt
7db746b9d4
Downshift types to remove curse type from g4 personal vals
...
kchart for gen4 games now shows the correct typings
2020-11-12 15:46:12 -08:00
Kurt
98f602fc87
Require tracker for HOME gifts too
2020-11-11 21:27:33 -08:00
Kurt
72e209a156
Split some methods, handle flow for go enc
2020-11-11 21:22:13 -08:00
Kurt
edd9ace51e
More pogo rules
2020-11-11 21:03:47 -08:00
Kurt
df5ebd1f54
Minor clean
...
Resolve some messages
2020-11-11 21:01:41 -08:00
Kurt
915727ed67
Add g-kanto formes
...
Probably will refactor things when shiny/ball legality is detailed
2020-11-11 13:27:08 -08:00
sora10pls
532cee11f7
Update SWSH symbol encounter binaries
...
For context, see 9059ea660d
2020-11-11 08:46:59 -05:00
Kurt
93ff841a1d
Update EncounterMovesetGenerator.cs
2020-11-10 22:17:23 -08:00
Lusamine
86096201e8
Add Route 3 -> Motostoke City crossover ( #3085 )
...
Not related to the location glitch; whistle to lead Zigzagoon.
Co-Authored-By: tehvik <40148574+tehvik@users.noreply.github.com>
2020-11-10 22:11:19 -08:00
Kurt
7654ce2123
Add initial legality checks for GO->HOME transfers
...
took me less than an hour to do these changes, and i can flag bad form movesets no problemo
Expect tightening of restrictions (ball, level, shininess) later
if someone wants to curate met date restrictions, go ahead!
2020-11-10 22:10:53 -08:00
ShadowMario3
7b2f76b621
Fix issue #3083 ( #3084 )
2020-11-07 22:48:46 -08:00
Kurt
cb24c20a44
Remove relearn suggestion logic from relearn move verification
...
Sure it's nice to cache a valid array, but the amount of logic was small enough that it can be done with 10 lines of code rather than at the end of each verification method.
Reduces parameter passing & removes 1 field from the info object, as relearn suggestions are only done rarely after legality checking.
Allows for a simpler api surface (pkm, encounter) rather than a bigger object reference
2020-11-07 12:25:15 -08:00
Kurt
227efc1fc3
Only allow checking if lvl60 when lvl<60
2020-11-05 21:17:13 -08:00
ShadyRelapse-PP
b2ec677b09
Added Bill's Eevee Gift and Route 36 Sudowoodo flags in HGSS ( #3080 )
2020-11-05 14:08:33 -08:00
CanoeHope
a569d91c5e
Add CurrentDex Block ( #3081 )
...
Block-Key was present since IoA (1.2.0) update.
2020-11-05 14:08:04 -08:00
Kurt
ae85097c2d
Allow go shiny xor!0
...
Thanks @Lusamine for bruteforce testing to confirm
2020-11-04 20:55:47 -08:00
Kurt
c5b6c20c7b
Update MarkVerifier.cs
2020-11-04 12:58:56 -08:00
Easy World
fea9455cad
Update MessageStrings_zh.txt ( #3077 )
...
Update MessageStrings_zh.txt
2020-11-04 09:06:03 -08:00
Kurt
23e765e550
Add opening for rental team dumps
...
Dunno why anyone would want these, lol
Closes #3074
2020-11-03 20:12:42 -08:00
Kurt
62073f5fd9
Update GP1.cs
2020-11-03 19:28:41 -08:00
Kurt
8b25af5f85
Enforce xor=0 for go shiny transfers
...
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2020-11-03 18:56:58 -08:00
Kurt
d78424a3ad
Hande Ability Patch edge case
...
4 legends have A/A/H on form-0, and B/B/B on form-1. You can get a form-1 by applying the patch on the form-0, and changing it to form-1 will retain the AbilityNumber=4.
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2020-11-03 18:48:29 -08:00
Kurt
c60ae57ab0
Handle Ranked Battle Series 7 permissions
...
Closes #3070
Exclude all classified as Legends; everything else is permitted assuming it can exist in SW/SH.
Co-Authored-By: Chris <28743231+Bappsack@users.noreply.github.com>
2020-11-02 16:38:00 -08:00
Kurt
51c872f4e1
Move more logic closer to where it's used
2020-11-02 14:46:26 -08:00
Kurt
7cb6ee0060
Move some static arrays closer to where they're used
...
Split EvolutionRestrictions to its own class
Can probably refine things further to clamp down access to these arrays
2020-11-02 13:11:51 -08:00
Kurt
b4c9e90c28
Enhance transparency in failed generator test
2020-11-02 13:03:08 -08:00
Kurt
a6b704b887
Update WC8.cs
2020-11-01 23:29:53 -08:00
Kurt
d257ad1b1a
Update MoveTutor.cs
2020-11-01 19:59:26 -08:00
Kurt
db71d689b2
Number fused slots, check backing byte[] for slot find
2020-11-01 18:40:10 -08:00
Kurt
a2fb9c48eb
Add fused calyrex block
2020-11-01 17:55:52 -08:00
Kurt
64a6214b82
no nuts here
2020-11-01 16:05:55 -08:00
Kurt
24346cc4e1
Update EncounterTrade1.cs
2020-11-01 15:58:42 -08:00
Kurt
4db6661ffd
Handle JP-Blue trade quirks + stadium2 trade bypass
...
Co-Authored-By: ShadowMario3 <36941677+ShadowMario3@users.noreply.github.com>
2020-11-01 15:27:54 -08:00
Kurt
ef7d1e2af5
Add lair start seed
...
ty zak
2020-11-01 14:40:16 -08:00
ShadowMario3
7659b57c4f
Corrected catch rates for the Haunter and Graveler trades. ( #3071 )
...
* Fix catch rate for JP Blue trade evolutions
2020-11-01 14:39:49 -08:00
Lusamine
d5e5df802e
Add Ballimere Lake -> Lakeside Cave crossover ( #3069 )
2020-10-31 22:29:08 -07:00
Kurt
b8023605ad
Update 20.10.31
2020-10-31 12:01:01 -07:00
Kurt
28767df0fb
Split gamesync details to interface
2020-10-31 11:43:57 -07:00
Kurt
15348d3fdd
Bypass crustle flag
2020-10-31 11:43:17 -07:00
Kurt
c9587c16c7
Adapt dropped/opened PKM to currently loaded savefile
...
Closes #3067
2020-10-30 22:44:08 -07:00
Kurt
c9ee07e9b9
Update form for friendsafari vivillon
...
Closes #3066
2020-10-30 22:23:13 -07:00
Kurt
b87975ed29
Merge branch 'master' of https://github.com/kwsch/PKHeX
2020-10-30 20:31:14 -07:00
Kurt
975c4f8a4a
Prevent nickname change for fateful encounter trades
...
Handle empty nickname trades for gen6+ assuming there's a nickname
2020-10-30 20:31:12 -07:00
Kurt
d7042fb19e
Inline parameter passing
...
nothing passes anything, so swsh is default
shared raids yay
2020-10-30 19:56:37 -07:00
Matt
cd42abd915
Add Split-Decision Ruins save block key ( #3065 )
2020-10-30 13:17:25 -07:00
Kurt
a33120c93e
Boo
...
Poor Gourgeist-0&2 being left out of the 60-shiny club...
Mimikyu is a repeat from the Pikachu Mass Appearance in early August.
2020-10-29 19:34:17 -07:00
Kurt
7e93bcfb61
Handle contest ribbon deadlock scenario
...
Contest Star needs all 5 ribbons; all 5 ribbons require contest star. Incrementally adding will fail on the last ribbon. Try setting both at the end.
When removing ribbons, attempt to remove the pair first, as the incremental removal will fail each time (contest star last).
#3061
2020-10-29 19:11:03 -07:00
Kurt
62d5375f67
Update EncounterStatic8U.cs
2020-10-29 08:52:38 -07:00
Matt
1b6a8d3ff6
Document Galarian Star Tournament save blocks ( #3060 )
2020-10-28 12:46:34 -07:00
Lusamine
5e92b7b5f7
Add crossover and static encounters for CT ( #3050 )
...
* Add crossover encounters for CT
* Old Cemetery -> Giant's Foot
* Add some static encounters
* Add Frostpoint Field -> Freezington crossover
2020-10-27 22:08:49 -07:00
CanoeHope
37053fb599
Add CrownDex complete to Trainer Card ( #3058 )
...
With this, all Dex markers can be displayed on your League Card as long as your save is from update 1.3.0. Expansion Pass DLC is not required.
2020-10-27 18:06:49 -07:00
Kurt
cb545781b0
Split off es5dr to separate file, require never shiny
...
Shiny check was mistakenly forgotten :)
2020-10-27 18:03:45 -07:00
Kurt
2303077ed1
Expose move source classes for api purposes
...
Not guaranteeing the method signature will be stable forever, but allows people to reference the public methods inside.
Closes #3056
2020-10-27 09:25:33 -07:00
Kurt
5b313210ed
Handle SWSH gender strings same as LGPE
...
See 6a0a6aa82a
for more context
2020-10-27 09:24:06 -07:00
CanoeHope
e22be71a26
Added one more Max Lair Block ( #3055 )
...
So I said that 0xF26B9151 was the first Max Lair Pokemon entry saved in my previous commit which turned out to be wrong and was in fact the Pokemon that is to be hinted by Peonia. Apologies for that mess up.
2020-10-26 21:24:04 -07:00
Lusamine
cce6402608
Fix incorrect offset for first Max Lair saved note ( #3053 )
2020-10-26 07:42:40 -07:00
Easy World
be7b586d7a
Update Chinese translations ( #3052 )
...
* Update lang_zh.txt
* Update LegalityCheckStrings_zh.txt
2020-10-26 07:42:00 -07:00
Kurt
82c579da82
Disallow E birth island deoxys with JP origin
...
Closes #3040
Ty @Atrius97 !
"The Japanese Aurora Ticket was only distributed in Summer 2004, before Emerald (Sept 16th 2004) was released. The software at that time had no support for Emerald games."
2020-10-25 21:42:14 -07:00
CanoeHope
36a9ef05db
Added more Tundra Blocks ( #3051 )
...
Max Lair related.
2020-10-25 20:54:15 -07:00
ReignOfComputer
43d031604f
Static Encounters Update ( #3044 )
...
Alakazam in the Insular Sea (on the Isle of Armor)
Zapdos at Watchtower Ruins (in a Wild Area)
Zapdos at West Lake Axewell (in a Wild Area)
Moltres in the Soothing Wetlands (on the Isle of Armor)
Moltres on Challenge Beach (on the Isle of Armor)
Moltres in Loop Lagoon (on the Isle of Armor)
Dragapult in the Giant’s Bed (in the Crown Tundra)
Nidorina in Frostpoint Field (in the Crown Tundra)
Glalie on Snowslide Slope (in the Crown Tundra)
2020-10-25 18:10:07 -07:00
CanoeHope
5722905e5d
Added Crown Tundra Block Data ( #3047 )
...
The Tundra League Card block literally only stores the Normal and Rare Peony League Cards, and nothing more.
2020-10-25 18:09:23 -07:00
Kurt
61fc0c7504
Update SaveBlockAccessor8SWSH.cs
2020-10-25 18:08:52 -07:00
Kurt
0aa95c42c0
Remove 0x42 from extrabytes
...
all values can be modified via the GUI, no need to expose as raw value.
2020-10-25 18:08:36 -07:00
Kurt
bb60b140e2
Allow Gen8 balls on gen3-species eggs originating in Gen8
2020-10-25 18:07:13 -07:00
Kurt
2bb399c8e7
Check egg state before allowing gmax toggle
...
eggs can't toggle gmax state
2020-10-25 13:41:49 -07:00
Kurt
9264150b2b
Add shiny1 batch editor, add ctrl-shiny (1)
...
GUI: Ctrl click star to get shiny1, shift click for shiny0, any-click to get random
make Alt click modify the SID instead of PID
add SetShinySID shiny type
2020-10-25 10:42:48 -07:00
Kurt
36051e0f82
Minor clean
2020-10-25 10:02:52 -07:00
Kurt
681d64d007
Update AltFormInfo.cs
2020-10-25 09:35:19 -07:00
Kurt
608e0bb88e
Update AltFormInfo.cs
...
Static species enum ref for simplicity
2020-10-25 09:30:42 -07:00
Kurt
691f12ae72
Extract battle form logic into a separate class
...
format is included in the method call to futureproof, not currently necessary
2020-10-25 09:15:16 -07: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
b492d93f39
Re-add unavailable split evolution cases
...
Diff to compare binaries for split evo cases, diff output below:
025: Pikachu
08 00 53 00 1A 00 00 00 08 00 53 00 1A 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
08 00 53 00 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
102: Exeggcute
08 00 55 00 67 00 00 00 08 00 55 00 67 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
08 00 55 00 67 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
104: Cubone
04 00 00 00 69 00 00 1C 04 00 00 00 69 00 01 1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
04 00 00 00 69 00 00 1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
109: Koffing
04 00 00 00 6E 00 01 23 04 00 00 00 6E 00 00 23 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
04 00 00 00 6E 00 01 23 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
439: MimeJr
15 00 66 00 7A 00 00 00 15 00 66 00 7A 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
15 00 66 00 7A 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2020-10-24 21:32:48 -07:00
Kurt
90b760b9bf
Unban porygon capture-breed ball for eggs
...
Shows up in dynamax adventures for capture
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2020-10-24 20:46:43 -07:00
Kurt
babf5a48ca
Bounds check species name on report summary
2020-10-24 20:22:08 -07:00
Kurt
6079f53d9a
Handle unfused Calyrex with fused-TR flags
...
Thanks CC6174 # 4880 (Discord) !
2020-10-24 19:10:59 -07:00
Kurt
7e8a1a58d1
Set gender on pokdex registration
...
Closes #3045 , ty @xXAquaNightXx !
2020-10-24 15:42:17 -07:00
Kurt
3e1bc1f59d
Show extra slots in the "Other" tab
2020-10-24 14:57:53 -07:00
Kurt
919f3f2893
Update RaidSpawnList8.cs
...
Co-Authored-By: Leanny <1884062+Leanny@users.noreply.github.com>
2020-10-24 12:38:33 -07:00
ReignOfComputer
29408e3ada
Static Encounter Updates ( #3043 )
2020-10-24 12:33:14 -07:00
Kurt
1d596225e5
Update 20.10.24 - Crown Tundra
...
Update mgdb with latest from the Events Gallery.
Handle nullable warnings for release build.
2020-10-24 11:59:35 -07:00
Kurt
5cdf8db912
Update GUI localization files with latest available strings
2020-10-24 11:42:29 -07:00
Kurt
0c8966796e
Add wild area strong encounters for Crown Tundra
...
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
Co-Authored-By: Chris <28743231+Bappsack@users.noreply.github.com>
Co-Authored-By: ReignOfComputer <2667537+ReignOfComputer@users.noreply.github.com>
Co-Authored-By: Archit Date <architdate@gmail.com>
2020-10-24 11:24:01 -07:00
Kurt
2e4af1afc5
Update legality comparisons for Crown Tundra
...
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2020-10-24 11:16:01 -07:00
Kurt
0741c8c035
Handle Calyrex TR bug
...
Co-Authored-By: ReignOfComputer <2667537+ReignOfComputer@users.noreply.github.com>
2020-10-24 11:12:25 -07:00
Kurt
9b2d7c0341
Minor tweak
...
no functional change, just use Generation instead of recomputing
2020-10-24 11:11:53 -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
8a2a25fde1
Update data structures for Crown Tundra
...
Adds a wild area Raid den detail editor like mainland/armor raids.
2020-10-24 11:09:29 -07:00
Kurt
799dbde1a2
Add Nest Data for Crown Tundra
...
Co-Authored-By: SciresM <8676005+SciresM@users.noreply.github.com>
2020-10-24 11:06:05 -07:00
Kurt
fe433f3859
Update Legality Binaries for Crown Tundra
...
Co-Authored-By: SciresM <8676005+SciresM@users.noreply.github.com>
2020-10-24 10:54:19 -07:00
Kurt
24bd796302
Fix erroneous legality message with 0IV
...
Revised string now uses string format, will be in the new localization text update.
2020-10-24 10:52:22 -07:00
Kurt
c29f5fe28b
Update Game Localizations for Crown Tundra
2020-10-24 10:49:03 -07:00
Kurt
8c4b7e9060
Prefer form match for suggested encounters
...
Closes #3038
2020-10-19 11:54:59 -07:00
Kurt
3dd47dc898
Check ability bit for gen3 based on PID
2020-10-19 11:36:57 -07:00
Kurt
d35766649b
Fix initial blank sav language load
...
(uint)-1 <= max now returns false, causing it to fall back to english.
2020-10-18 19:59:22 -07:00
Kurt
14a678b57d
Revise save detect logic flow
...
Double-Clicking SAV tab no longer hides any error message; now shows it like the auto-detect would.
Move high-level detection method to Core
2020-10-18 19:49:46 -07:00
Kurt
83171ab133
Change shininess check
...
Encounter definitions should be marked as Never Shiny or not in their definition, rather than assuming
2020-10-18 16:05:01 -07:00
Kurt
cce4707604
Enable nullable for winforms csproj ( #3037 )
...
Handle all warnings
obviously the usage of null! could potentially be avoided if the object init wasn't such garbage, but here we are with years of old junk and lack of abstraction in the GUI project
2020-10-18 11:02:39 -07:00
Kurt
a4baec9939
Check shiny state for GB Era events
2020-10-18 10:57:18 -07:00
ShadowMario3
f6476a4737
Add Gen 1 North American Mew Events ( #3036 )
2020-10-18 10:01:55 -07:00
Kurt
bfb9815782
Add PID generating loop for criteria nature
2020-10-18 10:00:44 -07:00
Kurt
7a01b1249c
Minor clean
...
Handle more messages, add more xmldoc
2020-10-18 09:43:41 -07:00
Kurt
6239f59b9d
Inline checksum logic for gen3, simplify else case
2020-10-18 09:16:52 -07:00
Kurt
c09fb9a0ec
Simplify "Flag" field in move source tracking
2020-10-17 13:40:12 -07:00
XxPhoenix1996xX
6f683ba618
Update LegalityCheckStrings_es.txt ( #3033 )
2020-10-17 07:58:07 -07:00
Kurt
38b03a42b6
Fix hide flag get/set
...
Closes #3030
2020-10-16 16:12:42 -07:00
Kurt
1bd3ec79cf
Misc tweaks for suggesting moves when IsEgg
...
Closes #3032
Don't suggest tutor moves for current moves if it is an egg
2020-10-14 18:55:30 -07:00
Kurt
e984f71d82
Fix PID mutation for VC shiny transfers
2020-10-13 22:43:43 -07:00
Kurt
2e8586f364
Read swarm slots correctly
2020-10-13 15:37:18 -07:00
Kurt
367859c536
Make MoveEgg / MoveTM internal methods public
...
Closes #3031
2020-10-13 11:22:13 -07:00
Kurt
7b6f30b779
Handle overflow case
...
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2020-10-12 14:37:08 -07:00
Kurt
a71940bf75
Update CaptureRecords.cs
...
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2020-10-12 14:34:44 -07:00
Kurt
0a6534a208
Extend individual transfer count to 999mil
...
Closes #3028
Thanks @CarlosofKalos !
Setting 9999 for both on Rattata; capturing the 10,000th didn't increment, but transferring the 10,000th did.
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2020-10-12 14:16:55 -07:00
Kurt
1524093099
Revise g5 pid bit check for forced PID statics
...
Closes #3027
Roamers: Get PID generated externally
NPokemon: Get PID from a fixed value
Forced (Anti)Shiny: Get PID altered
Thanks @LegoFigure11 && Princess Emily (discord 4650) !
2020-10-12 11:04:29 -07:00
Kurt
3b4fd49af9
Catch any exception, show message in result
2020-10-12 10:42:26 -07:00
Kurt
d66c406751
Update SAV1StadiumJ.cs
2020-10-10 15:28:34 -07:00
Kurt
f821d698fe
Update SAV1StadiumJ.cs
2020-10-10 15:11:02 -07:00
Kurt
2e82636f1e
Fix slot writes
2020-10-10 14:59:51 -07:00
Kurt
dabdb31c74
Placeholder empty items
2020-10-10 14:18:08 -07:00
Kurt
ea81bb2c1e
Add swsh items based on DLC1 metadata
2020-10-10 14:14:02 -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
078322f146
Fix logic to fix a broken raid test
2020-10-10 12:59:31 -07:00
Kurt
b97bee4412
Use correct filesize reference
2020-10-10 12:50:57 -07:00
Kurt
a0a8dd0f91
Handle Ability Patch changed abilities ( #3024 )
...
Handles conditions when Ability Patch has been used to modify the PKM's ability => hidden ability.
Per the description, it goes 1/2=>H, not the other way around.
Verify ability bit first, as mystery gift case handling skips the bit check logic :P
2020-10-10 12:30:57 -07:00
Lusamine
e6e3166f13
Add Comfey from Honeycalm Island ( #3023 )
2020-10-10 10:07:17 -07:00
ShadowMario3
ba4eadfde9
Add location for Stadium 2 Events ( #3022 )
...
* Fix game version for International Gen 2 events
* Add Stadium 2 Event location
2020-10-10 08:13:54 -07:00
Kurt
7bb51f4da2
Update 20.10.10
...
Update event database with latest from the event gallery repo :)
This is the last release prior to any release for Crown Tundra.
2020-10-10 00:30:21 -07:00
Kurt
944c47326e
Exclude unobtainable SOS encounters
...
Rather than do backtracking logic to see if the slot can be yielded, don't acknowledge the slot exists if it can't be yielded.
See pk3DS commit where we check EscapeRate for the base wild slot prior to adding it to the exported slot list.
2020-10-10 00:29:53 -07:00
Kurt
79f60d2236
Update SAV1Stadium.cs
2020-10-09 22:11:32 -07:00
Kurt
bb65f2d2c2
Show trainer name&id for registered Stadium teams in dropdown
2020-10-09 20:31:13 -07:00
Kurt
6b1fff05bd
Revise gen6/7 HA banlist to account for altforms
2020-10-09 20:04:09 -07:00
Kurt
20bb2c6a49
Add some species to HA banlists (same as regular)
...
Gen6/7 have some species that can't be obtained with A4. Kinda flew under the radar due to their HA being the same as the other abilities.
2020-10-09 17:09:07 -07:00
Kurt
dfbafee506
Add call rate check for SOS hidden ability
...
Probably could just yeet the encounter data for these impossible-to-reach SOS's since they're duplicate with the non-SOS slots, but whatever.
2020-10-09 15:38:23 -07:00
Kurt
945ef24142
Add SK2 to batch editor supported types
...
Could do it via reflection but ehh
2020-10-09 14:44:12 -07:00
Kurt
706618d331
Force Hidden Power IVs for format2 imports
...
Closes #3019
2020-10-09 09:52:29 -07:00
Matt
a0d97f6f89
Unban GO Shiny Vulpix ( #3020 )
...
Autumn Event 2020
2020-10-09 08:27:48 -07:00
Kurt
9d21e5acdd
Add GUI for Capture Records
...
Accessible from Pokedex window
ur welcome matt
2020-10-08 18:06:29 -07:00
ShadowMario3
559ec76812
Fix game version for International Gen 2 events ( #3018 )
2020-10-08 15:57:19 -07:00
Kurt
7cb484834c
Handle max possible level for transferred & evolved-to-new-species
...
A Gen3 level 26 sylveon with a met level of 25 in Generation 8:
Transferred as Eevee at level 25, and leveled up to 26=>Sylveon
If we use met_level (25), we need to decrease 1 as we evolve. No, use Current Level and ensure the max isn't above the bare minimum (met level)
2020-10-08 15:35:50 -07:00
Kurt
804b85ea33
Add CaptureRecord block interaction
...
No GUI
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2020-10-08 15:28:25 -07:00
Kurt
3686ee9ec4
Set suggested Encounter Type on Met Location click too
...
Closes #3010
2020-10-08 15:01:23 -07:00
Kurt
ea9076ad4c
Account for revised evolution conditions for gen4 new-evos in gen8+
2020-10-08 14:28:34 -07:00
Kurt
9e4ec32e94
Revise nickname check; language-source retained in gen8+
2020-10-08 14:14:59 -07:00
Kurt
b4eeaf847c
Disallow lang-traded eggs mismatching nickname on gen8+
...
Starting in Generation 8, hatched language-traded eggs will take the Language from the trainer that hatched it.
Transferring from Gen7->Gen8 realigns the Nickname string to the Language, if not nicknamed.
2020-10-08 14:01:36 -07:00
Kurt
6efe279ffe
Refresh nickname on transfer
...
Mimics official behavior
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
2020-10-08 14:00:17 -07:00
Kurt
478cb33788
Unshorten parameter names
...
lang->language
nick->nickname
2020-10-08 13:59:58 -07:00
Kurt
0de76b57b1
Handle incorrect bred stunfisk local form value
...
The game uses 0x5E if 0x5A+everstone, otherwise it uses 0x58
For determining the seed species-form, we want to use everstone breeds as that resolves to the correct species-form values.
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
Co-Authored-By: Marty-D <1645989+Marty-D@users.noreply.github.com>
2020-10-08 13:12:25 -07:00
ShadowMario3
482dbf0b17
Update Encounters2.cs ( #3017 )
...
Fix OT for PCNY eggs
2020-10-08 08:32:18 -07:00
ShadowMario3
9516458491
Changed es1e to allow multi-OT ( #3016 )
...
* es1e allows multi-OT, merged Stadium Psyduck OTs, added Yoshira Mew
* fixed spacing on Gen 1 event OTs
2020-10-08 07:10:10 -07:00
ShadowMario3
7aac80769b
Update Encounters2.cs ( #3015 )
...
Met + Current level data for non-Egg PCNY Pokémon and Egg legality for PCNY Pokémon fixed.
2020-10-07 18:42:14 -07:00
Kurt
e3ef9bbbff
Add current level property for met:X current:Y
2020-10-07 15:35:12 -07:00
Kurt
dad01cb522
Check egg state, reduce verbosity for language type
2020-10-07 15:28:58 -07:00
ShadowMario3
a81e675d26
Update Encounters2.cs ( #3014 )
...
Added the remaining PCNY events. Still need to fix shiny Pokemon where Met Level is 5 but current level is 40, 50, or 70 depending on Pokemon).
2020-10-07 11:43:34 -07:00
Kurt
5d40009a0c
Add multi-OT for es2e, apply special details on enc->pkm
2020-10-07 10:36:28 -07:00
Kurt
61dc9a45ae
Revise Shadow state detection
...
Closes #3012
2020-10-06 22:36:27 -07:00
ShadowMario3
4bae0e823a
Update Encounters2.cs ( #3013 )
...
Started to add some Gen 2 PCNY Event Pokemon and fixed Stadium 2 events.
2020-10-06 22:12:05 -07:00
Kurt
6616996905
Relocate N OT logic
...
Make Legal.cs not care about encounter data :)
2020-10-06 20:09:14 -07:00
Kurt
fe7a4df17e
Clean out some gb era version flagging
2020-10-06 20:05:38 -07:00
Kurt
6e1cbfcfe5
Split GB event types and segregate per VC/GB
...
Handle yielding in the moveset generator as well
Future commits will trim down unused values/abstractions; probably can get all the stadium stuff handled innately
2020-10-06 19:35:03 -07:00
Kurt
3ab824d306
Refactoring
...
Condense some logic
2020-10-06 17:54:17 -07:00
ShadowMario3
1681fc776b
Update Encounters2.cs ( #3011 )
...
Fix Sing Pichu index number.
2020-10-06 10:59:18 -07:00
Kurt
d2fed0d66c
Set party stats on pkm create
...
Party stats are stored in box format
2020-10-05 09:04:32 -07:00
Kurt
aa43904869
Add stad2 boxnames, registered flag handling
2020-10-05 08:29:17 -07:00
Kurt
978305b45e
Fix pp up offset reads
2020-10-04 15:45:21 -07:00
Kurt
d4452ce3af
SK2 coerce to load to a hint language
...
This format won't be supported cleanly, so let's just try to allow language detection to work as best as it can without storing metadata in the SK2 bytes.
2020-10-04 14:42:48 -07:00
Kurt
f4f25da986
Add IsEgg for SK2
...
Stored at 0x1E
2020-10-04 14:15:29 -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
36827f795d
Remove gen1 flagged moves if they can originate from egg
...
Revises the tradeback status to remove any index that could have been sourced from egg moves instead.
really should refactor this TradebackStatus away, but Move validation still remains one of the un-refined parts of the legality checks :P
2020-10-04 12:21:05 -07:00
Kurt
757456bf06
Move reset action to class
2020-10-04 12:08:16 -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
f8de9fe1bf
Minor tweaks
...
now that stadium saves all expose registered teams, can just call from the parent class
rental sk2's have no TID; add that to the requirement to not get flagged for missing OT
2020-10-04 09:26:15 -07:00
Kurt
3fd6817a42
Refactoring: Finalize Stadium savefile logic
...
Extract common abstract class for shared logic
Clean up property/field/method ordering to be consistent and logical (roughly: attributes, constructors, state management, retrievable values, static methods)
Apply default language OT name
2020-10-04 09:23:16 -07:00
Kurt
d13b893351
Use PKHeX as blanksav language
...
Closes #3009
Make QRPK7 implement IEncounterable and remove hardcoded PKHeX strings
Let force hatching for WC3 eggs try to hatch from the savefile's language, then revert to english if failed to set an OT.
2020-10-04 08:59:33 -07:00
Kurt
8a7ed99689
Fix s1 team export
...
oops
Add a tostring override to help visually debug
2020-10-04 08:06:44 -07:00
Kurt
fbc4c5038a
Set box metadata on write
...
Fix group export for 1U to exclude the right set of teams
0J now shows the correct amount of boxes & teams (halved)
2020-10-04 07:51:55 -07:00
Kurt
5853888020
Minor Stadium behavior enhancements
...
Use underscores for enum for ToString replacing with spaces
Don't flag empty-OT as SK2; Stadium0/1 use the "TRAINER" as rental, but leave it blank for SK2.
Don't set any terminators for an OT string if the string is empty; just wipe the buffer.
2020-10-03 21:56:57 -07:00
Kurt
262561d5d1
Fix stad1 missing team types
...
off by 1 (8=>9, and EN has unused interstitial teams).
Fix last-viewed-slot indication color tracking
2020-10-03 19:48:56 -07:00
Kurt
7efaa5ab71
Minor clean
...
collapse some expressions
handle some compiler messages
2020-10-03 18:59:36 -07:00
Kurt
816f24e3db
Add Misc pkm array viewer for Stadium saves
...
Readonly slots
Things could be expanded on to use interfaces and wrappers for a "SlotReference" and properties for readonly.
But that's kinda unnecessary
2020-10-03 18:22:29 -07:00
Kurt
bca8a80b39
Minor clean
2020-10-03 17:09:22 -07:00
Kurt
b242aed429
Add ability to load blank japanese/korean save files
...
Detects the language of the currently loaded save file, and passes that info to the blank sav creator
Use a trainer name of "1337" instead of PKHeX for any Japanese save file, because Gen1/2(/3?) character tables don't have regular ascii chars.
2020-10-03 11:22:06 -07:00
Kurt
97f5f8d362
Add blank sav fetch for stad0/1/2
2020-10-03 10:53:52 -07:00
Kurt
8cb6e15f3e
Add team fetch api for stad1/2
2020-10-03 10:53:35 -07:00
Kurt
a17bc52982
Fix nick/ot set for pk1/2
...
Reverts the logic back to pre-Stadium2 support
2020-10-03 10:01:22 -07:00
Kurt
833789b1b9
Fix cxd antishiny method detection
...
Closes #3008 ty @Sephirona !
Do the tsv-psv compare as uint to remove the need for later casts to int
2020-10-03 09:29:26 -07:00
Kurt
2f04ef7a32
Check PK4.EncounterType for BK4 format
2020-10-02 18:09:00 -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
2c8e0bc8f7
Add automatic byteswap
2020-09-30 22:46:07 -07:00
Kurt
ee207a3fda
Revise Stadium savefile logic to read from boxes
...
Add a helper to spit out teams
Alias hard-coded numbers to something to easy names.
Make them exportable, update checksums for box data
2020-09-30 18:00:25 -07:00
Kurt
af4fa8078e
Add 10/1 raids
...
spooky
2020-09-30 17:08:04 -07:00
Kurt
af357587f9
Add Pocket Monsters Stadium support
...
https://projectpokemon.org/home/forums/topic/38108-gen-1-pokemon-stadium-save-file-structure/
untested, need to find a save file somewhere??
2020-09-30 12:45:41 -07:00
Kurt
769d5d8689
Allow SaveFile constructor to specify exportable state
...
Useful for partially-supported savefiles that can't be exported yet (Stadium)
2020-09-30 12:44:50 -07:00
Kurt
eb6c570695
Add TSV=0 checks for WC8 home gifts
...
Don't match if TSV == 0
Don't assign at TSV of 0, randomize TID7 if it happens to be so.
Closes #3007
2020-09-29 23:10:48 -07:00
Kurt
cc3a807fa9
Add default met location for gen3 roamers
...
Closes #3004
2020-09-29 23:07:42 -07:00
Matt
4888d2368a
Restrict Isle of Armor Raichu-1 Ability ( #3006 )
...
Only allows Ability 1 (all slots are Surge Surfer).
2020-09-28 12:13:15 -07:00
soopercool101
cc5a950784
Add property to get a PK1's converted Gen 2 item ( #3005 )
2020-09-28 11:17:34 -07:00
Kurt
22f37910f0
Remove unnecessary single-member interfaces
2020-09-27 18:19:28 -07:00
Kurt
cafcd3df2e
Change affixed ribbon-mark check to also consider ribbons
2020-09-27 18:19:10 -07:00
Kurt
fb4734472b
Add notation for language-specific save types
2020-09-26 13:30:17 -07:00
Kurt
a34434f7cb
Make pkm.Data a readonly field rather than property
2020-09-26 12:09:02 -07:00
Kurt
82afefa335
Make GP1 expose IEncounterable for metadata
...
Make the main loader handle IEncounterable objects
2020-09-26 11:33:21 -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
6243135f28
Minor clean
...
Move Home8 location to Locations.cs for documentation
Move FestaFacility to correct folder
Remove unnecessary public modifier on interface method
Pass the program's Version to any loaded plugins, if they wanted to check compatibility...?
2020-09-25 23:55:31 -07:00
Kurt
efc17a1271
Add interface for revised savefile types (patches)
...
SWSH is the first common savefile type that has different revisions after official patches. We want to indicate in the Program Title which revision we're currently editing, because people still are not editing latest-format saves and complaining y no urshifu.
Use short descriptions to indicate revision (Base, IoA, CT), rather than magic numbers (v0/v1) or 1.X or 1.X.Y+, because GameFreak can't follow semver rules.
go away ranch platinum update, i might handle you another time
2020-09-25 23:41:20 -07:00
Kurt
8aab4a2d8e
Show affixed ribbon byte in extrabytes
...
#3001
Since there's no GUI display of it, might as well hide it here for people to mess with.
2020-09-25 19:40:31 -07:00
Kurt
7b19e3fb7f
Add affixed ribbon legality check
...
https://github.com/kwsch/PKHeX/issues/3001#issuecomment-698749761
2020-09-25 19:37:38 -07:00
Kurt
6ed60fd35d
Flag suspicious PIDs for shiny VC transfers
...
Configurable setting
Closes #3002
2020-09-25 18:04:44 -07:00
Kurt
cb0bbe889e
Make pk1/2 => pk7 PID transfer mimic official mechanism
...
Hardcode 0 xors to indicate SID and end result ShinyXor=0.
#3002
2020-09-25 18:00:10 -07:00
Kurt
f10f1fef65
Add metadata for possible version range
...
Closes #2995
2020-09-25 17:15:02 -07:00
Kurt
fbf7a3658a
Check species for static enc match
...
like all other IEncounterable types, before calling the match method, check species directly
2020-09-24 19:44:48 -07:00
Kurt
af99e0b37c
Revise fixed PID checks
...
Closes #3000
Thanks @CScorpion-h & @SciresM !
2020-09-24 19:29:01 -07:00
Kurt
136ef0f6ae
Add shiny state check
2020-09-24 19:26:21 -07:00
Kurt
fd5e38fdda
Remove artist ribbon restriction requiring master ribbon
...
Closes #2997 ty @sarahlicity for an interesting bypass mechanic :P
2020-09-23 20:47:48 -07:00
Lusamine
87ee1b63c0
Fix CHT species names ( #2998 )
2020-09-23 20:06:23 -07:00
Lusamine
b915f3c363
Tower of Waters / Tower of Darkness are valid Met Locations ( #2996 )
2020-09-23 09:15:49 -07:00
Matt
185c499bff
Unban GO Shiny Doduo ( #2994 )
...
Mega Buddy Challenge
2020-09-22 09:23:58 -07:00
Matt
150ff88235
Unban GO Shiny Porygon ( #2993 )
...
September 2020 Community Day
2020-09-19 17:27:25 -07:00
Kurt
9f4b18119e
Propagate ability1 to empty ability slots
...
now matches all other personal table formats
var data = File.ReadAllBytes(path);
for (int i = 0; i < data.Length; i += PersonalInfoBW.SIZE)
{
if (data[i + 0x19] == 0) // Ability2
data[i + 0x19] = data[i + 0x18];
if (data[i + 0x1A] == 0) // AbilityH
data[i + 0x1A] = data[i + 0x18];
}
File.WriteAllBytes(path, data);
2020-09-19 07:53:25 -07:00
Kurt
b039dd28b6
Use reference to personal info rather than fetching again
2020-09-19 07:52:50 -07:00
Kurt
76b704cfe1
Fix g1 yellow personal table in binary rather than while running
2020-09-19 07:52:35 -07:00
Kurt
2b7e06e217
Refactoring
...
Extract some logic, suppress some compiler messages
2020-09-18 22:11:13 -07:00
Lusamine
b90419ba63
Akala Meadow does not exist ( #2992 )
2020-09-18 19:50:10 -07:00
Kurt
416f5fe183
Check Winning/Victory ribbons for gen3 origin based on encounter
...
Closes #2990 ty @Atrius97 !
Remove the `object Content` accessor only used for Mystery Gifts (used to trickle up the PKM object since the two ribbon interfaces weren't implemented on the IEncounterable). Just make PCD/PGT implement the ribbon interfaces and delegate the get/set to PKM directly.
Rewrite the national ribbon check for clarity
Optimize invalid/missing ribbon string replace to operate on the final string rather than do linq and replace each input. With this we make 1 temp string only, rather than 1-per-ribbon.
Replace hardcoded "Ribbon" strings to use a shared const string in a central spot.
2020-09-18 16:23:17 -07:00
Kurt
1a6f5163a4
Add mid-september raids
2020-09-17 18:16:16 -07:00
Kurt
7a1c438b74
Minor tweaks
...
add method to randomize AVs from interface extension method
revise stat presence check to check ATK since HP is stored in gen1 format
2020-09-17 18:13:08 -07:00
soopercool101
1a1cfbda4a
Fix Hidden Power Power calculations (and add to UI) ( #2989 )
...
* Fix broken hidden power power calculation
* Fix broken Gen 2 Hidden Power calculation
* Add parentheses
* WIP UI
* Finalize UI, only show on gens 1-5
* Inline some logic to reduce allocations
* Add unit tests for both hidden power calculation cases
Co-authored-by: Kurt <kaphotics@gmail.com>
2020-09-14 20:06:11 -07:00
Kurt
e125424423
Refine zygarde encounter form checking logic
...
Closes #2984
ty atrius & matt via discord
Co-Authored-By: Atrius97 <39707481+Atrius97@users.noreply.github.com>
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2020-09-13 15:45:15 -07:00
Egzon
4b1a9a89da
Add support for reading and editing Underground Items ( #2987 )
...
Adds a sub-editor with localized support for editing Underground Items.
2020-09-13 14:55:50 -07:00
Kurt
2e6d1fce1f
Flag non-Poké Ball XD teddiursa
...
Closes #2983 , nice catch @soopercool101 !
Co-Authored-By: soopercool101 <soopercoolstages@gmail.com>
2020-09-13 14:43:48 -07:00
Kurt
7fc8001806
Continued refactoring
...
EncounterTrade: don't init Location to -1; keep as default 0 and use that as the pivot for default met location. Move Fateful property to the sub-type that uses it (EncounterTrade4, for Ranch).
Move some EncounterStatic->PKM logic that is per-type to the associated type overloaded methods. Rearrange order of properties to be more consistent with interfaces
Gen3: Initialize some classes without using post-constructor setters. The `init` setter functionality coming in c#9 won't be usable as the net46 runtime/netstandard2 doesn't support it on current previews. Do it this way so we can explicity initialize some required properties rather than apply version on a second iteration.
2020-09-13 14:40:10 -07:00
Kurt
346c284994
Allow pkrs on gen2 eggs
...
See #1257 item 7; it appears this info on Bulbapedia is incorrect -- disassembly does not care if the pkm slot is an egg or not.
5f197c53f4/engine/events/pokerus/pokerus.asm (L7)
2020-09-10 21:53:43 -07:00
Kurt
0a6d53dc0d
Make IsHomeGift a public get property
2020-09-10 11:25:29 -07:00
Kurt
507c913451
Invert early return bool for sav1stadium recognition
...
oops
2020-09-10 11:24:16 -07:00
Kurt
741fbd5296
Add stadium sav readonly support of registered teams
...
no checksum logic performed, just a WIP preview
2020-09-09 22:44:46 -07:00
Kurt
ec16202f73
Check for missing gen1 OT names
...
oops
2020-09-09 22:43:32 -07:00
Kurt
01fb233e48
Minor tweaks
...
Extract some interfaces
Suppress some warning messages with commented reasons if appropriate
2020-09-09 12:47:24 -07:00
Kurt
5d3bc289b6
seal hunting
...
Mark things as sealed as they shouldn't be inherited from or overriden in a derived class.
2020-09-07 13:51:13 -07:00
Kurt
0111c3dd6f
Set Max EVs for ShowdownSet`s imported onto GBPKM with unspecified EVs
...
https://github.com/architdate/PKHeX-Plugins/issues/48
2020-09-07 10:56:25 -07:00
Kurt
0b8989e4ce
Make EV_SPC a shared property for GBPKM derived classes
...
seal up some properties that aren't overriden in the derived classes; could do more but meh
2020-09-07 10:55:15 -07:00
Kurt
03e227c744
Allow steel-typed magnemite for gbera
...
ty MrPerson0!
2020-09-06 18:36:37 -07:00
Kurt
187ed9775a
Use trainer details for manaphy egg if possible
...
https://projectpokemon.org/home/forums/topic/57790-bug-manaphy-egg-shown-illegal-wrong-egg-met-date-if-i-import-directly-the-pgt/?tab=comments#comment-260826
2020-09-06 11:34:50 -07:00
Kurt
9191f023a3
Minor clean
...
Nullability annotations and some logic simplification
2020-09-06 11:24:54 -07:00
Kurt
1114b97c4b
Fix bool value naming for gen8 block editor
...
Was previously showing RaidArmor for pre-Armor saves, as the reference of a zero-length array was the same as the bools. Just sanity check since all block chunks have length.
2020-09-06 11:21:23 -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
39e5c9000d
Set Egg Met date for eggs rather than met date
...
This only applies to Manaphy
remove Nickname/Met Location set as it's handled in the SetUnhatchedEggDetails
precompute some default values
2020-09-05 13:11:16 -07:00
Kurt
8a3804e4b3
Reduce static constructor requirements
...
Gen1: all are Trade1 objects, and all get the values set; just set the value in the object initializer
Gen2: all are Trade2 objects, set the same version
Gen2 all static encounters already have a version marked. Only thing remaining is to set the language.
2020-09-05 13:06:08 -07:00
Kurt
81e98b5549
Update EncounterStatic7.cs
2020-09-05 12:33:00 -07:00
Kurt
079ceb2752
Disallow forms completely in gen2
2020-09-05 12:25:32 -07:00
Kurt
c1adab9703
Refactoring
...
Move logic closer to where it is used rather than in larger static classes
EncounterStatic(7): move VC transfer template creation to class, simplify some sanity checks
EvoChain: g==2 case is never hit as the generation check at the top of the loop already skips
2020-09-05 12:11:43 -07:00
Kurt
cf67d156ad
Move Gen1/2 Encounter yielding to separate class
...
Specialize some of the methods so that Korean and non-tradeback cases are handled with simplified logic.
2020-09-05 10:07:02 -07:00
Kurt
6b472ffd62
Misc iencounterable->pkm generator fixes
...
Still some pending stuff like bad mystery gifts
gen2 static encounters on g/s applying met level and not location
gen6 ralts trade (no nickname) being flagged as nicknamed when it shouldn't
gen4 manaphy egg not having a hatch location (worked fine if you transferred it up)
gen3 antishiny gifts not setting their PIDs (jirachi WC3)
gen5 N's pkm gifts setting the wrong nature
gen3 unown not being generated correctly, cosplay pikachu being allowed form0, non-BugCatchingContest no longer require Sport ball, oras dexnav marill now uses the azurill eggmove table
2020-09-03 19:00:46 -07:00
Kurt
c2ec4d55e4
Minor clean
...
Add some xmldoc, remove some empty lines, move some small logic pieces to a better spot
2020-09-03 14:28:51 -07:00
Kurt
b03a5f2818
Fix pika beach score reading
...
fix reads as little endian instead of big endian
fix truncation if editor value from byte => ushort
Closes #2976
2020-09-01 16:05:52 -07:00
Kurt
90f2ea1749
8/31 - Electric Grass
2020-08-31 18:09:15 -07:00
Kurt
ad4b560071
Minor clean
...
Remove RibbonWishing as property, just calc on the fly since it's a single case
Update type info for vc transfer to indicate it's an es7
Split up dreamworld encounters as intended, fix logic lol
2020-08-30 22:37:14 -07:00
Kurt
adb74ffed0
Update Trainer Name verifier with template TID/SIDs
...
might be better to just have a HashSet<int> and use id32, but eh this isn't some blacklist-checker.
2020-08-30 19:59:21 -07:00
Kurt
9667e86446
Simplify dreamworld encounter init
...
precompute result size
set Gen5 as lumped group for common encounters
remove linq usage (besides Sum call, whatever)
GetEncounters now only filters the in-game static encounters rather than the dreamworld too, as those are already filtered by separate arrays.
2020-08-30 19:51:44 -07:00
Kurt
e3ad6ec55d
Make multiple-met locations a single object instance
...
make trade have Any again; it's a marker to apply the gameversion since we're lazy
2020-08-30 19:24:24 -07:00
Kurt
b5677758be
Change default TID/SID for gen7+
2020-08-30 17:54:58 -07:00
Kurt
9ce09c8b1b
Minor clean
2020-08-30 16:16:22 -07:00
Kurt
5a391bc20c
Make EncounterStatic abstract, make Generation property abstract
...
Merge EncounterGift8 with EncounterStatic8 since there isn't much need to have two separate classes
2020-08-30 16:10:24 -07:00
Kurt
c146e9402f
Reduce visibility of internal legality enum
2020-08-30 15:48:34 -07:00
Kurt
75da70069c
Remove access to modified captured variable
...
Get the variable rather than indexing into the array each time
Simplify some expressions in sav7 for readability
Make SAV_EventFlags use comboitem explicitly by type rather than an anonymous type with same member names
2020-08-30 15:48:11 -07:00
Kurt
13ee3745f2
Remove some unecessary setter requirements
2020-08-30 15:44:13 -07:00
Kurt
1bc7994137
Remove usage of linq for duplicate count
...
Check successive move slots after the current index rather than doing a count eq >= 2.
Flag all empty slots prior to a filled move slot, rather than flagging a full slot as invalid because "empty move".
2020-08-30 15:43:29 -07:00
Kurt
81a693bafe
Make Generation property get-only per class
...
don't need to store an int since it's a const-per-class
2020-08-30 15:35:59 -07:00
Kurt
ce5897ff94
Move version value from Slot to Area to reduce member size & value passing
...
Restrict some setters to protected only
2020-08-30 11:08:21 -07:00
Kurt
6ee7a8724b
Offload EncounterSlot loading logic to reduce complexity ( #2980 )
...
* Rework gen1 slot loading
Slot templates are precomputed from ROM data and just loaded straight in, with tight coupling to the encounter area (grouped by slot types).
* Revise fuzzy met check for underleveled wild evos
Example: Level 23 poliwhirl in RBY as a level 50 poliwhirl, will assume the chain is 25-50 for poliwhirl (as poliwag evolves at 25). Instead of revising the origin chain, just ignore the evo min level in the comparison.
Previous commit fixed it for gen1.
* Rework gen2-4 slot loading
Gen4 not finished, Type Encounter data and some edge encounters not recognizing yet...
* Add feebas slots for old/good encounters
* Begin moving properties
Great news! Gen5-7 need to be de-dumbed like Gen1-4.
Then I can remove the bang (!) on the Area accessor and ensure that it's never null!
* Split off XD pokespot slot encounter table type
* Set area in constructor
* Deduplicate g3 roaming encounters
* Deduplicate xd encounter locations (rebattle)
Only difference is met location; no need to create 500 extra encounter objects. A simple contains check is ok (rarely in gen3 format).
* Make all slots have a readonly reference to their parent area
* Minor clean
* Remove "Safari" slot type flag
Can be determined via other means (generation-location), allows us to reduce the size of SlotType member to a byte
Output of slot binaries didn't preserve the Safari flag anyway.
* Update SlotType.cs
* Handle type encounters correctly
* Merge safari area into regular xy area
* Merge dexnav accessor logic
* fix some logic so that tests pass again
rearrange g5 dw init to be done outside of static constructor (initializer instead)
PIDGenerator: friend safari slots now generate with required flawless IV count
* Add cianwood tentacool gift encounter
* Remove unnecessary abstractions
Fake area just returned a slot; since Slots have a non-null reference to the area, we can just return the slot and use the API to grab a list of possible slots for the chain.
Increase restrictiveness of location/type get-set operations
* Minor tweaks, pass parameters
DexNav observed state isn't necessary to use, only need to see if it's possible to dexnav. Now that we have metadata for slots, we can.
* Remove unused legality tables
2020-08-30 10:23:22 -07:00
Kurt
c1bc371d76
Update EncounterGenerator.cs
2020-08-29 23:50:59 -07:00
Kurt
e532a29e72
Allow gen1 moves on gen2 met data pk2's
...
Thanks MrPerson0 on discord for notifying us of this mechanic. Stadium 2 can utilize Gen1 learnset data while keeping them in PK2 format, retaining the met data.
2020-08-29 23:47:03 -07:00
Kurt
6e409f288e
Use version on clone so that we don't have to detect again
...
Matches gen1/gen3 clone
2020-08-29 23:39:14 -07:00
Kurt
a09bac5976
Prevent gmax cap pika
...
silly stuff indeed
there aren't any other formed-only-mons in the gmax list
2020-08-29 15:09:37 -07:00
Kurt
c738857010
Handle KOR Arcanine with PID=1 type
...
Revise some logic flow and add comments indicating why
There is no wc.Gender==3 for any gift; that's not how things are specified in GameFreak's internal tool (suspected).
2020-08-29 14:33:51 -07:00
Kurt
1ee459a46c
Use language for checking IsNicknamed flag
2020-08-29 10:40:41 -07:00
Kurt
dc9aa7b1df
Update extra byte list
...
0x90 is for dynamax level
2020-08-27 08:37:23 -07:00
Kurt
5a78c5799c
Fix text formatting for G5 Victory road met location string
...
Noticed on a separate fork ; should have a space before the (
2020-08-26 19:50:48 -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
780e8bf2bf
Branch to specific iterator
...
Similar to fuzzy matches for gen3/4 iterators
2020-08-22 14:52:17 -07:00
Kurt
42453bdcd8
Update EncounterArea8.cs
2020-08-22 14:12:16 -07:00
Kurt
816f35d042
Split file
2020-08-22 11:59:43 -07:00
Kurt
a62324a5a1
Refactoring some IEncounterable-type'd object initialization and original-generation evo chain ( #2974 )
2020-08-21 16:35:49 -07:00
Kurt
890f3375c9
Misc clean
2020-08-18 15:39:45 -07:00
Kurt
f35d8b2d4b
Remove unnecessary logic
...
return/frustration not present in these games; no need to check this
2020-08-18 14:45:36 -07:00
Kurt
e012b42c9c
Update SAV7b.cs
2020-08-18 10:35:59 -07:00
Kurt
c7eda4f901
Update SAV7b.cs
2020-08-18 09:15:29 -07:00
Kurt
adb55c9e7b
Make CanToggleGigantamax have a form argument
...
no more meowth-1/2 and or perrserker
Closes #2973
2020-08-16 23:06:49 -07:00
CanoeHope
1e6858c349
Add misc Restricted Sparring related Block Data ( #2971 )
...
The game also stores the Gender ID, Form ID, Encryption Constant, and Alcremie Sweet ID per block for each PKM's slot.
As for Sweet ID it is stored for all Types. However, since you obviously can't use Alcremie in non-Fairy Sparring they go unused. (They are the Int32 blocks you'll notice with a -1 value.)
2020-08-15 12:10:52 -07:00
Kurt
cb540a69bf
Merge branch 'master' of https://github.com/kwsch/PKHeX
2020-08-14 23:37:38 -07:00
Brian Fischer
c4e9bbcc45
Changes to suggested hyper training logic ( #2968 )
...
- Changed suggested hyper training logic to not hyper train over some possibly intentional unusual speed IVs
- Showdown import will not do any hyper training on pokemon encountered in gen 8, because with Hidden Power removed from the game in gen 8, all specified IVs in the showdown format are guaranteed to be deliberate for stat purposes.
2020-08-14 21:49:01 -07:00
Kurt
541c9761df
Minor clean
...
Make flag indexes immutable
Rename some properties for clarity
2020-08-14 20:23:54 -07:00
Matt
1d0ca29e8c
Misc changes ( #2969 )
...
Adjust EggItemShift to account for using the big Egg sprite
Add Marowak to non-transferrable Totems (none of the USUM Totems can be transferred to SWSH)
2020-08-14 13:56:37 -07:00
Kurt
67cea47b56
Fix move record flag check overflow to tracker
...
Would return true if tracker is set; this bool is only checked if is egg.
Add a check for eggs with home tracker.
2020-08-11 19:42:40 -07:00
Kurt
71456d98fb
Handle unhatched manaphy egg
...
Closes #2965
2020-08-09 20:02:28 -07:00
Kurt
1df2bd444a
Remove unused using
2020-08-09 20:02:06 -07:00
Kurt
6645481829
Flag gen3 world ribbon as invalid
...
Closes #2963
not like anyone actually has this ribbon
2020-08-08 22:55:44 -07:00
Matt
e2b5d9d816
Unban GO Shiny Staryu ( #2962 )
...
Enigma Week 2020
2020-08-08 11:19:51 -07:00
Kurt
32f2703339
Fix entire-box swaps by using correct lengths
...
Add SIZE_BOXSLOT and update usages
Make SIZE_STORED protected like SIZE_PARTY
probably need to redesign how slot metadata is presented within the savefile...
Closes #2961 ty @Kermalis !
2020-08-07 16:16:10 -07:00
Kurt
d8fe197a3a
Update 20.08.07
2020-08-06 19:15:16 -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
56d1eed483
Ban alolan split evolutions for lgpe origin in gen8
2020-08-06 18:21:40 -07:00
Lusamine
f611d0b780
pika pi ( #2960 )
2020-08-05 19:10:35 -07:00
Kurt
2b4e2a8fa1
Update Core.cs
2020-08-05 10:57:07 -07:00
Kurt
ad6728fb5c
Minor tweaks
...
Check egg encounter for state rather than re-deriving some properties on the fly
Only check memories if memories are exposed
Remove debug assert (not always true?)
2020-08-04 22:56:55 -07:00
Kurt
00443dcae4
Minor clean
...
add xmldoc
remove unnecessary array resizes (see 9f20aa2f4f
)
show more extrabytes for gen8; remove unused byte accessor functions
2020-08-02 15:51:22 -07:00
Kurt
3bae646b18
Remove virtual get/set value storage
...
reduces object size for formats that do not have that kind of data, since they don't need a backing field for ptr/val
2020-08-02 11:25:23 -07:00
Kurt
85d1b0e7ad
Split gen6/7 affection stats to interface
...
not in future formats, doesn't belong
2020-08-02 11:06:30 -07:00
Kurt
02b4343827
Update SAV3XD.cs
2020-08-02 08:25:04 -07:00
Kurt
ff95c734a2
Don't set strategymemo back
...
Closes #2956
if someone wants to tidy up XD support later, feel free to uncomment and get it working reliably :P
2020-08-01 09:28:35 -07:00
Regnum
9e40fa132f
Improved Pokewalker Editing ( #2958 )
...
* Added PokeWalker Courses, Watts, and Steps editing
* Use util method for getting bitflags
* Keep old cheat method
Change signature so that the default value passed is to unlock all; can pass 0 instead to lock all
* Pass reference to derived sav4-type object
Wev'e already type-tested once, capture the reference and pass it into the appropriate load/save methods.
* Add control anchoring for window resizing
Also widen the labels for localization (longer strings possibly)
2020-08-01 09:20:13 -07:00
Kurt
497639d48e
7/31 distribution raids
2020-07-31 18:13:29 -07:00
Kurt
e84ce77008
Split memories from main pkm class to interface
...
pk6/7/8, not pb7
2020-07-31 17:25:14 -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
36684ab867
Minor clean
...
Simplify some expressions
2020-07-31 11:20:48 -07:00
Kurt
27f15d2f20
Split Country/Region/ConsoleRegion to interface
2020-07-31 11:17:31 -07:00
Archit Date
fa3bdfe5f6
update showdownset parsing for new gmax impl ( #2957 )
...
Gigantamax: Yes is now in a new line instead of -Gmax. Have maintained legacy support since showdown is supporting legacy as well. Set the export to the newer format.
2020-07-30 20:16:57 -07:00
Kurt
05ac8acb5f
Phenac City Hexagon Brothers rebattle
...
Closes #2951
2020-07-29 13:45:33 -07:00
Kurt
8a51bd7f28
Don't modify strategy memo
...
Can't correlate the structure to the data it's reading, so don't modify the values until someone figures out how the data is stored & how it should be manipulated.
Closes #2941
2020-07-29 13:37:17 -07:00
Kurt
4909256414
Split shadow info entry to separate files
...
#2941
add IV fields
2020-07-29 13:36:33 -07:00
Kurt
15996f2a52
Fix indexof call when short
...
int within short[] = no
short within short[] = yes
Closes #2955
2020-07-28 19:47:11 -07:00
Kurt
14da3a6539
Unban payapa
2020-07-28 10:26:44 -07:00
Kurt
7bd9ae8aeb
Simplify cxd antishiny pidiv detect
...
Only check player ID
Closes #2952
Had originally intended to just recognize the PIDIV and check it in the lock verifier, but this is more straightforward since we don't have to check CPU TSV.
2020-07-26 09:49:33 -07:00
Kurt
7bd36ca0c8
Minor clean
...
Fix xmldoc, revert ??= because whatever nullable logic plugin I have isn't detecting this right
2020-07-26 08:54:52 -07:00
Matt
3a02bf457f
Update GO minimum Level requirements ( #2953 )
...
GO Fest 2020 made Alolan Marowak available in wild spawns, and further testing has proved that Raid/Research PKM can be downleveled to 15 after trading to low-level accounts.
This'll probably end up being deprecated in the future when we have GO->HOME transfer checks, in addition to IV checking.
2020-07-26 08:27:21 -07:00
Matt
f66d8d2ea5
Unban GO Shiny Tangela ( #2949 )
...
GO Fest 2020
2020-07-25 08:37:13 -07:00
Kurt
12b8060ec1
Use byte instead of int
2020-07-21 23:43:34 -05:00
Kurt
4cb283981b
Remove linq from list init, manually allocate
...
Add some docs cuz gen1 structures are always spooky
gen1 not being exactly same as gen2, and jp != int => 4 different sizes of spookiness
2020-07-21 20:56:41 -05:00
Kurt
d3863f9c63
Minor tweaks
...
verify relearn: move split check before method call
movelist: don't capture pkm in local method; meowstic ID
pkm: flip argument for easier understanding
2020-07-19 18:30:46 -05:00
Kurt
a6a3c6eaaa
Refactoring
...
change some expressions for better perf/readability
2020-07-19 17:48:45 -05:00
Kurt
9c99e7ab7b
Add some overloads with 1 less allocation
...
kinda splitting hairs but whatever
2020-07-19 16:35:52 -05:00
Kurt
9f20aa2f4f
Remove unnecessary comparison
...
in Array.Resize, an array is only created if the size is not equivalent
we're just repeating the same logic; let the jit optimize out the null check
2020-07-19 16:35:31 -05:00
Kurt
40ce63873d
Reduce gen1 encounter legality startup alloc by 5KB
...
Use precomputed counts to remove the need to store a cache of read values
rename some variables in ReadSlots1FishingYellow
2020-07-19 14:08:56 -05:00
Kurt
eb7ed44b29
Finish splitting gen1/2 encounter types from parent class
...
Results in a little more code, but each path is less tangled
simplify some expressions
remove RBDragonair content in favor of a strict filter for catch rate
Move gen1 trade trainer names to stringconverter, since pk1/pk2 shouldn't refer to legality classes
2020-07-19 13:32:40 -05:00
Kurt
e4092e64df
Relocate gen3 ereader berry logic
2020-07-18 22:51:55 -05:00
Kurt
acd97c6287
Pass evolution chain for generation memory check
...
chain details are already computed; pass them in
2020-07-18 21:57:15 -05:00
Kurt
35435b539e
Refactoring
...
move some logic around
2020-07-18 21:51:38 -05:00
Kurt
085889d419
Pass evolution to trade match check
2020-07-18 21:50:28 -05:00
Kurt
a21bb09c37
Perserve & Display Favorite flag for items
...
Also clamp give all for TMs to 1 instead of whatever the giveall value is, like for prior games' HMs
reuse the "free space" bool; no real benefit in increasing the amount of abstraction (even though that's my current urge for legality)
2020-07-18 20:15:41 -05:00
Kurt
705822c965
Abstract some gen1/2 encounter types from their parent class
2020-07-18 15:36:30 -05:00
Kurt
8fae396b76
Inject matching dexlevel for form comparison
2020-07-18 13:29:16 -05:00
Kurt
0f38478878
Fix gen2 evolution-egg test case
2020-07-18 13:06:14 -05:00
Kurt
5128825e78
Update WC8.cs
2020-07-18 10:46:22 -05:00
Kurt
035bac1ed3
Update WC8.cs
2020-07-18 10:27:44 -05:00
Kurt
9b14235a6c
Add zeraora wc from event gallery
2020-07-17 20:40:11 -05:00
Kurt
4b881e7021
Update WC3.cs
...
Handle "RSE" as specified permitted version
2020-07-17 12:56:35 -05:00
Kurt
1ecafd8db3
Update Encounters8NestDist.cs
...
Puts the new encounters in the correct array; the new encounters should now be recognized on the other game version.
2020-07-17 12:18:28 -05:00
Kurt
8c52932bbe
Under da sea
...
did they just give up on version exclusive raids?
get yo shiny wailord
2020-07-16 21:18:37 -05:00
Kurt
ea609d43a5
Move soup to gmax class (extension methods), fix home gmax starters
...
Directly accessing CanEatMaxSoup is now forbidden :)
Fixes home galar starters being flagged when gmax-final evos
2020-07-16 21:04:27 -05:00
Matt
10adb9b8c1
Unban GO Shiny Bellsprout ( #2945 )
2020-07-16 14:59:46 -05:00
Kurt
4d3fd395e1
Add bypass for DP rotom, skip splitbreed if chain doesn't have splitbreed
2020-07-13 22:30:20 -05:00
Kurt
e04b96a9b3
Fix dizzy punch egg recognition & gen2 hatch conter verification
...
Closes #2939
Fixes #2938
Inline some logic where appropriate for egg levels
2020-07-12 20:58:07 -05:00
Kurt
53e2432818
Fix gen2 egg species get
...
feraligatr isn't in gen8 evolution table yet
Closes #2937
2020-07-11 11:40:20 -05:00
CanoeHope
455a787ee4
Add MomSkin to League Card ( #2936 )
2020-07-11 09:22:19 -05:00
CanoeHope
8027fe30b9
Add ArmorDex complete League Card marker ( #2935 )
...
Should work even if you don't have the Expansion Pass. Of course you need the latest update.
2020-07-10 07:42:44 -05:00
Kurt
255498b2f8
Allow chatelaine memory ^ skillful check on format >= 8
...
Check the memory for RibbonTowerMaster; if the memory is present, permit the lack of ribbon if it was granted via past gen and has the other ribbon.
Simplify !(x || !y) to !x && y
Closes #2926 ty @randomdice101
2020-07-09 22:53:57 -05:00
Lusamine
fdfa10e881
Add a few static/crossover encounters ( #2932 )
2020-07-08 22:59:08 -05:00
Matt
fa7c8929b1
Update SWSH enc binaries, fix Rotom form/move issues ( #2927 )
...
Some zone names were mislabeled in pkNX -- Staryu are not scripted encounters!
Remove altform specific moves from distro/static Rotom, which would erroneously allow illegal mismatches (e.g. Hydro Pump Rotom-1); thanks Abyzab (Discord)!
2020-07-05 11:45:53 -05:00
Matt
c75a12c934
Add more HGSS/USUM event flags/constants ( #2923 )
...
I put a coin under my circle pad and let it run for about 16 hours before finding that Mimikyu flag :)
2020-07-04 12:00:01 -05:00
Lusamine
39040358c1
Add a Whiscash ( #2921 )
2020-07-03 14:31:19 -05:00
Kurt
e207031920
Shuckle Magic Coat -> Encore
...
Nice typo! Ty sora10pls(matt) & too salty (via discord)
2020-07-03 10:48:31 -05:00
Kurt
69a0c61406
Heal PP on apply suggested moves
...
Closes #2919
Sure ya coulda set suggested PP as well as a command, but we'll do it for the user automatically. Not really an upside to keep the old PP values.
2020-07-03 01:17:05 -05:00
CanoeHope
0dc4166e67
Add new SWSH blocks ( #2918 )
...
For anybody interested in this League Card block structure: https://pastebin.com/1gkyHe9Q
Also correct the game version record block location.
2020-07-02 21:28:04 -05:00
Kurt
afdd40bcee
Check counter rollover the opposite way
...
FFFF and 0000 -> prefer 0000
FFFF and 0001 -> prefer 0001
...
FFFF and FFFE -> prefer FFFF
they shouldn't be desync'd (incremental); only the uninitialized case is important to handle.
2020-07-02 17:44:03 -05:00
Kurt
5d8a5ba045
Revise "Is HOME" gift check, add height/weight scalar condition
2020-07-02 17:18:36 -05:00
Kurt
9da5263a52
Handle DLC1 records
...
Accessible in block editor, not as the usual trainer records.
Closes #2913 , ty @CanoeHope!
Co-Authored-By: canoehope <canoehope@users.noreply.github.com>
2020-06-30 23:00:48 -05:00
Kurt
0198179133
Add fixed raid news content
...
no change in species/form from the crownite ore one afaik; common for both games???
fix type of rigel encount so it shows up in block editor, with correct name (ty matt)
2020-06-29 21:10:12 -05:00
Kurt
fec91e4878
Revert "Show new trainer records"
...
This reverts commit 19ff1f584a
.
2020-06-28 13:44:26 -05:00
Kurt
993673f0de
Minor clean
...
no functional change
2020-06-27 23:36:53 -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
3138fb20c6
Refactor some method signatures
...
vs -> chain (clarity on what it is; an evolution chain, rather than e.v.o.s - vs)
Clamp origin chain for transferred where we can use the max origin level
2020-06-27 22:18:29 -05:00
Kurt
065c1cc6d4
Specify version on all defined wc3
...
rearrange some setters for visual appearances
Closes #2904
2020-06-27 14:21:45 -05:00
Kurt
5f58250b17
Pass species param to exists-in check
...
Closes #2905
2020-06-27 14:04:28 -05:00
Kurt
d2ef98f7d4
Add underground staryu encounters
...
not in any of our dumps, like crabrawler?
why gf
Closes #2913
2020-06-27 13:56:29 -05:00
Kurt
19ff1f584a
Show new trainer records
...
#2913
2020-06-27 13:48:45 -05:00
Kurt
105d8f415d
Remove unnecessary abstraction/leftovers
...
SCBlock doesn't have an absolute index; it was only used for tagging in dumps. Offset and Length weren't used.
Removing these 2 ints from the SCBlock object reduces alloc req by 8 bytes each; if we have 2,500 blocks in a save file, this reduces the memory footprint of a sav by 20KB. Nice side effect :D
Remove block dump comment from accessor; new logic in Meta8 for dumping DLC sizes does the same logic with less hassle.
2020-06-27 13:38:21 -05:00
Kurt
93f4bf1977
Add normal_encount_rigel block label
...
Closes #2899
2020-06-27 13:27:35 -05:00
Kurt
c565c7ca2c
Extract move suggest logic, add battleversion clamp
...
Closes #2911
2020-06-27 13:06:28 -05:00
Kurt
0836d3191d
Rewrite some magic gender value logic
...
it's always been a byte for ratios, but we never know; plus, it's a little more self documenting
2020-06-27 12:01:28 -05:00
Kurt
294d861f86
Set StatNature on IEncounterable->PKM
...
Mystery Gift formats already set it appropriately in their individual implementations
Closes #2901
2020-06-27 11:46:23 -05:00
Kurt
16cf59c851
Add an evolved formchange case for lycanroc
...
things shouldn't be this way, but encounterstatic doesn't currently accept a SpeciesForm evolution link in the matching function, so we can't know when the form changed legally.
Encounter Slots do it fine for the most part... might need to refactor the matching API so that it behaves a little smarter
Closes #2912
2020-06-27 11:44:56 -05:00
Lusamine
565c9a590e
Add some cross boundary encounters ( #2910 )
2020-06-26 23:31:23 -05:00
Matt
3f09afd4cb
Update TradeGift_R1 ( #2909 )
...
Both games have a pair of version exclusive trades on The Isle of Armor, as noted on Bulbapedia.
2020-06-26 11:00:45 -05:00
Chris
0c3a95fb19
Specify Legends & Sublegend species explicitly ( #2907 )
...
self documenting
don't replace other lists of species IDs tho
2020-06-25 15:11:30 -05:00
Kurt
ce5a09055a
Merge branch 'master' of https://github.com/kwsch/PKHeX
2020-06-24 18:59:30 -05:00
Kurt
1ae9cb7602
Handle pika/meow soup evolutions
...
Can lose gmax flag if its current species is able to eat soup, or its origin species could eat soup
this handles stuff like charmander->charizard, as charmeleon would not pass
hopefully there's never a mid-stage evo that has a gmax form, and its final evo doesn't... (don't get any ideas, gamefreak)
2020-06-24 18:59:26 -05:00
Matt
a5b72bd1ce
Update VerifyVersionEvolution for Gen 8 Lycanroc ( #2903 )
...
SWSH changed Rockruff->Lycanroc to only depend on time of day, not Version as well. Cosmoem still needs both, though.
2020-06-24 07:34:55 -05:00
Lusamine
bc1538efa5
Add some IoA cross-boundary encounters ( #2902 )
2020-06-24 07:34:26 -05:00
CanoeHope
5b8d1cb681
Added IoA Restricted Sparring Blocks ( #2900 )
...
If you edit in a number of 5 or greater as one of your streaks you'll get a crown mark next to that type in-game, and doing it for all should allow for you to get Mustard's uniform when you talk to the receptionist.
2020-06-23 12:02:33 -05:00
Archit Date
fd48938c8e
fix encounter criteria ability via number ( #2898 )
2020-06-22 22:41:15 -05:00
Kurt
a2d9f06350
Differentiate AbilityType from AbilityNumber
...
invert ability index favoring so that the first ability index is most favored
ability num:
-1=>0/1/2
0=>0/1,
1=>0
2 =>1
4=>2
Ability Type:
0,1,2=>0,1,2
3=>0/1
4=>0/1/2
Should probably get rid of AbilityNumber definition usage but it's so entwined in the trade/static definitions...
2020-06-22 22:01:42 -05:00
Kurt
93308ca4ae
Account for losing/gaining gmax for comparison
...
Don't defer for static, and don't skip for WC8
skip home gifts with player OT when SID7 not 0 (all home OTs have 6digit TID and 0 SID)
2020-06-22 21:29:21 -05:00
Kurt
4a5abab51f
Fix raid dump syntax
...
Closes #2896
2020-06-22 21:28:02 -05:00
Matt
ed7d32f9bb
Fix Gigantamax1 get/set in Zukan8 ( #2897 )
...
Bit 0, not bit 1.
2020-06-22 13:06:25 -05:00
Matt
dcb5c1e936
Update IsMatchLocation to allow Isle of Armor Dens ( #2895 )
2020-06-22 10:07:50 -05:00
Kurt
6574732380
Update 20.06.22
...
Update wc8 binary with events from past month
2020-06-21 23:06:52 -05:00
Kurt
6fb2ebe039
Minor clean
...
add some xmldoc
2020-06-21 19:46:06 -05:00
Kurt
7e69202669
Use criteria for getting ability
2020-06-21 18:16:34 -05:00
Kurt
fc4ba1df35
Bounds check ability requested
...
no longer exception's on RefreshAbility(negative number)
2020-06-21 18:16:18 -05:00
Abyzab
a797459543
Additional Cross Boundary Edge Cases ( #2891 )
...
* Additional Cross Boundary Edge Cases
The static spawn point right outside Brawlers' cave, all of the pokemon are able to chase the player into the cave and be caught
https://cdn.discordapp.com/attachments/401014193211441161/724112694088695918/a0f06577821f60edf119308675de7894.png
https://cdn.discordapp.com/attachments/401014193211441161/724117077698281502/JPEG_20200621_002242.jpg
Unsure if there were more that spawn in this point that have the same behaviour, but these were the ones I found (w/ Ano0onymouse
for Shield ones)
2020-06-21 09:33:29 -05:00
CanoeHope
3dcf24dade
New SWSH Block Data ( #2890 )
...
* New SWSH Block Data
Found these pretty useful blocks for IoA. I'll maybe look into Restricted Sparring data in the next week or so if no one else does by then.
2020-06-20 21:50:50 -05:00
Kurt
523f101c82
Add barraskewda location
...
Closes #2889
Co-Authored-By: Abyzab <abyzab@users.noreply.github.com>
2020-06-20 20:26:54 -05:00
Kurt
b53a29a0af
Add flag for urshifu-1 gmax pokedex
...
ty @sora10pls
2020-06-20 20:00:35 -05:00
Kurt
645db23706
Extract EvoBase and MoveList from Core
...
These are really old bloated parts of the original legality checking logic; separating for now to rewrite.
2020-06-20 19:44:05 -05:00
Kurt
4f7845547e
Minor clean
...
Remove met location dynamic sizing for C/XD (already resized for SWSH)
add some xmldoc comments
rename some parameters
2020-06-20 18:23:03 -05:00
Kurt
17f8ad97a9
Fix neutral mint index
...
hardy is index 0. and isn't a mint
2020-06-20 15:05:34 -05:00
Kurt
1ab7c916ce
Clear mega slowbro seen
2020-06-20 14:31:47 -05:00
Kurt
c36c233e1d
Fix galarian slowbro form compare
...
Really should be doing this with evo chain compares rather than edge cases, but whatever
2020-06-20 13:38:12 -05:00
Kurt
4c7c6532bb
Check ability deferral with more scrutiny
2020-06-20 13:14:44 -05:00
Kurt
eedaca8712
Fix mistake
...
oops lol
2020-06-20 12:09:03 -05:00
Kurt
3e21924adc
Document some save sizes
2020-06-20 12:08:51 -05:00
Kurt
8f24477197
Weezing ingame trade can be any ability
2020-06-20 11:37:37 -05:00
NPC-C83H
64be77f46c
Update legal raid counts ( #2878 )
2020-06-20 08:16:36 -05:00
ReignOfComputer
41aff36d50
Unblock IoA Mons Auto Dynamax ( #2879 )
...
Probably easier to blacklist this way?
2020-06-20 07:52:54 -05:00
ReignOfComputer
19d0f4572c
Unlock IoA Egg Locations ( #2880 )
...
Fixes https://github.com/kwsch/PKHeX/issues/2877 .
2020-06-20 07:51:28 -05:00
ReignOfComputer
2e584f43fc
Additional Statics ( #2883 )
2020-06-20 07:51:04 -05:00
NPC-C83H
541909b999
fix Chinese Translation out of index range ( #2875 )
...
* fix Chinese Translation out of index range
* Update text_Forms_zh.txt
2020-06-19 23:50:58 -05:00
Chris
63add7d929
Fix Master Rank Ribbon ( #2874 )
2020-06-19 23:20:19 -05:00
Kurt
6002dfb739
Revise master rank ribbon again
...
ty terry & chris
2020-06-19 21:51:57 -05:00
Kurt
69dbde1bb4
Check battleversion state for past-gen master rank ribbon
2020-06-19 21:24:58 -05:00
Easy World
c0ee00cb7a
Update Chinese Localization ( #2871 )
...
* Update LegalityCheckStrings_zh.txt
* Update lang_zh.txt
2020-06-19 21:18:40 -05:00
XxPhoenix1996xX
0839882fda
Update Spanish Localization ( #2870 )
...
* Update LegalityCheckStrings_es.txt
* Update lang_es.txt
2020-06-19 20:53:21 -05:00
Kurt
e72a58bdee
Dump latest translatable strings
2020-06-19 20:18:37 -05:00
Kurt
808ca8f307
Add a temp size that isn't 100% dlc sized
...
dunno what RoC did but it exists?
2020-06-19 19:58:56 -05:00
Kurt
5dd98cc9b0
Fix mystic/aurora ticket flag name inversion
...
Closes #2862
2020-06-19 19:00:40 -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
db30170cc5
Update EncounterArea7g.cs
...
Kinda ugly but works for now
Closes #2861
2020-06-16 22:40:43 -05:00
Kurt
27cce4dcd2
Disallow galar master rank ribbon on legends
...
Closes #2858
2020-06-16 22:16:21 -05:00
Kurt
f51e3673da
Update AbilityVerifier.cs
...
incorrectly edited (ability number needs to be bit0/1/2 not none/any other permutation)
Closes #2860
2020-06-16 22:13:21 -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
bfef634a1a
Set shiny type regardless of format
...
Don't loop if not required to loop
2020-06-12 11:45:56 -07: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
Kurt
fe0ef71e67
Add zh flag names for emerald
...
Closes #2848
Co-Authored-By: hard <kamisama6866@users.noreply.github.com>
2020-06-11 09:29:01 -07:00
XxPhoenix1996xX
2bd33dd7de
Update Spanish Translation ( #2850 )
...
* Update MessageStrings_es.txt
* Update lang_es.txt
2020-06-06 17:11:35 -07:00
Kurt
f7d2101500
Update Encounters8NestDist.cs
2020-06-06 09:53:14 -07:00
Kurt
9b89ee09ec
Fix downlevel comparison
...
(for good? pls)
https://i.redd.it/7g2c4d3kisc41.png
ty anubis
remove GetMinimalLevel override, as it's doing the same thing as LevelMin. When regenerating the pkm, we aren't doing anything downlevel related.
2020-06-06 09:00:52 -07:00
Kurt
c3215083c2
Update ShowdownSet.cs
2020-06-05 09:55:00 -07:00
Kurt
3af369c152
★Sgr6879 (Copperajah)
2020-06-05 07:31:40 -07:00
Kurt
321a2d120f
Add new distribution raids
...
Add Copperajah crystal (commented); uncomment when released?
2020-06-02 07:09:49 -07:00
Kurt
a2996e6b55
Unban gen8 bred HA starters
...
HOME gift -> breed
2020-06-02 07:09:17 -07:00
Kurt
16c9865505
Update EncounterStatic8N.cs
2020-06-01 14:07:26 -07:00
Kurt
ff849b9c5b
Allow fullness values for format8
...
ty anubis
this totally isn't fullness, but the toys increase the value (saturation?)
2020-05-31 13:29:13 -07:00
Kurt
5c0d6d0f31
Extract downlevel check for reuse; clamp edge moves to max raid lvl
2020-05-31 13:28:14 -07:00
Kurt
3fcb29e68a
Remove some reliance on GenNumber
2020-05-31 12:12:48 -07:00
Kurt
9ff01bccc6
Add ToString override for debugging
2020-05-31 12:12:20 -07:00
Kurt
6aab8ca449
Minor renaming/type change of passed args
...
Next commit will have more changes where we remove some reliance on PKM.GenNumber, in favor of the passed encounter's generation
2020-05-31 12:12:07 -07:00
Kurt
97d8bcebfe
Only check Korean if game isn't recognized as Crystal
...
https://projectpokemon.org/home/forums/topic/57203-pkhex-error-crystal-save-dont-load/
2020-05-31 09:18:45 -07:00
Kurt
51a4001ce6
Update RaidSpawnList8.cs
2020-05-29 11:20:28 -07:00
Kurt
7f1039d155
Update RaidSpawnList8.cs
2020-05-29 11:19:49 -07:00
Matt
4d47e4ab83
Pretty up GP1 summary/filename ( #2846 )
2020-05-29 11:13:49 -07:00
XxPhoenix1996xX
fe8001f991
Update Spanish Translation ( #2845 )
...
* Update LegalityCheckStrings_es.txt
* Update MessageStrings_es.txt
* Update LegalityCheckStrings_es.txt
2020-05-28 23:30:57 -07:00
Kurt
dc5af9ea57
Add zh frlg event flags
...
Closes #2844
Closes #2843 via prior commit
Co-Authored-By: kamisama6866 <kamisama6866@users.noreply.github.com>
2020-05-28 22:06:33 -07:00
Kurt
940a9cb269
Add zh rs event flags
...
Closes #2843
Co-Authored-By: kamisama6866 <kamisama6866@users.noreply.github.com>
2020-05-28 14:48:44 -07:00
Kurt
afa368823e
Minor clean
...
handle some compiler messages
2020-05-26 16:59:47 -07:00
Kurt
043ba3b6f0
Add ability to sideload key names
2020-05-26 15:58:48 -07:00
Matt
9b6190a3e9
Add Gigantamax Meowth Distribution Raids ( #2842 )
2020-05-25 17:39:07 -07:00
Kurt
46b443903d
Fix SM dex form fetch for spewpa
...
Closes #2826
It doesn't find it in the SM table, but didn't return -1
rework logic flow to return when found, rather than after loop finishes.
Also fix display off-by-1 since we're not using zero indexing for our entry numbers.
Thanks @Ammako !
2020-05-24 20:42:45 -07:00
Kurt
7c6ea78c63
Add fullness legality check
...
Closes #2836
Co-Authored-By: Matt <sora10pls@users.noreply.github.com>
2020-05-24 20:00:32 -07:00
Kurt
9619306a8f
Update BattleTree7.cs
2020-05-24 18:42:08 -07:00
Kurt
09cbe47240
Add battle tree scout edits
...
Closes #2833
2020-05-24 18:31:52 -07:00
Kurt
053eef2767
Add encount block
...
Closes #2840 -- access via Block Editor "Encount"
Tons of undecipherable junk in the roamer struct; looks like a mishmash of past gen code repurposed for their pseudo-stationary|roamer encounter.
ORAS has the same structure (same size/block), but the roamer portion isn't used
2020-05-24 17:31:10 -07:00
Kurt
8ce4f64239
Move files to their correct location
2020-05-24 17:11:39 -07:00
Kurt
bbe1cf3ee1
Fix gen6 gamesync ID read
2020-05-24 17:10:55 -07:00
Kurt
c4326698a5
Add prompt for loading new save with unsaved changes
...
Closes #2823
remove old gen6 powersaves decrypted-xorpad strings (unused logic)
remove gen8 save fixing beta-pkhex-caused corruption (behaved for 6months)
2020-05-24 11:03:23 -07:00
Kurt
d8cd75908b
Handle gen2 gift egg collision with low hatch cycle req
...
Closes #2824
ty @KR1dude !
change miscverifier to use OT_Friendship instead of CurrentFriendship.
2020-05-24 10:46:08 -07:00
Kurt
4a5a913142
Handle downleveled cases correctly
...
Downleveled shared nest can't go below 20
Downleveled self nest can only happen for 1 or 3 badges and certain star counts, and the result can't be shiny
2020-05-23 22:17:47 -07:00
Kurt
64428539bd
Fix sav4 active block detect
...
Closes #2697 ty @Ammako !
lazy slice check has flaws; just compare the major/minor counters in the save footer and check the uninitialized cases
nobody is gonna save the game 2^32 times, but check for the overflow case too!
first ff'd is preferred when the second is ff'd-1!
2020-05-23 22:17:03 -07:00
Kurt
0cdc225224
Kecleon: Comment out static in favor of dexnav encounterslot
...
Encounter Generator stops yielding if anything was yielded (assumes things that are static encounters can't have anything else that would match).
DexNav boosts the wild level (from 25/27) up to the same level 30 of the static encounter.
Thanks @KR1dude !
Co-Authored-By: KR1dude <kr1dude@users.noreply.github.com>
2020-05-20 18:24:55 -07:00
Kurt
6970c3a5fb
Remove IVersion.set property, as separate interface
...
I don't want people to mutate IEncounterable.Version; it's only intended to be set on-load
2020-05-19 21:46:05 -07:00
Kurt
301350d32b
Make IEncounterable expose IVersion get
2020-05-19 21:07:30 -07:00
Kurt
cce3d5d9f5
Handle race condition on get->set new cached string
...
overwrite add if it somehow was added from another thread in between lock checks
2020-05-19 20:40:51 -07:00
Kurt
232a9de32e
Add gmax ev
2020-05-18 17:04:31 -07:00
Kurt
6164884700
Merge IGeneration into IEncounterable
...
all but egg exposed it; now, just make egg expose it and remove the unnecessary interface
we still need to Set generation for non-eggs/mgift, so have a separate Settable interface for internal purposes.
2020-05-17 12:32:28 -07:00
Kurt
4f40330af9
Add Dynamax Level = 10 to showdownset if legal
...
Closes #2835 ; zacian/zamazenta/eternatus can't have a DynamaxLevel other than 0.
Co-Authored-By: Mikewando <mikewando@users.noreply.github.com>
2020-05-16 15:15:41 -07:00
Kurt
1b5292cb04
append shared egg-moves rather than early return
...
dl[0].Species is the same as pk.Species; more clear && array access might be slower
only append shared egg moves if shared egg moves exist
2020-05-15 22:49:11 -07:00
Kurt
c8a141534c
make enc move gen tree fetch non-pkm specific
...
just need to get all evo chains possible
fetching a GO leafeon, need to reverse leafeon->eevee, but the LGPE evo chains don't know about leafeon
works fine now
2020-05-15 21:59:06 -07:00
ultima-soul
496a3a45ff
Add flag for Foreign DexNav Encounters Unlocked. ( #2834 )
2020-05-12 11:57:56 -07:00
Kurt
3210ced006
Add new gmax-pikachu distribution details
...
can be shiny
can be any ability
still can't evolve
can't wait for gmax-eevee when this bcat expires ;)
2020-05-11 17:17:27 -07:00
Kurt
045e289c0a
Account for antishiny skip on the NPC mon right before shadow
...
pretty much a copy from the other method with simplifications
2020-05-11 16:52:09 -07:00
Kurt
9b0e74dd2a
Update ContestStatVerifier.cs
2020-05-11 16:51:10 -07:00
Kirk Scheibelhut
0aa84f3456
Fix minor typos in FormConverter comments ( #2831 )
2020-05-10 14:27:12 -07:00
Kurt
4decaa73f7
Verify Contest stats on gen5 origin
...
extract to separate logic class; only gen3+ call this (was originally called by gen6+); only really needs to include gen5
2020-05-09 20:47:32 -07:00
Kurt
8650b5ceb2
Verify g4 tower ribbons as invalid on >=g5 origin
...
https://projectpokemon.org/home/forums/topic/57026-gen-5-contest-stats-ribbons-bugissue/
2020-05-09 20:45:19 -07:00
Kurt
5fc15dc9c8
Correctly prevent xd locked shinies
...
oops, 7fd7a86074
was not correct (only handled lockless) -- the verifier doesn't check the final shadow pokemon (not a lock).
https://projectpokemon.org/home/forums/topic/57014-shiny-shadow-pok%C3%A9mon-from-xd-shown-as-legal-pkhex-legality-check-error/
2020-05-08 10:07:21 -07:00
Matt
383cf3e514
Unban GO Shiny Voltorb ( #2829 )
...
Philadelphia Safari Zone.
2020-05-08 07:48:24 -07:00
Matt
333693775e
Update GO Shiny Banlist ( #2827 )
...
Remove Venonat (Throwback Challenge 2020: Kanto).
Also switch to using enum like SWSH Hidden Ability banlist -- evolution families all on one line.
2020-04-30 17:05:44 -07:00
Kurt
67b19f7244
Update Encounters8NestDist.cs
...
Bye bye invalid drilbur, nice meme GF
The first rotom2 in Shield had its moves changed too. Keep that rotom-2 since Discharge can't be learned at that level.
since sw and sh have the same drilbur, it moves from sw -> common.
2020-04-28 11:36:03 -07:00
Kurt
2e390573bc
Add new meta distribution raids
2020-04-27 17:44:36 -07:00
Kurt
460062a07c
add generic sav block editor
2020-04-26 16:23:06 -07:00
Kurt
6cce57d505
Add configsave to accessor
...
xy battle background makes up the other 5 bits; good to know!
reorder enum to match comments in properties (switch=0)
2020-04-26 15:17:58 -07:00
Kurt
a55b4da05c
Add evo data for mimejr-0 => mrmime-0 (no gen8)
2020-04-26 12:00:45 -07:00
Kurt
ca48b4e617
Fix nick set
...
Closes #2817
2020-04-25 17:18:04 -07:00
Matt
068f6e2f5f
Fix Big Sprite ItemShiftY ( #2816 )
...
Strange Souvenir and Room Service would get cut off since they're tall.
Also remove Adventure Guide from resources, and add Discount Coupon to Gen 7 unreleased items.
2020-04-25 11:05:12 -07:00
Kurt
b0c94fc381
Revert "调整细节 ( #2720 )"
...
This reverts commit 8b94794115
.
2020-04-25 08:49:18 -07:00
Kurt
0edbef8ba4
Add more HA banlist
...
definitely more
2020-04-24 08:24:12 -07:00
Kurt
8a0295e4e9
Minor clean
...
GetLanguageIndex never returns <0
2020-04-23 20:54:20 -07:00
Kurt
913d2773bf
Pass form when form doesn't match encounter
...
This is still a horrible hack, needs to be done similar to encounter slots
handle the galar NFE formchange cases
2020-04-23 20:53:57 -07:00
Kurt
8a54e8c7b9
psim behavior update: Preserve "Antique" on tea export
...
https://github.com/smogon/pokemon-showdown/pull/6429
2020-04-17 11:41:34 -07:00
Kurt
cc3681c41d
Update SAV6AO.cs
2020-04-16 16:38:01 -07:00
Kurt
d6171669e4
Add swsh box wallpapers
...
Co-Authored-By: Matt <sora10pls@users.noreply.github.com>
2020-04-16 14:50:41 -07:00
Kurt
47819a87c4
Update SaveBlockAccessor8SWSH.cs
2020-04-16 14:21:11 -07:00
Kurt
70e7c01896
Add more block-key settings
...
Co-Authored-By: Matt <sora10pls@users.noreply.github.com>
2020-04-16 13:37:48 -07:00
Kurt
e9406599e0
Remove more unnecessary null checks
2020-04-16 13:11:27 -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
a9a748e82d
Update EncounterTradeGenerator.cs
2020-04-16 11:06:54 -07:00
Kurt
ba30f33045
Update EncounterStatic.cs
...
Closes #2810
2020-04-16 09:30:20 -07:00
Kurt
9b56eef821
Add deferral case for shiny type
2020-04-15 18:30:29 -07:00
Kurt
1192ff7307
Case insensitive shiny/suggest
...
closes #2809 , nothing wrong with existing behavior, just allowing the "suggest" and "shiny" to be any.
2020-04-15 16:23:20 -07:00
Kurt
66dddc9101
Clean up some method parameters
2020-04-14 10:59:36 -07:00
Kurt
546412e410
Rename class/method name
2020-04-14 10:59:16 -07:00
Kurt
ee1cfa8912
Hanle some compiler messages
2020-04-14 10:52:19 -07:00
Kurt
8936c58417
Skip setdex/modify on box sort
2020-04-14 10:46:21 -07:00
Kurt
40d000fdce
Extract reusable method
2020-04-14 10:08:02 -07:00
Matt
be229d03fb
Update GO Shiny Banlist ( #2808 )
...
Forgot to update when the Easter event began. Removes Shiny Exeggcute/Exeggutor.
2020-04-13 13:57:34 -07:00
Kurt
f22b1c3e52
Update 20.04.14
2020-04-13 10:16:49 -07:00
Kurt
d398ad56d5
Update translations
...
Not really much here, but that's all that's been added since last time.
2020-04-13 09:55:21 -07:00
Kurt
49bdfa7f9d
Add date copy $suggest
2020-04-13 09:23:31 -07:00
Kurt
76e1f70b9e
Update ShowdownSet.cs
2020-04-12 20:31:44 -07:00
Kurt
67e9809ecd
Require exact form matching
2020-04-12 19:41:03 -07:00
Kurt
33bdacebe8
Minor tweaks
...
Handle some compiler/extension suggestions
2020-04-12 16:07:59 -07:00
Kurt
0ada4cbd77
Remove some unnecessary null checks
2020-04-12 13:20:40 -07:00
Kurt
30d21e4532
Extract out showdown set interface
2020-04-12 13:05:29 -07:00
Kurt
a94c754c3f
More shedinja edge cases
...
Don't allow shedinja evolution moves if it wasn't evolved in that generation
2020-04-12 11:28:03 -07:00
Kurt
8ac61d7ff7
Allow antishiny CXD spreads for some checks
2020-04-11 23:14:16 -07:00
Kurt
2e0aba55b2
Add Easter distribution raids
...
No difference in sword exclusives
2020-04-09 23:04:29 -07:00
Kurt
7fd7a86074
Shiny check lockless XD shadow encounters
2020-04-09 14:14:48 -07:00
Kurt
4d061c561a
Add initial marking checks
2020-04-06 16:32:23 -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
fdc174ea99
Fix raichu-a banned evolution in g7 s/m
...
add a comment and parenthesis in something unrelated
Closes #2807 ty @MichiS97 !
2020-04-06 08:10:49 -07:00
Kurt
270d984130
Minor clean
...
Remove unnecessary null checks
Mark some methods with nullable type
2020-04-04 19:30:50 -07:00
Matt
6f39f25189
Misc changes ( #2806 )
...
Add small Female Hippopotas/Hippowdon sprites (Closes #2789 )
Add Pt Togepi Gift Egg Event Constant (Closes #2801 )
Remove Pokémon Den from Egg Locations (Closes #2804 )
Fix Shiny Dhelmise sprite (as per 3774e0dd34
)
2020-04-04 17:10:41 -07:00
Matt
f7a83dea2c
Force Ability 1 for SWSH Gift Charmander ( #2800 )
...
As per new findings with latest commit of pkNX: 5016baf9ea
2020-03-27 17:47:13 -07:00
Chris
f6ad77ab04
Fix item check for silvally (pixie plate)
...
Remove the comparison, was a copy/paste from Arceus 3y ago
a7339ae26f
2020-03-27 12:15:22 -07:00
Kurt
d73457a395
Update Encounters8NestDist.cs
2020-03-26 08:40:16 -07:00
Kurt
9e8858ac51
Allow traded gen8 eggs to have OT linktrade mem
...
Stupid lacking game checks
2020-03-25 19:18:52 -07:00
Kurt
84abc04d07
3/25 Wild Area News
...
Restrict abilities for crystal raids (corviknight always hidden, everything else can be anything-except-hidden).
2020-03-25 19:02:09 -07:00
Kurt
a7026236cc
Fix order of operations
...
underflow behavior is desired; (uint)(10-15/10) results in zero
2020-03-25 14:37:41 -07:00
Kurt
d65338557e
Add hp stat
2020-03-24 11:44:54 -07:00
Kurt
f4952faa6f
Add zh2 trade localization
...
ye it's different from the zh strings, resulting in different nick/OT
ty @Lusamine !
add another gyarados location while we're here
2020-03-21 10:48:26 -07:00
Kurt
5402c5d108
Update Analysis.cs
2020-03-20 23:26:45 -07:00
Kurt
aaf6642d31
Rename Data -> BinLinker
2020-03-20 15:18:59 -07:00
Kurt
799e4852cf
Minor clean
2020-03-20 13:33:15 -07:00
Kurt
dbfcef2efe
Move files to group subfolder
2020-03-20 12:13:37 -07:00
XxPhoenix1996xX
d66d761d3c
Update Spanish Translation ( #2795 )
...
* Update lang_es.txt
* Create flags_gg_es.txt
* Update PKHeX.Core.csproj
2020-03-20 11:42:58 -07:00
Kurt
cce28df6e3
Update PKMConverter.cs
2020-03-20 09:28:16 -07:00
Archit Date
e3e46209e9
add back watchtower as a legal location ( #2796 )
...
made an oopsie, Watchtower Ruins also apparently includes 2 extra dens that can spawn encounters that are not 8NC. Den 17 is locked to 8NC encounters only, but location-wise there is no difference between Den 15,16,17
2020-03-20 07:22:44 -07:00
Kurt
c8343e9f5d
Update EncounterArea8.cs
2020-03-19 22:15:01 -07:00
Kurt
72e0fbe225
Update EncounterArea8.cs
2020-03-19 21:06:46 -07:00
Kurt
61cbf04c2e
Fix comparison to watchtower, not wild area
...
unshuffle the IVs for comparison, oops
2020-03-19 21:04:17 -07:00
Kurt
a188317e84
Add another diggersby location
...
ty @Lusamine
2020-03-19 20:50:58 -07:00
Kurt
27d1feafd7
Revise egg wc3 fateful check to return instead of break
...
Emerald has the same met locations too, which doesn't clear fateful. So if it was hatched in an RS(E) location, we can't know for sure.
Closes #2790 , but keep in mind the posted file is illegal anyways -- can't get egg move aromatherapy with wish.
2020-03-19 17:05:16 -07:00
Kamron Batman
a33fa5efbe
Fixes files ( #2792 )
2020-03-19 13:48:46 -07:00
Kurt
5e32e9203e
Add setting to apply nature to statnature on import
...
Co-Authored-By: toim22 <toim22@users.noreply.github.com>
#2794
2020-03-19 13:47:25 -07:00
CanoeHope
df09868470
Add another SWSH block ( #2793 )
...
Nothing special. Just found it and figured why not add it.
2020-03-19 11:38:17 -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
090f83d197
Unban and337 as held item
2020-03-18 22:31:41 -07:00
Kurt
afeb06d3ae
Allow ability 1/2 for wb7 origin
2020-03-18 22:31:27 -07:00
Kurt
093586bb69
Update Encounters8NestDist.cs
2020-03-18 22:23:21 -07:00
Kurt
d06949bdb3
Update min level clamps, actually compare req PID
...
Closes #2787
The commit a couple days ago added the missing minimum level restrictions; community documentation was slightly misleading but we should be good now.
The PID check was nonfunctional (compared A==A or A==A*), rather than actually checking the fixed PID.
Co-Authored-By: feralfalcon <feralfalcon@users.noreply.github.com>
2020-03-18 12:23:09 -07:00
XxPhoenix1996xX
8a1405125e
Add Spanish Event Flags Translation / Update Spanish Translation ( #2786 )
2020-03-18 10:25:22 -07:00
Kermalis
face69d469
Fix Emerald decorations ( #2788 )
2020-03-18 00:25:02 -07:00
Kurt
429a3b1a08
Expose decoration list for editing
...
Closes #2785 , not making a GUI for this (someone else can do it)
Moves RTC3 to the appropriate folder
2020-03-17 12:14:01 -07:00
Matt
d004389a3e
Update Gen 4 trade min levels ( #2769 )
...
Eggs hatch at Lv. 1 in Gen 4, and some other Species can be found in the wild at Levels lower than their intended evolution requirement.
Closes #2768
2020-03-16 18:14:22 -07:00
Kurt
98cd28d5d3
Swap string differentiation for HOME gifts
...
30018 is used by the gift; original fake WC's that EventsGallery created used the 40086 (now fixed on their repo)
2180608ed2
2020-03-16 12:05:33 -07:00
Kurt
1c6b99185d
Ignore bits above the first 3
...
Some save files use bits 3-7?
2020-03-15 11:11:55 -07:00
Kurt
3aaf318035
Update event database, handle HOME gifts horribly
2020-03-14 14:22:45 -07:00
Kurt
d21cca7a90
Move gmax strip to top
2020-03-14 12:21:42 -07:00
Kurt
94d8125574
Split up Friend Safari checks & generator
...
removes one GetEnumerator call for non-fsafari encounters
2020-03-14 11:32:27 -07:00
Kurt
6a5bf02126
Add min levels for trades
...
Make PIDs readonly for trades
Clone FR/LG Lickitung (different min levels)
2020-03-13 21:39:35 -07:00
Kurt
c4ce22412a
Handle japanese name if egg
...
Closes #2756
For eggs that we don't know the OT of, they'll still show invalid (empty string).
ty @PrometheusG !
2020-03-13 18:37:51 -07:00
Kurt
0a39e0a834
Handle gmax tox with latest showdown logic
2020-03-13 17:43:21 -07:00
pi1024e
8a1e73e5b3
Change OT_Class to have an expression body ( #2759 )
2020-03-13 10:28:50 -07:00
Kurt
6f0c3c1205
Add 3 more met locations
...
Co-Authored-By: Lusamine <lusamine@users.noreply.github.com>
2020-03-12 20:36:31 -07:00
Kurt
b68e9472cb
Break apart value fetch -> compare
...
easier to debug
2020-03-12 15:05:59 -07:00
Kurt
fbd533092d
Fix misspelling of the word "Received"
...
Closes #2757
Co-Authored-By: pi1024e <pi1024e@users.noreply.github.com>
2020-03-12 15:05:34 -07:00
Kurt
eb01591861
Remove duplicate method
...
Extract magic number 0x40000
2020-03-11 21:09:36 -07:00
Kurt
b5f1fc71c4
Use original PID for xor flip check
...
swap pkm.PID -> pkm.EncryptionConstant, simplify comparison
Co-Authored-By: Lusamine <lusamine@users.noreply.github.com>
2020-03-11 20:09:09 -07:00
Kurt
dcb7336d92
Hide pika beach on !YW, add a few RS flags
...
Closes #2745 , ty @FeralFalcon
hidden items are meh, items can be hacked in.
Co-Authored-By: feralfalcon <feralfalcon@users.noreply.github.com>
2020-03-11 19:33:17 -07:00
Kurt
1d5f929981
Fix shiny check behavior for XD nonshadows
...
XD compares the player TSV against the non-shadow members, which is unnecessary but does result in them being able to cause shiny skips.
Update the VerifyNPC method to remove tsv check, as it's just repeating the logic we've done in the lock generator.
Added a test method that can be stepped through; compare the team results manually since they aren't exposed for interaction.
Closes #2751 , big thanks to @ijuintekka for being so detailed in their investigation/report!
Co-Authored-By: ijuintekka <ijuintekka@users.noreply.github.com>
2020-03-11 19:18:58 -07:00
qhq
b799819131
Update text_Forms_zh.txt ( #2753 )
2020-03-11 18:18:27 -07:00
Kurt
efc0a9bcc4
Ban HA Pumpkaboo/Gourgeist Small/Large
...
Co-Authored-By: Lusamine <lusamine@users.noreply.github.com>
2020-03-11 17:38:01 -07:00
Kurt
1c2d9cf84c
Add another Lanturn location, level 38 Corviknight
...
Yay using bots to collect encounter data from players around the world :P
Co-Authored-By: Lusamine <lusamine@users.noreply.github.com>
2020-03-11 16:38:04 -07:00
Kurt
0aa6282d73
Sanity check value types via generic method
2020-03-11 16:31:53 -07:00
Kurt
f9bbeba3ad
Add get/set for swsh current box
...
Closes #2742
Co-Authored-By: Matt <sora10pls@users.noreply.github.com>
2020-03-10 23:18:51 -07:00
Kurt
eccfb61839
Update BallVerifier.cs
2020-03-10 22:59:46 -07:00
Kurt
9dbc3cd418
Permit galar native species to inherit past-gen balls
2020-03-10 17:53:56 -07:00
Kurt
093ce2a020
Add ★And337 4-Star Gigantamax Corviknight
2020-03-08 17:20:00 -07:00
Kurt
e2c579fbbc
3/8 - Gengar/Machamp nests
...
New? Dynamax Crystal: ★And337 - 4-Star Gigantamax Corviknight ???
2020-03-08 17:14:20 -07:00
qhq
5d63235dee
Update LegalityCheckStrings_zh.txt ( #2752 )
2020-03-06 05:54:13 -08:00
Kurt
d7cebb9d0c
Update LegalityCheckStrings_es.txt ( #2750 )
...
Making some changes on the previous strings update (not putting away Phoenix's effort tho!)
2020-03-05 10:59:32 -08:00
Kurt
116962317c
Update LegalityCheckStrings_es.txt ( #2748 )
2020-03-05 08:01:42 -08:00
Kurt
ed02f39224
Use another overload
...
Co-Authored-By: Archit Date <architdate@gmail.com>
2020-03-04 22:31:07 -08:00
Kurt
4c226340fe
Add shiny sprites, alcremie sprites & big sprites for all
...
Keeping the 30x40 for now; might change my mind later.
Kept the gmax sprites but they're unused.
2020-03-03 20:22:57 -08:00
Kurt
7919beaddc
Filter out duplicate moves
2020-03-03 18:23:00 -08:00
Kermalis
5a89c6af4c
Gen 3 Flags (Remastered!) ( #2744 )
2020-03-02 16:44:52 -08:00
Kurt
a83556d612
Heal x->pk8 converts
2020-03-02 16:32:23 -08:00
CanoeHope
e51df9855d
Add blocks for NPC and Friend League Cards ( #2741 )
...
* Add blocks for NPC and Friend League Cards
* Update SaveBlockAccessor8SWSH.cs
2020-03-01 00:47:56 -08:00
Kurt
4fb33413e3
Only set display shiny of not owned
...
Closes #2740 ; we don't want to set display shiny if it's not shiny
we only want to set display-shiny if (!owned && shiny)
Co-Authored-By: canoehope <canoehope@users.noreply.github.com>
2020-02-28 17:35:50 -08:00
Kurt
d80d1598dc
Only set displayed form if not previously owned
...
Closes #2739
2020-02-28 15:31:26 -08:00
Kurt
d58426ebf5
Hide affection fields, remove setters for unused
...
#2738
2020-02-27 20:53:33 -08:00
Kurt
b831d52b79
not capturable
...
gotta drip feed content -- tease ppl to migrate from prior games ($$$)
2020-02-26 17:16:52 -08:00
Kurt
283b7a353b
Add mewtwo raids
...
Mewtwo encounter has been added; awaiting confirmation that it can be captured (assumed yes)
Gen1 starters can be captured in beast ball in gen7 (scan), so nothing changes for ball legality.
2020-02-26 17:03:53 -08:00
Matt
0b5116f567
Add Battle Frontier + Facilities to Valid HGSS Met ( #2735 )
...
Accessible in Pt/HGSS, but not DP.
Closes #2734
2020-02-25 13:15:50 -08:00
Kurt
549e6f616b
allow shared eggmoves on format
2020-02-22 23:27:47 -08:00
Kurt
d93b603a31
Merge branch 'master' of https://github.com/kwsch/PKHeX
2020-02-22 19:47:28 -08:00
Kurt
e378821101
Remove duplicate key item list for pc items
...
Closes #2733
Co-Authored-By: kermalis <kermalis@users.noreply.github.com>
2020-02-22 19:47:25 -08:00
Kermalis
441a60a2fb
Some gen 3 flags ( #2732 )
2020-02-21 21:42:34 -08:00
Matt
7cb80fdbc5
Update GO Shiny Banlist ( #2731 )
...
- Valentine’s Day Event (Chansey)
- Raid Day (Lickitung)
- February Community Day (Rhyhorn)
2020-02-21 19:40:10 -08:00
Kurt
5240e67a14
Revert "Loop shiny force regardless of format"
...
This reverts commit cc8e5d9c32
.
2020-02-21 15:02:16 -08:00
Kurt
509e2f1fa3
Handle more evolution/form checks
...
Closes #2726
1. Add variant evolutions to form-match cases
2. Ban LGPE origin alolan raichu
3. Add egg form check for unavailable regional forms
4. Previous commit fixed mew (remove ribbon interface from WB7)
Co-Authored-By: Matt <sora10pls@users.noreply.github.com>
2020-02-20 22:11:48 -08:00
Kurt
4771158194
Remove ribbon check for mew
...
- Data is set to give a Classic ribbon
- The classic ribbon isnt ever applied
- nor does a transferred pb7->pk8 get it
so just remove the interface and treat it as unused (cuz it is, unused.)
2020-02-20 21:43:02 -08:00
Kurt
4116fb5b9b
Fix sprite format for gen3
...
Closes #2725
Fix crash if canceling the FRLG version select
Co-Authored-By: Kermalis <kermalis@users.noreply.github.com>
2020-02-20 19:36:06 -08:00
Kurt
03c58dbe89
Use selected language instead of sav lang
2020-02-19 21:32:01 -08:00
qhq
8b94794115
调整细节 ( #2720 )
2020-02-17 20:22:36 -08:00
Kurt
66efbaf407
Add box manip for heal all slots
2020-02-17 19:28:20 -08:00
Kurt
15121c2945
Fix shared egg moves for non-galar origin
...
Use the private method; we already know the gen and that the egg moves are permitted
Relocate method to MoveEgg
2020-02-16 19:47:57 -08:00
Kurt
0e2734d2d5
Add evo data for alolan raichu / weezing
...
Ban the evolution methods since they can't be triggered in-game
allows the gen8 evo tree to reverse evolve past gen specimens
2020-02-16 18:16:22 -08:00
Kurt
ee38e6890b
Disallow gen7 ribbons on lgpe origin
2020-02-16 17:41:38 -08:00
Kurt
f48a11f013
add 2/17 raids
...
milcery gone, toxel appears
2020-02-16 17:02:53 -08:00
Kurt
fc9d0b4b24
Add hint for pkm with dummied moves
...
Closes #2716
2020-02-16 12:17:36 -08:00
Kurt
cc8e5d9c32
Loop shiny force regardless of format
...
https://github.com/kwsch/PKHeX/issues/2717#issuecomment-586741748
2020-02-16 11:46:06 -08:00
Kurt
0d4cff81c6
Clean
2020-02-15 14:29:23 -08:00
Kurt
5e65df6758
Update egg ball check for galar non-natives
...
pretty rough check, but flags the old starters in bad balls now
2020-02-15 14:22:37 -08:00
Kurt
21eb9cb499
Remove gen7b trade evo if HT present requirement
...
lgpe->HOME->lgpe can set the HT details, but it isn't a trade.
2020-02-15 13:43:58 -08:00
Kurt
3e4bb9f320
Ignore keldeo resolute form check on gen8+
...
can mismatch in gen8+ as the form activates in battle when knowing the move; outside of battle can be either state.
2020-02-15 13:30:50 -08:00
Kurt
9e16df4970
Only check g6 contest ribbon affection in g6/7
...
Affection is discarded on PK7->PK8 in favor of friendship, which can be lowered.
2020-02-15 11:43:21 -08:00
Kurt
b9e3ddf612
Disallow regular slowpoke
...
Closes #2708
Can't be moved into the game (no sprites yet).
To be removed or handled a better whenever DLC comes out.
2020-02-14 14:52:05 -08:00
Kurt
9efaae0df6
Remove unneded property copy
...
eggs didnt exist in lgpe, would be all zero anyways
memories copy in pk7, remove todo
2020-02-14 14:48:48 -08:00
Kurt
ae0777018c
Update PB7.cs
...
Co-Authored-By: Chris Feger <piepie62@users.noreply.github.com>
2020-02-14 11:48:13 -08:00
Kurt
d560fbcf7f
Fix typo
...
Co-Authored-By: Chris Feger <piepie62@users.noreply.github.com>
2020-02-13 21:00:07 -08:00
Kurt
0c83c48cef
Add MrMime-1 check for past gen origin
...
permit mime jr evolving to mr mime-1
2020-02-13 20:00:41 -08:00
Kurt
f62b6e33f3
handle alolan meowth origin in gen8
...
https://projectpokemon.org/home/forums/topic/56267-checks-associated-with-events-or-forms/
2020-02-13 17:05:06 -08:00
Kurt
3ce590aca8
Don't clear FormArgument on set to box slot
...
Closes #2706
removal of isParty prevents the erroneous force-0 behavior
Co-Authored-By: Russell Jones <questiondesk@gmail.com>
2020-02-13 16:35:37 -08:00
Kurt
c855bb8bcc
Expose method for reuse in other projects
2020-02-12 20:42:45 -08:00
Kurt
75d8635580
Fix lgpe moveset restriction
...
Closes #2704
Co-Authored-By: BetaLeaf <betaleaf@gmail.com>
2020-02-12 20:25:39 -08:00
Kurt
6346444db7
Extract home tracker to interface
2020-02-12 18:52:48 -08:00
Kurt
3d6846eb3e
Permit more HA breeding
...
Remove non-galar species from gen8 banlist
Add Ban_NoHidden8Apricorn -- all of these aren't even breedable in-game anyways, but futureproof for DLC? ;)
2020-02-12 18:40:41 -08:00
Kurt
258993ad0c
Flag missing tracker regardless of setting
2020-02-12 18:29:47 -08:00
Kurt
6ef2950cc4
Add toggleable flag setting for tracker, update translations
2020-02-12 18:14:23 -08:00
Kurt
63044cd3f9
Add tracker unique text & setting
2020-02-12 18:10:24 -08:00
Kurt
e77fa205a0
Add tracker editor
2020-02-12 18:10:03 -08:00
Kurt
fd4690714e
Add duplicate tracker SAV check
2020-02-12 16:37:59 -08:00
Kurt
9f6d234c53
Fix hgss box wallpaper read
...
lol oops
Closes #2698
Co-Authored-By: ammako <ammako@users.noreply.github.com>
2020-02-11 23:24:03 -08:00
Kurt
d3c060e1d4
Add pt flags
...
Closes #2699
Co-Authored-By: FeralFalcon <feralfalcon@users.noreply.github.com>
2020-02-11 23:21:21 -08:00
Kurt
3e9262efbb
Only check memory feeling restriction if gen6
...
dunno restrictions for gen8 memories.
2020-02-11 22:25:50 -08:00
Kurt
87bb4c4138
Add more met locations
...
https: //projectpokemon.org/home/forums/topic/56227-bug-missing-game-encounter-affecting-legality-status/
Co-Authored-By: pp-theslayer <pp-theslayer@users.noreply.github.com>
2020-02-11 20:50:26 -08:00
Kurt
d97db1cc40
Allow pk7->pk8 pikachu cap transfer
2020-02-11 20:36:10 -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
435953f4e1
Don't transfer locale
2020-02-11 19:04:00 -08:00
Kurt
217156d2b9
Continued comparisons & implications
...
pk7->pk8 doesnt assign height/weight (zero), require zero for legal
p*7->pk8 assigns a tracker value, enforce something is present for legal
copy OT friendship (oops)
2020-02-11 18:35:54 -08:00
Kurt
332f92f5e9
Update p*7 transfer logic
...
Add scalars & stat natures
Do note: there is more data that is set and can potentially be used to flag you for cheats. Beware.
2020-02-11 18:05:07 -08:00
Kurt
7523639b48
Unbanana galar transfers
...
Initial restriction removal, probably more implications
Need to reverse transfer logic
2020-02-11 17:29:10 -08:00
CanoeHope
29814d4251
Change FRLG hatch location ( #2700 )
...
Better location.
2020-02-11 15:39:27 -08:00
CanoeHope
7ab128de89
Add SwSh Birthday blocks ( #2696 )
...
Because the Switch doesn't have a feature to internally store your B-day like the DS and 3DS does, you set it in-game by the "Fortune Girl" right in front of Wedgehurst's PokeCenter in month and day.
https://www.serebii.net/swordshield/birthdays.shtml
2020-02-10 18:14:20 -08:00
CanoeHope
d3a284699f
Change Gen 5 hatch location ( #2695 )
...
Skyarrow Bridge is more popular to hatch at legitimately.
2020-02-10 12:52:55 -08:00
CanoeHope
acb9cc2a9d
Add Gender to Gen 8 Trainer Card ( #2694 )
2020-02-10 12:02:52 -08:00
Kurt
cb5d8186fd
Defer formargument for raids
...
Closes #2693
Account for runerigus too, if they ever have a den for it ;)
Co-Authored-By: crzyc <crzyc@users.noreply.github.com>
2020-02-09 15:04:45 -08:00
Kurt
b94430a89f
Ban bred HA voltorb in beast ball
...
https://projectpokemon.org/home/forums/topic/56212-legality-ha-voltorb-in-beast-ball/
https://www.reddit.com/r/BankBallExchange/comments/7boi0h/new_apricorn_and_beast_ball_combinations_for_usum/dpwu5in/
ty Prophet丶W
2020-02-08 20:24:02 -08:00
Kurt
4656978a43
Enforce toxtricity encounters to have restricted nature
2020-02-08 15:08:12 -08:00
Kurt
e9e1e5e166
Fix encounter find for passed egg moves
...
https://projectpokemon.org/home/forums/topic/56188-encounter-database-froslass-error/
2020-02-08 13:36:37 -08:00
Kurt
8e5876b96f
Expose item->form methods
2020-02-07 21:34:25 -08:00
Kurt
48bc4ec8fa
Don't yield twice
...
oops lol
2020-02-07 21:34:05 -08:00
Kurt
6d24905a7d
Update hypertrained IVs on export
...
Don't indicate flawed IVs; just pre-compute the hidden power type.
Remove unnecessary language logic (not needed due to prior commit)
Optimize string concat to a single interpolation, because it's totally a performance improvement!!!1
2020-02-07 17:50:42 -08:00
Kurt
9ffac4382a
Replace gender symbols for nidoran with -M/F
2020-02-07 17:42:28 -08:00
Kurt
1cd23e6587
Don't include language name as nickname on set export
2020-02-07 17:42:16 -08:00
Kurt
1bf22467de
Add Rental Team (gen8) reader
2020-02-07 17:23:26 -08:00
Kurt
d52366b0d5
Add download rules/comp block labels
...
https: //projectpokemon.org/home/forums/topic/56121-swsh-blocks-and-save-research/
Co-Authored-By: pp-theslayer <pp-theslayer@users.noreply.github.com>
2020-02-07 16:32:05 -08:00
Kurt
a73f14836d
Add HoF time block accessor object
...
Not gonna add it to the interface
Closes #2691
Co-Authored-By: canoehope <canoehope@users.noreply.github.com>
2020-02-07 15:59:36 -08:00
Kurt
c08cf9c95f
Add rental team hashes
...
Co-Authored-By: Archit Date <architdate@gmail.com>
2020-02-07 15:33:53 -08:00
Kurt
7866958af8
Add dynamax crystal type, exclude from activation
...
Closes #2690
Co-Authored-By: slp32 <slp32@users.noreply.github.com>
2020-02-07 10:16:27 -08:00
Kurt
6e5ef9667f
Add female gender check for stadium
...
Closes #2687
2020-02-06 21:25:13 -08:00
Kurt
cc05a38548
Clear team slots on blank load
...
Closes #2688
2020-02-06 20:11:58 -08:00
Kurt
cdd4cb33b2
Add togepi hgss const
...
Closes #2689
Co-Authored-By: asterysx <asterysx@users.noreply.github.com>
2020-02-06 19:36:47 -08:00
Frank
e5286f3325
RaidSpawnList8 fix DenType and Flags ( #2686 )
...
* RaidSpawnList8 use enum RaidType for DenType
fix IsWishingPiece and add WattsHarvested
* Add check between RaidType.Event and IsEvent flag
2020-02-06 17:12:26 -08:00
Kurt
29258ca501
Add tox nests
2020-02-06 17:11:39 -08:00
Kurt
a004b301d0
Add record count incrementing for sav8
...
Closes #2685 ty @CanoeHope
2020-02-05 19:42:46 -08:00
Kurt
81c78be8c7
Change default gen7 hatch location
...
ty @CanoeHope #2685
2020-02-05 19:42:22 -08:00
Kurt
bc45660f99
Update legal raid clamp
...
https: //github.com/kwsch/PKHeX/issues/2681#issuecomment-582215498
Co-Authored-By: slp32 <slp32@users.noreply.github.com>
2020-02-04 19:06:33 -08:00
Kurt
d3d6225a73
Fix unown ?! order
...
Closes #2683
ty @Kermalis !
2020-02-04 19:03:55 -08:00
Kurt
5ac9782320
Form check wild unown
...
Closes #2682
2020-02-04 17:38:35 -08:00
Kurt
2e1528b199
Merge branch 'master' of https://github.com/kwsch/PKHeX
2020-02-04 16:55:42 -08:00
Kurt
7e6cae4004
Clamp activating raids to available indexes
...
Closes #2681
2020-02-04 16:55:40 -08:00
Yurical
a4e579c49b
Update Korean translation ( #2680 )
2020-02-04 07:36:40 -08:00
CanoeHope
9b172d2666
Correct Day offset ( #2679 )
...
a1ae14325a (commitcomment-37103852)
2020-02-04 07:35:02 -08:00
Kurt
867f62c555
Check multi lang stadium OTs
...
Closes #2671
really wish the gen1-3 event data was serialized ;)
2020-02-03 20:10:07 -08:00
Kurt
bdf6afd2f3
Fix egg trainer name logic for wc3
...
Closes #2676
2020-02-03 19:22:16 -08:00
Kurt
0e1fd49be1
Decrement runtime language if appropriate
...
Closes #2674
2020-02-03 19:16:30 -08:00
Kurt
a1ae14325a
Add more block documentation
...
Ty @CanoeHope !
Closes #2677
To edit these values, use the Block Data editor and select the *Object Trainer Card
Co-Authored-By: CanoeHope <canoehope@users.noreply.github.com>
2020-02-03 18:56:35 -08:00
Kurt
522dbdbe32
Flute boost/decrease 3->4
...
Closes #2678 ty @Rayqo
dat level 1 wild pokemon 👍
2020-02-03 18:40:31 -08:00
Kurt
b31f0428cf
Add raidtype docs & wishing piece indication
2020-02-02 10:21:34 -08:00
Kurt
222d95e742
Add bridge field loc for nest35
...
https://projectpokemon.org/home/forums/topic/56154-illegal-theivul/
2020-02-01 21:45:33 -08:00
Kurt
43036e7e94
Add team index recognition
...
lock by default until we find the location that locks team slots
2020-02-01 18:56:23 -08:00
Matt
cbf6c1e1b6
Unban Star Sweet and Ribbon Sweet ( #2670 )
...
Item drops from the new Milcery distribution Raids.
2020-01-30 19:30:17 -08:00
Kurt
774dec5123
Add milcery distro nests
2020-01-30 16:44:51 -08:00
Archit Date
c8a16a1f71
fix yamask/runerigus form handling ( #2669 )
...
fixes #2668
2020-01-29 16:11:56 -08:00
Kurt
b35d53368f
Sort blocks by initial value
...
allows some lumping of similar-value blocks for easier analysis
2020-01-28 19:08:26 -08:00
Kurt
dd07126d83
Relocate level suggestions to EncounterSuggestion
2020-01-28 16:21:38 -08:00
Kurt
ee5c033b51
Add dlc block annotations
...
ty @pp-theslayer
https://projectpokemon.org/home/forums/topic/56121-swsh-blocks-and-save-research/
add another array detail
2020-01-28 16:21:11 -08:00
Kurt
3111a8dc62
Cast the array a little safer
...
bad hacks with invalid future gen evolutions yield no evolution data, which results in empty arrays.
2020-01-26 23:58:14 -08:00
Kurt
a3e9649f09
Update 20.01.26
...
Update with latest events from EventsGallery
2020-01-26 00:35:31 -08:00
Kurt
f0fb6a2371
Play with living dex gen a little
...
generate altforms too, store in a list
2020-01-25 22:54:25 -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
edc95efe95
Add 2 more b2w2 flags
...
Closes #2661
Add more clarification for kyogre/groudon const value; not gonna re-localize myself :P
2020-01-25 18:09:27 -08:00
Kurt
9b062bc770
Remove unused legality check strings
...
Fix spanish translation messages not being loaded
2020-01-25 17:37:47 -08:00
Kurt
ffa70e7626
Move files
...
no functional change, just putting stuff in a more appropriate folder
2020-01-25 17:22:20 -08:00
Kurt
b5d48bc14f
Split up portions of CommonEdits
...
Cuts out about half the size; there's still a bunch of apply-value logic but it's not really big enough for a separate class.
Rename BallRandomizer->BallApplicator
2020-01-25 16:47:44 -08:00
Kurt
88dcb59798
Extract language initialization to core
...
Call this method whenever you boot a separate app that needs legality strings to be ready.
2020-01-25 16:27:16 -08:00
Kurt
3813d5dba9
Readonly init EvolutionMethod
...
Add xmldoc
2020-01-25 15:42:17 -08:00
Kurt
9c28ffacc0
Simplify N's pkm encounter handling
...
Readonly PID; sparkle is True always, so it's a const instead of a mutable property.
2020-01-25 12:31:56 -08:00
Kurt
7a7358d0e5
Flag g4 bad met locations for hatched eggs
...
Traded eggs in gen4 can have from any game (since version isn't updated on hatch).
Use the hashsets, and remove the incorrect array. The incorrect array allowed stuff like Pokéwalker to be a "valid met location", hah.
2020-01-25 12:19:59 -08:00
Kurt
527442bb49
Only fetch strings when required for compat check
...
if item == 0, don't bother checking. Fetch strings only if there's an issue with the item.
2020-01-25 12:16:45 -08:00
Kurt
63ee520e75
Fix de ribbon name missing
2020-01-25 10:17:02 -08:00
Kurt
c730dfa1ba
Remove empty ushort[1], improve item combo fetch
...
held item list now allocates less (concat arrays instead of ienumerables)
item list already prunes out of range items, so simplify data source fetch
simplify item list prune (return as list, so we can call RemoveAll instead of Where.ToList)
2020-01-24 23:29:45 -08:00
Kurt
6dddb0526f
Fix starter order
...
Closes #2660
2020-01-24 20:18:26 -08:00
Kurt
f50ee0f18e
Update gen3/4 event flag lists
...
Closes #2659 ty @FeralFalcon !
2020-01-24 18:13:23 -08:00
Kurt
9b6a10df46
Extract metadata-reflection class to PKHeX.Core
...
separate GUI logic from non-gui logic :)
2020-01-24 17:57:47 -08:00
Kurt
94eee74e5c
Add another rhydon lvl 46 loc
...
Ty @slp32 for reporting in #2633 , && anubis (discord) for finding the actual level without being asked /s
2020-01-24 17:56:42 -08:00
Kurt
92d1ccf3d9
Fix Pokewalker course unlock all
...
write to correct location
https://projectpokemon.org/home/forums/topic/56084-pokewalker-courses/
2020-01-24 17:10:53 -08:00
Kurt
46156b48c6
Add missing generation to accessor type name
...
Now matches Interface declaration style (iAccessorGenGame), and is consistently named with the other accessors already using the same naming style
plus they are now ordered in the file tree :)
no functional change
2020-01-23 23:22:54 -08:00
Kurt
fb02295c70
Use object block names in diff
2020-01-23 23:19:38 -08:00
Kurt
12244909ba
Split off SCBlock-logic from SWSH accessor
...
In case a future game uses this same setup.
2020-01-23 23:16:09 -08:00
Kurt
2adbca628b
Add raw value edits
...
Not done for Array types or Object types
muh reflection, such spooky
mark Offset as non-browsable so it doesn't show up in propertygrid if the block is being edited by a grid :)
I imagine a struct-type-sensitive array property grid edit could be done via Buffer.BlockCopy to a dest array, but there's so few Array blocks... so meh
2020-01-23 21:30:39 -08:00
Kurt
99baa171f4
Indicate known block types at top
...
Uses reflection to grab a list of defined constants (block keys), and a list of defined block reader classes.
Show name of block in red for a more prominent hint that this block is somewhat editable :)
2020-01-23 20:11:39 -08:00
Kurt
a88c7c4800
Add more trainer card/status fields & stats
...
Closes #2658 ty @CanoeHope !
Mostly just serves as documentation; with the amount of fields being editable increasing, hard-coded GUI might not be optimal here. I'm thinking something like a PropertyGrid based on the selected block which will pull up the Block object if the key matches... for fields, something like a dynamically populated list or something.
2020-01-23 18:31:10 -08:00
Egzon
a5985536e2
Miscelanous fix on Underground Scores ( #2657 )
...
* UG scores are uint32, with max value up to 999999.
* fixing label position
* another positioning fix!
2020-01-23 16:37:39 -08:00
Kurt
ecfcbbc4cb
Verify full raid result with known seed
2020-01-23 00:11:07 -08:00
Kurt
467045e95c
Swap rand call order, rename as overload
2020-01-22 19:04:20 -08:00
Kurt
ba5cc26e83
Add indication to which blocks changed
...
Use reflection to grab all const declarations (private and public), and grab the name of that const. Whenever that block is mentioned in our diff, use the name instead of the key.
Helps identify what changed / remove noise if you don't care about that block.
2020-01-22 17:06:23 -08:00
Kurt
4ea2be250f
Add TitleScreen8 and Trainer Card team structs
...
Closes #2653 , ty @CanoeHope !
Editable from the Trainer Info button, comes with a Copy From Party button for each.
2020-01-21 23:23:27 -08:00
Egzon
9cce65e937
Fix Subway Super checks ( #2652 )
...
Oops, it's actually a byte...
2020-01-21 11:00:09 -08:00
Kurt
d9c162b5cf
Fix criteria comparison
...
Closes #2651
2020-01-21 09:05:39 -08:00
Kurt
5be9c6bcc8
Remove unnecessary null handling
...
objects are no longer null
2020-01-20 23:32:05 -08:00
Kurt
5bb51b07ac
Check Footprint Ribbon for gen8
...
gen7 used same as gen6, we just need to restrict gen!=8
add placeholder LGPE origin check; that'll likely throw a wrench into things when HOME happens (next month?).
2020-01-20 23:09:28 -08:00
Kurt
b84cae9ff5
Fix box name write for sav8swsh
...
only used via the view-all-boxes popup when switching boxes
ty anubis!
2020-01-20 22:04:52 -08:00
Kurt
6fdc71b2e4
Update tower record set
...
Record ID const declaration for reuse
Change 255->300 for streak max
Set record as well (ignore currently set value if modified via dropdown)
Closes #2649
Not sure if Money and BP can get a similar record-set treatment.
2020-01-20 18:16:46 -08:00
Egzon
1a3d8b1fab
Fix Seedot and Nuzleaf swarm moves ( #2648 )
2020-01-20 14:31:59 -08:00
Archit Date
117bb35621
handle smogon sets with multiple moves ( #2647 )
...
sometimes competitive sets have multiple moves in one slot as optional coverage moves. Handle these cases by splitting and trimming over '/'. Example: https://pastebin.com/raw/jvPziRdC (The dusk mane set)
2020-01-19 22:30:09 -08:00
Kurt
40e5cd66da
Add block diff for swsh, add bool type toggle
...
Apparently my copypaste of the class didn't delete all the old unused controls. Ha!
Move non-gui logic to core as separate classes, in case ppl wanted to reuse them in their own projects.
2020-01-19 22:29:50 -08:00
Kurt
d788af45cd
Unban HA mimikyu
...
Only one encounter for mimikyu = A4 }, // Mimikyu
Update manual banlist to permit it
Closes #2646
2020-01-19 19:02:53 -08:00
Kurt
a98ca2351d
Don't SetValue to block if not exportable
...
blank saves do not have the type metadata for the blocks that are spoofed, nor do they have all blocks spoofed.
I suspect things might get more difficult as more value-blocks are identified, which would throw a wrench into things. We'll figure that out at that time :)
Add a test to ensure that the blank save can be created correctly
Closes #2644
2020-01-19 10:25:40 -08:00
Kurt
4567bba03f
More elegant block read/write
...
Removes TONS of unnecessary allocations, and is more simple
2020-01-19 00:55:10 -08:00
Kurt
0244cc7489
Add more info to exception message
...
Closes #2644
2020-01-18 19:44:34 -08:00
Egzon Qukovci Jusufi
ab5016bf7d
Add Subway Scores edition ( #2643 )
...
* Add Subway Scores edition
* Changing the offsets handling
Simply use the block offset as the base and add them to it. Also allow edition on B2W2.
2020-01-18 19:31:36 -08:00
Kurt
63ea57436f
Make the template IV/contest stat array readonly
...
See prior commits
no longer need to clone subarrays, they're shared immutable
2020-01-18 19:11:29 -08:00
Kurt
643c0c1cc7
null/empty check -> check both
2020-01-18 17:33:19 -08:00
Kurt
843330a375
Remove unnecessary null checks
...
this is a null free project /s
dont provide null, else u deserve to get an exception
2020-01-18 16:57:25 -08:00
Kurt
8312c52cc1
Make Move[] readonly list
...
contract: don't modify the template movesets
mystery gift now exposes IRelearn, remove unnecessary type checks
2020-01-18 16:46:38 -08:00
Kurt
0cd9c47953
Make Relearn array for encounters readonly
...
No change em
2020-01-18 16:31:24 -08:00
Kurt
40c2c483fb
Common1-3 => Bool1-3
...
Blocks that use Bool1/2 toggle to the other state; evident when comparing between two different saves. The key doesn't change, only the Type is toggled.
2020-01-18 14:19:01 -08:00
Kurt
9b0b0cb1a6
Add misc value r/w for trainer8
...
Closes #2639
casting object to generic T : struct isn't valid, so just cast the get/set appropriately
2020-01-17 23:25:02 -08:00
Kurt
2a7d475b5b
Rearrange key list, add syntax sugar methods
2020-01-17 21:53:51 -08:00
Kurt
e4e1681e1c
Clamp roto rally score to 99_999
...
https://github.com/kwsch/PKHeX/issues/2639#issuecomment-575863541
2020-01-17 21:09:54 -08:00
Kurt
e3cafe5cd6
Relocate getsize to extension method
...
use sizeof for clarity, add test to ensure bool size is 1 byte (which is always true)
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/sizeof
2020-01-17 21:09:26 -08:00
Kurt
a590d3713b
Refine enum with TypeCode names
...
Add GetValue/SetValue/GetType extension methods
2020-01-17 18:59:45 -08:00
Kurt
ff466826af
Flip hgss trade flag state meaning
...
Closes #2640
2020-01-17 16:39:19 -08:00
Kurt
bd9ec72d98
Misc tweaks
...
Add more direct legality analysis constructors
evo count is >= 1
fix invalid test message
disallow gen2 moves if transferred from gen1
use ^1 instead of len-1 for netcore test project
2020-01-16 23:22:54 -08:00
Kurt
c739af4767
Extract item restrictions to separate class
...
Move similar classes to folder
2020-01-16 19:27:29 -08:00
Kurt
baf46f9a3a
cache form/species/format on first get
...
very minor perf consideration, since those values are immutable (except for cross thread shenanigans)
2020-01-16 19:23:29 -08:00
Kurt
e97970023a
Add swsh battle-only forms
2020-01-16 19:03:47 -08:00
Kurt
8315f740cb
Merge branch 'master' of https://github.com/kwsch/PKHeX
2020-01-16 18:54:11 -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
Egzon Qukovci Jusufi
deece433a5
Add SWSH Legends to the Tables ( #2637 )
2020-01-15 20:49:19 -08:00
Archit Date
22ed59d6a3
sanity check necrozma forms ( #2638 )
...
smogon allows Dusk Mane as well as Dusk-Mane as their form argument
2020-01-15 20:48:53 -08:00
Kurt
41f909c08a
Add Roto Rally score, copy Jersey # to other block
...
Closes #2635
2020-01-15 20:48:19 -08:00
Kurt
aecc08f65c
Remove duplicate electrode encounter
...
3IV requirement isn't required for wild slots that are also at the same level-location
Closes #2636
ty @dstevenson12 !
2020-01-14 18:39:25 -08:00
Kurt
f4162d2dce
Add another corviknight location
...
ty anubis
Closes #2633
2020-01-13 22:36:00 -08:00
Kurt
726947eaf5
Add HGSS starter const/flags
...
Closes #2634 ty @asterysx !
2020-01-13 20:40:44 -08:00
Kurt
a6aabcdc96
Split out a method before crypto step
...
Allows for capturing the obtaining the raw decrypted data via the PKHeX.Core api
2020-01-13 19:03:27 -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
11978dab4f
Make pgt ranger manaphy IsEgg true
2020-01-12 23:00:32 -08:00
Kurt
81f280f4d1
Update EncounterSuggestion.cs
...
weaken legality check, we only check moves
2020-01-12 20:49:33 -08:00
Kurt
5a20dc707d
Rewrite encounter suggestions
...
Don't clone legality templates, and keep suggested information minimal -- this isn't automod
2020-01-12 19:40:36 -08:00
Kurt
eaeebea923
Remove another method shortcut
...
EncounterSuggestion needs a facelift anyway
2020-01-12 17:00:03 -08:00
Kurt
3b5c7062ac
Minor perf improvement
...
pass in, don't constantly fetch
helps generated IL code be slightly more efficient
2020-01-12 16:49:12 -08:00
Kurt
a8c28369b6
Add Yamask-1 max hp calc for formArg compare
...
Closes #2632 ty @CanoeHope
2020-01-12 16:22:56 -08:00
Kurt
d5948b9dbe
Add relearn moves to Except comparison
...
Burn Up ho-oh is dumb
2020-01-12 16:09:35 -08:00
Kurt
48fd36a9a2
Handle g4 shedinja learn case too
...
change 291/292 to Shedinja/Ninjask for easy enum reference check
2020-01-12 14:34:29 -08:00
Kurt
61ecb52347
Remove unnecessary allocation
2020-01-12 12:06:33 -08:00
Kurt
a305c00ac4
Reorder feebas evo for swsh, patch data
...
Updated comment in #2394 with byte swap info
Forgot to check tests when importing patched data :)
2020-01-12 11:48:42 -08:00
Kurt
82eaf39d45
Remove method alias for init mysterygift db
2020-01-12 11:41:23 -08:00
Kurt
9ed441885a
Remove manual personal info fix
...
Change FDDC from 47 -> 41
SM is 40, as the tutor isn't possible in that game.
2020-01-12 11:39:43 -08:00
Kurt
f6fb54aecc
Move shedinja/egg evo chain short circuit
...
Some routes use the evolutiontree directly instead of this method (with the same name); should probably consolidate but meh
This causes Shedinja to yield the correct evolution chain when called directly (because nothing naturally evolves to shedinja; it's created out of thin air as a clone)
Take the egg short circuit with it to keep things simple
2020-01-11 21:43:58 -08:00
Kurt
0eca1bbd1c
g3 shedinja api usage fix
...
see comments in src for justification
need ninjask moves if gen3; dl.Count is guaranteed to be >= 1
2020-01-11 21:41:24 -08:00
Kurt
7cbf8d0fcf
Set gen3 count ribbons appropriately
...
ty anubis
2020-01-11 15:51:25 -08:00
Kurt
7e6edbaded
Remove unnecessary constructor
...
Make key readonly
2020-01-11 14:18:11 -08:00
Kurt
95f24a9d36
Revise suggested AV set logic
...
Closes #2630
2020-01-11 11:43:53 -08:00
Kurt
62c35194c3
Remove unnecessary form duration code
...
probably misinterpreted the furfrou/hoopa stuff; probably is "SetMaxFormDuration"
d3f6d5935f (commitcomment-36754955)
ty @CanoeHope
2020-01-10 22:16:30 -08:00
Kurt
d3f6d5935f
Add form argument legality checks
...
Closes #2611 (Alcremie)
Closes #2604 (Runerigus)
2020-01-10 16:33:40 -08:00
Kurt
507868ce58
Merge branch 'master' of https://github.com/kwsch/PKHeX
2020-01-10 16:08:51 -08:00
Kurt
fdd321dd8c
Make memory 6 fishy if textvar present
...
Closes #2621
2020-01-10 16:08:34 -08:00
Egzon Qukovci Jusufi
fe13b3374d
Spanish Translations ( #2625 )
...
* Update LegalityCheckStrings_es.txt
* Update lang_es.txt
2020-01-10 16:03:28 -08:00
Kurt
be92d4436e
Rearrange argument check order
...
USUM evo table has Meowstic with Arg=-1, which early aborted.
Closes #2627
2020-01-10 16:02:22 -08:00
Kurt
f291da8f32
Add 2 bw flags
...
Closes #2628
2020-01-10 15:53:26 -08:00
Kurt
718d00f970
Ban ha slowpoke-1
2020-01-09 23:50:15 -08:00
Kurt
cf06335a22
Update 20.01.10
...
Update with latest events from EventsGallery
2020-01-09 21:13:07 -08:00
Kurt
2915692daa
Use more performant block lookup strategy
...
Rather than storing a dictionary of keys, we can abuse the fact that the SCBlock[] is stored in order of ascending block key.
Binary Search doesn't require extra memory like a Dictionary would; also, we only need to find a few blocks.
2020-01-09 19:00:49 -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
3fa44361e6
Update block fetch & blank init
...
blanks: {key,size}
fetch: get block by key (index isnt the same between patches, as blocks with different keys get added). The savefile stores them as a SortedDictionary (by key), hence the shifting.
2020-01-09 08:59:26 -08:00
Kurt
bbd1aff5fe
Add new lengths
...
new format still crashes as block absolute index is now different
should do a different way of loading blocks (key instead of index)
2020-01-09 08:17:41 -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