Jofthomas's picture
Jofthomas HF staff
Upload 4781 files
5c2ed06 verified
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]);
}
},
},
};