mirror of
https://github.com/smogon/pokemon-showdown.git
synced 2026-05-17 18:51:43 -05:00
* Improve Volcalith tests readability * Add G-Max Volcalith recoil damage order test * Add 1 HP priority tests * Add charge move targeting test * Correct assertions of Ripen / Sturdy * Skip failing tests * Add Volcalith Black Sludge test * Add Pressure Max / Z-move tests * Add Pressure submove test * Add NGas speed test * Skip NGas speed test * Add White Herb double Intimidate test * Remove debug log * Remove duplicate Pressure test * Improve White Herb Intimidate test title * Add Rollout Storage tests * Add spread move Rollout storage test * Add Magician Weakness Policy test * Add Sleep tests * Add Shell Bell spread move test * Add Synchronize Lum Berry test * oh yeah it doesn't work * Remove duplicate test * Add Sunsteel Strike tests * Add Leech Seed ally switch test * Add Primal weather Natural Gift test * Add Emergency Exit hazards test * Add generic hazards tests * Add and standardize Arceus tests * Add Transform ability test * Add and standardize Parting Shot tests * Add Memento tests * Add Me First test * Add Cursed Body Z-move test * Add Assurance targeting test * Clarify Assurance test description * Add double faint switch test * Add Receiver KO boost ability * Add double Unnerve test * Add Dynamax Eject Pack test * Improve Dynamax forced switchout test * Add Protective Pads Perish Body test * Add Sticky Web Pressure test * Add Speed modifier lower bound test * Add Cloud Nine Hydration test * Correct Cursed Body test * Add Grassy Terrain Leftovers test * Remove leftover debug * Add additional Receiver and Soul-Heart tests * Add Spite tests * mish * Add Shell Bell multihit test * Add WP Dragon Tail test Co-authored-by: The Immortal <the_immortal123@live.com>
59 lines
2.6 KiB
JavaScript
59 lines
2.6 KiB
JavaScript
'use strict';
|
|
|
|
const assert = require('./../../assert');
|
|
const common = require('./../../common');
|
|
|
|
let battle;
|
|
|
|
describe(`Parting Shot`, function () {
|
|
afterEach(function () {
|
|
battle.destroy();
|
|
});
|
|
|
|
it(`should not switch the user out if the target's stats are not changed`, function () {
|
|
battle = common.createBattle([[
|
|
{species: 'Silvally', ability: 'prankster', moves: ['partingshot', 'splash']},
|
|
{species: 'Type: Null', ability: 'battlearmor', moves: ['return']},
|
|
], [
|
|
{species: 'Registeel', ability: 'clearbody', moves: ['splash']},
|
|
{species: 'Solgaleo', ability: 'fullmetalbody', moves: ['splash']},
|
|
{species: 'Torkoal', ability: 'whitesmoke', moves: ['splash']},
|
|
{species: 'Shaymin', ability: 'flowerveil', moves: ['splash']},
|
|
{species: 'Kingler', ability: 'hypercutter', moves: ['splash']},
|
|
{species: 'Spinda', ability: 'contrary', moves: ['splash', 'partingshot']},
|
|
]]);
|
|
battle.makeChoices('move partingshot', 'move splash');
|
|
assert.equal(battle.requestState, 'move');
|
|
battle.makeChoices('move partingshot', 'switch 2'); // Solgaleo
|
|
assert.equal(battle.requestState, 'move');
|
|
battle.makeChoices('move partingshot', 'switch 3'); // Torkoal
|
|
assert.equal(battle.requestState, 'move');
|
|
battle.makeChoices('move partingshot', 'switch 4'); // Shaymin
|
|
assert.equal(battle.requestState, 'move');
|
|
battle.makeChoices('move splash', 'switch 5'); // Kingler
|
|
battle.p2.active[0].boostBy({spa: -6}); // hack Kingler's Sp. Atk to -6; Hyper Cutter & -6 Sp. Atk
|
|
battle.makeChoices('move partingshot', 'move splash');
|
|
assert.equal(battle.requestState, 'move');
|
|
battle.makeChoices('move splash', 'switch 6'); // Spinda
|
|
battle.p2.active[0].boostBy({atk: 6, spa: 6}); // hack Contrary Spinda to +6 Atk / +6 Sp. Atk
|
|
battle.makeChoices('move partingshot', 'move splash');
|
|
assert.equal(battle.requestState, 'move');
|
|
battle.p1.active[0].boostBy({atk: -6, spa: -6});
|
|
battle.makeChoices('move splash', 'move partingshot'); // Spinda's Parting Shot against Silvally this time
|
|
assert.equal(battle.requestState, 'move');
|
|
});
|
|
|
|
it(`should set the Z-Parting Shot healing flag even if the Parting Shot itself was not successful`, function () {
|
|
battle = common.createBattle([[
|
|
{species: 'landorus', ability: 'noguard', moves: ['sleeptalk']},
|
|
{species: 'persian-alola', ability: 'noguard', item: 'darkiniumz', moves: ['partingshot']},
|
|
], [
|
|
{species: 'wynaut', ability: 'clearbody', moves: ['circlethrow']},
|
|
]]);
|
|
battle.makeChoices();
|
|
battle.makeChoices('move partingshot zmove', 'auto');
|
|
const landorus = battle.p1.active[0];
|
|
assert.fullHP(landorus);
|
|
});
|
|
});
|