#============================================================================== # ■ RGSS3 ステート付与時解除履歴消去 Ver1.01 by 星潟 #------------------------------------------------------------------------------ # 通常、ステートの解除と付与が順番に行われた場合は解除のみ行われますが # このスクリプトを使用する事で付与が行われるようになります。 # デフォルトの睡眠の例 # 睡眠状態の敵に睡眠攻撃→起きるだけ。(睡眠付与無効) # 睡眠にステート付与時解除履歴消去を設定した例 # 睡眠状態の敵に睡眠攻撃→付与される。(ただし内部的に一度解除はされている) #============================================================================== # ステートのメモ欄に記述。 #------------------------------------------------------------------------------ # <ステート付与時解除履歴消去> # # ステートの解除と付与が行われた際もステート付与を行う。 #============================================================================== module RemovedStatesDeleteState #ステート付与時解除履歴消去の設定用キーワードを指定。 Word = "ステート付与時解除履歴消去" end class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- # 同一行動内で解除済みのステートを判定 #-------------------------------------------------------------------------- alias state_removed_removed_states_delete? state_removed? def state_removed?(state_id) s = $data_states[state_id] @result.removed_states.delete(state_id) if s && s.removed_states_delete_flag state_removed_removed_states_delete?(state_id) end end class RPG::State < RPG::BaseItem #-------------------------------------------------------------------------- # ステート付与時解除履歴消去 #-------------------------------------------------------------------------- def removed_states_delete_flag (@removed_states_delete_flag ||= /<#{RemovedStatesDeleteState::Word}>/ =~ note ? 1 : 0) == 1 end end