def remove_state(state_id, force = false)
# 无法附加本状态的情况下
if state?(state_id)
# 被强制附加的状态、并不是强制解除的情况下
if @states_turn[state_id] == -1 and not force
# 过程结束
return
end
# 现在的 HP 为 0 当作选项 [当作 HP 0 的状态]有效的场合
if @hp == 0 and $data_states[state_id].zero_hp
# 判断是否有另外的 [当作 HP 0 的状态]状态
zero_hp = false
for i in @states
if i != state_id and $data_states.zero_hp
zero_hp = true
end
end
# 如果可以解除战斗不能、将 HP 更改为 1
if zero_hp == false
@hp = 1
end
end
# 将状态 ID 从 @states 队列和 @states_turn hash 中删除
@states.delete(state_id)
@states_turn.delete(state_id)
if state_id == 1
remove_state(2)
end
end
# 检查 HP 及 SP 的最大值
@hp = [@hp, self.maxhp].min
@sp = [@sp, self.maxsp].min
end
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |