Jofthomas's picture
Jofthomas HF staff
Upload 4781 files
5c2ed06 verified
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;
}
},
},
};