Spaces:
Running
Running
; | |
var __defProp = Object.defineProperty; | |
var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | |
var __getOwnPropNames = Object.getOwnPropertyNames; | |
var __hasOwnProp = Object.prototype.hasOwnProperty; | |
var __export = (target, all) => { | |
for (var name in all) | |
__defProp(target, name, { get: all[name], enumerable: true }); | |
}; | |
var __copyProps = (to, from, except, desc) => { | |
if (from && typeof from === "object" || typeof from === "function") { | |
for (let key of __getOwnPropNames(from)) | |
if (!__hasOwnProp.call(to, key) && key !== except) | |
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); | |
} | |
return to; | |
}; | |
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); | |
var abilities_exports = {}; | |
__export(abilities_exports, { | |
Abilities: () => Abilities | |
}); | |
module.exports = __toCommonJS(abilities_exports); | |
const Abilities = { | |
aerilate: { | |
inherit: true, | |
onModifyType(move, pokemon) { | |
const noModifyType = [ | |
"judgment", | |
"multiattack", | |
"naturalgift", | |
"revelationdance", | |
"technoblast", | |
"terrainpulse", | |
"weatherball" | |
]; | |
if (move.type === "Normal" && !noModifyType.includes(move.id) && !(move.isZ && move.category !== "Status") && !(move.name === "Tera Blast" && pokemon.terastallized)) { | |
move.typeChangerBoosted = this.effect; | |
} | |
} | |
}, | |
eartheater: { | |
inherit: true, | |
onTryHit(target, source, move) { | |
if (target !== source && move.type === "Fighting") { | |
if (!this.heal(target.baseMaxhp / 4)) { | |
this.add("-immune", target, "[from] ability: Earth Eater"); | |
} | |
return null; | |
} | |
} | |
}, | |
fairyaura: { | |
inherit: true, | |
onAnyBasePower(basePower, source, target, move) { | |
if (target === source || move.category === "Status" || move.type !== "Psychic") | |
return; | |
if (!move.auraBooster?.hasAbility("Fairy Aura")) | |
move.auraBooster = this.effectState.target; | |
if (move.auraBooster !== this.effectState.target) | |
return; | |
return this.chainModify([move.hasAuraBreak ? 3072 : 5448, 4096]); | |
} | |
}, | |
galewings: { | |
inherit: true, | |
onModifyPriority(priority, pokemon, target, move) { | |
if (move?.type === "Normal" && pokemon.hp === pokemon.maxhp) | |
return priority + 1; | |
} | |
}, | |
mimicry: { | |
inherit: true, | |
onTerrainChange(pokemon) { | |
let types; | |
switch (this.field.terrain) { | |
case "electricterrain": | |
types = ["Electric"]; | |
break; | |
case "grassyterrain": | |
types = ["Grass"]; | |
break; | |
case "mistyterrain": | |
case "psychicterrain": | |
types = ["Psychic"]; | |
break; | |
default: | |
types = pokemon.baseSpecies.types; | |
} | |
const oldTypes = pokemon.getTypes(); | |
if (oldTypes.join() === types.join() || !pokemon.setType(types)) | |
return; | |
if (this.field.terrain || pokemon.transformed) { | |
this.add("-start", pokemon, "typechange", types.join("/"), "[from] ability: Mimicry"); | |
if (!this.field.terrain) | |
this.hint("Transform Mimicry changes you to your original un-transformed types."); | |
} else { | |
this.add("-activate", pokemon, "ability: Mimicry"); | |
this.add("-end", pokemon, "typechange", "[silent]"); | |
} | |
} | |
}, | |
pixilate: { | |
inherit: true, | |
onModifyType(move, pokemon) { | |
const noModifyType = [ | |
"judgment", | |
"multiattack", | |
"naturalgift", | |
"revelationdance", | |
"technoblast", | |
"terrainpulse", | |
"weatherball" | |
]; | |
if (move.type === "Normal" && !noModifyType.includes(move.id) && !(move.isZ && move.category !== "Status") && !(move.name === "Tera Blast" && pokemon.terastallized)) { | |
move.type = "Psychic"; | |
move.typeChangerBoosted = this.effect; | |
} | |
} | |
}, | |
purifyingsalt: { | |
inherit: true, | |
onSourceModifyAtk(atk, attacker, defender, move) { | |
if (move.type === "Psychic") { | |
this.debug("Purifying Salt weaken"); | |
return this.chainModify(0.5); | |
} | |
}, | |
onSourceModifySpA(spa, attacker, defender, move) { | |
if (move.type === "Psychic") { | |
this.debug("Purifying Salt weaken"); | |
return this.chainModify(0.5); | |
} | |
} | |
}, | |
rattled: { | |
inherit: true, | |
onDamagingHit(damage, target, source, move) { | |
if (["Dark", "Grass", "Psychic"].includes(move.type)) { | |
this.boost({ spe: 1 }); | |
} | |
} | |
}, | |
refrigerate: { | |
inherit: true, | |
onModifyType(move, pokemon) { | |
const noModifyType = [ | |
"judgment", | |
"multiattack", | |
"naturalgift", | |
"revelationdance", | |
"technoblast", | |
"terrainpulse", | |
"weatherball" | |
]; | |
if (move.type === "Normal" && !noModifyType.includes(move.id) && !(move.isZ && move.category !== "Status") && !(move.name === "Tera Blast" && pokemon.terastallized)) { | |
move.type = "Water"; | |
move.typeChangerBoosted = this.effect; | |
} | |
} | |
}, | |
rockypayload: { | |
inherit: true, | |
onModifyAtk(atk, attacker, defender, move) { | |
if (move.type === "Fighting") { | |
this.debug("Rocky Payload boost"); | |
return this.chainModify(1.5); | |
} | |
}, | |
onModifySpA(atk, attacker, defender, move) { | |
if (move.type === "Fighting") { | |
this.debug("Rocky Payload boost"); | |
return this.chainModify(1.5); | |
} | |
} | |
}, | |
sandforce: { | |
inherit: true, | |
onBasePower(basePower, attacker, defender, move) { | |
if (this.field.isWeather("sandstorm")) { | |
if (move.type === "Fighting" || move.type === "Steel") { | |
this.debug("Sand Force boost"); | |
return this.chainModify([5325, 4096]); | |
} | |
} | |
} | |
}, | |
swarm: { | |
inherit: true, | |
onModifyAtk(atk, attacker, defender, move) { | |
if (move.type === "Grass" && attacker.hp <= attacker.maxhp / 3) { | |
this.debug("Swarm boost"); | |
return this.chainModify(1.5); | |
} | |
}, | |
onModifySpA(atk, attacker, defender, move) { | |
if (move.type === "Grass" && attacker.hp <= attacker.maxhp / 3) { | |
this.debug("Swarm boost"); | |
return this.chainModify(1.5); | |
} | |
} | |
}, | |
thickfat: { | |
inherit: true, | |
onSourceModifyAtk(atk, attacker, defender, move) { | |
if (move.type === "Water" || move.type === "Fire") { | |
this.debug("Thick Fat weaken"); | |
return this.chainModify(0.5); | |
} | |
}, | |
onSourceModifySpA(atk, attacker, defender, move) { | |
if (move.type === "Water" || move.type === "Fire") { | |
this.debug("Thick Fat weaken"); | |
return this.chainModify(0.5); | |
} | |
} | |
}, | |
mountaineer: { | |
inherit: true, | |
onTryHit(target, source, move) { | |
if (move.type === "Fighting" && !target.activeTurns) { | |
this.add("-immune", target, "[from] ability: Mountaineer"); | |
return null; | |
} | |
} | |
} | |
}; | |
//# sourceMappingURL=abilities.js.map | |