some gen 9 move anims + fickle beam rework (#5159)
* new move anims + fickle beam rework * more fickle beam changes * removed the true for consistency * ficklebeamboosted gets cleared now * mortal spin and thunderclap changes * minor mortal spin pal change * removed hex numbers and made hard press quicker
This commit is contained in:
parent
00f8a4db15
commit
fde85e9357
21 changed files with 786 additions and 18 deletions
|
@ -1670,6 +1670,10 @@
|
|||
callnative BS_DamageToQuarterTargetHP
|
||||
.endm
|
||||
|
||||
.macro ficklebeamdamagecalculation
|
||||
callnative BS_FickleBeamDamageCalculation
|
||||
.endm
|
||||
|
||||
@ various command changed to more readable macros
|
||||
.macro cancelmultiturnmoves battler:req
|
||||
various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES
|
||||
|
|
|
@ -16219,6 +16219,12 @@ Move_RAGING_BULL::
|
|||
loadspritegfx ANIM_TAG_IMPACT
|
||||
loadspritegfx ANIM_TAG_ANGER
|
||||
loadspritegfx ANIM_TAG_BREATH
|
||||
loadspritegfx ANIM_TAG_BLUE_LIGHT_WALL
|
||||
loadspritegfx ANIM_TAG_TORN_METAL
|
||||
choosetwoturnanim RagingBullNormal, RagingBullShatteredWall
|
||||
RagingBullNormal:
|
||||
monbg ANIM_TARGET
|
||||
setalpha 12, 8
|
||||
createsprite gBreathPuffSpriteTemplate, ANIM_ATTACKER, 2
|
||||
loopsewithpan SE_M_SWAGGER, SOUND_PAN_ATTACKER, 4, 2
|
||||
createsprite gAngerMarkSpriteTemplate, ANIM_ATTACKER, 2, 0, -20, -28
|
||||
|
@ -16250,6 +16256,49 @@ Move_RAGING_BULL::
|
|||
waitforvisualfinish
|
||||
restorebg
|
||||
waitbgfadein
|
||||
clearmonbg ANIM_TARGET
|
||||
end
|
||||
RagingBullShatteredWall:
|
||||
monbg ANIM_TARGET
|
||||
setalpha 12, 8
|
||||
createsprite gBreathPuffSpriteTemplate, ANIM_ATTACKER, 2
|
||||
loopsewithpan SE_M_SWAGGER, SOUND_PAN_ATTACKER, 4, 2
|
||||
createsprite gAngerMarkSpriteTemplate, ANIM_ATTACKER, 2, 0, -20, -28
|
||||
delay 20
|
||||
createsprite gAngerMarkSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, -28
|
||||
waitforvisualfinish
|
||||
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 18, 6, 2, 4
|
||||
waitforvisualfinish
|
||||
playsewithpan SE_M_SWIFT, SOUND_PAN_ATTACKER
|
||||
call SetImpactBackground
|
||||
createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 0, 0, 4
|
||||
delay 3
|
||||
waitforvisualfinish
|
||||
createsprite gBrickBreakWallSpriteTemplate, ANIM_ATTACKER, 3, ANIM_TARGET, 0, 0, 90, 10
|
||||
playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_TARGET
|
||||
createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, -10, 0, ANIM_TARGET, 0
|
||||
createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -32, 0, 0, 3
|
||||
delay 20
|
||||
createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, ANIM_ATTACKER, 0
|
||||
createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, ANIM_TARGET, 0
|
||||
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 4, 0, 12, 1
|
||||
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1
|
||||
delay 20
|
||||
createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, ANIM_ATTACKER, 1
|
||||
createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, ANIM_TARGET, 1
|
||||
waitforvisualfinish
|
||||
createsprite gBrickBreakWallShardSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0, -8, -12
|
||||
createsprite gBrickBreakWallShardSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 1, 8, -12
|
||||
createsprite gBrickBreakWallShardSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 2, -8, 12
|
||||
createsprite gBrickBreakWallShardSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 3, 8, 12
|
||||
playsewithpan SE_M_BRICK_BREAK, SOUND_PAN_TARGET
|
||||
createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 5
|
||||
delay 3
|
||||
createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 7
|
||||
waitforvisualfinish
|
||||
restorebg
|
||||
waitbgfadein
|
||||
clearmonbg ANIM_TARGET
|
||||
end
|
||||
|
||||
@ Credits to Z-nogyroP. Simple anim that combines Force Palm + Fake Out
|
||||
|
@ -17013,44 +17062,597 @@ Move_AXE_KICK::
|
|||
createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 4
|
||||
end
|
||||
|
||||
Move_SPIN_OUT::
|
||||
loadspritegfx ANIM_TAG_IMPACT
|
||||
loadspritegfx ANIM_TAG_RAPID_SPIN
|
||||
loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2
|
||||
createvisualtask AnimTask_MetallicShine, 5, 0, 0, RGB_BLACK
|
||||
waitforvisualfinish
|
||||
call SetHighSpeedBg
|
||||
loopsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER, 8, 3
|
||||
waitforvisualfinish
|
||||
monbg ANIM_ATTACKER
|
||||
createsprite gRapidSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 32, -32, 40, -2
|
||||
createvisualtask AnimTask_RapinSpinMonElevation, 2, 0, 2, 0
|
||||
loopsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER, 8, 4
|
||||
waitforvisualfinish
|
||||
createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, ANIM_TARGET, 2
|
||||
createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 2, FALSE, 1, 10, 1, 0
|
||||
playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET
|
||||
waitforvisualfinish
|
||||
delay 8
|
||||
createvisualtask AnimTask_RapinSpinMonElevation, 2, 0, 2, 1
|
||||
loopsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER, 8, 4
|
||||
waitforvisualfinish
|
||||
call UnsetHighSpeedBg
|
||||
clearmonbg ANIM_ATTACKER
|
||||
end
|
||||
|
||||
Move_MORTAL_SPIN::
|
||||
loadspritegfx ANIM_TAG_IMPACT
|
||||
loadspritegfx ANIM_TAG_RAPID_SPIN
|
||||
loadspritegfx ANIM_TAG_POISON_BUBBLE
|
||||
createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_RAPID_SPIN, 0, 6, 6, RGB(15, 0, 15)
|
||||
monbg ANIM_ATTACKER
|
||||
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_ATTACKER, 1, 0, 13, RGB(10, 2, 19)
|
||||
delay 16
|
||||
createsprite gRapidSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 32, -32, 40, -2
|
||||
createvisualtask AnimTask_RapinSpinMonElevation, 2, 0, 2, 0
|
||||
loopsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER, 8, 4
|
||||
waitforvisualfinish
|
||||
createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, ANIM_TARGET, 2
|
||||
createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 2, FALSE, 1, 10, 1, 0
|
||||
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_ATTACKER, 1, 13, 0, RGB(10, 2, 19)
|
||||
call PoisonBubblesEffect
|
||||
waitforvisualfinish
|
||||
delay 8
|
||||
createvisualtask AnimTask_RapinSpinMonElevation, 2, 0, 2, 1
|
||||
loopsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER, 8, 4
|
||||
waitforvisualfinish
|
||||
clearmonbg ANIM_ATTACKER
|
||||
blendoff
|
||||
end
|
||||
|
||||
Move_FILLET_AWAY::
|
||||
loadspritegfx ANIM_TAG_CUT
|
||||
createsprite gCuttingSliceSpriteTemplate, ANIM_ATTACKER, 2, 40, -32, 0
|
||||
playsewithpan SE_M_CUT, SOUND_PAN_ATTACKER
|
||||
delay 5
|
||||
createsprite gCuttingSliceSpriteTemplate, ANIM_ATTACKER, 2, 20, -27, 0
|
||||
playsewithpan SE_M_CUT, SOUND_PAN_ATTACKER
|
||||
delay 5
|
||||
createsprite gCuttingSliceSpriteTemplate, ANIM_ATTACKER, 2, 60, -37, 0
|
||||
playsewithpan SE_M_CUT, SOUND_PAN_ATTACKER
|
||||
waitforvisualfinish
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_ATTACKER, 2, 0, 9, 0x7FFF
|
||||
waitforvisualfinish
|
||||
createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 2, 4, 4
|
||||
waitforvisualfinish
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_ATTACKER, 2, 9, 0, 0x7FFF
|
||||
waitforvisualfinish
|
||||
blendoff
|
||||
end
|
||||
|
||||
Move_FLOWER_TRICK::
|
||||
loadspritegfx ANIM_TAG_SPOTLIGHT
|
||||
loadspritegfx ANIM_TAG_LEAF @leaves
|
||||
loadspritegfx ANIM_TAG_FLOWER @flowers
|
||||
loadspritegfx ANIM_TAG_IMPACT
|
||||
createvisualtask AnimTask_CreateSpotlight, 2
|
||||
createvisualtask AnimTask_HardwarePaletteFade, 2, (BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN), 3, 0, 10, FALSE
|
||||
waitforvisualfinish
|
||||
createsprite gSpotlightSpriteTemplate, ANIM_TARGET, 2, 0, -8
|
||||
delay 16
|
||||
createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_M_ENCORE2, SOUND_PAN_TARGET
|
||||
createvisualtask AnimTask_SwayMon, 5, 1, 8, 1536, 5, ANIM_TARGET
|
||||
waitforvisualfinish
|
||||
playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET
|
||||
createsprite gTropKickLeavesTemplate, ANIM_TARGET, 1, 0, 10, 192, 176, 40
|
||||
createsprite gTropKickLeavesTemplate, ANIM_TARGET, 1, 0, 10, -192, 240, 40
|
||||
createsprite gTropKickFlowerTemplate, ANIM_TARGET, 1, 0, 10, 192, -160, 40
|
||||
createsprite gTropKickFlowerTemplate, ANIM_TARGET, 1, 0, 10, -192, -112, 40
|
||||
createsprite gTropKickFlowerTemplate, 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
|
||||
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 2
|
||||
waitforvisualfinish
|
||||
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
|
||||
waitforvisualfinish
|
||||
createvisualtask AnimTask_HardwarePaletteFade, 2, (BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN), 3, 10, 0, TRUE
|
||||
createvisualtask AnimTask_RemoveSpotlight, 2
|
||||
end
|
||||
|
||||
Move_MAKE_IT_RAIN::
|
||||
loadspritegfx ANIM_TAG_COIN
|
||||
loadspritegfx ANIM_TAG_IMPACT
|
||||
monbg ANIM_ATTACKER
|
||||
setalpha 12, 8
|
||||
playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER
|
||||
createsprite gCoinThrowSpriteTemplate, ANIM_ATTACKER, 2, 20, 0, 0, 0, 1152
|
||||
waitforvisualfinish
|
||||
playsewithpan SE_M_PAY_DAY, SOUND_PAN_TARGET
|
||||
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, 0, 0, ANIM_TARGET, 2
|
||||
createsprite gFallingCoinSpriteTemplate, ANIM_ATTACKER, 2
|
||||
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1
|
||||
waitforvisualfinish
|
||||
delay 20
|
||||
createvisualtask AnimTask_IsTargetPlayerSide, 2
|
||||
jumpretfalse MakingItRainOnOpponent
|
||||
jumprettrue MakingItRainOnPlayer
|
||||
MakingItRainContinue:
|
||||
waitbgfadeout
|
||||
createsprite gShakeMonOrTerrainSpriteTemplate, ANIM_ATTACKER, 2, 7, 1, 11, 1
|
||||
loopsewithpan SE_M_PAY_DAY, SOUND_PAN_TARGET, 8, 15
|
||||
createsprite gMakingItRainTemplate, ANIM_TARGET, 2, -5, 0, -5, 1
|
||||
delay 2
|
||||
createsprite gMakingItRainTemplate, ANIM_TARGET, 2, 5, 0, 6, 1
|
||||
delay 2
|
||||
createsprite gMakingItRainTemplate, ANIM_TARGET, 2, 19, 0, 10, 1
|
||||
delay 2
|
||||
createsprite gMakingItRainTemplate, ANIM_TARGET, 2, -23, 0, -10, 1
|
||||
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 5, 50, 1
|
||||
createvisualtask AnimTask_ShakeMon, 2, ANIM_DEF_PARTNER, 0, 5, 50, 1
|
||||
call MakingItRain
|
||||
call MakingItRain
|
||||
call MakingItRain
|
||||
restorebg
|
||||
waitbgfadein
|
||||
blendoff
|
||||
waitforvisualfinish
|
||||
clearmonbg ANIM_ATTACKER
|
||||
end
|
||||
MakingItRainOnOpponent:
|
||||
fadetobg BG_IMPACT_OPPONENT
|
||||
goto MakingItRainContinue
|
||||
MakingItRainOnPlayer:
|
||||
fadetobg BG_IMPACT_PLAYER
|
||||
goto MakingItRainContinue
|
||||
MakingItRain:
|
||||
createsprite gMakingItRainTemplate, ANIM_TARGET, 2, -20, 0, -10, 1
|
||||
delay 2
|
||||
createsprite gMakingItRainTemplate, ANIM_TARGET, 2, 28, 0, 10, 1
|
||||
delay 2
|
||||
createsprite gMakingItRainTemplate, ANIM_TARGET, 2, -10, 0, -5, 1
|
||||
delay 2
|
||||
createsprite gMakingItRainTemplate, ANIM_TARGET, 2, 10, 0, 6, 1
|
||||
delay 2
|
||||
createsprite gMakingItRainTemplate, ANIM_TARGET, 2, 24, 0, 10, 1
|
||||
delay 2
|
||||
createsprite gMakingItRainTemplate, ANIM_TARGET, 2, -32, 0, -10, 1
|
||||
delay 2
|
||||
createsprite gMakingItRainTemplate, ANIM_TARGET, 2, -20, 0, -10, 1
|
||||
delay 2
|
||||
createsprite gMakingItRainTemplate, ANIM_TARGET, 2, 30, 0, 10, 1
|
||||
delay 2
|
||||
return
|
||||
|
||||
Move_SHED_TAIL::
|
||||
loopsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER, 24, 3
|
||||
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 4, 2, 3
|
||||
waitforvisualfinish
|
||||
playsewithpan SE_M_ATTRACT, SOUND_PAN_ATTACKER
|
||||
createvisualtask AnimTask_MonToSubstitute, 2
|
||||
end
|
||||
|
||||
Move_HYPER_DRILL::
|
||||
loadspritegfx ANIM_TAG_IMPACT
|
||||
loadspritegfx ANIM_TAG_HORN_HIT
|
||||
fadetobgfromset BG_GUILLOTINE_OPPONENT, BG_GUILLOTINE_PLAYER, BG_GUILLOTINE_CONTESTS
|
||||
waitbgfadein
|
||||
createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0
|
||||
playsewithpan SE_M_HEADBUTT, SOUND_PAN_ATTACKER
|
||||
waitforvisualfinish
|
||||
delay 2
|
||||
createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 1
|
||||
createsprite gHornHitSpriteTemplate, ANIM_TARGET, 4, 0, 0, 12
|
||||
waitforvisualfinish
|
||||
playse 20
|
||||
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 40, 1
|
||||
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 10, 0, 40, 1
|
||||
createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 3
|
||||
playsewithpan SE_M_HORN_ATTACK, SOUND_PAN_TARGET
|
||||
delay 4
|
||||
createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 2, 1, 3
|
||||
playsewithpan SE_M_HORN_ATTACK, SOUND_PAN_TARGET
|
||||
delay 4
|
||||
createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, -4, 3, 1, 3
|
||||
playsewithpan SE_M_HORN_ATTACK, SOUND_PAN_TARGET
|
||||
delay 4
|
||||
createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, -8, -5, 1, 3
|
||||
playsewithpan SE_M_HORN_ATTACK, SOUND_PAN_TARGET
|
||||
delay 4
|
||||
createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 4, -12, 1, 3
|
||||
playsewithpan SE_M_HORN_ATTACK, SOUND_PAN_TARGET
|
||||
delay 4
|
||||
createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 16, 0, 1, 3
|
||||
playsewithpan SE_M_HORN_ATTACK, SOUND_PAN_TARGET
|
||||
delay 4
|
||||
createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 5, 18, 1, 3
|
||||
playsewithpan SE_M_HORN_ATTACK, SOUND_PAN_TARGET
|
||||
delay 4
|
||||
createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, -17, 12, 1, 2
|
||||
playsewithpan SE_M_HORN_ATTACK, SOUND_PAN_TARGET
|
||||
delay 4
|
||||
createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, -21, -15, 1, 2
|
||||
playsewithpan SE_M_HORN_ATTACK, SOUND_PAN_TARGET
|
||||
delay 4
|
||||
createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 8, -27, 1, 2
|
||||
playsewithpan SE_M_HORN_ATTACK, SOUND_PAN_TARGET
|
||||
delay 4
|
||||
createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 32, 0, 1, 2
|
||||
playsewithpan SE_M_HORN_ATTACK, SOUND_PAN_TARGET
|
||||
delay 4
|
||||
createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 2
|
||||
createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG | F_PAL_BATTLERS, 3, 1, RGB_BLACK, 8, RGB_BLACK, 0
|
||||
playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET
|
||||
waitforvisualfinish
|
||||
createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG | F_PAL_BATTLERS, 3, 1, RGB_BLACK, 8, RGB_BLACK, 0
|
||||
restorebg
|
||||
waitbgfadein
|
||||
blendoff
|
||||
end
|
||||
|
||||
Move_TWIN_BEAM::
|
||||
loadspritegfx ANIM_TAG_BLUE_RING
|
||||
loadspritegfx ANIM_TAG_GOLD_RING
|
||||
playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER
|
||||
call SetPsychicBackground
|
||||
createvisualtask AnimTask_StartSinAnimTimer, 5, 100
|
||||
createsoundtask SoundTask_LoopSEAdjustPanning, SE_M_TELEPORT, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 2, 9, 0, 10
|
||||
call PsywaveRings
|
||||
call PsybeamRings
|
||||
call PsywaveRings
|
||||
call PsybeamRings
|
||||
createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 1, 4, 0, 12, RGB(31, 18, 31)
|
||||
call PsywaveRings
|
||||
call PsybeamRings
|
||||
call PsywaveRings
|
||||
call PsybeamRings
|
||||
call PsywaveRings
|
||||
call PsybeamRings
|
||||
call PsywaveRings
|
||||
call PsybeamRings
|
||||
waitforvisualfinish
|
||||
delay 1
|
||||
call UnsetPsychicBg
|
||||
end
|
||||
|
||||
Move_COMEUPPANCE::
|
||||
loadspritegfx ANIM_TAG_IMPACT
|
||||
monbg ANIM_TARGET
|
||||
fadetobg BG_DARK
|
||||
waitbgfadein
|
||||
delay 0
|
||||
playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER
|
||||
createvisualtask AnimTask_ShakeMon2, 5, ANIM_ATTACKER, 1, 0, 15, 1
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_ATTACKER, 3, 0, 9, RGB_RED
|
||||
waitforvisualfinish
|
||||
delay 10
|
||||
createvisualtask AnimTask_SwayMon, 5, 0, 16, 6144, 8, ANIM_ATTACKER
|
||||
delay 5
|
||||
setalpha 12, 8
|
||||
createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 30, 1
|
||||
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 0
|
||||
playsewithpan SE_M_COMET_PUNCH, +63
|
||||
delay 5
|
||||
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 24, 8, 1, 0
|
||||
playsewithpan SE_M_COMET_PUNCH, +63
|
||||
delay 5
|
||||
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -24, -16, 1, 0
|
||||
playsewithpan SE_M_COMET_PUNCH, +63
|
||||
delay 5
|
||||
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 8, 4, 1, 0
|
||||
playsewithpan SE_M_COMET_PUNCH, +63
|
||||
delay 5
|
||||
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -16, 19, 1, 0
|
||||
playsewithpan SE_M_COMET_PUNCH, +63
|
||||
delay 5
|
||||
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 18, -18, 1, 0
|
||||
playsewithpan SE_M_COMET_PUNCH, +63
|
||||
waitforvisualfinish
|
||||
clearmonbg ANIM_TARGET
|
||||
blendoff
|
||||
restorebg
|
||||
waitbgfadein
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_ATTACKER, 3, 9, 0, RGB_RED
|
||||
waitforvisualfinish
|
||||
clearmonbg ANIM_DEF_PARTNER
|
||||
end
|
||||
|
||||
Move_BLOOD_MOON::
|
||||
loadspritegfx ANIM_TAG_BLOOD_MOON
|
||||
loadspritegfx ANIM_TAG_BEAM
|
||||
loadspritegfx ANIM_TAG_RED_EXPLOSION
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 5, F_PAL_BG, 0, 16, 16, RGB_BLACK
|
||||
createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 8, 1, ANIM_ATTACKER
|
||||
delay 8
|
||||
playsewithpan SE_M_BARRIER, SOUND_PAN_ATTACKER
|
||||
createsprite gMoonUpSpriteTemplate, ANIM_ATTACKER, 2
|
||||
waitforvisualfinish
|
||||
delay 15
|
||||
playsewithpan SE_M_DETECT, 0
|
||||
waitforvisualfinish
|
||||
createvisualtask AnimTask_IsTargetPlayerSide, 2
|
||||
jumpargeq 7 ANIM_TARGET BloodMoonOnPlayer
|
||||
BloodMoonOnOpponent:
|
||||
createsoundtask SoundTask_LoopSEAdjustPanning, SE_M_HYPER_BEAM2, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 1, 10, 0, 5
|
||||
call BloodMoonOnslaughtOpponent
|
||||
call BloodMoonOnslaughtOpponent
|
||||
call BloodMoonOnslaughtOpponent
|
||||
call BloodMoonOnslaughtOpponent
|
||||
call BloodMoonOnslaughtOpponent
|
||||
createsprite gBloodMoonOnslaughtSpriteTemplate, ANIM_TARGET, 2, 140, -16, 165, 40, 4
|
||||
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1
|
||||
createsprite gRedExplosionSpriteTemplate, ANIM_TARGET, 4, 6, 5, 1, 0
|
||||
delay 0
|
||||
waitforvisualfinish
|
||||
goto BloodMoonFinish
|
||||
BloodMoonOnPlayer:
|
||||
createsoundtask SoundTask_LoopSEAdjustPanning, SE_M_HYPER_BEAM2, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 1, 10, 0, 5
|
||||
call BloodMoonOnslaughtPlayer
|
||||
call BloodMoonOnslaughtPlayer
|
||||
call BloodMoonOnslaughtPlayer
|
||||
call BloodMoonOnslaughtPlayer
|
||||
call BloodMoonOnslaughtPlayer
|
||||
createsprite gBloodMoonOnslaughtSpriteTemplate, ANIM_TARGET, 2, 40, -16, 75, 80, 4
|
||||
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1
|
||||
delay 0
|
||||
waitforvisualfinish
|
||||
BloodMoonFinish:
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 5, F_PAL_BG, 0, 0, 0, RGB_BLACK
|
||||
waitforvisualfinish
|
||||
clearmonbg ANIM_ATTACKER
|
||||
end
|
||||
BloodMoonOnslaughtOpponent:
|
||||
createsprite gBloodMoonOnslaughtSpriteTemplate, ANIM_TARGET, 2, 140, -16, 165, 40, 4
|
||||
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1
|
||||
createsprite gRedExplosionSpriteTemplate, ANIM_TARGET, 4, 6, 5, 1, 0
|
||||
delay 0
|
||||
createsprite gBloodMoonOnslaughtSpriteTemplate, ANIM_TARGET, 2, 140, -16, 165, 40, 4
|
||||
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1
|
||||
createsprite gRedExplosionSpriteTemplate, ANIM_TARGET, 4, -16, -15, 1, 0
|
||||
delay 0
|
||||
createsprite gBloodMoonOnslaughtSpriteTemplate, ANIM_TARGET, 2, 140, -16, 165, 40, 4
|
||||
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1
|
||||
createsprite gRedExplosionSpriteTemplate, ANIM_TARGET, 4, 16, -5, 1, 0
|
||||
delay 0
|
||||
createsprite gBloodMoonOnslaughtSpriteTemplate, ANIM_TARGET, 2, 140, -16, 165, 40, 4
|
||||
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1
|
||||
createsprite gRedExplosionSpriteTemplate, ANIM_TARGET, 4, -12, 18, 1, 0
|
||||
delay 0
|
||||
createsprite gBloodMoonOnslaughtSpriteTemplate, ANIM_TARGET, 2, 140, -16, 165, 40, 4
|
||||
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1
|
||||
createsprite gRedExplosionSpriteTemplate, ANIM_TARGET, 4, 0, 5, 1, 0
|
||||
delay 0
|
||||
return
|
||||
BloodMoonOnslaughtPlayer:
|
||||
createsprite gBloodMoonOnslaughtSpriteTemplate, ANIM_TARGET, 2, 40, -16, 75, 80, 4
|
||||
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1
|
||||
createsprite gRedExplosionSpriteTemplate, ANIM_TARGET, 4, 6, 5, 1, 0
|
||||
delay 0
|
||||
createsprite gBloodMoonOnslaughtSpriteTemplate, ANIM_TARGET, 2, 40, -16, 75, 80, 4
|
||||
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1
|
||||
createsprite gRedExplosionSpriteTemplate, ANIM_TARGET, 4, -16, -15, 1, 0
|
||||
delay 0
|
||||
createsprite gBloodMoonOnslaughtSpriteTemplate, ANIM_TARGET, 2, 40, -16, 75, 80, 4
|
||||
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1
|
||||
createsprite gRedExplosionSpriteTemplate, ANIM_TARGET, 4, 16, -5, 1, 0
|
||||
delay 0
|
||||
createsprite gBloodMoonOnslaughtSpriteTemplate, ANIM_TARGET, 2, 40, -16, 75, 80, 4
|
||||
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1
|
||||
createsprite gRedExplosionSpriteTemplate, ANIM_TARGET, 4, -12, 18, 1, 0
|
||||
delay 0
|
||||
createsprite gBloodMoonOnslaughtSpriteTemplate, ANIM_TARGET, 2, 40, -16, 75, 80, 4
|
||||
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1
|
||||
createsprite gRedExplosionSpriteTemplate, ANIM_TARGET, 4, 0, 5, 1, 0
|
||||
delay 0
|
||||
return
|
||||
|
||||
Move_FICKLE_BEAM::
|
||||
createvisualtask AnimTask_IsPowerOver99, 2
|
||||
waitforvisualfinish
|
||||
jumpreteq FALSE, FickleBeamRegular
|
||||
jumpreteq TRUE, FickleBeamIntense
|
||||
FickleBeamRegular:
|
||||
loadspritegfx ANIM_TAG_GOLD_RING
|
||||
playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER
|
||||
createsoundtask SoundTask_LoopSEAdjustPanning, SE_M_PSYBEAM2, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 3, 4, 0, 15
|
||||
call PsybeamRings
|
||||
call PsybeamRings
|
||||
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 4, 25, 1
|
||||
createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 2, 2, 0, 12, RGB(15, 8, 30)
|
||||
call PsybeamRings
|
||||
call PsybeamRings
|
||||
call PsybeamRings
|
||||
call PsybeamRings
|
||||
call PsybeamRings
|
||||
call PsybeamRings
|
||||
call PsybeamRings
|
||||
call PsybeamRings
|
||||
call PsybeamRings
|
||||
waitforvisualfinish
|
||||
end
|
||||
FickleBeamIntense:
|
||||
loadspritegfx ANIM_TAG_ORBS
|
||||
fadetobgfromset BG_SPACIAL_REND_ON_OPPONENT BG_SPACIAL_REND_ON_PLAYER BG_SPACIAL_REND_ON_OPPONENT
|
||||
waitbgfadein
|
||||
delay 10
|
||||
playsewithpan SE_M_HYPER_BEAM, SOUND_PAN_ATTACKER
|
||||
createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 4, 1
|
||||
waitforvisualfinish
|
||||
delay 30
|
||||
createsoundtask SoundTask_LoopSEAdjustPanning, SE_M_HYPER_BEAM2, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 1, 15, 0, 5
|
||||
createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 4, 50, 1
|
||||
createvisualtask AnimTask_FlashAnimTagWithColor, 2, ANIM_TAG_ORBS, 1, 12, RGB_RED, 16, 0, 0
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 50, 1
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
call HyperBeamOrbs
|
||||
waitforvisualfinish
|
||||
restorebg
|
||||
waitbgfadein
|
||||
end
|
||||
|
||||
Move_THUNDERCLAP::
|
||||
loadspritegfx ANIM_TAG_LIGHTNING
|
||||
monbg ANIM_ATK_PARTNER
|
||||
setalpha 12, 8
|
||||
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
|
||||
playsewithpan SE_M_THUNDER_WAVE, SOUND_PAN_TARGET
|
||||
delay 1
|
||||
createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0, -32
|
||||
playsewithpan SE_M_TRI_ATTACK2, SOUND_PAN_TARGET
|
||||
delay 1
|
||||
createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0, -16
|
||||
delay 1
|
||||
createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0, 0
|
||||
delay 1
|
||||
createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0, 16
|
||||
delay 10
|
||||
createvisualtask AnimTask_ShakeTargetInPattern, 2, 30, 3, TRUE, 0
|
||||
delay 2
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 5, F_PAL_BG, 3, 16, 0, RGB_WHITE
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 5, F_PAL_TARGET, 0, 16, 16, RGB_BLACK
|
||||
delay 4
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 5, F_PAL_TARGET, 0, 0, 0, RGB_BLACK
|
||||
waitforvisualfinish
|
||||
clearmonbg ANIM_ATK_PARTNER
|
||||
blendoff
|
||||
waitforvisualfinish
|
||||
end
|
||||
|
||||
Move_HARD_PRESS::
|
||||
loadspritegfx ANIM_TAG_EXPLOSION
|
||||
loadspritegfx ANIM_TAG_ACUPRESSURE
|
||||
loadspritegfx ANIM_TAG_PURPLE_HAND_OUTLINE
|
||||
setalpha 15, 0
|
||||
call SetSteelBeamBackground
|
||||
createvisualtask AnimTask_CompressTargetHorizontallyFast, 2
|
||||
createsprite gCrushGripExplosionTemplate, ANIM_TARGET, 0, 0, 0, 1, 1
|
||||
delay 3
|
||||
playsewithpan SE_M_EXPLOSION, SOUND_PAN_ATTACKER
|
||||
createsprite gCrushGripExplosionTemplate, ANIM_TARGET, 0, 24, -24, 1, 1
|
||||
delay 3
|
||||
playsewithpan SE_M_EXPLOSION, SOUND_PAN_ATTACKER
|
||||
createsprite gCrushGripExplosionTemplate, ANIM_TARGET, 0, -16, 16, 1, 1
|
||||
delay 3
|
||||
playsewithpan SE_M_EXPLOSION, SOUND_PAN_ATTACKER
|
||||
createsprite gCrushGripExplosionTemplate, ANIM_TARGET, 0, -24, -12, 1, 1
|
||||
delay 3
|
||||
playsewithpan SE_M_EXPLOSION, SOUND_PAN_ATTACKER
|
||||
createsprite gCrushGripExplosionTemplate, ANIM_TARGET, 0, 16, 16, 1, 1
|
||||
waitforvisualfinish
|
||||
blendoff
|
||||
call UnsetHighSpeedBg
|
||||
end
|
||||
|
||||
Move_DRAGON_CHEER::
|
||||
loadspritegfx ANIM_TAG_NOISE_LINE
|
||||
loadspritegfx ANIM_TAG_CONFETTI
|
||||
loadspritegfx ANIM_TAG_PINK_CLOUD
|
||||
createvisualtask AnimTask_DeepInhale, 2, ANIM_ATTACKER
|
||||
delay 12
|
||||
call RoarEffect
|
||||
createvisualtask SoundTask_PlayCryHighPitch, 2, ANIM_ATTACKER, 3
|
||||
waitforvisualfinish
|
||||
monbg ANIM_ATTACKER
|
||||
playsewithpan SE_BALL_OPEN, SOUND_PAN_TARGET
|
||||
createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 122, 3, -14, 18, 24
|
||||
createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 121, 3, 14, 6, 24
|
||||
createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 120, 3, -12, 12, 24
|
||||
createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 119, 3, 14, 18, 24
|
||||
createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 118, 3, 0, 0, 24
|
||||
call CreateFlatterConfetti
|
||||
call CreateFlatterConfetti
|
||||
call CreateFlatterConfetti
|
||||
call CreateFlatterConfetti
|
||||
call CreateFlatterConfetti
|
||||
call CreateFlatterConfetti
|
||||
call CreateFlatterConfetti
|
||||
call CreateFlatterConfetti
|
||||
call CreateFlatterConfetti
|
||||
call CreateFlatterConfetti
|
||||
call CreateFlatterConfetti
|
||||
call CreateFlatterConfetti
|
||||
call CreateFlatterConfetti
|
||||
call CreateFlatterConfetti
|
||||
call CreateFlatterConfetti
|
||||
call CreateFlatterConfetti
|
||||
call CreateFlatterConfetti
|
||||
call CreateFlatterConfetti
|
||||
call CreateFlatterConfetti
|
||||
call CreateFlatterConfetti
|
||||
waitforvisualfinish
|
||||
clearmonbg ANIM_ATTACKER
|
||||
delay 10
|
||||
end
|
||||
|
||||
Move_MALIGNANT_CHAIN::
|
||||
loadspritegfx ANIM_TAG_PURPLE_CHAIN
|
||||
loadspritegfx ANIM_TAG_POISON_BUBBLE
|
||||
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, -1
|
||||
playsewithpan SE_M_BIND, SOUND_PAN_TARGET
|
||||
waitforvisualfinish
|
||||
call PoisonBubblesEffect
|
||||
waitforvisualfinish
|
||||
end
|
||||
|
||||
Move_TERA_BLAST::
|
||||
Move_ORDER_UP::
|
||||
Move_SPIN_OUT::
|
||||
Move_POPULATION_BOMB::
|
||||
Move_GLAIVE_RUSH::
|
||||
Move_REVIVAL_BLESSING::
|
||||
Move_SALT_CURE::
|
||||
Move_TRIPLE_DIVE::
|
||||
Move_MORTAL_SPIN::
|
||||
Move_DOODLE::
|
||||
Move_FILLET_AWAY::
|
||||
Move_FLOWER_TRICK::
|
||||
Move_MAKE_IT_RAIN::
|
||||
Move_RUINATION::
|
||||
Move_COLLISION_COURSE::
|
||||
Move_ELECTRO_DRIFT::
|
||||
Move_SHED_TAIL::
|
||||
Move_HYPER_DRILL::
|
||||
Move_TWIN_BEAM::
|
||||
Move_ARMOR_CANNON::
|
||||
Move_COMEUPPANCE::
|
||||
Move_BLAZING_TORQUE::
|
||||
Move_WICKED_TORQUE::
|
||||
Move_NOXIOUS_TORQUE::
|
||||
Move_COMBAT_TORQUE::
|
||||
Move_MAGICAL_TORQUE::
|
||||
Move_PSYBLADE::
|
||||
Move_BLOOD_MOON::
|
||||
Move_MATCHA_GOTCHA::
|
||||
Move_TERA_STARSTORM::
|
||||
Move_FICKLE_BEAM::
|
||||
Move_THUNDERCLAP::
|
||||
Move_MIGHTY_CLEAVE::
|
||||
Move_TACHYON_CUTTER::
|
||||
Move_HARD_PRESS::
|
||||
Move_DRAGON_CHEER::
|
||||
Move_SUPERCELL_SLAM::
|
||||
Move_MALIGNANT_CHAIN::
|
||||
end @to do
|
||||
|
||||
@@@@@@@@@@@@@@@@@@@@@@@ GEN 1-3 @@@@@@@@@@@@@@@@@@@@@@@
|
||||
|
|
|
@ -30,6 +30,19 @@ BattleScript_DamageToQuarterTargetHP::
|
|||
damagetoquartertargethp
|
||||
goto BattleScript_HitFromAtkAnimation
|
||||
|
||||
BattleScript_EffectFickleBeam::
|
||||
attackcanceler
|
||||
attackstring
|
||||
ppreduce
|
||||
accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE
|
||||
ficklebeamdamagecalculation
|
||||
goto BattleScript_HitFromCritCalc
|
||||
BattleScript_FickleBeamDoubled::
|
||||
pause B_WAIT_TIME_SHORTEST
|
||||
printstring STRINGID_FICKLEBEAMDOUBLED
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
goto BattleScript_HitFromCritCalc
|
||||
|
||||
BattleScript_Terastallization::
|
||||
@ TODO: no string prints in S/V, but right now this helps with clarity
|
||||
printstring STRINGID_PKMNSTORINGENERGY
|
||||
|
|
BIN
graphics/battle_anims/sprites/beam.png
Normal file
BIN
graphics/battle_anims/sprites/beam.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 383 B |
BIN
graphics/battle_anims/sprites/blood_moon.png
Normal file
BIN
graphics/battle_anims/sprites/blood_moon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 714 B |
BIN
graphics/battle_anims/sprites/purple_chain.png
Normal file
BIN
graphics/battle_anims/sprites/purple_chain.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 622 B |
BIN
graphics/battle_anims/sprites/red_explosion.png
Normal file
BIN
graphics/battle_anims/sprites/red_explosion.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 946 B |
|
@ -800,6 +800,7 @@ struct BattleStruct
|
|||
u8 distortedTypeMatchups;
|
||||
u8 categoryOverride; // for Z-Moves and Max Moves
|
||||
u32 stellarBoostFlags[NUM_BATTLE_SIDES]; // stored as a bitfield of flags for all types for each side
|
||||
u8 fickleBeamBoosted:1;
|
||||
};
|
||||
|
||||
// The palaceFlags member of struct BattleStruct contains 1 flag per move to indicate which moves the AI should consider,
|
||||
|
|
|
@ -253,6 +253,7 @@ void AnimParticleBurst(struct Sprite *);
|
|||
void AnimPowerAbsorptionOrb(struct Sprite *sprite);
|
||||
void AnimNeedleArmSpike(struct Sprite *);
|
||||
void AnimTask_CompressTargetHorizontally(u8 taskId);
|
||||
void AnimTask_CompressTargetHorizontallyFast(u8 taskId);
|
||||
void AnimSporeParticle(struct Sprite *sprite);
|
||||
void AnimAbsorptionOrb(struct Sprite *sprite);
|
||||
void AnimPetalDanceSmallFlower(struct Sprite *sprite);
|
||||
|
|
|
@ -843,5 +843,7 @@ extern const u8 BattleScript_EffectUpperHand[];
|
|||
extern const u8 BattleScript_EffectTidyUp[];
|
||||
extern const u8 BattleScript_EffectSpicyExtract[];
|
||||
extern const u8 BattleScript_DamageToQuarterTargetHP[];
|
||||
extern const u8 BattleScript_EffectFickleBeam[];
|
||||
extern const u8 BattleScript_FickleBeamDoubled[];
|
||||
|
||||
#endif // GUARD_BATTLE_SCRIPTS_H
|
||||
|
|
|
@ -412,6 +412,10 @@
|
|||
#define ANIM_TAG_TERA_CRYSTAL (ANIM_SPRITES_START + 398)
|
||||
#define ANIM_TAG_TERA_SHATTER (ANIM_SPRITES_START + 399)
|
||||
#define ANIM_TAG_DREEPY_SHINY (ANIM_SPRITES_START + 400)
|
||||
#define ANIM_TAG_BLOOD_MOON (ANIM_SPRITES_START + 401)
|
||||
#define ANIM_TAG_BEAM (ANIM_SPRITES_START + 402)
|
||||
#define ANIM_TAG_RED_EXPLOSION (ANIM_SPRITES_START + 403)
|
||||
#define ANIM_TAG_PURPLE_CHAIN (ANIM_SPRITES_START + 404)
|
||||
|
||||
// battlers
|
||||
#define ANIM_ATTACKER 0
|
||||
|
|
|
@ -712,8 +712,9 @@
|
|||
#define STRINGID_FOGISDEEP 710
|
||||
#define STRINGID_FOGLIFTED 711
|
||||
#define STRINGID_PKMNMADESHELLGLEAM 712
|
||||
#define STRINGID_FICKLEBEAMDOUBLED 713
|
||||
|
||||
#define BATTLESTRINGS_COUNT 713
|
||||
#define BATTLESTRINGS_COUNT 714
|
||||
|
||||
// This is the string id that gBattleStringsTable starts with.
|
||||
// String ids before this (e.g. STRINGID_INTROMSG) are not in the table,
|
||||
|
|
|
@ -2724,6 +2724,8 @@ extern const u32 gBattleAnimSpritePal_AuraSphere[];
|
|||
extern const u32 gBattleAnimSpritePal_AvalancheRocks[];
|
||||
extern const u32 gBattleAnimSpriteGfx_NewPokeball[];
|
||||
extern const u32 gBattleAnimSpritePal_NewPokeball[];
|
||||
extern const u32 gBattleAnimSpriteGfx_Beam[];
|
||||
extern const u32 gBattleAnimSpritePal_Beam[];
|
||||
extern const u32 gBattleAnimSpriteGfx_BerryEaten[];
|
||||
extern const u32 gBattleAnimSpritePal_BerryEaten[];
|
||||
extern const u32 gBattleAnimSpriteGfx_BerryNormal[];
|
||||
|
@ -2732,6 +2734,8 @@ extern const u32 gBattleAnimSpriteGfx_BigRock[];
|
|||
extern const u32 gBattleAnimSpritePal_BigRock[];
|
||||
extern const u32 gBattleAnimSpriteGfx_BlacephalonHead[];
|
||||
extern const u32 gBattleAnimSpritePal_BlacephalonHead[];
|
||||
extern const u32 gBattleAnimSpriteGfx_BloodMoon[];
|
||||
extern const u32 gBattleAnimSpritePal_BloodMoon[];
|
||||
extern const u32 gBattleAnimSpritePal_BlueFlare[];
|
||||
extern const u32 gBattleAnimSpriteGfx_Branch[];
|
||||
extern const u32 gBattleAnimSpritePal_Branch[];
|
||||
|
@ -2825,12 +2829,16 @@ extern const u32 gBattleAnimSpriteGfx_PoisonColumn[];
|
|||
extern const u32 gBattleAnimSpritePal_PoisonColumn[];
|
||||
extern const u32 gBattleAnimSpriteGfx_PowerTrick[];
|
||||
extern const u32 gBattleAnimSpritePal_PowerTrick[];
|
||||
extern const u32 gBattleAnimSpriteGfx_PurpleChain[];
|
||||
extern const u32 gBattleAnimSpritePal_PurpleChain[];
|
||||
extern const u32 gBattleAnimSpriteGfx_PurpleDrake[];
|
||||
extern const u32 gBattleAnimSpritePal_PurpleDrake[];
|
||||
extern const u32 gBattleAnimSpriteGfx_QuickGuard[];
|
||||
extern const u32 gBattleAnimSpritePal_QuickGuard[];
|
||||
extern const u32 gBattleAnimSpriteGfx_RazorShell[];
|
||||
extern const u32 gBattleAnimSpritePal_RazorShell[];
|
||||
extern const u32 gBattleAnimSpriteGfx_RedExplosion[];
|
||||
extern const u32 gBattleAnimSpritePal_RedExplosion[];
|
||||
extern const u32 gBattleAnimSpriteGfx_RocksSmall[];
|
||||
extern const u32 gBattleAnimSpriteGfx_NewRocks[];
|
||||
extern const u32 gBattleAnimSpritePal_NewRocks[];
|
||||
|
|
|
@ -3101,6 +3101,17 @@ const struct SpriteTemplate gPsyshockSmokeSpriteTemplate =
|
|||
.callback = AnimSpriteOnMonPos,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gChainBindingSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_PURPLE_CHAIN,
|
||||
.paletteTag = ANIM_TAG_PURPLE_CHAIN,
|
||||
.oam = &gOamData_AffineNormal_ObjNormal_64x32,
|
||||
.anims = sAnims_ConstrictBinding,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_ConstrictBinding,
|
||||
.callback = AnimConstrictBinding,
|
||||
};
|
||||
|
||||
// functions
|
||||
static void AnimGrassKnot(struct Sprite *sprite)
|
||||
{
|
||||
|
@ -7229,6 +7240,14 @@ static const union AffineAnimCmd sCompressTargetHorizontallyAffineAnimCmds[] =
|
|||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd sCompressTargetHorizontallyAffineAnimCmdsFast[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(32, 0, 0, 16), //Compress
|
||||
AFFINEANIMCMD_FRAME(0, 0, 0, 32),
|
||||
AFFINEANIMCMD_FRAME(-32, 0, 0, 16),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static void AnimTask_CompressTargetStep(u8 taskId)
|
||||
{
|
||||
struct Task* task = &gTasks[taskId];
|
||||
|
@ -7245,6 +7264,14 @@ void AnimTask_CompressTargetHorizontally(u8 taskId)
|
|||
task->func = AnimTask_CompressTargetStep;
|
||||
}
|
||||
|
||||
void AnimTask_CompressTargetHorizontallyFast(u8 taskId)
|
||||
{
|
||||
struct Task* task = &gTasks[taskId];
|
||||
u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
|
||||
PrepareAffineAnimInTaskData(task, spriteId, sCompressTargetHorizontallyAffineAnimCmdsFast);
|
||||
task->func = AnimTask_CompressTargetStep;
|
||||
}
|
||||
|
||||
void AnimTask_CreateSmallSteelBeamOrbs(u8 taskId)
|
||||
{
|
||||
if (--gTasks[taskId].data[0] == -1)
|
||||
|
|
|
@ -99,6 +99,7 @@ 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
|
||||
|
@ -7234,6 +7235,51 @@ 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,
|
||||
.paletteTag = ANIM_TAG_RED_EXPLOSION,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = gExplosionAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimSpriteOnMonPos,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gBloodMoonOnslaughtSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_BEAM,
|
||||
.paletteTag = ANIM_TAG_BEAM,
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = sArrowRaidOnslaughtAffineAnimTable,
|
||||
.callback = AnimAssistPawprint
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gMoonUpSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_BLOOD_MOON,
|
||||
.paletteTag = ANIM_TAG_BLOOD_MOON,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_64x64,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimWeatherBallUp,
|
||||
};
|
||||
|
||||
// functions
|
||||
//general
|
||||
void AnimTask_IsTargetPartner(u8 taskId)
|
||||
|
@ -9219,3 +9265,23 @@ void AnimTask_StickySyrup(u8 taskId)
|
|||
gBattleAnimArgs[0] = gAnimDisableStructPtr->syrupBombIsShiny;
|
||||
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);
|
||||
}
|
||||
|
|
|
@ -849,9 +849,11 @@ static const u8 sText_ShedItsTail[] = _("{B_ATK_NAME_WITH_PREFIX} shed its tail\
|
|||
static const u8 sText_PkmnTerastallizedInto[] = _("{B_ATK_NAME_WITH_PREFIX} terastallized\ninto the {B_BUFF1} type!");
|
||||
static const u8 sText_SupersweetAromaWafts[] = _("A supersweet aroma is wafting from\nthe syrup covering {B_ATK_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_TidyingUpComplete[] = _("Tidying up complete!");
|
||||
static const u8 sText_FickleBeamDoubled[] = _("{B_ATK_NAME_WITH_PREFIX} is going all\nout for this attack!");
|
||||
|
||||
const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] =
|
||||
{
|
||||
[STRINGID_FICKLEBEAMDOUBLED - BATTLESTRINGS_TABLE_START] = sText_FickleBeamDoubled,
|
||||
[STRINGID_PKMNTERASTALLIZEDINTO - BATTLESTRINGS_TABLE_START] = sText_PkmnTerastallizedInto,
|
||||
[STRINGID_TIDYINGUPCOMPLETE - BATTLESTRINGS_TABLE_START] = sText_TidyingUpComplete,
|
||||
[STRINGID_SUPERSWEETAROMAWAFTS - BATTLESTRINGS_TABLE_START] = sText_SupersweetAromaWafts,
|
||||
|
|
|
@ -6402,6 +6402,7 @@ static void Cmd_moveend(void)
|
|||
gBattleStruct->enduredDamage = 0;
|
||||
gBattleStruct->additionalEffectsCounter = 0;
|
||||
gBattleStruct->poisonPuppeteerConfusion = FALSE;
|
||||
gBattleStruct->fickleBeamBoosted = FALSE;
|
||||
if (GetActiveGimmick(gBattlerAttacker) == GIMMICK_Z_MOVE)
|
||||
SetActiveGimmick(gBattlerAttacker, GIMMICK_NONE);
|
||||
gBattleStruct->distortedTypeMatchups = 0;
|
||||
|
@ -17132,3 +17133,19 @@ void BS_DamageToQuarterTargetHP(void)
|
|||
|
||||
gBattlescriptCurrInstr = cmd->nextInstr;
|
||||
}
|
||||
|
||||
void BS_FickleBeamDamageCalculation(void)
|
||||
{
|
||||
NATIVE_ARGS();
|
||||
gBattleStruct->fickleBeamBoosted = FALSE;
|
||||
|
||||
if (RandomPercentage(RNG_FICKLE_BEAM, 30))
|
||||
{
|
||||
gBattleStruct->fickleBeamBoosted = TRUE;
|
||||
gBattlescriptCurrInstr = BattleScript_FickleBeamDoubled;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattlescriptCurrInstr = cmd->nextInstr;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9073,7 +9073,7 @@ static inline u32 CalcMoveBasePower(u32 move, u32 battlerAtk, u32 battlerDef, u3
|
|||
basePower = (basePower > 350) ? 350 : basePower;
|
||||
break;
|
||||
case EFFECT_FICKLE_BEAM:
|
||||
if (RandomPercentage(RNG_FICKLE_BEAM, 30))
|
||||
if (gBattleStruct->fickleBeamBoosted)
|
||||
basePower *= 2;
|
||||
break;
|
||||
case EFFECT_TERA_BLAST:
|
||||
|
|
|
@ -1461,6 +1461,10 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] =
|
|||
{gBattleAnimSpriteGfx_TeraCrystal, 0x800, ANIM_TAG_TERA_CRYSTAL},
|
||||
{gBattleAnimSpriteGfx_TeraShatter, 0x0180, ANIM_TAG_TERA_SHATTER},
|
||||
{gBattleAnimSpriteGfx_DreepyMissile, 0x200, ANIM_TAG_DREEPY_SHINY},
|
||||
{gBattleAnimSpriteGfx_BloodMoon, 0x0800, ANIM_TAG_BLOOD_MOON},
|
||||
{gBattleAnimSpriteGfx_RedExplosion, 0x0800, ANIM_TAG_RED_EXPLOSION},
|
||||
{gBattleAnimSpriteGfx_Beam, 0x0800, ANIM_TAG_BEAM},
|
||||
{gBattleAnimSpriteGfx_PurpleChain, 0x1000, ANIM_TAG_PURPLE_CHAIN},
|
||||
};
|
||||
|
||||
const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
|
||||
|
@ -1923,6 +1927,10 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
|
|||
{gBattleAnimSpritePal_TeraCrystal, ANIM_TAG_TERA_CRYSTAL},
|
||||
{gBattleAnimSpritePal_TeraShatter, ANIM_TAG_TERA_SHATTER},
|
||||
{gBattleAnimSpritePal_DreepyMissileShiny, ANIM_TAG_DREEPY_SHINY},
|
||||
{gBattleAnimSpritePal_BloodMoon, ANIM_TAG_BLOOD_MOON},
|
||||
{gBattleAnimSpritePal_RedExplosion, ANIM_TAG_RED_EXPLOSION},
|
||||
{gBattleAnimSpritePal_Beam, ANIM_TAG_BEAM},
|
||||
{gBattleAnimSpritePal_PurpleChain, ANIM_TAG_PURPLE_CHAIN},
|
||||
};
|
||||
|
||||
const struct BattleAnimBackground gBattleAnimBackgroundTable[] =
|
||||
|
|
|
@ -2169,7 +2169,7 @@ const struct BattleMoveEffect gBattleMoveEffects[NUM_BATTLE_MOVE_EFFECTS] =
|
|||
|
||||
[EFFECT_FICKLE_BEAM] =
|
||||
{
|
||||
.battleScript = BattleScript_EffectHit,
|
||||
.battleScript = BattleScript_EffectFickleBeam,
|
||||
.battleTvScore = 0, // TODO: Assign points
|
||||
},
|
||||
|
||||
|
|
|
@ -81,6 +81,9 @@ const u32 gBattleAnimSpritePal_AvalancheRocks[] = INCBIN_U32("graphics/battle_an
|
|||
const u32 gBattleAnimSpriteGfx_NewPokeball[] = INCBIN_U32("graphics/battle_anims/sprites/baton_pass_ball.4bpp.lz");
|
||||
const u32 gBattleAnimSpritePal_NewPokeball[] = INCBIN_U32("graphics/battle_anims/sprites/baton_pass_ball.gbapal.lz");
|
||||
|
||||
const u32 gBattleAnimSpriteGfx_Beam[] = INCBIN_U32("graphics/battle_anims/sprites/beam.4bpp.lz");
|
||||
const u32 gBattleAnimSpritePal_Beam[] = INCBIN_U32("graphics/battle_anims/sprites/beam.gbapal.lz");
|
||||
|
||||
const u32 gBattleAnimSpriteGfx_BerryEaten[] = INCBIN_U32("graphics/battle_anims/sprites/berry_eaten.4bpp.lz");
|
||||
const u32 gBattleAnimSpritePal_BerryEaten[] = INCBIN_U32("graphics/battle_anims/sprites/berry_eaten.gbapal.lz");
|
||||
|
||||
|
@ -93,6 +96,9 @@ const u32 gBattleAnimSpritePal_BigRock[] = INCBIN_U32("graphics/battle_anims/spr
|
|||
const u32 gBattleAnimSpriteGfx_BlacephalonHead[] = INCBIN_U32("graphics/battle_anims/sprites/blacephalon_head.4bpp.lz");
|
||||
const u32 gBattleAnimSpritePal_BlacephalonHead[] = INCBIN_U32("graphics/battle_anims/sprites/blacephalon_head.gbapal.lz");
|
||||
|
||||
const u32 gBattleAnimSpriteGfx_BloodMoon[] = INCBIN_U32("graphics/battle_anims/sprites/blood_moon.4bpp.lz");
|
||||
const u32 gBattleAnimSpritePal_BloodMoon[] = INCBIN_U32("graphics/battle_anims/sprites/blood_moon.gbapal.lz");
|
||||
|
||||
const u32 gBattleAnimSpritePal_BlueFlare[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flare.gbapal.lz");
|
||||
|
||||
const u32 gBattleAnimSpriteGfx_Branch[] = INCBIN_U32("graphics/battle_anims/sprites/branch.4bpp.lz");
|
||||
|
@ -233,12 +239,18 @@ const u32 gBattleAnimSpritePal_PoisonColumn[] = INCBIN_U32("graphics/battle_anim
|
|||
const u32 gBattleAnimSpriteGfx_PowerTrick[] = INCBIN_U32("graphics/battle_anims/sprites/power_trick.4bpp.lz");
|
||||
const u32 gBattleAnimSpritePal_PowerTrick[] = INCBIN_U32("graphics/battle_anims/sprites/power_trick.gbapal.lz");
|
||||
|
||||
const u32 gBattleAnimSpriteGfx_PurpleChain[] = INCBIN_U32("graphics/battle_anims/sprites/purple_chain.4bpp.lz");
|
||||
const u32 gBattleAnimSpritePal_PurpleChain[] = INCBIN_U32("graphics/battle_anims/sprites/purple_chain.gbapal.lz");
|
||||
|
||||
const u32 gBattleAnimSpriteGfx_PurpleDrake[] = INCBIN_U32("graphics/battle_anims/sprites/purple_drake.4bpp.lz");
|
||||
const u32 gBattleAnimSpritePal_PurpleDrake[] = INCBIN_U32("graphics/battle_anims/sprites/purple_drake.gbapal.lz");
|
||||
|
||||
const u32 gBattleAnimSpriteGfx_RazorShell[] = INCBIN_U32("graphics/battle_anims/sprites/razor_shell.4bpp.lz");
|
||||
const u32 gBattleAnimSpritePal_RazorShell[] = INCBIN_U32("graphics/battle_anims/sprites/razor_shell.gbapal.lz");
|
||||
|
||||
const u32 gBattleAnimSpriteGfx_RedExplosion[] = INCBIN_U32("graphics/battle_anims/sprites/red_explosion.4bpp.lz");
|
||||
const u32 gBattleAnimSpritePal_RedExplosion[] = INCBIN_U32("graphics/battle_anims/sprites/red_explosion.gbapal.lz");
|
||||
|
||||
const u32 gBattleAnimSpriteGfx_RocksSmall[] = INCBIN_U32("graphics/battle_anims/sprites/rock_small.4bpp.lz");
|
||||
|
||||
const u32 gBattleAnimSpriteGfx_NewRocks[] = INCBIN_U32("graphics/battle_anims/sprites/rocks_new.4bpp.lz");
|
||||
|
|
Loading…
Reference in a new issue