@pkmn/randoms 0.7.45 → 0.7.46
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/index.js +430 -284
- package/build/index.js.map +1 -1
- package/build/index.mjs +430 -284
- package/build/index.mjs.map +1 -1
- package/package.json +2 -2
package/build/index.mjs
CHANGED
|
@@ -1519,6 +1519,101 @@ var RandomGen8Teams = class {
|
|
|
1519
1519
|
}
|
|
1520
1520
|
return false;
|
|
1521
1521
|
}
|
|
1522
|
+
getAbility(types, moves, abilities, counter, movePool, teamDetails, species, isDoubles, isNoDynamax) {
|
|
1523
|
+
const abilityData = Array.from(abilities).map((a) => this.dex.abilities.get(a));
|
|
1524
|
+
Utils.sortBy(abilityData, (abil) => -abil.rating);
|
|
1525
|
+
if (abilityData.length <= 1)
|
|
1526
|
+
return abilityData[0].name;
|
|
1527
|
+
if (species.id === "lopunny" && moves.has("facade"))
|
|
1528
|
+
return "Cute Charm";
|
|
1529
|
+
if (species.id === "copperajahgmax")
|
|
1530
|
+
return "Heavy Metal";
|
|
1531
|
+
if (abilities.has("Guts") && // for Ursaring in BDSP
|
|
1532
|
+
!abilities.has("Quick Feet") && (species.id === "gurdurr" || species.id === "throh" || moves.has("facade") || moves.has("rest") && moves.has("sleeptalk")))
|
|
1533
|
+
return "Guts";
|
|
1534
|
+
if (abilities.has("Moxie") && (counter.get("Physical") > 3 || moves.has("bounce")) && !isDoubles)
|
|
1535
|
+
return "Moxie";
|
|
1536
|
+
if (isDoubles) {
|
|
1537
|
+
if (abilities.has("Competitive") && !abilities.has("Shadow Tag") && !abilities.has("Strong Jaw"))
|
|
1538
|
+
return "Competitive";
|
|
1539
|
+
if (abilities.has("Friend Guard"))
|
|
1540
|
+
return "Friend Guard";
|
|
1541
|
+
if (abilities.has("Gluttony") && moves.has("recycle"))
|
|
1542
|
+
return "Gluttony";
|
|
1543
|
+
if (abilities.has("Guts"))
|
|
1544
|
+
return "Guts";
|
|
1545
|
+
if (abilities.has("Harvest"))
|
|
1546
|
+
return "Harvest";
|
|
1547
|
+
if (abilities.has("Healer") && (abilities.has("Natural Cure") || abilities.has("Aroma Veil") && this.randomChance(1, 2)))
|
|
1548
|
+
return "Healer";
|
|
1549
|
+
if (abilities.has("Intimidate"))
|
|
1550
|
+
return "Intimidate";
|
|
1551
|
+
if (species.id === "lopunny")
|
|
1552
|
+
return "Klutz";
|
|
1553
|
+
if (abilities.has("Magic Guard") && !abilities.has("Unaware"))
|
|
1554
|
+
return "Magic Guard";
|
|
1555
|
+
if (abilities.has("Ripen"))
|
|
1556
|
+
return "Ripen";
|
|
1557
|
+
if (abilities.has("Stalwart"))
|
|
1558
|
+
return "Stalwart";
|
|
1559
|
+
if (abilities.has("Storm Drain"))
|
|
1560
|
+
return "Storm Drain";
|
|
1561
|
+
if (abilities.has("Telepathy") && (abilities.has("Pressure") || abilities.has("Analytic")))
|
|
1562
|
+
return "Telepathy";
|
|
1563
|
+
}
|
|
1564
|
+
let abilityAllowed = [];
|
|
1565
|
+
for (const ability of abilityData) {
|
|
1566
|
+
if (ability.rating >= 1 && !this.shouldCullAbility(
|
|
1567
|
+
ability.name,
|
|
1568
|
+
types,
|
|
1569
|
+
moves,
|
|
1570
|
+
abilities,
|
|
1571
|
+
counter,
|
|
1572
|
+
movePool,
|
|
1573
|
+
teamDetails,
|
|
1574
|
+
species,
|
|
1575
|
+
isDoubles,
|
|
1576
|
+
isNoDynamax
|
|
1577
|
+
)) {
|
|
1578
|
+
abilityAllowed.push(ability);
|
|
1579
|
+
}
|
|
1580
|
+
}
|
|
1581
|
+
if (!abilityAllowed.length) {
|
|
1582
|
+
for (const ability of abilityData) {
|
|
1583
|
+
if (ability.rating > 0)
|
|
1584
|
+
abilityAllowed.push(ability);
|
|
1585
|
+
}
|
|
1586
|
+
if (!abilityAllowed.length)
|
|
1587
|
+
abilityAllowed = abilityData;
|
|
1588
|
+
}
|
|
1589
|
+
if (abilityAllowed.length === 1)
|
|
1590
|
+
return abilityAllowed[0].name;
|
|
1591
|
+
if (abilityAllowed[2] && abilityAllowed[0].rating - 0.5 <= abilityAllowed[2].rating) {
|
|
1592
|
+
if (abilityAllowed[1].rating <= abilityAllowed[2].rating) {
|
|
1593
|
+
if (this.randomChance(1, 2))
|
|
1594
|
+
[abilityAllowed[1], abilityAllowed[2]] = [abilityAllowed[2], abilityAllowed[1]];
|
|
1595
|
+
} else {
|
|
1596
|
+
if (this.randomChance(1, 3))
|
|
1597
|
+
[abilityAllowed[1], abilityAllowed[2]] = [abilityAllowed[2], abilityAllowed[1]];
|
|
1598
|
+
}
|
|
1599
|
+
if (abilityAllowed[0].rating <= abilityAllowed[1].rating) {
|
|
1600
|
+
if (this.randomChance(2, 3))
|
|
1601
|
+
[abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]];
|
|
1602
|
+
} else {
|
|
1603
|
+
if (this.randomChance(1, 2))
|
|
1604
|
+
[abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]];
|
|
1605
|
+
}
|
|
1606
|
+
} else {
|
|
1607
|
+
if (abilityAllowed[0].rating <= abilityAllowed[1].rating) {
|
|
1608
|
+
if (this.randomChance(1, 2))
|
|
1609
|
+
[abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]];
|
|
1610
|
+
} else if (abilityAllowed[0].rating - 0.5 <= abilityAllowed[1].rating) {
|
|
1611
|
+
if (this.randomChance(1, 3))
|
|
1612
|
+
[abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]];
|
|
1613
|
+
}
|
|
1614
|
+
}
|
|
1615
|
+
return abilityAllowed[0].name;
|
|
1616
|
+
}
|
|
1522
1617
|
getHighPriorityItem(ability, types, moves, counter, teamDetails, species, isLead, isDoubles) {
|
|
1523
1618
|
if (moves.has("acrobatics") && ability !== "Ripen")
|
|
1524
1619
|
return ability === "Grassy Surge" ? "Grassy Seed" : "";
|
|
@@ -1930,84 +2025,7 @@ var RandomGen8Teams = class {
|
|
|
1930
2025
|
ivs[iv] = HPivs[iv];
|
|
1931
2026
|
}
|
|
1932
2027
|
}
|
|
1933
|
-
|
|
1934
|
-
Utils.sortBy(abilityData, (abil) => -abil.rating);
|
|
1935
|
-
if (abilityData[1]) {
|
|
1936
|
-
if (abilityData[2] && abilityData[1].rating <= abilityData[2].rating && this.randomChance(1, 2)) {
|
|
1937
|
-
[abilityData[1], abilityData[2]] = [abilityData[2], abilityData[1]];
|
|
1938
|
-
}
|
|
1939
|
-
if (abilityData[0].rating <= abilityData[1].rating) {
|
|
1940
|
-
if (this.randomChance(1, 2))
|
|
1941
|
-
[abilityData[0], abilityData[1]] = [abilityData[1], abilityData[0]];
|
|
1942
|
-
} else if (abilityData[0].rating - 0.6 <= abilityData[1].rating) {
|
|
1943
|
-
if (this.randomChance(2, 3))
|
|
1944
|
-
[abilityData[0], abilityData[1]] = [abilityData[1], abilityData[0]];
|
|
1945
|
-
}
|
|
1946
|
-
ability = abilityData[0].name;
|
|
1947
|
-
let rejectAbility = false;
|
|
1948
|
-
do {
|
|
1949
|
-
rejectAbility = this.shouldCullAbility(
|
|
1950
|
-
ability,
|
|
1951
|
-
types,
|
|
1952
|
-
moves,
|
|
1953
|
-
abilities,
|
|
1954
|
-
counter,
|
|
1955
|
-
movePool,
|
|
1956
|
-
teamDetails,
|
|
1957
|
-
species,
|
|
1958
|
-
isDoubles,
|
|
1959
|
-
isNoDynamax
|
|
1960
|
-
);
|
|
1961
|
-
if (rejectAbility) {
|
|
1962
|
-
const limberFacade = moves.has("facade") && ability === "Limber";
|
|
1963
|
-
if (ability === abilityData[0].name && (abilityData[1].rating >= 1 || limberFacade)) {
|
|
1964
|
-
ability = abilityData[1].name;
|
|
1965
|
-
} else if (ability === abilityData[1].name && abilityData[2] && (abilityData[2].rating >= 1 || limberFacade)) {
|
|
1966
|
-
ability = abilityData[2].name;
|
|
1967
|
-
} else {
|
|
1968
|
-
ability = abilityData[0].name;
|
|
1969
|
-
rejectAbility = false;
|
|
1970
|
-
}
|
|
1971
|
-
}
|
|
1972
|
-
} while (rejectAbility);
|
|
1973
|
-
if (forme === "Copperajah" && gmax) {
|
|
1974
|
-
ability = "Heavy Metal";
|
|
1975
|
-
} else if (abilities.has("Guts") && // for Ursaring in BDSP
|
|
1976
|
-
!abilities.has("Quick Feet") && (species.id === "gurdurr" || species.id === "throh" || moves.has("facade") || moves.has("rest") && moves.has("sleeptalk"))) {
|
|
1977
|
-
ability = "Guts";
|
|
1978
|
-
} else if (abilities.has("Moxie") && (counter.get("Physical") > 3 || moves.has("bounce")) && !isDoubles) {
|
|
1979
|
-
ability = "Moxie";
|
|
1980
|
-
} else if (isDoubles) {
|
|
1981
|
-
if (abilities.has("Competitive") && ability !== "Shadow Tag" && ability !== "Strong Jaw")
|
|
1982
|
-
ability = "Competitive";
|
|
1983
|
-
if (abilities.has("Friend Guard"))
|
|
1984
|
-
ability = "Friend Guard";
|
|
1985
|
-
if (abilities.has("Gluttony") && moves.has("recycle"))
|
|
1986
|
-
ability = "Gluttony";
|
|
1987
|
-
if (abilities.has("Guts"))
|
|
1988
|
-
ability = "Guts";
|
|
1989
|
-
if (abilities.has("Harvest"))
|
|
1990
|
-
ability = "Harvest";
|
|
1991
|
-
if (abilities.has("Healer") && (abilities.has("Natural Cure") || abilities.has("Aroma Veil") && this.randomChance(1, 2)))
|
|
1992
|
-
ability = "Healer";
|
|
1993
|
-
if (abilities.has("Intimidate"))
|
|
1994
|
-
ability = "Intimidate";
|
|
1995
|
-
if (abilities.has("Klutz") && ability === "Limber")
|
|
1996
|
-
ability = "Klutz";
|
|
1997
|
-
if (abilities.has("Magic Guard") && ability !== "Friend Guard" && ability !== "Unaware")
|
|
1998
|
-
ability = "Magic Guard";
|
|
1999
|
-
if (abilities.has("Ripen"))
|
|
2000
|
-
ability = "Ripen";
|
|
2001
|
-
if (abilities.has("Stalwart"))
|
|
2002
|
-
ability = "Stalwart";
|
|
2003
|
-
if (abilities.has("Storm Drain"))
|
|
2004
|
-
ability = "Storm Drain";
|
|
2005
|
-
if (abilities.has("Telepathy") && (ability === "Pressure" || abilities.has("Analytic")))
|
|
2006
|
-
ability = "Telepathy";
|
|
2007
|
-
}
|
|
2008
|
-
} else {
|
|
2009
|
-
ability = abilityData[0].name;
|
|
2010
|
-
}
|
|
2028
|
+
ability = this.getAbility(types, moves, abilities, counter, movePool, teamDetails, species, isDoubles, isNoDynamax);
|
|
2011
2029
|
if (species.requiredItems) {
|
|
2012
2030
|
item = this.sample(species.requiredItems);
|
|
2013
2031
|
} else {
|
|
@@ -3160,7 +3178,6 @@ var RandomGen7Teams = class extends RandomGen8Teams {
|
|
|
3160
3178
|
case "Sturdy":
|
|
3161
3179
|
return !!counter.get("recoil") && !counter.get("recovery");
|
|
3162
3180
|
case "Chlorophyll":
|
|
3163
|
-
case "Leaf Guard":
|
|
3164
3181
|
return species.baseStats.spe > 100 || abilities.has("Harvest") || !moves.has("sunnyday") && !teamDetails.sun;
|
|
3165
3182
|
case "Competitive":
|
|
3166
3183
|
return !counter.get("Special") || moves.has("sleeptalk") && moves.has("rest");
|
|
@@ -3240,7 +3257,7 @@ var RandomGen7Teams = class extends RandomGen8Teams {
|
|
|
3240
3257
|
case "Simple":
|
|
3241
3258
|
return !counter.setupType && !moves.has("flamecharge");
|
|
3242
3259
|
case "Solar Power":
|
|
3243
|
-
return !counter.get("Special") || !teamDetails.sun || !!species.isMega;
|
|
3260
|
+
return !counter.get("Special") || abilities.has("Harvest") || !teamDetails.sun || !!species.isMega;
|
|
3244
3261
|
case "Swarm":
|
|
3245
3262
|
return !counter.get("Bug") || !!species.isMega;
|
|
3246
3263
|
case "Sweet Veil":
|
|
@@ -3262,6 +3279,89 @@ var RandomGen7Teams = class extends RandomGen8Teams {
|
|
|
3262
3279
|
}
|
|
3263
3280
|
return false;
|
|
3264
3281
|
}
|
|
3282
|
+
getAbility(types, moves, abilities, counter, movePool, teamDetails, species, isDoubles) {
|
|
3283
|
+
if (species.battleOnly && !species.requiredAbility) {
|
|
3284
|
+
abilities = new Set(Object.values(this.dex.species.get(species.battleOnly).abilities));
|
|
3285
|
+
}
|
|
3286
|
+
const abilityData = Array.from(abilities).map((a) => this.dex.abilities.get(a));
|
|
3287
|
+
Utils.sortBy(abilityData, (abil) => -abil.rating);
|
|
3288
|
+
if (abilityData.length <= 1)
|
|
3289
|
+
return abilityData[0].name;
|
|
3290
|
+
if (abilities.has("Guts") && !abilities.has("Quick Feet") && (moves.has("facade") || moves.has("protect") && !isDoubles || moves.has("sleeptalk") && moves.has("rest")))
|
|
3291
|
+
return "Guts";
|
|
3292
|
+
if (abilities.has("Moxie") && (counter.get("Physical") > 3 || moves.has("bounce")) && !isDoubles)
|
|
3293
|
+
return "Moxie";
|
|
3294
|
+
if (isDoubles) {
|
|
3295
|
+
if (abilities.has("Intimidate"))
|
|
3296
|
+
return "Intimidate";
|
|
3297
|
+
if (abilities.has("Guts"))
|
|
3298
|
+
return "Guts";
|
|
3299
|
+
if (abilities.has("Storm Drain"))
|
|
3300
|
+
return "Storm Drain";
|
|
3301
|
+
if (abilities.has("Harvest"))
|
|
3302
|
+
return "Harvest";
|
|
3303
|
+
if (abilities.has("Unburden") && !abilities.has("Prankster") && !species.isMega)
|
|
3304
|
+
return "Unburden";
|
|
3305
|
+
}
|
|
3306
|
+
if (species.name === "Ambipom" && !counter.get("technician")) {
|
|
3307
|
+
return "Pickup";
|
|
3308
|
+
}
|
|
3309
|
+
if (species.name === "Raticate-Alola")
|
|
3310
|
+
return "Hustle";
|
|
3311
|
+
if (species.baseSpecies === "Altaria")
|
|
3312
|
+
return "Natural Cure";
|
|
3313
|
+
let abilityAllowed = [];
|
|
3314
|
+
for (const ability of abilityData) {
|
|
3315
|
+
if (ability.rating >= 1 && !this.shouldCullAbility(
|
|
3316
|
+
ability.name,
|
|
3317
|
+
types,
|
|
3318
|
+
moves,
|
|
3319
|
+
abilities,
|
|
3320
|
+
counter,
|
|
3321
|
+
movePool,
|
|
3322
|
+
teamDetails,
|
|
3323
|
+
species,
|
|
3324
|
+
isDoubles
|
|
3325
|
+
)) {
|
|
3326
|
+
abilityAllowed.push(ability);
|
|
3327
|
+
}
|
|
3328
|
+
}
|
|
3329
|
+
if (!abilityAllowed.length) {
|
|
3330
|
+
for (const ability of abilityData) {
|
|
3331
|
+
if (ability.rating > 0)
|
|
3332
|
+
abilityAllowed.push(ability);
|
|
3333
|
+
}
|
|
3334
|
+
if (!abilityAllowed.length)
|
|
3335
|
+
abilityAllowed = abilityData;
|
|
3336
|
+
}
|
|
3337
|
+
if (abilityAllowed.length === 1)
|
|
3338
|
+
return abilityAllowed[0].name;
|
|
3339
|
+
if (abilityAllowed[2] && abilityAllowed[0].rating - 0.5 <= abilityAllowed[2].rating) {
|
|
3340
|
+
if (abilityAllowed[1].rating <= abilityAllowed[2].rating) {
|
|
3341
|
+
if (this.randomChance(1, 2))
|
|
3342
|
+
[abilityAllowed[1], abilityAllowed[2]] = [abilityAllowed[2], abilityAllowed[1]];
|
|
3343
|
+
} else {
|
|
3344
|
+
if (this.randomChance(1, 3))
|
|
3345
|
+
[abilityAllowed[1], abilityAllowed[2]] = [abilityAllowed[2], abilityAllowed[1]];
|
|
3346
|
+
}
|
|
3347
|
+
if (abilityAllowed[0].rating <= abilityAllowed[1].rating) {
|
|
3348
|
+
if (this.randomChance(2, 3))
|
|
3349
|
+
[abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]];
|
|
3350
|
+
} else {
|
|
3351
|
+
if (this.randomChance(1, 2))
|
|
3352
|
+
[abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]];
|
|
3353
|
+
}
|
|
3354
|
+
} else {
|
|
3355
|
+
if (abilityAllowed[0].rating <= abilityAllowed[1].rating) {
|
|
3356
|
+
if (this.randomChance(1, 2))
|
|
3357
|
+
[abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]];
|
|
3358
|
+
} else if (abilityAllowed[0].rating - 0.5 <= abilityAllowed[1].rating) {
|
|
3359
|
+
if (this.randomChance(1, 3))
|
|
3360
|
+
[abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]];
|
|
3361
|
+
}
|
|
3362
|
+
}
|
|
3363
|
+
return abilityAllowed[0].name;
|
|
3364
|
+
}
|
|
3265
3365
|
getHighPriorityItem(ability, types, moves, counter, teamDetails, species, isLead, isDoubles) {
|
|
3266
3366
|
if (species.requiredItems) {
|
|
3267
3367
|
if (species.baseSpecies === "Arceus" && (moves.has("judgment") || !counter.get(species.types[0]) || teamDetails.zMove)) {
|
|
@@ -3662,64 +3762,7 @@ var RandomGen7Teams = class extends RandomGen8Teams {
|
|
|
3662
3762
|
}
|
|
3663
3763
|
const battleOnly = species.battleOnly && !species.requiredAbility;
|
|
3664
3764
|
const baseSpecies = battleOnly ? this.dex.species.get(species.battleOnly) : species;
|
|
3665
|
-
|
|
3666
|
-
Utils.sortBy(abilityData, (abil) => -abil.rating);
|
|
3667
|
-
if (abilityData[1]) {
|
|
3668
|
-
if (abilityData[2] && abilityData[1].rating <= abilityData[2].rating && this.randomChance(1, 2)) {
|
|
3669
|
-
[abilityData[1], abilityData[2]] = [abilityData[2], abilityData[1]];
|
|
3670
|
-
}
|
|
3671
|
-
if (abilityData[0].rating <= abilityData[1].rating && this.randomChance(1, 2)) {
|
|
3672
|
-
[abilityData[0], abilityData[1]] = [abilityData[1], abilityData[0]];
|
|
3673
|
-
} else if (abilityData[0].rating - 0.6 <= abilityData[1].rating && this.randomChance(2, 3)) {
|
|
3674
|
-
[abilityData[0], abilityData[1]] = [abilityData[1], abilityData[0]];
|
|
3675
|
-
}
|
|
3676
|
-
ability = abilityData[0].name;
|
|
3677
|
-
while (this.shouldCullAbility(
|
|
3678
|
-
ability,
|
|
3679
|
-
types,
|
|
3680
|
-
moves,
|
|
3681
|
-
abilities,
|
|
3682
|
-
counter,
|
|
3683
|
-
movePool,
|
|
3684
|
-
teamDetails,
|
|
3685
|
-
species,
|
|
3686
|
-
isDoubles
|
|
3687
|
-
)) {
|
|
3688
|
-
if (ability === abilityData[0].name && abilityData[1].rating >= 1) {
|
|
3689
|
-
ability = abilityData[1].name;
|
|
3690
|
-
} else if (ability === abilityData[1].name && abilityData[2] && abilityData[2].rating >= 1) {
|
|
3691
|
-
ability = abilityData[2].name;
|
|
3692
|
-
} else {
|
|
3693
|
-
ability = abilityData[0].name;
|
|
3694
|
-
break;
|
|
3695
|
-
}
|
|
3696
|
-
}
|
|
3697
|
-
if (abilities.has("Guts") && ability !== "Quick Feet" && (moves.has("facade") || moves.has("protect") && !isDoubles || moves.has("sleeptalk") && moves.has("rest"))) {
|
|
3698
|
-
ability = "Guts";
|
|
3699
|
-
} else if (abilities.has("Moxie") && (counter.get("Physical") > 3 || moves.has("bounce")) && !isDoubles) {
|
|
3700
|
-
ability = "Moxie";
|
|
3701
|
-
} else if (isDoubles) {
|
|
3702
|
-
if (abilities.has("Intimidate") && !battleOnly)
|
|
3703
|
-
ability = "Intimidate";
|
|
3704
|
-
if (abilities.has("Guts") && ability !== "Intimidate")
|
|
3705
|
-
ability = "Guts";
|
|
3706
|
-
if (abilities.has("Storm Drain"))
|
|
3707
|
-
ability = "Storm Drain";
|
|
3708
|
-
if (abilities.has("Harvest"))
|
|
3709
|
-
ability = "Harvest";
|
|
3710
|
-
if (abilities.has("Unburden") && ability !== "Prankster" && !species.isMega)
|
|
3711
|
-
ability = "Unburden";
|
|
3712
|
-
}
|
|
3713
|
-
if (species.name === "Ambipom" && !counter.get("technician")) {
|
|
3714
|
-
ability = "Pickup";
|
|
3715
|
-
}
|
|
3716
|
-
if (species.name === "Raticate-Alola")
|
|
3717
|
-
ability = "Hustle";
|
|
3718
|
-
if (species.name === "Altaria")
|
|
3719
|
-
ability = "Natural Cure";
|
|
3720
|
-
} else {
|
|
3721
|
-
ability = abilityData[0].name;
|
|
3722
|
-
}
|
|
3765
|
+
ability = this.getAbility(types, moves, abilities, counter, movePool, teamDetails, species, isDoubles);
|
|
3723
3766
|
if (species.name === "Genesect" && moves.has("technoblast"))
|
|
3724
3767
|
forme = "Genesect-Douse";
|
|
3725
3768
|
if (!moves.has("photongeyser") && !teamDetails.zMove && (species.name === "Necrozma-Dusk-Mane" || species.name === "Necrozma-Dawn-Wings")) {
|
|
@@ -4873,7 +4916,6 @@ var RandomGen6Teams = class extends RandomGen7Teams {
|
|
|
4873
4916
|
case "Sturdy":
|
|
4874
4917
|
return !!counter.get("recoil") && !counter.get("recovery");
|
|
4875
4918
|
case "Chlorophyll":
|
|
4876
|
-
case "Leaf Guard":
|
|
4877
4919
|
return species.baseStats.spe > 100 || abilities.has("Harvest") || !moves.has("sunnyday") && !teamDetails.sun;
|
|
4878
4920
|
case "Competitive":
|
|
4879
4921
|
return !counter.get("Special") || moves.has("rest") && moves.has("sleeptalk");
|
|
@@ -4935,7 +4977,7 @@ var RandomGen6Teams = class extends RandomGen7Teams {
|
|
|
4935
4977
|
case "Simple":
|
|
4936
4978
|
return !counter.setupType && !moves.has("flamecharge");
|
|
4937
4979
|
case "Solar Power":
|
|
4938
|
-
return !counter.get("Special") || !teamDetails.sun || !!species.isMega;
|
|
4980
|
+
return !counter.get("Special") || abilities.has("Harvest") || !teamDetails.sun || !!species.isMega;
|
|
4939
4981
|
case "Speed Boost":
|
|
4940
4982
|
return moves.has("uturn");
|
|
4941
4983
|
case "Swarm":
|
|
@@ -4954,11 +4996,79 @@ var RandomGen6Teams = class extends RandomGen7Teams {
|
|
|
4954
4996
|
return !!species.isMega || abilities.has("Prankster") || !counter.setupType && !moves.has("acrobatics");
|
|
4955
4997
|
case "Water Absorb":
|
|
4956
4998
|
return moves.has("raindance") || ["Drizzle", "Unaware", "Volt Absorb"].some((a) => abilities.has(a));
|
|
4957
|
-
case "Weak Armor":
|
|
4958
|
-
return counter.setupType !== "Physical";
|
|
4959
4999
|
}
|
|
4960
5000
|
return false;
|
|
4961
5001
|
}
|
|
5002
|
+
getAbility(types, moves, abilities, counter, movePool, teamDetails, species) {
|
|
5003
|
+
if (species.battleOnly && !species.requiredAbility) {
|
|
5004
|
+
abilities = new Set(Object.values(this.dex.species.get(species.battleOnly).abilities));
|
|
5005
|
+
}
|
|
5006
|
+
const abilityData = Array.from(abilities).map((a) => this.dex.abilities.get(a));
|
|
5007
|
+
Utils.sortBy(abilityData, (abil) => -abil.rating);
|
|
5008
|
+
if (abilityData.length <= 1)
|
|
5009
|
+
return abilityData[0].name;
|
|
5010
|
+
if (abilities.has("Guts") && !abilities.has("Quick Feet") && (moves.has("facade") || moves.has("protect") || moves.has("rest") && moves.has("sleeptalk")))
|
|
5011
|
+
return "Guts";
|
|
5012
|
+
if (abilities.has("Moxie") && counter.get("Physical") > 3)
|
|
5013
|
+
return "Moxie";
|
|
5014
|
+
if (species.name === "Ambipom" && !counter.get("technician")) {
|
|
5015
|
+
return "Pickup";
|
|
5016
|
+
}
|
|
5017
|
+
if (species.name === "Lopunny" && moves.has("switcheroo") && this.randomChance(2, 3))
|
|
5018
|
+
return "Klutz";
|
|
5019
|
+
if (species.baseSpecies === "Altaria")
|
|
5020
|
+
return "Natural Cure";
|
|
5021
|
+
let abilityAllowed = [];
|
|
5022
|
+
for (const ability of abilityData) {
|
|
5023
|
+
if (ability.rating >= 1 && !this.shouldCullAbility(
|
|
5024
|
+
ability.name,
|
|
5025
|
+
types,
|
|
5026
|
+
moves,
|
|
5027
|
+
abilities,
|
|
5028
|
+
counter,
|
|
5029
|
+
movePool,
|
|
5030
|
+
teamDetails,
|
|
5031
|
+
species
|
|
5032
|
+
)) {
|
|
5033
|
+
abilityAllowed.push(ability);
|
|
5034
|
+
}
|
|
5035
|
+
}
|
|
5036
|
+
if (!abilityAllowed.length) {
|
|
5037
|
+
for (const ability of abilityData) {
|
|
5038
|
+
if (ability.rating > 0)
|
|
5039
|
+
abilityAllowed.push(ability);
|
|
5040
|
+
}
|
|
5041
|
+
if (!abilityAllowed.length)
|
|
5042
|
+
abilityAllowed = abilityData;
|
|
5043
|
+
}
|
|
5044
|
+
if (abilityAllowed.length === 1)
|
|
5045
|
+
return abilityAllowed[0].name;
|
|
5046
|
+
if (abilityAllowed[2] && abilityAllowed[0].rating - 0.5 <= abilityAllowed[2].rating) {
|
|
5047
|
+
if (abilityAllowed[1].rating <= abilityAllowed[2].rating) {
|
|
5048
|
+
if (this.randomChance(1, 2))
|
|
5049
|
+
[abilityAllowed[1], abilityAllowed[2]] = [abilityAllowed[2], abilityAllowed[1]];
|
|
5050
|
+
} else {
|
|
5051
|
+
if (this.randomChance(1, 3))
|
|
5052
|
+
[abilityAllowed[1], abilityAllowed[2]] = [abilityAllowed[2], abilityAllowed[1]];
|
|
5053
|
+
}
|
|
5054
|
+
if (abilityAllowed[0].rating <= abilityAllowed[1].rating) {
|
|
5055
|
+
if (this.randomChance(2, 3))
|
|
5056
|
+
[abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]];
|
|
5057
|
+
} else {
|
|
5058
|
+
if (this.randomChance(1, 2))
|
|
5059
|
+
[abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]];
|
|
5060
|
+
}
|
|
5061
|
+
} else {
|
|
5062
|
+
if (abilityAllowed[0].rating <= abilityAllowed[1].rating) {
|
|
5063
|
+
if (this.randomChance(1, 2))
|
|
5064
|
+
[abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]];
|
|
5065
|
+
} else if (abilityAllowed[0].rating - 0.5 <= abilityAllowed[1].rating) {
|
|
5066
|
+
if (this.randomChance(1, 3))
|
|
5067
|
+
[abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]];
|
|
5068
|
+
}
|
|
5069
|
+
}
|
|
5070
|
+
return abilityAllowed[0].name;
|
|
5071
|
+
}
|
|
4962
5072
|
getHighPriorityItem(ability, types, moves, counter, teamDetails, species, isLead) {
|
|
4963
5073
|
if (species.requiredItem)
|
|
4964
5074
|
return species.requiredItem;
|
|
@@ -5271,43 +5381,7 @@ var RandomGen6Teams = class extends RandomGen7Teams {
|
|
|
5271
5381
|
if (species.battleOnly && !species.requiredAbility) {
|
|
5272
5382
|
abilities = new Set(Object.values(this.dex.species.get(species.battleOnly).abilities));
|
|
5273
5383
|
}
|
|
5274
|
-
|
|
5275
|
-
Utils.sortBy(abilityData, (abil) => -abil.rating);
|
|
5276
|
-
if (abilityData.length > 1) {
|
|
5277
|
-
if (abilityData[2] && abilityData[1].rating <= abilityData[2].rating && this.randomChance(1, 2)) {
|
|
5278
|
-
[abilityData[1], abilityData[2]] = [abilityData[2], abilityData[1]];
|
|
5279
|
-
}
|
|
5280
|
-
if (abilityData[0].rating <= abilityData[1].rating && this.randomChance(1, 2)) {
|
|
5281
|
-
[abilityData[0], abilityData[1]] = [abilityData[1], abilityData[0]];
|
|
5282
|
-
} else if (abilityData[0].rating - 0.6 <= abilityData[1].rating && this.randomChance(2, 3)) {
|
|
5283
|
-
[abilityData[0], abilityData[1]] = [abilityData[1], abilityData[0]];
|
|
5284
|
-
}
|
|
5285
|
-
ability = abilityData[0].name;
|
|
5286
|
-
while (this.shouldCullAbility(ability, types, moves, abilities, counter, movePool, teamDetails, species)) {
|
|
5287
|
-
if (ability === abilityData[0].name && abilityData[1].rating >= 1) {
|
|
5288
|
-
ability = abilityData[1].name;
|
|
5289
|
-
} else if (ability === abilityData[1].name && abilityData[2] && abilityData[2].rating >= 1) {
|
|
5290
|
-
ability = abilityData[2].name;
|
|
5291
|
-
} else {
|
|
5292
|
-
ability = abilityData[0].name;
|
|
5293
|
-
break;
|
|
5294
|
-
}
|
|
5295
|
-
}
|
|
5296
|
-
if (abilities.has("Guts") && ability !== "Quick Feet" && (moves.has("facade") || moves.has("protect") || moves.has("rest") && moves.has("sleeptalk"))) {
|
|
5297
|
-
ability = "Guts";
|
|
5298
|
-
} else if (abilities.has("Moxie") && counter.get("Physical") > 3) {
|
|
5299
|
-
ability = "Moxie";
|
|
5300
|
-
}
|
|
5301
|
-
if (species.name === "Ambipom" && !counter.get("technician")) {
|
|
5302
|
-
ability = "Pickup";
|
|
5303
|
-
} else if (species.name === "Lopunny" && moves.has("switcheroo") && this.randomChance(2, 3)) {
|
|
5304
|
-
ability = "Klutz";
|
|
5305
|
-
}
|
|
5306
|
-
if (species.name === "Altaria")
|
|
5307
|
-
ability = "Natural Cure";
|
|
5308
|
-
} else {
|
|
5309
|
-
ability = abilityData[0].name;
|
|
5310
|
-
}
|
|
5384
|
+
ability = this.getAbility(types, moves, abilities, counter, movePool, teamDetails, species);
|
|
5311
5385
|
let item = this.getHighPriorityItem(ability, types, moves, counter, teamDetails, species, isLead);
|
|
5312
5386
|
if (item === void 0)
|
|
5313
5387
|
item = this.getMediumPriorityItem(ability, moves, counter, species, false, isLead);
|
|
@@ -5592,7 +5666,7 @@ var RandomGen6Teams = class extends RandomGen7Teams {
|
|
|
5592
5666
|
import {
|
|
5593
5667
|
toID as toID4
|
|
5594
5668
|
} from "@pkmn/sim";
|
|
5595
|
-
var randomDataJSON4 = { "venusaur": { "level": 84, "moves": ["hiddenpowerfire", "hiddenpowerice", "leechseed", "naturepower", "powerwhip", "sleeppowder", "sludgebomb", "swordsdance", "synthesis"] }, "charizard": { "level": 85, "moves": ["airslash", "dragonpulse", "fireblast", "focusblast", "hiddenpowergrass", "roost"] }, "blastoise": { "level": 83, "moves": ["icebeam", "protect", "rapidspin", "scald", "toxic"] }, "butterfree": { "level": 92, "moves": ["bugbuzz", "hiddenpowerrock", "psychic", "quiverdance", "sleeppowder", "substitute"] }, "beedrill": { "level": 94, "moves": ["drillrun", "poisonjab", "tailwind", "toxicspikes", "uturn"] }, "pidgeot": { "level": 90, "moves": ["bravebird", "heatwave", "quickattack", "return", "roost", "uturn", "workup"] }, "raticate": { "level": 90, "moves": ["crunch", "facade", "flamewheel", "suckerpunch", "swordsdance", "uturn"] }, "fearow": { "level": 90, "moves": ["doubleedge", "drillpeck", "drillrun", "pursuit", "quickattack", "return", "roost", "uturn"] }, "arbok": { "level": 91, "moves": ["aquatail", "coil", "earthquake", "glare", "gunkshot", "rest", "seedbomb", "suckerpunch"] }, "pikachu": { "level": 90, "moves": ["extremespeed", "grassknot", "hiddenpowerice", "voltswitch", "volttackle"] }, "raichu": { "level": 89, "moves": ["encore", "focusblast", "grassknot", "hiddenpowerice", "nastyplot", "thunderbolt", "voltswitch"] }, "sandslash": { "level": 86, "moves": ["earthquake", "rapidspin", "stealthrock", "stoneedge", "swordsdance", "xscissor"] }, "nidoqueen": { "level": 82, "moves": ["earthpower", "fireblast", "icebeam", "sludgewave", "stealthrock", "toxicspikes"] }, "nidoking": { "level": 82, "moves": ["earthpower", "fireblast", "icebeam", "sludgewave", "substitute", "superpower"] }, "clefable": { "level": 84, "moves": ["calmmind", "doubleedge", "icebeam", "softboiled", "stealthrock", "thunderbolt", "thunderwave"] }, "ninetales": { "level": 80, "moves": ["fireblast", "nastyplot", "painsplit", "solarbeam", "substitute", "willowisp"] }, "wigglytuff": { "level": 90, "moves": ["doubleedge", "fireblast", "healbell", "protect", "stealthrock", "toxic", "wish"] }, "vileplume": { "level": 88, "moves": ["aromatherapy", "gigadrain", "hiddenpowerfire", "leechseed", "sleeppowder", "sludgebomb", "synthesis"] }, "parasect": { "level": 92, "moves": ["aromatherapy", "leechseed", "seedbomb", "spore", "stunspore", "synthesis", "xscissor"] }, "venomoth": { "level": 84, "moves": ["bugbuzz", "quiverdance", "roost", "sleeppowder", "substitute"] }, "dugtrio": { "level": 82, "moves": ["aerialace", "earthquake", "stealthrock", "stoneedge"] }, "persian": { "level": 90, "moves": ["bite", "fakeout", "return", "switcheroo", "taunt", "uturn", "waterpulse"] }, "golduck": { "level": 88, "moves": ["calmmind", "encore", "focusblast", "hydropump", "icebeam", "psyshock", "scald"] }, "primeape": { "level": 86, "moves": ["closecombat", "honeclaws", "icepunch", "stoneedge", "uturn"] }, "arcanine": { "level": 82, "moves": ["closecombat", "extremespeed", "flareblitz", "hiddenpowergrass", "morningsun", "wildcharge", "willowisp"] }, "poliwrath": { "level": 85, "moves": ["circlethrow", "rest", "scald", "sleeptalk"] }, "alakazam": { "level": 80, "moves": ["calmmind", "encore", "focusblast", "psychic", "psyshock", "shadowball"] }, "machamp": { "level": 82, "moves": ["bulkup", "bulletpunch", "dynamicpunch", "icepunch", "payback", "stoneedge"] }, "victreebel": { "level": 89, "moves": ["powerwhip", "sleeppowder", "sludgebomb", "suckerpunch", "sunnyday", "weatherball"] }, "tentacruel": { "level": 80, "moves": ["gigadrain", "icebeam", "protect", "rapidspin", "scald", "toxic", "toxicspikes"] }, "golem": { "level": 86, "moves": ["earthquake", "explosion", "rockblast", "stealthrock", "suckerpunch", "toxic"] }, "rapidash": { "level": 88, "moves": ["drillrun", "flareblitz", "megahorn", "morningsun", "wildcharge", "willowisp"] }, "slowbro": { "level": 82, "moves": ["calmmind", "icebeam", "psyshock", "scald", "slackoff", "thunderwave", "toxic"] }, "farfetchd": { "level": 100, "moves": ["bravebird", "leafblade", "quickattack", "return", "swordsdance"] }, "dodrio": { "level": 88, "moves": ["bravebird", "pursuit", "quickattack", "return", "roost"] }, "dewgong": { "level": 90, "moves": ["icebeam", "protect", "rest", "sleeptalk", "surf", "toxic"] }, "muk": { "level": 90, "moves": ["brickbreak", "curse", "firepunch", "gunkshot", "icepunch", "poisonjab", "rest", "shadowsneak"] }, "cloyster": { "level": 80, "moves": ["hydropump", "iceshard", "iciclespear", "rapidspin", "rockblast", "shellsmash", "spikes"] }, "gengar": { "level": 79, "moves": ["focusblast", "shadowball", "sludgewave", "substitute", "trick", "willowisp"] }, "hypno": { "level": 90, "moves": ["foulplay", "protect", "psychic", "thunderwave", "toxic", "wish"] }, "kingler": { "level": 90, "moves": ["agility", "crabhammer", "return", "superpower", "swordsdance", "xscissor"] }, "electrode": { "level": 87, "moves": ["foulplay", "hiddenpowergrass", "hiddenpowerice", "taunt", "thunderbolt", "voltswitch"] }, "exeggutor": { "level": 86, "moves": ["gigadrain", "hiddenpowerfire", "leechseed", "protect", "psychic", "sleeppowder", "substitute"] }, "marowak": { "level": 89, "moves": ["bonemerang", "doubleedge", "earthquake", "firepunch", "stealthrock", "stoneedge"] }, "hitmonlee": { "level": 84, "moves": ["closecombat", "earthquake", "fakeout", "stoneedge", "suckerpunch"] }, "hitmonchan": { "level": 85, "moves": ["bulkup", "closecombat", "drainpunch", "icepunch", "machpunch", "rapidspin", "stoneedge"] }, "weezing": { "level": 88, "moves": ["fireblast", "haze", "painsplit", "sludgebomb", "willowisp"] }, "rhydon": { "level": 84, "moves": ["earthquake", "megahorn", "stealthrock", "stoneedge", "toxic"] }, "chansey": { "level": 82, "moves": ["aromatherapy", "seismictoss", "softboiled", "stealthrock", "toxic"] }, "kangaskhan": { "level": 86, "moves": ["doubleedge", "earthquake", "fakeout", "focuspunch", "return", "substitute", "suckerpunch"] }, "seaking": { "level": 90, "moves": ["drillrun", "icebeam", "megahorn", "return", "waterfall"] }, "starmie": { "level": 80, "moves": ["hydropump", "icebeam", "psyshock", "rapidspin", "recover", "scald", "thunderbolt", "trick"] }, "mrmime": { "level": 90, "moves": ["encore", "focusblast", "nastyplot", "psychic", "substitute", "thunderbolt"] }, "scyther": { "level": 84, "moves": ["aerialace", "brickbreak", "bugbite", "quickattack", "roost", "swordsdance"] }, "jynx": { "level": 85, "moves": ["focusblast", "icebeam", "lovelykiss", "nastyplot", "psyshock", "substitute", "trick"] }, "pinsir": { "level": 86, "moves": ["closecombat", "earthquake", "quickattack", "stealthrock", "stoneedge", "swordsdance", "xscissor"] }, "tauros": { "level": 85, "moves": ["doubleedge", "earthquake", "pursuit", "retaliate", "stoneedge"] }, "gyarados": { "level": 80, "moves": ["dragondance", "earthquake", "icefang", "stoneedge", "waterfall"] }, "lapras": { "level": 86, "moves": ["healbell", "hydropump", "icebeam", "substitute", "thunderbolt", "toxic"] }, "ditto": { "level": 86, "moves": ["transform"] }, "vaporeon": { "level": 82, "moves": ["icebeam", "protect", "roar", "scald", "toxic", "wish"] }, "jolteon": { "level": 81, "moves": ["hiddenpowerice", "signalbeam", "thunderbolt", "voltswitch"] }, "flareon": { "level": 90, "moves": ["facade", "flamecharge", "rest", "sleeptalk"] }, "omastar": { "level": 83, "moves": ["hiddenpowergrass", "icebeam", "shellsmash", "spikes", "stealthrock", "surf"] }, "kabutops": { "level": 85, "moves": ["aquajet", "rapidspin", "stealthrock", "stoneedge", "superpower", "swordsdance", "waterfall"] }, "aerodactyl": { "level": 84, "moves": ["aquatail", "doubleedge", "earthquake", "roost", "stealthrock", "stoneedge", "taunt"] }, "snorlax": { "level": 82, "moves": ["bodyslam", "crunch", "curse", "earthquake", "firepunch", "pursuit", "rest"] }, "articuno": { "level": 85, "moves": ["hurricane", "icebeam", "roost", "substitute", "toxic"] }, "zapdos": { "level": 80, "moves": ["heatwave", "hiddenpowerice", "roost", "substitute", "thunderbolt", "toxic", "uturn"] }, "moltres": { "level": 84, "moves": ["fireblast", "hiddenpowergrass", "hurricane", "roost", "substitute", "toxic", "uturn", "willowisp"] }, "dragonair": { "level": 90, "moves": ["dragondance", "outrage", "rest", "sleeptalk", "waterfall"] }, "dragonite": { "level": 77, "moves": ["dragondance", "earthquake", "extremespeed", "firepunch", "outrage", "roost"] }, "mewtwo": { "level": 71, "moves": ["aurasphere", "calmmind", "fireblast", "psystrike", "recover", "shadowball"] }, "mew": { "level": 80, "moves": ["aurasphere", "fireblast", "nastyplot", "psychic", "softboiled", "stealthrock", "taunt", "uturn", "willowisp"] }, "meganium": { "level": 90, "moves": ["aromatherapy", "dragontail", "gigadrain", "leechseed", "lightscreen", "reflect", "synthesis", "toxic"] }, "typhlosion": { "level": 83, "moves": ["eruption", "fireblast", "focusblast", "hiddenpowergrass", "hiddenpowerrock"] }, "feraligatr": { "level": 84, "moves": ["aquajet", "dragondance", "earthquake", "icepunch", "superpower", "swordsdance", "waterfall"] }, "furret": { "level": 90, "moves": ["aquatail", "doubleedge", "firepunch", "shadowclaw", "trick", "uturn"] }, "noctowl": { "level": 92, "moves": ["airslash", "magiccoat", "nightshade", "roost", "toxic", "whirlwind"] }, "ledian": { "level": 97, "moves": ["encore", "lightscreen", "reflect", "roost", "toxic", "uturn"] }, "ariados": { "level": 94, "moves": ["poisonjab", "suckerpunch", "toxicspikes", "xscissor"] }, "crobat": { "level": 83, "moves": ["bravebird", "heatwave", "roost", "superfang", "taunt", "toxic", "uturn"] }, "lanturn": { "level": 84, "moves": ["healbell", "icebeam", "scald", "thunderbolt", "thunderwave", "voltswitch"] }, "xatu": { "level": 83, "moves": ["heatwave", "psychic", "roost", "thunderwave", "toxic", "uturn"] }, "ampharos": { "level": 87, "moves": ["agility", "focusblast", "healbell", "hiddenpowergrass", "hiddenpowerice", "thunderbolt", "toxic", "voltswitch"] }, "bellossom": { "level": 91, "moves": ["gigadrain", "hiddenpowerfire", "hiddenpowerrock", "leafstorm", "leechseed", "sleeppowder", "stunspore", "synthesis"] }, "azumarill": { "level": 83, "moves": ["aquajet", "doubleedge", "icepunch", "superpower", "waterfall"] }, "sudowoodo": { "level": 90, "moves": ["earthquake", "stealthrock", "stoneedge", "suckerpunch", "toxic", "woodhammer"] }, "politoed": { "level": 82, "moves": ["encore", "focusblast", "hiddenpowergrass", "hypnosis", "icebeam", "protect", "scald", "toxic"] }, "jumpluff": { "level": 88, "moves": ["acrobatics", "encore", "energyball", "leechseed", "sleeppowder", "uturn"] }, "sunflora": { "level": 94, "moves": ["earthpower", "encore", "gigadrain", "hiddenpowerrock", "solarbeam", "sunnyday"] }, "quagsire": { "level": 84, "moves": ["earthquake", "encore", "recover", "scald", "toxic"] }, "espeon": { "level": 81, "moves": ["calmmind", "hiddenpowerfire", "morningsun", "psychic", "psyshock", "signalbeam"] }, "umbreon": { "level": 83, "moves": ["foulplay", "protect", "toxic", "wish"] }, "murkrow": { "level": 88, "moves": ["foulplay", "roost", "taunt", "thunderwave", "toxic"] }, "slowking": { "level": 84, "moves": ["calmmind", "fireblast", "grassknot", "icebeam", "psychic", "slackoff", "surf", "trickroom"] }, "unown": { "level": 100, "moves": ["hiddenpowerpsychic"] }, "wobbuffet": { "level": 85, "moves": ["counter", "destinybond", "encore", "mirrorcoat"] }, "girafarig": { "level": 90, "moves": ["calmmind", "hiddenpowerfire", "hypervoice", "psychic", "psyshock", "thunderbolt"] }, "forretress": { "level": 80, "moves": ["gyroball", "rapidspin", "spikes", "stealthrock", "toxic", "voltswitch"] }, "dunsparce": { "level": 91, "moves": ["bite", "bodyslam", "coil", "glare", "headbutt", "rockslide", "roost"] }, "gligar": { "level": 82, "moves": ["earthquake", "roost", "stealthrock", "taunt", "toxic", "uturn"] }, "steelix": { "level": 84, "moves": ["curse", "earthquake", "gyroball", "roar", "stealthrock", "stoneedge", "toxic"] }, "granbull": { "level": 90, "moves": ["closecombat", "crunch", "healbell", "return", "thunderwave", "toxic"] }, "qwilfish": { "level": 85, "moves": ["destinybond", "poisonjab", "spikes", "taunt", "thunderwave", "toxicspikes", "waterfall"] }, "scizor": { "level": 80, "moves": ["bugbite", "bulletpunch", "pursuit", "roost", "superpower", "swordsdance", "uturn"] }, "shuckle": { "level": 90, "moves": ["encore", "knockoff", "protect", "stealthrock", "toxic"] }, "heracross": { "level": 81, "moves": ["closecombat", "earthquake", "facade", "megahorn", "stoneedge"] }, "ursaring": { "level": 86, "moves": ["closecombat", "crunch", "earthquake", "facade", "protect", "swordsdance"] }, "magcargo": { "level": 91, "moves": ["hiddenpowerrock", "lavaplume", "recover", "stealthrock", "toxic"] }, "corsola": { "level": 91, "moves": ["powergem", "recover", "scald", "stealthrock", "toxic"] }, "octillery": { "level": 90, "moves": ["energyball", "fireblast", "hydropump", "icebeam", "thunderwave"] }, "delibird": { "level": 100, "moves": ["aerialace", "icebeam", "iceshard", "rapidspin"] }, "mantine": { "level": 89, "moves": ["airslash", "hydropump", "icebeam", "raindance", "rest", "scald", "sleeptalk"] }, "skarmory": { "level": 79, "moves": ["bravebird", "roost", "spikes", "stealthrock", "whirlwind"] }, "houndoom": { "level": 82, "moves": ["darkpulse", "fireblast", "hiddenpowergrass", "nastyplot", "suckerpunch"] }, "kingdra": { "level": 82, "moves": ["dracometeor", "dragondance", "hiddenpowerelectric", "hydropump", "icebeam", "outrage", "raindance", "waterfall"] }, "donphan": { "level": 82, "moves": ["earthquake", "headsmash", "iceshard", "rapidspin", "seedbomb", "stealthrock"] }, "porygon2": { "level": 82, "moves": ["discharge", "icebeam", "recover", "toxic", "triattack"] }, "stantler": { "level": 90, "moves": ["doubleedge", "earthquake", "jumpkick", "megahorn", "suckerpunch"] }, "smeargle": { "level": 84, "moves": ["memento", "spikes", "spore", "stealthrock", "whirlwind"] }, "hitmontop": { "level": 85, "moves": ["closecombat", "machpunch", "rapidspin", "stoneedge", "suckerpunch", "toxic"] }, "miltank": { "level": 84, "moves": ["bodyslam", "earthquake", "healbell", "milkdrink", "stealthrock", "toxic"] }, "blissey": { "level": 82, "moves": ["aromatherapy", "seismictoss", "softboiled", "stealthrock", "thunderwave", "toxic"] }, "raikou": { "level": 80, "moves": ["aurasphere", "calmmind", "hiddenpowerice", "substitute", "thunderbolt", "voltswitch"] }, "entei": { "level": 83, "moves": ["bulldoze", "extremespeed", "flareblitz", "hiddenpowergrass", "stoneedge"] }, "suicune": { "level": 82, "moves": ["calmmind", "hiddenpowerelectric", "hydropump", "icebeam", "rest", "roar", "scald", "sleeptalk"] }, "tyranitar": { "level": 80, "moves": ["crunch", "fireblast", "pursuit", "stealthrock", "stoneedge", "superpower"] }, "lugia": { "level": 74, "moves": ["aeroblast", "earthquake", "roost", "substitute", "toxic", "whirlwind"] }, "hooh": { "level": 74, "moves": ["bravebird", "earthquake", "roost", "sacredfire", "substitute", "toxic"] }, "celebi": { "level": 80, "moves": ["earthpower", "gigadrain", "hiddenpowerice", "leafstorm", "nastyplot", "psychic", "recover", "stealthrock", "uturn"] }, "sceptile": { "level": 84, "moves": ["acrobatics", "earthquake", "leafblade", "substitute", "swordsdance"] }, "blaziken": { "level": 76, "moves": ["flareblitz", "highjumpkick", "protect", "stoneedge", "swordsdance"] }, "swampert": { "level": 82, "moves": ["earthquake", "icebeam", "protect", "roar", "scald", "stealthrock", "toxic"] }, "mightyena": { "level": 91, "moves": ["crunch", "facade", "firefang", "howl", "suckerpunch"] }, "linoone": { "level": 86, "moves": ["bellydrum", "extremespeed", "seedbomb", "shadowclaw"] }, "beautifly": { "level": 94, "moves": ["bugbuzz", "hiddenpowerground", "psychic", "quiverdance"] }, "dustox": { "level": 90, "moves": ["bugbuzz", "quiverdance", "roost", "sludgebomb"] }, "ludicolo": { "level": 86, "moves": ["gigadrain", "hydropump", "icebeam", "raindance", "scald"] }, "shiftry": { "level": 88, "moves": ["darkpulse", "hiddenpowerfire", "leafstorm", "naturepower", "seedbomb", "suckerpunch", "swordsdance"] }, "swellow": { "level": 86, "moves": ["bravebird", "facade", "protect", "quickattack", "uturn"] }, "pelipper": { "level": 90, "moves": ["hurricane", "icebeam", "roost", "scald", "tailwind", "toxic", "uturn"] }, "gardevoir": { "level": 86, "moves": ["calmmind", "focusblast", "painsplit", "psychic", "substitute", "thunderbolt", "trick", "willowisp"] }, "masquerain": { "level": 90, "moves": ["airslash", "bugbuzz", "hydropump", "quiverdance", "roost"] }, "breloom": { "level": 80, "moves": ["bulletseed", "machpunch", "spore", "stoneedge", "swordsdance"] }, "vigoroth": { "level": 87, "moves": ["bulkup", "earthquake", "return", "slackoff", "taunt", "toxic"] }, "slaking": { "level": 86, "moves": ["earthquake", "nightslash", "pursuit", "retaliate", "return"] }, "ninjask": { "level": 87, "moves": ["aerialace", "substitute", "swordsdance", "xscissor"] }, "shedinja": { "level": 90, "moves": ["shadowclaw", "shadowsneak", "swordsdance", "willowisp", "xscissor"] }, "exploud": { "level": 90, "moves": ["fireblast", "focusblast", "hypervoice", "lowkick", "surf"] }, "hariyama": { "level": 84, "moves": ["bulletpunch", "closecombat", "facade", "fakeout", "stoneedge"] }, "delcatty": { "level": 92, "moves": ["doubleedge", "fakeout", "icebeam", "suckerpunch", "thunderwave"] }, "sableye": { "level": 85, "moves": ["foulplay", "nightshade", "recover", "taunt", "willowisp"] }, "mawile": { "level": 91, "moves": ["firefang", "ironhead", "stealthrock", "suckerpunch", "swordsdance"] }, "aggron": { "level": 85, "moves": ["aquatail", "earthquake", "headsmash", "heavyslam", "rockpolish", "stealthrock", "thunderwave"] }, "medicham": { "level": 84, "moves": ["bulletpunch", "highjumpkick", "icepunch", "thunderpunch", "trick", "zenheadbutt"] }, "manectric": { "level": 84, "moves": ["flamethrower", "hiddenpowerice", "overheat", "switcheroo", "thunderbolt", "voltswitch"] }, "plusle": { "level": 90, "moves": ["grassknot", "hiddenpowerice", "nastyplot", "thunderbolt", "voltswitch"] }, "minun": { "level": 90, "moves": ["encore", "hiddenpowerice", "nastyplot", "substitute", "thunderbolt"] }, "volbeat": { "level": 90, "moves": ["bugbuzz", "encore", "roost", "thunderwave", "uturn"] }, "illumise": { "level": 90, "moves": ["bugbuzz", "encore", "roost", "substitute", "thunderwave", "wish"] }, "swalot": { "level": 91, "moves": ["earthquake", "encore", "painsplit", "protect", "sludgebomb", "toxic"] }, "sharpedo": { "level": 82, "moves": ["crunch", "earthquake", "icebeam", "protect", "waterfall", "zenheadbutt"] }, "wailord": { "level": 90, "moves": ["hiddenpowergrass", "hydropump", "icebeam", "surf", "waterspout"] }, "camerupt": { "level": 87, "moves": ["earthquake", "hiddenpowergrass", "lavaplume", "roar", "stealthrock"] }, "torkoal": { "level": 87, "moves": ["earthquake", "lavaplume", "protect", "rapidspin", "stealthrock", "toxic", "yawn"] }, "grumpig": { "level": 90, "moves": ["focusblast", "healbell", "psychic", "shadowball", "thunderwave", "trick", "whirlwind"] }, "spinda": { "level": 96, "moves": ["return", "suckerpunch", "superpower", "trickroom"] }, "flygon": { "level": 82, "moves": ["earthquake", "firepunch", "outrage", "roost", "stoneedge", "superpower", "uturn"] }, "cacturne": { "level": 87, "moves": ["drainpunch", "seedbomb", "spikes", "substitute", "suckerpunch", "swordsdance"] }, "altaria": { "level": 87, "moves": ["dracometeor", "dragondance", "earthquake", "fireblast", "healbell", "outrage", "roost"] }, "zangoose": { "level": 86, "moves": ["closecombat", "facade", "nightslash", "quickattack", "swordsdance"] }, "seviper": { "level": 90, "moves": ["earthquake", "flamethrower", "gigadrain", "sludgebomb", "suckerpunch", "switcheroo"] }, "lunatone": { "level": 90, "moves": ["earthpower", "hiddenpowerrock", "moonlight", "psychic", "stealthrock", "toxic"] }, "solrock": { "level": 90, "moves": ["explosion", "lightscreen", "morningsun", "reflect", "rockslide", "stealthrock", "willowisp"] }, "whiscash": { "level": 89, "moves": ["dragondance", "earthquake", "icebeam", "waterfall"] }, "crawdaunt": { "level": 85, "moves": ["crunch", "dragondance", "superpower", "waterfall"] }, "claydol": { "level": 83, "moves": ["earthquake", "icebeam", "psychic", "rapidspin", "stealthrock", "toxic"] }, "cradily": { "level": 87, "moves": ["earthquake", "recover", "rockslide", "seedbomb", "stealthrock", "swordsdance", "toxic"] }, "armaldo": { "level": 87, "moves": ["aquatail", "earthquake", "rapidspin", "stealthrock", "stoneedge", "swordsdance", "xscissor"] }, "milotic": { "level": 82, "moves": ["dragontail", "haze", "icebeam", "recover", "scald", "toxic"] }, "castformsunny": { "level": 99, "moves": ["icebeam", "solarbeam", "sunnyday", "weatherball"] }, "castformrainy": { "level": 99, "moves": ["icebeam", "raindance", "thunder", "weatherball"] }, "kecleon": { "level": 91, "moves": ["foulplay", "recover", "stealthrock", "thunderwave", "toxic"] }, "banette": { "level": 91, "moves": ["pursuit", "shadowclaw", "shadowsneak", "trick", "willowisp"] }, "dusclops": { "level": 84, "moves": ["nightshade", "rest", "sleeptalk", "willowisp"] }, "tropius": { "level": 90, "moves": ["airslash", "leechseed", "protect", "substitute", "toxic"] }, "chimecho": { "level": 92, "moves": ["calmmind", "healingwish", "psychic", "recover", "shadowball", "toxic", "yawn"] }, "absol": { "level": 85, "moves": ["fireblast", "nightslash", "psychocut", "pursuit", "suckerpunch", "superpower", "swordsdance"] }, "glalie": { "level": 90, "moves": ["earthquake", "explosion", "icebeam", "spikes", "taunt"] }, "walrein": { "level": 90, "moves": ["encore", "icebeam", "protect", "roar", "surf", "toxic"] }, "huntail": { "level": 86, "moves": ["icebeam", "return", "shellsmash", "waterfall"] }, "gorebyss": { "level": 82, "moves": ["hiddenpowergrass", "hydropump", "icebeam", "shellsmash"] }, "relicanth": { "level": 88, "moves": ["doubleedge", "earthquake", "headsmash", "stealthrock", "waterfall"] }, "luvdisc": { "level": 100, "moves": ["icebeam", "protect", "surf", "sweetkiss", "toxic"] }, "salamence": { "level": 79, "moves": ["aquatail", "brickbreak", "dracometeor", "dragondance", "earthquake", "fireblast", "outrage", "roost"] }, "metagross": { "level": 81, "moves": ["agility", "bulletpunch", "earthquake", "meteormash", "pursuit", "stealthrock", "zenheadbutt"] }, "regirock": { "level": 86, "moves": ["drainpunch", "protect", "rockslide", "stealthrock", "thunderwave", "toxic"] }, "regice": { "level": 86, "moves": ["focusblast", "icebeam", "rest", "rockpolish", "sleeptalk", "thunderbolt"] }, "registeel": { "level": 82, "moves": ["curse", "ironhead", "protect", "rest", "sleeptalk", "stealthrock", "toxic"] }, "latias": { "level": 73, "moves": ["calmmind", "dracometeor", "psyshock", "roost"] }, "latios": { "level": 73, "moves": ["calmmind", "dracometeor", "psyshock", "roost"] }, "kyogre": { "level": 73, "moves": ["calmmind", "icebeam", "rest", "sleeptalk", "surf", "thunder", "waterspout"] }, "groudon": { "level": 76, "moves": ["earthquake", "firepunch", "stealthrock", "stoneedge", "swordsdance", "thunderwave"] }, "rayquaza": { "level": 75, "moves": ["dracometeor", "dragondance", "earthquake", "extremespeed", "outrage", "swordsdance", "vcreate"] }, "jirachi": { "level": 79, "moves": ["bodyslam", "firepunch", "icepunch", "ironhead", "substitute", "uturn", "wish"] }, "deoxys": { "level": 75, "moves": ["extremespeed", "hiddenpowerfire", "icebeam", "psychoboost", "stealthrock", "superpower"] }, "deoxysattack": { "level": 74, "moves": ["extremespeed", "hiddenpowerfire", "icebeam", "psychoboost", "stealthrock", "superpower"] }, "deoxysdefense": { "level": 81, "moves": ["magiccoat", "recover", "seismictoss", "spikes", "taunt", "toxic"] }, "deoxysspeed": { "level": 76, "moves": ["icebeam", "lightscreen", "psychoboost", "reflect", "spikes", "stealthrock", "superpower", "taunt"] }, "torterra": { "level": 88, "moves": ["earthquake", "rockpolish", "stealthrock", "stoneedge", "synthesis", "woodhammer"] }, "infernape": { "level": 81, "moves": ["closecombat", "flareblitz", "hiddenpowerice", "machpunch", "overheat", "swordsdance", "thunderpunch", "uturn"] }, "empoleon": { "level": 82, "moves": ["agility", "grassknot", "hydropump", "icebeam", "protect", "scald", "stealthrock", "toxic"] }, "staraptor": { "level": 82, "moves": ["bravebird", "closecombat", "doubleedge", "quickattack", "roost", "uturn"] }, "bibarel": { "level": 90, "moves": ["curse", "quickattack", "rest", "waterfall"] }, "kricketune": { "level": 97, "moves": ["brickbreak", "bugbite", "nightslash", "return", "swordsdance"] }, "luxray": { "level": 90, "moves": ["crunch", "facade", "icefang", "superpower", "voltswitch", "wildcharge"] }, "roserade": { "level": 83, "moves": ["gigadrain", "hiddenpowerfire", "leafstorm", "sleeppowder", "sludgebomb", "spikes", "synthesis", "toxicspikes"] }, "rampardos": { "level": 89, "moves": ["crunch", "earthquake", "firepunch", "headsmash", "rockpolish", "superpower"] }, "bastiodon": { "level": 88, "moves": ["metalburst", "protect", "roar", "rockblast", "stealthrock", "toxic"] }, "wormadam": { "level": 96, "moves": ["gigadrain", "hiddenpowerrock", "leafstorm", "protect", "signalbeam", "toxic"] }, "wormadamsandy": { "level": 90, "moves": ["earthquake", "protect", "rockblast", "stealthrock", "toxic"] }, "wormadamtrash": { "level": 90, "moves": ["ironhead", "protect", "stealthrock", "toxic"] }, "mothim": { "level": 92, "moves": ["airslash", "bugbuzz", "hiddenpowerground", "quiverdance", "substitute"] }, "vespiquen": { "level": 95, "moves": ["attackorder", "protect", "roost", "substitute", "toxic"] }, "pachirisu": { "level": 91, "moves": ["protect", "superfang", "thunderwave", "toxic", "voltswitch"] }, "floatzel": { "level": 86, "moves": ["aquajet", "bulkup", "crunch", "icepunch", "switcheroo", "taunt", "waterfall"] }, "cherrim": { "level": 91, "moves": ["energyball", "healingwish", "hiddenpowerrock", "hiddenpowerfire", "naturepower"] }, "gastrodon": { "level": 82, "moves": ["earthquake", "icebeam", "recover", "scald", "toxic"] }, "ambipom": { "level": 82, "moves": ["fakeout", "lowkick", "pursuit", "return", "switcheroo", "uturn"] }, "drifblim": { "level": 85, "moves": ["acrobatics", "destinybond", "disable", "shadowball", "substitute", "willowisp"] }, "lopunny": { "level": 90, "moves": ["firepunch", "healingwish", "icepunch", "jumpkick", "return", "switcheroo", "thunderpunch"] }, "mismagius": { "level": 82, "moves": ["hiddenpowerfighting", "nastyplot", "shadowball", "substitute", "taunt", "thunderbolt", "willowisp"] }, "honchkrow": { "level": 82, "moves": ["bravebird", "heatwave", "pursuit", "roost", "substitute", "suckerpunch", "superpower"] }, "purugly": { "level": 89, "moves": ["fakeout", "hypnosis", "return", "suckerpunch", "uturn"] }, "skuntank": { "level": 86, "moves": ["crunch", "fireblast", "poisonjab", "pursuit", "suckerpunch", "taunt"] }, "bronzong": { "level": 81, "moves": ["earthquake", "hypnosis", "psychic", "stealthrock", "toxic"] }, "chatot": { "level": 90, "moves": ["chatter", "heatwave", "hiddenpowerground", "hypervoice", "nastyplot", "substitute", "uturn"] }, "spiritomb": { "level": 84, "moves": ["calmmind", "darkpulse", "foulplay", "rest", "shadowsneak", "sleeptalk", "willowisp"] }, "garchomp": { "level": 76, "moves": ["aquatail", "earthquake", "fireblast", "outrage", "stealthrock", "stoneedge", "swordsdance"] }, "lucario": { "level": 82, "moves": ["closecombat", "crunch", "extremespeed", "icepunch", "swordsdance"] }, "hippowdon": { "level": 82, "moves": ["earthquake", "slackoff", "stealthrock", "stoneedge", "toxic", "whirlwind"] }, "drapion": { "level": 84, "moves": ["aquatail", "crunch", "earthquake", "poisonjab", "pursuit", "swordsdance", "taunt", "toxicspikes"] }, "toxicroak": { "level": 80, "moves": ["drainpunch", "icepunch", "poisonjab", "substitute", "suckerpunch", "swordsdance"] }, "carnivine": { "level": 92, "moves": ["leechseed", "powerwhip", "return", "sleeppowder", "substitute", "swordsdance"] }, "lumineon": { "level": 89, "moves": ["icebeam", "protect", "scald", "toxic", "uturn"] }, "abomasnow": { "level": 83, "moves": ["blizzard", "earthquake", "hiddenpowerfire", "iceshard", "leechseed", "woodhammer"] }, "weavile": { "level": 82, "moves": ["icepunch", "iceshard", "lowkick", "nightslash", "pursuit", "swordsdance"] }, "magnezone": { "level": 81, "moves": ["flashcannon", "hiddenpowerfire", "thunderbolt", "toxic", "voltswitch"] }, "lickilicky": { "level": 86, "moves": ["bodyslam", "earthquake", "healbell", "powerwhip", "protect", "swordsdance", "toxic", "wish"] }, "rhyperior": { "level": 82, "moves": ["earthquake", "icepunch", "megahorn", "rockpolish", "stoneedge"] }, "tangrowth": { "level": 84, "moves": ["earthquake", "hiddenpowerfire", "leechseed", "powerwhip", "rockslide", "sleeppowder", "synthesis"] }, "electivire": { "level": 84, "moves": ["crosschop", "earthquake", "flamethrower", "icepunch", "voltswitch", "wildcharge"] }, "magmortar": { "level": 84, "moves": ["fireblast", "focusblast", "hiddenpowergrass", "substitute", "thunderbolt"] }, "togekiss": { "level": 82, "moves": ["airslash", "aurasphere", "nastyplot", "roost", "thunderwave"] }, "yanmega": { "level": 82, "moves": ["airslash", "bugbuzz", "hiddenpowerground", "protect", "uturn"] }, "leafeon": { "level": 89, "moves": ["leafblade", "return", "swordsdance", "xscissor"] }, "glaceon": { "level": 90, "moves": ["hiddenpowerground", "icebeam", "protect", "shadowball", "toxic", "wish"] }, "gliscor": { "level": 80, "moves": ["earthquake", "icefang", "protect", "roost", "substitute", "swordsdance", "taunt", "toxic"] }, "mamoswine": { "level": 79, "moves": ["earthquake", "iceshard", "iciclecrash", "stealthrock", "superpower"] }, "porygonz": { "level": 82, "moves": ["agility", "darkpulse", "hiddenpowerfighting", "icebeam", "nastyplot", "thunderbolt", "triattack", "trick"] }, "gallade": { "level": 84, "moves": ["closecombat", "drainpunch", "nightslash", "substitute", "swordsdance", "trick", "zenheadbutt"] }, "probopass": { "level": 86, "moves": ["earthpower", "powergem", "stealthrock", "toxic", "voltswitch"] }, "dusknoir": { "level": 84, "moves": ["earthquake", "icepunch", "painsplit", "shadowsneak", "trick", "willowisp"] }, "froslass": { "level": 82, "moves": ["destinybond", "icebeam", "shadowball", "spikes", "taunt", "thunderwave"] }, "rotom": { "level": 84, "moves": ["hiddenpowerice", "painsplit", "shadowball", "substitute", "thunderbolt", "trick", "voltswitch", "willowisp"] }, "rotomheat": { "level": 82, "moves": ["hiddenpowergrass", "overheat", "painsplit", "thunderbolt", "thunderwave", "trick", "voltswitch", "willowisp"] }, "rotomwash": { "level": 81, "moves": ["hiddenpowerice", "hydropump", "painsplit", "thunderbolt", "thunderwave", "trick", "voltswitch", "willowisp"] }, "rotomfrost": { "level": 86, "moves": ["blizzard", "hiddenpowerfire", "painsplit", "substitute", "thunderbolt", "trick", "voltswitch", "willowisp"] }, "rotomfan": { "level": 86, "moves": ["airslash", "painsplit", "substitute", "thunderbolt", "trick", "voltswitch", "willowisp"] }, "rotommow": { "level": 84, "moves": ["hiddenpowerfire", "leafstorm", "painsplit", "thunderbolt", "thunderwave", "trick", "voltswitch", "willowisp"] }, "uxie": { "level": 84, "moves": ["healbell", "lightscreen", "memento", "psychic", "reflect", "stealthrock", "thunderwave", "uturn", "yawn"] }, "mesprit": { "level": 83, "moves": ["calmmind", "hiddenpowerfire", "icebeam", "psychic", "stealthrock", "thunderbolt", "trick", "uturn"] }, "azelf": { "level": 81, "moves": ["energyball", "fireblast", "nastyplot", "psychic", "stealthrock", "taunt", "trick", "uturn"] }, "dialga": { "level": 72, "moves": ["aurasphere", "dracometeor", "dragontail", "fireblast", "stealthrock", "thunderbolt"] }, "palkia": { "level": 74, "moves": ["dracometeor", "dragontail", "fireblast", "hydropump", "spacialrend", "surf", "thunderbolt"] }, "heatran": { "level": 80, "moves": ["earthpower", "fireblast", "flashcannon", "hiddenpowerice", "lavaplume", "protect", "roar", "stealthrock", "toxic"] }, "regigigas": { "level": 85, "moves": ["confuseray", "return", "rockslide", "substitute", "thunderwave"] }, "giratinaorigin": { "level": 75, "moves": ["dracometeor", "earthquake", "hiddenpowerfire", "shadowsneak", "willowisp"] }, "giratina": { "level": 73, "moves": ["calmmind", "dragonpulse", "dragontail", "rest", "sleeptalk", "willowisp"] }, "cresselia": { "level": 82, "moves": ["calmmind", "hiddenpowerfighting", "moonlight", "psychic", "thunderwave", "toxic"] }, "phione": { "level": 90, "moves": ["healbell", "icebeam", "scald", "toxic", "uturn"] }, "manaphy": { "level": 76, "moves": ["energyball", "icebeam", "surf", "tailglow"] }, "darkrai": { "level": 72, "moves": ["darkpulse", "darkvoid", "focusblast", "nastyplot", "substitute"] }, "shaymin": { "level": 82, "moves": ["earthpower", "hiddenpowerfire", "leechseed", "psychic", "rest", "seedflare"] }, "shayminsky": { "level": 74, "moves": ["airslash", "earthpower", "hiddenpowerfire", "hiddenpowerice", "leechseed", "seedflare", "substitute"] }, "arceus": { "level": 72, "moves": ["earthquake", "extremespeed", "recover", "shadowclaw", "swordsdance"] }, "arceusbug": { "level": 72, "moves": ["earthquake", "recover", "stoneedge", "swordsdance", "xscissor"] }, "arceusdark": { "level": 72, "moves": ["calmmind", "judgment", "recover", "refresh"] }, "arceusdragon": { "level": 72, "moves": ["earthquake", "extremespeed", "outrage", "recover", "swordsdance"] }, "arceuselectric": { "level": 72, "moves": ["calmmind", "icebeam", "judgment", "recover"] }, "arceusfighting": { "level": 72, "moves": ["calmmind", "darkpulse", "icebeam", "judgment", "recover"] }, "arceusfire": { "level": 72, "moves": ["calmmind", "fireblast", "judgment", "recover", "thunderbolt"] }, "arceusflying": { "level": 72, "moves": ["calmmind", "earthpower", "judgment", "recover", "substitute"] }, "arceusghost": { "level": 72, "moves": ["calmmind", "focusblast", "judgment", "recover", "roar", "willowisp"] }, "arceusgrass": { "level": 72, "moves": ["calmmind", "earthpower", "icebeam", "judgment", "recover", "thunderwave"] }, "arceusground": { "level": 72, "moves": ["calmmind", "icebeam", "judgment", "recover", "willowisp"] }, "arceusice": { "level": 72, "moves": ["calmmind", "fireblast", "icebeam", "recover", "thunderbolt"] }, "arceuspoison": { "level": 72, "moves": ["flamethrower", "icebeam", "recover", "sludgebomb", "stealthrock", "willowisp"] }, "arceuspsychic": { "level": 72, "moves": ["calmmind", "darkpulse", "focusblast", "judgment", "recover"] }, "arceusrock": { "level": 72, "moves": ["earthquake", "recover", "stoneedge", "swordsdance"] }, "arceussteel": { "level": 72, "moves": ["calmmind", "judgment", "recover", "thunderbolt", "willowisp"] }, "arceuswater": { "level": 72, "moves": ["brickbreak", "extremespeed", "recover", "swordsdance", "waterfall"] }, "victini": { "level": 81, "moves": ["blueflare", "boltstrike", "energyball", "focusblast", "glaciate", "trick", "uturn", "vcreate"] }, "serperior": { "level": 86, "moves": ["calmmind", "dragonpulse", "gigadrain", "hiddenpowerfire", "leechseed", "substitute"] }, "emboar": { "level": 84, "moves": ["earthquake", "fireblast", "flareblitz", "grassknot", "headsmash", "superpower", "wildcharge"] }, "samurott": { "level": 86, "moves": ["aquajet", "grassknot", "icebeam", "megahorn", "superpower", "swordsdance", "waterfall"] }, "watchog": { "level": 90, "moves": ["crunch", "hypnosis", "return", "substitute", "superfang", "swordsdance"] }, "stoutland": { "level": 88, "moves": ["crunch", "return", "superpower", "thunderwave", "wildcharge"] }, "liepard": { "level": 86, "moves": ["darkpulse", "encore", "hiddenpowerfire", "nastyplot", "thunderwave"] }, "simisage": { "level": 88, "moves": ["focusblast", "gigadrain", "hiddenpowerrock", "leechseed", "nastyplot", "substitute"] }, "simisear": { "level": 88, "moves": ["fireblast", "focusblast", "grassknot", "hiddenpowerrock", "nastyplot", "substitute"] }, "simipour": { "level": 86, "moves": ["focusblast", "hiddenpowergrass", "hydropump", "icebeam", "nastyplot", "substitute"] }, "musharna": { "level": 86, "moves": ["calmmind", "healbell", "hiddenpowerground", "moonlight", "psychic", "signalbeam", "toxic", "trickroom"] }, "unfezant": { "level": 89, "moves": ["hypnosis", "pluck", "return", "roost", "tailwind", "uturn"] }, "zebstrika": { "level": 88, "moves": ["hiddenpowergrass", "overheat", "thunderbolt", "voltswitch", "wildcharge"] }, "gigalith": { "level": 86, "moves": ["earthquake", "explosion", "rockblast", "stealthrock", "stoneedge", "superpower"] }, "swoobat": { "level": 88, "moves": ["airslash", "calmmind", "heatwave", "roost", "storedpower"] }, "excadrill": { "level": 80, "moves": ["earthquake", "ironhead", "rapidspin", "rockslide", "swordsdance"] }, "audino": { "level": 90, "moves": ["doubleedge", "healbell", "magiccoat", "protect", "toxic", "wish"] }, "conkeldurr": { "level": 80, "moves": ["bulkup", "drainpunch", "icepunch", "machpunch", "thunderpunch"] }, "seismitoad": { "level": 86, "moves": ["earthquake", "hydropump", "raindance", "sludgebomb", "stealthrock", "toxic"] }, "throh": { "level": 88, "moves": ["bulkup", "icepunch", "payback", "rest", "sleeptalk", "stormthrow"] }, "sawk": { "level": 85, "moves": ["bulkup", "closecombat", "earthquake", "icepunch", "stoneedge"] }, "leavanny": { "level": 90, "moves": ["leafblade", "swordsdance", "synthesis", "xscissor"] }, "scolipede": { "level": 86, "moves": ["aquatail", "earthquake", "megahorn", "rockslide", "spikes", "swordsdance"] }, "whimsicott": { "level": 84, "moves": ["encore", "gigadrain", "leechseed", "stunspore", "taunt", "uturn"] }, "lilligant": { "level": 84, "moves": ["gigadrain", "hiddenpowerfire", "hiddenpowerrock", "petaldance", "quiverdance", "sleeppowder"] }, "basculinbluestriped": { "level": 86, "moves": ["aquajet", "crunch", "superpower", "waterfall", "zenheadbutt"] }, "basculin": { "level": 86, "moves": ["aquajet", "crunch", "superpower", "waterfall", "zenheadbutt"] }, "krookodile": { "level": 81, "moves": ["crunch", "earthquake", "pursuit", "stealthrock", "stoneedge", "superpower"] }, "darmanitan": { "level": 82, "moves": ["earthquake", "flareblitz", "rockslide", "superpower", "uturn"] }, "maractus": { "level": 91, "moves": ["gigadrain", "hiddenpowerfire", "leechseed", "spikes", "toxic"] }, "crustle": { "level": 84, "moves": ["earthquake", "rockblast", "shellsmash", "spikes", "stealthrock", "stoneedge", "xscissor"] }, "scrafty": { "level": 81, "moves": ["crunch", "dragondance", "highjumpkick", "icepunch", "zenheadbutt"] }, "sigilyph": { "level": 84, "moves": ["cosmicpower", "psychoshift", "roost", "storedpower"] }, "cofagrigus": { "level": 85, "moves": ["haze", "hiddenpowerfighting", "nastyplot", "painsplit", "shadowball", "trickroom", "willowisp"] }, "carracosta": { "level": 86, "moves": ["aquajet", "earthquake", "icebeam", "shellsmash", "stealthrock", "stoneedge", "waterfall"] }, "archeops": { "level": 82, "moves": ["acrobatics", "earthquake", "headsmash", "pluck", "roost", "stoneedge", "uturn"] }, "garbodor": { "level": 87, "moves": ["drainpunch", "gunkshot", "haze", "painsplit", "spikes", "toxicspikes"] }, "zoroark": { "moves": ["darkpulse", "flamethrower", "focusblast", "nastyplot", "uturn"] }, "cinccino": { "level": 81, "moves": ["bulletseed", "rockblast", "tailslap", "uturn"] }, "gothitelle": { "level": 86, "moves": ["calmmind", "hiddenpowerfighting", "psychic", "rest", "thunderbolt", "trick"] }, "reuniclus": { "level": 81, "moves": ["calmmind", "focusblast", "psychic", "recover", "shadowball", "trickroom"] }, "swanna": { "level": 88, "moves": ["hurricane", "icebeam", "raindance", "roost", "surf"] }, "vanilluxe": { "level": 90, "moves": ["autotomize", "explosion", "flashcannon", "hiddenpowerground", "icebeam"] }, "sawsbuck": { "level": 86, "moves": ["doubleedge", "hornleech", "megahorn", "naturepower", "return", "substitute", "swordsdance"] }, "emolga": { "level": 89, "moves": ["acrobatics", "encore", "roost", "thunderbolt", "toxic", "uturn"] }, "escavalier": { "level": 84, "moves": ["ironhead", "megahorn", "pursuit", "return", "swordsdance"] }, "amoonguss": { "level": 85, "moves": ["clearsmog", "gigadrain", "hiddenpowerfire", "spore", "stunspore", "synthesis"] }, "jellicent": { "level": 81, "moves": ["icebeam", "recover", "scald", "shadowball", "toxic", "willowisp"] }, "alomomola": { "level": 86, "moves": ["protect", "scald", "toxic", "waterfall", "wish"] }, "galvantula": { "level": 83, "moves": ["bugbuzz", "gigadrain", "hiddenpowerice", "thunder", "voltswitch"] }, "ferrothorn": { "level": 78, "moves": ["gyroball", "leechseed", "powerwhip", "protect", "spikes", "stealthrock", "toxic"] }, "klinklang": { "level": 84, "moves": ["geargrind", "return", "shiftgear", "substitute", "wildcharge"] }, "eelektross": { "level": 86, "moves": ["flamethrower", "gigadrain", "hiddenpowerice", "superpower", "thunderbolt", "uturn"] }, "beheeyem": { "level": 88, "moves": ["hiddenpowerfighting", "psychic", "thunderbolt", "trick", "trickroom"] }, "chandelure": { "level": 82, "moves": ["calmmind", "energyball", "fireblast", "hiddenpowerfighting", "shadowball", "substitute"] }, "haxorus": { "level": 78, "moves": ["aquatail", "dragondance", "earthquake", "outrage", "superpower", "swordsdance"] }, "beartic": { "level": 90, "moves": ["aquajet", "iciclecrash", "stoneedge", "superpower", "swordsdance"] }, "cryogonal": { "level": 85, "moves": ["hiddenpowerfire", "icebeam", "rapidspin", "recover", "toxic"] }, "accelgor": { "level": 84, "moves": ["bugbuzz", "encore", "focusblast", "gigadrain", "hiddenpowerrock", "spikes", "yawn"] }, "stunfisk": { "level": 88, "moves": ["discharge", "earthpower", "foulplay", "rest", "scald", "sleeptalk", "stealthrock", "toxic"] }, "mienshao": { "level": 82, "moves": ["highjumpkick", "stoneedge", "substitute", "swordsdance", "uturn"] }, "druddigon": { "level": 84, "moves": ["dragontail", "earthquake", "glare", "outrage", "stealthrock", "suckerpunch", "superpower"] }, "golurk": { "level": 85, "moves": ["drainpunch", "earthquake", "icepunch", "rockpolish", "shadowpunch", "stealthrock"] }, "bisharp": { "level": 82, "moves": ["ironhead", "lowkick", "nightslash", "suckerpunch", "swordsdance"] }, "bouffalant": { "level": 85, "moves": ["earthquake", "headcharge", "megahorn", "stoneedge", "swordsdance"] }, "braviary": { "level": 86, "moves": ["bravebird", "bulkup", "return", "roost", "superpower", "uturn"] }, "mandibuzz": { "level": 86, "moves": ["bravebird", "foulplay", "roost", "taunt", "toxic", "whirlwind"] }, "heatmor": { "level": 90, "moves": ["fireblast", "gigadrain", "suckerpunch", "superpower"] }, "durant": { "level": 81, "moves": ["honeclaws", "ironhead", "rockslide", "superpower", "xscissor"] }, "hydreigon": { "level": 80, "moves": ["darkpulse", "dracometeor", "flamethrower", "focusblast", "roost", "uturn"] }, "volcarona": { "level": 79, "moves": ["bugbuzz", "fierydance", "fireblast", "gigadrain", "hiddenpowerground", "quiverdance", "roost"] }, "cobalion": { "level": 79, "moves": ["closecombat", "hiddenpowerice", "ironhead", "stealthrock", "stoneedge", "swordsdance", "taunt", "thunderwave", "voltswitch"] }, "terrakion": { "level": 78, "moves": ["closecombat", "earthquake", "quickattack", "stealthrock", "stoneedge", "swordsdance"] }, "virizion": { "level": 82, "moves": ["closecombat", "leafblade", "stoneedge", "swordsdance"] }, "tornadus": { "level": 81, "moves": ["acrobatics", "bulkup", "focusblast", "heatwave", "hurricane", "superpower", "taunt", "uturn"] }, "tornadustherian": { "level": 76, "moves": ["focusblast", "heatwave", "hurricane", "superpower", "uturn"] }, "thundurus": { "level": 76, "moves": ["focusblast", "hiddenpowerice", "nastyplot", "thunderbolt", "thunderwave", "voltswitch"] }, "thundurustherian": { "level": 80, "moves": ["agility", "focusblast", "grassknot", "hiddenpowerice", "nastyplot", "thunderbolt"] }, "reshiram": { "level": 76, "moves": ["blueflare", "dracometeor", "roost", "stoneedge", "tailwind"] }, "zekrom": { "level": 76, "moves": ["boltstrike", "dracometeor", "focusblast", "honeclaws", "outrage", "roost", "substitute", "voltswitch"] }, "landorus": { "level": 76, "moves": ["earthpower", "focusblast", "psychic", "rockpolish", "rockslide", "sludgewave"] }, "landorustherian": { "level": 80, "moves": ["earthquake", "rockpolish", "stealthrock", "stoneedge", "superpower", "swordsdance", "uturn"] }, "kyurem": { "level": 78, "moves": ["dracometeor", "earthpower", "focusblast", "icebeam", "outrage", "roost", "substitute"] }, "kyuremblack": { "level": 78, "moves": ["dragonclaw", "earthpower", "fusionbolt", "icebeam", "roost", "substitute"] }, "kyuremwhite": { "level": 74, "moves": ["dracometeor", "earthpower", "focusblast", "fusionflare", "icebeam", "roost", "substitute"] }, "keldeo": { "level": 79, "moves": ["calmmind", "hiddenpowergrass", "hydropump", "icywind", "scald", "secretsword", "substitute"] }, "meloetta": { "level": 82, "moves": ["calmmind", "focusblast", "psychic", "shadowball", "uturn"] }, "meloettapirouette": { "level": 82, "moves": ["closecombat", "icepunch", "relicsong", "return", "shadowclaw"] }, "genesect": { "level": 75, "moves": ["bugbuzz", "flamethrower", "icebeam", "ironhead", "rockpolish", "thunderbolt", "uturn"] } };
|
|
5669
|
+
var randomDataJSON4 = { "venusaur": { "level": 84, "moves": ["hiddenpowerfire", "hiddenpowerice", "leechseed", "naturepower", "powerwhip", "sleeppowder", "sludgebomb", "swordsdance", "synthesis"] }, "charizard": { "level": 85, "moves": ["airslash", "dragonpulse", "fireblast", "focusblast", "hiddenpowergrass", "roost"] }, "blastoise": { "level": 83, "moves": ["icebeam", "protect", "rapidspin", "scald", "toxic"] }, "butterfree": { "level": 92, "moves": ["bugbuzz", "hiddenpowerrock", "psychic", "quiverdance", "sleeppowder", "substitute"] }, "beedrill": { "level": 94, "moves": ["drillrun", "poisonjab", "tailwind", "toxicspikes", "uturn"] }, "pidgeot": { "level": 90, "moves": ["bravebird", "heatwave", "quickattack", "return", "roost", "uturn", "workup"] }, "raticate": { "level": 90, "moves": ["crunch", "facade", "flamewheel", "suckerpunch", "swordsdance", "uturn"] }, "fearow": { "level": 90, "moves": ["doubleedge", "drillpeck", "drillrun", "pursuit", "quickattack", "return", "roost", "uturn"] }, "arbok": { "level": 91, "moves": ["aquatail", "coil", "earthquake", "glare", "gunkshot", "rest", "seedbomb", "suckerpunch"] }, "pikachu": { "level": 90, "moves": ["extremespeed", "grassknot", "hiddenpowerice", "voltswitch", "volttackle"] }, "raichu": { "level": 89, "moves": ["encore", "focusblast", "grassknot", "hiddenpowerice", "nastyplot", "thunderbolt", "voltswitch"] }, "sandslash": { "level": 86, "moves": ["earthquake", "rapidspin", "stealthrock", "stoneedge", "swordsdance", "xscissor"] }, "nidoqueen": { "level": 82, "moves": ["earthpower", "fireblast", "icebeam", "sludgewave", "stealthrock", "toxicspikes"] }, "nidoking": { "level": 82, "moves": ["earthpower", "fireblast", "icebeam", "sludgewave", "substitute", "superpower"] }, "clefable": { "level": 84, "moves": ["calmmind", "doubleedge", "icebeam", "softboiled", "stealthrock", "thunderbolt", "thunderwave"] }, "ninetales": { "level": 80, "moves": ["fireblast", "nastyplot", "painsplit", "solarbeam", "substitute", "willowisp"] }, "wigglytuff": { "level": 90, "moves": ["doubleedge", "fireblast", "healbell", "protect", "stealthrock", "toxic", "wish"] }, "vileplume": { "level": 88, "moves": ["aromatherapy", "gigadrain", "hiddenpowerfire", "leechseed", "sleeppowder", "sludgebomb", "synthesis"] }, "parasect": { "level": 92, "moves": ["aromatherapy", "leechseed", "seedbomb", "spore", "stunspore", "synthesis", "xscissor"] }, "venomoth": { "level": 84, "moves": ["bugbuzz", "quiverdance", "roost", "sleeppowder"] }, "dugtrio": { "level": 82, "moves": ["aerialace", "earthquake", "stealthrock", "stoneedge"] }, "persian": { "level": 90, "moves": ["bite", "fakeout", "return", "switcheroo", "taunt", "uturn", "waterpulse"] }, "golduck": { "level": 88, "moves": ["calmmind", "encore", "focusblast", "hydropump", "icebeam", "psyshock", "scald"] }, "primeape": { "level": 86, "moves": ["closecombat", "honeclaws", "icepunch", "stoneedge", "uturn"] }, "arcanine": { "level": 82, "moves": ["closecombat", "extremespeed", "flareblitz", "hiddenpowergrass", "morningsun", "wildcharge", "willowisp"] }, "poliwrath": { "level": 85, "moves": ["circlethrow", "rest", "scald", "sleeptalk"] }, "alakazam": { "level": 80, "moves": ["calmmind", "encore", "focusblast", "psychic", "psyshock", "shadowball"] }, "machamp": { "level": 82, "moves": ["bulkup", "bulletpunch", "dynamicpunch", "icepunch", "payback", "stoneedge"] }, "victreebel": { "level": 89, "moves": ["powerwhip", "sleeppowder", "sludgebomb", "suckerpunch", "sunnyday", "weatherball"] }, "tentacruel": { "level": 80, "moves": ["gigadrain", "icebeam", "protect", "rapidspin", "scald", "toxic", "toxicspikes"] }, "golem": { "level": 86, "moves": ["earthquake", "explosion", "rockblast", "stealthrock", "suckerpunch", "toxic"] }, "rapidash": { "level": 88, "moves": ["drillrun", "flareblitz", "megahorn", "morningsun", "wildcharge", "willowisp"] }, "slowbro": { "level": 82, "moves": ["calmmind", "icebeam", "psyshock", "scald", "slackoff", "thunderwave", "toxic"] }, "farfetchd": { "level": 100, "moves": ["bravebird", "leafblade", "quickattack", "return", "swordsdance"] }, "dodrio": { "level": 88, "moves": ["bravebird", "pursuit", "quickattack", "return", "roost"] }, "dewgong": { "level": 90, "moves": ["icebeam", "protect", "rest", "sleeptalk", "surf", "toxic"] }, "muk": { "level": 90, "moves": ["brickbreak", "curse", "firepunch", "gunkshot", "icepunch", "poisonjab", "rest", "shadowsneak"] }, "cloyster": { "level": 80, "moves": ["hydropump", "iceshard", "iciclespear", "rapidspin", "rockblast", "shellsmash", "spikes"] }, "gengar": { "level": 79, "moves": ["focusblast", "shadowball", "sludgewave", "substitute", "trick", "willowisp"] }, "hypno": { "level": 90, "moves": ["foulplay", "protect", "psychic", "thunderwave", "toxic", "wish"] }, "kingler": { "level": 90, "moves": ["agility", "crabhammer", "return", "superpower", "swordsdance", "xscissor"] }, "electrode": { "level": 87, "moves": ["foulplay", "hiddenpowergrass", "hiddenpowerice", "taunt", "thunderbolt", "voltswitch"] }, "exeggutor": { "level": 86, "moves": ["gigadrain", "hiddenpowerfire", "leechseed", "protect", "psychic", "sleeppowder", "substitute"] }, "marowak": { "level": 89, "moves": ["bonemerang", "doubleedge", "earthquake", "firepunch", "stealthrock", "stoneedge"] }, "hitmonlee": { "level": 84, "moves": ["closecombat", "earthquake", "fakeout", "stoneedge", "suckerpunch"] }, "hitmonchan": { "level": 85, "moves": ["bulkup", "closecombat", "drainpunch", "icepunch", "machpunch", "rapidspin", "stoneedge"] }, "weezing": { "level": 88, "moves": ["fireblast", "haze", "painsplit", "sludgebomb", "willowisp"] }, "rhydon": { "level": 84, "moves": ["earthquake", "megahorn", "stealthrock", "stoneedge", "toxic"] }, "chansey": { "level": 82, "moves": ["aromatherapy", "seismictoss", "softboiled", "stealthrock", "toxic"] }, "kangaskhan": { "level": 86, "moves": ["doubleedge", "earthquake", "fakeout", "focuspunch", "return", "substitute", "suckerpunch"] }, "seaking": { "level": 90, "moves": ["drillrun", "icebeam", "megahorn", "return", "waterfall"] }, "starmie": { "level": 80, "moves": ["hydropump", "icebeam", "psyshock", "rapidspin", "recover", "scald", "thunderbolt", "trick"] }, "mrmime": { "level": 90, "moves": ["encore", "focusblast", "nastyplot", "psychic", "substitute", "thunderbolt"] }, "scyther": { "level": 84, "moves": ["aerialace", "brickbreak", "bugbite", "quickattack", "roost", "swordsdance"] }, "jynx": { "level": 85, "moves": ["focusblast", "icebeam", "lovelykiss", "nastyplot", "psyshock", "substitute", "trick"] }, "pinsir": { "level": 86, "moves": ["closecombat", "earthquake", "quickattack", "stealthrock", "stoneedge", "swordsdance", "xscissor"] }, "tauros": { "level": 85, "moves": ["doubleedge", "earthquake", "pursuit", "retaliate", "stoneedge"] }, "gyarados": { "level": 80, "moves": ["dragondance", "earthquake", "icefang", "stoneedge", "waterfall"] }, "lapras": { "level": 86, "moves": ["healbell", "hydropump", "icebeam", "substitute", "thunderbolt", "toxic"] }, "ditto": { "level": 86, "moves": ["transform"] }, "vaporeon": { "level": 82, "moves": ["icebeam", "protect", "roar", "scald", "toxic", "wish"] }, "jolteon": { "level": 81, "moves": ["hiddenpowerice", "signalbeam", "thunderbolt", "voltswitch"] }, "flareon": { "level": 90, "moves": ["facade", "flamecharge", "rest", "sleeptalk"] }, "omastar": { "level": 83, "moves": ["hiddenpowergrass", "icebeam", "shellsmash", "spikes", "stealthrock", "surf"] }, "kabutops": { "level": 85, "moves": ["aquajet", "rapidspin", "stealthrock", "stoneedge", "superpower", "swordsdance", "waterfall"] }, "aerodactyl": { "level": 84, "moves": ["aquatail", "doubleedge", "earthquake", "roost", "stealthrock", "stoneedge", "taunt"] }, "snorlax": { "level": 82, "moves": ["bodyslam", "crunch", "curse", "earthquake", "firepunch", "pursuit", "rest"] }, "articuno": { "level": 85, "moves": ["hurricane", "icebeam", "roost", "substitute", "toxic"] }, "zapdos": { "level": 80, "moves": ["heatwave", "hiddenpowerice", "roost", "substitute", "thunderbolt", "toxic", "uturn"] }, "moltres": { "level": 84, "moves": ["fireblast", "hiddenpowergrass", "hurricane", "roost", "substitute", "toxic", "uturn", "willowisp"] }, "dragonair": { "level": 90, "moves": ["dragondance", "outrage", "rest", "sleeptalk", "waterfall"] }, "dragonite": { "level": 77, "moves": ["dragondance", "earthquake", "extremespeed", "firepunch", "outrage", "roost"] }, "mewtwo": { "level": 71, "moves": ["aurasphere", "calmmind", "fireblast", "psystrike", "recover", "shadowball"] }, "mew": { "level": 80, "moves": ["aurasphere", "fireblast", "nastyplot", "psychic", "softboiled", "stealthrock", "taunt", "uturn", "willowisp"] }, "meganium": { "level": 90, "moves": ["aromatherapy", "dragontail", "gigadrain", "leechseed", "lightscreen", "reflect", "synthesis", "toxic"] }, "typhlosion": { "level": 83, "moves": ["eruption", "fireblast", "focusblast", "hiddenpowergrass", "hiddenpowerrock"] }, "feraligatr": { "level": 84, "moves": ["aquajet", "dragondance", "earthquake", "icepunch", "superpower", "swordsdance", "waterfall"] }, "furret": { "level": 90, "moves": ["aquatail", "doubleedge", "firepunch", "shadowclaw", "trick", "uturn"] }, "noctowl": { "level": 92, "moves": ["airslash", "magiccoat", "nightshade", "roost", "toxic", "whirlwind"] }, "ledian": { "level": 97, "moves": ["encore", "lightscreen", "reflect", "roost", "toxic", "uturn"] }, "ariados": { "level": 94, "moves": ["poisonjab", "suckerpunch", "toxicspikes", "xscissor"] }, "crobat": { "level": 83, "moves": ["bravebird", "heatwave", "roost", "superfang", "taunt", "toxic", "uturn"] }, "lanturn": { "level": 84, "moves": ["healbell", "icebeam", "scald", "thunderbolt", "thunderwave", "voltswitch"] }, "xatu": { "level": 83, "moves": ["heatwave", "psychic", "roost", "thunderwave", "toxic", "uturn"] }, "ampharos": { "level": 87, "moves": ["agility", "focusblast", "healbell", "hiddenpowergrass", "hiddenpowerice", "thunderbolt", "toxic", "voltswitch"] }, "bellossom": { "level": 91, "moves": ["gigadrain", "hiddenpowerfire", "hiddenpowerrock", "leafstorm", "leechseed", "sleeppowder", "stunspore", "synthesis"] }, "azumarill": { "level": 83, "moves": ["aquajet", "doubleedge", "icepunch", "superpower", "waterfall"] }, "sudowoodo": { "level": 90, "moves": ["earthquake", "stealthrock", "stoneedge", "suckerpunch", "toxic", "woodhammer"] }, "politoed": { "level": 82, "moves": ["encore", "focusblast", "hiddenpowergrass", "hypnosis", "icebeam", "protect", "scald", "toxic"] }, "jumpluff": { "level": 88, "moves": ["acrobatics", "encore", "energyball", "leechseed", "sleeppowder", "uturn"] }, "sunflora": { "level": 94, "moves": ["earthpower", "encore", "gigadrain", "hiddenpowerrock", "solarbeam", "sunnyday"] }, "quagsire": { "level": 84, "moves": ["earthquake", "encore", "recover", "scald", "toxic"] }, "espeon": { "level": 81, "moves": ["calmmind", "hiddenpowerfire", "morningsun", "psychic", "psyshock", "signalbeam"] }, "umbreon": { "level": 83, "moves": ["foulplay", "protect", "toxic", "wish"] }, "murkrow": { "level": 88, "moves": ["foulplay", "roost", "taunt", "thunderwave", "toxic"] }, "slowking": { "level": 84, "moves": ["calmmind", "fireblast", "grassknot", "icebeam", "psychic", "slackoff", "surf", "trickroom"] }, "unown": { "level": 100, "moves": ["hiddenpowerpsychic"] }, "wobbuffet": { "level": 85, "moves": ["counter", "destinybond", "encore", "mirrorcoat"] }, "girafarig": { "level": 90, "moves": ["calmmind", "hiddenpowerfire", "hypervoice", "psychic", "psyshock", "thunderbolt"] }, "forretress": { "level": 80, "moves": ["gyroball", "rapidspin", "spikes", "stealthrock", "toxic", "voltswitch"] }, "dunsparce": { "level": 91, "moves": ["bite", "bodyslam", "coil", "glare", "headbutt", "rockslide", "roost"] }, "gligar": { "level": 82, "moves": ["earthquake", "roost", "stealthrock", "taunt", "toxic", "uturn"] }, "steelix": { "level": 84, "moves": ["curse", "earthquake", "gyroball", "roar", "stealthrock", "stoneedge", "toxic"] }, "granbull": { "level": 90, "moves": ["closecombat", "crunch", "healbell", "return", "thunderwave", "toxic"] }, "qwilfish": { "level": 85, "moves": ["destinybond", "poisonjab", "spikes", "taunt", "thunderwave", "toxicspikes", "waterfall"] }, "scizor": { "level": 80, "moves": ["bugbite", "bulletpunch", "pursuit", "roost", "superpower", "swordsdance", "uturn"] }, "shuckle": { "level": 90, "moves": ["encore", "knockoff", "protect", "stealthrock", "toxic"] }, "heracross": { "level": 81, "moves": ["closecombat", "earthquake", "facade", "megahorn", "stoneedge"] }, "ursaring": { "level": 86, "moves": ["closecombat", "crunch", "earthquake", "facade", "protect", "swordsdance"] }, "magcargo": { "level": 91, "moves": ["hiddenpowerrock", "lavaplume", "recover", "stealthrock", "toxic"] }, "corsola": { "level": 91, "moves": ["powergem", "recover", "scald", "stealthrock", "toxic"] }, "octillery": { "level": 90, "moves": ["energyball", "fireblast", "hydropump", "icebeam", "thunderwave"] }, "delibird": { "level": 100, "moves": ["aerialace", "icebeam", "iceshard", "rapidspin"] }, "mantine": { "level": 89, "moves": ["airslash", "hydropump", "icebeam", "raindance", "rest", "scald", "sleeptalk"] }, "skarmory": { "level": 79, "moves": ["bravebird", "roost", "spikes", "stealthrock", "whirlwind"] }, "houndoom": { "level": 82, "moves": ["darkpulse", "fireblast", "hiddenpowergrass", "nastyplot", "suckerpunch"] }, "kingdra": { "level": 82, "moves": ["dracometeor", "dragondance", "hiddenpowerelectric", "hydropump", "icebeam", "outrage", "raindance", "waterfall"] }, "donphan": { "level": 82, "moves": ["earthquake", "headsmash", "iceshard", "rapidspin", "seedbomb", "stealthrock"] }, "porygon2": { "level": 82, "moves": ["discharge", "icebeam", "recover", "toxic", "triattack"] }, "stantler": { "level": 90, "moves": ["doubleedge", "earthquake", "jumpkick", "megahorn", "suckerpunch"] }, "smeargle": { "level": 84, "moves": ["memento", "spikes", "spore", "stealthrock", "whirlwind"] }, "hitmontop": { "level": 85, "moves": ["closecombat", "machpunch", "rapidspin", "stoneedge", "suckerpunch", "toxic"] }, "miltank": { "level": 84, "moves": ["bodyslam", "earthquake", "healbell", "milkdrink", "stealthrock", "toxic"] }, "blissey": { "level": 82, "moves": ["aromatherapy", "seismictoss", "softboiled", "stealthrock", "thunderwave", "toxic"] }, "raikou": { "level": 80, "moves": ["aurasphere", "calmmind", "hiddenpowerice", "substitute", "thunderbolt", "voltswitch"] }, "entei": { "level": 83, "moves": ["bulldoze", "extremespeed", "flareblitz", "hiddenpowergrass", "stoneedge"] }, "suicune": { "level": 82, "moves": ["calmmind", "hiddenpowerelectric", "hydropump", "icebeam", "rest", "roar", "scald", "sleeptalk"] }, "tyranitar": { "level": 80, "moves": ["crunch", "fireblast", "pursuit", "stealthrock", "stoneedge", "superpower"] }, "lugia": { "level": 74, "moves": ["aeroblast", "earthquake", "roost", "substitute", "toxic", "whirlwind"] }, "hooh": { "level": 74, "moves": ["bravebird", "earthquake", "roost", "sacredfire", "substitute", "toxic"] }, "celebi": { "level": 80, "moves": ["earthpower", "gigadrain", "hiddenpowerice", "leafstorm", "nastyplot", "psychic", "recover", "stealthrock", "uturn"] }, "sceptile": { "level": 84, "moves": ["acrobatics", "earthquake", "leafblade", "substitute", "swordsdance"] }, "blaziken": { "level": 76, "moves": ["flareblitz", "highjumpkick", "protect", "stoneedge", "swordsdance"] }, "swampert": { "level": 82, "moves": ["earthquake", "icebeam", "protect", "roar", "scald", "stealthrock", "toxic"] }, "mightyena": { "level": 91, "moves": ["crunch", "facade", "firefang", "howl", "suckerpunch"] }, "linoone": { "level": 86, "moves": ["bellydrum", "extremespeed", "seedbomb", "shadowclaw"] }, "beautifly": { "level": 94, "moves": ["bugbuzz", "hiddenpowerground", "psychic", "quiverdance"] }, "dustox": { "level": 90, "moves": ["bugbuzz", "quiverdance", "roost", "sludgebomb"] }, "ludicolo": { "level": 86, "moves": ["gigadrain", "hydropump", "icebeam", "raindance", "scald"] }, "shiftry": { "level": 88, "moves": ["darkpulse", "hiddenpowerfire", "leafstorm", "naturepower", "seedbomb", "suckerpunch", "swordsdance"] }, "swellow": { "level": 86, "moves": ["bravebird", "facade", "protect", "quickattack", "uturn"] }, "pelipper": { "level": 90, "moves": ["hurricane", "icebeam", "roost", "scald", "tailwind", "toxic", "uturn"] }, "gardevoir": { "level": 86, "moves": ["calmmind", "focusblast", "painsplit", "psychic", "substitute", "thunderbolt", "trick", "willowisp"] }, "masquerain": { "level": 90, "moves": ["airslash", "bugbuzz", "hydropump", "quiverdance", "roost"] }, "breloom": { "level": 80, "moves": ["bulletseed", "machpunch", "spore", "stoneedge", "swordsdance"] }, "vigoroth": { "level": 87, "moves": ["bulkup", "earthquake", "return", "slackoff", "taunt", "toxic"] }, "slaking": { "level": 86, "moves": ["earthquake", "nightslash", "pursuit", "retaliate", "return"] }, "ninjask": { "level": 87, "moves": ["aerialace", "substitute", "swordsdance", "xscissor"] }, "shedinja": { "level": 90, "moves": ["shadowclaw", "shadowsneak", "swordsdance", "willowisp", "xscissor"] }, "exploud": { "level": 90, "moves": ["fireblast", "focusblast", "hypervoice", "lowkick", "surf"] }, "hariyama": { "level": 84, "moves": ["bulletpunch", "closecombat", "facade", "fakeout", "stoneedge"] }, "delcatty": { "level": 92, "moves": ["doubleedge", "fakeout", "icebeam", "suckerpunch", "thunderwave"] }, "sableye": { "level": 85, "moves": ["foulplay", "recover", "seismictoss", "taunt", "willowisp"] }, "mawile": { "level": 91, "moves": ["firefang", "ironhead", "stealthrock", "suckerpunch", "swordsdance"] }, "aggron": { "level": 85, "moves": ["aquatail", "earthquake", "headsmash", "heavyslam", "rockpolish", "stealthrock", "thunderwave"] }, "medicham": { "level": 84, "moves": ["bulletpunch", "highjumpkick", "icepunch", "thunderpunch", "trick", "zenheadbutt"] }, "manectric": { "level": 84, "moves": ["flamethrower", "hiddenpowerice", "overheat", "switcheroo", "thunderbolt", "voltswitch"] }, "plusle": { "level": 90, "moves": ["grassknot", "hiddenpowerice", "nastyplot", "thunderbolt", "voltswitch"] }, "minun": { "level": 90, "moves": ["encore", "hiddenpowerice", "nastyplot", "substitute", "thunderbolt"] }, "volbeat": { "level": 90, "moves": ["bugbuzz", "encore", "roost", "thunderwave", "uturn"] }, "illumise": { "level": 90, "moves": ["bugbuzz", "encore", "roost", "thunderwave", "wish"] }, "swalot": { "level": 91, "moves": ["earthquake", "encore", "painsplit", "protect", "sludgebomb", "toxic"] }, "sharpedo": { "level": 82, "moves": ["crunch", "earthquake", "icebeam", "protect", "waterfall", "zenheadbutt"] }, "wailord": { "level": 90, "moves": ["hiddenpowergrass", "hydropump", "icebeam", "surf", "waterspout"] }, "camerupt": { "level": 87, "moves": ["earthquake", "hiddenpowergrass", "lavaplume", "roar", "stealthrock"] }, "torkoal": { "level": 87, "moves": ["earthquake", "lavaplume", "protect", "rapidspin", "stealthrock", "toxic", "yawn"] }, "grumpig": { "level": 90, "moves": ["focusblast", "healbell", "psychic", "shadowball", "thunderwave", "trick", "whirlwind"] }, "spinda": { "level": 96, "moves": ["return", "suckerpunch", "superpower", "trickroom"] }, "flygon": { "level": 82, "moves": ["earthquake", "firepunch", "outrage", "roost", "stoneedge", "superpower", "uturn"] }, "cacturne": { "level": 87, "moves": ["drainpunch", "seedbomb", "spikes", "substitute", "suckerpunch", "swordsdance"] }, "altaria": { "level": 87, "moves": ["dracometeor", "dragondance", "earthquake", "fireblast", "healbell", "outrage", "roost"] }, "zangoose": { "level": 86, "moves": ["closecombat", "facade", "nightslash", "quickattack", "swordsdance"] }, "seviper": { "level": 90, "moves": ["earthquake", "flamethrower", "gigadrain", "sludgebomb", "suckerpunch", "switcheroo"] }, "lunatone": { "level": 90, "moves": ["earthpower", "hiddenpowerrock", "moonlight", "psychic", "stealthrock", "toxic"] }, "solrock": { "level": 90, "moves": ["explosion", "lightscreen", "morningsun", "reflect", "rockslide", "stealthrock", "willowisp"] }, "whiscash": { "level": 89, "moves": ["dragondance", "earthquake", "icebeam", "waterfall"] }, "crawdaunt": { "level": 85, "moves": ["crunch", "dragondance", "superpower", "waterfall"] }, "claydol": { "level": 83, "moves": ["earthquake", "icebeam", "psychic", "rapidspin", "stealthrock", "toxic"] }, "cradily": { "level": 87, "moves": ["earthquake", "recover", "rockslide", "seedbomb", "stealthrock", "swordsdance", "toxic"] }, "armaldo": { "level": 87, "moves": ["aquatail", "earthquake", "rapidspin", "stealthrock", "stoneedge", "swordsdance", "xscissor"] }, "milotic": { "level": 82, "moves": ["dragontail", "haze", "icebeam", "recover", "scald", "toxic"] }, "castformsunny": { "level": 99, "moves": ["icebeam", "solarbeam", "sunnyday", "weatherball"] }, "castformrainy": { "level": 99, "moves": ["icebeam", "raindance", "thunder", "weatherball"] }, "kecleon": { "level": 91, "moves": ["foulplay", "recover", "stealthrock", "thunderwave", "toxic"] }, "banette": { "level": 91, "moves": ["pursuit", "shadowclaw", "shadowsneak", "trick", "willowisp"] }, "dusclops": { "level": 84, "moves": ["nightshade", "rest", "sleeptalk", "willowisp"] }, "tropius": { "level": 90, "moves": ["airslash", "leechseed", "protect", "substitute", "toxic"] }, "chimecho": { "level": 92, "moves": ["calmmind", "healingwish", "psychic", "recover", "shadowball", "toxic", "yawn"] }, "absol": { "level": 85, "moves": ["fireblast", "nightslash", "psychocut", "pursuit", "suckerpunch", "superpower", "swordsdance"] }, "glalie": { "level": 90, "moves": ["earthquake", "explosion", "icebeam", "spikes", "taunt"] }, "walrein": { "level": 90, "moves": ["encore", "icebeam", "protect", "roar", "surf", "toxic"] }, "huntail": { "level": 86, "moves": ["icebeam", "return", "shellsmash", "waterfall"] }, "gorebyss": { "level": 82, "moves": ["hiddenpowergrass", "hydropump", "icebeam", "shellsmash"] }, "relicanth": { "level": 88, "moves": ["doubleedge", "earthquake", "headsmash", "stealthrock", "waterfall"] }, "luvdisc": { "level": 100, "moves": ["icebeam", "protect", "scald", "sweetkiss", "toxic"] }, "salamence": { "level": 79, "moves": ["aquatail", "brickbreak", "dracometeor", "dragondance", "earthquake", "fireblast", "outrage", "roost"] }, "metagross": { "level": 81, "moves": ["agility", "bulletpunch", "earthquake", "meteormash", "pursuit", "stealthrock", "zenheadbutt"] }, "regirock": { "level": 86, "moves": ["drainpunch", "protect", "rockslide", "stealthrock", "thunderwave", "toxic"] }, "regice": { "level": 86, "moves": ["focusblast", "icebeam", "rest", "rockpolish", "sleeptalk", "thunderbolt"] }, "registeel": { "level": 82, "moves": ["curse", "ironhead", "protect", "rest", "sleeptalk", "stealthrock", "toxic"] }, "latias": { "level": 73, "moves": ["calmmind", "dracometeor", "psyshock", "roost"] }, "latios": { "level": 73, "moves": ["calmmind", "dracometeor", "psyshock", "roost"] }, "kyogre": { "level": 73, "moves": ["calmmind", "icebeam", "rest", "sleeptalk", "surf", "thunder", "waterspout"] }, "groudon": { "level": 76, "moves": ["earthquake", "firepunch", "stealthrock", "stoneedge", "swordsdance", "thunderwave"] }, "rayquaza": { "level": 75, "moves": ["dracometeor", "dragondance", "earthquake", "extremespeed", "outrage", "swordsdance", "vcreate"] }, "jirachi": { "level": 79, "moves": ["bodyslam", "firepunch", "icepunch", "ironhead", "substitute", "uturn", "wish"] }, "deoxys": { "level": 75, "moves": ["extremespeed", "hiddenpowerfire", "icebeam", "psychoboost", "stealthrock", "superpower"] }, "deoxysattack": { "level": 74, "moves": ["extremespeed", "hiddenpowerfire", "icebeam", "psychoboost", "stealthrock", "superpower"] }, "deoxysdefense": { "level": 81, "moves": ["magiccoat", "recover", "seismictoss", "spikes", "taunt", "toxic"] }, "deoxysspeed": { "level": 76, "moves": ["icebeam", "lightscreen", "psychoboost", "reflect", "spikes", "stealthrock", "superpower", "taunt"] }, "torterra": { "level": 88, "moves": ["earthquake", "rockpolish", "stealthrock", "stoneedge", "synthesis", "woodhammer"] }, "infernape": { "level": 81, "moves": ["closecombat", "flareblitz", "hiddenpowerice", "machpunch", "overheat", "swordsdance", "thunderpunch", "uturn"] }, "empoleon": { "level": 82, "moves": ["agility", "grassknot", "hydropump", "icebeam", "protect", "scald", "stealthrock", "toxic"] }, "staraptor": { "level": 82, "moves": ["bravebird", "closecombat", "doubleedge", "quickattack", "roost", "uturn"] }, "bibarel": { "level": 90, "moves": ["curse", "quickattack", "rest", "waterfall"] }, "kricketune": { "level": 97, "moves": ["brickbreak", "bugbite", "nightslash", "return", "swordsdance"] }, "luxray": { "level": 90, "moves": ["crunch", "facade", "icefang", "superpower", "voltswitch", "wildcharge"] }, "roserade": { "level": 83, "moves": ["gigadrain", "hiddenpowerfire", "leafstorm", "sleeppowder", "sludgebomb", "spikes", "synthesis", "toxicspikes"] }, "rampardos": { "level": 89, "moves": ["crunch", "earthquake", "firepunch", "headsmash", "rockpolish", "superpower"] }, "bastiodon": { "level": 88, "moves": ["metalburst", "protect", "roar", "rockblast", "stealthrock", "toxic"] }, "wormadam": { "level": 96, "moves": ["gigadrain", "hiddenpowerrock", "leafstorm", "protect", "signalbeam", "toxic"] }, "wormadamsandy": { "level": 90, "moves": ["earthquake", "protect", "rockblast", "stealthrock", "toxic"] }, "wormadamtrash": { "level": 90, "moves": ["ironhead", "protect", "stealthrock", "toxic"] }, "mothim": { "level": 92, "moves": ["airslash", "bugbuzz", "hiddenpowerground", "quiverdance", "substitute"] }, "vespiquen": { "level": 95, "moves": ["attackorder", "protect", "roost", "substitute", "toxic"] }, "pachirisu": { "level": 91, "moves": ["protect", "superfang", "thunderwave", "toxic", "voltswitch"] }, "floatzel": { "level": 86, "moves": ["aquajet", "bulkup", "crunch", "icepunch", "switcheroo", "taunt", "waterfall"] }, "cherrim": { "level": 91, "moves": ["energyball", "healingwish", "hiddenpowerrock", "hiddenpowerfire", "naturepower"] }, "gastrodon": { "level": 82, "moves": ["earthquake", "icebeam", "recover", "scald", "toxic"] }, "ambipom": { "level": 82, "moves": ["fakeout", "lowkick", "pursuit", "return", "switcheroo", "uturn"] }, "drifblim": { "level": 85, "moves": ["acrobatics", "destinybond", "disable", "shadowball", "substitute", "willowisp"] }, "lopunny": { "level": 90, "moves": ["firepunch", "healingwish", "icepunch", "jumpkick", "return", "switcheroo", "thunderpunch"] }, "mismagius": { "level": 82, "moves": ["hiddenpowerfighting", "nastyplot", "shadowball", "substitute", "taunt", "thunderbolt", "willowisp"] }, "honchkrow": { "level": 82, "moves": ["bravebird", "heatwave", "pursuit", "roost", "substitute", "suckerpunch", "superpower"] }, "purugly": { "level": 89, "moves": ["fakeout", "hypnosis", "return", "suckerpunch", "uturn"] }, "skuntank": { "level": 86, "moves": ["crunch", "fireblast", "poisonjab", "pursuit", "suckerpunch", "taunt"] }, "bronzong": { "level": 81, "moves": ["earthquake", "hypnosis", "psychic", "stealthrock", "toxic"] }, "chatot": { "level": 90, "moves": ["chatter", "heatwave", "hiddenpowerground", "hypervoice", "nastyplot", "substitute", "uturn"] }, "spiritomb": { "level": 84, "moves": ["calmmind", "darkpulse", "foulplay", "rest", "shadowsneak", "sleeptalk", "willowisp"] }, "garchomp": { "level": 76, "moves": ["aquatail", "earthquake", "fireblast", "outrage", "stealthrock", "stoneedge", "swordsdance"] }, "lucario": { "level": 82, "moves": ["closecombat", "crunch", "extremespeed", "icepunch", "swordsdance"] }, "hippowdon": { "level": 82, "moves": ["earthquake", "slackoff", "stealthrock", "stoneedge", "toxic", "whirlwind"] }, "drapion": { "level": 84, "moves": ["aquatail", "crunch", "earthquake", "poisonjab", "pursuit", "swordsdance", "taunt", "toxicspikes"] }, "toxicroak": { "level": 80, "moves": ["drainpunch", "icepunch", "poisonjab", "substitute", "suckerpunch", "swordsdance"] }, "carnivine": { "level": 92, "moves": ["leechseed", "powerwhip", "return", "sleeppowder", "substitute", "swordsdance"] }, "lumineon": { "level": 89, "moves": ["icebeam", "protect", "scald", "toxic", "uturn"] }, "abomasnow": { "level": 83, "moves": ["blizzard", "earthquake", "hiddenpowerfire", "iceshard", "leechseed", "woodhammer"] }, "weavile": { "level": 82, "moves": ["icepunch", "iceshard", "lowkick", "nightslash", "pursuit", "swordsdance"] }, "magnezone": { "level": 81, "moves": ["flashcannon", "hiddenpowerfire", "thunderbolt", "toxic", "voltswitch"] }, "lickilicky": { "level": 86, "moves": ["bodyslam", "earthquake", "healbell", "powerwhip", "protect", "swordsdance", "toxic", "wish"] }, "rhyperior": { "level": 82, "moves": ["earthquake", "icepunch", "megahorn", "rockpolish", "stoneedge"] }, "tangrowth": { "level": 84, "moves": ["earthquake", "hiddenpowerfire", "leechseed", "powerwhip", "rockslide", "sleeppowder", "synthesis"] }, "electivire": { "level": 84, "moves": ["crosschop", "earthquake", "flamethrower", "icepunch", "voltswitch", "wildcharge"] }, "magmortar": { "level": 84, "moves": ["fireblast", "focusblast", "hiddenpowergrass", "substitute", "thunderbolt"] }, "togekiss": { "level": 82, "moves": ["airslash", "aurasphere", "nastyplot", "roost", "thunderwave"] }, "yanmega": { "level": 82, "moves": ["airslash", "bugbuzz", "hiddenpowerground", "protect", "uturn"] }, "leafeon": { "level": 89, "moves": ["leafblade", "return", "swordsdance", "xscissor"] }, "glaceon": { "level": 90, "moves": ["hiddenpowerground", "icebeam", "protect", "shadowball", "toxic", "wish"] }, "gliscor": { "level": 80, "moves": ["earthquake", "facade", "protect", "roost", "substitute", "swordsdance", "taunt", "toxic"] }, "mamoswine": { "level": 79, "moves": ["earthquake", "iceshard", "iciclecrash", "stealthrock", "superpower"] }, "porygonz": { "level": 82, "moves": ["agility", "darkpulse", "hiddenpowerfighting", "icebeam", "nastyplot", "thunderbolt", "triattack", "trick"] }, "gallade": { "level": 84, "moves": ["closecombat", "drainpunch", "nightslash", "substitute", "swordsdance", "trick", "zenheadbutt"] }, "probopass": { "level": 86, "moves": ["earthpower", "powergem", "stealthrock", "toxic", "voltswitch"] }, "dusknoir": { "level": 84, "moves": ["earthquake", "icepunch", "painsplit", "shadowsneak", "trick", "willowisp"] }, "froslass": { "level": 82, "moves": ["destinybond", "icebeam", "shadowball", "spikes", "taunt", "thunderwave"] }, "rotom": { "level": 84, "moves": ["hiddenpowerice", "painsplit", "shadowball", "substitute", "thunderbolt", "trick", "voltswitch", "willowisp"] }, "rotomheat": { "level": 82, "moves": ["hiddenpowergrass", "overheat", "painsplit", "thunderbolt", "thunderwave", "trick", "voltswitch", "willowisp"] }, "rotomwash": { "level": 81, "moves": ["hiddenpowerice", "hydropump", "painsplit", "thunderbolt", "thunderwave", "trick", "voltswitch", "willowisp"] }, "rotomfrost": { "level": 86, "moves": ["blizzard", "hiddenpowerfire", "painsplit", "substitute", "thunderbolt", "trick", "voltswitch", "willowisp"] }, "rotomfan": { "level": 86, "moves": ["airslash", "painsplit", "substitute", "thunderbolt", "trick", "voltswitch", "willowisp"] }, "rotommow": { "level": 84, "moves": ["hiddenpowerfire", "leafstorm", "painsplit", "thunderbolt", "thunderwave", "trick", "voltswitch", "willowisp"] }, "uxie": { "level": 84, "moves": ["healbell", "lightscreen", "memento", "psychic", "reflect", "stealthrock", "thunderwave", "uturn", "yawn"] }, "mesprit": { "level": 83, "moves": ["calmmind", "hiddenpowerfire", "icebeam", "psychic", "stealthrock", "thunderbolt", "trick", "uturn"] }, "azelf": { "level": 81, "moves": ["energyball", "fireblast", "nastyplot", "psychic", "stealthrock", "taunt", "trick", "uturn"] }, "dialga": { "level": 72, "moves": ["aurasphere", "dracometeor", "dragontail", "fireblast", "stealthrock", "thunderbolt"] }, "palkia": { "level": 74, "moves": ["dracometeor", "dragontail", "fireblast", "hydropump", "spacialrend", "surf", "thunderbolt"] }, "heatran": { "level": 80, "moves": ["earthpower", "fireblast", "flashcannon", "hiddenpowerice", "lavaplume", "protect", "roar", "stealthrock", "toxic"] }, "regigigas": { "level": 85, "moves": ["confuseray", "return", "rockslide", "substitute", "thunderwave"] }, "giratinaorigin": { "level": 75, "moves": ["dracometeor", "earthquake", "hiddenpowerfire", "shadowsneak", "willowisp"] }, "giratina": { "level": 73, "moves": ["calmmind", "dragonpulse", "rest", "sleeptalk", "willowisp"] }, "cresselia": { "level": 82, "moves": ["calmmind", "hiddenpowerfighting", "moonlight", "psychic", "thunderwave", "toxic"] }, "phione": { "level": 90, "moves": ["healbell", "icebeam", "scald", "toxic", "uturn"] }, "manaphy": { "level": 76, "moves": ["energyball", "icebeam", "surf", "tailglow"] }, "darkrai": { "level": 72, "moves": ["darkpulse", "darkvoid", "focusblast", "nastyplot", "substitute"] }, "shaymin": { "level": 82, "moves": ["earthpower", "hiddenpowerfire", "leechseed", "psychic", "rest", "seedflare"] }, "shayminsky": { "level": 74, "moves": ["airslash", "earthpower", "hiddenpowerfire", "hiddenpowerice", "leechseed", "seedflare", "substitute"] }, "arceus": { "level": 72, "moves": ["earthquake", "extremespeed", "recover", "shadowclaw", "swordsdance"] }, "arceusbug": { "level": 72, "moves": ["earthquake", "recover", "stoneedge", "swordsdance", "xscissor"] }, "arceusdark": { "level": 72, "moves": ["calmmind", "judgment", "recover", "refresh"] }, "arceusdragon": { "level": 72, "moves": ["earthquake", "extremespeed", "outrage", "recover", "swordsdance"] }, "arceuselectric": { "level": 72, "moves": ["calmmind", "icebeam", "judgment", "recover"] }, "arceusfighting": { "level": 72, "moves": ["calmmind", "darkpulse", "icebeam", "judgment", "recover"] }, "arceusfire": { "level": 72, "moves": ["calmmind", "fireblast", "judgment", "recover", "thunderbolt"] }, "arceusflying": { "level": 72, "moves": ["calmmind", "earthpower", "judgment", "recover", "substitute"] }, "arceusghost": { "level": 72, "moves": ["calmmind", "focusblast", "judgment", "recover", "roar", "willowisp"] }, "arceusgrass": { "level": 72, "moves": ["calmmind", "earthpower", "icebeam", "judgment", "recover", "thunderwave"] }, "arceusground": { "level": 72, "moves": ["calmmind", "icebeam", "judgment", "recover", "willowisp"] }, "arceusice": { "level": 72, "moves": ["calmmind", "fireblast", "icebeam", "recover", "thunderbolt"] }, "arceuspoison": { "level": 72, "moves": ["flamethrower", "icebeam", "recover", "sludgebomb", "stealthrock", "willowisp"] }, "arceuspsychic": { "level": 72, "moves": ["calmmind", "darkpulse", "focusblast", "judgment", "recover"] }, "arceusrock": { "level": 72, "moves": ["earthquake", "recover", "stoneedge", "swordsdance"] }, "arceussteel": { "level": 72, "moves": ["calmmind", "judgment", "recover", "thunderbolt", "willowisp"] }, "arceuswater": { "level": 72, "moves": ["brickbreak", "extremespeed", "recover", "swordsdance", "waterfall"] }, "victini": { "level": 81, "moves": ["blueflare", "boltstrike", "energyball", "focusblast", "glaciate", "trick", "uturn", "vcreate"] }, "serperior": { "level": 86, "moves": ["calmmind", "dragonpulse", "gigadrain", "hiddenpowerfire", "leechseed", "substitute"] }, "emboar": { "level": 84, "moves": ["earthquake", "fireblast", "flareblitz", "grassknot", "headsmash", "superpower", "wildcharge"] }, "samurott": { "level": 86, "moves": ["aquajet", "grassknot", "icebeam", "megahorn", "superpower", "swordsdance", "waterfall"] }, "watchog": { "level": 90, "moves": ["crunch", "hypnosis", "return", "substitute", "superfang", "swordsdance"] }, "stoutland": { "level": 88, "moves": ["crunch", "return", "superpower", "thunderwave", "wildcharge"] }, "liepard": { "level": 86, "moves": ["darkpulse", "encore", "hiddenpowerfighting", "nastyplot", "thunderwave"] }, "simisage": { "level": 88, "moves": ["focusblast", "gigadrain", "hiddenpowerrock", "leechseed", "nastyplot", "substitute"] }, "simisear": { "level": 88, "moves": ["fireblast", "focusblast", "grassknot", "hiddenpowerrock", "nastyplot", "substitute"] }, "simipour": { "level": 86, "moves": ["focusblast", "hiddenpowergrass", "hydropump", "icebeam", "nastyplot", "substitute"] }, "musharna": { "level": 86, "moves": ["calmmind", "healbell", "hiddenpowerground", "moonlight", "psychic", "signalbeam", "toxic", "trickroom"] }, "unfezant": { "level": 89, "moves": ["hypnosis", "pluck", "return", "roost", "tailwind", "uturn"] }, "zebstrika": { "level": 88, "moves": ["hiddenpowergrass", "overheat", "thunderbolt", "voltswitch", "wildcharge"] }, "gigalith": { "level": 86, "moves": ["earthquake", "explosion", "rockblast", "stealthrock", "stoneedge", "superpower"] }, "swoobat": { "level": 88, "moves": ["airslash", "calmmind", "heatwave", "roost", "storedpower"] }, "excadrill": { "level": 80, "moves": ["earthquake", "ironhead", "rapidspin", "rockslide", "swordsdance"] }, "audino": { "level": 90, "moves": ["doubleedge", "healbell", "magiccoat", "protect", "toxic", "wish"] }, "conkeldurr": { "level": 80, "moves": ["bulkup", "drainpunch", "icepunch", "machpunch", "thunderpunch"] }, "seismitoad": { "level": 86, "moves": ["earthquake", "hydropump", "raindance", "sludgebomb", "stealthrock", "toxic"] }, "throh": { "level": 88, "moves": ["bulkup", "icepunch", "payback", "rest", "sleeptalk", "stormthrow"] }, "sawk": { "level": 85, "moves": ["bulkup", "closecombat", "earthquake", "icepunch", "stoneedge"] }, "leavanny": { "level": 90, "moves": ["leafblade", "swordsdance", "synthesis", "xscissor"] }, "scolipede": { "level": 86, "moves": ["aquatail", "earthquake", "megahorn", "rockslide", "spikes", "swordsdance"] }, "whimsicott": { "level": 84, "moves": ["encore", "gigadrain", "leechseed", "stunspore", "taunt", "uturn"] }, "lilligant": { "level": 84, "moves": ["gigadrain", "hiddenpowerfire", "hiddenpowerrock", "petaldance", "quiverdance", "sleeppowder"] }, "basculinbluestriped": { "level": 86, "moves": ["aquajet", "crunch", "superpower", "waterfall", "zenheadbutt"] }, "basculin": { "level": 86, "moves": ["aquajet", "crunch", "superpower", "waterfall", "zenheadbutt"] }, "krookodile": { "level": 81, "moves": ["crunch", "earthquake", "pursuit", "stealthrock", "stoneedge", "superpower"] }, "darmanitan": { "level": 82, "moves": ["earthquake", "flareblitz", "rockslide", "superpower", "uturn"] }, "maractus": { "level": 91, "moves": ["gigadrain", "hiddenpowerfire", "leechseed", "spikes", "toxic"] }, "crustle": { "level": 84, "moves": ["earthquake", "rockblast", "shellsmash", "spikes", "stealthrock", "stoneedge", "xscissor"] }, "scrafty": { "level": 81, "moves": ["crunch", "dragondance", "highjumpkick", "icepunch", "zenheadbutt"] }, "sigilyph": { "level": 84, "moves": ["cosmicpower", "psychoshift", "roost", "storedpower"] }, "cofagrigus": { "level": 85, "moves": ["haze", "hiddenpowerfighting", "nastyplot", "painsplit", "shadowball", "trickroom", "willowisp"] }, "carracosta": { "level": 86, "moves": ["aquajet", "earthquake", "icebeam", "shellsmash", "stealthrock", "stoneedge", "waterfall"] }, "archeops": { "level": 82, "moves": ["acrobatics", "earthquake", "headsmash", "pluck", "roost", "stoneedge", "uturn"] }, "garbodor": { "level": 87, "moves": ["drainpunch", "gunkshot", "haze", "painsplit", "spikes", "toxicspikes"] }, "zoroark": { "moves": ["darkpulse", "flamethrower", "focusblast", "nastyplot", "uturn"] }, "cinccino": { "level": 81, "moves": ["bulletseed", "rockblast", "tailslap", "uturn"] }, "gothitelle": { "level": 86, "moves": ["calmmind", "hiddenpowerfighting", "psychic", "rest", "thunderbolt", "trick"] }, "reuniclus": { "level": 81, "moves": ["calmmind", "focusblast", "psychic", "recover", "shadowball", "trickroom"] }, "swanna": { "level": 88, "moves": ["hurricane", "icebeam", "raindance", "roost", "surf"] }, "vanilluxe": { "level": 90, "moves": ["autotomize", "explosion", "flashcannon", "hiddenpowerground", "icebeam"] }, "sawsbuck": { "level": 86, "moves": ["doubleedge", "hornleech", "megahorn", "naturepower", "return", "substitute", "swordsdance"] }, "emolga": { "level": 89, "moves": ["acrobatics", "encore", "roost", "thunderbolt", "toxic", "uturn"] }, "escavalier": { "level": 84, "moves": ["ironhead", "megahorn", "pursuit", "return", "swordsdance"] }, "amoonguss": { "level": 85, "moves": ["clearsmog", "gigadrain", "hiddenpowerfire", "spore", "stunspore", "synthesis"] }, "jellicent": { "level": 81, "moves": ["icebeam", "recover", "scald", "shadowball", "toxic", "willowisp"] }, "alomomola": { "level": 86, "moves": ["protect", "scald", "toxic", "waterfall", "wish"] }, "galvantula": { "level": 83, "moves": ["bugbuzz", "gigadrain", "hiddenpowerice", "thunder", "voltswitch"] }, "ferrothorn": { "level": 78, "moves": ["gyroball", "leechseed", "powerwhip", "protect", "spikes", "stealthrock", "toxic"] }, "klinklang": { "level": 84, "moves": ["geargrind", "return", "shiftgear", "substitute", "wildcharge"] }, "eelektross": { "level": 86, "moves": ["flamethrower", "gigadrain", "hiddenpowerice", "superpower", "thunderbolt", "uturn"] }, "beheeyem": { "level": 88, "moves": ["hiddenpowerfighting", "psychic", "thunderbolt", "trick", "trickroom"] }, "chandelure": { "level": 82, "moves": ["calmmind", "energyball", "fireblast", "hiddenpowerfighting", "shadowball", "substitute"] }, "haxorus": { "level": 78, "moves": ["aquatail", "dragondance", "earthquake", "outrage", "superpower", "swordsdance"] }, "beartic": { "level": 90, "moves": ["aquajet", "iciclecrash", "stoneedge", "superpower", "swordsdance"] }, "cryogonal": { "level": 85, "moves": ["hiddenpowerground", "icebeam", "rapidspin", "recover", "toxic"] }, "accelgor": { "level": 84, "moves": ["bugbuzz", "encore", "focusblast", "gigadrain", "hiddenpowerrock", "spikes", "yawn"] }, "stunfisk": { "level": 88, "moves": ["discharge", "earthpower", "foulplay", "rest", "scald", "sleeptalk", "stealthrock", "toxic"] }, "mienshao": { "level": 82, "moves": ["highjumpkick", "stoneedge", "substitute", "swordsdance", "uturn"] }, "druddigon": { "level": 84, "moves": ["dragontail", "earthquake", "glare", "outrage", "stealthrock", "suckerpunch", "superpower"] }, "golurk": { "level": 85, "moves": ["drainpunch", "earthquake", "icepunch", "rockpolish", "shadowpunch", "stealthrock"] }, "bisharp": { "level": 82, "moves": ["ironhead", "lowkick", "nightslash", "suckerpunch", "swordsdance"] }, "bouffalant": { "level": 85, "moves": ["earthquake", "headcharge", "megahorn", "stoneedge", "swordsdance"] }, "braviary": { "level": 86, "moves": ["bravebird", "bulkup", "return", "roost", "superpower", "uturn"] }, "mandibuzz": { "level": 86, "moves": ["bravebird", "foulplay", "roost", "taunt", "toxic", "whirlwind"] }, "heatmor": { "level": 90, "moves": ["fireblast", "gigadrain", "suckerpunch", "superpower"] }, "durant": { "level": 81, "moves": ["honeclaws", "ironhead", "rockslide", "superpower", "xscissor"] }, "hydreigon": { "level": 80, "moves": ["darkpulse", "dracometeor", "flamethrower", "focusblast", "roost", "uturn"] }, "volcarona": { "level": 79, "moves": ["bugbuzz", "fierydance", "fireblast", "gigadrain", "hiddenpowerground", "quiverdance", "roost"] }, "cobalion": { "level": 79, "moves": ["closecombat", "hiddenpowerice", "ironhead", "stealthrock", "stoneedge", "swordsdance", "taunt", "thunderwave", "voltswitch"] }, "terrakion": { "level": 78, "moves": ["closecombat", "earthquake", "quickattack", "stealthrock", "stoneedge", "swordsdance"] }, "virizion": { "level": 82, "moves": ["closecombat", "leafblade", "stoneedge", "swordsdance"] }, "tornadus": { "level": 81, "moves": ["acrobatics", "bulkup", "focusblast", "heatwave", "hurricane", "superpower", "taunt", "uturn"] }, "tornadustherian": { "level": 76, "moves": ["focusblast", "heatwave", "hurricane", "superpower", "uturn"] }, "thundurus": { "level": 76, "moves": ["focusblast", "hiddenpowerice", "nastyplot", "thunderbolt", "thunderwave", "voltswitch"] }, "thundurustherian": { "level": 80, "moves": ["agility", "focusblast", "grassknot", "hiddenpowerice", "nastyplot", "thunderbolt"] }, "reshiram": { "level": 76, "moves": ["blueflare", "dracometeor", "roost", "stoneedge", "tailwind"] }, "zekrom": { "level": 76, "moves": ["boltstrike", "dracometeor", "focusblast", "honeclaws", "outrage", "roost", "substitute", "voltswitch"] }, "landorus": { "level": 76, "moves": ["earthpower", "focusblast", "psychic", "rockpolish", "rockslide", "sludgewave"] }, "landorustherian": { "level": 80, "moves": ["earthquake", "rockpolish", "stealthrock", "stoneedge", "superpower", "swordsdance", "uturn"] }, "kyurem": { "level": 78, "moves": ["dracometeor", "earthpower", "focusblast", "icebeam", "outrage", "roost", "substitute"] }, "kyuremblack": { "level": 78, "moves": ["dragonclaw", "earthpower", "fusionbolt", "icebeam", "roost", "substitute"] }, "kyuremwhite": { "level": 74, "moves": ["dracometeor", "earthpower", "focusblast", "fusionflare", "icebeam", "roost", "substitute"] }, "keldeo": { "level": 79, "moves": ["calmmind", "hiddenpowergrass", "hydropump", "icywind", "scald", "secretsword", "substitute"] }, "meloetta": { "level": 82, "moves": ["calmmind", "focusblast", "psychic", "shadowball", "uturn"] }, "meloettapirouette": { "level": 82, "moves": ["closecombat", "icepunch", "relicsong", "return", "shadowclaw"] }, "genesect": { "level": 75, "moves": ["bugbuzz", "flamethrower", "icebeam", "ironhead", "rockpolish", "thunderbolt", "uturn"] } };
|
|
5596
5670
|
var RandomGen5Teams = class extends RandomGen6Teams {
|
|
5597
5671
|
constructor(dex, format, prng) {
|
|
5598
5672
|
super(dex, format, prng);
|
|
@@ -5816,12 +5890,10 @@ var RandomGen5Teams = class extends RandomGen6Teams {
|
|
|
5816
5890
|
switch (ability) {
|
|
5817
5891
|
case "Anger Point":
|
|
5818
5892
|
case "Gluttony":
|
|
5819
|
-
case "Keen Eye":
|
|
5820
5893
|
case "Moody":
|
|
5821
5894
|
case "Sand Veil":
|
|
5822
5895
|
case "Snow Cloak":
|
|
5823
5896
|
case "Steadfast":
|
|
5824
|
-
case "Weak Armor":
|
|
5825
5897
|
return true;
|
|
5826
5898
|
case "Analytic":
|
|
5827
5899
|
case "Download":
|
|
@@ -5829,7 +5901,7 @@ var RandomGen5Teams = class extends RandomGen6Teams {
|
|
|
5829
5901
|
return species.nfe;
|
|
5830
5902
|
case "Chlorophyll":
|
|
5831
5903
|
case "Solar Power":
|
|
5832
|
-
return !moves.has("sunnyday") && !teamDetails.sun;
|
|
5904
|
+
return abilities.has("Harvest") || !moves.has("sunnyday") && !teamDetails.sun;
|
|
5833
5905
|
case "Compound Eyes":
|
|
5834
5906
|
case "No Guard":
|
|
5835
5907
|
return !counter.get("inaccurate");
|
|
@@ -5861,7 +5933,7 @@ var RandomGen5Teams = class extends RandomGen6Teams {
|
|
|
5861
5933
|
case "Limber":
|
|
5862
5934
|
return species.types.includes("Electric");
|
|
5863
5935
|
case "Mold Breaker":
|
|
5864
|
-
return abilities.has("Adaptability") || moves.has("rest") && moves.has("sleeptalk");
|
|
5936
|
+
return abilities.has("Adaptability") || moves.has("rest") && moves.has("sleeptalk") || abilities.has("Sheer Force") && !!counter.get("sheerforce");
|
|
5865
5937
|
case "Overgrow":
|
|
5866
5938
|
return !counter.get("Grass");
|
|
5867
5939
|
case "Poison Heal":
|
|
@@ -5900,6 +5972,74 @@ var RandomGen5Teams = class extends RandomGen6Teams {
|
|
|
5900
5972
|
}
|
|
5901
5973
|
return false;
|
|
5902
5974
|
}
|
|
5975
|
+
getAbility(types, moves, abilities, counter, movePool, teamDetails, species) {
|
|
5976
|
+
const abilityData = Array.from(abilities).map((a) => this.dex.abilities.get(a));
|
|
5977
|
+
Utils.sortBy(abilityData, (abil) => -abil.rating);
|
|
5978
|
+
if (abilityData.length <= 1)
|
|
5979
|
+
return abilityData[0].name;
|
|
5980
|
+
if (abilities.has("Guts") && moves.has("facade") && (!abilities.has("Quick Feet") || !counter.setupType))
|
|
5981
|
+
return "Guts";
|
|
5982
|
+
if (abilities.has("Prankster") && counter.get("Status") > 1)
|
|
5983
|
+
return "Prankster";
|
|
5984
|
+
if (abilities.has("Quick Feet") && moves.has("facade"))
|
|
5985
|
+
return "Quick Feet";
|
|
5986
|
+
if (abilities.has("Swift Swim") && moves.has("raindance"))
|
|
5987
|
+
return "Swift Swim";
|
|
5988
|
+
if (species.name === "Altaria")
|
|
5989
|
+
return "Natural Cure";
|
|
5990
|
+
if (species.name === "Mandibuzz")
|
|
5991
|
+
return this.sample(["Big Pecks", "Overcoat"]);
|
|
5992
|
+
let abilityAllowed = [];
|
|
5993
|
+
for (const ability of abilityData) {
|
|
5994
|
+
if (ability.rating >= 1 && !this.shouldCullAbility(
|
|
5995
|
+
ability.name,
|
|
5996
|
+
types,
|
|
5997
|
+
moves,
|
|
5998
|
+
abilities,
|
|
5999
|
+
counter,
|
|
6000
|
+
movePool,
|
|
6001
|
+
teamDetails,
|
|
6002
|
+
species
|
|
6003
|
+
)) {
|
|
6004
|
+
abilityAllowed.push(ability);
|
|
6005
|
+
}
|
|
6006
|
+
}
|
|
6007
|
+
if (!abilityAllowed.length) {
|
|
6008
|
+
for (const ability of abilityData) {
|
|
6009
|
+
if (ability.rating > 0)
|
|
6010
|
+
abilityAllowed.push(ability);
|
|
6011
|
+
}
|
|
6012
|
+
if (!abilityAllowed.length)
|
|
6013
|
+
abilityAllowed = abilityData;
|
|
6014
|
+
}
|
|
6015
|
+
if (abilityAllowed.length === 1)
|
|
6016
|
+
return abilityAllowed[0].name;
|
|
6017
|
+
if (abilityAllowed[2] && abilityAllowed[0].rating - 0.5 <= abilityAllowed[2].rating) {
|
|
6018
|
+
if (abilityAllowed[1].rating <= abilityAllowed[2].rating) {
|
|
6019
|
+
if (this.randomChance(1, 2))
|
|
6020
|
+
[abilityAllowed[1], abilityAllowed[2]] = [abilityAllowed[2], abilityAllowed[1]];
|
|
6021
|
+
} else {
|
|
6022
|
+
if (this.randomChance(1, 3))
|
|
6023
|
+
[abilityAllowed[1], abilityAllowed[2]] = [abilityAllowed[2], abilityAllowed[1]];
|
|
6024
|
+
}
|
|
6025
|
+
if (abilityAllowed[0].rating <= abilityAllowed[1].rating) {
|
|
6026
|
+
if (this.randomChance(2, 3))
|
|
6027
|
+
[abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]];
|
|
6028
|
+
} else {
|
|
6029
|
+
if (this.randomChance(1, 2))
|
|
6030
|
+
[abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]];
|
|
6031
|
+
}
|
|
6032
|
+
} else {
|
|
6033
|
+
if (abilityAllowed[0].rating <= abilityAllowed[1].rating) {
|
|
6034
|
+
if (this.randomChance(1, 2))
|
|
6035
|
+
[abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]];
|
|
6036
|
+
} else if (abilityAllowed[0].rating - 0.5 <= abilityAllowed[1].rating) {
|
|
6037
|
+
if (this.randomChance(1, 3))
|
|
6038
|
+
[abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]];
|
|
6039
|
+
}
|
|
6040
|
+
}
|
|
6041
|
+
return abilityAllowed[0].name;
|
|
6042
|
+
}
|
|
5903
6043
|
getHighPriorityItem(ability, types, moves, counter, teamDetails, species, isLead) {
|
|
5904
6044
|
if (species.requiredItem)
|
|
5905
6045
|
return species.requiredItem;
|
|
@@ -6136,44 +6276,7 @@ var RandomGen5Teams = class extends RandomGen6Teams {
|
|
|
6136
6276
|
ivs[iv] = HPivs[iv];
|
|
6137
6277
|
}
|
|
6138
6278
|
}
|
|
6139
|
-
|
|
6140
|
-
Utils.sortBy(abilityData, (abil) => -abil.rating);
|
|
6141
|
-
if (abilityData.length > 1) {
|
|
6142
|
-
if (abilityData[2] && abilityData[1].rating <= abilityData[2].rating && this.randomChance(1, 2)) {
|
|
6143
|
-
[abilityData[1], abilityData[2]] = [abilityData[2], abilityData[1]];
|
|
6144
|
-
}
|
|
6145
|
-
if (abilityData[0].rating <= abilityData[1].rating) {
|
|
6146
|
-
if (this.randomChance(1, 2))
|
|
6147
|
-
[abilityData[0], abilityData[1]] = [abilityData[1], abilityData[0]];
|
|
6148
|
-
} else if (abilityData[0].rating - 0.6 <= abilityData[1].rating) {
|
|
6149
|
-
if (this.randomChance(2, 3))
|
|
6150
|
-
[abilityData[0], abilityData[1]] = [abilityData[1], abilityData[0]];
|
|
6151
|
-
}
|
|
6152
|
-
ability = abilityData[0].name;
|
|
6153
|
-
while (this.shouldCullAbility(ability, types, moves, abilities, counter, movePool, teamDetails, species)) {
|
|
6154
|
-
if (ability === abilityData[0].name && abilityData[1].rating >= 1) {
|
|
6155
|
-
ability = abilityData[1].name;
|
|
6156
|
-
} else if (ability === abilityData[1].name && abilityData[2] && abilityData[2].rating >= 1) {
|
|
6157
|
-
ability = abilityData[2].name;
|
|
6158
|
-
} else {
|
|
6159
|
-
ability = abilityData[0].name;
|
|
6160
|
-
break;
|
|
6161
|
-
}
|
|
6162
|
-
}
|
|
6163
|
-
if (abilities.has("Guts") && moves.has("facade") && (ability !== "Quick Feet" || !counter.setupType)) {
|
|
6164
|
-
ability = "Guts";
|
|
6165
|
-
} else if (abilities.has("Prankster") && counter.get("Status") > 1) {
|
|
6166
|
-
ability = "Prankster";
|
|
6167
|
-
} else if (abilities.has("Quick Feet") && moves.has("facade")) {
|
|
6168
|
-
ability = "Quick Feet";
|
|
6169
|
-
} else if (abilities.has("Swift Swim") && moves.has("raindance")) {
|
|
6170
|
-
ability = "Swift Swim";
|
|
6171
|
-
}
|
|
6172
|
-
if (species.name === "Altaria")
|
|
6173
|
-
ability = "Natural Cure";
|
|
6174
|
-
} else {
|
|
6175
|
-
ability = abilityData[0].name;
|
|
6176
|
-
}
|
|
6279
|
+
ability = this.getAbility(types, moves, abilities, counter, movePool, teamDetails, species);
|
|
6177
6280
|
let item = this.getHighPriorityItem(ability, types, moves, counter, teamDetails, species, isLead);
|
|
6178
6281
|
if (item === void 0) {
|
|
6179
6282
|
item = this.getLowPriorityItem(ability, types, moves, abilities, counter, teamDetails, species, isLead);
|
|
@@ -6624,6 +6727,7 @@ var RandomGen4Teams = class extends RandomGen5Teams {
|
|
|
6624
6727
|
switch (ability) {
|
|
6625
6728
|
case "Anger Point":
|
|
6626
6729
|
case "Ice Body":
|
|
6730
|
+
case "Rain Dish":
|
|
6627
6731
|
case "Steadfast":
|
|
6628
6732
|
case "Unaware":
|
|
6629
6733
|
return true;
|
|
@@ -6678,6 +6782,54 @@ var RandomGen4Teams = class extends RandomGen5Teams {
|
|
|
6678
6782
|
}
|
|
6679
6783
|
return false;
|
|
6680
6784
|
}
|
|
6785
|
+
getAbility(types, moves, abilities, counter, movePool, teamDetails, species) {
|
|
6786
|
+
const abilityData = Array.from(abilities).map((a) => this.dex.abilities.get(a));
|
|
6787
|
+
Utils.sortBy(abilityData, (abil) => -abil.rating);
|
|
6788
|
+
if (abilityData.length <= 1)
|
|
6789
|
+
return abilityData[0].name;
|
|
6790
|
+
if (abilities.has("Hydration") && moves.has("raindance") && moves.has("rest"))
|
|
6791
|
+
return "Hydration";
|
|
6792
|
+
if (abilities.has("Swift Swim") && moves.has("raindance"))
|
|
6793
|
+
return "Swift Swim";
|
|
6794
|
+
if (abilities.has("Technician") && moves.has("machpunch") && types.has("Fighting") && counter.get("stab") < 2) {
|
|
6795
|
+
return "Technician";
|
|
6796
|
+
}
|
|
6797
|
+
if (species.id === "jynx")
|
|
6798
|
+
return "Forewarn";
|
|
6799
|
+
let abilityAllowed = [];
|
|
6800
|
+
for (const ability of abilityData) {
|
|
6801
|
+
if (ability.rating >= 1 && !this.shouldCullAbility(
|
|
6802
|
+
ability.name,
|
|
6803
|
+
types,
|
|
6804
|
+
moves,
|
|
6805
|
+
abilities,
|
|
6806
|
+
counter,
|
|
6807
|
+
movePool,
|
|
6808
|
+
teamDetails,
|
|
6809
|
+
species
|
|
6810
|
+
)) {
|
|
6811
|
+
abilityAllowed.push(ability);
|
|
6812
|
+
}
|
|
6813
|
+
}
|
|
6814
|
+
if (!abilityAllowed.length) {
|
|
6815
|
+
for (const ability of abilityData) {
|
|
6816
|
+
if (ability.rating > 0)
|
|
6817
|
+
abilityAllowed.push(ability);
|
|
6818
|
+
}
|
|
6819
|
+
if (!abilityAllowed.length)
|
|
6820
|
+
abilityAllowed = abilityData;
|
|
6821
|
+
}
|
|
6822
|
+
if (abilityAllowed.length === 1)
|
|
6823
|
+
return abilityAllowed[0].name;
|
|
6824
|
+
if (abilityAllowed[0].rating <= abilityAllowed[1].rating) {
|
|
6825
|
+
if (this.randomChance(1, 2))
|
|
6826
|
+
[abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]];
|
|
6827
|
+
} else if (abilityAllowed[0].rating - 0.5 <= abilityAllowed[1].rating) {
|
|
6828
|
+
if (this.randomChance(1, 3))
|
|
6829
|
+
[abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]];
|
|
6830
|
+
}
|
|
6831
|
+
return abilityAllowed[0].name;
|
|
6832
|
+
}
|
|
6681
6833
|
getHighPriorityItem(ability, types, moves, counter, teamDetails, species, isLead) {
|
|
6682
6834
|
if (species.requiredItem)
|
|
6683
6835
|
return species.requiredItem;
|
|
@@ -6933,35 +7085,7 @@ var RandomGen4Teams = class extends RandomGen5Teams {
|
|
|
6933
7085
|
ivs[iv] = HPivs[iv];
|
|
6934
7086
|
}
|
|
6935
7087
|
}
|
|
6936
|
-
|
|
6937
|
-
Utils.sortBy(abilityData, (abil) => -abil.rating);
|
|
6938
|
-
let ability0 = abilityData[0];
|
|
6939
|
-
let ability1 = abilityData[1];
|
|
6940
|
-
if (abilityData[1]) {
|
|
6941
|
-
if (ability0.rating <= ability1.rating && this.randomChance(1, 2)) {
|
|
6942
|
-
[ability0, ability1] = [ability1, ability0];
|
|
6943
|
-
} else if (ability0.rating - 0.6 <= ability1.rating && this.randomChance(2, 3)) {
|
|
6944
|
-
[ability0, ability1] = [ability1, ability0];
|
|
6945
|
-
}
|
|
6946
|
-
ability = ability0.name;
|
|
6947
|
-
while (this.shouldCullAbility(ability, types, moves, abilities, counter, movePool, teamDetails, species)) {
|
|
6948
|
-
if (ability === ability0.name && ability1.rating >= 1) {
|
|
6949
|
-
ability = ability1.name;
|
|
6950
|
-
} else {
|
|
6951
|
-
ability = abilityData[0].name;
|
|
6952
|
-
break;
|
|
6953
|
-
}
|
|
6954
|
-
}
|
|
6955
|
-
if (abilities.has("Hydration") && moves.has("raindance") && moves.has("rest")) {
|
|
6956
|
-
ability = "Hydration";
|
|
6957
|
-
} else if (abilities.has("Swift Swim") && moves.has("raindance")) {
|
|
6958
|
-
ability = "Swift Swim";
|
|
6959
|
-
} else if (abilities.has("Technician") && moves.has("machpunch") && types.has("Fighting") && counter.get("stab") < 2) {
|
|
6960
|
-
ability = "Technician";
|
|
6961
|
-
}
|
|
6962
|
-
} else {
|
|
6963
|
-
ability = ability0.name;
|
|
6964
|
-
}
|
|
7088
|
+
ability = this.getAbility(types, moves, abilities, counter, movePool, teamDetails, species);
|
|
6965
7089
|
item = this.getHighPriorityItem(ability, types, moves, counter, teamDetails, species, isLead);
|
|
6966
7090
|
if (item === void 0)
|
|
6967
7091
|
item = this.getMediumPriorityItem(ability, moves, counter, species, false, isLead);
|
|
@@ -7262,25 +7386,19 @@ var RandomGen3Teams = class extends RandomGen4Teams {
|
|
|
7262
7386
|
return !counter.get("inaccurate");
|
|
7263
7387
|
case "Hustle":
|
|
7264
7388
|
return counter.get("Physical") < 2;
|
|
7265
|
-
case "Lightning Rod":
|
|
7266
|
-
return species.types.includes("Ground");
|
|
7267
7389
|
case "Overgrow":
|
|
7268
7390
|
return !counter.get("Grass");
|
|
7391
|
+
case "Rain Dish":
|
|
7392
|
+
case "Swift Swim":
|
|
7393
|
+
return !moves.has("raindance") && !teamDetails["rain"];
|
|
7269
7394
|
case "Rock Head":
|
|
7270
7395
|
return !counter.get("recoil");
|
|
7271
7396
|
case "Sand Veil":
|
|
7272
7397
|
return !teamDetails["sand"];
|
|
7273
|
-
case "Serene Grace":
|
|
7274
|
-
return species.id === "blissey";
|
|
7275
7398
|
case "Soundproof":
|
|
7276
|
-
case "Sturdy":
|
|
7277
7399
|
return true;
|
|
7278
|
-
case "Swift Swim":
|
|
7279
|
-
return !moves.has("raindance") && !teamDetails["rain"];
|
|
7280
7400
|
case "Swarm":
|
|
7281
7401
|
return !counter.get("Bug");
|
|
7282
|
-
case "Thick Fat":
|
|
7283
|
-
return abilities.has("Immunity");
|
|
7284
7402
|
case "Torrent":
|
|
7285
7403
|
return !counter.get("Water");
|
|
7286
7404
|
case "Water Absorb":
|
|
@@ -7288,6 +7406,49 @@ var RandomGen3Teams = class extends RandomGen4Teams {
|
|
|
7288
7406
|
}
|
|
7289
7407
|
return false;
|
|
7290
7408
|
}
|
|
7409
|
+
getAbility(types, moves, abilities, counter, movePool, teamDetails, species) {
|
|
7410
|
+
const abilityData = Array.from(abilities).map((a) => this.dex.abilities.get(a));
|
|
7411
|
+
Utils.sortBy(abilityData, (abil) => -abil.rating);
|
|
7412
|
+
if (abilityData.length <= 1)
|
|
7413
|
+
return abilityData[0].name;
|
|
7414
|
+
if (species.id === "snorlax")
|
|
7415
|
+
return "Immunity";
|
|
7416
|
+
if (species.id === "blissey")
|
|
7417
|
+
return "Natural Cure";
|
|
7418
|
+
let abilityAllowed = [];
|
|
7419
|
+
for (const ability of abilityData) {
|
|
7420
|
+
if (ability.rating >= 1 && !this.shouldCullAbility(
|
|
7421
|
+
ability.name,
|
|
7422
|
+
types,
|
|
7423
|
+
moves,
|
|
7424
|
+
abilities,
|
|
7425
|
+
counter,
|
|
7426
|
+
movePool,
|
|
7427
|
+
teamDetails,
|
|
7428
|
+
species
|
|
7429
|
+
)) {
|
|
7430
|
+
abilityAllowed.push(ability);
|
|
7431
|
+
}
|
|
7432
|
+
}
|
|
7433
|
+
if (!abilityAllowed.length) {
|
|
7434
|
+
for (const ability of abilityData) {
|
|
7435
|
+
if (ability.rating > 0)
|
|
7436
|
+
abilityAllowed.push(ability);
|
|
7437
|
+
}
|
|
7438
|
+
if (!abilityAllowed.length)
|
|
7439
|
+
abilityAllowed = abilityData;
|
|
7440
|
+
}
|
|
7441
|
+
if (abilityAllowed.length === 1)
|
|
7442
|
+
return abilityAllowed[0].name;
|
|
7443
|
+
if (abilityAllowed[0].rating <= abilityAllowed[1].rating) {
|
|
7444
|
+
if (this.randomChance(1, 2))
|
|
7445
|
+
[abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]];
|
|
7446
|
+
} else if (abilityAllowed[0].rating - 0.5 <= abilityAllowed[1].rating) {
|
|
7447
|
+
if (this.randomChance(1, 3))
|
|
7448
|
+
[abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]];
|
|
7449
|
+
}
|
|
7450
|
+
return abilityAllowed[0].name;
|
|
7451
|
+
}
|
|
7291
7452
|
randomSet(species, teamDetails = {}) {
|
|
7292
7453
|
species = this.dex.species.get(species);
|
|
7293
7454
|
let forme = species.name;
|
|
@@ -7412,28 +7573,7 @@ var RandomGen3Teams = class extends RandomGen4Teams {
|
|
|
7412
7573
|
ivs[iv] = HPivs[iv];
|
|
7413
7574
|
}
|
|
7414
7575
|
}
|
|
7415
|
-
|
|
7416
|
-
Utils.sortBy(abilityData, (abil) => -abil.rating);
|
|
7417
|
-
let ability0 = abilityData[0];
|
|
7418
|
-
let ability1 = abilityData[1];
|
|
7419
|
-
if (abilityData[1]) {
|
|
7420
|
-
if (ability0.rating <= ability1.rating && this.randomChance(1, 2)) {
|
|
7421
|
-
[ability0, ability1] = [ability1, ability0];
|
|
7422
|
-
} else if (ability0.rating - 0.6 <= ability1.rating && this.randomChance(2, 3)) {
|
|
7423
|
-
[ability0, ability1] = [ability1, ability0];
|
|
7424
|
-
}
|
|
7425
|
-
ability = ability0.name;
|
|
7426
|
-
while (this.shouldCullAbility(ability, types, moves, abilities, counter, movePool, teamDetails, species)) {
|
|
7427
|
-
if (ability === ability0.name && ability1.rating > 1) {
|
|
7428
|
-
ability = ability1.name;
|
|
7429
|
-
} else {
|
|
7430
|
-
ability = abilityData[0].name;
|
|
7431
|
-
break;
|
|
7432
|
-
}
|
|
7433
|
-
}
|
|
7434
|
-
} else {
|
|
7435
|
-
ability = abilityData[0].name;
|
|
7436
|
-
}
|
|
7576
|
+
ability = this.getAbility(types, moves, abilities, counter, movePool, teamDetails, species);
|
|
7437
7577
|
const item = this.getItem(ability, types, moves, counter, species);
|
|
7438
7578
|
const level = this.adjustLevel || data.level || (species.nfe ? 90 : 80);
|
|
7439
7579
|
let hp = Math.floor(Math.floor(2 * species.baseStats.hp + ivs.hp + Math.floor(evs.hp / 4) + 100) * level / 100 + 10);
|
|
@@ -9656,8 +9796,14 @@ var RandomTeams = class {
|
|
|
9656
9796
|
abilityAllowed.push(ability);
|
|
9657
9797
|
}
|
|
9658
9798
|
}
|
|
9659
|
-
if (!abilityAllowed.length)
|
|
9660
|
-
|
|
9799
|
+
if (!abilityAllowed.length) {
|
|
9800
|
+
for (const ability of abilityData) {
|
|
9801
|
+
if (ability.rating > 0)
|
|
9802
|
+
abilityAllowed.push(ability);
|
|
9803
|
+
}
|
|
9804
|
+
if (!abilityAllowed.length)
|
|
9805
|
+
abilityAllowed = abilityData;
|
|
9806
|
+
}
|
|
9661
9807
|
if (abilityAllowed.length === 1)
|
|
9662
9808
|
return abilityAllowed[0].name;
|
|
9663
9809
|
if (abilityAllowed[2] && abilityAllowed[0].rating - 0.5 <= abilityAllowed[2].rating) {
|