15000护甲,300格挡值下护甲和格挡值在不同伤害的等价换算:
结论:考虑到现在满buff基本在18000血左右,在炽热防御者能应对的范围内,100护甲最多相当于约20格挡值。换言之,如果想要舍弃护甲堆格挡值,每点格挡值不要牺牲超过5点护甲。
基础伤害 | 格挡后伤害 | 100护甲等价格挡值 | 格挡后伤害(炽热防御) | 100护甲等价格挡值(炽热防御) | 1000 | 117 | 1.3 | 0 | 0 | 1500 | 326 | 2 | 138 | 1.4 | 2000 | 534 | 2.6 | 284 | 1.8 | 2500 | 743 | 3.3 | 430 | 2.3 | 3000 | 951 | 3.9 | 576 | 2.7 | 3500 | 1160 | 4.6 | 722 | 3.2 | 4000 | 1368 | 5.2 | 868 | 3.6 | 4500 | 1577 | 5.9 | 1014 | 4.1 | 5000 | 1785 | 6.5 | 1160 | 4.6 | 5500 | 1994 | 7.2 | 1305 | 5 | 6000 | 2202 | 7.8 | 1451 | 5.5 | 6500 | 2411 | 8.5 | 1597 | 5.9 | 7000 | 2619 | 9.1 | 1743 | 6.4 | 7500 | 2828 | 9.8 | 1889 | 6.8 | 8000 | 3036 | 10.4 | 2035 | 7.3 | 8500 | 3245 | 11.1 | 2181 | 7.8 | 9000 | 3453 | 11.7 | 2327 | 8.2 | 9500 | 3662 | 12.4 | 2473 | 8.7 | 10000 | 3870 | 13 | 2619 | 9.1 | 10500 | 4079 | 13.7 | 2765 | 9.6 | 11000 | 4287 | 14.3 | 2911 | 10 | 11500 | 4496 | 15 | 3057 | 10.5 | 12000 | 4704 | 15.6 | 3203 | 10.9 | 12500 | 4913 | 16.3 | 3349 | 11.4 | 13000 | 5121 | 16.9 | 3495 | 11.9 | 13500 | 5330 | 17.6 | 3641 | 12.3 | 14000 | 5538 | 18.2 | 3787 | 12.8 | 14500 | 5747 | 18.9 | 3933 | 13.2 | 15000 | 5955 | 19.6 | 4079 | 13.7 | 15500 | 6164 | 20.2 | 4224 | 14.1 | 16000 | 6372 | 20.9 | 4370 | 14.6 | 16500 | 6581 | 21.5 | 4516 | 15.1 | 17000 | 6789 | 22.2 | 4662 | 15.5 | 17500 | 6998 | 22.8 | 4808 | 16 | 18000 | 7206 | 23.5 | 4954 | 16.4 | 18500 | 7415 | 24.1 | 5100 | 16.9 | 19000 | 7623 | 24.8 | 5246 | 17.3 | 19500 | 7832 | 25.4 | 5392 | 17.8 | 20000 | 8040 | 26.1 | 5538 | 18.2 | 20500 | 8249 | 26.7 | 5684 | 18.7 | 21000 | 8457 | 27.4 | 5830 | 19.2 | 21500 | 8666 | 28 | 5976 | 19.6 | 22000 | 8874 | 28.7 | 6122 | 20.1 | 22500 | 9083 | 29.3 | 6268 | 20.5 | 23000 | 9291 | 30 | 6414 | 21 | 23500 | 9500 | 30.6 | 6560 | 21.4 | 24000 | 9708 | 31.3 | 6706 | 21.9 | 24500 | 9917 | 31.9 | 6852 | 22.4 | 25000 | 10125 | 32.6 | 6998 | 22.8 | 25500 | 10334 | 33.2 | 7144 | 23.3 | 26000 | 10542 | 33.9 | 7289 | 23.7 | 26500 | 10751 | 34.5 | 7435 | 24.2 | 27000 | 10959 | 35.2 | 7581 | 24.6 | 27500 | 11168 | 35.8 | 7727 | 25.1 | 28000 | 11376 | 36.5 | 7873 | 25.5 | 28500 | 11585 | 37.1 | 8019 | 26 | 29000 | 11793 | 37.8 | 8165 | 26.5 | 29500 | 12002 | 38.5 | 8311 | 26.9 |
做这个模拟主要是因为看到新帖iTank中直接给护甲和格挡值评分,没有考虑这两项指标的动态关系(当然我也觉得单一评分没必要考虑动态关系)。如果有玩家需要对特定boss配装,这个表格可能更有参考价值。查表时可以直接看格挡后承伤选择对应的行。比如我知道夜之魇打我大概4700一下,那么100护甲就相当于18~19格挡值。
附上源代码,可以根据自己装备修改数值:
[collapse]- import numpy as np
- import pandas as pd
- def get_armor_DR(armor, attacker_level=73):
- DR = armor / (armor + 400 + 85 * ((5.5 * attacker_level) - 265.5))
- return DR
- def get_damage_before_block(raw_damage, armor, attacker_level=73):
- DR = get_armor_DR(armor, attacker_level)
- damage_before_block = raw_damage * (1-DR)
- return damage_before_block
- def get_damage_after_block(raw_damage, armor, block_value, attacker_level=73, ardent_defender=False):
- damage_before_block = get_damage_before_block(raw_damage, armor, attacker_level=attacker_level)
- damage_before_block *= (1-0.06) # righteous fury
- if ardent_defender:
- damage_before_block *= 0.7
- damage_after_block = damage_before_block - block_value
- if damage_after_block < 0:
- damage_after_block = 0
- return damage_after_block
- def get_equivalent_armor_block_value(base_armor, base_blockValue, raw_damage, attacker_level=73):
- base_damage_after_block = get_damage_after_block(raw_damage, base_armor, base_blockValue, attacker_level)
- # 10% extra armor from talent
- mod_damage_after_block = get_damage_after_block(raw_damage, base_armor + 100 * 1.1, base_blockValue, attacker_level)
- # 30% extra block value from talent
- equivalent_block_value = (base_damage_after_block - mod_damage_after_block) / 1.3
- base_damage_after_block_with_ardent_defender = get_damage_after_block(raw_damage, base_armor, base_blockValue, attacker_level, ardent_defender=True)
- # 10% extra armor from talent
- mod_damage_after_block_with_ardent_defender = get_damage_after_block(raw_damage, base_armor + 100 * 1.1, base_blockValue, attacker_level, ardent_defender=True)
- # 30% extra block value from talent
- equivalent_block_value_with_ardent_defender = (base_damage_after_block_with_ardent_defender - mod_damage_after_block_with_ardent_defender) / 1.3
- return [round(raw_damage, 0), round(base_damage_after_block, 0), round(equivalent_block_value, 1),
- round(base_damage_after_block_with_ardent_defender, 0), round(equivalent_block_value_with_ardent_defender, 1)]
- rawDamage = [*range(1000, 30000, 500)]
- base_armor = 15000
- base_blockValue = 300
- raw_data = list(map(lambda rd: get_equivalent_armor_block_value(base_armor, base_blockValue, rd), rawDamage))
- df = pd.DataFrame(np.array(raw_data), columns=['基础伤害', '格挡后伤害', '100护甲等价格挡值', '格挡后伤害(炽热防御)', '100护甲等价格挡值(炽热防御)'])
- df.to_csv('护甲格挡值模拟_15000_300.csv')
复制代码 [/collapse]
7/3调整:表格上现在显示的是装备上的护甲和格挡值,天赋的10%护甲和30%格挡值被整合进了代码里。格挡价值稍有提升 |
1、在门户里发表的文章仅代表作者本人的观点,与本网站立场无关。
2、门户的所有内容都不保证其准确性,有效性,时间性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
3、当政府机关依照法定程序要求披露信息时,论坛均得免责。
4、若因线路及非本站所能控制范围的故障导致暂停服务期间造成的一切不便与损失,论坛不负任何责任。
5、注册会员通过任何手段和方法针对论坛进行破坏,我们有权对其行为作出处理。并保留进步追究其责任的权利。
|