@pkmn/sim 0.9.9 → 0.9.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.
Files changed (91) hide show
  1. package/build/cjs/config/formats.js +29 -29
  2. package/build/cjs/config/formats.js.map +1 -1
  3. package/build/cjs/data/abilities.js +3 -1
  4. package/build/cjs/data/abilities.js.map +1 -1
  5. package/build/cjs/data/formats-data.js +3 -3
  6. package/build/cjs/data/formats-data.js.map +1 -1
  7. package/build/cjs/data/learnsets.js +3 -6
  8. package/build/cjs/data/learnsets.js.map +1 -1
  9. package/build/cjs/data/mods/gen1/formats-data.js +1 -1
  10. package/build/cjs/data/mods/gen1/formats-data.js.map +1 -1
  11. package/build/cjs/data/mods/gen2/formats-data.js +2 -2
  12. package/build/cjs/data/mods/gen2/formats-data.js.map +1 -1
  13. package/build/cjs/data/mods/gen2/moves.js +8 -12
  14. package/build/cjs/data/mods/gen2/moves.js.map +1 -1
  15. package/build/cjs/data/mods/gen3/formats-data.js +1 -1
  16. package/build/cjs/data/mods/gen3/formats-data.js.map +1 -1
  17. package/build/cjs/data/mods/gen3/moves.js +2 -2
  18. package/build/cjs/data/mods/gen3/moves.js.map +1 -1
  19. package/build/cjs/data/mods/gen4/moves.js +7 -4
  20. package/build/cjs/data/mods/gen4/moves.js.map +1 -1
  21. package/build/cjs/data/mods/gen5/moves.js +4 -1
  22. package/build/cjs/data/mods/gen5/moves.js.map +1 -1
  23. package/build/cjs/data/mods/gen7/items.js +2 -2
  24. package/build/cjs/data/mods/gen7/items.js.map +1 -1
  25. package/build/cjs/data/mods/gen8/formats-data.js +1 -2
  26. package/build/cjs/data/mods/gen8/formats-data.js.map +1 -1
  27. package/build/cjs/data/mods/gen8/moves.js +3 -3
  28. package/build/cjs/data/mods/gen8/moves.js.map +1 -1
  29. package/build/cjs/data/moves.js +21 -25
  30. package/build/cjs/data/moves.js.map +1 -1
  31. package/build/cjs/data/text/abilities.js +1 -0
  32. package/build/cjs/data/text/abilities.js.map +1 -1
  33. package/build/cjs/data/text/moves.js +5 -2
  34. package/build/cjs/data/text/moves.js.map +1 -1
  35. package/build/cjs/sim/dex-moves.d.ts +1 -3
  36. package/build/cjs/sim/dex-moves.js +0 -1
  37. package/build/cjs/sim/dex-moves.js.map +1 -1
  38. package/build/cjs/sim/dex-species.js +1 -1
  39. package/build/cjs/sim/dex-species.js.map +1 -1
  40. package/build/cjs/sim/exported-global-types.d.ts +1 -0
  41. package/build/cjs/sim/global-types.d.ts +1 -0
  42. package/build/cjs/sim/pokemon.js +2 -0
  43. package/build/cjs/sim/pokemon.js.map +1 -1
  44. package/build/cjs/sim/team-validator.js +1 -1
  45. package/build/cjs/sim/team-validator.js.map +1 -1
  46. package/build/esm/config/formats.mjs +29 -29
  47. package/build/esm/config/formats.mjs.map +1 -1
  48. package/build/esm/data/abilities.mjs +3 -1
  49. package/build/esm/data/abilities.mjs.map +1 -1
  50. package/build/esm/data/formats-data.mjs +3 -3
  51. package/build/esm/data/formats-data.mjs.map +1 -1
  52. package/build/esm/data/learnsets.mjs +3 -6
  53. package/build/esm/data/learnsets.mjs.map +1 -1
  54. package/build/esm/data/mods/gen1/formats-data.mjs +1 -1
  55. package/build/esm/data/mods/gen1/formats-data.mjs.map +1 -1
  56. package/build/esm/data/mods/gen2/formats-data.mjs +2 -2
  57. package/build/esm/data/mods/gen2/formats-data.mjs.map +1 -1
  58. package/build/esm/data/mods/gen2/moves.mjs +8 -12
  59. package/build/esm/data/mods/gen2/moves.mjs.map +1 -1
  60. package/build/esm/data/mods/gen3/formats-data.mjs +1 -1
  61. package/build/esm/data/mods/gen3/formats-data.mjs.map +1 -1
  62. package/build/esm/data/mods/gen3/moves.mjs +2 -2
  63. package/build/esm/data/mods/gen3/moves.mjs.map +1 -1
  64. package/build/esm/data/mods/gen4/moves.mjs +7 -4
  65. package/build/esm/data/mods/gen4/moves.mjs.map +1 -1
  66. package/build/esm/data/mods/gen5/moves.mjs +4 -1
  67. package/build/esm/data/mods/gen5/moves.mjs.map +1 -1
  68. package/build/esm/data/mods/gen7/items.mjs +2 -2
  69. package/build/esm/data/mods/gen7/items.mjs.map +1 -1
  70. package/build/esm/data/mods/gen8/formats-data.mjs +1 -2
  71. package/build/esm/data/mods/gen8/formats-data.mjs.map +1 -1
  72. package/build/esm/data/mods/gen8/moves.mjs +3 -3
  73. package/build/esm/data/mods/gen8/moves.mjs.map +1 -1
  74. package/build/esm/data/moves.mjs +21 -25
  75. package/build/esm/data/moves.mjs.map +1 -1
  76. package/build/esm/data/text/abilities.mjs +1 -0
  77. package/build/esm/data/text/abilities.mjs.map +1 -1
  78. package/build/esm/data/text/moves.mjs +5 -2
  79. package/build/esm/data/text/moves.mjs.map +1 -1
  80. package/build/esm/sim/dex-moves.d.mts +1 -3
  81. package/build/esm/sim/dex-moves.mjs +0 -1
  82. package/build/esm/sim/dex-moves.mjs.map +1 -1
  83. package/build/esm/sim/dex-species.mjs +1 -1
  84. package/build/esm/sim/dex-species.mjs.map +1 -1
  85. package/build/esm/sim/exported-global-types.d.mts +1 -0
  86. package/build/esm/sim/global-types.d.mts +1 -0
  87. package/build/esm/sim/pokemon.mjs +2 -0
  88. package/build/esm/sim/pokemon.mjs.map +1 -1
  89. package/build/esm/sim/team-validator.mjs +1 -1
  90. package/build/esm/sim/team-validator.mjs.map +1 -1
  91. package/package.json +1 -1
@@ -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);
@@ -15923,7 +15922,7 @@ exports.Moves = {
15923
15922
  pp: 1,
15924
15923
  noPPBoosts: true,
15925
15924
  priority: 0,
15926
- flags: { heal: 1 },
15925
+ flags: { heal: 1, nosketch: 1 },
15927
15926
  onTryHit(source) {
15928
15927
  if (!source.side.pokemon.filter(ally => ally.fainted).length) {
15929
15928
  return false;
@@ -15938,7 +15937,6 @@ exports.Moves = {
15938
15937
  duration: 1,
15939
15938
  // reviving implemented in side.ts, kind of
15940
15939
  },
15941
- noSketch: true,
15942
15940
  secondary: null,
15943
15941
  target: "self",
15944
15942
  type: "Normal",
@@ -17471,13 +17469,14 @@ exports.Moves = {
17471
17469
  noPPBoosts: true,
17472
17470
  priority: 0,
17473
17471
  flags: {
17474
- bypasssub: 1, allyanim: 1, failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1,
17472
+ bypasssub: 1, allyanim: 1, failencore: 1, nosleeptalk: 1, noassist: 1,
17473
+ failcopycat: 1, failmimic: 1, failinstruct: 1, nosketch: 1,
17475
17474
  },
17476
17475
  onHit(target, source) {
17477
17476
  const move = target.lastMove;
17478
17477
  if (source.transformed || !move || source.moves.includes(move.id))
17479
17478
  return false;
17480
- if (move.noSketch || move.isZ || move.isMax)
17479
+ if (move.flags['nosketch'] || move.isZ || move.isMax)
17481
17480
  return false;
17482
17481
  const sketchIndex = source.moves.indexOf('sketch');
17483
17482
  if (sketchIndex < 0)
@@ -17495,7 +17494,6 @@ exports.Moves = {
17495
17494
  source.baseMoveSlots[sketchIndex] = sketchedMove;
17496
17495
  this.add('-activate', source, 'move: Sketch', move.name);
17497
17496
  },
17498
- noSketch: true,
17499
17497
  secondary: null,
17500
17498
  target: "normal",
17501
17499
  type: "Normal",
@@ -19249,9 +19247,8 @@ exports.Moves = {
19249
19247
  priority: 0,
19250
19248
  flags: {
19251
19249
  contact: 1, protect: 1,
19252
- failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1,
19250
+ failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1, nosketch: 1,
19253
19251
  },
19254
- noSketch: true,
19255
19252
  onModifyMove(move, pokemon, target) {
19256
19253
  move.type = '???';
19257
19254
  this.add('-activate', pokemon, 'move: Struggle');
@@ -20342,7 +20339,7 @@ exports.Moves = {
20342
20339
  name: "Tera Starstorm",
20343
20340
  pp: 5,
20344
20341
  priority: 0,
20345
- flags: { protect: 1, mirror: 1, noassist: 1, failcopycat: 1, failmimic: 1 },
20342
+ flags: { protect: 1, mirror: 1, noassist: 1, failcopycat: 1, failmimic: 1, nosketch: 1 },
20346
20343
  onModifyType(move, pokemon) {
20347
20344
  if (pokemon.species.name === 'Terapagos-Stellar') {
20348
20345
  move.type = 'Stellar';
@@ -20356,7 +20353,6 @@ exports.Moves = {
20356
20353
  move.target = 'allAdjacentFoes';
20357
20354
  }
20358
20355
  },
20359
- noSketch: true,
20360
20356
  secondary: null,
20361
20357
  target: "normal",
20362
20358
  type: "Normal",
@@ -21986,9 +21982,9 @@ exports.Moves = {
21986
21982
  pp: 10,
21987
21983
  priority: 0,
21988
21984
  flags: {
21989
- protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1,
21985
+ protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1,
21986
+ failcopycat: 1, failmimic: 1, failinstruct: 1, nosketch: 1,
21990
21987
  },
21991
- noSketch: true,
21992
21988
  secondary: {
21993
21989
  chance: 10,
21994
21990
  status: 'slp',