File size: 1,563 Bytes
5c2ed06
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
'use strict';

const assert = require('./../../assert');
const common = require('./../../common');

let battle;

describe('Quick Claw', () => {
	afterEach(() => {
		battle.destroy();
	});

	it(`[Gen 2] shares its activation roll with every holder on any given turn`, () => {
		battle = common.gen(2).createBattle({ seed: [1, 2, 3, 27] }, [[
			{ species: 'snorlax', item: 'quickclaw', moves: ['sleeptalk'] },
		], [
			{ species: 'mewtwo', item: 'quickclaw', moves: ['sleeptalk'] },
		]]);

		const snorlax = battle.p1.active[0];
		const mewtwo = battle.p2.active[0];
		battle.makeChoices(); // Quick Claw activates
		assert.equal(snorlax.speed, mewtwo.speed);
		battle.makeChoices(); // Quick Claw activates
		assert.equal(snorlax.speed, mewtwo.speed);
		battle.makeChoices(); // Quick Claw does not activate
		assert.notEqual(snorlax.speed, mewtwo.speed);
	});

	it(`[Gen 3] causes Speed ties with every holder when activated`, () => {
		battle = common.gen(3).createBattle({ seed: [163, 106, 112, 542] }, [[
			{ species: 'snorlax', item: 'quickclaw', moves: ['spore'] },
		], [
			{ species: 'deoxys', item: 'quickclaw', moves: ['seismictoss'] },
		]]);

		const snorlax = battle.p1.active[0];
		const deoxys = battle.p2.active[0];
		battle.quickClawRoll = true;
		battle.makeChoices();
		assert.fullHP(snorlax); // Snorlax wins the tie
		assert.equal(snorlax.speed, deoxys.speed);
		battle.quickClawRoll = true;
		battle.makeChoices();
		assert.false.fullHP(snorlax); // Deoxys wakes up and wins the tie
		assert.equal(snorlax.speed, deoxys.speed);
	});
});