{
  num: -13008,
  accuracy: true,
  basePower: 0,
  category: "Status",
  name: "Ice Bind",
  pp: 1,
  priority: 0,
  flags: {},
  condition: {
    duration: 2,
    durationCallback(target, source, effect) {
      if (this.field.isWeather(["snow"])) return 4;
      return 2;
    },
    onStart(pokemon) {
      this.add("-start", pokemon, "Ice Bind");
      pokemon.tryTrap?.();
    },
    onTrapPokemon(pokemon) {
      pokemon.tryTrap?.();
    },
    onResidualOrder: 11,
    onResidual(pokemon) {
      const source = this.effectState.source || pokemon;
      if (!pokemon || pokemon.fainted) return;
      pokemon.tryTrap?.();
      this.boost({spe: -1}, pokemon, source, null, true);
    },
    onTryMove(pokemon, target, move) {
      if (!pokemon || !move) return;
      if (move.type === "Fire") pokemon.removeVolatile("icebind");
    },
    onTryHit(target, source, move) {
      if (!target || !move) return;
      if (move.type === "Fire") target.removeVolatile("icebind");
    },
    onEnd(pokemon) {
      this.add("-end", pokemon, "Ice Bind");
    }
  },
  secondary: null,
  target: "normal",
  type: "Ice",
  contestType: "Beautiful",
  desc: "Hidden condition. The target cannot switch and loses Speed each turn. Fire moves remove it, and snow extends its duration."
}
