exports.BattleItems = { "abomasite": { id: "abomasite", name: "Abomasite", spritenum: 575, megaStone: "Abomasnow-Mega", megaEvolves: "Abomasnow", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 674, gen: 6, desc: "If holder is an Abomasnow, this item allows it to Mega Evolve in battle." }, "absolite": { id: "absolite", name: "Absolite", spritenum: 576, megaStone: "Absol-Mega", megaEvolves: "Absol", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 677, gen: 6, desc: "If holder is an Absol, this item allows it to Mega Evolve in battle." }, "absorbbulb": { id: "absorbbulb", name: "Absorb Bulb", spritenum: 2, fling: { basePower: 30 }, onAfterDamage: function (damage, target, source, move) { if (move.type === 'Water' && target.useItem()) { this.boost({spa: 1}); } }, num: 545, gen: 5, desc: "Raises holder's Sp. Atk by 1 stage if hit by a Water-type attack. Single use." }, "adamantorb": { id: "adamantorb", name: "Adamant Orb", spritenum: 4, fling: { basePower: 60 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move && user.baseTemplate.species === 'Dialga' && (move.type === 'Steel' || move.type === 'Dragon')) { return this.chainModify(1.2); } }, num: 135, gen: 4, desc: "If holder is a Dialga, its Steel- and Dragon-type attacks have 1.2x power." }, "aerodactylite": { id: "aerodactylite", name: "Aerodactylite", spritenum: 577, megaStone: "Aerodactyl-Mega", megaEvolves: "Aerodactyl", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 672, gen: 6, desc: "If holder is an Aerodactyl, this item allows it to Mega Evolve in battle." }, "aggronite": { id: "aggronite", name: "Aggronite", spritenum: 578, megaStone: "Aggron-Mega", megaEvolves: "Aggron", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 667, gen: 6, desc: "If holder is an Aggron, this item allows it to Mega Evolve in battle." }, "aguavberry": { id: "aguavberry", name: "Aguav Berry", spritenum: 5, isBerry: true, naturalGift: { basePower: 60, type: "Dragon" }, onUpdate: function (pokemon) { if (pokemon.hp <= pokemon.maxhp / 2) { pokemon.eatItem(); } }, onEatItem: function (item, pokemon) { if (!this.runEvent('TryHeal', pokemon)) return false; }, onEat: function (pokemon) { this.heal(pokemon.maxhp / 8); if (pokemon.getNature().minus === 'spd') { pokemon.addVolatile('confusion'); } }, num: 162, gen: 3, desc: "Restores 1/8 max HP when at 1/2 max HP or less. May confuse. Single use." }, "airballoon": { id: "airballoon", name: "Air Balloon", spritenum: 6, fling: { basePower: 10 }, onStart: function (target) { if (!target.ignoringItem()) { this.add('-item', target, 'Air Balloon'); } }, onImmunity: function (type) { if (type === 'Ground') return false; }, onAfterDamage: function (damage, target, source, effect) { this.debug('effect: ' + effect.id); if (effect.effectType === 'Move') { this.add('-enditem', target, 'Air Balloon'); target.item = ''; this.itemData = {id: '', target: this}; this.runEvent('AfterUseItem', target, null, null, 'airballoon'); } }, onAfterSubDamage: function (damage, target, source, effect) { this.debug('effect: ' + effect.id); if (effect.effectType === 'Move') { this.add('-enditem', target, 'Air Balloon'); target.setItem(''); } }, num: 541, gen: 5, desc: "Holder is immune to Ground-type attacks. Pops when holder is hit." }, "alakazite": { id: "alakazite", name: "Alakazite", spritenum: 579, megaStone: "Alakazam-Mega", megaEvolves: "Alakazam", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: -6, gen: 6, desc: "If holder is an Alakazam, this item allows it to Mega Evolve in battle." }, "altarianite": { id: "altarianite", name: "Altarianite", spritenum: 615, megaStone: "Altaria-Mega", megaEvolves: "Altaria", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 755, gen: 6, desc: "If holder is an Altaria, this item allows it to Mega Evolve in battle." }, "ampharosite": { id: "ampharosite", name: "Ampharosite", spritenum: 580, megaStone: "Ampharos-Mega", megaEvolves: "Ampharos", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: -6, gen: 6, desc: "If holder is an Ampharos, this item allows it to Mega Evolve in battle." }, "apicotberry": { id: "apicotberry", name: "Apicot Berry", spritenum: 10, isBerry: true, naturalGift: { basePower: 100, type: "Ground" }, onUpdate: function (pokemon) { if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 && pokemon.hasAbility('gluttony'))) { pokemon.eatItem(); } }, onEat: function (pokemon) { this.boost({spd:1}); }, num: 205, gen: 3, desc: "Raises holder's Sp. Def by 1 stage when at 1/4 max HP or less. Single use." }, "armorfossil": { id: "armorfossil", name: "Armor Fossil", spritenum: 12, fling: { basePower: 100 }, num: 104, gen: 4, desc: "Can be revived into Shieldon." }, "aspearberry": { id: "aspearberry", name: "Aspear Berry", spritenum: 13, isBerry: true, naturalGift: { basePower: 80, type: "Ice" }, onUpdate: function (pokemon) { if (pokemon.status === 'frz') { pokemon.eatItem(); } }, onEat: function (pokemon) { if (pokemon.status === 'frz') { pokemon.cureStatus(); } }, num: 153, gen: 3, desc: "Holder is cured if it is frozen. Single use." }, "assaultvest": { id: "assaultvest", name: "Assault Vest", spritenum: 581, fling: { basePower: 80 }, onModifySpDPriority: 1, onModifySpD: function (spd) { return this.chainModify(1.5); }, onDisableMove: function (pokemon) { var moves = pokemon.moveset; for (var i = 0; i < moves.length; i++) { if (this.getMove(moves[i].move).category === 'Status') { pokemon.disableMove(moves[i].id); } } }, num: -6, gen: 6, desc: "Holder's Sp. Def is 1.5x, but it can only select damaging moves." }, "audinite": { id: "audinite", name: "Audinite", spritenum: 617, megaStone: "Audino-Mega", megaEvolves: "Audino", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 757, gen: 6, desc: "If holder is an Audino, this item allows it to Mega Evolve in battle." }, "babiriberry": { id: "babiriberry", name: "Babiri Berry", spritenum: 17, isBerry: true, naturalGift: { basePower: 80, type: "Steel" }, onSourceModifyDamage: function (damage, source, target, move) { if (move.type === 'Steel' && move.typeMod > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return this.chainModify(0.5); } } }, onEat: function () { }, num: 199, gen: 4, desc: "Halves damage taken from a supereffective Steel-type attack. Single use." }, "banettite": { id: "banettite", name: "Banettite", spritenum: 582, megaStone: "Banette-Mega", megaEvolves: "Banette", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 668, gen: 6, desc: "If holder is a Banette, this item allows it to Mega Evolve in battle." }, "beedrillite": { id: "beedrillite", name: "Beedrillite", spritenum: 628, megaStone: "Beedrill-Mega", megaEvolves: "Beedrill", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 770, gen: 6, desc: "If holder is a Beedrill, this item allows it to Mega Evolve in battle." }, "belueberry": { id: "belueberry", name: "Belue Berry", spritenum: 21, isBerry: true, naturalGift: { basePower: 100, type: "Electric" }, num: 183, gen: 3, desc: "Cannot be eaten by the holder. No effect when eaten with Bug Bite or Pluck." }, "berryjuice": { id: "berryjuice", name: "Berry Juice", spritenum: 22, fling: { basePower: 30 }, onUpdate: function (pokemon) { if (pokemon.hp <= pokemon.maxhp / 2) { if (this.runEvent('TryHeal', pokemon) && pokemon.useItem()) { this.heal(20); } } }, num: 43, gen: 2, desc: "Restores 20 HP when at 1/2 max HP or less. Single use." }, "bigroot": { id: "bigroot", name: "Big Root", spritenum: 29, fling: { basePower: 10 }, onTryHealPriority: 1, onTryHeal: function (damage, target, source, effect) { var heals = {drain: 1, leechseed: 1, ingrain: 1, aquaring: 1}; if (heals[effect.id]) { return Math.ceil((damage * 1.3) - 0.5); // Big Root rounds half down } }, num: 296, gen: 4, desc: "Holder gains 1.3x HP from draining moves, Aqua Ring, Ingrain, and Leech Seed." }, "bindingband": { id: "bindingband", name: "Binding Band", spritenum: 31, fling: { basePower: 30 }, // implemented in statuses num: 544, gen: 5, desc: "Holder's partial-trapping moves deal 1/6 max HP per turn instead of 1/8." }, "blackbelt": { id: "blackbelt", name: "Black Belt", spritenum: 32, fling: { basePower: 30 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move && move.type === 'Fighting') { return this.chainModify(1.2); } }, num: 241, gen: 2, desc: "Holder's Fighting-type attacks have 1.2x power." }, "blacksludge": { id: "blacksludge", name: "Black Sludge", spritenum: 34, fling: { basePower: 30 }, onResidualOrder: 5, onResidualSubOrder: 2, onResidual: function (pokemon) { if (pokemon.hasType('Poison')) { this.heal(pokemon.maxhp / 16); } else { this.damage(pokemon.maxhp / 8); } }, num: 281, gen: 4, desc: "Each turn, if holder is a Poison type, restores 1/16 max HP; loses 1/8 if not." }, "blackglasses": { id: "blackglasses", name: "Black Glasses", spritenum: 35, fling: { basePower: 30 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move && move.type === 'Dark') { return this.chainModify(1.2); } }, num: 240, gen: 2, desc: "Holder's Dark-type attacks have 1.2x power." }, "blastoisinite": { id: "blastoisinite", name: "Blastoisinite", spritenum: 583, megaStone: "Blastoise-Mega", megaEvolves: "Blastoise", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: -6, gen: 6, desc: "If holder is a Blastoise, this item allows it to Mega Evolve in battle." }, "blazikenite": { id: "blazikenite", name: "Blazikenite", spritenum: 584, megaStone: "Blaziken-Mega", megaEvolves: "Blaziken", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 664, gen: 6, desc: "If holder is a Blaziken, this item allows it to Mega Evolve in battle." }, "blueorb": { id: "blueorb", name: "Blue Orb", spritenum: 41, onSwitchInPriority: -6, onSwitchIn: function (pokemon) { if (pokemon.isActive && pokemon.baseTemplate.species === 'Kyogre') { var template = this.getTemplate('Kyogre-Primal'); pokemon.formeChange(template); pokemon.baseTemplate = template; pokemon.details = template.species + (pokemon.level === 100 ? '' : ', L' + pokemon.level) + (pokemon.gender === '' ? '' : ', ' + pokemon.gender) + (pokemon.set.shiny ? ', shiny' : ''); this.add('detailschange', pokemon, pokemon.details); this.add('message', pokemon.name + "'s Primal Reversion! It reverted to its primal form!"); pokemon.setAbility(template.abilities['0']); pokemon.baseAbility = pokemon.ability; } }, onTakeItem: function (item, source) { if (source.baseTemplate.baseSpecies === 'Kyogre') return false; return true; }, num: -6, gen: 6, desc: "If holder is a Kyogre, this item triggers its Primal Reversion in battle." }, "blukberry": { id: "blukberry", name: "Bluk Berry", spritenum: 44, isBerry: true, naturalGift: { basePower: 90, type: "Fire" }, num: 165, gen: 3, desc: "Cannot be eaten by the holder. No effect when eaten with Bug Bite or Pluck." }, "brightpowder": { id: "brightpowder", name: "BrightPowder", spritenum: 51, fling: { basePower: 10 }, onModifyAccuracy: function (accuracy) { if (typeof accuracy !== 'number') return; this.debug('brightpowder - decreasing accuracy'); return accuracy * 0.9; }, num: 213, gen: 2, desc: "The accuracy of attacks against the holder is 0.9x." }, "buggem": { id: "buggem", name: "Bug Gem", isUnreleased: true, spritenum: 53, isGem: true, onSourceTryPrimaryHit: function (target, source, move) { if (target === source || move.category === 'Status') return; if (move.type === 'Bug') { if (source.useItem()) { this.add('-enditem', source, 'Bug Gem', '[from] gem', '[move] ' + move.name); source.addVolatile('gem'); } } }, num: 558, gen: 5, desc: "Holder's first successful Bug-type attack will have 1.3x power. Single use." }, "burndrive": { id: "burndrive", name: "Burn Drive", spritenum: 54, onTakeItem: function (item, pokemon, source) { if ((source && source.baseTemplate.num === 649) || pokemon.baseTemplate.num === 649) { return false; } return true; }, onDrive: 'Fire', num: 118, gen: 5, desc: "Holder's Techno Blast is Fire type." }, "cameruptite": { id: "cameruptite", name: "Cameruptite", spritenum: 625, megaStone: "Camerupt-Mega", megaEvolves: "Camerupt", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 767, gen: 6, desc: "If holder is a Camerupt, this item allows it to Mega Evolve in battle." }, "cellbattery": { id: "cellbattery", name: "Cell Battery", spritenum: 60, fling: { basePower: 30 }, onAfterDamage: function (damage, target, source, move) { if (move.type === 'Electric' && target.useItem()) { this.boost({atk: 1}); } }, num: 546, gen: 5, desc: "Raises holder's Attack by 1 if hit by an Electric-type attack. Single use." }, "charcoal": { id: "charcoal", name: "Charcoal", spritenum: 61, fling: { basePower: 30 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move && move.type === 'Fire') { return this.chainModify(1.2); } }, num: 249, gen: 2, desc: "Holder's Fire-type attacks have 1.2x power." }, "charizarditex": { id: "charizarditex", name: "Charizardite X", spritenum: 585, megaStone: "Charizard-Mega-X", megaEvolves: "Charizard", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 660, gen: 6, desc: "If holder is a Charizard, this item allows it to Mega Evolve in battle." }, "charizarditey": { id: "charizarditey", name: "Charizardite Y", spritenum: 586, megaStone: "Charizard-Mega-Y", megaEvolves: "Charizard", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 678, gen: 6, desc: "If holder is a Charizard, this item allows it to Mega Evolve in battle." }, "chartiberry": { id: "chartiberry", name: "Charti Berry", spritenum: 62, isBerry: true, naturalGift: { basePower: 80, type: "Rock" }, onSourceModifyDamage: function (damage, source, target, move) { if (move.type === 'Rock' && move.typeMod > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return this.chainModify(0.5); } } }, onEat: function () { }, num: 195, gen: 4, desc: "Halves damage taken from a supereffective Rock-type attack. Single use." }, "cheriberry": { id: "cheriberry", name: "Cheri Berry", spritenum: 63, isBerry: true, naturalGift: { basePower: 80, type: "Fire" }, onUpdate: function (pokemon) { if (pokemon.status === 'par') { pokemon.eatItem(); } }, onEat: function (pokemon) { if (pokemon.status === 'par') { pokemon.cureStatus(); } }, num: 149, gen: 3, desc: "Holder cures itself if it is paralyzed. Single use." }, "cherishball": { id: "cherishball", name: "Cherish Ball", spritenum: 64, num: 16, gen: 4, desc: "A rare Poke Ball that has been crafted to commemorate an occasion." }, "chestoberry": { id: "chestoberry", name: "Chesto Berry", spritenum: 65, isBerry: true, naturalGift: { basePower: 80, type: "Water" }, onUpdate: function (pokemon) { if (pokemon.status === 'slp') { pokemon.eatItem(); } }, onEat: function (pokemon) { if (pokemon.status === 'slp') { pokemon.cureStatus(); } }, num: 150, gen: 3, desc: "Holder wakes up if it is asleep. Single use." }, "chilanberry": { id: "chilanberry", name: "Chilan Berry", spritenum: 66, isBerry: true, naturalGift: { basePower: 80, type: "Normal" }, onSourceModifyDamage: function (damage, source, target, move) { if (move.type === 'Normal' && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return this.chainModify(0.5); } } }, onEat: function () { }, num: 200, gen: 4, desc: "Halves damage taken from a Normal-type attack. Single use." }, "chilldrive": { id: "chilldrive", name: "Chill Drive", spritenum: 67, onTakeItem: function (item, pokemon, source) { if ((source && source.baseTemplate.num === 649) || pokemon.baseTemplate.num === 649) { return false; } return true; }, onDrive: 'Ice', num: 119, gen: 5, desc: "Holder's Techno Blast is Ice type." }, "choiceband": { id: "choiceband", name: "Choice Band", spritenum: 68, fling: { basePower: 10 }, onStart: function (pokemon) { if (pokemon.volatiles['choicelock']) { this.debug('removing choicelock: ' + pokemon.volatiles.choicelock); } pokemon.removeVolatile('choicelock'); }, onModifyMove: function (move, pokemon) { pokemon.addVolatile('choicelock'); }, onModifyAtkPriority: 1, onModifyAtk: function (atk) { return this.chainModify(1.5); }, isChoice: true, num: 220, gen: 3, desc: "Holder's Attack is 1.5x, but it can only select the first move it executes." }, "choicescarf": { id: "choicescarf", name: "Choice Scarf", spritenum: 69, fling: { basePower: 10 }, onStart: function (pokemon) { if (pokemon.volatiles['choicelock']) { this.debug('removing choicelock: ' + pokemon.volatiles.choicelock); } pokemon.removeVolatile('choicelock'); }, onModifyMove: function (move, pokemon) { pokemon.addVolatile('choicelock'); }, onModifySpe: function (spe) { return this.chainModify(1.5); }, isChoice: true, num: 287, gen: 4, desc: "Holder's Speed is 1.5x, but it can only select the first move it executes." }, "choicespecs": { id: "choicespecs", name: "Choice Specs", spritenum: 70, fling: { basePower: 10 }, onStart: function (pokemon) { if (pokemon.volatiles['choicelock']) { this.debug('removing choicelock: ' + pokemon.volatiles.choicelock); } pokemon.removeVolatile('choicelock'); }, onModifyMove: function (move, pokemon) { pokemon.addVolatile('choicelock'); }, onModifySpAPriority: 1, onModifySpA: function (spa) { return this.chainModify(1.5); }, isChoice: true, num: 297, gen: 4, desc: "Holder's Sp. Atk is 1.5x, but it can only select the first move it executes." }, "chopleberry": { id: "chopleberry", name: "Chople Berry", spritenum: 71, isBerry: true, naturalGift: { basePower: 80, type: "Fighting" }, onSourceModifyDamage: function (damage, source, target, move) { if (move.type === 'Fighting' && move.typeMod > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return this.chainModify(0.5); } } }, onEat: function () { }, num: 189, gen: 4, desc: "Halves damage taken from a supereffective Fighting-type attack. Single use." }, "clawfossil": { id: "clawfossil", name: "Claw Fossil", spritenum: 72, fling: { basePower: 100 }, num: 100, gen: 3, desc: "Can be revived into Anorith." }, "cobaberry": { id: "cobaberry", name: "Coba Berry", spritenum: 76, isBerry: true, naturalGift: { basePower: 80, type: "Flying" }, onSourceModifyDamage: function (damage, source, target, move) { if (move.type === 'Flying' && move.typeMod > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return this.chainModify(0.5); } } }, onEat: function () { }, num: 192, gen: 4, desc: "Halves damage taken from a supereffective Flying-type attack. Single use." }, "colburberry": { id: "colburberry", name: "Colbur Berry", spritenum: 78, isBerry: true, naturalGift: { basePower: 80, type: "Dark" }, onSourceModifyDamage: function (damage, source, target, move) { if (move.type === 'Dark' && move.typeMod > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return this.chainModify(0.5); } } }, onEat: function () { }, num: 198, gen: 4, desc: "Halves damage taken from a supereffective Dark-type attack. Single use." }, "cornnberry": { id: "cornnberry", name: "Cornn Berry", spritenum: 81, isBerry: true, naturalGift: { basePower: 90, type: "Bug" }, num: 175, gen: 3, desc: "Cannot be eaten by the holder. No effect when eaten with Bug Bite or Pluck." }, "coverfossil": { id: "coverfossil", name: "Cover Fossil", spritenum: 85, fling: { basePower: 100 }, num: 572, gen: 5, desc: "Can be revived into Tirtouga." }, "custapberry": { id: "custapberry", name: "Custap Berry", spritenum: 86, isBerry: true, naturalGift: { basePower: 100, type: "Ghost" }, onModifyPriority: function (priority, pokemon) { if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 && pokemon.hasAbility('gluttony'))) { if (pokemon.eatItem()) { this.add('-activate', pokemon, 'Custap Berry'); pokemon.removeVolatile('custapberry'); return priority + 0.1; } } }, num: 210, gen: 4, desc: "Holder moves first in its priority bracket when at 1/4 max HP or less. Single use." }, "damprock": { id: "damprock", name: "Damp Rock", spritenum: 88, fling: { basePower: 60 }, num: 285, gen: 4, desc: "Holder's use of Rain Dance lasts 8 turns instead of 5." }, "darkgem": { id: "darkgem", name: "Dark Gem", isUnreleased: true, spritenum: 89, isGem: true, onSourceTryPrimaryHit: function (target, source, move) { if (target === source || move.category === 'Status') return; if (move.type === 'Dark') { if (source.useItem()) { this.add('-enditem', source, 'Dark Gem', '[from] gem', '[move] ' + move.name); source.addVolatile('gem'); } } }, num: 562, gen: 5, desc: "Holder's first successful Dark-type attack will have 1.3x power. Single use." }, "deepseascale": { id: "deepseascale", name: "DeepSeaScale", spritenum: 93, fling: { basePower: 30 }, onModifySpDPriority: 2, onModifySpD: function (spd, pokemon) { if (pokemon.baseTemplate.species === 'Clamperl') { return this.chainModify(2); } }, num: 227, gen: 3, desc: "If holder is a Clamperl, its Sp. Def is doubled." }, "deepseatooth": { id: "deepseatooth", name: "DeepSeaTooth", spritenum: 94, fling: { basePower: 90 }, onModifySpAPriority: 1, onModifySpA: function (spa, pokemon) { if (pokemon.baseTemplate.species === 'Clamperl') { return this.chainModify(2); } }, num: 226, gen: 3, desc: "If holder is a Clamperl, its Sp. Atk is doubled." }, "destinyknot": { id: "destinyknot", name: "Destiny Knot", spritenum: 95, fling: { basePower: 10 }, onAttractPriority: -100, onAttract: function (target, source) { this.debug('attract intercepted: ' + target + ' from ' + source); if (!source || source === target) return; if (!source.volatiles.attract) source.addVolatile('attract', target); }, num: 280, gen: 4, desc: "If holder becomes infatuated, the other Pokemon also becomes infatuated." }, "diancite": { id: "diancite", name: "Diancite", spritenum: 624, megaStone: "Diancie-Mega", megaEvolves: "Diancie", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 764, gen: 6, desc: "If holder is a Diancie, this item allows it to Mega Evolve in battle." }, "diveball": { id: "diveball", name: "Dive Ball", spritenum: 101, num: 7, gen: 3, desc: "A Poke Ball that works especially well on Pokemon that live underwater." }, "domefossil": { id: "domefossil", name: "Dome Fossil", spritenum: 102, fling: { basePower: 100 }, num: 102, gen: 3, desc: "Can be revived into Kabuto." }, "dousedrive": { id: "dousedrive", name: "Douse Drive", spritenum: 103, onTakeItem: function (item, pokemon, source) { if ((source && source.baseTemplate.num === 649) || pokemon.baseTemplate.num === 649) { return false; } return true; }, onDrive: 'Water', num: 116, gen: 5, desc: "Holder's Techno Blast is Water type." }, "dracoplate": { id: "dracoplate", name: "Draco Plate", spritenum: 105, onPlate: 'Dragon', onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move && move.type === 'Dragon') { return this.chainModify(1.2); } }, onTakeItem: function (item, pokemon, source) { if ((source && source.baseTemplate.num === 493) || pokemon.baseTemplate.num === 493) { return false; } return true; }, num: 311, gen: 4, desc: "Holder's Dragon-type attacks have 1.2x power. Judgment is Dragon type." }, "dragonfang": { id: "dragonfang", name: "Dragon Fang", spritenum: 106, fling: { basePower: 70 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move && move.type === 'Dragon') { return this.chainModify(1.2); } }, num: 250, gen: 2, desc: "Holder's Dragon-type attacks have 1.2x power." }, "dragongem": { id: "dragongem", name: "Dragon Gem", isUnreleased: true, spritenum: 107, isGem: true, onSourceTryPrimaryHit: function (target, source, move) { if (target === source || move.category === 'Status') return; if (move.type === 'Dragon') { if (source.useItem()) { this.add('-enditem', source, 'Dragon Gem', '[from] gem', '[move] ' + move.name); source.addVolatile('gem'); } } }, num: 561, gen: 5, desc: "Holder's first successful Dragon-type attack will have 1.3x power. Single use." }, "dreadplate": { id: "dreadplate", name: "Dread Plate", spritenum: 110, onPlate: 'Dark', onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move && move.type === 'Dark') { return this.chainModify(1.2); } }, onTakeItem: function (item, pokemon, source) { if ((source && source.baseTemplate.num === 493) || pokemon.baseTemplate.num === 493) { return false; } return true; }, num: 312, gen: 4, desc: "Holder's Dark-type attacks have 1.2x power. Judgment is Dark type." }, "dreamball": { id: "dreamball", name: "Dream Ball", spritenum: 111, num: 576, gen: 5, desc: "A special Poke Ball that appears out of nowhere in a bag at the Entree Forest." }, "durinberry": { id: "durinberry", name: "Durin Berry", spritenum: 114, isBerry: true, naturalGift: { basePower: 100, type: "Water" }, num: 182, gen: 3, desc: "Cannot be eaten by the holder. No effect when eaten with Bug Bite or Pluck." }, "duskball": { id: "duskball", name: "Dusk Ball", spritenum: 115, num: 13, gen: 4, desc: "A Poke Ball that makes it easier to catch wild Pokemon at night or in caves." }, "earthplate": { id: "earthplate", name: "Earth Plate", spritenum: 117, onPlate: 'Ground', onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move && move.type === 'Ground') { return this.chainModify(1.2); } }, onTakeItem: function (item, pokemon, source) { if ((source && source.baseTemplate.num === 493) || pokemon.baseTemplate.num === 493) { return false; } return true; }, num: 305, gen: 4, desc: "Holder's Ground-type attacks have 1.2x power. Judgment is Ground type." }, "ejectbutton": { id: "ejectbutton", name: "Eject Button", spritenum: 118, fling: { basePower: 30 }, onAfterMoveSecondary: function (target, source, move) { if (source && source !== target && target.hp && move && move.category !== 'Status') { if (!this.canSwitch(target.side) || target.forceSwitchFlag) return; if (target.useItem()) { target.switchFlag = true; source.switchFlag = false; } } }, num: 547, gen: 5, desc: "If holder is hit, it immediately switches out with a chosen ally. Single use." }, "electirizer": { id: "electirizer", name: "Electirizer", spritenum: 119, fling: { basePower: 80 }, num: 322, gen: 4, desc: "Evolves Electabuzz into Electivire when traded." }, "electricgem": { id: "electricgem", name: "Electric Gem", isUnreleased: true, spritenum: 120, isGem: true, onSourceTryPrimaryHit: function (target, source, move) { if (target === source || move.category === 'Status' || move.id in {firepledge:1, grasspledge:1, waterpledge:1}) return; if (move.type === 'Electric') { if (source.useItem()) { this.add('-enditem', source, 'Electric Gem', '[from] gem', '[move] ' + move.name); source.addVolatile('gem'); } } }, num: 550, gen: 5, desc: "Holder's first successful Electric-type attack will have 1.3x power. Single use." }, "energypowder": { id: "energypowder", name: "EnergyPowder", spritenum: 123, fling: { basePower: 30 }, num: 34, gen: 2, desc: "Restores 50 HP to one Pokemon but lowers Happiness." }, "enigmaberry": { id: "enigmaberry", name: "Enigma Berry", spritenum: 124, isBerry: true, naturalGift: { basePower: 100, type: "Bug" }, onSourceModifyDamage: function (damage, source, target, move) { if (move && move.typeMod > 0) { target.addVolatile('enigmaberry'); } }, effect: { duration: 1, onUpdate: function (target) { if (target.eatItem()) { target.removeVolatile('enigmaberry'); } } }, onEatItem: function (item, pokemon) { if (!this.runEvent('TryHeal', pokemon)) return false; }, onEat: function (pokemon) { this.heal(pokemon.maxhp / 4); }, num: 208, gen: 3, desc: "Restores 1/4 max HP after holder is hit by a supereffective move. Single use." }, "eviolite": { id: "eviolite", name: "Eviolite", spritenum: 130, fling: { basePower: 40 }, onModifyDefPriority: 2, onModifyDef: function (def, pokemon) { if (pokemon.baseTemplate.nfe) { return this.chainModify(1.5); } }, onModifySpDPriority: 2, onModifySpD: function (spd, pokemon) { if (pokemon.baseTemplate.nfe) { return this.chainModify(1.5); } }, num: 538, gen: 5, desc: "If holder's species can evolve, its Defense and Sp. Def are 1.5x." }, "expertbelt": { id: "expertbelt", name: "Expert Belt", spritenum: 132, fling: { basePower: 10 }, onModifyDamage: function (damage, source, target, move) { if (move && move.typeMod > 0) { return this.chainModify(1.2); } }, num: 268, gen: 4, desc: "Holder's attacks that are super effective against the target do 1.2x damage." }, "fairygem": { id: "fairygem", name: "Fairy Gem", isUnreleased: true, spritenum: 611, isGem: true, onSourceTryPrimaryHit: function (target, source, move) { if (target === source || move.category === 'Status') return; if (move.type === 'Fairy') { if (source.useItem()) { this.add('-enditem', source, 'Fairy Gem', '[from] gem', '[move] ' + move.name); source.addVolatile('gem'); } } }, num: -6, gen: 6, desc: "Holder's first successful Fairy-type attack will have 1.3x power. Single use." }, "fastball": { id: "fastball", name: "Fast Ball", spritenum: 137, num: 492, gen: 2, desc: "A Poke Ball that makes it easier to catch Pokemon which are quick to run away." }, "fightinggem": { id: "fightinggem", name: "Fighting Gem", isUnreleased: true, spritenum: 139, isGem: true, onSourceTryPrimaryHit: function (target, source, move) { if (target === source || move.category === 'Status') return; if (move.type === 'Fighting') { if (source.useItem()) { this.add('-enditem', source, 'Fighting Gem', '[from] gem', '[move] ' + move.name); source.addVolatile('gem'); } } }, num: 553, gen: 5, desc: "Holder's first successful Fighting-type attack will have 1.3x power. Single use." }, "figyberry": { id: "figyberry", name: "Figy Berry", spritenum: 140, isBerry: true, naturalGift: { basePower: 80, type: "Bug" }, onUpdate: function (pokemon) { if (pokemon.hp <= pokemon.maxhp / 2) { pokemon.eatItem(); } }, onEatItem: function (item, pokemon) { if (!this.runEvent('TryHeal', pokemon)) return false; }, onEat: function (pokemon) { this.heal(pokemon.maxhp / 8); if (pokemon.getNature().minus === 'atk') { pokemon.addVolatile('confusion'); } }, num: 159, gen: 3, desc: "Restores 1/8 max HP when at 1/2 max HP or less. May confuse. Single use." }, "firegem": { id: "firegem", name: "Fire Gem", isUnreleased: true, spritenum: 141, isGem: true, onSourceTryPrimaryHit: function (target, source, move) { if (target === source || move.category === 'Status' || move.id in {firepledge:1, grasspledge:1, waterpledge:1}) return; if (move.type === 'Fire') { if (source.useItem()) { this.add('-enditem', source, 'Fire Gem', '[from] gem', '[move] ' + move.name); source.addVolatile('gem'); } } }, num: 548, gen: 5, desc: "Holder's first successful Fire-type attack will have 1.3x power. Single use." }, "fistplate": { id: "fistplate", name: "Fist Plate", spritenum: 143, onPlate: 'Fighting', onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move && move.type === 'Fighting') { return this.chainModify(1.2); } }, onTakeItem: function (item, pokemon, source) { if ((source && source.baseTemplate.num === 493) || pokemon.baseTemplate.num === 493) { return false; } return true; }, num: 303, gen: 4, desc: "Holder's Fighting-type attacks have 1.2x power. Judgment is Fighting type." }, "flameorb": { id: "flameorb", name: "Flame Orb", spritenum: 145, fling: { basePower: 30, status: 'brn' }, onResidualOrder: 26, onResidualSubOrder: 2, onResidual: function (pokemon) { pokemon.trySetStatus('brn'); }, num: 273, gen: 4, desc: "At the end of every turn, this item attempts to burn the holder." }, "flameplate": { id: "flameplate", name: "Flame Plate", spritenum: 146, onPlate: 'Fire', onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move && move.type === 'Fire') { return this.chainModify(1.2); } }, onTakeItem: function (item, pokemon, source) { if ((source && source.baseTemplate.num === 493) || pokemon.baseTemplate.num === 493) { return false; } return true; }, num: 298, gen: 4, desc: "Holder's Fire-type attacks have 1.2x power. Judgment is Fire type." }, "floatstone": { id: "floatstone", name: "Float Stone", spritenum: 147, fling: { basePower: 30 }, onModifyWeight: function (weight) { return weight / 2; }, num: 539, gen: 5, desc: "Holder's weight is halved." }, "flyinggem": { id: "flyinggem", name: "Flying Gem", isUnreleased: true, spritenum: 149, isGem: true, onSourceTryPrimaryHit: function (target, source, move) { if (target === source || move.category === 'Status') return; if (move.type === 'Flying') { if (source.useItem()) { this.add('-enditem', source, 'Flying Gem', '[from] gem', '[move] ' + move.name); source.addVolatile('gem'); } } }, num: 556, gen: 5, desc: "Holder's first successful Flying-type attack will have 1.3x power. Single use." }, "focusband": { id: "focusband", name: "Focus Band", spritenum: 150, fling: { basePower: 10 }, onDamage: function (damage, target, source, effect) { if (this.random(10) === 0 && damage >= target.hp && effect && effect.effectType === 'Move') { this.add("-activate", target, "item: Focus Band"); return target.hp - 1; } }, num: 230, gen: 2, desc: "Holder has a 10% chance to survive an attack that would KO it with 1 HP." }, "focussash": { id: "focussash", name: "Focus Sash", spritenum: 151, fling: { basePower: 10 }, onDamage: function (damage, target, source, effect) { if (target.hp === target.maxhp && damage >= target.hp && effect && effect.effectType === 'Move') { if (target.useItem()) { return target.hp - 1; } } }, num: 275, gen: 4, desc: "If holder's HP is full, will survive an attack that would KO it with 1 HP. Single use." }, "friendball": { id: "friendball", name: "Friend Ball", spritenum: 153, num: 497, gen: 2, desc: "A Poke Ball that makes caught Pokemon more friendly." }, "fullincense": { id: "fullincense", name: "Full Incense", spritenum: 155, fling: { basePower: 10 }, onModifyPriority: function (priority, pokemon) { if (!pokemon.hasAbility('stall')) { return priority - 0.1; } }, num: 316, gen: 4, desc: "Holder moves last in its priority bracket." }, "galladite": { id: "galladite", name: "Galladite", spritenum: 616, megaStone: "Gallade-Mega", megaEvolves: "Gallade", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 756, gen: 6, desc: "If holder is a Gallade, this item allows it to Mega Evolve in battle." }, "ganlonberry": { id: "ganlonberry", name: "Ganlon Berry", spritenum: 158, isBerry: true, naturalGift: { basePower: 100, type: "Ice" }, onUpdate: function (pokemon) { if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 && pokemon.hasAbility('gluttony'))) { pokemon.eatItem(); } }, onEat: function (pokemon) { this.boost({def:1}); }, num: 202, gen: 3, desc: "Raises holder's Defense by 1 stage when at 1/4 max HP or less. Single use." }, "garchompite": { id: "garchompite", name: "Garchompite", spritenum: 589, megaStone: "Garchomp-Mega", megaEvolves: "Garchomp", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 683, gen: 6, desc: "If holder is a Garchomp, this item allows it to Mega Evolve in battle." }, "gardevoirite": { id: "gardevoirite", name: "Gardevoirite", spritenum: 587, megaStone: "Gardevoir-Mega", megaEvolves: "Gardevoir", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 657, gen: 6, desc: "If holder is a Gardevoir, this item allows it to Mega Evolve in battle." }, "gengarite": { id: "gengarite", name: "Gengarite", spritenum: 588, megaStone: "Gengar-Mega", megaEvolves: "Gengar", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 656, gen: 6, desc: "If holder is a Gengar, this item allows it to Mega Evolve in battle." }, "ghostgem": { id: "ghostgem", name: "Ghost Gem", isUnreleased: true, spritenum: 161, isGem: true, onSourceTryPrimaryHit: function (target, source, move) { if (target === source || move.category === 'Status') return; if (move.type === 'Ghost') { if (source.useItem()) { this.add('-enditem', source, 'Ghost Gem', '[from] gem', '[move] ' + move.name); source.addVolatile('gem'); } } }, num: 560, gen: 5, desc: "Holder's first successful Ghost-type attack will have 1.3x power. Single use." }, "glalitite": { id: "glalitite", name: "Glalitite", spritenum: 623, megaStone: "Glalie-Mega", megaEvolves: "Glalie", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 763, gen: 6, desc: "If holder is a Glalie, this item allows it to Mega Evolve in battle." }, "grassgem": { id: "grassgem", name: "Grass Gem", isUnreleased: true, spritenum: 172, isGem: true, onSourceTryPrimaryHit: function (target, source, move) { if (target === source || move.category === 'Status' || move.id in {firepledge:1, grasspledge:1, waterpledge:1}) return; if (move.type === 'Grass') { if (source.useItem()) { this.add('-enditem', source, 'Grass Gem', '[from] gem', '[move] ' + move.name); source.addVolatile('gem'); } } }, num: 551, gen: 5, desc: "Holder's first successful Grass-type attack will have 1.3x power. Single use." }, "greatball": { id: "greatball", name: "Great Ball", spritenum: 174, num: 3, gen: 1, desc: "A high-performance Ball that provides a higher catch rate than a Poke Ball." }, "grepaberry": { id: "grepaberry", name: "Grepa Berry", spritenum: 178, isBerry: true, naturalGift: { basePower: 90, type: "Flying" }, num: 173, gen: 3, desc: "Cannot be eaten by the holder. No effect when eaten with Bug Bite or Pluck." }, "gripclaw": { id: "gripclaw", name: "Grip Claw", spritenum: 179, fling: { basePower: 90 }, // implemented in statuses num: 286, gen: 4, desc: "Holder's partial-trapping moves always last 7 turns." }, "griseousorb": { id: "griseousorb", name: "Griseous Orb", spritenum: 180, fling: { basePower: 60 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (user.baseTemplate.num === 487 && (move.type === 'Ghost' || move.type === 'Dragon')) { return this.chainModify(1.2); } }, onTakeItem: function (item, pokemon, source) { if ((source && source.baseTemplate.num === 487) || pokemon.baseTemplate.num === 487) { return false; } return true; }, num: 112, gen: 4, desc: "If holder is a Giratina, its Ghost- and Dragon-type attacks have 1.2x power." }, "groundgem": { id: "groundgem", name: "Ground Gem", isUnreleased: true, spritenum: 182, isGem: true, onSourceTryPrimaryHit: function (target, source, move) { if (target === source || move.category === 'Status') return; if (move.type === 'Ground') { if (source.useItem()) { this.add('-enditem', source, 'Ground Gem', '[from] gem', '[move] ' + move.name); source.addVolatile('gem'); } } }, num: 555, gen: 5, desc: "Holder's first successful Ground-type attack will have 1.3x power. Single use." }, "gyaradosite": { id: "gyaradosite", name: "Gyaradosite", spritenum: 589, megaStone: "Gyarados-Mega", megaEvolves: "Gyarados", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 676, gen: 6, desc: "If holder is a Gyarados, this item allows it to Mega Evolve in battle." }, "habanberry": { id: "habanberry", name: "Haban Berry", spritenum: 185, isBerry: true, naturalGift: { basePower: 80, type: "Dragon" }, onSourceModifyDamage: function (damage, source, target, move) { if (move.type === 'Dragon' && move.typeMod > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return this.chainModify(0.5); } } }, onEat: function () { }, num: 197, gen: 4, desc: "Halves damage taken from a supereffective Dragon-type attack. Single use." }, "hardstone": { id: "hardstone", name: "Hard Stone", spritenum: 187, fling: { basePower: 100 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move && move.type === 'Rock') { return this.chainModify(1.2); } }, num: 238, gen: 2, desc: "Holder's Rock-type attacks have 1.2x power." }, "healball": { id: "healball", name: "Heal Ball", spritenum: 188, num: 14, gen: 4, desc: "A remedial Poke Ball that restores the caught Pokemon's HP and status problem." }, "heatrock": { id: "heatrock", name: "Heat Rock", spritenum: 193, fling: { basePower: 60 }, num: 284, gen: 4, desc: "Holder's use of Sunny Day lasts 8 turns instead of 5." }, "heavyball": { id: "heavyball", name: "Heavy Ball", spritenum: 194, num: 495, gen: 2, desc: "A Poke Ball for catching very heavy Pokemon." }, "helixfossil": { id: "helixfossil", name: "Helix Fossil", spritenum: 195, fling: { basePower: 100 }, num: 101, gen: 3, desc: "Can be revived into Omanyte." }, "heracronite": { id: "heracronite", name: "Heracronite", spritenum: 590, megaStone: "Heracross-Mega", megaEvolves: "Heracross", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 680, gen: 6, desc: "If holder is a Heracross, this item allows it to Mega Evolve in battle." }, "hondewberry": { id: "hondewberry", name: "Hondew Berry", spritenum: 213, isBerry: true, naturalGift: { basePower: 90, type: "Ground" }, num: 172, gen: 3, desc: "Cannot be eaten by the holder. No effect when eaten with Bug Bite or Pluck." }, "houndoominite": { id: "houndoominite", name: "Houndoominite", spritenum: 591, megaStone: "Houndoom-Mega", megaEvolves: "Houndoom", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 666, gen: 6, desc: "If holder is a Houndoom, this item allows it to Mega Evolve in battle." }, "iapapaberry": { id: "iapapaberry", name: "Iapapa Berry", spritenum: 217, isBerry: true, naturalGift: { basePower: 80, type: "Dark" }, onUpdate: function (pokemon) { if (pokemon.hp <= pokemon.maxhp / 2) { pokemon.eatItem(); } }, onEatItem: function (item, pokemon) { if (!this.runEvent('TryHeal', pokemon)) return false; }, onEat: function (pokemon) { this.heal(pokemon.maxhp / 8); if (pokemon.getNature().minus === 'def') { pokemon.addVolatile('confusion'); } }, num: 163, gen: 3, desc: "Restores 1/8 max HP when at 1/2 max HP or less. May confuse. Single use." }, "icegem": { id: "icegem", name: "Ice Gem", isUnreleased: true, spritenum: 218, isGem: true, onSourceTryPrimaryHit: function (target, source, move) { if (target === source || move.category === 'Status') return; if (move.type === 'Ice') { if (source.useItem()) { this.add('-enditem', source, 'Ice Gem', '[from] gem', '[move] ' + move.name); source.addVolatile('gem'); } } }, num: 552, gen: 5, desc: "Holder's first successful Ice-type attack will have 1.3x power. Single use." }, "icicleplate": { id: "icicleplate", name: "Icicle Plate", spritenum: 220, onPlate: 'Ice', onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Ice') { return this.chainModify(1.2); } }, onTakeItem: function (item, pokemon, source) { if ((source && source.baseTemplate.num === 493) || pokemon.baseTemplate.num === 493) { return false; } return true; }, num: 302, gen: 4, desc: "Holder's Ice-type attacks have 1.2x power. Judgment is Ice type." }, "icyrock": { id: "icyrock", name: "Icy Rock", spritenum: 221, fling: { basePower: 40 }, num: 282, gen: 4, desc: "Holder's use of Hail lasts 8 turns instead of 5." }, "insectplate": { id: "insectplate", name: "Insect Plate", spritenum: 223, onPlate: 'Bug', onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Bug') { return this.chainModify(1.2); } }, onTakeItem: function (item, pokemon, source) { if ((source && source.baseTemplate.num === 493) || pokemon.baseTemplate.num === 493) { return false; } return true; }, num: 308, gen: 4, desc: "Holder's Bug-type attacks have 1.2x power. Judgment is Bug type." }, "ironball": { id: "ironball", name: "Iron Ball", spritenum: 224, fling: { basePower: 130 }, onEffectiveness: function (typeMod, target, type, move) { if (target.volatiles['ingrain'] || target.volatiles['smackdown'] || this.getPseudoWeather('gravity')) return; if (move.type === 'Ground' && !this.getImmunity(move.type, target)) return 0; }, onNegateImmunity: function (pokemon, type) { if (type === 'Ground') return false; }, onModifySpe: function (spe) { return this.chainModify(0.5); }, num: 278, gen: 4, desc: "Holder is grounded, Speed halved. If Flying type, takes neutral Ground damage." }, "ironplate": { id: "ironplate", name: "Iron Plate", spritenum: 225, onPlate: 'Steel', onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Steel') { return this.chainModify(1.2); } }, onTakeItem: function (item, pokemon, source) { if ((source && source.baseTemplate.num === 493) || pokemon.baseTemplate.num === 493) { return false; } return true; }, num: 313, gen: 4, desc: "Holder's Steel-type attacks have 1.2x power. Judgment is Steel type." }, "jabocaberry": { id: "jabocaberry", name: "Jaboca Berry", spritenum: 230, isBerry: true, naturalGift: { basePower: 100, type: "Dragon" }, onAfterMoveSecondary: function (target, source, move) { if (source && source !== target && move && move.category === 'Physical') { if (target.eatItem()) { this.damage(source.maxhp / 8, source, target, null, true); } } }, onEat: function () { }, num: 211, gen: 4, desc: "If holder is hit by a physical move, attacker loses 1/8 of its max HP. Single use." }, "kasibberry": { id: "kasibberry", name: "Kasib Berry", spritenum: 233, isBerry: true, naturalGift: { basePower: 80, type: "Ghost" }, onSourceModifyDamage: function (damage, source, target, move) { if (move.type === 'Ghost' && move.typeMod > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return this.chainModify(0.5); } } }, onEat: function () { }, num: 196, gen: 4, desc: "Halves damage taken from a supereffective Ghost-type attack. Single use." }, "kebiaberry": { id: "kebiaberry", name: "Kebia Berry", spritenum: 234, isBerry: true, naturalGift: { basePower: 80, type: "Poison" }, onSourceModifyDamage: function (damage, source, target, move) { if (move.type === 'Poison' && move.typeMod > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return this.chainModify(0.5); } } }, onEat: function () { }, num: 190, gen: 4, desc: "Halves damage taken from a supereffective Poison-type attack. Single use." }, "keeberry": { id: "keeberry", name: "Kee Berry", spritenum: 593, isBerry: true, naturalGift: { basePower: 100, type: "Fairy" }, onAfterMoveSecondary: function (target, source, move) { if (move.category === 'Physical') { target.eatItem(); } }, onEat: function (pokemon) { this.boost({def: 1}); }, num: -6, gen: 6, desc: "Raises holder's Defense by 1 stage after it is hit by a physical attack. Single use." }, "kelpsyberry": { id: "kelpsyberry", name: "Kelpsy Berry", spritenum: 235, isBerry: true, naturalGift: { basePower: 90, type: "Fighting" }, num: 170, gen: 3, desc: "Cannot be eaten by the holder. No effect when eaten with Bug Bite or Pluck." }, "kangaskhanite": { id: "kangaskhanite", name: "Kangaskhanite", spritenum: 592, megaStone: "Kangaskhan-Mega", megaEvolves: "Kangaskhan", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 675, gen: 6, desc: "If holder is a Kangaskhan, this item allows it to Mega Evolve in battle." }, "kingsrock": { id: "kingsrock", name: "King's Rock", spritenum: 236, fling: { basePower: 30, volatileStatus: 'flinch' }, onModifyMove: function (move) { if (move.category !== "Status") { if (!move.secondaries) move.secondaries = []; for (var i = 0; i < move.secondaries.length; i++) { if (move.secondaries[i].volatileStatus === 'flinch') return; } move.secondaries.push({ chance: 10, volatileStatus: 'flinch' }); } }, num: 221, gen: 2, desc: "Holder's attacks without a chance to flinch gain a 10% chance to flinch." }, "laggingtail": { id: "laggingtail", name: "Lagging Tail", spritenum: 237, fling: { basePower: 10 }, onModifyPriority: function (priority, pokemon) { if (!pokemon.hasAbility('stall')) { return priority - 0.1; } }, num: 279, gen: 4, desc: "Holder moves last in its priority bracket." }, "lansatberry": { id: "lansatberry", name: "Lansat Berry", spritenum: 238, isBerry: true, naturalGift: { basePower: 100, type: "Flying" }, onUpdate: function (pokemon) { if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 && pokemon.hasAbility('gluttony'))) { pokemon.eatItem(); } }, onEat: function (pokemon) { pokemon.addVolatile('focusenergy'); }, num: 206, gen: 3, desc: "Holder gains the Focus Energy effect when at 1/4 max HP or less. Single use." }, "latiasite": { id: "latiasite", name: "Latiasite", spritenum: 629, megaStone: "Latias-Mega", megaEvolves: "Latias", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: -6, gen: 6, desc: "If holder is a Latias, this item allows it to Mega Evolve in battle." }, "latiosite": { id: "latiosite", name: "Latiosite", spritenum: 630, megaStone: "Latios-Mega", megaEvolves: "Latios", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: -6, gen: 6, desc: "If holder is a Latios, this item allows it to Mega Evolve in battle." }, "laxincense": { id: "laxincense", name: "Lax Incense", spritenum: 240, fling: { basePower: 10 }, onModifyAccuracy: function (accuracy) { if (typeof accuracy !== 'number') return; this.debug('lax incense - decreasing accuracy'); return accuracy * 0.9; }, num: 255, gen: 3, desc: "The accuracy of attacks against the holder is 0.9x." }, "leftovers": { id: "leftovers", name: "Leftovers", spritenum: 242, fling: { basePower: 10 }, onResidualOrder: 5, onResidualSubOrder: 2, onResidual: function (pokemon) { this.heal(pokemon.maxhp / 16); }, num: 234, gen: 2, desc: "At the end of every turn, holder restores 1/16 of its max HP." }, "leppaberry": { id: "leppaberry", name: "Leppa Berry", spritenum: 244, isBerry: true, naturalGift: { basePower: 80, type: "Fighting" }, onUpdate: function (pokemon) { var move = pokemon.getMoveData(pokemon.lastMove); if (move && move.pp === 0) { pokemon.addVolatile('leppaberry'); pokemon.volatiles['leppaberry'].move = move; pokemon.eatItem(); } }, onEat: function (pokemon) { var move; if (pokemon.volatiles['leppaberry']) { move = pokemon.volatiles['leppaberry'].move; pokemon.removeVolatile('leppaberry'); } else { var pp = 99; for (var i in pokemon.moveset) { if (pokemon.moveset[i].pp < pp) { move = pokemon.moveset[i]; pp = move.pp; } } } move.pp += 10; if (move.pp > move.maxpp) move.pp = move.maxpp; this.add('-activate', pokemon, 'item: Leppa Berry', move.move); if (pokemon.item === 'leppaberry') { pokemon.isStale = 2; pokemon.isStaleSource = 'useleppa'; } }, num: 154, gen: 3, desc: "Restores 10 PP to the first of the holder's moves to reach 0 PP. Single use." }, "levelball": { id: "levelball", name: "Level Ball", spritenum: 246, num: 493, gen: 2, desc: "A Poke Ball for catching Pokemon that are a lower level than your own." }, "liechiberry": { id: "liechiberry", name: "Liechi Berry", spritenum: 248, isBerry: true, naturalGift: { basePower: 100, type: "Grass" }, onUpdate: function (pokemon) { if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 && pokemon.hasAbility('gluttony'))) { pokemon.eatItem(); } }, onEat: function (pokemon) { this.boost({atk:1}); }, num: 201, gen: 3, desc: "Raises holder's Attack by 1 stage when at 1/4 max HP or less. Single use." }, "lifeorb": { id: "lifeorb", name: "Life Orb", spritenum: 249, fling: { basePower: 30 }, onModifyDamage: function (damage, source, target, move) { return this.chainModify(1.3); }, onAfterMoveSecondarySelf: function (source, target, move) { if (source && source !== target && move && move.category !== 'Status' && !move.ohko) { this.damage(source.maxhp / 10, source, source, this.getItem('lifeorb')); } }, num: 270, gen: 4, desc: "Holder's attacks do 1.3x damage, and it loses 1/10 its max HP after the attack." }, "lightball": { id: "lightball", name: "Light Ball", spritenum: 251, fling: { basePower: 30, status: 'par' }, onModifyAtkPriority: 1, onModifyAtk: function (atk, pokemon) { if (pokemon.baseTemplate.baseSpecies === 'Pikachu') { return this.chainModify(2); } }, onModifySpAPriority: 1, onModifySpA: function (spa, pokemon) { if (pokemon.baseTemplate.baseSpecies === 'Pikachu') { return this.chainModify(2); } }, num: 236, gen: 2, desc: "If holder is a Pikachu, its Attack and Sp. Atk are doubled." }, "lightclay": { id: "lightclay", name: "Light Clay", spritenum: 252, fling: { basePower: 30 }, // implemented in the corresponding thing num: 269, gen: 4, desc: "Holder's use of Light Screen or Reflect lasts 8 turns instead of 5." }, "lopunnite": { id: "lopunnite", name: "Lopunnite", spritenum: 626, megaStone: "Lopunny-Mega", megaEvolves: "Lopunny", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 768, gen: 6, desc: "If holder is a Lopunny, this item allows it to Mega Evolve in battle." }, "loveball": { id: "loveball", name: "Love Ball", spritenum: 258, num: 496, gen: 2, desc: "Poke Ball for catching Pokemon that are the opposite gender of your Pokemon." }, "lucarionite": { id: "lucarionite", name: "Lucarionite", spritenum: 594, megaStone: "Lucario-Mega", megaEvolves: "Lucario", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 673, gen: 6, desc: "If holder is a Lucario, this item allows it to Mega Evolve in battle." }, "luckypunch": { id: "luckypunch", name: "Lucky Punch", spritenum: 261, fling: { basePower: 40 }, onModifyMove: function (move, user) { if (user.baseTemplate.species === 'Chansey') { move.critRatio += 2; } }, num: 256, gen: 2, desc: "If holder is a Chansey, its critical hit ratio is raised by 2 stages." }, "lumberry": { id: "lumberry", name: "Lum Berry", spritenum: 262, isBerry: true, naturalGift: { basePower: 80, type: "Flying" }, onUpdate: function (pokemon) { if (pokemon.status || pokemon.volatiles['confusion']) { pokemon.eatItem(); } }, onEat: function (pokemon) { pokemon.cureStatus(); pokemon.removeVolatile('confusion'); }, num: 157, gen: 3, desc: "Holder cures itself if it is confused or has a major status condition. Single use." }, "luminousmoss": { id: "luminousmoss", name: "Luminous Moss", spritenum: 595, fling: { basePower: 30 }, onAfterDamage: function (damage, target, source, move) { if (move.type === 'Water' && target.useItem()) { this.boost({spd: 1}); } }, num: -6, gen: 6, desc: "Raises holder's Sp. Def by 1 stage if hit by a Water-type attack. Single use." }, "lureball": { id: "lureball", name: "Lure Ball", spritenum: 264, num: 494, gen: 2, desc: "A Poke Ball for catching Pokemon hooked by a Rod when fishing." }, "lustrousorb": { id: "lustrousorb", name: "Lustrous Orb", spritenum: 265, fling: { basePower: 60 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move && user.baseTemplate.species === 'Palkia' && (move.type === 'Water' || move.type === 'Dragon')) { return this.chainModify(1.2); } }, num: 136, gen: 4, desc: "If holder is a Palkia, its Water- and Dragon-type attacks have 1.2x power." }, "luxuryball": { id: "luxuryball", name: "Luxury Ball", spritenum: 266, num: 11, gen: 3, desc: "A comfortable Poke Ball that makes a caught wild Pokemon quickly grow friendly." }, "machobrace": { id: "machobrace", name: "Macho Brace", spritenum: 269, fling: { basePower: 60 }, onModifySpe: function (spe) { return this.chainModify(0.5); }, num: 215, gen: 3, desc: "Holder's Speed is halved." }, "magnet": { id: "magnet", name: "Magnet", spritenum: 273, fling: { basePower: 30 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Electric') { return this.chainModify(1.2); } }, num: 242, gen: 2, desc: "Holder's Electric-type attacks have 1.2x power." }, "magoberry": { id: "magoberry", name: "Mago Berry", spritenum: 274, isBerry: true, naturalGift: { basePower: 80, type: "Ghost" }, onUpdate: function (pokemon) { if (pokemon.hp <= pokemon.maxhp / 2) { pokemon.eatItem(); } }, onEatItem: function (item, pokemon) { if (!this.runEvent('TryHeal', pokemon)) return false; }, onEat: function (pokemon) { this.heal(pokemon.maxhp / 8); if (pokemon.getNature().minus === 'spe') { pokemon.addVolatile('confusion'); } }, num: 161, gen: 3, desc: "Restores 1/8 max HP when at 1/2 max HP or less. May confuse. Single use." }, "magostberry": { id: "magostberry", name: "Magost Berry", spritenum: 275, isBerry: true, naturalGift: { basePower: 90, type: "Rock" }, num: 176, gen: 3, desc: "Cannot be eaten by the holder. No effect when eaten with Bug Bite or Pluck." }, "mail": { id: "mail", name: "Mail", spritenum: 403, onTakeItem: function (item, source) { if (!this.activeMove) return false; if (this.activeMove.id !== 'knockoff' && this.activeMove.id !== 'thief' && this.activeMove.id !== 'covet') return false; }, isUnreleased: true, gen: 2, desc: "Cannot be given to or taken from a Pokemon, except by Covet/Knock Off/Thief." }, "manectite": { id: "manectite", name: "Manectite", spritenum: 596, megaStone: "Manectric-Mega", megaEvolves: "Manectric", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 682, gen: 6, desc: "If holder is a Manectric, this item allows it to Mega Evolve in battle." }, "marangaberry": { id: "marangaberry", name: "Maranga Berry", spritenum: 597, isBerry: true, naturalGift: { basePower: 100, type: "Dark" }, onAfterMoveSecondary: function (target, source, move) { if (move.category === 'Special') { target.eatItem(); } }, onEat: function (pokemon) { this.boost({spd: 1}); }, num: -6, gen: 6, desc: "Raises holder's Sp. Def by 1 stage after it is hit by a special attack. Single use." }, "masterball": { id: "masterball", name: "Master Ball", spritenum: 276, num: 1, gen: 1, desc: "The best Ball with the ultimate performance. It will catch any wild Pokemon." }, "mawilite": { id: "mawilite", name: "Mawilite", spritenum: 598, megaStone: "Mawile-Mega", megaEvolves: "Mawile", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 681, gen: 6, desc: "If holder is a Mawile, this item allows it to Mega Evolve in battle." }, "meadowplate": { id: "meadowplate", name: "Meadow Plate", spritenum: 282, onPlate: 'Grass', onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Grass') { return this.chainModify(1.2); } }, onTakeItem: function (item, pokemon, source) { if ((source && source.baseTemplate.num === 493) || pokemon.baseTemplate.num === 493) { return false; } return true; }, num: 301, gen: 4, desc: "Holder's Grass-type attacks have 1.2x power. Judgment is Grass type." }, "medichamite": { id: "medichamite", name: "Medichamite", spritenum: 599, megaStone: "Medicham-Mega", megaEvolves: "Medicham", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 665, gen: 6, desc: "If holder is a Medicham, this item allows it to Mega Evolve in battle." }, "mentalherb": { id: "mentalherb", name: "Mental Herb", spritenum: 285, fling: { basePower: 10, effect: function (pokemon) { var conditions = ['attract', 'taunt', 'encore', 'torment', 'disable', 'healblock']; for (var i = 0; i < conditions.length; i++) { if (pokemon.volatiles[conditions[i]]) { for (var j = 0; j < conditions.length; j++) { pokemon.removeVolatile(conditions[j]); if (conditions[j] === 'attract') { this.add('-end', pokemon, 'move: Attract', '[from] item: Mental Herb'); } } return; } } } }, onUpdate: function (pokemon) { var conditions = ['attract', 'taunt', 'encore', 'torment', 'disable', 'healblock']; for (var i = 0; i < conditions.length; i++) { if (pokemon.volatiles[conditions[i]]) { if (!pokemon.useItem()) return; for (var j = 0; j < conditions.length; j++) { pokemon.removeVolatile(conditions[j]); if (conditions[j] === 'attract') { this.add('-end', pokemon, 'move: Attract', '[from] item: Mental Herb'); } } return; } } }, num: 219, gen: 3, desc: "Cures holder of Attract, Disable, Encore, Heal Block, Taunt, Torment. Single use." }, "metagrossite": { id: "metagrossite", name: "Metagrossite", spritenum: 618, megaStone: "Metagross-Mega", megaEvolves: "Metagross", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 758, gen: 6, desc: "If holder is a Metagross, this item allows it to Mega Evolve in battle." }, "metalcoat": { id: "metalcoat", name: "Metal Coat", spritenum: 286, fling: { basePower: 30 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Steel') { return this.chainModify(1.2); } }, num: 233, gen: 2, desc: "Holder's Steel-type attacks have 1.2x power." }, "metalpowder": { id: "metalpowder", name: "Metal Powder", fling: { basePower: 10 }, spritenum: 287, onModifyDefPriority: 2, onModifyDef: function (def, pokemon) { if (pokemon.template.species === 'Ditto' && !pokemon.transformed) { return this.chainModify(2); } }, num: 257, gen: 2, desc: "If holder is a Ditto that hasn't Transformed, its Defense is doubled." }, "metronome": { id: "metronome", name: "Metronome", spritenum: 289, fling: { basePower: 30 }, onStart: function (pokemon) { pokemon.addVolatile('metronome'); }, effect: { onStart: function (pokemon) { this.effectData.numConsecutive = 0; this.effectData.lastMove = ''; }, onBeforeMove: function (pokemon, target, move) { if (!pokemon.hasItem('metronome')) { pokemon.removeVolatile('metronome'); return; } if (this.effectData.lastMove === move.id) { this.effectData.numConsecutive++; } else { this.effectData.numConsecutive = 0; } this.effectData.lastMove = move.id; }, onModifyDamage: function (damage, source, target, move) { var numConsecutive = this.effectData.numConsecutive > 5 ? 5 : this.effectData.numConsecutive; var dmgMod = [1, 1.2, 1.4, 1.6, 1.8, 2]; return this.chainModify(dmgMod[numConsecutive]); } }, num: 277, gen: 4, desc: "Damage of moves used on consecutive turns is increased. Max 2x after 5 turns." }, "mewtwonitex": { id: "mewtwonitex", name: "Mewtwonite X", spritenum: 600, megaStone: "Mewtwo-Mega-X", megaEvolves: "Mewtwo", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 662, gen: 6, desc: "If holder is a Mewtwo, this item allows it to Mega Evolve in battle." }, "mewtwonitey": { id: "mewtwonitey", name: "Mewtwonite Y", spritenum: 601, megaStone: "Mewtwo-Mega-Y", megaEvolves: "Mewtwo", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 663, gen: 6, desc: "If holder is a Mewtwo, this item allows it to Mega Evolve in battle." }, "micleberry": { id: "micleberry", name: "Micle Berry", spritenum: 290, isBerry: true, naturalGift: { basePower: 100, type: "Rock" }, onResidual: function (pokemon) { if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 && pokemon.hasAbility('gluttony'))) { pokemon.eatItem(); } }, onEat: function (pokemon) { pokemon.addVolatile('micleberry'); }, effect: { duration: 2, onSourceModifyAccuracy: function (accuracy, target, source) { this.add('-enditem', source, 'Micle Berry'); source.removeVolatile('micleberry'); if (typeof accuracy === 'number') { return accuracy * 1.2; } } }, num: 209, gen: 4, desc: "Holder's next move has 1.2x accuracy when at 1/4 max HP or less. Single use." }, "mindplate": { id: "mindplate", name: "Mind Plate", spritenum: 291, onPlate: 'Psychic', onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Psychic') { return this.chainModify(1.2); } }, onTakeItem: function (item, pokemon, source) { if ((source && source.baseTemplate.num === 493) || pokemon.baseTemplate.num === 493) { return false; } return true; }, num: 307, gen: 4, desc: "Holder's Psychic-type attacks have 1.2x power. Judgment is Psychic type." }, "miracleseed": { id: "miracleseed", name: "Miracle Seed", fling: { basePower: 30 }, spritenum: 292, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Grass') { return this.chainModify(1.2); } }, num: 239, gen: 2, desc: "Holder's Grass-type attacks have 1.2x power." }, "moonball": { id: "moonball", name: "Moon Ball", spritenum: 294, num: 498, gen: 2, desc: "A Poke Ball for catching Pokemon that evolve using the Moon Stone." }, "muscleband": { id: "muscleband", name: "Muscle Band", spritenum: 297, fling: { basePower: 10 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.category === 'Physical') { return this.chainModify(1.1); } }, num: 266, gen: 4, desc: "Holder's physical attacks have 1.1x power." }, "mysticwater": { id: "mysticwater", name: "Mystic Water", spritenum: 300, fling: { basePower: 30 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Water') { return this.chainModify(1.2); } }, num: 243, gen: 2, desc: "Holder's Water-type attacks have 1.2x power." }, "nanabberry": { id: "nanabberry", name: "Nanab Berry", spritenum: 302, isBerry: true, naturalGift: { basePower: 90, type: "Water" }, num: 166, gen: 3, desc: "Cannot be eaten by the holder. No effect when eaten with Bug Bite or Pluck." }, "nestball": { id: "nestball", name: "Nest Ball", spritenum: 303, num: 8, gen: 3, desc: "A Poke Ball that works especially well on weaker Pokemon in the wild." }, "netball": { id: "netball", name: "Net Ball", spritenum: 304, num: 6, gen: 3, desc: "A Poke Ball that works especially well on Water- and Bug-type Pokemon." }, "nevermeltice": { id: "nevermeltice", name: "Never-Melt Ice", spritenum: 305, fling: { basePower: 30 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Ice') { return this.chainModify(1.2); } }, num: 246, gen: 2, desc: "Holder's Ice-type attacks have 1.2x power." }, "nomelberry": { id: "nomelberry", name: "Nomel Berry", spritenum: 306, isBerry: true, naturalGift: { basePower: 90, type: "Dragon" }, num: 178, gen: 3, desc: "Cannot be eaten by the holder. No effect when eaten with Bug Bite or Pluck." }, "normalgem": { id: "normalgem", name: "Normal Gem", spritenum: 307, isGem: true, onSourceTryPrimaryHit: function (target, source, move) { if (target === source || move.category === 'Status' || move.id in {firepledge:1, grasspledge:1, waterpledge:1}) return; if (move.type === 'Normal') { if (source.useItem()) { this.add('-enditem', source, 'Normal Gem', '[from] gem', '[move] ' + move.name); source.addVolatile('gem'); } } }, num: 564, gen: 5, desc: "Holder's first successful Normal-type attack will have 1.3x power. Single use." }, "occaberry": { id: "occaberry", name: "Occa Berry", spritenum: 311, isBerry: true, naturalGift: { basePower: 80, type: "Fire" }, onSourceModifyDamage: function (damage, source, target, move) { if (move.type === 'Fire' && move.typeMod > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return this.chainModify(0.5); } } }, onEat: function () { }, num: 184, gen: 4, desc: "Halves damage taken from a supereffective Fire-type attack. Single use." }, "oddincense": { id: "oddincense", name: "Odd Incense", spritenum: 312, fling: { basePower: 10 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Psychic') { return this.chainModify(1.2); } }, num: 314, gen: 4, desc: "Holder's Psychic-type attacks have 1.2x power." }, "oldamber": { id: "oldamber", name: "Old Amber", spritenum: 314, fling: { basePower: 100 }, num: 103, gen: 3, desc: "Can be revived into Aerodactyl." }, "oranberry": { id: "oranberry", name: "Oran Berry", spritenum: 319, isBerry: true, naturalGift: { basePower: 80, type: "Poison" }, onUpdate: function (pokemon) { if (pokemon.hp <= pokemon.maxhp / 2) { pokemon.eatItem(); } }, onEatItem: function (item, pokemon) { if (!this.runEvent('TryHeal', pokemon)) return false; }, onEat: function (pokemon) { this.heal(10); }, num: 155, gen: 3, desc: "Restores 10 HP when at 1/2 max HP or less. Single use." }, "pamtreberry": { id: "pamtreberry", name: "Pamtre Berry", spritenum: 323, isBerry: true, naturalGift: { basePower: 90, type: "Steel" }, num: 180, gen: 3, desc: "Cannot be eaten by the holder. No effect when eaten with Bug Bite or Pluck." }, "parkball": { id: "parkball", name: "Park Ball", spritenum: 325, num: 500, gen: 2, desc: "A special Poke Ball for the Pal Park." }, "passhoberry": { id: "passhoberry", name: "Passho Berry", spritenum: 329, isBerry: true, naturalGift: { basePower: 80, type: "Water" }, onSourceModifyDamage: function (damage, source, target, move) { if (move.type === 'Water' && move.typeMod > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return this.chainModify(0.5); } } }, onEat: function () { }, num: 185, gen: 4, desc: "Halves damage taken from a supereffective Water-type attack. Single use." }, "payapaberry": { id: "payapaberry", name: "Payapa Berry", spritenum: 330, isBerry: true, naturalGift: { basePower: 80, type: "Psychic" }, onSourceModifyDamage: function (damage, source, target, move) { if (move.type === 'Psychic' && move.typeMod > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return this.chainModify(0.5); } } }, onEat: function () { }, num: 193, gen: 4, desc: "Halves damage taken from a supereffective Psychic-type attack. Single use." }, "pechaberry": { id: "pechaberry", name: "Pecha Berry", spritenum: 333, isBerry: true, naturalGift: { basePower: 80, type: "Electric" }, onUpdate: function (pokemon) { if (pokemon.status === 'psn' || pokemon.status === 'tox') { pokemon.eatItem(); } }, onEat: function (pokemon) { if (pokemon.status === 'psn' || pokemon.status === 'tox') { pokemon.cureStatus(); } }, num: 151, gen: 3, desc: "Holder is cured if it is poisoned. Single use." }, "persimberry": { id: "persimberry", name: "Persim Berry", spritenum: 334, isBerry: true, naturalGift: { basePower: 80, type: "Ground" }, onUpdate: function (pokemon) { if (pokemon.volatiles['confusion']) { pokemon.eatItem(); } }, onEat: function (pokemon) { pokemon.removeVolatile('confusion'); }, num: 156, gen: 3, desc: "Holder is cured if it is confused. Single use." }, "petayaberry": { id: "petayaberry", name: "Petaya Berry", spritenum: 335, isBerry: true, naturalGift: { basePower: 100, type: "Poison" }, onUpdate: function (pokemon) { if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 && pokemon.hasAbility('gluttony'))) { pokemon.eatItem(); } }, onEat: function (pokemon) { this.boost({spa:1}); }, num: 204, gen: 3, desc: "Raises holder's Sp. Atk by 1 stage when at 1/4 max HP or less. Single use." }, "pidgeotite": { id: "pidgeotite", name: "Pidgeotite", spritenum: 622, megaStone: "Pidgeot-Mega", megaEvolves: "Pidgeot", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 762, gen: 6, desc: "If holder is a Pidgeot, this item allows it to Mega Evolve in battle." }, "pinapberry": { id: "pinapberry", name: "Pinap Berry", spritenum: 337, isBerry: true, naturalGift: { basePower: 90, type: "Grass" }, num: 168, gen: 3, desc: "Cannot be eaten by the holder. No effect when eaten with Bug Bite or Pluck." }, "pinsirite": { id: "pinsirite", name: "Pinsirite", spritenum: 602, megaStone: "Pinsir-Mega", megaEvolves: "Pinsir", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 671, gen: 6, desc: "If holder is a Pinsir, this item allows it to Mega Evolve in battle." }, "pixieplate": { id: "pixieplate", name: "Pixie Plate", spritenum: 610, onPlate: 'Fairy', onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move && move.type === 'Fairy') { return this.chainModify(1.2); } }, onTakeItem: function (item, pokemon, source) { if ((source && source.baseTemplate.num === 493) || pokemon.baseTemplate.num === 493) { return false; } return true; }, num: -6, gen: 6, desc: "Holder's Fairy-type attacks have 1.2x power. Judgment is Fairy type." }, "plumefossil": { id: "plumefossil", name: "Plume Fossil", spritenum: 339, fling: { basePower: 100 }, num: 573, gen: 5, desc: "Can be revived into Archen." }, "poisonbarb": { id: "poisonbarb", name: "Poison Barb", spritenum: 343, fling: { basePower: 70, status: 'psn' }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Poison') { return this.chainModify(1.2); } }, num: 245, gen: 2, desc: "Holder's Poison-type attacks have 1.2x power." }, "poisongem": { id: "poisongem", name: "Poison Gem", isUnreleased: true, spritenum: 344, isGem: true, onSourceTryPrimaryHit: function (target, source, move) { if (target === source || move.category === 'Status') return; if (move.type === 'Poison') { if (source.useItem()) { this.add('-enditem', source, 'Poison Gem', '[from] gem', '[move] ' + move.name); source.addVolatile('gem'); } } }, num: 554, gen: 5, desc: "Holder's first successful Poison-type attack will have 1.3x power. Single use." }, "pokeball": { id: "pokeball", name: "Poke Ball", spritenum: 345, num: 4, gen: 1, desc: "A device for catching wild Pokemon. It is designed as a capsule system." }, "pomegberry": { id: "pomegberry", name: "Pomeg Berry", spritenum: 351, isBerry: true, naturalGift: { basePower: 80, type: "Ice" }, num: 169, gen: 3, desc: "Cannot be eaten by the holder. No effect when eaten with Bug Bite or Pluck." }, "powerherb": { id: "powerherb", onChargeMove: function (pokemon, target, move) { if (pokemon.useItem()) { this.debug('power herb - remove charge turn for ' + move.id); return false; // skip charge turn } }, name: "Power Herb", spritenum: 358, fling: { basePower: 10 }, num: 271, gen: 4, desc: "Holder's two-turn moves complete in one turn (except Sky Drop). Single use." }, "premierball": { id: "premierball", name: "Premier Ball", spritenum: 363, num: 12, gen: 3, desc: "A rare Poke Ball that has been crafted to commemorate an event." }, "psychicgem": { id: "psychicgem", name: "Psychic Gem", isUnreleased: true, spritenum: 369, isGem: true, onSourceTryPrimaryHit: function (target, source, move) { if (target === source || move.category === 'Status') return; if (move.type === 'Psychic') { if (source.useItem()) { this.add('-enditem', source, 'Psychic Gem', '[from] gem', '[move] ' + move.name); source.addVolatile('gem'); } } }, num: 557, gen: 5, desc: "Holder's first successful Psychic-type attack will have 1.3x power. Single use." }, "qualotberry": { id: "qualotberry", name: "Qualot Berry", spritenum: 371, isBerry: true, naturalGift: { basePower: 80, type: "Poison" }, num: 171, gen: 3, desc: "Cannot be eaten by the holder. No effect when eaten with Bug Bite or Pluck." }, "quickball": { id: "quickball", name: "Quick Ball", spritenum: 372, num: 15, gen: 4, desc: "A Poke Ball that provides a better catch rate at the start of a wild encounter." }, "quickclaw": { id: "quickclaw", onModifyPriority: function (priority, pokemon) { if (this.random(5) === 0) { this.add('-activate', pokemon, 'item: Quick Claw'); return priority + 0.1; } }, name: "Quick Claw", spritenum: 373, fling: { basePower: 80 }, num: 217, gen: 2, desc: "Each turn, holder has a 20% chance to move first in its priority bracket." }, "quickpowder": { id: "quickpowder", name: "Quick Powder", spritenum: 374, fling: { basePower: 10 }, onModifySpe: function (spe, pokemon) { if (pokemon.template.species === 'Ditto' && !pokemon.transformed) { return this.chainModify(2); } }, num: 274, gen: 4, desc: "If holder is a Ditto that hasn't Transformed, its Speed is doubled." }, "rabutaberry": { id: "rabutaberry", name: "Rabuta Berry", spritenum: 375, isBerry: true, naturalGift: { basePower: 90, type: "Ghost" }, num: 177, gen: 3, desc: "Cannot be eaten by the holder. No effect when eaten with Bug Bite or Pluck." }, "rarebone": { id: "rarebone", name: "Rare Bone", spritenum: 379, fling: { basePower: 100 }, num: 106, gen: 4, desc: "No competitive use other than when used with Fling." }, "rawstberry": { id: "rawstberry", name: "Rawst Berry", spritenum: 381, isBerry: true, naturalGift: { basePower: 80, type: "Grass" }, onUpdate: function (pokemon) { if (pokemon.status === 'brn') { pokemon.eatItem(); } }, onEat: function (pokemon) { if (pokemon.status === 'brn') { pokemon.cureStatus(); } }, num: 152, gen: 3, desc: "Holder is cured if it is burned. Single use." }, "razorclaw": { id: "razorclaw", name: "Razor Claw", spritenum: 382, fling: { basePower: 80 }, onModifyMove: function (move) { move.critRatio++; }, num: 326, gen: 4, desc: "Holder's critical hit ratio is raised by 1 stage." }, "razorfang": { id: "razorfang", name: "Razor Fang", spritenum: 383, fling: { basePower: 30, volatileStatus: 'flinch' }, onModifyMove: function (move) { if (move.category !== "Status") { if (!move.secondaries) move.secondaries = []; for (var i = 0; i < move.secondaries.length; i++) { if (move.secondaries[i].volatileStatus === 'flinch') return; } move.secondaries.push({ chance: 10, volatileStatus: 'flinch' }); } }, num: 327, gen: 4, desc: "Holder's attacks without a chance to flinch gain a 10% chance to flinch." }, "razzberry": { id: "razzberry", name: "Razz Berry", spritenum: 384, isBerry: true, naturalGift: { basePower: 80, type: "Steel" }, num: 164, gen: 3, desc: "Cannot be eaten by the holder. No effect when eaten with Bug Bite or Pluck." }, "redcard": { id: "redcard", name: "Red Card", spritenum: 387, fling: { basePower: 10 }, onAfterMoveSecondary: function (target, source, move) { if (source && source !== target && source.hp && target.hp && move && move.category !== 'Status') { if (!source.isActive || !this.canSwitch(source.side) || target.forceSwitchFlag) return; if (target.useItem(null, source)) { // This order is correct - the item is used up even against a pokemon with Ingrain or that otherwise can't be forced out if (this.runEvent('DragOut', source, target, move)) { this.dragIn(source.side, source.position); } } } }, num: 542, gen: 5, desc: "If holder is hit, it forces the attacker to switch to a random ally. Single use." }, "redorb": { id: "redorb", name: "Red Orb", spritenum: 390, onSwitchInPriority: -6, onSwitchIn: function (pokemon) { if (pokemon.isActive && pokemon.baseTemplate.species === 'Groudon') { var template = this.getTemplate('Groudon-Primal'); pokemon.formeChange(template); pokemon.baseTemplate = template; pokemon.details = template.species + (pokemon.level === 100 ? '' : ', L' + pokemon.level) + (pokemon.gender === '' ? '' : ', ' + pokemon.gender) + (pokemon.set.shiny ? ', shiny' : ''); this.add('detailschange', pokemon, pokemon.details); this.add('message', pokemon.name + "'s Primal Reversion! It reverted to its primal form!"); pokemon.setAbility(template.abilities['0']); pokemon.baseAbility = pokemon.ability; } }, onTakeItem: function (item, source) { if (source.baseTemplate.baseSpecies === 'Groudon') return false; return true; }, num: -6, gen: 6, desc: "If holder is a Groudon, this item triggers its Primal Reversion in battle." }, "repeatball": { id: "repeatball", name: "Repeat Ball", spritenum: 401, num: 9, gen: 3, desc: "A Poke Ball that works well on Pokemon species that were previously caught." }, "rindoberry": { id: "rindoberry", name: "Rindo Berry", spritenum: 409, isBerry: true, naturalGift: { basePower: 80, type: "Grass" }, onSourceModifyDamage: function (damage, source, target, move) { if (move.type === 'Grass' && move.typeMod > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return this.chainModify(0.5); } } }, onEat: function () { }, num: 187, gen: 4, desc: "Halves damage taken from a supereffective Grass-type attack. Single use." }, "ringtarget": { id: "ringtarget", name: "Ring Target", spritenum: 410, fling: { basePower: 10 }, onNegateImmunity: function (pokemon, type) { if (type in this.data.TypeChart && this.runEvent('Immunity', pokemon, null, null, type)) return false; }, num: 543, gen: 5, desc: "The holder's type immunities granted solely by its typing are negated." }, "rockgem": { id: "rockgem", name: "Rock Gem", isUnreleased: true, spritenum: 415, isGem: true, onSourceTryPrimaryHit: function (target, source, move) { if (target === source || move.category === 'Status') return; if (move.type === 'Rock') { if (source.useItem()) { this.add('-enditem', source, 'Rock Gem', '[from] gem', '[move] ' + move.name); source.addVolatile('gem'); } } }, num: 559, gen: 5, desc: "Holder's first successful Rock-type attack will have 1.3x power. Single use." }, "rockincense": { id: "rockincense", name: "Rock Incense", spritenum: 416, fling: { basePower: 10 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Rock') { return this.chainModify(1.2); } }, num: 315, gen: 4, desc: "Holder's Rock-type attacks have 1.2x power." }, "rockyhelmet": { id: "rockyhelmet", name: "Rocky Helmet", spritenum: 417, fling: { basePower: 60 }, onAfterDamageOrder: 2, onAfterDamage: function (damage, target, source, move) { if (source && source !== target && move && move.flags['contact']) { this.damage(source.maxhp / 6, source, target, null, true); } }, num: 540, gen: 5, desc: "If holder is hit by a contact move, the attacker loses 1/6 of its max HP." }, "rootfossil": { id: "rootfossil", name: "Root Fossil", spritenum: 418, fling: { basePower: 100 }, num: 99, gen: 3, desc: "Can be revived into Lileep." }, "roseincense": { id: "roseincense", name: "Rose Incense", spritenum: 419, fling: { basePower: 10 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Grass') { return this.chainModify(1.2); } }, num: 318, gen: 4, desc: "Holder's Grass-type attacks have 1.2x power." }, "roseliberry": { id: "roseliberry", name: "Roseli Berry", spritenum: 603, isBerry: true, naturalGift: { basePower: 80, type: "Fairy" }, onSourceModifyDamage: function (damage, source, target, move) { if (move.type === 'Fairy' && move.typeMod > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return this.chainModify(0.5); } } }, onEat: function () { }, num: -6, gen: 6, desc: "Halves damage taken from a supereffective Fairy-type attack. Single use." }, "rowapberry": { id: "rowapberry", name: "Rowap Berry", spritenum: 420, isBerry: true, naturalGift: { basePower: 100, type: "Dark" }, onAfterMoveSecondary: function (target, source, move) { if (source && source !== target && move && move.category === 'Special') { if (target.eatItem()) { this.damage(source.maxhp / 8, source, target, null, true); } } }, onEat: function () { }, num: 212, gen: 4, desc: "If holder is hit by a special move, attacker loses 1/8 of its max HP. Single use." }, "sablenite": { id: "sablenite", name: "Sablenite", spritenum: 614, megaStone: "Sableye-Mega", megaEvolves: "Sableye", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 754, gen: 6, desc: "If holder is a Sableye, this item allows it to Mega Evolve in battle." }, "safariball": { id: "safariball", name: "Safari Ball", spritenum: 425, num: 5, gen: 1, desc: "A special Poke Ball that is used only in the Safari Zone and Great Marsh." }, "safetygoggles": { id: "safetygoggles", name: "Safety Goggles", spritenum: 604, fling: { basePower: 80 }, onImmunity: function (type, pokemon) { if (type === 'sandstorm' || type === 'hail' || type === 'powder') return false; }, onTryHit: function (pokemon, source, move) { if (move.flags['powder'] && move.id !== 'ragepowder') { this.add('-activate', pokemon, 'Safety Goggles', move.name); return null; } }, num: -6, gen: 6, desc: "Holder is immune to powder moves and damage from Sandstorm or Hail." }, "salacberry": { id: "salacberry", name: "Salac Berry", spritenum: 426, isBerry: true, naturalGift: { basePower: 100, type: "Fighting" }, onUpdate: function (pokemon) { if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 && pokemon.hasAbility('gluttony'))) { pokemon.eatItem(); } }, onEat: function (pokemon) { this.boost({spe:1}); }, num: 203, gen: 3, desc: "Raises holder's Speed by 1 stage when at 1/4 max HP or less. Single use." }, "salamencite": { id: "salamencite", name: "Salamencite", spritenum: 627, megaStone: "Salamence-Mega", megaEvolves: "Salamence", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 769, gen: 6, desc: "If holder is a Salamence, this item allows it to Mega Evolve in battle." }, "sceptilite": { id: "sceptilite", name: "Sceptilite", spritenum: 613, megaStone: "Sceptile-Mega", megaEvolves: "Sceptile", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 753, gen: 6, desc: "If holder is a Sceptile, this item allows it to Mega Evolve in battle." }, "scizorite": { id: "scizorite", name: "Scizorite", spritenum: 605, megaStone: "Scizor-Mega", megaEvolves: "Scizor", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 670, gen: 6, desc: "If holder is a Scizor, this item allows it to Mega Evolve in battle." }, "scopelens": { id: "scopelens", name: "Scope Lens", spritenum: 429, fling: { basePower: 30 }, onModifyMove: function (move) { move.critRatio++; }, num: 232, gen: 2, desc: "Holder's critical hit ratio is raised by 1 stage." }, "seaincense": { id: "seaincense", name: "Sea Incense", spritenum: 430, fling: { basePower: 10 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move && move.type === 'Water') { return this.chainModify(1.2); } }, num: 254, gen: 3, desc: "Holder's Water-type attacks have 1.2x power." }, "sharpbeak": { id: "sharpbeak", name: "Sharp Beak", spritenum: 436, fling: { basePower: 50 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move && move.type === 'Flying') { return this.chainModify(1.2); } }, num: 244, gen: 2, desc: "Holder's Flying-type attacks have 1.2x power." }, "sharpedonite": { id: "sharpedonite", name: "Sharpedonite", spritenum: 619, megaStone: "Sharpedo-Mega", megaEvolves: "Sharpedo", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 759, gen: 6, desc: "If holder is a Sharpedo, this item allows it to Mega Evolve in battle." }, "shedshell": { id: "shedshell", name: "Shed Shell", spritenum: 437, fling: { basePower: 10 }, onModifyPokemonPriority: -10, onModifyPokemon: function (pokemon) { pokemon.trapped = pokemon.maybeTrapped = false; }, num: 295, gen: 4, desc: "Holder may switch out even when trapped by another Pokemon, or by Ingrain." }, "shellbell": { id: "shellbell", name: "Shell Bell", spritenum: 438, fling: { basePower: 30 }, onAfterMoveSecondarySelfPriority: -1, onAfterMoveSecondarySelf: function (pokemon, target, move) { if (move.category !== 'Status') { this.heal(pokemon.lastDamage / 8, pokemon); } }, num: 253, gen: 3, desc: "After an attack, holder gains 1/8 of the damage in HP dealt to other Pokemon." }, "shockdrive": { id: "shockdrive", name: "Shock Drive", spritenum: 442, onTakeItem: function (item, pokemon, source) { if ((source && source.baseTemplate.num === 649) || pokemon.baseTemplate.num === 649) { return false; } return true; }, onDrive: 'Electric', num: 117, gen: 5, desc: "Holder's Techno Blast is Electric type." }, "shucaberry": { id: "shucaberry", name: "Shuca Berry", spritenum: 443, isBerry: true, naturalGift: { basePower: 80, type: "Ground" }, onSourceModifyDamage: function (damage, source, target, move) { if (move.type === 'Ground' && move.typeMod > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return this.chainModify(0.5); } } }, onEat: function () { }, num: 191, gen: 4, desc: "Halves damage taken from a supereffective Ground-type attack. Single use." }, "silkscarf": { id: "silkscarf", name: "Silk Scarf", spritenum: 444, fling: { basePower: 10 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Normal') { return this.chainModify(1.2); } }, num: 251, gen: 3, desc: "Holder's Normal-type attacks have 1.2x power." }, "silverpowder": { id: "silverpowder", name: "SilverPowder", spritenum: 447, fling: { basePower: 10 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Bug') { return this.chainModify(1.2); } }, num: 222, gen: 2, desc: "Holder's Bug-type attacks have 1.2x power." }, "sitrusberry": { id: "sitrusberry", name: "Sitrus Berry", spritenum: 448, isBerry: true, naturalGift: { basePower: 80, type: "Psychic" }, onUpdate: function (pokemon) { if (pokemon.hp <= pokemon.maxhp / 2) { pokemon.eatItem(); } }, onEatItem: function (item, pokemon) { if (!this.runEvent('TryHeal', pokemon)) return false; }, onEat: function (pokemon) { this.heal(pokemon.maxhp / 4); }, num: 158, gen: 3, desc: "Restores 1/4 max HP when at 1/2 max HP or less. Single use." }, "skullfossil": { id: "skullfossil", name: "Skull Fossil", spritenum: 449, fling: { basePower: 100 }, num: 105, gen: 4, desc: "Can be revived into Cranidos." }, "skyplate": { id: "skyplate", name: "Sky Plate", spritenum: 450, onPlate: 'Flying', onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Flying') { return this.chainModify(1.2); } }, onTakeItem: function (item, pokemon, source) { if ((source && source.baseTemplate.num === 493) || pokemon.baseTemplate.num === 493) { return false; } return true; }, num: 306, gen: 4, desc: "Holder's Flying-type attacks have 1.2x power. Judgment is Flying type." }, "slowbronite": { id: "slowbronite", name: "Slowbronite", spritenum: 620, megaStone: "Slowbro-Mega", megaEvolves: "Slowbro", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 760, gen: 6, desc: "If holder is a Slowbro, this item allows it to Mega Evolve in battle." }, "smoothrock": { id: "smoothrock", name: "Smooth Rock", spritenum: 453, fling: { basePower: 10 }, num: 283, gen: 4, desc: "Holder's use of Sandstorm lasts 8 turns instead of 5." }, "snowball": { id: "snowball", name: "Snowball", spritenum: 606, fling: { basePower: 30 }, onAfterDamage: function (damage, target, source, move) { if (move.type === 'Ice' && target.useItem()) { this.boost({atk: 1}); } }, num: -6, gen: 6, desc: "Raises holder's Attack by 1 if hit by an Ice-type attack. Single use." }, "softsand": { id: "softsand", name: "Soft Sand", spritenum: 456, fling: { basePower: 10 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Ground') { return this.chainModify(1.2); } }, num: 237, gen: 2, desc: "Holder's Ground-type attacks have 1.2x power." }, "souldew": { id: "souldew", name: "Soul Dew", spritenum: 459, fling: { basePower: 30 }, onModifySpAPriority: 1, onModifySpA: function (spa, pokemon) { if (pokemon.baseTemplate.num === 380 || pokemon.baseTemplate.num === 381) { return this.chainModify(1.5); } }, onModifySpDPriority: 2, onModifySpD: function (spd, pokemon) { if (pokemon.baseTemplate.num === 380 || pokemon.baseTemplate.num === 381) { return this.chainModify(1.5); } }, num: 225, gen: 3, desc: "If holder is a Latias or a Latios, its Sp. Atk and Sp. Def are 1.5x." }, "spelltag": { id: "spelltag", name: "Spell Tag", spritenum: 461, fling: { basePower: 30 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Ghost') { return this.chainModify(1.2); } }, num: 247, gen: 2, desc: "Holder's Ghost-type attacks have 1.2x power." }, "spelonberry": { id: "spelonberry", name: "Spelon Berry", spritenum: 462, isBerry: true, naturalGift: { basePower: 90, type: "Dark" }, num: 179, gen: 3, desc: "Cannot be eaten by the holder. No effect when eaten with Bug Bite or Pluck." }, "splashplate": { id: "splashplate", name: "Splash Plate", spritenum: 463, onPlate: 'Water', onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Water') { return this.chainModify(1.2); } }, onTakeItem: function (item, pokemon, source) { if ((source && source.baseTemplate.num === 493) || pokemon.baseTemplate.num === 493) { return false; } return true; }, num: 299, gen: 4, desc: "Holder's Water-type attacks have 1.2x power. Judgment is Water type." }, "spookyplate": { id: "spookyplate", name: "Spooky Plate", spritenum: 464, onPlate: 'Ghost', onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Ghost') { return this.chainModify(1.2); } }, onTakeItem: function (item, pokemon, source) { if ((source && source.baseTemplate.num === 493) || pokemon.baseTemplate.num === 493) { return false; } return true; }, num: 310, gen: 4, desc: "Holder's Ghost-type attacks have 1.2x power. Judgment is Ghost type." }, "sportball": { id: "sportball", name: "Sport Ball", spritenum: 465, num: 499, gen: 4, desc: "A special Poke Ball for the Bug-Catching Contest." }, "starfberry": { id: "starfberry", name: "Starf Berry", spritenum: 472, isBerry: true, naturalGift: { basePower: 100, type: "Psychic" }, onUpdate: function (pokemon) { if (pokemon.hp <= pokemon.maxhp / 4 || (pokemon.hp <= pokemon.maxhp / 2 && pokemon.hasAbility('gluttony'))) { pokemon.eatItem(); } }, onEat: function (pokemon) { var stats = []; for (var i in pokemon.boosts) { if (i !== 'accuracy' && i !== 'evasion' && pokemon.boosts[i] < 6) { stats.push(i); } } if (stats.length) { var i = stats[this.random(stats.length)]; var boost = {}; boost[i] = 2; this.boost(boost); } }, num: 207, gen: 3, desc: "Raises a random stat by 2 when at 1/4 max HP or less (not acc/eva). Single use." }, "steelixite": { id: "steelixite", name: "Steelixite", spritenum: 621, megaStone: "Steelix-Mega", megaEvolves: "Steelix", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 761, gen: 6, desc: "If holder is a Steelix, this item allows it to Mega Evolve in battle." }, "steelgem": { id: "steelgem", name: "Steel Gem", isUnreleased: true, spritenum: 473, isGem: true, onSourceTryPrimaryHit: function (target, source, move) { if (target === source || move.category === 'Status') return; if (move.type === 'Steel') { if (source.useItem()) { this.add('-enditem', source, 'Steel Gem', '[from] gem', '[move] ' + move.name); source.addVolatile('gem'); } } }, num: 563, gen: 5, desc: "Holder's first successful Steel-type attack will have 1.3x power. Single use." }, "stick": { id: "stick", name: "Stick", fling: { basePower: 60 }, spritenum: 475, onModifyMove: function (move, user) { if (user.baseTemplate.species === 'Farfetch\'d') { move.critRatio += 2; } }, num: 259, gen: 2, desc: "If holder is a Farfetch'd, its critical hit ratio is raised by 2 stages." }, "stickybarb": { id: "stickybarb", name: "Sticky Barb", spritenum: 476, fling: { basePower: 80 }, onResidualOrder: 26, onResidualSubOrder: 2, onResidual: function (pokemon) { this.damage(pokemon.maxhp / 8); }, onHit: function (target, source, move) { if (source && source !== target && !source.item && move && move.flags['contact']) { var barb = target.takeItem(); source.setItem(barb); // no message for Sticky Barb changing hands } }, num: 288, gen: 4, desc: "Each turn, holder loses 1/8 max HP. An attacker making contact can receive it." }, "stoneplate": { id: "stoneplate", name: "Stone Plate", spritenum: 477, onPlate: 'Rock', onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Rock') { return this.chainModify(1.2); } }, onTakeItem: function (item, pokemon, source) { if ((source && source.baseTemplate.num === 493) || pokemon.baseTemplate.num === 493) { return false; } return true; }, num: 309, gen: 4, desc: "Holder's Rock-type attacks have 1.2x power. Judgment is Rock type." }, "swampertite": { id: "swampertite", name: "Swampertite", spritenum: 612, megaStone: "Swampert-Mega", megaEvolves: "Swampert", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 752, gen: 6, desc: "If holder is a Swampert, this item allows it to Mega Evolve in battle." }, "tamatoberry": { id: "tamatoberry", name: "Tamato Berry", spritenum: 486, isBerry: true, naturalGift: { basePower: 90, type: "Psychic" }, num: 174, gen: 3, desc: "Cannot be eaten by the holder. No effect when eaten with Bug Bite or Pluck." }, "tangaberry": { id: "tangaberry", name: "Tanga Berry", spritenum: 487, isBerry: true, naturalGift: { basePower: 80, type: "Bug" }, onSourceModifyDamage: function (damage, source, target, move) { if (move.type === 'Bug' && move.typeMod > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return this.chainModify(0.5); } } }, onEat: function () { }, num: 194, gen: 4, desc: "Halves damage taken from a supereffective Bug-type attack. Single use." }, "thickclub": { id: "thickclub", name: "Thick Club", spritenum: 491, fling: { basePower: 90 }, onModifyAtkPriority: 1, onModifyAtk: function (atk, pokemon) { if (pokemon.baseTemplate.species === 'Cubone' || pokemon.baseTemplate.species === 'Marowak') { return this.chainModify(2); } }, num: 258, gen: 2, desc: "If holder is a Cubone or a Marowak, its Attack is doubled." }, "timerball": { id: "timerball", name: "Timer Ball", spritenum: 494, num: 10, gen: 3, desc: "A Poke Ball that becomes better the more turns there are in a battle." }, "toxicorb": { id: "toxicorb", name: "Toxic Orb", spritenum: 515, fling: { basePower: 30, status: 'tox' }, onResidualOrder: 26, onResidualSubOrder: 2, onResidual: function (pokemon) { pokemon.trySetStatus('tox'); }, num: 272, gen: 4, desc: "At the end of every turn, this item attempts to badly poison the holder." }, "toxicplate": { id: "toxicplate", name: "Toxic Plate", spritenum: 516, onPlate: 'Poison', onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Poison') { return this.chainModify(1.2); } }, onTakeItem: function (item, pokemon, source) { if ((source && source.baseTemplate.num === 493) || pokemon.baseTemplate.num === 493) { return false; } return true; }, num: 304, gen: 4, desc: "Holder's Poison-type attacks have 1.2x power. Judgment is Poison type." }, "twistedspoon": { id: "twistedspoon", name: "TwistedSpoon", spritenum: 520, fling: { basePower: 30 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Psychic') { return this.chainModify(1.2); } }, num: 248, gen: 2, desc: "Holder's Psychic-type attacks have 1.2x power." }, "tyranitarite": { id: "tyranitarite", name: "Tyranitarite", spritenum: 607, megaStone: "Tyranitar-Mega", megaEvolves: "Tyranitar", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 669, gen: 6, desc: "If holder is a Tyranitar, this item allows it to Mega Evolve in battle." }, "ultraball": { id: "ultraball", name: "Ultra Ball", spritenum: 521, num: 2, gen: 1, desc: "An ultra-performance Ball that provides a higher catch rate than a Great Ball." }, "venusaurite": { id: "venusaurite", name: "Venusaurite", spritenum: 608, megaStone: "Venusaur-Mega", megaEvolves: "Venusaur", onTakeItem: function (item, source) { if (item.megaEvolves === source.baseTemplate.baseSpecies) return false; return true; }, num: 659, gen: 6, desc: "If holder is a Venusaur, this item allows it to Mega Evolve in battle." }, "wacanberry": { id: "wacanberry", name: "Wacan Berry", spritenum: 526, isBerry: true, naturalGift: { basePower: 80, type: "Electric" }, onSourceModifyDamage: function (damage, source, target, move) { if (move.type === 'Electric' && move.typeMod > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return this.chainModify(0.5); } } }, onEat: function () { }, num: 186, gen: 4, desc: "Halves damage taken from a supereffective Electric-type attack. Single use." }, "watergem": { id: "watergem", name: "Water Gem", isUnreleased: true, spritenum: 528, isGem: true, onSourceTryPrimaryHit: function (target, source, move) { if (target === source || move.category === 'Status' || move.id in {firepledge:1, grasspledge:1, waterpledge:1}) return; if (move.type === 'Water') { if (source.useItem()) { this.add('-enditem', source, 'Water Gem', '[from] gem', '[move] ' + move.name); source.addVolatile('gem'); } } }, num: 549, gen: 5, desc: "Holder's first successful Water-type attack will have 1.3x power. Single use." }, "watmelberry": { id: "watmelberry", name: "Watmel Berry", spritenum: 530, isBerry: true, naturalGift: { basePower: 100, type: "Fire" }, num: 181, gen: 3, desc: "Cannot be eaten by the holder. No effect when eaten with Bug Bite or Pluck." }, "waveincense": { id: "waveincense", name: "Wave Incense", spritenum: 531, fling: { basePower: 10 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Water') { return this.chainModify(1.2); } }, num: 317, gen: 4, desc: "Holder's Water-type attacks have 1.2x power." }, "weaknesspolicy": { id: "weaknesspolicy", name: "Weakness Policy", spritenum: 609, fling: { basePower: 80 }, onHit: function (target, source, move) { if (target.hp && move.category !== 'Status' && !move.damage && !move.damageCallback && move.typeMod > 0 && target.useItem()) { this.boost({atk: 2, spa: 2}); } }, num: -6, gen: 6, desc: "If holder is hit super effectively, raises Attack, Sp. Atk by 2 stages. Single use." }, "wepearberry": { id: "wepearberry", name: "Wepear Berry", spritenum: 533, isBerry: true, naturalGift: { basePower: 90, type: "Electric" }, num: 167, gen: 3, desc: "Cannot be eaten by the holder. No effect when eaten with Bug Bite or Pluck." }, "whiteherb": { id: "whiteherb", name: "White Herb", spritenum: 535, fling: { basePower: 10, effect: function (pokemon) { var activate = false; var boosts = {}; for (var i in pokemon.boosts) { if (pokemon.boosts[i] < 0) { activate = true; boosts[i] = 0; } } if (activate) { pokemon.setBoost(boosts); } } }, onUpdate: function (pokemon) { var activate = false; var boosts = {}; for (var i in pokemon.boosts) { if (pokemon.boosts[i] < 0) { activate = true; boosts[i] = 0; } } if (activate && pokemon.useItem()) { pokemon.setBoost(boosts); this.add('-restoreboost', pokemon, '[silent]'); } }, num: 214, gen: 3, desc: "Restores all lowered stat stages to 0 when one is less than 0. Single use." }, "widelens": { id: "widelens", name: "Wide Lens", spritenum: 537, fling: { basePower: 10 }, onSourceModifyAccuracy: function (accuracy) { if (typeof accuracy === 'number') { return accuracy * 1.1; } }, num: 265, gen: 4, desc: "The accuracy of attacks by the holder is 1.1x." }, "wikiberry": { id: "wikiberry", name: "Wiki Berry", spritenum: 538, isBerry: true, naturalGift: { basePower: 80, type: "Rock" }, onUpdate: function (pokemon) { if (pokemon.hp <= pokemon.maxhp / 2) { pokemon.eatItem(); } }, onEatItem: function (item, pokemon) { if (!this.runEvent('TryHeal', pokemon)) return false; }, onEat: function (pokemon) { this.heal(pokemon.maxhp / 8); if (pokemon.getNature().minus === 'spa') { pokemon.addVolatile('confusion'); } }, num: 160, gen: 3, desc: "Restores 1/8 max HP when at 1/2 max HP or less. May confuse. Single use." }, "wiseglasses": { id: "wiseglasses", name: "Wise Glasses", spritenum: 539, fling: { basePower: 10 }, onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.category === 'Special') { return this.chainModify(1.1); } }, num: 267, gen: 4, desc: "Holder's special attacks have 1.1x power." }, "yacheberry": { id: "yacheberry", name: "Yache Berry", spritenum: 567, isBerry: true, naturalGift: { basePower: 80, type: "Ice" }, onSourceModifyDamage: function (damage, source, target, move) { if (move.type === 'Ice' && move.typeMod > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return this.chainModify(0.5); } } }, onEat: function () { }, num: 188, gen: 4, desc: "Halves damage taken from a supereffective Ice-type attack. Single use." }, "zapplate": { id: "zapplate", name: "Zap Plate", spritenum: 572, onPlate: 'Electric', onBasePowerPriority: 6, onBasePower: function (basePower, user, target, move) { if (move.type === 'Electric') { return this.chainModify(1.2); } }, onTakeItem: function (item, pokemon, source) { if ((source && source.baseTemplate.num === 493) || pokemon.baseTemplate.num === 493) { return false; } return true; }, num: 300, gen: 4, desc: "Holder's Electric-type attacks have 1.2x power. Judgment is Electric type." }, "zoomlens": { id: "zoomlens", name: "Zoom Lens", spritenum: 574, fling: { basePower: 10 }, onSourceModifyAccuracy: function (accuracy, target) { if (typeof accuracy === 'number' && !this.willMove(target)) { this.debug('Zoom Lens boosting accuracy'); return accuracy * 1.2; } }, num: 276, gen: 4, desc: "The accuracy of attacks by the holder is 1.2x if it moves after its target." } };