{
    num: 467,
    accuracy: 100,
    basePower: 100,
    category: "Physical",
    name: "Shadow Force",
    pp: 5,
    priority: 0,
    flags: {contact: 1, charge: 1, mirror: 1, metronome: 1, nosleeptalk: 1, noassist: 1, failinstruct: 1},
    onTryMove(attacker, defender, move) {
        if (attacker.removeVolatile(move.id)) {
            return;
        }
        this.add('-prepare', attacker, move.name);

        this.attrLastMove('[still]');
        this.addMove('-anim', attacker, move.name, defender);
    },
    pseudoWeather: 'shadowforce',
    condition: {
        duration: 3,
        durationCallback(source, effect) {
            if (source?.hasAbility('persistent')) {
                this.add('-activate', source, 'ability: Persistent', '[move] Shadow Force');
                return 5;
            }
            return 3;
        },
        onFieldStart(target, source) {
            if (source?.hasAbility('persistent')) {
                this.add('-fieldstart', 'move: Shadow Force', '[of] ' + source, '[persistent]');
            } else {
                this.add('-fieldstart', 'move: Shadow Force', '[of] ' + source);
            }
        },
        onFieldRestart(target, source) {
            this.field.removePseudoWeather('shadowforce');
        },
        onEffectiveness(typeMod, target, type, move) {
            return -typeMod;
        },
        onFieldEnd() {
            this.add('-fieldend', 'move: Shadow Force');
        },
    },
    secondary: null,
    target: "normal",
    type: "Ghost",
    contestType: "Cool",
}
