@pkmn/sim 0.7.49 → 0.7.50

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 (40) hide show
  1. package/build/cjs/config/formats.js +16 -57
  2. package/build/cjs/config/formats.js.map +1 -1
  3. package/build/cjs/data/formats-data.js +11 -11
  4. package/build/cjs/data/formats-data.js.map +1 -1
  5. package/build/cjs/data/items.js +1 -1
  6. package/build/cjs/data/items.js.map +1 -1
  7. package/build/cjs/data/moves.js +17 -17
  8. package/build/cjs/data/moves.js.map +1 -1
  9. package/build/cjs/data/text/moves.js +6 -6
  10. package/build/cjs/data/text/moves.js.map +1 -1
  11. package/build/cjs/sim/battle-actions.js +7 -0
  12. package/build/cjs/sim/battle-actions.js.map +1 -1
  13. package/build/cjs/sim/battle.js +5 -1
  14. package/build/cjs/sim/battle.js.map +1 -1
  15. package/build/cjs/sim/dex-moves.js.map +1 -1
  16. package/build/cjs/sim/pokemon.js +4 -0
  17. package/build/cjs/sim/pokemon.js.map +1 -1
  18. package/build/cjs/sim/team-validator.js +2 -1
  19. package/build/cjs/sim/team-validator.js.map +1 -1
  20. package/build/esm/config/formats.mjs +16 -57
  21. package/build/esm/config/formats.mjs.map +1 -1
  22. package/build/esm/data/formats-data.mjs +11 -11
  23. package/build/esm/data/formats-data.mjs.map +1 -1
  24. package/build/esm/data/items.mjs +1 -1
  25. package/build/esm/data/items.mjs.map +1 -1
  26. package/build/esm/data/moves.mjs +17 -17
  27. package/build/esm/data/moves.mjs.map +1 -1
  28. package/build/esm/data/text/moves.mjs +6 -6
  29. package/build/esm/data/text/moves.mjs.map +1 -1
  30. package/build/esm/sim/battle-actions.mjs +7 -0
  31. package/build/esm/sim/battle-actions.mjs.map +1 -1
  32. package/build/esm/sim/battle.mjs +5 -1
  33. package/build/esm/sim/battle.mjs.map +1 -1
  34. package/build/esm/sim/dex-moves.mjs.map +1 -1
  35. package/build/esm/sim/pokemon.mjs +4 -0
  36. package/build/esm/sim/pokemon.mjs.map +1 -1
  37. package/build/esm/sim/team-validator.mjs +2 -1
  38. package/build/esm/sim/team-validator.mjs.map +1 -1
  39. package/build/types/sim/dex-moves.d.ts +1 -0
  40. package/package.json +1 -1
@@ -6722,21 +6722,7 @@ export const Moves = {
6722
6722
  name: "Gigaton Hammer",
6723
6723
  pp: 5,
6724
6724
  priority: 0,
6725
- flags: { protect: 1, mirror: 1 },
6726
- onDisableMove(pokemon) {
6727
- if (pokemon.lastMove?.id === 'gigatonhammer')
6728
- pokemon.disableMove('gigatonhammer');
6729
- },
6730
- beforeMoveCallback(pokemon) {
6731
- if (pokemon.lastMove?.id === 'gigatonhammer')
6732
- pokemon.addVolatile('gigatonhammer');
6733
- },
6734
- onAfterMove(pokemon) {
6735
- if (pokemon.removeVolatile('gigatonhammer')) {
6736
- this.add('-hint', "Some effects can force a Pokemon to use Gigaton Hammer again in a row.");
6737
- }
6738
- },
6739
- condition: {},
6725
+ flags: { protect: 1, mirror: 1, cantusetwice: 1 },
6740
6726
  secondary: null,
6741
6727
  target: "normal",
6742
6728
  type: "Steel",
@@ -13992,10 +13978,24 @@ export const Moves = {
13992
13978
  move.infiltrates = true;
13993
13979
  }
13994
13980
  },
13995
- onHit(target, source) {
13981
+ onTryMove(source, target, move) {
13982
+ if (source.isAlly(target) && source.volatiles['healblock']) {
13983
+ this.attrLastMove('[still]');
13984
+ this.add('cant', source, 'move: Heal Block', move);
13985
+ return false;
13986
+ }
13987
+ },
13988
+ onHit(target, source, move) {
13996
13989
  if (source.isAlly(target)) {
13997
13990
  if (!this.heal(Math.floor(target.baseMaxhp * 0.5))) {
13998
- this.add('-immune', target);
13991
+ if (target.volatiles['healblock'] && target.hp !== target.maxhp) {
13992
+ this.attrLastMove('[still]');
13993
+ // Wrong error message, correct one not supported yet
13994
+ this.add('cant', source, 'move: Heal Block', move);
13995
+ }
13996
+ else {
13997
+ this.add('-immune', target);
13998
+ }
13999
13999
  return this.NOT_FAIL;
14000
14000
  }
14001
14001
  }