本帖最后由 kono咸鱼羊da 于 2020-3-12 21:19 编辑
最近一直在研究盔甲韧性的作用,研究的脑阔疼
之前听人说,盔甲韧性是增大减小有效护甲值所需的伤害
然后查了WIKI
只看到个公式
翻译大概为
伤害= 初始值 * ( 1 - min( 20, max( 盔甲 / 5, 盔甲- 初始值/ (2 + (韧性/ 4) ) ) / 25 )
(取自另一帖)
但是这么算来的话,伤害不是固定的么?
在面对高伤害的时候,韧性低的护甲防御能力会下降,高的降得慢
这样的解释又为什么呢?
最近一直在研究盔甲韧性的作用,研究的脑阔疼
之前听人说,盔甲韧性是增大减小有效护甲值所需的伤害
然后查了WIKI
只看到个公式
翻译大概为
伤害= 初始值 * ( 1 - min( 20, max( 盔甲 / 5, 盔甲- 初始值/ (2 + (韧性/ 4) ) ) / 25 )
(取自另一帖)
但是这么算来的话,伤害不是固定的么?
在面对高伤害的时候,韧性低的护甲防御能力会下降,高的降得慢
这样的解释又为什么呢?
本帖最后由 EmptyLava 于 2020-3-13 07:57 编辑
看了好久这玩意,终于懂了点
伤害=初始值(1-min(20,max(盔甲值结果,韧性值结果)))
当有min(a,b)中b小于等于20的时候可以简化为(1-max(盔甲值结果,韧性值结果))/25 (前面已舍,括号太多了懵了),max(a,b)取a,b中最大值
那么,按照wiki上的图,没有韧性,伤害为1,盔甲为1,max中的结果为(0.2,0.5),因此取0.5,结果为1*0.98=0.98
如果伤害为6,盔甲为2呢?
max中结果为(0.4,后者成负数了,应该舍去了),因此取前者,所以这里的韧性值结果由于伤害的增高,导致了最终值下降。因此只能去前者0.4(而这个0.4只是随着盔甲值单调的递增)
如果伤害为6,盔甲为2,韧性为32呢?
结果为max(0.4,1.4),后者就比前者高了,所以计算伤害的时候取后者
所以伤害的减免其实是分两个区间的,一个是maxA,另一个是maxB
另外我们可以用代数,设盔甲为a,韧性为b,伤害为c
那么取maxA时最终伤害为(1-0.2a*0.04)*c
取maxB时最终伤害为(1-(a-c(2+0.25b))*0.04)*c=自己化简,没纸
到现在应该懂了吧,如果还没动的懂就是最前面的式子都没看懂
对了,在结论前还要说明一下
如果只取maxA的话,即使满盔甲,最大减伤仅仅只有16%
但如果取了maxB,这个数值最大可以无限接近80%
取maxA时,盔甲每提升1点增加0.8%减伤
当取到max时,盔甲每提升1点增加4%减伤
结论:
1.当伤害低的时候,盔甲值低的时候取maxA,盔甲值高了后取maxA,但由于伤害很低,因此"伤害-(2+韧性/4)"所减少使maxB减少的量是很少的。因此当伤害低时韧性意义不大
2.当伤害高时,盔甲值低的时候仍取maxA(但是到maxB的阈值高很多),盔甲值逐渐高了之后,取maxB,如果韧性越高,这个阈值其实是越低的
3.韧性的意义:使这个从maxA跳到maxB的阈值降低,使盔甲值的减伤效率增加
楼下给了图,看得更直观一些,而我为你解释了一下盔甲值和韧性的意义和计算
看了好久这玩意,终于懂了点
伤害=初始值(1-min(20,max(盔甲值结果,韧性值结果)))
当有min(a,b)中b小于等于20的时候可以简化为(1-max(盔甲值结果,韧性值结果))/25 (前面已舍,括号太多了懵了),max(a,b)取a,b中最大值
那么,按照wiki上的图,没有韧性,伤害为1,盔甲为1,max中的结果为(0.2,0.5),因此取0.5,结果为1*0.98=0.98
如果伤害为6,盔甲为2呢?
max中结果为(0.4,后者成负数了,应该舍去了),因此取前者,所以这里的韧性值结果由于伤害的增高,导致了最终值下降。因此只能去前者0.4(而这个0.4只是随着盔甲值单调的递增)
如果伤害为6,盔甲为2,韧性为32呢?
结果为max(0.4,1.4),后者就比前者高了,所以计算伤害的时候取后者
所以伤害的减免其实是分两个区间的,一个是maxA,另一个是maxB
另外我们可以用代数,设盔甲为a,韧性为b,伤害为c
那么取maxA时最终伤害为(1-0.2a*0.04)*c
取maxB时最终伤害为(1-(a-c(2+0.25b))*0.04)*c=自己化简,没纸
到现在应该懂了吧,如果还没动的懂就是最前面的式子都没看懂
对了,在结论前还要说明一下
如果只取maxA的话,即使满盔甲,最大减伤仅仅只有16%
但如果取了maxB,这个数值最大可以无限接近80%
取maxA时,盔甲每提升1点增加0.8%减伤
当取到max时,盔甲每提升1点增加4%减伤
结论:
1.当伤害低的时候,盔甲值低的时候取maxA,盔甲值高了后取maxA,但由于伤害很低,因此"伤害-(2+韧性/4)"所减少使maxB减少的量是很少的。因此当伤害低时韧性意义不大
2.当伤害高时,盔甲值低的时候仍取maxA(但是到maxB的阈值高很多),盔甲值逐渐高了之后,取maxB,如果韧性越高,这个阈值其实是越低的
3.韧性的意义:使这个从maxA跳到maxB的阈值降低,使盔甲值的减伤效率增加
楼下给了图,看得更直观一些,而我为你解释了一下盔甲值和韧性的意义和计算
这个其实是数学问题,没什么比一张表更加直观的了
没有Matlab,只好用excel做图:
可以对比一下:
从纵轴来看:护甲韧性和护甲值一定时,伤害越高,减免的伤害越低。
从横轴来看:伤害量和护甲值一定时,护甲韧性越高,减免的伤害越高。
excel文件见附件,可以自行修改数据研究
没有Matlab,只好用excel做图:
可以对比一下:

从横轴来看:伤害量和护甲值一定时,护甲韧性越高,减免的伤害越高。
excel文件见附件,可以自行修改数据研究
EmptyLava 发表于 2020-3-12 22:21
看了好久这玩意,终于懂了点
伤害=初始值(1-min(20,max(盔甲值结果,韧性值结果)))
当有min(a,b)中b小于等于 ...
意思我大概明白了...
所以实际上伤害是按照该公式进行计算的吗?
而盔甲值减伤4%
实际上是由公式中得出的最大减伤?
然后公式是实际的最终伤害?
本帖最后由 EmptyLava 于 2020-3-13 08:11 编辑
是按照公式算的
但是计算中有两个取值
一个是maxA(一点护甲加0.8%减伤,护甲和减伤的一次函数:k=0.8%)
一个是maxB(一点护甲加4%减伤,护甲和减伤的一次函数:k=4%)
当韧性不变,伤害不变,减伤比例和护甲的图象就是一个折线(和楼上图不一样,楼上的是减伤比例和韧性)
而护甲低的时候取maxA,慢慢地才会到maxB
韧性只是加快从maxA到maxB中间的速度(就是中间图象中折线的转折部分,韧性越高越往前推移),而且伤害越高的时候效果越明显
kono咸鱼羊da 发表于 2020-3-13 08:02
意思我大概明白了...
所以实际上伤害是按照该公式进行计算的吗?
而盔甲值减伤4%
是按照公式算的
但是计算中有两个取值
一个是maxA(一点护甲加0.8%减伤,护甲和减伤的一次函数:k=0.8%)
一个是maxB(一点护甲加4%减伤,护甲和减伤的一次函数:k=4%)
当韧性不变,伤害不变,减伤比例和护甲的图象就是一个折线(和楼上图不一样,楼上的是减伤比例和韧性)
而护甲低的时候取maxA,慢慢地才会到maxB
韧性只是加快从maxA到maxB中间的速度(就是中间图象中折线的转折部分,韧性越高越往前推移),而且伤害越高的时候效果越明显
EmptyLava 发表于 2020-3-13 08:05
是按照公式算的
但是计算中有两个取值
一个是maxA(一点护甲加0.8%减伤,护甲和减伤的一次函数:k=0.8%)
所以在高伤害高盔甲值的情况下
可以简单理解为
maxA是被攻击破坏后的减伤
maxB是盔甲值所能造成的最高减伤
而盔甲韧性则是减小攻击对盔甲值减伤效果的破坏
使maxA值向maxB值推进?
kono咸鱼羊da 发表于 2020-3-13 08:33
所以在高伤害高盔甲值的情况下
可以简单理解为
maxA是被攻击破坏后的减伤
可以这样理解
谢谢大佬的解答,特别有用