# # ランダム攻撃装備(RGSS2) #  (C)2007 TYPE74RX-T # #-------------------------------------------------------------------------- # ★ システムワードの登録:ランダムターゲット #-------------------------------------------------------------------------- module RPG class BaseItem alias rx_rgss2bo6_rx_extract_sys_str_from_note rx_extract_sys_str_from_note def rx_extract_sys_str_from_note rx_get_sys = RX_T.get_system_word_in_note(@note, "ランダムターゲット") @@rx_copy_str += rx_get_sys @note = @note.sub(rx_get_sys, "") @note = @note.sub("\r\n", "") @rx_sys_str = @@rx_copy_str # メソッドを呼び戻す rx_rgss2bo6_rx_extract_sys_str_from_note end end end #============================================================================== # ■ Game_BattleAction #------------------------------------------------------------------------------ #  戦闘行動を扱うクラスです。このクラスは Game_Battler クラスの内部で使用され # ます。 #============================================================================== class Game_BattleAction #-------------------------------------------------------------------------- # ● 通常攻撃のターゲット作成 #-------------------------------------------------------------------------- alias rx_rgss2bo6_make_attack_targets make_attack_targets def make_attack_targets targets = [] # ★ 混乱も狂戦士化もしていない状態で # 且つ、装備用のシステムワードに「ランダムターゲット」が含まれていれば if RX_T.check_system_word_in_equip(battler.rx_sys_str, "ランダムターゲット") and not battler.confusion? and not battler.berserker? # ランダムターゲット化 targets.push(opponents_unit.random_target) if battler.dual_attack # 連続攻撃 targets += targets end return targets.compact end # メソッドを呼び戻す rx_rgss2bo6_make_attack_targets end end #============================================================================== # ■ Scene_Battle #------------------------------------------------------------------------------ #  バトル画面の処理を行うクラスです。 #============================================================================== class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # ● 対象敵キャラ選択の開始 #-------------------------------------------------------------------------- alias rx_rgss2bo6_start_target_enemy_selection start_target_enemy_selection def start_target_enemy_selection # ★ 行動が通常攻撃で、武器を持っており # 装備用システムワードに「ランダムターゲット」が含まれていれば if @active_battler.rx_weapon_attack? and RX_T.check_system_word_in_equip(@active_battler.rx_sys_str, "ランダムターゲット") # 次のアクターへ next_actor return end # メソッドを呼び戻す rx_rgss2bo6_start_target_enemy_selection end end