Jofthomas's picture
Jofthomas HF staff
Upload 4781 files
5c2ed06 verified
'use strict';
const assert = require('./../../assert');
const common = require('./../../common');
let battle;
describe('Arena Trap', () => {
afterEach(() => {
battle.destroy();
});
it('should prevent grounded Pokemon that are not immune to trapping from switching out normally', function () {
this.timeout(0);
battle = common.createBattle([[
{ species: "Dugtrio", ability: 'arenatrap', moves: ['snore', 'telekinesis', 'gravity'] },
], [
{ species: "Tornadus", ability: 'defiant', moves: ['tailwind'] },
{ species: "Heatran", ability: 'flashfire', item: 'airballoon', moves: ['roar'] },
{ species: "Claydol", ability: 'levitate', moves: ['rest'] },
{ species: "Dusknoir", ability: 'frisk', moves: ['rest'] },
{ species: "Magnezone", ability: 'magnetpull', moves: ['magnetrise'] },
{ species: "Vaporeon", ability: 'waterabsorb', moves: ['roar'] },
]]);
const p2active = battle.p2.active;
battle.makeChoices('move snore', 'switch 2');
assert.species(p2active[0], 'Heatran');
battle.makeChoices('move snore', 'switch 3');
assert.species(p2active[0], 'Claydol');
battle.makeChoices('move snore', 'switch 4');
assert.species(p2active[0], 'Dusknoir');
battle.makeChoices('move snore', 'switch 5');
assert.species(p2active[0], 'Magnezone');
assert.trapped(() => battle.makeChoices('', 'switch 6'), true);
assert.species(p2active[0], 'Magnezone'); // Magnezone is trapped
assert.equal(p2active[0].name, "Magnezone");
battle.makeChoices('default', 'move magnetrise');
battle.makeChoices('move snore', 'switch 6');
assert.species(p2active[0], 'Vaporeon');
assert.trapped(() => battle.makeChoices('default', 'switch 2'), true); // Vaporeon is trapped
assert.species(p2active[0], 'Vaporeon');
battle.makeChoices('move telekinesis', 'default'); // Telekinesis
battle.makeChoices('move snore', 'switch 2');
assert.species(p2active[0], 'Tornadus');
battle.makeChoices('move gravity', 'default'); // Gravity
assert.trapped(() => battle.makeChoices('', 'switch 4'), true); // Tornadus is trapped
assert.species(p2active[0], 'Tornadus');
});
});