{
    num: 685,
    accuracy: true,
    basePower: 0,
    category: "Status",
    isNonstandard: "Past",
    name: "Purify",
    pp: 5,
    priority: 0,
    flags: {protect: 1, reflectable: 1, heal: 1, metronome: 1},
    onHit(target, source) {
        const statusCured = target.cureStatus();
        let statsReset = false;

        for (const stat in target.boosts) {
            if (target.boosts[stat] !== 0) {
                statsReset = true;
                target.boosts[stat] = 0;
            }
        }

        if (statsReset) {
            this.add('-clearboost', target);
        }

        if (statusCured || statsReset) {
            this.heal(Math.ceil(source.maxhp * 0.5), source);
        } else {

            this.add('-fail', source);
            this.attrLastMove('[still]');
            return this.NOT_FAIL;
        }
    },
    secondary: null,
    target: "normal",
    type: "Poison",
    zMove: {boost: {atk: 1, def: 1, spa: 1, spd: 1, spe: 1}},
    contestType: "Beautiful",
}
