class Game_Battler
 Damage0State = 2 # id of state
 alias_method :damage0state_gmbtlr_atkeffect, :attack_effect
 alias_method :damage0state_gmbtlr_skleffect, :skill_effect
 alias_method :damage0state_gmbtlr_itmeffect, :item_effect
 def attack_effect(attacker)
  if self.states.include?(Damage0State)
   self.damage = 0
   return
  end
  damage0state_gmbtlr_atkeffect(attacker)
 end
 def skill_effect(user, skill)
  if self.states.include?(Damage0State)
   unless skill.power < 0
    self.damage = 0
    return
   end
  end
  damage0state_gmbtlr_skleffect(user, skill)
 end
 def item_effect(user, item)
  if self.states.include?(Damage0State)
   unless (item.recovery_hp_rate > 0 ||
   item.recovery_hp > 0)
    self.damage = 0
    return
   end
  end
  damage0state_gmbtlr_itmeffect(user, item)
 end
end