Document old man batttle controller
This commit is contained in:
@@ -182,9 +182,9 @@ static void sub_80D42A8(void)
|
||||
|
||||
static void sub_80D4310(void)
|
||||
{
|
||||
if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 == 0xFF)
|
||||
if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay == 0xFF)
|
||||
{
|
||||
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 = 0;
|
||||
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 0;
|
||||
LinkPartnerBufferExecCompleted();
|
||||
}
|
||||
}
|
||||
@@ -207,7 +207,7 @@ static void sub_80D4358(void)
|
||||
var = FALSE;
|
||||
if (var)
|
||||
{
|
||||
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 = 3;
|
||||
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 3;
|
||||
gBattlerControllerFuncs[gActiveBattler] = sub_80D4310;
|
||||
}
|
||||
}
|
||||
@@ -217,25 +217,25 @@ static void sub_80D443C(void)
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
|
||||
{
|
||||
if (++gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 != 1)
|
||||
if (++gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay != 1)
|
||||
{
|
||||
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 = 0;
|
||||
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 0;
|
||||
if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI))
|
||||
{
|
||||
DestroySprite(&gSprites[gUnknown_3004FFC[gActiveBattler ^ BIT_FLANK]]);
|
||||
DestroySprite(&gSprites[gBattleControllerData[gActiveBattler ^ BIT_FLANK]]);
|
||||
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK],
|
||||
&gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]],
|
||||
HEALTHBOX_ALL);
|
||||
StartHealthboxSlideIn(gActiveBattler ^ BIT_FLANK);
|
||||
SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]);
|
||||
}
|
||||
DestroySprite(&gSprites[gUnknown_3004FFC[gActiveBattler]]);
|
||||
DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]);
|
||||
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler],
|
||||
&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]],
|
||||
HEALTHBOX_ALL);
|
||||
StartHealthboxSlideIn(gActiveBattler);
|
||||
SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]);
|
||||
gBattleSpritesDataPtr->animationData->field_9_x1 = 0;
|
||||
gBattleSpritesDataPtr->animationData->healthboxSlideInStarted = 0;
|
||||
gBattlerControllerFuncs[gActiveBattler] = sub_80D4358;
|
||||
}
|
||||
}
|
||||
@@ -330,11 +330,11 @@ static void sub_80D484C(void)
|
||||
{
|
||||
if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1)
|
||||
{
|
||||
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 = 0;
|
||||
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = 0;
|
||||
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 = 0;
|
||||
FreeSpriteTilesByTag(0x27F9);
|
||||
FreeSpritePaletteByTag(0x27F9);
|
||||
CreateTask(c3_0802FDF4, 10);
|
||||
FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS);
|
||||
FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS);
|
||||
CreateTask(Task_PlayerController_RestoreBgmAfterCry, 10);
|
||||
HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0);
|
||||
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL);
|
||||
@@ -347,13 +347,13 @@ static void sub_80D484C(void)
|
||||
|
||||
static void sub_80D4944(void)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
|
||||
TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
if (gSprites[gUnknown_3004FFC[gActiveBattler]].callback == SpriteCallbackDummy
|
||||
if (gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
|
||||
{
|
||||
DestroySprite(&gSprites[gUnknown_3004FFC[gActiveBattler]]);
|
||||
DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]);
|
||||
gBattlerControllerFuncs[gActiveBattler] = sub_80D484C;
|
||||
}
|
||||
}
|
||||
@@ -1004,20 +1004,20 @@ static void sub_80D5F40(u8 battlerId, bool8 dontClearSubstituteBit)
|
||||
ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit);
|
||||
gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1];
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||
gUnknown_3004FFC[battlerId] = CreateInvisibleSpriteWithCallback(sub_8033E3C);
|
||||
gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim);
|
||||
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId));
|
||||
gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate,
|
||||
GetBattlerSpriteCoord(battlerId, 2),
|
||||
GetBattlerSpriteDefault_Y(battlerId),
|
||||
GetBattlerSpriteSubpriority(battlerId));
|
||||
gSprites[gUnknown_3004FFC[battlerId]].data[1] = gBattlerSpriteIds[battlerId];
|
||||
gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId];
|
||||
gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].data[2] = species;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId;
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]);
|
||||
gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy;
|
||||
gSprites[gUnknown_3004FFC[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT);
|
||||
gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT);
|
||||
}
|
||||
|
||||
static void LinkPartnerHandleReturnMonToBall(void)
|
||||
@@ -1077,7 +1077,7 @@ static void LinkPartnerHandleDrawTrainerPic(void)
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_8033EEC;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn;
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy;
|
||||
}
|
||||
|
||||
@@ -1114,7 +1114,7 @@ static void LinkPartnerHandleFaintAnimation(void)
|
||||
PlaySE12WithPanning(SE_FAINT, SOUND_PAN_ATTACKER);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 5;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_8012110;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_FaintSlideAnim;
|
||||
gBattlerControllerFuncs[gActiveBattler] = sub_80D4640;
|
||||
}
|
||||
}
|
||||
@@ -1184,7 +1184,7 @@ static void LinkPartnerDoMoveAnimation(void)
|
||||
case 1:
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive)
|
||||
{
|
||||
sub_8035450(0);
|
||||
SetBattlerSpriteAffineMode(0);
|
||||
DoMoveAnim(move);
|
||||
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2;
|
||||
}
|
||||
@@ -1193,7 +1193,7 @@ static void LinkPartnerDoMoveAnimation(void)
|
||||
gAnimScriptCallback();
|
||||
if (!gAnimScriptActive)
|
||||
{
|
||||
sub_8035450(1);
|
||||
SetBattlerSpriteAffineMode(1);
|
||||
if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2)
|
||||
{
|
||||
InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE);
|
||||
@@ -1222,7 +1222,7 @@ static void LinkPartnerHandlePrintString(void)
|
||||
gBattle_BG0_Y = 0;
|
||||
stringId = (u16 *)(&gBattleBufferA[gActiveBattler][2]);
|
||||
BufferStringBattle(*stringId);
|
||||
if (sub_80D89B0(*stringId))
|
||||
if (BattleStringShouldBeColored(*stringId))
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, 0x40);
|
||||
else
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, 0);
|
||||
@@ -1448,7 +1448,7 @@ static void LinkPartnerHandleIntroTrainerBallThrow(void)
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_80335F8);
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreePlayerSpriteLoadMonSprite);
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1);
|
||||
paletteNum = AllocSpritePalette(0xD6F9);
|
||||
if ((gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_RUBY
|
||||
@@ -1463,7 +1463,7 @@ static void LinkPartnerHandleIntroTrainerBallThrow(void)
|
||||
gTasks[taskId].data[0] = gActiveBattler;
|
||||
if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown)
|
||||
gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary;
|
||||
gBattleSpritesDataPtr->animationData->field_9_x1 = 1;
|
||||
gBattleSpritesDataPtr->animationData->healthboxSlideInStarted = 1;
|
||||
gBattlerControllerFuncs[gActiveBattler] = nullsub_77;
|
||||
}
|
||||
|
||||
@@ -1579,7 +1579,7 @@ static void LinkPartnerHandleCmd55(void)
|
||||
FadeOutMapMusic(5);
|
||||
BeginFastPaletteFade(3);
|
||||
LinkPartnerBufferExecCompleted();
|
||||
gBattlerControllerFuncs[gActiveBattler] = sub_802F6A8;
|
||||
gBattlerControllerFuncs[gActiveBattler] = SetBattleEndCallbacks;
|
||||
}
|
||||
|
||||
static void LinkPartnerCmdEnd(void)
|
||||
|
||||
Reference in New Issue
Block a user