class Game_Battler
 Opposite_Recovery_States = []
 alias_method :seph_opprecstates_gmbtlr_ae, :attack_effect
 def attack_effect(attacker)
  effective = seph_opprecstates_gmbtlr_ae(attacker)
  reverse_recovery_effect
  return effective
 end
 alias_method :seph_opprecstates_gmbtlr_se, :skill_effect
 def skill_effect(user, skill)
  effective = seph_opprecstates_gmbtlr_se(user, skill)
  reverse_recovery_effect
  return effective
 end
 alias_method :seph_opprecstates_gmbtlr_ie, :item_effect
 def item_effect(item)
  effective = seph_opprecstates_gmbtlr_ie(item)
  reverse_recovery_effect
  return effective
 end
 def reverse_recovery_effect
  if self.damage.is_a?(Numeric) && self.damage < 0
   reverse_recovery = false
   for state_id in self.states
    if Opposite_Recovery_States.include?(state_id)
     reverse_recovery = true
     break
    end
   end
   if reverse_recovery
    self.damage *= -1
    2.times {self.hp -= self.damage}
   end
  end
 end
end