diff --git a/data/graphics.js b/data/graphics.js index b18219009..760492d83 100644 --- a/data/graphics.js +++ b/data/graphics.js @@ -1196,6 +1196,44 @@ var BattleOtherAnims = { attacker.anim({x: attacker.x}); } }, + consume: { + anim: function (battle, args) { + var defender = args[0]; + + battle.showEffect('wisp', { + x: defender.leftof(-25), + y: defender.y + 40, + z: defender.behind(-20), + scale: 0.2, + opacity: 1 + }, { + x: defender.leftof(-15), + y: defender.y + 35, + z: defender.z, + scale: 0, + opacity: 0.2, + time: 400 + }, 'swing', 'fade'); + + defender.delay(400); + defender.anim({ + y: defender.y + 5, + yscale: 1.1, + time: 200 + }, 'swing'); + defender.anim({ + time: 200 + }, 'swing'); + defender.anim({ + y: defender.y + 5, + yscale: 1.1, + time: 200 + }, 'swing'); + defender.anim({ + time: 200 + }, 'swing'); + } + }, leech: { anim: function (battle, args) { var attacker = args[0]; diff --git a/js/battle.js b/js/battle.js index 360a0d243..7c6012fc7 100644 --- a/js/battle.js +++ b/js/battle.js @@ -4336,6 +4336,7 @@ var Battle = (function () { // do nothing } else if (kwargs.eat) { poke.prevItemEffect = 'eaten'; + if (!this.fastForward) BattleOtherAnims.consume.anim(this, [poke.sprite]); actions += '' + poke.getName() + ' ate its ' + item.name + '!'; this.lastmove = item.id; } else if (kwargs.weaken) {