{ "version": 3, "sources": ["../../../../../data/mods/vaporemons/items.ts"], "sourcesContent": ["export const Items: {[itemid: string]: ModdedItemData} = {\n\tbigroot: {\n\t\tname: \"Big Root\",\n\t\tspritenum: 29,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonBasePowerPriority: 23,\n\t\tonBasePower(basePower, attacker, defender, move) {\n\t\t\tif (move.flags['heal'] || move.id === 'bitterblade') {\n\t\t\t\tthis.debug('Big Root boost');\n\t\t\t\treturn this.chainModify([5324, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTryHealPriority: 1,\n\t\tonTryHeal(damage, target, source, effect) {\n\t\t\tconst heals = ['leechseed', 'ingrain', 'aquaring', 'strengthsap', 'healingstones', 'rekindleheal'];\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\tdesc: \"Damaging draining moves deal 30% more damage, status draining moves heal 30% more.\",\n\t\tgen: 4,\n\t},\n\tterashard: {\n\t\tname: \"Tera Shard\",\n\t\tspritenum: 658,\n\t\tonTakeItem: false,\n\t\tonStart(pokemon) {\n\t\t\tconst type = pokemon.teraType;\n\t\t\tthis.add('-item', pokemon, 'Tera Shard');\n\t\t\tthis.add('-anim', pokemon, \"Cosmic Power\", pokemon);\n\t\t\tif (type && type !== '???') {\n\t\t\t\tif (!pokemon.setType(type)) return;\n\t\t\t\tthis.add('-start', pokemon, 'typechange', type, '[from] item: Tera Shard');\n\t\t\t}\n\t\t\tthis.add('-message', `${pokemon.name}'s Tera Shard changed its type!`);\n\t\t},\n\t\tonBasePowerPriority: 30,\n\t\tonBasePower(basePower, attacker, defender, move) {\n\t\t\tif (move.id === 'terablast') {\n\t\t\t\treturn this.chainModify(1.25);\n\t\t\t}\n\t\t},\n\t\tonTryHit(pokemon, target, move) {\n\t\t\tif (move.id === 'soak' || move.id === 'magicpowder') {\n\t\t\t\tthis.add('-immune', pokemon, '[from] item: Tera Shard');\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\tnum: -1000,\n\t\tgen: 9,\n\t\tdesc: \"Holder becomes its Tera Type on switch-in.\",\n\t},\n\tseginstarshard: {\n\t\tname: \"Segin Star Shard\",\n\t\tspritenum: 646,\n\t\tfling: {\n\t\t\tbasePower: 20,\n\t\t\tstatus: 'slp',\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif (source?.baseSpecies.num === 966 || pokemon.baseSpecies.num === 966) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tonSwitchIn(pokemon) {\n\t\t\tif (pokemon.baseSpecies.baseSpecies === 'Revavroom') {\n\t\t\t\tthis.add('-item', pokemon, 'Segin Star Shard');\n\t\t\t\tthis.add('-anim', pokemon, \"Cosmic Power\", pokemon);\n\t\t\t\tthis.add('-message', `${pokemon.name}'s Segin Star Shard changed its type!`);\n\t\t\t}\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (user.baseSpecies.num === 966 && ['Dark', 'Steel', 'Poison'].includes(move.type)) {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTryHit(pokemon, target, move) {\n\t\t\tif (move.id === 'soak' || move.id === 'magicpowder') {\n\t\t\t\tthis.add('-immune', pokemon, '[from] item: Segin Star Shard');\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\tforcedForme: \"Revavroom-Segin\",\n\t\titemUser: [\"Revavroom\"],\n\t\tnum: -1001,\n\t\tgen: 9,\n\t\tdesc: \"Revavroom: Becomes Dark-type, Ability: Intimidate, 1.2x Dark/Poison/Steel power.\",\n\t},\n\tschedarstarshard: {\n\t\tname: \"Schedar Star Shard\",\n\t\tspritenum: 632,\n\t\tfling: {\n\t\t\tbasePower: 20,\n\t\t\tstatus: 'brn',\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif (source?.baseSpecies.num === 966 || pokemon.baseSpecies.num === 966) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tonSwitchIn(pokemon) {\n\t\t\tif (pokemon.baseSpecies.baseSpecies === 'Revavroom') {\n\t\t\t\tthis.add('-item', pokemon, 'Schedar Star Shard');\n\t\t\t\tthis.add('-anim', pokemon, \"Cosmic Power\", pokemon);\n\t\t\t\tthis.add('-message', `${pokemon.name}'s Schedar Star Shard changed its type!`);\n\t\t\t}\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (user.baseSpecies.num === 966 && ['Fire', 'Steel', 'Poison'].includes(move.type)) {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTryHit(pokemon, target, move) {\n\t\t\tif (move.id === 'soak' || move.id === 'magicpowder') {\n\t\t\t\tthis.add('-immune', pokemon, '[from] item: Schedar Star Shard');\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\tforcedForme: \"Revavroom-Schedar\",\n\t\titemUser: [\"Revavroom\"],\n\t\tnum: -1002,\n\t\tgen: 9,\n\t\tdesc: \"Revavroom: Becomes Fire-type, Ability: Speed Boost, 1.2x Fire/Poison/Steel power.\",\n\t},\n\tnavistarshard: {\n\t\tname: \"Navi Star Shard\",\n\t\tspritenum: 638,\n\t\tfling: {\n\t\t\tbasePower: 20,\n\t\t\tstatus: 'psn',\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif (source?.baseSpecies.num === 966 || pokemon.baseSpecies.num === 966) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tonSwitchIn(pokemon) {\n\t\t\tif (pokemon.baseSpecies.baseSpecies === 'Revavroom') {\n\t\t\t\tthis.add('-item', pokemon, 'Navi Star Shard');\n\t\t\t\tthis.add('-anim', pokemon, \"Cosmic Power\", pokemon);\n\t\t\t\tthis.add('-message', `${pokemon.name}'s Navi Star Shard changed its type!`);\n\t\t\t}\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (user.baseSpecies.num === 966 && ['Steel', 'Poison'].includes(move.type)) {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTryHit(pokemon, target, move) {\n\t\t\tif (move.id === 'soak' || move.id === 'magicpowder') {\n\t\t\t\tthis.add('-immune', pokemon, '[from] item: Navi Star Shard');\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\tforcedForme: \"Revavroom-Navi\",\n\t\titemUser: [\"Revavroom\"],\n\t\tnum: -1003,\n\t\tgen: 9,\n\t\tdesc: \"Revavroom: Becomes Poison-type, Ability: Toxic Debris, 1.2x Poison/Steel power.\",\n\t},\n\truchbahstarshard: {\n\t\tname: \"Ruchbah Star Shard\",\n\t\tspritenum: 648,\n\t\tfling: {\n\t\t\tbasePower: 20,\n\t\t\tvolatileStatus: 'confusion',\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif (source?.baseSpecies.num === 966 || pokemon.baseSpecies.num === 966) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tonSwitchIn(pokemon) {\n\t\t\tif (pokemon.baseSpecies.baseSpecies === 'Revavroom') {\n\t\t\t\tthis.add('-item', pokemon, 'Ruchbah Star Shard');\n\t\t\t\tthis.add('-anim', pokemon, \"Cosmic Power\", pokemon);\n\t\t\t\tthis.add('-message', `${pokemon.name}'s Ruchbah Star Shard changed its type!`);\n\t\t\t}\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (user.baseSpecies.num === 966 && ['Fairy', 'Steel', 'Poison'].includes(move.type)) {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTryHit(pokemon, target, move) {\n\t\t\tif (move.id === 'soak' || move.id === 'magicpowder') {\n\t\t\t\tthis.add('-immune', pokemon, '[from] item: Ruchbah Star Shard');\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\tforcedForme: \"Revavroom-Ruchbah\",\n\t\titemUser: [\"Revavroom\"],\n\t\tnum: -1004,\n\t\tgen: 9,\n\t\tdesc: \"Revavroom: Becomes Fairy-type, Ability: Misty Surge, 1.2x Fairy/Poison/Steel power.\",\n\t},\n\tcaphstarshard: {\n\t\tname: \"Caph Star Shard\",\n\t\tspritenum: 637,\n\t\tfling: {\n\t\t\tbasePower: 20,\n\t\t\tstatus: 'par',\n\t\t},\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif (source?.baseSpecies.num === 966 || pokemon.baseSpecies.num === 966) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tonSwitchIn(pokemon) {\n\t\t\tif (pokemon.baseSpecies.baseSpecies === 'Revavroom') {\n\t\t\t\tthis.add('-item', pokemon, 'Caph Star Shard');\n\t\t\t\tthis.add('-anim', pokemon, \"Cosmic Power\", pokemon);\n\t\t\t\tthis.add('-message', `${pokemon.name}'s Caph Star Shard changed its type!`);\n\t\t\t}\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (user.baseSpecies.num === 966 && ['Fighting', 'Steel', 'Poison'].includes(move.type)) {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTryHit(pokemon, target, move) {\n\t\t\tif (move.id === 'soak' || move.id === 'magicpowder') {\n\t\t\t\tthis.add('-immune', pokemon, '[from] item: Caph Star Shard');\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\tforcedForme: \"Revavroom-Caph\",\n\t\titemUser: [\"Revavroom\"],\n\t\tnum: -1005,\n\t\tgen: 9,\n\t\tdesc: \"Revavroom: Becomes Fighting-type, Ability: Stamina, 1.2x Fighting/Poison/Steel power.\",\n\t},\n\ttuffytuff: {\n\t\tname: \"Tuffy-Tuff\",\n\t\tspritenum: 692,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonTakeItem(item, source) {\n\t\t\tif (['Igglybuff', 'Jigglypuff', 'Wigglytuff'].includes((source.baseSpecies.baseSpecies))) return false;\n\t\t\treturn true;\n\t\t},\n\t\tonModifyDefPriority: 1,\n\t\tonModifyDef(def, pokemon) {\n\t\t\tif (['Igglybuff', 'Jigglypuff', 'Wigglytuff'].includes((pokemon.baseSpecies.baseSpecies))) {\n\t\t\t\treturn this.chainModify(2);\n\t\t\t}\n\t\t},\n\t\tonModifySpDPriority: 1,\n\t\tonModifySpD(spd, pokemon) {\n\t\t\tif (['Igglybuff', 'Jigglypuff', 'Wigglytuff'].includes((pokemon.baseSpecies.baseSpecies))) {\n\t\t\t\treturn this.chainModify(2);\n\t\t\t}\n\t\t},\n\t\tdesc: \"Igglybuff line: 2x Defense & Special Defense.\",\n\t\titemUser: [\"Igglybuff\", \"Jigglypuff\", \"Wigglytuff\"],\n\t\tnum: -1006,\n\t\tgen: 9,\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\tonUpdate(pokemon) {\n\t\t\tif (pokemon.moveThisTurnResult === false) {\n\t\t\t\tthis.boost({spe: 2, accuracy: 2});\n\t\t\t\tpokemon.useItem();\n\t\t\t}\n\t\t},\n\t\t// Item activation located in scripts.js\n\t\tnum: 1121,\n\t\tgen: 8,\n\t\tdesc: \"+2 Speed & Accuracy if the holder's move fails. Single use.\",\n\t},\n\tpunchingglove: {\n\t\tname: \"Punching Glove\",\n\t\tspritenum: 0, // TODO\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([5324, 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\tdesc: \"Holder's punch-based attacks have 1.3x power and do not make contact.\",\n\t\tnum: 1884,\n\t\tgen: 9,\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\tonBasePowerPriority: 23,\n\t\tonBasePower(basePower, attacker, defender, move) {\n\t\t\tif (move.flags['slicing']) {\n\t\t\t\tthis.debug('Razor Claw boost');\n\t\t\t\treturn this.chainModify([5324, 4096]);\n\t\t\t}\n\t\t},\n\t\tonModifyMovePriority: 1,\n\t\tonModifyMove(move) {\n\t\t\tif (move.flags['slicing']) delete move.flags['contact'];\n\t\t},\n\t\tdesc: \"Holder's slicing-based attacks have 1.3x power and do not make contact.\",\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\tonBasePowerPriority: 23,\n\t\tonBasePower(basePower, attacker, defender, move) {\n\t\t\tif (move.flags['bite']) {\n\t\t\t\tthis.debug('Razor Fang boost');\n\t\t\t\treturn this.chainModify([5324, 4096]);\n\t\t\t}\n\t\t},\n\t\tonModifyMovePriority: 1,\n\t\tonModifyMove(move) {\n\t\t\tif (move.flags['bite']) delete move.flags['contact'];\n\t\t},\n\t\tdesc: \"Holder's biting-based attacks have 1.3x power and do not make contact.\",\n\t\tnum: 327,\n\t\tgen: 4,\n\t\tisNonstandard: null,\n\t},\n\tbaseballbat: {\n\t\tname: \"Baseball Bat\",\n\t\tspritenum: 465,\n\t\tonBasePowerPriority: 23,\n\t\tonBasePower(basePower, attacker, defender, move) {\n\t\t\tif (move.flags['contact']) {\n\t\t\t\tthis.debug('Baseball Bat boost');\n\t\t\t\treturn this.chainModify([5120, 4096]);\n\t\t\t}\n\t\t},\n\t\tonSourceModifyDamage(damage, source, target, move) {\n\t\t\tif (move.flags['bullet']) {\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.useItem()) {\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\tdesc: \"Holder's contact moves have 1.25x power. If hit by bullet/bomb move, it deals 50% damage and the item breaks.\",\n\t\tnum: -1007,\n\t\tgen: 9,\n\t},\n\twalkietalkie: {\n\t\tname: \"Walkie-Talkie\",\n\t\tspritenum: 713,\n\t\tfling: {\n\t\t\tbasePower: 20,\n\t\t},\n\t\tonBeforeMovePriority: 0.5,\n\t\tonBeforeMove(attacker, defender, move) {\n\t\t\tif (!this.canSwitch(attacker.side) || attacker.forceSwitchFlag || attacker.switchFlag || !move.flags['sound']) return;\n\t\t\tthis.effectState.move = this.dex.moves.get(move.id);\n\t\t\tattacker.deductPP(move.id, 1);\n\t\t\tthis.add('-activate', attacker, 'item: Walkie-Talkie');\n\t\t\tthis.add('-message', `${attacker.name} is calling in one of its allies!`);\n\t\t\tattacker.switchFlag = true;\n\t\t\treturn null;\n\t\t},\n\t\tdesc: \"(Mostly non-functional placeholder) Before using a sound move, holder switches. Switch-in uses move if it's holding a Walkei-Talkie.\",\n\t\tnum: -1008,\n\t\tgen: 8,\n\t},\n\tairfreshener: {\n\t\tname: \"Air Freshener\",\n\t\tspritenum: 713,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonSwitchOut(pokemon) {\n\t\t\tpokemon.cureStatus();\n\t\t},\n\t\t// other effect coded into the moves themselves\n\t\tdesc: \"Holder's wind-based attacks heal the party's status. Holder has its status condition cured when it switches out.\",\n\t\tnum: -1009,\n\t\tgen: 9,\n\t},\n\tdancingshoes: {\n\t\tname: \"Dancing Shoes\",\n\t\tspritenum: 715,\n\t\tonSwitchIn(pokemon) {\n\t\t\tif (pokemon.isActive && pokemon.baseSpecies.name === 'Meloetta') {\n\t\t\t\tpokemon.formeChange('Meloetta-Pirouette');\n\t\t\t\tif (pokemon.hasAbility('trace')) {\n\t\t\t\t\tpokemon.setAbility('noguard', pokemon, true);\n\t\t\t\t\tthis.add('-activate', pokemon, 'ability: No Guard');\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonTryHitPriority: 1,\n\t\tonTryHit(target, source, move) {\n\t\t\tif (target !== source && move.flags['sound']) {\n\t\t\t\tif (!this.boost({atk: 1})) {\n\t\t\t\t\tthis.add('-immune', target, '[from] item: Dancing Shoes');\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\tonAllyTryHitSide(target, source, move) {\n\t\t\tif (target === this.effectState.target || target.side !== source.side) return;\n\t\t\tif (move.flags['sound']) {\n\t\t\t\tthis.boost({atk: 1}, this.effectState.target);\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, source) {\n\t\t\tif (source.baseSpecies.baseSpecies === 'Meloetta') return false;\n\t\t\treturn true;\n\t\t},\n\t\titemUser: [\"Meloetta\"],\n\t\tnum: -1010,\n\t\tgen: 9,\n\t\tdesc: \"If held by Meloetta: Pirouette Forme on entry, hazard immunity, Sound immunity, +1 Attack when hit by Sound.\",\n\t},\n\tcharizarditeshardx: {\n\t\tname: \"Charizardite Shard X\",\n\t\tspritenum: 585,\n\t\tonTakeItem(item, source) {\n\t\t\tif (source.baseSpecies.baseSpecies === 'Charizard') return false;\n\t\t\treturn true;\n\t\t},\n\t\tonSwitchIn(pokemon) {\n\t\t\tconst targetType = pokemon.getTypes(true, true)[1];\n\t\t\tif (pokemon.baseSpecies.baseSpecies === 'Charizard') {\n\t\t\t\tthis.add('-item', pokemon, 'Charizardite Shard X');\n\t\t\t\tthis.add('-anim', pokemon, \"Cosmic Power\", pokemon);\n\t\t\t\tpokemon.setType(pokemon.getTypes(true).map(type => type === targetType ? \"Dragon\" : type));\n\t\t\t\tthis.add('-message', `${pokemon.name}'s Charizardite Shard X changed its type!`);\n\t\t\t\tpokemon.setAbility('toughclaws', pokemon, true);\n\t\t\t\tthis.add('-activate', pokemon, 'ability: Tough Claws');\n\t\t\t\tthis.boost({atk: 1});\n\t\t\t}\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move && user.baseSpecies.num === 6 && ['Dragon', 'Fire'].includes(move.type)) {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTryHit(pokemon, target, move) {\n\t\t\tif (move.id === 'soak' || move.id === 'magicpowder') {\n\t\t\t\tthis.add('-immune', pokemon, '[from] item: Charizardite Shard X');\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\titemUser: [\"Charizard\"],\n\t\tnum: -1011,\n\t\tgen: 9,\n\t\tdesc: \"Charizard: Becomes Fire/Dragon-type, Ability: Tough Claws, +1 Atk, 1.2x Dragon/Fire power.\",\n\t},\n\tcharizarditeshardy: {\n\t\tname: \"Charizardite Shard Y\",\n\t\tspritenum: 586,\n\t\tonTakeItem(item, source) {\n\t\t\tif (source.baseSpecies.baseSpecies === 'Charizard') return false;\n\t\t\treturn true;\n\t\t},\n\t\tonSwitchIn(pokemon) {\n\t\t\tconst type = pokemon.hpType;\n\t\t\tif (pokemon.baseSpecies.baseSpecies === 'Charizard') {\n\t\t\t\tthis.add('-item', pokemon, 'Charizardite Shard Y');\n\t\t\t\tthis.add('-anim', pokemon, \"Cosmic Power\", pokemon);\n\t\t\t\tif (type && type !== '???') {\n\t\t\t\t\tif (!pokemon.setType('Fire')) return;\n\t\t\t\t\tthis.add('-start', pokemon, 'typechange', 'Fire', '[from] item: Charizardite Shard Y');\n\t\t\t\t}\n\t\t\t\tthis.add('-message', `${pokemon.name}'s Charizardite Shard Y changed its type!`);\n\t\t\t\tpokemon.setAbility('drought', pokemon, true);\n\t\t\t\tthis.boost({spa: 1});\n\t\t\t}\n\t\t},\n\t\tonBasePowerPriority: 15,\n\t\tonBasePower(basePower, user, target, move) {\n\t\t\tif (move && user.baseSpecies.num === 6 && ['Flying', 'Fire'].includes(move.type)) {\n\t\t\t\treturn this.chainModify([4915, 4096]);\n\t\t\t}\n\t\t},\n\t\tonTryHit(pokemon, target, move) {\n\t\t\tif (move.id === 'soak' || move.id === 'magicpowder') {\n\t\t\t\tthis.add('-immune', pokemon, '[from] item: Charizardite Shard Y');\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\titemUser: [\"Charizard\"],\n\t\tnum: -1012,\n\t\tgen: 9,\n\t\tdesc: \"Charizard: Becomes pure Fire-type, Ability: Drought, +1 SpA, 1.2x Fire/Flying power.\",\n\t},\n\toddkeystone: {\n\t\tname: \"Odd Keystone\",\n\t\tspritenum: 390,\n\t\tonResidualOrder: 5,\n\t\tonResidualSubOrder: 5,\n\t\tonResidual(pokemon) {\n\t\t\tif (pokemon.baseSpecies.name === 'Spiritomb') {\n\t\t\t\tthis.heal(pokemon.baseMaxhp / 8);\n\t\t\t}\n\t\t},\n\t\tonSourceModifyAtkPriority: 6,\n\t\tonSourceModifyAtk(atk, attacker, defender, move) {\n\t\t\tif (move.type === 'Fairy' && defender.baseSpecies.baseSpecies === 'Spiritomb') {\n\t\t\t\tthis.debug('Odd Keystone weaken');\n\t\t\t\treturn this.chainModify(0.5);\n\t\t\t}\n\t\t},\n\t\tonSourceModifySpAPriority: 5,\n\t\tonSourceModifySpA(atk, attacker, defender, move) {\n\t\t\tif (move.type === 'Fairy' && defender.baseSpecies.baseSpecies === 'Spiritomb') {\n\t\t\t\tthis.debug('Odd Keystone weaken');\n\t\t\t\treturn this.chainModify(0.5);\n\t\t\t}\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.volatiles['healblock'] && pokemon.baseSpecies.baseSpecies === 'Spiritomb') {\n\t\t\t\tthis.add('-activate', pokemon, 'item: Odd Keystone');\n\t\t\t\tpokemon.removeVolatile('healblock');\n\t\t\t\tthis.add('-end', pokemon, 'move: Heal Block', '[from] item: Odd Keystone');\n\t\t\t}\n\t\t},\n\t\tonHit(target, source, move) {\n\t\t\tif (move?.volatileStatus === 'healblock' && target.baseSpecies.baseSpecies === 'Spiritomb') {\n\t\t\t\tthis.add('-immune', target, 'healblock', '[from] item: Odd Keystone');\n\t\t\t}\n\t\t},\n\t\tonTryHit(pokemon, target, move) {\n\t\t\tif (move.id === 'healblock' && pokemon.baseSpecies.baseSpecies === 'Spiritomb') {\n\t\t\t\tthis.add('-immune', pokemon, '[from] item: Odd Keystone');\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\tonAllyTryAddVolatile(status, target, source, effect) {\n\t\t\tif (['healblock'].includes(status.id)) {\n\t\t\t\tconst effectHolder = this.effectState.target;\n\t\t\t\tthis.add('-block', target, 'item: Odd Keystone', '[of] ' + effectHolder);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\tonTakeItem(item, source) {\n\t\t\tif (source.baseSpecies.baseSpecies === 'Spiritomb') return false;\n\t\t\treturn true;\n\t\t},\n\t\titemUser: [\"Spiritomb\"],\n\t\tnum: -1029,\n\t\tgen: 8,\n\t\tdesc: \"If held by Spiritomb: Heal 12.5% per turn, 50% damage from Fairy attacks, immune to Heal Block.\",\n\t},\n\tmithrilarmor: {\n\t\tname: \"Mithril Armor\",\n\t\tspritenum: 744,\n\t\tfling: {\n\t\t\tbasePower: 80,\n\t\t},\n\t\tonModifyDefPriority: 2,\n\t\tonModifyDef(def, pokemon) {\n\t\t\treturn this.chainModify(1.2);\n\t\t},\n\t\tonCriticalHit: false,\n\t\tnum: -1030,\n\t\tgen: 8,\n\t\tdesc: \"Holder is immune to critical hits and has 1.2x Defense.\",\n\t},\n\ttiedyeband: {\n\t\tname: \"Tie-Dye Band\",\n\t\tspritenum: 297,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonBasePower(basePower, pokemon, target, move) {\n\t\t\tif (!pokemon.hasType(move.type)) {\n\t\t\t\treturn this.chainModify(1.3);\n\t\t\t} else if (pokemon.hasType(move.type)) {\n\t\t\t\treturn this.chainModify(0.67);\n\t\t\t}\n\t\t},\n\t\tnum: -1031,\n\t\tgen: 8,\n\t\tdesc: \"Holder's non-STAB moves deal 30% more damage, but its STAB moves deal 0.67x damage.\",\n\t},\n\therosbubble: {\n\t\tname: \"Hero's Bubble\",\n\t\tspritenum: 390,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonModifyAtk(atk, attacker, defender, move) {\n\t\t\tif (move.type === 'Water' &&\n\t\t\t\tattacker.baseSpecies.baseSpecies === 'Palafin' &&\n\t\t\t\tattacker.species.forme !== 'Hero') {\n\t\t\t\treturn this.chainModify(2);\n\t\t\t}\n\t\t},\n\t\tonModifySpA(atk, attacker, defender, move) {\n\t\t\tif (move.type === 'Water' &&\n\t\t\t\tattacker.baseSpecies.baseSpecies === 'Palafin' &&\n\t\t\t\tattacker.species.forme !== 'Hero') {\n\t\t\t\treturn this.chainModify(2);\n\t\t\t}\n\t\t},\n\t\tonSourceModifyAtkPriority: 5,\n\t\tonSourceModifyAtk(atk, attacker, defender, move) {\n\t\t\tif ((move.type === 'Dark' || move.type === 'Fighting') &&\n\t\t\t\tdefender.baseSpecies.baseSpecies === 'Palafin' &&\n\t\t\t\tdefender.species.forme === 'Hero') {\n\t\t\t\treturn this.chainModify(0.5);\n\t\t\t}\n\t\t},\n\t\tonSourceModifySpAPriority: 5,\n\t\tonSourceModifySpA(atk, attacker, defender, move) {\n\t\t\tif ((move.type === 'Dark' || move.type === 'Fighting') &&\n\t\t\t\tdefender.baseSpecies.baseSpecies === 'Palafin' &&\n\t\t\t\tdefender.species.forme === 'Hero') {\n\t\t\t\treturn this.chainModify(0.5);\n\t\t\t}\n\t\t},\n\t\titemUser: [\"Palafin\"],\n\t\tnum: -1032,\n\t\tgen: 8,\n\t\tdesc: \"If Palafin-Zero: 2x Water power. If Palafin-Hero: takes 50% damage from Dark and Fighting.\",\n\t},\n\tsandclock: {\n\t\tname: \"Sand Clock\",\n\t\tspritenum: 453,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonModifySpDPriority: 1,\n\t\tonModifySpD(spd, pokemon) {\n\t\t\tif (pokemon.hasType('Rock')) {\n\t\t\t\treturn this.chainModify(1.5);\n\t\t\t}\n\t\t},\n\t\tnum: -1033,\n\t\tgen: 8,\n\t\tdesc: \"If the holder is a Rock-type, its SpD is boosted 1.5x.\",\n\t},\n\tsnowglobe: {\n\t\tname: \"Snow Globe\",\n\t\tspritenum: 221,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonModifyDefPriority: 1,\n\t\tonModifyDef(def, pokemon) {\n\t\t\tif (pokemon.hasType('Ice')) {\n\t\t\t\treturn this.chainModify(1.5);\n\t\t\t}\n\t\t},\n\t\tnum: -1034,\n\t\tgen: 8,\n\t\tdesc: \"If the holder is an Ice-type, its Def is boosted 1.5x.\",\n\t},\n\thandmirror: {\n\t\tname: \"Hand Mirror\",\n\t\tspritenum: 747,\n\t\tfling: {\n\t\t\tbasePower: 30,\n\t\t},\n\t\tonSourceModifyDamage(damage, source, target, move) {\n\t\t\tif (target.hasType(source.getTypes())) {\n\t\t\t\treturn this.chainModify(0.66);\n\t\t\t}\n\t\t},\n\t\tnum: -1035,\n\t\tgen: 8,\n\t\tdesc: \"Holder takes 2/3 damage from foes that share a type.\",\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\tonUpdate(pokemon) {\n\t\t\tif (pokemon.volatiles['mustrecharge']) {\n\t\t\t\tpokemon.removeVolatile('mustrecharge');\n\t\t\t\tpokemon.useItem();\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\tdesc: \"Holder's two-turn moves and recharge complete in one turn (except Sky Drop). Single use.\",\n\t},\n\tleatherbelt: {\n\t\tname: \"Leather 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\tgen: 8,\n\t\tdesc: \"Holder's neutral damaging moves deal 1.2x damage.\",\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\tonSourceModifyDamage(damage, source, target, move) {\n\t\t\tif (move.category === 'Physical') {\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('kee activation');\n\t\t\t\t\tthis.add('-enditem', target, this.effect, '[weaken]');\n\t\t\t\t\tif (!target.getMoveHitData(move).crit) {\n\t\t\t\t\t\treturn this.chainModify(0.67);\n\t\t\t\t\t}\n\t\t\t\t}\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\tdesc: \"Raises holder's Defense by 1 stage before it is hit by a physical attack. Single use.\",\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\tonSourceModifyDamage(damage, source, target, move) {\n\t\t\tif (move.category === 'Special') {\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('maranga activation');\n\t\t\t\t\tthis.add('-enditem', target, this.effect, '[weaken]');\n\t\t\t\t\tif (!target.getMoveHitData(move).crit) {\n\t\t\t\t\t\treturn this.chainModify(0.67);\n\t\t\t\t\t}\n\t\t\t\t}\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\tdesc: \"Raises holder's Sp. Defense by 1 stage before it is hit by a special attack. Single use.\",\n\t},\n\tbindingband: {\n\t\tname: \"Binding Band\",\n\t\tspritenum: 31,\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 (target.volatiles['trapped'] || target.volatiles['partiallytrapped'] || target.volatiles['sandspit']) {\n\t\t\t\treturn this.chainModify(1.5);\n\t\t\t}\n\t\t},\n\t\tonSourceModifyAccuracyPriority: -2,\n\t\tonSourceModifyAccuracy(accuracy, target) {\n\t\t\tif (typeof accuracy === 'number' &&\n\t\t\t\t(target.volatiles['trapped'] ||\n\t\t\t\ttarget.volatiles['partiallytrapped'] ||\n\t\t\t\ttarget.volatiles['sandspit'])) {\n\t\t\t\tthis.debug('Binding Band boosting accuracy');\n\t\t\t\treturn this.chainModify(1.5);\n\t\t\t}\n\t\t},\n\t\t// other effects removed in statuses\n\t\tdesc: \"Against trapped targets: 1.5x move power and accuracy.\",\n\t\tnum: 544,\n\t\tgen: 5,\n\t},\n\tslingshot: {\n\t\tname: \"Slingshot\",\n\t\tspritenum: 387,\n\t\tfling: {\n\t\t\tbasePower: 60,\n\t\t},\n\t\tonAfterMoveSecondary(target, source, move) {\n\t\t\tif (source && source !== target && source.hp && target.hp && move &&\n\t\t\t\t['uturn', 'voltswitch', 'flipturn', 'round', 'rollout', 'partingshot'].includes(move.id)) {\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\tif (this.runEvent('DragOut', source, target, move)) {\n\t\t\t\t\tthis.damage(source.baseMaxhp / 8, source, target);\n\t\t\t\t\tsource.forceSwitchFlag = true;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tdesc: \"If hit by pivoting move: attacker takes 1/8 of their max HP in damage and is forced out.\",\n\t\tgen: 9,\n\t\tnum: -1100,\n\t},\n\tmantisclaw: {\n\t\tname: \"Mantis Claw\",\n\t\tspritenum: 382,\n\t\tfling: {\n\t\t\tbasePower: 10,\n\t\t},\n\t\tonModifyAtkPriority: 1,\n\t\tonModifyAtk(atk, pokemon) {\n\t\t\tif (pokemon.baseSpecies.baseSpecies === 'Kleavor') {\n\t\t\t\treturn this.chainModify(1.5);\n\t\t\t}\n\t\t},\n\t\tonModifyDefPriority: 1,\n\t\tonModifyDef(def, pokemon) {\n\t\t\tif (pokemon.baseSpecies.baseSpecies === 'Scizor') {\n\t\t\t\treturn this.chainModify(1.3);\n\t\t\t}\n\t\t},\n\t\tonModifySpDPriority: 1,\n\t\tonModifySpD(spd, pokemon) {\n\t\t\tif (pokemon.baseSpecies.baseSpecies === 'Scizor') {\n\t\t\t\treturn this.chainModify(1.3);\n\t\t\t}\n\t\t},\n\t\tonModifySpePriority: 1,\n\t\tonModifySpe(spe, pokemon) {\n\t\t\tif (pokemon.baseSpecies.baseSpecies === 'Scyther') {\n\t\t\t\treturn this.chainModify(1.5);\n\t\t\t}\n\t\t},\n\t\tdesc: \"Scyther line: Immune to hazard damage, 1.5x Spe (Scyther), 1.3x Defenses (Scizor), 1.5x Attack (Kleavor).\",\n\t\titemUser: [\"Scyther\", \"Scizor\", \"Kleavor\"],\n\t\tgen: 9,\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\t// Don't bounce self stat changes, or boosts that have already bounced\n\t\t\tif (!source || target === source || !boost || effect.name === 'Mirror Armor' || effect.name === 'Clear Amulet') return;\n\t\t\tlet b: BoostID;\n\t\t\tfor (b in boost) {\n\t\t\t\tif (boost[b]! < 0) {\n\t\t\t\t\tif (target.boosts[b] === -6) continue;\n\t\t\t\t\tconst negativeBoost: SparseBoostsTable = {};\n\t\t\t\t\tnegativeBoost[b] = boost[b];\n\t\t\t\t\tdelete boost[b];\n\t\t\t\t\tif (source.hp) {\n\t\t\t\t\t\tthis.add('-item', target, 'Clear Amulet');\n\t\t\t\t\t\tthis.boost(negativeBoost, source, target, null, true);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tnum: 1882,\n\t\tdesc: \"If this Pokemon's stat stages would be lowered, the attacker's are lowered instead.\",\n\t\tgen: 9,\n\t},\n\tquickclaw: {\n\t\tname: \"Quick Claw\",\n\t\tspritenum: 373,\n\t\tfling: {\n\t\t\tbasePower: 20,\n\t\t},\n\t\tonBasePowerPriority: 23,\n\t\tonBasePower(basePower, attacker, defender, move) {\n\t\t\tif (move?.priority > 0.1) {\n\t\t\t\tthis.debug('Quick Claw boost');\n\t\t\t\treturn this.chainModify([5324, 4096]);\n\t\t\t}\n\t\t},\n\t\tonModifyMovePriority: 1,\n\t\tonModifyMove(move) {\n\t\t\tif (move?.priority > 0.1) delete move.flags['contact'];\n\t\t},\n\t\tdesc: \"Holder's priority attacks have 1.3x power and do not make contact.\",\n\t\tnum: 217,\n\t\tgen: 2,\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\tonBasePowerPriority: 23,\n\t\tonBasePower(basePower, attacker, defender, move) {\n\t\t\tif (move.recoil || move.hasCrashDamage) {\n\t\t\t\tthis.debug('Protective Pads boost');\n\t\t\t\treturn this.chainModify([5324, 4096]);\n\t\t\t}\n\t\t},\n\t\t// protective effect handled in Battle#checkMoveMakesContact\n\t\tnum: 880,\n\t\tgen: 7,\n\t\tdesc: \"This Pokemon's recoil moves deal 1.3x damage and all of its moves don't make contact.\",\n\t},\n\tdesertrose: {\n\t\tname: \"Desert Rose\",\n\t\tspritenum: 603,\n\t\tonTakeItem(item, source) {\n\t\t\tif (source.baseSpecies.num === 671) return false;\n\t\t\treturn true;\n\t\t},\n\t\tonSwitchIn(pokemon) {\n\t\t\tthis.add('-message', `${pokemon.name}'s flower blooms in the sandstorm!`);\n\t\t\tpokemon.setAbility('sandveil', pokemon, true);\n\t\t\tthis.add('-activate', pokemon, 'ability: Sand Veil');\n\t\t},\n\t\tonResidualOrder: 5,\n\t\tonResidualSubOrder: 5,\n\t\tonResidual(pokemon) {\n\t\t\tif (pokemon.baseSpecies.num === 671 && this.field.isWeather('sandstorm')) {\n\t\t\t\tthis.heal(pokemon.baseMaxhp / 8);\n\t\t\t}\n\t\t},\n\t\tonModifySpDPriority: 1,\n\t\tonModifySpD(spd, pokemon) {\n\t\t\tif (pokemon.baseSpecies.num === 671 && this.field.isWeather('sandstorm')) {\n\t\t\t\treturn this.chainModify(1.5);\n\t\t\t}\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.volatiles['healblock'] && pokemon.baseSpecies.num === 671) {\n\t\t\t\tthis.add('-activate', pokemon, 'item: Desert Rose');\n\t\t\t\tpokemon.removeVolatile('healblock');\n\t\t\t\tthis.add('-end', pokemon, 'move: Heal Block', '[from] item: Desert Rose');\n\t\t\t}\n\t\t},\n\t\tonHit(target, source, move) {\n\t\t\tif (move?.volatileStatus === 'healblock' && target.baseSpecies.num === 671) {\n\t\t\t\tthis.add('-immune', target, 'healblock', '[from] item: Desert Rose');\n\t\t\t}\n\t\t},\n\t\tonTryHit(pokemon, target, move) {\n\t\t\tif (move.id === 'healblock' && target.baseSpecies.num === 671) {\n\t\t\t\tthis.add('-immune', pokemon, '[from] item: Desert Rose');\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\tonAllyTryAddVolatile(status, target, source, effect) {\n\t\t\tif (['healblock'].includes(status.id)) {\n\t\t\t\tconst effectHolder = this.effectState.target;\n\t\t\t\tthis.add('-block', target, 'item: Desert Rose', '[of] ' + effectHolder);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\titemUser: [\"Florges\"],\n\t\tgen: 9,\n\t\tdesc: \"Florges: Ability becomes Sand Veil, immune to Heal Block, 12.5% recovery and 1.5x SpD in Sand.\",\n\t},\n\tdiancitestonefragment: {\n\t\tname: \"Diancite Stone Fragment\",\n\t\tspritenum: 624,\n\t\tonTakeItem: false,\n\t\tonSwitchIn(pokemon) {\n\t\t\tif (pokemon.baseSpecies.name === 'Diancie') {\n\t\t\t\tthis.add('-item', pokemon, 'Diancite Stone Fragment');\n\t\t\t\tpokemon.setAbility('magicbounce', pokemon, true);\n\t\t\t\tthis.add('-activate', pokemon, 'ability: Magic Bounce');\n\t\t\t\tthis.boost({atk: 1, spa: 1, spe: 1});\n\t\t\t}\n\t\t},\n\t\titemUser: [\"Diancie\"],\n\t\tgen: 9,\n\t\tdesc: \"Diancie: Ability becomes Magic Bounce, +1 Atk/SpA/Spe.\",\n\t},\n\n\t// unchanged items\n\tboosterenergy: {\n\t\tname: \"Booster Energy\",\n\t\tspritenum: 0, // TODO\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.transformed) return;\n\t\t\tif (this.queue.peek(true)?.choice === 'runSwitch') return;\n\t\t\tif (pokemon.hasAbility('protosynthesis') && !pokemon.volatiles['protosynthesis'] &&\n\t\t\t\t !this.field.isWeather('sunnyday') && pokemon.useItem()) {\n\t\t\t\tpokemon.addVolatile('protosynthesis');\n\t\t\t}\n\t\t\tif (pokemon.hasAbility('protosmosis') && !pokemon.volatiles['protosmosis'] &&\n\t\t\t\t !this.field.isWeather('raindance') && pokemon.useItem()) {\n\t\t\t\tpokemon.addVolatile('protosmosis');\n\t\t\t}\n\t\t\tif (pokemon.hasAbility('protocrysalis') && !pokemon.volatiles['protocrysalis'] &&\n\t\t\t\t !this.field.isWeather('sandstorm') && pokemon.useItem()) {\n\t\t\t\tpokemon.addVolatile('protocrysalis');\n\t\t\t}\n\t\t\tif (pokemon.hasAbility('protostasis') && !pokemon.volatiles['protostasis'] &&\n\t\t\t\t !this.field.isWeather('snow') && pokemon.useItem()) {\n\t\t\t\tpokemon.addVolatile('protostasis');\n\t\t\t}\n\t\t\tif (pokemon.hasAbility('quarkdrive') && !pokemon.volatiles['quarkdrive'] &&\n\t\t\t\t !this.field.isTerrain('electricterrain') && pokemon.useItem()) {\n\t\t\t\tpokemon.addVolatile('quarkdrive');\n\t\t\t}\n\t\t\tif (pokemon.hasAbility('photondrive') && !pokemon.volatiles['photondrive'] &&\n\t\t\t\t !this.field.isTerrain('grassyterrain') && pokemon.useItem()) {\n\t\t\t\tpokemon.addVolatile('photondrive');\n\t\t\t}\n\t\t\tif (pokemon.hasAbility('neurondrive') && !pokemon.volatiles['neurondrive'] &&\n\t\t\t\t !this.field.isTerrain('psychicterrain') && pokemon.useItem()) {\n\t\t\t\tpokemon.addVolatile('neurondrive');\n\t\t\t}\n\t\t\tif (pokemon.hasAbility('runedrive') && !pokemon.volatiles['runedrive'] &&\n\t\t\t\t !this.field.isTerrain('mistyterrain') && pokemon.useItem()) {\n\t\t\t\tpokemon.addVolatile('runedrive');\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\tdesc: \"Activates the Paradox Abilities. Single use.\",\n\t\tgen: 9,\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\tfor (const target of this.getAllActive()) {\n\t\t\t\t\tif (target.hasAbility('cloudnine')) {\n\t\t\t\t\t\tthis.debug('Cloud Nine prevents Seed use');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpokemon.useItem();\n\t\t\t}\n\t\t},\n\t\tonTerrainChange() {\n\t\t\tconst pokemon = this.effectState.target;\n\t\t\tif (this.field.isTerrain('electricterrain')) {\n\t\t\t\tfor (const target of this.getAllActive()) {\n\t\t\t\t\tif (target.hasAbility('cloudnine')) {\n\t\t\t\t\t\tthis.debug('Cloud Nine prevents Seed use');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\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\tdesc: \"If the terrain is Electric Terrain, raises holder's Defense by 1 stage. Single use.\",\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\tfor (const target of this.getAllActive()) {\n\t\t\t\t\tif (target.hasAbility('cloudnine')) {\n\t\t\t\t\t\tthis.debug('Cloud Nine prevents Seed use');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpokemon.useItem();\n\t\t\t}\n\t\t},\n\t\tonTerrainChange() {\n\t\t\tconst pokemon = this.effectState.target;\n\t\t\tif (this.field.isTerrain('psychicterrain')) {\n\t\t\t\tfor (const target of this.getAllActive()) {\n\t\t\t\t\tif (target.hasAbility('cloudnine')) {\n\t\t\t\t\t\tthis.debug('Cloud Nine prevents Seed use');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\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\tdesc: \"If the terrain is Psychic Terrain, raises holder's Sp. Def by 1 stage. Single use.\",\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\tfor (const target of this.getAllActive()) {\n\t\t\t\t\tif (target.hasAbility('cloudnine')) {\n\t\t\t\t\t\tthis.debug('Cloud Nine prevents Seed use');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpokemon.useItem();\n\t\t\t}\n\t\t},\n\t\tonTerrainChange() {\n\t\t\tconst pokemon = this.effectState.target;\n\t\t\tif (this.field.isTerrain('mistyterrain')) {\n\t\t\t\tfor (const target of this.getAllActive()) {\n\t\t\t\t\tif (target.hasAbility('cloudnine')) {\n\t\t\t\t\t\tthis.debug('Cloud Nine prevents Seed use');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\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\tdesc: \"If the terrain is Misty Terrain, raises holder's Sp. Def by 1 stage. Single use.\",\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\tfor (const target of this.getAllActive()) {\n\t\t\t\t\tif (target.hasAbility('cloudnine')) {\n\t\t\t\t\t\tthis.debug('Cloud Nine prevents Seed use');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpokemon.useItem();\n\t\t\t}\n\t\t},\n\t\tonTerrainChange() {\n\t\t\tconst pokemon = this.effectState.target;\n\t\t\tif (this.field.isTerrain('grassyterrain')) {\n\t\t\t\tfor (const target of this.getAllActive()) {\n\t\t\t\t\tif (target.hasAbility('cloudnine')) {\n\t\t\t\t\t\tthis.debug('Cloud Nine prevents Seed use');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\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\tdesc: \"If the terrain is Grassy Terrain, raises holder's Defense by 1 stage. Single use.\",\n\t},\n};\n"], "mappings": "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", "names": [] }