anim: add some animation moves (#383)

- fell stinger
 - draining kiss
 - kings shield (==protect)
 - scald
 - fire pledge
 - water pledge
 - grass pledge

Co-authored-by: SBird <sbird@no.tld>
This commit is contained in:
Philipp AUER 2020-05-24 18:14:59 +02:00 committed by GitHub
parent 13cf2cb217
commit f1f4000914
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 460 additions and 1 deletions

View File

@ -4701,7 +4701,50 @@ Move_ALLY_SWITCH:
end
Move_SCALD:
loadspritegfx ANIM_TAG_WATER_ORB
loadspritegfx ANIM_TAG_WATER_IMPACT
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
setalpha 12, 8
createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 40, 1
delay 6
panse_1B SE_W056, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
createvisualtask AnimTask_StartSinAnimTimer, 5, 100
call ScaldBeams
call ScaldBeams
call ScaldBeams
createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 11, RGB_RED
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 37, 1
call ScaldHitSplats
call ScaldBeams
call ScaldBeams
call ScaldHitSplats
call ScaldBeams
call ScaldBeams
call ScaldHitSplats
call ScaldBeams
call ScaldBeams
call ScaldHitSplats
call ScaldBeams
call ScaldBeams
call ScaldHitSplats
delay 2
call ScaldHitSplats
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
ScaldBeams:
createsprite gHydroPumpOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, 10, 0, 0
delay 1
createsprite gHydroPumpOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, 10, 0, 0
delay 1
return
ScaldHitSplats:
createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, ANIM_TARGET, 1
return
Move_SHELL_SMASH:
end
@ -4868,12 +4911,325 @@ InfernoAnim:
return
Move_WATER_PLEDGE:
loadspritegfx ANIM_TAG_WATER_ORB
loadspritegfx ANIM_TAG_WATER_IMPACT
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
@left fountain
createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 40, 1
delay 6
panse_1B SE_W056, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -16, 0, ANIM_TARGET, 1
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -16, 0, ANIM_TARGET, 1
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
@middle fountain (also continues left fountain)
panse_1B SE_W056, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 11, RGB_BLUE
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 37, 1
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 1
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 1
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
@right fountain (also continues middle and left fountains)
panse_1B SE_W056, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 16, 0, ANIM_TARGET, 1
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 16, 0, ANIM_TARGET, 1
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
Move_FIRE_PLEDGE:
loadspritegfx ANIM_TAG_SMALL_EMBER
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
@left fountain
createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 40, 1
delay 6
panse_1B SE_W053, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
@middle fountain (also continues left fountain)
panse_1B SE_W053, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 11, RGB_RED
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 37, 1
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
@right fountain (also continues middle and left fountains)
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
Move_GRASS_PLEDGE:
loadspritegfx ANIM_TAG_LEAF
loadspritegfx ANIM_TAG_WHIP_HIT
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 40, 1
delay 6
playsewithpan SE_W010, SOUND_PAN_TARGET
createsprite gVineWhipSpriteTemplate, ANIM_TARGET, 2, -16, 0
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
@middle fountain (also continues left fountain)
playsewithpan SE_W010, SOUND_PAN_TARGET
createsprite gVineWhipSpriteTemplate, ANIM_TARGET, 2, 0, 0
createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 11, RGB_GREEN
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 37, 1
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
@right fountain (also continues middle and left fountains)
playsewithpan SE_W010, SOUND_PAN_TARGET
createsprite gVineWhipSpriteTemplate, ANIM_TARGET, 2, 16, 0
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 24, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2
createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2
delay 4
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
Move_VOLT_SWITCH:
@ -5171,6 +5527,24 @@ Move_STICKY_WEB:
end
Move_FELL_STINGER:
loadspritegfx ANIM_TAG_NEEDLE
loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
monbgprio_28 ANIM_TARGET
fadetobg BG_DARK
waitbgfadein
delay 0
playsewithpan SE_W013B, SOUND_PAN_ATTACKER
createsprite gLinearStingerSpriteTemplate, ANIM_TARGET, 2, 20, 0, -8, 0, 20
waitforvisualfinish
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 2
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 5, 1
playsewithpan SE_W030, SOUND_PAN_TARGET
waitforvisualfinish
delay 1
restorebg
waitbgfadein
clearmonbg ANIM_TARGET
end
Move_PHANTOM_FORCE:
@ -5314,6 +5688,33 @@ Move_TOPSY_TURVY:
end
Move_DRAINING_KISS:
loadspritegfx ANIM_TAG_ORBS
loadspritegfx ANIM_TAG_BLUE_STAR
loadspritegfx ANIM_TAG_IMPACT
loadspritegfx ANIM_TAG_RED_HEART
loopsewithpan SE_W204, SOUND_PAN_ATTACKER, 12, 3
createvisualtask AnimTask_SwayMon, 5, 0, 12, 4096, 4, ANIM_ATTACKER
delay 15
createsprite gRedHeartProjectileSpriteTemplate, ANIM_TARGET, 3, 20, -8
waitforvisualfinish
playsewithpan SE_W213, SOUND_PAN_TARGET
createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, 160, -32
createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, -256, -40
createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, 128, -16
createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, 416, -38
createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, -128, -22
createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, -384, -31
waitforvisualfinish
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 2
delay 5
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 5, 1
waitforvisualfinish
delay 3
call AbsorbEffect
waitforvisualfinish
delay 15
call HealingEffect
waitforvisualfinish
end
Move_CRAFTY_SHIELD:
@ -5394,7 +5795,7 @@ Move_FAIRY_LOCK:
end
Move_KINGS_SHIELD:
end
goto Move_PROTECT
Move_PLAY_NICE:
end

View File

@ -776,6 +776,8 @@ const union AnimCmd *const gRazorLeafParticleAnimTable[] =
gRazorLeafParticleAnimCmds2,
};
void AnimFlyUpTarget(struct Sprite *sprite);
const struct SpriteTemplate gRazorLeafParticleSpriteTemplate =
{
.tileTag = ANIM_TAG_LEAF,
@ -787,6 +789,17 @@ const struct SpriteTemplate gRazorLeafParticleSpriteTemplate =
.callback = AnimRazorLeafParticle,
};
const struct SpriteTemplate gGrassPledgeSpriteTemplate =
{
.tileTag = ANIM_TAG_LEAF,
.paletteTag = ANIM_TAG_LEAF,
.oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gRazorLeafParticleAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimFlyUpTarget,
};
const struct SpriteTemplate gTwisterLeafSpriteTemplate =
{
.tileTag = ANIM_TAG_LEAF,

View File

@ -21,6 +21,8 @@ static void AnimWaterBubbleProjectile_Step2(struct Sprite *);
static void AnimWaterBubbleProjectile_Step3(struct Sprite *);
static void AnimAuroraBeamRings(struct Sprite *);
static void AnimAuroraBeamRings_Step(struct Sprite *);
void AnimFlyUpTarget(struct Sprite *);
static void AnimFlyUpTarget_Step(struct Sprite *);
static void AnimToTargetInSinWave(struct Sprite *);
static void AnimToTargetInSinWave_Step(struct Sprite *);
static void AnimHydroCannonCharge(struct Sprite *);
@ -191,6 +193,17 @@ const struct SpriteTemplate gHydroPumpOrbSpriteTemplate =
.callback = AnimToTargetInSinWave,
};
const struct SpriteTemplate gWaterPledgeOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_WATER_ORB,
.paletteTag = ANIM_TAG_WATER_ORB,
.oam = &gOamData_AffineOff_ObjBlend_16x16,
.anims = gAnims_WaterMudOrb,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimFlyUpTarget,
};
const struct SpriteTemplate gMudShotOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_BROWN_ORB,
@ -248,6 +261,17 @@ const struct SpriteTemplate gFlamethrowerFlameSpriteTemplate =
.callback = AnimToTargetInSinWave,
};
const struct SpriteTemplate gFirePledgeSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
.oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = sAnims_FlamethrowerFlame,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimFlyUpTarget,
};
const struct SpriteTemplate gPsywaveRingSpriteTemplate =
{
.tileTag = ANIM_TAG_BLUE_RING,
@ -854,6 +878,27 @@ _081075DE:\n\
}
#endif
void AnimFlyUpTarget(struct Sprite *sprite)
{
InitSpritePosToAnimTarget(sprite, TRUE);
sprite->pos2.y += GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_HEIGHT) / 2;
sprite->pos2.y += gBattleAnimArgs[1];
sprite->data[0] = gBattleAnimArgs[2]; //max y offset
sprite->data[1] = gBattleAnimArgs[3]; //speed
sprite->callback = AnimFlyUpTarget_Step;
sprite->callback(sprite);
}
static void AnimFlyUpTarget_Step(struct Sprite *sprite)
{
if(sprite->pos2.y <= sprite->data[0])
{
DestroyAnimSprite(sprite);
return;
}
sprite->pos2.y -= sprite->data[1];
}
// For animating undulating beam attacks (e.g. Flamethrower, Hydro Pump, Signal Beam)
static void AnimToTargetInSinWave(struct Sprite *sprite)
{