300版本附魔素材消耗精准算法(铁砧+理解素材+锻冶熟练度)
修改于2 小时前48 浏览攻略
此帖子是我之前研究附魔素材帖子的后续。
附魔素材消耗精准计算算法(理解素材+锻冶熟练度) - 托拉姆物语攻略 - TapTap 托拉姆物语论坛
之前研究过带锻冶熟练度的素材消耗,发现计算并不是简单的相乘,而是一个分步计算,多次取整的过程,具体可以看之前的帖子:现在附魔又出了理解素材,使得附魔素材精确计算变得越发复杂,研究了很久,发现理解素材的...

https://www.taptap.cn/moment/500262163970002623

前阵子300版本更新,锻冶大师的铁砧一行的作用发生了改变,第一个自身的铁砧点满即可将锻冶熟练度上限拉满,后面的四个铁砧的作用均为减少附魔素材消耗。
大家一般都会认为,这四个铁砧的作用好像是直接减最终素材消耗(布偶上也是这么写的),而事实并非如此。若按照此方法进行计算,对于一些大型附魔,最终素材消耗的偏差可能高达上千。而目前的素材模拟尚且大都有此问题,大家需要留意。
因此,我最近花了大量精力研究了这个问题,并且得到了其精确算法如下:
【前置说明】
请先看这一部分,这里会讲一些重要的文字概念。第一条为本帖子核心内容,其他为之前帖子提到的内容。
- 铁砧技能减少的素材消耗为基础素材消耗部分,而非最终素材消耗。铁砧技能中,除了“自身的铁砧”之外,其他四个铁砧每点1级,-1%基础素材消耗,目前有4个铁砧,点满-40%基础素材消耗。这里的基础素材消耗为每一条附魔属性的自带的属性,为一个定值。例如仇恨值%为33.5,力量%为50,具体可查表得到。
- 素材计算并非全部一起计算,而是分层计算 ,并且每层计算都会单独取整。例:暴击率从+2附到+4,素材计算时,先计算+2→+3素材消耗并取整,再计算+3→+4素材计算并取整,最后把两者加起来。
- 理解素材技能,每级减少对应素材1%消耗,默认10级-10%
- 锻冶熟练度减少素材消耗,每10级减少1%,每50级再减1%,两者相加。例:200锻冶熟练度:-24%素材消耗。
- 本攻略中方括号符号:[ ] 均代表向下取整(取整数部分)
【精确计算方法】
首先对附魔进行分层计算,此处定义层数:
定义层数:t(例暴击+1→+2这一层,t=2,负方向与正方向相同)
设原基础素材消耗为 M
设铁砧技能减少的素材消耗百分比为 A%
设理解素材技能减少的百分比为 B%
设锻冶熟练度减少的百分比为 C%
然后按照铁砧-理解素材-锻冶熟练度顺序计算,结果分别设为 X, Y, Z
Step.1 铁砧技能部分:当前层数素材消耗
设铁砧技能影响后的基础素材消耗变为 N
N = M - [ M × A% × 2] / 2
含义:将计算出来带小数的基础素材减少量,对0.5的倍数向下取整,即为实际减少的基础素材消耗,减掉该值即为实际基础素材消耗。
设当前层数素材消耗为 X
X = [ N × t² ]
含义:当前步骤素材消耗等于算出的基础素材消耗与当前层数的平方相乘并取整。
Step.2 理解素材部分
设理解素材之后素材消耗为 Y
Y = X - [ X × B% ]
Step.3 锻冶熟练度部分
设考虑锻冶熟练度之后素材消耗为 Z
Z = [ Y × ( 1 - C% ) ]
此处Z即为该层对应的素材消耗精确值。注意以上所有的取整操作。
Step.4 分层计算:将每一层的Z加起来即为最终整体素材消耗值。
【例】附魔仇恨值+9%→+11%,仇恨值基础素材消耗为33.5,锻冶熟练度200,点满铁砧技能、理解素材,求素材消耗。
解:根据条件可得:
M=33.5 A%=40% B%=10% C%=24%
接下来分层计算
1)第一层:+9%→+10%
N = M - [ M × A% × 2]/2
= 33.5 - [33.5 × 40% × 2]/2
= 33.5 - [26.8]/2
= 33.5 - 26/2
= 33.5 - 13
= 20.5
X = [ N × t² ]
= [ 20.5 × 10²]
= [ 2050 ]
= 2050
Y = X - [ X × B% ]
= 2050 - [ 2050 × 10% ]
= 2050 - [ 205 ]
= 2050 - 205
= 1845
Z = [ Y × ( 1 - C% ) ]
= [ 1845 × ( 1 - 24% ) ]
= [ 1402.2 ]
= 1402
2)第二层:+10%→+11%
同理可得 N = 20.5
X = [ N × t² ]
= [ 20.5 × 11²]
= [ 2480.5 ]
= 2480
Y = X - [ X × B% ]
= 2480 - [ 2480 × 10% ]
= 2480 - [ 248 ]
= 2480 - 248
= 2232
Z = [ Y × ( 1 - C% ) ]
= [ 2232 × ( 1 - 24% ) ]
= [ 1696.32 ]
= 1696
3)最终素材消耗 = 1402 + 1696 = 3098

实际游戏中结果完全符合理论计算。
具体推理过程由于太过复杂,这里就不放了,总的来看花了我相当多的精力,甚至我一点一点去加点测试,从我下面这些图就可以看出来,实在是很累,也洗了两次点,走了很多弯路,不过最终得出了结论也很开心,那么就是这些了。





