# # パーティ全滅時にバトルイベント発動 #  (C)2007 TYPE74RX-T # # ★ カスタマイズポイント:16行目 #============================================================================== # ★ 再定義ポイント #------------------------------------------------------------------------------ # class Interpreter # def command_337 #============================================================================== module RX_T DEAD_BATTLE_SWITCH_NUM = 1 # 全滅時にオンにするスイッチ番号 end #============================================================================== # ■ Game_Temp #------------------------------------------------------------------------------ #  セーブデータに含まれない、一時的なデータを扱うクラスです。このクラスのイン # スタンスは $game_temp で参照されます。 #============================================================================== class Game_Temp #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias rx_rgsss22_initialize initialize def initialize # メソッドを呼び戻す rx_rgsss22_initialize # ★ 全滅時にバトルイベントを発動させるか否かのフラグ(デフォルト:OFF) @rx_dead_battle_event = false # ★ 全滅時のバトルイベント発動モードフラグ(デフォルト:OFF) # (戦闘不能者にイベントによるアニメーション処理をさせるためのフラグ) @rx_dead_battle_mode = false end #-------------------------------------------------------------------------- # ★ 全滅時にバトルイベントを発動させるか否かのフラグ状態 #-------------------------------------------------------------------------- def rx_dead_battle_event return @rx_dead_battle_event end #-------------------------------------------------------------------------- # ★ 全滅時にバトルイベントを発動させるフラグをオン #-------------------------------------------------------------------------- def rx_dead_battle_event_on @rx_dead_battle_event = true end #-------------------------------------------------------------------------- # ★ 全滅時にバトルイベントを発動させるフラグをオフ #-------------------------------------------------------------------------- def rx_dead_battle_event_off @rx_dead_battle_event = false end #-------------------------------------------------------------------------- # ★ 全滅時のバトルイベント発動モード状態 #-------------------------------------------------------------------------- def rx_dead_battle_mode return @rx_dead_battle_event end #-------------------------------------------------------------------------- # ★ 全滅時のバトルイベント発動モードをオン #-------------------------------------------------------------------------- def rx_dead_battle_mode_on @rx_dead_battle_mode = true end #-------------------------------------------------------------------------- # ★ 全滅時のバトルイベント発動モードをオフ #-------------------------------------------------------------------------- def rx_dead_battle_mode_off @rx_dead_battle_mode = false end end #============================================================================== # ■ Game_Party #------------------------------------------------------------------------------ #  パーティを扱うクラスです。ゴールドやアイテムなどの情報が含まれます。このク # ラスのインスタンスは $game_party で参照されます。 #============================================================================== class Game_Party #-------------------------------------------------------------------------- # ● 全滅判定 #-------------------------------------------------------------------------- alias rx_rgsss22_all_dead? all_dead? def all_dead? # 生存者存在フラグを初期化 rx_break = false # HP 0 以上のアクターがパーティにいる場合 for actor in @actors unless actor.hp < 1 and $game_temp.rx_dead_battle_event # 生存者存在フラグをオンにしてループを中断 rx_break = true break end end # 生存者存在フラグが立っていなければ unless rx_break # 全滅時専用のフラグを立てる $game_switches[RX_T::DEAD_BATTLE_SWITCH_NUM] = true # 全滅後バトルイベントモードをオンに $game_temp.rx_dead_battle_mode_on # 全滅判定をfalseで返してゲームオーバー画面になるのを回避 return false end # メソッドを呼び戻す rx_rgsss22_all_dead? end end #============================================================================== # ■ Interpreter #------------------------------------------------------------------------------ #  イベントコマンドを実行するインタプリタです。このクラスは Game_System クラ # スや Game_Event クラスの内部で使用されます。 #============================================================================== class Interpreter #-------------------------------------------------------------------------- # ★ 注釈 #-------------------------------------------------------------------------- alias rx_rgsss22_command_108 command_108 def command_108 # 全滅時にバトルイベントを発動可能にする if @parameters[0].include?("全滅時バトルイベントON") # 全滅時にバトルイベントを発動させるフラグをオン $game_temp.rx_dead_battle_event_on # 継続(競合対策) return true end # 全滅時にバトルイベントを発動不可能にする if @parameters[0].include?("全滅時バトルイベントOFF") # 全滅時にバトルイベントを発動させるフラグをオフ $game_temp.rx_dead_battle_event_off # 継続(競合対策) return true end # メソッドを呼び戻す rx_rgsss22_command_108 end #-------------------------------------------------------------------------- # ● アニメーションの表示 #-------------------------------------------------------------------------- def command_337 # イテレータで処理 iterate_battler(@parameters[0], @parameters[1]) do |battler| # ★ -------------------------改造ここから------------------------- # バトラーが存在する場合または # 対象がアクターかつ全滅時のバトルイベント発動モードになっている場合 if battler.exist? or (battler.kind_of?(Game_Actor) and $game_temp.rx_dead_battle_mode) # 全滅時のバトルイベント発動モードをオフに $game_temp.rx_dead_battle_mode_off # ★ -------------------------改造ここまで------------------------- # アニメーション ID を設定 battler.animation_id = @parameters[2] end end # 継続 return true end end #============================================================================== # ■ Scene_Battle #------------------------------------------------------------------------------ #  バトル画面の処理を行うクラスです。 #============================================================================== class Scene_Battle #-------------------------------------------------------------------------- # ● メイン処理 #-------------------------------------------------------------------------- alias rx_rgsss22_main main def main # メソッドを呼び戻す rx_rgsss22_main # ★ 全滅フラグを初期化(OFFに)しておく $game_switches[RX_T::DEAD_BATTLE_SWITCH_NUM] = false end end