kwsch / PKHeX

Pokémon Save File Editor
https://projectpokemon.org/pkhex/
Other
3.63k stars 681 forks source link

Legality Checker Errors (3rd, 4th and 5th gen save file) #1011

Closed Real96 closed 7 years ago

Real96 commented 7 years ago

These pokemon are seen as not legit:

Deoxys from FireRed Manaphy from Platinum Moltres from SoulSilver Lugia from Emerald Latios from Emerald Jirachi from Colosseum Bonus Disk --> Ruby Arceus from entralink Black 1 Dragonite entralink - global link event Black 1

The 1st pokemon get all 4 moves as invalid The 2nd pokemon get: "Invalid: Can't obtain egg for this species." The 3rd pokemon get "Invalid: Unable to match an encounter from origin game." The 4th and the 5th pokemon get: "Invalid: Fateful Encounter should not be checked" The 6th pokemon get: "Invalid: Unable to match to a Mystery Gift in the database." The 7th get: "Invalid: Hidden Ability mismatch for encounter type." The 8th get: "Invalid Move 4: Invalid Move."

javierhimura commented 7 years ago
Real96 commented 7 years ago

There is also Aurora Ticket Deoxys from Emerald, which have different moves and is flagged as illegal

PrometheusG commented 7 years ago
javierhimura commented 7 years ago
Real96 commented 7 years ago

The Deoxys from FireRed i uploaded is also from Aurora Ticket, what's the difference?

javierhimura commented 7 years ago

My mistake, aurora ticked deoxys if the deoxys catch in Birth Island, that deoxys sould be flag legal now since the last commit.

PrometheusG commented 7 years ago

Using PKHeX Build 2768

A quick update

Gen 3 Legality Checks:

I won't write about the events(like 10ANNIV) because I know you are working on it, so I wait.

Gen 4 Legality Checks:

Some pokemon that were transfered from Gen 3 games throw an invalid move error. These pokemon are: Beedrill lvl.11 (Pal Park met lvl.5 as kakuna) from leafgreen with known "invalid" moves Harden and Fury Attack, Venomoth lvl.31 (Pal Park met lvl.23 as venonat) from leafgreen with known "invalid" moves Gust and Psybeam (Supersonic and Poison Powder are ok), Sunflora lvl.45 (Pal Park met lvl.33 as sunkern) from emerald with invalid move Leafstorm SEASOR from above is shown as legal but in Gen 3 is not Mightyena lvl.31 (Pal Park met lvl.3, I evolved it from poochyena) from emerald with invalid moves Assurance,Odor Sleuth and Bite Ludicolo lvl.54 (Pal Park met lvl.16 as lombre) from emerald with invalid move Hydro Pump Swellow lvl.22 (Pal Park met lvl.7 as taillow) from emerald with invalid move Wing Attack and Quick Attack Dustox lvl.13 (Pal Park met lvl.13) from emerald with invalid moves Tackle and Poison Sting Breeloom lvl.23 (Pal Park met lvl.5 as shroomish) from emerald with all 4 invalid moves, Mega Drain, Mach Punch, Stun Spore and Leech Seed Exploud lvl.40 (Pal Park met lvl.6 as whismur) from emerald with invalid moves Crunch, Astonish and Supersonic( Uproar is ok) Manectric lvl.26 (Pal Park met lvl.12 as electrike) from sapphire with invalid moves Quick Attack and Spark(Leer and Howl are ok) Swalot lvl.26 (Pal park met lvl.13 as gulpin) from sapphire with invalid move Sludge Wailord lvl.40 (Pal Park met lvl.34 as wailmer) from sapphire with invalid move Amnesia Altaria lvl.35 (Pal Park met lvl.16 as swablu) from emerald with invalid moves Take Down and Dragon Breath

All these pokemon have something in common except Dustox: I have leveled them up in a Gen 4 game and evolved them. What I tested to possibly "fix" the error was to change the met lvl. at pal park match the current level they have and that made them legal again altough they are already. Many pre-evolded pokemon from Gen 3 that were transfered in a Gen 4 game and leveled up there,evolved and learned new moves have their moves shown as invalid

Butterfree lvl.16 in HeartGold has a Sport Ball and was caught in National park at lvl.14. it is legit and the ball too. http://bulbapedia.bulbagarden.net/wiki/National_Park#Generation_IV

Gen 5 Legality checks:

Onix lvl. 44 (poke transfer met lvl.44) from HeartGold only accepts Poke ball as legal not the Dusk Ball he is in or any other ball. it shows an error: "Invalid: Can't have ball for encounter type." Same error with Nidoqueen from HeartGold that it's in a Great Ball and Parasect from HeartGold caught with an Ultra Ball

Thank you, I hope I helped

javierhimura commented 7 years ago

Can you upload the pkm files? It will make more easy to debug the program for the error in the legal analysis.

PrometheusG commented 7 years ago

Yes of course, here they are in order, inside the zip file:

pk4 files from gen 3-pal park.zip

I would like to add that testing the PKHeX build 2796:

In the Gen 4 game(Pearl) I now see that SEASOR-kingdra the in-game trade (inside the file I sent you in the .zip) shows invalid error: "Ability does not match ability number", whereas in Gen 3 it is shown as legal correctly

In the Gen 3 game (Emerald) Beautifly and Dustox show the invalid error: "Wurmple evolution Encryption Constant mismatch", even when transfered to gen 4 game

PrometheusG commented 7 years ago

A new Update after testing PKHeX Build 2825:

Gen 3 Emerald Save: All ok

Gen 4 Pearl and Platinum Save: All ok

Gen 4 HeartGold Save: Butterfree from HeartGold Caught in National Park with Sport Ball in the Bug Catching Contest, says : "Invalid: Can't have ball for encounter type." Nuzleaf from emerald, pal park to gen 4 has invalid move Leech Seed Shiftry from emerald, pal park to gen 4 has invalid move Leech Seed The move Leech Seed is an Egg Move in Gen 3 and Gen 4

These are the pokemon files: pk4 files.zip

I hope I helped Thank you for the great work you are all doing with PKHeX

javierhimura commented 7 years ago

The Nuzleaf and Shiftry uploaded are not originated in eggs. Nuzleaf is inside a Ultraball and Shitry inside a Repeat Ball. Generation 3-5 pokemon hatched from eggs must be inside Pokeball.

Because the data that indicates the pokemon was an egg is lost when is traded from generation 3 to generation 4, the programa assumes that a pokemon in non-pokeball were not from eggs and identify any egg move as an invalid move.

About the butterfree error i have just found the problem. I didnt notice that the same species can be captured both in the bug contest and the national park as normal wild encounter, different encounter types at the same location. The program is only filtering by bug contest encounter type when is transfer to generation 5

PrometheusG commented 7 years ago

Oh yes you are right about nuzleaf and swiftry I am a retard, I have changed their pokeball in gen 4 after pal park that's why.they were in a pokeball but I changed their ball because I was testing other things and forgot to revert them, this is my mistake.

At least I helped with the bug catching contest

Thank you very much, keep up the good work! 🥇 If I find any error I will post there again (It will not be by my error again like nuzleaf and swiftry)

PrometheusG commented 7 years ago

Hi, I just have one more update (and probably the last one):

Gen 3(E,FR,LG): All Ok

Gen 4(Pearl,Platinum,HeartGold): All Ok

Gen 5(White):

I have 4 pokemon that shown errors, that I forgot to upload: pk5 files.zip

  1. The first is munchlax(gorge) from in-game trade 2,3,4. Onix,Parasect and Nidoqueen are poke transfers from Heart Gold that show the "Can't have ball for encounter type" error

Thank you