前提
不讨论命中率(一般不缺命中率)
默认吃到高地伤害加成
某些天赋的增伤(如元素游侠)由于比较特殊且不影响点数分配,故伤害公式中没有体现
计算结果只为理论数值,具体伤害还要受怪物抗性、地形、buff等多种因素影响
结论仅供参考
计算前准备
用计算公式前,先把装备穿上(方便计算),洗点(清空加点,只保留装备本身加成),把必要的点数先分配了(如技能或者某些天赋需要对应学派的等级),剩下的点数就是可用点数
属性
不等于10是因为装备给予的加成
最多加30
可用属性点数 = 33
力量 = 10 # 每级增加5%力量系武器和技能伤害,每两级增加15kg负重(第一次升级+8kg,第二次升级+7kg)
敏捷 = 21 # 每级增加5%敏捷系武器和技能伤害
智力 = 10 # 每级增加5%智力系武器和技能伤害
体质 = 14 # 每级增加7%生命值
记忆 = 10 # 每级增加1技能槽
智慧 = 28 # 每级增加1%暴击率和1先攻
能力
不等于0是因为装备给予的加成
最多加10点
可用战斗能力点数 = 14 # 学派技艺等级和武器熟练等级共用战斗能力点数
战场技艺 = 7 # 每级增加5%物理伤害(五大伤害类型之一)
神射技艺 = 3 # 每级增加5%高地伤害
刺杀学派 = 1 # 每级增加5%暴击伤害和0.3移动速度
烈火学派 = 1 # 每级增加5%火系伤害(五大伤害类型之一)
水占学派 = 3 # 每级增加5%冰霜伤害(五大伤害类型之一)
大气学派 = 0 # 每级增加5%雷电伤害(五大伤害类型之一)
地卜学派 = 0 # 每级增加5%大地伤害(五大伤害类型之一)
死灵学派 = 1 # 每级增加10%吸血
召唤学派 = 2 # 每级增加召唤物10%体质和护甲
变形学派 = 0 # 每级获得额外一个可用属性点
武器熟练项只影响武器造成的伤害,不影响技能伤害
单手 = 0 # 每级增加5%伤害和5%命中
双手 = 0 # 每级增加5%伤害和5%暴击伤害
远程 = 0 # 每级增加5%伤害和1%暴击率
双持 = 0 # 每级增加5%伤害和1%闪避
天赋
鲁莽之人 = 1 # 生命值全满时额外获得10%暴击率和10%命中率
心灵手巧 = 0 # 获得5%暴击率和10%暴击伤害
武器伤害期望计算
由于武器熟练需装备对应武器才能生效,因此在计算期望时只考虑加点一种武器熟练项
远程影响暴击,双手影响爆伤,根据角色情况调整下面的暴击率和暴击伤害公式
近战武器打不出高地伤害,在计算中需要把高地增伤调整为0
远程武器默认算上高地增伤
属性初始的10点没有加成,伤害公式中需要-10
这个伤害公式来源于游戏论坛,但我感觉高地增伤和暴击增伤一个区间有点离谱
暴击率 = 0.1 * 鲁莽之人 + 0.01 * (智慧-10 + 远程) + 来自装备的暴击率
暴击增伤 = 0.5 + 0.05 * (刺杀学派 + 双手) + 0.1 * 心灵手巧
高地增伤 = 0.2 + 0.05 * 神射技艺
武器基础伤害 = 武器面板 * (1 + 0.05 * (主属性-10 + 武器熟练等级) + 技能增伤 + 装备增伤) * (1 + 0.05 * 伤害类型对应学派等级) * (1 + 高地增伤)
武器暴击伤害 = 武器面板 * (1 + 0.05 * (主属性-10 + 武器熟练等级) + 技能增伤 + 装备增伤) * (1 + 0.05 * 伤害类型对应学派等级) * (1 + 暴击增伤 + 高地增伤)
以远程弓箭手为例,主属性为敏捷,武器熟练项为远程,可以打出高地伤害
有效属性:敏捷、智慧
有效能力:刺杀学派、战场技艺、神射技艺、远程
武器面板 = 75 # 不影响加点结果
技能增伤 = 0 # 默认没有增伤buff
来自装备的暴击率 = 0.16
装备增伤 = 0.15
python代码如下:
# 最多加30
可用属性点数 = 33
力量 = 10 # 每级增加5%力量系武器和技能伤害,每两级增加15kg负重(第一次升级+8kg,第二次升级+7kg)
敏捷 = 21 # 每级增加5%敏捷系武器和技能伤害
智力 = 10 # 每级增加5%智力系武器和技能伤害
体质 = 14 # 每级增加7%生命值
记忆 = 10 # 每级增加1技能槽
智慧 = 28 # 每级增加1%暴击率和1先攻
# 最多加10点
可用战斗能力点数 = 14 # 学派技艺等级和武器熟练等级共用战斗能力点数
战场技艺 = 7 # 每级增加5%物理伤害(五大伤害类型之一)
神射技艺 = 3 # 每级增加5%高地伤害
刺杀学派 = 1 # 每级增加5%暴击伤害和0.3移动速度
烈火学派 = 1 # 每级增加5%火系伤害(五大伤害类型之一)
水占学派 = 3 # 每级增加5%冰霜伤害(五大伤害类型之一)
大气学派 = 0 # 每级增加5%雷电伤害(五大伤害类型之一)
地卜学派 = 0 # 每级增加5%大地伤害(五大伤害类型之一)
死灵学派 = 1 # 每级增加10%吸血
召唤学派 = 2 # 每级增加召唤物10%体质和护甲
变形学派 = 0 # 每级获得额外一个可用属性点
单手 = 0 # 每级增加5%伤害和5%命中
双手 = 0 # 每级增加5%伤害和5%暴击伤害
远程 = 0 # 每级增加5%伤害和1%暴击率
双持 = 0 # 每级增加5%伤害和1%闪避
鲁莽之人 = 1 # 生命值全满时额外获得10%暴击率和10%命中率
心灵手巧 = 0 # 获得5%暴击率和10%暴击伤害
武器面板 = 75 # 不影响加点结果
技能增伤 = 0 # 默认没有增伤buff
来自装备的暴击率 = 0.16
装备增伤 = 0.15
buf = {
'最终敏捷等级': 0,
'最终智慧等级': 0,
'最终刺杀学派等级': 0,
'最终战场技艺等级': 0,
'最终神射技艺等级': 0,
'最终远程等级': 0,
'暴击率': 0,
'暴击增伤': 0
}
damage = -1
for 敏捷加点 in range(可用属性点数+1):
if 敏捷加点 > 30:
break
最终敏捷等级 = 敏捷 + 敏捷加点
智慧加点 = 可用属性点数 - 敏捷加点
最终智慧等级 = 智慧 + 智慧加点
if 智慧加点 > 30:
continue
for 刺杀学派加点 in range(可用战斗能力点数+1):
if 刺杀学派加点 > 10 :
break
for 战场技艺加点 in range(可用战斗能力点数-刺杀学派加点+1):
if 战场技艺加点 > 10:
break
for 神射技艺加点 in range(可用战斗能力点数-刺杀学派加点-战场技艺加点+1):
if 神射技艺加点 > 10:
break
最终刺杀学派等级 = 刺杀学派 + 刺杀学派加点
最终战场技艺等级 = 战场技艺 + 战场技艺加点
最终神射技艺等级 = 神射技艺 + 神射技艺加点
远程加点 = 可用战斗能力点数-刺杀学派加点-战场技艺加点-神射技艺加点
最终远程等级 = 远程 + 远程加点
if 远程加点 > 10:
continue
暴击率 = 0.1 * 鲁莽之人 + 0.01 * (最终智慧等级-10 + 最终远程等级) + 来自装备的暴击率
暴击增伤 = 0.5 + 0.05 * (最终刺杀学派等级) + 0.1 * 心灵手巧
高地增伤 = 0.2 + 0.05 * 最终神射技艺等级
武器基础伤害 = 武器面板 * (1 + 0.05 * (最终敏捷等级-10 + 最终远程等级) + 技能增伤 + 装备增伤) * (1 + 0.05 * 最终战场技艺等级) * (1 + 高地增伤)
武器暴击伤害 = 武器面板 * (1 + 0.05 * (最终敏捷等级-10 + 最终远程等级) + 技能增伤 + 装备增伤) * (1 + 0.05 * 最终战场技艺等级) * (1 + 暴击增伤 + 高地增伤)
tmp = 暴击率 * 武器暴击伤害 + (1 - 暴击率) * 武器基础伤害
# print(tmp)
if tmp > damage:
damage = tmp
buf['最终敏捷等级'] = 最终敏捷等级
buf['最终智慧等级'] = 最终智慧等级
buf['最终刺杀学派等级'] = 最终刺杀学派等级
buf['最终战场技艺等级'] = 最终战场技艺等级
buf['最终神射技艺等级'] = 最终神射技艺等级
buf['最终远程等级'] = 最终远程等级
buf['暴击率'] = 暴击率
buf['暴击增伤'] = 暴击增伤
print(buf) # 输出加点结果
print(damage) # 输出期望伤害
输出:
{'最终敏捷等级': 51, '最终智慧等级': 31, '最终刺杀学派等级': 1, '最终战场技艺等级': 17, '最终神射技艺等级': 7, '最终远程等级': 0, '暴击率': 0.47, '暴击增伤': 0.55}
802.974
可见理论上主属性优先,主属性点满再考虑暴击爆伤