DrayHackTutorials

[PtHGSS] Edit the shiny rate

Jun 24th, 2022
522
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. This is a quick tutorial on editing the shiny rate of Platinum, Heart Gold or Soul Silver.
  2.  
  3. Warning About Trades
  4. ---
  5. Please note that shininess for Pokémon is calculated on the fly by the game. The base formula checks if the result of the PID combined with some other factors gives a result less than 8. This tutorial tells you how to change that 8 value to something else so the game you're editing will calculate shininess based off that. If the Pokémon is traded to a different game, it will be subject to the calculation of that game instead and may no longer be shiny.
  6.  
  7. Changing The Shiny Rate
  8. ---
  9. This tutorial directs you to find an "08" value in the arm9.bin so you can change it to your liking.
  10. By default, the way this byte is used effectively means that there's an 8/65536 (aka 1/8192) chance of a Pokémon being shiny.
  11. You can change the "08" to any hexadecimal number between "00" and "FF".
  12.  
  13. "00" means a 0/65536 chance, i.e. no Pokémon will ever be shiny.
  14.  
  15. "FF" is the highest rate you can do without more heavyweight changes, which will give you a 255/65536 or approximately 1/257 chance of a Pokémon being shiny. (There's no way to make everything always shiny through this method.)
  16.  
  17. Some other common choices might be "80" for a 128/65536 or 1/512 chance as is the case in Pokémon GO for example, or "10" for a 16/65536 or 1/4096 chance which is the same chance as the Gen 6 and onwards games.
  18.  
  19. Now, for finding the actual byte...
  20.  
  21. Platinum
  22. ---
  23. Open the arm9.bin file.
  24. Go to offset 0x75E50. You should see an "08" byte here.
  25. Change that "08" byte to whatever value you want between "00" and "FF".
  26.  
  27. Heart Gold or Soul Silver
  28. ---
  29. Open the decompressed arm9.bin file. (DSPRE will often do this for you, otherwise you can use blz).
  30. Go to offset 0x70080. You should see an "08" byte here.
  31. Change that "08" byte to whatever value you want between "00" and "FF".
Advertisement
Add Comment
Please, Sign In to add comment