
{
  name: 'addicted',
  effectType: 'VolatileStatus',
  onStart(target) {
    this.effectState.stage = 0;
    this.add('-start', target, 'addicted');
  },
  onEnd(target) {
    this.add('-end', target, 'addicted');
  },

  onResidualOrder: 9,
  onResidual(pokemon) {
    if (!pokemon || pokemon.fainted) return;

    this.effectState.stage++;
    const N = this.effectState.stage;
    const damageAmount = Math.max(1, Math.floor(pokemon.maxhp * N / 8));
    this.damage(damageAmount, pokemon);
  },

  
  onSourceModifyDamage(damage, source, target, move) {
    return this.chainModify(0.6);
  }
}