@pkmn/sim 0.9.2 → 0.9.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.
Files changed (73) hide show
  1. package/build/cjs/config/formats.js +152 -163
  2. package/build/cjs/config/formats.js.map +1 -1
  3. package/build/cjs/data/abilities.js +1 -1
  4. package/build/cjs/data/abilities.js.map +1 -1
  5. package/build/cjs/data/aliases.js +2 -6
  6. package/build/cjs/data/aliases.js.map +1 -1
  7. package/build/cjs/data/formats-data.js +54 -54
  8. package/build/cjs/data/formats-data.js.map +1 -1
  9. package/build/cjs/data/items.js +0 -4
  10. package/build/cjs/data/items.js.map +1 -1
  11. package/build/cjs/data/learnsets.js +99 -64
  12. package/build/cjs/data/learnsets.js.map +1 -1
  13. package/build/cjs/data/mods/gen3/abilities.js +2 -1
  14. package/build/cjs/data/mods/gen3/abilities.js.map +1 -1
  15. package/build/cjs/data/mods/gen4/abilities.js +6 -2
  16. package/build/cjs/data/mods/gen4/abilities.js.map +1 -1
  17. package/build/cjs/data/mods/gen8/abilities.js +1 -1
  18. package/build/cjs/data/mods/gen8/abilities.js.map +1 -1
  19. package/build/cjs/data/mods/gen8/items.js +0 -16
  20. package/build/cjs/data/mods/gen8/items.js.map +1 -1
  21. package/build/cjs/data/moves.js +4 -2
  22. package/build/cjs/data/moves.js.map +1 -1
  23. package/build/cjs/data/pokedex.js +3 -1
  24. package/build/cjs/data/pokedex.js.map +1 -1
  25. package/build/cjs/lib/utils.d.ts +1 -1
  26. package/build/cjs/lib/utils.js +5 -7
  27. package/build/cjs/lib/utils.js.map +1 -1
  28. package/build/cjs/sim/battle.d.ts +1 -1
  29. package/build/cjs/sim/battle.js +1 -1
  30. package/build/cjs/sim/battle.js.map +1 -1
  31. package/build/cjs/sim/dex-formats.js +3 -1
  32. package/build/cjs/sim/dex-formats.js.map +1 -1
  33. package/build/cjs/sim/exported-global-types.d.ts +12 -2
  34. package/build/cjs/sim/global-types.d.ts +12 -2
  35. package/build/cjs/sim/team-validator.js +8 -2
  36. package/build/cjs/sim/team-validator.js.map +1 -1
  37. package/build/esm/config/formats.mjs +152 -163
  38. package/build/esm/config/formats.mjs.map +1 -1
  39. package/build/esm/data/abilities.mjs +1 -1
  40. package/build/esm/data/abilities.mjs.map +1 -1
  41. package/build/esm/data/aliases.mjs +2 -6
  42. package/build/esm/data/aliases.mjs.map +1 -1
  43. package/build/esm/data/formats-data.mjs +54 -54
  44. package/build/esm/data/formats-data.mjs.map +1 -1
  45. package/build/esm/data/items.mjs +0 -4
  46. package/build/esm/data/items.mjs.map +1 -1
  47. package/build/esm/data/learnsets.mjs +99 -64
  48. package/build/esm/data/learnsets.mjs.map +1 -1
  49. package/build/esm/data/mods/gen3/abilities.mjs +2 -1
  50. package/build/esm/data/mods/gen3/abilities.mjs.map +1 -1
  51. package/build/esm/data/mods/gen4/abilities.mjs +6 -2
  52. package/build/esm/data/mods/gen4/abilities.mjs.map +1 -1
  53. package/build/esm/data/mods/gen8/abilities.mjs +1 -1
  54. package/build/esm/data/mods/gen8/abilities.mjs.map +1 -1
  55. package/build/esm/data/mods/gen8/items.mjs +0 -16
  56. package/build/esm/data/mods/gen8/items.mjs.map +1 -1
  57. package/build/esm/data/moves.mjs +4 -2
  58. package/build/esm/data/moves.mjs.map +1 -1
  59. package/build/esm/data/pokedex.mjs +3 -1
  60. package/build/esm/data/pokedex.mjs.map +1 -1
  61. package/build/esm/lib/utils.d.mts +1 -1
  62. package/build/esm/lib/utils.mjs +5 -7
  63. package/build/esm/lib/utils.mjs.map +1 -1
  64. package/build/esm/sim/battle.d.mts +1 -1
  65. package/build/esm/sim/battle.mjs +1 -1
  66. package/build/esm/sim/battle.mjs.map +1 -1
  67. package/build/esm/sim/dex-formats.mjs +3 -1
  68. package/build/esm/sim/dex-formats.mjs.map +1 -1
  69. package/build/esm/sim/exported-global-types.d.mts +12 -2
  70. package/build/esm/sim/global-types.d.mts +12 -2
  71. package/build/esm/sim/team-validator.mjs +8 -2
  72. package/build/esm/sim/team-validator.mjs.map +1 -1
  73. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dex-formats.js","sourceRoot":"","sources":["../../../sim/dex-formats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dex-formats.js","sourceRoot":"","sources":["../../../sim/dex-formats.ts"],"names":[],"mappings":"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"}
@@ -198,8 +198,9 @@ export interface ModdedBattleActions {
198
198
  afterMoveSecondaryEvent?: (this: BattleActions, targets: Pokemon[], pokemon: Pokemon, move: ActiveMove) => undefined;
199
199
  calcRecoilDamage?: (this: BattleActions, damageDealt: number, move: Move, pokemon: Pokemon) => number;
200
200
  canMegaEvo?: (this: BattleActions, pokemon: Pokemon) => string | undefined | null;
201
- canMegaEvoX?: (this: BattleActions, pokemon: Pokemon) => string | null;
202
- canMegaEvoY?: (this: BattleActions, pokemon: Pokemon) => string | null;
201
+ canMegaEvoX?: (this: BattleActions, pokemon: Pokemon) => string | undefined | null;
202
+ canMegaEvoY?: (this: BattleActions, pokemon: Pokemon) => string | undefined | null;
203
+ canTerastallize?: (this: BattleActions, pokemon: Pokemon) => string | null;
203
204
  canUltraBurst?: (this: BattleActions, pokemon: Pokemon) => string | null;
204
205
  canZMove?: (this: BattleActions, pokemon: Pokemon) => ZMoveOptions | void;
205
206
  canDynamax?: (this: BattleActions, pokemon: Pokemon, skipChecks?: boolean) => DynamaxOptions | void;
@@ -229,6 +230,7 @@ export interface ModdedBattleActions {
229
230
  secondaries?: (this: BattleActions, targets: SpreadMoveTargets, source: Pokemon, move: ActiveMove, moveData: ActiveMove, isSelf?: boolean) => void;
230
231
  selfDrops?: (this: BattleActions, targets: SpreadMoveTargets, source: Pokemon, move: ActiveMove, moveData: ActiveMove, isSecondary?: boolean) => void;
231
232
  spreadMoveHit?: (this: BattleActions, targets: SpreadMoveTargets, pokemon: Pokemon, move: ActiveMove, moveData?: ActiveMove, isSecondary?: boolean, isSelf?: boolean) => [SpreadMoveDamage, SpreadMoveTargets];
233
+ switchIn?: (this: BattleActions, pokemon: Pokemon, pos: number, sourceEffect: Effect | null, isDrag?: boolean) => boolean | "pursuitfaint";
232
234
  targetTypeChoices?: (this: BattleActions, targetType: string) => boolean;
233
235
  terastallize?: (this: BattleActions, pokemon: Pokemon) => void;
234
236
  tryMoveHit?: (this: BattleActions, target: Pokemon, pokemon: Pokemon, move: ActiveMove) => number | undefined | false | '';
@@ -244,6 +246,8 @@ export interface ModdedBattleActions {
244
246
  }
245
247
  export interface ModdedBattleSide {
246
248
  canDynamaxNow?: (this: Side) => boolean;
249
+ chooseSwitch?: (this: Side, slotText?: string) => any;
250
+ getChoice?: (this: Side) => string;
247
251
  getRequestData?: (this: Side, forAlly?: boolean) => {
248
252
  name: string;
249
253
  id: ID;
@@ -259,6 +263,7 @@ export interface ModdedBattlePokemon {
259
263
  cureStatus?: (this: Pokemon, silent?: boolean) => boolean;
260
264
  deductPP?: (this: Pokemon, move: string | Move, amount?: number | null, target?: Pokemon | null | false) => number;
261
265
  eatItem?: (this: Pokemon, force?: boolean, source?: Pokemon, sourceEffect?: Effect) => boolean;
266
+ effectiveWeather?: (this: Pokemon) => ID;
262
267
  formeChange?: (this: Pokemon, speciesId: string | Species, source: Effect, isPermanent?: boolean, message?: string) => boolean;
263
268
  hasType?: (this: Pokemon, type: string | string[]) => boolean;
264
269
  getAbility?: (this: Pokemon) => Ability;
@@ -287,6 +292,10 @@ export interface ModdedBattlePokemon {
287
292
  pp?: number;
288
293
  maxpp?: number;
289
294
  }[];
295
+ getMoveTargets?: (this: Pokemon, move: ActiveMove, target: Pokemon) => {
296
+ targets: Pokemon[];
297
+ pressureTargets: Pokemon[];
298
+ };
290
299
  getStat?: (this: Pokemon, statName: StatIDExceptHP, unboosted?: boolean, unmodified?: boolean, fastReturn?: boolean) => number;
291
300
  getTypes?: (this: Pokemon, excludeAdded?: boolean, preterastallized?: boolean) => string[];
292
301
  getWeight?: (this: Pokemon) => number;
@@ -337,6 +346,7 @@ export interface ModdedBattleScriptsData extends Partial<BattleScriptsData> {
337
346
  win?: (this: Battle, side?: SideID | '' | Side | null) => boolean;
338
347
  faintMessages?: (this: Battle, lastFirst?: boolean, forceCheck?: boolean, checkWin?: boolean) => boolean | undefined;
339
348
  tiebreak?: (this: Battle) => boolean;
349
+ checkMoveMakesContact?: (this: Battle, move: ActiveMove, attacker: Pokemon, defender: Pokemon, announcePads?: boolean) => boolean;
340
350
  checkWin?: (this: Battle, faintQueue?: Battle['faintQueue'][0]) => true | undefined;
341
351
  }
342
352
  export interface TypeData {
@@ -198,8 +198,9 @@ interface ModdedBattleActions {
198
198
  afterMoveSecondaryEvent?: (this: BattleActions, targets: Pokemon[], pokemon: Pokemon, move: ActiveMove) => undefined;
199
199
  calcRecoilDamage?: (this: BattleActions, damageDealt: number, move: Move, pokemon: Pokemon) => number;
200
200
  canMegaEvo?: (this: BattleActions, pokemon: Pokemon) => string | undefined | null;
201
- canMegaEvoX?: (this: BattleActions, pokemon: Pokemon) => string | null;
202
- canMegaEvoY?: (this: BattleActions, pokemon: Pokemon) => string | null;
201
+ canMegaEvoX?: (this: BattleActions, pokemon: Pokemon) => string | undefined | null;
202
+ canMegaEvoY?: (this: BattleActions, pokemon: Pokemon) => string | undefined | null;
203
+ canTerastallize?: (this: BattleActions, pokemon: Pokemon) => string | null;
203
204
  canUltraBurst?: (this: BattleActions, pokemon: Pokemon) => string | null;
204
205
  canZMove?: (this: BattleActions, pokemon: Pokemon) => ZMoveOptions | void;
205
206
  canDynamax?: (this: BattleActions, pokemon: Pokemon, skipChecks?: boolean) => DynamaxOptions | void;
@@ -229,6 +230,7 @@ interface ModdedBattleActions {
229
230
  secondaries?: (this: BattleActions, targets: SpreadMoveTargets, source: Pokemon, move: ActiveMove, moveData: ActiveMove, isSelf?: boolean) => void;
230
231
  selfDrops?: (this: BattleActions, targets: SpreadMoveTargets, source: Pokemon, move: ActiveMove, moveData: ActiveMove, isSecondary?: boolean) => void;
231
232
  spreadMoveHit?: (this: BattleActions, targets: SpreadMoveTargets, pokemon: Pokemon, move: ActiveMove, moveData?: ActiveMove, isSecondary?: boolean, isSelf?: boolean) => [SpreadMoveDamage, SpreadMoveTargets];
233
+ switchIn?: (this: BattleActions, pokemon: Pokemon, pos: number, sourceEffect: Effect | null, isDrag?: boolean) => boolean | "pursuitfaint";
232
234
  targetTypeChoices?: (this: BattleActions, targetType: string) => boolean;
233
235
  terastallize?: (this: BattleActions, pokemon: Pokemon) => void;
234
236
  tryMoveHit?: (this: BattleActions, target: Pokemon, pokemon: Pokemon, move: ActiveMove) => number | undefined | false | '';
@@ -244,6 +246,8 @@ interface ModdedBattleActions {
244
246
  }
245
247
  interface ModdedBattleSide {
246
248
  canDynamaxNow?: (this: Side) => boolean;
249
+ chooseSwitch?: (this: Side, slotText?: string) => any;
250
+ getChoice?: (this: Side) => string;
247
251
  getRequestData?: (this: Side, forAlly?: boolean) => {
248
252
  name: string;
249
253
  id: ID;
@@ -259,6 +263,7 @@ interface ModdedBattlePokemon {
259
263
  cureStatus?: (this: Pokemon, silent?: boolean) => boolean;
260
264
  deductPP?: (this: Pokemon, move: string | Move, amount?: number | null, target?: Pokemon | null | false) => number;
261
265
  eatItem?: (this: Pokemon, force?: boolean, source?: Pokemon, sourceEffect?: Effect) => boolean;
266
+ effectiveWeather?: (this: Pokemon) => ID;
262
267
  formeChange?: (this: Pokemon, speciesId: string | Species, source: Effect, isPermanent?: boolean, message?: string) => boolean;
263
268
  hasType?: (this: Pokemon, type: string | string[]) => boolean;
264
269
  getAbility?: (this: Pokemon) => Ability;
@@ -287,6 +292,10 @@ interface ModdedBattlePokemon {
287
292
  pp?: number;
288
293
  maxpp?: number;
289
294
  }[];
295
+ getMoveTargets?: (this: Pokemon, move: ActiveMove, target: Pokemon) => {
296
+ targets: Pokemon[];
297
+ pressureTargets: Pokemon[];
298
+ };
290
299
  getStat?: (this: Pokemon, statName: StatIDExceptHP, unboosted?: boolean, unmodified?: boolean, fastReturn?: boolean) => number;
291
300
  getTypes?: (this: Pokemon, excludeAdded?: boolean, preterastallized?: boolean) => string[];
292
301
  getWeight?: (this: Pokemon) => number;
@@ -337,6 +346,7 @@ interface ModdedBattleScriptsData extends Partial<BattleScriptsData> {
337
346
  win?: (this: Battle, side?: SideID | '' | Side | null) => boolean;
338
347
  faintMessages?: (this: Battle, lastFirst?: boolean, forceCheck?: boolean, checkWin?: boolean) => boolean | undefined;
339
348
  tiebreak?: (this: Battle) => boolean;
349
+ checkMoveMakesContact?: (this: Battle, move: ActiveMove, attacker: Pokemon, defender: Pokemon, announcePads?: boolean) => boolean;
340
350
  checkWin?: (this: Battle, faintQueue?: Battle['faintQueue'][0]) => true | undefined;
341
351
  }
342
352
  interface TypeData {
@@ -1420,17 +1420,19 @@ class TeamValidator {
1420
1420
  const item = dex.items.get(set.item);
1421
1421
  const species = dex.species.get(set.species);
1422
1422
  if (species.name === 'Necrozma-Ultra') {
1423
- const whichMoves = (set.moves.includes('sunsteelstrike') ? 1 : 0) +
1424
- (set.moves.includes('moongeistbeam') ? 2 : 0);
1423
+ const whichMoves = (set.moves.map(dex_1.toID).includes('sunsteelstrike') ? 1 : 0) +
1424
+ (set.moves.map(dex_1.toID).includes('moongeistbeam') ? 2 : 0);
1425
1425
  if (item.name !== 'Ultranecrozium Z') {
1426
1426
  // Necrozma-Ultra transforms from one of two formes, and neither one is the base forme
1427
1427
  problems.push(`Necrozma-Ultra must start the battle holding Ultranecrozium Z.`);
1428
1428
  }
1429
1429
  else if (whichMoves === 1) {
1430
1430
  set.species = 'Necrozma-Dusk-Mane';
1431
+ set.ability = 'Prism Armor';
1431
1432
  }
1432
1433
  else if (whichMoves === 2) {
1433
1434
  set.species = 'Necrozma-Dawn-Wings';
1435
+ set.ability = 'Prism Armor';
1434
1436
  }
1435
1437
  else {
1436
1438
  problems.push(`Necrozma-Ultra must start the battle as Necrozma-Dusk-Mane or Necrozma-Dawn-Wings holding Ultranecrozium Z. Please specify which Necrozma it should start as.`);
@@ -1439,6 +1441,10 @@ class TeamValidator {
1439
1441
  else if (species.name === 'Zygarde-Complete') {
1440
1442
  problems.push(`Zygarde-Complete must start the battle as Zygarde or Zygarde-10% with Power Construct. Please specify which Zygarde it should start as.`);
1441
1443
  }
1444
+ else if (species.baseSpecies === 'Terapagos') {
1445
+ set.species = 'Terapagos';
1446
+ set.ability = 'Tera Shift';
1447
+ }
1442
1448
  else if (species.battleOnly) {
1443
1449
  if (species.requiredAbility && set.ability !== species.requiredAbility) {
1444
1450
  // Darmanitan-Zen