@pkmn/randoms 0.7.9 → 0.7.10

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.mjs CHANGED
@@ -8499,7 +8499,7 @@ var annihilape = {
8499
8499
  sets: [
8500
8500
  {
8501
8501
  role: "Fast Bulky Setup",
8502
- movepool: ["Bulk Up", "Drain Punch", "Rage Fist", "Substitute"],
8502
+ movepool: ["Bulk Up", "Drain Punch", "Rage Fist", "Rest"],
8503
8503
  teraTypes: ["Ghost", "Water"]
8504
8504
  },
8505
8505
  {
@@ -8842,7 +8842,7 @@ var moltres = {
8842
8842
  level: 84,
8843
8843
  sets: [
8844
8844
  {
8845
- role: "Fast Attacker",
8845
+ role: "Bulky Attacker",
8846
8846
  movepool: ["Brave Bird", "Fire Blast", "Roost", "U-turn", "Will-O-Wisp"],
8847
8847
  teraTypes: ["Fire"]
8848
8848
  }
@@ -8994,7 +8994,7 @@ var quagsire = {
8994
8994
  {
8995
8995
  role: "Bulky Support",
8996
8996
  movepool: ["Earthquake", "Ice Beam", "Liquidation", "Recover", "Spikes", "Toxic"],
8997
- teraTypes: ["Poison"]
8997
+ teraTypes: ["Poison", "Steel", "Ground", "Fairy"]
8998
8998
  }
8999
8999
  ]
9000
9000
  };
@@ -9059,7 +9059,7 @@ var slowkinggalar = {
9059
9059
  {
9060
9060
  role: "Bulky Support",
9061
9061
  movepool: ["Chilly Reception", "Fire Blast", "Psyshock", "Slack Off", "Sludge Bomb", "Thunder Wave", "Toxic"],
9062
- teraTypes: ["Poison", "Psychic"]
9062
+ teraTypes: ["Poison", "Dark"]
9063
9063
  },
9064
9064
  {
9065
9065
  role: "AV Pivot",
@@ -9414,7 +9414,7 @@ var seviper = {
9414
9414
  {
9415
9415
  role: "Fast Attacker",
9416
9416
  movepool: ["Earthquake", "Flamethrower", "Giga Drain", "Gunk Shot", "Sucker Punch", "Switcheroo"],
9417
- teraTypes: ["Ground", "Fire", "Poison", "Dark", "Grass"]
9417
+ teraTypes: ["Ground", "Fire", "Poison", "Grass"]
9418
9418
  }
9419
9419
  ]
9420
9420
  };
@@ -9439,7 +9439,7 @@ var banette = {
9439
9439
  {
9440
9440
  role: "Wallbreaker",
9441
9441
  movepool: ["Gunk Shot", "Knock Off", "Shadow Claw", "Shadow Sneak", "Swords Dance", "Will-O-Wisp"],
9442
- teraTypes: ["Dark"]
9442
+ teraTypes: ["Poison", "Dark"]
9443
9443
  }
9444
9444
  ]
9445
9445
  };
@@ -9568,7 +9568,7 @@ var pachirisu = {
9568
9568
  sets: [
9569
9569
  {
9570
9570
  role: "Fast Support",
9571
- movepool: ["Encore", "Nuzzle", "Super Fang", "U-turn"],
9571
+ movepool: ["Nuzzle", "Super Fang", "Thunderbolt", "U-turn"],
9572
9572
  teraTypes: ["Flying"]
9573
9573
  }
9574
9574
  ]
@@ -9833,7 +9833,7 @@ var rotomwash = {
9833
9833
  sets: [
9834
9834
  {
9835
9835
  role: "Bulky Attacker",
9836
- movepool: ["Discharge", "Hydro Pump", "Nasty Plot", "Pain Split", "Trick", "Volt Switch", "Will-O-Wisp"],
9836
+ movepool: ["Discharge", "Hydro Pump", "Nasty Plot", "Trick", "Volt Switch", "Will-O-Wisp"],
9837
9837
  teraTypes: ["Water"]
9838
9838
  }
9839
9839
  ]
@@ -9959,7 +9959,7 @@ var heatran = {
9959
9959
  {
9960
9960
  role: "Bulky Support",
9961
9961
  movepool: ["Earth Power", "Flash Cannon", "Lava Plume", "Magma Storm", "Protect", "Stealth Rock"],
9962
- teraTypes: ["Flying"]
9962
+ teraTypes: ["Flying", "Grass", "Fire", "Steel"]
9963
9963
  }
9964
9964
  ]
9965
9965
  };
@@ -10712,7 +10712,7 @@ var klefki = {
10712
10712
  {
10713
10713
  role: "Bulky Support",
10714
10714
  movepool: ["Foul Play", "Magnet Rise", "Play Rough", "Spikes", "Thunder Wave"],
10715
- teraTypes: ["Flying"]
10715
+ teraTypes: ["Water"]
10716
10716
  }
10717
10717
  ]
10718
10718
  };
@@ -10942,7 +10942,7 @@ var toxapex = {
10942
10942
  {
10943
10943
  role: "Bulky Support",
10944
10944
  movepool: ["Chilling Water", "Haze", "Recover", "Toxic", "Toxic Spikes"],
10945
- teraTypes: ["Steel"]
10945
+ teraTypes: ["Steel", "Flying", "Grass", "Fairy"]
10946
10946
  }
10947
10947
  ]
10948
10948
  };
@@ -10972,7 +10972,7 @@ var salazzle = {
10972
10972
  {
10973
10973
  role: "Fast Support",
10974
10974
  movepool: ["Flamethrower", "Protect", "Substitute", "Toxic"],
10975
- teraTypes: ["Water"]
10975
+ teraTypes: ["Water", "Flying"]
10976
10976
  }
10977
10977
  ]
10978
10978
  };
@@ -11017,7 +11017,7 @@ var palossand = {
11017
11017
  {
11018
11018
  role: "Bulky Support",
11019
11019
  movepool: ["Earth Power", "Hypnosis", "Shadow Ball", "Shore Up", "Stealth Rock"],
11020
- teraTypes: ["Ghost", "Ground"]
11020
+ teraTypes: ["Water"]
11021
11021
  }
11022
11022
  ]
11023
11023
  };
@@ -11390,8 +11390,8 @@ var zaciancrowned = {
11390
11390
  level: 68,
11391
11391
  sets: [
11392
11392
  {
11393
- role: "Fast Attacker",
11394
- movepool: ["Behemoth Blade", "Close Combat", "Crunch", "Play Rough", "Psychic Fangs", "Swords Dance", "Wild Charge"],
11393
+ role: "Setup Sweeper",
11394
+ movepool: ["Behemoth Blade", "Close Combat", "Play Rough", "Swords Dance"],
11395
11395
  teraTypes: ["Fighting"]
11396
11396
  }
11397
11397
  ]
@@ -11690,9 +11690,9 @@ var dudunsparcethreesegment = {
11690
11690
  level: 88,
11691
11691
  sets: [
11692
11692
  {
11693
- role: "Bulky Attacker",
11694
- movepool: ["Body Slam", "Coil", "Earthquake", "Roost"],
11695
- teraTypes: ["Ground"]
11693
+ role: "Bulky Support",
11694
+ movepool: ["Earthquake", "Glare", "Headbutt", "Roost"],
11695
+ teraTypes: ["Normal", "Ghost", "Ground"]
11696
11696
  },
11697
11697
  {
11698
11698
  role: "Bulky Setup",
@@ -11707,7 +11707,7 @@ var spidops = {
11707
11707
  {
11708
11708
  role: "Bulky Support",
11709
11709
  movepool: ["Memento", "Spikes", "Sticky Web", "Toxic Spikes", "U-turn"],
11710
- teraTypes: ["Bug"]
11710
+ teraTypes: ["Ghost"]
11711
11711
  }
11712
11712
  ]
11713
11713
  };
@@ -11732,7 +11732,7 @@ var rabsca = {
11732
11732
  {
11733
11733
  role: "Bulky Support",
11734
11734
  movepool: ["Earth Power", "Psychic", "Recover", "Revival Blessing", "Trick Room"],
11735
- teraTypes: ["Bug"]
11735
+ teraTypes: ["Steel"]
11736
11736
  }
11737
11737
  ]
11738
11738
  };
@@ -11756,8 +11756,8 @@ var espathra = {
11756
11756
  },
11757
11757
  {
11758
11758
  role: "Fast Bulky Setup",
11759
- movepool: ["Calm Mind", "Dazzling Gleam", "Protect", "Stored Power", "Substitute"],
11760
- teraTypes: ["Psychic"]
11759
+ movepool: ["Calm Mind", "Dazzling Gleam", "Protect", "Roost", "Stored Power", "Substitute"],
11760
+ teraTypes: ["Psychic", "Fairy"]
11761
11761
  },
11762
11762
  {
11763
11763
  role: "Tera Blast user",
@@ -11837,11 +11837,11 @@ var arboliva = {
11837
11837
  ]
11838
11838
  };
11839
11839
  var scovillain = {
11840
- level: 78,
11840
+ level: 80,
11841
11841
  sets: [
11842
11842
  {
11843
11843
  role: "Bulky Attacker",
11844
- movepool: ["Flamethrower", "Leech Seed", "Protect", "Seed Bomb", "Substitute"],
11844
+ movepool: ["Flamethrower", "Leech Seed", "Protect", "Substitute"],
11845
11845
  teraTypes: ["Fire"]
11846
11846
  }
11847
11847
  ]
@@ -12080,8 +12080,8 @@ var glimmora = {
12080
12080
  level: 80,
12081
12081
  sets: [
12082
12082
  {
12083
- role: "Bulky Support",
12084
- movepool: ["Earth Power", "Mortal Spin", "Power Gem", "Sludge Wave", "Spikes", "Stealth Rock", "Toxic"],
12083
+ role: "Fast Support",
12084
+ movepool: ["Earth Power", "Energy Ball", "Mortal Spin", "Power Gem", "Sludge Wave", "Spikes", "Stealth Rock", "Toxic"],
12085
12085
  teraTypes: ["Water"]
12086
12086
  }
12087
12087
  ]
@@ -12435,9 +12435,9 @@ var toedscruel = {
12435
12435
  level: 86,
12436
12436
  sets: [
12437
12437
  {
12438
- role: "Fast Support",
12438
+ role: "Bulky Support",
12439
12439
  movepool: ["Earth Power", "Giga Drain", "Knock Off", "Rapid Spin", "Spikes", "Spore", "Toxic", "Toxic Spikes"],
12440
- teraTypes: ["Ground"]
12440
+ teraTypes: ["Ground", "Water"]
12441
12441
  }
12442
12442
  ]
12443
12443
  };
@@ -12925,6 +12925,7 @@ var NoStab2 = [
12925
12925
  "pluck",
12926
12926
  "pursuit",
12927
12927
  "quickattack",
12928
+ "rapidspin",
12928
12929
  "reversal",
12929
12930
  "saltcure",
12930
12931
  "selfdestruct",
@@ -13237,7 +13238,6 @@ var RandomTeams = class {
13237
13238
  this.incompatibleMoves(moves, movePool, "psychic", "psyshock");
13238
13239
  this.incompatibleMoves(moves, movePool, "surf", "hydropump");
13239
13240
  this.incompatibleMoves(moves, movePool, "wavecrash", "liquidation");
13240
- this.incompatibleMoves(moves, movePool, "freezedry", "icebeam");
13241
13241
  this.incompatibleMoves(moves, movePool, ["airslash", "bravebird", "hurricane"], ["airslash", "bravebird", "hurricane"]);
13242
13242
  this.incompatibleMoves(moves, movePool, "knockoff", "foulplay");
13243
13243
  this.incompatibleMoves(moves, movePool, "doubleedge", "headbutt");
@@ -13741,12 +13741,12 @@ var RandomTeams = class {
13741
13741
  }
13742
13742
  shouldCullAbility(ability, types, moves, abilities, counter, teamDetails, species, isLead, isDoubles, teraType, role) {
13743
13743
  if ([
13744
+ "Battle Bond",
13744
13745
  "Flare Boost",
13745
13746
  "Gluttony",
13746
13747
  "Hydration",
13747
13748
  "Ice Body",
13748
13749
  "Immunity",
13749
- "Insomnia",
13750
13750
  "Own Tempo",
13751
13751
  "Quick Feet",
13752
13752
  "Rain Dish",
@@ -13777,7 +13777,7 @@ var RandomTeams = class {
13777
13777
  case "Defiant":
13778
13778
  return !counter.get("Physical") || abilities.has("Prankster") && (moves.has("thunderwave") || moves.has("taunt"));
13779
13779
  case "Flash Fire":
13780
- return species.id !== "houndoom" && this.dex.getEffectiveness("Fire", species) >= 1;
13780
+ return species.id !== "houndoom" && this.dex.getEffectiveness("Fire", species) < 0;
13781
13781
  case "Guts":
13782
13782
  return !moves.has("facade") && !moves.has("sleeptalk");
13783
13783
  case "Harvest":
@@ -13787,6 +13787,8 @@ var RandomTeams = class {
13787
13787
  return counter.get("Physical") < 2;
13788
13788
  case "Infiltrator":
13789
13789
  return moves.has("rest") && moves.has("sleeptalk") || isDoubles && abilities.has("Clear Body");
13790
+ case "Insomnia":
13791
+ return role === "Wallbreaker";
13790
13792
  case "Intimidate":
13791
13793
  if (abilities.has("Hustle"))
13792
13794
  return true;
@@ -13798,7 +13800,7 @@ var RandomTeams = class {
13798
13800
  case "Justified":
13799
13801
  return !counter.get("Physical");
13800
13802
  case "Mold Breaker":
13801
- return abilities.has("Sharpness");
13803
+ return abilities.has("Sharpness") || abilities.has("Unburden");
13802
13804
  case "Moxie":
13803
13805
  return !counter.get("Physical") || moves.has("stealthrock");
13804
13806
  case "Overgrow":
@@ -13870,7 +13872,7 @@ var RandomTeams = class {
13870
13872
  return "Reckless";
13871
13873
  if (species.id === "enamorus" && moves.has("calmmind"))
13872
13874
  return "Cute Charm";
13873
- if (abilities.has("Corrosion") && moves.has("toxic"))
13875
+ if (abilities.has("Corrosion") && moves.has("toxic") && this.randomChance(1, 2))
13874
13876
  return "Corrosion";
13875
13877
  if (abilities.has("Guts") && (moves.has("facade") || moves.has("sleeptalk")))
13876
13878
  return "Guts";
@@ -13939,8 +13941,9 @@ var RandomTeams = class {
13939
13941
  }
13940
13942
  if (role === "AV Pivot")
13941
13943
  return "Assault Vest";
13942
- if (role === "Bulky Setup" && (ability === "Quark Drive" || ability === "Protosynthesis"))
13944
+ if (!isLead && role === "Bulky Setup" && (ability === "Quark Drive" || ability === "Protosynthesis")) {
13943
13945
  return "Booster Energy";
13946
+ }
13944
13947
  if (species.id === "pikachu")
13945
13948
  return "Light Ball";
13946
13949
  if (species.id === "regieleki")
@@ -14049,18 +14052,18 @@ var RandomTeams = class {
14049
14052
  return "Heavy-Duty Boots";
14050
14053
  if (moves.has("outrage"))
14051
14054
  return "Lum Berry";
14052
- if (role !== "Fast Attacker" && role !== "Tera Blast user" && this.dex.getEffectiveness("Ground", species) >= 2)
14053
- return "Air Balloon";
14054
14055
  if (species.id === "garchomp" && role === "Fast Support" || ability === "Regenerator" && types.includes("Water") && species.baseStats.def >= 110 && this.randomChance(1, 3))
14055
14056
  return "Rocky Helmet";
14056
14057
  if (role === "Fast Support" && isLead && !counter.get("recovery") && !counter.get("recoil") && species.baseStats.hp + species.baseStats.def + species.baseStats.spd < 300)
14057
14058
  return "Focus Sash";
14059
+ if (role !== "Fast Attacker" && role !== "Tera Blast user" && this.dex.getEffectiveness("Ground", species) >= 2)
14060
+ return "Air Balloon";
14058
14061
  if (["Bulky Attacker", "Bulky Support", "Bulky Setup"].some((m) => role === m))
14059
14062
  return "Leftovers";
14060
14063
  if (role === "Fast Support" || role === "Fast Bulky Setup") {
14061
14064
  return counter.damagingMoves.size >= 3 ? "Life Orb" : "Leftovers";
14062
14065
  }
14063
- if (["Fast Attacker", "Setup Sweeper", "Tera Blast user", "Wallbreaker"].some((m) => role === m))
14066
+ if (["flamecharge", "rapidspin", "trailblaze"].every((m) => !moves.has(m)) && ["Fast Attacker", "Setup Sweeper", "Tera Blast user", "Wallbreaker"].some((m) => role === m))
14064
14067
  return "Life Orb";
14065
14068
  if (isDoubles)
14066
14069
  return "Sitrus Berry";
@@ -14264,7 +14267,7 @@ var RandomTeams = class {
14264
14267
  if (pokemon.some((pkmn) => pkmn.name === "Zoroark") && pokemon.length >= this.maxTeamSize - 1 && this.getLevel(species, isDoubles) < 72 && !this.adjustLevel) {
14265
14268
  continue;
14266
14269
  }
14267
- if (["Basculegion", "Houndstone"].includes(species.baseSpecies) && !pokemon.length)
14270
+ if (["Basculegion", "Houndstone", "Zacian", "Zamazenta"].includes(species.baseSpecies) && !pokemon.length)
14268
14271
  continue;
14269
14272
  const tier = species.tier;
14270
14273
  const types = species.types;