*/
exports.BattleAbilities = {
"adaptability": {
desc: "This Pokemon's attacks that receive STAB (Same Type Attack Bonus) are increased from 50% to 100%.",
shortDesc: "This Pokemon's same-type attack bonus (STAB) is increased from 1.5x to 2x.",
onModifyMove: function (move) {
move.stab = 2;
},
id: "adaptability",
name: "Adaptability",
rating: 3.5,
num: 91
},
"aftermath": {
desc: "If a contact move knocks out this Pokemon, the opponent receives damage equal to one-fourth of its max HP.",
shortDesc: "If this Pokemon is KOed with a contact move, that move's user loses 1/4 its max HP.",
id: "aftermath",
name: "Aftermath",
onAfterDamageOrder: 1,
onAfterDamage: function (damage, target, source, move) {
if (source && source !== target && move && move.isContact && !target.hp) {
this.damage(source.maxhp / 4, source, target, null, true);
}
},
rating: 3,
num: 106
},
"aerilate": {
desc: "Turns all of this Pokemon's Normal-typed attacks into Flying-type and deal 1.3x damage. Does not affect Hidden Power.",
shortDesc: "This Pokemon's Normal moves become Flying-type and do 1.3x damage.",
onModifyMove: function (move, pokemon) {
if (move.type === 'Normal' && move.id !== 'hiddenpower') {
move.type = 'Flying';
pokemon.addVolatile('aerilate');
}
},
effect: {
duration: 1,
onBasePowerPriority: 8,
onBasePower: function (basePower, pokemon, target, move) {
return this.chainModify([0x14CD, 0x1000]);
}
},
id: "aerilate",
name: "Aerilate",
rating: 3,
num: 185
},
"airlock": {
desc: "While this Pokemon is active, all weather conditions and their effects are disabled.",
shortDesc: "While this Pokemon is active, all weather conditions and their effects are disabled.",
onStart: function (pokemon) {
this.add('-ability', pokemon, 'Air Lock');
},
onAnyModifyPokemon: function (pokemon) {
pokemon.ignore['WeatherTarget'] = true;
},
onAnyTryWeather: false,
id: "airlock",
name: "Air Lock",
rating: 3,
num: 76
},
"analytic": {
desc: "This Pokemon's attacks do 1.3x damage if it is the last to move in a turn.",
shortDesc: "If the user moves last, the power of that move is increased by 30%.",
onBasePowerPriority: 8,
onBasePower: function (basePower, attacker, defender, move) {
if (!this.willMove(defender)) {
this.debug('Analytic boost');
return this.chainModify([0x14CD, 0x1000]); // The Analytic modifier is slightly higher than the normal 1.3 (0x14CC)
}
},
id: "analytic",
name: "Analytic",
rating: 1,
num: 148
},
"angerpoint": {
desc: "If this Pokemon, and not its Substitute, is struck by a Critical Hit, its Attack is boosted to six stages.",
shortDesc: "If this Pokemon is hit by a critical hit, its Attack is boosted by 12.",
onCriticalHit: function (target) {
if (!target.volatiles['substitute']) {
target.setBoost({atk: 6});
this.add('-setboost', target, 'atk', 12, '[from] ability: Anger Point');
}
},
id: "angerpoint",
name: "Anger Point",
rating: 2,
num: 83
},
"anticipation": {
desc: "A warning is displayed if an opposing Pokemon has the moves Fissure, Guillotine, Horn Drill, Sheer Cold, or any attacking move from a type that is considered super effective against this Pokemon (including Counter, Mirror Coat, and Metal Burst). Hidden Power, Judgment, Natural Gift and Weather Ball are considered Normal-type moves. Flying Press is considered a Fighting-type move.",
shortDesc: "On switch-in, this Pokemon shudders if any foe has a super effective or OHKO move.",
onStart: function (pokemon) {
var targets = pokemon.side.foe.active;
for (var i = 0; i < targets.length; i++) {
if (!targets || targets.fainted) continue;
for (var j = 0; j < targets.moveset.length; j++) {
var move = this.getMove(targets.moveset[j].move);
if (move.category !== 'Status' && (this.getImmunity(move.type, pokemon) && this.getEffectiveness(move.type, pokemon) > 0 || move.ohko)) {
this.add('-activate', pokemon, 'ability: Anticipation');
return;
}
}
}
},
id: "anticipation",
name: "Anticipation",
rating: 1,
num: 107
},
"arenatrap": {
desc: "When this Pokemon enters the field, its opponents cannot switch or flee the battle unless they are part Flying-type, have the Levitate ability, are holding Shed Shell, or they use the moves Baton Pass or U-Turn. Flying-type and Levitate Pokemon cannot escape if they are holding Iron Ball or Gravity is in effect. Levitate Pokemon also cannot escape if their ability is disabled through other means, such as Skill Swap or Gastro Acid.",
shortDesc: "Prevents foes from switching out normally unless they have immunity to Ground.",
onFoeModifyPokemon: function (pokemon) {
if (!this.isAdjacent(pokemon, this.effectData.target)) return;
if (!pokemon.runImmunity('Ground', false)) return;
if (!pokemon.hasType('Flying') || pokemon.hasType('ironball') || this.getPseudoWeather('gravity') || pokemon.volatiles['ingrain']) {
pokemon.tryTrap(true);
}
},
onFoeMaybeTrapPokemon: function (pokemon, source) {
if (!source) source = this.effectData.target;
if (!this.isAdjacent(pokemon, source)) return;
if (!pokemon.runImmunity('Ground', false)) return;
if (!pokemon.hasType('Flying') || pokemon.hasType('ironball') || this.getPseudoWeather('gravity') || pokemon.volatiles['ingrain']) {
pokemon.maybeTrapped = true;
}
},
id: "arenatrap",
name: "Arena Trap",
rating: 5,
num: 71
},