pokemon-showdown/items.js
2011-12-22 23:53:05 -05:00

2775 lines
63 KiB
JavaScript

exports.BattleItems = {
"AbsorbBulb": {
id: "AbsorbBulb",
name: "Absorb Bulb",
spritenum: 2,
onAfterDamage: function(damage, target, source, move) {
if (move.type === 'Water' && target.useItem())
{
this.boost({spa: 1});
}
},
desc: "Boosts Special Attack of holder if hit by a Water-type attack. One-time use."
},
"AdamantOrb": {
id: "AdamantOrb",
name: "Adamant Orb",
spritenum: 4,
onBasePower: function(basePower, user, target, move) {
if (move && user.template.species === 'Dialga' && (move.type === 'Steel' || move.type === 'Dragon'))
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Hold item which raises power of Dialga's STAB moves 20%."
},
"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();
}
},
onEat: function(pokemon) {
pokemon.heal(pokemon.maxhp/8);
if (pokemon.getNature().minus === 'spd') {
pokemon.addVolatile('confusion');
}
},
desc: "Restores 1\/8 max HP when at 50% HP or less. May confuse. One-time use."
},
"AirBalloon": {
id: "AirBalloon",
name: "Air Balloon",
spritenum: 6,
desc: "Makes the holder immune to Ground-type attacks. Disappears when holder is hit.",
onStart: function(target) {
this.add('r-volatile '+target.id+' 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('r-volatile '+target.id+' balloon end');
target.setItem('');
}
},
onAfterSubDamage: function(damage, target, source, effect) {
this.debug('effect: '+effect.id);
if (effect.effectType === 'Move')
{
this.add('r-volatile '+target.id+' balloon end');
target.setItem('');
}
}
},
"ApicotBerry": {
id: "ApicotBerry",
name: "Apicot Berry",
spritenum: 10,
isBerry: true,
naturalGift: {
basePower: 80,
type: "Ground"
},
onUpdate: function(pokemon) {
if (pokemon.hp <= pokemon.maxhp/4|| (pokemon.hp <= pokemon.maxhp/2 && pokemon.ability === 'Gluttony')) {
pokemon.eatItem();
}
},
onEat: function(pokemon) {
this.boost({spd:1});
},
desc: "Raises Special Defense by one stage when at 25% HP or less. Unobtainable in BW. One-time use."
},
"ArmorFossil": {
id: "ArmorFossil",
name: "Armor Fossil",
spritenum: 12,
desc: "Can be revived into Shieldon."
},
"AspearBerry": {
id: "AspearBerry",
name: "Aspear Berry",
spritenum: 13,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Ice"
},
onUpdate: function(pokemon) {
if (pokemon.status === 'frz')
{
pokemon.eatItem();
}
},
onEat: function(pokemon) {
if (pokemon.status === 'frz')
{
pokemon.cureStatus();
}
},
desc: "Cures freeze. One-time use."
},
"BabiriBerry": {
id: "BabiriBerry",
name: "Babiri Berry",
spritenum: 17,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Steel"
},
onSourceBasePower: function(basePower, user, target, move) {
if (move.type === 'Steel' && this.getEffectiveness(move.type, target) > 0) {
if (target.eatItem()) {
this.debug('-50% reduction');
return basePower * 0.5;
}
}
},
onEat: function() { },
desc: "Reduces damage from a super effective Steel-type attack by 50%. Consumed after use."
},
"BelueBerry": {
id: "BelueBerry",
name: "Belue Berry",
spritenum: 21,
isBerry: true,
naturalGift: {
basePower: 80,
type: "Electric"
},
desc: "No use. Unobtainable in BW."
},
"BerryJuice": {
id: "BerryJuice",
name: "Berry Juice",
spritenum: 22,
onUpdate: function(pokemon) {
if (pokemon.hp <= pokemon.maxhp/2) {
if (pokemon.useItem()) {
pokemon.heal(20);
}
}
},
desc: "Restores 20 HP when at 50% HP or less. One-time use."
},
"BigRoot": {
id: "BigRoot",
name: "Big Root",
spritenum: 29,
desc: "Increases HP gained from draining moves by 30%."
},
"BindingBand": {
id: "BindingBand",
name: "Binding Band",
spritenum: 31,
desc: "Increases power of multi-turn trapping moves."
},
"BlackBelt": {
id: "BlackBelt",
name: "Black Belt",
spritenum: 32,
onBasePower: function(basePower, user, target, move) {
if (move && move.type === 'Fighting')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Fighting-type moves 20%."
},
"BlackSludge": {
id: "BlackSludge",
name: "Black Sludge",
spritenum: 34,
onResidualPriority: 50-5.2,
onResidual: function(pokemon) {
if (pokemon.hasType('Poison'))
{
this.heal(pokemon.maxhp/16);
}
else
{
this.damage(pokemon.maxhp/8);
}
},
desc: "Recovers 1\/16 HP each turn for Poison types. Damages all other types."
},
"BlackGlasses": {
id: "BlackGlasses",
name: "BlackGlasses",
spritenum: 35,
onBasePower: function(basePower, user, target, move) {
if (move && move.type === 'Dark')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Dark-type moves 20%."
},
"BlukBerry": {
id: "BlukBerry",
name: "Bluk Berry",
spritenum: 44,
isBerry: true,
naturalGift: {
basePower: 70,
type: "Fire"
},
desc: "No use. Unobtainable in BW."
},
"BrightPowder": {
id: "BrightPowder",
name: "BrightPowder",
spritenum: 51,
onSourceModifyMove: function(move) {
if (typeof move.accuracy !== 'number') return;
this.debug('brightpowder - decreasing accuracy');
move.accuracy *= 0.9;
},
desc: "Raises evasion 10%."
},
"BugGem": {
id: "BugGem",
name: "Bug Gem",
spritenum: 53,
isGem: true,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Bug')
{
if (user.useItem())
{
this.debug('gem activate: +50% boost');
return basePower * 1.5;
}
}
},
desc: "Raises the power of a Bug-type move by 50%. One-time use."
},
"BurnDrive": {
id: "BurnDrive",
name: "Burn Drive",
spritenum: 54,
desc: "Changes the type of Techno Blast to Fire."
},
"CellBattery": {
id: "CellBattery",
name: "Cell Battery",
spritenum: 60,
onAfterDamage: function(damage, target, source, move) {
if (move.type === 'Electric' && target.useItem())
{
this.boost({atk: 1});
}
},
desc: "Boosts Attack of holder if hit by an Electric-type attack. One-time use."
},
"Charcoal": {
id: "Charcoal",
name: "Charcoal",
spritenum: 61,
onBasePower: function(basePower, user, target, move) {
if (move && move.type === 'Fire')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Fire-type moves 20%."
},
"ChartiBerry": {
id: "ChartiBerry",
name: "Charti Berry",
spritenum: 62,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Rock"
},
onSourceBasePower: function(basePower, user, target, move) {
if (move.type === 'Rock' && this.getEffectiveness(move.type, target) > 0) {
if (target.eatItem()) {
this.debug('-50% reduction');
return basePower * 0.5;
}
}
},
onEat: function() { },
desc: "Reduces damage from a super effective Rock-type attack by 50%. Consumed after use."
},
"CheriBerry": {
id: "CheriBerry",
name: "Cheri Berry",
spritenum: 63,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Fire"
},
onUpdate: function(pokemon) {
if (pokemon.status === 'par')
{
pokemon.eatItem();
}
},
onEat: function(pokemon) {
if (pokemon.status === 'par')
{
pokemon.cureStatus();
}
},
desc: "Cures paralysis. One-time use."
},
"ChestoBerry": {
id: "ChestoBerry",
name: "Chesto Berry",
spritenum: 65,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Water"
},
onUpdate: function(pokemon) {
if (pokemon.status === 'slp')
{
pokemon.eatItem();
}
},
onEat: function(pokemon) {
if (pokemon.status === 'slp')
{
pokemon.cureStatus();
}
},
desc: "Cures sleep. One-time use."
},
"ChilanBerry": {
id: "ChilanBerry",
name: "Chilan Berry",
spritenum: 66,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Normal"
},
onSourceBasePower: function(basePower, user, target, move) {
if (move.type === 'Normal') {
if (target.eatItem()) {
this.debug('-50% reduction');
return basePower * 0.5;
}
}
},
onEat: function() { },
desc: "Reduces damage from a Normal-type attack by 50%. Consumed after use."
},
"ChillDrive": {
id: "ChillDrive",
name: "Chill Drive",
spritenum: 67,
desc: "Changes the type of Techno Blast to Ice."
},
"ChoiceBand": {
id: "ChoiceBand",
name: "Choice Band",
spritenum: 68,
onStart: function(pokemon) {
if (pokemon.volatiles['choicelock'])
{
this.debug('removing choicelock: '+pokemon.volatiles.choicelock);
}
pokemon.removeVolatile('choicelock');
},
onModifyMove: function(move, pokemon) {
pokemon.addVolatile('choicelock');
},
onModifyStats: function(stats) {
stats.atk *= 1.5;
},
isChoice: true,
desc: "\"Hold item which raises Attack 50%, but locks holder into one move.\""
},
"ChoiceScarf": {
id: "ChoiceScarf",
name: "Choice Scarf",
spritenum: 69,
onStart: function(pokemon) {
if (pokemon.volatiles['choicelock'])
{
this.debug('removing choicelock: '+pokemon.volatiles.choicelock);
}
pokemon.removeVolatile('choicelock');
},
onModifyMove: function(move, pokemon) {
pokemon.addVolatile('choicelock');
},
onModifyStats: function(stats) {
stats.spe *= 1.5;
},
isChoice: true,
desc: "\"Hold item which raises Speed 50%, but locks holder into one move.\""
},
"ChoiceSpecs": {
id: "ChoiceSpecs",
name: "Choice Specs",
spritenum: 70,
onStart: function(pokemon) {
if (pokemon.volatiles['choicelock'])
{
this.debug('removing choicelock: '+pokemon.volatiles.choicelock);
}
pokemon.removeVolatile('choicelock');
},
onModifyMove: function(move, pokemon) {
pokemon.addVolatile('choicelock');
},
onModifyStats: function(stats) {
stats.spa *= 1.5;
},
isChoice: true,
desc: "\"Hold item which raises Special Attack 50%, but locks holder into one move.\""
},
"ChopleBerry": {
id: "ChopleBerry",
name: "Chople Berry",
spritenum: 71,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Fighting"
},
onSourceBasePower: function(basePower, user, target, move) {
if (move.type === 'Fighting' && this.getEffectiveness(move.type, target) > 0) {
if (target.eatItem()) {
this.debug('-50% reduction');
return basePower * 0.5;
}
}
},
onEat: function() { },
desc: "Reduces damage from a super effective Fighting-type attack by 50%. Consumed after use."
},
"ClawFossil": {
id: "ClawFossil",
name: "Claw Fossil",
spritenum: 72,
desc: "Can be revived into Anorith."
},
"CobaBerry": {
id: "CobaBerry",
name: "Coba Berry",
spritenum: 76,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Flying"
},
onSourceBasePower: function(basePower, user, target, move) {
if (move.type === 'Flying' && this.getEffectiveness(move.type, target) > 0) {
if (target.eatItem()) {
this.debug('-50% reduction');
return basePower * 0.5;
}
}
},
onEat: function() { },
desc: "Reduces damage from a super effective Flying-type attack by 50%. Consumed after use."
},
"ColburBerry": {
id: "ColburBerry",
name: "Colbur Berry",
spritenum: 78,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Dark"
},
onSourceBasePower: function(basePower, user, target, move) {
if (move.type === 'Dark' && this.getEffectiveness(move.type, target) > 0) {
if (target.eatItem()) {
this.debug('-50% reduction');
return basePower * 0.5;
}
}
},
onEat: function() { },
desc: "Reduces damage from a super effective Dark-type attack by 50%. Consumed after use."
},
"CornnBerry": {
id: "CornnBerry",
name: "Cornn Berry",
spritenum: 81,
isBerry: true,
naturalGift: {
basePower: 70,
type: "Bug"
},
desc: "No use. Unobtainable in BW."
},
"CoverFossil": {
id: "CoverFossil",
name: "Cover Fossil",
spritenum: 85,
desc: "Can be revived into Tirtouga."
},
"CustapBerry": {
id: "CustapBerry",
name: "Custap Berry",
spritenum: 86,
/* onBeforeTurn: function(pokemon) {
if (pokemon.hp <= pokemon.maxhp/4 || (pokemon.hp <= pokemon.maxhp/2 && pokemon.ability === 'Gluttony'))
{
var decision = this.willMove(pokemon);
if (!decision) return;
this.addQueue({
choice: 'event',
event: 'Custap',
priority: decision.priority + .1,
pokemon: decision.pokemon,
move: decision.move,
target: decision.target
});
}
},
onCustap: function(pokemon) {
var decision = this.willMove(pokemon);
this.debug('custap decision: '+decision);
if (decision)
{
pokemon.eatItem();
}
},
onEat: function(pokemon) {
var decision = this.willMove(pokemon);
this.debug('custap eaten: '+decision);
if (decision)
{
this.cancelDecision(pokemon);
this.add('r-custap '+pokemon.id);
this.runDecision(decision);
}
}, */
isBerry: true,
naturalGift: {
basePower: 80,
type: "Ghost"
},
onResidual: function(pokemon) {
if (pokemon.hp <= pokemon.maxhp/4 || (pokemon.hp <= pokemon.maxhp/2 && pokemon.ability === 'Gluttony'))
{
pokemon.eatItem();
}
},
onEat: function(pokemon) {
pokemon.addVolatile('CustapBerry');
},
effect: {
duration: 2,
onModifyPriority: function(priority, pokemon) {
this.add('r-custap '+pokemon.id);
pokemon.removeVolatile('CustapBerry');
return priority + 0.1;
}
},
desc: "Activates at 25% HP. Next move used goes first. Unobtainable in BW. One-time use."
},
"DampRock": {
id: "DampRock",
name: "Damp Rock",
spritenum: 88,
desc: "Rain Dance lasts 8 turns."
},
"DarkGem": {
id: "DarkGem",
name: "Dark Gem",
spritenum: 89,
isGem: true,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Dark')
{
if (user.useItem())
{
this.debug('gem activate: +50% boost');
return basePower * 1.5;
}
}
},
desc: "Raises the power of a Dark-type move by 50%. One-time use."
},
"DeepSeaScale": {
id: "DeepSeaScale",
name: "DeepSeaScale",
spritenum: 93,
onModifyStats: function(stats, pokemon) {
if (pokemon.template.species === 'Clamperl')
{
stats.spd *= 2;
}
},
desc: "Doubles Clamperl's Special Defence. Evolves Clamperl into Gorebyss."
},
"DeepSeaTooth": {
id: "DeepSeaTooth",
name: "DeepSeaTooth",
spritenum: 94,
onModifyStats: function(stats, pokemon) {
if (pokemon.template.species === 'Clamperl')
{
stats.spa *= 2;
}
},
desc: "Doubles Clamperl's Special Attack. Evolves Clamperl into Huntail."
},
"DestinyKnot": {
id: "DestinyKnot",
name: "Destiny Knot",
spritenum: 95,
desc: "\"If the holder becomes infatuated, so does the enemy.\""
},
"DomeFossil": {
id: "DomeFossil",
name: "Dome Fossil",
spritenum: 102,
desc: "Can be revived into Kabuto."
},
"DouseDrive": {
id: "DouseDrive",
name: "Douse Drive",
spritenum: 103,
desc: "Changes the type of Techno Blast to Water."
},
"DracoPlate": {
id: "DracoPlate",
name: "Draco Plate",
spritenum: 105,
onPlate: 'Dragon',
onBasePower: function(basePower, user, target, move) {
if (move && move.type === 'Dragon')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Dragon-type moves 20%. Pokemon with Multitype become Dragon-type."
},
"DragonFang": {
id: "DragonFang",
name: "Dragon Fang",
spritenum: 106,
onBasePower: function(basePower, user, target, move) {
if (move && move.type === 'Dragon')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Dragon-type moves 20%."
},
"DragonGem": {
id: "DragonGem",
name: "Dragon Gem",
spritenum: 107,
isGem: true,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Dragon')
{
if (user.useItem())
{
this.debug('gem activate: +50% boost');
return basePower * 1.5;
}
}
},
desc: "Raises the power of a Dragon-type move by 50%. One-time use."
},
"DreadPlate": {
id: "DreadPlate",
name: "Dread Plate",
spritenum: 110,
onPlate: 'Dark',
onBasePower: function(basePower, user, target, move) {
if (move && move.type === 'Dark')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of the holder's Dark-type moves 20%. Pokemon with Multitype become Dark-type."
},
"DurinBerry": {
id: "DurinBerry",
name: "Durin Berry",
spritenum: 114,
isBerry: true,
naturalGift: {
basePower: 80,
type: "Water"
},
desc: "No use. Unobtainable in BW."
},
"EarthPlate": {
id: "EarthPlate",
name: "Earth Plate",
spritenum: 117,
onPlate: 'Ground',
onBasePower: function(basePower, user, target, move) {
if (move && move.type === 'Ground')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Ground-type moves 20%. Pokemon with Multitype become Ground-type."
},
"EjectButton": {
id: "EjectButton",
name: "Eject Button",
spritenum: 118,
desc: "When the holder is hit, it immediately switches out. One-time use."
},
"Electirizer": {
id: "Electirizer",
name: "Electirizer",
spritenum: 119,
desc: "Evolves Electabuzz into Electivire."
},
"ElectricGem": {
id: "ElectricGem",
name: "Electric Gem",
spritenum: 120,
isGem: true,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Electric')
{
if (user.useItem())
{
this.debug('gem activate: +50% boost');
return basePower * 1.5;
}
}
},
desc: "Raises the power of a Dragon-type move by 50%. One-time use."
},
"EnergyPowder": {
id: "EnergyPowder",
name: "EnergyPowder",
spritenum: 123,
desc: "Restores 50 HP to one Pokemon but tastes bitter."
},
"EnigmaBerry": {
id: "EnigmaBerry",
name: "Enigma Berry",
spritenum: 124,
isBerry: true,
naturalGift: {
basePower: 80,
type: "Bug"
},
onSourceBasePower: function(basePower, user, target, move) {
if (move && this.getEffectiveness(move.type, target) >= 2)
{
target.addVolatile('EnigmaBerry');
}
},
effect: {
duration: 1,
onUpdate: function(target) {
if (target.eatItem())
{
target.removeVolatile('EnigmaBerry');
}
}
},
onEat: function(pokemon) {
pokemon.heal(pokemon.maxhp/4);
},
desc: "Heals 25% HP after being hit by a super effective attack. One-time use."
},
"Eviolite": {
id: "Eviolite",
name: "Eviolite",
spritenum: 130,
onModifyStats: function(stats, pokemon) {
if (pokemon.template.nfe)
{
stats.def *= 1.5;
stats.spd *= 1.5;
}
},
desc: "Boosts Defense and Special Defense of holder by 50% if it is an NFE Pokemon."
},
"ExpertBelt": {
id: "ExpertBelt",
name: "Expert Belt",
spritenum: 132,
onBasePower: function(basePower, user, target, move) {
if (move && this.getEffectiveness(move.type, target) > 0)
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Super effective attacks are 20% stronger."
},
"FightingGem": {
id: "FightingGem",
name: "Fighting Gem",
spritenum: 139,
isGem: true,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Fighting')
{
if (user.useItem())
{
this.debug('gem activate: +50% boost');
return basePower * 1.5;
}
}
},
desc: "Raises the power of a Fighting-type move by 50%. One-time use."
},
"FigyBerry": {
id: "FigyBerry",
name: "Figy Berry",
spritenum: 140,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Bug"
},
onUpdate: function(pokemon) {
if (pokemon.hp <= pokemon.maxhp/2) {
pokemon.eatItem();
}
},
onEat: function(pokemon) {
pokemon.heal(pokemon.maxhp/8);
if (pokemon.getNature().minus === 'atk') {
pokemon.addVolatile('confusion');
}
},
desc: "Restores 1\/8 max HP when at 50% HP or less. May confuse. One-time use."
},
"FireGem": {
id: "FireGem",
name: "Fire Gem",
spritenum: 141,
isGem: true,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Fire')
{
if (user.useItem())
{
this.debug('gem activate: +50% boost');
return basePower * 1.5;
}
}
},
desc: "Raises the power of a Fire-type move by 50%. One-time use."
},
"FistPlate": {
id: "FistPlate",
name: "Fist Plate",
spritenum: 143,
onPlate: 'Fighting',
onBasePower: function(basePower, user, target, move) {
if (move && move.type === 'Fighting')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Fighting-type moves 20%. Pokemon with Multitype become Fighting-type."
},
"FlameOrb": {
id: "FlameOrb",
name: "Flame Orb",
spritenum: 145,
onResidualPriority: -26.2,
onResidual: function(pokemon) {
if (!pokemon.status)
{
this.add('residual '+pokemon.id+' item-activate FlameOrb');
pokemon.trySetStatus('brn');
}
},
desc: "Burns the holder."
},
"FlamePlate": {
id: "FlamePlate",
name: "Flame Plate",
spritenum: 146,
onPlate: 'Fire',
onBasePower: function(basePower, user, target, move) {
if (move && move.type === 'Fire')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Fire-type moves 20%. Pokemon with Multitype become Fire-type."
},
"FloatStone": {
id: "FloatStone",
name: "Float Stone",
spritenum: 147,
onModifyPokemon: function(pokemon) {
pokemon.weightkg /= 2;
},
desc: "The weight of the holder is halved."
},
"FlyingGem": {
id: "FlyingGem",
name: "Flying Gem",
spritenum: 149,
isGem: true,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Flying')
{
if (user.useItem())
{
this.debug('gem activate: +50% boost');
return basePower * 1.5;
}
}
},
desc: "Raises the power of a Flying-type move by 50%. One-time use."
},
"FocusBand": {
id: "FocusBand",
name: "Focus Band",
spritenum: 150,
onDamage: function(damage, target, source, effect) {
if (Math.random()*10 < 1 && damage > target.hp)
{
if (target.useItem())
{
return target.hp - 1;
}
}
},
desc: "Gives a 10% chance of surviving a hit with at least 1 HP."
},
"FocusSash": {
id: "FocusSash",
name: "Focus Sash",
spritenum: 151,
onDamage: function(damage, target, source, effect) {
if (target.hp == target.maxhp && damage > target.hp)
{
if (target.useItem())
{
return target.hp - 1;
}
}
},
desc: "The holder always survives one attack at full HP. One-time use."
},
"FullIncense": {
id: "FullIncense",
name: "Full Incense",
spritenum: 155,
desc: "Makes the holder move last. Allows breeding of Munchlax."
},
"GanlonBerry": {
id: "GanlonBerry",
name: "Ganlon Berry",
spritenum: 158,
isBerry: true,
naturalGift: {
basePower: 80,
type: "Ice"
},
onUpdate: function(pokemon) {
if (pokemon.hp <= pokemon.maxhp/4 || (pokemon.hp <= pokemon.maxhp/2 && pokemon.ability === 'Gluttony')) {
pokemon.eatItem();
}
},
onEat: function(pokemon) {
this.boost({def:1});
},
desc: "Raises Defense by one stage when at 25% HP or less. Unobtainable in BW. One-time use."
},
"GhostGem": {
id: "GhostGem",
name: "Ghost Gem",
spritenum: 161,
isGem: true,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Ghost')
{
if (user.useItem())
{
this.debug('gem activate: +50% boost');
return basePower * 1.5;
}
}
},
desc: "Raises the power of a Ghost-type move by 50%. One-time use."
},
"GrassGem": {
id: "GrassGem",
name: "Grass Gem",
spritenum: 172,
isGem: true,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Grass')
{
if (user.useItem())
{
this.debug('gem activate: +50% boost');
return basePower * 1.5;
}
}
},
desc: "Raises the power of a Grass-type move by 50%. One-time use."
},
"GrepaBerry": {
id: "GrepaBerry",
name: "Grepa Berry",
spritenum: 178,
isBerry: true,
naturalGift: {
basePower: 70,
type: "Flying"
},
desc: "Increases happiness, but lowers Special Defense EVs by 10."
},
"GripClaw": {
id: "GripClaw",
name: "Grip Claw",
spritenum: 179,
desc: "Partial trapping moves last 5 turns."
},
"GriseousOrb": {
id: "GriseousOrb",
name: "Griseous Orb",
spritenum: 180,
onBasePower: function(basePower, user, target, move) {
if (user.template.species === 'Giratina' && (move.type === 'Ghost' || move.type === 'Dragon'))
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises the Base Power of Giratina's STAB moves 20% and transforms Giratina into Giratina-O when held. Cannot be removed or given to Giratina in battle."
},
"GroundGem": {
id: "GroundGem",
name: "Ground Gem",
spritenum: 182,
isGem: true,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Ground')
{
if (user.useItem())
{
this.debug('gem activate: +50% boost');
return basePower * 1.5;
}
}
},
desc: "Raises the power of a Ground-type move by 50%. One-time use."
},
"HabanBerry": {
id: "HabanBerry",
name: "Haban Berry",
spritenum: 185,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Dragon"
},
onSourceBasePower: function(basePower, user, target, move) {
if (move.type === 'Dragon' && this.getEffectiveness(move.type, target) > 0) {
if (target.eatItem()) {
this.debug('-50% reduction');
return basePower * 0.5;
}
}
},
onEat: function() { },
desc: "Reduces damage from a super effective Dragon-type attack by 50%. Consumed after use."
},
"HardStone": {
id: "HardStone",
name: "Hard Stone",
spritenum: 187,
onBasePower: function(basePower, user, target, move) {
if (move && move.type === 'Rock')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Rock-type moves 20%."
},
"HeatRock": {
id: "HeatRock",
name: "Heat Rock",
spritenum: 193,
desc: "Sunny Day lasts 8 turns."
},
"HelixFossil": {
id: "HelixFossil",
name: "Helix Fossil",
spritenum: 195,
desc: "Can be revived into Omanyte."
},
"HondewBerry": {
id: "HondewBerry",
name: "Hondew Berry",
spritenum: 213,
isBerry: true,
naturalGift: {
basePower: 70,
type: "Ground"
},
desc: "Increases happiness, but lowers Special Attack EVs by 10."
},
"IapapaBerry": {
id: "IapapaBerry",
name: "Iapapa Berry",
spritenum: 217,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Dark"
},
onUpdate: function(pokemon) {
if (pokemon.hp <= pokemon.maxhp/2) {
pokemon.eatItem();
}
},
onEat: function(pokemon) {
pokemon.heal(pokemon.maxhp/8);
if (pokemon.getNature().minus === 'def') {
pokemon.addVolatile('confusion');
}
},
desc: "Restores 1\/8 max HP when at 50% HP or less. May confuse. One-time use."
},
"IceGem": {
id: "IceGem",
name: "Ice Gem",
spritenum: 218,
isGem: true,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Ice')
{
if (user.useItem())
{
this.debug('gem activate: +50% boost');
return basePower * 1.5;
}
}
},
desc: "Raises the power of a Ice-type move by 50%. One-time use."
},
"IciclePlate": {
id: "IciclePlate",
name: "Icicle Plate",
spritenum: 220,
onPlate: 'Ice',
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Ice')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Ice-type moves 20%. Pokemon with Multitype become Ice-type."
},
"IcyRock": {
id: "IcyRock",
name: "Icy Rock",
spritenum: 221,
desc: "Hail lasts 8 turns."
},
"InsectPlate": {
id: "InsectPlate",
name: "Insect Plate",
spritenum: 223,
onPlate: 'Bug',
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Bug')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Bug-type moves 20%. Pokemon with Multitype become Bug-type."
},
"IronBall": {
id: "IronBall",
name: "Iron Ball",
spritenum: 224,
onModifyPokemon: function(pokemon) {
pokemon.negateImmunity['Ground'] = true;
},
onModifyStats: function(stats, pokemon) {
stats.spe /= 2;
},
desc: "Reduces Speed 50% and removes holder's Ground-type immunity."
},
"IronPlate": {
id: "IronPlate",
name: "Iron Plate",
spritenum: 225,
onPlate: 'Steel',
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Steel')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Steel-type moves 20%. Pokemon with Multitype become Steel-type."
},
"JabocaBerry": {
id: "JabocaBerry",
name: "Jaboca Berry",
spritenum: 230,
isBerry: true,
naturalGift: {
basePower: 80,
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);
}
}
},
onEat: function() { },
desc: "\"If hit by a physical attack, the attacker takes 12.5% damage. Unobtainable in BW. One-time use.\""
},
"KasibBerry": {
id: "KasibBerry",
name: "Kasib Berry",
spritenum: 233,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Ghost"
},
onSourceBasePower: function(basePower, user, target, move) {
if (move.type === 'Ghost' && this.getEffectiveness(move.type, target) > 0) {
if (target.eatItem()) {
this.debug('-50% reduction');
return basePower * 0.5;
}
}
},
onEat: function() { },
desc: "Reduces damage from a super effective Ghost-type attack by 50%. Consumed after use."
},
"KebiaBerry": {
id: "KebiaBerry",
name: "Kebia Berry",
spritenum: 234,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Poison"
},
onSourceBasePower: function(basePower, user, target, move) {
if (move.type === 'Poison' && this.getEffectiveness(move.type, target) > 0) {
if (target.eatItem()) {
this.debug('-50% reduction');
return basePower * 0.5;
}
}
},
onEat: function() { },
desc: "Reduces damage from a super effective Poison-type attack by 50%. Consumed after use."
},
"KelpsyBerry": {
id: "KelpsyBerry",
name: "Kelpsy Berry",
spritenum: 235,
isBerry: true,
naturalGift: {
basePower: 70,
type: "Fighting"
},
desc: "Increases happiness, but lowers Attack EVs by 10."
},
"King'sRock": {
id: "King'sRock",
name: "King's Rock",
spritenum: 236,
desc: "Certain moves have a 10% flinch rate."
},
"LaggingTail": {
id: "LaggingTail",
name: "Lagging Tail",
spritenum: 237,
desc: ""
},
"LansatBerry": {
id: "LansatBerry",
name: "Lansat Berry",
spritenum: 238,
isBerry: true,
naturalGift: {
basePower: 80,
type: "Flying"
},
onUpdate: function(pokemon) {
if (pokemon.hp <= pokemon.maxhp/4 || (pokemon.hp <= pokemon.maxhp/2 && pokemon.ability === 'Gluttony')) {
pokemon.eatItem();
}
},
onEat: function(pokemon) {
pokemon.addVolatile('FocusEnergy');
},
desc: "Raises critical hit rate by two stages when at 25% HP or less. One-time use."
},
"LaxIncense": {
id: "LaxIncense",
name: "Lax Incense",
spritenum: 240,
onSourceModifyMove: function(move) {
if (typeof move.accuracy !== 'number') return;
this.debug('Lax Incense - decreasing accuracy');
move.accuracy *= 0.95;
},
desc: "Hold item which raises evasion 5%. Allows breeding of Wynaut."
},
"Leftovers": {
id: "Leftovers",
name: "Leftovers",
spritenum: 242,
onResidualPriority: 50-5.2,
onResidual: function(pokemon) {
this.heal(pokemon.maxhp/16);
},
desc: "Heals 1\/16 HP each turn."
},
"LeppaBerry": {
id: "LeppaBerry",
name: "Leppa Berry",
spritenum: 244,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Fighting"
},
desc: "Restores 10 PP to a move that has run out of PP. One-time use."
},
"LiechiBerry": {
id: "LiechiBerry",
name: "Liechi Berry",
spritenum: 248,
isBerry: true,
naturalGift: {
basePower: 80,
type: "Grass"
},
onUpdate: function(pokemon) {
if (pokemon.hp <= pokemon.maxhp/4 || (pokemon.hp <= pokemon.maxhp/2 && pokemon.ability === 'Gluttony')) {
pokemon.eatItem();
}
},
onEat: function(pokemon) {
this.boost({atk:1});
},
desc: "Raises Attack by one stage when at 25% HP or less. Unobtainable in BW. One-time use."
},
"LifeOrb": {
id: "LifeOrb",
name: "Life Orb",
spritenum: 249,
onBasePower: function(basePower, user) {
this.debug('LO boost')
user.addVolatile('LifeOrb');
return basePower * 1.3;
},
effect: {
duration: 1,
onAfterMoveSecondarySelf: function(source, target, move) {
if (move && move.effectType === 'Move' && source && source.volatiles['LifeOrb'])
{
this.damage(source.maxhp/10, source, source, this.getItem('LifeOrb'));
source.removeVolatile('LifeOrb');
}
}
},
desc: "\"Boosts power by 30%, user takes 10% recoil each turn it attacks.\""
},
"LightBall": {
id: "LightBall",
name: "Light Ball",
spritenum: 251,
onModifyStats: function(stats, pokemon) {
if (pokemon.template.species === 'Pikachu')
{
stats.atk *= 2;
stats.spa *= 2;
}
},
desc: "Doubles Pikachu's Attack and Special Attack."
},
"LightClay": {
id: "LightClay",
name: "Light Clay",
spritenum: 252,
// implemented in the corresponding thing
desc: "If the holder uses either Light Screen or Reflect, the two moves will stay on the field for eight turns instead of five."
},
"LuckyPunch": {
id: "LuckyPunch",
name: "Lucky Punch",
spritenum: 261,
onModifyMove: function(move, user) {
if (user.template.species === 'Chansey') {
move.critRatio += 2;
}
},
desc: "Raises Chansey's critical hit ratio two stages."
},
"LumBerry": {
id: "LumBerry",
name: "Lum Berry",
spritenum: 262,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Flying"
},
onUpdate: function(pokemon) {
if (pokemon.status || pokemon.volatiles['confusion']) {
pokemon.eatItem();
}
},
onEat: function(pokemon) {
pokemon.cureStatus();
pokemon.removeVolatile('confusion');
},
desc: "Cures status. Consumed after use."
},
"LustrousOrb": {
id: "LustrousOrb",
name: "Lustrous Orb",
spritenum: 265,
onBasePower: function(basePower, user, target, move) {
if (move && user.template.species === 'Palkia' && (move.type === 'Water' || move.type === 'Dragon'))
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Palkia's STAB moves 20%."
},
"MachoBrace": {
id: "MachoBrace",
name: "Macho Brace",
spritenum: 269,
onModifyStats: function(stats, pokemon) {
stats.spe /= 2;
},
desc: "Reduces Speed 50%. Doubles EVs gained."
},
"Magnet": {
id: "Magnet",
name: "Magnet",
spritenum: 273,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Electric')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Electric-type moves 20%."
},
"MagoBerry": {
id: "MagoBerry",
name: "Mago Berry",
spritenum: 274,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Ghost"
},
onUpdate: function(pokemon) {
if (pokemon.hp <= pokemon.maxhp/2) {
pokemon.eatItem();
}
},
onEat: function(pokemon) {
pokemon.heal(pokemon.maxhp/8);
if (pokemon.getNature().minus === 'spe') {
pokemon.addVolatile('confusion');
}
},
desc: "Restores 1\/8 max HP when at 50% HP or less. May confuse. One-time use."
},
"MagostBerry": {
id: "MagostBerry",
name: "Magost Berry",
spritenum: 275,
isBerry: true,
naturalGift: {
basePower: 70,
type: "Rock"
},
desc: "No use. Unobtainable in BW."
},
"MeadowPlate": {
id: "MeadowPlate",
name: "Meadow Plate",
spritenum: 282,
onPlate: 'Grass',
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Grass')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Grass-type moves 20%. Pokemon with Multitype become Grass-type."
},
"MentalHerb": {
id: "MentalHerb",
name: "Mental Herb",
spritenum: 285,
onUpdate: function(pokemon) {
var conditions = ['Attract','Taunt','Encore','Torment','Disable'];
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]);
}
return;
}
}
},
desc: "Cures certain conditions. One-time use."
},
"MetalCoat": {
id: "MetalCoat",
name: "Metal Coat",
spritenum: 286,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Steel')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Steel-type moves 20%. Evolves Onix and Scyther."
},
"MetalPowder": {
id: "MetalPowder",
name: "Metal Powder",
spritenum: 287,
onModifyStats: function(stats, pokemon) {
if (pokemon.template.species === 'Ditto')
{
stats.def *= 1.5;
stats.spd *= 1.5;
}
},
desc: "Raises Ditto's Defense and Special Defense by 50%."
},
"Metronome": {
id: "Metronome",
name: "Metronome",
spritenum: 289,
desc: "Boost the power of attacks used consecutively."
},
"MicleBerry": {
id: "MicleBerry",
name: "Micle Berry",
spritenum: 290,
isBerry: true,
naturalGift: {
basePower: 80,
type: "Rock"
},
desc: "Activates at 25% HP. Next move used will always hit. Unobtainable in BW. One-time use."
},
"MindPlate": {
id: "MindPlate",
name: "Mind Plate",
spritenum: 291,
onPlate: 'Psychic',
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Psychic')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Psychic-type moves 20%. Pokemon with Multitype become Psychic-type."
},
"MiracleSeed": {
id: "MiracleSeed",
name: "Miracle Seed",
spritenum: 292,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Grass')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Grass-type moves 20%."
},
"MuscleBand": {
id: "MuscleBand",
name: "Muscle Band",
spritenum: 297,
onBasePower: function(basePower, user, target, move) {
if (move.category === 'Physical')
{
this.debug('+10% boost');
return basePower * 1.1;
}
},
desc: "Raises power of physical moves 10%."
},
"MysticWater": {
id: "MysticWater",
name: "Mystic Water",
spritenum: 300,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Water')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Water-type moves 20%."
},
"NanabBerry": {
id: "NanabBerry",
name: "Nanab Berry",
spritenum: 302,
isBerry: true,
naturalGift: {
basePower: 70,
type: "Water"
},
desc: "No use. Unobtainable in BW."
},
"NeverMeltIce": {
id: "NeverMeltIce",
name: "NeverMeltIce",
spritenum: 305,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Ice')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Ice-type moves 20%."
},
"NomelBerry": {
id: "NomelBerry",
name: "Nomel Berry",
spritenum: 306,
isBerry: true,
naturalGift: {
basePower: 70,
type: "Dragon"
},
desc: "No use. Unobtainable in BW."
},
"NormalGem": {
id: "NormalGem",
name: "Normal Gem",
spritenum: 307,
isGem: true,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Normal')
{
if (user.useItem())
{
this.debug('gem activate: +50% boost');
return basePower * 1.5;
}
}
},
desc: "Raises the power of a Normal-type move by 50%. One-time use."
},
"OccaBerry": {
id: "OccaBerry",
name: "Occa Berry",
spritenum: 311,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Fire"
},
onSourceBasePower: function(basePower, user, target, move) {
if (move.type === 'Fire' && this.getEffectiveness(move.type, target) > 0) {
if (target.eatItem()) {
this.debug('-50% reduction');
return basePower * 0.5;
}
}
},
onEat: function() { },
desc: "Reduces damage from a super effective Fire-type attack by 50%. Consumed after use."
},
"OddIncense": {
id: "OddIncense",
name: "Odd Incense",
spritenum: 312,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Psychic')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Psychic-type moves 20%. Allows breeding of Mime Jr."
},
"OldAmber": {
id: "OldAmber",
name: "Old Amber",
spritenum: 314,
desc: "Can be revived into Aerodactyl."
},
"OranBerry": {
id: "OranBerry",
name: "Oran Berry",
spritenum: 319,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Poison"
},
onUpdate: function(pokemon) {
if (pokemon.hp <= pokemon.maxhp/2) {
pokemon.eatItem();
}
},
onEat: function(pokemon) {
pokemon.heal(10);
},
desc: "Restores 10 HP when at 50% HP or less. One-time use."
},
"PamtreBerry": {
id: "PamtreBerry",
name: "Pamtre Berry",
spritenum: 323,
isBerry: true,
naturalGift: {
basePower: 70,
type: "Steel"
},
desc: "No use. Unobtainable in BW."
},
"PasshoBerry": {
id: "PasshoBerry",
name: "Passho Berry",
spritenum: 329,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Water"
},
onSourceBasePower: function(basePower, user, target, move) {
if (move.type === 'Water' && this.getEffectiveness(move.type, target) > 0) {
if (target.eatItem()) {
this.debug('-50% reduction');
return basePower * 0.5;
}
}
},
onEat: function() { },
desc: "Reduces damage from a super effective Water-type attack by 50%. Consumed after use."
},
"PayapaBerry": {
id: "PayapaBerry",
name: "Payapa Berry",
spritenum: 330,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Psychic"
},
onSourceBasePower: function(basePower, user, target, move) {
if (move.type === 'Psychic' && this.getEffectiveness(move.type, target) > 0) {
if (target.eatItem()) {
this.debug('-50% reduction');
return basePower * 0.5;
}
}
},
onEat: function() { },
desc: "Reduces damage from a super effective Psychic-type attack by 50%. Consumed after use."
},
"PechaBerry": {
id: "PechaBerry",
name: "Pecha Berry",
spritenum: 333,
isBerry: true,
naturalGift: {
basePower: 60,
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();
}
},
desc: "Cures poison. One-time use."
},
"PersimBerry": {
id: "PersimBerry",
name: "Persim Berry",
spritenum: 334,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Ground"
},
onUpdate: function(pokemon) {
if (pokemon.volatiles['confusion'])
{
pokemon.eatItem();
}
},
onEat: function(pokemon) {
pokemon.removeVolatile('confusion');
},
desc: "Cures confusion. One-time use."
},
"PetayaBerry": {
id: "PetayaBerry",
name: "Petaya Berry",
spritenum: 335,
isBerry: true,
naturalGift: {
basePower: 80,
type: "Poison"
},
onUpdate: function(pokemon) {
if (pokemon.hp <= pokemon.maxhp/4 || (pokemon.hp <= pokemon.maxhp/2 && pokemon.ability === 'Gluttony')) {
pokemon.eatItem();
}
},
onEat: function(pokemon) {
this.boost({spa:1});
},
desc: "Raises Special Attack by one stage when at 25% HP or less. Unobtainable in BW. One-time use."
},
"PinapBerry": {
id: "PinapBerry",
name: "Pinap Berry",
spritenum: 337,
isBerry: true,
naturalGift: {
basePower: 70,
type: "Grass"
},
desc: "No use. Unobtainable in BW."
},
"PlumeFossil": {
id: "PlumeFossil",
name: "Plume Fossil",
spritenum: 339,
desc: "Can be revived into Archen."
},
"PoisonBarb": {
id: "PoisonBarb",
name: "Poison Barb",
spritenum: 343,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Poison')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Poison-type moves 20%."
},
"PoisonGem": {
id: "PoisonGem",
name: "Poison Gem",
spritenum: 344,
isGem: true,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Poison')
{
if (user.useItem())
{
this.debug('gem activate: +50% boost');
return basePower * 1.5;
}
}
},
desc: "Raises the power of a Poison-type move by 50%. One-time use."
},
"PomegBerry": {
id: "PomegBerry",
name: "Pomeg Berry",
spritenum: 351,
isBerry: true,
naturalGift: {
basePower: 70,
type: "Ice"
},
desc: "Increases happiness, but lowers HP EVs by 10."
},
"PsychicGem": {
id: "PsychicGem",
name: "Psychic Gem",
spritenum: 369,
isGem: true,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Psychic')
{
if (user.useItem())
{
this.debug('gem activate: +50% boost');
return basePower * 1.5;
}
}
},
desc: "Raises the power of a Psychic-type move by 50%. One-time use."
},
"QualotBerry": {
id: "QualotBerry",
name: "Qualot Berry",
spritenum: 371,
isBerry: true,
naturalGift: {
basePower: 70,
type: "Poison"
},
desc: "Increases happiness, but lowers Defense EVs by 10."
},
"QuickClaw": {
id: "QuickClaw",
name: "Quick Claw",
spritenum: 373,
desc: "Gives the user a 20% chance to go first."
},
"QuickPowder": {
id: "QuickPowder",
name: "Quick Powder",
spritenum: 374,
onModifyStats: function(stats, pokemon) {
if (pokemon.template.species === 'Ditto')
{
stats.spe *= 2;
}
},
desc: "Doubles Ditto's Speed."
},
"RabutaBerry": {
id: "RabutaBerry",
name: "Rabuta Berry",
spritenum: 375,
isBerry: true,
naturalGift: {
basePower: 70,
type: "Ghost"
},
desc: "No use. Unobtainable in BW."
},
"RareBone": {
id: "RareBone",
name: "Rare Bone",
spritenum: 379,
desc: "Can be Flung for 100 BP."
},
"RawstBerry": {
id: "RawstBerry",
name: "Rawst Berry",
spritenum: 381,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Grass"
},
onUpdate: function(pokemon) {
if (pokemon.status === 'brn')
{
pokemon.eatItem();
}
},
onEat: function(pokemon) {
if (pokemon.status === 'brn')
{
pokemon.cureStatus();
}
},
desc: "Cures burn. One-time use."
},
"RazorClaw": {
id: "RazorClaw",
name: "Razor Claw",
spritenum: 382,
desc: "Raises critical hit rate one stage. Evolves Sneasel into Weavile."
},
"RazorFang": {
id: "RazorFang",
name: "Razor Fang",
spritenum: 383,
desc: "Certain moves have a 10% flinch rate. Evolves Gligar into Gliscor."
},
"RazzBerry": {
id: "RazzBerry",
name: "Razz Berry",
spritenum: 384,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Steel"
},
desc: "No use. Unobtainable in BW."
},
"RedCard": {
id: "RedCard",
name: "Red Card",
spritenum: 387,
desc: "The opponent is forced out immediately if it attacks the holder. One-time use."
},
"RindoBerry": {
id: "RindoBerry",
name: "Rindo Berry",
spritenum: 409,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Grass"
},
onSourceBasePower: function(basePower, user, target, move) {
if (move.type === 'Grass' && this.getEffectiveness(move.type, target) > 0) {
if (target.eatItem()) {
this.debug('-50% reduction');
return basePower * 0.5;
}
}
},
onEat: function() { },
desc: "Reduces damage from a super effective Grass-type attack by 50%."
},
"RockGem": {
id: "RockGem",
name: "Rock Gem",
spritenum: 415,
isGem: true,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Rock')
{
if (user.useItem())
{
this.debug('gem activate: +50% boost');
return basePower * 1.5;
}
}
},
desc: "Raises the power of a Rock-type move by 50%. One-time use."
},
"RockIncense": {
id: "RockIncense",
name: "Rock Incense",
spritenum: 416,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Rock')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Rock-type moves 20%. Allows breeding of Bonsly."
},
"RockyHelmet": {
id: "RockyHelmet",
name: "Rocky Helmet",
spritenum: 417,
onAfterMoveSecondary: function(target, source, move) {
if (source && source !== target && move && move.isContact)
{
this.damage(source.maxhp/6, source, target);
}
},
desc: "Deals 1\/6 damage when the opponent makes contact."
},
"RootFossil": {
id: "RootFossil",
name: "Root Fossil",
spritenum: 418,
desc: "Can be revived into Lileep."
},
"RoseIncense": {
id: "RoseIncense",
name: "Rose Incense",
spritenum: 419,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Grass')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Grass-type moves 20%. Allows breeding of Budew."
},
"RowapBerry": {
id: "RowapBerry",
name: "Rowap Berry",
spritenum: 420,
isBerry: true,
naturalGift: {
basePower: 80,
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);
}
}
},
onEat: function() { },
desc: "If hit by a special attack, the attacker takes 12.5% damage. Unobtainable in BW. One-time use."
},
"SalacBerry": {
id: "SalacBerry",
name: "Salac Berry",
spritenum: 426,
isBerry: true,
naturalGift: {
basePower: 80,
type: "Fighting"
},
onUpdate: function(pokemon) {
if (pokemon.hp <= pokemon.maxhp/4 || (pokemon.hp <= pokemon.maxhp/2 && pokemon.ability === 'Gluttony')) {
pokemon.eatItem();
}
},
onEat: function(pokemon) {
this.boost({spe:1});
},
desc: "Raises Speed by one stage when at 25% HP or less. Unobtainable in BW. One-time use."
},
"ScopeLens": {
id: "ScopeLens",
name: "Scope Lens",
spritenum: 429,
onModifyMove: function(move) {
move.critRatio += 1;
},
desc: "Raises critical hit rate one stage."
},
"SeaIncense": {
id: "SeaIncense",
name: "Sea Incense",
spritenum: 430,
onBasePower: function(basePower, user, target, move) {
if (move && move.type === 'Water')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Water-type moves 20%. Allows breeding of Azurill."
},
"SharpBeak": {
id: "SharpBeak",
name: "Sharp Beak",
spritenum: 436,
onBasePower: function(basePower, user, target, move) {
if (move && move.type === 'Flying')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Flying-type moves 20%."
},
"ShedShell": {
id: "ShedShell",
name: "Shed Shell",
spritenum: 437,
onModifyPokemonPriority: -10,
onModifyPokemon: function(pokemon) {
pokemon.trapped = false;
},
desc: "Allows holder to switch out even when trapped."
},
"ShellBell": {
id: "ShellBell",
name: "Shell Bell",
spritenum: 438,
onSourceDamage: function(damage, target, source, effect) {
if (effect && effect.effectType === 'Move' && target !== source)
{
this.heal(damage/8, source);
}
},
desc: "Heals holder 1\/8 of damage dealt."
},
"ShockDrive": {
id: "ShockDrive",
name: "Shock Drive",
spritenum: 442,
desc: "Changes the type of Techno Blast to Electric."
},
"ShucaBerry": {
id: "ShucaBerry",
name: "Shuca Berry",
spritenum: 443,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Ground"
},
onSourceBasePower: function(basePower, user, target, move) {
if (move.type === 'Ground' && this.getEffectiveness(move.type, target) > 0) {
if (target.eatItem()) {
this.debug('-50% reduction');
return basePower * 0.5;
}
}
},
onEat: function() { },
desc: "Reduces damage from a super effective Ground-type attack by 50%. Consumed after use."
},
"SilkScarf": {
id: "SilkScarf",
name: "Silk Scarf",
spritenum: 444,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Normal')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Normal-type moves 20%."
},
"SilverPowder": {
id: "SilverPowder",
name: "SilverPowder",
spritenum: 447,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Bug')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Bug-type moves 20%."
},
"SitrusBerry": {
id: "SitrusBerry",
name: "Sitrus Berry",
spritenum: 448,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Psychic"
},
onUpdate: function(pokemon) {
if (pokemon.hp <= pokemon.maxhp/2) {
pokemon.eatItem();
}
},
onEat: function(pokemon) {
pokemon.heal(pokemon.maxhp/4);
},
desc: "Restores 25% max HP when at 50% HP or less. One-time use."
},
"SkullFossil": {
id: "SkullFossil",
name: "Skull Fossil",
spritenum: 449,
desc: "Can be revived into Cranidos."
},
"SkyPlate": {
id: "SkyPlate",
name: "Sky Plate",
spritenum: 450,
onPlate: 'Flying',
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Flying')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Flying-type moves 20%. Pokemon with Multitype become Flying-type."
},
"SmoothRock": {
id: "SmoothRock",
name: "Smooth Rock",
spritenum: 453,
desc: "Makes sandstorm last 8 turns."
},
"SoftSand": {
id: "SoftSand",
name: "Soft Sand",
spritenum: 456,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Ground')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Ground-type moves 20%."
},
"SoulDew": {
id: "SoulDew",
name: "Soul Dew",
spritenum: 459,
onModifyStats: function(stats, pokemon) {
if (pokemon.template.species === 'Latios' || pokemon.template.species === 'Latias')
{
stats.spa *= 1.5;
stats.spd *= 1.5;
}
},
desc: "Raises Special Attack and Special Defense by 50% if the holder is Latias or Latios. Unobtainable in BW."
},
"SpellTag": {
id: "SpellTag",
name: "Spell Tag",
spritenum: 461,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Ghost')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Ghost-type moves 20%."
},
"SpelonBerry": {
id: "SpelonBerry",
name: "Spelon Berry",
spritenum: 462,
isBerry: true,
naturalGift: {
basePower: 70,
type: "Dark"
},
desc: "No use. Unobtainable in BW."
},
"SplashPlate": {
id: "SplashPlate",
name: "Splash Plate",
spritenum: 463,
onPlate: 'Water',
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Water')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Water-type moves 20%. Pokemon with Multitype become Water-type."
},
"SpookyPlate": {
id: "SpookyPlate",
name: "Spooky Plate",
spritenum: 464,
onPlate: 'Ghost',
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Ghost')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Ghost-type moves 20%. Pokemon with Multitype become Ghost-type."
},
"StarfBerry": {
id: "StarfBerry",
name: "Starf Berry",
spritenum: 472,
isBerry: true,
naturalGift: {
basePower: 80,
type: "Psychic"
},
onUpdate: function(pokemon) {
if (pokemon.hp <= pokemon.maxhp/4 || (pokemon.hp <= pokemon.maxhp/2 && pokemon.ability === 'Gluttony')) {
pokemon.eatItem();
}
},
onEat: function(pokemon) {
var stats = [];
for (var i in pokemon.boosts)
{
if (pokemon.boosts[i] < 6)
{
stats.push(i);
}
}
if (stats.length)
{
var i = stats[parseInt(Math.random()*stats.length)];
var boost = {};
boost[i] = 2;
this.boost(boost);
}
},
desc: "Raises a random stat by two stages when at 25% HP or less. One-time use."
},
"SteelGem": {
id: "SteelGem",
name: "Steel Gem",
spritenum: 473,
isGem: true,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Steel')
{
if (user.useItem())
{
this.debug('gem activate: +50% boost');
return basePower * 1.5;
}
}
},
desc: "Raises the power of a Steel-type move by 50%. One-time use."
},
"Stick": {
id: "Stick",
name: "Stick",
spritenum: 475,
onModifyMove: function(move, user) {
if (user.template.species === 'Farfetch\'d') {
move.critRatio += 2;
}
},
desc: "Raises Farfetch'd's critical hit rate two stages."
},
"StickyBarb": {
id: "StickyBarb",
name: "Sticky Barb",
spritenum: 476,
onResidualPriority: -26.2,
onResidual: function(pokemon) {
this.damage(pokemon.maxhp/8);
},
onAfterMoveSecondary: function(target, source, move) {
if (source && source !== target && !source.item && move && move.isContact)
{
var barb = target.takeItem();
source.setItem(barb);
// no message for Sticky Barb changing hands
}
},
desc: "Causes damage to holder and attaches to attacker upon contact."
},
"StonePlate": {
id: "StonePlate",
name: "Stone Plate",
spritenum: 477,
onPlate: 'Rock',
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Rock')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises base power of Rock-type moves 20%. Pokemon with Multitype become Rock-type."
},
"TamatoBerry": {
id: "TamatoBerry",
name: "Tamato Berry",
spritenum: 486,
isBerry: true,
naturalGift: {
basePower: 70,
type: "Psychic"
},
desc: "Increases happiness, but lowers Speed EVs by 10."
},
"TangaBerry": {
id: "TangaBerry",
name: "Tanga Berry",
spritenum: 487,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Bug"
},
onSourceBasePower: function(basePower, user, target, move) {
if (move.type === 'Bug' && this.getEffectiveness(move.type, target) > 0) {
if (target.eatItem()) {
this.debug('-50% reduction');
return basePower * 0.5;
}
}
},
onEat: function() { },
desc: "Reduces damage from a super effective Bug-type attack by 50%. Consumed after use."
},
"ThickClub": {
id: "ThickClub",
name: "Thick Club",
spritenum: 491,
onModifyStats: function(stats, pokemon) {
if (pokemon.template.species === 'Cubone' || pokemon.template.species === 'Marowak')
{
stats.atk *= 2;
}
},
desc: "Doubles Cubone's and Marowak's Attack."
},
"ToxicOrb": {
id: "ToxicOrb",
name: "Toxic Orb",
spritenum: 515,
onResidualPriority: -26.2,
onResidual: function(pokemon) {
if (!pokemon.status && !pokemon.hasType('Steel'))
{
this.add('residual '+pokemon.id+' item-activate ToxicOrb');
pokemon.trySetStatus('tox');
}
},
desc: "Poisons the holder."
},
"ToxicPlate": {
id: "ToxicPlate",
name: "Toxic Plate",
spritenum: 516,
onPlate: 'Poison',
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Poison')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Poison-type moves 20%. Pokemon with Multitype become Poison-type."
},
"TwistedSpoon": {
id: "TwistedSpoon",
name: "TwistedSpoon",
spritenum: 520,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Psychic')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Psychic-type moves 20%."
},
"WacanBerry": {
id: "WacanBerry",
name: "Wacan Berry",
spritenum: 526,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Electric"
},
onSourceBasePower: function(basePower, user, target, move) {
if (move.type === 'Electric' && this.getEffectiveness(move.type, target) > 0) {
if (target.eatItem()) {
this.debug('-50% reduction');
return basePower * 0.5;
}
}
},
onEat: function() { },
desc: "Reduces damage from a super effective Electric-type attack by 50%. Consumed after use."
},
"WaterGem": {
id: "WaterGem",
name: "Water Gem",
spritenum: 528,
isGem: true,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Water')
{
if (user.useItem())
{
this.debug('gem activate: +50% boost');
return basePower * 1.5;
}
}
},
desc: "Raises the power of a Water-type move by 50%. One-time use."
},
"WatmelBerry": {
id: "WatmelBerry",
name: "Watmel Berry",
spritenum: 530,
isBerry: true,
naturalGift: {
basePower: 80,
type: "Fire"
},
desc: "No use. Unobtainable in BW."
},
"WaveIncense": {
id: "WaveIncense",
name: "Wave Incense",
spritenum: 531,
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Water')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Water-type moves 20%. Allows breeding of Mantyke."
},
"WepearBerry": {
id: "WepearBerry",
name: "Wepear Berry",
spritenum: 533,
isBerry: true,
naturalGift: {
basePower: 70,
type: "Electric"
},
desc: "No use. Unobtainable in BW."
},
"WhiteHerb": {
id: "WhiteHerb",
name: "White Herb",
spritenum: 535,
onUpdate: function(pokemon) {
var activate = false;
var boosts = {};
for (var i in pokemon.baseBoosts)
{
if (pokemon.baseBoosts[i] < 0)
{
activate = true;
boosts[i] = -pokemon.baseBoosts[i];
}
}
if (activate && pokemon.useItem())
{
this.boost(boosts);
}
},
desc: "Removes stat decreases. Consumed after use."
},
"WideLens": {
id: "WideLens",
name: "Wide Lens",
spritenum: 537,
onModifyMove: function(move) {
if (typeof move.accuracy === 'number')
{
move.accuracy *= 1.1;
}
},
desc: "Raises accuracy 10%."
},
"WikiBerry": {
id: "WikiBerry",
name: "Wiki Berry",
spritenum: 538,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Rock"
},
onUpdate: function(pokemon) {
if (pokemon.hp <= pokemon.maxhp/2) {
pokemon.eatItem();
}
},
onEat: function(pokemon) {
pokemon.heal(pokemon.maxhp/8);
if (pokemon.getNature().minus === 'spa') {
pokemon.addVolatile('confusion');
}
},
desc: "Restores 1\/8 max HP when at 50% HP or less. May confuse. One-time use."
},
"WiseGlasses": {
id: "WiseGlasses",
name: "Wise Glasses",
spritenum: 539,
onBasePower: function(basePower, user, target, move) {
if (move.category === 'Special')
{
this.debug('+10% boost');
return basePower * 1.1;
}
},
desc: "Raises damage from special moves 10%."
},
"YacheBerry": {
id: "YacheBerry",
name: "Yache Berry",
spritenum: 567,
isBerry: true,
naturalGift: {
basePower: 60,
type: "Ice"
},
onSourceBasePower: function(basePower, user, target, move) {
if (move.type === 'Ice' && this.getEffectiveness(move.type, target) > 0) {
if (target.eatItem()) {
this.debug('-50% reduction');
return basePower * 0.5;
}
}
},
onEat: function() { },
desc: "Reduces damage from a super effective Ice-type attack by 50%. Consumed after use."
},
"ZapPlate": {
id: "ZapPlate",
name: "Zap Plate",
spritenum: 572,
onPlate: 'Electric',
onBasePower: function(basePower, user, target, move) {
if (move.type === 'Electric')
{
this.debug('+20% boost');
return basePower * 1.2;
}
},
desc: "Raises power of Electric moves 20%. Pokemon with Multitype become Electric-type."
},
"ZoomLens": {
id: "ZoomLens",
name: "Zoom Lens",
spritenum: 574,
desc: "Raises accuracy by 20% if the holder moves after the target."
}
};