{
    num: 669,
    accuracy: 100,
    basePower: 120,
    category: "Physical",
    name: "Solar Blade",
    pp: 10,
    priority: 0,
    flags: {contact: 1, charge: 1, protect: 1, mirror: 1, metronome: 1, nosleeptalk: 1, failinstruct: 1, slicing: 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);
    },
    onBasePower(basePower, pokemon, target) {
        const weakWeathers = ['raindance', 'primordialsea', 'sandstorm', 'hail', 'snow'];
        if (weakWeathers.includes(pokemon.effectiveWeather())) {
            this.debug('weakened by weather');
            return this.chainModify(0.5);
        }
    },
    onHit(target, source, move) {
        const weather = this.field.weather;
        if (weather !== 'sunnyday' && weather !== 'desolateland') {
            this.boost({atk: -1, def: -1, spd: -1}, source);
        }
    },
    secondary: null,
    target: "normal",
    type: "Grass",
    contestType: "Cool",
}
