class Game_Battler
# 设置有使用次数限制的道具ID
LIMITED_ITEMS = [1, 3, 4, 5, 6, 7]
# 使用次数限制
ITEM_LIMITATION = 42
#--------------------------------------------------------------------------
# ● 初始化对象
#--------------------------------------------------------------------------
alias item_limitation001_initialize initialize
def initialize
LIMITED_ITEMS.each do {|item_id| @item_limitation[item_id] = 0}
item_limitation001_initialize
end
#--------------------------------------------------------------------------
# ● 判断物品是否超过使用上限
#--------------------------------------------------------------------------
def over_item_limitation?(item)
return false if !@item_limitaion[item.id] || @item_limitaion[item.id] < ITEM_LIMITATION
return true
end
#--------------------------------------------------------------------------
# ● 检查物品的使用条件
#--------------------------------------------------------------------------
alias item_limitation001_item_conditions_met? item_conditions_met?
def item_conditions_met?(item)
item_limitation001_item_conditions_met(item) && !over_item_limitation?(item)
end
#--------------------------------------------------------------------------
# ● 技能/使用物品
# 对使用目标使用完毕后,应用对于使用目标以外的效果。
#--------------------------------------------------------------------------
alias item_limitation001_use_item use_item
def use_item(item)
item_limitation001_use_item(item)
if item.is_a?(RPG::Item) && !@item_limitaion[item.id]
@item_limitaion[item.id] += 1
end
end
end