#============================================================================== # ★ ひかえ出撃 ver1.0 by USK #------------------------------------------------------------------------------ # ・バトルメンバーが全滅したとき控えのメンバーが出撃します #============================================================================== =begin ・RescueCommonIdに控え出撃時のメッセージ表示などに使用するコモンイベントの番号を  設定します ・コモンイベント内で条件分岐によりゲームオーバーや中断することで控え出撃をキャン  セルできます =end RescueCommonId = 6 #============================================================================== # ■ Game_Party #============================================================================== class Game_Party #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def sub_alive? all_members.any? {|member| member.alive? } end end #============================================================================== # ■ BattleManager #------------------------------------------------------------------------------ #  戦闘の進行を管理するモジュールです。 #============================================================================== module BattleManager #-------------------------------------------------------------------------- # ● 敗北の処理 #-------------------------------------------------------------------------- class << self; alias :usk_sr_process_defeat :process_defeat; end def self.process_defeat if $game_party.sub_alive? process_rescue else usk_sr_process_defeat end end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def self.process_rescue $game_temp.reserve_common_event(RescueCommonId) SceneManager.scene.process_rescue_event max = $game_party.max_battle_members i = 0 (max...$game_party.all_members.size).each do |j| if $game_party.all_members[j].alive? $game_party.swap_order(i, j) i += 1 end break if i == max end end end #============================================================================== # ■ Scene_Battle #============================================================================== class Scene_Battle #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def process_rescue_event loop do $game_troop.interpreter.update $game_troop.setup_battle_event wait_for_message update_for_wait unless $game_troop.interpreter.running? if SceneManager.scene.is_a?(Scene_Gameover) $game_message.add(sprintf(Vocab::Defeat, $game_party.name)) wait_for_message end break end end end end