Pokemon_server / dist /data /mods /gen4 /abilities.js.map
Jofthomas's picture
Jofthomas HF staff
Upload 4781 files
5c2ed06 verified
{
"version": 3,
"sources": ["../../../../data/mods/gen4/abilities.ts"],
"sourcesContent": ["export const Abilities: import('../../../sim/dex-abilities').ModdedAbilityDataTable = {\n\tairlock: {\n\t\tinherit: true,\n\t\tonSwitchIn() {},\n\t\tonStart(pokemon) {\n\t\t\tpokemon.abilityState.ending = false;\n\t\t},\n\t},\n\tangerpoint: {\n\t\tinherit: true,\n\t\tonAfterSubDamage(damage, target, source, move) {\n\t\t\tif (!target.hp) return;\n\t\t\tif (move && move.effectType === 'Move' && target.getMoveHitData(move).crit) {\n\t\t\t\ttarget.setBoost({ atk: 6 });\n\t\t\t\tthis.add('-setboost', target, 'atk', 12, '[from] ability: Anger Point');\n\t\t\t}\n\t\t},\n\t\trating: 1.5,\n\t},\n\tbaddreams: {\n\t\tinherit: true,\n\t\tonResidualOrder: 10,\n\t\tonResidualSubOrder: 10,\n\t},\n\tblaze: {\n\t\tonBasePowerPriority: 2,\n\t\tonBasePower(basePower, attacker, defender, move) {\n\t\t\tif (move.type === 'Fire' && attacker.hp <= attacker.maxhp / 3) {\n\t\t\t\tthis.debug('Blaze boost');\n\t\t\t\treturn this.chainModify(1.5);\n\t\t\t}\n\t\t},\n\t\tname: \"Blaze\",\n\t\trating: 2,\n\t\tnum: 66,\n\t},\n\tcloudnine: {\n\t\tinherit: true,\n\t\tonSwitchIn() {},\n\t\tonStart(pokemon) {\n\t\t\tpokemon.abilityState.ending = false;\n\t\t},\n\t},\n\tcolorchange: {\n\t\tinherit: true,\n\t\tonDamagingHit(damage, target, source, move) {\n\t\t\tif (!damage || !target.hp) return;\n\t\t\tconst type = move.type;\n\t\t\tif (target.isActive && move.category !== 'Status' && type !== '???' && !target.hasType(type)) {\n\t\t\t\tif (!target.setType(type)) return false;\n\t\t\t\tthis.add('-start', target, 'typechange', type, '[from] ability: Color Change');\n\t\t\t}\n\t\t},\n\t\tonAfterMoveSecondary() {},\n\t},\n\tcompoundeyes: {\n\t\tonSourceModifyAccuracyPriority: 9,\n\t\tonSourceModifyAccuracy(accuracy) {\n\t\t\tif (typeof accuracy !== 'number') return;\n\t\t\tthis.debug('compoundeyes - enhancing accuracy');\n\t\t\treturn accuracy * 1.3;\n\t\t},\n\t\tinherit: true,\n\t},\n\tcutecharm: {\n\t\tinherit: true,\n\t\tonDamagingHit(damage, target, source, move) {\n\t\t\tif (damage && move.flags['contact']) {\n\t\t\t\tif (this.randomChance(3, 10)) {\n\t\t\t\t\tsource.addVolatile('attract', this.effectState.target);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\tdownload: {\n\t\tinherit: true,\n\t\tonStart(pokemon) {\n\t\t\tlet totaldef = 0;\n\t\t\tlet totalspd = 0;\n\t\t\tfor (const target of pokemon.foes()) {\n\t\t\t\tif (target.volatiles.substitute) continue;\n\t\t\t\ttotaldef += target.getStat('def', false, true);\n\t\t\t\ttotalspd += target.getStat('spd', false, true);\n\t\t\t}\n\t\t\tif (totaldef && totaldef >= totalspd) {\n\t\t\t\tthis.boost({ spa: 1 });\n\t\t\t} else if (totalspd) {\n\t\t\t\tthis.boost({ atk: 1 });\n\t\t\t}\n\t\t},\n\t},\n\teffectspore: {\n\t\tinherit: true,\n\t\tonDamagingHit(damage, target, source, move) {\n\t\t\tif (damage && move.flags['contact'] && !source.status) {\n\t\t\t\tconst r = this.random(100);\n\t\t\t\tif (r < 10) {\n\t\t\t\t\tsource.setStatus('slp', target);\n\t\t\t\t} else if (r < 20) {\n\t\t\t\t\tsource.setStatus('par', target);\n\t\t\t\t} else if (r < 30) {\n\t\t\t\t\tsource.setStatus('psn', target);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\tflamebody: {\n\t\tinherit: true,\n\t\tonDamagingHit(damage, target, source, move) {\n\t\t\tif (damage && move.flags['contact']) {\n\t\t\t\tif (this.randomChance(3, 10)) {\n\t\t\t\t\tsource.trySetStatus('brn', target);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\tflashfire: {\n\t\tinherit: true,\n\t\tonTryHit(target, source, move) {\n\t\t\tif (target !== source && move.type === 'Fire') {\n\t\t\t\tif (target.status === 'frz') {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!target.addVolatile('flashfire')) {\n\t\t\t\t\tthis.add('-immune', target, '[from] ability: Flash Fire');\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\tcondition: {\n\t\t\tnoCopy: true, // doesn't get copied by Baton Pass\n\t\t\tonStart(target) {\n\t\t\t\tthis.add('-start', target, 'ability: Flash Fire');\n\t\t\t},\n\t\t\tonModifyDamagePhase1(atk, attacker, defender, move) {\n\t\t\t\tif (move.type === 'Fire') {\n\t\t\t\t\tthis.debug('Flash Fire boost');\n\t\t\t\t\treturn this.chainModify(1.5);\n\t\t\t\t}\n\t\t\t},\n\t\t\tonEnd(target) {\n\t\t\t\tthis.add('-end', target, 'ability: Flash Fire', '[silent]');\n\t\t\t},\n\t\t},\n\t},\n\tflowergift: {\n\t\tinherit: true,\n\t\tonAllyModifyAtk(atk) {\n\t\t\tif (this.field.isWeather('sunnyday')) {\n\t\t\t\treturn this.chainModify(1.5);\n\t\t\t}\n\t\t},\n\t\tonAllyModifySpD(spd) {\n\t\t\tif (this.field.isWeather('sunnyday')) {\n\t\t\t\treturn this.chainModify(1.5);\n\t\t\t}\n\t\t},\n\t\tflags: { breakable: 1 },\n\t},\n\tforecast: {\n\t\tinherit: true,\n\t\tflags: { notrace: 1 },\n\t},\n\tforewarn: {\n\t\tinherit: true,\n\t\tonStart(pokemon) {\n\t\t\tlet warnMoves: Move[] = [];\n\t\t\tlet warnBp = 1;\n\t\t\tfor (const target of pokemon.foes()) {\n\t\t\t\tfor (const moveSlot of target.moveSlots) {\n\t\t\t\t\tconst move = this.dex.moves.get(moveSlot.move);\n\t\t\t\t\tlet bp = move.basePower;\n\t\t\t\t\tif (move.ohko) bp = 160;\n\t\t\t\t\tif (move.id === 'counter' || move.id === 'metalburst' || move.id === 'mirrorcoat') bp = 120;\n\t\t\t\t\tif (!bp && move.category !== 'Status') bp = 80;\n\t\t\t\t\tif (bp > warnBp) {\n\t\t\t\t\t\twarnMoves = [move];\n\t\t\t\t\t\twarnBp = bp;\n\t\t\t\t\t} else if (bp === warnBp) {\n\t\t\t\t\t\twarnMoves.push(move);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!warnMoves.length) return;\n\t\t\tconst warnMove = this.sample(warnMoves);\n\t\t\tthis.add('-activate', pokemon, 'ability: Forewarn', warnMove);\n\t\t},\n\t},\n\tfrisk: {\n\t\tinherit: true,\n\t\tonStart(pokemon) {\n\t\t\tconst target = pokemon.side.randomFoe();\n\t\t\tif (target?.item && !target.itemState.knockedOff) {\n\t\t\t\tthis.add('-item', '', target.getItem().name, '[from] ability: Frisk', `[of] ${pokemon}`);\n\t\t\t}\n\t\t},\n\t},\n\thustle: {\n\t\tinherit: true,\n\t\tonSourceModifyAccuracyPriority: 7,\n\t\tonSourceModifyAccuracy(accuracy, target, source, move) {\n\t\t\tif (move.category === 'Physical' && typeof accuracy === 'number') {\n\t\t\t\treturn accuracy * 0.8;\n\t\t\t}\n\t\t},\n\t},\n\thydration: {\n\t\tonWeather(target, source, effect) {\n\t\t\tif (effect.id === 'raindance' && target.status) {\n\t\t\t\tthis.add('-activate', target, 'ability: Hydration');\n\t\t\t\ttarget.cureStatus();\n\t\t\t}\n\t\t},\n\t\tname: \"Hydration\",\n\t\trating: 1.5,\n\t\tnum: 93,\n\t},\n\tinsomnia: {\n\t\tinherit: true,\n\t\trating: 2.5,\n\t},\n\tintimidate: {\n\t\tinherit: true,\n\t\tonStart(pokemon) {\n\t\t\tconst activated = pokemon.adjacentFoes().some(target => (\n\t\t\t\t!(target.volatiles['substitute'] || target.volatiles['substitutebroken']?.move === 'uturn')\n\t\t\t));\n\n\t\t\tif (!activated) {\n\t\t\t\tthis.hint(\"In Gen 4, Intimidate does not activate if every target has a Substitute (or the Substitute was just broken by U-turn).\", false, pokemon.side);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.add('-ability', pokemon, 'Intimidate', 'boost');\n\n\t\t\tfor (const target of pokemon.adjacentFoes()) {\n\t\t\t\tif (target.volatiles['substitute']) {\n\t\t\t\t\tthis.add('-immune', target);\n\t\t\t\t} else if (target.volatiles['substitutebroken']?.move === 'uturn') {\n\t\t\t\t\tthis.hint(\"In Gen 4, if U-turn breaks Substitute the incoming Intimidate does nothing.\");\n\t\t\t\t} else {\n\t\t\t\t\tthis.boost({ atk: -1 }, target, pokemon, null, true);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\tleafguard: {\n\t\tinherit: true,\n\t\tonSetStatus(status, target, source, effect) {\n\t\t\tif (effect && effect.id === 'rest') {\n\t\t\t\t// do nothing\n\t\t\t} else if (this.field.isWeather('sunnyday')) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t},\n\tlightningrod: {\n\t\tinherit: true,\n\t\tonTryHit() {},\n\t\trating: 0,\n\t},\n\tliquidooze: {\n\t\tinherit: true,\n\t\tonSourceTryHeal(damage, target, source, effect) {\n\t\t\tthis.debug(`Heal is occurring: ${target} <- ${source} :: ${effect.id}`);\n\t\t\tconst canOoze = ['drain', 'leechseed'];\n\t\t\tif (canOoze.includes(effect.id) && this.activeMove?.id !== 'dreameater') {\n\t\t\t\tthis.damage(damage, null, null, null, true);\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t},\n\t},\n\tmagicguard: {\n\t\tonDamage(damage, target, source, effect) {\n\t\t\tif (effect.effectType !== 'Move') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tonSetStatus(status, target, source, effect) {\n\t\t\tif (effect && effect.id === 'toxicspikes') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tname: \"Magic Guard\",\n\t\trating: 4.5,\n\t\tnum: 98,\n\t},\n\tminus: {\n\t\tonModifySpA(spa, pokemon) {\n\t\t\tfor (const ally of pokemon.allies()) {\n\t\t\t\tif (ally.ability === 'plus') {\n\t\t\t\t\treturn spa * 1.5;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tname: \"Minus\",\n\t\trating: 0,\n\t\tnum: 58,\n\t},\n\tnaturalcure: {\n\t\tinherit: true,\n\t\tonCheckShow(pokemon) {},\n\t\tonSwitchOut(pokemon) {\n\t\t\tif (!pokemon.status || pokemon.status === 'fnt') return;\n\n\t\t\t// Because statused/unstatused pokemon are shown after every switch\n\t\t\t// in gen 3-4, Natural Cure's curing is always known to both players\n\n\t\t\tthis.add('-curestatus', pokemon, pokemon.status, '[from] ability: Natural Cure');\n\t\t\tpokemon.clearStatus();\n\t\t},\n\t},\n\tnormalize: {\n\t\tinherit: true,\n\t\tonModifyMove(move) {\n\t\t\tif (move.id !== 'struggle') {\n\t\t\t\tmove.type = 'Normal';\n\t\t\t}\n\t\t},\n\t},\n\tovergrow: {\n\t\tonBasePowerPriority: 2,\n\t\tonBasePower(basePower, attacker, defender, move) {\n\t\t\tif (move.type === 'Grass' && attacker.hp <= attacker.maxhp / 3) {\n\t\t\t\tthis.debug('Overgrow boost');\n\t\t\t\treturn this.chainModify(1.5);\n\t\t\t}\n\t\t},\n\t\tname: \"Overgrow\",\n\t\trating: 2,\n\t\tnum: 65,\n\t},\n\tpickup: {\n\t\tname: \"Pickup\",\n\t\trating: 0,\n\t\tnum: 53,\n\t},\n\tplus: {\n\t\tonModifySpA(spa, pokemon) {\n\t\t\tfor (const ally of pokemon.allies()) {\n\t\t\t\tif (ally.ability === 'minus') {\n\t\t\t\t\treturn spa * 1.5;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tname: \"Plus\",\n\t\trating: 0,\n\t\tnum: 57,\n\t},\n\tpoisonpoint: {\n\t\tinherit: true,\n\t\tonDamagingHit(damage, target, source, move) {\n\t\t\tif (damage && move.flags['contact']) {\n\t\t\t\tif (this.randomChance(3, 10)) {\n\t\t\t\t\tsource.trySetStatus('psn', target);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\tpressure: {\n\t\tonStart(pokemon) {\n\t\t\tthis.add('-ability', pokemon, 'Pressure');\n\t\t},\n\t\tonDeductPP(target, source) {\n\t\t\tif (target === source) return;\n\t\t\treturn 1;\n\t\t},\n\t\tname: \"Pressure\",\n\t\trating: 1.5,\n\t\tnum: 46,\n\t},\n\troughskin: {\n\t\tinherit: true,\n\t\tonDamagingHit(damage, target, source, move) {\n\t\t\tif (damage && move.flags['contact']) {\n\t\t\t\tthis.damage(source.baseMaxhp / 8, source, target);\n\t\t\t}\n\t\t},\n\t},\n\tsandveil: {\n\t\tinherit: true,\n\t\tonModifyAccuracyPriority: 8,\n\t\tonModifyAccuracy(accuracy) {\n\t\t\tif (typeof accuracy !== 'number') return;\n\t\t\tif (this.field.isWeather('sandstorm')) {\n\t\t\t\tthis.debug('Sand Veil - decreasing accuracy');\n\t\t\t\treturn accuracy * 0.8;\n\t\t\t}\n\t\t},\n\t},\n\tserenegrace: {\n\t\tinherit: true,\n\t\tonModifyMove(move) {\n\t\t\tif (move.secondaries) {\n\t\t\t\tthis.debug('doubling secondary chance');\n\t\t\t\tfor (const secondary of move.secondaries) {\n\t\t\t\t\tif (secondary.chance) secondary.chance *= 2;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\tshedskin: {\n\t\tinherit: true,\n\t\tonResidualOrder: 10,\n\t\tonResidualSubOrder: 3,\n\t},\n\tsimple: {\n\t\tonModifyBoost(boosts) {\n\t\t\tlet key: BoostID;\n\t\t\tfor (key in boosts) {\n\t\t\t\tboosts[key]! *= 2;\n\t\t\t}\n\t\t},\n\t\tflags: { breakable: 1 },\n\t\tname: \"Simple\",\n\t\trating: 4,\n\t\tnum: 86,\n\t},\n\tsnowcloak: {\n\t\tinherit: true,\n\t\tonModifyAccuracyPriority: 8,\n\t\tonModifyAccuracy(accuracy) {\n\t\t\tif (typeof accuracy !== 'number') return;\n\t\t\tif (this.field.isWeather('hail')) {\n\t\t\t\tthis.debug('Snow Cloak - decreasing accuracy');\n\t\t\t\treturn accuracy * 0.8;\n\t\t\t}\n\t\t},\n\t},\n\tspeedboost: {\n\t\tinherit: true,\n\t\tonResidualOrder: 10,\n\t\tonResidualSubOrder: 3,\n\t},\n\tstatic: {\n\t\tinherit: true,\n\t\tonDamagingHit(damage, target, source, move) {\n\t\t\tif (damage && move.flags['contact']) {\n\t\t\t\tif (this.randomChance(3, 10)) {\n\t\t\t\t\tsource.trySetStatus('par', target);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\tstench: {\n\t\tname: \"Stench\",\n\t\trating: 0,\n\t\tnum: 1,\n\t},\n\tstickyhold: {\n\t\tinherit: true,\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source !== pokemon) || (this.activeMove && this.activeMove.id === 'knockoff')) {\n\t\t\t\tthis.add('-activate', pokemon, 'ability: Sticky Hold');\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t},\n\tstormdrain: {\n\t\tinherit: true,\n\t\tonTryHit() {},\n\t\trating: 0,\n\t},\n\tsturdy: {\n\t\tinherit: true,\n\t\tonDamage() {},\n\t\trating: 0,\n\t},\n\tswarm: {\n\t\tonBasePowerPriority: 2,\n\t\tonBasePower(basePower, attacker, defender, move) {\n\t\t\tif (move.type === 'Bug' && attacker.hp <= attacker.maxhp / 3) {\n\t\t\t\tthis.debug('Swarm boost');\n\t\t\t\treturn this.chainModify(1.5);\n\t\t\t}\n\t\t},\n\t\tname: \"Swarm\",\n\t\trating: 2,\n\t\tnum: 68,\n\t},\n\tsynchronize: {\n\t\tinherit: true,\n\t\tonAfterSetStatus(status, target, source, effect) {\n\t\t\tif (!source || source === target) return;\n\t\t\tif (effect && effect.id === 'toxicspikes') return;\n\t\t\tlet id: string = status.id;\n\t\t\tif (id === 'slp' || id === 'frz') return;\n\t\t\tif (id === 'tox') id = 'psn';\n\t\t\tsource.trySetStatus(id, target);\n\t\t},\n\t},\n\ttangledfeet: {\n\t\tinherit: true,\n\t\tonModifyAccuracyPriority: 6,\n\t\tonModifyAccuracy(accuracy, target) {\n\t\t\tif (typeof accuracy !== 'number') return;\n\t\t\tif (target?.volatiles['confusion']) {\n\t\t\t\tthis.debug('Tangled Feet - decreasing accuracy');\n\t\t\t\treturn accuracy * 0.5;\n\t\t\t}\n\t\t},\n\t},\n\tthickfat: {\n\t\tonSourceBasePowerPriority: 1,\n\t\tonSourceBasePower(basePower, attacker, defender, move) {\n\t\t\tif (move.type === 'Ice' || move.type === 'Fire') {\n\t\t\t\treturn this.chainModify(0.5);\n\t\t\t}\n\t\t},\n\t\tflags: { breakable: 1 },\n\t\tname: \"Thick Fat\",\n\t\trating: 3.5,\n\t\tnum: 47,\n\t},\n\ttorrent: {\n\t\tonBasePowerPriority: 2,\n\t\tonBasePower(basePower, attacker, defender, move) {\n\t\t\tif (move.type === 'Water' && attacker.hp <= attacker.maxhp / 3) {\n\t\t\t\tthis.debug('Torrent boost');\n\t\t\t\treturn this.chainModify(1.5);\n\t\t\t}\n\t\t},\n\t\tname: \"Torrent\",\n\t\trating: 2,\n\t\tnum: 67,\n\t},\n\ttrace: {\n\t\tinherit: true,\n\t\tonUpdate(pokemon) {\n\t\t\tif (!this.effectState.seek) return;\n\t\t\tconst target = pokemon.side.randomFoe();\n\t\t\tif (!target || target.fainted) return;\n\t\t\tconst ability = target.getAbility();\n\t\t\tconst bannedAbilities = ['forecast', 'multitype', 'trace'];\n\t\t\tif (bannedAbilities.includes(target.ability)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (pokemon.setAbility(ability)) {\n\t\t\t\tthis.add('-ability', pokemon, ability, '[from] ability: Trace', `[of] ${target}`);\n\t\t\t}\n\t\t},\n\t\tflags: { notrace: 1 },\n\t},\n\tunburden: {\n\t\tinherit: true,\n\t\tcondition: {\n\t\t\tonModifySpe(spe, pokemon) {\n\t\t\t\tif ((!pokemon.item || pokemon.itemState.knockedOff) && !pokemon.ignoringAbility()) {\n\t\t\t\t\treturn this.chainModify(2);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\tvitalspirit: {\n\t\tinherit: true,\n\t\trating: 2.5,\n\t},\n\twonderguard: {\n\t\tinherit: true,\n\t\tonTryHit(target, source, move) {\n\t\t\tif (move.id === 'firefang') {\n\t\t\t\tthis.hint(\"In Gen 4, Fire Fang is always able to hit through Wonder Guard.\", true, target.side);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (target === source || move.category === 'Status' || move.type === '???' || move.id === 'struggle') return;\n\t\t\tthis.debug('Wonder Guard immunity: ' + move.id);\n\t\t\tif (target.runEffectiveness(move) <= 0) {\n\t\t\t\tthis.add('-immune', target, '[from] ability: Wonder Guard');\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t},\n};\n"],
"mappings": "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",
"names": []
}