@pkmn/sim 0.5.10 → 0.5.11
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/config/formats.js +29 -26
- package/build/config/formats.js.map +1 -1
- package/build/data/aliases.js +1 -0
- package/build/data/aliases.js.map +1 -1
- package/build/data/formats-data.js +3 -3
- package/build/data/formats-data.js.map +1 -1
- package/build/data/learnsets.js +5 -4
- package/build/data/learnsets.js.map +1 -1
- package/build/data/mods/gen3/formats-data.js +1 -1
- package/build/data/mods/gen3/formats-data.js.map +1 -1
- package/build/data/mods/gen7/formats-data.js +1 -1
- package/build/data/mods/gen7/formats-data.js.map +1 -1
- package/build/data/tags.js +4 -4
- package/build/data/tags.js.map +1 -1
- package/build/sim/battle-actions.js +0 -6
- package/build/sim/battle-actions.js.map +1 -1
- package/build/sim/battle-queue.js +1 -3
- package/build/sim/battle-queue.js.map +1 -1
- package/config/formats.ts +29 -26
- package/data/aliases.ts +1 -0
- package/data/formats-data.ts +3 -3
- package/data/learnsets.ts +5 -4
- package/data/mods/gen3/formats-data.ts +1 -1
- package/data/mods/gen7/formats-data.ts +1 -1
- package/data/tags.ts +4 -4
- package/package.json +2 -2
- package/sim/battle-actions.ts +0 -7
- package/sim/battle-queue.ts +1 -3
package/config/formats.ts
CHANGED
|
@@ -206,7 +206,7 @@ export const Formats: FormatList = [
|
|
|
206
206
|
],
|
|
207
207
|
banlist: [
|
|
208
208
|
'Calyrex-Ice', 'Calyrex-Shadow', 'Cinderace', 'Dialga', 'Dragonite', 'Eternatus', 'Genesect', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Jirachi',
|
|
209
|
-
'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Melmetal', 'Mew', 'Mewtwo', 'Mimikyu', 'Necrozma-Dawn-Wings',
|
|
209
|
+
'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Melmetal', 'Mew', 'Mewtwo', 'Mimikyu', 'Necrozma', 'Necrozma-Dawn-Wings',
|
|
210
210
|
'Necrozma-Dusk-Mane', 'Palkia', 'Rayquaza', 'Reshiram', 'Sableye', 'Snorlax', 'Solgaleo', 'Victini', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned',
|
|
211
211
|
'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Moody', 'Power Construct', 'Bright Powder', 'Focus Band', 'Focus Sash', 'Lax Incense', 'Quick Claw', 'Perish Song',
|
|
212
212
|
],
|
|
@@ -481,7 +481,7 @@ export const Formats: FormatList = [
|
|
|
481
481
|
ruleset: ['Standard NatDex', 'OHKO Clause', 'Evasion Moves Clause', 'Species Clause', 'Dynamax Clause', 'Sleep Clause Mod'],
|
|
482
482
|
banlist: [
|
|
483
483
|
'Alakazam-Mega', 'Arceus', 'Blastoise-Mega', 'Blaziken-Mega', 'Calyrex-Ice', 'Calyrex-Shadow', 'Cinderace', 'Darkrai',
|
|
484
|
-
'Darmanitan-Galar', 'Deoxys-Attack', 'Deoxys-Base', 'Deoxys-Speed', 'Dialga', 'Dracovish', 'Eternatus',
|
|
484
|
+
'Darmanitan-Galar', 'Deoxys-Attack', 'Deoxys-Base', 'Deoxys-Speed', 'Dialga', 'Dracovish', 'Dragapult', 'Eternatus',
|
|
485
485
|
'Genesect', 'Gengar-Mega', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-Black',
|
|
486
486
|
'Kyurem-White', 'Landorus-Base', 'Lucario-Mega', 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Metagross-Mega', 'Mewtwo',
|
|
487
487
|
'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Necrozma-Ultra', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram',
|
|
@@ -511,16 +511,14 @@ export const Formats: FormatList = [
|
|
|
511
511
|
'Drizzle', 'Drought',
|
|
512
512
|
// Slowbronite is banned so it doesn't validate on Galarian Slowbro
|
|
513
513
|
'Slowbronite',
|
|
514
|
-
// NDOU suspect
|
|
515
|
-
'Dragapult',
|
|
516
514
|
],
|
|
517
515
|
// Used to distinguish UU from below UU in the client
|
|
518
516
|
restricted: [
|
|
519
|
-
'Aegislash', '
|
|
520
|
-
'
|
|
521
|
-
'
|
|
522
|
-
'
|
|
523
|
-
'
|
|
517
|
+
'Aegislash', 'Altaria-Mega', 'Amoonguss', 'Azumarill', 'Beedrill-Mega', 'Breloom', 'Celesteela', 'Chandelure', 'Donphan', 'Dracozolt',
|
|
518
|
+
'Dragonite', 'Feraligatr', 'Gastrodon', 'Hatterene', 'Hippowdon', 'Infernape', 'Keldeo', 'Krookodile', 'Mamoswine', 'Mandibuzz',
|
|
519
|
+
'Manectric-Mega', 'Melmetal', 'Mienshao', 'Moltres-Base', 'Nidoking', 'Nidoqueen', 'Nihilego', 'Quagsire', 'Regieleki', 'Ribombee',
|
|
520
|
+
'Rotom-Heat', 'Rotom-Wash', 'Salamence', 'Scizor', 'Skarmory', 'Slowking-Base', 'Swampert-Base', 'Talonflame', 'Tangrowth', 'Tornadus-Base',
|
|
521
|
+
'Umbreon', 'Urshifu-Rapid-Strike',
|
|
524
522
|
],
|
|
525
523
|
},
|
|
526
524
|
{
|
|
@@ -657,9 +655,9 @@ export const Formats: FormatList = [
|
|
|
657
655
|
'Arena Trap', 'Contrary', 'Drizzle ++ Swift Swim', 'Drought ++ Chlorophyll', 'Electric Surge ++ Surge Surfer',
|
|
658
656
|
'Fur Coat', 'Guts', 'Harvest', 'Huge Power', 'Imposter', 'Innards Out', 'Libero', 'Magic Bounce', 'Magic Guard',
|
|
659
657
|
'Magnet Pull', 'Mold Breaker', 'Moody', 'Neutralizing Gas', 'Power Construct', 'Queenly Majesty', 'Quick Draw',
|
|
660
|
-
'Regenerator', 'Sand Rush', 'Sand Veil', 'Shadow Tag', 'Simple', 'Snow Cloak', 'Snow Warning ++ Slush Rush',
|
|
661
|
-
'Stakeout', 'Steelworker ++ Steely Spirit', 'Tinted Lens', 'Triage', 'Unaware',
|
|
662
|
-
'Baton Pass',
|
|
658
|
+
'Regenerator', 'Sand Rush', 'Sand Veil', 'Shadow Tag', 'Simple', 'Snow Cloak', 'Snow Warning ++ Slush Rush',
|
|
659
|
+
'Speed Boost', 'Stakeout', 'Steelworker ++ Steely Spirit', 'Stench', 'Tinted Lens', 'Triage', 'Unaware',
|
|
660
|
+
'Unburden', 'Water Bubble', 'King\'s Rock', 'Baton Pass',
|
|
663
661
|
],
|
|
664
662
|
getSharedPower(pokemon) {
|
|
665
663
|
const sharedPower = new Set<string>();
|
|
@@ -708,7 +706,7 @@ export const Formats: FormatList = [
|
|
|
708
706
|
|
|
709
707
|
mod: 'gen8',
|
|
710
708
|
// searchShow: false,
|
|
711
|
-
ruleset: ['Standard', 'Overflow Stat Mod', 'Dynamax Clause'],
|
|
709
|
+
ruleset: ['Standard', 'Overflow Stat Mod', 'Dynamax Clause', '2 Ability Clause'],
|
|
712
710
|
banlist: ['Corsola-Galar', 'Sneasel', 'Type: Null', 'Arena Trap', 'Ice Scales', 'Moody', 'King\'s Rock', 'Baton Pass'],
|
|
713
711
|
restricted: ['Chansey', 'Lunala', 'Shedinja', 'Solgaleo', 'Gorilla Tactics', 'Huge Power', 'Pure Power', 'Shadow Tag'],
|
|
714
712
|
onValidateTeam(team) {
|
|
@@ -774,6 +772,12 @@ export const Formats: FormatList = [
|
|
|
774
772
|
`${species.name} cannot cross evolve into ${crossSpecies.name} because they are not consecutive evolution stages.`,
|
|
775
773
|
];
|
|
776
774
|
}
|
|
775
|
+
const item = this.dex.items.get(set.item);
|
|
776
|
+
if (item.itemUser?.length) {
|
|
777
|
+
if (!item.itemUser.includes(crossSpecies.name) || crossSpecies.name !== species.name) {
|
|
778
|
+
return [`${species.name} cannot use ${item.name} because it is cross evolved into ${crossSpecies.name}.`];
|
|
779
|
+
}
|
|
780
|
+
}
|
|
777
781
|
const ability = this.dex.abilities.get(set.ability);
|
|
778
782
|
if (!this.ruleTable.isRestricted(`ability:${ability.id}`) || Object.values(species.abilities).includes(ability.name)) {
|
|
779
783
|
set.species = crossSpecies.name;
|
|
@@ -803,7 +807,6 @@ export const Formats: FormatList = [
|
|
|
803
807
|
if (!crossPrevoSpecies.prevo !== !species.prevo) return;
|
|
804
808
|
|
|
805
809
|
const mixedSpecies = this.dex.deepClone(species);
|
|
806
|
-
mixedSpecies.baseSpecies = mixedSpecies.name = `${species.name}-${crossSpecies.name}`;
|
|
807
810
|
mixedSpecies.weightkg =
|
|
808
811
|
Math.max(0.1, +(species.weightkg + crossSpecies.weightkg - crossPrevoSpecies.weightkg)).toFixed(1);
|
|
809
812
|
mixedSpecies.nfe = false;
|
|
@@ -916,12 +919,12 @@ export const Formats: FormatList = [
|
|
|
916
919
|
mod: 'mixandmega',
|
|
917
920
|
ruleset: ['Obtainable', 'Species Clause', 'Nickname Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Overflow Stat Mod', 'Dynamax Clause', 'Sleep Clause Mod', 'Endless Battle Clause'],
|
|
918
921
|
banlist: [
|
|
919
|
-
'Calyrex-Shadow', 'Kyogre', 'Zacian',
|
|
922
|
+
'Calyrex-Shadow', 'Eternatus', 'Kyogre', 'Zacian',
|
|
920
923
|
'Beedrillite', 'Blazikenite', 'Gengarite', 'Kangaskhanite', 'Mawilite', 'Medichamite', 'Pidgeotite',
|
|
921
924
|
'Moody', 'Shadow Tag', 'Baton Pass', 'Electrify',
|
|
922
925
|
],
|
|
923
926
|
restricted: [
|
|
924
|
-
'Calyrex-Ice', 'Dialga', '
|
|
927
|
+
'Calyrex-Ice', 'Dialga', 'Gengar', 'Giratina', 'Groudon', 'Ho-Oh', 'Kyurem-Black', 'Kyurem-White',
|
|
925
928
|
'Lugia', 'Lunala', 'Marshadow', 'Melmetal', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane',
|
|
926
929
|
'Palkia', 'Pheromosa', 'Rayquaza', 'Regigigas', 'Reshiram', 'Urshifu', 'Urshifu-Rapid-Strike', 'Xerneas',
|
|
927
930
|
'Yveltal', 'Zekrom', 'Zygarde-Complete',
|
|
@@ -1016,9 +1019,10 @@ export const Formats: FormatList = [
|
|
|
1016
1019
|
mod: 'gen8',
|
|
1017
1020
|
ruleset: ['Standard', 'Dynamax Clause', 'Sleep Moves Clause'],
|
|
1018
1021
|
banlist: [
|
|
1019
|
-
'Blissey', 'Calyrex-Shadow', 'Chansey', 'Dragapult', 'Hawlucha', 'Marowak-Alola', 'Melmetal', 'Pikachu',
|
|
1020
|
-
'Xerneas', 'Zacian', 'Zacian-Crowned', 'Uber > 1', 'AG ++ Uber > 1', 'Arena Trap', 'Huge Power', 'Moody',
|
|
1021
|
-
'Shadow Tag', 'Swift Swim', 'Bright Powder', 'Focus Band', 'King\'s Rock', 'Lax Incense', 'Quick Claw',
|
|
1022
|
+
'Blissey', 'Calyrex-Shadow', 'Chansey', 'Dragapult', 'Eternatus', 'Hawlucha', 'Marowak-Alola', 'Melmetal', 'Pikachu',
|
|
1023
|
+
'Toxapex', 'Xerneas', 'Zacian', 'Zacian-Crowned', 'Uber > 1', 'AG ++ Uber > 1', 'Arena Trap', 'Huge Power', 'Moody',
|
|
1024
|
+
'Pure Power', 'Shadow Tag', 'Swift Swim', 'Bright Powder', 'Focus Band', 'King\'s Rock', 'Lax Incense', 'Quick Claw',
|
|
1025
|
+
'Baton Pass',
|
|
1022
1026
|
],
|
|
1023
1027
|
onValidateTeam(team) {
|
|
1024
1028
|
const gods = new Set<string>();
|
|
@@ -1148,7 +1152,7 @@ export const Formats: FormatList = [
|
|
|
1148
1152
|
|
|
1149
1153
|
mod: 'gen8bdsp',
|
|
1150
1154
|
ruleset: ['[Gen 8 BDSP] RU'],
|
|
1151
|
-
banlist: ['RU', 'NUBL'],
|
|
1155
|
+
banlist: ['RU', 'NUBL', 'Damp Rock', 'Heat Rock'],
|
|
1152
1156
|
},
|
|
1153
1157
|
{
|
|
1154
1158
|
name: "[Gen 8 BDSP] LC",
|
|
@@ -1158,7 +1162,7 @@ export const Formats: FormatList = [
|
|
|
1158
1162
|
|
|
1159
1163
|
mod: 'gen8bdsp',
|
|
1160
1164
|
ruleset: ['Little Cup', 'Standard'],
|
|
1161
|
-
banlist: ['Gligar', 'Meditite', 'Misdreavus', 'Murkrow', 'Scyther', 'Sneasel', 'Tangela', 'Vulpix', 'Yanma', 'Moody', 'Baton Pass'],
|
|
1165
|
+
banlist: ['Gligar', 'Meditite', 'Misdreavus', 'Murkrow', 'Scyther', 'Sneasel', 'Tangela', 'Vulpix', 'Yanma', 'Moody', 'Baton Pass', 'Sticky Web'],
|
|
1162
1166
|
},
|
|
1163
1167
|
{
|
|
1164
1168
|
name: "[Gen 8 BDSP] Monotype",
|
|
@@ -1240,10 +1244,10 @@ export const Formats: FormatList = [
|
|
|
1240
1244
|
ruleset: ['Standard', 'Dynamax Clause', 'Camomons Mod'],
|
|
1241
1245
|
banlist: [
|
|
1242
1246
|
'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragonite', 'Eternatus', 'Genesect', 'Giratina', 'Giratina-Origin',
|
|
1243
|
-
'Groudon', 'Ho-Oh', 'Hydreigon', 'Kartana', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', '
|
|
1244
|
-
'
|
|
1245
|
-
'
|
|
1246
|
-
'
|
|
1247
|
+
'Groudon', 'Ho-Oh', 'Hydreigon', 'Kartana', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Lugia', 'Lunala', 'Marshadow',
|
|
1248
|
+
'Mew', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram', 'Shedinja', 'Solgaleo',
|
|
1249
|
+
'Spectrier', 'Tornadus-Therian', 'Volcarona', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zeraora',
|
|
1250
|
+
'Zygarde-Base', 'Arena Trap', 'Moody', 'Power Construct', 'Shadow Tag', 'Baton Pass', 'Calm Mind',
|
|
1247
1251
|
],
|
|
1248
1252
|
},
|
|
1249
1253
|
{
|
|
@@ -2042,7 +2046,6 @@ export const Formats: FormatList = [
|
|
|
2042
2046
|
|
|
2043
2047
|
mod: 'sharedpower',
|
|
2044
2048
|
team: 'random',
|
|
2045
|
-
searchShow: false,
|
|
2046
2049
|
ruleset: ['[Gen 8] Random Battle', 'Team Preview', 'Dynamax Clause', 'Camomons Mod', 'Inverse Mod', 'Scalemons Mod'],
|
|
2047
2050
|
onBeforeSwitchIn(pokemon) {
|
|
2048
2051
|
let format = this.format;
|
package/data/aliases.ts
CHANGED
package/data/formats-data.ts
CHANGED
|
@@ -1226,7 +1226,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
1226
1226
|
randomBattleLevel: 82,
|
|
1227
1227
|
randomDoubleBattleMoves: ["calmmind", "dazzlinggleam", "morningsun", "protect", "psychic", "shadowball"],
|
|
1228
1228
|
randomDoubleBattleLevel: 84,
|
|
1229
|
-
tier: "
|
|
1229
|
+
tier: "PUBL",
|
|
1230
1230
|
doublesTier: "(DUU)",
|
|
1231
1231
|
},
|
|
1232
1232
|
umbreon: {
|
|
@@ -4708,7 +4708,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
4708
4708
|
tier: "Illegal",
|
|
4709
4709
|
},
|
|
4710
4710
|
yveltal: {
|
|
4711
|
-
randomBattleMoves: ["
|
|
4711
|
+
randomBattleMoves: ["defog", "heatwave", "knockoff", "oblivionwing", "roost", "suckerpunch", "taunt"],
|
|
4712
4712
|
randomBattleLevel: 69,
|
|
4713
4713
|
randomDoubleBattleMoves: ["darkpulse", "heatwave", "knockoff", "oblivionwing", "roost", "suckerpunch", "tailwind", "uturn"],
|
|
4714
4714
|
randomDoubleBattleLevel: 71,
|
|
@@ -5465,7 +5465,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
5465
5465
|
},
|
|
5466
5466
|
magearna: {
|
|
5467
5467
|
randomBattleMoves: ["agility", "calmmind", "flashcannon", "fleurcannon"],
|
|
5468
|
-
randomBattleLevel:
|
|
5468
|
+
randomBattleLevel: 76,
|
|
5469
5469
|
randomDoubleBattleMoves: ["agility", "aurasphere", "dazzlinggleam", "flashcannon", "fleurcannon", "protect", "trick"],
|
|
5470
5470
|
randomDoubleBattleLevel: 72,
|
|
5471
5471
|
tier: "Uber",
|
package/data/learnsets.ts
CHANGED
|
@@ -20325,12 +20325,12 @@ export const Learnsets: {[speciesid: string]: LearnsetData} = {
|
|
|
20325
20325
|
coaching: ["8T"],
|
|
20326
20326
|
counter: ["8L55"],
|
|
20327
20327
|
detect: ["8L60"],
|
|
20328
|
-
drillpeck: ["8L35", "8S0"],
|
|
20328
|
+
drillpeck: ["8L35", "8S0", "8S1"],
|
|
20329
20329
|
dualwingbeat: ["8T"],
|
|
20330
20330
|
endure: ["8M"],
|
|
20331
20331
|
facade: ["8M"],
|
|
20332
20332
|
fly: ["8M"],
|
|
20333
|
-
focusenergy: ["8M", "8L1", "8S0"],
|
|
20333
|
+
focusenergy: ["8M", "8L1", "8S0", "8S1"],
|
|
20334
20334
|
gigaimpact: ["8M"],
|
|
20335
20335
|
hurricane: ["8M"],
|
|
20336
20336
|
hyperbeam: ["8M"],
|
|
@@ -20346,7 +20346,7 @@ export const Learnsets: {[speciesid: string]: LearnsetData} = {
|
|
|
20346
20346
|
rest: ["8M"],
|
|
20347
20347
|
retaliate: ["8M"],
|
|
20348
20348
|
revenge: ["8M"],
|
|
20349
|
-
reversal: ["8M", "8L70", "8S0"],
|
|
20349
|
+
reversal: ["8M", "8L70", "8S0", "8S1"],
|
|
20350
20350
|
rocksmash: ["8L5"],
|
|
20351
20351
|
round: ["8M"],
|
|
20352
20352
|
scaryface: ["8M"],
|
|
@@ -20360,11 +20360,12 @@ export const Learnsets: {[speciesid: string]: LearnsetData} = {
|
|
|
20360
20360
|
swift: ["8M"],
|
|
20361
20361
|
taunt: ["8M"],
|
|
20362
20362
|
throatchop: ["8M"],
|
|
20363
|
-
thunderouskick: ["8L45", "8S0"],
|
|
20363
|
+
thunderouskick: ["8L45", "8S0", "8S1"],
|
|
20364
20364
|
uturn: ["8M"],
|
|
20365
20365
|
},
|
|
20366
20366
|
eventData: [
|
|
20367
20367
|
{generation: 8, level: 70, moves: ["thunderouskick", "drillpeck", "reversal", "focusenergy"]},
|
|
20368
|
+
{generation: 8, level: 70, shiny: true, moves: ["thunderouskick", "drillpeck", "reversal", "focusenergy"], pokeball: "cherishball"},
|
|
20368
20369
|
],
|
|
20369
20370
|
eventOnly: true,
|
|
20370
20371
|
},
|
|
@@ -835,7 +835,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
835
835
|
tier: "UU",
|
|
836
836
|
},
|
|
837
837
|
skarmory: {
|
|
838
|
-
randomBattleMoves: ["drillpeck", "protect", "rest", "roar", "sleeptalk", "spikes", "toxic"],
|
|
838
|
+
randomBattleMoves: ["doubleedge", "drillpeck", "protect", "rest", "roar", "sleeptalk", "spikes", "toxic"],
|
|
839
839
|
tier: "OU",
|
|
840
840
|
},
|
|
841
841
|
houndour: {
|
|
@@ -405,7 +405,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
405
405
|
doublesTier: "(DUU)",
|
|
406
406
|
},
|
|
407
407
|
politoed: {
|
|
408
|
-
randomBattleMoves: ["encore", "
|
|
408
|
+
randomBattleMoves: ["encore", "icebeam", "protect", "rest", "scald", "toxic"],
|
|
409
409
|
randomDoubleBattleMoves: ["encore", "helpinghand", "hypnosis", "icywind", "protect", "scald"],
|
|
410
410
|
tier: "(PU)",
|
|
411
411
|
doublesTier: "DOU",
|
package/data/tags.ts
CHANGED
|
@@ -197,10 +197,10 @@ export const Tags: {[id: string]: TagData} = {
|
|
|
197
197
|
nduubl: {
|
|
198
198
|
name: "ND UUBL",
|
|
199
199
|
speciesFilter: species => [
|
|
200
|
-
'Aerodactyl-Mega', 'Blacephalon', 'Diancie-Mega', 'Gallade-Mega', 'Gardevoir-Mega', 'Gengar', 'Gyarados',
|
|
201
|
-
'Hawlucha', 'Heracross-Mega', 'Hoopa-Unbound', 'Hydreigon', 'Jirachi', 'Latias', 'Latias-Mega', 'Latios', 'Latios-Mega',
|
|
202
|
-
'Medicham-Mega', 'Mew', 'Pinsir-Mega', 'Sableye-Mega', 'Slowbro-Mega', 'Slowking-Galar', 'Thundurus', 'Thundurus-Therian',
|
|
203
|
-
'Xurkitree', 'Zapdos-Galar',
|
|
200
|
+
'Aerodactyl-Mega', 'Alakazam', 'Blacephalon', 'Blaziken', 'Diancie-Mega', 'Gallade-Mega', 'Gardevoir-Mega', 'Gengar', 'Gyarados',
|
|
201
|
+
'Gyarados-Mega', 'Hawlucha', 'Heracross-Mega', 'Hoopa-Unbound', 'Hydreigon', 'Jirachi', 'Latias', 'Latias-Mega', 'Latios', 'Latios-Mega',
|
|
202
|
+
'Manaphy', 'Medicham-Mega', 'Mew', 'Pinsir-Mega', 'Sableye-Mega', 'Slowbro-Mega', 'Slowking-Galar', 'Thundurus', 'Thundurus-Therian',
|
|
203
|
+
'Venusaur-Mega', 'Xurkitree', 'Zapdos-Galar',
|
|
204
204
|
].includes(species.name),
|
|
205
205
|
},
|
|
206
206
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pkmn/sim",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.11",
|
|
4
4
|
"description": "An automatically generated extraction of just the simulator portion of Pokémon Showdown",
|
|
5
5
|
"homepage": "https://psim.us",
|
|
6
6
|
"main": "build/sim/index.js",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"@pkmn/streams": "^1.0.0"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"mocha": "^9.2.
|
|
34
|
+
"mocha": "^9.2.2"
|
|
35
35
|
},
|
|
36
36
|
"scripts": {
|
|
37
37
|
"compile": "tsc -p .",
|
package/sim/battle-actions.ts
CHANGED
|
@@ -1779,13 +1779,6 @@ export class BattleActions {
|
|
|
1779
1779
|
const speciesid = pokemon.canMegaEvo || pokemon.canUltraBurst;
|
|
1780
1780
|
if (!speciesid) return false;
|
|
1781
1781
|
|
|
1782
|
-
// Pokémon affected by Sky Drop cannot mega evolve. Enforce it here for now.
|
|
1783
|
-
for (const foeActive of pokemon.foes()) {
|
|
1784
|
-
if (foeActive.volatiles['skydrop']?.source === pokemon) {
|
|
1785
|
-
return false;
|
|
1786
|
-
}
|
|
1787
|
-
}
|
|
1788
|
-
|
|
1789
1782
|
pokemon.formeChange(speciesid, pokemon.getItem(), true);
|
|
1790
1783
|
|
|
1791
1784
|
// Limit one mega evolution
|
package/sim/battle-queue.ts
CHANGED
|
@@ -203,9 +203,7 @@ export class BattleQueue {
|
|
|
203
203
|
choice: 'beforeTurnMove', pokemon: action.pokemon, move: action.move, targetLoc: action.targetLoc,
|
|
204
204
|
}));
|
|
205
205
|
}
|
|
206
|
-
if (action.mega) {
|
|
207
|
-
// TODO: Check that the Pokémon is not affected by Sky Drop.
|
|
208
|
-
// (This is currently being done in `runMegaEvo`).
|
|
206
|
+
if (action.mega && !action.pokemon.isSkyDropped()) {
|
|
209
207
|
actions.unshift(...this.resolveAction({
|
|
210
208
|
choice: 'megaEvo',
|
|
211
209
|
pokemon: action.pokemon,
|