# For a more updated version visit 
# [url]http://mjshi.weebly.com/vxa-consume-after-battle.html[/url]
#-------------------------------------------------------------------------------
# Consume After Battle v1.0a
#-- Automatically consume designated restorative items after battle.
#-- By mjshi
#-------------------------------------------------------------------------------
# Installation:
# Put above Main, preferably below any custom battle scripts that you have.
#
# There may be some conflicts as this script overwrites on_battle_end.
# To solve that issue, locate where "def on_battle_end" is in the script
# then add the line
# consume_ab
# somewhere under it.
#-------------------------------------------------------------------------------
# Future updates:
#- Configure amount of times an item can be used.
#-------------------------------------------------------------------------------
 
module ConsumeAB
  
  #-----------------------------------------------------------------------------
  # **CONFIGURATION**
  #-----------------------------------------------------------------------------
  # The switch number to turn Consume After Battle on/off with.
  # Set to true to not use a switch
  #
  AUTOCONSUME_ON = true
  #
  #-----------------------------------------------------------------------------
  # Format: 
  # [ID, 'HP' or 'MP', Decimal% or Constant],
  #-----------------------------------------------------------------------------
  # If you have multiple items that restore varying degrees of HP/MP:
  #
  # It is recommended that you group items by largest increments first. The
  # script will check for, and use, the FIRST thing it finds. Make sure the
  # items are ordered in the order you want to use them.
  #-----------------------------------------------------------------------------
  # Example:
  # CONSUME_ITEM = [
  # [1, 'HP', 0.15], # Restores 15% HP. Used before the 10% restore.
  # [2, 'HP', 0.10], # Restores 10% HP. Used before the 250 point restore.
  # [3, 'HP', 250], # Restores 250 HP. Used before restoring 100 HP.
  # [4, 'HP', 100], # ..and so on.
  # [5, 'MP', 0.25], # This is an example of an MP restore item.
  # ]
  #-----------------------------------------------------------------------------
  # **Don't forget the comma after each entry!**
  #
  CONSUME_ITEM = [
  [1, 'HP', 50],
  ]
  #-----------------------------------------------------------------------------
end
 
#--------------------------------------------------------------------#
# !!! Beware of crashes and errors if you edit beyond this point !!! #
#--------------------------------------------------------------------#
 
class Game_Battler
  def on_battle_end
    @result.clear
   
    # add consume_ab method
    if ConsumeAB::AUTOCONSUME_ON or $game_switches[ConsumeAB::AUTOCONSUME_ON]
      consume_ab
    end
   
    remove_battle_states
    remove_all_buffs
    clear_actions
    clear_tp unless preserve_tp?
    appear
  end
 
  def consume_ab
  $game_party.members.each do |a|
    for i in ConsumeAB::CONSUME_ITEM
      # if player does not have item, do nothing
      if $game_party.item_number($data_items[i[0]]) == 0
        nil
      
      # else, if item restores a percentage
      elsif i[2] < 1
        if a.hp <= (a.mhp * (1 - i[2])).to_i or a.mp <= (a.mmp * (1 - i[2])).to_i
          a.hp += (a.mhp * i[2]).to_i if i[1] == 'HP'
          a.mp += (a.mmp * i[2]).to_i if i[1] == 'MP'
          # remove the item from the inventory
          $game_party.lose_item($data_items[i[0]], 1)
        end
      # else, if the item restores a constant
      elsif i[2] > 1
        if a.hp <= a.mhp - i[2] or a.mp <= a.mmp - i[2]
          a.hp += i[2] if i[1] == 'HP'
          a.mp += i[2] if i[1] == 'MP'
          # remove the item from the inventory
          $game_party.lose_item($data_items[i[0]], 1)
        end
      end
      
    end
  end
  end
end