#============================================================================== # ■ RGSS3 ステート解除時行動内容変動 Ver1.01 by 星潟 #------------------------------------------------------------------------------ # 解除された際に行動を全て消去するか # 一度消去した上で全て指定したスキルを行う行動に変更するステートを実装します。 # なお、全回復コマンド等によるステート一括消去が行われた際は # この効果は発生しないので注意して下さい。 #============================================================================== # ステートのメモ欄に指定 #------------------------------------------------------------------------------ # <ステート解除時行動内容変動:attack_skill_id> # # このステートが解除される時、準備中の行動は全て通常攻撃になります。 #------------------------------------------------------------------------------ # <ステート解除時行動内容変動:guard_skill_id> # # このステートが解除される時、準備中の行動は全て防御になります。 #------------------------------------------------------------------------------ # <ステート解除時行動内容変動:7> # # このステートが解除される時、準備中の行動は全てスキルID7に変更されます。 # (使用条件を満たしておらず使用出来ない場合は使用できません) #============================================================================== module StateRemoveActionChange #ステート解除時行動内容変動の設定用キーワードを指定。 Word = "ステート解除時行動内容変動" end class Game_BattlerBase #-------------------------------------------------------------------------- # ステートの消去 #-------------------------------------------------------------------------- alias erase_state_state_remove_action_change erase_state def erase_state(state_id) erase_state_state_remove_action_change(state_id) s = $data_states[state_id] if s return if s.state_remove_action_change.empty? sid = eval(s.state_remove_action_change) if $data_skills[sid] as = [] @actions.each {|a| na = Game_Action.new(self) na.set_skill(sid) as.push(na)} clear_actions @actions = as end end end end class RPG::State < RPG::BaseItem #-------------------------------------------------------------------------- # ステート解除時行動内容変動 #-------------------------------------------------------------------------- def state_remove_action_change @state_remove_action_change ||= /<#{StateRemoveActionChange::Word}[::](\S+)>/ =~ note ? $1.to_s : "" end end