{
  num: -2015,
  accuracy: 90,
  basePower: 40,
  category: "Physical",
  name: "Thicket Outgrowth",
  pp: 10,
  priority: 0,
  flags: { contact: 1, protect: 1, mirror: 1 },
  onAfterHit(target, source, move) {
    let removed = false;
    const side = source.side;
    if (side.removeSideCondition("spikes")) removed = true;
    if (side.removeSideCondition("toxicspikes")) removed = true;
    if (side.removeSideCondition("stealthrock")) removed = true;
    if (side.removeSideCondition("stickyweb")) removed = true;
    if (removed) {
      if (!target.hasType("Grass") && !target.volatiles["substitute"] && !target.volatiles["leechseed"]) {
        target.addVolatile("leechseed", source);
      }
    }
  },
  onAfterSubDamage(damage, target, source, move) {
    let removed = false;
    const side = source.side;
    if (side.removeSideCondition("spikes")) removed = true;
    if (side.removeSideCondition("toxicspikes")) removed = true;
    if (side.removeSideCondition("stealthrock")) removed = true;
    if (side.removeSideCondition("stickyweb")) removed = true;
  },
  secondary: null,
  target: "normal",
  type: "Grass"
}
