pokemon-showdown/test/sim/moves/teattime.js
2020-04-15 21:27:45 -07:00

88 lines
2.8 KiB
JavaScript

'use strict';
const assert = require('./../../assert');
const common = require('./../../common');
let battle;
describe('Teatime', function () {
afterEach(function () {
battle.destroy();
});
it('should force all Pokemon to eat their Berries immediately', function () {
battle = common.createBattle({gameType: 'doubles'}, [[
{species: 'wynaut', item: 'sitrusberry', moves: ['sleeptalk']},
{species: 'wynaut', item: 'aguavberry', moves: ['sleeptalk']},
], [
{species: 'wynaut', item: 'lumberry', moves: ['sleeptalk']},
{species: 'wynaut', item: 'sitrusberry', moves: ['teatime']},
]]);
battle.makeChoices();
assert.equal(battle.p1.pokemon[0].item, '');
assert.equal(battle.p1.pokemon[1].item, '');
assert.equal(battle.p2.pokemon[0].item, '');
assert.equal(battle.p2.pokemon[1].item, '');
});
it('should force Pokemon to eat Berries while affected by Unnerve', function () {
battle = common.createBattle([[
{species: 'wynaut', item: 'sitrusberry', moves: ['sleeptalk']},
], [
{species: 'wynaut', ability: 'unnerve', moves: ['teatime']},
]]);
battle.makeChoices();
assert.equal(battle.p1.pokemon[0].item, '');
});
it('should force Pokemon to eat Berries while Magic Room is active', function () {
battle = common.createBattle([[
{species: 'wynaut', item: 'sitrusberry', evs: {spe: 252}, moves: ['magicroom']},
], [
{species: 'wynaut', moves: ['teatime']},
]]);
battle.makeChoices();
assert.equal(battle.p1.pokemon[0].item, '');
});
it('should force Pokemon with Klutz to eat Berries', function () {
battle = common.createBattle([[
{species: 'wynaut', item: 'sitrusberry', ability: 'klutz', moves: ['sleeptalk']},
], [
{species: 'wynaut', moves: ['teatime']},
]]);
battle.makeChoices();
assert.equal(battle.p1.pokemon[0].item, '');
});
it('should force Pokemon with Substitute to eat Berries', function () {
battle = common.createBattle([[
{species: 'wynaut', item: 'sitrusberry', evs: {spe: 252}, moves: ['substitute']},
], [
{species: 'wynaut', moves: ['teatime']},
]]);
battle.makeChoices();
assert.equal(battle.p1.pokemon[0].item, '');
});
it('should not cause Pokemon in the semi-invulernable state to eat their Berries', function () {
battle = common.createBattle([[
{species: 'wynaut', item: 'sitrusberry', evs: {spe: 252}, moves: ['fly']},
], [
{species: 'wynaut', moves: ['teatime']},
]]);
battle.makeChoices();
assert.equal(battle.p1.pokemon[0].item, 'sitrusberry');
});
it('should not cause Recycle to fail to restore the Berry', function () {
battle = common.createBattle([[
{species: 'wynaut', item: 'sitrusberry', moves: ['recycle']},
], [
{species: 'wynaut', evs: {spe: 252}, moves: ['teatime']},
]]);
battle.makeChoices();
assert.equal(battle.p1.pokemon[0].item, 'sitrusberry');
});
});