本文部分资料来自The Vault与GECK,部分数据查询自游戏源文件。敝人自己也做了一些计算和推测来修正结果。
不管是辐射系列的新玩家还是老玩家,一定都对《辐射3》的伤害计算系统感到一头雾水吧:伤害到底怎么计算?玩家数值如何影响伤害?哪把枪杀伤最高?问题诸多,不一而足。有鉴于此,敝人作文为玩家解惑。
(再次提醒:下文所述仅适用于远程武器伤害计算,空手近战计算不在此列)
普通伤害与暴击伤害
本文先从最基本的伤害计算谈起,在辐射3中,远程武器伤害的计算公式是:
远程武器伤害 =Perk修正×武器基础伤害×伤害倍数×武器状态惩罚×技能奖励+暴击奖励-敌方护甲吸收伤害
Perk修正 - 顾名思义,就是Perk对武器伤害的影响,例如Entomologist让武器对昆虫的伤害加50%,那么此时的Perk修正数值就是1.5(值得注意的是,一些药品增加的伤害也照Perk修正来计算,如妖怪肉)。
武器基础伤害 - 这个不用解释了吧?具体的伤害要用GECK查。
伤害倍数 - 系统计算伤害时所乘的一个常数,默认值为1。
武器状态惩罚 - 就是武器状态对伤害的影响,这一项的计算方式是:武器状态影响伤害基数+武器状态影响伤害倍数×武器状态,其中武器状态影响伤害基数和武器状态影响伤害倍数在默认情况下是常数,其值分别为0.34和0.66。(注意:代入公式计算时武器状态要乘1,也就是说60%完好度在公式里要写成0.6。这点与下面的暴击率计算不同。)
技能奖励 - 玩家技能(小枪,大枪,能量)对伤害的影响,具体计算方式为:技能影响伤害基数+技能影响伤害倍数×玩家技能÷100,其中技能影响伤害基数和技能影响伤害倍数在默认情况下是常数,其值均为0.5。
暴击奖励 - 暴击对伤害的加成,没有暴击的话就没有这一项。出现暴击时伤害的具体计算方式是:暴击Perk奖励×武器暴击伤害;暴击Perk奖励就是指Better Criticals这样的Perk(貌似只有这一个?)对伤害的加成,武器暴击伤害则是武器本身的固有属性,需要使用GECK查询。另:暴击出现时无视敌方DR。
敌方护甲吸收伤害 - 这一项的计算相当复杂,而GECK wiki上的公式几乎可以肯定是错误的,敝人一开始的修正结果是:(护甲等级基数+护甲等级倍数×护甲等级)×(护甲状态基数+护甲状态倍数×护甲状态),其中护甲等级基数、护甲等级倍数、护甲状态基数以及护甲状态倍数均为常数,默认值分别为0.2、1、0、1;护甲等级即游戏中的DR。 (俺用回归方程加实验数据推出的结果似乎不符合上述公式。因此这一部分等俺研究好了再谈。)
远程武器伤害 =Perk修正×武器基础伤害×(0.34+0.66×武器状态)×(0.5+0.5×玩家技能/100)+ 暴击奖励
很容易看出此公式就是多个一次函数的乘积,下面利用这个公式来分析一个具体实例:
拥有Bloody Mess(伤害+5%),小枪100的张三使用90%完好度的胜利步枪(DMG40)攻击敌人,那么张三每次攻击的伤害就是:
1.05×40×(0.34+0.66×0.9)×(0.5+0.5×1)+0=39.23
(顺便一提,游戏中通过控制台得到的数据只能精确到小数点后两位)
最后再提一下身体部分对伤害的影响,现实中,人头部中枪是最致命的,其次是躯干,再次四肢。不过在《辐射3》中,
敌人头部中枪会有一个×2的伤害奖励,而其他部分的伤害是一样的。
有趣的是,敌人打中玩家的头部并没有那个×2的奖励。
另外在真正计算伤害时还要考虑到枪械的弹头数(霰弹枪),特殊效果(燃烧)等诸多因素,由于这只是篇基础文章,恕俺不作更具体的分析了。
Pip-Boy 3000中显示的武器伤害
这一部分问题很严重啊很严重,分析中....
实验数据,与其他内容无关:
名称 | DAM | DPS | In-Game (100 skill+100 cond) | IG with SD |
AsR | 8 | 64 | 38 | 62 |
ChAsR | 11 | 88 | 51 | 74 |
XuAsR | 12 | 96 | 64 | 91 |
Mini | 5 | 100 | 75 | 150 |
暴击率的计算
上文已经提到过,在计算武器对敌人造成的伤害时,有一点要考虑的就是这轮攻击有没有造成暴击,而在《辐射3》中,暴击出现的概率是以如下方法计算:
暴击率 = Perk影响×武器状态惩罚×基础暴击率×武器暴击系数+ VATS奖励
Perk影响 - 还是顾名思义,Perk对暴击判定的影响
武器状态惩罚 - 武器状态对暴击是否成功的影响,此项的计算方式为:武器状态暴击倍数×武器状态。(注意:代入公式计算时武器状态要乘10,也就是说60%完好度在公式里要写成6。这点与上面的伤害计算不同。)
基础暴击率 - 人物属性等对暴击率的影响,计算方式为:幸运值影响暴击率基数+幸运值影响暴击率倍数×玩家幸运值,其中幸运值影响暴击率基数和幸运值影响暴击率倍数在默认情况下是常数,其值分别为0和1。
武器暴击系数 - 武器的固有属性,具体的数值也要用GECK查询。
VATS奖励 - 默认状况下,使用VATS进行的攻击会自动增加15%的暴击率。
了解了这个公式,玩家下回就不会再对怎样提高暴击率感到迷惑了。
《辐射3》中除了普通的暴击意外,还有一种特殊的潜行暴击,其出现条件非常简单:
潜行状态下的第一次攻击必然造成潜行暴击
而潜行暴击的伤害计算方法则是:
潜行暴击伤害=远程武器伤害×潜行伤害奖励
其中潜行伤害奖励的默认值为2;又由于暴击忽视敌方的DR,所以伤害计算公式的护甲部分被舍掉了。
附录
上文公式中提及所有的数据皆可用GECK查询(Gameplay->Settings),为方便玩家,我在这里把各项数值的中文名与其GECK名共同列出:
伤害计算公式使用数据:
中文译名 | GECK中的名称 | 默认值 | 功能 |
伤害倍数 | fDamageWeaponMult | 1 | 武器影响伤害的系数 |
武器状态影响伤害倍数 | fDamageGunWeapCondMult | 0.34 | 计算武器状态对伤害的影响 |
武器状态影响伤害基数 | fDamageGunWeapCondBase | 0.66 | 计算武器状态对伤害的影响 |
技能影响伤害基数 | fDamageSkillBase | 0.5 | 计算人物技能对伤害的影响 |
技能影响伤害倍数 | fDamageSkillMult | 0.5 | 计算人物技能对伤害的影响 |
护甲等级基数 | fArmorRatingBase | 0.2 | 计算DR对伤害的影响 |
护甲等级倍数 | fArmorRatingMult | 1 | 计算DR对伤害的影响 |
护甲状态基数 | ArmorRatingConditionbase | 0 | 计算护甲状态对伤害的影响 |
护甲状态倍数 | fArmorRatingConditionMult | 1 | 计算护甲状态对伤害的影响 |
潜行伤害奖励 | fCombatDamageBonusSneakingMult | 2 | 计算潜行暴击对伤害的影响 |
中文译名 | GECK中的名称 | 默认值 | 功能 |
武器状态暴击倍数 | fWeaponConditionCriticalChanceMult | 0.1 | 计算武器状态对暴击率的影响 |
幸运值影响暴击率基数 | fAVDCritLuckBase | 0 | 计算幸运值对暴击率的影响 |
幸运值影响暴击率倍数 | fAVDCritLuckMult | 1 | 计算幸运值对暴击率的影响 |
VATS暴击率加成 | fVATSCriticalChanceBonus | 15 | 在游戏中使用VATS射击将自动增加15%暴击率 |
此外,上文提过俺还没有研究透DR对伤害的具体影响,下面俺把自己的实验数据贴出来,有兴趣的玩家可以共同探讨:对敌方进行伤害为9的攻击:
敌方DR | 敌方所受伤害 | 伤害吸收率 |
12 | 3.95 | 0.57 |
25 | 3.37 | 0.63 |
50 | 2.25 | 0.76 |
敌方DR | 敌方所受伤害 | 伤害吸收率 |
12 | 2.97 | 0.58 |
25 | 2.53 | 0.63 |
50 | 1.68 | 0.75 |
接下来是俺用上表数据推出来的回归方程:
伤害吸收百分比=51.24+0.475×DR