本文部分资料来自The Vault与GECK,部分数据查询自游戏源文件。敝人自己也做了一些计算和推测来修正结果。
转载请注明作者出处。 不管是辐射系列的新玩家还是老玩家,一定都对《辐射3》的伤害计算系统感到一头雾水吧:伤害到底怎么计算?玩家数值如何影响伤害?哪把武器杀伤最高?问题诸多,不一而足。有鉴于此,敝人作文为玩家解惑。
远程武器伤害
本文先从最基本的伤害计算谈起,在辐射3中,远程武器伤害的计算公式是:
远程武器伤害=Perk修正×武器基础伤害×伤害倍数×枪械状态惩罚×技能奖励+暴击奖励-敌方护甲吸收伤害
[li]Perk修正 - 顾名思义,就是Perk对武器伤害的影响,例如Entomologist让武器对昆虫的伤害加50%,那么此时的Perk修正数值就是1.5(值得注意的是,一些药品增加的伤害也照Perk修正来计算,如妖怪肉)。[/li][li]武器基础伤害 - 这个不用解释了吧?具体的伤害要用GECK查。[/li][li]伤害倍数 - 系统计算伤害时所乘的一个常数,默认值为1。[/li][li]枪械状态惩罚 - 武器状态对伤害的影响,这一项的计算方式是:枪械状态影响伤害基数+枪械状态影响伤害倍数×武器状态;其中枪械状态影响伤害基数和枪械状态影响伤害倍数在默认情况下是常数,其值分别为0.34和0.66。(注意:代入公式计算时武器状态要乘1,也就是说60%完好度在公式里要写成0.6。这点与下面的暴击率计算不同。)[/li][li]技能奖励 - 玩家技能(小枪,大枪,能量)对伤害的影响,具体计算方式为:技能影响伤害基数+技能影响伤害倍数×玩家技能÷100;其中技能影响伤害基数和技能影响伤害倍数在默认情况下是常数,其值均为0.5。[/li][li]暴击奖励 - 暴击对伤害的加成,没有暴击的话就没有这一项。出现暴击时伤害的具体计算方式是:暴击Perk奖励×武器暴击伤害;暴击Perk奖励就是指Better Criticals这样的Perk(貌似只有这一个?)对伤害的加成,武器暴击伤害则是武器本身的固有属性,需要使用GECK查询。另:暴击出现时无视敌方DR。[/li][li]敌方护甲吸收伤害 - [strike]这一项的计算相当复杂,而GECK wiki上的公式几乎可以肯定是错误的,敝人一开始的修正结果是:(护甲等级基数+护甲等级倍数×护甲等级)×(护甲状态基数+护甲状态倍数×护甲状态),其中护甲等级基数、护甲等级倍数、护甲状态基数以及护甲状态倍数均为常数,默认值分别为0.2、1、0、1;护甲等级即游戏中的DR。[/strike](俺用回归方程加实验数据推出的结果似乎不符合上述公式。因此这一部分等俺研究好了再谈。)[/li]
把这个公式的前半部分化简,就得到:
远程武器伤害=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的奖励。
另外在真正计算伤害时还要考虑到枪械的弹头数(霰弹枪),特殊效果(燃烧)等诸多因素,由于这只是篇基础文章,恕俺不作更具体的分析了。
近战武器伤害
和枪械伤害的计算不同,近战武器用的是另一个公式(空手也是):
近战武器伤害=Perk修正×(武器基础伤害×伤害倍数×近战武器状态惩罚×技能奖励+角色近战伤害基础值+近战手臂状态惩罚)+暴击奖励
[li]Perk修正,武器基础伤害,伤害倍数,技能奖励 - 和远程武器伤害公式里的基本相同,不再叙述了。[/li][li]近战武器状态惩罚 - 和上面的枪械惩罚略有不同,这一项的计算方式是:近战武器状态影响伤害基数+近战武器状态影响伤害倍数×武器状态;其中近战武器状态影响伤害基数和近战武器状态影响伤害倍数在默认情况下是常数,其值均为0.5。[/li][li]角色近战伤害基础值 - 这一项的数值会随玩家属性变化,基础值为:角色近战伤害力量倍数×(角色近战伤害力量补偿+力量值);其中角色近战伤害力量倍数和角色近战伤害力量补偿在默认情况下是常数,其值为0.5和0。装备等对近战伤害的影响加成其实是计算在这一项里。[/li][li]近战手臂状态惩罚 - 如果手臂受损或者残废的话,这一项就会对伤害产生影响,其计算方式为:武器基础伤害×(手臂状态伤害基数-1+手臂状态伤害倍数×手臂状态)÷2 ;其中手臂状态伤害基数和手臂状态伤害倍数在默认情况下是常数,其值分别为0.2和0.8。注意:这一项对伤害的影响最大只累积到10%。[/li]
同上,把这个公式的化简,就得到:
近战武器伤害=Perk修正×(武器基础伤害×伤害倍数×(0.5+0.5×武器状态)×(0.5+0.5×玩家技能)+0.5×力量+(武器基础伤害×(0.8×手臂状态-0.8)÷2)+暴击奖励
不过玩家在实际操作的时候没有必要使用这么复杂的公式,除了自动锯和自动斧以外的近战武器一般按照Pipboy上显示的伤害数值计算即可。
暴击率的计算
上文已经提到过,在计算武器对敌人造成的伤害时,有一点要考虑的就是这轮攻击有没有造成暴击,而在《辐射3》中,暴击出现的概率是以如下方法计算:
暴击率 = Perk修正×武器状态惩罚×基础暴击率×武器暴击系数+VATS奖励
[li]Perk修正 - 还是顾名思义,Perk对暴击判定的影响。[/li][li]武器状态惩罚 - 武器状态对暴击是否成功的影响,此项的计算方式为:武器状态暴击倍数×武器状态。(注意:代入公式计算时武器状态要乘10,也就是说60%完好度在公式里要写成6。这点与上面的伤害计算不同。)[/li][li]基础暴击率 - 人物属性等对暴击率的影响,计算方式为:幸运值影响暴击率基数+幸运值影响暴击率倍数×幸运值,其中幸运值影响暴击率基数和幸运值影响暴击率倍数在默认情况下是常数,其值分别为0和1。[/li][li]武器暴击倍数 - 武器的固有属性,具体的数值也要用GECK查询。注意:自动武器此项数值在计算时要除上射速,如突击步枪的暴击倍数为1,射速为8,那么其暴击率就是0.125。[/li][li]VATS奖励 - 默认状况下,使用VATS进行的攻击会自动增加15%的暴击率。[/li]
了解了这个公式,玩家下回就不会再对怎样提高暴击率感到迷惑了。
潜行暴击
《辐射3》中除了普通的暴击意外,还有一种特殊的潜行暴击,其出现条件非常简单:
潜行状态下的第一次攻击必然造成潜行暴击
而潜行暴击的伤害计算方法则是:
潜行暴击伤害=远程武器伤害×潜行伤害奖励
其中潜行伤害奖励的默认值为2;又由于暴击忽视敌方的DR,所以伤害计算公式的护甲部分被舍掉了。
Pip-Boy 3000中显示的武器伤害
这一部分目前尚未完成,不知2012前有没有机会....
实验数据,与其他内容无关:
名称
| 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
|
附录
上文公式中提及所有的数据皆可用GECK查询(Gameplay->Settings),为方便玩家,我在这里把各项数值的中文名与其GECK名共同列出:
伤害计算公式使用数据:
中文译名 | GECK中的名称 | 默认值 | 功能 | 伤害倍数 | fDamageWeaponMult | 1 | 武器影响伤害的系数 | 枪械状态影响伤害倍数 | fDamageGunWeapCondMult | 0.34
| 计算武器状态对伤害的影响 | 枪械状态影响伤害基数 | fDamageGunWeapCondBase | 0.66
| 计算武器状态对伤害的影响 | 近战武器状态影响伤害基数 | fDamageMeleeWeapCondMult | 0.5
| 计算武器状态对伤害的影响 | 近战武器状态影响伤害倍数 | fDamageMeleeWeapCondBase | 0.5
| 计算武器状态对伤害的影响 | 角色近战伤害力量倍数 | fAVDMeleeDamageStrengthMult | 0.5
| 计算人物力量对伤害的影响 | 角色近战伤害力量补偿 | fAVDMeleeDamageStrengthOffset | 0
| 计算人物力量对伤害的影响 | 手臂状态伤害基数 | fDamageArmConditionMult | 0.8
| 计算手臂状态对伤害的影响 | 手臂状态伤害倍数 | fDamageArmConditionBase | 0.2
| 计算手臂状态对伤害的影响 | 技能影响伤害基数 | fDamageSkillBase | 0.5 | 计算人物技能对伤害的影响 | 技能影响伤害倍数 | fDamageSkillMult | 0.5 | 计算人物技能对伤害的影响 | 潜行伤害奖励 | fCombatDamageBonusSneakingMult | 2
| 计算潜行暴击对伤害的影响 | 护甲等级基数 | fArmorRatingBase | 0.2 | 计算DR对伤害的影响 | 护甲等级倍数 | fArmorRatingMult | 1 | 计算DR对伤害的影响 | 护甲状态基数 | fArmorRatingConditionBase | 0 | 计算护甲状态对伤害的影响 | 护甲状态倍数 | fArmorRatingConditionMult | 1 | 计算护甲状态对伤害的影响 |
暴击率计算公式使用数据:
中文译名 | 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
|
对敌方进行伤害为7的攻击:
敌方DR
| 敌方所受伤害
| 伤害吸收率 | 12
| 2.97
| 0.58
| 25
| 2.53
| 0.63
| 50
| 1.68
| 0.75
|
接下来是俺用上表数据推出来的回归方程:
伤害吸收百分比=51.24+0.475×DR
最后总结一句:敝人不是游戏开发者,也不是啥Mod高手,所以上文有错误是正常的,欢迎大家批评指正。 |