• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Which Pokémon Masters protagonist do you like most? Let us know by casting a vote in our Masters favorite protagonist poll here!
  • Red, Hilda, Paxton, or Kellyn - which Pokémon protagonist is your favorite? Let us know by voting in our poll!
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Substitute move animation

  • 46
    Posts
    5
    Years
    • Seen yesterday
    Hello everyone,

    I'm trying to adjust the animation that plays every time your pokemon switches places with the substitute doll or vice-versa.
    It would be neat if the transition happened faster, like if there was a way to make both sprites move at the same time as they switch.

    I think I found the animation here:

    Does anyone have advice for me on this one?
     
    Hello everyone,

    I'm trying to adjust the animation that plays every time your pokemon switches places with the substitute doll or vice-versa.
    It would be neat if the transition happened faster, like if there was a way to make both sprites move at the same time as they switch.

    I think I found the animation here:

    Does anyone have advice for me on this one?
    The code you linked is for the animation of using the move substitute. For the place switching animation you'd want to look at AnimTask_SwapMonSpriteToFromSubstitute.

    In that function's switch statement case 0 slides the sprite off-screen, case 1 swaps the sprite and case 2 slides the sprite back on-screen. Since the substitute doll and mon are the same sprite object, showing them both at the same time would require changing how the animation is implemented. A simpler way to speed it up is to just increase the speed at which the sprite slides:
    Diff:
    diff --git a/src/battle_anim_throw.c b/src/battle_anim_throw.c
    index 956020b30..fd4ec6d58 100755
    --- a/src/battle_anim_throw.c
    +++ b/src/battle_anim_throw.c
    @@ -2121,7 +2121,7 @@ void AnimTask_SwapMonSpriteToFromSubstitute(u8 taskId)
         {
         case 0:
             gTasks[taskId].data[11] = gBattleAnimArgs[0];
    -        gTasks[taskId].data[0] += 0x500;
    +        gTasks[taskId].data[0] += 0x1400;
             if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
                 gSprites[spriteId].x2 += gTasks[taskId].data[0] >> 8;
             else
    @@ -2137,7 +2137,7 @@ void AnimTask_SwapMonSpriteToFromSubstitute(u8 taskId)
             gTasks[taskId].data[10]++;
             break;
         case 2:
    -        gTasks[taskId].data[0] += 0x500;
    +        gTasks[taskId].data[0] += 0x1400;
             if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
                 gSprites[spriteId].x2 -= gTasks[taskId].data[0] >> 8;
             else
    [PokeCommunity.com] Substitute move animation
     
    Back
    Top