Synced src/pokeball.c
This commit is contained in:
+23
-23
@@ -659,7 +659,7 @@ void AnimTask_SwitchOutBallEffect(u8 taskId)
|
||||
y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
|
||||
priority = gSprites[spriteId].oam.priority;
|
||||
subpriority = gSprites[spriteId].subpriority;
|
||||
gTasks[taskId].data[10] = LaunchBallStarsTask(x, y + 32, priority, subpriority, ballId);
|
||||
gTasks[taskId].data[10] = AnimateBallOpenParticles(x, y + 32, priority, subpriority, ballId);
|
||||
selectedPalettes = SelectBattleAnimSpriteAndBgPalettes(1, 0, 0, 0, 0, 0, 0);
|
||||
gTasks[taskId].data[11] = LaunchBallFadeMonTask(0, gBattleAnimAttacker, selectedPalettes, ballId);
|
||||
gTasks[taskId].data[0]++;
|
||||
@@ -748,7 +748,7 @@ void AnimTask_ThrowBall(u8 taskId)
|
||||
gSprites[spriteId].data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
|
||||
gSprites[spriteId].data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) - 16;
|
||||
gSprites[spriteId].callback = SpriteCB_ThrowBall_Init;
|
||||
gBattleSpritesDataPtr->animationData->field_9_x2 = gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible;
|
||||
gBattleSpritesDataPtr->animationData->wildMonInvisible = gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible;
|
||||
gTasks[taskId].data[0] = spriteId;
|
||||
gTasks[taskId].func = AnimTask_ThrowBall_WaitAnimObjComplete;
|
||||
}
|
||||
@@ -860,7 +860,7 @@ static void SpriteCB_ThrowBall_ArcFlight(struct Sprite *sprite)
|
||||
switch (ballId)
|
||||
{
|
||||
case 0 ... POKEBALL_COUNT - 1:
|
||||
LaunchBallStarsTask(sprite->x, sprite->y - 5, 1, 28, ballId);
|
||||
AnimateBallOpenParticles(sprite->x, sprite->y - 5, 1, 28, ballId);
|
||||
LaunchBallFadeMonTask(0, gBattleAnimTarget, 14, ballId);
|
||||
break;
|
||||
}
|
||||
@@ -1015,7 +1015,7 @@ static void SpriteCB_ThrowBall_InitShake(struct Sprite *sprite)
|
||||
sprite->data[3] = 0;
|
||||
sprite->affineAnimPaused = TRUE;
|
||||
StartSpriteAffineAnim(sprite, 1);
|
||||
gBattleSpritesDataPtr->animationData->field_C = 0;
|
||||
gBattleSpritesDataPtr->animationData->ballSubpx = 0;
|
||||
sprite->callback = SpriteCB_ThrowBall_DoShake;
|
||||
PlaySE(SE_BALL);
|
||||
}
|
||||
@@ -1029,14 +1029,14 @@ static void SpriteCB_ThrowBall_DoShake(struct Sprite *sprite)
|
||||
switch (sprite->data[3] & 0xFF)
|
||||
{
|
||||
case 0:
|
||||
if (gBattleSpritesDataPtr->animationData->field_C > 0xFF)
|
||||
if (gBattleSpritesDataPtr->animationData->ballSubpx > 0xFF)
|
||||
{
|
||||
sprite->x2 += sprite->data[4];
|
||||
gBattleSpritesDataPtr->animationData->field_C &= 0xFF;
|
||||
gBattleSpritesDataPtr->animationData->ballSubpx &= 0xFF;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleSpritesDataPtr->animationData->field_C += 0xB0;
|
||||
gBattleSpritesDataPtr->animationData->ballSubpx += 0xB0;
|
||||
}
|
||||
|
||||
sprite->data[5]++;
|
||||
@@ -1044,7 +1044,7 @@ static void SpriteCB_ThrowBall_DoShake(struct Sprite *sprite)
|
||||
var0 = sprite->data[5] + 7;
|
||||
if (var0 > 14)
|
||||
{
|
||||
gBattleSpritesDataPtr->animationData->field_C = 0;
|
||||
gBattleSpritesDataPtr->animationData->ballSubpx = 0;
|
||||
sprite->data[3]++;
|
||||
sprite->data[5] = 0;
|
||||
}
|
||||
@@ -1067,14 +1067,14 @@ static void SpriteCB_ThrowBall_DoShake(struct Sprite *sprite)
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (gBattleSpritesDataPtr->animationData->field_C > 0xFF)
|
||||
if (gBattleSpritesDataPtr->animationData->ballSubpx > 0xFF)
|
||||
{
|
||||
sprite->x2 += sprite->data[4];
|
||||
gBattleSpritesDataPtr->animationData->field_C &= 0xFF;
|
||||
gBattleSpritesDataPtr->animationData->ballSubpx &= 0xFF;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleSpritesDataPtr->animationData->field_C += 0xB0;
|
||||
gBattleSpritesDataPtr->animationData->ballSubpx += 0xB0;
|
||||
}
|
||||
|
||||
sprite->data[5]++;
|
||||
@@ -1082,7 +1082,7 @@ static void SpriteCB_ThrowBall_DoShake(struct Sprite *sprite)
|
||||
var0 = sprite->data[5] + 12;
|
||||
if (var0 > 24)
|
||||
{
|
||||
gBattleSpritesDataPtr->animationData->field_C = 0;
|
||||
gBattleSpritesDataPtr->animationData->ballSubpx = 0;
|
||||
sprite->data[3]++;
|
||||
sprite->data[5] = 0;
|
||||
}
|
||||
@@ -1104,14 +1104,14 @@ static void SpriteCB_ThrowBall_DoShake(struct Sprite *sprite)
|
||||
ChangeSpriteAffineAnim(sprite, 1);
|
||||
// fall through
|
||||
case 4:
|
||||
if (gBattleSpritesDataPtr->animationData->field_C > 0xFF)
|
||||
if (gBattleSpritesDataPtr->animationData->ballSubpx > 0xFF)
|
||||
{
|
||||
sprite->x2 += sprite->data[4];
|
||||
gBattleSpritesDataPtr->animationData->field_C &= 0xFF;
|
||||
gBattleSpritesDataPtr->animationData->ballSubpx &= 0xFF;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleSpritesDataPtr->animationData->field_C += 0xB0;
|
||||
gBattleSpritesDataPtr->animationData->ballSubpx += 0xB0;
|
||||
}
|
||||
|
||||
sprite->data[5]++;
|
||||
@@ -1119,7 +1119,7 @@ static void SpriteCB_ThrowBall_DoShake(struct Sprite *sprite)
|
||||
var0 = sprite->data[5] + 4;
|
||||
if (var0 > 8)
|
||||
{
|
||||
gBattleSpritesDataPtr->animationData->field_C = 0;
|
||||
gBattleSpritesDataPtr->animationData->ballSubpx = 0;
|
||||
sprite->data[3]++;
|
||||
sprite->data[5] = 0;
|
||||
sprite->data[4] = -sprite->data[4];
|
||||
@@ -1319,7 +1319,7 @@ static void SpriteCB_ThrowBall_BeginBreakOut(struct Sprite *sprite)
|
||||
switch (ballId)
|
||||
{
|
||||
case 0 ... POKEBALL_COUNT - 1:
|
||||
LaunchBallStarsTask(sprite->x, sprite->y - 5, 1, 28, ballId);
|
||||
AnimateBallOpenParticles(sprite->x, sprite->y - 5, 1, 28, ballId);
|
||||
LaunchBallFadeMonTask(1, gBattleAnimTarget, 14, ballId);
|
||||
break;
|
||||
}
|
||||
@@ -1351,7 +1351,7 @@ static void SpriteCB_ThrowBall_RunBreakOut(struct Sprite *sprite)
|
||||
if (sprite->animEnded && next)
|
||||
{
|
||||
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].y2 = 0;
|
||||
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible = gBattleSpritesDataPtr->animationData->field_9_x2;
|
||||
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible = gBattleSpritesDataPtr->animationData->wildMonInvisible;
|
||||
sprite->data[0] = 0;
|
||||
sprite->callback = BattleAnimObj_SignalEnd;
|
||||
gDoingBattleAnim = FALSE;
|
||||
@@ -1430,7 +1430,7 @@ static void LoadBallParticleGfx(u8 ballId)
|
||||
}
|
||||
}
|
||||
|
||||
u8 LaunchBallStarsTask(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId)
|
||||
u8 AnimateBallOpenParticles(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId)
|
||||
{
|
||||
u8 taskId;
|
||||
|
||||
@@ -1448,7 +1448,7 @@ u8 LaunchBallStarsTask(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId)
|
||||
static void IncrementBattleParticleCounter(void)
|
||||
{
|
||||
if (gMain.inBattle)
|
||||
gBattleSpritesDataPtr->animationData->field_A++;
|
||||
gBattleSpritesDataPtr->animationData->numBallParticles++;
|
||||
}
|
||||
|
||||
static void PokeBallOpenParticleAnimation(u8 taskId)
|
||||
@@ -1850,8 +1850,8 @@ static void DestroyBallOpenAnimationParticle(struct Sprite *sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleSpritesDataPtr->animationData->field_A--;
|
||||
if (gBattleSpritesDataPtr->animationData->field_A == 0)
|
||||
gBattleSpritesDataPtr->animationData->numBallParticles--;
|
||||
if (gBattleSpritesDataPtr->animationData->numBallParticles == 0)
|
||||
{
|
||||
for (j = 0; j < POKEBALL_COUNT; j++)
|
||||
{
|
||||
@@ -2097,7 +2097,7 @@ static void AnimTask_ShinySparkles(u8 taskId)
|
||||
return;
|
||||
}
|
||||
|
||||
if (gBattleSpritesDataPtr->animationData->field_A)
|
||||
if (gBattleSpritesDataPtr->animationData->numBallParticles)
|
||||
return;
|
||||
|
||||
counter = gTasks[taskId].data[10]++;
|
||||
|
||||
Reference in New Issue
Block a user