mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2025-01-13 15:13:42 +01:00
finish z move anims
This commit is contained in:
parent
f114534ae3
commit
752aca7698
@ -288,43 +288,57 @@
|
|||||||
createvisualtask AnimTask_IsDoubleBattle, 0
|
createvisualtask AnimTask_IsDoubleBattle, 0
|
||||||
jumprettrue \ptr
|
jumprettrue \ptr
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
@ keep CFRU macros cause I'm lazy. todo: update to createsprite and createvisualtask, respectively
|
@ keep CFRU macros cause I'm lazy. todo: update to createsprite and createvisualtask, respectively
|
||||||
.macro launchtemplate launchtemplatePtr launchtemplatePriority launchtemplateArgsNo launchtemplatearg0 launchtemplatearg1 launchtemplatearg2 launchtemplatearg3 launchtemplatearg4 launchtemplatearg5 launchtemplatearg6 launchtemplatearg7 launchtemplatearg8
|
.macro launchtemplate launchtemplatePtr launchtemplatePriority launchtemplateArgsNo launchtemplatearg0 launchtemplatearg1 launchtemplatearg2 launchtemplatearg3 launchtemplatearg4 launchtemplatearg5 launchtemplatearg6 launchtemplatearg7 launchtemplatearg8
|
||||||
.byte 0x2
|
.byte 0x2
|
||||||
.word \launchtemplatePtr
|
.word \launchtemplatePtr
|
||||||
.byte \launchtemplatePriority
|
.byte \launchtemplatePriority
|
||||||
.byte \launchtemplateArgsNo
|
.byte \launchtemplateArgsNo
|
||||||
.hword \launchtemplatearg0
|
.hword \launchtemplatearg0
|
||||||
.hword \launchtemplatearg1
|
.hword \launchtemplatearg1
|
||||||
.hword \launchtemplatearg2
|
.hword \launchtemplatearg2
|
||||||
.hword \launchtemplatearg3
|
.hword \launchtemplatearg3
|
||||||
.hword \launchtemplatearg4
|
.hword \launchtemplatearg4
|
||||||
.hword \launchtemplatearg5
|
.hword \launchtemplatearg5
|
||||||
.hword \launchtemplatearg6
|
.hword \launchtemplatearg6
|
||||||
.hword \launchtemplatearg7
|
.hword \launchtemplatearg7
|
||||||
.hword \launchtemplatearg8
|
.hword \launchtemplatearg8
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro launchtask launchtaskPtr launchtaskPriority launchtaskArgsNo launchtaskarg0 launchtaskarg1 launchtaskarg2 launchtaskarg3 launchtaskarg4 launchtaskarg5 launchtaskarg6 launchtaskarg7 launchtaskarg8
|
.macro launchtask launchtaskPtr launchtaskPriority launchtaskArgsNo launchtaskarg0 launchtaskarg1 launchtaskarg2 launchtaskarg3 launchtaskarg4 launchtaskarg5 launchtaskarg6 launchtaskarg7 launchtaskarg8
|
||||||
.byte 0x3
|
.byte 0x3
|
||||||
.word \launchtaskPtr
|
.word \launchtaskPtr
|
||||||
.byte \launchtaskPriority
|
.byte \launchtaskPriority
|
||||||
.byte \launchtaskArgsNo
|
.byte \launchtaskArgsNo
|
||||||
.hword \launchtaskarg0
|
.hword \launchtaskarg0
|
||||||
.hword \launchtaskarg1
|
.hword \launchtaskarg1
|
||||||
.hword \launchtaskarg2
|
.hword \launchtaskarg2
|
||||||
.hword \launchtaskarg3
|
.hword \launchtaskarg3
|
||||||
.hword \launchtaskarg4
|
.hword \launchtaskarg4
|
||||||
.hword \launchtaskarg5
|
.hword \launchtaskarg5
|
||||||
.hword \launchtaskarg6
|
.hword \launchtaskarg6
|
||||||
.hword \launchtaskarg7
|
.hword \launchtaskarg7
|
||||||
.hword \launchtaskarg8
|
.hword \launchtaskarg8
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro setblends setblends_value
|
.macro setblends setblends_value
|
||||||
.byte 0xC
|
.byte 0xC
|
||||||
.hword \setblends_value
|
.hword \setblends_value
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
|
.macro launchsoundtask launchsoundtaskPtr launchsoundtaskArgsNo launchsoundtaskarg0 launchsoundtaskarg1 launchsoundtaskarg2 launchsoundtaskarg3 launchsoundtaskarg4 launchsoundtaskarg5 launchsoundtaskarg6 launchsoundtaskarg7 launchsoundtaskarg8
|
||||||
|
.byte 0x1F
|
||||||
|
.word \launchsoundtaskPtr
|
||||||
|
.byte \launchsoundtaskArgsNo
|
||||||
|
.hword \launchsoundtaskarg0
|
||||||
|
.hword \launchsoundtaskarg1
|
||||||
|
.hword \launchsoundtaskarg2
|
||||||
|
.hword \launchsoundtaskarg3
|
||||||
|
.hword \launchsoundtaskarg4
|
||||||
|
.hword \launchsoundtaskarg5
|
||||||
|
.hword \launchsoundtaskarg6
|
||||||
|
.hword \launchsoundtaskarg7
|
||||||
|
.hword \launchsoundtaskarg8
|
||||||
|
.endm
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -50,7 +50,10 @@ InsideOfTruck_EventScript_SetIntroFlagsFemale:: @ 823BF46
|
|||||||
end
|
end
|
||||||
|
|
||||||
InsideOfTruck_EventScript_MovingBox:: @ 823BF6C
|
InsideOfTruck_EventScript_MovingBox:: @ 823BF6C
|
||||||
msgbox InsideOfTruck_Text_BoxPrintedWithMonLogo, MSGBOX_SIGN
|
givemon SPECIES_SNEASEL, 70, ITEM_DARKINIUM_Z
|
||||||
|
setwildbattle SPECIES_WALREIN, 53, 0
|
||||||
|
dowildbattle
|
||||||
|
@msgbox InsideOfTruck_Text_BoxPrintedWithMonLogo, MSGBOX_SIGN
|
||||||
end
|
end
|
||||||
|
|
||||||
InsideOfTruck_Text_BoxPrintedWithMonLogo: @ 823BF75
|
InsideOfTruck_Text_BoxPrintedWithMonLogo: @ 823BF75
|
||||||
|
@ -213,6 +213,7 @@ void AnimTask_HorizontalShake(u8 taskId);
|
|||||||
void AnimMudSportDirt(struct Sprite *sprite);
|
void AnimMudSportDirt(struct Sprite *sprite);
|
||||||
void AnimDirtScatter(struct Sprite *sprite);
|
void AnimDirtScatter(struct Sprite *sprite);
|
||||||
void AnimMudSportDirtRising(struct Sprite *sprite);
|
void AnimMudSportDirtRising(struct Sprite *sprite);
|
||||||
|
void AnimDirtPlumeParticle(struct Sprite *);
|
||||||
extern const union AffineAnimCmd *const gAffineAnims_SpinningBone[];
|
extern const union AffineAnimCmd *const gAffineAnims_SpinningBone[];
|
||||||
|
|
||||||
// battle_anim_throw.c
|
// battle_anim_throw.c
|
||||||
@ -274,6 +275,7 @@ extern const union AnimCmd *const gScratchAnimTable[];
|
|||||||
extern const union AnimCmd *const gIngrainRootAnimTable[];
|
extern const union AnimCmd *const gIngrainRootAnimTable[];
|
||||||
extern const union AffineAnimCmd *const gSwiftStarAffineAnimTable[];
|
extern const union AffineAnimCmd *const gSwiftStarAffineAnimTable[];
|
||||||
extern const union AnimCmd *const gMetronomeThroughtBubbleAnimTable[];
|
extern const union AnimCmd *const gMetronomeThroughtBubbleAnimTable[];
|
||||||
|
extern const union AffineAnimCmd *const gStockpileAbsorptionOrbAffineAnimTable[];
|
||||||
|
|
||||||
// battle_anim_effects_2.c
|
// battle_anim_effects_2.c
|
||||||
void AnimUproarRing(struct Sprite *sprite);
|
void AnimUproarRing(struct Sprite *sprite);
|
||||||
@ -282,6 +284,7 @@ void AnimOrbitFast(struct Sprite *sprite);
|
|||||||
void AnimOrbitScatter(struct Sprite *sprite);
|
void AnimOrbitScatter(struct Sprite *sprite);
|
||||||
void AnimAngerMark(struct Sprite *sprite);
|
void AnimAngerMark(struct Sprite *sprite);
|
||||||
void AnimHyperVoiceRing(struct Sprite *sprite);
|
void AnimHyperVoiceRing(struct Sprite *sprite);
|
||||||
|
void AnimMagentaHeart(struct Sprite *);
|
||||||
extern const union AffineAnimCmd *const gThinRingShrinkingAffineAnimTable[];
|
extern const union AffineAnimCmd *const gThinRingShrinkingAffineAnimTable[];
|
||||||
extern const union AffineAnimCmd *const gThinRingExpandingAffineAnimTable[];
|
extern const union AffineAnimCmd *const gThinRingExpandingAffineAnimTable[];
|
||||||
extern const union AnimCmd *const gExplosionAnimTable[];
|
extern const union AnimCmd *const gExplosionAnimTable[];
|
||||||
@ -297,8 +300,13 @@ void AnimBlackSmoke(struct Sprite *sprite);
|
|||||||
void AnimSweetScentPetal(struct Sprite *sprite);
|
void AnimSweetScentPetal(struct Sprite *sprite);
|
||||||
void AnimTealAlert(struct Sprite *sprite);
|
void AnimTealAlert(struct Sprite *sprite);
|
||||||
void AnimBlockX(struct Sprite *sprite);
|
void AnimBlockX(struct Sprite *sprite);
|
||||||
|
void AnimFlatterSpotlight_Step(struct Sprite *);
|
||||||
|
void AnimAssistPawprint(struct Sprite *);
|
||||||
|
void AnimReversalOrb(struct Sprite *);
|
||||||
|
void AnimFlatterSpotlight_Step(struct Sprite *sprite);
|
||||||
extern const union AnimCmd *const gOpeningEyeAnimTable[];
|
extern const union AnimCmd *const gOpeningEyeAnimTable[];
|
||||||
extern const union AnimCmd *const gEclipsingOrbAnimTable[];
|
extern const union AnimCmd *const gEclipsingOrbAnimTable[];
|
||||||
|
extern const union AffineAnimCmd *const gSpotlightAffineAnimTable[];
|
||||||
|
|
||||||
// battle_anim_water.c
|
// battle_anim_water.c
|
||||||
void AnimWaterPulseRing(struct Sprite *sprite);
|
void AnimWaterPulseRing(struct Sprite *sprite);
|
||||||
@ -316,16 +324,21 @@ void AnimFlyBallUp(struct Sprite *sprite);
|
|||||||
void AnimFlyBallAttack(struct Sprite *sprite);
|
void AnimFlyBallAttack(struct Sprite *sprite);
|
||||||
void AnimFlyBallAttack_Step(struct Sprite *sprite);
|
void AnimFlyBallAttack_Step(struct Sprite *sprite);
|
||||||
void AnimFlyBallUp_Step(struct Sprite *sprite);
|
void AnimFlyBallUp_Step(struct Sprite *sprite);
|
||||||
|
void AnimBounceBallLand(struct Sprite *);
|
||||||
|
void AnimEllipticalGust(struct Sprite *);
|
||||||
extern const union AnimCmd *const gAffineAnims_AirWaveCrescent[];
|
extern const union AnimCmd *const gAffineAnims_AirWaveCrescent[];
|
||||||
extern const union AffineAnimCmd *const gAffineAnims_FlyBallUp[];
|
extern const union AffineAnimCmd *const gAffineAnims_FlyBallUp[];
|
||||||
extern const union AffineAnimCmd *const gAffineAnims_FlyBallAttack[];
|
extern const union AffineAnimCmd *const gAffineAnims_FlyBallAttack[];
|
||||||
|
extern const union AffineAnimCmd *const gAffineAnims_BounceBallLand[];
|
||||||
|
|
||||||
// battle_anim_poison.c
|
// battle_anim_poison.c
|
||||||
void AnimSludgeBombHitParticle(struct Sprite *);
|
void AnimSludgeBombHitParticle(struct Sprite *);
|
||||||
void AnimAcidPoisonBubble_Step(struct Sprite *sprite);
|
void AnimAcidPoisonBubble_Step(struct Sprite *sprite);
|
||||||
|
void AnimBubbleEffect(struct Sprite *);
|
||||||
extern const union AffineAnimCmd *const gAffineAnims_PoisonProjectile[];
|
extern const union AffineAnimCmd *const gAffineAnims_PoisonProjectile[];
|
||||||
extern const union AnimCmd *const gAnims_PoisonProjectile[];
|
extern const union AnimCmd *const gAnims_PoisonProjectile[];
|
||||||
extern const union AnimCmd *const gAnims_AcidPoisonDroplet[];
|
extern const union AnimCmd *const gAnims_AcidPoisonDroplet[];
|
||||||
|
extern const union AffineAnimCmd *const gAffineAnims_Bubble[];
|
||||||
|
|
||||||
// battle_anim_ghost.c
|
// battle_anim_ghost.c
|
||||||
void AnimGhostStatusSprite(struct Sprite *sprite);
|
void AnimGhostStatusSprite(struct Sprite *sprite);
|
||||||
@ -421,6 +434,7 @@ void AnimSparkElectricity(struct Sprite *sprite);
|
|||||||
void AnimElectricPuff(struct Sprite *sprite);
|
void AnimElectricPuff(struct Sprite *sprite);
|
||||||
void AnimSparkElectricityFlashing(struct Sprite *sprite);
|
void AnimSparkElectricityFlashing(struct Sprite *sprite);
|
||||||
void AnimGrowingShockWaveOrb(struct Sprite *sprite);
|
void AnimGrowingShockWaveOrb(struct Sprite *sprite);
|
||||||
|
void AnimElectricity(struct Sprite *);
|
||||||
extern const union AffineAnimCmd *const gAffineAnims_GrowingElectricOrb[];
|
extern const union AffineAnimCmd *const gAffineAnims_GrowingElectricOrb[];
|
||||||
extern const union AffineAnimCmd *const gAffineAnims_FlashingSpark[];
|
extern const union AffineAnimCmd *const gAffineAnims_FlashingSpark[];
|
||||||
extern const union AnimCmd *const gAnims_ThunderboltOrb[];
|
extern const union AnimCmd *const gAnims_ThunderboltOrb[];
|
||||||
@ -436,6 +450,7 @@ void AnimBasicFistOrFoot(struct Sprite *sprite);
|
|||||||
void AnimSpinningKickOrPunchFinish(struct Sprite *sprite);
|
void AnimSpinningKickOrPunchFinish(struct Sprite *sprite);
|
||||||
void AnimRevengeScratch(struct Sprite *sprite);
|
void AnimRevengeScratch(struct Sprite *sprite);
|
||||||
void AnimDizzyPunchDuck(struct Sprite *sprite);
|
void AnimDizzyPunchDuck(struct Sprite *sprite);
|
||||||
|
void AnimSuperpowerFireball(struct Sprite *);
|
||||||
extern const union AnimCmd *const gAnims_HandOrFoot[];
|
extern const union AnimCmd *const gAnims_HandOrFoot[];
|
||||||
extern const union AffineAnimCmd *const gAffineAnims_MegaPunchKick[];
|
extern const union AffineAnimCmd *const gAffineAnims_MegaPunchKick[];
|
||||||
extern const union AffineAnimCmd *const gAffineAnims_SpinningHandOrFoot[];
|
extern const union AffineAnimCmd *const gAffineAnims_SpinningHandOrFoot[];
|
||||||
@ -444,6 +459,7 @@ extern const union AnimCmd *const gAnims_RevengeBigScratch[];
|
|||||||
// battle_anim_rock.c
|
// battle_anim_rock.c
|
||||||
extern const union AffineAnimCmd *const gAffineAnims_Whirlpool[];
|
extern const union AffineAnimCmd *const gAffineAnims_Whirlpool[];
|
||||||
extern const union AffineAnimCmd *const gAffineAnims_BasicRock[];
|
extern const union AffineAnimCmd *const gAffineAnims_BasicRock[];
|
||||||
|
extern const union AnimCmd *const gAnims_FlyingRock[];
|
||||||
void AnimParticleInVortex(struct Sprite *sprite);
|
void AnimParticleInVortex(struct Sprite *sprite);
|
||||||
void AnimFallingRock(struct Sprite *sprite);
|
void AnimFallingRock(struct Sprite *sprite);
|
||||||
void AnimRaiseSprite(struct Sprite *sprite);
|
void AnimRaiseSprite(struct Sprite *sprite);
|
||||||
@ -478,8 +494,12 @@ extern const union AnimCmd *const gAnims_BlizzardIceCrystal[];
|
|||||||
void AnimFireSpread(struct Sprite *sprite);
|
void AnimFireSpread(struct Sprite *sprite);
|
||||||
void AnimFireSpiralOutward(struct Sprite *sprite);
|
void AnimFireSpiralOutward(struct Sprite *sprite);
|
||||||
void AnimWillOWispOrb(struct Sprite *);
|
void AnimWillOWispOrb(struct Sprite *);
|
||||||
|
void AnimEruptionFallingRock(struct Sprite *);
|
||||||
|
void AnimFireCross(struct Sprite *);
|
||||||
|
void AnimFirePlume(struct Sprite *);
|
||||||
extern const union AnimCmd *const gAnims_FireBlastCross[];
|
extern const union AnimCmd *const gAnims_FireBlastCross[];
|
||||||
extern const union AnimCmd *const gAnims_WillOWispOrb[];
|
extern const union AnimCmd *const gAnims_WillOWispOrb[];
|
||||||
|
extern const union AnimCmd *const gAnims_FirePlume[];
|
||||||
|
|
||||||
// battle_anim_dragon.c
|
// battle_anim_dragon.c
|
||||||
extern const union AnimCmd *const gAnims_DragonBreathFire[];
|
extern const union AnimCmd *const gAnims_DragonBreathFire[];
|
||||||
|
@ -614,6 +614,12 @@
|
|||||||
#define ANIM_RIGHT_FIST 0
|
#define ANIM_RIGHT_FIST 0
|
||||||
#define ANIM_LEFT_FIST 2
|
#define ANIM_LEFT_FIST 2
|
||||||
|
|
||||||
|
// fist/chop frames
|
||||||
|
#define ANIM_FIST_1 0
|
||||||
|
#define ANIM_FOOT_1 1
|
||||||
|
#define ANIM_FOOT_2 2
|
||||||
|
#define ANIM_CHOP 3
|
||||||
|
|
||||||
// surf wave palettes
|
// surf wave palettes
|
||||||
#define ANIM_SURF_PAL_SURF 0
|
#define ANIM_SURF_PAL_SURF 0
|
||||||
#define ANIM_SURF_PAL_MUDDY_WATER 1
|
#define ANIM_SURF_PAL_MUDDY_WATER 1
|
||||||
|
@ -58,7 +58,6 @@ static void AnimSoftBoiledEgg_Step4(struct Sprite *);
|
|||||||
static void AnimSoftBoiledEgg_Step4_Callback(struct Sprite *);
|
static void AnimSoftBoiledEgg_Step4_Callback(struct Sprite *);
|
||||||
static void AnimSpeedDust(struct Sprite *);
|
static void AnimSpeedDust(struct Sprite *);
|
||||||
static void AnimHealBellMusicNote(struct Sprite *);
|
static void AnimHealBellMusicNote(struct Sprite *);
|
||||||
static void AnimMagentaHeart(struct Sprite *);
|
|
||||||
static void AnimRedHeartProjectile(struct Sprite *);
|
static void AnimRedHeartProjectile(struct Sprite *);
|
||||||
static void AnimRedHeartProjectile_Step(struct Sprite *);
|
static void AnimRedHeartProjectile_Step(struct Sprite *);
|
||||||
static void AnimRedHeartRising(struct Sprite *);
|
static void AnimRedHeartRising(struct Sprite *);
|
||||||
@ -3091,7 +3090,7 @@ static void AnimHealBellMusicNote(struct Sprite *sprite)
|
|||||||
SetMusicNotePalette(sprite, gBattleAnimArgs[5], gBattleAnimArgs[6]);
|
SetMusicNotePalette(sprite, gBattleAnimArgs[5], gBattleAnimArgs[6]);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void AnimMagentaHeart(struct Sprite *sprite)
|
void AnimMagentaHeart(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if (++sprite->data[0] == 1)
|
if (++sprite->data[0] == 1)
|
||||||
InitSpritePosToAnimAttacker(sprite, FALSE);
|
InitSpritePosToAnimAttacker(sprite, FALSE);
|
||||||
|
@ -65,8 +65,6 @@ static void AnimPainSplitProjectile(struct Sprite *);
|
|||||||
static void AnimFlatterConfetti(struct Sprite *);
|
static void AnimFlatterConfetti(struct Sprite *);
|
||||||
static void AnimFlatterConfetti_Step(struct Sprite *);
|
static void AnimFlatterConfetti_Step(struct Sprite *);
|
||||||
static void AnimFlatterSpotlight(struct Sprite *);
|
static void AnimFlatterSpotlight(struct Sprite *);
|
||||||
static void AnimFlatterSpotlight_Step(struct Sprite *);
|
|
||||||
static void AnimReversalOrb(struct Sprite *);
|
|
||||||
static void AnimReversalOrb_Step(struct Sprite *);
|
static void AnimReversalOrb_Step(struct Sprite *);
|
||||||
static void AnimYawnCloud(struct Sprite *);
|
static void AnimYawnCloud(struct Sprite *);
|
||||||
static void AnimYawnCloud_Step(struct Sprite *);
|
static void AnimYawnCloud_Step(struct Sprite *);
|
||||||
@ -75,7 +73,6 @@ static void AnimFacadeSweatDrop(struct Sprite *);
|
|||||||
static void AnimRoarNoiseLine(struct Sprite *);
|
static void AnimRoarNoiseLine(struct Sprite *);
|
||||||
static void AnimRoarNoiseLine_Step(struct Sprite *);
|
static void AnimRoarNoiseLine_Step(struct Sprite *);
|
||||||
static void AnimGlareEyeDot(struct Sprite *);
|
static void AnimGlareEyeDot(struct Sprite *);
|
||||||
static void AnimAssistPawprint(struct Sprite *);
|
|
||||||
static void AnimSmellingSaltsHand(struct Sprite *);
|
static void AnimSmellingSaltsHand(struct Sprite *);
|
||||||
static void AnimSmellingSaltsHand_Step(struct Sprite *);
|
static void AnimSmellingSaltsHand_Step(struct Sprite *);
|
||||||
static void AnimSmellingSaltExclamation(struct Sprite *);
|
static void AnimSmellingSaltExclamation(struct Sprite *);
|
||||||
@ -3144,7 +3141,7 @@ static void AnimFlatterSpotlight(struct Sprite *sprite)
|
|||||||
sprite->callback = AnimFlatterSpotlight_Step;
|
sprite->callback = AnimFlatterSpotlight_Step;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void AnimFlatterSpotlight_Step(struct Sprite *sprite)
|
void AnimFlatterSpotlight_Step(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
switch (sprite->data[1])
|
switch (sprite->data[1])
|
||||||
{
|
{
|
||||||
@ -3178,7 +3175,7 @@ static void AnimFlatterSpotlight_Step(struct Sprite *sprite)
|
|||||||
// Spins an orb around the attacking mon, while its path radius grows and shrinks.
|
// Spins an orb around the attacking mon, while its path radius grows and shrinks.
|
||||||
// arg 0: duration
|
// arg 0: duration
|
||||||
// arg 1: initial wave offset
|
// arg 1: initial wave offset
|
||||||
static void AnimReversalOrb(struct Sprite *sprite)
|
void AnimReversalOrb(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||||
@ -4106,7 +4103,7 @@ static void AnimGlareEyeDot(struct Sprite *sprite)
|
|||||||
// arg 2: destination x position
|
// arg 2: destination x position
|
||||||
// arg 3: destination y position
|
// arg 3: destination y position
|
||||||
// arg 4: duration
|
// arg 4: duration
|
||||||
static void AnimAssistPawprint(struct Sprite *sprite)
|
void AnimAssistPawprint(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
sprite->pos1.x = gBattleAnimArgs[0];
|
sprite->pos1.x = gBattleAnimArgs[0];
|
||||||
sprite->pos1.y = gBattleAnimArgs[1];
|
sprite->pos1.y = gBattleAnimArgs[1];
|
||||||
|
@ -15,7 +15,6 @@ static void AnimZapCannonSpark_Step(struct Sprite *);
|
|||||||
static void AnimThunderboltOrb(struct Sprite *);
|
static void AnimThunderboltOrb(struct Sprite *);
|
||||||
static void AnimThunderboltOrb_Step(struct Sprite *);
|
static void AnimThunderboltOrb_Step(struct Sprite *);
|
||||||
static void AnimSparkElectricityFlashing_Step(struct Sprite *);
|
static void AnimSparkElectricityFlashing_Step(struct Sprite *);
|
||||||
static void AnimElectricity(struct Sprite *);
|
|
||||||
static void AnimTask_ElectricBolt_Step(u8 taskId);
|
static void AnimTask_ElectricBolt_Step(u8 taskId);
|
||||||
static void AnimElectricBoltSegment(struct Sprite *);
|
static void AnimElectricBoltSegment(struct Sprite *);
|
||||||
static void AnimThunderWave_Step(struct Sprite *);
|
static void AnimThunderWave_Step(struct Sprite *);
|
||||||
@ -758,7 +757,7 @@ static void AnimSparkElectricityFlashing_Step(struct Sprite *sprite)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Electricity arcs around the target. Used for Paralysis and various electric move hits
|
// Electricity arcs around the target. Used for Paralysis and various electric move hits
|
||||||
static void AnimElectricity(struct Sprite *sprite)
|
void AnimElectricity(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if (!InitSpritePosToAnimBattler(gBattleAnimArgs[4], sprite, FALSE))
|
if (!InitSpritePosToAnimBattler(gBattleAnimArgs[4], sprite, FALSE))
|
||||||
return;
|
return;
|
||||||
|
@ -24,7 +24,6 @@ static void AnimSuperpowerOrb_Step(struct Sprite *);
|
|||||||
static void AnimSuperpowerRock(struct Sprite *);
|
static void AnimSuperpowerRock(struct Sprite *);
|
||||||
static void AnimSuperpowerRock_Step1(struct Sprite *);
|
static void AnimSuperpowerRock_Step1(struct Sprite *);
|
||||||
static void AnimSuperpowerRock_Step2(struct Sprite *);
|
static void AnimSuperpowerRock_Step2(struct Sprite *);
|
||||||
static void AnimSuperpowerFireball(struct Sprite *);
|
|
||||||
static void AnimArmThrustHit(struct Sprite *);
|
static void AnimArmThrustHit(struct Sprite *);
|
||||||
static void AnimArmThrustHit_Step(struct Sprite *sprite);
|
static void AnimArmThrustHit_Step(struct Sprite *sprite);
|
||||||
static void AnimFocusPunchFist(struct Sprite *);
|
static void AnimFocusPunchFist(struct Sprite *);
|
||||||
@ -974,7 +973,7 @@ static void AnimSuperpowerRock_Step2(struct Sprite *sprite)
|
|||||||
DestroyAnimSprite(sprite);
|
DestroyAnimSprite(sprite);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void AnimSuperpowerFireball(struct Sprite *sprite)
|
void AnimSuperpowerFireball(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
u8 battler;
|
u8 battler;
|
||||||
|
|
||||||
|
@ -8,7 +8,6 @@
|
|||||||
#include "trig.h"
|
#include "trig.h"
|
||||||
|
|
||||||
static void AnimFireSpiralInward(struct Sprite *);
|
static void AnimFireSpiralInward(struct Sprite *);
|
||||||
static void AnimFirePlume(struct Sprite *);
|
|
||||||
static void AnimLargeFlame(struct Sprite *);
|
static void AnimLargeFlame(struct Sprite *);
|
||||||
static void sub_8109028(struct Sprite *);
|
static void sub_8109028(struct Sprite *);
|
||||||
static void sub_8109064(struct Sprite *);
|
static void sub_8109064(struct Sprite *);
|
||||||
@ -21,7 +20,6 @@ static void AnimFireRing_Step1(struct Sprite *);
|
|||||||
static void AnimFireRing_Step2(struct Sprite *);
|
static void AnimFireRing_Step2(struct Sprite *);
|
||||||
static void AnimFireRing_Step3(struct Sprite *);
|
static void AnimFireRing_Step3(struct Sprite *);
|
||||||
static void UpdateFireRingCircleOffset(struct Sprite *);
|
static void UpdateFireRingCircleOffset(struct Sprite *);
|
||||||
static void AnimFireCross(struct Sprite *);
|
|
||||||
static void AnimFireSpiralOutward_Step1(struct Sprite *);
|
static void AnimFireSpiralOutward_Step1(struct Sprite *);
|
||||||
static void AnimFireSpiralOutward_Step2(struct Sprite *);
|
static void AnimFireSpiralOutward_Step2(struct Sprite *);
|
||||||
static void AnimTask_EruptionLaunchRocks_Step(u8 taskId);
|
static void AnimTask_EruptionLaunchRocks_Step(u8 taskId);
|
||||||
@ -30,7 +28,6 @@ static void AnimEruptionLaunchRock(struct Sprite *);
|
|||||||
static u16 GetEruptionLaunchRockInitialYPos(u8 spriteId);
|
static u16 GetEruptionLaunchRockInitialYPos(u8 spriteId);
|
||||||
static void InitEruptionLaunchRockCoordData(struct Sprite *sprite, s16 x, s16 y);
|
static void InitEruptionLaunchRockCoordData(struct Sprite *sprite, s16 x, s16 y);
|
||||||
static void UpdateEruptionLaunchRockPos(struct Sprite *);
|
static void UpdateEruptionLaunchRockPos(struct Sprite *);
|
||||||
static void AnimEruptionFallingRock(struct Sprite *);
|
|
||||||
static void AnimEruptionFallingRock_Step(struct Sprite *);
|
static void AnimEruptionFallingRock_Step(struct Sprite *);
|
||||||
static void AnimWillOWispOrb_Step(struct Sprite *);
|
static void AnimWillOWispOrb_Step(struct Sprite *);
|
||||||
static void AnimWillOWispFire(struct Sprite *);
|
static void AnimWillOWispFire(struct Sprite *);
|
||||||
@ -110,7 +107,7 @@ static const union AnimCmd sAnim_FirePlume[] =
|
|||||||
ANIMCMD_JUMP(0),
|
ANIMCMD_JUMP(0),
|
||||||
};
|
};
|
||||||
|
|
||||||
static const union AnimCmd *const sAnims_FirePlume[] =
|
const union AnimCmd *const gAnims_FirePlume[] =
|
||||||
{
|
{
|
||||||
sAnim_FirePlume,
|
sAnim_FirePlume,
|
||||||
};
|
};
|
||||||
@ -154,7 +151,7 @@ const struct SpriteTemplate gFirePlumeSpriteTemplate =
|
|||||||
.tileTag = ANIM_TAG_FIRE_PLUME,
|
.tileTag = ANIM_TAG_FIRE_PLUME,
|
||||||
.paletteTag = ANIM_TAG_FIRE_PLUME,
|
.paletteTag = ANIM_TAG_FIRE_PLUME,
|
||||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||||
.anims = sAnims_FirePlume,
|
.anims = gAnims_FirePlume,
|
||||||
.images = NULL,
|
.images = NULL,
|
||||||
.affineAnims = gDummySpriteAffineAnimTable,
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
.callback = AnimFirePlume,
|
.callback = AnimFirePlume,
|
||||||
@ -166,7 +163,7 @@ const struct SpriteTemplate gUnknown_08595440 =
|
|||||||
.tileTag = ANIM_TAG_SMALL_EMBER,
|
.tileTag = ANIM_TAG_SMALL_EMBER,
|
||||||
.paletteTag = ANIM_TAG_SMALL_EMBER,
|
.paletteTag = ANIM_TAG_SMALL_EMBER,
|
||||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||||
.anims = sAnims_FirePlume,
|
.anims = gAnims_FirePlume,
|
||||||
.images = NULL,
|
.images = NULL,
|
||||||
.affineAnims = gDummySpriteAffineAnimTable,
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
.callback = AnimFirePlume,
|
.callback = AnimFirePlume,
|
||||||
@ -501,7 +498,7 @@ const struct SpriteTemplate gLavaPlumeSpriteTemplate =
|
|||||||
.tileTag = ANIM_TAG_FIRE_PLUME,
|
.tileTag = ANIM_TAG_FIRE_PLUME,
|
||||||
.paletteTag = ANIM_TAG_FIRE_PLUME,
|
.paletteTag = ANIM_TAG_FIRE_PLUME,
|
||||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||||
.anims = sAnims_FirePlume,
|
.anims = gAnims_FirePlume,
|
||||||
.images = NULL,
|
.images = NULL,
|
||||||
.affineAnims = gLavaPlumeAffineAnims,
|
.affineAnims = gLavaPlumeAffineAnims,
|
||||||
.callback = AnimLavaPlumeOrbitScatter,
|
.callback = AnimLavaPlumeOrbitScatter,
|
||||||
@ -575,7 +572,7 @@ void AnimFireSpread(struct Sprite *sprite)
|
|||||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void AnimFirePlume(struct Sprite *sprite)
|
void AnimFirePlume(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
SetSpriteCoordsToAnimAttackerCoords(sprite);
|
SetSpriteCoordsToAnimAttackerCoords(sprite);
|
||||||
|
|
||||||
@ -807,7 +804,7 @@ static void UpdateFireRingCircleOffset(struct Sprite *sprite)
|
|||||||
// arg 3: x delta
|
// arg 3: x delta
|
||||||
// arg 4: y delta
|
// arg 4: y delta
|
||||||
// AnimFireCross(struct Sprite *sprite)
|
// AnimFireCross(struct Sprite *sprite)
|
||||||
static void AnimFireCross(struct Sprite *sprite)
|
void AnimFireCross(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
sprite->pos1.x += gBattleAnimArgs[0];
|
sprite->pos1.x += gBattleAnimArgs[0];
|
||||||
sprite->pos1.y += gBattleAnimArgs[1];
|
sprite->pos1.y += gBattleAnimArgs[1];
|
||||||
@ -1084,7 +1081,7 @@ static void UpdateEruptionLaunchRockPos(struct Sprite *sprite)
|
|||||||
sprite->invisible = TRUE;
|
sprite->invisible = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void AnimEruptionFallingRock(struct Sprite *sprite)
|
void AnimEruptionFallingRock(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
sprite->pos1.x = gBattleAnimArgs[0];
|
sprite->pos1.x = gBattleAnimArgs[0];
|
||||||
sprite->pos1.y = gBattleAnimArgs[1];
|
sprite->pos1.y = gBattleAnimArgs[1];
|
||||||
|
@ -8,7 +8,6 @@
|
|||||||
|
|
||||||
extern const struct SpriteTemplate gFlashingHitSplatSpriteTemplate;
|
extern const struct SpriteTemplate gFlashingHitSplatSpriteTemplate;
|
||||||
|
|
||||||
static void AnimEllipticalGust(struct Sprite *);
|
|
||||||
static void AnimEllipticalGust_Step(struct Sprite *);
|
static void AnimEllipticalGust_Step(struct Sprite *);
|
||||||
static void AnimGustToTarget(struct Sprite *);
|
static void AnimGustToTarget(struct Sprite *);
|
||||||
static void AnimGustToTarget_Step(struct Sprite *);
|
static void AnimGustToTarget_Step(struct Sprite *);
|
||||||
@ -18,7 +17,6 @@ static void sub_810EB40(struct Sprite *);
|
|||||||
static void sub_810EA4C(struct Sprite *);
|
static void sub_810EA4C(struct Sprite *);
|
||||||
static void AnimWhirlwindLine(struct Sprite *);
|
static void AnimWhirlwindLine(struct Sprite *);
|
||||||
static void AnimBounceBallShrink(struct Sprite *);
|
static void AnimBounceBallShrink(struct Sprite *);
|
||||||
static void AnimBounceBallLand(struct Sprite *);
|
|
||||||
static void AnimDiveBall(struct Sprite *);
|
static void AnimDiveBall(struct Sprite *);
|
||||||
static void AnimDiveBall_Step1(struct Sprite *);
|
static void AnimDiveBall_Step1(struct Sprite *);
|
||||||
static void AnimDiveBall_Step2(struct Sprite *);
|
static void AnimDiveBall_Step2(struct Sprite *);
|
||||||
@ -243,7 +241,7 @@ static const union AffineAnimCmd sAffineAnim_BounceBallLand[] =
|
|||||||
AFFINEANIMCMD_END,
|
AFFINEANIMCMD_END,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const union AffineAnimCmd *const sAffineAnims_BounceBallLand[] =
|
const union AffineAnimCmd *const gAffineAnims_BounceBallLand[] =
|
||||||
{
|
{
|
||||||
sAffineAnim_BounceBallLand,
|
sAffineAnim_BounceBallLand,
|
||||||
};
|
};
|
||||||
@ -255,7 +253,7 @@ const struct SpriteTemplate gBounceBallLandSpriteTemplate =
|
|||||||
.oam = &gOamData_AffineDouble_ObjNormal_64x64,
|
.oam = &gOamData_AffineDouble_ObjNormal_64x64,
|
||||||
.anims = gDummySpriteAnimTable,
|
.anims = gDummySpriteAnimTable,
|
||||||
.images = NULL,
|
.images = NULL,
|
||||||
.affineAnims = sAffineAnims_BounceBallLand,
|
.affineAnims = gAffineAnims_BounceBallLand,
|
||||||
.callback = AnimBounceBallLand,
|
.callback = AnimBounceBallLand,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -343,7 +341,7 @@ const struct SpriteTemplate gSkyAttackBirdSpriteTemplate =
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
static void AnimEllipticalGust(struct Sprite *sprite)
|
void AnimEllipticalGust(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
InitSpritePosToAnimTarget(sprite, FALSE);
|
InitSpritePosToAnimTarget(sprite, FALSE);
|
||||||
sprite->pos1.y += 20;
|
sprite->pos1.y += 20;
|
||||||
@ -977,7 +975,7 @@ static void AnimBounceBallShrink(struct Sprite *sprite)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void AnimBounceBallLand(struct Sprite *sprite)
|
void AnimBounceBallLand(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
switch (sprite->data[0])
|
switch (sprite->data[0])
|
||||||
{
|
{
|
||||||
|
@ -1400,3 +1400,68 @@ static void sub_8112FB8(struct Sprite *sprite)
|
|||||||
sprite->callback = DestroySpriteAndMatrix;
|
sprite->callback = DestroySpriteAndMatrix;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//pulverizing pancake - destiny bond shadow from attacker to target
|
||||||
|
void AnimTask_PulverizingPancakeWhiteShadow(u8 taskId)
|
||||||
|
{
|
||||||
|
struct Task *task;
|
||||||
|
s16 battler;
|
||||||
|
u8 spriteId;
|
||||||
|
s16 baseX, baseY;
|
||||||
|
s16 x, y;
|
||||||
|
|
||||||
|
task = &gTasks[taskId];
|
||||||
|
SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL));
|
||||||
|
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0x10));
|
||||||
|
task->data[5] = 0;
|
||||||
|
task->data[6] = 0;
|
||||||
|
task->data[7] = 0;
|
||||||
|
task->data[8] = 0;
|
||||||
|
task->data[9] = 16;
|
||||||
|
task->data[10] = gBattleAnimArgs[0];
|
||||||
|
|
||||||
|
baseX = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||||
|
baseY = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_BOTTOM);
|
||||||
|
if (!IsContest())
|
||||||
|
{
|
||||||
|
spriteId = CreateSprite(&gDestinyBondWhiteShadowSpriteTemplate, baseX, baseY, 55);
|
||||||
|
if (spriteId != MAX_SPRITES)
|
||||||
|
{
|
||||||
|
x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||||
|
y = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_BOTTOM);
|
||||||
|
gSprites[spriteId].data[0] = baseX << 4;
|
||||||
|
gSprites[spriteId].data[1] = baseY << 4;
|
||||||
|
gSprites[spriteId].data[2] = ((x - baseX) << 4) / gBattleAnimArgs[1];
|
||||||
|
gSprites[spriteId].data[3] = ((y - baseY) << 4) / gBattleAnimArgs[1];
|
||||||
|
gSprites[spriteId].data[4] = gBattleAnimArgs[1];
|
||||||
|
gSprites[spriteId].data[5] = x;
|
||||||
|
gSprites[spriteId].data[6] = y;
|
||||||
|
gSprites[spriteId].callback = AnimDestinyBondWhiteShadow_Step;
|
||||||
|
|
||||||
|
task->data[task->data[12] + 13] = spriteId;
|
||||||
|
task->data[12]++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
spriteId = CreateSprite(&gDestinyBondWhiteShadowSpriteTemplate, baseX, baseY, 55);
|
||||||
|
if (spriteId != MAX_SPRITES)
|
||||||
|
{
|
||||||
|
x = 48;
|
||||||
|
y = 40;
|
||||||
|
gSprites[spriteId].data[0] = baseX << 4;
|
||||||
|
gSprites[spriteId].data[1] = baseY << 4;
|
||||||
|
gSprites[spriteId].data[2] = ((x - baseX) << 4) / gBattleAnimArgs[1];
|
||||||
|
gSprites[spriteId].data[3] = ((y - baseY) << 4) / gBattleAnimArgs[1];
|
||||||
|
gSprites[spriteId].data[4] = gBattleAnimArgs[1];
|
||||||
|
gSprites[spriteId].data[5] = x;
|
||||||
|
gSprites[spriteId].data[6] = y;
|
||||||
|
gSprites[spriteId].callback = AnimDestinyBondWhiteShadow_Step;
|
||||||
|
|
||||||
|
task->data[13] = spriteId;
|
||||||
|
task->data[12] = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
task->func = AnimTask_DestinyBondWhiteShadow_Step;
|
||||||
|
}
|
||||||
|
@ -8,7 +8,6 @@
|
|||||||
|
|
||||||
static void AnimBonemerangProjectile(struct Sprite *);
|
static void AnimBonemerangProjectile(struct Sprite *);
|
||||||
static void AnimBoneHitProjectile(struct Sprite *);
|
static void AnimBoneHitProjectile(struct Sprite *);
|
||||||
static void AnimDirtPlumeParticle(struct Sprite *);
|
|
||||||
static void AnimDirtPlumeParticle_Step(struct Sprite *);
|
static void AnimDirtPlumeParticle_Step(struct Sprite *);
|
||||||
static void AnimDigDirtMound(struct Sprite *);
|
static void AnimDigDirtMound(struct Sprite *);
|
||||||
static void AnimBonemerangProjectile_Step(struct Sprite *);
|
static void AnimBonemerangProjectile_Step(struct Sprite *);
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -8,7 +8,6 @@ static void AnimSludgeProjectile_Step(struct Sprite *);
|
|||||||
static void AnimAcidPoisonBubble(struct Sprite *);
|
static void AnimAcidPoisonBubble(struct Sprite *);
|
||||||
static void AnimSludgeBombHitParticle_Step(struct Sprite *);
|
static void AnimSludgeBombHitParticle_Step(struct Sprite *);
|
||||||
static void AnimAcidPoisonDroplet(struct Sprite *);
|
static void AnimAcidPoisonDroplet(struct Sprite *);
|
||||||
static void AnimBubbleEffect(struct Sprite *);
|
|
||||||
static void AnimBubbleEffect_Step(struct Sprite *);
|
static void AnimBubbleEffect_Step(struct Sprite *);
|
||||||
static void AnimSuckerPunchStep(struct Sprite *sprite);
|
static void AnimSuckerPunchStep(struct Sprite *sprite);
|
||||||
static void AnimSuckerPunch(struct Sprite *sprite);
|
static void AnimSuckerPunch(struct Sprite *sprite);
|
||||||
@ -161,7 +160,7 @@ static const union AffineAnimCmd sAffineAnim_Bubble[] =
|
|||||||
AFFINEANIMCMD_END,
|
AFFINEANIMCMD_END,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const union AffineAnimCmd *const sAffineAnims_Bubble[] =
|
const union AffineAnimCmd *const gAffineAnims_Bubble[] =
|
||||||
{
|
{
|
||||||
sAffineAnim_Bubble,
|
sAffineAnim_Bubble,
|
||||||
};
|
};
|
||||||
@ -173,7 +172,7 @@ const struct SpriteTemplate gPoisonBubbleSpriteTemplate =
|
|||||||
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
|
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
|
||||||
.anims = gAnims_PoisonProjectile,
|
.anims = gAnims_PoisonProjectile,
|
||||||
.images = NULL,
|
.images = NULL,
|
||||||
.affineAnims = sAffineAnims_Bubble,
|
.affineAnims = gAffineAnims_Bubble,
|
||||||
.callback = AnimBubbleEffect,
|
.callback = AnimBubbleEffect,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -184,7 +183,7 @@ const struct SpriteTemplate gWaterBubbleSpriteTemplate =
|
|||||||
.oam = &gOamData_AffineNormal_ObjBlend_16x16,
|
.oam = &gOamData_AffineNormal_ObjBlend_16x16,
|
||||||
.anims = gAnims_WaterBubble,
|
.anims = gAnims_WaterBubble,
|
||||||
.images = NULL,
|
.images = NULL,
|
||||||
.affineAnims = sAffineAnims_Bubble,
|
.affineAnims = gAffineAnims_Bubble,
|
||||||
.callback = AnimBubbleEffect,
|
.callback = AnimBubbleEffect,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -505,7 +504,7 @@ static void AnimAcidPoisonDroplet(struct Sprite *sprite)
|
|||||||
// arg 0: initial x pixel offset
|
// arg 0: initial x pixel offset
|
||||||
// arg 1: initial y pixel offset
|
// arg 1: initial y pixel offset
|
||||||
// arg 2: 0 = single-target, 1 = multi-target
|
// arg 2: 0 = single-target, 1 = multi-target
|
||||||
static void AnimBubbleEffect(struct Sprite *sprite)
|
void AnimBubbleEffect(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if (!gBattleAnimArgs[2])
|
if (!gBattleAnimArgs[2])
|
||||||
{
|
{
|
||||||
|
@ -43,7 +43,7 @@ static const union AnimCmd sAnim_FlyingRock_2[] =
|
|||||||
ANIMCMD_END,
|
ANIMCMD_END,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const union AnimCmd *const sAnims_FlyingRock[] =
|
const union AnimCmd *const gAnims_FlyingRock[] =
|
||||||
{
|
{
|
||||||
sAnim_FlyingRock_0,
|
sAnim_FlyingRock_0,
|
||||||
sAnim_FlyingRock_1,
|
sAnim_FlyingRock_1,
|
||||||
@ -55,7 +55,7 @@ const struct SpriteTemplate gFallingRockSpriteTemplate =
|
|||||||
.tileTag = ANIM_TAG_ROCKS,
|
.tileTag = ANIM_TAG_ROCKS,
|
||||||
.paletteTag = ANIM_TAG_ROCKS,
|
.paletteTag = ANIM_TAG_ROCKS,
|
||||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||||
.anims = sAnims_FlyingRock,
|
.anims = gAnims_FlyingRock,
|
||||||
.images = NULL,
|
.images = NULL,
|
||||||
.affineAnims = gDummySpriteAffineAnimTable,
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
.callback = AnimFallingRock,
|
.callback = AnimFallingRock,
|
||||||
@ -66,7 +66,7 @@ const struct SpriteTemplate gRockFragmentSpriteTemplate =
|
|||||||
.tileTag = ANIM_TAG_ROCKS,
|
.tileTag = ANIM_TAG_ROCKS,
|
||||||
.paletteTag = ANIM_TAG_ROCKS,
|
.paletteTag = ANIM_TAG_ROCKS,
|
||||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||||
.anims = sAnims_FlyingRock,
|
.anims = gAnims_FlyingRock,
|
||||||
.images = NULL,
|
.images = NULL,
|
||||||
.affineAnims = gDummySpriteAffineAnimTable,
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
.callback = AnimRockFragment,
|
.callback = AnimRockFragment,
|
||||||
@ -708,6 +708,54 @@ void AnimTask_Rollout(u8 taskId)
|
|||||||
task->func = AnimTask_Rollout_Step;
|
task->func = AnimTask_Rollout_Step;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AnimTask_TectonicRageRollout(u8 taskId)
|
||||||
|
{
|
||||||
|
u16 var0, var1, var2, var3;
|
||||||
|
int var5;
|
||||||
|
s16 pan1, pan2;
|
||||||
|
struct Task *task;
|
||||||
|
u8 rolloutCounter = 1;
|
||||||
|
|
||||||
|
task = &gTasks[taskId];
|
||||||
|
|
||||||
|
var0 = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||||
|
var1 = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + 24;
|
||||||
|
var2 = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||||
|
var3 = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + 24;
|
||||||
|
|
||||||
|
if (BATTLE_PARTNER(gBattleAnimAttacker) == gBattleAnimTarget)
|
||||||
|
var3 = var1;
|
||||||
|
|
||||||
|
task->data[8] = 48 - (rolloutCounter * 8); //rollout speed
|
||||||
|
task->data[0] = 0;
|
||||||
|
task->data[11] = 0;
|
||||||
|
task->data[9] = 0;
|
||||||
|
task->data[12] = 1;
|
||||||
|
|
||||||
|
var5 = task->data[8];
|
||||||
|
if (var5 < 0)
|
||||||
|
var5 += 7;
|
||||||
|
|
||||||
|
task->data[10] = (var5 >> 3) - 1;
|
||||||
|
|
||||||
|
task->data[2] = var0 * 8;
|
||||||
|
task->data[3] = var1 * 8;
|
||||||
|
task->data[4] = ((var2 - var0) * 8) / task->data[8];
|
||||||
|
task->data[5] = ((var3 - var1) * 8) / task->data[8];
|
||||||
|
task->data[6] = 0;
|
||||||
|
task->data[7] = 0;
|
||||||
|
|
||||||
|
pan1 = BattleAnimAdjustPanning(-64);
|
||||||
|
pan2 = BattleAnimAdjustPanning(63);
|
||||||
|
|
||||||
|
task->data[13] = pan1;
|
||||||
|
task->data[14] = (pan2 - pan1) / task->data[8];
|
||||||
|
task->data[1] = rolloutCounter;
|
||||||
|
task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
||||||
|
|
||||||
|
task->func = AnimTask_Rollout_Step;
|
||||||
|
}
|
||||||
|
|
||||||
static void AnimTask_Rollout_Step(u8 taskId)
|
static void AnimTask_Rollout_Step(u8 taskId)
|
||||||
{
|
{
|
||||||
struct Task *task;
|
struct Task *task;
|
||||||
|
@ -380,6 +380,25 @@ static void sub_80A9E78(struct Sprite *sprite)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AnimTask_FrozenIceCubeAttacker(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) - 32;
|
||||||
|
s16 y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) - 36;
|
||||||
|
u8 spriteId;
|
||||||
|
|
||||||
|
if (IsContest())
|
||||||
|
x -= 6;
|
||||||
|
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
|
||||||
|
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
|
||||||
|
spriteId = CreateSprite(&gFrozenIceCubeSpriteTemplate, x, y, 4);
|
||||||
|
if (GetSpriteTileStartByTag(ANIM_TAG_ICE_CUBE) == 0xFFFF)
|
||||||
|
gSprites[spriteId].invisible = TRUE;
|
||||||
|
SetSubspriteTables(&gSprites[spriteId], sFrozenIceCubeSubspriteTable);
|
||||||
|
gTasks[taskId].data[15] = spriteId;
|
||||||
|
gTasks[taskId].func = AnimTask_FrozenIceCube_Step1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void AnimTask_FrozenIceCube(u8 taskId)
|
void AnimTask_FrozenIceCube(u8 taskId)
|
||||||
{
|
{
|
||||||
s16 x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) - 32;
|
s16 x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) - 32;
|
||||||
|
@ -4884,4 +4884,19 @@ const struct Item gItems[] =
|
|||||||
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
|
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
|
||||||
.secondaryId = 0,
|
.secondaryId = 0,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
//TEST
|
||||||
|
[ITEM_DARKINIUM_Z] =
|
||||||
|
{
|
||||||
|
.name = _("Darkinium Z"),
|
||||||
|
.itemId = ITEM_DARKINIUM_Z,
|
||||||
|
.price = 0,
|
||||||
|
.description = sDummyDesc,
|
||||||
|
.importance = 1,
|
||||||
|
.pocket = POCKET_KEY_ITEMS,
|
||||||
|
.holdEffectParam = TYPE_DARK,
|
||||||
|
.type = 4,
|
||||||
|
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
|
||||||
|
.holdEffect = HOLD_EFFECT_Z_CRYSTAL,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user