@pkmn/sim 0.9.9 → 0.9.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.
Files changed (107) hide show
  1. package/build/cjs/config/formats.js +111 -48
  2. package/build/cjs/config/formats.js.map +1 -1
  3. package/build/cjs/data/abilities.js +4 -2
  4. package/build/cjs/data/abilities.js.map +1 -1
  5. package/build/cjs/data/aliases.js +2 -2
  6. package/build/cjs/data/aliases.js.map +1 -1
  7. package/build/cjs/data/formats-data.js +7 -7
  8. package/build/cjs/data/formats-data.js.map +1 -1
  9. package/build/cjs/data/learnsets.js +8 -11
  10. package/build/cjs/data/learnsets.js.map +1 -1
  11. package/build/cjs/data/mods/gen1/formats-data.js +2 -2
  12. package/build/cjs/data/mods/gen1/formats-data.js.map +1 -1
  13. package/build/cjs/data/mods/gen2/formats-data.js +2 -2
  14. package/build/cjs/data/mods/gen2/formats-data.js.map +1 -1
  15. package/build/cjs/data/mods/gen2/moves.js +8 -12
  16. package/build/cjs/data/mods/gen2/moves.js.map +1 -1
  17. package/build/cjs/data/mods/gen3/formats-data.js +9 -9
  18. package/build/cjs/data/mods/gen3/formats-data.js.map +1 -1
  19. package/build/cjs/data/mods/gen3/moves.js +2 -2
  20. package/build/cjs/data/mods/gen3/moves.js.map +1 -1
  21. package/build/cjs/data/mods/gen4/abilities.js +3 -4
  22. package/build/cjs/data/mods/gen4/abilities.js.map +1 -1
  23. package/build/cjs/data/mods/gen4/moves.js +8 -5
  24. package/build/cjs/data/mods/gen4/moves.js.map +1 -1
  25. package/build/cjs/data/mods/gen5/abilities.js +1 -1
  26. package/build/cjs/data/mods/gen5/abilities.js.map +1 -1
  27. package/build/cjs/data/mods/gen5/moves.js +4 -1
  28. package/build/cjs/data/mods/gen5/moves.js.map +1 -1
  29. package/build/cjs/data/mods/gen7/items.js +2 -2
  30. package/build/cjs/data/mods/gen7/items.js.map +1 -1
  31. package/build/cjs/data/mods/gen8/formats-data.js +1 -2
  32. package/build/cjs/data/mods/gen8/formats-data.js.map +1 -1
  33. package/build/cjs/data/mods/gen8/moves.js +3 -3
  34. package/build/cjs/data/mods/gen8/moves.js.map +1 -1
  35. package/build/cjs/data/moves.js +27 -30
  36. package/build/cjs/data/moves.js.map +1 -1
  37. package/build/cjs/data/text/abilities.js +1 -0
  38. package/build/cjs/data/text/abilities.js.map +1 -1
  39. package/build/cjs/data/text/moves.js +5 -2
  40. package/build/cjs/data/text/moves.js.map +1 -1
  41. package/build/cjs/sim/battle-actions.js +2 -0
  42. package/build/cjs/sim/battle-actions.js.map +1 -1
  43. package/build/cjs/sim/dex-moves.d.ts +1 -3
  44. package/build/cjs/sim/dex-moves.js +0 -1
  45. package/build/cjs/sim/dex-moves.js.map +1 -1
  46. package/build/cjs/sim/dex-species.js +1 -1
  47. package/build/cjs/sim/dex-species.js.map +1 -1
  48. package/build/cjs/sim/exported-global-types.d.ts +1 -0
  49. package/build/cjs/sim/global-types.d.ts +1 -0
  50. package/build/cjs/sim/pokemon.js +5 -3
  51. package/build/cjs/sim/pokemon.js.map +1 -1
  52. package/build/cjs/sim/team-validator.js +12 -3
  53. package/build/cjs/sim/team-validator.js.map +1 -1
  54. package/build/esm/config/formats.mjs +111 -48
  55. package/build/esm/config/formats.mjs.map +1 -1
  56. package/build/esm/data/abilities.mjs +4 -2
  57. package/build/esm/data/abilities.mjs.map +1 -1
  58. package/build/esm/data/aliases.mjs +2 -2
  59. package/build/esm/data/aliases.mjs.map +1 -1
  60. package/build/esm/data/formats-data.mjs +7 -7
  61. package/build/esm/data/formats-data.mjs.map +1 -1
  62. package/build/esm/data/learnsets.mjs +8 -11
  63. package/build/esm/data/learnsets.mjs.map +1 -1
  64. package/build/esm/data/mods/gen1/formats-data.mjs +2 -2
  65. package/build/esm/data/mods/gen1/formats-data.mjs.map +1 -1
  66. package/build/esm/data/mods/gen2/formats-data.mjs +2 -2
  67. package/build/esm/data/mods/gen2/formats-data.mjs.map +1 -1
  68. package/build/esm/data/mods/gen2/moves.mjs +8 -12
  69. package/build/esm/data/mods/gen2/moves.mjs.map +1 -1
  70. package/build/esm/data/mods/gen3/formats-data.mjs +9 -9
  71. package/build/esm/data/mods/gen3/formats-data.mjs.map +1 -1
  72. package/build/esm/data/mods/gen3/moves.mjs +2 -2
  73. package/build/esm/data/mods/gen3/moves.mjs.map +1 -1
  74. package/build/esm/data/mods/gen4/abilities.mjs +3 -4
  75. package/build/esm/data/mods/gen4/abilities.mjs.map +1 -1
  76. package/build/esm/data/mods/gen4/moves.mjs +8 -5
  77. package/build/esm/data/mods/gen4/moves.mjs.map +1 -1
  78. package/build/esm/data/mods/gen5/abilities.mjs +1 -1
  79. package/build/esm/data/mods/gen5/abilities.mjs.map +1 -1
  80. package/build/esm/data/mods/gen5/moves.mjs +4 -1
  81. package/build/esm/data/mods/gen5/moves.mjs.map +1 -1
  82. package/build/esm/data/mods/gen7/items.mjs +2 -2
  83. package/build/esm/data/mods/gen7/items.mjs.map +1 -1
  84. package/build/esm/data/mods/gen8/formats-data.mjs +1 -2
  85. package/build/esm/data/mods/gen8/formats-data.mjs.map +1 -1
  86. package/build/esm/data/mods/gen8/moves.mjs +3 -3
  87. package/build/esm/data/mods/gen8/moves.mjs.map +1 -1
  88. package/build/esm/data/moves.mjs +27 -30
  89. package/build/esm/data/moves.mjs.map +1 -1
  90. package/build/esm/data/text/abilities.mjs +1 -0
  91. package/build/esm/data/text/abilities.mjs.map +1 -1
  92. package/build/esm/data/text/moves.mjs +5 -2
  93. package/build/esm/data/text/moves.mjs.map +1 -1
  94. package/build/esm/sim/battle-actions.mjs +2 -0
  95. package/build/esm/sim/battle-actions.mjs.map +1 -1
  96. package/build/esm/sim/dex-moves.d.mts +1 -3
  97. package/build/esm/sim/dex-moves.mjs +0 -1
  98. package/build/esm/sim/dex-moves.mjs.map +1 -1
  99. package/build/esm/sim/dex-species.mjs +1 -1
  100. package/build/esm/sim/dex-species.mjs.map +1 -1
  101. package/build/esm/sim/exported-global-types.d.mts +1 -0
  102. package/build/esm/sim/global-types.d.mts +1 -0
  103. package/build/esm/sim/pokemon.mjs +5 -3
  104. package/build/esm/sim/pokemon.mjs.map +1 -1
  105. package/build/esm/sim/team-validator.mjs +12 -3
  106. package/build/esm/sim/team-validator.mjs.map +1 -1
  107. package/package.json +2 -2
@@ -1517,9 +1517,9 @@ exports.Moves = {
1517
1517
  pp: 10,
1518
1518
  priority: 0,
1519
1519
  flags: {
1520
- protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1,
1520
+ protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1,
1521
+ failcopycat: 1, failmimic: 1, failinstruct: 1, nosketch: 1,
1521
1522
  },
1522
- noSketch: true,
1523
1523
  secondary: {
1524
1524
  chance: 30,
1525
1525
  status: 'brn',
@@ -2472,7 +2472,6 @@ exports.Moves = {
2472
2472
  protect: 1, mirror: 1, sound: 1, distance: 1, bypasssub: 1,
2473
2473
  nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1,
2474
2474
  },
2475
- noSketch: true,
2476
2475
  secondary: {
2477
2476
  chance: 100,
2478
2477
  volatileStatus: 'confusion',
@@ -2762,9 +2761,9 @@ exports.Moves = {
2762
2761
  pp: 10,
2763
2762
  priority: 0,
2764
2763
  flags: {
2765
- protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1,
2764
+ protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1,
2765
+ failcopycat: 1, failmimic: 1, failinstruct: 1, nosketch: 1,
2766
2766
  },
2767
- noSketch: true,
2768
2767
  secondary: {
2769
2768
  chance: 30,
2770
2769
  status: 'par',
@@ -3520,7 +3519,7 @@ exports.Moves = {
3520
3519
  name: "Dark Void",
3521
3520
  pp: 10,
3522
3521
  priority: 0,
3523
- flags: { protect: 1, reflectable: 1, mirror: 1, metronome: 1 },
3522
+ flags: { protect: 1, reflectable: 1, mirror: 1, metronome: 1, nosketch: 1 },
3524
3523
  status: 'slp',
3525
3524
  onTry(source, target, move) {
3526
3525
  if (source.species.name === 'Darkrai' || move.hasBounced) {
@@ -3530,7 +3529,6 @@ exports.Moves = {
3530
3529
  this.hint("Only a Pokemon whose form is Darkrai can use this move.");
3531
3530
  return null;
3532
3531
  },
3533
- noSketch: true,
3534
3532
  secondary: null,
3535
3533
  target: "allAdjacentFoes",
3536
3534
  type: "Dark",
@@ -9617,7 +9615,7 @@ exports.Moves = {
9617
9615
  name: "Hyperspace Fury",
9618
9616
  pp: 5,
9619
9617
  priority: 0,
9620
- flags: { mirror: 1, bypasssub: 1 },
9618
+ flags: { mirror: 1, bypasssub: 1, nosketch: 1 },
9621
9619
  breaksProtect: true,
9622
9620
  onTry(source) {
9623
9621
  if (source.species.name === 'Hoopa-Unbound') {
@@ -9638,7 +9636,6 @@ exports.Moves = {
9638
9636
  def: -1,
9639
9637
  },
9640
9638
  },
9641
- noSketch: true,
9642
9639
  secondary: null,
9643
9640
  target: "normal",
9644
9641
  type: "Dark",
@@ -11207,9 +11204,9 @@ exports.Moves = {
11207
11204
  pp: 10,
11208
11205
  priority: 0,
11209
11206
  flags: {
11210
- protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1,
11207
+ protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1,
11208
+ failcopycat: 1, failmimic: 1, failinstruct: 1, nosketch: 1,
11211
11209
  },
11212
- noSketch: true,
11213
11210
  secondary: {
11214
11211
  chance: 30,
11215
11212
  volatileStatus: 'confusion',
@@ -13465,9 +13462,9 @@ exports.Moves = {
13465
13462
  pp: 10,
13466
13463
  priority: 0,
13467
13464
  flags: {
13468
- protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1,
13465
+ protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1,
13466
+ failcopycat: 1, failmimic: 1, failinstruct: 1, nosketch: 1,
13469
13467
  },
13470
- noSketch: true,
13471
13468
  secondary: {
13472
13469
  chance: 30,
13473
13470
  status: 'psn',
@@ -14795,12 +14792,14 @@ exports.Moves = {
14795
14792
  for (i in target.boosts) {
14796
14793
  source.boosts[i] = target.boosts[i];
14797
14794
  }
14798
- const volatilesToCopy = ['focusenergy', 'gmaxchistrike', 'laserfocus'];
14795
+ const volatilesToCopy = ['dragoncheer', 'focusenergy', 'gmaxchistrike', 'laserfocus'];
14799
14796
  for (const volatile of volatilesToCopy) {
14800
14797
  if (target.volatiles[volatile]) {
14801
14798
  source.addVolatile(volatile);
14802
14799
  if (volatile === 'gmaxchistrike')
14803
14800
  source.volatiles[volatile].layers = target.volatiles[volatile].layers;
14801
+ if (volatile === 'dragoncheer')
14802
+ source.volatiles[volatile].hasDragonType = target.volatiles[volatile].hasDragonType;
14804
14803
  }
14805
14804
  else {
14806
14805
  source.removeVolatile(volatile);
@@ -15840,11 +15839,12 @@ exports.Moves = {
15840
15839
  priority: 0,
15841
15840
  flags: { protect: 1, mirror: 1, dance: 1, metronome: 1 },
15842
15841
  onModifyType(move, pokemon) {
15843
- let type = pokemon.getTypes()[0];
15844
- if (type === "Bird")
15845
- type = "???";
15846
- if (type === "Stellar")
15847
- type = pokemon.getTypes(false, true)[0];
15842
+ const types = pokemon.getTypes();
15843
+ let type = types[0];
15844
+ if (type === 'Bird')
15845
+ type = '???';
15846
+ if (type === '???' && types[1])
15847
+ type = types[1];
15848
15848
  move.type = type;
15849
15849
  },
15850
15850
  secondary: null,
@@ -15923,7 +15923,7 @@ exports.Moves = {
15923
15923
  pp: 1,
15924
15924
  noPPBoosts: true,
15925
15925
  priority: 0,
15926
- flags: { heal: 1 },
15926
+ flags: { heal: 1, nosketch: 1 },
15927
15927
  onTryHit(source) {
15928
15928
  if (!source.side.pokemon.filter(ally => ally.fainted).length) {
15929
15929
  return false;
@@ -15938,7 +15938,6 @@ exports.Moves = {
15938
15938
  duration: 1,
15939
15939
  // reviving implemented in side.ts, kind of
15940
15940
  },
15941
- noSketch: true,
15942
15941
  secondary: null,
15943
15942
  target: "self",
15944
15943
  type: "Normal",
@@ -17471,13 +17470,14 @@ exports.Moves = {
17471
17470
  noPPBoosts: true,
17472
17471
  priority: 0,
17473
17472
  flags: {
17474
- bypasssub: 1, allyanim: 1, failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1,
17473
+ bypasssub: 1, allyanim: 1, failencore: 1, nosleeptalk: 1, noassist: 1,
17474
+ failcopycat: 1, failmimic: 1, failinstruct: 1, nosketch: 1,
17475
17475
  },
17476
17476
  onHit(target, source) {
17477
17477
  const move = target.lastMove;
17478
17478
  if (source.transformed || !move || source.moves.includes(move.id))
17479
17479
  return false;
17480
- if (move.noSketch || move.isZ || move.isMax)
17480
+ if (move.flags['nosketch'] || move.isZ || move.isMax)
17481
17481
  return false;
17482
17482
  const sketchIndex = source.moves.indexOf('sketch');
17483
17483
  if (sketchIndex < 0)
@@ -17495,7 +17495,6 @@ exports.Moves = {
17495
17495
  source.baseMoveSlots[sketchIndex] = sketchedMove;
17496
17496
  this.add('-activate', source, 'move: Sketch', move.name);
17497
17497
  },
17498
- noSketch: true,
17499
17498
  secondary: null,
17500
17499
  target: "normal",
17501
17500
  type: "Normal",
@@ -19249,9 +19248,8 @@ exports.Moves = {
19249
19248
  priority: 0,
19250
19249
  flags: {
19251
19250
  contact: 1, protect: 1,
19252
- failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1,
19251
+ failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1, nosketch: 1,
19253
19252
  },
19254
- noSketch: true,
19255
19253
  onModifyMove(move, pokemon, target) {
19256
19254
  move.type = '???';
19257
19255
  this.add('-activate', pokemon, 'move: Struggle');
@@ -20342,7 +20340,7 @@ exports.Moves = {
20342
20340
  name: "Tera Starstorm",
20343
20341
  pp: 5,
20344
20342
  priority: 0,
20345
- flags: { protect: 1, mirror: 1, noassist: 1, failcopycat: 1, failmimic: 1 },
20343
+ flags: { protect: 1, mirror: 1, noassist: 1, failcopycat: 1, failmimic: 1, nosketch: 1 },
20346
20344
  onModifyType(move, pokemon) {
20347
20345
  if (pokemon.species.name === 'Terapagos-Stellar') {
20348
20346
  move.type = 'Stellar';
@@ -20356,7 +20354,6 @@ exports.Moves = {
20356
20354
  move.target = 'allAdjacentFoes';
20357
20355
  }
20358
20356
  },
20359
- noSketch: true,
20360
20357
  secondary: null,
20361
20358
  target: "normal",
20362
20359
  type: "Normal",
@@ -21986,9 +21983,9 @@ exports.Moves = {
21986
21983
  pp: 10,
21987
21984
  priority: 0,
21988
21985
  flags: {
21989
- protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1,
21986
+ protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1,
21987
+ failcopycat: 1, failmimic: 1, failinstruct: 1, nosketch: 1,
21990
21988
  },
21991
- noSketch: true,
21992
21989
  secondary: {
21993
21990
  chance: 10,
21994
21991
  status: 'slp',