有人反馈剑魂钝器拔刀会让越溪镇的小飞龙无限旋转飞天
这里说一下修复思路和方法
原版的台服pvf是没有钝器拔刀溜溜球的特效的,所以肯定是单独的nut写的
在鬼剑士的sqr/character/swordman_load_state.nut中可以看到确实写了单独的nut

那么我们需要先分析一下这个nut的流程和原理
进入badao.nut中看到onBeforeAttack_MomentarySlash这个函数
里面定义了内容,为了方便大家理解,我稍微写了几句注释:

也就是说,当玩家释放拔刀斩技能后,会判断使用的是什么类型的武器,如果是钝器,则会判断怪物是不是可以控制,如果可以控制,则会给被攻击到的对象附加两个ap(ap_badao和ap_badao2)第一个用于控制怪物旋转,第二个用于绘制溜溜球ani。
继续进入ap的nut分析:
在ap_badao.nut的proc函数中,可以发现问题所在
他首先会让怪物击上升一段距离,然后判断怪物的当前高度,如果z轴大于0,则会进入旋转状态并且绘制ani
这里就可以解释为什么越溪镇的小飞龙会无限旋转了,因为小飞龙的z轴一直>0,他会无限进入这个分支的代码

知道了问题,就非常好解决了
原本的判断是根据当前怪物z轴是否大于0来判断旋转的,那我们只需要将这个判断的值改为相对距离
也就是说,我们用怪物被击中后的初始z轴和当前z轴相减,如果这个相对距离小于0说明还在天上,如果大于等于0,说明已经落地了。
以上是解决思路,具体修改方法如下:

只需要如上图所示修改两处,就能解决这个问题。
不用跑五国上号测试,问题解决