From f0e10dadaad79c8d7eb6b5545fcb8b2110e6cdac Mon Sep 17 00:00:00 2001 From: urkerab Date: Thu, 18 May 2017 05:08:44 +0100 Subject: [PATCH] Track moves from Transform more accurately (#923) --- js/battle.js | 9 ++++++++- js/client-battle-tooltips.js | 7 +++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/js/battle.js b/js/battle.js index 4d5d0f371..a09a9459a 100644 --- a/js/battle.js +++ b/js/battle.js @@ -508,7 +508,10 @@ var Pokemon = (function () { if (pp === undefined) pp = 1; moveName = Tools.getMove(moveName).name; if (moveName === 'Struggle') return; - if (this.volatiles.transform) moveName = '*' + moveName; + if (this.volatiles.transform) { + this.volatiles.transform[2].markMove(moveName, 0); + moveName = '*' + moveName; + } for (var i = 0; i < this.moveTrack.length; i++) { if (moveName === this.moveTrack[i][0]) { this.moveTrack[i][1] += pp; @@ -4684,6 +4687,10 @@ var Battle = (function () { poke.copyTypesFrom(tpoke); poke.ability = tpoke.ability; poke.volatiles.formechange[2] = (tpoke.volatiles.formechange ? tpoke.volatiles.formechange[2] : tpoke.species); + poke.volatiles.transform[2] = tpoke; + for (var i = 0; i < tpoke.moveTrack.length; i++) { + poke.moveTrack.push(['*' + tpoke.moveTrack[i][0], 0]); + } this.resultAnim(poke, 'Transformed', 'good'); break; case '-formechange': diff --git a/js/client-battle-tooltips.js b/js/client-battle-tooltips.js index 7f16250eb..7ee8ed428 100644 --- a/js/client-battle-tooltips.js +++ b/js/client-battle-tooltips.js @@ -772,8 +772,7 @@ var BattleTooltips = (function () { var ppUsed = moveTrackRow[1]; var move, maxpp; if (moveName.charAt(0) === '*') { - moveName = moveName.substr(1); - move = Tools.getMove(moveName); + move = Tools.getMove(moveName.substr(1)); maxpp = 5; } else { move = Tools.getMove(moveName); @@ -785,8 +784,8 @@ var BattleTooltips = (function () { maxpp = Math.floor(maxpp * 8 / 5); } if (ppUsed === Infinity) return move.name + ' (0/' + maxpp + ')'; - if (!ppUsed) return move.name + (showKnown ? ' (revealed)' : ''); - return move.name + ' (' + (maxpp - ppUsed) + '/' + maxpp + ')'; + if (ppUsed || moveName.charAt(0) === '*') return move.name + ' (' + (maxpp - ppUsed) + '/' + maxpp + ')'; + return move.name + (showKnown ? ' (revealed)' : ''); }; // Functions to calculate speed ranges of an opponent.