pokemon-showdown/test/sim/misc/recoil.js

23 lines
829 B
JavaScript

'use strict';
const assert = require('./../../assert');
const common = require('./../../common');
let battle;
describe('Recoil', function () {
afterEach(function () {
battle.destroy();
});
it('should deal damage to the user after an attack depending on the damage dealt', function () {
battle = common.createBattle();
battle.setPlayer('p1', {team: [{species: "Kartana", ability: 'compoundeyes', moves: ['headcharge', 'doubleedge', 'headsmash']}]});
battle.setPlayer('p2', {team: [{species: "Happiny", level: 50, ability: 'sturdy', moves: ['strengthsap']}]});
const recoilFactors = [0.25, 0.33, 0.5];
for (let i = 0; i < 3; i++) {
assert.hurtsBy(battle.p1.active[0], Math.round((battle.p2.active[0].maxhp - 1) * recoilFactors[i]), () => battle.makeChoices(`move ${i + 1}`, `move strengthsap`));
}
});
});