#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
#  ▼ Vampire State
#  Author: Kread-EX
#
#  For Nessy.
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=

# Put <vampire: x%> in the state's notebox.

#===========================================================================
# ■ RPG::State
#===========================================================================

class RPG::State < RPG::BaseItem
  #--------------------------------------------------------------------------
  # ● Determine if vampire
  #--------------------------------------------------------------------------
  def vampire
    @vampire ||= @note.match(/<vampire:\s*(\d+)%>/i) {$1.to_i}
    @vampire
  end
end

#===========================================================================
# ■ Game_Battler
#===========================================================================

class Game_Battler < Game_BattlerBase
  #--------------------------------------------------------------------------
  # ● Calculate damage
  #--------------------------------------------------------------------------
  alias_method(:krx_vs_gb_mdv, :make_damage_value)
  def make_damage_value(user, item)
    krx_vs_gb_mdv(user, item)
    vamp = user.states.select {|state| state.vampire != nil}
    if vamp && !vamp.empty?
      @result.hp_drain = (@result.hp_damage * vamp.first.vampire.fdiv(100)).round
    end
  end
end