@pkmn/sim 0.7.1 → 0.7.3

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 (182) hide show
  1. package/build/cjs/config/formats.js +31 -25
  2. package/build/cjs/config/formats.js.map +1 -1
  3. package/build/cjs/data/abilities.js +16 -18
  4. package/build/cjs/data/abilities.js.map +1 -1
  5. package/build/cjs/data/formats-data.js +26 -14
  6. package/build/cjs/data/formats-data.js.map +1 -1
  7. package/build/cjs/data/mods/gen1/moves.js +9 -1
  8. package/build/cjs/data/mods/gen1/moves.js.map +1 -1
  9. package/build/cjs/data/mods/gen1/scripts.js +15 -1
  10. package/build/cjs/data/mods/gen1/scripts.js.map +1 -1
  11. package/build/cjs/data/mods/gen8/formats-data.js +17 -1
  12. package/build/cjs/data/mods/gen8/formats-data.js.map +1 -1
  13. package/build/cjs/data/mods/gen8/pokedex.js +1 -1
  14. package/build/cjs/data/mods/gen8/pokedex.js.map +1 -1
  15. package/build/cjs/data/moves.js +32 -23
  16. package/build/cjs/data/moves.js.map +1 -1
  17. package/build/cjs/data/pokedex.js +6 -6
  18. package/build/cjs/data/pokedex.js.map +1 -1
  19. package/build/cjs/data/rulesets.js +12 -49
  20. package/build/cjs/data/rulesets.js.map +1 -1
  21. package/build/cjs/data/text/abilities.js +5 -4
  22. package/build/cjs/data/text/abilities.js.map +1 -1
  23. package/build/cjs/data/text/moves.js +10 -4
  24. package/build/cjs/data/text/moves.js.map +1 -1
  25. package/build/cjs/sim/battle-actions.js +11 -10
  26. package/build/cjs/sim/battle-actions.js.map +1 -1
  27. package/build/cjs/sim/battle-queue.js +0 -1
  28. package/build/cjs/sim/battle-queue.js.map +1 -1
  29. package/build/cjs/sim/battle.js +1 -16
  30. package/build/cjs/sim/battle.js.map +1 -1
  31. package/build/cjs/sim/dex-moves.js +2 -1
  32. package/build/cjs/sim/dex-moves.js.map +1 -1
  33. package/build/cjs/sim/pokemon.js +20 -4
  34. package/build/cjs/sim/pokemon.js.map +1 -1
  35. package/build/cjs/sim/prng.js +1 -103
  36. package/build/cjs/sim/prng.js.map +1 -1
  37. package/build/cjs/sim/side.js +0 -1
  38. package/build/cjs/sim/side.js.map +1 -1
  39. package/build/cjs/sim/team-validator.js +1 -1
  40. package/build/cjs/sim/team-validator.js.map +1 -1
  41. package/build/esm/config/formats.mjs +32 -26
  42. package/build/esm/config/formats.mjs.map +1 -1
  43. package/build/esm/data/abilities.mjs +17 -19
  44. package/build/esm/data/abilities.mjs.map +1 -1
  45. package/build/esm/data/aliases.mjs +1 -1
  46. package/build/esm/data/conditions.mjs +1 -1
  47. package/build/esm/data/formats-data.mjs +27 -15
  48. package/build/esm/data/formats-data.mjs.map +1 -1
  49. package/build/esm/data/index.mjs +1 -1
  50. package/build/esm/data/items.mjs +1 -1
  51. package/build/esm/data/learnsets.mjs +1 -1
  52. package/build/esm/data/mods/gen1/conditions.mjs +1 -1
  53. package/build/esm/data/mods/gen1/formats-data.mjs +1 -1
  54. package/build/esm/data/mods/gen1/index.mjs +1 -1
  55. package/build/esm/data/mods/gen1/moves.mjs +10 -2
  56. package/build/esm/data/mods/gen1/moves.mjs.map +1 -1
  57. package/build/esm/data/mods/gen1/pokedex.mjs +1 -1
  58. package/build/esm/data/mods/gen1/rulesets.mjs +1 -1
  59. package/build/esm/data/mods/gen1/scripts.mjs +16 -2
  60. package/build/esm/data/mods/gen1/scripts.mjs.map +1 -1
  61. package/build/esm/data/mods/gen1/typechart.mjs +1 -1
  62. package/build/esm/data/mods/gen2/conditions.mjs +1 -1
  63. package/build/esm/data/mods/gen2/formats-data.mjs +1 -1
  64. package/build/esm/data/mods/gen2/index.mjs +1 -1
  65. package/build/esm/data/mods/gen2/items.mjs +1 -1
  66. package/build/esm/data/mods/gen2/learnsets.mjs +1 -1
  67. package/build/esm/data/mods/gen2/moves.mjs +1 -1
  68. package/build/esm/data/mods/gen2/pokedex.mjs +1 -1
  69. package/build/esm/data/mods/gen2/rulesets.mjs +1 -1
  70. package/build/esm/data/mods/gen2/scripts.mjs +1 -1
  71. package/build/esm/data/mods/gen2/typechart.mjs +1 -1
  72. package/build/esm/data/mods/gen3/abilities.mjs +1 -1
  73. package/build/esm/data/mods/gen3/conditions.mjs +1 -1
  74. package/build/esm/data/mods/gen3/formats-data.mjs +1 -1
  75. package/build/esm/data/mods/gen3/index.mjs +1 -1
  76. package/build/esm/data/mods/gen3/items.mjs +1 -1
  77. package/build/esm/data/mods/gen3/moves.mjs +1 -1
  78. package/build/esm/data/mods/gen3/rulesets.mjs +1 -1
  79. package/build/esm/data/mods/gen3/scripts.mjs +1 -1
  80. package/build/esm/data/mods/gen4/abilities.mjs +1 -1
  81. package/build/esm/data/mods/gen4/conditions.mjs +1 -1
  82. package/build/esm/data/mods/gen4/formats-data.mjs +1 -1
  83. package/build/esm/data/mods/gen4/index.mjs +1 -1
  84. package/build/esm/data/mods/gen4/items.mjs +1 -1
  85. package/build/esm/data/mods/gen4/moves.mjs +1 -1
  86. package/build/esm/data/mods/gen4/pokedex.mjs +1 -1
  87. package/build/esm/data/mods/gen4/rulesets.mjs +1 -1
  88. package/build/esm/data/mods/gen4/scripts.mjs +1 -1
  89. package/build/esm/data/mods/gen5/abilities.mjs +1 -1
  90. package/build/esm/data/mods/gen5/conditions.mjs +1 -1
  91. package/build/esm/data/mods/gen5/formats-data.mjs +1 -1
  92. package/build/esm/data/mods/gen5/index.mjs +1 -1
  93. package/build/esm/data/mods/gen5/items.mjs +1 -1
  94. package/build/esm/data/mods/gen5/moves.mjs +1 -1
  95. package/build/esm/data/mods/gen5/pokedex.mjs +1 -1
  96. package/build/esm/data/mods/gen5/rulesets.mjs +1 -1
  97. package/build/esm/data/mods/gen5/scripts.mjs +1 -1
  98. package/build/esm/data/mods/gen5/typechart.mjs +1 -1
  99. package/build/esm/data/mods/gen6/abilities.mjs +1 -1
  100. package/build/esm/data/mods/gen6/conditions.mjs +1 -1
  101. package/build/esm/data/mods/gen6/formats-data.mjs +1 -1
  102. package/build/esm/data/mods/gen6/index.mjs +1 -1
  103. package/build/esm/data/mods/gen6/items.mjs +1 -1
  104. package/build/esm/data/mods/gen6/learnsets.mjs +1 -1
  105. package/build/esm/data/mods/gen6/moves.mjs +1 -1
  106. package/build/esm/data/mods/gen6/pokedex.mjs +1 -1
  107. package/build/esm/data/mods/gen6/scripts.mjs +1 -1
  108. package/build/esm/data/mods/gen6/typechart.mjs +1 -1
  109. package/build/esm/data/mods/gen7/abilities.mjs +1 -1
  110. package/build/esm/data/mods/gen7/formats-data.mjs +1 -1
  111. package/build/esm/data/mods/gen7/index.mjs +1 -1
  112. package/build/esm/data/mods/gen7/items.mjs +1 -1
  113. package/build/esm/data/mods/gen7/moves.mjs +1 -1
  114. package/build/esm/data/mods/gen7/pokedex.mjs +1 -1
  115. package/build/esm/data/mods/gen7/rulesets.mjs +1 -1
  116. package/build/esm/data/mods/gen7/scripts.mjs +1 -1
  117. package/build/esm/data/mods/gen8/abilities.mjs +1 -1
  118. package/build/esm/data/mods/gen8/formats-data.mjs +18 -2
  119. package/build/esm/data/mods/gen8/formats-data.mjs.map +1 -1
  120. package/build/esm/data/mods/gen8/index.mjs +1 -1
  121. package/build/esm/data/mods/gen8/moves.mjs +1 -1
  122. package/build/esm/data/mods/gen8/pokedex.mjs +2 -2
  123. package/build/esm/data/mods/gen8/pokedex.mjs.map +1 -1
  124. package/build/esm/data/mods/gen8/rulesets.mjs +1 -1
  125. package/build/esm/data/mods/gen8/scripts.mjs +1 -1
  126. package/build/esm/data/moves.mjs +33 -24
  127. package/build/esm/data/moves.mjs.map +1 -1
  128. package/build/esm/data/natures.mjs +1 -1
  129. package/build/esm/data/pokedex.mjs +7 -7
  130. package/build/esm/data/pokedex.mjs.map +1 -1
  131. package/build/esm/data/rulesets.mjs +13 -50
  132. package/build/esm/data/rulesets.mjs.map +1 -1
  133. package/build/esm/data/scripts.mjs +1 -1
  134. package/build/esm/data/tags.mjs +1 -1
  135. package/build/esm/data/text/abilities.mjs +6 -5
  136. package/build/esm/data/text/abilities.mjs.map +1 -1
  137. package/build/esm/data/text/default.mjs +1 -1
  138. package/build/esm/data/text/items.mjs +1 -1
  139. package/build/esm/data/text/moves.mjs +11 -5
  140. package/build/esm/data/text/moves.mjs.map +1 -1
  141. package/build/esm/data/typechart.mjs +1 -1
  142. package/build/esm/lib/index.mjs +1 -1
  143. package/build/esm/lib/streams.mjs +1 -1
  144. package/build/esm/lib/utils.mjs +1 -1
  145. package/build/esm/sim/battle-actions.mjs +12 -11
  146. package/build/esm/sim/battle-actions.mjs.map +1 -1
  147. package/build/esm/sim/battle-queue.mjs +1 -2
  148. package/build/esm/sim/battle-queue.mjs.map +1 -1
  149. package/build/esm/sim/battle-stream.mjs +1 -1
  150. package/build/esm/sim/battle.mjs +2 -17
  151. package/build/esm/sim/battle.mjs.map +1 -1
  152. package/build/esm/sim/dex-abilities.mjs +1 -1
  153. package/build/esm/sim/dex-conditions.mjs +1 -1
  154. package/build/esm/sim/dex-data.mjs +1 -1
  155. package/build/esm/sim/dex-formats.mjs +1 -1
  156. package/build/esm/sim/dex-items.mjs +1 -1
  157. package/build/esm/sim/dex-moves.mjs +3 -2
  158. package/build/esm/sim/dex-moves.mjs.map +1 -1
  159. package/build/esm/sim/dex-species.mjs +1 -1
  160. package/build/esm/sim/dex.mjs +1 -1
  161. package/build/esm/sim/exported-global-types.mjs +1 -1
  162. package/build/esm/sim/field.mjs +1 -1
  163. package/build/esm/sim/global-types.mjs +1 -1
  164. package/build/esm/sim/index.mjs +1 -1
  165. package/build/esm/sim/pokemon.mjs +21 -5
  166. package/build/esm/sim/pokemon.mjs.map +1 -1
  167. package/build/esm/sim/prng.mjs +2 -104
  168. package/build/esm/sim/prng.mjs.map +1 -1
  169. package/build/esm/sim/side.mjs +1 -2
  170. package/build/esm/sim/side.mjs.map +1 -1
  171. package/build/esm/sim/state.mjs +1 -1
  172. package/build/esm/sim/team-validator.mjs +2 -2
  173. package/build/esm/sim/team-validator.mjs.map +1 -1
  174. package/build/esm/sim/teams.mjs +1 -1
  175. package/build/esm/sim/tools/exhaustive-runner.mjs +1 -1
  176. package/build/esm/sim/tools/index.mjs +1 -1
  177. package/build/esm/sim/tools/random-player-ai.mjs +1 -1
  178. package/build/esm/sim/tools/runner.mjs +1 -1
  179. package/build/types/sim/exported-global-types.d.ts +1 -0
  180. package/build/types/sim/global-types.d.ts +1 -0
  181. package/build/types/sim/pokemon.d.ts +1 -3
  182. package/package.json +1 -1
@@ -58,7 +58,7 @@ exports.Pokedex = {
58
58
  },
59
59
  decidueyehisui: {
60
60
  inherit: true,
61
- abilities: { 0: "Overgrow", H: "Scrappy" },
61
+ abilities: { 0: "Overgrow", H: "Long Reach" },
62
62
  },
63
63
  zacian: {
64
64
  inherit: true,
@@ -1 +1 @@
1
- {"version":3,"file":"pokedex.js","sourceRoot":"","sources":["../../../../../data/mods/gen8/pokedex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pokedex.js","sourceRoot":"","sources":["../../../../../data/mods/gen8/pokedex.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAqC;IACxD,cAAc,EAAE;QACf,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAC;KAC7D;IACD,aAAa,EAAE;QACd,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAC;KAC7D;IACD,eAAe,EAAE;QAChB,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAC;KACxC;IACD,YAAY,EAAE;QACb,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,cAAc,EAAC;KAC/D;IACD,OAAO,EAAE;QACR,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAC;KAC3C;IACD,SAAS,EAAE;QACV,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAC;KACnE;IACD,aAAa,EAAE;QACd,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC;KAC3C;IACD,YAAY,EAAE;QACb,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAC;KACnE;IACD,aAAa,EAAE;QACd,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,SAAS,EAAC;KAC1D;IACD,MAAM,EAAE;QACP,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,CAAC,UAAU,CAAC;KAClB;IACD,aAAa,EAAE;QACd,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,eAAe,EAAC;QACjD,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;KACnB;IACD,YAAY,EAAE;QACb,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAC;KACvD;IACD,WAAW,EAAE;QACZ,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAC;KACvD;IACD,cAAc,EAAE;QACf,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAC;KAC3C;IACD,MAAM,EAAE;QACP,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAC;KACpE;IACD,aAAa,EAAE;QACd,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAC;KACpE;IACD,SAAS,EAAE;QACV,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAC;KACpE;IACD,gBAAgB,EAAE;QACjB,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAC;KACpE;IACD,KAAK,EAAE;QACN,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAC,CAAC,EAAE,aAAa,EAAC;KAC7B;IACD,OAAO,EAAE;QACR,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAC;QACjE,SAAS,EAAE,EAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,WAAW,EAAC;KACzD;IACD,WAAW,EAAE;QACZ,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,cAAc,EAAC;KAC/D;IACD,YAAY,EAAE;QACb,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,cAAc,EAAC;KAC/D;IACD,QAAQ,EAAE;QACT,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,cAAc,EAAC;KAC7C;IACD,QAAQ,EAAE;QACT,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAC;KACvC;CACD,CAAC"}
@@ -2375,11 +2375,10 @@ exports.Moves = {
2375
2375
  pp: 10,
2376
2376
  priority: 0,
2377
2377
  flags: {},
2378
- onTry(source) {
2379
- return !!this.canSwitch(source.side);
2380
- },
2381
- selfSwitch: true,
2378
+ // TODO show prepare message before the "POKEMON used MOVE!" message
2379
+ // This happens even before sleep shows its "POKEMON is fast asleep." message
2382
2380
  weather: 'snow',
2381
+ selfSwitch: true,
2383
2382
  secondary: null,
2384
2383
  target: "all",
2385
2384
  type: "Ice",
@@ -11194,6 +11193,9 @@ exports.Moves = {
11194
11193
  pp: 5,
11195
11194
  priority: 0,
11196
11195
  flags: { protect: 1, mirror: 1 },
11196
+ onHit() {
11197
+ this.add('-fieldactivate', 'move: Make It Rain');
11198
+ },
11197
11199
  self: {
11198
11200
  boosts: {
11199
11201
  spa: -1,
@@ -15289,6 +15291,9 @@ exports.Moves = {
15289
15291
  onHit(target, source) {
15290
15292
  if (source.species && (source.species.num === 493 || source.species.num === 773))
15291
15293
  return false;
15294
+ if (source.terastallized)
15295
+ return false;
15296
+ const oldApparentType = source.apparentType;
15292
15297
  let newBaseTypes = target.getTypes(true).filter(type => type !== '???');
15293
15298
  if (!newBaseTypes.length) {
15294
15299
  if (target.addedType) {
@@ -15302,6 +15307,8 @@ exports.Moves = {
15302
15307
  source.setType(newBaseTypes);
15303
15308
  source.addedType = target.addedType;
15304
15309
  source.knownType = target.isAlly(source) && target.knownType;
15310
+ if (!source.knownType)
15311
+ source.apparentType = oldApparentType;
15305
15312
  },
15306
15313
  secondary: null,
15307
15314
  target: "normal",
@@ -16077,14 +16084,12 @@ exports.Moves = {
16077
16084
  flags: { protect: 1, mirror: 1 },
16078
16085
  volatileStatus: 'saltcure',
16079
16086
  condition: {
16080
- duration: 0,
16081
- onResidualOrder: 13,
16082
16087
  onStart(pokemon, source) {
16083
- this.add('-activate', pokemon, 'move: Salt Cure', '[of] ' + source);
16084
- this.effectState.boundDivisor = pokemon.hasType(['Water', 'Steel']) ? 4 : 8;
16088
+ this.add('-start', pokemon, 'move: Salt Cure', '[of] ' + source);
16085
16089
  },
16090
+ onResidualOrder: 13,
16086
16091
  onResidual(pokemon) {
16087
- this.damage(pokemon.baseMaxhp / this.effectState.boundDivisor);
16092
+ this.damage(pokemon.baseMaxhp / (pokemon.hasType(['Water', 'Steel']) ? 4 : 8));
16088
16093
  },
16089
16094
  onEnd(pokemon) {
16090
16095
  this.add('-end', pokemon, 'move: Salt Cure');
@@ -16646,14 +16651,18 @@ exports.Moves = {
16646
16651
  priority: 0,
16647
16652
  flags: {},
16648
16653
  volatileStatus: 'substitute',
16649
- onTryHit(target) {
16650
- if (target.volatiles['substitute'] || !this.canSwitch(target.side)) {
16651
- this.add('-fail', target, 'move: Shed Tail');
16652
- return null;
16654
+ onTryHit(source) {
16655
+ if (!this.canSwitch(source.side)) {
16656
+ this.add('-fail', source);
16657
+ return this.NOT_FAIL;
16653
16658
  }
16654
- if (target.hp <= target.maxhp / 2 || target.maxhp === 1) { // Shedinja clause
16655
- this.add('-fail', target, 'move: Shed Tail', '[weak]');
16656
- return null;
16659
+ if (source.volatiles['substitute']) {
16660
+ this.add('-fail', source, 'move: Shed Tail');
16661
+ return this.NOT_FAIL;
16662
+ }
16663
+ if (source.hp <= source.maxhp / 2 || source.maxhp === 1) { // Shedinja clause
16664
+ this.add('-fail', source, 'move: Shed Tail', '[weak]');
16665
+ return this.NOT_FAIL;
16657
16666
  }
16658
16667
  },
16659
16668
  onHit(target) {
@@ -18918,14 +18927,14 @@ exports.Moves = {
18918
18927
  priority: 0,
18919
18928
  flags: { snatch: 1, nonsky: 1 },
18920
18929
  volatileStatus: 'substitute',
18921
- onTryHit(target) {
18922
- if (target.volatiles['substitute']) {
18923
- this.add('-fail', target, 'move: Substitute');
18924
- return null;
18930
+ onTryHit(source) {
18931
+ if (source.volatiles['substitute']) {
18932
+ this.add('-fail', source, 'move: Substitute');
18933
+ return this.NOT_FAIL;
18925
18934
  }
18926
- if (target.hp <= target.maxhp / 4 || target.maxhp === 1) { // Shedinja clause
18927
- this.add('-fail', target, 'move: Substitute', '[weak]');
18928
- return null;
18935
+ if (source.hp <= source.maxhp / 4 || source.maxhp === 1) { // Shedinja clause
18936
+ this.add('-fail', source, 'move: Substitute', '[weak]');
18937
+ return this.NOT_FAIL;
18929
18938
  }
18930
18939
  },
18931
18940
  onHit(target) {