Jump to content

Shininess (PID & Enc. Constant Issue), Friendship/Traded Flag


JSS

Recommended Posts

I've known PKHeX since last year and I love it even more now that it has past gen. support. Thanks. I hope you consider adding Nat. Pokédex editing for those past gens.

Problem no. 1: I recently got back into this save editing stuff and I've been testing things on a Pokémon Y save I extracted using JK's SaveManager, before I actually start doing any real editing. The save reads fine, all clear on that. While testing stuff, I randomly clicked on a Talonflame I hatched in the game and tried to make it shiny. The PID changed as expected, but the Encryption Constant changed too into the exact same as the PID. Tried it with another Pokémon, same thing. Closed the program and tried to make a Pokémon from scratch without a save, same thing. I checked against two shiny Xatu I caught on Alpha Sapphire and they both had different values between their PID and EC. This only happens when I try to make a Pokémon shiny, and not when rerolling PID, or even when rerolling EC after making it shiny. I know it's normal for both values to be the same if they're from previous generations, regardless of shininess. But these are from gen. 6 and I know it didn't happen with older versions of PKHeX. I'm using the latest version dated "(08-07-16)". I'm not sure if this is a bug or intentional but I thought I'd ask here.

Problem no. 2: Back when this still had ramsav support I made one copy of each legendary for dex catalog purposes. They turned out fine. However, while scoping around this save which included all of them, PKHeX detected an issue with the OT friendship of some event Pokémon, in the memories tab. Namely, a Gen 6 event Shaymin, Diancie, Hoopa, a regular Landorus, and I even noticed it with the English Genesect event from gen 5. Shaymin has 108 OT friendship instead of 100, Landorus has 96 (from 90), Diance 72 (70), Hoopa 102 (100), and Genesect 2 (0). All of these Pokémon activate event items and I've used them briefly at times to get them. I just checked against a backup from the time I made them and they all had the correct values at the time (for both OT and latest handler). I pretty much never use the other legendaries, and I'm guessing Bank fails to set some sort of traded flag while moving them between games, so it increases friendship in the OT memory tab while still writing latest handler memory info? It doesn't happen to me with events I collected myself or Pokémon I transported from my White copy. I'm aware of the friendship evolution glitch for Banked Pokémon, and I've had it happen to me with Pokémon I caught/hatched myself and not edited. I've been speculating that there could be some connection here. But I've also recently been able to evolve in Y a Banked Buneary hatched in AS, so I don't know if it only happens sometimes, or only in AS, or how it all works for sure. But I wanted to ask if this is known/has been fixed in recent versions of PKHeX to set off a traded flag if the OT of the Pokémon being made doesn't match the save's trainer. If there even is a traded flag. If not I have no clue why this is happening and I'll probably just take the wonder card route from now on and edit IVs later.

Thanks in advance for any answers on this.

Edited by JSS
Link to comment
Share on other sites

1.

Not intentional, fixed in latest commit. Feel free to re-roll the Encryption Constant for >=gen6 PKM, and copy the PID to EC for <gen6

Future iterations of the code will consider the original generation (if it was imported up) when doing this copy.

2.

Gen6 Event Pokemon should never have an OT Friendship other than the base friendship.

When you inserted the Pokémon with an old version of PKHeX you didn't specify that the current handler was the HT not the OT, hence the OT friendship ticked up.

The latest versions of PKHeX automatically sets the current handler value when you put a pkm into a save file.

Link to comment
Share on other sites

Thanks for the fast reply. Great to hear the first one has been fixed.

I'm not sure if you mean that old versions didn't tick some hidden value in the Pokémon automatically, but I personally always fill every detail when making a Pokémon in Pkhex - current handler (where applicable), memories, memory friendship, etc. I also immediately stored them into PokéBank and withdrew just in case something needed refreshing. They only had opportunity to have OT friendship increased from their base value after that. The only thing I never touch are the extra bytes since I read somewhere PKHeX automatically sets any necessary flags. I also usually check with legitimate Pokémon to make sure everything matches so I don't think it was an oversight on my part. I'll just use wonder cards from now on, that'll also save me the trouble of looking up the OT names, TIDs, SIDs, etc.

Thanks again.

EDIT:

I just compared the same affected Diancie in both of the saves in each respective PKHeX version. In the old one when I made it, the greyed out "current handler" in the memories tab says NOV2014 even though I filled the latest handler tab normally with my own trainer. In the recent save it says my trainer's name there instead. Maybe that's what you were referring to. Just pointing it out for reference.

EDIT2:

Whoop! I got it now. I didn't know I had to click on the Latest Handler area, highlighting it with a green color. I just went straight for the name space. So it was an oversight on my part. Noted now.

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...