{
  onSideStart(side) {
    this.add("-sidestart", side, "move: Shock Bomb");
  },
  onEntryHazard(pokemon) {
    if (!pokemon.isGrounded() || pokemon.hasItem("heavydutyboots"))
      return;
    if (pokemon.hasType("Ground")) {
      this.add("-immune", pokemon);
    } else if (pokemon.hasAbility("electricmastery")) {
      this.add("-ability", pokemon, "Electric Mastery");
    } else if (pokemon.hasAbility("bulletproof")) {
      this.add("-ability", pokemon, "Bulletproof");
    } else if (pokemon.hasAbility("voltabsorb")) {
      this.add("-ability", pokemon, "Volt Absorb");
      this.heal(pokemon.baseMaxhp / 4);
    } else if (pokemon.hasAbility("lightningrod")) {
      this.add("-ability", pokemon, "Lightning Rod");
      this.boost({ spa: 1 }, pokemon, pokemon);
    } else if (pokemon.hasAbility("motordrive")) {
      this.add("-ability", pokemon, "Motor Drive");
      this.boost({ spe: 1 }, pokemon, pokemon);
    } else {
      const typeMod = this.clampIntRange(pokemon.runEffectiveness(this.dex.getActiveMove("shockbomb")), -6, 6);
      this.damage(pokemon.maxhp * Math.pow(2, typeMod) / 3);
    }
    pokemon.side.removeSideCondition("shockbomb");
  },
  onSideResidualOrder: 26,
  onSideResidualSubOrder: 2,
  onSideEnd(side) {
    this.add("-sideend", side, "move: Shock Bomb");
  }
}