{
  num: -13012,
  accuracy: true,
  basePower: 0,
  category: "Status",
  name: "Kamishini Sliver",
  pp: 1,
  priority: 0,
  flags: {},
  activateSliver(target, source, effect, fraction) {
    if (!target || target.fainted) return;
    const damage = Math.max(1, Math.floor((target.maxhp || target.baseMaxhp || 1) * fraction));
    this.add("-activate", target, "move: Kamishini Sliver");
    this.damage(damage, target, source, effect);
    if (!target.status) target.setStatus("tox", source, effect, true);
    target.ginKamishiniSliver = false;
    target.ginKamishiniSliverSource = null;
    if (target.volatiles?.kamishinisliver) target.removeVolatile("kamishinisliver");
  },
  condition: {
    duration: 2,
    onStart(pokemon) {
      this.add("-start", pokemon, "Kamishini Sliver");
      pokemon.ginKamishiniSliver = true;
      pokemon.ginKamishiniSliverSource = this.effectState.source || null;
    },
    onResidualOrder: 17,
    onResidual(pokemon) {
      if (!pokemon || pokemon.fainted) return;
      pokemon.ginKamishiniSliver = true;
    },
    onEnd(pokemon) {
      if (!pokemon || !pokemon.ginKamishiniSliver || pokemon.fainted) return;
      const source = this.effectState.source || pokemon.ginKamishiniSliverSource || pokemon;
      const effect = this.dex.moves.get("kamishinisliver");
      const damage = Math.max(1, Math.floor((pokemon.maxhp || pokemon.baseMaxhp || 1) / 3));
      this.add("-activate", pokemon, "move: Kamishini Sliver");
      this.damage(damage, pokemon, source, effect);
      if (!pokemon.status) pokemon.setStatus("tox", source, effect, true);
      pokemon.ginKamishiniSliver = false;
      pokemon.ginKamishiniSliverSource = null;
    }
  },
  secondary: null,
  target: "normal",
  type: "Poison",
  contestType: "Cool",
  desc: "Hidden condition. A sliver of Kamishini no Yari remains inside the target and later bursts into internal poison."
}
