@pkmn/sim 0.7.11 → 0.7.13

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 (145) hide show
  1. package/build/cjs/config/formats.js +114 -84
  2. package/build/cjs/config/formats.js.map +1 -1
  3. package/build/cjs/data/abilities.js +25 -16
  4. package/build/cjs/data/abilities.js.map +1 -1
  5. package/build/cjs/data/aliases.js +3 -2
  6. package/build/cjs/data/aliases.js.map +1 -1
  7. package/build/cjs/data/conditions.js +1 -1
  8. package/build/cjs/data/conditions.js.map +1 -1
  9. package/build/cjs/data/formats-data.js +917 -917
  10. package/build/cjs/data/formats-data.js.map +1 -1
  11. package/build/cjs/data/items.js +104 -38
  12. package/build/cjs/data/items.js.map +1 -1
  13. package/build/cjs/data/learnsets.js +9 -9
  14. package/build/cjs/data/mods/gen1/conditions.js +30 -31
  15. package/build/cjs/data/mods/gen1/conditions.js.map +1 -1
  16. package/build/cjs/data/mods/gen1/moves.js +68 -100
  17. package/build/cjs/data/mods/gen1/moves.js.map +1 -1
  18. package/build/cjs/data/mods/gen1/scripts.js +16 -6
  19. package/build/cjs/data/mods/gen1/scripts.js.map +1 -1
  20. package/build/cjs/data/mods/gen3/formats-data.js +52 -52
  21. package/build/cjs/data/mods/gen3/formats-data.js.map +1 -1
  22. package/build/cjs/data/mods/gen4/moves.js +32 -24
  23. package/build/cjs/data/mods/gen4/moves.js.map +1 -1
  24. package/build/cjs/data/mods/gen4/rulesets.js +1 -1
  25. package/build/cjs/data/mods/gen4/rulesets.js.map +1 -1
  26. package/build/cjs/data/mods/gen5/formats-data.js +15 -15
  27. package/build/cjs/data/mods/gen5/formats-data.js.map +1 -1
  28. package/build/cjs/data/mods/gen5/rulesets.js +1 -1
  29. package/build/cjs/data/mods/gen5/rulesets.js.map +1 -1
  30. package/build/cjs/data/mods/gen6/formats-data.js +3 -3
  31. package/build/cjs/data/mods/gen6/formats-data.js.map +1 -1
  32. package/build/cjs/data/mods/gen7/formats-data.js +6 -6
  33. package/build/cjs/data/mods/gen7/formats-data.js.map +1 -1
  34. package/build/cjs/data/mods/gen7/items.js +8 -0
  35. package/build/cjs/data/mods/gen7/items.js.map +1 -1
  36. package/build/cjs/data/mods/gen7/rulesets.js +1 -1
  37. package/build/cjs/data/mods/gen7/rulesets.js.map +1 -1
  38. package/build/cjs/data/mods/gen8/formats-data.js +2 -2
  39. package/build/cjs/data/mods/gen8/formats-data.js.map +1 -1
  40. package/build/cjs/data/mods/gen8/items.js +76 -0
  41. package/build/cjs/data/mods/gen8/items.js.map +1 -1
  42. package/build/cjs/data/mods/gen8/moves.js +9 -0
  43. package/build/cjs/data/mods/gen8/moves.js.map +1 -1
  44. package/build/cjs/data/mods/gen8/pokedex.js +4 -0
  45. package/build/cjs/data/mods/gen8/pokedex.js.map +1 -1
  46. package/build/cjs/data/moves.js +111 -61
  47. package/build/cjs/data/moves.js.map +1 -1
  48. package/build/cjs/data/pokedex.js +5 -1
  49. package/build/cjs/data/pokedex.js.map +1 -1
  50. package/build/cjs/data/rulesets.js +1 -1
  51. package/build/cjs/data/rulesets.js.map +1 -1
  52. package/build/cjs/data/tags.js +4 -0
  53. package/build/cjs/data/tags.js.map +1 -1
  54. package/build/cjs/data/text/abilities.js +87 -55
  55. package/build/cjs/data/text/abilities.js.map +1 -1
  56. package/build/cjs/data/text/items.js +26 -13
  57. package/build/cjs/data/text/items.js.map +1 -1
  58. package/build/cjs/data/text/moves.js +179 -103
  59. package/build/cjs/data/text/moves.js.map +1 -1
  60. package/build/cjs/sim/battle-actions.js +9 -9
  61. package/build/cjs/sim/battle-actions.js.map +1 -1
  62. package/build/cjs/sim/battle-queue.js +1 -0
  63. package/build/cjs/sim/battle-queue.js.map +1 -1
  64. package/build/cjs/sim/battle.js +37 -2
  65. package/build/cjs/sim/battle.js.map +1 -1
  66. package/build/cjs/sim/pokemon.js +14 -6
  67. package/build/cjs/sim/pokemon.js.map +1 -1
  68. package/build/cjs/sim/side.js +7 -12
  69. package/build/cjs/sim/side.js.map +1 -1
  70. package/build/cjs/sim/team-validator.js +0 -4
  71. package/build/cjs/sim/team-validator.js.map +1 -1
  72. package/build/esm/config/formats.mjs +114 -84
  73. package/build/esm/config/formats.mjs.map +1 -1
  74. package/build/esm/data/abilities.mjs +25 -16
  75. package/build/esm/data/abilities.mjs.map +1 -1
  76. package/build/esm/data/aliases.mjs +3 -2
  77. package/build/esm/data/aliases.mjs.map +1 -1
  78. package/build/esm/data/conditions.mjs +1 -1
  79. package/build/esm/data/conditions.mjs.map +1 -1
  80. package/build/esm/data/formats-data.mjs +917 -917
  81. package/build/esm/data/formats-data.mjs.map +1 -1
  82. package/build/esm/data/items.mjs +104 -38
  83. package/build/esm/data/items.mjs.map +1 -1
  84. package/build/esm/data/learnsets.mjs +9 -9
  85. package/build/esm/data/mods/gen1/conditions.mjs +30 -31
  86. package/build/esm/data/mods/gen1/conditions.mjs.map +1 -1
  87. package/build/esm/data/mods/gen1/moves.mjs +68 -100
  88. package/build/esm/data/mods/gen1/moves.mjs.map +1 -1
  89. package/build/esm/data/mods/gen1/scripts.mjs +16 -6
  90. package/build/esm/data/mods/gen1/scripts.mjs.map +1 -1
  91. package/build/esm/data/mods/gen3/formats-data.mjs +52 -52
  92. package/build/esm/data/mods/gen3/formats-data.mjs.map +1 -1
  93. package/build/esm/data/mods/gen4/moves.mjs +32 -24
  94. package/build/esm/data/mods/gen4/moves.mjs.map +1 -1
  95. package/build/esm/data/mods/gen4/rulesets.mjs +1 -1
  96. package/build/esm/data/mods/gen4/rulesets.mjs.map +1 -1
  97. package/build/esm/data/mods/gen5/formats-data.mjs +15 -15
  98. package/build/esm/data/mods/gen5/formats-data.mjs.map +1 -1
  99. package/build/esm/data/mods/gen5/rulesets.mjs +1 -1
  100. package/build/esm/data/mods/gen5/rulesets.mjs.map +1 -1
  101. package/build/esm/data/mods/gen6/formats-data.mjs +3 -3
  102. package/build/esm/data/mods/gen6/formats-data.mjs.map +1 -1
  103. package/build/esm/data/mods/gen7/formats-data.mjs +6 -6
  104. package/build/esm/data/mods/gen7/formats-data.mjs.map +1 -1
  105. package/build/esm/data/mods/gen7/items.mjs +8 -0
  106. package/build/esm/data/mods/gen7/items.mjs.map +1 -1
  107. package/build/esm/data/mods/gen7/rulesets.mjs +1 -1
  108. package/build/esm/data/mods/gen7/rulesets.mjs.map +1 -1
  109. package/build/esm/data/mods/gen8/formats-data.mjs +2 -2
  110. package/build/esm/data/mods/gen8/formats-data.mjs.map +1 -1
  111. package/build/esm/data/mods/gen8/items.mjs +76 -0
  112. package/build/esm/data/mods/gen8/items.mjs.map +1 -1
  113. package/build/esm/data/mods/gen8/moves.mjs +9 -0
  114. package/build/esm/data/mods/gen8/moves.mjs.map +1 -1
  115. package/build/esm/data/mods/gen8/pokedex.mjs +4 -0
  116. package/build/esm/data/mods/gen8/pokedex.mjs.map +1 -1
  117. package/build/esm/data/moves.mjs +111 -61
  118. package/build/esm/data/moves.mjs.map +1 -1
  119. package/build/esm/data/pokedex.mjs +5 -1
  120. package/build/esm/data/pokedex.mjs.map +1 -1
  121. package/build/esm/data/rulesets.mjs +1 -1
  122. package/build/esm/data/rulesets.mjs.map +1 -1
  123. package/build/esm/data/tags.mjs +4 -0
  124. package/build/esm/data/tags.mjs.map +1 -1
  125. package/build/esm/data/text/abilities.mjs +87 -55
  126. package/build/esm/data/text/abilities.mjs.map +1 -1
  127. package/build/esm/data/text/items.mjs +26 -13
  128. package/build/esm/data/text/items.mjs.map +1 -1
  129. package/build/esm/data/text/moves.mjs +179 -103
  130. package/build/esm/data/text/moves.mjs.map +1 -1
  131. package/build/esm/sim/battle-actions.mjs +9 -9
  132. package/build/esm/sim/battle-actions.mjs.map +1 -1
  133. package/build/esm/sim/battle-queue.mjs +1 -0
  134. package/build/esm/sim/battle-queue.mjs.map +1 -1
  135. package/build/esm/sim/battle.mjs +37 -2
  136. package/build/esm/sim/battle.mjs.map +1 -1
  137. package/build/esm/sim/pokemon.mjs +14 -6
  138. package/build/esm/sim/pokemon.mjs.map +1 -1
  139. package/build/esm/sim/side.mjs +7 -12
  140. package/build/esm/sim/side.mjs.map +1 -1
  141. package/build/esm/sim/team-validator.mjs +0 -4
  142. package/build/esm/sim/team-validator.mjs.map +1 -1
  143. package/build/types/sim/battle-queue.d.ts +2 -2
  144. package/build/types/sim/side.d.ts +1 -1
  145. package/package.json +3 -3
@@ -39857,7 +39857,7 @@ exports.Learnsets = {
39857
39857
  assurance: [
39858
39858
  '9L25', '8M',
39859
39859
  '8L25', '7L25',
39860
- '6L25', '5L43',
39860
+ '6L25', '5L25',
39861
39861
  '4L43'
39862
39862
  ],
39863
39863
  attract: [
@@ -39878,7 +39878,7 @@ exports.Learnsets = {
39878
39878
  '9M', '9L20',
39879
39879
  '8L20', '7L17',
39880
39880
  '7V', '6L17',
39881
- '5L29', '4L29',
39881
+ '5L17', '4L29',
39882
39882
  '3L30'
39883
39883
  ],
39884
39884
  copycat: ['9L1', '8L1'],
@@ -39906,7 +39906,7 @@ exports.Learnsets = {
39906
39906
  '3M'
39907
39907
  ],
39908
39908
  faketears: ['9M', '8M'],
39909
- feintattack: ['7L20', '7V', '6L20', '5L36', '4L36', '3L36'],
39909
+ feintattack: ['7L20', '7V', '6L20', '5L21', '4L36', '3L36'],
39910
39910
  flash: ['7V', '6M', '5M', '4M', '3M'],
39911
39911
  focusenergy: ['8M'],
39912
39912
  foulplay: ['9M', '8M', '7T', '6T', '5T'],
@@ -39916,7 +39916,7 @@ exports.Learnsets = {
39916
39916
  guardswap: [
39917
39917
  '9L35', '8M',
39918
39918
  '8L35', '7L45',
39919
- '6L45', '5L78',
39919
+ '6L45', '5L45',
39920
39920
  '4L78'
39921
39921
  ],
39922
39922
  headbutt: ['7V', '4T'],
@@ -39947,21 +39947,21 @@ exports.Learnsets = {
39947
39947
  '9L55', '8L55',
39948
39948
  '7T', '7L41',
39949
39949
  '6T', '6L41',
39950
- '5T', '5L50',
39950
+ '5T', '5L41',
39951
39951
  '4T', '4L50'
39952
39952
  ],
39953
39953
  lightscreen: ['9M'],
39954
39954
  meanlook: [
39955
39955
  '9L50', '8L50',
39956
39956
  '7L37', '7V',
39957
- '6L37', '5L57',
39957
+ '6L37', '5L37',
39958
39958
  '4L57', '3L42'
39959
39959
  ],
39960
39960
  mimic: ['3T'],
39961
39961
  moonlight: [
39962
39962
  '9L30', '8L30',
39963
39963
  '7L33', '7V',
39964
- '6L33', '5L71',
39964
+ '6L33', '5L33',
39965
39965
  '4L71', '3L52'
39966
39966
  ],
39967
39967
  mudslap: ['7V', '4T', '3T'],
@@ -39984,7 +39984,7 @@ exports.Learnsets = {
39984
39984
  quickattack: [
39985
39985
  '9L10', '8L10',
39986
39986
  '7L13', '7V',
39987
- '6L13', '5L22',
39987
+ '6L13', '5L13',
39988
39988
  '4L22', '3L23'
39989
39989
  ],
39990
39990
  raindance: [
@@ -40012,7 +40012,7 @@ exports.Learnsets = {
40012
40012
  '9L45', '8M',
40013
40013
  '8L45', '7L29',
40014
40014
  '7V', '6L29',
40015
- '5L64', '4L64',
40015
+ '5L29', '4L64',
40016
40016
  '3L47'
40017
40017
  ],
40018
40018
  secretpower: ['6M', '4M', '3M'],
@@ -40,12 +40,14 @@ exports.Conditions = {
40
40
  if (this.randomChance(63, 256)) {
41
41
  this.add('cant', pokemon, 'par');
42
42
  pokemon.removeVolatile('bide');
43
- pokemon.removeVolatile('twoturnmove');
44
- pokemon.removeVolatile('fly');
45
- pokemon.removeVolatile('dig');
46
- pokemon.removeVolatile('solarbeam');
47
- pokemon.removeVolatile('skullbash');
43
+ if (pokemon.removeVolatile('twoturnmove')) {
44
+ if (pokemon.volatiles['invulnerability']) {
45
+ this.hint(`In Gen 1, when a Dig/Fly user is fully paralyzed while semi-invulnerable, ` +
46
+ `it will remain semi-invulnerable until it switches out or fully executes Dig/Fly`, true);
47
+ }
48
+ }
48
49
  pokemon.removeVolatile('partialtrappinglock');
50
+ pokemon.removeVolatile('lockedmove');
49
51
  return false;
50
52
  }
51
53
  },
@@ -150,11 +152,9 @@ exports.Conditions = {
150
152
  this.directDamage(damage, pokemon, target);
151
153
  pokemon.removeVolatile('bide');
152
154
  pokemon.removeVolatile('twoturnmove');
153
- pokemon.removeVolatile('fly');
154
- pokemon.removeVolatile('dig');
155
- pokemon.removeVolatile('solarbeam');
156
- pokemon.removeVolatile('skullbash');
155
+ pokemon.removeVolatile('invulnerability');
157
156
  pokemon.removeVolatile('partialtrappinglock');
157
+ pokemon.removeVolatile('lockedmove');
158
158
  return false;
159
159
  }
160
160
  return;
@@ -237,30 +237,29 @@ exports.Conditions = {
237
237
  target.addVolatile('confusion');
238
238
  },
239
239
  },
240
- stall: {
241
- name: 'stall',
242
- // Protect, Detect, Endure counter
243
- duration: 2,
244
- counterMax: 256,
245
- onStart() {
246
- this.effectState.counter = 2;
240
+ twoturnmove: {
241
+ // Skull Bash, Solar Beam, ...
242
+ name: 'twoturnmove',
243
+ onStart(attacker, defender, effect) {
244
+ // ("attacker" is the Pokemon using the two turn move and the Pokemon this condition is being applied to)
245
+ this.effectState.move = effect.id;
246
+ this.effectState.sourceEffect = effect.sourceEffect;
247
+ this.attrLastMove('[still]');
247
248
  },
248
- onStallMove() {
249
- // this.effectState.counter should never be undefined here.
250
- // However, just in case, use 1 if it is undefined.
251
- const counter = this.effectState.counter || 1;
252
- if (counter >= 256) {
253
- // 2^32 - special-cased because Battle.random(n) can't handle n > 2^16 - 1
254
- return (this.random() * 4294967296 < 1);
255
- }
256
- this.debug("Success chance: " + Math.round(100 / counter) + "%");
257
- return this.randomChance(1, counter);
249
+ onLockMove() {
250
+ return this.effectState.move;
258
251
  },
259
- onRestart() {
260
- if (this.effectState.counter < this.effect.counterMax) {
261
- this.effectState.counter *= 2;
262
- }
263
- this.effectState.duration = 2;
252
+ },
253
+ invulnerability: {
254
+ // Dig/Fly
255
+ name: 'invulnerability',
256
+ onInvulnerability(target, source, move) {
257
+ if (target === source)
258
+ return true;
259
+ if (move.id === 'swift' || move.id === 'transform')
260
+ return true;
261
+ this.add('-message', 'The foe ' + target.name + ' can\'t be hit while invulnerable!');
262
+ return false;
264
263
  },
265
264
  },
266
265
  };
@@ -1 +1 @@
1
- {"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../../../../data/mods/gen1/conditions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../../../../data/mods/gen1/conditions.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEU,QAAA,UAAU,GAAwC;IAC9D,GAAG,EAAE;QACJ,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,QAAQ;QACpB,OAAO,CAAC,MAAM;YACb,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,uBAAuB,EAAE,CAAC;QAC1B,eAAe,CAAC,OAAO;YACtB,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACrG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,EAAE,OAAO,CAAC,CAAC;YAC3F,IAAI,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE;gBACrC,IAAI,CAAC,IAAI,CAAC,0EAA0E,EAAE,IAAI,CAAC,CAAC;aAC5F;QACF,CAAC;QACD,mBAAmB,CAAC,OAAO;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC;KACD;IACD,GAAG,EAAE;QACJ,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,QAAQ;QACpB,OAAO,CAAC,MAAM;YACb,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,oBAAoB,EAAE,CAAC;QACvB,YAAY,CAAC,OAAO;YACnB,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE;gBAC/B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAC/B,IAAI,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;oBAC1C,IAAI,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE;wBACzC,IAAI,CAAC,IAAI,CAAC,4EAA4E;4BACtF,kFAAkF,EAAE,IAAI,CAAC,CAAC;qBAC1F;iBACD;gBACD,OAAO,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;gBAC9C,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;gBACrC,OAAO,KAAK,CAAC;aACb;QACF,CAAC;KACD;IACD,GAAG,EAAE;QACJ,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,QAAQ;QACpB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY;YACnC,IAAI,YAAY,IAAI,YAAY,CAAC,UAAU,KAAK,MAAM,EAAE;gBACvD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;aACxE;iBAAM;gBACN,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;aACnC;YACD,YAAY;YACZ,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YAEnD,IAAI,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE;gBACvC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;aAClD;QACF,CAAC;QACD,oBAAoB,EAAE,EAAE;QACxB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI;YACjC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE;gBACjC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;aACjC;YACD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YACxB,OAAO,KAAK,CAAC;QACd,CAAC;QACD,uBAAuB,EAAE,CAAC;QAC1B,eAAe,CAAC,OAAO;YACtB,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;gBAAE,OAAO,CAAC,UAAU,EAAE,CAAC;QACzD,CAAC;KACD;IACD,GAAG,EAAE;QACJ,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,QAAQ;QACpB,OAAO,CAAC,MAAM;YACb,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,oBAAoB,EAAE,EAAE;QACxB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI;YACjC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACjC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YACxB,OAAO,KAAK,CAAC;QACd,CAAC;QACD,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI;YACxC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,KAAK,EAAE;gBACtD,MAAM,CAAC,UAAU,EAAE,CAAC;aACpB;QACF,CAAC;KACD;IACD,GAAG,EAAE;QACJ,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,QAAQ;QACpB,OAAO,CAAC,MAAM;YACb,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,uBAAuB,EAAE,CAAC;QAC1B,eAAe,CAAC,OAAO;YACtB,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACrG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,EAAE,OAAO,CAAC,CAAC;YAC3F,IAAI,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE;gBACrC,IAAI,CAAC,IAAI,CAAC,0EAA0E,EAAE,IAAI,CAAC,CAAC;aAC5F;QACF,CAAC;QACD,mBAAmB,CAAC,OAAO;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC;KACD;IACD,GAAG,EAAE;QACJ,OAAO,EAAE,IAAI;QACb,uBAAuB,EAAE,CAAC;KAC1B;IACD,SAAS,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,4BAA4B;QAC5B,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY;YACnC,IAAI,YAAY,IAAI,YAAY,CAAC,EAAE,KAAK,YAAY,EAAE;gBACrD,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;aACpD;iBAAM;gBACN,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;aACxC;YACD,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,KAAK,CAAC,MAAM;YACX,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACvC,CAAC;QACD,oBAAoB,EAAE,CAAC;QACvB,YAAY,CAAC,OAAO,EAAE,MAAM;YAC3B,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE;gBACzC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;gBACpC,OAAO;aACP;YACD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;gBACjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CACpC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CACrE,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;gBAC7C,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC3C,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAC/B,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;gBACtC,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;gBAC1C,OAAO,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;gBAC9C,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;gBACrC,OAAO,KAAK,CAAC;aACb;YACD,OAAO;QACR,CAAC;KACD;IACD,MAAM,EAAE;QACP,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,MAAM;YACb,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACvC,CAAC;QACD,oBAAoB,EAAE,CAAC;QACvB,YAAY,CAAC,OAAO;YACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE;gBACtC,OAAO;aACP;YACD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YACpC,OAAO,KAAK,CAAC;QACd,CAAC;KACD;IACD,OAAO,EAAE;QACR,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,IAAI;QACZ,aAAa,CAAC,OAAO;YACpB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE;gBACvC,OAAO,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBACpC,OAAO;aACP;YACD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,CAAC;KACD;IACD,gBAAgB,EAAE;QACjB,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE,CAAC;QACX,oBAAoB,EAAE,CAAC;QACvB,YAAY,CAAC,OAAO;YACnB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;QACd,CAAC;KACD;IACD,mBAAmB,EAAE;QACpB,IAAI,EAAE,qBAAqB;QAC3B,gBAAgB;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACvD,OAAO,QAAQ,CAAC;QACjB,CAAC;QACD,UAAU,CAAC,MAAM;YAChB,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,UAAU,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,EAAE;gBACpF,OAAO,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;aAC/C;QACF,CAAC;QACD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM;YAC7B,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC;QACnC,CAAC;QACD,aAAa,CAAC,OAAO;YACpB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;gBAC5C,OAAO;aACP;YACD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE;gBACzC,IAAI,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;oBAC1C,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;iBACjC;aACD;QACF,CAAC;KACD;IACD,YAAY,EAAE;QACb,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,CAAC;QACX,OAAO,KAAI,CAAC;KACZ;IACD,UAAU,EAAE;QACX,kCAAkC;QAClC,OAAO,EAAE,IAAI;QACb,gBAAgB;YACf,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,MAAM;YACX,4CAA4C;YAC5C,OAAO,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACrC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;KACD;IACD,WAAW,EAAE;QACZ,8BAA8B;QAC9B,IAAI,EAAE,aAAa;QACnB,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM;YACjC,yGAAyG;YACzG,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;YACpD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;QACD,UAAU;YACT,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAC9B,CAAC;KACD;IACD,eAAe,EAAE;QAChB,UAAU;QACV,IAAI,EAAE,iBAAiB;QACvB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI;YACrC,IAAI,MAAM,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC;YACnC,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,IAAI,IAAI,CAAC,EAAE,KAAK,WAAW;gBAAE,OAAO,IAAI,CAAC;YAChE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC,IAAI,GAAG,oCAAoC,CAAC,CAAC;YACtF,OAAO,KAAK,CAAC;QACd,CAAC;KACD;CACD,CAAC"}
@@ -36,80 +36,36 @@ exports.Moves = {
36
36
  inherit: true,
37
37
  priority: 0,
38
38
  accuracy: true,
39
- ignoreEvasion: true,
40
39
  condition: {
41
- duration: 2,
42
- durationCallback(target, source, effect) {
43
- return this.random(3, 5);
44
- },
45
40
  onStart(pokemon) {
46
- this.effectState.totalDamage = 0;
47
- this.effectState.lastDamage = 0;
41
+ this.effectState.damage = 0;
42
+ this.effectState.time = this.random(2, 4);
48
43
  this.add('-start', pokemon, 'Bide');
49
44
  },
50
- onHit(target, source, move) {
51
- if (source && source !== target && move.category !== 'Physical' && move.category !== 'Special') {
52
- const damage = this.effectState.totalDamage;
53
- this.effectState.totalDamage += damage;
54
- this.effectState.lastDamage = damage;
55
- this.effectState.sourceSlot = source.getSlot();
56
- }
57
- },
58
- onDamage(damage, target, source, move) {
59
- if (!source || source.isAlly(target))
60
- return;
61
- if (!move || move.effectType !== 'Move')
62
- return;
63
- if (!damage && this.effectState.lastDamage > 0) {
64
- damage = this.effectState.totalDamage;
65
- }
66
- this.effectState.totalDamage += damage;
67
- this.effectState.lastDamage = damage;
68
- this.effectState.sourceSlot = source.getSlot();
69
- },
70
- onAfterSetStatus(status, pokemon) {
71
- // Sleep, freeze, and partial trap will just pause duration.
72
- if (pokemon.volatiles['flinch']) {
73
- this.effectState.duration++;
74
- }
75
- else if (pokemon.volatiles['partiallytrapped']) {
76
- this.effectState.duration++;
77
- }
78
- else {
79
- switch (status.id) {
80
- case 'slp':
81
- case 'frz':
82
- this.effectState.duration++;
83
- break;
84
- }
85
- }
86
- },
87
45
  onBeforeMove(pokemon, t, move) {
88
- if (this.effectState.duration === 1) {
89
- this.add('-end', pokemon, 'Bide');
90
- if (!this.effectState.totalDamage) {
91
- this.debug("Bide failed because no damage was taken");
46
+ const currentMove = this.dex.getActiveMove('bide');
47
+ if (pokemon.volatiles['disable']?.move === 'bide') {
48
+ this.add('cant', pokemon, 'Disable', currentMove);
49
+ return false;
50
+ }
51
+ this.effectState.damage += this.lastDamage;
52
+ this.effectState.time--;
53
+ if (!this.effectState.time) {
54
+ this.add('-end', pokemon, currentMove);
55
+ if (!this.effectState.damage) {
56
+ this.debug("Bide failed because no damage was stored");
92
57
  this.add('-fail', pokemon);
58
+ pokemon.removeVolatile('bide');
93
59
  return false;
94
60
  }
95
- const target = this.getAtSlot(this.effectState.sourceSlot);
96
- this.actions.moveHit(target, pokemon, move, { damage: this.effectState.totalDamage * 2 });
61
+ const target = this.getRandomTarget(pokemon, 'Pound');
62
+ this.actions.moveHit(target, pokemon, currentMove, { damage: this.effectState.damage * 2 });
97
63
  pokemon.removeVolatile('bide');
98
64
  return false;
99
65
  }
100
66
  this.add('-activate', pokemon, 'Bide');
101
67
  return false;
102
68
  },
103
- onDisableMove(pokemon) {
104
- if (!pokemon.hasMove('bide')) {
105
- return;
106
- }
107
- for (const moveSlot of pokemon.moveSlots) {
108
- if (moveSlot.id !== 'bide') {
109
- pokemon.disableMove(moveSlot.id);
110
- }
111
- }
112
- },
113
69
  },
114
70
  type: "???", // Will look as Normal but it's STAB-less
115
71
  },
@@ -251,25 +207,16 @@ exports.Moves = {
251
207
  dig: {
252
208
  inherit: true,
253
209
  basePower: 100,
254
- condition: {
255
- duration: 2,
256
- onLockMove: 'dig',
257
- onInvulnerability(target, source, move) {
258
- if (move.id === 'swift' || move.id === 'transform')
259
- return true;
260
- this.add('-message', 'The foe ' + target.name + ' can\'t be hit underground!');
261
- return false;
262
- },
263
- onDamage(damage, target, source, move) {
264
- if (!move || move.effectType !== 'Move')
265
- return;
266
- if (!source)
267
- return;
268
- if (move.id === 'earthquake') {
269
- this.add('-message', 'The foe ' + target.name + ' can\'t be hit underground!');
270
- return null;
271
- }
272
- },
210
+ condition: {},
211
+ onTryMove(attacker, defender, move) {
212
+ if (attacker.removeVolatile('twoturnmove')) {
213
+ attacker.removeVolatile('invulnerability');
214
+ return;
215
+ }
216
+ this.add('-prepare', attacker, move.name);
217
+ attacker.addVolatile('twoturnmove', defender);
218
+ attacker.addVolatile('invulnerability', defender);
219
+ return null;
273
220
  },
274
221
  },
275
222
  disable: {
@@ -309,6 +256,7 @@ exports.Moves = {
309
256
  }
310
257
  if (move.id === this.effectState.move) {
311
258
  this.add('cant', pokemon, 'Disable', move);
259
+ pokemon.removeVolatile('twoturnmove');
312
260
  return false;
313
261
  }
314
262
  },
@@ -373,25 +321,16 @@ exports.Moves = {
373
321
  },
374
322
  fly: {
375
323
  inherit: true,
376
- condition: {
377
- duration: 2,
378
- onLockMove: 'fly',
379
- onInvulnerability(target, source, move) {
380
- if (move.id === 'swift' || move.id === 'transform')
381
- return true;
382
- this.add('-message', 'The foe ' + target.name + ' can\'t be hit while flying!');
383
- return false;
384
- },
385
- onDamage(damage, target, source, move) {
386
- if (!move || move.effectType !== 'Move')
387
- return;
388
- if (!source || source.isAlly(target))
389
- return;
390
- if (move.id === 'gust' || move.id === 'thunder') {
391
- this.add('-message', 'The foe ' + target.name + ' can\'t be hit while flying!');
392
- return null;
393
- }
394
- },
324
+ condition: {},
325
+ onTryMove(attacker, defender, move) {
326
+ if (attacker.removeVolatile('twoturnmove')) {
327
+ attacker.removeVolatile('invulnerability');
328
+ return;
329
+ }
330
+ this.add('-prepare', attacker, move.name);
331
+ attacker.addVolatile('twoturnmove', defender);
332
+ attacker.addVolatile('invulnerability', defender);
333
+ return null;
395
334
  },
396
335
  },
397
336
  focusenergy: {
@@ -664,6 +603,14 @@ exports.Moves = {
664
603
  inherit: true,
665
604
  critRatio: 1,
666
605
  target: "normal",
606
+ onTryMove(attacker, defender, move) {
607
+ if (attacker.removeVolatile('twoturnmove')) {
608
+ return;
609
+ }
610
+ this.add('-prepare', attacker, move.name);
611
+ attacker.addVolatile('twoturnmove', defender);
612
+ return null;
613
+ },
667
614
  },
668
615
  recover: {
669
616
  inherit: true,
@@ -754,13 +701,21 @@ exports.Moves = {
754
701
  skullbash: {
755
702
  inherit: true,
756
703
  onTryMove(attacker, defender, move) {
757
- if (attacker.removeVolatile(move.id)) {
704
+ if (attacker.removeVolatile('twoturnmove')) {
758
705
  return;
759
706
  }
760
707
  this.add('-prepare', attacker, move.name);
761
- if (!this.runEvent('ChargeMove', attacker, defender, move)) {
708
+ attacker.addVolatile('twoturnmove', defender);
709
+ return null;
710
+ },
711
+ },
712
+ skyattack: {
713
+ inherit: true,
714
+ onTryMove(attacker, defender, move) {
715
+ if (attacker.removeVolatile('twoturnmove')) {
762
716
  return;
763
717
  }
718
+ this.add('-prepare', attacker, move.name);
764
719
  attacker.addVolatile('twoturnmove', defender);
765
720
  return null;
766
721
  },
@@ -776,6 +731,17 @@ exports.Moves = {
776
731
  status: 'psn',
777
732
  },
778
733
  },
734
+ solarbeam: {
735
+ inherit: true,
736
+ onTryMove(attacker, defender, move) {
737
+ if (attacker.removeVolatile('twoturnmove')) {
738
+ return;
739
+ }
740
+ this.add('-prepare', attacker, move.name);
741
+ attacker.addVolatile('twoturnmove', defender);
742
+ return null;
743
+ },
744
+ },
779
745
  sonicboom: {
780
746
  inherit: true,
781
747
  ignoreImmunity: true,
@@ -852,6 +818,8 @@ exports.Moves = {
852
818
  // Substitute, here we deliberately use the uncapped damage when tracking lastDamage etc.
853
819
  // Also, multi-hit moves must always deal the same damage as the first hit for any subsequent hits
854
820
  let uncappedDamage = move.hit > 1 ? this.lastDamage : this.actions.getDamage(source, target, move);
821
+ if (move.id === 'bide')
822
+ uncappedDamage = source.volatiles['bide'].damage * 2;
855
823
  if (!uncappedDamage && uncappedDamage !== 0)
856
824
  return null;
857
825
  uncappedDamage = this.runEvent('SubDamage', target, source, move, uncappedDamage);
@@ -1 +1 @@
1
- {"version":3,"file":"moves.js","sourceRoot":"","sources":["../../../../../data/mods/gen1/moves.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"moves.js","sourceRoot":"","sources":["../../../../../data/mods/gen1/moves.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ const SKIP_LASTDAMAGE = new Set([
11
11
  'mimic', 'mist', 'poisongas', 'poisonpowder', 'recover', 'reflect', 'rest', 'softboiled',
12
12
  'splash', 'stunspore', 'substitute', 'supersonic', 'teleport', 'thunderwave', 'toxic', 'transform',
13
13
  ]);
14
+ const TWO_TURN_MOVES = ['dig', 'fly', 'razorwind', 'skullbash', 'skyattack', 'solarbeam'];
14
15
  exports.Scripts = {
15
16
  inherit: 'gen2',
16
17
  gen: 1,
@@ -136,8 +137,6 @@ exports.Scripts = {
136
137
  target.subFainted = null;
137
138
  this.battle.setActiveMove(move, pokemon, target);
138
139
  if (pokemon.moveThisTurn || !this.battle.runEvent('BeforeMove', pokemon, target, move)) {
139
- // Prevent invulnerability from persisting until the turn ends.
140
- pokemon.removeVolatile('twoturnmove');
141
140
  // Rampage moves end without causing confusion
142
141
  delete pokemon.volatiles['lockedmove'];
143
142
  this.battle.clearActiveMove(true);
@@ -154,10 +153,14 @@ exports.Scripts = {
154
153
  let lockedMove = this.battle.runEvent('LockMove', pokemon);
155
154
  if (lockedMove === true)
156
155
  lockedMove = false;
157
- if (!lockedMove &&
158
- (!pokemon.volatiles['partialtrappinglock'] || pokemon.volatiles['partialtrappinglock'].locked !== target)) {
156
+ if ((!lockedMove &&
157
+ (!pokemon.volatiles['partialtrappinglock'] || pokemon.volatiles['partialtrappinglock'].locked !== target))) {
159
158
  pokemon.deductPP(move, null, target);
160
159
  }
160
+ else if (pokemon.volatiles['twoturnmove']) {
161
+ // Two-turn moves like Sky Attack deduct PP on their second turn.
162
+ pokemon.deductPP(pokemon.volatiles['twoturnmove'].originalMove, null, target);
163
+ }
161
164
  else {
162
165
  sourceEffect = move;
163
166
  }
@@ -169,11 +172,15 @@ exports.Scripts = {
169
172
  }
170
173
  }
171
174
  this.useMove(move, pokemon, target, sourceEffect);
175
+ // Restore PP if the move is the first turn of a charging move. Save the move from which PP should be deducted if the move succeeds.
176
+ if (pokemon.volatiles['twoturnmove']) {
177
+ pokemon.deductPP(move, -1, target);
178
+ pokemon.volatiles['twoturnmove'].originalMove = move.id;
179
+ }
172
180
  },
173
181
  // This function deals with AfterMoveSelf events.
174
182
  // This leads with partial trapping moves shenanigans after the move has been used.
175
183
  useMove(moveOrMoveName, pokemon, target, sourceEffect) {
176
- const moveResult = this.useMoveInner(moveOrMoveName, pokemon, target, sourceEffect);
177
184
  if (!sourceEffect && this.battle.effect.id)
178
185
  sourceEffect = this.battle.effect;
179
186
  const baseMove = this.battle.dex.moves.get(moveOrMoveName);
@@ -195,12 +202,15 @@ exports.Scripts = {
195
202
  // Check again, this shouldn't ever happen on Gen 1.
196
203
  target = this.battle.getRandomTarget(pokemon, move);
197
204
  }
205
+ // The charging turn of a two-turn move does not update pokemon.lastMove
206
+ if (!TWO_TURN_MOVES.includes(move.id) || pokemon.volatiles['twoturnmove'])
207
+ pokemon.lastMove = move;
208
+ const moveResult = this.useMoveInner(moveOrMoveName, pokemon, target, sourceEffect);
198
209
  if (move.id !== 'metronome') {
199
210
  if (move.id !== 'mirrormove' ||
200
211
  (!pokemon.side.foe.active[0]?.lastMove || pokemon.side.foe.active[0].lastMove?.id === 'mirrormove')) {
201
212
  // The move is our 'final' move (a failed Mirror Move, or any move that isn't Metronome or Mirror Move).
202
213
  pokemon.side.lastMove = move;
203
- pokemon.lastMove = move;
204
214
  this.battle.singleEvent('AfterMove', move, null, pokemon, target, move);
205
215
  // If target fainted
206
216
  if (target && target.hp <= 0) {