export const Items = {
    aguavberry: {
        inherit: true,
        onUpdate() { },
        onResidualOrder: 10,
        onResidualSubOrder: 4,
        onResidual(pokemon) {
            if (pokemon.hp <= pokemon.maxhp / 2) {
                pokemon.eatItem();
            }
        },
    },
    apicotberry: {
        inherit: true,
        onUpdate() { },
        onResidualOrder: 10,
        onResidualSubOrder: 4,
        onResidual(pokemon) {
            if (pokemon.hp <= pokemon.maxhp / 4) {
                pokemon.eatItem();
            }
        },
    },
    berryjuice: {
        inherit: true,
        onUpdate() { },
        onResidualOrder: 10,
        onResidualSubOrder: 4,
        onResidual(pokemon) {
            if (pokemon.hp <= pokemon.maxhp / 2) {
                if (this.runEvent('TryHeal', pokemon) && pokemon.useItem()) {
                    this.heal(20);
                }
            }
        },
        isNonstandard: "Unobtainable",
    },
    blackbelt: {
        inherit: true,
        onBasePower() { },
        onModifyAtkPriority: 1,
        onModifyAtk(atk, user, target, move) {
            if (move?.type === 'Fighting') {
                return this.chainModify(1.1);
            }
        },
    },
    blackglasses: {
        inherit: true,
        onBasePower() { },
        onModifySpAPriority: 1,
        onModifySpA(spa, user, target, move) {
            if (move?.type === 'Dark') {
                return this.chainModify(1.1);
            }
        },
    },
    charcoal: {
        inherit: true,
        onBasePower() { },
        onModifySpAPriority: 1,
        onModifySpA(spa, user, target, move) {
            if (move?.type === 'Fire') {
                return this.chainModify(1.1);
            }
        },
    },
    dragonfang: {
        inherit: true,
        onBasePower() { },
        onModifySpAPriority: 1,
        onModifySpA(spa, user, target, move) {
            if (move?.type === 'Dragon') {
                return this.chainModify(1.1);
            }
        },
    },
    enigmaberry: {
        name: "Enigma Berry",
        spritenum: 124,
        isBerry: true,
        num: 208,
        gen: 3,
        isNonstandard: "Unobtainable",
    },
    fastball: {
        inherit: true,
        isNonstandard: "Unobtainable",
    },
    figyberry: {
        inherit: true,
        onUpdate() { },
        onResidualOrder: 10,
        onResidualSubOrder: 4,
        onResidual(pokemon) {
            if (pokemon.hp <= pokemon.maxhp / 2) {
                pokemon.eatItem();
            }
        },
    },
    ganlonberry: {
        inherit: true,
        onUpdate() { },
        onResidualOrder: 10,
        onResidualSubOrder: 4,
        onResidual(pokemon) {
            if (pokemon.hp <= pokemon.maxhp / 4) {
                pokemon.eatItem();
            }
        },
    },
    hardstone: {
        inherit: true,
        onBasePower() { },
        onModifyAtkPriority: 1,
        onModifyAtk(atk, user, target, move) {
            if (move?.type === 'Rock') {
                return this.chainModify(1.1);
            }
        },
    },
    heavyball: {
        inherit: true,
        isNonstandard: "Unobtainable",
    },
    iapapaberry: {
        inherit: true,
        onUpdate() { },
        onResidualOrder: 10,
        onResidualSubOrder: 4,
        onResidual(pokemon) {
            if (pokemon.hp <= pokemon.maxhp / 2) {
                pokemon.eatItem();
            }
        },
    },
    kingsrock: {
        inherit: true,
        onModifyMove(move) {
            const affectedByKingsRock = [
                'aerialace', 'aeroblast', 'aircutter', 'armthrust', 'barrage', 'beatup', 'bide', 'bind', 'blastburn', 'bonerush', 'bonemerang', 'bounce', 'brickbreak', 'bulletseed', 'clamp', 'cometpunch', 'crabhammer', 'crosschop', 'cut', 'dig', 'dive', 'doublekick', 'doubleslap', 'doubleedge', 'dragonbreath', 'dragonclaw', 'dragonrage', 'drillpeck', 'earthquake', 'eggbomb', 'endeavor', 'eruption', 'explosion', 'extremespeed', 'falseswipe', 'feintattack', 'firespin', 'flail', 'fly', 'frenzyplant', 'frustration', 'furyattack', 'furycutter', 'furyswipes', 'gust', 'hiddenpower', 'highjumpkick', 'hornattack', 'hydrocannon', 'hydropump', 'hyperbeam', 'iceball', 'iciclespear', 'jumpkick', 'karatechop', 'leafblade', 'lowkick', 'machpunch', 'magicalleaf', 'magnitude', 'megakick', 'megapunch', 'megahorn', 'meteormash', 'mudshot', 'muddywater', 'nightshade', 'outrage', 'overheat', 'payday', 'peck', 'petaldance', 'pinmissile', 'poisontail', 'pound', 'psychoboost', 'psywave', 'quickattack', 'rage', 'rapidspin', 'razorleaf', 'razorwind', 'return', 'revenge', 'reversal', 'rockblast', 'rockthrow', 'rollingkick', 'rollout', 'sandtomb', 'scratch', 'seismictoss', 'selfdestruct', 'shadowpunch', 'shockwave', 'signalbeam', 'silverwind', 'skullbash', 'skyattack', 'skyuppercut', 'slam', 'slash', 'snore', 'solarbeam', 'sonicboom', 'spikecannon', 'spitup', 'steelwing', 'strength', 'struggle', 'submission', 'surf', 'swift', 'tackle', 'takedown', 'thrash', 'tickle', 'triplekick', 'twister', 'uproar', 'visegrip', 'vinewhip', 'vitalthrow', 'volttackle', 'watergun', 'waterpulse', 'waterfall', 'weatherball', 'whirlpool', 'wingattack', 'wrap',
            ];
            if (affectedByKingsRock.includes(move.id)) {
                if (!move.secondaries)
                    move.secondaries = [];
                move.secondaries.push({
                    chance: 10,
                    volatileStatus: 'flinch',
                });
            }
        },
    },
    lansatberry: {
        inherit: true,
        onUpdate() { },
        onResidualOrder: 10,
        onResidualSubOrder: 4,
        onResidual(pokemon) {
            if (pokemon.hp <= pokemon.maxhp / 4) {
                pokemon.eatItem();
            }
        },
    },
    laxincense: {
        inherit: true,
        onModifyAccuracy(accuracy) {
            if (typeof accuracy !== 'number')
                return;
            this.debug('lax incense - decreasing accuracy');
            return accuracy * 0.95;
        },
    },
    levelball: {
        inherit: true,
        isNonstandard: "Unobtainable",
    },
    liechiberry: {
        inherit: true,
        onUpdate() { },
        onResidualOrder: 10,
        onResidualSubOrder: 4,
        onResidual(pokemon) {
            if (pokemon.hp <= pokemon.maxhp / 4) {
                pokemon.eatItem();
            }
        },
    },
    lightball: {
        inherit: true,
        onModifySpA(spa, pokemon) {
            if (pokemon.species.name === 'Pikachu') {
                return this.chainModify(2);
            }
        },
        onBasePower() { },
    },
    loveball: {
        inherit: true,
        isNonstandard: "Unobtainable",
    },
    lureball: {
        inherit: true,
        isNonstandard: "Unobtainable",
    },
    magnet: {
        inherit: true,
        onBasePower() { },
        onModifySpAPriority: 1,
        onModifySpA(spa, user, target, move) {
            if (move?.type === 'Electric') {
                return this.chainModify(1.1);
            }
        },
    },
    magoberry: {
        inherit: true,
        onUpdate() { },
        onResidualOrder: 10,
        onResidualSubOrder: 4,
        onResidual(pokemon) {
            if (pokemon.hp <= pokemon.maxhp / 2) {
                pokemon.eatItem();
            }
        },
    },
    metalcoat: {
        inherit: true,
        onBasePower() { },
        onModifyAtkPriority: 1,
        onModifyAtk(atk, user, target, move) {
            if (move?.type === 'Steel') {
                return this.chainModify(1.1);
            }
        },
    },
    miracleseed: {
        inherit: true,
        onBasePower() { },
        onModifySpAPriority: 1,
        onModifySpA(spa, user, target, move) {
            if (move?.type === 'Grass') {
                return this.chainModify(1.1);
            }
        },
    },
    moonball: {
        inherit: true,
        isNonstandard: "Unobtainable",
    },
    mysticwater: {
        inherit: true,
        onBasePower() { },
        onModifySpAPriority: 1,
        onModifySpA(spa, user, target, move) {
            if (move?.type === 'Water') {
                return this.chainModify(1.1);
            }
        },
    },
    nevermeltice: {
        inherit: true,
        onBasePower() { },
        onModifySpAPriority: 1,
        onModifySpA(spa, user, target, move) {
            if (move?.type === 'Ice') {
                return this.chainModify(1.1);
            }
        },
    },
    oranberry: {
        inherit: true,
        onUpdate() { },
        onResidualOrder: 10,
        onResidualSubOrder: 4,
        onResidual(pokemon) {
            if (pokemon.hp <= pokemon.maxhp / 2) {
                pokemon.eatItem();
            }
        },
    },
    petayaberry: {
        inherit: true,
        onUpdate() { },
        onResidualOrder: 10,
        onResidualSubOrder: 4,
        onResidual(pokemon) {
            if (pokemon.hp <= pokemon.maxhp / 4) {
                pokemon.eatItem();
            }
        },
    },
    poisonbarb: {
        inherit: true,
        onBasePower() { },
        onModifyAtkPriority: 1,
        onModifyAtk(atk, user, target, move) {
            if (move?.type === 'Poison') {
                return this.chainModify(1.1);
            }
        },
    },
    quickclaw: {
        inherit: true,
        onFractionalPriority() { },
        // implemented in Pokemon#getActionSpeed()
    },
    salacberry: {
        inherit: true,
        onUpdate() { },
        onResidualOrder: 10,
        onResidualSubOrder: 4,
        onResidual(pokemon) {
            if (pokemon.hp <= pokemon.maxhp / 4) {
                pokemon.eatItem();
            }
        },
    },
    seaincense: {
        inherit: true,
        onBasePower() { },
        onModifySpAPriority: 1,
        onModifySpA(spa, user, target, move) {
            if (move?.type === 'Water') {
                return this.chainModify(1.05);
            }
        },
    },
    sharpbeak: {
        inherit: true,
        onBasePower() { },
        onModifyAtkPriority: 1,
        onModifyAtk(atk, user, target, move) {
            if (move?.type === 'Flying') {
                return this.chainModify(1.1);
            }
        },
    },
    silkscarf: {
        inherit: true,
        onBasePower() { },
        onModifyAtkPriority: 1,
        onModifyAtk(atk, user, target, move) {
            if (move?.type === 'Normal') {
                return this.chainModify(1.1);
            }
        },
    },
    silverpowder: {
        inherit: true,
        onBasePower() { },
        onModifyAtkPriority: 1,
        onModifyAtk(atk, user, target, move) {
            if (move?.type === 'Bug') {
                return this.chainModify(1.1);
            }
        },
    },
    sitrusberry: {
        inherit: true,
        onUpdate() { },
        onResidualOrder: 10,
        onResidualSubOrder: 4,
        onResidual(pokemon) {
            if (pokemon.hp <= pokemon.maxhp / 2) {
                pokemon.eatItem();
            }
        },
        onEat(pokemon) {
            this.heal(30);
        },
    },
    softsand: {
        inherit: true,
        onBasePower() { },
        onModifyAtkPriority: 1,
        onModifyAtk(atk, user, target, move) {
            if (move?.type === 'Ground') {
                return this.chainModify(1.1);
            }
        },
    },
    spelltag: {
        inherit: true,
        onBasePower() { },
        onModifyAtkPriority: 1,
        onModifyAtk(atk, user, target, move) {
            if (move?.type === 'Ghost') {
                return this.chainModify(1.1);
            }
        },
    },
    sportball: {
        inherit: true,
        isNonstandard: "Unobtainable",
    },
    starfberry: {
        inherit: true,
        onUpdate() { },
        onResidualOrder: 10,
        onResidualSubOrder: 4,
        onResidual(pokemon) {
            if (pokemon.hp <= pokemon.maxhp / 4) {
                pokemon.eatItem();
            }
        },
    },
    twistedspoon: {
        inherit: true,
        onBasePower() { },
        onModifySpAPriority: 1,
        onModifySpA(spa, user, target, move) {
            if (move?.type === 'Psychic') {
                return this.chainModify(1.1);
            }
        },
    },
    wikiberry: {
        inherit: true,
        onUpdate() { },
        onResidualOrder: 10,
        onResidualSubOrder: 4,
        onResidual(pokemon) {
            if (pokemon.hp <= pokemon.maxhp / 2) {
                pokemon.eatItem();
            }
        },
    },
};
//# sourceMappingURL=items.mjs.map