诺艾尔武器争议之螭骨剑与白影剑的选择

诺艾尔武器选择有很大争议,许多人和我评论说白影剑与螭骨剑差距很大(一般圣遗物下),而我的描述是白影剑与螭骨剑不相上下(极品圣遗物下)。为此,我特意结合诺艾尔(女仆)角色数据来计算女仆开大后的伤害,以证明白影剑和螭骨剑的差距。
我为之前计算过程中的错误感到抱歉。满精螭骨剑的极限输出是略强于满精白影剑的。
上次计算没有考虑圣遗物歪防御,圣遗物最好双暴拉满,考虑到歪防御情况,同精螭骨剑比白影剑至少强4%,歪的越多,差距越大。考虑的越多,越觉得女仆防御稀释的严重。
先说结论,精一螭骨剑和精二精三白影剑不相上下,精四精三螭骨剑与精五白影剑也是不相上下,然后,极限情况下,考虑到圣遗物套装加伤、双岩共鸣,白影剑和螭骨剑差距不大。但是,白影剑开大要先叠满被动。一般地,满精螭骨剑都是强于满精白影剑的。
只有一个例外,就是满精苍古满命阿贝多(辅助加伤49%)辅助下的极品女仆套装,(极限情况下)白影剑(36173.04)可以略强于螭骨剑(36127.13)。
总之,螭骨剑综合来说比白影剑强很多,但也不是白影剑追不上的程度。
女仆命座六开大提高50%防御力的攻击力,开大(13级天赋)加85%防御力的攻击力,总共增加135%防御力的攻击力。圣遗物方面选择角斗士套(逆飞套最好用钟离保证盾覆盖),加上双岩共鸣和岩伤杯,附加伤害有96.6%,沙漏选择防御砂,选择暴击头(暴伤头)。注意,女仆突破加30%防御力,圣遗物副属性至少29.144%防御力。这导致女仆防御收益远不如双暴。
开始计算极限情况下的(代码在文章最后):

精五螭骨剑:[dmg,points,attr_val] = noelle_points(510,['ctr';'add'],[27.6 50],450)
dmg = 30202.32 约为重击循环伤害
points = 156.80
attr_val =
44.37 132.44 暴击100.00 暴伤248.02 加伤146.60 白值701.00
面板攻击力为144.37%*701=1012,面板防御力为232.44%*799=1857,开大后攻击力3519

精五白影剑:[dmg,points,attr_val] = noelle_points(510,['def';'atk';'def'],[51.7 48 48],450)
dmg = 28956.11 约为重击循环伤害
points = 219.18
attr_val =
92.37 217.14 暴击100.00 暴伤208.81 加伤96.60 白值701.00
叠满被动,面板攻击力为192.37%*701=1349,面板防御力为317.14%*799=2534,开大后攻击力4769
这里两者几乎一样,还是螭骨剑略强于白影剑,差距4.3%,然后,绘制所有情况下的伤害图像:(一般情况下,满精白影剑与满精螭骨剑差距4%~10%)

最后采用matlab代码计算,代码如下:(修复了防御力过低的问题)
function [dmg,points,attr_val] = noelle_points(atk,attr,val,pot)
%arms_points 武器自带属性点数计算,同时计算武器在100%倍率下的一般伤害
%[dmg,points,attr_val] = noelle_points(atk,attr,val,pot)
% atk 武器白值
% attr 武器属性项
% val 武器属性值,为负则独立计算
% pot 圣遗物副属性点数
% dmg 诺艾尔武器的极限伤害
% points 武器自带属性点数
points=0;
wadd=50; % 圣遗物和双岩共鸣加伤
wphy=0;
watk=0;
mindef=58.3+30+29.144; % 防御沙漏和突破属性和圣遗物副属性歪防御
p=0;
i=1;
for in = attr'
switch in'
case 'atk' % 攻击力%
watk=watk+val(i);
points=points+val(i)/0.5829;
case 'ctr' % 暴击率
p=p+val(i)/0.3886;
case 'ctd' % 暴击伤害
p=p+val(i)/0.7772;
case 'ene' % 元素充能
p=p+val(i)/0.6477;
case 'cxx' % 元素精通
points=points+val(i)/2.3316;
case 'add' % 附加伤害
wadd=wadd+val(i);
points=points+val(i)/0.5829;
case 'phy' % 物理伤害
wphy=wphy+val(i);
points=points+val(i)/0.7286;
case 'lef' % 生命%
points=points+val(i)/0.5829;
case 'def' % 防御%
p=p+val(i)/0.7286;
mindef=mindef+val(i);
case 'att' % 固定攻击力
watk=watk+(val(i)/(atk+191))*100;
points=points+(val(i)/(atk+191))*100/0.5829;
end
i=i+1;
end
points=points+p;
p=p+pot+160; % 加上的是圣遗物副属性点数、沙漏和头主属性点数之和
if wphy>10
wphy=wphy+58.3;
else
wadd=wadd+46.6;
end
watk=watk+(311/(atk+191))*100;
syms a b c t;
f(a,b,c)=((1+watk/100)*(atk+191)+(1+0.7286*a/100)*799*1.35)*...
(1+(0.3886*b+5)*(0.7772*c+50)/10000)*(1+(wadd+wphy)/100);
g=a+b+c-p;
L=f-t*g;
sln=solve(diff(L,a)==0,diff(L,b)==0,diff(L,c)==0,g==0);
[dmg,n]=max(eval(f(sln.a,sln.b,sln.c)));
attr_val=zeros(1,5);
attr_val(1)=watk; % 攻击力绿字白字百分比
attr_val(2)=vpa(sln.a(n),10)*0.7286; % 防御力绿字白字百分比
attr_val(3)=vpa(sln.b(n),10)*0.3886+5; % 暴击率
attr_val(4)=vpa(sln.c(n),10)*0.7772+50; % 暴击伤害
attr_val(5)=wadd+wphy; % 附加伤害
attr_val(6)=atk+191; % 白字
i=0;
if attr_val(2) < mindef % 分配防御过低
i=1;
p=p-mindef/0.7286;
f(b,c)=((1+watk/100)*(atk+191)+(1+mindef/100)*799*1.35)*...
(1+(0.3886*b+5)*(0.7772*c+50)/10000)*(1+(wadd+wphy)/100);
g=b+c-p;
L=f-t*g;
sln=solve(diff(L,b)==0,diff(L,c)==0,g==0);
[dmg,n]=max(eval(f(sln.b,sln.c)));
attr_val(2)=mindef;
attr_val(3)=vpa(sln.b(n),10)*0.3886+5;
attr_val(4)=vpa(sln.c(n),10)*0.7772+50;
end
if attr_val(3) > 100 % 分配暴击率过高
p=p-95/0.3886;
if i == 0
f(a,c)=((1+watk/100)*(atk+191)+(1+0.7286*a/100)*799*1.35)*...
(1+(0.7772*c+50)/100)*(1+(wadd+wphy)/100);
g=a+c-p;
L=f-t*g;
sln=solve(diff(L,a)==0,diff(L,c)==0,g==0);
[dmg,n]=max(eval(f(sln.a,sln.c)));
attr_val(2)=vpa(sln.a(n),10)*0.7286;
attr_val(3)=100;
attr_val(4)=vpa(sln.c(n),10)*0.7772+50;
else
attr_val(3)=100;
attr_val(4)=0.7772*p+50;
dmg=((1+watk/100)*(atk+191)+(1+mindef/100)*799*1.35)*...
(1+(0.7772*p+50)/100)*(1+(wadd+wphy)/100);
end
end
end