class Game_Battler < Game_BattlerBase
  attr_accessor :prepare_skill 		
  #--------------------------------------------------------------------------
  # ● ターン終了処理
  #--------------------------------------------------------------------------
  def on_turn_end
    @result.clear    
    
  end
  
  def prepare_skill_item
    $data_skills[@prepare_skill[0]]
  end  
  
  def prepare_skill_time
    return (-1) * prepare_skill_item.speed * $prepare_skill_degree if prepare_skill_item
    return 10000000
  end    
  
  def check_battle_turn(value)
    (@turn_value >= value) || check_battle_turn_magic
  end 
  
  def check_battle_turn_magic
    state?($prepare_skill_state_id) && (@turn_value_magic >= prepare_skill_time)

  end  
  
  def check_battle_turn_t(value)
    (@turn_value_t >= value) || check_battle_turn_magic_t
  end   

  def check_battle_turn_magic_t
    return @turn_value_magic_t >= turn_skill_speed_value if  turn_skill_speed_value > 0
    return (state?($prepare_skill_state_id)) && @turn_value_magic_t >= prepare_skill_time
  end    
  
  def check_skill_state
    state?($prepare_skill_state_id) #&& !state?($prepare_skill_state_id + 1)
  end  
    
  
  def clear_turn_state_flag
    @turn_state_flag = 0
  end  
  
  def turn_value_magic_vel 
     agi 
  end  
   
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias tako314596initialize initialize
  def initialize
    tako314596initialize
    @prepare_skill = [0,0]
  end    
  #--------------------------------------------------------------------------
  # ● スキル／アイテムの使用
  #    行動側に対して呼び出され、使用対象以外に対する効果を適用する。
  #--------------------------------------------------------------------------
  alias tako6559659use_item use_item
  def use_item(item)
  
    tako6559659use_item(item)
    if state?($prepare_skill_state_id) 
      erase_state($prepare_skill_state_id) 
    end  
 
  end
  

  
#--------------------------------------------------------------------------
  # ● 魔法準備時の戦闘行動を作成
  #--------------------------------------------------------------------------
  def execute_prepare_skill_actions
    force_action(@prepare_skill[0]  , @prepare_skill[1] )
  end  
#--------------------------------------------------------------------------
  # ● スキル／アイテムの効果適用
  #--------------------------------------------------------------------------
  def item_apply(user, item)
    @result.clear
    @result.used = item_test(user, item)
    @result.missed = (@result.used && rand >= item_hit(user, item))
    @result.evaded = (!@result.missed && rand < item_eva(user, item))
    if @result.hit?
      unless item.damage.none?
        @result.critical = (rand < item_cri(user, item))
        make_damage_value(user, item)
        execute_damage(user)
        change_turn_count(item)
      end
      item.effects.each {|effect| item_effect_apply(user, item, effect) }
      item_user_effect(user, item)
      
    end
  end
  def change_turn_count(item)

    return unless $change_turn_count_list.include?(item.id)
    self.turn_value /= 2  
    self.turn_value_magic /= 2  
  end   
end  