Hide Posted May 10, 2020 Posted May 10, 2020 I am working with a Sword/Shield Pokémon in PKHEX and I want to provide it with a specific trainer ID value. My target TID is 65635. Hence, to get this value my inputs should be TID 99, SID 1. Because: 99+(1*65536) = 65635. I was expecting to find 3 cells in the TRAINER tab: One cell to enter the TID value of 99 (“legacy” TID). Another cell to enter the SID value of 1 (“legacy” SID). And a third cell containing the calculated “65635” (“new/final” TID). Instead, PKHEX has SID/TID cells that (seem to) work differently. Why? I got to leave the SID value as 0 and directly enter TID 65635, if want the "TID hover values" to display the 99/1. Otherwise, entering 99/1 in the SID/TID cells returns "random" (unexpcted) "TID hover values"... And I guess this will change my "new/final" TID. How do I get the target Sword/Shield TID value (65635) in PKHEX, without leaving the PKHEX SID value as 0? (Because I think leaving the SID field as 0 is against the rules). Thank you!
theSLAYER Posted May 10, 2020 Posted May 10, 2020 14 minutes ago, Hide said: Instead, PKHEX has SID/TID cells that (seem to) work differently. Why? Because.. that is the trainer ID that appears in game. (the 6 digit appears in game, and the rest is SID7. Much like the "legacy" versions, the SID doesn't appear in game.) This might be a roundabout way, but if you want to use the legacy value (and you don't care what the in-game trainer value looks like) you use this in batch editor: .TID=value here .SID=value here It refers to the "legacy" value you wanna achieve. The mon will have the correct TrainerID7 and SecretID7 (the non legacy values) You can then take note of the values, and insert the trainer value. Just make sure you write it into a different save (the batch editing is a test save, don't make that your actual save ;3 )
Hide Posted May 10, 2020 Author Posted May 10, 2020 7 hours ago, theSLAYER said: This might be a roundabout way, but if you want to use the legacy value (and you don't care what the in-game trainer value looks like) you use this in batch editor: .TID=value here .SID=value here I understand, so if I do that in batch editor: PKHEX returns a SID value of "0000", and... PKHEX also returns the TID and “ID” values I would like to display. Which takes me back to my question: Why do I get a SID value of "0"? Does sword/shield handle 2 different SID values and 2 different TID values? How does PKHEX calculate the ID: xxxx/yyyy values (the ones that show when you hover over the onscreen TID) using the onscreen SID and TID? Thanks!
theSLAYER Posted May 10, 2020 Posted May 10, 2020 16 minutes ago, Hide said: I understand, so if I do that in batch editor: PKHEX returns a SID value of "0000", and... PKHEX also returns the TID and “ID” values I would like to display. Which takes me back to my question: Why do I get a SID value of "0"? Does sword/shield handle 2 different SID values and 2 different TID values? How does PKHEX calculate the ID: xxxx/yyyy values (the ones that show when you hover over the onscreen TID) using the onscreen SID and TID? Thanks! I don't know how to explain it to you. Effectively both fields are derived from the same bytes. The "legacy" method reads them as they are, with the max being 65535. The G7 method reads the same bytes, but applies a formula. So SWSH handles the TID/SID differently depending of Game of Origin, but the location of the data is exactly the same. So based on game of origin, how PKHeX handles those bytes also change (to emulate how the game handles it) If you want to know the formula, read this here.
Hide Posted May 10, 2020 Author Posted May 10, 2020 I checked the formula: It says: IDfinal = IDtrainer + (IDsecret × 65536). But the article does not mention anything about “another” SID (the one that returns ceroes). How do you calculate this SID?
Kaphotics Posted May 10, 2020 Posted May 10, 2020 Change the origin game to the game that it originates from. Then enter in the TID/SID you want the game to show. The Trainer ID is stored as a 32 bit value. The game does a bitshift for gen6 game-origin and prior. The game does a modulo for gen7 game-origin and up. The value-portion that is discarded is the Secret ID. 1 1
theSLAYER Posted May 10, 2020 Posted May 10, 2020 14 minutes ago, Hide said: I checked the formula: It says: IDfinal = IDtrainer + (IDsecret × 65536). But the article does not mention anything about “another” SID (the one that returns ceroes). How do you calculate this SID? TID(legacy) and SID(legacy) isn't the same as TID7 and SID7. SID7 is the first four digits unused by TID7. Maybe in reference to the post, this would make sense. As for why your SID7 is a value of 7.. It's because the TID(legacy) and SID(legacy) pair you inputted generated SID7 as 0. Nothing special. 1
Hide Posted May 10, 2020 Author Posted May 10, 2020 9 minutes ago, Kaphotics said: Change the origin game to the game that it originates from. Then enter in the TID/SID you want the game to show. The Trainer ID is stored as a 32 bit value. The game does a bitshift for gen6 game-origin and prior. The game does a modulo for gen7 game-origin and up. The value-portion that is discarded is the Secret ID. Nice, thank you very much! 5 minutes ago, theSLAYER said: TID(legacy) and SID(legacy) isn't the same as TID7 and SID7. SID7 is the first four digits unused by TID7. Maybe in reference to the post, this would make sense. Oh, I get it, this wraps it all! Then it does not matter if that value remains as 0. Right?
theSLAYER Posted May 10, 2020 Posted May 10, 2020 8 minutes ago, Hide said: Oh, I get it, this wraps it all! Then it does not matter if that value remains as 0. Right? Not sure why you're going by the TID(legacy) and SID(legacy), when most peoples are concerned about whether the TID7 fits. (normally they'll want the SWSH one displayed to be the one they use), but in this case it doesn't matter if it's 0 :3 1 1
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now