mirror of
https://github.com/smogon/pokemon-showdown.git
synced 2026-05-17 10:46:53 -05:00
68 lines
2.2 KiB
JavaScript
68 lines
2.2 KiB
JavaScript
/**
|
|
* Tests for Gen 6 randomized formats
|
|
*/
|
|
'use strict';
|
|
|
|
const assert = require('../assert');
|
|
const {testNotBothMoves, testAlwaysHasMove, testHiddenPower, testSet} = require('./tools');
|
|
|
|
describe('[Gen 6] Random Battle', () => {
|
|
const options = {format: 'gen6randombattle'};
|
|
|
|
it('should not give mega evolution abilities to base formes', () => {
|
|
testSet('manectricmega', {rounds: 1, ...options}, set => {
|
|
assert(set.ability !== 'Intimidate', 'Mega Manectric should not have Intimidate before it mega evolves');
|
|
});
|
|
});
|
|
|
|
it('should not select Air Slash and Hurricane together', () => {
|
|
testNotBothMoves('swanna', options, 'hurricane', 'airslash');
|
|
});
|
|
|
|
it('should enforce STAB properly', () => {
|
|
testAlwaysHasMove('hariyama', options, 'closecombat');
|
|
testAlwaysHasMove('rapidash', options, 'flareblitz');
|
|
});
|
|
|
|
it('should give Drifblim only one Ghost-type attack', () => {
|
|
testSet('drifblim', options, set => {
|
|
assert.equal(set.moves.filter(m => {
|
|
const move = Dex.moves.get(m);
|
|
return move.type === 'Ghost' && move.category !== 'Status';
|
|
}).length, 1, `got ${JSON.stringify(set.moves)}`);
|
|
});
|
|
});
|
|
|
|
it('should prevent double Hidden Power', () => testHiddenPower('thundurustherian', options));
|
|
|
|
it('should always give Mega Glalie Return', () => testAlwaysHasMove('glaliemega', options, 'return'));
|
|
|
|
it('should not give Ursaring Eviolite', () => {
|
|
testSet('ursaring', options, set => assert.notEqual(set.item, 'Eviolite'));
|
|
});
|
|
|
|
it('should always give Quagsire Unaware', () => {
|
|
testSet('quagsire', options, set => assert.equal(set.ability, 'Unaware'));
|
|
});
|
|
|
|
it('should always give Quagsire Recover', () => {
|
|
testAlwaysHasMove('quagsire', options, 'recover');
|
|
});
|
|
|
|
it('should not give Raikou Volt Absorb', () => {
|
|
testSet('raikou', options, set => assert.notEqual(set.ability, 'Volt Absorb'));
|
|
});
|
|
|
|
it('should not give Suicune Water Absorb', () => {
|
|
testSet('suicune', options, set => assert.notEqual(set.ability, 'Water Absorb'));
|
|
});
|
|
|
|
it('should not give Entei Flash Fire', () => {
|
|
testSet('entei', options, set => assert.notEqual(set.ability, 'Flash Fire'));
|
|
});
|
|
|
|
it('should only give Charizard one of Air Slash and Acrobatics', () => {
|
|
testNotBothMoves('charizard', options, 'airslash', 'acrobatics');
|
|
});
|
|
});
|