export const Items: import('../../../sim/dex-items').ModdedItemDataTable = { berryjuice: { inherit: true, isNonstandard: null, }, blackbelt: { inherit: true, onModifyAtk() {}, onModifyDamage(damage, source, target, move) { if (move?.type === 'Fighting') { return damage * 1.1; } }, }, blackglasses: { inherit: true, onModifySpA() {}, onModifyDamage(damage, source, target, move) { if (move?.type === 'Dark') { return damage * 1.1; } }, }, brightpowder: { inherit: true, onModifyAccuracy(accuracy) { if (typeof accuracy !== 'number') return; this.debug('brightpowder - decreasing accuracy'); return accuracy - 20; }, }, charcoal: { inherit: true, onModifySpA() {}, onModifyDamage(damage, source, target, move) { if (move?.type === 'Fire') { return damage * 1.1; } }, }, dragonfang: { inherit: true, onModifySpA() {}, }, dragonscale: { inherit: true, onModifyDamage(damage, source, target, move) { if (move?.type === 'Dragon') { return damage * 1.1; } }, }, fastball: { inherit: true, isNonstandard: null, }, focusband: { inherit: true, onDamage(damage, target, source, effect) { if (this.randomChance(30, 256) && damage >= target.hp && effect && effect.effectType === 'Move') { this.add('-activate', target, 'item: Focus Band'); return target.hp - 1; } }, }, hardstone: { inherit: true, onModifyAtk() {}, onModifyDamage(damage, source, target, move) { if (move?.type === 'Rock') { return damage * 1.1; } }, }, heavyball: { inherit: true, isNonstandard: null, }, kingsrock: { inherit: true, onModifyMove(move) { const affectedByKingsRock = [ 'absorb', 'aeroblast', 'barrage', 'beatup', 'bide', 'bonerush', 'bonemerang', 'cometpunch', 'counter', 'crabhammer', 'crosschop', 'cut', 'dig', 'doublekick', 'doubleslap', 'doubleedge', 'dragonrage', 'drillpeck', 'eggbomb', 'explosion', 'extremespeed', 'falseswipe', 'feintattack', 'flail', 'fly', 'frustration', 'furyattack', 'furycutter', 'furyswipes', 'gigadrain', 'hiddenpower', 'highjumpkick', 'hornattack', 'hydropump', 'jumpkick', 'karatechop', 'leechlife', 'machpunch', 'magnitude', 'megadrain', 'megakick', 'megapunch', 'megahorn', 'mirrorcoat', 'nightshade', 'outrage', 'payday', 'peck', 'petaldance', 'pinmissile', 'pound', 'present', 'pursuit', 'psywave', 'quickattack', 'rage', 'rapidspin', 'razorleaf', 'razorwind', 'return', 'reversal', 'rockthrow', 'rollout', 'scratch', 'seismictoss', 'selfdestruct', 'skullbash', 'skyattack', 'slam', 'slash', 'snore', 'solarbeam', 'sonicboom', 'spikecannon', 'strength', 'struggle', 'submission', 'superfang', 'surf', 'swift', 'tackle', 'takedown', 'thief', 'thrash', 'triplekick', 'twineedle', 'visegrip', 'vinewhip', 'vitalthrow', 'watergun', 'waterfall', 'wingattack', ]; if (affectedByKingsRock.includes(move.id)) { if (!move.secondaries) move.secondaries = []; // The kingsrock flag allows for differentiation from Snore, // which can flinch and is also affected by King's Rock move.secondaries.push({ chance: 12, volatileStatus: 'flinch', kingsrock: true, }); } }, }, leftovers: { inherit: true, onResidualOrder: 5, onResidualSubOrder: 1, }, levelball: { inherit: true, isNonstandard: null, }, lightball: { inherit: true, // In Gen 2 this happens in stat calculation directly. onModifySpA() {}, }, loveball: { inherit: true, isNonstandard: null, }, luckypunch: { inherit: true, onModifyCritRatioPriority: -1, onModifyCritRatio(critRatio, user) { if (user.species.name === 'Chansey') { return 3; } }, }, lureball: { inherit: true, isNonstandard: null, }, magnet: { inherit: true, onModifySpA() {}, onModifyDamage(damage, source, target, move) { if (move?.type === 'Electric') { return damage * 1.1; } }, }, metalcoat: { inherit: true, onModifyAtk() {}, onModifyDamage(damage, source, target, move) { if (move?.type === 'Steel') { return damage * 1.1; } }, }, metalpowder: { inherit: true, // In Gen 2 this happens in stat calculation directly. onModifyDef() {}, onModifySpD() {}, }, miracleseed: { inherit: true, onModifySpA() {}, onModifyDamage(damage, source, target, move) { if (move?.type === 'Grass') { return damage * 1.1; } }, }, moonball: { inherit: true, isNonstandard: null, }, mysticwater: { inherit: true, onModifySpA() {}, onModifyDamage(damage, source, target, move) { if (move?.type === 'Water') { return damage * 1.1; } }, }, nevermeltice: { inherit: true, onModifySpA() {}, onModifyDamage(damage, source, target, move) { if (move?.type === 'Ice') { return damage * 1.1; } }, }, poisonbarb: { inherit: true, onModifyAtk() {}, onModifyDamage(damage, source, target, move) { if (move?.type === 'Poison') { return damage * 1.1; } }, }, sharpbeak: { inherit: true, onModifyAtk() {}, onModifyDamage(damage, source, target, move) { if (move?.type === 'Flying') { return damage * 1.1; } }, }, silverpowder: { inherit: true, onModifyAtk() {}, onModifyDamage(damage, source, target, move) { if (move?.type === 'Bug') { return damage * 1.1; } }, }, softsand: { inherit: true, onModifyAtk() {}, onModifyDamage(damage, source, target, move) { if (move?.type === 'Ground') { return damage * 1.1; } }, }, spelltag: { inherit: true, onModifyAtk() {}, onModifyDamage(damage, source, target, move) { if (move?.type === 'Ghost') { return damage * 1.1; } }, }, sportball: { inherit: true, isNonstandard: null, }, stick: { inherit: true, onModifyCritRatioPriority: -1, onModifyCritRatio(critRatio, user) { if (user.species.id === 'farfetchd') { return 3; } }, }, thickclub: { inherit: true, // In Gen 2 this happens in stat calculation directly. onModifyAtk() {}, }, twistedspoon: { inherit: true, onModifySpA() {}, onModifyDamage(damage, source, target, move) { if (move?.type === 'Psychic') { return damage * 1.1; } }, }, berserkgene: { inherit: true, isNonstandard: null, }, berry: { inherit: true, isNonstandard: null, }, bitterberry: { inherit: true, isNonstandard: null, }, burntberry: { inherit: true, isNonstandard: null, }, goldberry: { inherit: true, isNonstandard: null, }, iceberry: { inherit: true, isNonstandard: null, }, mintberry: { inherit: true, isNonstandard: null, }, miracleberry: { inherit: true, isNonstandard: null, }, mysteryberry: { inherit: true, isNonstandard: null, }, pinkbow: { inherit: true, onBasePower() {}, onModifyDamage(damage, source, target, move) { if (move?.type === 'Normal') { return damage * 1.1; } }, isNonstandard: null, }, polkadotbow: { inherit: true, onBasePower() {}, onModifyDamage(damage, source, target, move) { if (move?.type === 'Normal') { return damage * 1.1; } }, isNonstandard: null, }, przcureberry: { inherit: true, isNonstandard: null, }, psncureberry: { inherit: true, isNonstandard: null, }, };