=begin ◆概要 強制的にパーティコマンドを開かせます。 ◆機能 ・全員がコマンド入力できない時に特定のボタンを押すと、パーティコマンドだけは 開けるようになります。 ・全員が行動不可能の時に「逃げる」を選択できなくするようにできます。 ◆仕様 ・画面表示はないです。 ・デフォルト戦闘しか動作確認してません。 ◆使用上の注意 ・★……エイリアス ●……再定義 ○……新規定義 =end # 設定項目:逃げられなくなる行動制約のレベル # 「なし」が0で「行動ができない」が4。中間は順番通り。 PCAB_ESCAPABLE = 4 # 設定項目:ボタン。 PCAB_BUTTON = :Z class << BattleManager #-------------------------------------------------------------------------- # ● 逃走許可の取得 #-------------------------------------------------------------------------- alias fai_pcab_can_escape? can_escape? def can_escape? fai_pcab_can_escape? && $game_party.members.any?{|a|a.escapable?} end end class Game_BattlerBase #-------------------------------------------------------------------------- # ○ 行動可能判定 #-------------------------------------------------------------------------- def escapable? alive? && restriction < PCAB_ESCAPABLE end end #============================================================================== # ■ Scene_Battle #============================================================================== class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # ● フレーム更新(基本) #-------------------------------------------------------------------------- alias fai_pcab_update_basic update_basic def update_basic fai_pcab_update_basic if Input.trigger?(PCAB_BUTTON) && !$game_party.inputable? @pcab ? Sound.play_cancel : Sound.play_ok; @pcab ^= true end end #-------------------------------------------------------------------------- # ● パーティコマンド選択の開始 #-------------------------------------------------------------------------- def start_party_command_selection unless scene_changing? refresh_status @status_window.unselect @status_window.open if BattleManager.input_start || @pcab # ☆ @actor_command_window.close @party_command_window.setup @pcab = nil # ☆ else @party_command_window.deactivate turn_start end end end end