Project1

标题: 在三个回合后自净化状态,其他负面状态依然起作用 [打印本页]

作者: 契约师Vi    时间: 2023-5-18 00:36
标题: 在三个回合后自净化状态,其他负面状态依然起作用
想做个自动净化。在三个回合后自动净化所有负面状态。在自净状态未起作用的情况下,其他负面状态依然起作用。
作者: 金芒芒    时间: 2023-5-18 11:07
本帖最后由 金芒芒 于 2023-5-18 11:29 编辑

状态下有个回合次数,右边状态变化技能使用变成不能使用--------就等于被动技能了,净化没起作用就是状态的概率调节一下

13.png (43.93 KB, 下载次数: 19)

13.png

12.jpg (46.87 KB, 下载次数: 17)

12.jpg

作者: 纯属小虫    时间: 2023-5-22 12:56
有一个思路:
状态中每回合都会判定一次的效果,是带有【连续伤害】的状态效果,
所以你可以参照 slip_damage_effect ,或者直接魔改 slip_damage_effect 来写一个脚本。

这里说一个魔改 slip_damage_effect 的方式
在定义里面添加:
if self.states.include?(**) # 自净化的状态的id
  if @states_turn[**] == $data_states[**].hold_turn - X  # 这里的X就是多少回合后生效
    for i in .........   # 这里的区间写可以被净化掉的状态
      self.states.remove(i)
    end
  end
end

然后给状态勾选上连续伤害即可
当然,要注意的一点,触发连续伤害的那段脚本,也需要添加上条件, 比如 unless self.states.include?(**)
否则,【自净化】这个状态将会扣血
作者: 灯笼菜刀王    时间: 2023-5-22 15:17
本帖最后由 灯笼菜刀王 于 2023-5-22 15:18 编辑

做个状态A, 持续0回合100解除, 不想显示就把定量为0,  然后把该状态右边关联状态, 想解除的设置为"-", 用来负责解除状态

再做个状态B, 3回合100解除, 用来负责计时

然后找到 def remove_states_auto 在remove_state(i) 这句下面加一句 add_state(状态A的ID) if i == 状态B的ID





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