mirror of
https://github.com/smogon/pokemon-showdown.git
synced 2026-05-17 18:51:43 -05:00
46 lines
1.1 KiB
TypeScript
46 lines
1.1 KiB
TypeScript
export const Conditions: {[k: string]: ModdedConditionData} = {
|
|
brn: {
|
|
inherit: true,
|
|
onResidual(pokemon) {
|
|
this.damage(pokemon.baseMaxhp / 8);
|
|
},
|
|
},
|
|
par: {
|
|
inherit: true,
|
|
onModifySpe(spe, pokemon) {
|
|
// Paralysis occurs after all other Speed modifiers, so evaluate all modifiers up to this point first
|
|
spe = this.finalModify(spe);
|
|
if (!pokemon.hasAbility('quickfeet')) {
|
|
spe = Math.floor(spe * 25 / 100);
|
|
}
|
|
return spe;
|
|
},
|
|
},
|
|
confusion: {
|
|
inherit: true,
|
|
onBeforeMove(pokemon) {
|
|
pokemon.volatiles['confusion'].time--;
|
|
if (!pokemon.volatiles['confusion'].time) {
|
|
pokemon.removeVolatile('confusion');
|
|
return;
|
|
}
|
|
this.add('-activate', pokemon, 'confusion');
|
|
if (this.randomChance(1, 2)) {
|
|
return;
|
|
}
|
|
const damage = this.actions.getConfusionDamage(pokemon, 40);
|
|
if (typeof damage !== 'number') throw new Error("Confusion damage not dealt");
|
|
this.damage(damage, pokemon, pokemon, {
|
|
id: 'confused',
|
|
effectType: 'Move',
|
|
type: '???',
|
|
} as ActiveMove);
|
|
return false;
|
|
},
|
|
},
|
|
choicelock: {
|
|
inherit: true,
|
|
onBeforeMove() {},
|
|
},
|
|
};
|