undo some revert(?)
@ -2841,6 +2841,40 @@ Move_MIRROR_SHOT:
|
||||
end
|
||||
|
||||
Move_FLASH_CANNON:
|
||||
loadspritegfx ANIM_TAG_HANDS_AND_FEET
|
||||
loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT
|
||||
loadspritegfx ANIM_TAG_ELECTRIC_ORBS
|
||||
loadspritegfx ANIM_TAG_GUST
|
||||
loadspritegfx ANIM_TAG_FLASH_CANNON_BALL
|
||||
monbg ANIM_ATTACKER
|
||||
setalpha 13, 8
|
||||
createvisualtask AnimTask_ElectricChargingParticles, 2, 0, 60, 2, 12
|
||||
playsewithpan 0xce, SOUND_PAN_ATTACKER
|
||||
delay 30
|
||||
playsewithpan 0xce, SOUND_PAN_ATTACKER
|
||||
delay 30
|
||||
playsewithpan 0xce, SOUND_PAN_ATTACKER
|
||||
createsprite gFlashCannonGrayChargeTemplate, ANIM_ATTACKER, 2, 0
|
||||
delay 25
|
||||
playsewithpan 0xce, SOUND_PAN_ATTACKER
|
||||
delay 20
|
||||
playsewithpan 0xce, SOUND_PAN_ATTACKER
|
||||
delay 15
|
||||
playsewithpan 0xce, SOUND_PAN_ATTACKER
|
||||
delay 10
|
||||
delay 6
|
||||
loopsewithpan 0xce, SOUND_PAN_ATTACKER, 6, 5
|
||||
waitforvisualfinish
|
||||
playsewithpan 0xA7, SOUND_PAN_ATTACKER
|
||||
createsprite gFlashCannonBallMovementTemplate, ANIM_TARGET, 2, 0, 0, 0x15
|
||||
clearmonbg ANIM_ATTACKER
|
||||
waitforvisualfinish
|
||||
playsewithpan 0xB9, SOUND_PAN_ATTACKER
|
||||
createvisualtask AnimTask_Flash, 2
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 10, 4, 1, 16, 0, 0x1f
|
||||
createvisualtask AnimTask_ShakeMon2, 2, 1, 2, 0, 15, 1
|
||||
waitforvisualfinish
|
||||
clearmonbg ANIM_TARGET
|
||||
end
|
||||
|
||||
Move_ROCK_CLIMB:
|
||||
@ -3441,10 +3475,140 @@ Move_GRASS_KNOT:
|
||||
end
|
||||
|
||||
Move_CHATTER:
|
||||
loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE
|
||||
loadspritegfx ANIM_TAG_THIN_RING
|
||||
loadspritegfx ANIM_TAG_MUSIC_NOTES
|
||||
monbg ANIM_DEF_PARTNER
|
||||
createvisualtask AnimTask_UproarDistortion, 2, 0
|
||||
createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 0x1f, 8
|
||||
createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, 0xff
|
||||
createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, 0x1d, -12, 0
|
||||
createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, -12, 0xffe3, 1
|
||||
delay 16
|
||||
createvisualtask AnimTask_UproarDistortion, 2, 0
|
||||
createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 0x1f, 8
|
||||
createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, 0xff
|
||||
createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, 12, 0xffe3, 1
|
||||
createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, 0xffe3, -12, 0
|
||||
delay 16
|
||||
createvisualtask AnimTask_UproarDistortion, 2, 0
|
||||
createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 0x1f, 8
|
||||
createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, 0xff
|
||||
createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, 0x18, 0xffe8, 1
|
||||
createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, 0xffe8, 0xffe8, 0
|
||||
waitforvisualfinish
|
||||
loadspritegfx ANIM_TAG_ICE_CRYSTALS @FreezingCrystalsSingleBattle particles
|
||||
createsprite gChatterSingNotesTemplate, ANIM_TARGET, 2, -10, -10, 0
|
||||
delay 4
|
||||
createsprite gChatterSingNotesTemplate, ANIM_TARGET, 2, 10, 20, 0
|
||||
delay 4
|
||||
createsprite gChatterSingNotesTemplate, ANIM_TARGET, 2, 0xfffb, 10, 0
|
||||
delay 4
|
||||
createsprite gChatterSingNotesTemplate, ANIM_TARGET, 2, 0x11, -12, 0
|
||||
delay 4
|
||||
createsprite gChatterSingNotesTemplate, ANIM_TARGET, 2, 0xfff1, 15, 0
|
||||
delay 4
|
||||
createsprite gChatterSingNotesTemplate, ANIM_TARGET, 2, 0, 0, 0
|
||||
delay 4
|
||||
createsprite gChatterSingNotesTemplate, ANIM_TARGET, 2, 20, 2, 0
|
||||
clearmonbg ANIM_DEF_PARTNER
|
||||
end
|
||||
|
||||
Move_JUDGMENT:
|
||||
loadspritegfx ANIM_TAG_HANDS_AND_FEET
|
||||
loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT
|
||||
loadspritegfx ANIM_TAG_GREEN_SPIKE
|
||||
loadspritegfx ANIM_TAG_GUST
|
||||
loadspritegfx ANIM_TAG_ORBS
|
||||
loadspritegfx ANIM_TAG_ELECTRICITY
|
||||
createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_GUST, 0, 14, 14, 0
|
||||
createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_HANDS_AND_FEET, 0, 10, 10, 0
|
||||
monbg ANIM_TARGET
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 10, 1, 1, 0, 15, 32767
|
||||
waitforvisualfinish
|
||||
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 83, 1
|
||||
createsprite gJudgmentBlackChargeTemplate, ANIM_TARGET, 1, 1, ANIM_TARGET
|
||||
playsewithpan 0xb1, SOUND_PAN_TARGET
|
||||
call JudgmentInwardSpikes
|
||||
delay 5
|
||||
call JudgmentInwardSpikes2
|
||||
delay 5
|
||||
call JudgmentInwardSpikes
|
||||
delay 5
|
||||
call JudgmentInwardSpikes2
|
||||
delay 5
|
||||
call JudgmentInwardSpikes
|
||||
delay 5
|
||||
call JudgmentInwardSpikes2
|
||||
delay 5
|
||||
call JudgmentInwardSpikes2
|
||||
delay 0x2F
|
||||
call JudgmentOutwardSpikes
|
||||
delay 5
|
||||
call JudgmentOutwardSpikes2
|
||||
delay 5
|
||||
call JudgmentOutwardSpikes
|
||||
delay 5
|
||||
call JudgmentOutwardSpikes2
|
||||
delay 5
|
||||
call JudgmentOutwardSpikes
|
||||
delay 5
|
||||
call JudgmentOutwardSpikes2
|
||||
delay 5
|
||||
call JudgmentOutwardSpikes
|
||||
delay 5
|
||||
call JudgmentOutwardSpikes2
|
||||
delay 5
|
||||
call JudgmentOutwardSpikes
|
||||
delay 5
|
||||
call JudgmentOutwardSpikes2
|
||||
waitforvisualfinish
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 10, 1, 1, 15, 0, 32767
|
||||
waitforvisualfinish
|
||||
clearmonbg ANIM_TARGET
|
||||
end
|
||||
JudgmentOutwardSpikes:
|
||||
createsprite gJudgmentGrayOutwardSpikesTemplate, ANIM_TARGET, 2, 1, 1, 0, 0xFF90, 16 @up
|
||||
createsprite gJudgmentGrayOutwardSpikesTemplate, ANIM_TARGET, 2, 1, 1, 95, 0xFF9D, 16 @upper right
|
||||
createsprite gJudgmentGrayOutwardSpikesTemplate, ANIM_TARGET, 2, 1, 1, 0x73, 0, 16 @right
|
||||
createsprite gJudgmentGrayOutwardSpikesTemplate, ANIM_TARGET, 2, 1, 1, 0x4F, 0x37, 16 @lower right
|
||||
createsprite gJudgmentGrayOutwardSpikesTemplate, ANIM_TARGET, 2, 1, 1, 0, 0x53, 16 @down
|
||||
createsprite gJudgmentGrayOutwardSpikesTemplate, ANIM_TARGET, 2, 1, 1, 0xFFB0, 0x43, 16 @lower left
|
||||
createsprite gJudgmentGrayOutwardSpikesTemplate, ANIM_TARGET, 2, 1, 1, 0xFF60, 0, 16 @left
|
||||
createsprite gJudgmentGrayOutwardSpikesTemplate, ANIM_TARGET, 2, 1, 1, 0xFFAA, 0xFF94, 16 @upper left
|
||||
playsewithpan 0xA1, SOUND_PAN_ATTACKER
|
||||
return
|
||||
JudgmentOutwardSpikes2:
|
||||
createsprite gJudgmentGrayOutwardSpikesTemplate, ANIM_TARGET, 2, 1, 1, 0x2D, 0xFF9D, 16 @between up and upper right
|
||||
createsprite gJudgmentGrayOutwardSpikesTemplate, ANIM_TARGET, 2, 1, 1, 0xDF, 0xFF9D, 16 @between right and upper right
|
||||
createsprite gJudgmentGrayOutwardSpikesTemplate, ANIM_TARGET, 2, 1, 1, 0x9F, 0x37, 16 @between right and lower right
|
||||
createsprite gJudgmentGrayOutwardSpikesTemplate, ANIM_TARGET, 2, 1, 1, 0x1F, 0x37, 16 @between lower right and down
|
||||
createsprite gJudgmentGrayOutwardSpikesTemplate, ANIM_TARGET, 2, 1, 1, 0xFFE0, 0x43, 16 @between lower left and down
|
||||
createsprite gJudgmentGrayOutwardSpikesTemplate, ANIM_TARGET, 2, 1, 1, 0xFF60, 0x43, 16 @between left and lower left
|
||||
createsprite gJudgmentGrayOutwardSpikesTemplate, ANIM_TARGET, 2, 1, 1, 0xFF2A, 0xFFAA, 16 @between left and upper left
|
||||
createsprite gJudgmentGrayOutwardSpikesTemplate, ANIM_TARGET, 2, 1, 1, 0xFFDA, 0xFF94, 16 @between up and upper left
|
||||
playsewithpan 0xA1, SOUND_PAN_ATTACKER
|
||||
return
|
||||
JudgmentInwardSpikes:
|
||||
createsprite gJudgmentGrayInwardOrbsTemplate, ANIM_TARGET, 2, 1, 0, 0, 0xFF90, 16 @up
|
||||
createsprite gJudgmentGrayInwardOrbsTemplate, ANIM_TARGET, 2, 1, 0, 95, 0xFF9D, 16 @upper right
|
||||
createsprite gJudgmentGrayInwardOrbsTemplate, ANIM_TARGET, 2, 1, 0, 0x73, 0, 16 @right
|
||||
createsprite gJudgmentGrayInwardOrbsTemplate, ANIM_TARGET, 2, 1, 0, 0x4F, 0x37, 16 @lower right
|
||||
createsprite gJudgmentGrayInwardOrbsTemplate, ANIM_TARGET, 2, 1, 0, 0, 0x53, 16 @down
|
||||
createsprite gJudgmentGrayInwardOrbsTemplate, ANIM_TARGET, 2, 1, 0, 0xFFB0, 0x43, 16 @lower left
|
||||
createsprite gJudgmentGrayInwardOrbsTemplate, ANIM_TARGET, 2, 1, 0, 0xFF60, 0, 16 @left
|
||||
createsprite gJudgmentGrayInwardOrbsTemplate, ANIM_TARGET, 2, 1, 0, 0xFFAA, 0xFF94, 16 @upper left
|
||||
return
|
||||
JudgmentInwardSpikes2:
|
||||
createsprite gJudgmentGrayInwardOrbsTemplate, ANIM_TARGET, 2, 1, 0, 0x2D, 0xFF9D, 16 @between up and upper right
|
||||
createsprite gJudgmentGrayInwardOrbsTemplate, ANIM_TARGET, 2, 1, 0, 0xDF, 0xFF9D, 16 @between right and upper right
|
||||
createsprite gJudgmentGrayInwardOrbsTemplate, ANIM_TARGET, 2, 1, 0, 0x9F, 0x37, 16 @between right and lower right
|
||||
createsprite gJudgmentGrayInwardOrbsTemplate, ANIM_TARGET, 2, 1, 0, 0x1F, 0x37, 16 @between lower right and down
|
||||
createsprite gJudgmentGrayInwardOrbsTemplate, ANIM_TARGET, 2, 1, 0, 0xFFE0, 0x43, 16 @between lower left and down
|
||||
createsprite gJudgmentGrayInwardOrbsTemplate, ANIM_TARGET, 2, 1, 0, 0xFF60, 0x43, 16 @between left and lower left
|
||||
createsprite gJudgmentGrayInwardOrbsTemplate, ANIM_TARGET, 2, 1, 0, 0xFF2A, 0xFFAA, 16 @between left and upper left
|
||||
createsprite gJudgmentGrayInwardOrbsTemplate, ANIM_TARGET, 2, 1, 0, 0xFFDA, 0xFF94, 16 @between up and upper left
|
||||
return
|
||||
|
||||
Move_BUG_BITE:
|
||||
loadspritegfx ANIM_TAG_ROCKS
|
||||
@ -3764,11 +3928,80 @@ Move_DOUBLE_HIT:
|
||||
end
|
||||
|
||||
Move_ROAR_OF_TIME:
|
||||
loadspritegfx ANIM_TAG_ORBS
|
||||
loadspritegfx ANIM_TAG_EXPLOSION
|
||||
loadspritegfx ANIM_TAG_WATER_GUN
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 10, 1, 1, 0, 16, 0
|
||||
delay 0x20
|
||||
monbg ANIM_ATK_PARTNER
|
||||
setalpha 0xc, 0x8
|
||||
loopsewithpan 133, SOUND_PAN_ATTACKER 13 3
|
||||
call RecoverAbsorbEffect
|
||||
waitforvisualfinish
|
||||
clearmonbg ANIM_ATK_PARTNER
|
||||
blendoff
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 10, 1, 1, 16, 0, 0
|
||||
waitforvisualfinish
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 10, 1, 1, 0, 16, -1
|
||||
createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, 0xff
|
||||
delay 0x20
|
||||
createvisualtask AnimTask_ShakeMonInPlace, 2, 1, 10, 0, 20, 1
|
||||
playsewithpan 170, SOUND_PAN_TARGET
|
||||
createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1
|
||||
delay 6
|
||||
playsewithpan 170, SOUND_PAN_TARGET
|
||||
createsprite gRoarOfTimeBombTemplate, ANIM_ATTACKER, 3, 0x18, 0xffe8, 1, 1
|
||||
delay 6
|
||||
playsewithpan 170, SOUND_PAN_TARGET
|
||||
createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 0xfff0, 16, 1, 1
|
||||
delay 6
|
||||
playsewithpan 170, SOUND_PAN_TARGET
|
||||
createsprite gRoarOfTimeBombTemplate, ANIM_ATTACKER, 3, 0xffe8, -12, 1, 1
|
||||
delay 6
|
||||
playsewithpan 170, SOUND_PAN_TARGET
|
||||
createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 16, 16, 1, 1
|
||||
delay 6
|
||||
playsewithpan 170, SOUND_PAN_TARGET
|
||||
createsprite gRoarOfTimeBombTemplate, ANIM_ATTACKER, 3, 0xffe8, 0x18, 1, 1
|
||||
waitforvisualfinish
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 10, 1, 1, 16, 0, -1
|
||||
waitforvisualfinish
|
||||
end
|
||||
|
||||
|
||||
Move_SPECIAL_REND:
|
||||
loadspritegfx ANIM_TAG_PUNISHMENT_BLADES
|
||||
loadspritegfx ANIM_TAG_PINK_HEART_2 @ANIM_TAG_BERRY_EATEN
|
||||
monbg ANIM_ATK_PARTNER
|
||||
setalpha 12, 8
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 10, 1, 1, 0, 16, 0
|
||||
loopsewithpan 133, SOUND_PAN_ATTACKER 13 2
|
||||
createsprite gSpacialRendBladesTemplate, ANIM_ATTACKER, 3, 0, 0, 0x38, 0
|
||||
delay 2
|
||||
createsprite gSpacialRendBladesTemplate, ANIM_ATTACKER, 3, 0, 0, 0x38, 4
|
||||
delay 2
|
||||
createsprite gSpacialRendBladesTemplate, ANIM_ATTACKER, 3, 0, 0, 0x38, 8
|
||||
delay 2
|
||||
createsprite gSpacialRendBladesTemplate, ANIM_ATTACKER, 3, 0, 0, 0x38, 12
|
||||
waitforvisualfinish
|
||||
fadetobgfromset BG_SPACIAL_REND_ON_OPPONENT BG_SPACIAL_REND_ON_PLAYER BG_SPACIAL_REND_ON_OPPONENT
|
||||
waitbgfadein
|
||||
loopsewithpan 0x81, SOUND_PAN_TARGET, 3, 5
|
||||
createsprite gSpacialRendBladesTemplate2, ANIM_TARGET, 1, 0, 10, SOUND_PAN_ATTACKER, 0xb0, 0x28
|
||||
createsprite gSpacialRendBladesTemplate2, ANIM_TARGET, 1, 5, 0, 10, 0xff40, 0xf0, 0x28
|
||||
createsprite gSpacialRendBladesTemplate2, ANIM_TARGET, 1, 5, 0, 10, SOUND_PAN_ATTACKER, 0xff60, 0x28
|
||||
createsprite gSpacialRendBladesTemplate2, ANIM_TARGET, 1, 5, 0, 10, 0xff40, 0xff90, 0x28
|
||||
createsprite gSpacialRendBladesTemplate2, ANIM_TARGET, 1, 5, 0, 10, 0xa0, 0x30, 0x28
|
||||
createsprite gSpacialRendBladesTemplate2, ANIM_TARGET, 1, 5, 0, 10, 0xff20, 0xffe0, 0x28
|
||||
createsprite gSpacialRendBladesTemplate2, ANIM_TARGET, 1, 5, 0, 10, 0x70, 0xff80, 0x28
|
||||
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 15, 1
|
||||
waitforvisualfinish
|
||||
restorebg
|
||||
waitbgfadein
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 10, 1, 1, 0, 0, 0
|
||||
clearmonbg ANIM_ATK_PARTNER
|
||||
blendoff
|
||||
end
|
||||
|
||||
|
||||
Move_LUNAR_DANCE:
|
||||
loadspritegfx ANIM_TAG_MOON
|
||||
loadspritegfx ANIM_TAG_GREEN_SPARKLE
|
||||
@ -3811,6 +4044,28 @@ Move_LUNAR_DANCE:
|
||||
end
|
||||
|
||||
Move_CRUSH_GRIP:
|
||||
loadspritegfx ANIM_TAG_EXPLOSION
|
||||
loadspritegfx ANIM_TAG_ACCUPRESSURE
|
||||
loadspritegfx ANIM_TAG_PURPLE_HAND_OUTLINE
|
||||
setalpha 15, 0
|
||||
createsprite gCrushGripHandTemplate, ANIM_TARGET, 2, 16, 0, 0, 0, 25, 0x101
|
||||
waitforvisualfinish
|
||||
createvisualtask AnimTask_CompressTargetHorizontally, 2
|
||||
createsprite gCrushGripExplosionTemplate, ANIM_TARGET, 0, 0, 0, 1, 1
|
||||
delay 3
|
||||
playsewithpan 0xab, SOUND_PAN_ATTACKER
|
||||
createsprite gCrushGripExplosionTemplate, ANIM_TARGET, 0, 0x18, 0xffe8, 1, 1
|
||||
delay 3
|
||||
playsewithpan 0xab, SOUND_PAN_ATTACKER
|
||||
createsprite gCrushGripExplosionTemplate, ANIM_TARGET, 0, 0xfff0, 16, 1, 1
|
||||
delay 3
|
||||
playsewithpan 0xab, SOUND_PAN_ATTACKER
|
||||
createsprite gCrushGripExplosionTemplate, ANIM_TARGET, 0, 0xffe8, -12, 1, 1
|
||||
delay 3
|
||||
playsewithpan 0xab, SOUND_PAN_ATTACKER
|
||||
createsprite gCrushGripExplosionTemplate, ANIM_TARGET, 0, 16, 16, 1, 1
|
||||
waitforvisualfinish
|
||||
blendoff
|
||||
end
|
||||
|
||||
Move_MAGMA_STORM:
|
||||
@ -3839,9 +4094,115 @@ Move_MAGMA_STORM:
|
||||
end
|
||||
|
||||
Move_DARK_VOID:
|
||||
loadspritegfx ANIM_TAG_WHITE_SHADOW @Destiny Bond
|
||||
loadspritegfx ANIM_TAG_QUICK_GUARD_HAND @Black Colour
|
||||
loadspritegfx ANIM_TAG_SPARKLE_2 @Healing Stars
|
||||
loadspritegfx ANIM_TAG_POISON_BUBBLE @Poison
|
||||
fadetobg BG_DARK_VOID
|
||||
waitbgfadeout
|
||||
createvisualtask AnimTask_StartSlidingBg, 5, 0, 0xFFA0, 1, 0xffff
|
||||
waitbgfadein
|
||||
createvisualtask AnimTask_DestinyBondWhiteShadow, 5, 0, 0x30
|
||||
loopsewithpan 0xBD, 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
|
||||
invisible ANIM_TARGET
|
||||
invisible ANIM_DEF_PARTNER
|
||||
createsprite gDarkVoidPurpleStarsTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 0, 0x20, 0x3c
|
||||
waitforvisualfinish
|
||||
createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0, 16
|
||||
createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_DEF_PARTNER, 0, 16
|
||||
delay 0x20
|
||||
call UnsetPsychicBg
|
||||
visible ANIM_TARGET
|
||||
visible ANIM_DEF_PARTNER
|
||||
end
|
||||
|
||||
Move_SEED_FLARE:
|
||||
loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge animation
|
||||
loadspritegfx ANIM_TAG_LEAF @green color
|
||||
loadspritegfx ANIM_TAG_RAZOR_LEAF @green color 2
|
||||
loadspritegfx ANIM_TAG_ORBS @charging circles
|
||||
loadspritegfx ANIM_TAG_FLYING_DIRT @heat wave animation
|
||||
monbg ANIM_ATTACKER
|
||||
setalpha 14, 8
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 10, 1, 1, 0, 12, 32767
|
||||
waitforvisualfinish
|
||||
playsewithpan 133, SOUND_PAN_ATTACKER
|
||||
createsprite gSeedFlareGreenCirclesTemplate, ANIM_ATTACKER, 2, 0x28, 0x28, 16
|
||||
delay 2
|
||||
createsprite gSeedFlareGreenCirclesTemplate, ANIM_ATTACKER, 2, 0xffd8, 0xffd8, 16
|
||||
delay 2
|
||||
createsprite gSeedFlareGreenCirclesTemplate, ANIM_ATTACKER, 2, 0, 0x28, 16
|
||||
delay 2
|
||||
createsprite gSeedFlareGreenCirclesTemplate, ANIM_ATTACKER, 2, 0, 0xffd8, 16
|
||||
delay 2
|
||||
createsprite gSeedFlareGreenCirclesTemplate, ANIM_ATTACKER, 2, 0x28, -20, 16
|
||||
delay 2
|
||||
createsprite gSeedFlareGreenCirclesTemplate, ANIM_ATTACKER, 2, 0x28, 20, 16
|
||||
delay 2
|
||||
createsprite gSeedFlareGreenCirclesTemplate, ANIM_ATTACKER, 2, 0xffd8, -20, 16
|
||||
delay 2
|
||||
createsprite gSeedFlareGreenChargeTemplate, ANIM_ATTACKER 2, 0
|
||||
createsprite gSeedFlareGreenCirclesTemplate, ANIM_ATTACKER, 2, 0xffd8, 20, 16
|
||||
delay 2
|
||||
createsprite gSeedFlareGreenCirclesTemplate, ANIM_ATTACKER, 2, -20, 30, 16
|
||||
delay 2
|
||||
createsprite gSeedFlareGreenCirclesTemplate, ANIM_ATTACKER, 2, 20, 0xffe2, 16
|
||||
delay 2
|
||||
createsprite gSeedFlareGreenCirclesTemplate, ANIM_ATTACKER, 2, -20, 0xffe2, 16
|
||||
delay 2
|
||||
createsprite gSeedFlareGreenCirclesTemplate, ANIM_ATTACKER, 2, 20, 30, 16
|
||||
delay 2
|
||||
createsprite gSeedFlareGreenCirclesTemplate, ANIM_ATTACKER, 2, 0xffd8, 0, 16
|
||||
delay 2
|
||||
createsprite gSeedFlareGreenCirclesTemplate, ANIM_ATTACKER, 2, 0x28, 0, 16
|
||||
delay 2
|
||||
createsprite gSeedFlareGreenCirclesTemplate, ANIM_ATTACKER, 2, 0x28, 0x28, 16
|
||||
delay 2
|
||||
createsprite gSeedFlareGreenCirclesTemplate, ANIM_ATTACKER, 2, 0xffd8, 0xffd8, 16
|
||||
delay 2
|
||||
createsprite gSeedFlareGreenCirclesTemplate, ANIM_ATTACKER, 2, 0, 0x28, 16
|
||||
delay 2
|
||||
createsprite gSeedFlareGreenCirclesTemplate, ANIM_ATTACKER, 2, 0, 0xffd8, 16
|
||||
delay 2
|
||||
createsprite gSeedFlareGreenCirclesTemplate, ANIM_ATTACKER, 2, 0x28, -20, 16
|
||||
delay 2
|
||||
createsprite gSeedFlareGreenCirclesTemplate, ANIM_ATTACKER, 2, 0x28, 20, 16
|
||||
delay 2
|
||||
createsprite gSeedFlareGreenCirclesTemplate, ANIM_ATTACKER, 2, 0xffd8, -20, 16
|
||||
delay 30
|
||||
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 0x28, 1
|
||||
createsprite gSeedFlareGreenWavesTemplate, ANIM_ATTACKER, 0x28, 10, 0x900, 0x60, 1
|
||||
createsprite gRazorLeafCutterSpriteTemplate, ANIM_TARGET, 3, 20, -10, 20, 0, 0x16, 20, 1
|
||||
createsprite gRazorLeafCutterSpriteTemplate, ANIM_TARGET, 3, 20, -10, 20, 0, 0x16, -20, 1
|
||||
delay 2
|
||||
playsewithpan 0x81, SOUND_PAN_TARGET
|
||||
createsprite gSeedFlareGreenWavesTemplate, ANIM_ATTACKER, 0x28, 0x5a, 0x800, 0x60, 1
|
||||
delay 8
|
||||
createsprite gSeedFlareGreenWavesTemplate, ANIM_ATTACKER, 0x28, 0x32, 0xa00, 0x60, 1
|
||||
createsprite gRazorLeafCutterSpriteTemplate, ANIM_TARGET, 3, 20, -10, 20, 0, 0x16, 20, 1
|
||||
createsprite gRazorLeafCutterSpriteTemplate, ANIM_TARGET, 3, 20, -10, 20, 0, 0x16, -20, 1
|
||||
delay 2
|
||||
playsewithpan 0x81, SOUND_PAN_TARGET
|
||||
createsprite gSeedFlareGreenWavesTemplate, ANIM_ATTACKER, 0x28, 20, 0x900, 0x60, 1
|
||||
delay 8
|
||||
createsprite gSeedFlareGreenWavesTemplate, ANIM_ATTACKER, 0x28, 0x46, 0x7c0, 0x60, 1
|
||||
createsprite gRazorLeafCutterSpriteTemplate, ANIM_TARGET, 3, 20, -10, 20, 0, 0x16, 20, 1
|
||||
createsprite gRazorLeafCutterSpriteTemplate, ANIM_TARGET, 3, 20, -10, 20, 0, 0x16, -20, 1
|
||||
delay 2
|
||||
playsewithpan 0x81, SOUND_PAN_TARGET
|
||||
delay 8
|
||||
createsprite gSeedFlareGreenWavesTemplate, ANIM_ATTACKER, 0x28, 0, 0xb00, 0x60, 1
|
||||
delay 10
|
||||
createsprite gSeedFlareGreenWavesTemplate, ANIM_ATTACKER, 0x28, 0x3c, 0xa00, 0x60, 1
|
||||
waitforvisualfinish
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 10, 1, 1, 12, 0, 32767
|
||||
waitforvisualfinish
|
||||
clearmonbg ANIM_ATTACKER
|
||||
blendoff
|
||||
end
|
||||
|
||||
Move_OMINOUS_WIND:
|
||||
|
BIN
graphics/battle_anims/backgrounds/dark_void.bin
Normal file
19
graphics/battle_anims/backgrounds/dark_void.pal
Normal file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
0 0 0
|
||||
131 131 131
|
||||
123 123 123
|
||||
115 115 115
|
||||
106 106 106
|
||||
98 98 98
|
||||
82 82 82
|
||||
65 65 65
|
||||
49 49 49
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
BIN
graphics/battle_anims/backgrounds/dark_void.png
Normal file
After Width: | Height: | Size: 6.9 KiB |
BIN
graphics/battle_anims/backgrounds/spacial_rend_opponent.bin
Normal file
19
graphics/battle_anims/backgrounds/spacial_rend_opponent.pal
Normal file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
255 0 0
|
||||
222 156 230
|
||||
222 180 246
|
||||
213 123 205
|
||||
213 189 246
|
||||
205 115 205
|
||||
213 164 230
|
||||
213 131 213
|
||||
222 197 255
|
||||
222 189 255
|
||||
213 139 222
|
||||
213 172 238
|
||||
213 106 197
|
||||
222 131 213
|
||||
213 115 205
|
||||
205 106 197
|
BIN
graphics/battle_anims/backgrounds/spacial_rend_opponent.png
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
graphics/battle_anims/backgrounds/spacial_rend_player.bin
Normal file
19
graphics/battle_anims/backgrounds/spacial_rend_player.pal
Normal file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
255 0 0
|
||||
213 156 230
|
||||
222 180 246
|
||||
213 123 205
|
||||
213 189 246
|
||||
213 131 213
|
||||
205 115 205
|
||||
213 164 230
|
||||
222 197 255
|
||||
213 139 222
|
||||
222 189 255
|
||||
213 172 238
|
||||
213 106 197
|
||||
213 115 205
|
||||
222 156 230
|
||||
205 106 197
|
BIN
graphics/battle_anims/backgrounds/spacial_rend_player.png
Normal file
After Width: | Height: | Size: 6.8 KiB |
BIN
graphics/battle_anims/sprites/flash_cannon_ball.png
Normal file
After Width: | Height: | Size: 257 B |
BIN
graphics/battle_anims/sprites/punishment.png
Normal file
After Width: | Height: | Size: 470 B |
BIN
graphics/battle_anims/sprites/quick_guard.png
Normal file
After Width: | Height: | Size: 205 B |
BIN
graphics/battle_anims/sprites/water_gun.png
Normal file
After Width: | Height: | Size: 214 B |
@ -224,9 +224,11 @@ void AnimMoveTwisterParticle(struct Sprite* sprite);
|
||||
void AnimParticleBurst(struct Sprite *);
|
||||
void AnimPowerAbsorptionOrb(struct Sprite* sprite);
|
||||
void AnimNeedleArmSpike(struct Sprite *);
|
||||
void AnimTask_CompressTargetHorizontally(u8 taskId);
|
||||
extern const union AnimCmd *const gRazorLeafParticleAnimTable[];
|
||||
extern const union AnimCmd *const gPowerAbsorptionOrbAnimTable[];
|
||||
extern const union AffineAnimCmd *const gPowerAbsorptionOrbAffineAnimTable[];
|
||||
extern const union AnimCmd *const gMusicNotesAnimTable[];
|
||||
|
||||
// battle_anim_water.c
|
||||
void AnimWaterPulseRing(struct Sprite *sprite);
|
||||
|
@ -321,6 +321,10 @@
|
||||
#define ANIM_TAG_STEALTH_ROCK (ANIM_SPRITES_START + 311)
|
||||
#define ANIM_TAG_POISON_JAB (ANIM_SPRITES_START + 312)
|
||||
#define ANIM_TAG_GREEN_POISON_BUBBLE (ANIM_SPRITES_START + 313)
|
||||
#define ANIM_TAG_FLASH_CANNON_BALL (ANIM_SPRITES_START + 314)
|
||||
#define ANIM_TAG_WATER_GUN (ANIM_SPRITES_START + 315)
|
||||
#define ANIM_TAG_PUNISHMENT_BLADES (ANIM_SPRITES_START + 316)
|
||||
#define ANIM_TAG_QUICK_GUARD_HAND (ANIM_SPRITES_START + 317)
|
||||
|
||||
// battlers
|
||||
#define ANIM_ATTACKER 0
|
||||
@ -376,6 +380,9 @@
|
||||
#define BG_GIGA_IMPACT_CONTEST 30
|
||||
#define BG_TRICK_ROOM 31
|
||||
#define BG_ROCK_WRECKER 32
|
||||
#define BG_SPACIAL_REND_ON_OPPONENT 33
|
||||
#define BG_SPACIAL_REND_ON_PLAYER 34
|
||||
#define BG_DARK_VOID 35
|
||||
|
||||
// table ids for general animations
|
||||
#define B_ANIM_CASTFORM_CHANGE 0x0
|
||||
|
@ -4754,6 +4754,14 @@ extern const u32 gBattleAnimSpriteGfx_MegaParticles[];
|
||||
extern const u32 gBattleAnimSpritePal_MegaParticles[];
|
||||
extern const u32 gBattleAnimSpriteGfx_MegaSymbol[];
|
||||
extern const u32 gBattleAnimSpritePal_MegaSymbol[];
|
||||
extern const u32 gBattleAnimSpriteGfx_FlashCannonBall[];
|
||||
extern const u32 gBattleAnimSpritePal_FlashCannonBall[];
|
||||
extern const u32 gBattleAnimSpriteGfx_WaterGun[];
|
||||
extern const u32 gBattleAnimSpritePal_WaterGun[];
|
||||
extern const u32 gBattleAnimSpriteGfx_Punishment[];
|
||||
extern const u32 gBattleAnimSpritePal_Punishment[];
|
||||
extern const u32 gBattleAnimSpriteGfx_QuickGuard[];
|
||||
extern const u32 gBattleAnimSpritePal_QuickGuard[];
|
||||
|
||||
extern const u32 gBattleAnimBgImage_Dark[];
|
||||
extern const u32 gBattleAnimBgImage_Ghost[];
|
||||
@ -4770,6 +4778,15 @@ extern const u32 gBattleAnimBgImage_Aurora[];
|
||||
extern const u32 gBattleAnimBgImage_Fissure[];
|
||||
extern const u32 gBattleAnimBgImage_TrickRoom[];
|
||||
extern const u32 gBattleAnimBgImage_RockWrecker[];
|
||||
extern const u32 gBattleAnimBgImage_SpacialRendOpponent[];
|
||||
extern const u32 gBattleAnimBgPalette_SpacialRendOpponent[];
|
||||
extern const u32 gBattleAnimBgTilemap_SpacialRendOpponent[];
|
||||
extern const u32 gBattleAnimBgImage_SpacialRendPlayer[];
|
||||
extern const u32 gBattleAnimBgPalette_SpacialRendPlayer[];
|
||||
extern const u32 gBattleAnimBgTilemap_SpacialRendPlayer[];
|
||||
extern const u32 gBattleAnimBgImage_DarkVoid[];
|
||||
extern const u32 gBattleAnimBgPalette_DarkVoid[];
|
||||
extern const u32 gBattleAnimBgTilemap_DarkVoid[];
|
||||
extern const u32 gBattleAnimBgPalette_Dark[];
|
||||
extern const u32 gBattleAnimBgPalette_Ghost[];
|
||||
extern const u32 gBattleAnimBgPalette_Psychic[];
|
||||
|
@ -1439,6 +1439,10 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] =
|
||||
{gBattleAnimSpriteGfx_StealthRock, 0x0080, ANIM_TAG_STEALTH_ROCK},
|
||||
{gBattleAnimSpriteGfx_PoisonJab, 0x0080, ANIM_TAG_POISON_JAB},
|
||||
{gBattleAnimSpriteGfx_PoisonBubble, 0x0180, ANIM_TAG_GREEN_POISON_BUBBLE},
|
||||
{gBattleAnimSpriteGfx_FlashCannonBall, 0x200, ANIM_TAG_FLASH_CANNON_BALL},
|
||||
{gBattleAnimSpriteGfx_WaterGun, 0x180, ANIM_TAG_WATER_GUN},
|
||||
{gBattleAnimSpriteGfx_Punishment, 0xa00, ANIM_TAG_PUNISHMENT_BLADES},
|
||||
{gBattleAnimSpriteGfx_QuickGuard, 0x200, ANIM_TAG_QUICK_GUARD_HAND},
|
||||
};
|
||||
|
||||
const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
|
||||
@ -1757,6 +1761,10 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
|
||||
{gBattleAnimSpritePal_StealthRock, ANIM_TAG_STEALTH_ROCK},
|
||||
{gBattleAnimSpritePal_PoisonJab, ANIM_TAG_POISON_JAB},
|
||||
{gBattleAnimSpritePal_Vine, ANIM_TAG_GREEN_POISON_BUBBLE},
|
||||
{gBattleAnimSpritePal_FlashCannonBall, ANIM_TAG_FLASH_CANNON_BALL},
|
||||
{gBattleAnimSpritePal_WaterGun, ANIM_TAG_WATER_GUN},
|
||||
{gBattleAnimSpritePal_Punishment, ANIM_TAG_PUNISHMENT_BLADES},
|
||||
{gBattleAnimSpritePal_QuickGuard, ANIM_TAG_QUICK_GUARD_HAND},
|
||||
};
|
||||
|
||||
const struct BattleAnimBackground gBattleAnimBackgroundTable[] =
|
||||
@ -1794,6 +1802,9 @@ const struct BattleAnimBackground gBattleAnimBackgroundTable[] =
|
||||
[BG_GIGA_IMPACT_CONTEST] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_GigaImpact, gBattleAnimBgTilemap_ImpactContests},
|
||||
[BG_TRICK_ROOM] = {gBattleAnimBgImage_TrickRoom, gBattleAnimBgPalette_TrickRoom, gBattleAnimBgTilemap_TrickRoom},
|
||||
[BG_ROCK_WRECKER] = {gBattleAnimBgImage_RockWrecker, gBattleAnimBgPalette_RockWrecker, gBattleAnimBgTilemap_RockWrecker},
|
||||
[BG_SPACIAL_REND_ON_OPPONENT] = {gBattleAnimBgImage_SpacialRendOpponent, gBattleAnimBgPalette_SpacialRendOpponent, gBattleAnimBgTilemap_SpacialRendOpponent},
|
||||
[BG_SPACIAL_REND_ON_PLAYER] = {gBattleAnimBgImage_SpacialRendPlayer, gBattleAnimBgPalette_SpacialRendPlayer, gBattleAnimBgTilemap_SpacialRendPlayer},
|
||||
[BG_DARK_VOID] = {gBattleAnimBgImage_DarkVoid, gBattleAnimBgPalette_DarkVoid, gBattleAnimBgTilemap_DarkVoid},
|
||||
};
|
||||
|
||||
static void (* const sScriptCmdTable[])(void) =
|
||||
|
@ -2837,6 +2837,51 @@ const struct SpriteTemplate gWoodHammerSmallSpriteTemplate =
|
||||
.callback = AnimWoodHammerSmall,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gJudgmentGrayOutwardSpikesTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_GREEN_SPIKE,
|
||||
.paletteTag = ANIM_TAG_GUST,
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_16x16,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimNeedleArmSpike
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gJudgmentGrayInwardOrbsTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_ORBS,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_16x16,
|
||||
.anims = gPowerAbsorptionOrbAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimNeedleArmSpike
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gDarkVoidPurpleStarsTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_SPARKLE_2,
|
||||
.paletteTag = ANIM_TAG_POISON_BUBBLE,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gGrantingStarsAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimGrantingStars
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gSeedFlareGreenCirclesTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_ORBS,
|
||||
.paletteTag = ANIM_TAG_RAZOR_LEAF,
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_16x16,
|
||||
.anims = gPowerAbsorptionOrbAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gPowerAbsorptionOrbAffineAnimTable,
|
||||
.callback = AnimPowerAbsorptionOrb
|
||||
};
|
||||
|
||||
// functions
|
||||
static void AnimGrassKnot(struct Sprite *sprite)
|
||||
{
|
||||
if (BATTLE_PARTNER(gBattleAnimAttacker) == gBattleAnimTarget && GetBattlerPosition(gBattleAnimTarget) < B_POSITION_PLAYER_RIGHT)
|
||||
@ -6687,3 +6732,27 @@ static void AnimNightSlash(struct Sprite *sprite)
|
||||
sprite->callback = AnimSlashSlice;
|
||||
sprite->callback(sprite);
|
||||
}
|
||||
|
||||
static const union AffineAnimCmd sCompressTargetHorizontallyAffineAnimCmds[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(64, 0, 0, 16), //Compress
|
||||
AFFINEANIMCMD_FRAME(0, 0, 0, 64),
|
||||
AFFINEANIMCMD_FRAME(-64, 0, 0, 16),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static void AnimTask_CompressTargetStep(u8 taskId)
|
||||
{
|
||||
struct Task* task = &gTasks[taskId];
|
||||
|
||||
if (!RunAffineAnimFromTaskData(task))
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
|
||||
void AnimTask_CompressTargetHorizontally(u8 taskId)
|
||||
{
|
||||
struct Task* task = &gTasks[taskId];
|
||||
u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
|
||||
PrepareAffineAnimInTaskData(task, spriteId, sCompressTargetHorizontallyAffineAnimCmds);
|
||||
task->func = AnimTask_CompressTargetStep;
|
||||
}
|
||||
|
@ -1232,7 +1232,6 @@ const union AffineAnimCmd *const gPerishSongMusicNoteAffineAnimTable[] =
|
||||
gPerishSongMusicNoteAffineAnimCmds3,
|
||||
};
|
||||
|
||||
extern const union AnimCmd *const gMusicNotesAnimTable[];
|
||||
const struct SpriteTemplate gPerishSongMusicNoteSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_MUSIC_NOTES_2,
|
||||
@ -1284,6 +1283,28 @@ const struct SpriteTemplate gGuardRingSpriteTemplate =
|
||||
.callback = AnimGuardRing,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gCrushGripExplosionTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_EXPLOSION,
|
||||
.paletteTag = ANIM_TAG_EXPLOSION,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gExplosionAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimSpriteOnMonPos
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gRoarOfTimeBombTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_EXPLOSION,
|
||||
.paletteTag = ANIM_TAG_WATER_GUN,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gExplosionAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimSpriteOnMonPos
|
||||
};
|
||||
|
||||
static void sub_8103448(struct Sprite *sprite)
|
||||
{
|
||||
SetSpriteCoordsToAnimAttackerCoords(sprite);
|
||||
|
@ -456,6 +456,54 @@ const struct SpriteTemplate gShockWaveProgressingBoltSpriteTemplate =
|
||||
.callback = AnimShockWaveProgressingBolt,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFlashCannonGrayChargeTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_GrowingElectricOrb,
|
||||
.callback = AnimGrowingChargeOrb
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd sSpriteAffineAnim_JudgmentBall[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(16, 16, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(8, 8, 0, 15), //Half size
|
||||
AFFINEANIMCMD_FRAME(0, 0, 0, 120), //Delay
|
||||
AFFINEANIMCMD_FRAME(24, 24, 0, 5), //Normal size
|
||||
AFFINEANIMCMD_FRAME(0, 0, 0, 10), //Delay
|
||||
AFFINEANIMCMD_FRAME(-16, -16, 0, 15), //Revert to 1 px
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
static const union AffineAnimCmd* const sSpriteAffineAnimTable_JudgmentBall[] =
|
||||
{
|
||||
sSpriteAffineAnim_JudgmentBall,
|
||||
};
|
||||
const struct SpriteTemplate gJudgmentBlackChargeTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
|
||||
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sSpriteAffineAnimTable_JudgmentBall,
|
||||
.callback = AnimGrowingChargeOrb
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gSeedFlareGreenChargeTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
|
||||
.paletteTag = ANIM_TAG_LEAF,
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_GrowingElectricOrb,
|
||||
.callback = AnimGrowingChargeOrb
|
||||
};
|
||||
|
||||
// functions
|
||||
static void AnimLightning(struct Sprite *sprite)
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
|
@ -510,6 +510,28 @@ const struct SpriteTemplate gLavaPlumeSpriteTemplate =
|
||||
.callback = AnimLavaPlumeOrbitScatter,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gSpacialRendBladesTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_PUNISHMENT_BLADES,
|
||||
.paletteTag = ANIM_TAG_PINK_HEART_2, //ANIM_TAG_BERRY_EATEN,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gAnims_BasicFire,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimFireSpiralOutward
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gSpacialRendBladesTemplate2 =
|
||||
{
|
||||
.tileTag = ANIM_TAG_PUNISHMENT_BLADES,
|
||||
.paletteTag = ANIM_TAG_PINK_HEART_2, //ANIM_TAG_BERRY_EATEN,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = sAnims_FireSpiralSpread,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimFireSpread
|
||||
};
|
||||
|
||||
static void AnimLavaPlumeOrbitScatter(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
|
@ -249,6 +249,17 @@ const struct SpriteTemplate gUnknown_08596E48 =
|
||||
.callback = sub_8112F60,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFlashCannonBallMovementTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_FLASH_CANNON_BALL,
|
||||
.paletteTag = ANIM_TAG_FLASH_CANNON_BALL,
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_ShadowBall,
|
||||
.callback = AnimShadowBall
|
||||
};
|
||||
|
||||
static void AnimConfuseRayBallBounce(struct Sprite *sprite)
|
||||
{
|
||||
InitSpritePosToAnimAttacker(sprite, 1);
|
||||
|
@ -561,6 +561,17 @@ const struct SpriteTemplate gAvalancheSpriteTemplate =
|
||||
.callback = AvalancheAnim_Step,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gChatterSingNotesTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_MUSIC_NOTES,
|
||||
.paletteTag = ANIM_TAG_MUSIC_NOTES,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_16x16,
|
||||
.anims = gMusicNotesAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_IceCrystalHit,
|
||||
.callback = AnimIceEffectParticle
|
||||
};
|
||||
|
||||
static void AvalancheAnim_Step(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[3] != 0)
|
||||
|
@ -327,6 +327,43 @@ const struct SpriteTemplate gStealthRockSpriteTemplate =
|
||||
.callback = AnimStealthRock,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd sSpriteAffineAnim_CrushGripHandEnemyAttack[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0, 0, 96, 1), //180 degree turn
|
||||
AFFINEANIMCMD_END
|
||||
};
|
||||
static const union AffineAnimCmd sSpriteAffineAnim_DoNothing[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0, 0, 0, 1), //Do nothing
|
||||
AFFINEANIMCMD_END
|
||||
};
|
||||
static const union AffineAnimCmd* const sSpriteAffineAnimTable_CrushGripHand[] =
|
||||
{
|
||||
sSpriteAffineAnim_DoNothing,
|
||||
sSpriteAffineAnim_CrushGripHandEnemyAttack,
|
||||
};
|
||||
const struct SpriteTemplate gCrushGripHandTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_PURPLE_HAND_OUTLINE,
|
||||
.paletteTag = ANIM_TAG_ACCUPRESSURE,
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_32x32,
|
||||
.anims = sAnims_BasicRock,
|
||||
.images = NULL,
|
||||
.affineAnims = sSpriteAffineAnimTable_CrushGripHand,
|
||||
.callback = AnimRockBlastRock
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gSeedFlareGreenWavesTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_FLYING_DIRT,
|
||||
.paletteTag = ANIM_TAG_LEAF,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x16,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimFlyingSandCrescent
|
||||
};
|
||||
|
||||
static void AnimStealthRock(struct Sprite *sprite)
|
||||
{
|
||||
u16 x;
|
||||
|
@ -41,6 +41,18 @@ const u32 gBattleAnimSpritePal_MegaParticles[] = INCBIN_U32("graphics/battle_ani
|
||||
const u32 gBattleAnimSpriteGfx_MegaSymbol[] = INCBIN_U32("graphics/battle_anims/sprites/mega_symbol.4bpp.lz");
|
||||
const u32 gBattleAnimSpritePal_MegaSymbol[] = INCBIN_U32("graphics/battle_anims/sprites/mega_symbol.gbapal.lz");
|
||||
|
||||
const u32 gBattleAnimSpriteGfx_FlashCannonBall[] = INCBIN_U32("graphics/battle_anims/sprites/flash_cannon_ball.4bpp.lz");
|
||||
const u32 gBattleAnimSpritePal_FlashCannonBall[] = INCBIN_U32("graphics/battle_anims/sprites/flash_cannon_ball.gbapal.lz");
|
||||
|
||||
const u32 gBattleAnimSpriteGfx_WaterGun[] = INCBIN_U32("graphics/battle_anims/sprites/water_gun.4bpp.lz");
|
||||
const u32 gBattleAnimSpritePal_WaterGun[] = INCBIN_U32("graphics/battle_anims/sprites/water_gun.gbapal.lz");
|
||||
|
||||
const u32 gBattleAnimSpriteGfx_Punishment[] = INCBIN_U32("graphics/battle_anims/sprites/punishment.4bpp.lz");
|
||||
const u32 gBattleAnimSpritePal_Punishment[] = INCBIN_U32("graphics/battle_anims/sprites/punishment.gbapal.lz");
|
||||
|
||||
const u32 gBattleAnimSpriteGfx_QuickGuard[] = INCBIN_U32("graphics/battle_anims/sprites/quick_guard.4bpp.lz");
|
||||
const u32 gBattleAnimSpritePal_QuickGuard[] = INCBIN_U32("graphics/battle_anims/sprites/quick_guard.gbapal.lz");
|
||||
|
||||
// Battle anims
|
||||
const u32 gBattleAnimSpriteGfx_Bubble[] = INCBIN_U32("graphics/battle_anims/sprites/bubble.4bpp.lz");
|
||||
const u32 gBattleAnimSpriteGfx_Bone[] = INCBIN_U32("graphics/battle_anims/sprites/bone.4bpp.lz");
|
||||
@ -1151,6 +1163,18 @@ const u32 gBattleAnimBgImage_RockWrecker[] = INCBIN_U32("graphics/battle_anims/b
|
||||
const u32 gBattleAnimBgPalette_RockWrecker[] = INCBIN_U32("graphics/battle_anims/backgrounds/rock_wrecker.gbapal.lz");
|
||||
const u32 gBattleAnimBgTilemap_RockWrecker[] = INCBIN_U32("graphics/battle_anims/backgrounds/rock_wrecker_map.bin.lz");
|
||||
|
||||
const u32 gBattleAnimBgImage_SpacialRendOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/spacial_rend_opponent.4bpp.lz");
|
||||
const u32 gBattleAnimBgPalette_SpacialRendOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/spacial_rend_opponent.gbapal.lz");
|
||||
const u32 gBattleAnimBgTilemap_SpacialRendOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/spacial_rend_opponent.bin");
|
||||
|
||||
const u32 gBattleAnimBgImage_SpacialRendPlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/spacial_rend_player.4bpp.lz");
|
||||
const u32 gBattleAnimBgPalette_SpacialRendPlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/spacial_rend_player.gbapal.lz");
|
||||
const u32 gBattleAnimBgTilemap_SpacialRendPlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/spacial_rend_player.bin");
|
||||
|
||||
const u32 gBattleAnimBgImage_DarkVoid[] = INCBIN_U32("graphics/battle_anims/backgrounds/dark_void.4bpp.lz");
|
||||
const u32 gBattleAnimBgPalette_DarkVoid[] = INCBIN_U32("graphics/battle_anims/backgrounds/dark_void.gbapal.lz");
|
||||
const u32 gBattleAnimBgTilemap_DarkVoid[] = INCBIN_U32("graphics/battle_anims/backgrounds/dark_void.bin");
|
||||
|
||||
const u32 gUnknown_E6BC04[] = INCBIN_U32("graphics/unknown/unknown_E6BC04.bin.lz");
|
||||
|
||||
const u32 sBlenderCenterGfx[] = INCBIN_U32("graphics/berry_blender/center.8bpp.lz");
|
||||
|