#============================================================================== # ○アイテム消費スキル Ver1.02 # for RGSS2 # 西瓜 / Space not far # http://muspell.raindrop.jp/ # スキルのコストとしてアイテムを設定することが出来ます。 #============================================================================== # ■更新履歴 # Ver1.02 # ・メモ欄に他のスクリプトの設定項目があった場合動作しなくなる不具合を修正。 # Ver1.01 # ・なにもスキルを習得してない状態で # スキルウィンドウを開いて決定キーを押すとフリーズするバグを修正。 #============================================================================== # アイテムをコストとしたいスキルのメモ欄に # <アイテム消費:アイテムID,消費数>という形式で書き込んでください。 =begin ●設定例 <アイテム消費:1,2> → ポーションを二つ消費 =end module SNF SKILL_ITEMCOST_WORD = "アイテム消費" def self.skill_itemcost(skill, type) result = [] unless skill == nil memo = skill.note.scan(/<#{SNF::SKILL_ITEMCOST_WORD}:(\d+),(\d+)>/) # メモ取得 memo = memo.flatten if memo != nil and not memo.empty? if type == 0 result = memo[0].to_i elsif type == 1 result = memo[1].to_i end end end return nil if result == [] return result end end class Game_Actor < Game_Battler alias snf_itemcost_skill_can_use? skill_can_use? def skill_can_use?(skill) item_id = SNF.skill_itemcost(skill, 0) item_cost = SNF.skill_itemcost(skill, 1) if item_id != nil and item_cost != nil item = $data_items[item_id] number = $game_party.item_number(item) return false if number < item_cost # 所持量がコスト未満なら使えない end snf_itemcost_skill_can_use?(skill) end end class Scene_Skill < Scene_Base alias snf_itemcost_use_skill_nontarget use_skill_nontarget def use_skill_nontarget # アイテムの消費 item_id = SNF.skill_itemcost(@skill, 0) item_cost = SNF.skill_itemcost(@skill, 1) if item_id != nil and item_cost != nil $game_party.gain_item($data_items[item_id], item_cost *= -1) end snf_itemcost_use_skill_nontarget end end class Scene_Battle < Scene_Base alias snf_itemcost_execute_action_skill execute_action_skill def execute_action_skill # アイテムの消費 skill = @active_battler.action.skill item_id = SNF.skill_itemcost(skill, 0) item_cost = SNF.skill_itemcost(skill, 1) if item_id != nil and item_cost != nil $game_party.gain_item($data_items[item_id], item_cost *= -1) end snf_itemcost_execute_action_skill end end