ステートの効果を行動の強制に入れ替えるスクリプト【解決済み】
Posted: 2022年12月03日(土) 13:12
先制で『きあいパンチ』のステートになるスキルを使用した後、ステート発動タイミングがターン終了時かつステートが解除されていなかった場合、ターン終了のタイミングできあいパンチを放てる・・・といった挙動を実現したいです。
このようなスクリプトはないでしょうか?
このようなスクリプトはないでしょうか?
コード: 全て選択
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# ○ ターン終了
#--------------------------------------------------------------------------
alias :_old_turn_end :turn_end
def turn_end
battler = all_battle_members.find{|battler| battler.state?(30)}
if battler
battler.remove_state(30)
battler.force_action(69, -1)
@subject = battler
return
end
_old_turn_end
end
end
コード: 全て選択
TURN_END_SKILLS = [
{state_id: 30, skill_id: 69, target: -1},
{state_id: 31, skill_id: 69, target: -1},
{state_id: 32, skill_id: 69, target: -1},
{state_id: 33, skill_id: 69, target: -1},
]
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# ○ ターン終了
#--------------------------------------------------------------------------
alias :_old_turn_end :turn_end
def turn_end
TURN_END_SKILLS.each do |tes|
battler = all_battle_members.find{|battler| battler.state?(tes[:state_id])}
if battler
battler.remove_state(tes[:state_id])
battler.force_action(tes[:skill_id], tes[:target])
@subject = battler
return
end
end
_old_turn_end
end
end