• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • A reminder that our new forum software has 2FA! It can be accessed by clicking your username and then "Password and security" from the menu. We strongly suggest not reusing passwords for your online accounts and enabling 2FA if possible.
  • Welcome to PokéCommunity! Register now and join one of the best places on the 'net to talk Pokémon and more! Community members will not see the bottom screen advertisements.
  • Want to share your adventures playing Pokémon?
    Check out our new Travel Journals forum for sharing playthroughs of ROM Hacks, Fan Games, and other Pokémon content!
  • IMPORTANT: Following a takedown request, the following hacks have been delisted from PokéCommunity:

    • Pokémon Glazed
    • Pokémon: Giratina Strikes Back
    • Pokémon Flora Sky
    • Pokémon Stranded
    The downloads and discussion threads for these hacks will no longer be accessible, and staff will be unable to return questions regarding accessing this content.

Development: Creating New Battle Animations

1,323
Posts
16
Years
  • Seen Dec 9, 2023
@DoesntKnowHowToPlay: Thank you for posting these findings, I will definitely be revising some of my move animations. I will add your info to the first post this weekend.
 
44
Posts
12
Years
It begins at where the animation's pointer points to and ends at the 08 command. Since non-terminating 08s are rather common, what I usually do is just grab around x200 bytes, move it into free space, and chop bits off until the game crashes. There's probably a more efficient way to do this but it works. Also note that a few animations (I think Comet Punch) end in jumps instead of 08 commands.


Urgh damn you my brain, still not understand D:

When the game crashes? i mean, is it when you do the move, or at the start of the game? and what do you mean by chop the bits off? Dx

Also, people, can you share the move code you guys found so far? it really helped even if it just one or two...(except slash)
 
69
Posts
11
Years
  • Seen Jul 22, 2019
Urgh damn you my brain, still not understand D:

When the game crashes? i mean, is it when you do the move, or at the start of the game? and what do you mean by chop the bits off? Dx

Also, people, can you share the move code you guys found so far? it really helped even if it just one or two...(except slash)

By crash he means the game resets and goes back to the title screen right after the move animation is completed. By chip off he means change a few bytes at the end to FF and test to see if the animation works. If it works then you need to chip off more bytes, if it freezes then that means you changed too many bytes, but if it resets the game then you changed the right byte. The end of an animation is usually the last 08 byte before an 00 XX 27 command.
 
44
Posts
12
Years
By crash he means the game resets and goes back to the title screen right after the move animation is completed. By chip off he means change a few bytes at the end to FF and test to see if the animation works. If it works then you need to chip off more bytes, if it freezes then that means you changed too many bytes, but if it resets the game then you changed the right byte. The end of an animation is usually the last 08 byte before an 00 XX 27 command.


Oh! I see now! Thanks a lot, now i understand :D


oh, and i hope chaos rush updates his post, and post more animation offset he knew :3
 

TheOrangePichu

Currently working on new hack
49
Posts
12
Years
The first parameter of the 02 command always seems to be a pointer to some animation data- this structure is 24 bytes long.

The first two bytes indicate what image data to use, while the next two bytes indicate the palette. The enumeration for this is the same as that of the 00 command- in order for an effect to work properly, the 00 command must have been called for both of these- otherwise the palette and/or image will not be loaded. While the existing animations appear to always have these be the same, they don't have to be- you can for instance give the Stun Spore seeds Fire Blast's palette this way. For some animations both of these are 00- I believe these are effects that don't use images, such as Earthquake's screen-shaking.

I'm not entirely sure what the rest of the bytes do, but it appears the two pointers after these values contains more image data (I think the dimensions and how it animates, respectively) while the rest of it has to do with how the effect plays out. I've fiddled with it a bit and done some interesting things like these:

DuOL9.png
GL54F.png

BuX7r.png
nh2ZO.png

Interesting, I have been editing moves myself and haven't come across this yet. Could you please clarify on this? I am slightly confused of what a 00 command is.

Also, not sure if this has been discovered, but if you wish to easily find the data for a move, find the animation pointer (I suggest using Gamer2020's PGE Attack Editor for it) and highlight the bytes of the animation until you reach the following bytes together:

08 00 XX 27

This string tells us that an animation has just ended and is moving onto a new on. Make sure to highlight everything up to the 08. DO NOT HIGHLIGHT THE 00 XX 27.

XX refers to, and my guess, the image data for the next animation.
 

DoesntKnowHowToPlay

Tiny Umbrella with Lots and Lots of Good
265
Posts
12
Years
  • Seen Feb 24, 2024
Interesting, I have been editing moves myself and haven't come across this yet. Could you please clarify on this? I am slightly confused of what a 00 command is.

Also, not sure if this has been discovered, but if you wish to easily find the data for a move, find the animation pointer (I suggest using Gamer2020's PGE Attack Editor for it) and highlight the bytes of the animation until you reach the following bytes together:

08 00 XX 27

This string tells us that an animation has just ended and is moving onto a new on. Make sure to highlight everything up to the 08. DO NOT HIGHLIGHT THE 00 XX 27.

XX refers to, and my guess, the image data for the next animation.

The 00 command is what you are describing in your post- the 00 XX 27 blocks that occur at the start of many animation scripts. It takes the next two bytes as parameters and loads image data. I should warn that they do not occur in *all* animation scripts- Sky Attack, Doom Desire, and Haze are noteworthy exceptions, and some animations use 00 XX 28 instead. Also, it doesn't have to be at the beginning, but that is how every in-game animation that I've looked at that doesn't branch does it.

While I'm here, I've isolated another command- 1C is used for playing a sound repeatedly. It's used in Needle Arm, PoisonPowder, and probably a number of other moves. It takes five bytes- the first two indicate what sound to play, the fourth controls the delay between sounds, and the fifth controls how many times to play the sound. I'm not sure what the third byte is for but it's 3F in all the cases I've looked at.
 
Last edited:
36
Posts
14
Years
  • Seen Oct 19, 2023
Let me see if I got it. I'll be using slash's animation code.

Code:
00 C7 27 02 A4 35 3E 08 82 03 01 00 F8 FF 00 00 19 81 00 3F 04 04 02 A4 35 3E 08 82 03 01 00 08 00 00 00 03 1D 8B 09 08 02 05 01 00 04 00 00 00 12 00 01 00 19 81 00 3F 05 08

The 00 C7 27 means a new animation will be executed.
02 Indicates that A4 35 3E 08 is the pointer to which animation will be called, and I can't identify the pointer to the pallete... I'm pretty sure it isn't the 82 03 01 00...
 
73
Posts
14
Years
  • Seen Aug 31, 2014
Okay, hopefully someone can help me with this:

I'm trying to recreate the Elemental Fangs by using the particle from the punches with the bite animation. But I'm just not getting off the ground it as it all seems greek to me. I think I've found the offsets for the animations, but I can't even figure out where they end to remove and start testing them.

Here are the offsets I came up with from the method described in the first post:

Ice Punch: 1CD2e0

Fire Punch: 1D08b5

Bite: 1CE190

I was looking to work on Ice Fang first, but I grabbed Fire Punch too so I could compare the two and see what the difference was (I assumed the difference would be the particles, as they two moves seem identical otherwise). Anyone willing to offer help and/or explain it like I'm five?
 
20
Posts
11
Years
  • Seen Feb 7, 2013
well i actually did the same thing myself so i think i could help you :)

at first you copy all the code from the bite-offset and start replacing 08-bytes with FF until the game restarts exactly at the end of the animation :) If the animation plays fine, then you removed a 08-byte that didn't belong to the animation. If it stops midway, it was not the end of the animation and you have to restore it and replace the next 08 byte.
Alternatively in about 99% of all the cases an animation starts with 00 xx 27 or 00 xx 28 meaning you could search for the next 00 xx 27 or 00 xx 28 after your animation so just search for it at offset 1C3190 :) this way saves MUCH time :D

When you got your bite-animation-data just remove the final 08 bite and add the particles you need.

Now for the particles:
To get the thunder particle is quite easy: just remove the first 02 xx xx 3E 08 xx ... you see and all code until the next 02 xx xx 3E 08 so you remove the punching part. Then add the rest of the animation at the end of your bite animation, making them play after each other.

The fire- and ice-particles are harder to get, but if you remember which part you deleted in the thunderpunch animation this shouldn't be a big problem :) if you want to remove the ring of fire/ice in the beginning, just remove everything before the punch except the 00 xx 27 or 00 xx 28 parts as they load the graphics. If you want the ring to play BEFORE the bite, paste the bite animation at the position where you deleted the punch :)

Here is the code for the punchless fire-punch :)
00 9F 27 00 2D 27 00 97 27 0A 03 0C 0C 08 03 F9 A7 0B 08 0A 05 04 00 02 00 00 00 09 00 1F 00 02 E0 5B 3E 08 81 01 00 00 02 E0 5B 3E 08 81 01 40 00 02 E0 5B 3E 08 81 01 80 00 02 E0 5B 3E 08 81 01 C4 00 19 89 00 3F 05 02 10 67 3E 08 82 04 00 00 00 00 01 00 01 00 03 F9 89 09 08 02 05 01 00 00 00 03 00 0F 00 01 00 (paste the bite animation here if you want the ring) 0E 50 09 1D 08 04 04 19 8C 00 3F 05 03 F9 A7 0B 08 0A 05 04 00 00 00 09 00 00 00 1F 00 05 0B 03 0D 08

And this is the ringless punchless fire-punch (just paste this after your bite if you don't want the ring):
00 9F 27 00 2D 27 00 97 27 0A 03 0C 0C 08 03 F9 A7 0B 08 0A 05 04 00 02 00 00 00 09 00 1F 00 0E 50 09 1D 08 04 04 19 8C 00 3F 05 03 F9 A7 0B 08 0A 05 04 00 00 00 09 00 00 00 1F 00 05 0B 03 0D 08
 
44
Posts
12
Years
Anybody have the code for the self-bubbles(when doing the waterfall move) only? i'm trying to make an aqua tail animation(is that even possible to do that? use the bubbles only?)
 
73
Posts
14
Years
  • Seen Aug 31, 2014
Spoiler:

First and foremost, major thanks for helping me. Here's what I got:

00 9B 27 00 97 27 0A 01 0C 0C 08 19 9A 00 3F 02 30 79 3E 08 02 06 00 00 E0 FF 00 00 00 00 33 03 0A 00 02 30 79 3E 08 02 06 00 00 20 00 04 00 00 00 CD FC 0A 00 04 0A 02 08 7C 3E 08 02 04 00 00 00 00 01 00 02 00 03 F9 89 09 08 05 05 01 00 00 00 04 00 07 00 01 00 05 0B 01 0D 04 01 00 9F 27 00 2D 27 00 97 27 0A 03 0C 0C 08 03 F9 A7 0B 08 0A 05 04 00 02 00 00 00 09 00 1F 00 0E 50 09 1D 08 04 04 19 8C 00 3F 05 03 F9 A7 0B 08 0A 05 04 00 00 00 09 00 00 00 1F 00 05 0B 03 0D 08
Italics is where I added the fire punch particles, all I did was delete a 08. I had forgotten to at the beginning and the move was just bite. When I removed it, now it stops after the bite?

OH, I SEE IT! I MISSED A 08 after a 0B. Ugh.

It works:

iZOW80o.png


I used exactly the code above. It's a little low when used on you, for my tastes, but it works. I'll post Ice Fang and Thunder Fang when I have the time to play with them. I just wanted to show you code works. It bites, the bite disappears, and the particles appear, if that bothers anyone.
 
Last edited:
20
Posts
11
Years
  • Seen Feb 7, 2013
So is everthing working now with the fangs? :)

And for the self-bubbles:
Find the offset of the waterfall animation and copy it then start cutting of bites from the end until about a line after the first 02 xx xx 3E in the waterfall-animation (usually the 05 byte after it if there isn't any you have to experiment a little here) and then add your impact animation :) If you want a nice tail animation try the knock-off-animation which pretty much resembles the gen VI and V tail-attack-hit's animation :)
 
73
Posts
14
Years
  • Seen Aug 31, 2014
So is everthing working now with the fangs? :)

And for the self-bubbles:
Find the offset of the waterfall animation and copy it then start cutting of bites from the end until about a line after the first 02 xx xx 3E in the waterfall-animation (usually the 05 byte after it if there isn't any you have to experiment a little here) and then add your impact animation :) If you want a nice tail animation try the knock-off-animation which pretty much resembles the gen VI and V tail-attack-hit's animation :)

Apparently not. I went with this for Ice Fang:

00 9D 27 00 97 27 00 9F 27 08 03 04 00 00 F6 FF 01 00 01 00 19 84 00 3F 04 02 03 F9 89 09 08 05 05 01 00 00 00 05 00 03 00 01 00 05 04 0F 0E 0A 54 1D 08 04 05 03 F9 A7 0B 08 0A 05 04 00 02 00 09 00 00 00 4C 7F 05 02 24 7B 3E 08 02 05 01 00 00 00 07 00 00 00 00 00 05 0B 03 0D 08
That's only the ice particles. However, when used in battle, it does nothing (well, it bites, but no particles). Not sure where I went wrong.

Edit: There was a part in the beginning, 5 spaces long that I removed. 0A 03 0C 0C 08. I didn't see them as all that important and thus I removed them. Should I reenter those?

Double Edit: I removed an extra 08 (right after the third 27) that had snuck in. Now it crashes after the bite.

Triple Edit: I discovered I missed an entire 02 xx xx xx 3E anyway, so I got rid of that. Then it crashed again.

Quad-Edit-ruped: I tried it on Thunder Fang, and it crashed again. It goes from the bite to the restart. I removed everything from the first 02 xx xx xx 3E to the last 02 xx xx xx 3E 08 and it doesn't work. Maybe I misunderstood your directions. And I know you said "next", but that just seems insanely long compared to the fire particles. I even tried to reverse engineer the fire particles and just can't seem to see the logic.
 
Last edited:
44
Posts
12
Years
So is everthing working now with the fangs? :)

And for the self-bubbles:
Find the offset of the waterfall animation and copy it then start cutting of bites from the end until about a line after the first 02 xx xx 3E in the waterfall-animation (usually the 05 byte after it if there isn't any you have to experiment a little here) and then add your impact animation :) If you want a nice tail animation try the knock-off-animation which pretty much resembles the gen VI and V tail-attack-hit's animation :)

Whoa, thanks dude! I was planning to use slam animation, but i never thought about knock off, thank you! :D
 
20
Posts
11
Years
  • Seen Feb 7, 2013
Whoa, thanks dude! I was planning to use slam animation, but i never thought about knock off, thank you! :D
no problem :D I stumbled across the knock-off animation when i created a dragon tail attack that should also disable the foes item and thought well knock off sure looks like a tail attack :)

EDIT.: If you want the star that shows the impact to be blue (for the more waterish feeling), go to the last 02 xx xx 3E in the knock off animation (and you entire animation) which should be the star marking the impact. Go to that position ( 3E xx xx ) and copy the animation data you find here (should start with yy 27 yy 27 ... 08) and is 24 bytes (1,5 lines) long to some place (i prefer the end of my animation) and then repoint the 02 xx xx 3E to that position. After that you just have to experiment and replace the second yy byte in your yy 27 yy 27 part (which is responsible for the colour) with another palette (as your bubbles start with 00 zz 27 or 00 zz 28 you can just copy that zz value and replace the second yy value with it) so you get the blue impact star. :)


As for the fangs try to leave out the bite part and start with the punch-animations again and just remove that 02 xx xx 3E part for the punch :) and i think you misunderstood the part about removing everthing between two 02 xx xx 3Es :o you just have to remove about 1 line and a little more so when you see a 05 or 04 14 or 19 one line lower this is normally where you have to stop deleting :)
 
Last edited:
73
Posts
14
Years
  • Seen Aug 31, 2014
As for the fangs try to leave out the bite part and start with the punch-animations again and just remove that 02 xx xx 3E part for the punch :) and i think you misunderstood the part about removing everthing between two 02 xx xx 3Es :o you just have to remove about 1 line and a little more so when you see a 05 or 04 14 or 19 one line lower this is normally where you have to stop deleting :)

Okay, here is the Ice Punch animation:

00 9D 27 00 97 27 00 9F 27 02 24 7B 3E 08 02 05 01 00 01 00 00 00 07 00 00 00 03 F9 A7 0B 08 0A 05 04 00 02 00 00 00 09 00 4C 7F 04 14 19 7A 00 3F 02 60 63 3E 08 02 01 00 00 02 60 63 3E 08 02 01 40 00 02 60 63 3E 08 02 01 80 00 02 60 63 3E 08 02 01 C0 00 04 05 02 48 63 3E 08 02 01 20 00 02 48 63 3E 08 02 01 60 00 02 48 63 3E 08 02 01 A0 00 02 48 63 3E 08 02 01 E0 00 04 11 02 10 67 3E 08 04 05 00 00 F6 FF 08 00 01 00 00 00 02 08 7C 3E 08 03 04 00 00 F6 FF 01 00 01 00 19 84 00 3F 04 02 03 F9 89 09 08 05 05 01 00 00 00 05 00 03 00 01 00 05 04 0F 0E 0A 54 1D 08 04 05 03 F9 A7 0B 08 0A 05 04 00 02 00 09 00 00 00 4C 7F 05 02 24 7B 3E 08 02 05 01 00 00 00 07 00 00 00 00 00 05 0B 03 0D 08
Every 02 xx xx 3E 08 is highlighted. The part italicized is the part I believe you're talking about. I've removed that, it just goes back to start. I think I'm getting hung up on where to start the removal.

Edit: I removed ALL of the underlined. It now works--HOWEVER! However, there's a quick black fade-in, fade-out at the end. The original fades to black a bit. I'm not sure what part caused that. I don't know WHY removing the underlined worked, but it did. Now I just want to remove the black fade part.

Double Edit: FIXED IT! I started at the end and changed bytes that differed between Fire Punch and Ice Punch until the fade disappeared. Here's the Ice Fang code:

ICE FANG said:
00 9B 27 00 97 27 0A 01 0C 0C 08 19 9A 00 3F 02 30 79 3E 08 02 06 00 00 E0 FF 00 00 00 00 33 03 0A 00 02 30 79 3E 08 02 06 00 00 20 00 04 00 00 00 CD FC 0A 00 04 0A 02 08 7C 3E 08 02 04 00 00 00 00 01 00 02 00 03 F9 89 09 08 05 05 01 00 00 00 04 00 07 00 01 00 05 0B 01 0D 04 01 00 9D 27 00 97 27 00 9F 27 0E 0A 54 1D 08 04 05 03 F9 A7 0B 08 0A 05 04 00 02 00 09 00 00 00 4C 7F 05 02 24 7B 3E 08 02 05 04 00 00 00 07 00 00 00 00 00 05 0B 03 0D 08

I've also got Thunder Fang working.
00 9B 27 00 97 27 0A 01 0C 0C 08 19 9A 00 3F 02 30 79 3E 08 02 06 00 00 E0 FF 00 00 00 00 33 03 0A 00 02 30 79 3E 08 02 06 00 00 20 00 04 00 00 00 CD FC 0A 00 04 0A 02 08 7C 3E 08 02 04 00 00 00 00 01 00 02 00 03 F9 89 09 08 05 05 01 00 00 00 04 00 07 00 01 00 05 0B 01 0D 04 01 00 97 27 00 9F 27 00 35 27 0A 01 0C 0C 08 02 38 5F 3E 08 02 02 00 00 F0 FF 04 01 02 38 5F 3E 08 02 02 00 00 10 00 04 01 19 D6 00 3F 03 E9 A0 0B 08 02 03 01 01 01 01 01 01 04 02 03 F9 89 09 08 02 05 01 00 00 00 03 00 0F 00 01 00 02 08 7C 3E 08 03 04 00 00 00 00 01 00 02 00 04 01 02 24 7B 3E 08 02 05 07 00 02 00 10 00 00 00 00 00 04 14 05 0B 01 0D 08
Italics = Thunderpunch effects. 07 was a necessary change to get the sprites and background back to normal after the effect. Now that these are done, I'm moving onto Head Smash.
 
Last edited:
73
Posts
14
Years
  • Seen Aug 31, 2014
I don't usually double post, but I figured a different problem would require it:

Is it possible to edit the color of the particles in the animation? Here's the scenario:

I'm trying to use Psybeam as a base for Dark Pulse. (I tried Water Pulse, but the water droplets were driving me nuts). Here's the code:

00 B3 27 19 B6 00 C0 14 00 17 1F 39 CF 0D 08 07 C1 00 C0 FF 3F 00 03 00 04 00 00 00 0F 00 0E D4 0D 1D 08 0E D4 0D 1D 08 03 05 97 09 08 05 05 00 00 06 00 00 08 04 00 01 00 03 DD 9B 0B 08 02 06 04 00 02 00 02 00 00 00 0C 00 5F 7E 0E D4 0D 1D 08 0E D4 0D 1D 08 0E D4 0D 1D 08 0E D4 0D 1D 08 0E D4 0D 1D 08 0E D4 0D 1D 08 0E D4 0D 1D 08 0E D4 0D 1D 08 0E D4 0D 1D 08 05 04 01 13 36 85 1C 08
The italic bits are the Psybeam waves. I've edited in the background (01, I stole the ending from Pursuit because I honestly couldn't figure out how to close non-moving backgrounds). It works as is. I'm just curious if anyone knows if it's possible to change the palette of the particles without affecting Psybeam itself. I was also planning on using this for Dragon Pulse.

Edit: I've found that 7E edits the color of the target.

Spoiler:


First is 30, Second is 00, and the Third is FF. HOWEVER, that's only changing 7E. The 5F changes it too, the 00 before doesn't seem to do anything, and the 0E after it is unrelated to this change (and crashes the game if you change it. That'll learn me).
 
Last edited:
20
Posts
11
Years
  • Seen Feb 7, 2013
Beware that 02 24 7B 3E 08 xxxxxxxxxxxxxxxxxxxx is the code for changing the background colour.

Editing the particles colour or even the particles used is possible :) I gave Garuga17 instructions on how to change the stars color in the knock-off-animation before :)
Here is a quick summary:

1. The particle type and palette is already defined in the 02 xx xx 3E 08 part. So you have to go to the adress it points too (02 12 34 3E 08 points to 0x3E3412) and copy the 24 bytes long code you find there (zz 27/28 zz 27/28 xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx 08). That zz in the code should also be at the start of your attack animation in any of these 00 zz 27/28s.

2. Paste it somewhere free (I normally paste it directly under my attack animation) Let's say at 0x912345.

3. Repoint the 02 xx xx 3E 08 to the pasted space ( 02 45 23 91 08 in our example).

4. The first zz is for the particle used, the second one for the palette. If you want a particle in your attack to have another palette search for another attack that uses a particle with that attack. (Let's say you want your psybeam-rings to have shadow-balls palette which is C0). So you have the psybeam zz 27/28 zz 27/28 xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx 08 at 912345 and replace the second zz which is for the palette with C0 (for the shadow ball ball with psybeams palette replace the first zz and for the normal shadow ball replace both). That way you get every attack particle-palette-attack combination possible.

5. As in most cases the new particles/palettes are not loaded yet, add a 00 .. 27/28 at the beginning of your animation for every particle or palette used where .. stands for the particle or palette used (so 00 C0 27 at the beginning for our dark rings)
 

pawell6

The truthseeker
50
Posts
14
Years
Hi guys, I try to recreate draco meteor, so I used one of meteors from eruption (changed color from red to violet) , colored BG (violet one). Everything works fine, but one thing: after attack is perfomed pokemon sprites become violet. Can somebody help me?
code I used:
Spoiler:

Screenshots during attack and after attack
 
Back
Top