{ "version": 3, "sources": ["../../../../../data/mods/gen7/abilities.ts"], "sourcesContent": ["export const Abilities: {[k: string]: ModdedAbilityData} = {\r\n\tdisguise: {\r\n\t\tinherit: true,\r\n\t\tonDamage(damage, target, source, effect) {\r\n\t\t\tif (\r\n\t\t\t\teffect && effect.effectType === 'Move' &&\r\n\t\t\t\t['mimikyu', 'mimikyutotem'].includes(target.species.id) && !target.transformed\r\n\t\t\t) {\r\n\t\t\t\tif ([\"rollout\", \"iceball\"].includes(effect.id)) {\r\n\t\t\t\t\tsource.volatiles[effect.id].contactHitCount--;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.add(\"-activate\", target, \"ability: Disguise\");\r\n\t\t\t\tthis.effectState.busted = true;\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t},\r\n\t\tonUpdate(pokemon) {\r\n\t\t\tif (['mimikyu', 'mimikyutotem'].includes(pokemon.species.id) && this.effectState.busted) {\r\n\t\t\t\tconst speciesid = pokemon.species.id === 'mimikyutotem' ? 'Mimikyu-Busted-Totem' : 'Mimikyu-Busted';\r\n\t\t\t\tpokemon.formeChange(speciesid, this.effect, true);\r\n\t\t\t}\r\n\t\t},\r\n\t},\r\n\tdarkaura: {\r\n\t\tinherit: true,\r\n\t\tisBreakable: true,\r\n\t},\r\n\tfairyaura: {\r\n\t\tinherit: true,\r\n\t\tisBreakable: true,\r\n\t},\r\n\tinnerfocus: {\r\n\t\tinherit: true,\r\n\t\trating: 1,\r\n\t\tonTryBoost() {},\r\n\t},\r\n\tintimidate: {\r\n\t\tinherit: true,\r\n\t\trating: 4,\r\n\t},\r\n\tmoody: {\r\n\t\tinherit: true,\r\n\t\tonResidual(pokemon) {\r\n\t\t\tlet stats: BoostID[] = [];\r\n\t\t\tconst boost: SparseBoostsTable = {};\r\n\t\t\tlet statPlus: BoostID;\r\n\t\t\tfor (statPlus in pokemon.boosts) {\r\n\t\t\t\tif (pokemon.boosts[statPlus] < 6) {\r\n\t\t\t\t\tstats.push(statPlus);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tlet randomStat = stats.length ? this.sample(stats) : undefined;\r\n\t\t\tif (randomStat) boost[randomStat] = 2;\r\n\r\n\t\t\tstats = [];\r\n\t\t\tlet statMinus: BoostID;\r\n\t\t\tfor (statMinus in pokemon.boosts) {\r\n\t\t\t\tif (pokemon.boosts[statMinus] > -6 && statMinus !== randomStat) {\r\n\t\t\t\t\tstats.push(statMinus);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\trandomStat = stats.length ? this.sample(stats) : undefined;\r\n\t\t\tif (randomStat) boost[randomStat] = -1;\r\n\r\n\t\t\tthis.boost(boost, pokemon, pokemon);\r\n\t\t},\r\n\t},\r\n\toblivious: {\r\n\t\tinherit: true,\r\n\t\tonTryBoost() {},\r\n\t},\r\n\towntempo: {\r\n\t\tinherit: true,\r\n\t\tonTryBoost() {},\r\n\t},\r\n\trattled: {\r\n\t\tonDamagingHit(damage, target, source, move) {\r\n\t\t\tif (['Dark', 'Bug', 'Ghost'].includes(move.type)) {\r\n\t\t\t\tthis.boost({spe: 1});\r\n\t\t\t}\r\n\t\t},\r\n\t\tname: \"Rattled\",\r\n\t\trating: 1.5,\r\n\t\tnum: 155,\r\n\t},\r\n\tscrappy: {\r\n\t\tinherit: true,\r\n\t\tonTryBoost() {},\r\n\t},\r\n\tslowstart: {\r\n\t\tinherit: true,\r\n\t\tcondition: {\r\n\t\t\tduration: 5,\r\n\t\t\tonResidualOrder: 28,\r\n\t\t\tonResidualSubOrder: 2,\r\n\t\t\tonStart(target) {\r\n\t\t\t\tthis.add('-start', target, 'ability: Slow Start');\r\n\t\t\t},\r\n\t\t\tonModifyAtkPriority: 5,\r\n\t\t\tonModifyAtk(atk, pokemon, target, move) {\r\n\t\t\t\t// This is because the game checks the move's category in data, rather than what it is currently, unlike e.g. Huge Power\r\n\t\t\t\tif (this.dex.moves.get(move.id).category === 'Physical') {\r\n\t\t\t\t\treturn this.chainModify(0.5);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tonModifySpAPriority: 5,\r\n\t\t\tonModifySpA(spa, pokemon, target, move) {\r\n\t\t\t\t// Ordinary Z-moves like Breakneck Blitz will halve the user's Special Attack as well\r\n\t\t\t\tif (this.dex.moves.get(move.id).category === 'Physical') {\r\n\t\t\t\t\treturn this.chainModify(0.5);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tonModifySpe(spe, pokemon) {\r\n\t\t\t\treturn this.chainModify(0.5);\r\n\t\t\t},\r\n\t\t\tonEnd(target) {\r\n\t\t\t\tthis.add('-end', target, 'Slow Start');\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n\tsoundproof: {\r\n\t\tinherit: true,\r\n\t\tonTryHit(target, source, move) {\r\n\t\t\tif (move.flags['sound']) {\r\n\t\t\t\tthis.add('-immune', target, '[from] ability: Soundproof');\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t},\r\n\t},\r\n\ttechnician: {\r\n\t\tinherit: true,\r\n\t\tonBasePowerPriority: 19,\r\n\t},\r\n};\r\n"], "mappings": "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", "names": [] }