#==============================================================================
# ■ 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