{
    name: "Attachment",
    noCopy: true,
    onStart(pokemon) {
      if (pokemon.baseSpecies.baseSpecies !== "Galvantula" || pokemon.transformed)
        return;
      if (pokemon.species.id === "galvantulaender") {
        pokemon.formeChange("Galvantula-Parent");
      }
      this.boost({ atk: 2, spa: 2, spe: 2, def: 2, spd: 2 }, pokemon);
    },
    onPrepareHit(source, target, move) {
      if (move.category === "Status" || move.multihit || move.flags["noparentalbond"] || move.flags["charge"] || move.flags["futuremove"] || move.spreadHit || move.isZ || move.isMax)
        return;
      move.multihit = 2;
      move.multihitType = "parentalbond";
    },
    onFoeRedirectTarget(target, source, source2, move) {
      const redirectTarget = ["randomNormal", "adjacentFoe"].includes(move.target) ? "normal" : move.target;
      if (this.validTarget(this.effectState.target, source, redirectTarget)) {
        if (move.smartTarget)
          move.smartTarget = false;
        return this.effectState.target;
      }
    },
    onModifyMove(move) {
      move.selfSwitch = false;
    },
    onDragOutPriority: 2,
    onDragOut() {
      return false;
    },
    onTrapPokemonPriority: -11,
    onTrapPokemon(pokemon) {
      pokemon.trapped = true;
    }
}