{
    onPrepareHit(source, target, move) {
        if (move.hasBounced || move.flags["futuremove"] || move.sourceEffect === "snatch")
            return;
        const type = move.type;
        if (type && type !== "???" && source.getTypes().join() !== type) {
            if (!source.setType(type))
                return;
            this.add("-start", source, "typechange", type, "[from] ability: Protean");
        }
    },
    onModifyMove(move, pokemon) {
        move.stab = 1.3;
    },
    flags: {},
    name: "Protean",
    rating: 4,
    num: 168
}
