#============================================================================== # ■スキル使用回数コスト for RGSS3 Ver1.00-β # □作成者 kure #============================================================================== #============================================================================== # ●■ RPG::UsableItem(追加定義集積) #============================================================================== class RPG::UsableItem < RPG::BaseItem #-------------------------------------------------------------------------- # ● 指定IDに対する解除無視確率 #-------------------------------------------------------------------------- def need_used_num result = Array.new cheak_note = @note while cheak_note do cheak_note.match(/<要求使用回数\s?(\d+)\s?,\s?(\d+)\s?>/) result.push([$1.to_i, $2.to_i]) if $1 && $2 cheak_note = $' end return result end end #============================================================================== # ■ Game_Battler #============================================================================== class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- # ☆ スキル使用済み回数の取得(追加定義) #-------------------------------------------------------------------------- def used_skill(id) @used_skill_num ||= [] @used_skill_num[id] ||= 0 return @used_skill_num[id] end #-------------------------------------------------------------------------- # ☆ スキル使用済み回数の追加(追加定義) #-------------------------------------------------------------------------- def add_used_skill(id, value) @used_skill_num ||= [] @used_skill_num[id] ||= 0 @used_skill_num[id] = [@used_skill_num[id] + value, 0].max end #-------------------------------------------------------------------------- # ☆ スキル使用コストの支払い可能判定(エイリアス再定義) #-------------------------------------------------------------------------- alias k_skill_used_cost_before_skill_cost_payable? skill_cost_payable? def skill_cost_payable?(skill) return false unless used_skill_cost_payable?(skill) k_skill_used_cost_before_skill_cost_payable?(skill) end #-------------------------------------------------------------------------- # ☆スキル使用回数の支払い可能判定(追加定義) #-------------------------------------------------------------------------- def used_skill_cost_payable?(skill) skill.need_used_num.each{|block_data| return false if block_data[1] > used_skill(block_data[0]) } return true end #-------------------------------------------------------------------------- # ☆ スキル使用コストの支払い処理(エイリアス再定義) #-------------------------------------------------------------------------- alias k_skill_used_cost_before_pay_skill_cost pay_skill_cost def pay_skill_cost(skill) pay_used_skill_num(skill) k_skill_used_cost_before_pay_skill_cost(skill) end #-------------------------------------------------------------------------- # ☆ スキル使用回数の支払い処理(追加定義) #-------------------------------------------------------------------------- def pay_used_skill_num(skill) add_used_skill(skill.id, 1) skill.need_used_num.each{|block_data| add_used_skill(block_data[0], -1 * block_data[1]) } end end