diff --git a/sim/battle-actions.ts b/sim/battle-actions.ts index 4128c3f85d54..b0bed7756af9 100644 --- a/sim/battle-actions.ts +++ b/sim/battle-actions.ts @@ -1667,10 +1667,12 @@ export class BattleActions { basePower = 0; } + const dexMove = this.dex.moves.get(move.id); if ( - basePower < 60 && source.getTypes(true).includes(move.type) && source.terastallized && move.priority <= 0 && + basePower < 60 && source.getTypes(true).includes(move.type) && source.terastallized && + dexMove.priority <= 0 && !dexMove.multihit && // Hard move.basePower check for moves like Dragon Energy that have variable BP - !move.multihit && !((move.basePower === 0 || move.basePower === 150) && move.basePowerCallback) + !((move.basePower === 0 || move.basePower === 150) && move.basePowerCallback) ) { basePower = 60; } diff --git a/test/sim/misc/terastal.js b/test/sim/misc/terastal.js index 85642c411d8d..e407e1d96e9d 100644 --- a/test/sim/misc/terastal.js +++ b/test/sim/misc/terastal.js @@ -166,6 +166,21 @@ describe("Terastallization", function () { battle.makeChoices('move leafage terastallize', 'auto'); assert.bounded(arceus.maxhp - arceus.hp, [38, 45], `Should be a 40 BP no-STAB Leafage`); }); + + it(`shouldn't boost <60 Base Power priority moves forced via Encore`, function () { + battle = common.createBattle([[ + {species: 'hariyama', moves: ['bulletpunch', 'sleeptalk'], teraType: 'Steel'}, + ], [ + {species: 'salazzle ', moves: ['encore', 'sleeptalk']}, + ]]); + + battle.makeChoices('move bulletpunch terastallize', 'move sleeptalk'); + const salazzle = battle.p2.active[0]; + assert.bounded(salazzle.maxhp - salazzle.hp, [38, 45], `Should be a 40 BP STAB Bullet Punch`); + salazzle.hp = salazzle.maxhp; + battle.makeChoices('move sleeptalk', 'move encore'); + assert.bounded(salazzle.maxhp - salazzle.hp, [38, 45], `Should be a 40 BP STAB Bullet Punch`); + }); }); it("should combine with Adaptability for an overall STAB of x2.25", () => {