Tachyon Cutter and Salt Cure animations (#6182)
Co-authored-by: Hedara <hedara90@gmail.com>
This commit is contained in:
parent
b90b1e2546
commit
cad1a37566
@ -18215,10 +18215,50 @@ TeraStarstormCreateBeam::
|
||||
createsprite gTeraStarstormBeamSpriteTemplate, ANIM_BATTLER, 1, 2, 0, 0, 0, 20
|
||||
return
|
||||
|
||||
gBattleAnimMove_TachyonCutter::
|
||||
loadspritegfx ANIM_TAG_CUT
|
||||
loadspritegfx ANIM_TAG_BUBBLE
|
||||
createsprite gTachyonCutterSpriteTemplate, ANIM_ATTACKER, 2, 40, -32, 0
|
||||
createsprite gTachyonCutterSpriteTemplate, ANIM_ATTACKER, 2, 40, -32, 1
|
||||
playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER
|
||||
waitforvisualfinish
|
||||
end
|
||||
|
||||
gBattleAnimMove_SaltCure::
|
||||
loadspritegfx ANIM_TAG_SALT_PARTICLE
|
||||
loadspritegfx ANIM_TAG_WATER_ORB
|
||||
call SaltCureEffect
|
||||
call SaltCureEffect
|
||||
call SaltCureEffect
|
||||
playsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET
|
||||
waitforvisualfinish
|
||||
call gBattleAnimGeneral_SaltCureDamage
|
||||
end
|
||||
|
||||
SaltCureEffect:
|
||||
createsprite gSaltCureSwirlSpriteTemplate, ANIM_TARGET, 2, 0, 28, 384, 50, 8, 50, ANIM_TARGET
|
||||
delay 2
|
||||
playsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET
|
||||
createsprite gSaltCureSwirlSpriteTemplate, ANIM_TARGET, 2, 0, 32, 240, 40, 11, -46, ANIM_TARGET
|
||||
delay 2
|
||||
playsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET
|
||||
createsprite gSaltCureSwirlSpriteTemplate, ANIM_TARGET, 2, 0, 33, 416, 40, 4, 42, ANIM_TARGET
|
||||
delay 2
|
||||
playsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET
|
||||
createsprite gSaltCureSwirlSpriteTemplate, ANIM_TARGET, 2, 0, 31, 288, 45, 6, -42, ANIM_TARGET
|
||||
delay 2
|
||||
playsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET
|
||||
createsprite gSaltCureSwirlSpriteTemplate, ANIM_TARGET, 2, 0, 28, 448, 45, 11, 46, ANIM_TARGET
|
||||
delay 2
|
||||
playsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET
|
||||
createsprite gSaltCureSwirlSpriteTemplate, ANIM_TARGET, 2, 0, 33, 464, 50, 10, -50, ANIM_TARGET
|
||||
delay 2
|
||||
playsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET
|
||||
return
|
||||
|
||||
gBattleAnimMove_TeraBlast::
|
||||
gBattleAnimMove_OrderUp::
|
||||
gBattleAnimMove_GlaiveRush::
|
||||
gBattleAnimMove_SaltCure::
|
||||
gBattleAnimMove_TripleDive::
|
||||
gBattleAnimMove_Doodle::
|
||||
gBattleAnimMove_Ruination::
|
||||
@ -18233,7 +18273,6 @@ gBattleAnimMove_MagicalTorque::
|
||||
gBattleAnimMove_Psyblade::
|
||||
gBattleAnimMove_MatchaGotcha::
|
||||
gBattleAnimMove_MightyCleave::
|
||||
gBattleAnimMove_TachyonCutter::
|
||||
gBattleAnimMove_SupercellSlam::
|
||||
end @to do
|
||||
|
||||
@ -28927,7 +28966,41 @@ General_AffectionHangedOn_3Hearts:
|
||||
end
|
||||
|
||||
gBattleAnimGeneral_SaltCureDamage::
|
||||
goto gBattleAnimStatus_Freeze
|
||||
loadspritegfx ANIM_TAG_SALT_PARTICLE
|
||||
createsprite gSaltCureCrystalSpriteTemplate, ANIM_TARGET, 2, -10, -10, 1
|
||||
playsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET
|
||||
delay 4
|
||||
createsprite gSaltCureCrystalSpriteTemplate, ANIM_TARGET, 2, 10, 20, 1
|
||||
playsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET
|
||||
delay 4
|
||||
createsprite gSaltCureCrystalSpriteTemplate, ANIM_TARGET, 2, -29, 0, 1
|
||||
playsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET
|
||||
delay 4
|
||||
createsprite gSaltCureCrystalSpriteTemplate, ANIM_TARGET, 2, 29, -20, 1
|
||||
playsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET
|
||||
delay 4
|
||||
createsprite gSaltCureCrystalSpriteTemplate, ANIM_TARGET, 2, -5, 10, 1
|
||||
playsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET
|
||||
delay 4
|
||||
createsprite gSaltCureCrystalSpriteTemplate, ANIM_TARGET, 2, 17, -12, 1
|
||||
playsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET
|
||||
delay 4
|
||||
createsprite gSaltCureCrystalSpriteTemplate, ANIM_TARGET, 2, -20, 0, 1
|
||||
playsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET
|
||||
delay 4
|
||||
createsprite gSaltCureCrystalSpriteTemplate, ANIM_TARGET, 2, -15, 15, 1
|
||||
playsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET
|
||||
delay 4
|
||||
createsprite gSaltCureCrystalSpriteTemplate, ANIM_TARGET, 2, 26, -5, 1
|
||||
playsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET
|
||||
delay 4
|
||||
createsprite gSaltCureCrystalSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1
|
||||
playsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET
|
||||
delay 4
|
||||
createsprite gSaltCureCrystalSpriteTemplate, ANIM_TARGET, 2, 20, 2, 1
|
||||
playsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET
|
||||
waitforvisualfinish
|
||||
end
|
||||
|
||||
gBattleAnimGeneral_Rainbow::
|
||||
call RainDrops
|
||||
|
||||
BIN
graphics/battle_anims/sprites/salt_particle.png
Normal file
BIN
graphics/battle_anims/sprites/salt_particle.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 239 B |
@ -418,6 +418,7 @@
|
||||
#define ANIM_TAG_PURPLE_CHAIN (ANIM_SPRITES_START + 404)
|
||||
#define ANIM_TAG_PINKVIO_ORB (ANIM_SPRITES_START + 405)
|
||||
#define ANIM_TAG_STARSTORM (ANIM_SPRITES_START + 406)
|
||||
#define ANIM_TAG_SALT_PARTICLE (ANIM_SPRITES_START + 407)
|
||||
|
||||
// battlers
|
||||
#define ANIM_ATTACKER 0
|
||||
|
||||
@ -2895,6 +2895,8 @@ extern const u32 gBattleAnimSpriteGfx_PinkVioletOrb[];
|
||||
extern const u32 gBattleAnimSpritePal_PinkVioletOrb[];
|
||||
extern const u32 gBattleAnimSpriteGfx_TeraStarstormBeam[];
|
||||
extern const u32 gBattleAnimSpritePal_TeraStarstormBeam[];
|
||||
extern const u32 gBattleAnimSpriteGfx_SaltParticle[];
|
||||
extern const u32 gBattleAnimSpritePal_SaltParticle[];
|
||||
|
||||
extern const u32 gBattleAnimBgImage_Dark[];
|
||||
extern const u32 gBattleAnimBgImage_Ghost[];
|
||||
|
||||
@ -1502,6 +1502,12 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite)
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
}
|
||||
|
||||
// arg0: start x offset
|
||||
// arg1: start y offset
|
||||
// arg2: end x offset
|
||||
// arg3: end y offset
|
||||
// arg4: duration
|
||||
// arg5: arc amplitude
|
||||
void AnimThrowProjectile(struct Sprite *sprite)
|
||||
{
|
||||
InitSpritePosToAnimAttacker(sprite, TRUE);
|
||||
|
||||
@ -1379,3 +1379,14 @@ void AnimPsychoBoost(struct Sprite *sprite)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
const struct SpriteTemplate gTachyonCutterSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_CUT,
|
||||
.paletteTag = ANIM_TAG_BUBBLE,
|
||||
.oam = &gOamData_AffineOff_ObjBlend_32x32,
|
||||
.anims = gCuttingSliceAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimCuttingSlice,
|
||||
};
|
||||
|
||||
@ -1026,3 +1026,25 @@ void AnimTask_SeismicTossBgAccelerateDownAtEnd(u8 taskId)
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
const struct SpriteTemplate gSaltCureCrystalSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_SALT_PARTICLE,
|
||||
.paletteTag = ANIM_TAG_SALT_PARTICLE,
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_16x16,
|
||||
.anims = gAnims_IceCrystalLarge,
|
||||
.images = NULL,
|
||||
.affineAnims = gAffineAnims_IceCrystalHit,
|
||||
.callback = AnimIceEffectParticle,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gSaltCureSwirlSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_SALT_PARTICLE,
|
||||
.paletteTag = ANIM_TAG_SALT_PARTICLE,
|
||||
.oam = &gOamData_AffineNormal_ObjBlend_16x16,
|
||||
.anims = gAnims_WaterMudOrb,
|
||||
.images = NULL,
|
||||
.affineAnims = gAffineAnims_Whirlpool,
|
||||
.callback = AnimParticleInVortex,
|
||||
};
|
||||
|
||||
@ -1467,6 +1467,7 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] =
|
||||
{gBattleAnimSpriteGfx_PurpleChain, 0x1000, ANIM_TAG_PURPLE_CHAIN},
|
||||
{gBattleAnimSpriteGfx_PinkVioletOrb, 0x0080, ANIM_TAG_PINKVIO_ORB},
|
||||
{gBattleAnimSpriteGfx_TeraStarstormBeam, 0x200, ANIM_TAG_STARSTORM},
|
||||
{gBattleAnimSpriteGfx_SaltParticle, 0x400, ANIM_TAG_SALT_PARTICLE},
|
||||
};
|
||||
|
||||
const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
|
||||
@ -1935,6 +1936,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
|
||||
{gBattleAnimSpritePal_PurpleChain, ANIM_TAG_PURPLE_CHAIN},
|
||||
{gBattleAnimSpritePal_PinkVioletOrb, ANIM_TAG_PINKVIO_ORB},
|
||||
{gBattleAnimSpritePal_TeraStarstormBeam, ANIM_TAG_STARSTORM},
|
||||
{gBattleAnimSpritePal_SaltParticle, ANIM_TAG_SALT_PARTICLE},
|
||||
};
|
||||
|
||||
const struct BattleAnimBackground gBattleAnimBackgroundTable[] =
|
||||
|
||||
@ -1290,6 +1290,9 @@ const u32 gBattleAnimSpritePal_FlatRock[] = INCBIN_U32("graphics/battle_anims/sp
|
||||
const u32 gBattleAnimSpriteGfx_TeraStarstormBeam[] = INCBIN_U32("graphics/battle_anims/sprites/starstorm_beam.4bpp.lz");
|
||||
const u32 gBattleAnimSpritePal_TeraStarstormBeam[] = INCBIN_U32("graphics/battle_anims/sprites/starstorm_beam.gbapal.lz");
|
||||
|
||||
const u32 gBattleAnimSpriteGfx_SaltParticle[] = INCBIN_U32("graphics/battle_anims/sprites/salt_particle.4bpp.lz");
|
||||
const u32 gBattleAnimSpritePal_SaltParticle[] = INCBIN_U32("graphics/battle_anims/sprites/salt_particle.gbapal.lz");
|
||||
|
||||
const u32 gBattleAnimUnusedPal_Unknown2[] = INCBIN_U32("graphics/battle_anims/unused/unknown_2.gbapal.lz");
|
||||
|
||||
#include "data/graphics/trainers.h"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user