Pokemon_server / dist /data /mods /gen3 /abilities.js.map
Jofthomas's picture
Jofthomas HF staff
Upload 4781 files
5c2ed06 verified
{
"version": 3,
"sources": ["../../../../data/mods/gen3/abilities.ts"],
"sourcesContent": ["export const Abilities: import('../../../sim/dex-abilities').ModdedAbilityDataTable = {\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(1, 3)) {\n\t\t\t\t\tsource.addVolatile('attract', target);\n\t\t\t\t}\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(300);\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(1, 3)) {\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 (move.id === 'willowisp' && (target.hasType('Fire') || target.status || target.volatiles['substitute'])) {\n\t\t\t\t\treturn;\n\t\t\t\t}\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},\n\tforecast: {\n\t\tinherit: true,\n\t\tflags: {},\n\t},\n\thustle: {\n\t\tinherit: true,\n\t\tonSourceModifyAccuracy(accuracy, target, source, move) {\n\t\t\tconst physicalTypes = ['Normal', 'Fighting', 'Flying', 'Poison', 'Ground', 'Rock', 'Bug', 'Ghost', 'Steel'];\n\t\t\tif (physicalTypes.includes(move.type) && typeof accuracy === 'number') {\n\t\t\t\treturn this.chainModify([3277, 4096]);\n\t\t\t}\n\t\t},\n\t},\n\tintimidate: {\n\t\tinherit: true,\n\t\tonStart(pokemon) {\n\t\t\tlet activated = false;\n\t\t\tfor (const target of pokemon.adjacentFoes()) {\n\t\t\t\tif (!target.volatiles['substitute']) {\n\t\t\t\t\tactivated = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!activated) {\n\t\t\t\tthis.hint(\"In Gen 3, Intimidate does not activate if every target has a Substitute.\", 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 {\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\tlightningrod: {\n\t\tonFoeRedirectTarget(target, source, source2, move) {\n\t\t\t// don't count Hidden Power as Electric-type\n\t\t\tif (this.dex.moves.get(move.id).type !== 'Electric') return;\n\t\t\tif (this.validTarget(this.effectState.target, source, move.target)) {\n\t\t\t\treturn this.effectState.target;\n\t\t\t}\n\t\t},\n\t\tflags: { breakable: 1 },\n\t\tname: \"Lightning Rod\",\n\t\trating: 0,\n\t\tnum: 32,\n\t},\n\tminus: {\n\t\tinherit: true,\n\t\tonModifySpA(spa, pokemon) {\n\t\t\tfor (const active of this.getAllActive()) {\n\t\t\t\tif (!active.fainted && active.hasAbility('plus')) {\n\t\t\t\t\treturn this.chainModify(1.5);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\tplus: {\n\t\tinherit: true,\n\t\tonModifySpA(spa, pokemon) {\n\t\t\tfor (const active of this.getAllActive()) {\n\t\t\t\tif (!active.fainted && active.hasAbility('minus')) {\n\t\t\t\t\treturn this.chainModify(1.5);\n\t\t\t\t}\n\t\t\t}\n\t\t},\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(1, 3)) {\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\tinherit: true,\n\t\tonStart(pokemon) {\n\t\t\tthis.addSplit(pokemon.side.id, ['-ability', pokemon, 'Pressure', '[silent]']);\n\t\t},\n\t},\n\traindish: {\n\t\tinherit: true,\n\t\tonWeather() {},\n\t\tonResidualOrder: 10,\n\t\tonResidualSubOrder: 3,\n\t\tonResidual(pokemon) {\n\t\t\tif (['raindance', 'primordialsea'].includes(pokemon.effectiveWeather())) {\n\t\t\t\tthis.heal(pokemon.baseMaxhp / 16);\n\t\t\t}\n\t\t},\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 / 16, source, target);\n\t\t\t}\n\t\t},\n\t},\n\tshadowtag: {\n\t\tinherit: true,\n\t\tonFoeTrapPokemon(pokemon) {\n\t\t\tpokemon.trapped = true;\n\t\t},\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(1, 3)) {\n\t\t\t\t\tsource.trySetStatus('par', target);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\ttrace: {\n\t\tinherit: true,\n\t\tonUpdate() {},\n\t\tonStart(pokemon) {\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\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: {},\n\t},\n\ttruant: {\n\t\tinherit: true,\n\t\tonStart() {},\n\t\tonSwitchIn(pokemon) {\n\t\t\tpokemon.truantTurn = this.turn !== 0;\n\t\t},\n\t\tonBeforeMove(pokemon) {\n\t\t\tif (pokemon.truantTurn) {\n\t\t\t\tthis.add('cant', pokemon, 'ability: Truant');\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tonResidualOrder: 27,\n\t\tonResidual(pokemon) {\n\t\t\tpokemon.truantTurn = !pokemon.truantTurn;\n\t\t},\n\t},\n\tvoltabsorb: {\n\t\tinherit: true,\n\t\tonTryHit(target, source, move) {\n\t\t\tif (target !== source && move.type === 'Electric' && move.id !== 'thunderwave') {\n\t\t\t\tif (!this.heal(target.baseMaxhp / 4)) {\n\t\t\t\t\tthis.add('-immune', target, '[from] ability: Volt Absorb');\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t},\n};\n"],
"mappings": "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",
"names": []
}