mirror of
https://github.com/pret/pokeemerald.git
synced 2026-03-21 17:54:57 -05:00
Document battle_anim_dragon.c
This commit is contained in:
parent
5d713ad9bb
commit
0e415dde46
|
|
@ -356,6 +356,30 @@
|
||||||
createsprite gClawSlashSpriteTemplate, \anim_battler, \subpriority_offset, \x, \y, \animation
|
createsprite gClawSlashSpriteTemplate, \anim_battler, \subpriority_offset, \x, \y, \animation
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
|
.macro create_outrage_flame_sprite anim_battler:req, subpriority_offset:req, x:req, y:req, duration:req, x_velocity:req, y_velocity:req, flicker_duration:req
|
||||||
|
createsprite gOutrageFlameSpriteTemplate, \anim_battler, \subpriority_offset, \x, \y, \duration, 256 * \x_velocity, 256 * \y_velocity, \flicker_duration
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.macro create_dragon_breath_fire_sprite anim_battler:req, subpriority_offset:req, initial_x:req, initial_y:req, target_x:req, target_y:req, duration:req
|
||||||
|
createsprite gDragonBreathFireSpriteTemplate, \anim_battler, \subpriority_offset, \initial_x, \initial_y, \target_x, \target_y, \duration
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.macro create_dragon_rage_fire_spit_sprite anim_battler:req, subpriority_offset:req, initial_x:req, initial_y:req, target_x:req, target_y:req, duration:req
|
||||||
|
createsprite gDragonRageFireSpitSpriteTemplate, \anim_battler, \subpriority_offset, \initial_x, \initial_y, \target_x, \target_y, \duration
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.macro create_dragon_rage_fire_plume_sprite anim_battler:req, subpriority_offset:req, relative_to:req, x:req, y:req
|
||||||
|
createsprite gDragonRageFirePlumeSpriteTemplate, \anim_battler, \subpriority_offset, \relative_to, \x, \y
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.macro create_dragon_dance_orb_sprite anim_battler:req, subpriority_offset:req, angle:req
|
||||||
|
createsprite gDragonDanceOrbSpriteTemplate, \anim_battler, \subpriority_offset, 256 * \angle
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.macro create_overheat_flame_sprite anim_battler:req, subpriority_offset:req, speed:req, unk1:req, unk2:req, duration:req, y:req
|
||||||
|
createsprite gOverheatFlameSpriteTemplate, \anim_battler, \subpriority_offset, \speed, \unk1, \unk2, \duration, \y
|
||||||
|
.endm
|
||||||
|
|
||||||
.macro create_confusion_duck_sprite anim_battler:req, subpriority_offset:req, x:req, y:req, wave_offset:req, wave_period:req, duration:req
|
.macro create_confusion_duck_sprite anim_battler:req, subpriority_offset:req, x:req, y:req, wave_offset:req, wave_period:req, duration:req
|
||||||
createsprite gConfusionDuckSpriteTemplate, \anim_battler, \subpriority_offset, \x, \y, \wave_offset, \wave_period, \duration
|
createsprite gConfusionDuckSpriteTemplate, \anim_battler, \subpriority_offset, \x, \y, \wave_offset, \wave_period, \duration
|
||||||
.endm
|
.endm
|
||||||
|
|
|
||||||
|
|
@ -1903,43 +1903,43 @@ Move_OUTRAGE:
|
||||||
blend_color_cycle priority=2, selector=F_PAL_BG | F_PAL_ATTACKER | F_PAL_TARGET, delay=2, num_blends=5, initial_blend_y=3, target_blend_y=8, color=RGB(14, 13, 0)
|
blend_color_cycle priority=2, selector=F_PAL_BG | F_PAL_ATTACKER | F_PAL_TARGET, delay=2, num_blends=5, initial_blend_y=3, target_blend_y=8, color=RGB(14, 13, 0)
|
||||||
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 6, 5, 4
|
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 6, 5, 4
|
||||||
delay 0
|
delay 0
|
||||||
createsprite gOutrageFlameSpriteTemplate, ANIM_TARGET, 2, 0, 0, 30, 1280, 0, 3
|
create_outrage_flame_sprite ANIM_TARGET, 2, x=0, y=0, duration=30, x_velocity=5, y_velocity=0, flicker_duration=3
|
||||||
delay 0
|
delay 0
|
||||||
createsprite gOutrageFlameSpriteTemplate, ANIM_TARGET, 2, 0, 0, 30, -1280, 0, 3
|
create_outrage_flame_sprite ANIM_TARGET, 2, x=0, y=0, duration=30, x_velocity=-5, y_velocity=0, flicker_duration=3
|
||||||
delay 0
|
delay 0
|
||||||
createsprite gOutrageFlameSpriteTemplate, ANIM_TARGET, 2, 0, 0, 30, 0, 1280, 3
|
create_outrage_flame_sprite ANIM_TARGET, 2, x=0, y=0, duration=30, x_velocity=0, y_velocity=5, flicker_duration=3
|
||||||
delay 0
|
delay 0
|
||||||
createsprite gOutrageFlameSpriteTemplate, ANIM_TARGET, 2, 0, 0, 30, 0, -1280, 3
|
create_outrage_flame_sprite ANIM_TARGET, 2, x=0, y=0, duration=30, x_velocity=0, y_velocity=-5, flicker_duration=3
|
||||||
delay 0
|
delay 0
|
||||||
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 40, 1
|
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 40, 1
|
||||||
createsprite gOutrageFlameSpriteTemplate, ANIM_TARGET, 2, 0, 0, 30, 1280, 768, 3
|
create_outrage_flame_sprite ANIM_TARGET, 2, x=0, y=0, duration=30, x_velocity=5, y_velocity=3, flicker_duration=3
|
||||||
delay 0
|
delay 0
|
||||||
createsprite gOutrageFlameSpriteTemplate, ANIM_TARGET, 2, 0, 0, 30, -1280, 768, 3
|
create_outrage_flame_sprite ANIM_TARGET, 2, x=0, y=0, duration=30, x_velocity=-5, y_velocity=3, flicker_duration=3
|
||||||
delay 0
|
delay 0
|
||||||
createsprite gOutrageFlameSpriteTemplate, ANIM_TARGET, 2, 0, 0, 30, 1280, -768, 3
|
create_outrage_flame_sprite ANIM_TARGET, 2, x=0, y=0, duration=30, x_velocity=5, y_velocity=-3, flicker_duration=3
|
||||||
delay 0
|
delay 0
|
||||||
createsprite gOutrageFlameSpriteTemplate, ANIM_TARGET, 2, 0, 0, 30, -1280, -768, 3
|
create_outrage_flame_sprite ANIM_TARGET, 2, x=0, y=0, duration=30, x_velocity=-5, y_velocity=-3, flicker_duration=3
|
||||||
delay 0
|
delay 0
|
||||||
createsprite gOutrageFlameSpriteTemplate, ANIM_TARGET, 2, 0, 0, 30, 1280, 0, 3
|
create_outrage_flame_sprite ANIM_TARGET, 2, x=0, y=0, duration=30, x_velocity=5, y_velocity=0, flicker_duration=3
|
||||||
call OutrageFlames
|
call OutrageFlames
|
||||||
call OutrageFlames
|
call OutrageFlames
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
end
|
end
|
||||||
OutrageFlames:
|
OutrageFlames:
|
||||||
delay 3
|
delay 3
|
||||||
createsprite gOutrageFlameSpriteTemplate, ANIM_TARGET, 2, 0, 0, 30, -1280, 0, 3
|
create_outrage_flame_sprite ANIM_TARGET, 2, x=0, y=0, duration=30, x_velocity=-5, y_velocity=0, flicker_duration=3
|
||||||
delay 0
|
delay 0
|
||||||
createsprite gOutrageFlameSpriteTemplate, ANIM_TARGET, 2, 0, 0, 30, 0, 1280, 3
|
create_outrage_flame_sprite ANIM_TARGET, 2, x=0, y=0, duration=30, x_velocity=0, y_velocity=5, flicker_duration=3
|
||||||
delay 0
|
delay 0
|
||||||
createsprite gOutrageFlameSpriteTemplate, ANIM_TARGET, 2, 0, 0, 30, 0, -1280, 3
|
create_outrage_flame_sprite ANIM_TARGET, 2, x=0, y=0, duration=30, x_velocity=0, y_velocity=-5, flicker_duration=3
|
||||||
delay 0
|
delay 0
|
||||||
createsprite gOutrageFlameSpriteTemplate, ANIM_TARGET, 2, 0, 0, 30, 1280, 768, 3
|
create_outrage_flame_sprite ANIM_TARGET, 2, x=0, y=0, duration=30, x_velocity=5, y_velocity=3, flicker_duration=3
|
||||||
delay 0
|
delay 0
|
||||||
createsprite gOutrageFlameSpriteTemplate, ANIM_TARGET, 2, 0, 0, 30, -1280, 768, 3
|
create_outrage_flame_sprite ANIM_TARGET, 2, x=0, y=0, duration=30, x_velocity=-5, y_velocity=3, flicker_duration=3
|
||||||
delay 0
|
delay 0
|
||||||
createsprite gOutrageFlameSpriteTemplate, ANIM_TARGET, 2, 0, 0, 30, 1280, -768, 3
|
create_outrage_flame_sprite ANIM_TARGET, 2, x=0, y=0, duration=30, x_velocity=5, y_velocity=-3, flicker_duration=3
|
||||||
delay 0
|
delay 0
|
||||||
createsprite gOutrageFlameSpriteTemplate, ANIM_TARGET, 2, 0, 0, 30, -1280, -768, 3
|
create_outrage_flame_sprite ANIM_TARGET, 2, x=0, y=0, duration=30, x_velocity=-5, y_velocity=-3, flicker_duration=3
|
||||||
return
|
return
|
||||||
|
|
||||||
Move_SPARK:
|
Move_SPARK:
|
||||||
|
|
@ -4525,12 +4525,12 @@ Move_DRAGON_DANCE:
|
||||||
playsewithpan SE_M_TELEPORT, SOUND_PAN_ATTACKER
|
playsewithpan SE_M_TELEPORT, SOUND_PAN_ATTACKER
|
||||||
delay 8
|
delay 8
|
||||||
createvisualtask AnimTask_BlendPalInAndOutByTag, 5, ANIM_TAG_HOLLOW_ORB, RGB(0, 0, 19), 14, 0, 3
|
createvisualtask AnimTask_BlendPalInAndOutByTag, 5, ANIM_TAG_HOLLOW_ORB, RGB(0, 0, 19), 14, 0, 3
|
||||||
createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 0
|
create_dragon_dance_orb_sprite ANIM_ATTACKER, 2, angle=0/360
|
||||||
createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 43
|
create_dragon_dance_orb_sprite ANIM_ATTACKER, 2, angle=61/360
|
||||||
createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 85
|
create_dragon_dance_orb_sprite ANIM_ATTACKER, 2, angle=120/360
|
||||||
createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 128
|
create_dragon_dance_orb_sprite ANIM_ATTACKER, 2, angle=180/360
|
||||||
createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 170
|
create_dragon_dance_orb_sprite ANIM_ATTACKER, 2, angle=240/360
|
||||||
createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 213
|
create_dragon_dance_orb_sprite ANIM_ATTACKER, 2, angle=300/360
|
||||||
delay 30
|
delay 30
|
||||||
playsewithpan SE_M_TELEPORT, SOUND_PAN_ATTACKER
|
playsewithpan SE_M_TELEPORT, SOUND_PAN_ATTACKER
|
||||||
delay 30
|
delay 30
|
||||||
|
|
@ -4927,29 +4927,29 @@ Move_DRAGON_BREATH:
|
||||||
monbg ANIM_DEF_PARTNER
|
monbg ANIM_DEF_PARTNER
|
||||||
splitbgprio ANIM_TARGET
|
splitbgprio ANIM_TARGET
|
||||||
loopsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER, 7, 7
|
loopsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER, 7, 7
|
||||||
createsprite gDragonBreathFireSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0, 0, 20
|
create_dragon_breath_fire_sprite ANIM_TARGET, 2, initial_x=0, initial_y=0, target_x=0, target_y=0, duration=20
|
||||||
delay 2
|
delay 2
|
||||||
createsprite gDragonBreathFireSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0, 0, 20
|
create_dragon_breath_fire_sprite ANIM_TARGET, 2, initial_x=0, initial_y=0, target_x=0, target_y=0, duration=20
|
||||||
delay 2
|
delay 2
|
||||||
createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 1, 0, 9, RGB_RED
|
createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 1, 0, 9, RGB_RED
|
||||||
createsprite gDragonBreathFireSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0, 0, 20
|
create_dragon_breath_fire_sprite ANIM_TARGET, 2, initial_x=0, initial_y=0, target_x=0, target_y=0, duration=20
|
||||||
delay 2
|
delay 2
|
||||||
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 21, 1
|
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 21, 1
|
||||||
createsprite gDragonBreathFireSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0, 0, 20
|
create_dragon_breath_fire_sprite ANIM_TARGET, 2, initial_x=0, initial_y=0, target_x=0, target_y=0, duration=20
|
||||||
delay 2
|
delay 2
|
||||||
createsprite gDragonBreathFireSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0, 0, 20
|
create_dragon_breath_fire_sprite ANIM_TARGET, 2, initial_x=0, initial_y=0, target_x=0, target_y=0, duration=20
|
||||||
delay 2
|
delay 2
|
||||||
createsprite gDragonBreathFireSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0, 0, 20
|
create_dragon_breath_fire_sprite ANIM_TARGET, 2, initial_x=0, initial_y=0, target_x=0, target_y=0, duration=20
|
||||||
delay 2
|
delay 2
|
||||||
createsprite gDragonBreathFireSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0, 0, 20
|
create_dragon_breath_fire_sprite ANIM_TARGET, 2, initial_x=0, initial_y=0, target_x=0, target_y=0, duration=20
|
||||||
delay 2
|
delay 2
|
||||||
createsprite gDragonBreathFireSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0, 0, 20
|
create_dragon_breath_fire_sprite ANIM_TARGET, 2, initial_x=0, initial_y=0, target_x=0, target_y=0, duration=20
|
||||||
delay 2
|
delay 2
|
||||||
createsprite gDragonBreathFireSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0, 0, 20
|
create_dragon_breath_fire_sprite ANIM_TARGET, 2, initial_x=0, initial_y=0, target_x=0, target_y=0, duration=20
|
||||||
delay 2
|
delay 2
|
||||||
createsprite gDragonBreathFireSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0, 0, 20
|
create_dragon_breath_fire_sprite ANIM_TARGET, 2, initial_x=0, initial_y=0, target_x=0, target_y=0, duration=20
|
||||||
delay 2
|
delay 2
|
||||||
createsprite gDragonBreathFireSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0, 0, 20
|
create_dragon_breath_fire_sprite ANIM_TARGET, 2, initial_x=0, initial_y=0, target_x=0, target_y=0, duration=20
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 1, 9, 0, RGB_RED
|
createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 1, 9, 0, RGB_RED
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
|
|
@ -5242,25 +5242,25 @@ Move_DRAGON_RAGE:
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
createsprite gSlideMonToOffsetSpriteTemplate, ANIM_TARGET, 2, 0, 15, 0, 0, 4
|
createsprite gSlideMonToOffsetSpriteTemplate, ANIM_TARGET, 2, 0, 15, 0, 0, 4
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
createsprite gDragonRageFireSpitSpriteTemplate, ANIM_TARGET, 2, 30, 15, 0, 10, 10
|
create_dragon_rage_fire_spit_sprite ANIM_TARGET, 2, initial_x=30, initial_y=15, target_x=0, target_y=10, duration=10
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
loopsewithpan SE_M_FLAME_WHEEL2, SOUND_PAN_TARGET, 11, 3
|
loopsewithpan SE_M_FLAME_WHEEL2, SOUND_PAN_TARGET, 11, 3
|
||||||
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 3, 25, 1
|
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 3, 25, 1
|
||||||
createsprite gDragonRageFirePlumeSpriteTemplate, ANIM_TARGET, 66, 1, 5, 0
|
create_dragon_rage_fire_plume_sprite ANIM_TARGET, 66, relative_to=ANIM_TARGET, x=5, y=0
|
||||||
delay 1
|
delay 1
|
||||||
createsprite gDragonRageFirePlumeSpriteTemplate, ANIM_TARGET, 66, 1, -10, -15
|
create_dragon_rage_fire_plume_sprite ANIM_TARGET, 66, relative_to=ANIM_TARGET, x=-10, y=-15
|
||||||
delay 1
|
delay 1
|
||||||
createsprite gDragonRageFirePlumeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 25
|
create_dragon_rage_fire_plume_sprite ANIM_TARGET, 2, relative_to=ANIM_TARGET, x=0, y=25
|
||||||
delay 1
|
delay 1
|
||||||
createsprite gDragonRageFirePlumeSpriteTemplate, ANIM_TARGET, 66, 1, 15, 5
|
create_dragon_rage_fire_plume_sprite ANIM_TARGET, 66, relative_to=ANIM_TARGET, x=15, y=5
|
||||||
delay 1
|
delay 1
|
||||||
createsprite gDragonRageFirePlumeSpriteTemplate, ANIM_TARGET, 66, 1, -25, 0
|
create_dragon_rage_fire_plume_sprite ANIM_TARGET, 66, relative_to=ANIM_TARGET, x=-25, y=0
|
||||||
delay 1
|
delay 1
|
||||||
createsprite gDragonRageFirePlumeSpriteTemplate, ANIM_TARGET, 2, 1, 30, 30
|
create_dragon_rage_fire_plume_sprite ANIM_TARGET, 2, relative_to=ANIM_TARGET, x=30, y=30
|
||||||
delay 1
|
delay 1
|
||||||
createsprite gDragonRageFirePlumeSpriteTemplate, ANIM_TARGET, 2, 1, -27, 25
|
create_dragon_rage_fire_plume_sprite ANIM_TARGET, 2, relative_to=ANIM_TARGET, x=-27, y=25
|
||||||
delay 1
|
delay 1
|
||||||
createsprite gDragonRageFirePlumeSpriteTemplate, ANIM_TARGET, 66, 1, 0, 8
|
create_dragon_rage_fire_plume_sprite ANIM_TARGET, 66, relative_to=ANIM_TARGET, x=0, y=8
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_TARGET, 66, 0, 0, 4
|
createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_TARGET, 66, 0, 0, 4
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
|
|
@ -9299,32 +9299,32 @@ Move_OVERHEAT:
|
||||||
createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 2, 0, 15, 1
|
createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 2, 0, 15, 1
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
playsewithpan SE_M_FLAME_WHEEL2, SOUND_PAN_ATTACKER
|
playsewithpan SE_M_FLAME_WHEEL2, SOUND_PAN_ATTACKER
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 30, 25, -20
|
create_overheat_flame_sprite ANIM_ATTACKER, 2, speed=1, unk1=0, unk2=30, duration=25, y=-20
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 2, 1, 32, 30, 25, -20
|
create_overheat_flame_sprite ANIM_ATTACKER, 2, speed=1, unk1=32, unk2=30, duration=25, y=-20
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 2, 1, 64, 30, 25, -20
|
create_overheat_flame_sprite ANIM_ATTACKER, 2, speed=1, unk1=64, unk2=30, duration=25, y=-20
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 2, 1, 96, 30, 25, -20
|
create_overheat_flame_sprite ANIM_ATTACKER, 2, speed=1, unk1=96, unk2=30, duration=25, y=-20
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 2, 1, 128, 30, 25, -20
|
create_overheat_flame_sprite ANIM_ATTACKER, 2, speed=1, unk1=128, unk2=30, duration=25, y=-20
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 66, 1, 160, 30, 25, -20
|
create_overheat_flame_sprite ANIM_ATTACKER, 66, speed=1, unk1=160, unk2=30, duration=25, y=-20
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 66, 1, 192, 30, 25, -20
|
create_overheat_flame_sprite ANIM_ATTACKER, 66, speed=1, unk1=192, unk2=30, duration=25, y=-20
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 66, 1, 224, 30, 25, -20
|
create_overheat_flame_sprite ANIM_ATTACKER, 66, speed=1, unk1=224, unk2=30, duration=25, y=-20
|
||||||
delay 5
|
delay 5
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 30, 25, 0
|
create_overheat_flame_sprite ANIM_ATTACKER, 2, speed=1, unk1=0, unk2=30, duration=25, y=0
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 2, 1, 32, 30, 25, 0
|
create_overheat_flame_sprite ANIM_ATTACKER, 2, speed=1, unk1=32, unk2=30, duration=25, y=0
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 2, 1, 64, 30, 25, 0
|
create_overheat_flame_sprite ANIM_ATTACKER, 2, speed=1, unk1=64, unk2=30, duration=25, y=0
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 2, 1, 96, 30, 25, 0
|
create_overheat_flame_sprite ANIM_ATTACKER, 2, speed=1, unk1=96, unk2=30, duration=25, y=0
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 2, 1, 128, 30, 25, 0
|
create_overheat_flame_sprite ANIM_ATTACKER, 2, speed=1, unk1=128, unk2=30, duration=25, y=0
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 66, 1, 160, 30, 25, 0
|
create_overheat_flame_sprite ANIM_ATTACKER, 66, speed=1, unk1=160, unk2=30, duration=25, y=0
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 66, 1, 192, 30, 25, 0
|
create_overheat_flame_sprite ANIM_ATTACKER, 66, speed=1, unk1=192, unk2=30, duration=25, y=0
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 66, 1, 224, 30, 25, 0
|
create_overheat_flame_sprite ANIM_ATTACKER, 66, speed=1, unk1=224, unk2=30, duration=25, y=0
|
||||||
delay 5
|
delay 5
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 30, 25, 10
|
create_overheat_flame_sprite ANIM_ATTACKER, 2, speed=1, unk1=0, unk2=30, duration=25, y=10
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 2, 1, 32, 30, 25, 10
|
create_overheat_flame_sprite ANIM_ATTACKER, 2, speed=1, unk1=32, unk2=30, duration=25, y=10
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 2, 1, 64, 30, 25, 10
|
create_overheat_flame_sprite ANIM_ATTACKER, 2, speed=1, unk1=64, unk2=30, duration=25, y=10
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 2, 1, 96, 30, 25, 10
|
create_overheat_flame_sprite ANIM_ATTACKER, 2, speed=1, unk1=96, unk2=30, duration=25, y=10
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 2, 1, 128, 30, 25, 10
|
create_overheat_flame_sprite ANIM_ATTACKER, 2, speed=1, unk1=128, unk2=30, duration=25, y=10
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 66, 1, 160, 30, 25, 10
|
create_overheat_flame_sprite ANIM_ATTACKER, 66, speed=1, unk1=160, unk2=30, duration=25, y=10
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 66, 1, 192, 30, 25, 10
|
create_overheat_flame_sprite ANIM_ATTACKER, 66, speed=1, unk1=192, unk2=30, duration=25, y=10
|
||||||
createsprite gOverheatFlameSpriteTemplate, ANIM_ATTACKER, 66, 1, 224, 30, 25, 10
|
create_overheat_flame_sprite ANIM_ATTACKER, 66, speed=1, unk1=224, unk2=30, duration=25, y=10
|
||||||
delay 5
|
delay 5
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
create_basic_hitsplat_sprite ANIM_TARGET, 3, x=-5, y=3, relative_to=ANIM_TARGET, animation=0
|
create_basic_hitsplat_sprite ANIM_TARGET, 3, x=-5, y=3, relative_to=ANIM_TARGET, animation=0
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
#include "battle_anim.h"
|
#include "battle_anim.h"
|
||||||
|
#include "battle_anim_internal.h"
|
||||||
#include "scanline_effect.h"
|
#include "scanline_effect.h"
|
||||||
#include "task.h"
|
#include "task.h"
|
||||||
#include "trig.h"
|
#include "trig.h"
|
||||||
|
|
@ -189,24 +190,26 @@ const struct SpriteTemplate gOverheatFlameSpriteTemplate =
|
||||||
|
|
||||||
static void AnimOutrageFlame(struct Sprite *sprite)
|
static void AnimOutrageFlame(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
|
CMD_ARGS(x, y, duration, xVelocity, yVelocity, flickerDuration);
|
||||||
|
|
||||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||||
{
|
{
|
||||||
sprite->x -= gBattleAnimArgs[0];
|
sprite->x -= cmd->x;
|
||||||
gBattleAnimArgs[3] = -gBattleAnimArgs[3];
|
cmd->xVelocity = -cmd->xVelocity;
|
||||||
gBattleAnimArgs[4] = -gBattleAnimArgs[4];
|
cmd->yVelocity = -cmd->yVelocity;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sprite->x += gBattleAnimArgs[0];
|
sprite->x += cmd->x;
|
||||||
}
|
}
|
||||||
|
|
||||||
sprite->y += gBattleAnimArgs[1];
|
sprite->y += cmd->y;
|
||||||
sprite->data[0] = gBattleAnimArgs[2];
|
sprite->data[0] = cmd->duration;
|
||||||
sprite->data[1] = gBattleAnimArgs[3];
|
sprite->data[1] = cmd->xVelocity;
|
||||||
sprite->data[3] = gBattleAnimArgs[4];
|
sprite->data[3] = cmd->yVelocity;
|
||||||
sprite->data[5] = gBattleAnimArgs[5];
|
sprite->data[5] = cmd->flickerDuration;
|
||||||
sprite->invisible = TRUE;
|
sprite->invisible = TRUE;
|
||||||
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
|
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
|
||||||
sprite->callback = TranslateSpriteLinearAndFlicker;
|
sprite->callback = TranslateSpriteLinearAndFlicker;
|
||||||
|
|
@ -214,33 +217,37 @@ static void AnimOutrageFlame(struct Sprite *sprite)
|
||||||
|
|
||||||
static void StartDragonFireTranslation(struct Sprite *sprite)
|
static void StartDragonFireTranslation(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
|
CMD_ARGS(initialX, initialY, targetX, targetY, duration);
|
||||||
|
|
||||||
SetSpriteCoordsToAnimAttackerCoords(sprite);
|
SetSpriteCoordsToAnimAttackerCoords(sprite);
|
||||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||||
{
|
{
|
||||||
sprite->x -= gBattleAnimArgs[1];
|
sprite->x -= cmd->initialY;
|
||||||
sprite->y += gBattleAnimArgs[1];
|
sprite->y += cmd->initialY;
|
||||||
sprite->data[2] -= gBattleAnimArgs[2];
|
sprite->data[2] -= cmd->targetX;
|
||||||
sprite->data[4] += gBattleAnimArgs[3];
|
sprite->data[4] += cmd->targetY;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sprite->x += gBattleAnimArgs[0];
|
sprite->x += cmd->initialX;
|
||||||
sprite->y += gBattleAnimArgs[1];
|
sprite->y += cmd->initialY;
|
||||||
sprite->data[2] += gBattleAnimArgs[2];
|
sprite->data[2] += cmd->targetX;
|
||||||
sprite->data[4] += gBattleAnimArgs[3];
|
sprite->data[4] += cmd->targetY;
|
||||||
StartSpriteAnim(sprite, 1);
|
StartSpriteAnim(sprite, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
sprite->data[0] = gBattleAnimArgs[4];
|
sprite->data[0] = cmd->duration;
|
||||||
sprite->callback = StartAnimLinearTranslation;
|
sprite->callback = StartAnimLinearTranslation;
|
||||||
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
|
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void AnimDragonRageFirePlume(struct Sprite *sprite)
|
static void AnimDragonRageFirePlume(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if (gBattleAnimArgs[0] == 0)
|
CMD_ARGS(relativeTo, x, y);
|
||||||
|
|
||||||
|
if (cmd->relativeTo == ANIM_ATTACKER)
|
||||||
{
|
{
|
||||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
|
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
|
||||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
|
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
|
||||||
|
|
@ -251,8 +258,8 @@ static void AnimDragonRageFirePlume(struct Sprite *sprite)
|
||||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y);
|
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y);
|
||||||
}
|
}
|
||||||
|
|
||||||
SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[1]);
|
SetAnimSpriteInitialXOffset(sprite, cmd->x);
|
||||||
sprite->y += gBattleAnimArgs[2];
|
sprite->y += cmd->y;
|
||||||
sprite->callback = RunStoredCallbackWhenAnimEnds;
|
sprite->callback = RunStoredCallbackWhenAnimEnds;
|
||||||
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
|
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
|
||||||
}
|
}
|
||||||
|
|
@ -268,13 +275,15 @@ static void AnimDragonFireToTarget(struct Sprite *sprite)
|
||||||
|
|
||||||
static void AnimDragonDanceOrb(struct Sprite *sprite)
|
static void AnimDragonDanceOrb(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
|
CMD_ARGS(angle);
|
||||||
|
|
||||||
u16 r5;
|
u16 r5;
|
||||||
u16 r0;
|
u16 r0;
|
||||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||||
sprite->data[4] = 0;
|
sprite->data[4] = 0;
|
||||||
sprite->data[5] = 1;
|
sprite->data[5] = 1;
|
||||||
sprite->data[6] = gBattleAnimArgs[0];
|
sprite->data[6] = cmd->angle;
|
||||||
r5 = GetBattlerSpriteCoordAttr(gBattlerAttacker, BATTLER_COORD_ATTR_HEIGHT);
|
r5 = GetBattlerSpriteCoordAttr(gBattlerAttacker, BATTLER_COORD_ATTR_HEIGHT);
|
||||||
r0 = GetBattlerSpriteCoordAttr(gBattlerAttacker, BATTLER_COORD_ATTR_WIDTH);
|
r0 = GetBattlerSpriteCoordAttr(gBattlerAttacker, BATTLER_COORD_ATTR_WIDTH);
|
||||||
if (r5 > r0)
|
if (r5 > r0)
|
||||||
|
|
@ -415,15 +424,17 @@ static void UpdateDragonDanceScanlineEffect(struct Task *task)
|
||||||
|
|
||||||
static void AnimOverheatFlame(struct Sprite *sprite)
|
static void AnimOverheatFlame(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
|
CMD_ARGS(speed, unk1, unk2, duration, y);
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
int yAmplitude = (gBattleAnimArgs[2] * 3) / 5;
|
int yAmplitude = (cmd->unk2 * 3) / 5;
|
||||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[4];
|
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + cmd->y;
|
||||||
sprite->data[1] = Cos(gBattleAnimArgs[1], gBattleAnimArgs[2]);
|
sprite->data[1] = Cos(cmd->unk1, cmd->unk2);
|
||||||
sprite->data[2] = Sin(gBattleAnimArgs[1], yAmplitude);
|
sprite->data[2] = Sin(cmd->unk1, yAmplitude);
|
||||||
sprite->x += sprite->data[1] * gBattleAnimArgs[0];
|
sprite->x += sprite->data[1] * cmd->speed;
|
||||||
sprite->y += sprite->data[2] * gBattleAnimArgs[0];
|
sprite->y += sprite->data[2] * cmd->speed;
|
||||||
sprite->data[3] = gBattleAnimArgs[3];
|
sprite->data[3] = cmd->duration;
|
||||||
sprite->callback = AnimOverheatFlame_Step;
|
sprite->callback = AnimOverheatFlame_Step;
|
||||||
for (i = 0; i < 7; i++)
|
for (i = 0; i < 7; i++)
|
||||||
sUnusedOverheatData[i] = sprite->data[i];
|
sUnusedOverheatData[i] = sprite->data[i];
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user