Jump to content
Sign in to follow this  
Oxnite

resource [SOLVED] Pokémon Black & White - Adding new move animations

Recommended Posts

OK, I'll just begin with my story.

Pokémon Black and White. NARC a/0/6/6 contains the move animations. All 559 original moves have their own animation script, such that the first 560 files of a/0/6/6 contain the move animations for each move (with file 000 being a dummy file). Additionally, files 561 up to 600 are also in-battle animations, for example the "using a held item" animation, the "Shiny" sparkle, or the trapping move animations (animations shown when you are trapped by Bind, for example). EDIT 1: Found out that files 561 until 600 are actually dummy files and NOT the in-battle animation files. Instead, moves 560 until 658 are linked to these in-battle animations by default. Any move after 658 will have no move animation and make the game crash. This means that there possibly is some kind of overlay table that links moves 1-559 to the corresponding move animation in a/0/6/6, and that moves 560 until 658 are called when a specific in-battle animation is required.

Move animations can be interchanged quite easily. For example, if we copy file 343 Covet and replace it with file 126 Fire Blast, we will see that Fire Blast now uses the Covet animation:

2ic8yts.png2ylu644.png

Now, this was quite easy! So let's continue.

Say I'm adding the Generation VI moves like KazoWAR has done before in B2W2's Project 721. Adding new moves to "move data" a/0/2/1, and adding the new texts to a/0/0/2 is all quite easy.

However, a problem shows up when adding new move animations. I came up with a "clever" idea to add dummy moves in a/0/2/1 move_data for move 560 until 600, and to add Gen VI moves starting at 601 (such that 601 would be Flying Press, and so on). Why? Because then I could add new move animations to a/0/6/6 starting at file 601, such that the other in-battle animations 560 until 600 were untouched.

As an example, Play Nice should now be move 630 in this game. I again added a dummy animation of Covet to a/0/6/6/630.

Unfortunately, when I now use Play Nice in-battle, it somehow uses the animation of "being trapped by Bind" (see below) - and although I'm not sure which animation that would be exactly, it is one of the animations of file 560 until 600. Because when I try to use Phantom Force, which should be move 607, it uses the animation of "using a held item" in-battle.

snjjmw.png3322owk.png

Long story. All I'm asking for is some ideas. Could somebody think of why this is happening? Also, given that both a/0/6/6 (move animations) and a/0/2/1 (move data) now contain "dummies" for files 560 until 600, shouldn't everything just be working correctly?

My best guess would be that the move data files a/0/2/1 could have some kind of pointer to their respective move animations. Given that I copied data from ORAS directly, Play Nice (now move 630) would then most probably still point to move animation 589 (which is Play Nice's original index number). But I could not find a pointer anywhere. Also, if a completely different pointer table would exist somewhere in an overlay, then why do the added moves Play Nice (#630) and Phantom Force (#607) point so 'nicely' to exactly these in-game animations from 560 until 600?

EDIT 2 @ May 25 With the help of Kaphotics, the answer has been found!

Example pseudocode:

If (effectID > 559)

----playEffect(effectID)

else

----playMove(effectID)

In fact, every move after 559 gets a battle effect from NARC a/0/6/7 in BW (move effects; which is a/0/6/6 in B2W2, and move animations is a/0/6/5 in B2W2). So if you want to add new moves, add the animations to this NARC starting at move ID 659.

Any ideas are welcome, thanks a lot for reading!

Edited by Oxnite

Share this post


Link to post
Share on other sites

I can't contribute anything, but I just wanted to thank you for this info. I replaced the lame animation of Return for the one of Strenght.

The code of each animation seems really complicated, it would be cool be able to change things like the color of the animation or things like that. For example I know that you could change the background in PKM Firered.

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
Sign in to follow this  

×
×
  • Create New...