{
    num: -32020,
    accuracy: 95,
    basePower: 110,
    category: "Physical",
    name: "Demolition",
    pp: 5,
    priority: 0,
    flags: { contact: 1, protect: 1, mirror: 1, metronome: 1 },
    recoil: [33, 100],
    onAfterHit(target, source) {
      if (source.hp) {
        if (this.field.getPseudoWeather("stasisroom")) {
          this.field.removePseudoWeather("stasisroom");
        }
        if (this.field.getPseudoWeather("trickroom")) {
          this.field.removePseudoWeather("trickroom");
        }
        if (this.field.getPseudoWeather("wonderroom")) {
          this.field.removePseudoWeather("wonderroom");
        }
        if (this.field.getPseudoWeather("magicroom")) {
          this.field.removePseudoWeather("magicroom");
        }
        if (this.field.getPseudoWeather("distortionroom")) {
          this.field.removePseudoWeather("distortionroom");
        }
        if (this.field.getPseudoWeather("magneticroom")) {
          this.field.removePseudoWeather("magneticroom");
        }
      }
    },
    onAfterSubDamage(damage, target, source) {
      if (source.hp) {
        if (this.field.getPseudoWeather("stasisroom")) {
          this.field.removePseudoWeather("stasisroom");
        }
        if (this.field.getPseudoWeather("trickroom")) {
          this.field.removePseudoWeather("trickroom");
        }
        if (this.field.getPseudoWeather("wonderroom")) {
          this.field.removePseudoWeather("wonderroom");
        }
        if (this.field.getPseudoWeather("magicroom")) {
          this.field.removePseudoWeather("magicroom");
        }
        if (this.field.getPseudoWeather("distortionroom")) {
          this.field.removePseudoWeather("distortionroom");
        }
        if (this.field.getPseudoWeather("magneticroom")) {
          this.field.removePseudoWeather("magneticroom");
        }
      }
    },
    secondary: null,
    target: "normal",
    type: "Ground",
    contestType: "Tough"
}