@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/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', 'Alakazam-Base', 'Altaria-Mega', 'Amoonguss', 'Azumarill', 'Beedrill-Mega', 'Blaziken-Base', 'Breloom', 'Celesteela',
520
- 'Chandelure', 'Donphan', 'Dracozolt', 'Dragonite', 'Feraligatr', 'Gastrodon', 'Hatterene', 'Hippowdon', 'Infernape', 'Keldeo',
521
- 'Krookodile', 'Mamoswine', 'Mandibuzz', 'Manectric-Mega', 'Melmetal', 'Mienshao', 'Moltres-Base', 'Nidoking', 'Nidoqueen', 'Nihilego',
522
- 'Quagsire', 'Regieleki', 'Ribombee', 'Rotom-Heat', 'Rotom-Wash', 'Salamence', 'Scizor', 'Skarmory', 'Slowking-Base', 'Swampert-Base',
523
- 'Talonflame', 'Tangrowth', 'Tornadus-Base', 'Umbreon', 'Urshifu-Rapid-Strike',
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', 'Speed Boost',
661
- 'Stakeout', 'Steelworker ++ Steely Spirit', 'Tinted Lens', 'Triage', 'Unaware', 'Unburden', 'Water Bubble',
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', 'Eternatus', 'Gengar', 'Giratina', 'Groudon', 'Ho-Oh', 'Kyurem-Black', 'Kyurem-White',
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', 'Toxapex',
1020
- 'Xerneas', 'Zacian', 'Zacian-Crowned', 'Uber > 1', 'AG ++ Uber > 1', 'Arena Trap', 'Huge Power', 'Moody', 'Pure Power',
1021
- 'Shadow Tag', 'Swift Swim', 'Bright Powder', 'Focus Band', 'King\'s Rock', 'Lax Incense', 'Quick Claw', 'Baton Pass',
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', 'Latias', 'Latios', 'Lugia',
1244
- 'Lunala', 'Marshadow', 'Mew', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram',
1245
- 'Reuniclus', 'Shedinja', 'Slowking-Galar', 'Solgaleo', 'Spectrier', 'Tornadus-Therian', 'Volcarona', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned',
1246
- 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zeraora', 'Zygarde-Base', 'Arena Trap', 'Moody', 'Power Construct', 'Shadow Tag', 'Baton Pass',
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
@@ -67,6 +67,7 @@ export const Aliases: {[alias: string]: string} = {
67
67
  gen6mono: "[Gen 6] Monotype",
68
68
  gen6ag: "[Gen 6] Anything Goes",
69
69
  crossevo: "[Gen 8] Cross Evolution",
70
+ mayhem: "[Gen 8] Random Battle Mayhem",
70
71
 
71
72
  // mega evos
72
73
  fabio: "Ampharos-Mega",
@@ -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: "PU",
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: ["darkpulse", "defog", "heatwave", "knockoff", "oblivionwing", "roost", "suckerpunch", "taunt"],
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: 75,
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", "hypnosis", "perishsong", "protect", "rest", "scald", "toxic"],
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', 'Gyarados-Mega',
201
- 'Hawlucha', 'Heracross-Mega', 'Hoopa-Unbound', 'Hydreigon', 'Jirachi', 'Latias', 'Latias-Mega', 'Latios', 'Latios-Mega', 'Manaphy',
202
- 'Medicham-Mega', 'Mew', 'Pinsir-Mega', 'Sableye-Mega', 'Slowbro-Mega', 'Slowking-Galar', 'Thundurus', 'Thundurus-Therian', 'Venusaur-Mega',
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.10",
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.1"
34
+ "mocha": "^9.2.2"
35
35
  },
36
36
  "scripts": {
37
37
  "compile": "tsc -p .",
@@ -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
@@ -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,