Spaces:
Paused
Paused
| export const Moves: import('../../../sim/dex-moves').ModdedMoveDataTable = { | |
| // Belly Drum no longer boosts attack by 2 stages if under 50% health. | |
| bellydrum: { | |
| inherit: true, | |
| onHit(target) { | |
| if (target.boosts.atk >= 6 || target.hp <= target.maxhp / 2) { | |
| return false; | |
| } | |
| this.directDamage(target.maxhp / 2); | |
| const originalStage = target.boosts.atk; | |
| let currentStage = originalStage; | |
| let boosts = 0; | |
| let loopStage = 0; | |
| while (currentStage < 6) { | |
| loopStage = currentStage; | |
| currentStage++; | |
| if (currentStage < 6) currentStage++; | |
| target.boosts.atk = loopStage; | |
| if (target.getStat('atk', false, true) < 999) { | |
| target.boosts.atk = currentStage; | |
| continue; | |
| } | |
| target.boosts.atk = currentStage - 1; | |
| break; | |
| } | |
| boosts = target.boosts.atk - originalStage; | |
| target.boosts.atk = originalStage; | |
| this.boost({ atk: boosts }); | |
| }, | |
| }, | |
| destinybond: { | |
| inherit: true, | |
| onPrepareHit(pokemon) { | |
| if (pokemon.side.pokemonLeft === 1) { | |
| this.hint("In Pokemon Stadium 2, Destiny Bond fails if it is being used by your last Pokemon."); | |
| return false; | |
| } | |
| }, | |
| }, | |
| /** | |
| * In Stadium 2, moves which affect the stat stages of a Pokemon, such as moves which boost ones own stats, | |
| * lower the targets stats, or Haze, causes the afflicted stat to be re-calculated without factoring in | |
| * status aliments, thus if a Pokemon is burned or paralyzed and either active Pokemon uses Haze, then their | |
| * attack and speed are re-calculated while ignoring their status ailments, so their attack would go from 50% to normal | |
| */ | |
| haze: { | |
| inherit: true, | |
| onHitField() { | |
| this.add('-clearallboost'); | |
| for (const pokemon of this.getAllActive()) { | |
| pokemon.clearBoosts(); | |
| pokemon.removeVolatile('brnattackdrop'); | |
| pokemon.removeVolatile('parspeeddrop'); | |
| } | |
| }, | |
| }, | |
| perishsong: { | |
| inherit: true, | |
| onPrepareHit(pokemon) { | |
| if (pokemon.side.pokemonLeft === 1) { | |
| this.hint("In Pokemon Stadium 2, Perish Song fails if it is being used by your last Pokemon."); | |
| return false; | |
| } | |
| }, | |
| }, | |
| }; | |