{ "version": 3, "sources": ["../../../data/items.ts"], "sourcesContent": ["export const Items: {[itemid: string]: ItemData} = {\n\tabilityshield: {\n\t\tname: \"Ability Shield\",\n\t\tspritenum: 746,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tignoreKlutz: true,\n\t\t// Neutralizing Gas protection implemented in Pokemon.ignoringAbility() within sim/pokemon.ts\n\t\t// and in Neutralizing Gas itself within data/abilities.ts\n\t\tonSetAbility(ability, target, source, effect) {\n\t\t\tif (effect && effect.effectType === 'Ability' && effect.name !== 'Trace') {\n\t\t\t\tthis.add('-ability', source, effect);\n\t\t\t}\n\t\t\tthis.add('-block', target, 'item: Ability Shield');\n\t\t\treturn null;\n\t\t},\n\t\t// Mold Breaker protection implemented in Battle.suppressingAbility() within sim/battle.ts\n\t\tnum: 1881,\n\t\tgen: 9,\n\t},\n\tabomasite: {\n\t\tname: \"Abomasite\",\n\t\tspritenum: 575,\n\t\tmegaStone: \"Abomasnow-Mega\",\n\t\tmegaEvolves: \"Abomasnow\",\n\t\titemUser: [\"Abomasnow\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 674,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tabsolite: {\n\t\tname: \"Absolite\",\n\t\tspritenum: 576,\n\t\tmegaStone: \"Absol-Mega\",\n\t\tmegaEvolves: \"Absol\",\n\t\titemUser: [\"Absol\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 677,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tabsorbbulb: {\n\t\tname: \"Absorb Bulb\",\n\t\tspritenum: 2,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonDamagingHit(damage, target, source, move) {\n\t\t\tif (move.type === 'Water') {\n\t\t\t\ttarget.useItem();\n\t\t\t}\n\t\t},\n\t\tboosts: {\n\t\t\tspa: 1,\n\t\t},\n\t\tnum: 545,\n\t\tgen: 5,\n\t},\n\tadamantcrystal: {\n\t\tname: \"Adamant Crystal\",\n\t\tspritenum: 741,\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (user.baseSpecies.num === 483 && (move.type === 'Steel' || move.type === 'Dragon')) {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif (source?.baseSpecies.num === 483 || pokemon.baseSpecies.num === 483) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Dialga-Origin\",\n\t\titemUser: [\"Dialga-Origin\"],\n\t\tnum: 1777,\n\t\tgen: 8,\n\t},\n\tadamantorb: {\n\t\tname: \"Adamant Orb\",\n\t\tspritenum: 4,\n\t\tfling: {\n\t\t\tbasePower: 60,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (user.baseSpecies.num === 483 && (move.type === 'Steel' || move.type === 'Dragon')) {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\titemUser: [\"Dialga\"],\n\t\tnum: 135,\n\t\tgen: 4,\n\t},\n\tadrenalineorb: {\n\t\tname: \"Adrenaline Orb\",\n\t\tspritenum: 660,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonAfterBoost(boost, target, source, effect) {\n\t\t\t// Adrenaline Orb activates if Intimidate is blocked by an ability like Hyper Cutter,\n\t\t\t// which deletes boost.atk,\n\t\t\t// but not if the holder's attack is already at -6 (or +6 if it has Contrary),\n\t\t\t// which sets boost.atk to 0\n\t\t\tif (target.boosts['spe'] === 6 || boost.atk === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (effect.name === 'Intimidate') {\n\t\t\t\ttarget.useItem();\n\t\t\t}\n\t\t},\n\t\tboosts: {\n\t\t\tspe: 1,\n\t\t},\n\t\tnum: 846,\n\t\tgen: 7,\n\t},\n\taerodactylite: {\n\t\tname: \"Aerodactylite\",\n\t\tspritenum: 577,\n\t\tmegaStone: \"Aerodactyl-Mega\",\n\t\tmegaEvolves: \"Aerodactyl\",\n\t\titemUser: [\"Aerodactyl\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 672,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\taggronite: {\n\t\tname: \"Aggronite\",\n\t\tspritenum: 578,\n\t\tmegaStone: \"Aggron-Mega\",\n\t\tmegaEvolves: \"Aggron\",\n\t\titemUser: [\"Aggron\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 667,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\taguavberry: {\n\t\tname: \"Aguav Berry\",\n\t\tspritenum: 5,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Dragon\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&\n\t\t\t\t\tpokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonTryEatItem(item, pokemon) {\n\t\t\tif (!this.runEvent('TryHeal', pokemon, null, this.effect, pokemon.baseMaxhp / 3)) return false;\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tthis.heal(pokemon.baseMaxhp / 3);\n\t\t\tif (pokemon.getNature().minus === 'spd') {\n\t\t\t\tpokemon.addVolatile('confusion');\n\t\t\t}\n\t\t},\n\t\tnum: 162,\n\t\tgen: 3,\n\t},\n\tairballoon: {\n\t\tname: \"Air Balloon\",\n\t\tspritenum: 6,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonStart(target) {\n\t\t\tif (!target.ignoringItem() && !this.field.getPseudoWeather('gravity')) {\n\t\t\t\tthis.add('-item', target, 'Air Balloon');\n\t\t\t}\n\t\t},\n\t\t// airborneness implemented in sim/pokemon.js:Pokemon#isGrounded\n\t\tonDamagingHit(damage, target, source, move) {\n\t\t\tthis.add('-enditem', target, 'Air Balloon');\n\t\t\ttarget.item = '';\n\t\t\ttarget.itemState = {id: '', target};\n\t\t\tthis.runEvent('AfterUseItem', target, null, null, this.dex.items.get('airballoon'));\n\t\t},\n\t\tonAfterSubDamage(damage, target, source, effect) {\n\t\t\tthis.debug('effect: ' + effect.id);\n\t\t\tif (effect.effectType === 'Move') {\n\t\t\t\tthis.add('-enditem', target, 'Air Balloon');\n\t\t\t\ttarget.item = '';\n\t\t\t\ttarget.itemState = {id: '', target};\n\t\t\t\tthis.runEvent('AfterUseItem', target, null, null, this.dex.items.get('airballoon'));\n\t\t\t}\n\t\t},\n\t\tnum: 541,\n\t\tgen: 5,\n\t},\n\talakazite: {\n\t\tname: \"Alakazite\",\n\t\tspritenum: 579,\n\t\tmegaStone: \"Alakazam-Mega\",\n\t\tmegaEvolves: \"Alakazam\",\n\t\titemUser: [\"Alakazam\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 679,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\taloraichiumz: {\n\t\tname: \"Aloraichium Z\",\n\t\tspritenum: 655,\n\t\tonTakeItem: false,\n\t\tzMove: \"Stoked Sparksurfer\",\n\t\tzMoveFrom: \"Thunderbolt\",\n\t\titemUser: [\"Raichu-Alola\"],\n\t\tnum: 803,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\taltarianite: {\n\t\tname: \"Altarianite\",\n\t\tspritenum: 615,\n\t\tmegaStone: \"Altaria-Mega\",\n\t\tmegaEvolves: \"Altaria\",\n\t\titemUser: [\"Altaria\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 755,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tampharosite: {\n\t\tname: \"Ampharosite\",\n\t\tspritenum: 580,\n\t\tmegaStone: \"Ampharos-Mega\",\n\t\tmegaEvolves: \"Ampharos\",\n\t\titemUser: [\"Ampharos\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 658,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tapicotberry: {\n\t\tname: \"Apicot Berry\",\n\t\tspritenum: 10,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 100,\n\t\t\ttype: \"Ground\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&\n\t\t\t\t\tpokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tthis.boost({spd: 1});\n\t\t},\n\t\tnum: 205,\n\t\tgen: 3,\n\t},\n\tarmorfossil: {\n\t\tname: \"Armor Fossil\",\n\t\tspritenum: 12,\n\t\tfling: {\n\t\t\tbasePower: 100,\n\t\t},\n\t\tnum: 104,\n\t\tgen: 4,\n\t\tisNonstandard: \"Past\",\n\t},\n\taspearberry: {\n\t\tname: \"Aspear Berry\",\n\t\tspritenum: 13,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Ice\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.status === 'frz') {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tif (pokemon.status === 'frz') {\n\t\t\t\tpokemon.cureStatus();\n\t\t\t}\n\t\t},\n\t\tnum: 153,\n\t\tgen: 3,\n\t},\n\tassaultvest: {\n\t\tname: \"Assault Vest\",\n\t\tspritenum: 581,\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tonModifySpDPriority: 1,\n\t\tonModifySpD(spd) {\n\t\t\treturn this.chainModify(1.5);\n\t\t},\n\t\tonDisableMove(pokemon) {\n\t\t\tfor (const moveSlot of pokemon.moveSlots) {\n\t\t\t\tconst move = this.dex.moves.get(moveSlot.id);\n\t\t\t\tif (move.category === 'Status' && move.id !== 'mefirst') {\n\t\t\t\t\tpokemon.disableMove(moveSlot.id);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tnum: 640,\n\t\tgen: 6,\n\t},\n\taudinite: {\n\t\tname: \"Audinite\",\n\t\tspritenum: 617,\n\t\tmegaStone: \"Audino-Mega\",\n\t\tmegaEvolves: \"Audino\",\n\t\titemUser: [\"Audino\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 757,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tauspiciousarmor: {\n\t\tname: \"Auspicious Armor\",\n\t\tspritenum: 753,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tnum: 2344,\n\t\tgen: 9,\n\t},\n\tbabiriberry: {\n\t\tname: \"Babiri Berry\",\n\t\tspritenum: 17,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Steel\",\n\t\t},\n\t\tonSourceModifyDamage(damage, source, target, move) {\n\t\t\tif (move.type === 'Steel' && target.getMoveHitData(move).typeMod > 0) {\n\t\t\t\tconst hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6);\n\t\t\t\tif (hitSub) return;\n\n\t\t\t\tif (target.eatItem()) {\n\t\t\t\t\tthis.debug('-50% reduction');\n\t\t\t\t\tthis.add('-enditem', target, this.effect, '[weaken]');\n\t\t\t\t\treturn this.chainModify(0.5);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonEat() { },\n\t\tnum: 199,\n\t\tgen: 4,\n\t},\n\tbanettite: {\n\t\tname: \"Banettite\",\n\t\tspritenum: 582,\n\t\tmegaStone: \"Banette-Mega\",\n\t\tmegaEvolves: \"Banette\",\n\t\titemUser: [\"Banette\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 668,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tbeastball: {\n\t\tname: \"Beast Ball\",\n\t\tspritenum: 661,\n\t\tnum: 851,\n\t\tgen: 7,\n\t\tisPokeball: true,\n\t},\n\tbeedrillite: {\n\t\tname: \"Beedrillite\",\n\t\tspritenum: 628,\n\t\tmegaStone: \"Beedrill-Mega\",\n\t\tmegaEvolves: \"Beedrill\",\n\t\titemUser: [\"Beedrill\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 770,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tbelueberry: {\n\t\tname: \"Belue Berry\",\n\t\tspritenum: 21,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 100,\n\t\t\ttype: \"Electric\",\n\t\t},\n\t\tonEat: false,\n\t\tnum: 183,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\tberryjuice: {\n\t\tname: \"Berry Juice\",\n\t\tspritenum: 22,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.hp <= pokemon.maxhp / 2) {\n\t\t\t\tif (this.runEvent('TryHeal', pokemon, null, this.effect, 20) && pokemon.useItem()) {\n\t\t\t\t\tthis.heal(20);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tnum: 43,\n\t\tgen: 2,\n\t\tisNonstandard: \"Past\",\n\t},\n\tberrysweet: {\n\t\tname: \"Berry Sweet\",\n\t\tspritenum: 706,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tnum: 1111,\n\t\tgen: 8,\n\t},\n\tbignugget: {\n\t\tname: \"Big Nugget\",\n\t\tspritenum: 27,\n\t\tfling: {\n\t\t\tbasePower: 130,\n\t\t},\n\t\tnum: 581,\n\t\tgen: 5,\n\t},\n\tbigroot: {\n\t\tname: \"Big Root\",\n\t\tspritenum: 29,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonTryHealPriority: 1,\n\t\tonTryHeal(damage, target, source, effect) {\n\t\t\tconst heals = ['drain', 'leechseed', 'ingrain', 'aquaring', 'strengthsap'];\n\t\t\tif (heals.includes(effect.id)) {\n\t\t\t\treturn this.chainModify([5324, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 296,\n\t\tgen: 4,\n\t},\n\tbindingband: {\n\t\tname: \"Binding Band\",\n\t\tspritenum: 31,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\t// implemented in statuses\n\t\tnum: 544,\n\t\tgen: 5,\n\t},\n\tblackbelt: {\n\t\tname: \"Black Belt\",\n\t\tspritenum: 32,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move && move.type === 'Fighting') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 241,\n\t\tgen: 2,\n\t},\n\tblackglasses: {\n\t\tname: \"Black Glasses\",\n\t\tspritenum: 35,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move && move.type === 'Dark') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 240,\n\t\tgen: 2,\n\t},\n\tblacksludge: {\n\t\tname: \"Black Sludge\",\n\t\tspritenum: 34,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonResidualOrder: 5,\n\t\tonResidualSubOrder: 4,\n\t\tonResidual(pokemon) {\n\t\t\tif (pokemon.hasType('Poison')) {\n\t\t\t\tthis.heal(pokemon.baseMaxhp / 16);\n\t\t\t} else {\n\t\t\t\tthis.damage(pokemon.baseMaxhp / 8);\n\t\t\t}\n\t\t},\n\t\tnum: 281,\n\t\tgen: 4,\n\t},\n\tblastoisinite: {\n\t\tname: \"Blastoisinite\",\n\t\tspritenum: 583,\n\t\tmegaStone: \"Blastoise-Mega\",\n\t\tmegaEvolves: \"Blastoise\",\n\t\titemUser: [\"Blastoise\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 661,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tblazikenite: {\n\t\tname: \"Blazikenite\",\n\t\tspritenum: 584,\n\t\tmegaStone: \"Blaziken-Mega\",\n\t\tmegaEvolves: \"Blaziken\",\n\t\titemUser: [\"Blaziken\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 664,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tblueorb: {\n\t\tname: \"Blue Orb\",\n\t\tspritenum: 41,\n\t\tonSwitchIn(pokemon) {\n\t\t\tif (pokemon.isActive && pokemon.baseSpecies.name === 'Kyogre') {\n\t\t\t\tthis.queue.insertChoice({choice: 'runPrimal', pokemon: pokemon});\n\t\t\t}\n\t\t},\n\t\tonPrimal(pokemon) {\n\t\t\tpokemon.formeChange('Kyogre-Primal', this.effect, true);\n\t\t},\n\t\tonTakeItem(item, source) {\n\t\t\tif (source.baseSpecies.baseSpecies === 'Kyogre') return false;\n\t\t\treturn true;\n\t\t},\n\t\titemUser: [\"Kyogre\"],\n\t\tnum: 535,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tblukberry: {\n\t\tname: \"Bluk Berry\",\n\t\tspritenum: 44,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 90,\n\t\t\ttype: \"Fire\",\n\t\t},\n\t\tonEat: false,\n\t\tnum: 165,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\tblunderpolicy: {\n\t\tname: \"Blunder Policy\",\n\t\tspritenum: 716,\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\t// Item activation located in scripts.js\n\t\tnum: 1121,\n\t\tgen: 8,\n\t},\n\tboosterenergy: {\n\t\tname: \"Booster Energy\",\n\t\tspritenum: 745,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonStart() {\n\t\t\tthis.effectState.started = true;\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (!this.effectState.started || pokemon.transformed) return;\n\t\t\tif (this.queue.peek(true)?.choice === 'runSwitch') return;\n\n\t\t\tif (pokemon.hasAbility('protosynthesis') && !this.field.isWeather('sunnyday') && pokemon.useItem()) {\n\t\t\t\tpokemon.addVolatile('protosynthesis');\n\t\t\t}\n\t\t\tif (pokemon.hasAbility('quarkdrive') && !this.field.isTerrain('electricterrain') && pokemon.useItem()) {\n\t\t\t\tpokemon.addVolatile('quarkdrive');\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, source) {\n\t\t\tif (source.baseSpecies.tags.includes(\"Paradox\")) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 1880,\n\t\tgen: 9,\n\t},\n\tbottlecap: {\n\t\tname: \"Bottle Cap\",\n\t\tspritenum: 696,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tnum: 795,\n\t\tgen: 7,\n\t},\n\tbrightpowder: {\n\t\tname: \"Bright Powder\",\n\t\tspritenum: 51,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonModifyAccuracyPriority: -2,\n\t\tonModifyAccuracy(accuracy) {\n\t\t\tif (typeof accuracy !== 'number') return;\n\t\t\tthis.debug('brightpowder - decreasing accuracy');\n\t\t\treturn this.chainModify([3686, 4096]);\n\t\t},\n\t\tnum: 213,\n\t\tgen: 2,\n\t},\n\tbuggem: {\n\t\tname: \"Bug Gem\",\n\t\tspritenum: 53,\n\t\tisGem: true,\n\t\tonSourceTryPrimaryHit(target, source, move) {\n\t\t\tif (target === source || move.category === 'Status') return;\n\t\t\tif (move.type === 'Bug' && source.useItem()) {\n\t\t\t\tsource.addVolatile('gem');\n\t\t\t}\n\t\t},\n\t\tnum: 558,\n\t\tgen: 5,\n\t\tisNonstandard: \"Past\",\n\t},\n\tbugmemory: {\n\t\tname: \"Bug Memory\",\n\t\tspritenum: 673,\n\t\tonMemory: 'Bug',\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 773) || pokemon.baseSpecies.num === 773) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Silvally-Bug\",\n\t\titemUser: [\"Silvally-Bug\"],\n\t\tnum: 909,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tbuginiumz: {\n\t\tname: \"Buginium Z\",\n\t\tspritenum: 642,\n\t\tonPlate: 'Bug',\n\t\tonTakeItem: false,\n\t\tzMove: true,\n\t\tzMoveType: \"Bug\",\n\t\tforcedForme: \"Arceus-Bug\",\n\t\tnum: 787,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tburndrive: {\n\t\tname: \"Burn Drive\",\n\t\tspritenum: 54,\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 649) || pokemon.baseSpecies.num === 649) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tonDrive: 'Fire',\n\t\tforcedForme: \"Genesect-Burn\",\n\t\titemUser: [\"Genesect-Burn\"],\n\t\tnum: 118,\n\t\tgen: 5,\n\t\tisNonstandard: \"Past\",\n\t},\n\tcameruptite: {\n\t\tname: \"Cameruptite\",\n\t\tspritenum: 625,\n\t\tmegaStone: \"Camerupt-Mega\",\n\t\tmegaEvolves: \"Camerupt\",\n\t\titemUser: [\"Camerupt\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 767,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tcellbattery: {\n\t\tname: \"Cell Battery\",\n\t\tspritenum: 60,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonDamagingHit(damage, target, source, move) {\n\t\t\tif (move.type === 'Electric') {\n\t\t\t\ttarget.useItem();\n\t\t\t}\n\t\t},\n\t\tboosts: {\n\t\t\tatk: 1,\n\t\t},\n\t\tnum: 546,\n\t\tgen: 5,\n\t},\n\tcharcoal: {\n\t\tname: \"Charcoal\",\n\t\tspritenum: 61,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move && move.type === 'Fire') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 249,\n\t\tgen: 2,\n\t},\n\tcharizarditex: {\n\t\tname: \"Charizardite X\",\n\t\tspritenum: 585,\n\t\tmegaStone: \"Charizard-Mega-X\",\n\t\tmegaEvolves: \"Charizard\",\n\t\titemUser: [\"Charizard\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 660,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tcharizarditey: {\n\t\tname: \"Charizardite Y\",\n\t\tspritenum: 586,\n\t\tmegaStone: \"Charizard-Mega-Y\",\n\t\tmegaEvolves: \"Charizard\",\n\t\titemUser: [\"Charizard\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 678,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tchartiberry: {\n\t\tname: \"Charti Berry\",\n\t\tspritenum: 62,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Rock\",\n\t\t},\n\t\tonSourceModifyDamage(damage, source, target, move) {\n\t\t\tif (move.type === 'Rock' && target.getMoveHitData(move).typeMod > 0) {\n\t\t\t\tconst hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6);\n\t\t\t\tif (hitSub) return;\n\n\t\t\t\tif (target.eatItem()) {\n\t\t\t\t\tthis.debug('-50% reduction');\n\t\t\t\t\tthis.add('-enditem', target, this.effect, '[weaken]');\n\t\t\t\t\treturn this.chainModify(0.5);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonEat() { },\n\t\tnum: 195,\n\t\tgen: 4,\n\t},\n\tcheriberry: {\n\t\tname: \"Cheri Berry\",\n\t\tspritenum: 63,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Fire\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.status === 'par') {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tif (pokemon.status === 'par') {\n\t\t\t\tpokemon.cureStatus();\n\t\t\t}\n\t\t},\n\t\tnum: 149,\n\t\tgen: 3,\n\t},\n\tcherishball: {\n\t\tname: \"Cherish Ball\",\n\t\tspritenum: 64,\n\t\tnum: 16,\n\t\tgen: 4,\n\t\tisPokeball: true,\n\t\tisNonstandard: \"Unobtainable\",\n\t},\n\tchestoberry: {\n\t\tname: \"Chesto Berry\",\n\t\tspritenum: 65,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Water\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.status === 'slp') {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tif (pokemon.status === 'slp') {\n\t\t\t\tpokemon.cureStatus();\n\t\t\t}\n\t\t},\n\t\tnum: 150,\n\t\tgen: 3,\n\t},\n\tchilanberry: {\n\t\tname: \"Chilan Berry\",\n\t\tspritenum: 66,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Normal\",\n\t\t},\n\t\tonSourceModifyDamage(damage, source, target, move) {\n\t\t\tif (\n\t\t\t\tmove.type === 'Normal' &&\n\t\t\t\t(!target.volatiles['substitute'] || move.flags['bypasssub'] || (move.infiltrates && this.gen >= 6))\n\t\t\t) {\n\t\t\t\tif (target.eatItem()) {\n\t\t\t\t\tthis.debug('-50% reduction');\n\t\t\t\t\tthis.add('-enditem', target, this.effect, '[weaken]');\n\t\t\t\t\treturn this.chainModify(0.5);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonEat() { },\n\t\tnum: 200,\n\t\tgen: 4,\n\t},\n\tchilldrive: {\n\t\tname: \"Chill Drive\",\n\t\tspritenum: 67,\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 649) || pokemon.baseSpecies.num === 649) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tonDrive: 'Ice',\n\t\tforcedForme: \"Genesect-Chill\",\n\t\titemUser: [\"Genesect-Chill\"],\n\t\tnum: 119,\n\t\tgen: 5,\n\t\tisNonstandard: \"Past\",\n\t},\n\tchippedpot: {\n\t\tname: \"Chipped Pot\",\n\t\tspritenum: 720,\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tnum: 1254,\n\t\tgen: 8,\n\t},\n\tchoiceband: {\n\t\tname: \"Choice Band\",\n\t\tspritenum: 68,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonStart(pokemon) {\n\t\t\tif (pokemon.volatiles['choicelock']) {\n\t\t\t\tthis.debug('removing choicelock: ' + pokemon.volatiles['choicelock']);\n\t\t\t}\n\t\t\tpokemon.removeVolatile('choicelock');\n\t\t},\n\t\tonModifyMove(move, pokemon) {\n\t\t\tpokemon.addVolatile('choicelock');\n\t\t},\n\t\tonModifyAtkPriority: 1,\n\t\tonModifyAtk(atk, pokemon) {\n\t\t\tif (pokemon.volatiles['dynamax']) return;\n\t\t\treturn this.chainModify(1.5);\n\t\t},\n\t\tisChoice: true,\n\t\tnum: 220,\n\t\tgen: 3,\n\t},\n\tchoicescarf: {\n\t\tname: \"Choice Scarf\",\n\t\tspritenum: 69,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonStart(pokemon) {\n\t\t\tif (pokemon.volatiles['choicelock']) {\n\t\t\t\tthis.debug('removing choicelock: ' + pokemon.volatiles['choicelock']);\n\t\t\t}\n\t\t\tpokemon.removeVolatile('choicelock');\n\t\t},\n\t\tonModifyMove(move, pokemon) {\n\t\t\tpokemon.addVolatile('choicelock');\n\t\t},\n\t\tonModifySpe(spe, pokemon) {\n\t\t\tif (pokemon.volatiles['dynamax']) return;\n\t\t\treturn this.chainModify(1.5);\n\t\t},\n\t\tisChoice: true,\n\t\tnum: 287,\n\t\tgen: 4,\n\t},\n\tchoicespecs: {\n\t\tname: \"Choice Specs\",\n\t\tspritenum: 70,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonStart(pokemon) {\n\t\t\tif (pokemon.volatiles['choicelock']) {\n\t\t\t\tthis.debug('removing choicelock: ' + pokemon.volatiles['choicelock']);\n\t\t\t}\n\t\t\tpokemon.removeVolatile('choicelock');\n\t\t},\n\t\tonModifyMove(move, pokemon) {\n\t\t\tpokemon.addVolatile('choicelock');\n\t\t},\n\t\tonModifySpAPriority: 1,\n\t\tonModifySpA(spa, pokemon) {\n\t\t\tif (pokemon.volatiles['dynamax']) return;\n\t\t\treturn this.chainModify(1.5);\n\t\t},\n\t\tisChoice: true,\n\t\tnum: 297,\n\t\tgen: 4,\n\t},\n\tchopleberry: {\n\t\tname: \"Chople Berry\",\n\t\tspritenum: 71,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Fighting\",\n\t\t},\n\t\tonSourceModifyDamage(damage, source, target, move) {\n\t\t\tif (move.type === 'Fighting' && target.getMoveHitData(move).typeMod > 0) {\n\t\t\t\tconst hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6);\n\t\t\t\tif (hitSub) return;\n\n\t\t\t\tif (target.eatItem()) {\n\t\t\t\t\tthis.debug('-50% reduction');\n\t\t\t\t\tthis.add('-enditem', target, this.effect, '[weaken]');\n\t\t\t\t\treturn this.chainModify(0.5);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonEat() { },\n\t\tnum: 189,\n\t\tgen: 4,\n\t},\n\tclawfossil: {\n\t\tname: \"Claw Fossil\",\n\t\tspritenum: 72,\n\t\tfling: {\n\t\t\tbasePower: 100,\n\t\t},\n\t\tnum: 100,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\tclearamulet: {\n\t\tname: \"Clear Amulet\",\n\t\tspritenum: 747,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonTryBoost(boost, target, source, effect) {\n\t\t\tif (source && target === source) return;\n\t\t\tlet showMsg = false;\n\t\t\tlet i: BoostID;\n\t\t\tfor (i in boost) {\n\t\t\t\tif (boost[i]! < 0) {\n\t\t\t\t\tdelete boost[i];\n\t\t\t\t\tshowMsg = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (showMsg && !(effect as ActiveMove).secondaries && effect.id !== 'octolock') {\n\t\t\t\tthis.add('-fail', target, 'unboost', '[from] item: Clear Amulet', '[of] ' + target);\n\t\t\t}\n\t\t},\n\t\tnum: 1882,\n\t\tgen: 9,\n\t},\n\tcloversweet: {\n\t\tname: \"Clover Sweet\",\n\t\tspritenum: 707,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tnum: 1112,\n\t\tgen: 8,\n\t},\n\tcobaberry: {\n\t\tname: \"Coba Berry\",\n\t\tspritenum: 76,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Flying\",\n\t\t},\n\t\tonSourceModifyDamage(damage, source, target, move) {\n\t\t\tif (move.type === 'Flying' && target.getMoveHitData(move).typeMod > 0) {\n\t\t\t\tconst hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6);\n\t\t\t\tif (hitSub) return;\n\n\t\t\t\tif (target.eatItem()) {\n\t\t\t\t\tthis.debug('-50% reduction');\n\t\t\t\t\tthis.add('-enditem', target, this.effect, '[weaken]');\n\t\t\t\t\treturn this.chainModify(0.5);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonEat() { },\n\t\tnum: 192,\n\t\tgen: 4,\n\t},\n\tcolburberry: {\n\t\tname: \"Colbur Berry\",\n\t\tspritenum: 78,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Dark\",\n\t\t},\n\t\tonSourceModifyDamage(damage, source, target, move) {\n\t\t\tif (move.type === 'Dark' && target.getMoveHitData(move).typeMod > 0) {\n\t\t\t\tconst hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6);\n\t\t\t\tif (hitSub) return;\n\n\t\t\t\tif (target.eatItem()) {\n\t\t\t\t\tthis.debug('-50% reduction');\n\t\t\t\t\tthis.add('-enditem', target, this.effect, '[weaken]');\n\t\t\t\t\treturn this.chainModify(0.5);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonEat() { },\n\t\tnum: 198,\n\t\tgen: 4,\n\t},\n\tcornerstonemask: {\n\t\tname: \"Cornerstone Mask\",\n\t\tspritenum: 758,\n\t\tfling: {\n\t\t\tbasePower: 60,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (user.baseSpecies.name.startsWith('Ogerpon-Cornerstone')) {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, source) {\n\t\t\tif (source.baseSpecies.baseSpecies === 'Ogerpon') return false;\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Ogerpon-Cornerstone\",\n\t\titemUser: [\"Ogerpon-Cornerstone\"],\n\t\tnum: 2406,\n\t\tgen: 9,\n\t},\n\tcornnberry: {\n\t\tname: \"Cornn Berry\",\n\t\tspritenum: 81,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 90,\n\t\t\ttype: \"Bug\",\n\t\t},\n\t\tonEat: false,\n\t\tnum: 175,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\tcoverfossil: {\n\t\tname: \"Cover Fossil\",\n\t\tspritenum: 85,\n\t\tfling: {\n\t\t\tbasePower: 100,\n\t\t},\n\t\tnum: 572,\n\t\tgen: 5,\n\t\tisNonstandard: \"Past\",\n\t},\n\tcovertcloak: {\n\t\tname: \"Covert Cloak\",\n\t\tspritenum: 750,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonModifySecondaries(secondaries) {\n\t\t\tthis.debug('Covert Cloak prevent secondary');\n\t\t\treturn secondaries.filter(effect => !!(effect.self || effect.dustproof));\n\t\t},\n\t\tnum: 1885,\n\t\tgen: 9,\n\t},\n\tcrackedpot: {\n\t\tname: \"Cracked Pot\",\n\t\tspritenum: 719,\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tnum: 1253,\n\t\tgen: 8,\n\t},\n\tcustapberry: {\n\t\tname: \"Custap Berry\",\n\t\tspritenum: 86,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 100,\n\t\t\ttype: \"Ghost\",\n\t\t},\n\t\tonFractionalPriorityPriority: -2,\n\t\tonFractionalPriority(priority, pokemon) {\n\t\t\tif (\n\t\t\t\tpriority <= 0 &&\n\t\t\t\t(pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&\n\t\t\t\tpokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony))\n\t\t\t) {\n\t\t\t\tif (pokemon.eatItem()) {\n\t\t\t\t\tthis.add('-activate', pokemon, 'item: Custap Berry', '[consumed]');\n\t\t\t\t\treturn 0.1;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonEat() { },\n\t\tnum: 210,\n\t\tgen: 4,\n\t},\n\tdamprock: {\n\t\tname: \"Damp Rock\",\n\t\tspritenum: 88,\n\t\tfling: {\n\t\t\tbasePower: 60,\n\t\t},\n\t\tnum: 285,\n\t\tgen: 4,\n\t},\n\tdarkgem: {\n\t\tname: \"Dark Gem\",\n\t\tspritenum: 89,\n\t\tisGem: true,\n\t\tonSourceTryPrimaryHit(target, source, move) {\n\t\t\tif (target === source || move.category === 'Status') return;\n\t\t\tif (move.type === 'Dark' && source.useItem()) {\n\t\t\t\tsource.addVolatile('gem');\n\t\t\t}\n\t\t},\n\t\tnum: 562,\n\t\tgen: 5,\n\t\tisNonstandard: \"Past\",\n\t},\n\tdarkmemory: {\n\t\tname: \"Dark Memory\",\n\t\tspritenum: 683,\n\t\tonMemory: 'Dark',\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 773) || pokemon.baseSpecies.num === 773) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Silvally-Dark\",\n\t\titemUser: [\"Silvally-Dark\"],\n\t\tnum: 919,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tdarkiniumz: {\n\t\tname: \"Darkinium Z\",\n\t\tspritenum: 646,\n\t\tonPlate: 'Dark',\n\t\tonTakeItem: false,\n\t\tzMove: true,\n\t\tzMoveType: \"Dark\",\n\t\tforcedForme: \"Arceus-Dark\",\n\t\tnum: 791,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tdawnstone: {\n\t\tname: \"Dawn Stone\",\n\t\tspritenum: 92,\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tnum: 109,\n\t\tgen: 4,\n\t},\n\tdecidiumz: {\n\t\tname: \"Decidium Z\",\n\t\tspritenum: 650,\n\t\tonTakeItem: false,\n\t\tzMove: \"Sinister Arrow Raid\",\n\t\tzMoveFrom: \"Spirit Shackle\",\n\t\titemUser: [\"Decidueye\"],\n\t\tnum: 798,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tdeepseascale: {\n\t\tname: \"Deep Sea Scale\",\n\t\tspritenum: 93,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonModifySpDPriority: 2,\n\t\tonModifySpD(spd, pokemon) {\n\t\t\tif (pokemon.baseSpecies.name === 'Clamperl') {\n\t\t\t\treturn this.chainModify(2);\n\t\t\t}\n\t\t},\n\t\titemUser: [\"Clamperl\"],\n\t\tnum: 227,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\tdeepseatooth: {\n\t\tname: \"Deep Sea Tooth\",\n\t\tspritenum: 94,\n\t\tfling: {\n\t\t\tbasePower: 90,\n\t\t},\n\t\tonModifySpAPriority: 1,\n\t\tonModifySpA(spa, pokemon) {\n\t\t\tif (pokemon.baseSpecies.name === 'Clamperl') {\n\t\t\t\treturn this.chainModify(2);\n\t\t\t}\n\t\t},\n\t\titemUser: [\"Clamperl\"],\n\t\tnum: 226,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\tdestinyknot: {\n\t\tname: \"Destiny Knot\",\n\t\tspritenum: 95,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonAttractPriority: -100,\n\t\tonAttract(target, source) {\n\t\t\tthis.debug('attract intercepted: ' + target + ' from ' + source);\n\t\t\tif (!source || source === target) return;\n\t\t\tif (!source.volatiles['attract']) source.addVolatile('attract', target);\n\t\t},\n\t\tnum: 280,\n\t\tgen: 4,\n\t},\n\tdiancite: {\n\t\tname: \"Diancite\",\n\t\tspritenum: 624,\n\t\tmegaStone: \"Diancie-Mega\",\n\t\tmegaEvolves: \"Diancie\",\n\t\titemUser: [\"Diancie\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 764,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tdiveball: {\n\t\tname: \"Dive Ball\",\n\t\tspritenum: 101,\n\t\tnum: 7,\n\t\tgen: 3,\n\t\tisPokeball: true,\n\t},\n\tdomefossil: {\n\t\tname: \"Dome Fossil\",\n\t\tspritenum: 102,\n\t\tfling: {\n\t\t\tbasePower: 100,\n\t\t},\n\t\tnum: 102,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\tdousedrive: {\n\t\tname: \"Douse Drive\",\n\t\tspritenum: 103,\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 649) || pokemon.baseSpecies.num === 649) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tonDrive: 'Water',\n\t\tforcedForme: \"Genesect-Douse\",\n\t\titemUser: [\"Genesect-Douse\"],\n\t\tnum: 116,\n\t\tgen: 5,\n\t\tisNonstandard: \"Past\",\n\t},\n\tdracoplate: {\n\t\tname: \"Draco Plate\",\n\t\tspritenum: 105,\n\t\tonPlate: 'Dragon',\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move && move.type === 'Dragon') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 493) || pokemon.baseSpecies.num === 493) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Arceus-Dragon\",\n\t\tnum: 311,\n\t\tgen: 4,\n\t},\n\tdragonfang: {\n\t\tname: \"Dragon Fang\",\n\t\tspritenum: 106,\n\t\tfling: {\n\t\t\tbasePower: 70,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move && move.type === 'Dragon') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 250,\n\t\tgen: 2,\n\t},\n\tdragongem: {\n\t\tname: \"Dragon Gem\",\n\t\tspritenum: 107,\n\t\tisGem: true,\n\t\tonSourceTryPrimaryHit(target, source, move) {\n\t\t\tif (target === source || move.category === 'Status') return;\n\t\t\tif (move.type === 'Dragon' && source.useItem()) {\n\t\t\t\tsource.addVolatile('gem');\n\t\t\t}\n\t\t},\n\t\tnum: 561,\n\t\tgen: 5,\n\t\tisNonstandard: \"Past\",\n\t},\n\tdragonmemory: {\n\t\tname: \"Dragon Memory\",\n\t\tspritenum: 682,\n\t\tonMemory: 'Dragon',\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 773) || pokemon.baseSpecies.num === 773) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Silvally-Dragon\",\n\t\titemUser: [\"Silvally-Dragon\"],\n\t\tnum: 918,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tdragonscale: {\n\t\tname: \"Dragon Scale\",\n\t\tspritenum: 108,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tnum: 235,\n\t\tgen: 2,\n\t},\n\tdragoniumz: {\n\t\tname: \"Dragonium Z\",\n\t\tspritenum: 645,\n\t\tonPlate: 'Dragon',\n\t\tonTakeItem: false,\n\t\tzMove: true,\n\t\tzMoveType: \"Dragon\",\n\t\tforcedForme: \"Arceus-Dragon\",\n\t\tnum: 790,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tdreadplate: {\n\t\tname: \"Dread Plate\",\n\t\tspritenum: 110,\n\t\tonPlate: 'Dark',\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move && move.type === 'Dark') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 493) || pokemon.baseSpecies.num === 493) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Arceus-Dark\",\n\t\tnum: 312,\n\t\tgen: 4,\n\t},\n\tdreamball: {\n\t\tname: \"Dream Ball\",\n\t\tspritenum: 111,\n\t\tnum: 576,\n\t\tgen: 5,\n\t\tisPokeball: true,\n\t},\n\tdubiousdisc: {\n\t\tname: \"Dubious Disc\",\n\t\tspritenum: 113,\n\t\tfling: {\n\t\t\tbasePower: 50,\n\t\t},\n\t\tnum: 324,\n\t\tgen: 4,\n\t},\n\tdurinberry: {\n\t\tname: \"Durin Berry\",\n\t\tspritenum: 114,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 100,\n\t\t\ttype: \"Water\",\n\t\t},\n\t\tonEat: false,\n\t\tnum: 182,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\tduskball: {\n\t\tname: \"Dusk Ball\",\n\t\tspritenum: 115,\n\t\tnum: 13,\n\t\tgen: 4,\n\t\tisPokeball: true,\n\t},\n\tduskstone: {\n\t\tname: \"Dusk Stone\",\n\t\tspritenum: 116,\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tnum: 108,\n\t\tgen: 4,\n\t},\n\tearthplate: {\n\t\tname: \"Earth Plate\",\n\t\tspritenum: 117,\n\t\tonPlate: 'Ground',\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move && move.type === 'Ground') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 493) || pokemon.baseSpecies.num === 493) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Arceus-Ground\",\n\t\tnum: 305,\n\t\tgen: 4,\n\t},\n\teeviumz: {\n\t\tname: \"Eevium Z\",\n\t\tspritenum: 657,\n\t\tonTakeItem: false,\n\t\tzMove: \"Extreme Evoboost\",\n\t\tzMoveFrom: \"Last Resort\",\n\t\titemUser: [\"Eevee\"],\n\t\tnum: 805,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tejectbutton: {\n\t\tname: \"Eject Button\",\n\t\tspritenum: 118,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonAfterMoveSecondaryPriority: 2,\n\t\tonAfterMoveSecondary(target, source, move) {\n\t\t\tif (source && source !== target && target.hp && move && move.category !== 'Status' && !move.flags['futuremove']) {\n\t\t\t\tif (!this.canSwitch(target.side) || target.forceSwitchFlag || target.beingCalledBack || target.isSkyDropped()) return;\n\t\t\t\tif (target.volatiles['commanding'] || target.volatiles['commanded']) return;\n\t\t\t\tfor (const pokemon of this.getAllActive()) {\n\t\t\t\t\tif (pokemon.switchFlag === true) return;\n\t\t\t\t}\n\t\t\t\ttarget.switchFlag = true;\n\t\t\t\tif (target.useItem()) {\n\t\t\t\t\tsource.switchFlag = false;\n\t\t\t\t} else {\n\t\t\t\t\ttarget.switchFlag = false;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tnum: 547,\n\t\tgen: 5,\n\t},\n\tejectpack: {\n\t\tname: \"Eject Pack\",\n\t\tspritenum: 714,\n\t\tfling: {\n\t\t\tbasePower: 50,\n\t\t},\n\t\tonAfterBoost(boost, target, source, effect) {\n\t\t\tif (this.activeMove?.id === 'partingshot') return;\n\t\t\tlet eject = false;\n\t\t\tlet i: BoostID;\n\t\t\tfor (i in boost) {\n\t\t\t\tif (boost[i]! < 0) {\n\t\t\t\t\teject = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (eject) {\n\t\t\t\tif (target.hp) {\n\t\t\t\t\tif (!this.canSwitch(target.side)) return;\n\t\t\t\t\tif (target.volatiles['commanding'] || target.volatiles['commanded']) return;\n\t\t\t\t\tfor (const pokemon of this.getAllActive()) {\n\t\t\t\t\t\tif (pokemon.switchFlag === true) return;\n\t\t\t\t\t}\n\t\t\t\t\tif (target.useItem()) target.switchFlag = true;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tnum: 1119,\n\t\tgen: 8,\n\t},\n\telectirizer: {\n\t\tname: \"Electirizer\",\n\t\tspritenum: 119,\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tnum: 322,\n\t\tgen: 4,\n\t},\n\telectricgem: {\n\t\tname: \"Electric Gem\",\n\t\tspritenum: 120,\n\t\tisGem: true,\n\t\tonSourceTryPrimaryHit(target, source, move) {\n\t\t\tif (target === source || move.category === 'Status' || move.flags['pledgecombo']) return;\n\t\t\tif (move.type === 'Electric' && source.useItem()) {\n\t\t\t\tsource.addVolatile('gem');\n\t\t\t}\n\t\t},\n\t\tnum: 550,\n\t\tgen: 5,\n\t\tisNonstandard: \"Past\",\n\t},\n\telectricmemory: {\n\t\tname: \"Electric Memory\",\n\t\tspritenum: 679,\n\t\tonMemory: 'Electric',\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 773) || pokemon.baseSpecies.num === 773) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Silvally-Electric\",\n\t\titemUser: [\"Silvally-Electric\"],\n\t\tnum: 915,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\telectricseed: {\n\t\tname: \"Electric Seed\",\n\t\tspritenum: 664,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonStart(pokemon) {\n\t\t\tif (!pokemon.ignoringItem() && this.field.isTerrain('electricterrain')) {\n\t\t\t\tpokemon.useItem();\n\t\t\t}\n\t\t},\n\t\tonTerrainChange(pokemon) {\n\t\t\tif (this.field.isTerrain('electricterrain')) {\n\t\t\t\tpokemon.useItem();\n\t\t\t}\n\t\t},\n\t\tboosts: {\n\t\t\tdef: 1,\n\t\t},\n\t\tnum: 881,\n\t\tgen: 7,\n\t},\n\telectriumz: {\n\t\tname: \"Electrium Z\",\n\t\tspritenum: 634,\n\t\tonPlate: 'Electric',\n\t\tonTakeItem: false,\n\t\tzMove: true,\n\t\tzMoveType: \"Electric\",\n\t\tforcedForme: \"Arceus-Electric\",\n\t\tnum: 779,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tenigmaberry: {\n\t\tname: \"Enigma Berry\",\n\t\tspritenum: 124,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 100,\n\t\t\ttype: \"Bug\",\n\t\t},\n\t\tonHit(target, source, move) {\n\t\t\tif (move && target.getMoveHitData(move).typeMod > 0) {\n\t\t\t\tif (target.eatItem()) {\n\t\t\t\t\tthis.heal(target.baseMaxhp / 4);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonTryEatItem(item, pokemon) {\n\t\t\tif (!this.runEvent('TryHeal', pokemon, null, this.effect, pokemon.baseMaxhp / 4)) return false;\n\t\t},\n\t\tonEat() { },\n\t\tnum: 208,\n\t\tgen: 3,\n\t},\n\teviolite: {\n\t\tname: \"Eviolite\",\n\t\tspritenum: 130,\n\t\tfling: {\n\t\t\tbasePower: 40,\n\t\t},\n\t\tonModifyDefPriority: 2,\n\t\tonModifyDef(def, pokemon) {\n\t\t\tif (pokemon.baseSpecies.nfe) {\n\t\t\t\treturn this.chainModify(1.5);\n\t\t\t}\n\t\t},\n\t\tonModifySpDPriority: 2,\n\t\tonModifySpD(spd, pokemon) {\n\t\t\tif (pokemon.baseSpecies.nfe) {\n\t\t\t\treturn this.chainModify(1.5);\n\t\t\t}\n\t\t},\n\t\tnum: 538,\n\t\tgen: 5,\n\t},\n\texpertbelt: {\n\t\tname: \"Expert Belt\",\n\t\tspritenum: 132,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonModifyDamage(damage, source, target, move) {\n\t\t\tif (move && target.getMoveHitData(move).typeMod > 0) {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 268,\n\t\tgen: 4,\n\t},\n\tfairiumz: {\n\t\tname: \"Fairium Z\",\n\t\tspritenum: 648,\n\t\tonPlate: 'Fairy',\n\t\tonTakeItem: false,\n\t\tzMove: true,\n\t\tzMoveType: \"Fairy\",\n\t\tforcedForme: \"Arceus-Fairy\",\n\t\tnum: 793,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tfairyfeather: {\n\t\tname: \"Fairy Feather\",\n\t\tspritenum: 754,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move && move.type === 'Fairy') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 2401,\n\t\tgen: 9,\n\t},\n\tfairygem: {\n\t\tname: \"Fairy Gem\",\n\t\tspritenum: 611,\n\t\tisGem: true,\n\t\tonSourceTryPrimaryHit(target, source, move) {\n\t\t\tif (target === source || move.category === 'Status') return;\n\t\t\tif (move.type === 'Fairy' && source.useItem()) {\n\t\t\t\tsource.addVolatile('gem');\n\t\t\t}\n\t\t},\n\t\tnum: 715,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tfairymemory: {\n\t\tname: \"Fairy Memory\",\n\t\tspritenum: 684,\n\t\tonMemory: 'Fairy',\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 773) || pokemon.baseSpecies.num === 773) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Silvally-Fairy\",\n\t\titemUser: [\"Silvally-Fairy\"],\n\t\tnum: 920,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tfastball: {\n\t\tname: \"Fast Ball\",\n\t\tspritenum: 137,\n\t\tnum: 492,\n\t\tgen: 2,\n\t\tisPokeball: true,\n\t},\n\tfightinggem: {\n\t\tname: \"Fighting Gem\",\n\t\tspritenum: 139,\n\t\tisGem: true,\n\t\tonSourceTryPrimaryHit(target, source, move) {\n\t\t\tif (target === source || move.category === 'Status') return;\n\t\t\tif (move.type === 'Fighting' && source.useItem()) {\n\t\t\t\tsource.addVolatile('gem');\n\t\t\t}\n\t\t},\n\t\tnum: 553,\n\t\tgen: 5,\n\t\tisNonstandard: \"Past\",\n\t},\n\tfightingmemory: {\n\t\tname: \"Fighting Memory\",\n\t\tspritenum: 668,\n\t\tonMemory: 'Fighting',\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 773) || pokemon.baseSpecies.num === 773) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Silvally-Fighting\",\n\t\titemUser: [\"Silvally-Fighting\"],\n\t\tnum: 904,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tfightiniumz: {\n\t\tname: \"Fightinium Z\",\n\t\tspritenum: 637,\n\t\tonPlate: 'Fighting',\n\t\tonTakeItem: false,\n\t\tzMove: true,\n\t\tzMoveType: \"Fighting\",\n\t\tforcedForme: \"Arceus-Fighting\",\n\t\tnum: 782,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tfigyberry: {\n\t\tname: \"Figy Berry\",\n\t\tspritenum: 140,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Bug\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&\n\t\t\t\t\tpokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonTryEatItem(item, pokemon) {\n\t\t\tif (!this.runEvent('TryHeal', pokemon, null, this.effect, pokemon.baseMaxhp / 3)) return false;\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tthis.heal(pokemon.baseMaxhp / 3);\n\t\t\tif (pokemon.getNature().minus === 'atk') {\n\t\t\t\tpokemon.addVolatile('confusion');\n\t\t\t}\n\t\t},\n\t\tnum: 159,\n\t\tgen: 3,\n\t},\n\tfiregem: {\n\t\tname: \"Fire Gem\",\n\t\tspritenum: 141,\n\t\tisGem: true,\n\t\tonSourceTryPrimaryHit(target, source, move) {\n\t\t\tif (target === source || move.category === 'Status' || move.flags['pledgecombo']) return;\n\t\t\tif (move.type === 'Fire' && source.useItem()) {\n\t\t\t\tsource.addVolatile('gem');\n\t\t\t}\n\t\t},\n\t\tnum: 548,\n\t\tgen: 5,\n\t\tisNonstandard: \"Past\",\n\t},\n\tfirememory: {\n\t\tname: \"Fire Memory\",\n\t\tspritenum: 676,\n\t\tonMemory: 'Fire',\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 773) || pokemon.baseSpecies.num === 773) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Silvally-Fire\",\n\t\titemUser: [\"Silvally-Fire\"],\n\t\tnum: 912,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tfirestone: {\n\t\tname: \"Fire Stone\",\n\t\tspritenum: 142,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tnum: 82,\n\t\tgen: 1,\n\t},\n\tfiriumz: {\n\t\tname: \"Firium Z\",\n\t\tspritenum: 632,\n\t\tonPlate: 'Fire',\n\t\tonTakeItem: false,\n\t\tzMove: true,\n\t\tzMoveType: \"Fire\",\n\t\tforcedForme: \"Arceus-Fire\",\n\t\tnum: 777,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tfistplate: {\n\t\tname: \"Fist Plate\",\n\t\tspritenum: 143,\n\t\tonPlate: 'Fighting',\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move && move.type === 'Fighting') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 493) || pokemon.baseSpecies.num === 493) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Arceus-Fighting\",\n\t\tnum: 303,\n\t\tgen: 4,\n\t},\n\tflameorb: {\n\t\tname: \"Flame Orb\",\n\t\tspritenum: 145,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t\tstatus: 'brn',\n\t\t},\n\t\tonResidualOrder: 28,\n\t\tonResidualSubOrder: 3,\n\t\tonResidual(pokemon) {\n\t\t\tpokemon.trySetStatus('brn', pokemon);\n\t\t},\n\t\tnum: 273,\n\t\tgen: 4,\n\t},\n\tflameplate: {\n\t\tname: \"Flame Plate\",\n\t\tspritenum: 146,\n\t\tonPlate: 'Fire',\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move && move.type === 'Fire') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 493) || pokemon.baseSpecies.num === 493) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Arceus-Fire\",\n\t\tnum: 298,\n\t\tgen: 4,\n\t},\n\tfloatstone: {\n\t\tname: \"Float Stone\",\n\t\tspritenum: 147,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonModifyWeight(weighthg) {\n\t\t\treturn this.trunc(weighthg / 2);\n\t\t},\n\t\tnum: 539,\n\t\tgen: 5,\n\t},\n\tflowersweet: {\n\t\tname: \"Flower Sweet\",\n\t\tspritenum: 708,\n\t\tfling: {\n\t\t\tbasePower: 0,\n\t\t},\n\t\tnum: 1113,\n\t\tgen: 8,\n\t},\n\tflyinggem: {\n\t\tname: \"Flying Gem\",\n\t\tspritenum: 149,\n\t\tisGem: true,\n\t\tonSourceTryPrimaryHit(target, source, move) {\n\t\t\tif (target === source || move.category === 'Status') return;\n\t\t\tif (move.type === 'Flying' && source.useItem()) {\n\t\t\t\tsource.addVolatile('gem');\n\t\t\t}\n\t\t},\n\t\tnum: 556,\n\t\tgen: 5,\n\t\tisNonstandard: \"Past\",\n\t},\n\tflyingmemory: {\n\t\tname: \"Flying Memory\",\n\t\tspritenum: 669,\n\t\tonMemory: 'Flying',\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 773) || pokemon.baseSpecies.num === 773) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Silvally-Flying\",\n\t\titemUser: [\"Silvally-Flying\"],\n\t\tnum: 905,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tflyiniumz: {\n\t\tname: \"Flyinium Z\",\n\t\tspritenum: 640,\n\t\tonPlate: 'Flying',\n\t\tonTakeItem: false,\n\t\tzMove: true,\n\t\tzMoveType: \"Flying\",\n\t\tforcedForme: \"Arceus-Flying\",\n\t\tnum: 785,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tfocusband: {\n\t\tname: \"Focus Band\",\n\t\tspritenum: 150,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonDamagePriority: -40,\n\t\tonDamage(damage, target, source, effect) {\n\t\t\tif (this.randomChance(1, 10) && damage >= target.hp && effect && effect.effectType === 'Move') {\n\t\t\t\tthis.add(\"-activate\", target, \"item: Focus Band\");\n\t\t\t\treturn target.hp - 1;\n\t\t\t}\n\t\t},\n\t\tnum: 230,\n\t\tgen: 2,\n\t},\n\tfocussash: {\n\t\tname: \"Focus Sash\",\n\t\tspritenum: 151,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonDamagePriority: -40,\n\t\tonDamage(damage, target, source, effect) {\n\t\t\tif (target.hp === target.maxhp && damage >= target.hp && effect && effect.effectType === 'Move') {\n\t\t\t\tif (target.useItem()) {\n\t\t\t\t\treturn target.hp - 1;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tnum: 275,\n\t\tgen: 4,\n\t},\n\tfossilizedbird: {\n\t\tname: \"Fossilized Bird\",\n\t\tspritenum: 700,\n\t\tfling: {\n\t\t\tbasePower: 100,\n\t\t},\n\t\tnum: 1105,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\tfossilizeddino: {\n\t\tname: \"Fossilized Dino\",\n\t\tspritenum: 703,\n\t\tfling: {\n\t\t\tbasePower: 100,\n\t\t},\n\t\tnum: 1108,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\tfossilizeddrake: {\n\t\tname: \"Fossilized Drake\",\n\t\tspritenum: 702,\n\t\tfling: {\n\t\t\tbasePower: 100,\n\t\t},\n\t\tnum: 1107,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\tfossilizedfish: {\n\t\tname: \"Fossilized Fish\",\n\t\tspritenum: 701,\n\t\tfling: {\n\t\t\tbasePower: 100,\n\t\t},\n\t\tnum: 1106,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\tfriendball: {\n\t\tname: \"Friend Ball\",\n\t\tspritenum: 153,\n\t\tnum: 497,\n\t\tgen: 2,\n\t\tisPokeball: true,\n\t},\n\tfullincense: {\n\t\tname: \"Full Incense\",\n\t\tspritenum: 155,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonFractionalPriority: -0.1,\n\t\tnum: 316,\n\t\tgen: 4,\n\t\tisNonstandard: \"Past\",\n\t},\n\tgalaricacuff: {\n\t\tname: \"Galarica Cuff\",\n\t\tspritenum: 739,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tnum: 1582,\n\t\tgen: 8,\n\t\tisNonstandard: \"Unobtainable\",\n\t},\n\tgalaricawreath: {\n\t\tname: \"Galarica Wreath\",\n\t\tspritenum: 740,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tnum: 1592,\n\t\tgen: 8,\n\t\tisNonstandard: \"Unobtainable\",\n\t},\n\tgalladite: {\n\t\tname: \"Galladite\",\n\t\tspritenum: 616,\n\t\tmegaStone: \"Gallade-Mega\",\n\t\tmegaEvolves: \"Gallade\",\n\t\titemUser: [\"Gallade\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 756,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tganlonberry: {\n\t\tname: \"Ganlon Berry\",\n\t\tspritenum: 158,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 100,\n\t\t\ttype: \"Ice\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&\n\t\t\t\t\tpokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tthis.boost({def: 1});\n\t\t},\n\t\tnum: 202,\n\t\tgen: 3,\n\t},\n\tgarchompite: {\n\t\tname: \"Garchompite\",\n\t\tspritenum: 589,\n\t\tmegaStone: \"Garchomp-Mega\",\n\t\tmegaEvolves: \"Garchomp\",\n\t\titemUser: [\"Garchomp\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 683,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tgardevoirite: {\n\t\tname: \"Gardevoirite\",\n\t\tspritenum: 587,\n\t\tmegaStone: \"Gardevoir-Mega\",\n\t\tmegaEvolves: \"Gardevoir\",\n\t\titemUser: [\"Gardevoir\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 657,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tgengarite: {\n\t\tname: \"Gengarite\",\n\t\tspritenum: 588,\n\t\tmegaStone: \"Gengar-Mega\",\n\t\tmegaEvolves: \"Gengar\",\n\t\titemUser: [\"Gengar\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 656,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tghostgem: {\n\t\tname: \"Ghost Gem\",\n\t\tspritenum: 161,\n\t\tisGem: true,\n\t\tonSourceTryPrimaryHit(target, source, move) {\n\t\t\tif (target === source || move.category === 'Status') return;\n\t\t\tif (move.type === 'Ghost' && source.useItem()) {\n\t\t\t\tsource.addVolatile('gem');\n\t\t\t}\n\t\t},\n\t\tnum: 560,\n\t\tgen: 5,\n\t\tisNonstandard: \"Past\",\n\t},\n\tghostmemory: {\n\t\tname: \"Ghost Memory\",\n\t\tspritenum: 674,\n\t\tonMemory: 'Ghost',\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 773) || pokemon.baseSpecies.num === 773) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Silvally-Ghost\",\n\t\titemUser: [\"Silvally-Ghost\"],\n\t\tnum: 910,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tghostiumz: {\n\t\tname: \"Ghostium Z\",\n\t\tspritenum: 644,\n\t\tonPlate: 'Ghost',\n\t\tonTakeItem: false,\n\t\tzMove: true,\n\t\tzMoveType: \"Ghost\",\n\t\tforcedForme: \"Arceus-Ghost\",\n\t\tnum: 789,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tglalitite: {\n\t\tname: \"Glalitite\",\n\t\tspritenum: 623,\n\t\tmegaStone: \"Glalie-Mega\",\n\t\tmegaEvolves: \"Glalie\",\n\t\titemUser: [\"Glalie\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 763,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tgoldbottlecap: {\n\t\tname: \"Gold Bottle Cap\",\n\t\tspritenum: 697,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tnum: 796,\n\t\tgen: 7,\n\t},\n\tgrassgem: {\n\t\tname: \"Grass Gem\",\n\t\tspritenum: 172,\n\t\tisGem: true,\n\t\tonSourceTryPrimaryHit(target, source, move) {\n\t\t\tif (target === source || move.category === 'Status' || move.flags['pledgecombo']) return;\n\t\t\tif (move.type === 'Grass' && source.useItem()) {\n\t\t\t\tsource.addVolatile('gem');\n\t\t\t}\n\t\t},\n\t\tnum: 551,\n\t\tgen: 5,\n\t\tisNonstandard: \"Past\",\n\t},\n\tgrassmemory: {\n\t\tname: \"Grass Memory\",\n\t\tspritenum: 678,\n\t\tonMemory: 'Grass',\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 773) || pokemon.baseSpecies.num === 773) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Silvally-Grass\",\n\t\titemUser: [\"Silvally-Grass\"],\n\t\tnum: 914,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tgrassiumz: {\n\t\tname: \"Grassium Z\",\n\t\tspritenum: 635,\n\t\tonPlate: 'Grass',\n\t\tonTakeItem: false,\n\t\tzMove: true,\n\t\tzMoveType: \"Grass\",\n\t\tforcedForme: \"Arceus-Grass\",\n\t\tnum: 780,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tgrassyseed: {\n\t\tname: \"Grassy Seed\",\n\t\tspritenum: 667,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonStart(pokemon) {\n\t\t\tif (!pokemon.ignoringItem() && this.field.isTerrain('grassyterrain')) {\n\t\t\t\tpokemon.useItem();\n\t\t\t}\n\t\t},\n\t\tonTerrainChange(pokemon) {\n\t\t\tif (this.field.isTerrain('grassyterrain')) {\n\t\t\t\tpokemon.useItem();\n\t\t\t}\n\t\t},\n\t\tboosts: {\n\t\t\tdef: 1,\n\t\t},\n\t\tnum: 884,\n\t\tgen: 7,\n\t},\n\tgreatball: {\n\t\tname: \"Great Ball\",\n\t\tspritenum: 174,\n\t\tnum: 3,\n\t\tgen: 1,\n\t\tisPokeball: true,\n\t},\n\tgrepaberry: {\n\t\tname: \"Grepa Berry\",\n\t\tspritenum: 178,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 90,\n\t\t\ttype: \"Flying\",\n\t\t},\n\t\tonEat: false,\n\t\tnum: 173,\n\t\tgen: 3,\n\t},\n\tgripclaw: {\n\t\tname: \"Grip Claw\",\n\t\tspritenum: 179,\n\t\tfling: {\n\t\t\tbasePower: 90,\n\t\t},\n\t\t// implemented in statuses\n\t\tnum: 286,\n\t\tgen: 4,\n\t},\n\tgriseouscore: {\n\t\tname: \"Griseous Core\",\n\t\tspritenum: 743,\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (user.baseSpecies.num === 487 && (move.type === 'Ghost' || move.type === 'Dragon')) {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif (source?.baseSpecies.num === 487 || pokemon.baseSpecies.num === 487) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Giratina-Origin\",\n\t\titemUser: [\"Giratina-Origin\"],\n\t\tnum: 1779,\n\t\tgen: 8,\n\t},\n\tgriseousorb: {\n\t\tname: \"Griseous Orb\",\n\t\tspritenum: 180,\n\t\tfling: {\n\t\t\tbasePower: 60,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (user.baseSpecies.num === 487 && (move.type === 'Ghost' || move.type === 'Dragon')) {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\titemUser: [\"Giratina\"],\n\t\tnum: 112,\n\t\tgen: 4,\n\t},\n\tgroundgem: {\n\t\tname: \"Ground Gem\",\n\t\tspritenum: 182,\n\t\tisGem: true,\n\t\tonSourceTryPrimaryHit(target, source, move) {\n\t\t\tif (target === source || move.category === 'Status') return;\n\t\t\tif (move.type === 'Ground' && source.useItem()) {\n\t\t\t\tsource.addVolatile('gem');\n\t\t\t}\n\t\t},\n\t\tnum: 555,\n\t\tgen: 5,\n\t\tisNonstandard: \"Past\",\n\t},\n\tgroundmemory: {\n\t\tname: \"Ground Memory\",\n\t\tspritenum: 671,\n\t\tonMemory: 'Ground',\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 773) || pokemon.baseSpecies.num === 773) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Silvally-Ground\",\n\t\titemUser: [\"Silvally-Ground\"],\n\t\tnum: 907,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tgroundiumz: {\n\t\tname: \"Groundium Z\",\n\t\tspritenum: 639,\n\t\tonPlate: 'Ground',\n\t\tonTakeItem: false,\n\t\tzMove: true,\n\t\tzMoveType: \"Ground\",\n\t\tforcedForme: \"Arceus-Ground\",\n\t\tnum: 784,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tgyaradosite: {\n\t\tname: \"Gyaradosite\",\n\t\tspritenum: 589,\n\t\tmegaStone: \"Gyarados-Mega\",\n\t\tmegaEvolves: \"Gyarados\",\n\t\titemUser: [\"Gyarados\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 676,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\thabanberry: {\n\t\tname: \"Haban Berry\",\n\t\tspritenum: 185,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Dragon\",\n\t\t},\n\t\tonSourceModifyDamage(damage, source, target, move) {\n\t\t\tif (move.type === 'Dragon' && target.getMoveHitData(move).typeMod > 0) {\n\t\t\t\tconst hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6);\n\t\t\t\tif (hitSub) return;\n\n\t\t\t\tif (target.eatItem()) {\n\t\t\t\t\tthis.debug('-50% reduction');\n\t\t\t\t\tthis.add('-enditem', target, this.effect, '[weaken]');\n\t\t\t\t\treturn this.chainModify(0.5);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonEat() { },\n\t\tnum: 197,\n\t\tgen: 4,\n\t},\n\thardstone: {\n\t\tname: \"Hard Stone\",\n\t\tspritenum: 187,\n\t\tfling: {\n\t\t\tbasePower: 100,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move && move.type === 'Rock') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 238,\n\t\tgen: 2,\n\t},\n\thealball: {\n\t\tname: \"Heal Ball\",\n\t\tspritenum: 188,\n\t\tnum: 14,\n\t\tgen: 4,\n\t\tisPokeball: true,\n\t},\n\thearthflamemask: {\n\t\tname: \"Hearthflame Mask\",\n\t\tspritenum: 760,\n\t\tfling: {\n\t\t\tbasePower: 60,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (user.baseSpecies.name.startsWith('Ogerpon-Hearthflame')) {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, source) {\n\t\t\tif (source.baseSpecies.baseSpecies === 'Ogerpon') return false;\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Ogerpon-Hearthflame\",\n\t\titemUser: [\"Ogerpon-Hearthflame\"],\n\t\tnum: 2408,\n\t\tgen: 9,\n\t},\n\theatrock: {\n\t\tname: \"Heat Rock\",\n\t\tspritenum: 193,\n\t\tfling: {\n\t\t\tbasePower: 60,\n\t\t},\n\t\tnum: 284,\n\t\tgen: 4,\n\t},\n\theavyball: {\n\t\tname: \"Heavy Ball\",\n\t\tspritenum: 194,\n\t\tnum: 495,\n\t\tgen: 2,\n\t\tisPokeball: true,\n\t},\n\theavydutyboots: {\n\t\tname: \"Heavy-Duty Boots\",\n\t\tspritenum: 715,\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tnum: 1120,\n\t\tgen: 8,\n\t\t// Hazard Immunity implemented in moves.ts\n\t},\n\thelixfossil: {\n\t\tname: \"Helix Fossil\",\n\t\tspritenum: 195,\n\t\tfling: {\n\t\t\tbasePower: 100,\n\t\t},\n\t\tnum: 101,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\theracronite: {\n\t\tname: \"Heracronite\",\n\t\tspritenum: 590,\n\t\tmegaStone: \"Heracross-Mega\",\n\t\tmegaEvolves: \"Heracross\",\n\t\titemUser: [\"Heracross\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 680,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\thondewberry: {\n\t\tname: \"Hondew Berry\",\n\t\tspritenum: 213,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 90,\n\t\t\ttype: \"Ground\",\n\t\t},\n\t\tonEat: false,\n\t\tnum: 172,\n\t\tgen: 3,\n\t},\n\thoundoominite: {\n\t\tname: \"Houndoominite\",\n\t\tspritenum: 591,\n\t\tmegaStone: \"Houndoom-Mega\",\n\t\tmegaEvolves: \"Houndoom\",\n\t\titemUser: [\"Houndoom\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 666,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tiapapaberry: {\n\t\tname: \"Iapapa Berry\",\n\t\tspritenum: 217,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Dark\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&\n\t\t\t\t\tpokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonTryEatItem(item, pokemon) {\n\t\t\tif (!this.runEvent('TryHeal', pokemon, null, this.effect, pokemon.baseMaxhp / 3)) return false;\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tthis.heal(pokemon.baseMaxhp / 3);\n\t\t\tif (pokemon.getNature().minus === 'def') {\n\t\t\t\tpokemon.addVolatile('confusion');\n\t\t\t}\n\t\t},\n\t\tnum: 163,\n\t\tgen: 3,\n\t},\n\ticegem: {\n\t\tname: \"Ice Gem\",\n\t\tspritenum: 218,\n\t\tisGem: true,\n\t\tonSourceTryPrimaryHit(target, source, move) {\n\t\t\tif (target === source || move.category === 'Status') return;\n\t\t\tif (move.type === 'Ice' && source.useItem()) {\n\t\t\t\tsource.addVolatile('gem');\n\t\t\t}\n\t\t},\n\t\tnum: 552,\n\t\tgen: 5,\n\t\tisNonstandard: \"Past\",\n\t},\n\ticememory: {\n\t\tname: \"Ice Memory\",\n\t\tspritenum: 681,\n\t\tonMemory: 'Ice',\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 773) || pokemon.baseSpecies.num === 773) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Silvally-Ice\",\n\t\titemUser: [\"Silvally-Ice\"],\n\t\tnum: 917,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\ticestone: {\n\t\tname: \"Ice Stone\",\n\t\tspritenum: 693,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tnum: 849,\n\t\tgen: 7,\n\t},\n\ticicleplate: {\n\t\tname: \"Icicle Plate\",\n\t\tspritenum: 220,\n\t\tonPlate: 'Ice',\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Ice') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 493) || pokemon.baseSpecies.num === 493) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Arceus-Ice\",\n\t\tnum: 302,\n\t\tgen: 4,\n\t},\n\ticiumz: {\n\t\tname: \"Icium Z\",\n\t\tspritenum: 636,\n\t\tonPlate: 'Ice',\n\t\tonTakeItem: false,\n\t\tzMove: true,\n\t\tzMoveType: \"Ice\",\n\t\tforcedForme: \"Arceus-Ice\",\n\t\tnum: 781,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\ticyrock: {\n\t\tname: \"Icy Rock\",\n\t\tspritenum: 221,\n\t\tfling: {\n\t\t\tbasePower: 40,\n\t\t},\n\t\tnum: 282,\n\t\tgen: 4,\n\t},\n\tinciniumz: {\n\t\tname: \"Incinium Z\",\n\t\tspritenum: 651,\n\t\tonTakeItem: false,\n\t\tzMove: \"Malicious Moonsault\",\n\t\tzMoveFrom: \"Darkest Lariat\",\n\t\titemUser: [\"Incineroar\"],\n\t\tnum: 799,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tinsectplate: {\n\t\tname: \"Insect Plate\",\n\t\tspritenum: 223,\n\t\tonPlate: 'Bug',\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Bug') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 493) || pokemon.baseSpecies.num === 493) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Arceus-Bug\",\n\t\tnum: 308,\n\t\tgen: 4,\n\t},\n\tironball: {\n\t\tname: \"Iron Ball\",\n\t\tspritenum: 224,\n\t\tfling: {\n\t\t\tbasePower: 130,\n\t\t},\n\t\tonEffectiveness(typeMod, target, type, move) {\n\t\t\tif (!target) return;\n\t\t\tif (target.volatiles['ingrain'] || target.volatiles['smackdown'] || this.field.getPseudoWeather('gravity')) return;\n\t\t\tif (move.type === 'Ground' && target.hasType('Flying')) return 0;\n\t\t},\n\t\t// airborneness negation implemented in sim/pokemon.js:Pokemon#isGrounded\n\t\tonModifySpe(spe) {\n\t\t\treturn this.chainModify(0.5);\n\t\t},\n\t\tnum: 278,\n\t\tgen: 4,\n\t},\n\tironplate: {\n\t\tname: \"Iron Plate\",\n\t\tspritenum: 225,\n\t\tonPlate: 'Steel',\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Steel') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 493) || pokemon.baseSpecies.num === 493) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Arceus-Steel\",\n\t\tnum: 313,\n\t\tgen: 4,\n\t},\n\tjabocaberry: {\n\t\tname: \"Jaboca Berry\",\n\t\tspritenum: 230,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 100,\n\t\t\ttype: \"Dragon\",\n\t\t},\n\t\tonDamagingHit(damage, target, source, move) {\n\t\t\tif (move.category === 'Physical' && source.hp && source.isActive && !source.hasAbility('magicguard')) {\n\t\t\t\tif (target.eatItem()) {\n\t\t\t\t\tthis.damage(source.baseMaxhp / (target.hasAbility('ripen') ? 4 : 8), source, target);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonEat() { },\n\t\tnum: 211,\n\t\tgen: 4,\n\t},\n\tjawfossil: {\n\t\tname: \"Jaw Fossil\",\n\t\tspritenum: 694,\n\t\tfling: {\n\t\t\tbasePower: 100,\n\t\t},\n\t\tnum: 710,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tkasibberry: {\n\t\tname: \"Kasib Berry\",\n\t\tspritenum: 233,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Ghost\",\n\t\t},\n\t\tonSourceModifyDamage(damage, source, target, move) {\n\t\t\tif (move.type === 'Ghost' && target.getMoveHitData(move).typeMod > 0) {\n\t\t\t\tconst hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6);\n\t\t\t\tif (hitSub) return;\n\n\t\t\t\tif (target.eatItem()) {\n\t\t\t\t\tthis.debug('-50% reduction');\n\t\t\t\t\tthis.add('-enditem', target, this.effect, '[weaken]');\n\t\t\t\t\treturn this.chainModify(0.5);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonEat() { },\n\t\tnum: 196,\n\t\tgen: 4,\n\t},\n\tkebiaberry: {\n\t\tname: \"Kebia Berry\",\n\t\tspritenum: 234,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Poison\",\n\t\t},\n\t\tonSourceModifyDamage(damage, source, target, move) {\n\t\t\tif (move.type === 'Poison' && target.getMoveHitData(move).typeMod > 0) {\n\t\t\t\tconst hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6);\n\t\t\t\tif (hitSub) return;\n\n\t\t\t\tif (target.eatItem()) {\n\t\t\t\t\tthis.debug('-50% reduction');\n\t\t\t\t\tthis.add('-enditem', target, this.effect, '[weaken]');\n\t\t\t\t\treturn this.chainModify(0.5);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonEat() { },\n\t\tnum: 190,\n\t\tgen: 4,\n\t},\n\tkeeberry: {\n\t\tname: \"Kee Berry\",\n\t\tspritenum: 593,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 100,\n\t\t\ttype: \"Fairy\",\n\t\t},\n\t\tonAfterMoveSecondary(target, source, move) {\n\t\t\tif (move.category === 'Physical') {\n\t\t\t\tif (move.id === 'present' && move.heal) return;\n\t\t\t\ttarget.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tthis.boost({def: 1});\n\t\t},\n\t\tnum: 687,\n\t\tgen: 6,\n\t},\n\tkelpsyberry: {\n\t\tname: \"Kelpsy Berry\",\n\t\tspritenum: 235,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 90,\n\t\t\ttype: \"Fighting\",\n\t\t},\n\t\tonEat: false,\n\t\tnum: 170,\n\t\tgen: 3,\n\t},\n\tkangaskhanite: {\n\t\tname: \"Kangaskhanite\",\n\t\tspritenum: 592,\n\t\tmegaStone: \"Kangaskhan-Mega\",\n\t\tmegaEvolves: \"Kangaskhan\",\n\t\titemUser: [\"Kangaskhan\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 675,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tkingsrock: {\n\t\tname: \"King's Rock\",\n\t\tspritenum: 236,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t\tvolatileStatus: 'flinch',\n\t\t},\n\t\tonModifyMovePriority: -1,\n\t\tonModifyMove(move) {\n\t\t\tif (move.category !== \"Status\") {\n\t\t\t\tif (!move.secondaries) move.secondaries = [];\n\t\t\t\tfor (const secondary of move.secondaries) {\n\t\t\t\t\tif (secondary.volatileStatus === 'flinch') return;\n\t\t\t\t}\n\t\t\t\tmove.secondaries.push({\n\t\t\t\t\tchance: 10,\n\t\t\t\t\tvolatileStatus: 'flinch',\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tnum: 221,\n\t\tgen: 2,\n\t},\n\tkommoniumz: {\n\t\tname: \"Kommonium Z\",\n\t\tspritenum: 690,\n\t\tonTakeItem: false,\n\t\tzMove: \"Clangorous Soulblaze\",\n\t\tzMoveFrom: \"Clanging Scales\",\n\t\titemUser: [\"Kommo-o\", \"Kommo-o-Totem\"],\n\t\tnum: 926,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tlaggingtail: {\n\t\tname: \"Lagging Tail\",\n\t\tspritenum: 237,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonFractionalPriority: -0.1,\n\t\tnum: 279,\n\t\tgen: 4,\n\t},\n\tlansatberry: {\n\t\tname: \"Lansat Berry\",\n\t\tspritenum: 238,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 100,\n\t\t\ttype: \"Flying\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&\n\t\t\t\t\tpokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tpokemon.addVolatile('focusenergy');\n\t\t},\n\t\tnum: 206,\n\t\tgen: 3,\n\t},\n\tlatiasite: {\n\t\tname: \"Latiasite\",\n\t\tspritenum: 629,\n\t\tmegaStone: \"Latias-Mega\",\n\t\tmegaEvolves: \"Latias\",\n\t\titemUser: [\"Latias\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 684,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tlatiosite: {\n\t\tname: \"Latiosite\",\n\t\tspritenum: 630,\n\t\tmegaStone: \"Latios-Mega\",\n\t\tmegaEvolves: \"Latios\",\n\t\titemUser: [\"Latios\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 685,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tlaxincense: {\n\t\tname: \"Lax Incense\",\n\t\tspritenum: 240,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonModifyAccuracyPriority: -2,\n\t\tonModifyAccuracy(accuracy) {\n\t\t\tif (typeof accuracy !== 'number') return;\n\t\t\tthis.debug('lax incense - decreasing accuracy');\n\t\t\treturn this.chainModify([3686, 4096]);\n\t\t},\n\t\tnum: 255,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\tleafstone: {\n\t\tname: \"Leaf Stone\",\n\t\tspritenum: 241,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tnum: 85,\n\t\tgen: 1,\n\t},\n\tleek: {\n\t\tname: \"Leek\",\n\t\tfling: {\n\t\t\tbasePower: 60,\n\t\t},\n\t\tspritenum: 475,\n\t\tonModifyCritRatio(critRatio, user) {\n\t\t\tif ([\"farfetchd\", \"sirfetchd\"].includes(this.toID(user.baseSpecies.baseSpecies))) {\n\t\t\t\treturn critRatio + 2;\n\t\t\t}\n\t\t},\n\t\titemUser: [\"Farfetch\\u2019d\", \"Farfetch\\u2019d-Galar\", \"Sirfetch\\u2019d\"],\n\t\tnum: 259,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\tleftovers: {\n\t\tname: \"Leftovers\",\n\t\tspritenum: 242,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonResidualOrder: 5,\n\t\tonResidualSubOrder: 4,\n\t\tonResidual(pokemon) {\n\t\t\tthis.heal(pokemon.baseMaxhp / 16);\n\t\t},\n\t\tnum: 234,\n\t\tgen: 2,\n\t},\n\tleppaberry: {\n\t\tname: \"Leppa Berry\",\n\t\tspritenum: 244,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Fighting\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (!pokemon.hp) return;\n\t\t\tif (pokemon.moveSlots.some(move => move.pp === 0)) {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tconst moveSlot = pokemon.moveSlots.find(move => move.pp === 0) ||\n\t\t\t\tpokemon.moveSlots.find(move => move.pp < move.maxpp);\n\t\t\tif (!moveSlot) return;\n\t\t\tmoveSlot.pp += 10;\n\t\t\tif (moveSlot.pp > moveSlot.maxpp) moveSlot.pp = moveSlot.maxpp;\n\t\t\tthis.add('-activate', pokemon, 'item: Leppa Berry', moveSlot.move, '[consumed]');\n\t\t},\n\t\tnum: 154,\n\t\tgen: 3,\n\t},\n\tlevelball: {\n\t\tname: \"Level Ball\",\n\t\tspritenum: 246,\n\t\tnum: 493,\n\t\tgen: 2,\n\t\tisPokeball: true,\n\t},\n\tliechiberry: {\n\t\tname: \"Liechi Berry\",\n\t\tspritenum: 248,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 100,\n\t\t\ttype: \"Grass\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&\n\t\t\t\t\tpokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tthis.boost({atk: 1});\n\t\t},\n\t\tnum: 201,\n\t\tgen: 3,\n\t},\n\tlifeorb: {\n\t\tname: \"Life Orb\",\n\t\tspritenum: 249,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonModifyDamage(damage, source, target, move) {\n\t\t\treturn this.chainModify([5324, 4096]);\n\t\t},\n\t\tonAfterMoveSecondarySelf(source, target, move) {\n\t\t\tif (source && source !== target && move && move.category !== 'Status' && !source.forceSwitchFlag) {\n\t\t\t\tthis.damage(source.baseMaxhp / 10, source, source, this.dex.items.get('lifeorb'));\n\t\t\t}\n\t\t},\n\t\tnum: 270,\n\t\tgen: 4,\n\t},\n\tlightball: {\n\t\tname: \"Light Ball\",\n\t\tspritenum: 251,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t\tstatus: 'par',\n\t\t},\n\t\tonModifyAtkPriority: 1,\n\t\tonModifyAtk(atk, pokemon) {\n\t\t\tif (pokemon.baseSpecies.baseSpecies === 'Pikachu') {\n\t\t\t\treturn this.chainModify(2);\n\t\t\t}\n\t\t},\n\t\tonModifySpAPriority: 1,\n\t\tonModifySpA(spa, pokemon) {\n\t\t\tif (pokemon.baseSpecies.baseSpecies === 'Pikachu') {\n\t\t\t\treturn this.chainModify(2);\n\t\t\t}\n\t\t},\n\t\titemUser: [\"Pikachu\", \"Pikachu-Cosplay\", \"Pikachu-Rock-Star\", \"Pikachu-Belle\", \"Pikachu-Pop-Star\", \"Pikachu-PhD\", \"Pikachu-Libre\", \"Pikachu-Original\", \"Pikachu-Hoenn\", \"Pikachu-Sinnoh\", \"Pikachu-Unova\", \"Pikachu-Kalos\", \"Pikachu-Alola\", \"Pikachu-Partner\", \"Pikachu-Starter\", \"Pikachu-World\"],\n\t\tnum: 236,\n\t\tgen: 2,\n\t},\n\tlightclay: {\n\t\tname: \"Light Clay\",\n\t\tspritenum: 252,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\t// implemented in the corresponding thing\n\t\tnum: 269,\n\t\tgen: 4,\n\t},\n\tloadeddice: {\n\t\tname: \"Loaded Dice\",\n\t\tspritenum: 751,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\t// partially implemented in sim/battle-actions.ts:BattleActions#hitStepMoveHitLoop\n\t\tonModifyMove(move) {\n\t\t\tif (move.multiaccuracy) {\n\t\t\t\tdelete move.multiaccuracy;\n\t\t\t}\n\t\t},\n\t\tnum: 1886,\n\t\tgen: 9,\n\t},\n\tlopunnite: {\n\t\tname: \"Lopunnite\",\n\t\tspritenum: 626,\n\t\tmegaStone: \"Lopunny-Mega\",\n\t\tmegaEvolves: \"Lopunny\",\n\t\titemUser: [\"Lopunny\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 768,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tloveball: {\n\t\tname: \"Love Ball\",\n\t\tspritenum: 258,\n\t\tnum: 496,\n\t\tgen: 2,\n\t\tisPokeball: true,\n\t},\n\tlovesweet: {\n\t\tname: \"Love Sweet\",\n\t\tspritenum: 705,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tnum: 1110,\n\t\tgen: 8,\n\t},\n\tlucarionite: {\n\t\tname: \"Lucarionite\",\n\t\tspritenum: 594,\n\t\tmegaStone: \"Lucario-Mega\",\n\t\tmegaEvolves: \"Lucario\",\n\t\titemUser: [\"Lucario\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 673,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tluckypunch: {\n\t\tname: \"Lucky Punch\",\n\t\tspritenum: 261,\n\t\tfling: {\n\t\t\tbasePower: 40,\n\t\t},\n\t\tonModifyCritRatio(critRatio, user) {\n\t\t\tif (user.baseSpecies.name === 'Chansey') {\n\t\t\t\treturn critRatio + 2;\n\t\t\t}\n\t\t},\n\t\titemUser: [\"Chansey\"],\n\t\tnum: 256,\n\t\tgen: 2,\n\t\tisNonstandard: \"Past\",\n\t},\n\tlumberry: {\n\t\tname: \"Lum Berry\",\n\t\tspritenum: 262,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Flying\",\n\t\t},\n\t\tonAfterSetStatusPriority: -1,\n\t\tonAfterSetStatus(status, pokemon) {\n\t\t\tpokemon.eatItem();\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.status || pokemon.volatiles['confusion']) {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tpokemon.cureStatus();\n\t\t\tpokemon.removeVolatile('confusion');\n\t\t},\n\t\tnum: 157,\n\t\tgen: 3,\n\t},\n\tluminousmoss: {\n\t\tname: \"Luminous Moss\",\n\t\tspritenum: 595,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonDamagingHit(damage, target, source, move) {\n\t\t\tif (move.type === 'Water') {\n\t\t\t\ttarget.useItem();\n\t\t\t}\n\t\t},\n\t\tboosts: {\n\t\t\tspd: 1,\n\t\t},\n\t\tnum: 648,\n\t\tgen: 6,\n\t},\n\tlunaliumz: {\n\t\tname: \"Lunalium Z\",\n\t\tspritenum: 686,\n\t\tonTakeItem: false,\n\t\tzMove: \"Menacing Moonraze Maelstrom\",\n\t\tzMoveFrom: \"Moongeist Beam\",\n\t\titemUser: [\"Lunala\", \"Necrozma-Dawn-Wings\"],\n\t\tnum: 922,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tlureball: {\n\t\tname: \"Lure Ball\",\n\t\tspritenum: 264,\n\t\tnum: 494,\n\t\tgen: 2,\n\t\tisPokeball: true,\n\t},\n\tlustrousglobe: {\n\t\tname: \"Lustrous Globe\",\n\t\tspritenum: 742,\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (user.baseSpecies.num === 484 && (move.type === 'Water' || move.type === 'Dragon')) {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif (source?.baseSpecies.num === 484 || pokemon.baseSpecies.num === 484) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Palkia-Origin\",\n\t\titemUser: [\"Palkia-Origin\"],\n\t\tnum: 1778,\n\t\tgen: 8,\n\t},\n\tlustrousorb: {\n\t\tname: \"Lustrous Orb\",\n\t\tspritenum: 265,\n\t\tfling: {\n\t\t\tbasePower: 60,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (user.baseSpecies.num === 484 && (move.type === 'Water' || move.type === 'Dragon')) {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\titemUser: [\"Palkia\"],\n\t\tnum: 136,\n\t\tgen: 4,\n\t},\n\tluxuryball: {\n\t\tname: \"Luxury Ball\",\n\t\tspritenum: 266,\n\t\tnum: 11,\n\t\tgen: 3,\n\t\tisPokeball: true,\n\t},\n\tlycaniumz: {\n\t\tname: \"Lycanium Z\",\n\t\tspritenum: 689,\n\t\tonTakeItem: false,\n\t\tzMove: \"Splintered Stormshards\",\n\t\tzMoveFrom: \"Stone Edge\",\n\t\titemUser: [\"Lycanroc\", \"Lycanroc-Midnight\", \"Lycanroc-Dusk\"],\n\t\tnum: 925,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tmachobrace: {\n\t\tname: \"Macho Brace\",\n\t\tspritenum: 269,\n\t\tignoreKlutz: true,\n\t\tfling: {\n\t\t\tbasePower: 60,\n\t\t},\n\t\tonModifySpe(spe) {\n\t\t\treturn this.chainModify(0.5);\n\t\t},\n\t\tnum: 215,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\tmagmarizer: {\n\t\tname: \"Magmarizer\",\n\t\tspritenum: 272,\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tnum: 323,\n\t\tgen: 4,\n\t},\n\tmagnet: {\n\t\tname: \"Magnet\",\n\t\tspritenum: 273,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Electric') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 242,\n\t\tgen: 2,\n\t},\n\tmagoberry: {\n\t\tname: \"Mago Berry\",\n\t\tspritenum: 274,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Ghost\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&\n\t\t\t\t\tpokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonTryEatItem(item, pokemon) {\n\t\t\tif (!this.runEvent('TryHeal', pokemon, null, this.effect, pokemon.baseMaxhp / 3)) return false;\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tthis.heal(pokemon.baseMaxhp / 3);\n\t\t\tif (pokemon.getNature().minus === 'spe') {\n\t\t\t\tpokemon.addVolatile('confusion');\n\t\t\t}\n\t\t},\n\t\tnum: 161,\n\t\tgen: 3,\n\t},\n\tmagostberry: {\n\t\tname: \"Magost Berry\",\n\t\tspritenum: 275,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 90,\n\t\t\ttype: \"Rock\",\n\t\t},\n\t\tonEat: false,\n\t\tnum: 176,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\tmail: {\n\t\tname: \"Mail\",\n\t\tspritenum: 403,\n\t\tonTakeItem(item, source) {\n\t\t\tif (!this.activeMove) return false;\n\t\t\tif (this.activeMove.id !== 'knockoff' && this.activeMove.id !== 'thief' && this.activeMove.id !== 'covet') return false;\n\t\t},\n\t\tnum: 137,\n\t\tgen: 2,\n\t\tisNonstandard: \"Past\",\n\t},\n\tmaliciousarmor: {\n\t\tname: \"Malicious Armor\",\n\t\tspritenum: 744,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tnum: 1861,\n\t\tgen: 9,\n\t},\n\tmanectite: {\n\t\tname: \"Manectite\",\n\t\tspritenum: 596,\n\t\tmegaStone: \"Manectric-Mega\",\n\t\tmegaEvolves: \"Manectric\",\n\t\titemUser: [\"Manectric\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 682,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tmarangaberry: {\n\t\tname: \"Maranga Berry\",\n\t\tspritenum: 597,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 100,\n\t\t\ttype: \"Dark\",\n\t\t},\n\t\tonAfterMoveSecondary(target, source, move) {\n\t\t\tif (move.category === 'Special') {\n\t\t\t\ttarget.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tthis.boost({spd: 1});\n\t\t},\n\t\tnum: 688,\n\t\tgen: 6,\n\t},\n\tmarshadiumz: {\n\t\tname: \"Marshadium Z\",\n\t\tspritenum: 654,\n\t\tonTakeItem: false,\n\t\tzMove: \"Soul-Stealing 7-Star Strike\",\n\t\tzMoveFrom: \"Spectral Thief\",\n\t\titemUser: [\"Marshadow\"],\n\t\tnum: 802,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tmasterball: {\n\t\tname: \"Master Ball\",\n\t\tspritenum: 276,\n\t\tnum: 1,\n\t\tgen: 1,\n\t\tisPokeball: true,\n\t},\n\tmasterpieceteacup: {\n\t\tname: \"Masterpiece Teacup\",\n\t\tspritenum: 757,\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tnum: 2404,\n\t\tgen: 9,\n\t},\n\tmawilite: {\n\t\tname: \"Mawilite\",\n\t\tspritenum: 598,\n\t\tmegaStone: \"Mawile-Mega\",\n\t\tmegaEvolves: \"Mawile\",\n\t\titemUser: [\"Mawile\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 681,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tmeadowplate: {\n\t\tname: \"Meadow Plate\",\n\t\tspritenum: 282,\n\t\tonPlate: 'Grass',\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Grass') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 493) || pokemon.baseSpecies.num === 493) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Arceus-Grass\",\n\t\tnum: 301,\n\t\tgen: 4,\n\t},\n\tmedichamite: {\n\t\tname: \"Medichamite\",\n\t\tspritenum: 599,\n\t\tmegaStone: \"Medicham-Mega\",\n\t\tmegaEvolves: \"Medicham\",\n\t\titemUser: [\"Medicham\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 665,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tmentalherb: {\n\t\tname: \"Mental Herb\",\n\t\tspritenum: 285,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t\teffect(pokemon) {\n\t\t\t\tconst conditions = ['attract', 'taunt', 'encore', 'torment', 'disable', 'healblock'];\n\t\t\t\tfor (const firstCondition of conditions) {\n\t\t\t\t\tif (pokemon.volatiles[firstCondition]) {\n\t\t\t\t\t\tfor (const secondCondition of conditions) {\n\t\t\t\t\t\t\tpokemon.removeVolatile(secondCondition);\n\t\t\t\t\t\t\tif (firstCondition === 'attract' && secondCondition === 'attract') {\n\t\t\t\t\t\t\t\tthis.add('-end', pokemon, 'move: Attract', '[from] item: Mental Herb');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tconst conditions = ['attract', 'taunt', 'encore', 'torment', 'disable', 'healblock'];\n\t\t\tfor (const firstCondition of conditions) {\n\t\t\t\tif (pokemon.volatiles[firstCondition]) {\n\t\t\t\t\tif (!pokemon.useItem()) return;\n\t\t\t\t\tfor (const secondCondition of conditions) {\n\t\t\t\t\t\tpokemon.removeVolatile(secondCondition);\n\t\t\t\t\t\tif (firstCondition === 'attract' && secondCondition === 'attract') {\n\t\t\t\t\t\t\tthis.add('-end', pokemon, 'move: Attract', '[from] item: Mental Herb');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tnum: 219,\n\t\tgen: 3,\n\t},\n\tmetagrossite: {\n\t\tname: \"Metagrossite\",\n\t\tspritenum: 618,\n\t\tmegaStone: \"Metagross-Mega\",\n\t\tmegaEvolves: \"Metagross\",\n\t\titemUser: [\"Metagross\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 758,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tmetalalloy: {\n\t\tname: \"Metal Alloy\",\n\t\tspritenum: 761,\n\t\tnum: 2482,\n\t\tgen: 9,\n\t},\n\tmetalcoat: {\n\t\tname: \"Metal Coat\",\n\t\tspritenum: 286,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Steel') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 233,\n\t\tgen: 2,\n\t},\n\tmetalpowder: {\n\t\tname: \"Metal Powder\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 287,\n\t\tonModifyDefPriority: 2,\n\t\tonModifyDef(def, pokemon) {\n\t\t\tif (pokemon.species.name === 'Ditto' && !pokemon.transformed) {\n\t\t\t\treturn this.chainModify(2);\n\t\t\t}\n\t\t},\n\t\titemUser: [\"Ditto\"],\n\t\tnum: 257,\n\t\tgen: 2,\n\t\tisNonstandard: \"Past\",\n\t},\n\tmetronome: {\n\t\tname: \"Metronome\",\n\t\tspritenum: 289,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonStart(pokemon) {\n\t\t\tpokemon.addVolatile('metronome');\n\t\t},\n\t\tcondition: {\n\t\t\tonStart(pokemon) {\n\t\t\t\tthis.effectState.lastMove = '';\n\t\t\t\tthis.effectState.numConsecutive = 0;\n\t\t\t},\n\t\t\tonTryMovePriority: -2,\n\t\t\tonTryMove(pokemon, target, move) {\n\t\t\t\tif (!pokemon.hasItem('metronome')) {\n\t\t\t\t\tpokemon.removeVolatile('metronome');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (this.effectState.lastMove === move.id && pokemon.moveLastTurnResult) {\n\t\t\t\t\tthis.effectState.numConsecutive++;\n\t\t\t\t} else if (pokemon.volatiles['twoturnmove']) {\n\t\t\t\t\tif (this.effectState.lastMove !== move.id) {\n\t\t\t\t\t\tthis.effectState.numConsecutive = 1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.effectState.numConsecutive++;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.effectState.numConsecutive = 0;\n\t\t\t\t}\n\t\t\t\tthis.effectState.lastMove = move.id;\n\t\t\t},\n\t\t\tonModifyDamage(damage, source, target, move) {\n\t\t\t\tconst dmgMod = [4096, 4915, 5734, 6553, 7372, 8192];\n\t\t\t\tconst numConsecutive = this.effectState.numConsecutive > 5 ? 5 : this.effectState.numConsecutive;\n\t\t\t\tthis.debug(`Current Metronome boost: ${dmgMod[numConsecutive]}/4096`);\n\t\t\t\treturn this.chainModify([dmgMod[numConsecutive], 4096]);\n\t\t\t},\n\t\t},\n\t\tnum: 277,\n\t\tgen: 4,\n\t},\n\tmewniumz: {\n\t\tname: \"Mewnium Z\",\n\t\tspritenum: 658,\n\t\tonTakeItem: false,\n\t\tzMove: \"Genesis Supernova\",\n\t\tzMoveFrom: \"Psychic\",\n\t\titemUser: [\"Mew\"],\n\t\tnum: 806,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tmewtwonitex: {\n\t\tname: \"Mewtwonite X\",\n\t\tspritenum: 600,\n\t\tmegaStone: \"Mewtwo-Mega-X\",\n\t\tmegaEvolves: \"Mewtwo\",\n\t\titemUser: [\"Mewtwo\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 662,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tmewtwonitey: {\n\t\tname: \"Mewtwonite Y\",\n\t\tspritenum: 601,\n\t\tmegaStone: \"Mewtwo-Mega-Y\",\n\t\tmegaEvolves: \"Mewtwo\",\n\t\titemUser: [\"Mewtwo\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 663,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tmicleberry: {\n\t\tname: \"Micle Berry\",\n\t\tspritenum: 290,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 100,\n\t\t\ttype: \"Rock\",\n\t\t},\n\t\tonResidual(pokemon) {\n\t\t\tif (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&\n\t\t\t\t\tpokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tpokemon.addVolatile('micleberry');\n\t\t},\n\t\tcondition: {\n\t\t\tduration: 2,\n\t\t\tonSourceAccuracy(accuracy, target, source, move) {\n\t\t\t\tif (!move.ohko) {\n\t\t\t\t\tthis.add('-enditem', source, 'Micle Berry');\n\t\t\t\t\tsource.removeVolatile('micleberry');\n\t\t\t\t\tif (typeof accuracy === 'number') {\n\t\t\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tnum: 209,\n\t\tgen: 4,\n\t},\n\tmimikiumz: {\n\t\tname: \"Mimikium Z\",\n\t\tspritenum: 688,\n\t\tonTakeItem: false,\n\t\tzMove: \"Let's Snuggle Forever\",\n\t\tzMoveFrom: \"Play Rough\",\n\t\titemUser: [\"Mimikyu\", \"Mimikyu-Busted\", \"Mimikyu-Totem\", \"Mimikyu-Busted-Totem\"],\n\t\tnum: 924,\n\t\tisNonstandard: \"Past\",\n\t\tgen: 7,\n\t},\n\tmindplate: {\n\t\tname: \"Mind Plate\",\n\t\tspritenum: 291,\n\t\tonPlate: 'Psychic',\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Psychic') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 493) || pokemon.baseSpecies.num === 493) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Arceus-Psychic\",\n\t\tnum: 307,\n\t\tgen: 4,\n\t},\n\tmiracleseed: {\n\t\tname: \"Miracle Seed\",\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tspritenum: 292,\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Grass') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 239,\n\t\tgen: 2,\n\t},\n\tmirrorherb: {\n\t\tname: \"Mirror Herb\",\n\t\tspritenum: 748,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonFoeAfterBoost(boost, target, source, effect) {\n\t\t\tif (effect?.name === 'Opportunist' || effect?.name === 'Mirror Herb') return;\n\t\t\tconst boostPlus: SparseBoostsTable = {};\n\t\t\tlet statsRaised = false;\n\t\t\tlet i: BoostID;\n\t\t\tfor (i in boost) {\n\t\t\t\tif (boost[i]! > 0) {\n\t\t\t\t\tboostPlus[i] = boost[i];\n\t\t\t\t\tstatsRaised = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!statsRaised) return;\n\t\t\tconst pokemon: Pokemon = this.effectState.target;\n\t\t\tpokemon.useItem();\n\t\t\tthis.boost(boostPlus, pokemon);\n\t\t},\n\t\tnum: 1883,\n\t\tgen: 9,\n\t},\n\tmistyseed: {\n\t\tname: \"Misty Seed\",\n\t\tspritenum: 666,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonStart(pokemon) {\n\t\t\tif (!pokemon.ignoringItem() && this.field.isTerrain('mistyterrain')) {\n\t\t\t\tpokemon.useItem();\n\t\t\t}\n\t\t},\n\t\tonTerrainChange(pokemon) {\n\t\t\tif (this.field.isTerrain('mistyterrain')) {\n\t\t\t\tpokemon.useItem();\n\t\t\t}\n\t\t},\n\t\tboosts: {\n\t\t\tspd: 1,\n\t\t},\n\t\tnum: 883,\n\t\tgen: 7,\n\t},\n\tmoonball: {\n\t\tname: \"Moon Ball\",\n\t\tspritenum: 294,\n\t\tnum: 498,\n\t\tgen: 2,\n\t\tisPokeball: true,\n\t},\n\tmoonstone: {\n\t\tname: \"Moon Stone\",\n\t\tspritenum: 295,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tnum: 81,\n\t\tgen: 1,\n\t},\n\tmuscleband: {\n\t\tname: \"Muscle Band\",\n\t\tspritenum: 297,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonBasePowerPriority: 16,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.category === 'Physical') {\n\t\t\t\treturn this.chainModify([4505, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 266,\n\t\tgen: 4,\n\t},\n\tmysticwater: {\n\t\tname: \"Mystic Water\",\n\t\tspritenum: 300,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Water') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 243,\n\t\tgen: 2,\n\t},\n\tnanabberry: {\n\t\tname: \"Nanab Berry\",\n\t\tspritenum: 302,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 90,\n\t\t\ttype: \"Water\",\n\t\t},\n\t\tonEat: false,\n\t\tnum: 166,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\tnestball: {\n\t\tname: \"Nest Ball\",\n\t\tspritenum: 303,\n\t\tnum: 8,\n\t\tgen: 3,\n\t\tisPokeball: true,\n\t},\n\tnetball: {\n\t\tname: \"Net Ball\",\n\t\tspritenum: 304,\n\t\tnum: 6,\n\t\tgen: 3,\n\t\tisPokeball: true,\n\t},\n\tnevermeltice: {\n\t\tname: \"Never-Melt Ice\",\n\t\tspritenum: 305,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Ice') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 246,\n\t\tgen: 2,\n\t},\n\tnomelberry: {\n\t\tname: \"Nomel Berry\",\n\t\tspritenum: 306,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 90,\n\t\t\ttype: \"Dragon\",\n\t\t},\n\t\tonEat: false,\n\t\tnum: 178,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\tnormalgem: {\n\t\tname: \"Normal Gem\",\n\t\tspritenum: 307,\n\t\tisGem: true,\n\t\tonSourceTryPrimaryHit(target, source, move) {\n\t\t\tif (target === source || move.category === 'Status' || move.flags['pledgecombo']) return;\n\t\t\tif (move.type === 'Normal' && source.useItem()) {\n\t\t\t\tsource.addVolatile('gem');\n\t\t\t}\n\t\t},\n\t\tnum: 564,\n\t\tgen: 5,\n\t},\n\tnormaliumz: {\n\t\tname: \"Normalium Z\",\n\t\tspritenum: 631,\n\t\tonTakeItem: false,\n\t\tzMove: true,\n\t\tzMoveType: \"Normal\",\n\t\tnum: 776,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\toccaberry: {\n\t\tname: \"Occa Berry\",\n\t\tspritenum: 311,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Fire\",\n\t\t},\n\t\tonSourceModifyDamage(damage, source, target, move) {\n\t\t\tif (move.type === 'Fire' && target.getMoveHitData(move).typeMod > 0) {\n\t\t\t\tconst hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6);\n\t\t\t\tif (hitSub) return;\n\n\t\t\t\tif (target.eatItem()) {\n\t\t\t\t\tthis.debug('-50% reduction');\n\t\t\t\t\tthis.add('-enditem', target, this.effect, '[weaken]');\n\t\t\t\t\treturn this.chainModify(0.5);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonEat() { },\n\t\tnum: 184,\n\t\tgen: 4,\n\t},\n\toddincense: {\n\t\tname: \"Odd Incense\",\n\t\tspritenum: 312,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Psychic') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 314,\n\t\tgen: 4,\n\t\tisNonstandard: \"Past\",\n\t},\n\toldamber: {\n\t\tname: \"Old Amber\",\n\t\tspritenum: 314,\n\t\tfling: {\n\t\t\tbasePower: 100,\n\t\t},\n\t\tnum: 103,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\toranberry: {\n\t\tname: \"Oran Berry\",\n\t\tspritenum: 319,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Poison\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.hp <= pokemon.maxhp / 2) {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonTryEatItem(item, pokemon) {\n\t\t\tif (!this.runEvent('TryHeal', pokemon, null, this.effect, 10)) return false;\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tthis.heal(10);\n\t\t},\n\t\tnum: 155,\n\t\tgen: 3,\n\t},\n\tovalstone: {\n\t\tname: \"Oval Stone\",\n\t\tspritenum: 321,\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tnum: 110,\n\t\tgen: 4,\n\t},\n\tpamtreberry: {\n\t\tname: \"Pamtre Berry\",\n\t\tspritenum: 323,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 90,\n\t\t\ttype: \"Steel\",\n\t\t},\n\t\tonEat: false,\n\t\tnum: 180,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\tparkball: {\n\t\tname: \"Park Ball\",\n\t\tspritenum: 325,\n\t\tnum: 500,\n\t\tgen: 4,\n\t\tisPokeball: true,\n\t\tisNonstandard: \"Unobtainable\",\n\t},\n\tpasshoberry: {\n\t\tname: \"Passho Berry\",\n\t\tspritenum: 329,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Water\",\n\t\t},\n\t\tonSourceModifyDamage(damage, source, target, move) {\n\t\t\tif (move.type === 'Water' && target.getMoveHitData(move).typeMod > 0) {\n\t\t\t\tconst hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6);\n\t\t\t\tif (hitSub) return;\n\n\t\t\t\tif (target.eatItem()) {\n\t\t\t\t\tthis.debug('-50% reduction');\n\t\t\t\t\tthis.add('-enditem', target, this.effect, '[weaken]');\n\t\t\t\t\treturn this.chainModify(0.5);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonEat() { },\n\t\tnum: 185,\n\t\tgen: 4,\n\t},\n\tpayapaberry: {\n\t\tname: \"Payapa Berry\",\n\t\tspritenum: 330,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Psychic\",\n\t\t},\n\t\tonSourceModifyDamage(damage, source, target, move) {\n\t\t\tif (move.type === 'Psychic' && target.getMoveHitData(move).typeMod > 0) {\n\t\t\t\tconst hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6);\n\t\t\t\tif (hitSub) return;\n\n\t\t\t\tif (target.eatItem()) {\n\t\t\t\t\tthis.debug('-50% reduction');\n\t\t\t\t\tthis.add('-enditem', target, this.effect, '[weaken]');\n\t\t\t\t\treturn this.chainModify(0.5);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonEat() { },\n\t\tnum: 193,\n\t\tgen: 4,\n\t},\n\tpechaberry: {\n\t\tname: \"Pecha Berry\",\n\t\tspritenum: 333,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Electric\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.status === 'psn' || pokemon.status === 'tox') {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tif (pokemon.status === 'psn' || pokemon.status === 'tox') {\n\t\t\t\tpokemon.cureStatus();\n\t\t\t}\n\t\t},\n\t\tnum: 151,\n\t\tgen: 3,\n\t},\n\tpersimberry: {\n\t\tname: \"Persim Berry\",\n\t\tspritenum: 334,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Ground\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.volatiles['confusion']) {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tpokemon.removeVolatile('confusion');\n\t\t},\n\t\tnum: 156,\n\t\tgen: 3,\n\t},\n\tpetayaberry: {\n\t\tname: \"Petaya Berry\",\n\t\tspritenum: 335,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 100,\n\t\t\ttype: \"Poison\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&\n\t\t\t\t\tpokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tthis.boost({spa: 1});\n\t\t},\n\t\tnum: 204,\n\t\tgen: 3,\n\t},\n\tpidgeotite: {\n\t\tname: \"Pidgeotite\",\n\t\tspritenum: 622,\n\t\tmegaStone: \"Pidgeot-Mega\",\n\t\tmegaEvolves: \"Pidgeot\",\n\t\titemUser: [\"Pidgeot\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 762,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tpikaniumz: {\n\t\tname: \"Pikanium Z\",\n\t\tspritenum: 649,\n\t\tonTakeItem: false,\n\t\tzMove: \"Catastropika\",\n\t\tzMoveFrom: \"Volt Tackle\",\n\t\titemUser: [\"Pikachu\"],\n\t\tnum: 794,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tpikashuniumz: {\n\t\tname: \"Pikashunium Z\",\n\t\tspritenum: 659,\n\t\tonTakeItem: false,\n\t\tzMove: \"10,000,000 Volt Thunderbolt\",\n\t\tzMoveFrom: \"Thunderbolt\",\n\t\titemUser: [\"Pikachu-Original\", \"Pikachu-Hoenn\", \"Pikachu-Sinnoh\", \"Pikachu-Unova\", \"Pikachu-Kalos\", \"Pikachu-Alola\", \"Pikachu-Partner\"],\n\t\tnum: 836,\n\t\tisNonstandard: \"Past\",\n\t\tgen: 7,\n\t},\n\tpinapberry: {\n\t\tname: \"Pinap Berry\",\n\t\tspritenum: 337,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 90,\n\t\t\ttype: \"Grass\",\n\t\t},\n\t\tonEat: false,\n\t\tnum: 168,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\tpinsirite: {\n\t\tname: \"Pinsirite\",\n\t\tspritenum: 602,\n\t\tmegaStone: \"Pinsir-Mega\",\n\t\tmegaEvolves: \"Pinsir\",\n\t\titemUser: [\"Pinsir\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 671,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tpixieplate: {\n\t\tname: \"Pixie Plate\",\n\t\tspritenum: 610,\n\t\tonPlate: 'Fairy',\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move && move.type === 'Fairy') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 493) || pokemon.baseSpecies.num === 493) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Arceus-Fairy\",\n\t\tnum: 644,\n\t\tgen: 6,\n\t},\n\tplumefossil: {\n\t\tname: \"Plume Fossil\",\n\t\tspritenum: 339,\n\t\tfling: {\n\t\t\tbasePower: 100,\n\t\t},\n\t\tnum: 573,\n\t\tgen: 5,\n\t\tisNonstandard: \"Past\",\n\t},\n\tpoisonbarb: {\n\t\tname: \"Poison Barb\",\n\t\tspritenum: 343,\n\t\tfling: {\n\t\t\tbasePower: 70,\n\t\t\tstatus: 'psn',\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Poison') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 245,\n\t\tgen: 2,\n\t},\n\tpoisongem: {\n\t\tname: \"Poison Gem\",\n\t\tspritenum: 344,\n\t\tisGem: true,\n\t\tonSourceTryPrimaryHit(target, source, move) {\n\t\t\tif (target === source || move.category === 'Status') return;\n\t\t\tif (move.type === 'Poison' && source.useItem()) {\n\t\t\t\tsource.addVolatile('gem');\n\t\t\t}\n\t\t},\n\t\tnum: 554,\n\t\tgen: 5,\n\t\tisNonstandard: \"Past\",\n\t},\n\tpoisonmemory: {\n\t\tname: \"Poison Memory\",\n\t\tspritenum: 670,\n\t\tonMemory: 'Poison',\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 773) || pokemon.baseSpecies.num === 773) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Silvally-Poison\",\n\t\titemUser: [\"Silvally-Poison\"],\n\t\tnum: 906,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tpoisoniumz: {\n\t\tname: \"Poisonium Z\",\n\t\tspritenum: 638,\n\t\tonPlate: 'Poison',\n\t\tonTakeItem: false,\n\t\tzMove: true,\n\t\tzMoveType: \"Poison\",\n\t\tforcedForme: \"Arceus-Poison\",\n\t\tnum: 783,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tpokeball: {\n\t\tname: \"Poke Ball\",\n\t\tspritenum: 345,\n\t\tnum: 4,\n\t\tgen: 1,\n\t\tisPokeball: true,\n\t},\n\tpomegberry: {\n\t\tname: \"Pomeg Berry\",\n\t\tspritenum: 351,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 90,\n\t\t\ttype: \"Ice\",\n\t\t},\n\t\tonEat: false,\n\t\tnum: 169,\n\t\tgen: 3,\n\t},\n\tpoweranklet: {\n\t\tname: \"Power Anklet\",\n\t\tspritenum: 354,\n\t\tignoreKlutz: true,\n\t\tfling: {\n\t\t\tbasePower: 70,\n\t\t},\n\t\tonModifySpe(spe) {\n\t\t\treturn this.chainModify(0.5);\n\t\t},\n\t\tnum: 293,\n\t\tgen: 4,\n\t},\n\tpowerband: {\n\t\tname: \"Power Band\",\n\t\tspritenum: 355,\n\t\tignoreKlutz: true,\n\t\tfling: {\n\t\t\tbasePower: 70,\n\t\t},\n\t\tonModifySpe(spe) {\n\t\t\treturn this.chainModify(0.5);\n\t\t},\n\t\tnum: 292,\n\t\tgen: 4,\n\t},\n\tpowerbelt: {\n\t\tname: \"Power Belt\",\n\t\tspritenum: 356,\n\t\tignoreKlutz: true,\n\t\tfling: {\n\t\t\tbasePower: 70,\n\t\t},\n\t\tonModifySpe(spe) {\n\t\t\treturn this.chainModify(0.5);\n\t\t},\n\t\tnum: 290,\n\t\tgen: 4,\n\t},\n\tpowerbracer: {\n\t\tname: \"Power Bracer\",\n\t\tspritenum: 357,\n\t\tignoreKlutz: true,\n\t\tfling: {\n\t\t\tbasePower: 70,\n\t\t},\n\t\tonModifySpe(spe) {\n\t\t\treturn this.chainModify(0.5);\n\t\t},\n\t\tnum: 289,\n\t\tgen: 4,\n\t},\n\tpowerherb: {\n\t\tonChargeMove(pokemon, target, move) {\n\t\t\tif (pokemon.useItem()) {\n\t\t\t\tthis.debug('power herb - remove charge turn for ' + move.id);\n\t\t\t\tthis.attrLastMove('[still]');\n\t\t\t\tthis.addMove('-anim', pokemon, move.name, target);\n\t\t\t\treturn false; // skip charge turn\n\t\t\t}\n\t\t},\n\t\tname: \"Power Herb\",\n\t\tspritenum: 358,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tnum: 271,\n\t\tgen: 4,\n\t},\n\tpowerlens: {\n\t\tname: \"Power Lens\",\n\t\tspritenum: 359,\n\t\tignoreKlutz: true,\n\t\tfling: {\n\t\t\tbasePower: 70,\n\t\t},\n\t\tonModifySpe(spe) {\n\t\t\treturn this.chainModify(0.5);\n\t\t},\n\t\tnum: 291,\n\t\tgen: 4,\n\t},\n\tpowerweight: {\n\t\tname: \"Power Weight\",\n\t\tspritenum: 360,\n\t\tignoreKlutz: true,\n\t\tfling: {\n\t\t\tbasePower: 70,\n\t\t},\n\t\tonModifySpe(spe) {\n\t\t\treturn this.chainModify(0.5);\n\t\t},\n\t\tnum: 294,\n\t\tgen: 4,\n\t},\n\tpremierball: {\n\t\tname: \"Premier Ball\",\n\t\tspritenum: 363,\n\t\tnum: 12,\n\t\tgen: 3,\n\t\tisPokeball: true,\n\t},\n\tprimariumz: {\n\t\tname: \"Primarium Z\",\n\t\tspritenum: 652,\n\t\tonTakeItem: false,\n\t\tzMove: \"Oceanic Operetta\",\n\t\tzMoveFrom: \"Sparkling Aria\",\n\t\titemUser: [\"Primarina\"],\n\t\tnum: 800,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tprismscale: {\n\t\tname: \"Prism Scale\",\n\t\tspritenum: 365,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tnum: 537,\n\t\tgen: 5,\n\t},\n\tprotectivepads: {\n\t\tname: \"Protective Pads\",\n\t\tspritenum: 663,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\t// protective effect handled in Battle#checkMoveMakesContact\n\t\tnum: 880,\n\t\tgen: 7,\n\t},\n\tprotector: {\n\t\tname: \"Protector\",\n\t\tspritenum: 367,\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tnum: 321,\n\t\tgen: 4,\n\t},\n\tpsychicgem: {\n\t\tname: \"Psychic Gem\",\n\t\tspritenum: 369,\n\t\tisGem: true,\n\t\tonSourceTryPrimaryHit(target, source, move) {\n\t\t\tif (target === source || move.category === 'Status') return;\n\t\t\tif (move.type === 'Psychic' && source.useItem()) {\n\t\t\t\tsource.addVolatile('gem');\n\t\t\t}\n\t\t},\n\t\tnum: 557,\n\t\tgen: 5,\n\t\tisNonstandard: \"Past\",\n\t},\n\tpsychicmemory: {\n\t\tname: \"Psychic Memory\",\n\t\tspritenum: 680,\n\t\tonMemory: 'Psychic',\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 773) || pokemon.baseSpecies.num === 773) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Silvally-Psychic\",\n\t\titemUser: [\"Silvally-Psychic\"],\n\t\tnum: 916,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tpsychicseed: {\n\t\tname: \"Psychic Seed\",\n\t\tspritenum: 665,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonStart(pokemon) {\n\t\t\tif (!pokemon.ignoringItem() && this.field.isTerrain('psychicterrain')) {\n\t\t\t\tpokemon.useItem();\n\t\t\t}\n\t\t},\n\t\tonTerrainChange(pokemon) {\n\t\t\tif (this.field.isTerrain('psychicterrain')) {\n\t\t\t\tpokemon.useItem();\n\t\t\t}\n\t\t},\n\t\tboosts: {\n\t\t\tspd: 1,\n\t\t},\n\t\tnum: 882,\n\t\tgen: 7,\n\t},\n\tpsychiumz: {\n\t\tname: \"Psychium Z\",\n\t\tspritenum: 641,\n\t\tonPlate: 'Psychic',\n\t\tonTakeItem: false,\n\t\tzMove: true,\n\t\tzMoveType: \"Psychic\",\n\t\tforcedForme: \"Arceus-Psychic\",\n\t\tnum: 786,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tpunchingglove: {\n\t\tname: \"Punching Glove\",\n\t\tspritenum: 749,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonBasePowerPriority: 23,\n\t\tonBasePower(basePower, attacker, defender, move) {\n\t\t\tif (move.flags['punch']) {\n\t\t\t\tthis.debug('Punching Glove boost');\n\t\t\t\treturn this.chainModify([4506, 4096]);\n\t\t\t}\n\t\t},\n\t\tonModifyMovePriority: 1,\n\t\tonModifyMove(move) {\n\t\t\tif (move.flags['punch']) delete move.flags['contact'];\n\t\t},\n\t\tnum: 1884,\n\t\tgen: 9,\n\t},\n\tqualotberry: {\n\t\tname: \"Qualot Berry\",\n\t\tspritenum: 371,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 90,\n\t\t\ttype: \"Poison\",\n\t\t},\n\t\tonEat: false,\n\t\tnum: 171,\n\t\tgen: 3,\n\t},\n\tquickball: {\n\t\tname: \"Quick Ball\",\n\t\tspritenum: 372,\n\t\tnum: 15,\n\t\tgen: 4,\n\t\tisPokeball: true,\n\t},\n\tquickclaw: {\n\t\tonFractionalPriorityPriority: -2,\n\t\tonFractionalPriority(priority, pokemon, target, move) {\n\t\t\tif (move.category === \"Status\" && pokemon.hasAbility(\"myceliummight\")) return;\n\t\t\tif (priority <= 0 && this.randomChance(1, 5)) {\n\t\t\t\tthis.add('-activate', pokemon, 'item: Quick Claw');\n\t\t\t\treturn 0.1;\n\t\t\t}\n\t\t},\n\t\tname: \"Quick Claw\",\n\t\tspritenum: 373,\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tnum: 217,\n\t\tgen: 2,\n\t},\n\tquickpowder: {\n\t\tname: \"Quick Powder\",\n\t\tspritenum: 374,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonModifySpe(spe, pokemon) {\n\t\t\tif (pokemon.species.name === 'Ditto' && !pokemon.transformed) {\n\t\t\t\treturn this.chainModify(2);\n\t\t\t}\n\t\t},\n\t\titemUser: [\"Ditto\"],\n\t\tnum: 274,\n\t\tgen: 4,\n\t\tisNonstandard: \"Past\",\n\t},\n\trabutaberry: {\n\t\tname: \"Rabuta Berry\",\n\t\tspritenum: 375,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 90,\n\t\t\ttype: \"Ghost\",\n\t\t},\n\t\tonEat: false,\n\t\tnum: 177,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\trarebone: {\n\t\tname: \"Rare Bone\",\n\t\tspritenum: 379,\n\t\tfling: {\n\t\t\tbasePower: 100,\n\t\t},\n\t\tnum: 106,\n\t\tgen: 4,\n\t},\n\trawstberry: {\n\t\tname: \"Rawst Berry\",\n\t\tspritenum: 381,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Grass\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.status === 'brn') {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tif (pokemon.status === 'brn') {\n\t\t\t\tpokemon.cureStatus();\n\t\t\t}\n\t\t},\n\t\tnum: 152,\n\t\tgen: 3,\n\t},\n\trazorclaw: {\n\t\tname: \"Razor Claw\",\n\t\tspritenum: 382,\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tonModifyCritRatio(critRatio) {\n\t\t\treturn critRatio + 1;\n\t\t},\n\t\tnum: 326,\n\t\tgen: 4,\n\t},\n\trazorfang: {\n\t\tname: \"Razor Fang\",\n\t\tspritenum: 383,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t\tvolatileStatus: 'flinch',\n\t\t},\n\t\tonModifyMovePriority: -1,\n\t\tonModifyMove(move) {\n\t\t\tif (move.category !== \"Status\") {\n\t\t\t\tif (!move.secondaries) move.secondaries = [];\n\t\t\t\tfor (const secondary of move.secondaries) {\n\t\t\t\t\tif (secondary.volatileStatus === 'flinch') return;\n\t\t\t\t}\n\t\t\t\tmove.secondaries.push({\n\t\t\t\t\tchance: 10,\n\t\t\t\t\tvolatileStatus: 'flinch',\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tnum: 327,\n\t\tgen: 4,\n\t},\n\trazzberry: {\n\t\tname: \"Razz Berry\",\n\t\tspritenum: 384,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Steel\",\n\t\t},\n\t\tonEat: false,\n\t\tnum: 164,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\treapercloth: {\n\t\tname: \"Reaper Cloth\",\n\t\tspritenum: 385,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tnum: 325,\n\t\tgen: 4,\n\t},\n\tredcard: {\n\t\tname: \"Red Card\",\n\t\tspritenum: 387,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonAfterMoveSecondary(target, source, move) {\n\t\t\tif (source && source !== target && source.hp && target.hp && move && move.category !== 'Status') {\n\t\t\t\tif (!source.isActive || !this.canSwitch(source.side) || source.forceSwitchFlag || target.forceSwitchFlag) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// The item is used up even against a pokemon with Ingrain or that otherwise can't be forced out\n\t\t\t\tif (target.useItem(source)) {\n\t\t\t\t\tif (this.runEvent('DragOut', source, target, move)) {\n\t\t\t\t\t\tsource.forceSwitchFlag = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tnum: 542,\n\t\tgen: 5,\n\t},\n\tredorb: {\n\t\tname: \"Red Orb\",\n\t\tspritenum: 390,\n\t\tonSwitchIn(pokemon) {\n\t\t\tif (pokemon.isActive && pokemon.baseSpecies.name === 'Groudon') {\n\t\t\t\tthis.queue.insertChoice({choice: 'runPrimal', pokemon: pokemon});\n\t\t\t}\n\t\t},\n\t\tonPrimal(pokemon) {\n\t\t\tpokemon.formeChange('Groudon-Primal', this.effect, true);\n\t\t},\n\t\tonTakeItem(item, source) {\n\t\t\tif (source.baseSpecies.baseSpecies === 'Groudon') return false;\n\t\t\treturn true;\n\t\t},\n\t\titemUser: [\"Groudon\"],\n\t\tnum: 534,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\trepeatball: {\n\t\tname: \"Repeat Ball\",\n\t\tspritenum: 401,\n\t\tnum: 9,\n\t\tgen: 3,\n\t\tisPokeball: true,\n\t},\n\tribbonsweet: {\n\t\tname: \"Ribbon Sweet\",\n\t\tspritenum: 710,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tnum: 1115,\n\t\tgen: 8,\n\t},\n\trindoberry: {\n\t\tname: \"Rindo Berry\",\n\t\tspritenum: 409,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Grass\",\n\t\t},\n\t\tonSourceModifyDamage(damage, source, target, move) {\n\t\t\tif (move.type === 'Grass' && target.getMoveHitData(move).typeMod > 0) {\n\t\t\t\tconst hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6);\n\t\t\t\tif (hitSub) return;\n\n\t\t\t\tif (target.eatItem()) {\n\t\t\t\t\tthis.debug('-50% reduction');\n\t\t\t\t\tthis.add('-enditem', target, this.effect, '[weaken]');\n\t\t\t\t\treturn this.chainModify(0.5);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonEat() { },\n\t\tnum: 187,\n\t\tgen: 4,\n\t},\n\tringtarget: {\n\t\tname: \"Ring Target\",\n\t\tspritenum: 410,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonNegateImmunity: false,\n\t\tnum: 543,\n\t\tgen: 5,\n\t},\n\trockgem: {\n\t\tname: \"Rock Gem\",\n\t\tspritenum: 415,\n\t\tisGem: true,\n\t\tonSourceTryPrimaryHit(target, source, move) {\n\t\t\tif (target === source || move.category === 'Status') return;\n\t\t\tif (move.type === 'Rock' && source.useItem()) {\n\t\t\t\tsource.addVolatile('gem');\n\t\t\t}\n\t\t},\n\t\tnum: 559,\n\t\tgen: 5,\n\t\tisNonstandard: \"Past\",\n\t},\n\trockincense: {\n\t\tname: \"Rock Incense\",\n\t\tspritenum: 416,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Rock') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 315,\n\t\tgen: 4,\n\t\tisNonstandard: \"Past\",\n\t},\n\trockmemory: {\n\t\tname: \"Rock Memory\",\n\t\tspritenum: 672,\n\t\tonMemory: 'Rock',\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 773) || pokemon.baseSpecies.num === 773) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Silvally-Rock\",\n\t\titemUser: [\"Silvally-Rock\"],\n\t\tnum: 908,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\trockiumz: {\n\t\tname: \"Rockium Z\",\n\t\tspritenum: 643,\n\t\tonPlate: 'Rock',\n\t\tonTakeItem: false,\n\t\tzMove: true,\n\t\tzMoveType: \"Rock\",\n\t\tforcedForme: \"Arceus-Rock\",\n\t\tnum: 788,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\trockyhelmet: {\n\t\tname: \"Rocky Helmet\",\n\t\tspritenum: 417,\n\t\tfling: {\n\t\t\tbasePower: 60,\n\t\t},\n\t\tonDamagingHitOrder: 2,\n\t\tonDamagingHit(damage, target, source, move) {\n\t\t\tif (this.checkMoveMakesContact(move, source, target)) {\n\t\t\t\tthis.damage(source.baseMaxhp / 6, source, target);\n\t\t\t}\n\t\t},\n\t\tnum: 540,\n\t\tgen: 5,\n\t},\n\troomservice: {\n\t\tname: \"Room Service\",\n\t\tspritenum: 717,\n\t\tfling: {\n\t\t\tbasePower: 100,\n\t\t},\n\t\tonStart(pokemon) {\n\t\t\tif (!pokemon.ignoringItem() && this.field.getPseudoWeather('trickroom')) {\n\t\t\t\tpokemon.useItem();\n\t\t\t}\n\t\t},\n\t\tonAnyPseudoWeatherChange() {\n\t\t\tconst pokemon = this.effectState.target;\n\t\t\tif (this.field.getPseudoWeather('trickroom')) {\n\t\t\t\tpokemon.useItem(pokemon);\n\t\t\t}\n\t\t},\n\t\tboosts: {\n\t\t\tspe: -1,\n\t\t},\n\t\tnum: 1122,\n\t\tgen: 8,\n\t},\n\trootfossil: {\n\t\tname: \"Root Fossil\",\n\t\tspritenum: 418,\n\t\tfling: {\n\t\t\tbasePower: 100,\n\t\t},\n\t\tnum: 99,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\troseincense: {\n\t\tname: \"Rose Incense\",\n\t\tspritenum: 419,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Grass') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 318,\n\t\tgen: 4,\n\t\tisNonstandard: \"Past\",\n\t},\n\troseliberry: {\n\t\tname: \"Roseli Berry\",\n\t\tspritenum: 603,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Fairy\",\n\t\t},\n\t\tonSourceModifyDamage(damage, source, target, move) {\n\t\t\tif (move.type === 'Fairy' && target.getMoveHitData(move).typeMod > 0) {\n\t\t\t\tconst hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6);\n\t\t\t\tif (hitSub) return;\n\n\t\t\t\tif (target.eatItem()) {\n\t\t\t\t\tthis.debug('-50% reduction');\n\t\t\t\t\tthis.add('-enditem', target, this.effect, '[weaken]');\n\t\t\t\t\treturn this.chainModify(0.5);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonEat() { },\n\t\tnum: 686,\n\t\tgen: 6,\n\t},\n\trowapberry: {\n\t\tname: \"Rowap Berry\",\n\t\tspritenum: 420,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 100,\n\t\t\ttype: \"Dark\",\n\t\t},\n\t\tonDamagingHit(damage, target, source, move) {\n\t\t\tif (move.category === 'Special' && source.hp && source.isActive && !source.hasAbility('magicguard')) {\n\t\t\t\tif (target.eatItem()) {\n\t\t\t\t\tthis.damage(source.baseMaxhp / (target.hasAbility('ripen') ? 4 : 8), source, target);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonEat() { },\n\t\tnum: 212,\n\t\tgen: 4,\n\t},\n\trustedshield: {\n\t\tname: \"Rusted Shield\",\n\t\tspritenum: 699,\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 889) || pokemon.baseSpecies.num === 889) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\titemUser: [\"Zamazenta-Crowned\"],\n\t\tnum: 1104,\n\t\tgen: 8,\n\t},\n\trustedsword: {\n\t\tname: \"Rusted Sword\",\n\t\tspritenum: 698,\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 888) || pokemon.baseSpecies.num === 888) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\titemUser: [\"Zacian-Crowned\"],\n\t\tnum: 1103,\n\t\tgen: 8,\n\t},\n\tsablenite: {\n\t\tname: \"Sablenite\",\n\t\tspritenum: 614,\n\t\tmegaStone: \"Sableye-Mega\",\n\t\tmegaEvolves: \"Sableye\",\n\t\titemUser: [\"Sableye\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 754,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tsachet: {\n\t\tname: \"Sachet\",\n\t\tspritenum: 691,\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tnum: 647,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tsafariball: {\n\t\tname: \"Safari Ball\",\n\t\tspritenum: 425,\n\t\tnum: 5,\n\t\tgen: 1,\n\t\tisPokeball: true,\n\t\tisNonstandard: \"Unobtainable\",\n\t},\n\tsafetygoggles: {\n\t\tname: \"Safety Goggles\",\n\t\tspritenum: 604,\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tonImmunity(type, pokemon) {\n\t\t\tif (type === 'sandstorm' || type === 'hail' || type === 'powder') return false;\n\t\t},\n\t\tonTryHit(pokemon, source, move) {\n\t\t\tif (move.flags['powder'] && pokemon !== source && this.dex.getImmunity('powder', pokemon)) {\n\t\t\t\tthis.add('-activate', pokemon, 'item: Safety Goggles', move.name);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\tnum: 650,\n\t\tgen: 6,\n\t},\n\tsailfossil: {\n\t\tname: \"Sail Fossil\",\n\t\tspritenum: 695,\n\t\tfling: {\n\t\t\tbasePower: 100,\n\t\t},\n\t\tnum: 711,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tsalacberry: {\n\t\tname: \"Salac Berry\",\n\t\tspritenum: 426,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 100,\n\t\t\ttype: \"Fighting\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&\n\t\t\t\t\tpokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tthis.boost({spe: 1});\n\t\t},\n\t\tnum: 203,\n\t\tgen: 3,\n\t},\n\tsalamencite: {\n\t\tname: \"Salamencite\",\n\t\tspritenum: 627,\n\t\tmegaStone: \"Salamence-Mega\",\n\t\tmegaEvolves: \"Salamence\",\n\t\titemUser: [\"Salamence\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 769,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tsceptilite: {\n\t\tname: \"Sceptilite\",\n\t\tspritenum: 613,\n\t\tmegaStone: \"Sceptile-Mega\",\n\t\tmegaEvolves: \"Sceptile\",\n\t\titemUser: [\"Sceptile\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 753,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tscizorite: {\n\t\tname: \"Scizorite\",\n\t\tspritenum: 605,\n\t\tmegaStone: \"Scizor-Mega\",\n\t\tmegaEvolves: \"Scizor\",\n\t\titemUser: [\"Scizor\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 670,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tscopelens: {\n\t\tname: \"Scope Lens\",\n\t\tspritenum: 429,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonModifyCritRatio(critRatio) {\n\t\t\treturn critRatio + 1;\n\t\t},\n\t\tnum: 232,\n\t\tgen: 2,\n\t},\n\tseaincense: {\n\t\tname: \"Sea Incense\",\n\t\tspritenum: 430,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move && move.type === 'Water') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 254,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\tsharpbeak: {\n\t\tname: \"Sharp Beak\",\n\t\tspritenum: 436,\n\t\tfling: {\n\t\t\tbasePower: 50,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move && move.type === 'Flying') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 244,\n\t\tgen: 2,\n\t},\n\tsharpedonite: {\n\t\tname: \"Sharpedonite\",\n\t\tspritenum: 619,\n\t\tmegaStone: \"Sharpedo-Mega\",\n\t\tmegaEvolves: \"Sharpedo\",\n\t\titemUser: [\"Sharpedo\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 759,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tshedshell: {\n\t\tname: \"Shed Shell\",\n\t\tspritenum: 437,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonTrapPokemonPriority: -10,\n\t\tonTrapPokemon(pokemon) {\n\t\t\tpokemon.trapped = pokemon.maybeTrapped = false;\n\t\t},\n\t\tnum: 295,\n\t\tgen: 4,\n\t},\n\tshellbell: {\n\t\tname: \"Shell Bell\",\n\t\tspritenum: 438,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonAfterMoveSecondarySelfPriority: -1,\n\t\tonAfterMoveSecondarySelf(pokemon, target, move) {\n\t\t\tif (move.totalDamage && !pokemon.forceSwitchFlag) {\n\t\t\t\tthis.heal(move.totalDamage / 8, pokemon);\n\t\t\t}\n\t\t},\n\t\tnum: 253,\n\t\tgen: 3,\n\t},\n\tshinystone: {\n\t\tname: \"Shiny Stone\",\n\t\tspritenum: 439,\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tnum: 107,\n\t\tgen: 4,\n\t},\n\tshockdrive: {\n\t\tname: \"Shock Drive\",\n\t\tspritenum: 442,\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 649) || pokemon.baseSpecies.num === 649) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tonDrive: 'Electric',\n\t\tforcedForme: \"Genesect-Shock\",\n\t\titemUser: [\"Genesect-Shock\"],\n\t\tnum: 117,\n\t\tgen: 5,\n\t\tisNonstandard: \"Past\",\n\t},\n\tshucaberry: {\n\t\tname: \"Shuca Berry\",\n\t\tspritenum: 443,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Ground\",\n\t\t},\n\t\tonSourceModifyDamage(damage, source, target, move) {\n\t\t\tif (move.type === 'Ground' && target.getMoveHitData(move).typeMod > 0) {\n\t\t\t\tconst hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6);\n\t\t\t\tif (hitSub) return;\n\n\t\t\t\tif (target.eatItem()) {\n\t\t\t\t\tthis.debug('-50% reduction');\n\t\t\t\t\tthis.add('-enditem', target, this.effect, '[weaken]');\n\t\t\t\t\treturn this.chainModify(0.5);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonEat() { },\n\t\tnum: 191,\n\t\tgen: 4,\n\t},\n\tsilkscarf: {\n\t\tname: \"Silk Scarf\",\n\t\tspritenum: 444,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Normal') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 251,\n\t\tgen: 3,\n\t},\n\tsilverpowder: {\n\t\tname: \"Silver Powder\",\n\t\tspritenum: 447,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Bug') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 222,\n\t\tgen: 2,\n\t},\n\tsitrusberry: {\n\t\tname: \"Sitrus Berry\",\n\t\tspritenum: 448,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Psychic\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.hp <= pokemon.maxhp / 2) {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonTryEatItem(item, pokemon) {\n\t\t\tif (!this.runEvent('TryHeal', pokemon, null, this.effect, pokemon.baseMaxhp / 4)) return false;\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tthis.heal(pokemon.baseMaxhp / 4);\n\t\t},\n\t\tnum: 158,\n\t\tgen: 3,\n\t},\n\tskullfossil: {\n\t\tname: \"Skull Fossil\",\n\t\tspritenum: 449,\n\t\tfling: {\n\t\t\tbasePower: 100,\n\t\t},\n\t\tnum: 105,\n\t\tgen: 4,\n\t\tisNonstandard: \"Past\",\n\t},\n\tskyplate: {\n\t\tname: \"Sky Plate\",\n\t\tspritenum: 450,\n\t\tonPlate: 'Flying',\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Flying') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 493) || pokemon.baseSpecies.num === 493) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Arceus-Flying\",\n\t\tnum: 306,\n\t\tgen: 4,\n\t},\n\tslowbronite: {\n\t\tname: \"Slowbronite\",\n\t\tspritenum: 620,\n\t\tmegaStone: \"Slowbro-Mega\",\n\t\tmegaEvolves: \"Slowbro\",\n\t\titemUser: [\"Slowbro\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 760,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tsmoothrock: {\n\t\tname: \"Smooth Rock\",\n\t\tspritenum: 453,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tnum: 283,\n\t\tgen: 4,\n\t},\n\tsnorliumz: {\n\t\tname: \"Snorlium Z\",\n\t\tspritenum: 656,\n\t\tonTakeItem: false,\n\t\tzMove: \"Pulverizing Pancake\",\n\t\tzMoveFrom: \"Giga Impact\",\n\t\titemUser: [\"Snorlax\"],\n\t\tnum: 804,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tsnowball: {\n\t\tname: \"Snowball\",\n\t\tspritenum: 606,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonDamagingHit(damage, target, source, move) {\n\t\t\tif (move.type === 'Ice') {\n\t\t\t\ttarget.useItem();\n\t\t\t}\n\t\t},\n\t\tboosts: {\n\t\t\tatk: 1,\n\t\t},\n\t\tnum: 649,\n\t\tgen: 6,\n\t},\n\tsoftsand: {\n\t\tname: \"Soft Sand\",\n\t\tspritenum: 456,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Ground') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 237,\n\t\tgen: 2,\n\t},\n\tsolganiumz: {\n\t\tname: \"Solganium Z\",\n\t\tspritenum: 685,\n\t\tonTakeItem: false,\n\t\tzMove: \"Searing Sunraze Smash\",\n\t\tzMoveFrom: \"Sunsteel Strike\",\n\t\titemUser: [\"Solgaleo\", \"Necrozma-Dusk-Mane\"],\n\t\tnum: 921,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tsouldew: {\n\t\tname: \"Soul Dew\",\n\t\tspritenum: 459,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (\n\t\t\t\tmove && (user.baseSpecies.num === 380 || user.baseSpecies.num === 381) &&\n\t\t\t\t(move.type === 'Psychic' || move.type === 'Dragon')\n\t\t\t) {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\titemUser: [\"Latios\", \"Latias\"],\n\t\tnum: 225,\n\t\tgen: 3,\n\t},\n\tspelltag: {\n\t\tname: \"Spell Tag\",\n\t\tspritenum: 461,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Ghost') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 247,\n\t\tgen: 2,\n\t},\n\tspelonberry: {\n\t\tname: \"Spelon Berry\",\n\t\tspritenum: 462,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 90,\n\t\t\ttype: \"Dark\",\n\t\t},\n\t\tonEat: false,\n\t\tnum: 179,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\tsplashplate: {\n\t\tname: \"Splash Plate\",\n\t\tspritenum: 463,\n\t\tonPlate: 'Water',\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Water') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 493) || pokemon.baseSpecies.num === 493) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Arceus-Water\",\n\t\tnum: 299,\n\t\tgen: 4,\n\t},\n\tspookyplate: {\n\t\tname: \"Spooky Plate\",\n\t\tspritenum: 464,\n\t\tonPlate: 'Ghost',\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Ghost') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 493) || pokemon.baseSpecies.num === 493) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Arceus-Ghost\",\n\t\tnum: 310,\n\t\tgen: 4,\n\t},\n\tsportball: {\n\t\tname: \"Sport Ball\",\n\t\tspritenum: 465,\n\t\tnum: 499,\n\t\tgen: 2,\n\t\tisPokeball: true,\n\t\tisNonstandard: \"Unobtainable\",\n\t},\n\tstarfberry: {\n\t\tname: \"Starf Berry\",\n\t\tspritenum: 472,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 100,\n\t\t\ttype: \"Psychic\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&\n\t\t\t\t\tpokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tconst stats: BoostID[] = [];\n\t\t\tlet stat: BoostID;\n\t\t\tfor (stat in pokemon.boosts) {\n\t\t\t\tif (stat !== 'accuracy' && stat !== 'evasion' && pokemon.boosts[stat] < 6) {\n\t\t\t\t\tstats.push(stat);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (stats.length) {\n\t\t\t\tconst randomStat = this.sample(stats);\n\t\t\t\tconst boost: SparseBoostsTable = {};\n\t\t\t\tboost[randomStat] = 2;\n\t\t\t\tthis.boost(boost);\n\t\t\t}\n\t\t},\n\t\tnum: 207,\n\t\tgen: 3,\n\t},\n\tstarsweet: {\n\t\tname: \"Star Sweet\",\n\t\tspritenum: 709,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tnum: 1114,\n\t\tgen: 8,\n\t},\n\tsteelixite: {\n\t\tname: \"Steelixite\",\n\t\tspritenum: 621,\n\t\tmegaStone: \"Steelix-Mega\",\n\t\tmegaEvolves: \"Steelix\",\n\t\titemUser: [\"Steelix\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 761,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tsteelgem: {\n\t\tname: \"Steel Gem\",\n\t\tspritenum: 473,\n\t\tisGem: true,\n\t\tonSourceTryPrimaryHit(target, source, move) {\n\t\t\tif (target === source || move.category === 'Status') return;\n\t\t\tif (move.type === 'Steel' && source.useItem()) {\n\t\t\t\tsource.addVolatile('gem');\n\t\t\t}\n\t\t},\n\t\tnum: 563,\n\t\tgen: 5,\n\t\tisNonstandard: \"Past\",\n\t},\n\tsteelmemory: {\n\t\tname: \"Steel Memory\",\n\t\tspritenum: 675,\n\t\tonMemory: 'Steel',\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 773) || pokemon.baseSpecies.num === 773) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Silvally-Steel\",\n\t\titemUser: [\"Silvally-Steel\"],\n\t\tnum: 911,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tsteeliumz: {\n\t\tname: \"Steelium Z\",\n\t\tspritenum: 647,\n\t\tonPlate: 'Steel',\n\t\tonTakeItem: false,\n\t\tzMove: true,\n\t\tzMoveType: \"Steel\",\n\t\tforcedForme: \"Arceus-Steel\",\n\t\tnum: 792,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tstick: {\n\t\tname: \"Stick\",\n\t\tfling: {\n\t\t\tbasePower: 60,\n\t\t},\n\t\tspritenum: 475,\n\t\tonModifyCritRatio(critRatio, user) {\n\t\t\tif (this.toID(user.baseSpecies.baseSpecies) === 'farfetchd') {\n\t\t\t\treturn critRatio + 2;\n\t\t\t}\n\t\t},\n\t\titemUser: [\"Farfetch\\u2019d\"],\n\t\tnum: 259,\n\t\tgen: 2,\n\t\tisNonstandard: \"Past\",\n\t},\n\tstickybarb: {\n\t\tname: \"Sticky Barb\",\n\t\tspritenum: 476,\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tonResidualOrder: 28,\n\t\tonResidualSubOrder: 3,\n\t\tonResidual(pokemon) {\n\t\t\tthis.damage(pokemon.baseMaxhp / 8);\n\t\t},\n\t\tonHit(target, source, move) {\n\t\t\tif (source && source !== target && !source.item && move && this.checkMoveMakesContact(move, source, target)) {\n\t\t\t\tconst barb = target.takeItem();\n\t\t\t\tif (!barb) return; // Gen 4 Multitype\n\t\t\t\tsource.setItem(barb);\n\t\t\t\t// no message for Sticky Barb changing hands\n\t\t\t}\n\t\t},\n\t\tnum: 288,\n\t\tgen: 4,\n\t},\n\tstoneplate: {\n\t\tname: \"Stone Plate\",\n\t\tspritenum: 477,\n\t\tonPlate: 'Rock',\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Rock') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 493) || pokemon.baseSpecies.num === 493) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Arceus-Rock\",\n\t\tnum: 309,\n\t\tgen: 4,\n\t},\n\tstrangeball: {\n\t\tname: \"Strange Ball\",\n\t\tspritenum: 308,\n\t\tnum: 1785,\n\t\tgen: 8,\n\t\tisPokeball: true,\n\t\tisNonstandard: \"Unobtainable\",\n\t},\n\tstrawberrysweet: {\n\t\tname: \"Strawberry Sweet\",\n\t\tspritenum: 704,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tnum: 1109,\n\t\tgen: 8,\n\t},\n\tsunstone: {\n\t\tname: \"Sun Stone\",\n\t\tspritenum: 480,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tnum: 80,\n\t\tgen: 2,\n\t},\n\tswampertite: {\n\t\tname: \"Swampertite\",\n\t\tspritenum: 612,\n\t\tmegaStone: \"Swampert-Mega\",\n\t\tmegaEvolves: \"Swampert\",\n\t\titemUser: [\"Swampert\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 752,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tsweetapple: {\n\t\tname: \"Sweet Apple\",\n\t\tspritenum: 711,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tnum: 1116,\n\t\tgen: 8,\n\t},\n\tsyrupyapple: {\n\t\tname: \"Syrupy Apple\",\n\t\tspritenum: 755,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tnum: 2402,\n\t\tgen: 9,\n\t},\n\ttamatoberry: {\n\t\tname: \"Tamato Berry\",\n\t\tspritenum: 486,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 90,\n\t\t\ttype: \"Psychic\",\n\t\t},\n\t\tonEat: false,\n\t\tnum: 174,\n\t\tgen: 3,\n\t},\n\ttangaberry: {\n\t\tname: \"Tanga Berry\",\n\t\tspritenum: 487,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Bug\",\n\t\t},\n\t\tonSourceModifyDamage(damage, source, target, move) {\n\t\t\tif (move.type === 'Bug' && target.getMoveHitData(move).typeMod > 0) {\n\t\t\t\tconst hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6);\n\t\t\t\tif (hitSub) return;\n\n\t\t\t\tif (target.eatItem()) {\n\t\t\t\t\tthis.debug('-50% reduction');\n\t\t\t\t\tthis.add('-enditem', target, this.effect, '[weaken]');\n\t\t\t\t\treturn this.chainModify(0.5);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonEat() { },\n\t\tnum: 194,\n\t\tgen: 4,\n\t},\n\ttapuniumz: {\n\t\tname: \"Tapunium Z\",\n\t\tspritenum: 653,\n\t\tonTakeItem: false,\n\t\tzMove: \"Guardian of Alola\",\n\t\tzMoveFrom: \"Nature's Madness\",\n\t\titemUser: [\"Tapu Koko\", \"Tapu Lele\", \"Tapu Bulu\", \"Tapu Fini\"],\n\t\tnum: 801,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttartapple: {\n\t\tname: \"Tart Apple\",\n\t\tspritenum: 712,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tnum: 1117,\n\t\tgen: 8,\n\t},\n\tterrainextender: {\n\t\tname: \"Terrain Extender\",\n\t\tspritenum: 662,\n\t\tfling: {\n\t\t\tbasePower: 60,\n\t\t},\n\t\tnum: 879,\n\t\tgen: 7,\n\t},\n\tthickclub: {\n\t\tname: \"Thick Club\",\n\t\tspritenum: 491,\n\t\tfling: {\n\t\t\tbasePower: 90,\n\t\t},\n\t\tonModifyAtkPriority: 1,\n\t\tonModifyAtk(atk, pokemon) {\n\t\t\tif (pokemon.baseSpecies.baseSpecies === 'Cubone' || pokemon.baseSpecies.baseSpecies === 'Marowak') {\n\t\t\t\treturn this.chainModify(2);\n\t\t\t}\n\t\t},\n\t\titemUser: [\"Marowak\", \"Marowak-Alola\", \"Marowak-Alola-Totem\", \"Cubone\"],\n\t\tnum: 258,\n\t\tgen: 2,\n\t\tisNonstandard: \"Past\",\n\t},\n\tthroatspray: {\n\t\tname: \"Throat Spray\",\n\t\tspritenum: 713,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonAfterMoveSecondarySelf(target, source, move) {\n\t\t\tif (move.flags['sound']) {\n\t\t\t\ttarget.useItem();\n\t\t\t}\n\t\t},\n\t\tboosts: {\n\t\t\tspa: 1,\n\t\t},\n\t\tnum: 1118,\n\t\tgen: 8,\n\t},\n\tthunderstone: {\n\t\tname: \"Thunder Stone\",\n\t\tspritenum: 492,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tnum: 83,\n\t\tgen: 1,\n\t},\n\ttimerball: {\n\t\tname: \"Timer Ball\",\n\t\tspritenum: 494,\n\t\tnum: 10,\n\t\tgen: 3,\n\t\tisPokeball: true,\n\t},\n\ttoxicorb: {\n\t\tname: \"Toxic Orb\",\n\t\tspritenum: 515,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t\tstatus: 'tox',\n\t\t},\n\t\tonResidualOrder: 28,\n\t\tonResidualSubOrder: 3,\n\t\tonResidual(pokemon) {\n\t\t\tpokemon.trySetStatus('tox', pokemon);\n\t\t},\n\t\tnum: 272,\n\t\tgen: 4,\n\t},\n\ttoxicplate: {\n\t\tname: \"Toxic Plate\",\n\t\tspritenum: 516,\n\t\tonPlate: 'Poison',\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Poison') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 493) || pokemon.baseSpecies.num === 493) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Arceus-Poison\",\n\t\tnum: 304,\n\t\tgen: 4,\n\t},\n\ttr00: {\n\t\tname: \"TR00\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 721,\n\t\tnum: 1130,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr01: {\n\t\tname: \"TR01\",\n\t\tfling: {\n\t\t\tbasePower: 85,\n\t\t},\n\t\tspritenum: 721,\n\t\tnum: 1131,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr02: {\n\t\tname: \"TR02\",\n\t\tfling: {\n\t\t\tbasePower: 90,\n\t\t},\n\t\tspritenum: 730,\n\t\tnum: 1132,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr03: {\n\t\tname: \"TR03\",\n\t\tfling: {\n\t\t\tbasePower: 110,\n\t\t},\n\t\tspritenum: 731,\n\t\tnum: 1133,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr04: {\n\t\tname: \"TR04\",\n\t\tfling: {\n\t\t\tbasePower: 90,\n\t\t},\n\t\tspritenum: 731,\n\t\tnum: 1134,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr05: {\n\t\tname: \"TR05\",\n\t\tfling: {\n\t\t\tbasePower: 90,\n\t\t},\n\t\tspritenum: 735,\n\t\tnum: 1135,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr06: {\n\t\tname: \"TR06\",\n\t\tfling: {\n\t\t\tbasePower: 110,\n\t\t},\n\t\tspritenum: 735,\n\t\tnum: 1136,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr07: {\n\t\tname: \"TR07\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 722,\n\t\tnum: 1137,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr08: {\n\t\tname: \"TR08\",\n\t\tfling: {\n\t\t\tbasePower: 90,\n\t\t},\n\t\tspritenum: 733,\n\t\tnum: 1138,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr09: {\n\t\tname: \"TR09\",\n\t\tfling: {\n\t\t\tbasePower: 110,\n\t\t},\n\t\tspritenum: 733,\n\t\tnum: 1139,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr10: {\n\t\tname: \"TR10\",\n\t\tfling: {\n\t\t\tbasePower: 100,\n\t\t},\n\t\tspritenum: 725,\n\t\tnum: 1140,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr11: {\n\t\tname: \"TR11\",\n\t\tfling: {\n\t\t\tbasePower: 90,\n\t\t},\n\t\tspritenum: 734,\n\t\tnum: 1141,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr12: {\n\t\tname: \"TR12\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 734,\n\t\tnum: 1142,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr13: {\n\t\tname: \"TR13\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 721,\n\t\tnum: 1143,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr14: {\n\t\tname: \"TR14\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 721,\n\t\tnum: 1144,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr15: {\n\t\tname: \"TR15\",\n\t\tfling: {\n\t\t\tbasePower: 110,\n\t\t},\n\t\tspritenum: 730,\n\t\tnum: 1145,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr16: {\n\t\tname: \"TR16\",\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tspritenum: 731,\n\t\tnum: 1146,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr17: {\n\t\tname: \"TR17\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 734,\n\t\tnum: 1147,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr18: {\n\t\tname: \"TR18\",\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tspritenum: 727,\n\t\tnum: 1148,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr19: {\n\t\tname: \"TR19\",\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tspritenum: 721,\n\t\tnum: 1149,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr20: {\n\t\tname: \"TR20\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 721,\n\t\tnum: 1150,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr21: {\n\t\tname: \"TR21\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 722,\n\t\tnum: 1151,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr22: {\n\t\tname: \"TR22\",\n\t\tfling: {\n\t\t\tbasePower: 90,\n\t\t},\n\t\tspritenum: 724,\n\t\tnum: 1152,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr23: {\n\t\tname: \"TR23\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 725,\n\t\tnum: 1153,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr24: {\n\t\tname: \"TR24\",\n\t\tfling: {\n\t\t\tbasePower: 120,\n\t\t},\n\t\tspritenum: 736,\n\t\tnum: 1154,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr25: {\n\t\tname: \"TR25\",\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tspritenum: 734,\n\t\tnum: 1155,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr26: {\n\t\tname: \"TR26\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 721,\n\t\tnum: 1156,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr27: {\n\t\tname: \"TR27\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 721,\n\t\tnum: 1157,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr28: {\n\t\tname: \"TR28\",\n\t\tfling: {\n\t\t\tbasePower: 120,\n\t\t},\n\t\tspritenum: 727,\n\t\tnum: 1158,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr29: {\n\t\tname: \"TR29\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 721,\n\t\tnum: 1159,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr30: {\n\t\tname: \"TR30\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 721,\n\t\tnum: 1160,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr31: {\n\t\tname: \"TR31\",\n\t\tfling: {\n\t\t\tbasePower: 100,\n\t\t},\n\t\tspritenum: 729,\n\t\tnum: 1161,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr32: {\n\t\tname: \"TR32\",\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tspritenum: 737,\n\t\tnum: 1162,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr33: {\n\t\tname: \"TR33\",\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tspritenum: 728,\n\t\tnum: 1163,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr34: {\n\t\tname: \"TR34\",\n\t\tfling: {\n\t\t\tbasePower: 120,\n\t\t},\n\t\tspritenum: 734,\n\t\tnum: 1164,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr35: {\n\t\tname: \"TR35\",\n\t\tfling: {\n\t\t\tbasePower: 90,\n\t\t},\n\t\tspritenum: 721,\n\t\tnum: 1165,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr36: {\n\t\tname: \"TR36\",\n\t\tfling: {\n\t\t\tbasePower: 95,\n\t\t},\n\t\tspritenum: 730,\n\t\tnum: 1166,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr37: {\n\t\tname: \"TR37\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 737,\n\t\tnum: 1167,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr38: {\n\t\tname: \"TR38\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 734,\n\t\tnum: 1168,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr39: {\n\t\tname: \"TR39\",\n\t\tfling: {\n\t\t\tbasePower: 120,\n\t\t},\n\t\tspritenum: 722,\n\t\tnum: 1169,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr40: {\n\t\tname: \"TR40\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 734,\n\t\tnum: 1170,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr41: {\n\t\tname: \"TR41\",\n\t\tfling: {\n\t\t\tbasePower: 85,\n\t\t},\n\t\tspritenum: 730,\n\t\tnum: 1171,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr42: {\n\t\tname: \"TR42\",\n\t\tfling: {\n\t\t\tbasePower: 90,\n\t\t},\n\t\tspritenum: 721,\n\t\tnum: 1172,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr43: {\n\t\tname: \"TR43\",\n\t\tfling: {\n\t\t\tbasePower: 130,\n\t\t},\n\t\tspritenum: 730,\n\t\tnum: 1173,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr44: {\n\t\tname: \"TR44\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 734,\n\t\tnum: 1174,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr45: {\n\t\tname: \"TR45\",\n\t\tfling: {\n\t\t\tbasePower: 90,\n\t\t},\n\t\tspritenum: 731,\n\t\tnum: 1175,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr46: {\n\t\tname: \"TR46\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 729,\n\t\tnum: 1176,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr47: {\n\t\tname: \"TR47\",\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tspritenum: 736,\n\t\tnum: 1177,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr48: {\n\t\tname: \"TR48\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 722,\n\t\tnum: 1178,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr49: {\n\t\tname: \"TR49\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 734,\n\t\tnum: 1179,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr50: {\n\t\tname: \"TR50\",\n\t\tfling: {\n\t\t\tbasePower: 90,\n\t\t},\n\t\tspritenum: 732,\n\t\tnum: 1180,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr51: {\n\t\tname: \"TR51\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 736,\n\t\tnum: 1181,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr52: {\n\t\tname: \"TR52\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 729,\n\t\tnum: 1182,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr53: {\n\t\tname: \"TR53\",\n\t\tfling: {\n\t\t\tbasePower: 120,\n\t\t},\n\t\tspritenum: 722,\n\t\tnum: 1183,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr54: {\n\t\tname: \"TR54\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 724,\n\t\tnum: 1184,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr55: {\n\t\tname: \"TR55\",\n\t\tfling: {\n\t\t\tbasePower: 120,\n\t\t},\n\t\tspritenum: 730,\n\t\tnum: 1185,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr56: {\n\t\tname: \"TR56\",\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tspritenum: 722,\n\t\tnum: 1186,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr57: {\n\t\tname: \"TR57\",\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tspritenum: 724,\n\t\tnum: 1187,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr58: {\n\t\tname: \"TR58\",\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tspritenum: 737,\n\t\tnum: 1188,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr59: {\n\t\tname: \"TR59\",\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tspritenum: 732,\n\t\tnum: 1189,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr60: {\n\t\tname: \"TR60\",\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tspritenum: 727,\n\t\tnum: 1190,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr61: {\n\t\tname: \"TR61\",\n\t\tfling: {\n\t\t\tbasePower: 90,\n\t\t},\n\t\tspritenum: 727,\n\t\tnum: 1191,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr62: {\n\t\tname: \"TR62\",\n\t\tfling: {\n\t\t\tbasePower: 85,\n\t\t},\n\t\tspritenum: 736,\n\t\tnum: 1192,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr63: {\n\t\tname: \"TR63\",\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tspritenum: 726,\n\t\tnum: 1193,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr64: {\n\t\tname: \"TR64\",\n\t\tfling: {\n\t\t\tbasePower: 120,\n\t\t},\n\t\tspritenum: 722,\n\t\tnum: 1194,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr65: {\n\t\tname: \"TR65\",\n\t\tfling: {\n\t\t\tbasePower: 90,\n\t\t},\n\t\tspritenum: 732,\n\t\tnum: 1195,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr66: {\n\t\tname: \"TR66\",\n\t\tfling: {\n\t\t\tbasePower: 120,\n\t\t},\n\t\tspritenum: 723,\n\t\tnum: 1196,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr67: {\n\t\tname: \"TR67\",\n\t\tfling: {\n\t\t\tbasePower: 90,\n\t\t},\n\t\tspritenum: 725,\n\t\tnum: 1197,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr68: {\n\t\tname: \"TR68\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 737,\n\t\tnum: 1198,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr69: {\n\t\tname: \"TR69\",\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tspritenum: 734,\n\t\tnum: 1199,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr70: {\n\t\tname: \"TR70\",\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tspritenum: 729,\n\t\tnum: 1200,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr71: {\n\t\tname: \"TR71\",\n\t\tfling: {\n\t\t\tbasePower: 130,\n\t\t},\n\t\tspritenum: 732,\n\t\tnum: 1201,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr72: {\n\t\tname: \"TR72\",\n\t\tfling: {\n\t\t\tbasePower: 120,\n\t\t},\n\t\tspritenum: 732,\n\t\tnum: 1202,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr73: {\n\t\tname: \"TR73\",\n\t\tfling: {\n\t\t\tbasePower: 120,\n\t\t},\n\t\tspritenum: 724,\n\t\tnum: 1203,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr74: {\n\t\tname: \"TR74\",\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tspritenum: 729,\n\t\tnum: 1204,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr75: {\n\t\tname: \"TR75\",\n\t\tfling: {\n\t\t\tbasePower: 100,\n\t\t},\n\t\tspritenum: 726,\n\t\tnum: 1205,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr76: {\n\t\tname: \"TR76\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 726,\n\t\tnum: 1206,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr77: {\n\t\tname: \"TR77\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 732,\n\t\tnum: 1207,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr78: {\n\t\tname: \"TR78\",\n\t\tfling: {\n\t\t\tbasePower: 95,\n\t\t},\n\t\tspritenum: 724,\n\t\tnum: 1208,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr79: {\n\t\tname: \"TR79\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 729,\n\t\tnum: 1209,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr80: {\n\t\tname: \"TR80\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 733,\n\t\tnum: 1210,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr81: {\n\t\tname: \"TR81\",\n\t\tfling: {\n\t\t\tbasePower: 95,\n\t\t},\n\t\tspritenum: 737,\n\t\tnum: 1211,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr82: {\n\t\tname: \"TR82\",\n\t\tfling: {\n\t\t\tbasePower: 20,\n\t\t},\n\t\tspritenum: 734,\n\t\tnum: 1212,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr83: {\n\t\tname: \"TR83\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 734,\n\t\tnum: 1213,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr84: {\n\t\tname: \"TR84\",\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tspritenum: 731,\n\t\tnum: 1214,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr85: {\n\t\tname: \"TR85\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 721,\n\t\tnum: 1215,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr86: {\n\t\tname: \"TR86\",\n\t\tfling: {\n\t\t\tbasePower: 90,\n\t\t},\n\t\tspritenum: 733,\n\t\tnum: 1216,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr87: {\n\t\tname: \"TR87\",\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tspritenum: 725,\n\t\tnum: 1217,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr88: {\n\t\tname: \"TR88\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 730,\n\t\tnum: 1218,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr89: {\n\t\tname: \"TR89\",\n\t\tfling: {\n\t\t\tbasePower: 110,\n\t\t},\n\t\tspritenum: 723,\n\t\tnum: 1219,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr90: {\n\t\tname: \"TR90\",\n\t\tfling: {\n\t\t\tbasePower: 90,\n\t\t},\n\t\tspritenum: 738,\n\t\tnum: 1220,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr91: {\n\t\tname: \"TR91\",\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tspritenum: 724,\n\t\tnum: 1221,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr92: {\n\t\tname: \"TR92\",\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tspritenum: 738,\n\t\tnum: 1222,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr93: {\n\t\tname: \"TR93\",\n\t\tfling: {\n\t\t\tbasePower: 85,\n\t\t},\n\t\tspritenum: 737,\n\t\tnum: 1223,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr94: {\n\t\tname: \"TR94\",\n\t\tfling: {\n\t\t\tbasePower: 95,\n\t\t},\n\t\tspritenum: 725,\n\t\tnum: 1224,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr95: {\n\t\tname: \"TR95\",\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tspritenum: 737,\n\t\tnum: 1225,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr96: {\n\t\tname: \"TR96\",\n\t\tfling: {\n\t\t\tbasePower: 90,\n\t\t},\n\t\tspritenum: 727,\n\t\tnum: 1226,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr97: {\n\t\tname: \"TR97\",\n\t\tfling: {\n\t\t\tbasePower: 85,\n\t\t},\n\t\tspritenum: 734,\n\t\tnum: 1227,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr98: {\n\t\tname: \"TR98\",\n\t\tfling: {\n\t\t\tbasePower: 85,\n\t\t},\n\t\tspritenum: 731,\n\t\tnum: 1228,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttr99: {\n\t\tname: \"TR99\",\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tspritenum: 722,\n\t\tnum: 1229,\n\t\tgen: 8,\n\t\tisNonstandard: \"Past\",\n\t},\n\ttwistedspoon: {\n\t\tname: \"Twisted Spoon\",\n\t\tspritenum: 520,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Psychic') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 248,\n\t\tgen: 2,\n\t},\n\ttyranitarite: {\n\t\tname: \"Tyranitarite\",\n\t\tspritenum: 607,\n\t\tmegaStone: \"Tyranitar-Mega\",\n\t\tmegaEvolves: \"Tyranitar\",\n\t\titemUser: [\"Tyranitar\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 669,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\tultraball: {\n\t\tname: \"Ultra Ball\",\n\t\tspritenum: 521,\n\t\tnum: 2,\n\t\tgen: 1,\n\t\tisPokeball: true,\n\t},\n\tultranecroziumz: {\n\t\tname: \"Ultranecrozium Z\",\n\t\tspritenum: 687,\n\t\tonTakeItem: false,\n\t\tzMove: \"Light That Burns the Sky\",\n\t\tzMoveFrom: \"Photon Geyser\",\n\t\titemUser: [\"Necrozma-Ultra\"],\n\t\tnum: 923,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\tunremarkableteacup: {\n\t\tname: \"Unremarkable Teacup\",\n\t\tspritenum: 756,\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tnum: 2403,\n\t\tgen: 9,\n\t},\n\tupgrade: {\n\t\tname: \"Up-Grade\",\n\t\tspritenum: 523,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tnum: 252,\n\t\tgen: 2,\n\t},\n\tutilityumbrella: {\n\t\tname: \"Utility Umbrella\",\n\t\tspritenum: 718,\n\t\tfling: {\n\t\t\tbasePower: 60,\n\t\t},\n\t\t// Partially implemented in Pokemon.effectiveWeather() in sim/pokemon.ts\n\t\tonStart(pokemon) {\n\t\t\tif (!pokemon.ignoringItem()) return;\n\t\t\tif (['sunnyday', 'raindance', 'desolateland', 'primordialsea'].includes(this.field.effectiveWeather())) {\n\t\t\t\tthis.runEvent('WeatherChange', pokemon, pokemon, this.effect);\n\t\t\t}\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (!this.effectState.inactive) return;\n\t\t\tthis.effectState.inactive = false;\n\t\t\tif (['sunnyday', 'raindance', 'desolateland', 'primordialsea'].includes(this.field.effectiveWeather())) {\n\t\t\t\tthis.runEvent('WeatherChange', pokemon, pokemon, this.effect);\n\t\t\t}\n\t\t},\n\t\tonEnd(pokemon) {\n\t\t\tif (['sunnyday', 'raindance', 'desolateland', 'primordialsea'].includes(this.field.effectiveWeather())) {\n\t\t\t\tthis.runEvent('WeatherChange', pokemon, pokemon, this.effect);\n\t\t\t}\n\t\t\tthis.effectState.inactive = true;\n\t\t},\n\t\tnum: 1123,\n\t\tgen: 8,\n\t},\n\tvenusaurite: {\n\t\tname: \"Venusaurite\",\n\t\tspritenum: 608,\n\t\tmegaStone: \"Venusaur-Mega\",\n\t\tmegaEvolves: \"Venusaur\",\n\t\titemUser: [\"Venusaur\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: 659,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\twacanberry: {\n\t\tname: \"Wacan Berry\",\n\t\tspritenum: 526,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Electric\",\n\t\t},\n\t\tonSourceModifyDamage(damage, source, target, move) {\n\t\t\tif (move.type === 'Electric' && target.getMoveHitData(move).typeMod > 0) {\n\t\t\t\tconst hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6);\n\t\t\t\tif (hitSub) return;\n\t\t\t\tif (target.eatItem()) {\n\t\t\t\t\tthis.debug('-50% reduction');\n\t\t\t\t\tthis.add('-enditem', target, this.effect, '[weaken]');\n\t\t\t\t\treturn this.chainModify(0.5);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonEat() { },\n\t\tnum: 186,\n\t\tgen: 4,\n\t},\n\twatergem: {\n\t\tname: \"Water Gem\",\n\t\tspritenum: 528,\n\t\tisGem: true,\n\t\tonSourceTryPrimaryHit(target, source, move) {\n\t\t\tif (target === source || move.category === 'Status' || move.flags['pledgecombo']) return;\n\t\t\tif (move.type === 'Water' && source.useItem()) {\n\t\t\t\tsource.addVolatile('gem');\n\t\t\t}\n\t\t},\n\t\tnum: 549,\n\t\tgen: 5,\n\t\tisNonstandard: \"Past\",\n\t},\n\twatermemory: {\n\t\tname: \"Water Memory\",\n\t\tspritenum: 677,\n\t\tonMemory: 'Water',\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 773) || pokemon.baseSpecies.num === 773) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Silvally-Water\",\n\t\titemUser: [\"Silvally-Water\"],\n\t\tnum: 913,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\twaterstone: {\n\t\tname: \"Water Stone\",\n\t\tspritenum: 529,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tnum: 84,\n\t\tgen: 1,\n\t},\n\twateriumz: {\n\t\tname: \"Waterium Z\",\n\t\tspritenum: 633,\n\t\tonPlate: 'Water',\n\t\tonTakeItem: false,\n\t\tzMove: true,\n\t\tzMoveType: \"Water\",\n\t\tforcedForme: \"Arceus-Water\",\n\t\tnum: 778,\n\t\tgen: 7,\n\t\tisNonstandard: \"Past\",\n\t},\n\twatmelberry: {\n\t\tname: \"Watmel Berry\",\n\t\tspritenum: 530,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 100,\n\t\t\ttype: \"Fire\",\n\t\t},\n\t\tonEat: false,\n\t\tnum: 181,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\twaveincense: {\n\t\tname: \"Wave Incense\",\n\t\tspritenum: 531,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Water') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 317,\n\t\tgen: 4,\n\t\tisNonstandard: \"Past\",\n\t},\n\tweaknesspolicy: {\n\t\tname: \"Weakness Policy\",\n\t\tspritenum: 609,\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tonDamagingHit(damage, target, source, move) {\n\t\t\tif (!move.damage && !move.damageCallback && target.getMoveHitData(move).typeMod > 0) {\n\t\t\t\ttarget.useItem();\n\t\t\t}\n\t\t},\n\t\tboosts: {\n\t\t\tatk: 2,\n\t\t\tspa: 2,\n\t\t},\n\t\tnum: 639,\n\t\tgen: 6,\n\t},\n\twellspringmask: {\n\t\tname: \"Wellspring Mask\",\n\t\tspritenum: 759,\n\t\tfling: {\n\t\t\tbasePower: 60,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (user.baseSpecies.name.startsWith('Ogerpon-Wellspring')) {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, source) {\n\t\t\tif (source.baseSpecies.baseSpecies === 'Ogerpon') return false;\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Ogerpon-Wellspring\",\n\t\titemUser: [\"Ogerpon-Wellspring\"],\n\t\tnum: 2407,\n\t\tgen: 9,\n\t},\n\twepearberry: {\n\t\tname: \"Wepear Berry\",\n\t\tspritenum: 533,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 90,\n\t\t\ttype: \"Electric\",\n\t\t},\n\t\tonEat: false,\n\t\tnum: 167,\n\t\tgen: 3,\n\t\tisNonstandard: \"Past\",\n\t},\n\twhippeddream: {\n\t\tname: \"Whipped Dream\",\n\t\tspritenum: 692,\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tnum: 646,\n\t\tgen: 6,\n\t\tisNonstandard: \"Past\",\n\t},\n\twhiteherb: {\n\t\tname: \"White Herb\",\n\t\tspritenum: 535,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t\teffect(pokemon) {\n\t\t\t\tlet activate = false;\n\t\t\t\tconst boosts: SparseBoostsTable = {};\n\t\t\t\tlet i: BoostID;\n\t\t\t\tfor (i in pokemon.boosts) {\n\t\t\t\t\tif (pokemon.boosts[i] < 0) {\n\t\t\t\t\t\tactivate = true;\n\t\t\t\t\t\tboosts[i] = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (activate) {\n\t\t\t\t\tpokemon.setBoost(boosts);\n\t\t\t\t\tthis.add('-clearnegativeboost', pokemon, '[silent]');\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tlet activate = false;\n\t\t\tconst boosts: SparseBoostsTable = {};\n\t\t\tlet i: BoostID;\n\t\t\tfor (i in pokemon.boosts) {\n\t\t\t\tif (pokemon.boosts[i] < 0) {\n\t\t\t\t\tactivate = true;\n\t\t\t\t\tboosts[i] = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (activate && pokemon.useItem()) {\n\t\t\t\tpokemon.setBoost(boosts);\n\t\t\t\tthis.add('-clearnegativeboost', pokemon, '[silent]');\n\t\t\t}\n\t\t},\n\t\tnum: 214,\n\t\tgen: 3,\n\t},\n\twidelens: {\n\t\tname: \"Wide Lens\",\n\t\tspritenum: 537,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonSourceModifyAccuracyPriority: -2,\n\t\tonSourceModifyAccuracy(accuracy) {\n\t\t\tif (typeof accuracy === 'number') {\n\t\t\t\treturn this.chainModify([4505, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 265,\n\t\tgen: 4,\n\t},\n\twikiberry: {\n\t\tname: \"Wiki Berry\",\n\t\tspritenum: 538,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Rock\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 &&\n\t\t\t\t\tpokemon.hasAbility('gluttony') && pokemon.abilityState.gluttony)) {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonTryEatItem(item, pokemon) {\n\t\t\tif (!this.runEvent('TryHeal', pokemon, null, this.effect, pokemon.baseMaxhp / 3)) return false;\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tthis.heal(pokemon.baseMaxhp / 3);\n\t\t\tif (pokemon.getNature().minus === 'spa') {\n\t\t\t\tpokemon.addVolatile('confusion');\n\t\t\t}\n\t\t},\n\t\tnum: 160,\n\t\tgen: 3,\n\t},\n\twiseglasses: {\n\t\tname: \"Wise Glasses\",\n\t\tspritenum: 539,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonBasePowerPriority: 16,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.category === 'Special') {\n\t\t\t\treturn this.chainModify([4505, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 267,\n\t\tgen: 4,\n\t},\n\tyacheberry: {\n\t\tname: \"Yache Berry\",\n\t\tspritenum: 567,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Ice\",\n\t\t},\n\t\tonSourceModifyDamage(damage, source, target, move) {\n\t\t\tif (move.type === 'Ice' && target.getMoveHitData(move).typeMod > 0) {\n\t\t\t\tconst hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6);\n\t\t\t\tif (hitSub) return;\n\n\t\t\t\tif (target.eatItem()) {\n\t\t\t\t\tthis.debug('-50% reduction');\n\t\t\t\t\tthis.add('-enditem', target, this.effect, '[weaken]');\n\t\t\t\t\treturn this.chainModify(0.5);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonEat() { },\n\t\tnum: 188,\n\t\tgen: 4,\n\t},\n\tzapplate: {\n\t\tname: \"Zap Plate\",\n\t\tspritenum: 572,\n\t\tonPlate: 'Electric',\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Electric') {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif ((source && source.baseSpecies.num === 493) || pokemon.baseSpecies.num === 493) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Arceus-Electric\",\n\t\tnum: 300,\n\t\tgen: 4,\n\t},\n\tzoomlens: {\n\t\tname: \"Zoom Lens\",\n\t\tspritenum: 574,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonSourceModifyAccuracyPriority: -2,\n\t\tonSourceModifyAccuracy(accuracy, target) {\n\t\t\tif (typeof accuracy === 'number' && !this.queue.willMove(target)) {\n\t\t\t\tthis.debug('Zoom Lens boosting accuracy');\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tnum: 276,\n\t\tgen: 4,\n\t},\n\n\t// Gen 2 items\n\n\tberserkgene: {\n\t\tname: \"Berserk Gene\",\n\t\tspritenum: 388,\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.useItem()) {\n\t\t\t\tpokemon.addVolatile('confusion');\n\t\t\t}\n\t\t},\n\t\tboosts: {\n\t\t\tatk: 2,\n\t\t},\n\t\tnum: 0,\n\t\tgen: 2,\n\t\tisNonstandard: \"Past\",\n\t},\n\tberry: {\n\t\tname: \"Berry\",\n\t\tspritenum: 319,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Poison\",\n\t\t},\n\t\tonResidualOrder: 5,\n\t\tonResidual(pokemon) {\n\t\t\tif (pokemon.hp <= pokemon.maxhp / 2) {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonTryEatItem(item, pokemon) {\n\t\t\tif (!this.runEvent('TryHeal', pokemon, null, this.effect, 10)) return false;\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tthis.heal(10);\n\t\t},\n\t\tnum: 155,\n\t\tgen: 2,\n\t\tisNonstandard: \"Past\",\n\t},\n\tbitterberry: {\n\t\tname: \"Bitter Berry\",\n\t\tspritenum: 334,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Ground\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.volatiles['confusion']) {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tpokemon.removeVolatile('confusion');\n\t\t},\n\t\tnum: 156,\n\t\tgen: 2,\n\t\tisNonstandard: \"Past\",\n\t},\n\tburntberry: {\n\t\tname: \"Burnt Berry\",\n\t\tspritenum: 13,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Ice\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.status === 'frz') {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tif (pokemon.status === 'frz') {\n\t\t\t\tpokemon.cureStatus();\n\t\t\t}\n\t\t},\n\t\tnum: 153,\n\t\tgen: 2,\n\t\tisNonstandard: \"Past\",\n\t},\n\tgoldberry: {\n\t\tname: \"Gold Berry\",\n\t\tspritenum: 448,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Psychic\",\n\t\t},\n\t\tonResidualOrder: 5,\n\t\tonResidual(pokemon) {\n\t\t\tif (pokemon.hp <= pokemon.maxhp / 2) {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonTryEatItem(item, pokemon) {\n\t\t\tif (!this.runEvent('TryHeal', pokemon, null, this.effect, 30)) return false;\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tthis.heal(30);\n\t\t},\n\t\tnum: 158,\n\t\tgen: 2,\n\t\tisNonstandard: \"Past\",\n\t},\n\ticeberry: {\n\t\tname: \"Ice Berry\",\n\t\tspritenum: 381,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Grass\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.status === 'brn') {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tif (pokemon.status === 'brn') {\n\t\t\t\tpokemon.cureStatus();\n\t\t\t}\n\t\t},\n\t\tnum: 152,\n\t\tgen: 2,\n\t\tisNonstandard: \"Past\",\n\t},\n\tmintberry: {\n\t\tname: \"Mint Berry\",\n\t\tspritenum: 65,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Water\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.status === 'slp') {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tif (pokemon.status === 'slp') {\n\t\t\t\tpokemon.cureStatus();\n\t\t\t}\n\t\t},\n\t\tnum: 150,\n\t\tgen: 2,\n\t\tisNonstandard: \"Past\",\n\t},\n\tmiracleberry: {\n\t\tname: \"Miracle Berry\",\n\t\tspritenum: 262,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Flying\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.status || pokemon.volatiles['confusion']) {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tpokemon.cureStatus();\n\t\t\tpokemon.removeVolatile('confusion');\n\t\t},\n\t\tnum: 157,\n\t\tgen: 2,\n\t\tisNonstandard: \"Past\",\n\t},\n\tmysteryberry: {\n\t\tname: \"Mystery Berry\",\n\t\tspritenum: 244,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Fighting\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (!pokemon.hp) return;\n\t\t\tconst moveSlot = pokemon.lastMove && pokemon.getMoveData(pokemon.lastMove.id);\n\t\t\tif (moveSlot && moveSlot.pp === 0) {\n\t\t\t\tpokemon.addVolatile('leppaberry');\n\t\t\t\tpokemon.volatiles['leppaberry'].moveSlot = moveSlot;\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tlet moveSlot;\n\t\t\tif (pokemon.volatiles['leppaberry']) {\n\t\t\t\tmoveSlot = pokemon.volatiles['leppaberry'].moveSlot;\n\t\t\t\tpokemon.removeVolatile('leppaberry');\n\t\t\t} else {\n\t\t\t\tlet pp = 99;\n\t\t\t\tfor (const possibleMoveSlot of pokemon.moveSlots) {\n\t\t\t\t\tif (possibleMoveSlot.pp < pp) {\n\t\t\t\t\t\tmoveSlot = possibleMoveSlot;\n\t\t\t\t\t\tpp = moveSlot.pp;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tmoveSlot.pp += 5;\n\t\t\tif (moveSlot.pp > moveSlot.maxpp) moveSlot.pp = moveSlot.maxpp;\n\t\t\tthis.add('-activate', pokemon, 'item: Mystery Berry', moveSlot.move);\n\t\t},\n\t\tnum: 154,\n\t\tgen: 2,\n\t\tisNonstandard: \"Past\",\n\t},\n\tpinkbow: {\n\t\tname: \"Pink Bow\",\n\t\tspritenum: 444,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Normal') {\n\t\t\t\treturn basePower * 1.1;\n\t\t\t}\n\t\t},\n\t\tnum: 251,\n\t\tgen: 2,\n\t\tisNonstandard: \"Past\",\n\t},\n\tpolkadotbow: {\n\t\tname: \"Polkadot Bow\",\n\t\tspritenum: 444,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move.type === 'Normal') {\n\t\t\t\treturn basePower * 1.1;\n\t\t\t}\n\t\t},\n\t\tnum: 251,\n\t\tgen: 2,\n\t\tisNonstandard: \"Past\",\n\t},\n\tprzcureberry: {\n\t\tname: \"PRZ Cure Berry\",\n\t\tspritenum: 63,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Fire\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.status === 'par') {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tif (pokemon.status === 'par') {\n\t\t\t\tpokemon.cureStatus();\n\t\t\t}\n\t\t},\n\t\tnum: 149,\n\t\tgen: 2,\n\t\tisNonstandard: \"Past\",\n\t},\n\tpsncureberry: {\n\t\tname: \"PSN Cure Berry\",\n\t\tspritenum: 333,\n\t\tisBerry: true,\n\t\tnaturalGift: {\n\t\t\tbasePower: 80,\n\t\t\ttype: \"Electric\",\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.status === 'psn' || pokemon.status === 'tox') {\n\t\t\t\tpokemon.eatItem();\n\t\t\t}\n\t\t},\n\t\tonEat(pokemon) {\n\t\t\tif (pokemon.status === 'psn' || pokemon.status === 'tox') {\n\t\t\t\tpokemon.cureStatus();\n\t\t\t}\n\t\t},\n\t\tnum: 151,\n\t\tgen: 2,\n\t\tisNonstandard: \"Past\",\n\t},\n\n\t// CAP items\n\n\tcrucibellite: {\n\t\tname: \"Crucibellite\",\n\t\tspritenum: 577,\n\t\tmegaStone: \"Crucibelle-Mega\",\n\t\tmegaEvolves: \"Crucibelle\",\n\t\titemUser: [\"Crucibelle\"],\n\t\tonTakeItem(item, source) {\n\t\t\tif (item.megaEvolves === source.baseSpecies.baseSpecies) return false;\n\t\t\treturn true;\n\t\t},\n\t\tnum: -1,\n\t\tgen: 6,\n\t\tisNonstandard: \"CAP\",\n\t},\n\tvilevial: {\n\t\tname: \"Vile Vial\",\n\t\tspritenum: 752,\n\t\tfling: {\n\t\t\tbasePower: 60,\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (user.baseSpecies.num === -66 && ['Poison', 'Flying'].includes(move.type)) {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif (source?.baseSpecies.num === -66 || pokemon.baseSpecies.num === -66) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tforcedForme: \"Venomicon-Epilogue\",\n\t\titemUser: [\"Venomicon-Epilogue\"],\n\t\tnum: -2,\n\t\tgen: 8,\n\t\tisNonstandard: \"CAP\",\n\t},\n};\n"], "mappings": "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", "names": [] }