Project1

标题: 如何做到当身技的效果? [打印本页]

作者: sxjkjly8010    时间: 2019-4-22 20:57
标题: 如何做到当身技的效果?
就像是XP游戏oz大乱斗ns的那样,当一名角色处于(3,4,5等等)号状态时,当这名角色受到攻击并且命中时候(不管有没有造成伤害,如果技术原因只能造成伤害为条件也可以),这名角色会使用一个技能来达成类似格斗游戏的当身技? 并且不同的状态所使用的技能是不一样的
作者: KB.Driver    时间: 2019-4-23 22:42
有几种实现方法吧,一种是修改战斗系统,出现当身时修改行动顺序,较为麻烦。

另一种是为所有技能的处理增加额外逻辑:技能打中后,判断对方状态中是否有当身状态,有则触发强制行动。
个人觉得第二种比较好实现,在附加状态时增加额外逻辑,当身类状态只允许附加一个,后来的覆盖原来的。
状态就在RPG::State里增加方法用正则从备注里读技能id就好。

再细节一点的话,触发强制行动时目标为当时的BattleManager.actor(就是他的行动触发了当身)

思路大概就是这样,不过最近忙所以看看有没有其他dalao帮你吧~
作者: sxjkjly8010    时间: 2019-4-24 02:00
KB.Driver 发表于 2019-4-23 22:42
有几种实现方法吧,一种是修改战斗系统,出现当身时修改行动顺序,较为麻烦。

另一种是为所有技能的处理增 ...

还是谢谢大佬,其实有点没懂额外逻辑是什么
作者: RMVXA    时间: 2019-4-24 11:06
就是反击吗? 默认战斗系统好像有个自定义反击技能ID的脚本。
作者: sxjkjly8010    时间: 2019-4-24 18:55
RMVXA 发表于 2019-4-24 11:06
就是反击吗? 默认战斗系统好像有个自定义反击技能ID的脚本。

只在论坛找到一个根据敌人释放的技能改变反击技能的脚本




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