Project1
标题:
请问:睡眠状态不能战斗,这个程序设定在哪个地方?
[打印本页]
作者:
kvkv97
时间:
2021-3-15 15:08
标题:
请问:睡眠状态不能战斗,这个程序设定在哪个地方?
请问:睡眠状态不能战斗,这个程序设定在哪个地方?
另外,
def add_state(state_id, force = false)
# 无法附加本状态的情况下
unless state?(state_id)
# 状态 ID 追加到 @states 序列中
@states.push(state_id)
# 选项 [当作 HP 0 的状态] 有效的情况下
if $data_states[state_id].zero_hp
# HP 更改为 0
@hp = 0
end
# 所有状态的循环
for i in 1...$data_states.size
# 状态变化 (+) 处理
if $data_states[state_id].plus_state_set.include?(i)
add_state(i)
end
# 状态变化 (-) 处理
if $data_states[state_id].minus_state_set.include?(i)
remove_state(i)
end
end
end
这么add_state能放套在方法add_state中?
作者:
灯笼菜刀王
时间:
2021-3-16 00:43
在 restriction 这里, 你按F1搜索restriction可以看到它的解释
全局搜索 restriction, 看看无法行动的状态(restriction == 4)是被怎么处理的, 应该能了解哪里限制了吧
至于add_state为什么可以套娃, 因为套娃并没有产生死循环, 因此就可以这样用
具体解释就是: unless state?(state_id) 的条件限制了"附加上这个状态的时候就不会调用", 因此,无论怎么套娃, 哪怕让你把所有状态都套上,那也是有"尽头"的, 所以就不会出现堆栈过深的错误咯
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1