From af903221e732a0b09f34763b3d35c0581995bd19 Mon Sep 17 00:00:00 2001 From: Ridaz Date: Sun, 1 Apr 2018 09:11:28 +0100 Subject: [PATCH] Update move animations --- data/graphics.js | 19 +++++++++++++++++++ fx/hitmarker.png | Bin 0 -> 59150 bytes js/battle.js | 7 +++++++ 3 files changed, 26 insertions(+) create mode 100644 fx/hitmarker.png diff --git a/data/graphics.js b/data/graphics.js index 9d6e2741a6..61e4f6b1c9 100644 --- a/data/graphics.js +++ b/data/graphics.js @@ -234,6 +234,10 @@ var BattleEffects = { url: 'ultra.png', // by Pokemon Showdown user Modeling Clay w: 113, h: 165 }, + hitmark: { + url: 'hitmarker.png', // by Pokemon Showdown user Ridaz + w: 100, h: 100 + }, none: { // this is for passing to battle.pos() and battle.posT() for CSS effects w: 100, h: 100 @@ -2873,6 +2877,21 @@ var BattleOtherAnims = { } }; var BattleStatusAnims = { + hitmark: { + anim: function (battle, args) { + var attacker = args[0]; + battle.showEffect('hitmark', { + x: attacker.x, + y: attacker.y, + z: attacker.z, + scale: 0.5, + opacity: 1 + }, { + opacity: 0.5, + time: 250 + }, 'linear', 'fade'); + } + }, brn: { anim: function (battle, args) { var attacker = args[0]; diff --git a/fx/hitmarker.png b/fx/hitmarker.png new file mode 100644 index 0000000000000000000000000000000000000000..5a16a2892365546c487fc6f060a67b48bb9c95ef GIT binary patch literal 59150 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 literal 0 HcmV?d00001 diff --git a/js/battle.js b/js/battle.js index 31d718e227..325c63ffbc 100644 --- a/js/battle.js +++ b/js/battle.js @@ -3485,6 +3485,12 @@ var Battle = (function () { } else if (window.Config && Config.server && Config.server.afd && move.id === 'stealthrock') { var srNames = ['Sneaky Pebbles', 'Sly Rubble', 'Subtle Sediment', 'Buried Bedrock', 'Camouflaged Cinnabar', 'Clandestine Cobblestones', 'Cloaked Clay', 'Concealed Ore', 'Covert Crags', 'Crafty Coal', 'Discreet Bricks', 'Disguised Debris', 'Espionage Pebbles', 'Furtive Fortress', 'Hush-Hush Hardware', 'Incognito Boulders', 'Invisible Quartz', 'Masked Minerals', 'Mischievous Masonry', 'Obscure Ornaments', 'Private Paragon', 'Secret Solitaire', 'Sheltered Sand', 'Surreptitious Sapphire', 'Undercover Ultramarine']; this.message(pokemon.getName() + ' used ' + srNames[Math.floor(Math.random() * srNames.length)] + '!'); + } else if (window.Config && Config.server && Config.server.afd && move.id === 'extremespeed') { + var fastWords = ['H-Hayai', 'Masaka', 'Its fast'] + this.message(pokemon.getName() + ' used ' + move.name + '!'); + this.message('' + fastWords[Math.floor(Math.random() * fastWords.length)] + '!'); + } else if (window.Config && Config.server && Config.server.afd && move.id === 'aerialace') { + this.message(pokemon.getName() + ' used Tsubame Gaeshi!'); // } else if (window.Config && Config.server && Config.server.afd && (move.id === 'metronome' || move.id === 'sleeptalk' || move.id === 'assist')) { // this.message(pokemon.getName() + ' used ' + move.name + '!'); // var buttons = ["A", "B", "START", "SELECT", "UP", "DOWN", "LEFT", "RIGHT", "DEMOCRACY", "ANARCHY"]; @@ -4197,6 +4203,7 @@ var Battle = (function () { var poke = this.getPokemon(args[1]); for (var j = 1; !poke && j < 10; j++) poke = this.getPokemon(minors[i + j][0][1]); if (poke) this.resultAnim(poke, 'Super-effective', 'bad'); + if (!this.fastForward) BattleStatusAnims['hitmark'].anim(this, [poke.sprite]); actions += "It's super effective" + (this.activeMoveIsSpread ? " on " + poke.getLowerName() : "") + "! "; break;