Project1

标题: 关于技能与状态的联动---先洒水后冰冻 [打印本页]

作者: star4568520    时间: 2020-3-15 21:55
标题: 关于技能与状态的联动---先洒水后冰冻
想要实现的需求,我自己通过数据库技能,状态,公共事件研究了几番,达不到想要的效果。所以前来请教。
如果能靠基本功能实现,请不吝赐教。
——————————————————————
需求:
释放技能【水】,使得目标怪物进入【湿润】状态(√)
释放技能【冰】,消耗目标怪物的【湿润】状态,转化为【冰冻】状态(√)

在面对多个敌人时,对任意一个敌人实现以上效果(x,bug:无论如何赋予湿润,只会给第一位怪物冰冻。公共事件写的是if判断8次,每一位敌人是否湿润,替换成冰冻)
在面对多个敌人时,进行全体攻击而让所有【湿润】敌人变为【冰冻】(x,bug同上)

作者: 御曹司    时间: 2020-3-15 23:30
技能公式里加一个条件判定就可以了。
作者: 347780682    时间: 2020-3-16 00:51
行吧  由于没看到你是怎么写的我也不好说你的事件要怎么改,不过嘛我倒是有一个方法,那就是根据敌人的位置来判断,你可以先判断敌人数量的长度,然后根据长度做一次循环判断那些敌人身上有没有湿润状态,有就移除湿润给他加上冰,没有就上湿润
作者: candlesor    时间: 2020-3-16 02:44
本帖最后由 candlesor 于 2020-3-16 03:06 编辑

用伤害公式试试呢?
(b.isStateAffected(XXX) ? b.addState(YYY) : 0); NNNNN

若目标拥有XXX状态,则施加YYY状态
NNNNN = 原伤害公式(无论前面的状态判断结果如何,都会对目标造成NNNNN伤害)

那么移除状态也可以举一反三,没记错的话应该是removeState
因此把X状态替换为Y应该是这样
(b.isStateAffected(XXX) ? b.addState(YYY) : 0); b.removeState(XXX); NNNNN

作者: star4568520    时间: 2020-3-16 12:05
candlesor 发表于 2020-3-16 02:44
用伤害公式试试呢?
(b.isStateAffected(XXX) ? b.addState(YYY) : 0); NNNNN

谢谢!关于伤害公式,哪里有更全的教程吗?
作者: candlesor    时间: 2020-3-16 13:02
star4568520 发表于 2020-3-16 12:05
谢谢!关于伤害公式,哪里有更全的教程吗?

没见过系统性的教程,然而官方论坛有个讨论贴,里面汇聚了不少公式用法
https://forums.rpgmakerweb.com/i ... eas-and-help.47099/
就是比较散,很多好用的公式都在回复里,要耐心找
作者: 擦不完的水    时间: 2020-3-23 18:06
YEP插件状态核心里面利用自定义APPLY效果估计就行了
还要利用.isStateAffected()
要不你先试试?不会再问




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