battle intro: fix issues with follower slide-in and wild shiny mon (#7325)

This commit is contained in:
mudskipper13 2025-07-14 01:47:14 +07:00 committed by GitHub
parent 8ce4f42f4d
commit 688ec0023e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 7 deletions

View File

@ -2237,9 +2237,7 @@ void BtlController_HandleLoadMonSprite(u32 battler)
SetBattlerShadowSpriteCallback(battler, species);
if (IsControllerOpponent(battler)
&& IsControllerLinkOpponent(battler)
&& IsControllerRecordedOpponent(battler))
if (IsControllerOpponent(battler) || IsControllerLinkOpponent(battler) || IsControllerRecordedOpponent(battler))
gBattlerControllerFuncs[battler] = TryShinyAnimAfterMonAnim;
else
gBattlerControllerFuncs[battler] = WaitForMonAnimAfterLoad;
@ -2919,14 +2917,14 @@ void TrySetBattlerShadowSpriteCallback(u32 battler)
void TryShinyAnimAfterMonAnim(u32 battler)
{
if (gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy
&& gSprites[gBattlerSpriteIds[battler]].x2 == 0)
if (gSprites[gBattlerSpriteIds[battler]].x2 == 0)
{
if (!gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim)
{
TryShinyAnimation(battler, GetBattlerMon(battler));
}
else if (gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim)
if (gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim)
{
gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim = FALSE;
gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim = FALSE;

View File

@ -1080,8 +1080,11 @@ static void HandleBallAnimEnd(struct Sprite *sprite)
AnimateSprite(&gSprites[gBattlerSpriteIds[battler]]);
gSprites[gBattlerSpriteIds[battler]].data[1] = 0x1000;
}
else
{
gSprites[gBattlerSpriteIds[battler]].invisible = FALSE;
}
gSprites[gBattlerSpriteIds[battler]].invisible = FALSE;
if (sprite->animEnded)
sprite->invisible = TRUE;
if (gSprites[gBattlerSpriteIds[battler]].affineAnimEnded)