Project1

标题: 【ACE】如何让状态在mp归0的情况下自动解除? [打印本页]

作者: ACRI    时间: 2023-1-25 06:01
标题: 【ACE】如何让状态在mp归0的情况下自动解除?
就如标题所言,想要做出这样的效果有什么办法?
我先尝试过了用技能呼叫公共事件开启开关,然后让开关开启自动进行的公共事件来不断赋值mp变量,最后判定mp为零消除状态,但是公共事件不知道为什么没用?还是说战斗的时候不能用公共事件?
作者: alexncf125    时间: 2023-1-25 10:41
众所周知, 1号状态(濒死会在hp为0时自动附加, hp不为0时自动移除
所以反过来说,  只要找到相应的语句,  就能改成mp不为0时啥也不变, mp为0时自动移除

相应的语句:Game_BattlerBase 504行的@hp == 0 ? add_state(death_state_id) : remove_state(death_state_id)

写个alias:
class Game_BattlerBase
  alias refresh_state_by_zero_mp refresh
  def refresh
    refresh_state_by_zero_mp
    remove_state(状态id) if @mp == 0
  end
end





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1