Fixes#1007Closes#1008 with a slightly different implementation of the validation
check; other fixes for legality incorporated. Thanks @javierhimura !
Note for the Electrode encounter: both PIDIVs should be method 1 (not
J/K) thus only one is kept in the array.
This only applies to Pickup/honey gather ability procs
179 is incremented if some value is >10000, which is immediately after
photos rated (119)
184 is incremented if GetSelectRankRoyal == 3 (after 159 and 137)
other pairs: 5,137
eh just check Savedata::IncRecord usages
* Fix ingame trade legality check
- fix early return
- fix locations of the same name "a link trade", otherwise
metlocation=30001 in sm be recogized as 30002
* Fix wc7 to pkm for event egg
Nickname should be added
* Fix gen4 in-game trade
- fix ivs order
- use default met location to compact table
* Support multiple ingame trade filtering
Fix Steelix glitch, fix some table data, thanks to RoCs' PC
* Minor improvement
As suggested
* Fix gen5 in-game trade
- skip gender checks if set to default
- fix in-game trade metloaction for gen5
- fix ivs order
* Fix FRLG Viapois Chamber Location
* Gen 3 In-game Trade Fixes
3rd Gen Trades still need changes to verifyNicknameTrade to work though.
Temporarily suppressed the legality warning. It seems Bulbapedia may
have some mistakes?
* Fix Squirtle Gift in HGSS
Changed verifyEncounterG3Transfer, when both Egg Result and other Result happens Egg only overwrite if is the only valid encounter
Corrections in verifyEncounterG3Transfer also adding code to check gen 3 WasEvent pokemon, but for now it will return Mistery Gift not found
Changed verifyEncounterG3Transfer and verifyEncounterG4Transfer to return both message error for InvalidTransfer and G3/G4 invalid encounter if both errors happen at the same time
Excluded fateful encounter pokemon from getWasEgg23, it can be WasEgg pokemon because FatefulEncounter from eggs is lost when hatch
Private variable _WasEgg is only needed for pokemon from gen 2 and 3, for gen 4 return WasEgg if EggLocation > 0
A gen4 Legal.EggLocations array should be created in the future
For gen 3 transfer pokemon it checks the non egg possible encounter and if the pokemon could have been hatched egg encounter
Return the result from one of the two encounters that is valid, with non egg preference but marking WasEgg a True if it can be from an egg
In verify moves both possible encounters are considered, there is no way to discart one or another
When verify moves for this pokemon it here is a non egg possible encounter first check moves from that encounter and if does not match check egg encounters
Also for gen 2 unhatched eggs ignore gen 1 encounters
Pokemon crystal does not store egg received location like generation 3 games, that means both crystal and gold/silver should be checked for base egg moves always