#============================================================================== # ■ RGSS3 戦闘不能無視付与 Ver1.00 by 星潟 #------------------------------------------------------------------------------ # 戦闘不能状態を無視して付与するステートを作成します。 # 状況的に、イベントでのステート付与を想定したものです。 #============================================================================== # ステートのメモ欄に指定 #------------------------------------------------------------------------------ # <戦闘不能無視付与> # # このステートは戦闘不能であっても無視して付与される。 # ※ただし、戦闘不能前に付与されていた場合、戦闘不能になる事で解除されます。 # 戦闘不能時に消去されないステートを実装されたい場合 # 当方配布の消去無効ステートを導入し、そちらの機能を使用して下さい。 #============================================================================== module AddStateIgnoreDeath #戦闘不能無視付与の設定用キーワードを指定。 Word = "戦闘不能無視付与" end class Game_BattlerBase #-------------------------------------------------------------------------- # 戦闘不能ステートの検査 #-------------------------------------------------------------------------- alias death_state_add_state_ignore_death? death_state? def death_state? return false if @ignore_death death_state_add_state_ignore_death? end end class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- # ステートの付加可能判定 #-------------------------------------------------------------------------- alias state_addable_add_state_ignore_death? state_addable? def state_addable?(state_id) s = $data_states[state_id] @ignore_death = s && s.add_state_ignore_death? r = state_addable_add_state_ignore_death?(state_id) @ignore_death = nil r end end class RPG::State < RPG::BaseItem #-------------------------------------------------------------------------- # 戦闘不能無視付与 #-------------------------------------------------------------------------- def add_state_ignore_death? (@add_state_ignore_death ||= /<#{AddStateIgnoreDeath::Word}>/ =~ note ? 1 : 0) == 1 end end