Project1

标题: YEP的ATB/CTB上的一个设计疏忽 [打印本页]

作者: cjlzbb    时间: 2016-2-26 21:53
标题: YEP的ATB/CTB上的一个设计疏忽
本帖最后由 cjlzbb 于 2016-2-27 13:45 编辑

我不知道这个是故意这么设计的,还是真的所有ATB/CTB作者都忘了的一点

持续状态的回合计数  是在  拥有这个状态的战斗者 行动时结算的

可能这么说不太明白,举个ATB的实例

我方角色A速度200,敌人B速度100

下毒技能冷却4回合,中毒状态持续4回合。按理是毒4次后刚好冷却完毕

1-0,A满ATB值,B半ATB值。A使用下毒,B中毒
2-0,A满ATB值,B满ATB值。A攻击
2-1,A空ATB值,B满ATB值。B攻击,B掉血,中毒剩余3回合
3-1,A满ATB值,B半ATB值。A攻击
4-1,A满ATB值,B满ATB值。A攻击
4-2,A空ATB值,B满ATB值。B攻击,B掉血,中毒剩余2回合
5-2,A满ATB值,B半ATB值。A下毒技能冷却完毕
前面的x-x是双方实际行动次数

情况就是这样,技能冷却时间是按角色行动来的这个没问题,4次行动冷却4回合。但是状态是得到状态的那方行动时才结算的。
如果说掉血技能只是伤害发挥失常,那么控制类状态则彻底失衡,不同战斗中发挥的作用完全不可控。

这个问题不只是MV里的ATB CTB脚本才存在的,之前用的VA脚本也会。
那时候被我瞎改了一通后搞定了,


当时的思路是状态本身并不造成伤害,
在状态备注里写上具体伤害公式,
每个角色行动前会用个对全场角色敌人都生效的特殊技能,
该次行动不结算 自动恢复 冷却 等等正常回合里会结算的项目,
该技能的伤害公式等于所有由该角色附加的状态的技能伤害公式之和。
然后场上所有存在的 由该角色附加的状态计时 -1

我是用变量记录下来 角色X身上的状态X是哪个角色附加的。。作为个脚本盲我已经尽力了。。。
这样子还误打误撞做出了按人物攻击力和目标防御力来计算的持续伤害,比默认的百分比掉血好用多了
另外MV有可以写伤害公式的持续状态的插件,也就是说其实是可以直接确定状态附加者是哪个角色的吧,那么应该很好改的


有没有大神可以帮忙改下MV里的ATB和CTB。
VA的脚本好歹瞎改改好了。MV的插件看都看不懂


终于能碰RM了,速度发个测试图
把毒属性设为每回合掉25%生命上限的血量
毒技能冷却4回合,
角色速度100,
敌人速度50,
这个是毒技能冷却好后的截图,可以看到剩下50%血量
PS:测试用的脚本是重新从http://yanfly.moe下的新版,不是楼下那个


作者: cjlzbb    时间: 2016-2-26 22:04
本帖最后由 cjlzbb 于 2016-2-26 22:07 编辑
这个是找到的在状态备注栏里写公式的插件,应该有参考价值吧


YEP_X_BattleSysATB汉化版


YEP_X_BattleSysCTB汉化版

作者: trentswd    时间: 2016-2-27 18:28
我记得YEP最开始有两种,一种是按时间计算的,一种是按回合计算的
后来他觉得太复杂了,就把按时间的砍了
作者: cjlzbb    时间: 2016-2-27 20:12
本帖最后由 cjlzbb 于 2016-2-27 20:15 编辑
trentswd 发表于 2016-2-27 18:28
我记得YEP最开始有两种,一种是按时间计算的,一种是按回合计算的
后来他觉得太复杂了,就把按时间的砍了 ...


今天到官网下了最新版的脚本,才知道原来还有个很类似的BUG。。。

原来的版本里如果对敌人附加无法行动的状态,那么ATB槽会暂停

然后就因为主楼里描述的机制,因为一直ATB槽暂停了,所以该怪物身上的状态持续时间一直没变。。就成了永久控制了。


新版的里面可以改成你说的按帧数算的,但是蛋疼的是他只改了状态触发没改技能冷却,结果还是一样 o(╯□╰)o囧




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