@pkmn/randoms 0.6.4 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/gen2.js DELETED
@@ -1,289 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RandomGen2Teams = void 0;
4
- const gen3_1 = require("./gen3");
5
- class RandomGen2Teams extends gen3_1.RandomGen3Teams {
6
- constructor(dex, format, prng) {
7
- super(dex, format, prng);
8
- this.moveEnforcementCheckers = {
9
- Electric: (movePool, moves, abilities, types, counter) => !counter.get('Electric'),
10
- Fire: (movePool, moves, abilities, types, counter) => !counter.get('Fire'),
11
- Ground: (movePool, moves, abilities, types, counter) => !counter.get('Ground'),
12
- Ice: (movePool, moves, abilities, types, counter) => !counter.get('Ice'),
13
- Normal: (movePool, moves, abilities, types, counter) => !counter.get('Normal') && counter.setupType === 'Physical',
14
- Psychic: (movePool, moves, abilities, types, counter) => !counter.get('Psychic') && types.has('Grass'),
15
- Rock: (movePool, moves, abilities, types, counter, species) => !counter.get('Rock') && species.baseStats.atk > 60,
16
- Water: (movePool, moves, abilities, types, counter) => !counter.get('Water'),
17
- };
18
- }
19
- shouldCullMove(move, types, moves, abilities = {}, counter, movePool, teamDetails) {
20
- const restTalk = moves.has('rest') && moves.has('sleeptalk');
21
- switch (move.id) {
22
- // Set up once and only if we have the moves for it
23
- case 'bellydrum':
24
- case 'curse':
25
- case 'meditate':
26
- case 'screech':
27
- case 'swordsdance':
28
- return {
29
- cull: ((counter.setupType !== 'Physical' || counter.get('physicalsetup') > 1) ||
30
- (!counter.get('Physical') || counter.damagingMoves.size < 2 && !moves.has('batonpass') && !moves.has('sleeptalk'))),
31
- isSetup: true,
32
- };
33
- // Not very useful without their supporting moves
34
- case 'batonpass':
35
- return { cull: !counter.setupType && !counter.get('speedsetup') && !moves.has('meanlook') };
36
- case 'meanlook':
37
- return { cull: movePool.includes('perishsong') };
38
- case 'nightmare':
39
- return { cull: !moves.has('lovelykiss') && !moves.has('sleeppowder') };
40
- case 'swagger':
41
- return { cull: !moves.has('substitute') };
42
- // Bad after setup
43
- case 'charm':
44
- case 'counter':
45
- return { cull: !!counter.setupType };
46
- case 'haze':
47
- return { cull: !!counter.setupType || restTalk };
48
- case 'reflect':
49
- case 'lightscreen':
50
- return { cull: !!counter.setupType || moves.has('rest') };
51
- // Ineffective to have both
52
- case 'doubleedge':
53
- return { cull: moves.has('bodyslam') || moves.has('return') };
54
- case 'explosion':
55
- case 'selfdestruct':
56
- return { cull: moves.has('softboiled') || restTalk };
57
- case 'extremespeed':
58
- return { cull: moves.has('bodyslam') || restTalk };
59
- case 'hyperbeam':
60
- return { cull: moves.has('rockslide') };
61
- case 'quickattack':
62
- return { cull: moves.has('rest') };
63
- case 'rapidspin':
64
- return { cull: !!teamDetails.rapidSpin || moves.has('sleeptalk') };
65
- case 'return':
66
- return { cull: moves.has('bodyslam') };
67
- case 'surf':
68
- return { cull: moves.has('hydropump') };
69
- case 'thunder':
70
- return { cull: moves.has('thunderbolt') };
71
- case 'gigadrain':
72
- return { cull: moves.has('razorleaf') || moves.has('swordsdance') && movePool.includes('sludgebomb') };
73
- case 'icebeam':
74
- return { cull: moves.has('dragonbreath') };
75
- case 'seismictoss':
76
- return { cull: moves.has('rest') || moves.has('sleeptalk') };
77
- case 'destinybond':
78
- return { cull: moves.has('explosion') };
79
- case 'pursuit':
80
- return { cull: moves.has('crunch') && moves.has('solarbeam') };
81
- case 'thief':
82
- return { cull: moves.has('rest') || moves.has('substitute') };
83
- case 'irontail':
84
- return { cull: types.has('Ground') && movePool.includes('earthquake') };
85
- // Status and illegal move rejections
86
- case 'confuseray':
87
- case 'roar':
88
- case 'whirlwind':
89
- return { cull: restTalk };
90
- case 'encore':
91
- return { cull: moves.has('bodyslam') || moves.has('surf') || restTalk };
92
- case 'lovelykiss':
93
- return { cull: ['healbell', 'moonlight', 'morningsun'].some(m => moves.has(m)) || restTalk };
94
- case 'sleeptalk':
95
- return { cull: moves.has('curse') && counter.get('stab') >= 2 };
96
- case 'softboiled':
97
- return { cull: movePool.includes('swordsdance') };
98
- case 'spikes':
99
- return { cull: !!teamDetails.spikes || types.has('Ice') && moves.has('rapidspin') };
100
- case 'substitute':
101
- return { cull: moves.has('agility') || moves.has('rest') };
102
- case 'synthesis':
103
- return { cull: moves.has('explosion') };
104
- case 'thunderwave':
105
- return { cull: moves.has('thunder') || moves.has('toxic') };
106
- }
107
- return { cull: false };
108
- }
109
- getItem(ability, types, moves, counter, species) {
110
- // First, the high-priority items
111
- if (species.name === 'Ditto')
112
- return this.sample(['Metal Powder', 'Quick Claw']);
113
- if (species.name === 'Farfetch\u2019d')
114
- return 'Stick';
115
- if (species.name === 'Marowak')
116
- return 'Thick Club';
117
- if (species.name === 'Pikachu')
118
- return 'Light Ball';
119
- if (species.name === 'Unown')
120
- return 'Twisted Spoon';
121
- if (moves.has('thief'))
122
- return '';
123
- // Medium priority
124
- if (moves.has('rest') && !moves.has('sleeptalk'))
125
- return 'Mint Berry';
126
- if ((moves.has('bellydrum') || moves.has('swordsdance')) &&
127
- species.baseStats.spe >= 60 && !types.has('Ground') &&
128
- !moves.has('sleeptalk') && !moves.has('substitute') &&
129
- this.randomChance(1, 2)) {
130
- return 'Miracle Berry';
131
- }
132
- // Default to Leftovers
133
- return 'Leftovers';
134
- }
135
- randomSet(species, teamDetails = {}) {
136
- var _a, _b;
137
- species = this.dex.species.get(species);
138
- const movePool = (species.randomBattleMoves || Object.keys(this.dex.species.getLearnset(species.id))).slice();
139
- const rejectedPool = [];
140
- const moves = new Set();
141
- let ivs = { hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30 };
142
- let availableHP = 0;
143
- for (const setMoveid of movePool) {
144
- if (setMoveid.startsWith('hiddenpower'))
145
- availableHP++;
146
- }
147
- const types = new Set(species.types);
148
- let counter;
149
- // We use a special variable to track Hidden Power
150
- // so that we can check for all Hidden Powers at once
151
- let hasHiddenPower = false;
152
- do {
153
- // Choose next 4 moves from learnset/viable moves and add them to moves list:
154
- while (moves.size < this.maxMoveCount && movePool.length) {
155
- const moveid = this.sampleNoReplace(movePool);
156
- if (moveid.startsWith('hiddenpower')) {
157
- availableHP--;
158
- if (hasHiddenPower)
159
- continue;
160
- hasHiddenPower = true;
161
- }
162
- moves.add(moveid);
163
- }
164
- while (moves.size < this.maxMoveCount && rejectedPool.length) {
165
- const moveid = this.sampleNoReplace(rejectedPool);
166
- if (moveid.startsWith('hiddenpower')) {
167
- if (hasHiddenPower)
168
- continue;
169
- hasHiddenPower = true;
170
- }
171
- moves.add(moveid);
172
- }
173
- counter = this.queryMoves(moves, species.types, new Set(), movePool);
174
- // Iterate through the moves again, this time to cull them:
175
- for (const moveid of moves) {
176
- const move = this.dex.moves.get(moveid);
177
- let { cull, isSetup } = this.shouldCullMove(move, types, moves, {}, counter, movePool, teamDetails);
178
- // This move doesn't satisfy our setup requirements:
179
- if (counter.setupType === 'Physical' && move.category === 'Special' && !counter.get('Physical')) {
180
- cull = true;
181
- }
182
- // Reject Status, non-STAB, or low basepower moves
183
- const moveIsRejectable = ((move.category !== 'Status' || !move.flags.heal) &&
184
- // These moves cannot be rejected in favor of a forced move
185
- !['batonpass', 'sleeptalk', 'spikes', 'sunnyday'].includes(move.id) &&
186
- (move.category === 'Status' || !types.has(move.type) || (move.basePower && move.basePower < 40)));
187
- if (!cull && !isSetup && moveIsRejectable && (counter.setupType || !move.stallingMove)) {
188
- // There may be more important moves that this Pokemon needs
189
- if (
190
- // Pokemon should usually have at least one STAB move
191
- (!counter.get('stab') &&
192
- !counter.get('damage') &&
193
- !types.has('Ghost') &&
194
- counter.get('physicalpool') + counter.get('specialpool') > 0) || (movePool.includes('megahorn') || (movePool.includes('softboiled') && moves.has('present'))) ||
195
- // Rest + Sleep Talk should be selected together
196
- ((moves.has('rest') && movePool.includes('sleeptalk')) || (moves.has('sleeptalk') && movePool.includes('rest'))) ||
197
- // Sunny Day + Solar Beam should be selected together
198
- (moves.has('sunnyday') && movePool.includes('solarbeam') ||
199
- (moves.has('solarbeam') && movePool.includes('sunnyday'))) ||
200
- ['milkdrink', 'recover', 'spore'].some(m => movePool.includes(m))) {
201
- cull = true;
202
- }
203
- else {
204
- // Pokemon should have moves that benefit their typing
205
- for (const type of types) {
206
- if ((_b = (_a = this.moveEnforcementCheckers)[type]) === null || _b === void 0 ? void 0 : _b.call(_a, movePool, moves, new Set(), types, counter, species, teamDetails))
207
- cull = true;
208
- }
209
- }
210
- }
211
- // Remove rejected moves from the move list
212
- if (cull &&
213
- (movePool.length - availableHP || availableHP && (move.id === 'hiddenpower' || !hasHiddenPower))) {
214
- if (move.category !== 'Status' && !move.damage && (move.id !== 'hiddenpower' || !availableHP)) {
215
- rejectedPool.push(moveid);
216
- }
217
- moves.delete(moveid);
218
- if (moveid.startsWith('hiddenpower'))
219
- hasHiddenPower = false;
220
- break;
221
- }
222
- if (cull && rejectedPool.length) {
223
- moves.delete(moveid);
224
- if (moveid.startsWith('hiddenpower'))
225
- hasHiddenPower = false;
226
- break;
227
- }
228
- }
229
- } while (moves.size < this.maxMoveCount && (movePool.length || rejectedPool.length));
230
- // Adjust IVs for Hidden Power
231
- for (const setMoveid of moves) {
232
- if (!setMoveid.startsWith('hiddenpower'))
233
- continue;
234
- const hpType = setMoveid.substr(11, setMoveid.length);
235
- const hpIVs = {
236
- dragon: { def: 28 },
237
- ice: { def: 26 },
238
- psychic: { def: 24 },
239
- electric: { atk: 28 },
240
- grass: { atk: 28, def: 28 },
241
- water: { atk: 28, def: 26 },
242
- fire: { atk: 28, def: 24 },
243
- steel: { atk: 26 },
244
- ghost: { atk: 26, def: 28 },
245
- bug: { atk: 26, def: 26 },
246
- rock: { atk: 26, def: 24 },
247
- ground: { atk: 24 },
248
- poison: { atk: 24, def: 28 },
249
- flying: { atk: 24, def: 26 },
250
- fighting: { atk: 24, def: 24 },
251
- };
252
- if (hpIVs[hpType]) {
253
- ivs = Object.assign(Object.assign({}, ivs), hpIVs[hpType]);
254
- }
255
- if (ivs.atk === 28 || ivs.atk === 24)
256
- ivs.hp = 14;
257
- if (ivs.def === 28 || ivs.def === 24)
258
- ivs.hp -= 8;
259
- }
260
- const levelScale = {
261
- NU: 73,
262
- NUBL: 71,
263
- UU: 69,
264
- UUBL: 67,
265
- OU: 65,
266
- Uber: 61,
267
- };
268
- const customScale = {
269
- Ditto: 83, Unown: 87, Wobbuffet: 83,
270
- };
271
- const level = this.adjustLevel || customScale[species.name] || levelScale[species.tier] || 80;
272
- return {
273
- name: species.name,
274
- species: species.name,
275
- moves: Array.from(moves),
276
- ability: 'No Ability',
277
- evs: { hp: 255, atk: 255, def: 255, spa: 255, spd: 255, spe: 255 },
278
- ivs,
279
- item: this.getItem('None', types, moves, counter, species),
280
- level,
281
- // No shiny chance because Gen 2 shinies have bad IVs
282
- shiny: false,
283
- gender: species.gender ? species.gender : 'M',
284
- };
285
- }
286
- }
287
- exports.RandomGen2Teams = RandomGen2Teams;
288
- exports.default = RandomGen2Teams;
289
- //# sourceMappingURL=gen2.js.map
package/build/gen2.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"gen2.js","sourceRoot":"","sources":["../src/gen2.ts"],"names":[],"mappings":";;;AACA,iCAAuC;AAWvC,MAAa,eAAgB,SAAQ,sBAAe;IACnD,YAAY,GAAc,EAAE,MAAc,EAAE,IAA4B;QACvE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,uBAAuB,GAAG;YAC9B,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;YAClF,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;YAC1E,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC9E,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YACxE,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,SAAS,KAAK,UAAU;YAClH,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;YACtG,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE;YACjH,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;SAC5E,CAAC;IACH,CAAC;IAED,cAAc,CACb,IAAU,EACV,KAAkB,EAClB,KAAkB,EAClB,SAAS,GAAG,EAAE,EACd,OAAoB,EACpB,QAAkB,EAClB,WAAyC;QAEzC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAE7D,QAAQ,IAAI,CAAC,EAAE,EAAE;YACjB,mDAAmD;YACnD,KAAK,WAAW,CAAC;YAAC,KAAK,OAAO,CAAC;YAAC,KAAK,UAAU,CAAC;YAAC,KAAK,SAAS,CAAC;YAAC,KAAK,aAAa;gBAClF,OAAO;oBACN,IAAI,EAAE,CACL,CAAC,OAAO,CAAC,SAAS,KAAK,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;wBACtE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAClH;oBACD,OAAO,EAAE,IAAI;iBACb,CAAC;YAEH,iDAAiD;YACjD,KAAK,WAAW;gBACf,OAAO,EAAC,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAC,CAAC;YAC3F,KAAK,UAAU;gBACd,OAAO,EAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAC,CAAC;YAChD,KAAK,WAAW;gBACf,OAAO,EAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,EAAC,CAAC;YACtE,KAAK,SAAS;gBACb,OAAO,EAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAAC,CAAC;YAEzC,kBAAkB;YAClB,KAAK,OAAO,CAAC;YAAC,KAAK,SAAS;gBAC3B,OAAO,EAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAC,CAAC;YACpC,KAAK,MAAM;gBACV,OAAO,EAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,QAAQ,EAAC,CAAC;YAChD,KAAK,SAAS,CAAC;YAAC,KAAK,aAAa;gBACjC,OAAO,EAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAC,CAAC;YAEzD,2BAA2B;YAC3B,KAAK,YAAY;gBAChB,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAC,CAAC;YAC7D,KAAK,WAAW,CAAC;YAAC,KAAK,cAAc;gBACpC,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,QAAQ,EAAC,CAAC;YACpD,KAAK,cAAc;gBAClB,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,QAAQ,EAAC,CAAC;YAClD,KAAK,WAAW;gBACf,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAC,CAAC;YACvC,KAAK,aAAa;gBACjB,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAC,CAAC;YAClC,KAAK,WAAW;gBACf,OAAO,EAAC,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAC,CAAC;YAClE,KAAK,QAAQ;gBACZ,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAC,CAAC;YACtC,KAAK,MAAM;gBACV,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAC,CAAC;YACvC,KAAK,SAAS;gBACb,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,EAAC,CAAC;YACzC,KAAK,WAAW;gBACf,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAC,CAAC;YACtG,KAAK,SAAS;gBACb,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,EAAC,CAAC;YAC1C,KAAK,aAAa;gBACjB,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAC,CAAC;YAC5D,KAAK,aAAa;gBACjB,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAC,CAAC;YACvC,KAAK,SAAS;gBACb,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAC,CAAC;YAC9D,KAAK,OAAO;gBACX,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAAC,CAAC;YAC7D,KAAK,UAAU;gBACd,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAC,CAAC;YAEvE,qCAAqC;YACrC,KAAK,YAAY,CAAC;YAAC,KAAK,MAAM,CAAC;YAAC,KAAK,WAAW;gBAC/C,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC;YACzB,KAAK,QAAQ;gBACZ,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,QAAQ,EAAC,CAAC;YACvE,KAAK,YAAY;gBAChB,OAAO,EAAC,IAAI,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAC,CAAC;YAC5F,KAAK,WAAW;gBACf,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,CAAC;YAC/D,KAAK,YAAY;gBAChB,OAAO,EAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAC,CAAC;YACjD,KAAK,QAAQ;gBACZ,OAAO,EAAC,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAC,CAAC;YACnF,KAAK,YAAY;gBAChB,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAC,CAAC;YAC1D,KAAK,WAAW;gBACf,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAC,CAAC;YACvC,KAAK,aAAa;gBACjB,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAC,CAAC;SAC1D;QAED,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC;IACtB,CAAC;IAED,OAAO,CACN,OAAe,EACf,KAAkB,EAClB,KAAkB,EAClB,OAAoB,EACpB,OAAgB;QAEhB,iCAAiC;QACjC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC;QACjF,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB;YAAE,OAAO,OAAO,CAAC;QACvD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,YAAY,CAAC;QACpD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,YAAY,CAAC;QACpD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,eAAe,CAAC;QACrD,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,CAAC;QAElC,kBAAkB;QAClB,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;YAAE,OAAO,YAAY,CAAC;QACtE,IACC,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACpD,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YACnD,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC;YACnD,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB;YACD,OAAO,eAAe,CAAC;SACvB;QAED,uBAAuB;QACvB,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,SAAS,CAAC,OAAyB,EAAE,cAA4C,EAAE;;QAClF,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAExC,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,iBAAiB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/G,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAEhC,IAAI,GAAG,GAAG,EAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAC,CAAC;QAChE,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE;YACjC,IAAI,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC;gBAAE,WAAW,EAAE,CAAC;SACvD;QAED,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAErC,IAAI,OAAO,CAAC;QACZ,kDAAkD;QAClD,qDAAqD;QACrD,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,GAAG;YACF,6EAA6E;YAC7E,OAAO,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,MAAM,EAAE;gBACzD,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAI,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;oBACrC,WAAW,EAAE,CAAC;oBACd,IAAI,cAAc;wBAAE,SAAS;oBAC7B,cAAc,GAAG,IAAI,CAAC;iBACtB;gBACD,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;aAClB;YACD,OAAO,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,EAAE;gBAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;gBAClD,IAAI,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;oBACrC,IAAI,cAAc;wBAAE,SAAS;oBAC7B,cAAc,GAAG,IAAI,CAAC;iBACtB;gBACD,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;aAClB;YAED,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;YAErE,2DAA2D;YAC3D,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACxC,IAAI,EAAC,IAAI,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;gBAElG,oDAAoD;gBACpD,IAAI,OAAO,CAAC,SAAS,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;oBAChG,IAAI,GAAG,IAAI,CAAC;iBACZ;gBAGD,kDAAkD;gBAClD,MAAM,gBAAgB,GAAG,CACxB,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oBAChD,2DAA2D;oBAC3D,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnE,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAChG,CAAC;gBAEF,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,gBAAgB,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;oBACvF,4DAA4D;oBAC5D;oBACC,qDAAqD;oBACrD,CACC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;wBACpB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;wBACtB,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;wBACnB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAC5D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;wBACjG,gDAAgD;wBAChD,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;wBAChH,qDAAqD;wBACrD,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;4BACxD,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;wBAC1D,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAChE;wBACD,IAAI,GAAG,IAAI,CAAC;qBACZ;yBAAM;wBACN,sDAAsD;wBACtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;4BACzB,IAAI,MAAA,MAAA,IAAI,CAAC,uBAAuB,EAAC,IAAI,CAAC,mDAAG,QAAQ,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC;gCAAE,IAAI,GAAG,IAAI,CAAC;yBACxH;qBACD;iBACD;gBAED,2CAA2C;gBAC3C,IACC,IAAI;oBACJ,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAW,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,aAAa,IAAI,CAAC,cAAc,CAAC,CAAC,EAC/F;oBACD,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,aAAa,IAAI,CAAC,WAAW,CAAC,EAAE;wBAC9F,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBAC1B;oBACD,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACrB,IAAI,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC;wBAAE,cAAc,GAAG,KAAK,CAAC;oBAC7D,MAAM;iBACN;gBAED,IAAI,IAAI,IAAI,YAAY,CAAC,MAAM,EAAE;oBAChC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACrB,IAAI,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC;wBAAE,cAAc,GAAG,KAAK,CAAC;oBAC7D,MAAM;iBACN;aACD;SACD,QAAQ,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;QAErF,8BAA8B;QAC9B,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE;YAC9B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC;gBAAE,SAAS;YACnD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;YAEtD,MAAM,KAAK,GAAuC;gBACjD,MAAM,EAAE,EAAC,GAAG,EAAE,EAAE,EAAC;gBACjB,GAAG,EAAE,EAAC,GAAG,EAAE,EAAE,EAAC;gBACd,OAAO,EAAE,EAAC,GAAG,EAAE,EAAE,EAAC;gBAClB,QAAQ,EAAE,EAAC,GAAG,EAAE,EAAE,EAAC;gBACnB,KAAK,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAC;gBACzB,KAAK,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAC;gBACzB,IAAI,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAC;gBACxB,KAAK,EAAE,EAAC,GAAG,EAAE,EAAE,EAAC;gBAChB,KAAK,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAC;gBACzB,GAAG,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAC;gBACvB,IAAI,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAC;gBACxB,MAAM,EAAE,EAAC,GAAG,EAAE,EAAE,EAAC;gBACjB,MAAM,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAC;gBAC1B,MAAM,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAC;gBAC1B,QAAQ,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAC;aAC5B,CAAC;YACF,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;gBAClB,GAAG,mCAAO,GAAG,GAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;aACjC;YAED,IAAI,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,GAAG,KAAK,EAAE;gBAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;YAClD,IAAI,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,GAAG,KAAK,EAAE;gBAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;SAClD;QAED,MAAM,UAAU,GAA0B;YACzC,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,EAAE;YACR,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,EAAE;YACR,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,EAAE;SACR,CAAC;QACF,MAAM,WAAW,GAA0B;YAC1C,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE;SACnC,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAE9F,OAAO;YACN,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,IAAI;YACrB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;YACxB,OAAO,EAAE,YAAY;YACrB,GAAG,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAC;YAChE,GAAG;YACH,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC;YAC1D,KAAK;YACL,qDAAqD;YACrD,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG;SAC7C,CAAC;IACH,CAAC;CACD;AApTD,0CAoTC;AAED,kBAAe,eAAe,CAAC"}
package/build/gen3.d.ts DELETED
@@ -1,17 +0,0 @@
1
- import { MoveCounter } from './gen8';
2
- import { RandomGen4Teams } from './gen4';
3
- import { Format, ModdedDex, Move, PRNG, PRNGSeed, RandomTeamsTypes, Species } from '@pkmn/sim';
4
- export declare class RandomGen3Teams extends RandomGen4Teams {
5
- battleHasDitto: boolean;
6
- battleHasWobbuffet: boolean;
7
- constructor(dex: ModdedDex, format: Format, prng: PRNG | PRNGSeed | null);
8
- shouldCullMove(move: Move, types: Set<string>, moves: Set<string>, abilities: Set<string>, counter: MoveCounter, movePool: string[], teamDetails: RandomTeamsTypes.TeamDetails, species: Species): {
9
- cull: boolean;
10
- isSetup?: boolean;
11
- };
12
- getItem(ability: string, types: Set<string>, moves: Set<string>, counter: MoveCounter, species: Species): string;
13
- shouldCullAbility(ability: string, types: Set<string>, moves: Set<string>, abilities: Set<string>, counter: MoveCounter, movePool: string[], teamDetails: RandomTeamsTypes.TeamDetails, species: Species): boolean;
14
- randomSet(species: string | Species, teamDetails?: RandomTeamsTypes.TeamDetails): RandomTeamsTypes.RandomSet;
15
- randomTeam(): RandomTeamsTypes.RandomSet[];
16
- }
17
- export default RandomGen3Teams;