export const Items: import('../../../sim/dex-items').ModdedItemDataTable = { buggem: { inherit: true, onSourceTryPrimaryHit(target, source, move) { if (target === source || move.category === 'Status') return; if (move.type === 'Grass' && source.useItem()) { source.addVolatile('gem'); } }, }, chartiberry: { inherit: true, onSourceModifyDamage(damage, source, target, move) { if (move.type === 'Fighting' && target.getMoveHitData(move).typeMod > 0) { const hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6); if (hitSub) return; if (target.eatItem()) { this.debug('-50% reduction'); this.add('-enditem', target, this.effect, '[weaken]'); return this.chainModify(0.5); } } }, }, cobaberry: { inherit: true, onSourceModifyDamage(damage, source, target, move) { if (move.type === 'Normal' && target.getMoveHitData(move).typeMod > 0) { const hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6); if (hitSub) return; if (target.eatItem()) { this.debug('-50% reduction'); this.add('-enditem', target, this.effect, '[weaken]'); return this.chainModify(0.5); } } }, }, earthplate: { inherit: true, onBasePower(basePower, user, target, move) { if (move && move.type === 'Fighting') { return this.chainModify([4915, 4096]); } }, }, fairygem: { inherit: true, onSourceTryPrimaryHit(target, source, move) { if (target === source || move.category === 'Status') return; if (move.type === 'Psychic' && source.useItem()) { source.addVolatile('gem'); } }, }, flyinggem: { inherit: true, onSourceTryPrimaryHit(target, source, move) { if (target === source || move.category === 'Status') return; if (move.type === 'Normal' && source.useItem()) { source.addVolatile('gem'); } }, }, ghostgem: { inherit: true, onSourceTryPrimaryHit(target, source, move) { if (target === source || move.category === 'Status') return; if (move.type === 'Psychic' && source.useItem()) { source.addVolatile('gem'); } }, }, griseouscore: { inherit: true, onBasePower(basePower, user, target, move) { if (user.baseSpecies.num === 487 && (move.type === 'Psychic' || move.type === 'Dragon')) { return this.chainModify([4915, 4096]); } }, }, griseousorb: { inherit: true, onBasePower(basePower, user, target, move) { if (user.baseSpecies.num === 487 && (move.type === 'Psychic' || move.type === 'Dragon')) { return this.chainModify([4915, 4096]); } }, }, groundgem: { inherit: true, onSourceTryPrimaryHit(target, source, move) { if (target === source || move.category === 'Status') return; if (move.type === 'Fighting' && source.useItem()) { source.addVolatile('gem'); } }, }, hardstone: { inherit: true, onBasePower(basePower, user, target, move) { if (move && move.type === 'Fighting') { return this.chainModify([4915, 4096]); } }, }, icegem: { inherit: true, onSourceTryPrimaryHit(target, source, move) { if (target === source || move.category === 'Status') return; if (move.type === 'Water' && source.useItem()) { source.addVolatile('gem'); } }, }, icicleplate: { inherit: true, onBasePower(basePower, user, target, move) { if (move.type === 'Water') { return this.chainModify([4915, 4096]); } }, }, insectplate: { inherit: true, onBasePower(basePower, user, target, move) { if (move.type === 'Grass') { return this.chainModify([4915, 4096]); } }, }, ironball: { inherit: true, onEffectiveness(typeMod, target, type, move) { if (!target) return; if (target.volatiles['ingrain'] || target.volatiles['smackdown'] || this.field.getPseudoWeather('gravity')) return; if (move.type === 'Fighting' && target.hasType('Normal')) return 0; }, }, kasibberry: { inherit: true, onSourceModifyDamage(damage, source, target, move) { if (move.type === 'Psychic' && target.getMoveHitData(move).typeMod > 0) { const hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6); if (hitSub) return; if (target.eatItem()) { this.debug('-50% reduction'); this.add('-enditem', target, this.effect, '[weaken]'); return this.chainModify(0.5); } } }, }, kebiaberry: { inherit: true, onSourceModifyDamage(damage, source, target, move) { if (move.type === 'Dark' && target.getMoveHitData(move).typeMod > 0) { const hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6); if (hitSub) return; if (target.eatItem()) { this.debug('-50% reduction'); this.add('-enditem', target, this.effect, '[weaken]'); return this.chainModify(0.5); } } }, }, nevermeltice: { inherit: true, onBasePower(basePower, user, target, move) { if (move.type === 'Water') { return this.chainModify([4915, 4096]); } }, }, pixieplate: { inherit: true, onBasePower(basePower, user, target, move) { if (move && move.type === 'Psychic') { return this.chainModify([4915, 4096]); } }, }, poisonbarb: { inherit: true, onBasePower(basePower, user, target, move) { if (move.type === 'Dark') { return this.chainModify([4915, 4096]); } }, }, poisongem: { inherit: true, onSourceTryPrimaryHit(target, source, move) { if (target === source || move.category === 'Status') return; if (move.type === 'Dark' && source.useItem()) { source.addVolatile('gem'); } }, }, rockgem: { inherit: true, onSourceTryPrimaryHit(target, source, move) { if (target === source || move.category === 'Status') return; if (move.type === 'Fighting' && source.useItem()) { source.addVolatile('gem'); } }, }, rockincense: { inherit: true, onBasePower(basePower, user, target, move) { if (move.type === 'Fighting') { return this.chainModify([4915, 4096]); } }, }, roseliberry: { inherit: true, onSourceModifyDamage(damage, source, target, move) { if (move.type === 'Psychic' && target.getMoveHitData(move).typeMod > 0) { const hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6); if (hitSub) return; if (target.eatItem()) { this.debug('-50% reduction'); this.add('-enditem', target, this.effect, '[weaken]'); return this.chainModify(0.5); } } }, }, sharpbeak: { inherit: true, onBasePower(basePower, user, target, move) { if (move && move.type === 'Normal') { return this.chainModify([4915, 4096]); } }, }, shucaberry: { inherit: true, onSourceModifyDamage(damage, source, target, move) { if (move.type === 'Fighting' && target.getMoveHitData(move).typeMod > 0) { const hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6); if (hitSub) return; if (target.eatItem()) { this.debug('-50% reduction'); this.add('-enditem', target, this.effect, '[weaken]'); return this.chainModify(0.5); } } }, }, silverpowder: { inherit: true, onBasePower(basePower, user, target, move) { if (move.type === 'Grass') { return this.chainModify([4915, 4096]); } }, }, skyplate: { inherit: true, onBasePower(basePower, user, target, move) { if (move.type === 'Normal') { return this.chainModify([4915, 4096]); } }, }, snowball: { inherit: true, onDamagingHit(damage, target, source, move) { if (move.type === 'Water') { target.useItem(); } }, }, softsand: { inherit: true, onBasePower(basePower, user, target, move) { if (move.type === 'Fighting') { return this.chainModify([4915, 4096]); } }, }, spelltag: { inherit: true, onBasePower(basePower, user, target, move) { if (move.type === 'Psychic') { return this.chainModify([4915, 4096]); } }, }, spookyplate: { inherit: true, onBasePower(basePower, user, target, move) { if (move.type === 'Psychic') { return this.chainModify([4915, 4096]); } }, }, stoneplate: { inherit: true, onBasePower(basePower, user, target, move) { if (move.type === 'Fighting') { return this.chainModify([4915, 4096]); } }, }, tangaberry: { inherit: true, onSourceModifyDamage(damage, source, target, move) { if (move.type === 'Grass' && target.getMoveHitData(move).typeMod > 0) { const hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6); if (hitSub) return; if (target.eatItem()) { this.debug('-50% reduction'); this.add('-enditem', target, this.effect, '[weaken]'); return this.chainModify(0.5); } } }, }, toxicplate: { inherit: true, onBasePower(basePower, user, target, move) { if (move.type === 'Dark') { return this.chainModify([4915, 4096]); } }, }, yacheberry: { inherit: true, onSourceModifyDamage(damage, source, target, move) { if (move.type === 'Water' && target.getMoveHitData(move).typeMod > 0) { const hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6); if (hitSub) return; if (target.eatItem()) { this.debug('-50% reduction'); this.add('-enditem', target, this.effect, '[weaken]'); return this.chainModify(0.5); } } }, }, vilevial: { inherit: true, onBasePower(basePower, user, target, move) { if (user.baseSpecies.num === -66 && ['Dark', 'Normal'].includes(move.type)) { return this.chainModify([4915, 4096]); } }, }, };