我们使用 Python3 编写程序进行测试,测试用脚本如下:
CRIT_RATE_ADD: int = 30 # 暴击头的增益,此处为方便计算使用近似值
CRIT_DMG_ADD : int = 60 # 暴伤头的增益,此处为方便计算使用近似值
BASIC_DMG: int = 1000 # 基础伤害(假定)
# 暴击造成伤害计算
def crit_dmg_calc(crit_dmg: int) -> float :
return BASIC_DMG + BASIC_DMG * crit_dmg / 100
# 伤害期望计算 暴击率 暴伤系数
def expectation_calc(crit_rate: int, crit_dmg: int) -> float :
return (
crit_dmg_calc(crit_dmg) * crit_rate / 100 +
BASIC_DMG * (100 - crit_rate) / 100
)
# 测试函数
def test(basic_crit_rate: int, basic_crit_dmg: int):
print("CRIT_RATE_ADD: ", expectation_calc(
basic_crit_rate + CRIT_RATE_ADD,
basic_crit_dmg
))
print("CRIT_DMG_ADD: ", expectation_calc(
basic_crit_rate,
basic_crit_dmg + CRIT_DMG_ADD
))
我们先对从暴击率为5,暴伤为10到暴击率为70,暴伤为140的数据进行测试,此时,每组数据的暴击-暴伤比均为 1 : 2,我们测试其使用暴击头与使用暴伤头时的伤害期望。
for i in range(5, 75, 5):
test(i, i * 2)
print("--- --- --- --- --- ---")
得到结果如下:
CRIT_RATE_ADD: 1035.0
CRIT_DMG_ADD: 1035.0
--- --- --- --- --- ---
CRIT_RATE_ADD: 1080.0
CRIT_DMG_ADD: 1080.0
--- --- --- --- --- ---
CRIT_RATE_ADD: 1135.0
CRIT_DMG_ADD: 1135.0
--- --- --- --- --- ---
CRIT_RATE_ADD: 1200.0
CRIT_DMG_ADD: 1200.0
--- --- --- --- --- ---
CRIT_RATE_ADD: 1275.0
CRIT_DMG_ADD: 1275.0
--- --- --- --- --- ---
CRIT_RATE_ADD: 1360.0
CRIT_DMG_ADD: 1360.0
--- --- --- --- --- ---
CRIT_RATE_ADD: 1455.0
CRIT_DMG_ADD: 1455.0
--- --- --- --- --- ---
CRIT_RATE_ADD: 1560.0
CRIT_DMG_ADD: 1560.0
--- --- --- --- --- ---
CRIT_RATE_ADD: 1675.0
CRIT_DMG_ADD: 1675.0
--- --- --- --- --- ---
CRIT_RATE_ADD: 1800.0
CRIT_DMG_ADD: 1800.0
--- --- --- --- --- ---
CRIT_RATE_ADD: 1935.0
CRIT_DMG_ADD: 1935.0
--- --- --- --- --- ---
CRIT_RATE_ADD: 2080.0
CRIT_DMG_ADD: 2080.0
--- --- --- --- --- ---
CRIT_RATE_ADD: 2235.0
CRIT_DMG_ADD: 2235.0
--- --- --- --- --- ---
CRIT_RATE_ADD: 2400.0
CRIT_DMG_ADD: 2400.0
--- --- --- --- --- ---
可以看到,每组数据中,其使用暴击头与使用暴伤头时的伤害期望相同。
那么,如果暴击-暴伤比不为 1 : 2,应该如何选择暴击/暴伤头呢?请接着往下看。
for i in range(40, 125, 5):
print("CRIT_RATE: ", 40)
print("CRIT_DMG: ", i)
test(40, i)
print("--- --- --- --- --- ---")
我们通过程序计算出了如下几组数据。其中,每组数据的基础暴击率均为40%,基础暴伤为 40 ~ 120 不等,并且列出每组带暴击/暴伤头的伤害期望。
CRIT_RATE: 40 # 此为基础暴击率
CRIT_DMG: 40 # 此为基础暴伤
CRIT_RATE_ADD: 1280.0 # 此为带暴击头的伤害期望
CRIT_DMG_ADD: 1400.0 # 此为带暴伤头的伤害期望
--- --- --- --- --- ---
CRIT_RATE: 40
CRIT_DMG: 45
CRIT_RATE_ADD: 1315.0
CRIT_DMG_ADD: 1420.0
--- --- --- --- --- ---
CRIT_RATE: 40
CRIT_DMG: 50
CRIT_RATE_ADD: 1350.0
CRIT_DMG_ADD: 1440.0
--- --- --- --- --- ---
CRIT_RATE: 40
CRIT_DMG: 55
CRIT_RATE_ADD: 1385.0
CRIT_DMG_ADD: 1460.0
--- --- --- --- --- ---
CRIT_RATE: 40
CRIT_DMG: 60
CRIT_RATE_ADD: 1420.0
CRIT_DMG_ADD: 1480.0
--- --- --- --- --- ---
CRIT_RATE: 40
CRIT_DMG: 65
CRIT_RATE_ADD: 1455.0
CRIT_DMG_ADD: 1500.0
--- --- --- --- --- ---
CRIT_RATE: 40
CRIT_DMG: 70
CRIT_RATE_ADD: 1490.0
CRIT_DMG_ADD: 1520.0
--- --- --- --- --- ---
CRIT_RATE: 40
CRIT_DMG: 75
CRIT_RATE_ADD: 1525.0
CRIT_DMG_ADD: 1540.0
--- --- --- --- --- ---
CRIT_RATE: 40
CRIT_DMG: 80
CRIT_RATE_ADD: 1560.0
CRIT_DMG_ADD: 1560.0
--- --- --- --- --- ---
CRIT_RATE: 40
CRIT_DMG: 85
CRIT_RATE_ADD: 1595.0
CRIT_DMG_ADD: 1580.0
--- --- --- --- --- ---
CRIT_RATE: 40
CRIT_DMG: 90
CRIT_RATE_ADD: 1630.0
CRIT_DMG_ADD: 1600.0
--- --- --- --- --- ---
CRIT_RATE: 40
CRIT_DMG: 95
CRIT_RATE_ADD: 1665.0
CRIT_DMG_ADD: 1620.0
--- --- --- --- --- ---
CRIT_RATE: 40
CRIT_DMG: 100
CRIT_RATE_ADD: 1700.0
CRIT_DMG_ADD: 1640.0
--- --- --- --- --- ---
CRIT_RATE: 40
CRIT_DMG: 105
CRIT_RATE_ADD: 1735.0
CRIT_DMG_ADD: 1660.0
--- --- --- --- --- ---
CRIT_RATE: 40
CRIT_DMG: 110
CRIT_RATE_ADD: 1770.0
CRIT_DMG_ADD: 1680.0
--- --- --- --- --- ---
CRIT_RATE: 40
CRIT_DMG: 115
CRIT_RATE_ADD: 1805.0
CRIT_DMG_ADD: 1700.0
--- --- --- --- --- ---
CRIT_RATE: 40
CRIT_DMG: 120
CRIT_RATE_ADD: 1840.0
CRIT_DMG_ADD: 1720.0
--- --- --- --- --- ---
从数据可以看出,在暴伤小于两倍暴击时,带暴伤头的伤害期望更高;在暴伤大于于两倍暴击时,则带暴击头的伤害期望更高。
for i in range(20, 65, 5):
print("CRIT_RATE: ", i)
print("CRIT_DMG: ", 80)
test(i, 80)
print("--- --- --- --- --- ---")
类似地,我们锁定暴伤,改变暴击,可得到如下结果:
CRIT_RATE: 20
CRIT_DMG: 80
CRIT_RATE_ADD: 1400.0
CRIT_DMG_ADD: 1280.0
--- --- --- --- --- ---
CRIT_RATE: 25
CRIT_DMG: 80
CRIT_RATE_ADD: 1440.0
CRIT_DMG_ADD: 1350.0
--- --- --- --- --- ---
CRIT_RATE: 30
CRIT_DMG: 80
CRIT_RATE_ADD: 1480.0
CRIT_DMG_ADD: 1420.0
--- --- --- --- --- ---
CRIT_RATE: 35
CRIT_DMG: 80
CRIT_RATE_ADD: 1520.0
CRIT_DMG_ADD: 1490.0
--- --- --- --- --- ---
CRIT_RATE: 40
CRIT_DMG: 80
CRIT_RATE_ADD: 1560.0
CRIT_DMG_ADD: 1560.0
--- --- --- --- --- ---
CRIT_RATE: 45
CRIT_DMG: 80
CRIT_RATE_ADD: 1600.0
CRIT_DMG_ADD: 1630.0
--- --- --- --- --- ---
CRIT_RATE: 50
CRIT_DMG: 80
CRIT_RATE_ADD: 1640.0
CRIT_DMG_ADD: 1700.0
--- --- --- --- --- ---
CRIT_RATE: 55
CRIT_DMG: 80
CRIT_RATE_ADD: 1680.0
CRIT_DMG_ADD: 1770.0
--- --- --- --- --- ---
CRIT_RATE: 60
CRIT_DMG: 80
CRIT_RATE_ADD: 1720.0
CRIT_DMG_ADD: 1840.0
--- --- --- --- --- ---
从数据可以看出,在暴击小于二分之一暴伤时,带暴击头的伤害期望更高;在暴击小于二分之一暴伤时,则带暴伤头的伤害期望更高。
故我们可以得出结论:暴击率和暴伤的最佳比例是 1:2,且这个比值是对资源利用率最高的比值。
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:704559159@qq.com