@pkmn/randoms 0.6.3 → 0.6.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pkmn/randoms",
3
- "version": "0.6.3",
3
+ "version": "0.6.4",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "description": "Random team generation logic for Pokémon Showdown's Random Battle formats",
@@ -16,7 +16,7 @@
16
16
  "!src/test"
17
17
  ],
18
18
  "dependencies": {
19
- "@pkmn/sim": "^0.6.3"
19
+ "@pkmn/sim": "^0.6.4"
20
20
  },
21
21
  "scripts": {
22
22
  "lint": "eslint --cache src --ext ts",
package/src/gen6.ts CHANGED
@@ -1213,7 +1213,7 @@ export class RandomGen6Teams extends RandomGen7Teams {
1213
1213
  randomFactoryTeam(side: PlayerOptions, depth = 0): RandomTeamsTypes.RandomFactorySet[] {
1214
1214
  this.enforceNoDirectCustomBanlistChanges();
1215
1215
 
1216
- const forceResult = (depth >= 4);
1216
+ const forceResult = (depth >= 12);
1217
1217
 
1218
1218
  // The teams generated depend on the tier choice in such a way that
1219
1219
  // no exploitable information is leaked from rolling the tier in getTeam(p1).
package/src/gen7.ts CHANGED
@@ -1756,7 +1756,7 @@ export class RandomGen7Teams extends RandomTeams {
1756
1756
  randomFactoryTeam(side: PlayerOptions, depth = 0): RandomTeamsTypes.RandomFactorySet[] {
1757
1757
  this.enforceNoDirectCustomBanlistChanges();
1758
1758
 
1759
- const forceResult = (depth >= 4);
1759
+ const forceResult = (depth >= 12);
1760
1760
  const isMonotype = !!this.forceMonotype || this.dex.formats.getRuleTable(this.format).has('sametypeclause');
1761
1761
 
1762
1762
  // The teams generated depend on the tier choice in such a way that
package/src/gen8.ts CHANGED
@@ -201,6 +201,7 @@ export class RandomTeams {
201
201
  ].some(moveid => movePool.includes(moveid))
202
202
  ),
203
203
  Ghost: (movePool, moves, abilities, types, counter) => {
204
+ if (moves.has('nightshade')) return false;
204
205
  if (!counter.get('Ghost') && !types.has('Dark')) return true;
205
206
  if (movePool.includes('poltergeist')) return true;
206
207
  return movePool.includes('spectralthief') && !counter.get('Dark');
@@ -1491,7 +1492,7 @@ export class RandomTeams {
1491
1492
  ): boolean {
1492
1493
  if ([
1493
1494
  'Flare Boost', 'Hydration', 'Ice Body', 'Immunity', 'Innards Out', 'Insomnia', 'Misty Surge',
1494
- 'Quick Feet', 'Rain Dish', 'Snow Cloak', 'Steadfast', 'Steam Engine',
1495
+ 'Perish Body', 'Quick Feet', 'Rain Dish', 'Snow Cloak', 'Steadfast', 'Steam Engine',
1495
1496
  ].includes(ability)) return true;
1496
1497
 
1497
1498
  switch (ability) {
@@ -2705,7 +2706,7 @@ export class RandomTeams {
2705
2706
  randomFactoryTeam(side: PlayerOptions, depth = 0): RandomTeamsTypes.RandomFactorySet[] {
2706
2707
  this.enforceNoDirectCustomBanlistChanges();
2707
2708
 
2708
- const forceResult = (depth >= 4);
2709
+ const forceResult = (depth >= 12);
2709
2710
  // Leaving Monotype code in comments in case it's used in the future
2710
2711
  // const isMonotype = !!this.forceMonotype || this.dex.formats.getRuleTable(this.format).has('sametypeclause');
2711
2712