Jump to content

tutorial [Tutorial][HGSS] Change the Pokémon coordinates on the battlefield

Recommended Posts

Credits go to PowMikelan98 for discovering this and giving me permission to post this.

Original post: http://wahackforo.com/t-21923-pag20#195

  • Open your HeartGold or SoulSilver ROM with CrystalTile2
  • Go to folder a/1/8/0
  • right-click and then click on sub-file sort.

The data is 89 bytes for each Pokémon, the first bunch of data being that of Pokémon with ID 0.


For example to go to the data of Milotic (ID 350), we do this simple operation:


31150 is 79AE in hexadecimal, thus you add 79AE to 3C to get the relative address for Milotic's data.

Note: first byte is labelled as byte 0, not byte 1.

For each Pokémon:

byte 1 governs the movement's type when a Pokémon is sent out (for example 0×13 (19) makes the Pokémon flash with electricity, like Raichu or Jolteon for example).

byte 86 is the sprite's position on the Y-axis, a signed value who moves the sprite from 128 pixels down (80) to 127 pixels up (7F).

byte 87 is the shadow's position on the X-axis, a signed value who moves the shadow from 128 pixels to the left (80) to 127 pixels to the right (7F).

byte 88 is the shadow's size:

  • 0=none
  • 1=small
  • 2=medium
  • 3=big

Share this post

Link to post
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...