Jofthomas's picture
Jofthomas HF staff
Upload 4781 files
5c2ed06 verified
"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var items_exports = {};
__export(items_exports, {
Items: () => Items
});
module.exports = __toCommonJS(items_exports);
const Items = {
adamantorb: {
inherit: true,
onBasePower(basePower, user, target, move) {
if (move && user.species.name === "Dialga" && (move.type === "Steel" || move.type === "Dragon")) {
return this.chainModify(1.2);
}
}
},
bigroot: {
inherit: true,
onTryHeal(damage, target, source, effect) {
const heals = ["drain", "leechseed", "ingrain", "aquaring"];
if (heals.includes(effect.id)) {
return Math.floor(damage * 1.3);
}
}
},
blacksludge: {
inherit: true,
onResidualOrder: 10,
onResidualSubOrder: 4
},
brightpowder: {
inherit: true,
onModifyAccuracyPriority: 5,
onModifyAccuracy(accuracy) {
if (typeof accuracy !== "number")
return;
this.debug("brightpowder - decreasing accuracy");
return accuracy * 0.9;
}
},
choiceband: {
inherit: true,
onStart() {
},
onModifyMove() {
},
onAfterMove(pokemon) {
pokemon.addVolatile("choicelock");
}
},
choicescarf: {
inherit: true,
onStart() {
},
onModifyMove() {
},
onAfterMove(pokemon) {
pokemon.addVolatile("choicelock");
}
},
choicespecs: {
inherit: true,
onStart() {
},
onModifyMove() {
},
onAfterMove(pokemon) {
pokemon.addVolatile("choicelock");
}
},
chopleberry: {
inherit: true,
onSourceModifyDamage(damage, source, target, move) {
if (move.causedCrashDamage)
return damage;
if (move.type === "Fighting" && target.getMoveHitData(move).typeMod > 0) {
const hitSub = target.volatiles["substitute"] && !move.flags["bypasssub"];
if (hitSub)
return;
if (target.eatItem()) {
this.debug("-50% reduction");
this.add("-enditem", target, this.effect, "[weaken]");
return this.chainModify(0.5);
}
}
}
},
custapberry: {
inherit: true,
onFractionalPriority() {
},
onBeforeTurn(pokemon) {
if (pokemon.hp <= pokemon.maxhp / 4 || pokemon.hp <= pokemon.maxhp / 2 && pokemon.ability === "gluttony") {
const action = this.queue.willMove(pokemon);
if (!action)
return;
this.queue.insertChoice({
choice: "event",
event: "Custap",
priority: action.priority + 0.1,
pokemon: action.pokemon,
move: action.move,
targetLoc: action.targetLoc
});
}
},
onCustap(pokemon) {
const action = this.queue.willMove(pokemon);
this.debug(`custap action: ${action?.moveid}`);
if (action && pokemon.eatItem()) {
this.queue.cancelAction(pokemon);
this.add("-message", "Custap Berry activated.");
this.runAction(action);
}
}
},
deepseascale: {
inherit: true,
onModifySpD(spd, pokemon) {
if (pokemon.species.name === "Clamperl") {
return this.chainModify(2);
}
}
},
deepseatooth: {
inherit: true,
onModifySpA(spa, pokemon) {
if (pokemon.species.name === "Clamperl") {
return this.chainModify(2);
}
}
},
dracoplate: {
inherit: true,
onTakeItem: true
},
dreadplate: {
inherit: true,
onTakeItem: true
},
earthplate: {
inherit: true,
onTakeItem: true
},
fastball: {
inherit: true,
isNonstandard: null
},
fistplate: {
inherit: true,
onTakeItem: true
},
flameorb: {
inherit: true,
onResidualOrder: 10,
onResidualSubOrder: 20
},
flameplate: {
inherit: true,
onTakeItem: true
},
focussash: {
inherit: true,
onDamage() {
},
onTryHit(target, source, move) {
if (target !== source && target.hp === target.maxhp) {
target.addVolatile("focussash");
}
},
condition: {
duration: 1,
onDamage(damage, target, source, effect) {
if (effect && effect.effectType === "Move" && damage >= target.hp) {
this.effectState.activated = true;
return target.hp - 1;
}
},
onAfterMoveSecondary(target) {
if (this.effectState.activated)
target.useItem();
target.removeVolatile("focussash");
}
}
},
griseousorb: {
inherit: true,
onBasePower(basePower, user, target, move) {
if (user.species.num === 487 && (move.type === "Ghost" || move.type === "Dragon")) {
return this.chainModify(1.2);
}
}
},
heavyball: {
inherit: true,
isNonstandard: null
},
icicleplate: {
inherit: true,
onTakeItem: true
},
insectplate: {
inherit: true,
onTakeItem: true
},
ironball: {
inherit: true,
onEffectiveness() {
}
},
ironplate: {
inherit: true,
onTakeItem: true
},
kingsrock: {
inherit: true,
onModifyMove(move) {
const affectedByKingsRock = [
"aerialace",
"aeroblast",
"aircutter",
"airslash",
"aquajet",
"aquatail",
"armthrust",
"assurance",
"attackorder",
"aurasphere",
"avalanche",
"barrage",
"beatup",
"bide",
"bind",
"blastburn",
"bonerush",
"bonemerang",
"bounce",
"bravebird",
"brickbreak",
"brine",
"bugbite",
"bulletpunch",
"bulletseed",
"chargebeam",
"clamp",
"closecombat",
"cometpunch",
"crabhammer",
"crosschop",
"crosspoison",
"crushgrip",
"cut",
"darkpulse",
"dig",
"discharge",
"dive",
"doublehit",
"doublekick",
"doubleslap",
"doubleedge",
"dracometeor",
"dragonbreath",
"dragonclaw",
"dragonpulse",
"dragonrage",
"dragonrush",
"drainpunch",
"drillpeck",
"earthpower",
"earthquake",
"eggbomb",
"endeavor",
"eruption",
"explosion",
"extremespeed",
"falseswipe",
"feintattack",
"firefang",
"firespin",
"flail",
"flashcannon",
"fly",
"forcepalm",
"frenzyplant",
"frustration",
"furyattack",
"furycutter",
"furyswipes",
"gigaimpact",
"grassknot",
"gunkshot",
"gust",
"gyroball",
"hammerarm",
"headsmash",
"hiddenpower",
"highjumpkick",
"hornattack",
"hydrocannon",
"hydropump",
"hyperbeam",
"iceball",
"icefang",
"iceshard",
"iciclespear",
"ironhead",
"judgment",
"jumpkick",
"karatechop",
"lastresort",
"lavaplume",
"leafblade",
"leafstorm",
"lowkick",
"machpunch",
"magicalleaf",
"magmastorm",
"magnetbomb",
"magnitude",
"megakick",
"megapunch",
"megahorn",
"meteormash",
"mirrorshot",
"mudbomb",
"mudshot",
"muddywater",
"nightshade",
"nightslash",
"ominouswind",
"outrage",
"overheat",
"payday",
"payback",
"peck",
"petaldance",
"pinmissile",
"pluck",
"poisonjab",
"poisontail",
"pound",
"powergem",
"powerwhip",
"psychoboost",
"psychocut",
"psywave",
"punishment",
"quickattack",
"rage",
"rapidspin",
"razorleaf",
"razorwind",
"return",
"revenge",
"reversal",
"roaroftime",
"rockblast",
"rockclimb",
"rockthrow",
"rockwrecker",
"rollingkick",
"rollout",
"sandtomb",
"scratch",
"seedbomb",
"seedflare",
"seismictoss",
"selfdestruct",
"shadowclaw",
"shadowforce",
"shadowpunch",
"shadowsneak",
"shockwave",
"signalbeam",
"silverwind",
"skullbash",
"skyattack",
"skyuppercut",
"slam",
"slash",
"snore",
"solarbeam",
"sonicboom",
"spacialrend",
"spikecannon",
"spitup",
"steelwing",
"stoneedge",
"strength",
"struggle",
"submission",
"suckerpunch",
"surf",
"swift",
"tackle",
"takedown",
"thrash",
"thunderfang",
"triplekick",
"trumpcard",
"twister",
"uturn",
"uproar",
"vacuumwave",
"visegrip",
"vinewhip",
"vitalthrow",
"volttackle",
"wakeupslap",
"watergun",
"waterpulse",
"waterfall",
"weatherball",
"whirlpool",
"wingattack",
"woodhammer",
"wrap",
"wringout",
"xscissor",
"zenheadbutt"
];
if (affectedByKingsRock.includes(move.id)) {
if (!move.secondaries)
move.secondaries = [];
move.secondaries.push({
chance: 10,
volatileStatus: "flinch"
});
}
}
},
laxincense: {
inherit: true,
onModifyAccuracyPriority: 5,
onModifyAccuracy(accuracy) {
if (typeof accuracy !== "number")
return;
this.debug("lax incense - decreasing accuracy");
return accuracy * 0.9;
}
},
leftovers: {
inherit: true,
onResidualOrder: 10,
onResidualSubOrder: 4
},
levelball: {
inherit: true,
isNonstandard: null
},
lifeorb: {
inherit: true,
onModifyDamage() {
},
onAfterMoveSecondarySelf() {
},
onBasePower(basePower, user, target) {
if (!target.volatiles["substitute"]) {
user.addVolatile("lifeorb");
}
return basePower;
},
onModifyDamagePhase2(damage, source, target, move) {
if (!move.flags["futuremove"])
return damage * 1.3;
},
condition: {
duration: 1,
onAfterMoveSecondarySelf(source, target, move) {
if (move && move.effectType === "Move" && source?.volatiles["lifeorb"]) {
this.damage(source.baseMaxhp / 10, source, source, this.dex.items.get("lifeorb"));
source.removeVolatile("lifeorb");
}
}
}
},
lightball: {
inherit: true,
onModifyAtk() {
},
onModifySpA() {
},
onBasePower(basePower, pokemon) {
if (pokemon.species.name === "Pikachu") {
return this.chainModify(2);
}
}
},
loveball: {
inherit: true,
isNonstandard: null
},
luckypunch: {
inherit: true,
onModifyCritRatio(critRatio, user) {
if (user.species.name === "Chansey") {
return critRatio + 2;
}
}
},
lureball: {
inherit: true,
isNonstandard: null
},
lustrousorb: {
inherit: true,
onBasePower(basePower, user, target, move) {
if (move && user.species.name === "Palkia" && (move.type === "Water" || move.type === "Dragon")) {
return this.chainModify(1.2);
}
}
},
meadowplate: {
inherit: true,
onTakeItem: true
},
mentalherb: {
inherit: true,
fling: {
basePower: 10,
effect(pokemon) {
if (pokemon.removeVolatile("attract")) {
this.add("-end", pokemon, "move: Attract", "[from] item: Mental Herb");
}
}
},
onUpdate(pokemon) {
if (pokemon.volatiles["attract"] && pokemon.useItem()) {
pokemon.removeVolatile("attract");
this.add("-end", pokemon, "move: Attract", "[from] item: Mental Herb");
}
}
},
metronome: {
inherit: true,
condition: {
onStart(pokemon) {
this.effectState.numConsecutive = 0;
this.effectState.lastMove = "";
},
onTryMovePriority: -2,
onTryMove(pokemon, target, move) {
if (!pokemon.hasItem("metronome")) {
pokemon.removeVolatile("metronome");
return;
}
if (this.effectState.lastMove === move.id && pokemon.moveLastTurnResult) {
this.effectState.numConsecutive++;
} else {
this.effectState.numConsecutive = 0;
}
this.effectState.lastMove = move.id;
},
onModifyDamagePhase2(damage, source, target, move) {
return damage * (1 + this.effectState.numConsecutive / 10);
}
}
},
micleberry: {
inherit: true,
condition: {
duration: 2,
onSourceModifyAccuracyPriority: 3,
onSourceModifyAccuracy(accuracy, target, source) {
this.add("-enditem", source, "Micle Berry");
source.removeVolatile("micleberry");
if (typeof accuracy === "number") {
return accuracy * 1.2;
}
}
}
},
mindplate: {
inherit: true,
onTakeItem: true
},
moonball: {
inherit: true,
isNonstandard: null
},
razorfang: {
inherit: true,
onModifyMove(move) {
const affectedByRazorFang = [
"aerialace",
"aeroblast",
"aircutter",
"airslash",
"aquajet",
"aquatail",
"armthrust",
"assurance",
"attackorder",
"aurasphere",
"avalanche",
"barrage",
"beatup",
"bide",
"bind",
"blastburn",
"bonerush",
"bonemerang",
"bounce",
"bravebird",
"brickbreak",
"brine",
"bugbite",
"bulletpunch",
"bulletseed",
"chargebeam",
"clamp",
"closecombat",
"cometpunch",
"crabhammer",
"crosschop",
"crosspoison",
"crushgrip",
"cut",
"darkpulse",
"dig",
"discharge",
"dive",
"doublehit",
"doublekick",
"doubleslap",
"doubleedge",
"dracometeor",
"dragonbreath",
"dragonclaw",
"dragonpulse",
"dragonrage",
"dragonrush",
"drainpunch",
"drillpeck",
"earthpower",
"earthquake",
"eggbomb",
"endeavor",
"eruption",
"explosion",
"extremespeed",
"falseswipe",
"feintattack",
"firefang",
"firespin",
"flail",
"flashcannon",
"fly",
"forcepalm",
"frenzyplant",
"frustration",
"furyattack",
"furycutter",
"furyswipes",
"gigaimpact",
"grassknot",
"gunkshot",
"gust",
"gyroball",
"hammerarm",
"headsmash",
"hiddenpower",
"highjumpkick",
"hornattack",
"hydrocannon",
"hydropump",
"hyperbeam",
"iceball",
"icefang",
"iceshard",
"iciclespear",
"ironhead",
"judgment",
"jumpkick",
"karatechop",
"lastresort",
"lavaplume",
"leafblade",
"leafstorm",
"lowkick",
"machpunch",
"magicalleaf",
"magmastorm",
"magnetbomb",
"magnitude",
"megakick",
"megapunch",
"megahorn",
"meteormash",
"mirrorshot",
"mudbomb",
"mudshot",
"muddywater",
"nightshade",
"nightslash",
"ominouswind",
"outrage",
"overheat",
"payday",
"payback",
"peck",
"petaldance",
"pinmissile",
"pluck",
"poisonjab",
"poisontail",
"pound",
"powergem",
"powerwhip",
"psychoboost",
"psychocut",
"psywave",
"punishment",
"quickattack",
"rage",
"rapidspin",
"razorleaf",
"razorwind",
"return",
"revenge",
"reversal",
"roaroftime",
"rockblast",
"rockclimb",
"rockthrow",
"rockwrecker",
"rollingkick",
"rollout",
"sandtomb",
"scratch",
"seedbomb",
"seedflare",
"seismictoss",
"selfdestruct",
"shadowclaw",
"shadowforce",
"shadowpunch",
"shadowsneak",
"shockwave",
"signalbeam",
"silverwind",
"skullbash",
"skyattack",
"skyuppercut",
"slam",
"slash",
"snore",
"solarbeam",
"sonicboom",
"spacialrend",
"spikecannon",
"spitup",
"steelwing",
"stoneedge",
"strength",
"struggle",
"submission",
"suckerpunch",
"surf",
"swift",
"tackle",
"takedown",
"thrash",
"thunderfang",
"triplekick",
"trumpcard",
"twister",
"uturn",
"uproar",
"vacuumwave",
"visegrip",
"vinewhip",
"vitalthrow",
"volttackle",
"wakeupslap",
"watergun",
"waterpulse",
"waterfall",
"weatherball",
"whirlpool",
"wingattack",
"woodhammer",
"wrap",
"wringout",
"xscissor",
"zenheadbutt"
];
if (affectedByRazorFang.includes(move.id)) {
if (!move.secondaries)
move.secondaries = [];
move.secondaries.push({
chance: 10,
volatileStatus: "flinch"
});
}
}
},
skyplate: {
inherit: true,
onTakeItem: true
},
splashplate: {
inherit: true,
onTakeItem: true
},
spookyplate: {
inherit: true,
onTakeItem: true
},
sportball: {
inherit: true,
isNonstandard: null
},
stick: {
inherit: true,
onModifyCritRatio(critRatio, user) {
if (user.species.id === "farfetchd") {
return critRatio + 2;
}
}
},
stickybarb: {
inherit: true,
onResidualOrder: 10,
onResidualSubOrder: 20
},
stoneplate: {
inherit: true,
onTakeItem: true
},
thickclub: {
inherit: true,
onModifyAtk(atk, pokemon) {
if (pokemon.species.name === "Cubone" || pokemon.species.name === "Marowak") {
return this.chainModify(2);
}
}
},
toxicorb: {
inherit: true,
onResidualOrder: 10,
onResidualSubOrder: 20
},
toxicplate: {
inherit: true,
onTakeItem: true
},
widelens: {
inherit: true,
onSourceModifyAccuracyPriority: 4,
onSourceModifyAccuracy(accuracy) {
if (typeof accuracy === "number") {
return accuracy * 1.1;
}
}
},
zapplate: {
inherit: true,
onTakeItem: true
},
zoomlens: {
inherit: true,
onSourceModifyAccuracyPriority: 4,
onSourceModifyAccuracy(accuracy, target) {
if (typeof accuracy === "number" && !this.queue.willMove(target)) {
this.debug("Zoom Lens boosting accuracy");
return accuracy * 1.2;
}
}
}
};
//# sourceMappingURL=items.js.map