diff --git a/play.pokemonshowdown.com/src/battle-animations-moves.ts b/play.pokemonshowdown.com/src/battle-animations-moves.ts index 72c4c62151..4ee7fd2cce 100644 --- a/play.pokemonshowdown.com/src/battle-animations-moves.ts +++ b/play.pokemonshowdown.com/src/battle-animations-moves.ts @@ -36468,6 +36468,96 @@ export const BattleMoveAnims: AnimTable = { }, 'swing'); }, }, + spiritbreak: { + anim(scene, [attacker, defender]) { + scene.backgroundEffect('#000000', 1000, 0.3); + + scene.showEffect('mistball', { + x: defender.x, + y: defender.y, + z: defender.z, + scale: 0.4, + time: 425, + opacity: 0.2, + }, { + scale: 0.6, + time: 750, + opacity: 1, + }, 'decel', 'fade'); + scene.showEffect('mistball', { + x: defender.x, + y: defender.y, + z: defender.z, + scale: 0.6, + time: 750, + opacity: 1, + }, { + time: 1000, + scale: 2.5, + opacity: 0.2, + }, 'decel', 'explode'); + + scene.showEffect('iceball', { + x: defender.x, + y: defender.y, + z: defender.z, + scale: 2, + time: 850, + opacity: 0.4, + }, { + time: 1000, + scale: 3, + opacity: 0.1, + }, 'decel', 'explode'); + + scene.showEffect('shine', { + x: defender.x, + y: defender.y, + z: defender.z, + time: 750, + scale: 0.8, + }, { + opacity: 0.4, + time: 800, + }, 'decel', 'explode', {filter: 'invert(1)'}); + scene.showEffect('impact', { + x: defender.x, + y: defender.y, + z: defender.z, + time: 875, + scale: 0.8, + }, { + opacity: 0.4, + time: 925, + }, 'decel', 'explode', {filter: 'brightness(50%)'}); + + attacker.anim({ + x: defender.leftof(20), + y: defender.y, + z: defender.behind(-20), + time: 400, + }, 'ballistic2Under'); + attacker.anim({ + x: defender.x, + y: defender.y, + z: defender.z, + time: 50, + }); + attacker.anim({ + time: 500, + }, 'ballistic2'); + defender.delay(750); + defender.anim({ + x: defender.leftof(15), + y: defender.y, + z: defender.behind(20), + time: 50, + }, 'swing'); + defender.anim({ + time: 200, + }, 'swing'); + }, + }, }; // placeholder animations @@ -36791,7 +36881,6 @@ BattleMoveAnims['branchpoke'] = {anim: BattleMoveAnims['vinewhip'].anim}; BattleMoveAnims['overdrive'] = {anim: BattleMoveAnims['discharge'].anim}; BattleMoveAnims['appleacid'] = {anim: BattleMoveAnims['energyball'].anim}; BattleMoveAnims['gravapple'] = {anim: BattleMoveAnims['energyball'].anim}; -BattleMoveAnims['spiritbreak'] = {anim: BattleMoveAnims['moonblast'].anim}; BattleMoveAnims['obstruct'] = {anim: BattleMoveAnims['kingsshield'].anim}; BattleMoveAnims['maxguard'] = {anim: BattleMoveAnims['banefulbunker'].anim}; BattleMoveAnims['falsesurrender'] = {anim: BattleMoveAnims['feintattack'].anim};