{
    num: -32067,
    accuracy: 100,
    basePower: 90,
    basePowerCallback(target, source, move) {
      if (["stoneage", "ironage", "electricage", "dragonage"].includes(move.sourceEffect)) {
        this.add("-combine");
        return 160;
      }
      return move.basePower;
    },
    category: "Special",
    name: "Ice Age",
    pp: 10,
    priority: 0,
    flags: { protect: 1, mirror: 1, nonsky: 1, metronome: 1, pledgecombo: 1 },
    onPrepareHit(target, source, move) {
      for (const action of this.queue) {
        if (action.choice !== "move")
          continue;
        const otherMove = action.move;
        const otherMoveUser = action.pokemon;
        if (!otherMove || !action.pokemon || !otherMoveUser.isActive || otherMoveUser.fainted || action.maxMove || action.zmove) {
          continue;
        }
        if (otherMoveUser.isAlly(source) && ["stoneage", "ironage", "electricage", "dragonage"].includes(otherMove.id)) {
          this.queue.prioritizeAction(action, move);
          this.add("-waiting", source, otherMoveUser);
          return null;
        }
      }
    },
    onModifyMove(move, pokemon) {
      if (pokemon.getStat("atk", false, true) > pokemon.getStat("spa", false, true))
        move.category = "Physical";
      if (move.sourceEffect === "stoneage") {
        move.type = "Rock";
        move.forceSTAB = true;
        move.sideCondition = "icespikes";
      }
      if (move.sourceEffect === "ironage") {
        move.type = "Steel";
        move.forceSTAB = true;
        move.self = { sideCondition: "mirrorshield" };
      }
      if (move.sourceEffect === "electricage") {
        move.type = "Electric";
        move.forceSTAB = true;
        move.sideCondition = "superconduct";
      }
      if (move.sourceEffect === "dragonage") {
        move.type = "Dragon";
        move.forceSTAB = true;
        move.self = { sideCondition: "dragonveil" };
      }
    },
    secondary: null,
    target: "normal",
    type: "Ice",
    contestType: "Cool"
}