@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
@@ -1514,9 +1514,9 @@ export const Moves = {
1514
1514
  pp: 10,
1515
1515
  priority: 0,
1516
1516
  flags: {
1517
- protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1,
1517
+ protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1,
1518
+ failcopycat: 1, failmimic: 1, failinstruct: 1, nosketch: 1,
1518
1519
  },
1519
- noSketch: true,
1520
1520
  secondary: {
1521
1521
  chance: 30,
1522
1522
  status: 'brn',
@@ -2469,7 +2469,6 @@ export const Moves = {
2469
2469
  protect: 1, mirror: 1, sound: 1, distance: 1, bypasssub: 1,
2470
2470
  nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1,
2471
2471
  },
2472
- noSketch: true,
2473
2472
  secondary: {
2474
2473
  chance: 100,
2475
2474
  volatileStatus: 'confusion',
@@ -2759,9 +2758,9 @@ export const Moves = {
2759
2758
  pp: 10,
2760
2759
  priority: 0,
2761
2760
  flags: {
2762
- protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1,
2761
+ protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1,
2762
+ failcopycat: 1, failmimic: 1, failinstruct: 1, nosketch: 1,
2763
2763
  },
2764
- noSketch: true,
2765
2764
  secondary: {
2766
2765
  chance: 30,
2767
2766
  status: 'par',
@@ -3517,7 +3516,7 @@ export const Moves = {
3517
3516
  name: "Dark Void",
3518
3517
  pp: 10,
3519
3518
  priority: 0,
3520
- flags: { protect: 1, reflectable: 1, mirror: 1, metronome: 1 },
3519
+ flags: { protect: 1, reflectable: 1, mirror: 1, metronome: 1, nosketch: 1 },
3521
3520
  status: 'slp',
3522
3521
  onTry(source, target, move) {
3523
3522
  if (source.species.name === 'Darkrai' || move.hasBounced) {
@@ -3527,7 +3526,6 @@ export const Moves = {
3527
3526
  this.hint("Only a Pokemon whose form is Darkrai can use this move.");
3528
3527
  return null;
3529
3528
  },
3530
- noSketch: true,
3531
3529
  secondary: null,
3532
3530
  target: "allAdjacentFoes",
3533
3531
  type: "Dark",
@@ -9614,7 +9612,7 @@ export const Moves = {
9614
9612
  name: "Hyperspace Fury",
9615
9613
  pp: 5,
9616
9614
  priority: 0,
9617
- flags: { mirror: 1, bypasssub: 1 },
9615
+ flags: { mirror: 1, bypasssub: 1, nosketch: 1 },
9618
9616
  breaksProtect: true,
9619
9617
  onTry(source) {
9620
9618
  if (source.species.name === 'Hoopa-Unbound') {
@@ -9635,7 +9633,6 @@ export const Moves = {
9635
9633
  def: -1,
9636
9634
  },
9637
9635
  },
9638
- noSketch: true,
9639
9636
  secondary: null,
9640
9637
  target: "normal",
9641
9638
  type: "Dark",
@@ -11204,9 +11201,9 @@ export const Moves = {
11204
11201
  pp: 10,
11205
11202
  priority: 0,
11206
11203
  flags: {
11207
- protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1,
11204
+ protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1,
11205
+ failcopycat: 1, failmimic: 1, failinstruct: 1, nosketch: 1,
11208
11206
  },
11209
- noSketch: true,
11210
11207
  secondary: {
11211
11208
  chance: 30,
11212
11209
  volatileStatus: 'confusion',
@@ -13462,9 +13459,9 @@ export const Moves = {
13462
13459
  pp: 10,
13463
13460
  priority: 0,
13464
13461
  flags: {
13465
- protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1,
13462
+ protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1,
13463
+ failcopycat: 1, failmimic: 1, failinstruct: 1, nosketch: 1,
13466
13464
  },
13467
- noSketch: true,
13468
13465
  secondary: {
13469
13466
  chance: 30,
13470
13467
  status: 'psn',
@@ -14792,12 +14789,14 @@ export const Moves = {
14792
14789
  for (i in target.boosts) {
14793
14790
  source.boosts[i] = target.boosts[i];
14794
14791
  }
14795
- const volatilesToCopy = ['focusenergy', 'gmaxchistrike', 'laserfocus'];
14792
+ const volatilesToCopy = ['dragoncheer', 'focusenergy', 'gmaxchistrike', 'laserfocus'];
14796
14793
  for (const volatile of volatilesToCopy) {
14797
14794
  if (target.volatiles[volatile]) {
14798
14795
  source.addVolatile(volatile);
14799
14796
  if (volatile === 'gmaxchistrike')
14800
14797
  source.volatiles[volatile].layers = target.volatiles[volatile].layers;
14798
+ if (volatile === 'dragoncheer')
14799
+ source.volatiles[volatile].hasDragonType = target.volatiles[volatile].hasDragonType;
14801
14800
  }
14802
14801
  else {
14803
14802
  source.removeVolatile(volatile);
@@ -15920,7 +15919,7 @@ export const Moves = {
15920
15919
  pp: 1,
15921
15920
  noPPBoosts: true,
15922
15921
  priority: 0,
15923
- flags: { heal: 1 },
15922
+ flags: { heal: 1, nosketch: 1 },
15924
15923
  onTryHit(source) {
15925
15924
  if (!source.side.pokemon.filter(ally => ally.fainted).length) {
15926
15925
  return false;
@@ -15935,7 +15934,6 @@ export const Moves = {
15935
15934
  duration: 1,
15936
15935
  // reviving implemented in side.ts, kind of
15937
15936
  },
15938
- noSketch: true,
15939
15937
  secondary: null,
15940
15938
  target: "self",
15941
15939
  type: "Normal",
@@ -17468,13 +17466,14 @@ export const Moves = {
17468
17466
  noPPBoosts: true,
17469
17467
  priority: 0,
17470
17468
  flags: {
17471
- bypasssub: 1, allyanim: 1, failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1,
17469
+ bypasssub: 1, allyanim: 1, failencore: 1, nosleeptalk: 1, noassist: 1,
17470
+ failcopycat: 1, failmimic: 1, failinstruct: 1, nosketch: 1,
17472
17471
  },
17473
17472
  onHit(target, source) {
17474
17473
  const move = target.lastMove;
17475
17474
  if (source.transformed || !move || source.moves.includes(move.id))
17476
17475
  return false;
17477
- if (move.noSketch || move.isZ || move.isMax)
17476
+ if (move.flags['nosketch'] || move.isZ || move.isMax)
17478
17477
  return false;
17479
17478
  const sketchIndex = source.moves.indexOf('sketch');
17480
17479
  if (sketchIndex < 0)
@@ -17492,7 +17491,6 @@ export const Moves = {
17492
17491
  source.baseMoveSlots[sketchIndex] = sketchedMove;
17493
17492
  this.add('-activate', source, 'move: Sketch', move.name);
17494
17493
  },
17495
- noSketch: true,
17496
17494
  secondary: null,
17497
17495
  target: "normal",
17498
17496
  type: "Normal",
@@ -19246,9 +19244,8 @@ export const Moves = {
19246
19244
  priority: 0,
19247
19245
  flags: {
19248
19246
  contact: 1, protect: 1,
19249
- failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1,
19247
+ failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1, nosketch: 1,
19250
19248
  },
19251
- noSketch: true,
19252
19249
  onModifyMove(move, pokemon, target) {
19253
19250
  move.type = '???';
19254
19251
  this.add('-activate', pokemon, 'move: Struggle');
@@ -20339,7 +20336,7 @@ export const Moves = {
20339
20336
  name: "Tera Starstorm",
20340
20337
  pp: 5,
20341
20338
  priority: 0,
20342
- flags: { protect: 1, mirror: 1, noassist: 1, failcopycat: 1, failmimic: 1 },
20339
+ flags: { protect: 1, mirror: 1, noassist: 1, failcopycat: 1, failmimic: 1, nosketch: 1 },
20343
20340
  onModifyType(move, pokemon) {
20344
20341
  if (pokemon.species.name === 'Terapagos-Stellar') {
20345
20342
  move.type = 'Stellar';
@@ -20353,7 +20350,6 @@ export const Moves = {
20353
20350
  move.target = 'allAdjacentFoes';
20354
20351
  }
20355
20352
  },
20356
- noSketch: true,
20357
20353
  secondary: null,
20358
20354
  target: "normal",
20359
20355
  type: "Normal",
@@ -21983,9 +21979,9 @@ export const Moves = {
21983
21979
  pp: 10,
21984
21980
  priority: 0,
21985
21981
  flags: {
21986
- protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1,
21982
+ protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1,
21983
+ failcopycat: 1, failmimic: 1, failinstruct: 1, nosketch: 1,
21987
21984
  },
21988
- noSketch: true,
21989
21985
  secondary: {
21990
21986
  chance: 10,
21991
21987
  status: 'slp',