new animations for many moves more details in description (#5367)

New: Me First, Zippy Zap, Splishy Splash, Floaty Fall, Pika Papow, Bouncy Bubble, Buzzy Buzz, Sizzly Slide, Glitzy Glow, Baddy Bad, Sappy Seed, Freezy Frost, Sparkly Swirl, Veevee Volley, Snap Trap, Astral Barrage, Burning Bulwark
Updated: Aura Sphere, Dark Void, Spirit Shackle
Fixed: Springtide Storm, Bleakwind Storm, Wildbolt Storm, Sandsear Storm, Clangorous Soul(Blaze)
This commit is contained in:
Sadfish the Sad 2024-09-15 02:22:40 -04:00 committed by GitHub
parent fbea1e7e7e
commit f6319d8446
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 607 additions and 123 deletions

View file

@ -691,6 +691,32 @@ gBattleAnimMove_LuckyChant::
end
gBattleAnimMove_MeFirst::
loadspritegfx ANIM_TAG_ORBS
loadspritegfx ANIM_TAG_FINGER
loadspritegfx ANIM_TAG_THOUGHT_BUBBLE
createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_ORBS, 0, 12, 12, 0x7FAF
setalpha 11, 5
monbg_static ANIM_DEF_PARTNER
splitbgprio_all
createsprite gThoughtBubbleSpriteTemplate, ANIM_ATTACKER, 11, 0, 100
playsewithpan SE_M_METRONOME, SOUND_PAN_ATTACKER
delay 6
createsprite gMetronomeFingerSpriteTemplate, ANIM_ATTACKER, 12, 0
delay 24
loopsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER, 22, 3
waitforvisualfinish
panse SE_M_MINIMIZE, SOUND_PAN_TARGET, SOUND_PAN_ATTACKER, -3, 0
createvisualtask AnimTask_ShrinkTargetCopy, 5, 128, 24
delay 15
createsprite gMimicOrbSpriteTemplate, ANIM_TARGET, 2, -12, 24
delay 10
setarg 7, 0xFFFF
waitforvisualfinish
playsewithpan SE_M_TAKE_DOWN, SOUND_PAN_ATTACKER
createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 0, 2, 0, 11, RGB_WHITE
waitforvisualfinish
clearmonbg_static ANIM_DEF_PARTNER
blendoff
end
gBattleAnimMove_Copycat::
@ -1092,8 +1118,8 @@ gBattleAnimMove_ForcePalm::
end
gBattleAnimMove_AuraSphere::
loadspritegfx ANIM_TAG_METEOR
loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT
loadspritegfx ANIM_TAG_IMPACT_2
loadspritegfx ANIM_TAG_LEER
monbg ANIM_ATK_PARTNER
splitbgprio ANIM_ATTACKER
setalpha 12, 8
@ -3600,17 +3626,18 @@ gBattleAnimMove_DarkVoid::
waitbgfadein
createvisualtask AnimTask_DestinyBondWhiteShadow, 5, 0, 0x30
loopsewithpan SE_M_CONFUSE_RAY, SOUND_PAN_ATTACKER, 5, 2
delay 0x30
createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0xfd00, 0x15, 0, 0x70 @Last is speed
createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_DEF_PARTNER, 0xfd00, 0x15, 0, 0x70 @Last is speed
delay 0x40
delay 48
createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, -768, 21, 0, 112 @Last is duration
createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_DEF_PARTNER, -768, 21, 0, 112 @Last is duration
delay 64
invisible ANIM_TARGET
invisible ANIM_DEF_PARTNER
createsprite gDarkVoidPurpleStarsTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 0, 0x20, 0x3c
createsprite gDarkVoidPurpleStarsTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 0, 32, 60
createsprite gDarkVoidPurpleStarsTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_DEF_PARTNER, 0, 32, 60
waitforvisualfinish
createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0, 16
createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_DEF_PARTNER, 0, 16
delay 0x20
delay 32
call UnsetPsychicBg
visible ANIM_TARGET
visible ANIM_DEF_PARTNER
@ -9827,27 +9854,25 @@ gBattleAnimMove_BanefulBunker::
gBattleAnimMove_SpiritShackle::
loadspritegfx ANIM_TAG_SPIRIT_ARROW @Arrow
loadspritegfx ANIM_TAG_CHAIN_LINK @Chain
monbg ANIM_DEF_PARTNER
splitbgprio ANIM_TARGET
setalpha 12, 8
createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x10, 0x0
waitforvisualfinish
loadspritegfx ANIM_TAG_PURPLE_CHAIN
createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_PURPLE_CHAIN, 0, 9, 9, RGB_BLACK
monbg ANIM_TARGET
playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER
createsprite gSpiritShackleArrowTemplate, ANIM_TARGET, 2, 0x10, 0x0, 0x0, 0x0, 0xf
delay 0x8
createsprite gSpiritShackleArrowTemplate, ANIM_TARGET, 2, 16, 0, 0, 0, 15
delay 8
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 10, 1
waitforvisualfinish
loopsewithpan SE_SHINY, SOUND_PAN_ATTACKER, 0x1c, 0x2
createsprite gSpiritShackleChainTemplate, ANIM_TARGET, 2, 0xfff0, 0xfff0
delay 0x4
createsprite gSpiritShackleChainTemplate, ANIM_TARGET, 2, 0xfff0, 0x0
delay 0x4
createsprite gSpiritShackleChainTemplate, ANIM_TARGET, 2, 0xfff0, 0x10
loopsewithpan SE_M_SCRATCH, SOUND_PAN_TARGET, 6, 2
createsprite gChainBindingSpriteTemplate, ANIM_TARGET, 4, 0, 16, 0, 1
delay 7
createsprite gChainBindingSpriteTemplate, ANIM_TARGET, 2, 0, 8, 1, 1
delay 3
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1
delay 20
setarg 7, 0xFFFF
playsewithpan SE_M_BIND, SOUND_PAN_TARGET
waitforvisualfinish
createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x10, 0x0, 0x0
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
clearmonbg ANIM_TARGET
blendoff
end
@ -12621,43 +12646,385 @@ PhotonGeyserBeam:
return
gBattleAnimMove_ZippyZap::
end @to do:
loadspritegfx ANIM_TAG_IMPACT
loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT
loadspritegfx ANIM_TAG_SPARK_2
monbg ANIM_ATK_PARTNER
setalpha 12, 8
playsewithpan SE_M_CHARGE, SOUND_PAN_ATTACKER
createsprite gGrowingShockWaveOrbSpriteTemplate, ANIM_ATTACKER, 2 @electric circle
waitforvisualfinish
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 24, 6, 1, 5
createvisualtask AnimTask_TraceMonBlended, 2, 0, 4, 7, 3
playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER
delay 4
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1
createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, 0, 0, ANIM_TARGET, 1
call ElectricityEffect
playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_ATK_PARTNER
blendoff
waitforvisualfinish
end
gBattleAnimMove_SplishySplash::
end @to do:
loadspritegfx ANIM_TAG_SPARK_2
createvisualtask AnimTask_CreateSurfWave, 2, ANIM_SURF_PAL_SURF
delay 24
panse SE_M_SURF, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
waitforvisualfinish
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 10, 1
call ElectricityEffect
end
gBattleAnimMove_FloatyFall::
end @to do:
loadspritegfx ANIM_TAG_ROUND_SHADOW
loadspritegfx ANIM_TAG_IMPACT
createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_ROUND_SHADOW, 0, 12, 12, RGB_YELLOW
monbg ANIM_DEF_PARTNER
setalpha 12, 8
playsewithpan SE_M_FLY, SOUND_PAN_ATTACKER
createsprite gFlyBallUpSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 13, 336
waitforvisualfinish
playsewithpan SE_M_DOUBLE_TEAM, SOUND_PAN_ATTACKER
createsprite gFlyBallAttackSpriteTemplate, ANIM_ATTACKER, 2, 20, FALSE
delay 20
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 0
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1
playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
waitforvisualfinish
end
gBattleAnimMove_PikaPapow::
end @to do:
createvisualtask AnimTask_GetReturnPowerLevel, 2
delay 2
jumpreteq 0, gBattleAnimMove_ThunderShock
jumpreteq 1, gBattleAnimMove_ShockWave
jumpreteq 2, gBattleAnimMove_Thunderbolt
jumpreteq 3, gBattleAnimMove_Thunder
gBattleAnimMove_BouncyBubble::
end @to do:
loadspritegfx ANIM_TAG_BUBBLE
loadspritegfx ANIM_TAG_SMALL_BUBBLES
loadspritegfx ANIM_TAG_ORBS
loadspritegfx ANIM_TAG_BLUE_STAR
loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
splitbgprio ANIM_TARGET
setalpha 12, 8
delay 1
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 1, 0, 12, RGB(13, 12, 31)
waitforvisualfinish
playsewithpan SE_M_ABSORB, SOUND_PAN_TARGET
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 0
delay 2
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 5, 1
waitforvisualfinish
call WaterBubblesEffectLong
call GigaDrainAbsorbEffect
waitforvisualfinish
delay 15
call HealingEffect
waitforvisualfinish
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 1, 12, 0, RGB(13, 12, 31)
waitforvisualfinish
clearmonbg ANIM_TARGET
blendoff
end
gBattleAnimMove_BuzzyBuzz::
end @to do:
loadspritegfx ANIM_TAG_ELECTRIC_ORBS
loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT
loadspritegfx ANIM_TAG_SPARK
loadspritegfx ANIM_TAG_LIGHTNING
loadspritegfx ANIM_TAG_SHOCK_3
loadspritegfx ANIM_TAG_SPARK_2
createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 0, 0, 6, RGB_BLACK
waitforvisualfinish
createsprite gSpriteTemplate_SpiritBreakChargeBall, ANIM_TARGET, 1, ANIM_TARGET
delay 10
createvisualtask AnimTask_ElectricBolt, 5, 24, -52, 0
playsewithpan SE_M_THUNDERBOLT, SOUND_PAN_TARGET
delay 7
createvisualtask AnimTask_ElectricBolt, 5, -24, -52, 0
playsewithpan SE_M_THUNDERBOLT, SOUND_PAN_TARGET
delay 7
createvisualtask AnimTask_ElectricBolt, 5, 0, -60, 1
playsewithpan SE_M_THUNDERBOLT, SOUND_PAN_TARGET
delay 9
createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 0, 0, 13, RGB_BLACK
waitforvisualfinish
createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 0, 13, 0, RGB_BLACK
waitforvisualfinish
delay 20
waitplaysewithpan SE_M_THUNDERBOLT2, SOUND_PAN_TARGET, 19
call ElectricityEffect
waitforvisualfinish
delay 20
createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 0, 6, 0, RGB_BLACK
waitforvisualfinish
end
gBattleAnimMove_SizzlySlide::
end @to do:
loadspritegfx ANIM_TAG_SMALL_EMBER
loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_ATK_PARTNER
setalpha 12, 8
createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 0
playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER
delay 2
createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 4
playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER
delay 2
createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 8
playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER
delay 2
createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 12
playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER
delay 2
createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 16
playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER
delay 2
createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 20
playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER
delay 2
createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 24
playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER
waitforvisualfinish
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 24, 6, 1, 5
createvisualtask AnimTask_TraceMonBlended, 2, 0, 4, 7, 3
playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER
delay 4
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1
createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, 0, 0, ANIM_TARGET, 1
createvisualtask AnimTask_BlendMonInAndOut, 3, ANIM_TARGET, RGB_RED, 12, 1, 1
playsewithpan SE_M_FLAME_WHEEL2, SOUND_PAN_TARGET
call FireSpreadEffect
delay 7
createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 9
waitforvisualfinish
clearmonbg ANIM_ATK_PARTNER
end
gBattleAnimMove_GlitzyGlow::
end @to do:
loadspritegfx ANIM_TAG_THIN_RING @hypervoice ring
loadspritegfx ANIM_TAG_SPARK_2 @yellow color
loadspritegfx ANIM_TAG_WATER_ORB @blue color
loadspritegfx ANIM_TAG_POISON_BUBBLE @violet color
loadspritegfx ANIM_TAG_SMALL_EMBER @flame wheel particle
loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT
createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_CIRCLE_OF_LIGHT, 0, 12, 12, 0x289F
monbg ANIM_DEF_PARTNER
splitbgprio_foes ANIM_TARGET
createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 1, 0, 12, 0 @Darken
playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER
createsprite gGrowingShockWaveOrbSpriteTemplate, ANIM_ATTACKER, 0, 0
delay 18
panse SE_M_SCREECH, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 2, 0
createsprite gSynchronoiseVioletRingTemplate, ANIM_ATTACKER, 0, 25, 0, 0, 0, 0, 0, 1
delay 1
createsprite gSynchronoiseBlueRingTemplate, ANIM_ATTACKER, 0, 25, 0, 0, 0, 0, 0, 1
delay 1
createsprite gSynchronoiseYellowRingTemplate, ANIM_ATTACKER, 0, 25, 0, 0, 0, 0, 0, 1
delay 36
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1
createvisualtask AnimTask_ShakeBattleTerrain, 2, 1, 0, 6, 1
waitforvisualfinish
createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 1, 12, 0, 0 @Darken
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
delay 1
unloadspritegfx ANIM_TAG_THIN_RING @hypervoice ring
unloadspritegfx ANIM_TAG_SPARK_2 @yellow color
unloadspritegfx ANIM_TAG_WATER_ORB @blue color
unloadspritegfx ANIM_TAG_POISON_BUBBLE @violet color
unloadspritegfx ANIM_TAG_SMALL_EMBER @flame wheel particle
unloadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT
waitforvisualfinish
goto gBattleAnimMove_LightScreen
gBattleAnimMove_BaddyBad::
end @to do:
loadspritegfx ANIM_TAG_STRAIGHT_BEAM
createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_STRAIGHT_BEAM, 0, 14, 14, RGB_BLACK
monbg ANIM_ATTACKER
splitbgprio ANIM_ATTACKER
playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER
fadetobg BG_DARK
waitbgfadein
delay 10
playsewithpan SE_M_LEER, SOUND_PAN_ATTACKER
createvisualtask AnimTask_NightShadeClone, 5, 133
delay 10
createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 6, 0, 16, RGB_BLACK
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 4, 0, 96, 1
panse SE_M_SOLAR_BEAM, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 2, 0
call PhotonGeyserBeam
waitforvisualfinish
createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 1, 16, 0, RGB_BLACK
waitforvisualfinish
delay 1
restorebg
waitbgfadein
waitforvisualfinish
clearmonbg ANIM_ATTACKER
unloadspritegfx ANIM_TAG_STRAIGHT_BEAM
waitforvisualfinish
goto gBattleAnimMove_Reflect
gBattleAnimMove_SappySeed::
end @to do:
loadspritegfx ANIM_TAG_SPROUT
loadspritegfx ANIM_TAG_SEED
playsewithpan SE_M_TAKE_DOWN, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 40, 1
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 20, ANIM_TARGET, 1
delay 2
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 20, ANIM_TARGET, 1
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 10, ANIM_TARGET, 1
delay 2
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 20, ANIM_TARGET, 1
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 10, ANIM_TARGET, 1
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 1
delay 2
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 20, ANIM_TARGET, 1
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 10, ANIM_TARGET, 1
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 1
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, -10, ANIM_TARGET, 1
delay 2
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 20, ANIM_TARGET, 1
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 10, ANIM_TARGET, 1
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 1
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, -10, ANIM_TARGET, 1
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, -20, ANIM_TARGET, 1
delay 2
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 20, ANIM_TARGET, 1
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 10, ANIM_TARGET, 1
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 1
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, -10, ANIM_TARGET, 1
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, -20, ANIM_TARGET, 1
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, -30, ANIM_TARGET, 1
delay 2
call FullBeanstalk
call FallingSeeds
call FullBeanstalk
call FullBeanstalk
call FullBeanstalk
call FullBeanstalk
call FullBeanstalk
call FullBeanstalk
call FullBeanstalk
call FullBeanstalk
call FullBeanstalk
call FullBeanstalk
call FullBeanstalk
call FullBeanstalk
call FullBeanstalk
call FullBeanstalk
waitforvisualfinish
end
FullBeanstalk:
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 20, ANIM_TARGET, 1
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 10, ANIM_TARGET, 1
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 1
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, -10, ANIM_TARGET, 1
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, -20, ANIM_TARGET, 1
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, -30, ANIM_TARGET, 1
createsprite gSproutGrowSpriteTemplate, ANIM_ATTACKER, 3, 0, -40, ANIM_TARGET, 1
delay 2
return
FallingSeeds:
createsprite gFallingSeedSpriteTemplate, ANIM_TARGET, 2, -20, 0, -10, 0
playsewithpan SE_M_POISON_POWDER, SOUND_PAN_TARGET
createsprite gFallingSeedSpriteTemplate, ANIM_TARGET, 2, 28, 0, 10, 0
playsewithpan SE_M_POISON_POWDER, SOUND_PAN_TARGET
createsprite gFallingSeedSpriteTemplate, ANIM_TARGET, 2, -10, 0, -5, 0
playsewithpan SE_M_POISON_POWDER, SOUND_PAN_TARGET
createsprite gFallingSeedSpriteTemplate, ANIM_TARGET, 2, 10, 0, 6, 0
playsewithpan SE_M_POISON_POWDER, SOUND_PAN_TARGET
createsprite gFallingSeedSpriteTemplate, ANIM_TARGET, 2, 24, 0, 10, 0
playsewithpan SE_M_POISON_POWDER, SOUND_PAN_TARGET
createsprite gFallingSeedSpriteTemplate, ANIM_TARGET, 2, -32, 0, -10, 0
playsewithpan SE_M_POISON_POWDER, SOUND_PAN_TARGET
createsprite gFallingSeedSpriteTemplate, ANIM_TARGET, 2, -20, 0, -10, 0
playsewithpan SE_M_POISON_POWDER, SOUND_PAN_TARGET
createsprite gFallingSeedSpriteTemplate, ANIM_TARGET, 2, 30, 0, 10, 0
playsewithpan SE_M_POISON_POWDER, SOUND_PAN_TARGET
return
gBattleAnimMove_FreezyFrost::
end @to do:
loadspritegfx ANIM_TAG_ICICLE_SPEAR
loadspritegfx ANIM_TAG_ICE_SPIKES
loadspritegfx ANIM_TAG_IMPACT
createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_ICICLE_SPEAR, 0, 0, 12, RGB_BLACK
createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_ICE_SPIKES, 0, 0, 12, RGB_BLACK
waitforvisualfinish
call FreezyFrostHitEffect
call FreezyFrostHitEffect
call FreezyFrostHitEffect
call FreezyFrostHitEffect
waitforvisualfinish
call IceSpikesEffectLong
waitforvisualfinish
end
FreezyFrostHitEffect:
createsprite gFreezyFrostRisingSpearSpriteTemplate ANIM_TARGET, 2, ANIM_TARGET, -4, 16
playsewithpan SE_M_ROCK_THROW SOUND_PAN_TARGET
delay 1
createsprite gFreezyFrostRisingSpearSpriteTemplate ANIM_TARGET, 2, ANIM_TARGET, 4109, 16
playsewithpan SE_M_ROCK_THROW SOUND_PAN_TARGET
delay 1
createsprite gFreezyFrostRisingSpearSpriteTemplate ANIM_TARGET, 2, ANIM_TARGET, 4, 16
playsewithpan SE_M_ROCK_THROW SOUND_PAN_TARGET
delay 1
createsprite gFreezyFrostRisingSpearSpriteTemplate ANIM_TARGET, 2, ANIM_TARGET, -16, 16
playsewithpan SE_M_ROCK_THROW SOUND_PAN_TARGET
delay 1
return
gBattleAnimMove_SparklySwirl::
end @to do:
loadspritegfx ANIM_TAG_GUST
loadspritegfx ANIM_TAG_PINK_PETAL
createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_GUST, 0, 15, 15, RGB(31, 21, 21)
monbg ANIM_DEF_PARTNER
splitbgprio ANIM_TARGET
playsewithpan SE_M_GUST, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 47, 1
call HurricaneGust
call PinkPetalVortex
call HurricaneGust
call PinkPetalVortex
call HurricaneGust
call PinkPetalVortex
waitforvisualfinish
stopsound
clearmonbg ANIM_TARGET
end
PinkPetalVortex:
createsprite gPinkPetalVortexTemplate, ANIM_TARGET, 2, 0, 28, 528, 30, 13, 50, 1
delay 2
createsprite gPinkPetalVortexTemplate, ANIM_TARGET, 2, 0, 32, 480, 20, 16, -46, 1
delay 2
createsprite gPinkPetalVortexTemplate, ANIM_TARGET, 2, 0, 33, 576, 20, 8, 42, 1
delay 2
createsprite gPinkPetalVortexTemplate, ANIM_TARGET, 2, 0, 31, 400, 25, 11, -42, 1
delay 2
createsprite gPinkPetalVortexTemplate, ANIM_TARGET, 2, 0, 28, 512, 25, 16, 46, 1
delay 2
createsprite gPinkPetalVortexTemplate, ANIM_TARGET, 2, 0, 33, 464, 30, 15, -50, 1
delay 2
return
gBattleAnimMove_VeeveeVolley::
end @to do:
createvisualtask AnimTask_GetReturnPowerLevel, 2
delay 2
jumpreteq 0, gBattleAnimMove_Tackle
jumpreteq 1, gBattleAnimMove_Headbutt
jumpreteq 2, gBattleAnimMove_TakeDown
jumpreteq 3, gBattleAnimMove_DoubleEdge
gBattleAnimMove_DoubleIronBash::
loadspritegfx ANIM_TAG_GUST
@ -13004,6 +13371,9 @@ gBattleAnimMove_ClangorousSoul::
createsprite gClangorousSoulRedFistTemplate, ANIM_ATTACKER, 2, 0x10, 0, 0, 0, 10, ANIM_ATTACKER, ANIM_LEFT_FIST, 1
playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET
waitforvisualfinish
unloadspritegfx ANIM_TAG_HORSESHOE_SIDE_FIST
unloadspritegfx ANIM_TAG_SPARKLE_2 @stars
waitforvisualfinish
loadspritegfx ANIM_TAG_THIN_RING @ring
playsewithpan SE_SHINY, SOUND_PAN_ATTACKER
createsprite gClangorousSoulRedRingTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x0, 0x0
@ -13104,8 +13474,31 @@ gBattleAnimMove_DrumBeating::
blendoff
end
gBattleAnimMove_SnapTrap:: @ placeholder
goto gBattleAnimMove_Bite
gBattleAnimMove_SnapTrap::
loadspritegfx ANIM_TAG_LEAF @leaves
loadspritegfx ANIM_TAG_FLOWER @flowers
loadspritegfx ANIM_TAG_SHARP_TEETH
loadspritegfx ANIM_TAG_IMPACT
createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_SHARP_TEETH, 0, 10, 10, 0x0688
monbg ANIM_TARGET
setalpha 12, 8
playsewithpan SE_M_BITE, SOUND_PAN_TARGET
createsprite gSharpTeethSpriteTemplate, ANIM_ATTACKER, 2, 0, -32, 0, 0, 819, 10
createsprite gSharpTeethSpriteTemplate, ANIM_ATTACKER, 2, 0, 32, 4, 0, -819, 10
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 6, 1
playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET
delay 10
playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER
createsprite gTropKickLeavesTemplate, ANIM_TARGET, 1, 0, 10, 192, 176, 40
createsprite gTropKickLeavesTemplate, ANIM_TARGET, 1, 0, 10, -192, 240, 40
createsprite gTropKickLeavesTemplate, ANIM_TARGET, 1, 0, 10, 192, -160, 40
createsprite gTropKickLeavesTemplate, ANIM_TARGET, 1, 0, 10, -192, -112, 40
createsprite gTropKickLeavesTemplate, ANIM_TARGET, 1, 0, 10, 160, 48, 40
createsprite gTropKickLeavesTemplate, ANIM_TARGET, 1, 0, 10, -224, -32, 40
createsprite gTropKickLeavesTemplate, ANIM_TARGET, 1, 0, 10, 112, -128, 40
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
end
gBattleAnimMove_PyroBall::
loadspritegfx ANIM_TAG_FLAT_ROCK
@ -14848,7 +15241,44 @@ gBattleAnimMove_GlacialLance::
gBattleAnimMove_AstralBarrage::
goto gBattleAnimMove_ShadowBall
loadspritegfx ANIM_TAG_FLAT_ROCK
loadspritegfx ANIM_TAG_ICE_CRYSTALS
loadspritegfx ANIM_TAG_GHOSTLY_SPIRIT
createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_FLAT_ROCK, 0x0, 0xA, 0xA, RGB(2, 1, 4)
createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_ICE_CRYSTALS, 0x0, 0xA, 0xA, RGB(2, 1, 4)
monbg ANIM_ATK_PARTNER
splitbgprio ANIM_ATTACKER
setalpha 12, 8
fadetobg BG_GHOST
waitbgfadein
createsprite gShakeMonOrTerrainSpriteTemplate, ANIM_ATTACKER, 2, 4, 1, 180, 1
createsoundtask SoundTask_LoopSEAdjustPanning, SE_M_FAINT_ATTACK, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 5, 20, 0, 5
createsprite gSuperpowerRockSpriteTemplate, ANIM_ATTACKER, 41, 200, 96, 1, 120
delay 8
createsprite gSuperpowerRockSpriteTemplate, ANIM_ATTACKER, 41, 20, 248, 4, 112
delay 8
createsprite gSuperpowerRockSpriteTemplate, ANIM_ATTACKER, 41, 130, 160, 2, 104
delay 8
createsprite gSuperpowerRockSpriteTemplate, ANIM_ATTACKER, 41, 160, 192, 0, 96
delay 8
createsprite gSuperpowerRockSpriteTemplate, ANIM_ATTACKER, 41, 60, 288, 3, 88
delay 74
panse SE_M_BLIZZARD, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
call BlizzardIceCrystals
call BlizzardIceCrystals
playsewithpan SE_M_BLIZZARD2, SOUND_PAN_TARGET
waitforvisualfinish
playsewithpan SE_M_NIGHTMARE, SOUND_PAN_TARGET
createspriteontargets gCurseGhostSpriteTemplate, ANIM_TARGET, 3, 2, 8, -5, ANIM_TARGET, 0
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 8, 0, 16, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 8, 0, 16, 1
waitforvisualfinish
clearmonbg ANIM_ATK_PARTNER
restorebg
waitbgfadein
blendoff
delay 1
end
@Credits to Skeli
@ -14995,8 +15425,9 @@ gBattleAnimMove_SpringtideStorm::
loadspritegfx ANIM_TAG_GUST
loadspritegfx ANIM_TAG_RED_HEART
playsewithpan SE_M_GUST, SOUND_PAN_TARGET
createvisualtaskontargets AnimTask_ShakeMon2, 2, 0, ANIM_TARGET, 0, 4, 0x58, 1
createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x6, 0x0, 0xB, 0x7ADF
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 88, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 88, 1
createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_TARGET | F_PAL_DEF_PARTNER), 2, 6, 0, 11, 0x7ADF
call HurricaneGustCentered
call SpringtideStormHeartSwirl
call HurricaneGustCentered
@ -15565,8 +15996,9 @@ gBattleAnimMove_BleakwindStorm::
loadspritegfx ANIM_TAG_GUST
loadspritegfx ANIM_TAG_ICE_CRYSTALS
playsewithpan SE_M_GUST, SOUND_PAN_TARGET
createvisualtaskontargets AnimTask_ShakeMon2, 2, 0, ANIM_TARGET, 0, 4, 0x58, 1
createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x7FFF
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 88, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 88, 1
createvisualtask AnimTask_BlendBattleAnimPal, 10, (F_PAL_TARGET | F_PAL_DEF_PARTNER), 4, 0, 11, 0x7FFF
call HurricaneGustCentered
call BleakwindStormIceSwirl
call HurricaneGustCentered
@ -15581,7 +16013,7 @@ gBattleAnimMove_BleakwindStorm::
call BleakwindStormIceSwirl
waitforvisualfinish
stopsound
createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x7FFF
createvisualtask AnimTask_BlendBattleAnimPal, 10, (F_PAL_TARGET | F_PAL_DEF_PARTNER), 1, 11, 0, 0x7FFF
waitforvisualfinish
end
BleakwindStormIceSwirl:
@ -15605,11 +16037,12 @@ gBattleAnimMove_WildboltStorm::
loadspritegfx ANIM_TAG_SPARK_2
fadetobg BG_MAX_LIGHTNING
waitbgfadeout
createvisualtask AnimTask_StartSlidingBg, 0x5, 0xff00, 0x0, 0x1, 0xffff
createvisualtask AnimTask_StartSlidingBg, 5, -256, 0, 1, 0xffff
waitbgfadein
playsewithpan SE_M_GUST, SOUND_PAN_TARGET
createvisualtaskontargets AnimTask_ShakeMon2, 2, 0, ANIM_TARGET, 0, 4, 0x58, 1
createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x07FE
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 88, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 88, 1
createvisualtask AnimTask_BlendBattleAnimPal, 10, (F_PAL_TARGET | F_PAL_DEF_PARTNER), 4, 0, 11, 0x07FE
call HurricaneGustCentered
call WildboltStormSparkSwirl
call HurricaneGustCentered
@ -15624,7 +16057,7 @@ gBattleAnimMove_WildboltStorm::
call WildboltStormSparkSwirl
waitforvisualfinish
stopsound
createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x07FE
createvisualtask AnimTask_BlendBattleAnimPal, 10, (F_PAL_TARGET | F_PAL_DEF_PARTNER), 1, 11, 0, 0x07FE
call UnsetPsychicBg
waitforvisualfinish
end
@ -15650,8 +16083,9 @@ gBattleAnimMove_SandsearStorm::
loadspritegfx ANIM_TAG_SMALL_EMBER
createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_GUST, 0x0, 0xA, 0xA, 0x190B
playsewithpan SE_M_GUST, SOUND_PAN_TARGET
createvisualtaskontargets AnimTask_ShakeMon2, 2, 0, ANIM_TARGET, 0, 4, 0x58, 1
createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x1F
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 88, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 88, 1
createvisualtask AnimTask_BlendBattleAnimPal, 10, (F_PAL_TARGET | F_PAL_DEF_PARTNER), 4, 0, 11, 0x1F
call HurricaneGustCentered
call SandsearStormFireSpin
call HurricaneGustCentered
@ -15666,7 +16100,7 @@ gBattleAnimMove_SandsearStorm::
call SandsearStormFireSpin
waitforvisualfinish
stopsound
createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x1F
createvisualtask AnimTask_BlendBattleAnimPal, 10, (F_PAL_TARGET | F_PAL_DEF_PARTNER), 1, 11, 0, 0x1F
waitforvisualfinish
end
@ -15997,7 +16431,30 @@ ChillyReceptionSnowballs:
return
gBattleAnimMove_BurningBulwark::
goto gBattleAnimMove_Protect
loadspritegfx ANIM_TAG_PROTECT @protect
loadspritegfx ANIM_TAG_SMALL_EMBER @fire
monbg ANIM_ATK_PARTNER
splitbgprio ANIM_ATTACKER
waitplaysewithpan SE_M_REFLECT, SOUND_PAN_ATTACKER 16
createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_PROTECT, 0, 13, 13, 0x015B
createsprite gProtectSpriteTemplate, ANIM_ATTACKER, 2, 24, 0, 90
createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 0
delay 2
createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 4
delay 2
createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 8
delay 2
createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 12
delay 2
createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 16
delay 2
createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 20
delay 2
createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 56, 24
createvisualtask AnimTask_BlendMonInAndOut, 3, ANIM_ATTACKER, RGB_RED, 10, 0, 2
waitforvisualfinish
clearmonbg ANIM_ATK_PARTNER
end
gBattleAnimMove_AlluringVoice::
loadspritegfx ANIM_TAG_THIN_RING
@ -27667,8 +28124,8 @@ Status_Thunder_Cage:
@ TODO
goto gBattleAnimMove_ThunderCage
Status_Snap_Trap: @ placeholder
goto gBattleAnimMove_Bite
Status_Snap_Trap:
goto gBattleAnimMove_SnapTrap
Status_SandTomb:
loadspritegfx ANIM_TAG_MUD_SAND
@ -33004,6 +33461,9 @@ gBattleAnimMove_ClangorousSoulblaze::
createsprite gClangorousSoulRedFistTemplate, ANIM_ATTACKER, 2, 0x10, 0x0, 0x0, 0x0, 0xa, ANIM_ATTACKER, ANIM_LEFT_FIST, 0x1
playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET
waitforvisualfinish
unloadspritegfx ANIM_TAG_HORSESHOE_SIDE_FIST
unloadspritegfx ANIM_TAG_SPARKLE_2 @stars
waitforvisualfinish
loadspritegfx ANIM_TAG_THIN_RING @ring
playsewithpan SE_SHINY, SOUND_PAN_ATTACKER
createsprite gClangorousSoulRedRingTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x0, 0x0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 B

After

Width:  |  Height:  |  Size: 341 B

View file

@ -557,4 +557,7 @@ void CoreEnforcerLoadBeamTarget(struct Sprite *sprite);
void SpriteCB_RandomCentredHits(struct Sprite *sprite);
void InitSpritePosToAnimTargetsCentre(struct Sprite *sprite, bool32 respectMonPicOffsets);
// battle_anim_bug.c
void AnimTranslateStinger(struct Sprite *sprite);
#endif // GUARD_BATTLE_ANIM_H

View file

@ -11,7 +11,6 @@ static void AnimTranslateWebThread_Step(struct Sprite *);
static void AnimStringWrap(struct Sprite *);
static void AnimSpiderWeb_Step(struct Sprite *);
static void AnimSpiderWeb_End(struct Sprite *);
static void AnimTranslateStinger(struct Sprite *);
static void AnimTailGlowOrb(struct Sprite *);
static const union AffineAnimCmd sAffineAnim_MegahornHorn_0[] =
@ -371,7 +370,7 @@ static void AnimSpiderWeb_End(struct Sprite *sprite)
// arg 2: target x pixel offset
// arg 3: target y pixel offset
// arg 4: duration
static void AnimTranslateStinger(struct Sprite *sprite)
void AnimTranslateStinger(struct Sprite *sprite)
{
s16 lVarX, lVarY;
u16 rot;

View file

@ -5495,8 +5495,8 @@ static void AnimMilkBottle_Step2(struct Sprite *sprite, int unk1, int unk2)
void AnimGrantingStars(struct Sprite *sprite)
{
if (!gBattleAnimArgs[2])
SetSpriteCoordsToAnimAttackerCoords(sprite);
if (!InitSpritePosToAnimBattler(gBattleAnimArgs[2], sprite, FALSE))
return;
SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
sprite->y += gBattleAnimArgs[1];

View file

@ -1281,6 +1281,17 @@ const struct SpriteTemplate gTeraCrystalSpreadSpriteTemplate =
.callback = AnimTask_TeraCrystalShatter,
};
const struct SpriteTemplate gPinkPetalVortexTemplate =
{
.tileTag = ANIM_TAG_PINK_PETAL,
.paletteTag = ANIM_TAG_PINK_PETAL,
.oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gSweetScentPetalAnimCmdTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimParticleInVortex
};
// Task data for AnimTask_TeraCrystalShatter
#define tCounter data[0]
#define tDX data[6]

View file

@ -414,9 +414,9 @@ const struct SpriteTemplate gPalmSpriteTemplate =
const struct SpriteTemplate gAuraSphereBlast =
{
.tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.oam = &gOamData_AffineOff_ObjNormal_64x64,
.tileTag = ANIM_TAG_IMPACT_2,
.paletteTag = ANIM_TAG_IMPACT_2,
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,

View file

@ -359,7 +359,10 @@ const struct SpriteTemplate gSkyAttackBirdSpriteTemplate =
// same as AnimEllipticalGust but centered on targets
static void AnimEllipticalGustCentered(struct Sprite *sprite)
{
InitSpritePosToAnimTargetsCentre(sprite, FALSE);
if (IsDoubleBattle())
InitSpritePosToAnimTargetsCentre(sprite, FALSE);
else
InitSpritePosToAnimTarget(sprite, FALSE);
sprite->y += 20;
sprite->data[1] = 191;
sprite->callback = AnimEllipticalGust_Step;

View file

@ -487,11 +487,7 @@ static void ReverseVerticalDipDirection(struct Sprite *sprite)
// arg 2: duration
static void SlideMonToOriginalPos(struct Sprite *sprite)
{
u32 monSpriteId;
if (!gBattleAnimArgs[0])
monSpriteId = gBattlerSpriteIds[gBattleAnimAttacker];
else
monSpriteId = gBattlerSpriteIds[gBattleAnimTarget];
u32 monSpriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[1] = gSprites[monSpriteId].x + gSprites[monSpriteId].x2;
@ -554,15 +550,9 @@ static void SlideMonToOriginalPos_Step(struct Sprite *sprite)
// arg 4: duration
static void SlideMonToOffset(struct Sprite *sprite)
{
u8 battler;
u8 monSpriteId;
if (!gBattleAnimArgs[0])
battler = gBattleAnimAttacker;
else
battler = gBattleAnimTarget;
u8 monSpriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
monSpriteId = gBattlerSpriteIds[battler];
if (GetBattlerSide(battler) != B_SIDE_PLAYER)
if (GetBattlerSide(gBattleAnimArgs[0]) != B_SIDE_PLAYER)
{
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
if (gBattleAnimArgs[3] == 1)

View file

@ -99,7 +99,6 @@ static void SpriteCB_GlacialLance_Step1(struct Sprite* sprite);
static void SpriteCB_GlacialLance_Step2(struct Sprite* sprite);
static void SpriteCB_GlacialLance(struct Sprite* sprite);
static void SpriteCB_TripleArrowKick(struct Sprite* sprite);
static void AnimMakingItRain(struct Sprite *sprite);
// const data
// general
@ -2176,18 +2175,7 @@ const struct SpriteTemplate gSpiritShackleArrowTemplate =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimSonicBoomProjectile
};
const struct SpriteTemplate gSpiritShackleChainTemplate =
{
.tileTag = ANIM_TAG_CHAIN_LINK,
.paletteTag = ANIM_TAG_CHAIN_LINK,
.oam = &gOamData_AffineOff_ObjNormal_32x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimThunderWave
.callback = AnimTranslateStinger
};
//darkest lariat
@ -7235,18 +7223,6 @@ const struct SpriteTemplate gBitterBladeImpactTemplate =
.callback = AnimClawSlash
};
// Make It Rain
const struct SpriteTemplate gMakingItRainTemplate =
{
.tileTag = ANIM_TAG_COIN,
.paletteTag = ANIM_TAG_COIN,
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gCoinAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimMakingItRain,
};
const struct SpriteTemplate gRedExplosionSpriteTemplate =
{
.tileTag = ANIM_TAG_RED_EXPLOSION,
@ -7280,6 +7256,39 @@ const struct SpriteTemplate gMoonUpSpriteTemplate =
.callback = AnimWeatherBallUp,
};
const union AnimCmd gSproutAnimCmds[] =
{
ANIMCMD_FRAME(96, 5),
ANIMCMD_END,
};
const union AnimCmd *const gSproutAnimTable[] =
{
gSproutAnimCmds,
};
const struct SpriteTemplate gSproutGrowSpriteTemplate =
{
.tileTag = ANIM_TAG_SPROUT,
.paletteTag = ANIM_TAG_SPROUT,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gSproutAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimSpriteOnMonPos,
};
const struct SpriteTemplate gFreezyFrostRisingSpearSpriteTemplate =
{
.tileTag = ANIM_TAG_ICICLE_SPEAR,
.paletteTag = ANIM_TAG_ICICLE_SPEAR,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCB_GeyserTarget
};
// functions
//general
void AnimTask_IsTargetPartner(u8 taskId)
@ -9266,26 +9275,6 @@ void AnimTask_StickySyrup(u8 taskId)
DestroyAnimVisualTask(taskId);
}
static void AnimMakingItRain(struct Sprite *sprite)
{
if (gBattleAnimArgs[3] != 0)
SetAverageBattlerPositions(gBattleAnimTarget, FALSE, &sprite->x, &sprite->y); //coin shower on target
sprite->x += gBattleAnimArgs[0];
sprite->y += 14;
StartSpriteAnim(sprite, gBattleAnimArgs[1]);
AnimateSprite(sprite);
sprite->data[0] = 0;
sprite->data[1] = 0;
sprite->data[2] = 4;
sprite->data[3] = 16;
sprite->data[4] = -70;
sprite->data[5] = gBattleAnimArgs[2];
StoreSpriteCallbackInData6(sprite, AnimFallingRock_Step);
sprite->callback = TranslateSpriteInEllipse;
sprite->callback(sprite);
}
void AnimTask_RandomBool(u8 taskId)
{
if (RandomPercentage(RNG_NONE, 50))

View file

@ -349,6 +349,28 @@ const struct SpriteTemplate gSeedFlareGreenWavesTemplate =
.callback = AnimFlyingSandCrescent
};
const struct SpriteTemplate gMakingItRainTemplate =
{
.tileTag = ANIM_TAG_COIN,
.paletteTag = ANIM_TAG_COIN,
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gCoinAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimFallingRock,
};
const struct SpriteTemplate gFallingSeedSpriteTemplate =
{
.tileTag = ANIM_TAG_SEED,
.paletteTag = ANIM_TAG_SEED,
.oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimFallingRock,
};
static void AnimStealthRock(struct Sprite *sprite)
{
s16 x, y;
@ -456,7 +478,14 @@ void AnimRockFragment(struct Sprite *sprite)
// Swirls particle in vortex. Used for moves like Fire Spin or Sand Tomb
void AnimParticleInVortex(struct Sprite *sprite)
{
InitSpritePosToAnimBattler(gBattleAnimArgs[6], sprite, FALSE);
if (IsDoubleBattle() //got a little lazy here will fix later
&& (gAnimMoveIndex == MOVE_BLEAKWIND_STORM
|| gAnimMoveIndex == MOVE_SANDSEAR_STORM
|| gAnimMoveIndex == MOVE_SPRINGTIDE_STORM
|| gAnimMoveIndex == MOVE_WILDBOLT_STORM))
InitSpritePosToAnimTargetsCentre(sprite, FALSE);
else
InitSpritePosToAnimTarget(sprite, FALSE);
sprite->data[0] = gBattleAnimArgs[3];
sprite->data[1] = gBattleAnimArgs[2];
sprite->data[2] = gBattleAnimArgs[4];