曾看到过关于片手、大剑、盾斧等能够防御的武器的争论,于是自己去测试了一下:
首先这是贴吧的一个老哥的理论基础(https://tieba.baidu.com/p/5868170772?red_tag=0525545331)
其他的都没啥问题,只是盾斧的红盾以及GP的计算有问题,当然也可能是时间过了太久版本变化导致算法不同了,等到了冰原可能又不同了,所以我所说的是截至今天2019年11月22日的版本。
首先我在三大妈也看到了关于盾斧防御的机制(https://www.3dmgame.com/gl/3757662.html),这位老哥说的刚好弥补了之前的基础理论,但也有点问题,小爆弹桶的威力是40而不是45,这是我自己测出来的。
先总结一下前人的经验,首先基于共识霓虹老哥的这张图是没有问题的
我自己测试的时候也没看出哪有问题,如果错了欢迎指正。
这张图的意思很清楚,就不详细解释了,根据我拆包得到的防御性能数据【注意是16进制】

第六列50是防御性能的编号,第八列01、02...是技能等级,第九列是提升的防御性能数值((0A)H=(10)D,(14)H=(20)D,(1E)H=(30)D),意思是1、2级加10点,3、4级加20点,5级加30点,第零列是减少耐力消耗,这说明霓虹老哥的那张表最下面那些数据是对的。
然后这张表的区间是【左闭右开区间】,比如说盾1防性0的小硬直是0~14,中硬直是15~30等等,这我也验证了。
之后我用这张表验证了【盾斧的红盾与GP都是加10点防御性能数值,红盾并没有把盾斧从二级盾提升到三级盾】。
【以下内容有点硬核】
最后补充一下霓虹老哥的那章图,超过100的部分如何计算呢?(如果不魔改的原版是不可能超的):
由于我并没有计算硬直的源码,所以以下是基于黑盒测试再加一点猜想(并没有图,懒得截图)
硬直的计算是有上限的,我发现的缘由是将防御性能数值加了100之后,用三级盾(长枪)去挡小爆弹桶,结果出了个大硬直,导致我当场懵逼,仔细一想应该是溢出了,长枪的小硬直上限是40,所以这个最大的硬直不会超过140,经过我实验这个阈值应该是128,然后得出了硬直的计算公式:
【
小硬直:[0,(盾等级的小硬直上限+额外加的防御性能数值)%(128+1) )=[0,m){左闭右开,为啥+1等会说}
中硬直:[m,m+盾本身的中硬直区间长度)=[m,n) {左闭右开}
大硬直:[n,128){至于128究竟属于哪一档没实验,没啥意义,炎喵的核爆威力是100,应该不会有到128的}
】
举个例子:片手0防性应该是[0,15) [15,30) [30,128),加防性5相当于加了30防性数值,变成[0,45) [45,60) [60,128){提升小硬直的上限30,保持中硬直的区间长度15,大硬直区间往后挪,具体算法我就不知道了,等一个刨源码的大哥}
那么问题来了,如果小硬直的上限直接到了128、129呢(原版不会出现这样的问题)
我测试了二级盾防性数值加113(128-15=113)时候的情况,结果无论什么可防御的攻击都以小硬直接下来了,
接着测试了二级盾防性数值加114(129-15=114)时候的情况,结果连40威力的爆弹桶都是大硬直。
所以现在解释一下小硬直的区间计算公式:盾本身的小硬直上限加上提升的防御性能数值之和为m,m再与129求模。
所以m为128时模为128,小硬直区间是[0,128),中硬直区间为128,大硬直区间无。
m为129时模为0, 小硬直区间是[0,0){当然这个表示有问题},中硬直区间是比如一级盾是[0,15),大硬直区间是[15,128)。
以上都是我实际实验的结果,不排除头昏眼花搞错的情况,如果有错误欢迎指出,但我应该不会回【手动狗头】
from 某MHW佛系玩家
首先这是贴吧的一个老哥的理论基础(https://tieba.baidu.com/p/5868170772?red_tag=0525545331)
其他的都没啥问题,只是盾斧的红盾以及GP的计算有问题,当然也可能是时间过了太久版本变化导致算法不同了,等到了冰原可能又不同了,所以我所说的是截至今天2019年11月22日的版本。
首先我在三大妈也看到了关于盾斧防御的机制(https://www.3dmgame.com/gl/3757662.html),这位老哥说的刚好弥补了之前的基础理论,但也有点问题,小爆弹桶的威力是40而不是45,这是我自己测出来的。
先总结一下前人的经验,首先基于共识霓虹老哥的这张图是没有问题的

我自己测试的时候也没看出哪有问题,如果错了欢迎指正。
这张图的意思很清楚,就不详细解释了,根据我拆包得到的防御性能数据【注意是16进制】

第六列50是防御性能的编号,第八列01、02...是技能等级,第九列是提升的防御性能数值((0A)H=(10)D,(14)H=(20)D,(1E)H=(30)D),意思是1、2级加10点,3、4级加20点,5级加30点,第零列是减少耐力消耗,这说明霓虹老哥的那张表最下面那些数据是对的。
然后这张表的区间是【左闭右开区间】,比如说盾1防性0的小硬直是0~14,中硬直是15~30等等,这我也验证了。
之后我用这张表验证了【盾斧的红盾与GP都是加10点防御性能数值,红盾并没有把盾斧从二级盾提升到三级盾】。
【以下内容有点硬核】
最后补充一下霓虹老哥的那章图,超过100的部分如何计算呢?(如果不魔改的原版是不可能超的):
由于我并没有计算硬直的源码,所以以下是基于黑盒测试再加一点猜想(并没有图,懒得截图)
硬直的计算是有上限的,我发现的缘由是将防御性能数值加了100之后,用三级盾(长枪)去挡小爆弹桶,结果出了个大硬直,导致我当场懵逼,仔细一想应该是溢出了,长枪的小硬直上限是40,所以这个最大的硬直不会超过140,经过我实验这个阈值应该是128,然后得出了硬直的计算公式:
【
小硬直:[0,(盾等级的小硬直上限+额外加的防御性能数值)%(128+1) )=[0,m){左闭右开,为啥+1等会说}
中硬直:[m,m+盾本身的中硬直区间长度)=[m,n) {左闭右开}
大硬直:[n,128){至于128究竟属于哪一档没实验,没啥意义,炎喵的核爆威力是100,应该不会有到128的}
】
举个例子:片手0防性应该是[0,15) [15,30) [30,128),加防性5相当于加了30防性数值,变成[0,45) [45,60) [60,128){提升小硬直的上限30,保持中硬直的区间长度15,大硬直区间往后挪,具体算法我就不知道了,等一个刨源码的大哥}
那么问题来了,如果小硬直的上限直接到了128、129呢(原版不会出现这样的问题)
我测试了二级盾防性数值加113(128-15=113)时候的情况,结果无论什么可防御的攻击都以小硬直接下来了,
接着测试了二级盾防性数值加114(129-15=114)时候的情况,结果连40威力的爆弹桶都是大硬直。
所以现在解释一下小硬直的区间计算公式:盾本身的小硬直上限加上提升的防御性能数值之和为m,m再与129求模。
所以m为128时模为128,小硬直区间是[0,128),中硬直区间为128,大硬直区间无。
m为129时模为0, 小硬直区间是[0,0){当然这个表示有问题},中硬直区间是比如一级盾是[0,15),大硬直区间是[15,128)。
以上都是我实际实验的结果,不排除头昏眼花搞错的情况,如果有错误欢迎指出,但我应该不会回【手动狗头】
from 某MHW佛系玩家










