battle intro: fix issues with follower slide-in and wild shiny mon (#7325)
This commit is contained in:
parent
8ce4f42f4d
commit
688ec0023e
@ -2237,9 +2237,7 @@ void BtlController_HandleLoadMonSprite(u32 battler)
|
|||||||
|
|
||||||
SetBattlerShadowSpriteCallback(battler, species);
|
SetBattlerShadowSpriteCallback(battler, species);
|
||||||
|
|
||||||
if (IsControllerOpponent(battler)
|
if (IsControllerOpponent(battler) || IsControllerLinkOpponent(battler) || IsControllerRecordedOpponent(battler))
|
||||||
&& IsControllerLinkOpponent(battler)
|
|
||||||
&& IsControllerRecordedOpponent(battler))
|
|
||||||
gBattlerControllerFuncs[battler] = TryShinyAnimAfterMonAnim;
|
gBattlerControllerFuncs[battler] = TryShinyAnimAfterMonAnim;
|
||||||
else
|
else
|
||||||
gBattlerControllerFuncs[battler] = WaitForMonAnimAfterLoad;
|
gBattlerControllerFuncs[battler] = WaitForMonAnimAfterLoad;
|
||||||
@ -2919,14 +2917,14 @@ void TrySetBattlerShadowSpriteCallback(u32 battler)
|
|||||||
|
|
||||||
void TryShinyAnimAfterMonAnim(u32 battler)
|
void TryShinyAnimAfterMonAnim(u32 battler)
|
||||||
{
|
{
|
||||||
if (gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy
|
if (gSprites[gBattlerSpriteIds[battler]].x2 == 0)
|
||||||
&& gSprites[gBattlerSpriteIds[battler]].x2 == 0)
|
|
||||||
{
|
{
|
||||||
if (!gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim)
|
if (!gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim)
|
||||||
{
|
{
|
||||||
TryShinyAnimation(battler, GetBattlerMon(battler));
|
TryShinyAnimation(battler, GetBattlerMon(battler));
|
||||||
}
|
}
|
||||||
else if (gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim)
|
|
||||||
|
if (gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim)
|
||||||
{
|
{
|
||||||
gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim = FALSE;
|
gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim = FALSE;
|
||||||
gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim = FALSE;
|
gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim = FALSE;
|
||||||
|
|||||||
@ -1080,8 +1080,11 @@ static void HandleBallAnimEnd(struct Sprite *sprite)
|
|||||||
AnimateSprite(&gSprites[gBattlerSpriteIds[battler]]);
|
AnimateSprite(&gSprites[gBattlerSpriteIds[battler]]);
|
||||||
gSprites[gBattlerSpriteIds[battler]].data[1] = 0x1000;
|
gSprites[gBattlerSpriteIds[battler]].data[1] = 0x1000;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gSprites[gBattlerSpriteIds[battler]].invisible = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
gSprites[gBattlerSpriteIds[battler]].invisible = FALSE;
|
|
||||||
if (sprite->animEnded)
|
if (sprite->animEnded)
|
||||||
sprite->invisible = TRUE;
|
sprite->invisible = TRUE;
|
||||||
if (gSprites[gBattlerSpriteIds[battler]].affineAnimEnded)
|
if (gSprites[gBattlerSpriteIds[battler]].affineAnimEnded)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user