Kurt
8eb499c4d0
Update EncounterStatic5.cs
...
Use base deferral method which only checks fateful flag.
2021-01-14 22:51:01 -08:00
Kurt
3816d25f7b
Condense some expressions
...
Simplify legal held item array creation, reduce linq usage in startup
Discard unreleased item array references; no need to retain after startup
2021-01-12 22:38:18 -08:00
Kurt
c32b38a53c
Minor annotation tweaks
...
no functional change
2021-01-12 22:26:08 -08:00
Kurt
890ce9ea4e
Simplify some expressions
...
Search array for index rather than loop and check; gives early-break too -- was O(n) now is O(<~n)
2021-01-12 22:25:30 -08:00
Kurt
2d3d6b49da
Force bad vc1 (should be vc2) to be vc2 templates
2021-01-11 17:47:25 -08:00
Kurt
621e708d23
Minor clean
2021-01-10 18:15:33 -08:00
Kurt
76ae6b2b3d
Minor tweaks
...
Disallow OT handling when originated gen is 1/2
Cast the input not the const
Hide HighestGameID (Use the method instead)
2021-01-09 21:25:28 -08:00
Kurt
c83208c915
Rename CheckIdentifier.Move to CheckIdentifier.CurrentMove
2021-01-09 13:05:56 -08:00
Kurt
3e0b52195a
Minor clean
2021-01-08 13:17:59 -08:00
Kurt
4a3a8dd090
Add japanese blue encounter tables (unique to jp_blue)
...
When creating a new pk1 for the slot->pkm, get it as a pk1-japanese.
Export the gameversion when in pk1/2 format (same as VC).
2021-01-08 11:29:00 -08:00
Kurt
d2d2be899b
Critical typo fix
...
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2021-01-07 21:30:39 -08:00
Kurt
92c9e9897a
Add latest dist raid changes
...
Same as 11/20, with one swap. Only the swap is kept (because duplicate encounters don't matter).
2021-01-07 21:27:57 -08:00
Kurt
c9f222bf38
Set valid mystry mew seed on creation
...
Uses a Method specific seed regardless of template.
2021-01-07 21:27:19 -08:00
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
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
acf811f5c1
Permit all generations prior to requested generation for know move check
2021-01-04 15:38:30 -08:00
Kurt
99fe3b59b4
Fix contains indexing incorrectly
...
blame apr 17 2017 !
a5b1d72f06 (diff-53c2e8acc19c5af65034cf0460ba82ebc7dc00ba61eb142ef4aa2c0cbc1f7cffR2918)
2021-01-04 15:06:52 -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
Kurt
e663ffdd35
Fix comparison
2021-01-02 20:52: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
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
11a2a7a318
Condense expression to use bitflags
...
from 2 cmp to just 1
2021-01-01 16:25:48 -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
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
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
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
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
bb68dcc3cb
Move trade->pkm edge case handling to derived classes
2020-12-28 14:42:48 -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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
d257ad1b1a
Update MoveTutor.cs
2020-11-01 19:59:26 -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
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
15348d3fdd
Bypass crustle flag
2020-10-31 11:43:17 -07:00
Kurt
c9ee07e9b9
Update form for friendsafari vivillon
...
Closes #3066
2020-10-30 22:23:13 -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
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
62d5375f67
Update EncounterStatic8U.cs
2020-10-29 08:52:38 -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
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
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
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
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
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
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
ReignOfComputer
29408e3ada
Static Encounter Updates ( #3043 )
2020-10-24 12:33:14 -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
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
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
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
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
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
7a01b1249c
Minor clean
...
Handle more messages, add more xmldoc
2020-10-18 09:43:41 -07:00
Kurt
c09fb9a0ec
Simplify "Flag" field in move source tracking
2020-10-17 13:40:12 -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
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
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
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
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
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
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
Matt
a0d97f6f89
Unban GO Shiny Vulpix ( #3020 )
...
Autumn Event 2020
2020-10-09 08:27:48 -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
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
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