Spaces:
Paused
Paused
| 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, | |
| }, | |
| }; | |