El problema que tiene el sistema, es que la animación es la misma en todos los casos.
Como Fire Red no se planteó que tuviera animaciones en los sprites, pero eran previsores los de Game Freak, existe una única tabla donde se cargan los sprites, pero permite a.pliarse para generar las animaciones, tal y como explica ShinyQuagsire en el tema que te ha puesto
@Dani_SR_17
Yo ya lo he probado y si quieres cuando llegue a casa te busco los ajustes que hice yo. La cosa es que la animación que creas (que se rige por unos parámetros explicados también en el tema), se carga desde el momento en que el aprite se carga en la OAM.
En palabras más entendibles, desde que el sprite aparece en pantalla. Como sabréis, la forma de aparecer varía si proviene de un combate contra un Pokémon salvaje (aparece por el costado) o de entrenador (sale de la PokeBall).
Deberás de añadir un retardo entre un frame y otro para evitar que la animación se haya realizado mientras el sprite no es completamente visible (sale en negro y deslizándose de izquierda a derecha en los combates contra salvajes, color de la Pokeball que lo contiene en un combate de entrenador).
Espero que esta mini ayuda te sirva de algo