=begin RGSS3 ★ 不意打ち無効装備 ★ 特定の装備をしているアクターに限り、 不意打ち時でも1ターン目からコマンド入力を行えるようになります。 ● 仕様 ●========================================================== 不意打ち時にパーティコマンドは表示されません。 ==================================================================== ● 使い方 ●======================================================== 武器・防具のメモ欄に「不意打ち無効」という文字列を含ませてください。 ==================================================================== ver1.00 Last Update : 2012/03/18 03/18 : RGSS2からの移植 ろかん   http://kaisou-ryouiki.sakura.ne.jp/ =end $rsi ||= {} $rsi["不意打ち無効装備"] = true class RPG::EquipItem < RPG::BaseItem def no_effect_surprise? self.note.include?("不意打ち無効") end end class << BattleManager #-------------------------------------------------------------------------- # ● 不意打ち判定のゲッター #-------------------------------------------------------------------------- def surprise @surprise end #-------------------------------------------------------------------------- # ● コマンド入力開始 #-------------------------------------------------------------------------- alias _input_start_with_non_surprised input_start def input_start if _input_start_with_non_surprised true elsif !$game_party.inputable? false elsif !$game_party.non_surprised_members.empty? true else false end end #-------------------------------------------------------------------------- # ● 行動順序の作成   ※再定義 #-------------------------------------------------------------------------- def make_action_orders @action_battlers = [] @action_battlers += @surprise ? $game_party.non_surprised_members : $game_party.members @action_battlers += $game_troop.members unless @preemptive @action_battlers.each {|battler| battler.make_speed } @action_battlers.sort! {|a,b| b.speed - a.speed } end end class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ● 不意打ち無効判定 #-------------------------------------------------------------------------- def non_surprise? equips.compact.any?{|equip| equip.no_effect_surprise?} end #-------------------------------------------------------------------------- # ● コマンド入力可能判定 #-------------------------------------------------------------------------- alias _inputable_with_non_surprised inputable? def inputable? _inputable_with_non_surprised && (!BattleManager.surprise || non_surprise?) end end class Game_Party < Game_Unit #-------------------------------------------------------------------------- # ● 不意打ち無効メンバーの取得 #-------------------------------------------------------------------------- def non_surprised_members members.select{|actor| actor.non_surprise?} end end