Jump to content

Ability Slots In Gen. 5 Saves


JSS

Recommended Posts

Some species seem to have the wrong ability slot labels when opening my White save in PKHeX (latest posted version). From the ones I have:

- Intimidate (1) Herdier w/ Scrappy (H); A Pickup (2) Lillipup is fine

- Healer (1) Audino w/ Klutz (H)

- (?) Venipede w/ Quick Feet (H)

All caught in-game, first time extracting this unmodified save with three badges. Also while testing some .pkm files, I noticed Regenerator Ho-Oh shows Pressure instead and Sheer Force Landorus shows Sand Force [intimidate (1) when opened on a downloaded White 2 save]. These are the PPorg OT ones from here. Purely aesthetic is the number on some species hidden abilities like Multiscale (2) on Lugia, just because I'm used to the (H) marker on Gen. 6 saves.

Posting because I didn't see a thread on it. If this has been fixed already, ignore me. :bidoof:

EDIT: Looking on PokéGen after viewing the Venipede in PKHeX and clicking "Set" it seems that actually changed its ability from Poison Point to Quick Feet.

Link to comment
Share on other sites

Bumping this to say that it's displaying abilities correctly in this latest version. :smile: But there is a slight problem with Pokémon with only two possible abilities (one regular and one hidden), such as Pansear. PKHeX changes the Pokémon's ability back to its main ability if I select its hidden ability, and even if I try to put a value of 1 in byte 0x42 of those Pokémon, it changes that to 0. So for now those Pokémon are uneditable.

Changing my Dewott's ability to its hidden ability works fine, though. I'm assuming PKHeX is just confusing these other Pokémon's hidden abilities as being secondary regular abilities for those that don't have three options yet like Dewott has.

Link to comment
Share on other sites

But there is a slight problem with Pokémon with only two possible abilities (one regular and one hidden), such as Pansear. PKHeX changes the Pokémon's ability back to its main ability if I select its hidden ability, and even if I try to put a value of 1 in byte 0x42 of those Pokémon, it changes that to 0. So for now those Pokémon are uneditable.

Changing my Dewott's ability to its hidden ability works fine, though. I'm assuming PKHeX is just confusing these other Pokémon's hidden abilities as being secondary regular abilities for those that don't have three options yet like Dewott has.

Can confirm.

@Kaphotics:

Main.cs, Line 1230 (Function setAbilityList)

 

string[] abilIdentifier = {" (1)", " (2)", " (H)"};List<string> ability_list = abils.Where(a => a != 0).Select((t, i) => abilitylist[t] + abilIdentifier[i]).ToList();

 

"abils" contains {x, 0, y}, which is filtered to {x, y}, which makes "y" (the hidden ability) be a normal ability.

And further on...

MainPK5.cs, Line 254 (Function preparePK5)

 

pk5.HiddenAbility = CB_Ability.SelectedIndex > 1; // not 0 or 1

 

Since "y" in the above example is index 1, it is set as a regular ability.

A quick-and-dirty solution for the second snippet would be:

 

pk5.HiddenAbility = CB_Ability.SelectedText.EndsWith(" (H)");

 

...but that would require the first snippet to be fixed.

This probably calls for more design work, as quick-and-dirty fixes could break things further down the line.

Edited by evandixon
Forgot to include where to find the snippets
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...