本帖最后由 taroxd 于 2014-7-24 12:55 编辑
如何在每次状态A消失后自动附加状态B?
class Game_Battler # 下面常量和方法别名的起名很随意、容易重名。 # 请不要模仿这样随意的起名,而应该尽可能起独特的名字来防止重名。 STATE_A = 26 # 状态A的ID STATE_B = 27 # 状态B的ID alias original_remove_state remove_state def remove_state(state_id) add_state(STATE_B) if state_id == STATE_A && state?(STATE_A) original_remove_state(state_id) end alias scm_20140724? skill_conditions_met? def skill_conditions_met?(skill) return false unless scm_20140724?(skill) return true unless skill.id == 30 # 30 号技能 state?(STATE_B) end end
class Game_Battler
# 下面常量和方法别名的起名很随意、容易重名。
# 请不要模仿这样随意的起名,而应该尽可能起独特的名字来防止重名。
STATE_A = 26 # 状态A的ID
STATE_B = 27 # 状态B的ID
alias original_remove_state remove_state
def remove_state(state_id)
add_state(STATE_B) if state_id == STATE_A && state?(STATE_A)
original_remove_state(state_id)
end
alias scm_20140724? skill_conditions_met?
def skill_conditions_met?(skill)
return false unless scm_20140724?(skill)
return true unless skill.id == 30 # 30 号技能
state?(STATE_B)
end
end
假设B为毒素
技能添加状态A,并解除毒素
这个脚本的作用是:状态A消失时自动附加状态B,并且没有状态B时无法使用30号技能。应该符合你的要求了。
后半段未测试。
|