#============================================================================== # ■ XP-RGSS-5 ランダムスキル [Ver.1.2.0] by Claimh #------------------------------------------------------------------------------ # スキルの属性にランダムスキルが設定されているとき、 # 指定したスキルの中からどれかを発動させる。 #============================================================================== class Scene_Battle #============================================================================== # □ カスタマイズSTART #============================================================================== # 発動元スキルと発生スキル RAN1 = [57, [7,10,13,16,19,22,25,28,31]] RAN2 = [7, [8,11,14,17,20,23,26,29,32]] # 上記配列を羅列 RAND_SKILLS = [RAN1, RAN2] #============================================================================== # □ カスタマイズEND #============================================================================== #-------------------------------------------------------------------------- # ● スキルアクション 結果作成 #-------------------------------------------------------------------------- alias make_skill_action_result_randum make_skill_action_result def make_skill_action_result @rand_skill_flag = false skill_base = $data_skills[@active_battler.current_action.skill_id] randum_skill_action make_skill_action_result_randum # 原物 if @rand_skill_flag @help_window.set_text(skill_base.name, 1) # SP 消費 @active_battler.sp += @skill.sp_cost @active_battler.sp -= skill_base.sp_cost @rand_skill_flag = false end end #-------------------------------------------------------------------------- # ● ランダムスキル作成 #-------------------------------------------------------------------------- def randum_skill_action for i in 0..RAND_SKILLS.size-1 rand_skill = RAND_SKILLS[i] # ランダムスキル if @active_battler.current_action.skill_id == rand_skill[0] @rand_skill_flag = true randum = rand_skill[1] @active_battler.current_action.skill_id = randum_skill(@active_battler, randum) return end end end #-------------------------------------------------------------------------- # ● 対象検出 #-------------------------------------------------------------------------- def randum_skill(actor, skill_set) index = 0 randum = [] for i in 0..skill_set.size-1 check = skill_set[i] # 修得済みのみ if actor.skill_learn?(check) # 対象の抽出 randum[index] = check index += 1 end end if index == 0 return nil end return randum[rand(index)] end end