From 01b6b63e9981ce02da4a42ee1bcca7cafe01b9f3 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Fri, 17 Apr 2020 17:44:28 +0200 Subject: [PATCH] Some more move animations. Thanks Doesnt --- data/battle_anim_scripts.s | 693 ++++++++++++++++++++++++++++++++++--- data/battle_scripts_1.s | 5 +- src/battle_anim_fire.c | 6 +- src/battle_anim_flying.c | 3 +- src/battle_anim_normal.c | 16 +- src/battle_anim_poison.c | 3 +- 6 files changed, 654 insertions(+), 72 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 3d90bb4755..877a0feed8 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -1008,13 +1008,14 @@ Move_U_TURN: playsewithpan SE_W019, SOUND_PAN_ATTACKER createsprite gFlyBallUpSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 13, 336 playsewithpan SE_W104, SOUND_PAN_ATTACKER - createsprite gFlyBallAttackSpriteTemplate, ANIM_ATTACKER, 2, 20 + createsprite gFlyBallAttackSpriteTemplate, ANIM_ATTACKER, 2, 20, TRUE delay 20 createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 0 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 playsewithpan SE_W013, SOUND_PAN_TARGET waitforvisualfinish clearmonbg ANIM_DEF_PARTNER + invisible ANIM_ATTACKER blendoff waitforvisualfinish end @@ -1881,6 +1882,31 @@ Move_POISON_JAB: end Move_DARK_PULSE: + loadspritegfx ANIM_TAG_THIN_RING + monbg ANIM_TARGET + fadetobg BG_DARK + waitbgfadein + delay 0 + createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 0x1D09, 12 + createvisualtask AnimTask_SpiteTargetShadow, 2 + loopsewithpan SE_W060, SOUND_PAN_TARGET, 20, 3 + delay 8 + createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 0x1D09, 12 + delay 8 + createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 0x1D09, 12 + delay 8 + createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 0x1D09, 12 + delay 8 + createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 0x1D09, 12 + delay 8 + createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 0x1D09, 12 + delay 8 + createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 0x1D09, 12 + waitforvisualfinish + clearmonbg ANIM_TARGET + delay 1 + restorebg + waitbgfadein end Move_NIGHT_SLASH: @@ -2340,7 +2366,7 @@ Move_GIGA_IMPACT: createsprite gComplexPaletteBlendSpriteTemplate, 2, 7, 31, 3, 1, 0, 10, 0, 0 createsprite gBasicHitSplatSpriteTemplate, 4, 4, -10, 0, 1, 0 playsewithpan SE_W025B, SOUND_PAN_TARGET - call GigaImpactAction + call SetImpactBackground delay 1 createsprite gSlideMonToOffsetSpriteTemplate 2, 5, 1, -16, 0, 0, 4 waitforvisualfinish @@ -2356,28 +2382,14 @@ Move_GIGA_IMPACT: restorebg waitbgfadein end -GigaImpactAction: - delay 2, - createvisualtask AnimTask_IsContest, 2, 0 - jumpargeq 7, 1, GigaImpactBgContest - createvisualtask AnimTask_IsTargetPlayerSide, 2, 0 - jumpargeq 7, 0, GigaImpactBgOpponent - jumpargeq 7, 1, GigaImpactBgPlayer -GigaImpactBgContest: - changebg BG_GIGA_IMPACT_CONTEST - goto GigaImpactReturnToEnd -GigaImpactReturnToEnd: - return -GigaImpactBgOpponent: - changebg BG_GIGA_IMPACT_OPPONENT - goto GigaImpactReturnToEnd -GigaImpactBgPlayer: - changebg BG_GIGA_IMPACT_PLAYER - return Move_NASTY_PLOT: loadspritegfx ANIM_TAG_AMNESIA - call NastyPlotAction + fadetobg BG_DARK + waitbgfadeout + createvisualtask AnimTask_FadeScreenToWhite, 5 + waitbgfadein + return delay 8 createsprite gQuestionMarkSpriteTemplate, 20, 0 playsewithpan SE_W118, SOUND_PAN_ATTACKER, @@ -2386,12 +2398,6 @@ Move_NASTY_PLOT: waitforvisualfinish call UnsetPsychicBg end -NastyPlotAction: - fadetobg BG_DARK - waitbgfadeout - createvisualtask AnimTask_FadeScreenToWhite, 5 - waitbgfadein - return Move_BULLET_PUNCH: loadspritegfx ANIM_TAG_IMPACT @@ -2568,7 +2574,7 @@ Move_THUNDER_FANG: setalpha 12, 8 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 16, RGB_BLACK waitforvisualfinish - createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 delay 1 createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0, -48 delay 1 @@ -2581,7 +2587,7 @@ Move_THUNDER_FANG: createsprite gSharpTeethSpriteTemplate, ANIM_ATTACKER, 2, 0, 32, 4, 0, -819, 10 delay 1 playsewithpan SE_W161B, SOUND_PAN_TARGET - createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 delay 1 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 15, 1 createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 2 @@ -3429,6 +3435,44 @@ Move_JUDGMENT: end Move_BUG_BITE: + loadspritegfx ANIM_TAG_ROCKS + loadspritegfx ANIM_TAG_IMPACT + loadspritegfx ANIM_TAG_HANDS_AND_FEET + monbg ANIM_TARGET + setalpha 12, 8 + delay 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 5, 1 + waitforvisualfinish + playsewithpan SE_W044, SOUND_PAN_TARGET + createsprite gRockFragmentSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 20, 24, 14, 2 + createsprite gRockFragmentSpriteTemplate, ANIM_ATTACKER, 2, 5, 0, -20, 24, 14, 2 + createsprite gRockFragmentSpriteTemplate, ANIM_ATTACKER, 2, 0, 5, 20, -24, 14, 2 + createsprite gRockFragmentSpriteTemplate, ANIM_ATTACKER, 2, -5, 0, -20, -24, 14, 2 + createsprite gRockFragmentSpriteTemplate, ANIM_ATTACKER, 2, 0, -5, 30, 18, 8, 2 + createsprite gRockFragmentSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 30, -18, 8, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 7, 1 + delay 8 + playsewithpan SE_W044, SOUND_PAN_TARGET + createsprite gRockFragmentSpriteTemplate, ANIM_ATTACKER, 2, 10, 5, 30, 29, 14, 2 + createsprite gRockFragmentSpriteTemplate, ANIM_ATTACKER, 2, 15, 5, -10, 29, 14, 2 + createsprite gRockFragmentSpriteTemplate, ANIM_ATTACKER, 2, 10, 10, 30, -19, 14, 2 + createsprite gRockFragmentSpriteTemplate, ANIM_ATTACKER, 2, 5, 5, -30, -19, 14, 2 + createsprite gRockFragmentSpriteTemplate, ANIM_ATTACKER, 2, 10, 0, 40, 23, 8, 2 + createsprite gRockFragmentSpriteTemplate, ANIM_ATTACKER, 2, 10, 5, 40, -13, 8, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 7, 1 + delay 8 + playsewithpan SE_W044, SOUND_PAN_TARGET + createsprite gRockFragmentSpriteTemplate, ANIM_ATTACKER, 2, -10, -5, 10, 19, 14, 2 + createsprite gRockFragmentSpriteTemplate, ANIM_ATTACKER, 2, -5, -5, -30, 19, 14, 2 + createsprite gRockFragmentSpriteTemplate, ANIM_ATTACKER, 2, -10, 0, 10, -29, 14, 2 + createsprite gRockFragmentSpriteTemplate, ANIM_ATTACKER, 2, -15, -5, -30, -29, 14, 2 + createsprite gRockFragmentSpriteTemplate, ANIM_ATTACKER, 2, -10, -10, 20, 13, 8, 2 + createsprite gRockFragmentSpriteTemplate, ANIM_ATTACKER, 2, -10, -5, 20, -23, 8, 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 7, 1 + delay 8 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff end Move_CHARGE_BEAM: @@ -3485,6 +3529,29 @@ Move_CHARGE_BEAM: end Move_WOOD_HAMMER: + loadspritegfx ANIM_TAG_IMPACT + monbg ANIM_TARGET + setalpha 12, 8 + playsewithpan SE_W207, SOUND_PAN_ATTACKER + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 18, 6, 2, 4 + waitforvisualfinish + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 0, 0, 4 + delay 3 + createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, 0, 10, 0, 0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 4, -10, 0, 1, 0 + playsewithpan SE_W025B, SOUND_PAN_TARGET + delay 1 + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -16, 0, 0, 4 + waitforvisualfinish + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1 + waitforvisualfinish + delay 2 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 5 + delay 3 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 7 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff end Move_AQUA_JET: @@ -3878,7 +3945,25 @@ ShadowForceBg: return Move_HONE_CLAWS: + loadspritegfx ANIM_TAG_SWIPE + call HoneClawsAnim + createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_SWIPE, 0, 6, 6, RGB_BLACK + call HoneClawsAnim + createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_SWIPE, 0, 10, 10, RGB_BLACK + call HoneClawsAnim end +HoneClawsAnim: + createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 2, 2 + delay 4 + playsewithpan SE_W010, SOUND_PAN_TARGET + createsprite gFurySwipesSpriteTemplate, ANIM_TARGET, 2, 16, 0, 1 + delay 10 + createsprite gHorizontalLungeSpriteTemplate, ANIM_TARGET, 2, 2, 2 + delay 4 + playsewithpan SE_W010, SOUND_PAN_TARGET + createsprite gFurySwipesSpriteTemplate, ANIM_TARGET, 2, -16, 0, 0 + delay 10 + return Move_WIDE_GUARD: end @@ -3893,9 +3978,45 @@ Move_WONDER_ROOM: end Move_PSYSHOCK: + monbg ANIM_TARGET + setalpha 8, 8 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 10, 1 + createvisualtask AnimTask_BlendColorCycle, 2, 2, 0, 2, 0, 8, 767 + waitforvisualfinish + loopsewithpan SE_W048, SOUND_PAN_TARGET, 10, 3 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 15, 1 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -6, -6, 15, ANIM_TARGET, 1 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff end - + Move_VENOSHOCK: + loadspritegfx ANIM_TAG_POISON_BUBBLE + loadspritegfx ANIM_TAG_TOXIC_BUBBLE + createsprite gToxicBubbleSpriteTemplate, ANIM_TARGET, 2, -24, 16, 1, 1 + playsewithpan SE_W092, SOUND_PAN_TARGET + delay 5 + createsprite gToxicBubbleSpriteTemplate, ANIM_TARGET, 2, -16, 16, 1, 1 + playsewithpan SE_W092, SOUND_PAN_TARGET + delay 5 + createsprite gToxicBubbleSpriteTemplate, ANIM_TARGET, 2, -8, 16, 1, 1 + playsewithpan SE_W092, SOUND_PAN_TARGET + delay 5 + createsprite gToxicBubbleSpriteTemplate, ANIM_TARGET, 2, 0, 16, 1, 1 + playsewithpan SE_W092, SOUND_PAN_TARGET + delay 5 + createsprite gToxicBubbleSpriteTemplate, ANIM_TARGET, 2, 8, 16, 1, 1 + playsewithpan SE_W092, SOUND_PAN_TARGET + delay 5 + createsprite gToxicBubbleSpriteTemplate, ANIM_TARGET, 2, 16, 16, 1, 1 + playsewithpan SE_W092, SOUND_PAN_TARGET + delay 5 + createsprite gToxicBubbleSpriteTemplate, ANIM_TARGET, 2, 24, 16, 1, 1 + playsewithpan SE_W092, SOUND_PAN_TARGET + delay 5 + waitforvisualfinish + delay 15 end Move_AUTOTOMIZE: @@ -3913,19 +4034,112 @@ Move_MAGIC_ROOM: Move_SMACK_DOWN: end -Move_STORM_THROW: +Move_STORM_THROW: + call StormThorwAnim + call StormThorwAnim + call StormThorwAnim + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 0, 0, 4 + playsewithpan SE_W207, SOUND_PAN_TARGET + delay 1 + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 10, 0xC00, 1, 2 + playsewithpan SE_W233B, SOUND_PAN_TARGET + delay 3 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 7 + waitforvisualfinish + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 4 + waitforvisualfinish end +StormThorwAnim: + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 0, 0, 4 + playsewithpan SE_W207, SOUND_PAN_TARGET + delay 6 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 7 + delay 8 + return Move_FLAME_BURST: + loadspritegfx ANIM_TAG_SMALL_EMBER + loadspritegfx ANIM_TAG_EXPLOSION + playsewithpan SE_W172, SOUND_PAN_ATTACKER + createsprite gDragonBreathFireSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0, 0, 20 + delay 18 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 16, 1 + createsprite gExplosionSpriteTemplate, ANIM_TARGET, 4, 0, 0, 1, 0 + createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 0, 192, 76, 70 + createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 0, -192, 76, 70 + createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 0, 20, 140, 70 + createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 0, -20, 140, 70 + createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 0, 192, -160, 70 + createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 0, -192, -160, 70 + createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 0, 82, -112, 70 + createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 0, -82, -112, 70 + createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 0, 160, -52, 70 + createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 0, -160, -52, 70 + createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 0, 224, -32, 70 + createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 0, -224, -32, 70 + createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 0, 112, -128, 70 + createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 0, -112, -128, 70 + playsewithpan SE_W120, SOUND_PAN_TARGET + delay 3 + createsprite gExplosionSpriteTemplate, ANIM_TARGET, 4, 14, -14, 1, 0 + playsewithpan SE_W120, SOUND_PAN_TARGET + waitforvisualfinish end Move_SLUDGE_WAVE: end Move_QUIVER_DANCE: + loadspritegfx ANIM_TAG_HOLLOW_ORB + monbg ANIM_ATTACKER + call SetBugBg + createvisualtask AnimTask_DragonDanceWaver, 5 + playsewithpan SE_W100, SOUND_PAN_ATTACKER + delay 8 + createvisualtask AnimTask_BlendPalInAndOutByTag, 5, ANIM_TAG_HOLLOW_ORB, RGB_GREEN, 14, 0, 3 + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 0 + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 43 + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 85 + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 128 + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 170 + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 213 + delay 30 + playsewithpan SE_W100, SOUND_PAN_ATTACKER + delay 30 + playsewithpan SE_W100, SOUND_PAN_ATTACKER + waitforvisualfinish + clearmonbg ANIM_ATTACKER + call UnsetBugBg end Move_HEAVY_SLAM: + loadspritegfx ANIM_TAG_CLAW_SLASH + loadspritegfx ANIM_TAG_IMPACT + loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2 + createvisualtask AnimTask_MetallicShine, 5, 0, 0, 0 + waitforvisualfinish + monbg ANIM_TARGET + setalpha 12, 8 + playsewithpan SE_W036, SOUND_PAN_ATTACKER + createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 6, 1, ANIM_ATTACKER + waitforvisualfinish + delay 11 + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 26, 0, 0, 5 + delay 6 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 4, -10, 0, 1, 0 + loopsewithpan SE_W025B, SOUND_PAN_TARGET, 10, 2 + delay 1 + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -28, 0, 0, 3 + waitforvisualfinish + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1 + waitforvisualfinish + delay 10 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 6 + delay 5 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 6 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff end Move_SYCHRONOISE: @@ -3935,6 +4149,38 @@ Move_ELECTRO_BALL: end Move_SOAK: + loadspritegfx ANIM_TAG_SMALL_BUBBLES + loadspritegfx ANIM_TAG_WATER_IMPACT + monbg ANIM_TARGET + monbgprio_28 1 + setalpha 12, 8 + createsprite gWaterGunProjectileSpriteTemplate, ANIM_ATTACKER, 2, 20, 0, 0, 0, 40, -25 + playsewithpan SE_W145, 192 + delay 2 + createsprite gWaterGunProjectileSpriteTemplate, ANIM_ATTACKER, 2, 20, 0, 5, 0, 40, -25 + playsewithpan SE_W145, 192 + delay 2 + createsprite gWaterGunProjectileSpriteTemplate, ANIM_ATTACKER, 2, 20, 0, -5, 0, 40, -25 + playsewithpan SE_W145, 192 + delay 30 + playsewithpan SE_W127, 63 + createvisualtask AnimTask_ShakeMon2, 5, 1, 4, 0, 17, 1 + createvisualtask AnimTask_BlendColorCycle, 2, 4, 1, 2, 0, 12, RGB_BLUE + createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, 0 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, 0 + delay 2 + createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 5, 0, 1, 1 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 5, 0 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 5, 0 + delay 2 + createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -5, 0, 1, 1 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, -5, 0 + createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, -5, 0 + delay 2 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff end Move_FLAME_CHARGE: @@ -3947,6 +4193,29 @@ Move_LOW_SWEEP: end Move_ACID_SPRAY: + loadspritegfx ANIM_TAG_POISON_BUBBLE + monbg ANIM_TARGET + createsprite gAcidPoisonBubbleSpriteTemplate, ANIM_TARGET, 2, 20, 0, 40, 1, 0, -20 + playsewithpan SE_W145C, SOUND_PAN_ATTACKER + delay 33 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 10, 1 + createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 12, RGB(30, 0, 31) + playsewithpan SE_W291, SOUND_PAN_ATTACKER + createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, 0, -20, 10, 15, 55, FALSE + createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, 0, -20, -20, 15, 55, FALSE + delay 3 + createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, 0, -20, 5, 15, 55, FALSE + createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, 0, -20, -10, 15, 55, FALSE + delay 3 + createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, 0, -20, 30, 15, 55, FALSE + createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, 0, -20, -30, 15, 55, FALSE + delay 3 + createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, 0, -20, 2, 15, 55, FALSE + createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, 0, -20, -5, 15, 55, FALSE + delay 3 + createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, 0, -20, 20, 15, 55, FALSE + waitforvisualfinish + clearmonbg ANIM_TARGET end Move_FOUL_PLAY: @@ -3960,8 +4229,27 @@ Move_ENTRAINMENT: Move_AFTER_YOU: end - + Move_ROUND: + loadspritegfx ANIM_TAG_MUSIC_NOTES + createvisualtask AnimTask_MusicNotesRainbowBlend, 2 + waitforvisualfinish + monbg ANIM_TARGET + createvisualtask SoundTask_PlayCryHighPitch, 2, 0, 255 + createvisualtask AnimTask_UproarDistortion, 2, 0 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 7, 0, 12 + delay 5 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 6, 1, 12 + delay 5 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 1, 2, 12 + delay 5 + createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 3, 12 + delay 20 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 13, 1 + waitforvisualfinish + clearmonbg ANIM_TARGET + createvisualtask AnimTask_MusicNotesClearRainbowBlend, 2 + waitforvisualfinish end Move_ECHOED_VOICE: @@ -3971,9 +4259,61 @@ Move_CHIP_AWAY: end Move_CLEAR_SMOG: + loadspritegfx ANIM_TAG_MIST_CLOUD + monbg ANIM_TARGET + monbgprio_29 + setalpha 12, 8 + createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_MIST_CLOUD, 0, 6, 6, RGB(26, 0, 26) + loopsewithpan SE_W054, SOUND_PAN_TARGET, 17, 10 + call ClearSmogCloud + call ClearSmogCloud + call ClearSmogCloud + call ClearSmogCloud + call ClearSmogCloud + call ClearSmogCloud + call ClearSmogCloud + delay 120 + loopsewithpan SE_W092, SOUND_PAN_TARGET, 18, 2 + createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 12, RGB_WHITE + delay 10 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 15, 1 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff end +ClearSmogCloud: + createsprite gMistCloudSpriteTemplate, ANIM_ATTACKER, 2, 0, -24, 48, 240, 1, 0 + delay 7 + return Move_STORED_POWER: + loadspritegfx ANIM_TAG_RED_ORB_2 + loadspritegfx ANIM_TAG_IMPACT + call SetPsychicBackground + playsewithpan SE_W036, SOUND_PAN_ATTACKER + createvisualtask AnimTask_SpitUpDeformMon, 5 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 8, 2 + delay 45 + playsewithpan SE_W255, SOUND_PAN_ATTACKER + delay 3 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 0, 12 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 32, 12 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 64, 12 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 96, 12 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 128, 12 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 160, 12 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 192, 12 + createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 224, 12 + delay 10 + createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 2, 0, 1, 8, 1, 0 + playsewithpan SE_W003, SOUND_PAN_TARGET + createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, -12, 10, 1, 1 + delay 5 + playsewithpan SE_W003, SOUND_PAN_TARGET + createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 12, -10, 1, 1 + waitforvisualfinish + call UnsetPsychicBg + waitforvisualfinish end Move_QUICK_GUARD: @@ -3989,6 +4329,34 @@ Move_SHELL_SMASH: end Move_HEAL_PULSE: + loadspritegfx ANIM_TAG_GREEN_SPARKLE + loadspritegfx ANIM_TAG_BLUE_STAR + loadspritegfx ANIM_TAG_THIN_RING + playsewithpan SE_W234, SOUND_PAN_TARGET + createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 13293, 8 + createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, -16, 32, -3, 1 + delay 3 + createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, 16, 32, -3, -1 + delay 3 + createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 13293, 8 + createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, 32, 32, -3, 1 + delay 3 + createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, -32, 32, -3, 1 + delay 3 + createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 13293, 8 + createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, 0, 32, -3, 1 + delay 3 + createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, -8, 32, -3, 1 + delay 3 + createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 13293, 8 + createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, -8, 32, -3, 1 + delay 3 + createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, 24, 32, -3, 1 + delay 3 + createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, -24, 32, -3, 1 + waitforvisualfinish + waitsound + call HealingEffect2 end Move_HEX: @@ -4047,6 +4415,22 @@ Move_QUASH: end Move_ACROBATICS: + loadspritegfx ANIM_TAG_ROUND_SHADOW + loadspritegfx ANIM_TAG_IMPACT + monbg ANIM_TARGET + setalpha 12, 8 + playsewithpan SE_W019, SOUND_PAN_ATTACKER + createsprite gFlyBallUpSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 13, 336 + waitforvisualfinish + playsewithpan SE_W207, SOUND_PAN_TARGET + createsprite gBounceBallLandSpriteTemplate, ANIM_TARGET, 3 + delay 7 + playsewithpan SE_W025B, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 0 + createvisualtask AnimTask_ShakeMon, 5, 1, 0, 5, 11, 1 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff end Move_REFLECT_TYPE: @@ -4062,7 +4446,48 @@ Move_BESTOW: end Move_INFERNO: + loadspritegfx ANIM_TAG_SMALL_EMBER + call SetImpactBackground + loopsewithpan SE_W221B, SOUND_PAN_TARGET, 40, 4 + createvisualtask AnimTask_ShakeMon, 5, 1, 0, 2, 94, 1 + createvisualtask AnimTask_BlendBattleAnimPal, 10, 4, 1, 0, 9, 31 + call InfernoAnim + call InfernoAnim + call InfernoAnim + call InfernoAnim + call InfernoAnim + call InfernoAnim + createvisualtask AnimTask_BlendBattleAnimPal, 10, 4, 1, 9, 0, 31 + restorebg + waitbgfadein + waitforvisualfinish end +InfernoAnim: + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0, 28, 528, 30, 13, 50, 1 + delay 1 + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0, 33, 464, 30, 15, -25, 1 + delay 1 + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0, 32, 480, 20, 16, -46, 1 + delay 1 + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0, 28, 512, 25, 16, 23, 1 + delay 1 + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0, 33, 576, 20, 8, 42, 1 + delay 1 + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0, 31, 400, 25, 11, -21, 1 + delay 1 + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0, 31, 400, 25, 11, -42, 1 + delay 1 + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0, 33, 576, 20, 8, 21, 1 + delay 1 + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0, 28, 512, 25, 16, 46, 1 + delay 1 + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0, 32, 480, 20, 16, -23, 1 + delay 1 + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0, 33, 464, 30, 15, -50, 1 + delay 1 + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0, 28, 528, 30, 13, 25, 1 + delay 1 + return Move_WATER_PLEDGE: end @@ -4074,6 +4499,29 @@ Move_GRASS_PLEDGE: end Move_VOLT_SWITCH: + loadspritegfx ANIM_TAG_SPARK + loadspritegfx ANIM_TAG_SPARK_2 + loadspritegfx ANIM_TAG_THIN_RING + monbg ANIM_ATTACKER + setalpha 12, 8 + createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 0x3BDF, 8 + playsewithpan SE_W268, SOUND_PAN_ATTACKER + delay 4 + createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 0x3BDF, 8 + delay 4 + createvisualtask AnimTask_ShakeMon, 5, 1, 0, 3, 45, 1 + createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 0x3BDF, 8 + delay 4 + createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 0x3BDF, 8 + delay 4 + call ElectricityEffect + playsewithpan SE_W085B, SOUND_PAN_ATTACKER + createvisualtask AnimTask_SlideOffScreen, 5, ANIM_ATTACKER, -2 + waitforvisualfinish + clearmonbg ANIM_ATTACKER + blendoff + invisible ANIM_ATTACKER + delay 8 end Move_STRUGGLE_BUG: @@ -4089,6 +4537,37 @@ Move_DRAGON_TAIL: end Move_WORK_UP: + loadspritegfx ANIM_TAG_FOCUS_ENERGY + playsewithpan SE_W082, SOUND_PAN_ATTACKER + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -28, 26, 2 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, 28, 26, 2 + delay 5 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -23, 10, 2 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, 23, 10, 2 + delay 5 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -18, 26, 3 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, 18, 26, 3 + delay 14 + createvisualtask AnimTask_BlendColorCycle, 2, 2, 2, 2, 0, 11, RGB(31, 2, 4) + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -13, 26, 2 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, 13, 26, 2 + delay 5 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -8, 10, 2 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, 8, 10, 2 + delay 5 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -3, 26, 3 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, 3, 26, 3 + delay 14 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -2, 26, 2 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, 2, 26, 2 + delay 5 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -7, 10, 2 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, 7, 10, 2 + delay 5 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -12, 26, 3 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, 12, 26, 3 + waitforvisualfinish end Move_ELECTROWEB: @@ -4145,6 +4624,29 @@ Move_LEAF_TORNADO: end Move_STEAMROLLER: + loadspritegfx ANIM_TAG_IMPACT + monbg ANIM_TARGET + setalpha 12, 8 + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 26, 0, 0, 5 + delay 6 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 4, -10, 0, 1, 0 + loopsewithpan SE_W025B, SOUND_PAN_TARGET, 6, 3 + delay 1 + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -28, 0, 0, 3 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, 3, 1, 0 + delay 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 10, 6, 1, 0 + delay 1 + waitforvisualfinish + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1 + waitforvisualfinish + delay 10 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 6 + delay 5 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 6 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff end Move_COTTON_GUARD: @@ -4154,6 +4656,20 @@ Move_NIGHT_DAZE: end Move_PSYSTRIKE: + monbg ANIM_TARGET + setalpha 8, 8 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 10, 1 + createvisualtask AnimTask_BlendColorCycle, 2, 2, 0, 2, 0, 8, RGB_RED + waitforvisualfinish + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 + loopsewithpan SE_W048, SOUND_PAN_TARGET, 10, 3 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 15, 1 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -9, -9, 15, ANIM_TARGET, 1 + waitforvisualfinish + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff end Move_TAIL_SLAP: @@ -4281,6 +4797,24 @@ Move_TRICK_OR_TREAT: end Move_NOBLE_ROAR: + loadspritegfx ANIM_TAG_NOISE_LINE + monbg ANIM_ATTACKER + monbgprio_28 0 + setalpha 8, 8 + createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 8, RGB(4, 0, 0) + waitforvisualfinish + createvisualtask SoundTask_PlayCryHighPitch, 2, ANIM_ATTACKER, 2 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -5, -5, 10, ANIM_ATTACKER, 1 + call RoarEffect + delay 10 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 9, 1 + delay 10 + createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 8, 0, RGB(4, 0, 0) + waitforvisualfinish + clearmonbg ANIM_ATTACKER + blendoff + waitforvisualfinish + delay 20 end Move_ION_DELUGE: @@ -4413,9 +4947,56 @@ Move_FAIRY_WIND: end Move_MOONBLAST: + loadspritegfx ANIM_TAG_SMALL_BUBBLES + loadspritegfx ANIM_TAG_MOON + loadspritegfx ANIM_TAG_GREEN_SPARKLE + loadspritegfx ANIM_TAG_BLUE_STAR + setalpha 0, 16 + createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 16, 0 + waitforvisualfinish + createsprite gMoonSpriteTemplate, ANIM_ATTACKER, 2, 120, 56 + createvisualtask AnimTask_AlphaFadeIn, 3, 0, 16, 16, 0, 1 + panse_1B SE_W112, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 3, 0 + delay 40 + playsewithpan SE_W081, SOUND_PAN_ATTACKER + createsprite gMistBallSpriteTemplate, ANIM_ATTACKER, 5, 0, 0, 0, 0, 30, 0 + delay 30 + loopsewithpan SE_W048, SOUND_PAN_TARGET, 5, 4 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 10, 0 + delay 4 + createvisualtask AnimTask_MoonlightEndFade, 2 + waitforvisualfinish + blendoff end Move_BOOMBURST: + loadspritegfx ANIM_TAG_EXPLOSION + loadspritegfx ANIM_TAG_THIN_RING + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 | 0x8 + createvisualtask SoundTask_PlayCryWithEcho, 5 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -5, -5, 5, ANIM_ATTACKER, 0 + createsprite gHyperVoiceRingSpriteTemplate, ANIM_ATTACKER, 0, 45, 0, 0, 0, 0, 0, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 6, 1 + createvisualtask SoundTask_WaitForCry, 2, 1, 0, 6, 1 + delay 20 + playsewithpan SE_W153, SOUND_PAN_ATTACKER + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1 + delay 4 + playsewithpan SE_W153, SOUND_PAN_ATTACKER + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 24, -24, 1, 1 + delay 4 + playsewithpan SE_W153, SOUND_PAN_ATTACKER + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, -16, 16, 1, 1 + delay 4 + playsewithpan SE_W153, SOUND_PAN_ATTACKER + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, -24, -12, 1, 1 + delay 4 + playsewithpan SE_W153, SOUND_PAN_ATTACKER + createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 16, 16, 1, 1 + delay 4 + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 | 0x8 + waitforvisualfinish end Move_FAIRY_LOCK: @@ -8880,7 +9461,7 @@ Move_THUNDER: waitbgfadein createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 16, RGB_BLACK delay 16 - createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 playsewithpan SE_W086, SOUND_PAN_TARGET delay 1 createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 16, -36 @@ -8897,7 +9478,7 @@ Move_THUNDER: createsprite gLightningSpriteTemplate, ANIM_TARGET, 6, -16, 16 playsewithpan SE_W086, SOUND_PAN_TARGET delay 5 - createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 delay 1 createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 24, -32 delay 1 @@ -8905,9 +9486,9 @@ Move_THUNDER: delay 1 createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 24, 16 delay 30 - createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 delay 5 - createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 delay 1 createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0, -32 playsewithpan SE_W161B, SOUND_PAN_TARGET @@ -8916,11 +9497,11 @@ Move_THUNDER: delay 1 createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0, 16 delay 10 - createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 delay 1 createvisualtask AnimTask_ShakeTargetInPattern, 2, 30, 3, TRUE, 0 delay 2 - createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 delay 1 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_TARGET, 2, 1, 2, 16, 0, RGB_BLACK waitforvisualfinish @@ -8942,7 +9523,7 @@ Move_THUNDER_PUNCH: createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0, 0, 8, 1, 0 createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, ANIM_TARGET, 1 delay 1 - createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 delay 1 createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0, -48 delay 1 @@ -8951,7 +9532,7 @@ Move_THUNDER_PUNCH: createsprite gLightningSpriteTemplate, ANIM_ATTACKER, 2, 0, 16 delay 1 playsewithpan SE_W161B, SOUND_PAN_TARGET - createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 delay 2 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 15, 1 createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 2 @@ -8979,12 +9560,12 @@ Move_SACRED_FIRE: delay 1 createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, 20, 10, 50, 5, 1, 1 delay 1 - createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 delay 1 createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, 0, 16, 50, 5, 0, 1 delay 1 createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, -20, 10, 50, 5, -1, 1 - createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 delay 1 waitforvisualfinish playsewithpan SE_W221B, SOUND_PAN_TARGET @@ -8996,10 +9577,10 @@ Move_SACRED_FIRE: playsewithpan SE_W221B, SOUND_PAN_TARGET createsprite gLargeFlameSpriteTemplate, ANIM_TARGET, 2, 16, 0, 80, 16, 0, 1 delay 1 - createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 delay 1 waitforvisualfinish - createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 delay 1 playsewithpan SE_W172B, SOUND_PAN_TARGET createsprite gLargeFlameScatterSpriteTemplate, ANIM_TARGET, 2, 0, 0, 30, 30, -1, 0 @@ -10110,19 +10691,19 @@ Move_ACID: createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 10, 1 createvisualtask AnimTask_ShakeMon2, 5, ANIM_DEF_PARTNER, 2, 0, 10, 1 createvisualtask AnimTask_BlendColorCycle, 2, 20, 2, 2, 0, 12, RGB(30, 0, 31) - createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, 0, -22, 0, 15, 55 + createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, 0, -22, 0, 15, 55, TRUE playsewithpan SE_W145, SOUND_PAN_TARGET delay 10 - createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, -26, -24, 0, 15, 55 + createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, -26, -24, 0, 15, 55, TRUE playsewithpan SE_W145, SOUND_PAN_TARGET delay 10 - createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, 15, -27, 0, 15, 50 + createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, 15, -27, 0, 15, 50, TRUE playsewithpan SE_W145, SOUND_PAN_TARGET delay 10 - createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, -15, -17, 0, 10, 45 + createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, -15, -17, 0, 10, 45, TRUE playsewithpan SE_W145, SOUND_PAN_TARGET delay 10 - createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, 27, -22, 0, 15, 50 + createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, 27, -22, 0, 15, 50, TRUE playsewithpan SE_W145, SOUND_PAN_TARGET waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -10505,7 +11086,7 @@ FlyUnleash: monbg ANIM_DEF_PARTNER setalpha 12, 8 playsewithpan SE_W104, SOUND_PAN_ATTACKER - createsprite gFlyBallAttackSpriteTemplate, ANIM_ATTACKER, 2, 20 + createsprite gFlyBallAttackSpriteTemplate, ANIM_ATTACKER, 2, 20, FALSE delay 20 createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 0 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 @@ -12148,7 +12729,7 @@ Move_TRI_ATTACK: createvisualtask AnimTask_ShakeTargetInPattern, 2, 20, 3, TRUE, 1 waitforvisualfinish loadspritegfx ANIM_TAG_LIGHTNING - createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 playsewithpan SE_W161B, SOUND_PAN_TARGET createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0, -48 delay 1 @@ -12158,7 +12739,7 @@ Move_TRI_ATTACK: delay 20 createvisualtask AnimTask_ShakeTargetInPattern, 2, 20, 3, TRUE, 0 delay 2 - createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 waitforvisualfinish loadspritegfx ANIM_TAG_ICE_CRYSTALS call IceCrystalEffectShort @@ -13200,7 +13781,7 @@ Move_BLAST_BURN: createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 66, 40, 20, 24, 0, 0, 0 createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, 0, 32, 24, 0, 0, 0 createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, -40, 20, 24, 0, 0, 0 - createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 delay 25 playsewithpan SE_W172B, SOUND_PAN_ATTACKER createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, -96, 0, 24, 0, 0, 0 @@ -13214,7 +13795,7 @@ Move_BLAST_BURN: createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 66, 60, 30, 24, 0, 0, 0 createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, 0, 48, 24, 0, 0, 0 createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, -60, 30, 24, 0, 0, 0 - createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff @@ -13474,7 +14055,7 @@ Move_HYDRO_CANNON: playsewithpan SE_W057, SOUND_PAN_ATTACKER createsprite gHydroCannonChargeSpriteTemplate, ANIM_TARGET, 2 delay 10 - createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 delay 30 panse_1B SE_W056, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 call HydroCannonBeam @@ -13491,7 +14072,7 @@ Move_HYDRO_CANNON: call HydroCannonBeam createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, ANIM_TARGET, 0 waitforvisualfinish - createvisualtask AnimTask_InvertScreenColor, 2, 257, 257, 257 + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 4767ad33fd..0b0ba18119 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -1896,11 +1896,12 @@ BattleScript_EffectHitEscape: jumpifmovehadnoeffect BattleScript_MoveEnd seteffectwithchance tryfaintmon BS_TARGET, FALSE, NULL - moveendall + moveendto MOVEEND_ATTACKER_VISIBLE + moveendfrom MOVEEND_TARGET_VISIBLE jumpifbattleend BattleScript_HitEscapeEnd jumpifbyte CMP_NOT_EQUAL gBattleOutcome 0, BattleScript_HitEscapeEnd jumpifcantswitch SWITCH_IGNORE_ESCAPE_PREVENTION | BS_ATTACKER, BattleScript_HitEscapeEnd - openpartyscreen 0x1, BattleScript_HitEscapeEnd + openpartyscreen BS_ATTACKER, BattleScript_HitEscapeEnd switchoutabilities BS_ATTACKER waitstate switchhandleorder BS_ATTACKER, 0x2 diff --git a/src/battle_anim_fire.c b/src/battle_anim_fire.c index 784fd0068c..dbb21fe6cb 100644 --- a/src/battle_anim_fire.c +++ b/src/battle_anim_fire.c @@ -548,9 +548,9 @@ static void AnimFireSpread(struct Sprite *sprite) SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); sprite->pos1.y += gBattleAnimArgs[1]; - sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[1] = gBattleAnimArgs[2]; - sprite->data[2] = gBattleAnimArgs[3]; + sprite->data[0] = gBattleAnimArgs[4]; // duration + sprite->data[1] = gBattleAnimArgs[2]; // x + sprite->data[2] = gBattleAnimArgs[3]; // y sprite->callback = TranslateSpriteLinearFixedPoint; StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); diff --git a/src/battle_anim_flying.c b/src/battle_anim_flying.c index 73be083b9a..29043b9371 100644 --- a/src/battle_anim_flying.c +++ b/src/battle_anim_flying.c @@ -508,6 +508,7 @@ static void AnimFlyBallAttack(struct Sprite *sprite) sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); + sprite->data[5] = gBattleAnimArgs[1]; // if sprite is to remain invisible InitAnimLinearTranslation(sprite); sprite->callback = AnimFlyBallAttack_Step; @@ -528,7 +529,7 @@ static void AnimFlyBallAttack_Step(struct Sprite *sprite) || sprite->pos1.x + sprite->pos2.x > 272 || sprite->pos1.y + sprite->pos2.y > 160) { - gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = FALSE; + gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = sprite->data[5]; DestroyAnimSprite(sprite); } } diff --git a/src/battle_anim_normal.c b/src/battle_anim_normal.c index 2c829dbb22..f1ad164cea 100644 --- a/src/battle_anim_normal.c +++ b/src/battle_anim_normal.c @@ -810,17 +810,15 @@ static void AnimTask_FlashAnimTagWithColor_Step2(u8 taskId) void AnimTask_InvertScreenColor(u8 taskId) { u32 selectedPalettes = 0; - u8 attackerBattler = gBattleAnimAttacker; - u8 targetBattler = gBattleAnimTarget; - if (gBattleAnimArgs[0] & 0x100) + if (gBattleAnimArgs[0] & 0x1) selectedPalettes = sub_80A75AC(1, 0, 0, 0, 0, 0, 0); - - if (gBattleAnimArgs[1] & 0x100) - selectedPalettes |= (0x10000 << attackerBattler); - - if (gBattleAnimArgs[2] & 0x100) - selectedPalettes |= (0x10000 << targetBattler); + if (gBattleAnimArgs[0] & 0x2) + selectedPalettes |= (0x10000 << gBattleAnimAttacker); + if (gBattleAnimArgs[0] & 0x4) + selectedPalettes |= (0x10000 << gBattleAnimTarget); + if (gBattleAnimArgs[0] & 0x8 && IsBattlerAlive(BATTLE_PARTNER(gBattleAnimTarget))) + selectedPalettes |= (0x10000 << BATTLE_PARTNER(gBattleAnimTarget)); InvertPlttBuffer(selectedPalettes); DestroyAnimVisualTask(taskId); diff --git a/src/battle_anim_poison.c b/src/battle_anim_poison.c index 5d560bcc41..cda06738ed 100644 --- a/src/battle_anim_poison.c +++ b/src/battle_anim_poison.c @@ -480,7 +480,8 @@ static void AnimSludgeBombHitParticle_Step(struct Sprite *sprite) static void AnimAcidPoisonDroplet(struct Sprite *sprite) { - SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y); + if (gBattleAnimArgs[5]) + SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[0] = -gBattleAnimArgs[0];