New U-turn animation to fix visibility (#5910)

This commit is contained in:
Alex 2024-12-31 00:36:07 +01:00 committed by GitHub
parent bf125c8f5e
commit 7e0c1f9323
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 38 additions and 22 deletions

View file

@ -350,34 +350,27 @@ gBattleAnimMove_MetalBurst::
waitforvisualfinish
end
@Credits: Skeli
gBattleAnimMove_UTurn::
loadspritegfx ANIM_TAG_ROUND_SHADOW
loadspritegfx ANIM_TAG_SMALL_BUBBLES
loadspritegfx ANIM_TAG_RAZOR_LEAF
loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
playsewithpan SE_M_FLY, SOUND_PAN_ATTACKER
createsprite gFlyBallUpSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 13, 336
playsewithpan SE_M_DOUBLE_TEAM, SOUND_PAN_ATTACKER
createvisualtask AnimTask_CanBattlerSwitch, 1, ANIM_ATTACKER
jumpretfalse UTurnVisible
createsprite gFlyBallAttackSpriteTemplate, ANIM_ATTACKER, 2, 20, TRUE
UTurnContinue:
delay 20
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 0
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1
playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
createvisualtask AnimTask_CanBattlerSwitch, 1, ANIM_ATTACKER
jumpretfalse UTurnLast
splitbgprio ANIM_TARGET
setalpha 8, 8
invisible ANIM_ATTACKER
UTurnLast:
blendoff
playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER
createsprite gUTurnBallSpriteTemplate, ANIM_TARGET, 2, 0, 0, 21
waitforvisualfinish
playsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 1, 2
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
createsprite gUTurnBallBackSpriteTemplate, ANIM_ATTACKER, 3, 4, 0, -16, 36
waitforvisualfinish
visible ANIM_ATTACKER
clearmonbg ANIM_TARGET
blendoff
end
UTurnVisible:
createsprite gFlyBallAttackSpriteTemplate, ANIM_ATTACKER, 2, 20, FALSE
goto UTurnContinue
gBattleAnimMove_CloseCombat::
loadspritegfx ANIM_TAG_IMPACT

View file

@ -4380,6 +4380,29 @@ const struct SpriteTemplate gSpriteTemplate_FlipTurnBack = {
.callback = AnimAbsorptionOrb
};
// U-Turn
const struct SpriteTemplate gUTurnBallSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_BUBBLES,
.paletteTag = ANIM_TAG_RAZOR_LEAF,
.oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gAffineAnims_ShadowBall,
.callback = AnimShadowBall,
};
const struct SpriteTemplate gUTurnBallBackSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_BUBBLES,
.paletteTag = ANIM_TAG_RAZOR_LEAF,
.oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gAffineAnims_ShadowBall,
.callback = AnimAbsorptionOrb,
};
// wicked blow
static const union AffineAnimCmd sSpriteAffineAnim_DrainPunchFist[] = {
AFFINEANIMCMD_FRAME(256, 256, 0, 1), //Double sprite size