游戏之家 > 游戏库 > 钢铁雄心4

钢铁雄心4陆军伤害计算公式一览 陆军伤害怎么计算

 钢铁雄心4陆军伤害计算公式

虽然游戏中用了随机数,而随机实际上是一种概率模型。游戏中,陆军战斗中,会取 1~4 的随机数来计算每回合(小时)的伤害。而1~4的随机是等概率随机,也就是理论上roll 10000次,roll到1、2、3、4的次数是相同的。均为2500次。因此可以很简单做一个计算:(1+2+3+4)÷4 = 2.5。

它的意思就是随机1~4,多次积累下来的总数,平均每次为2.5。

本文针对的是组织度的计算,针对强度是同理的,无非将这个为2.5的随机数变为1.5再进行计算。

名词解释

伤害计算

1、战斗时分为攻击方与防御方。

2、攻击力:无论攻击或防御,都会用到软攻、硬攻来计算攻击力。

3、防御力:进攻方的防御力是突破,完全用不到防御。防御方的防御力是防御,完全用不到突破。

4、根据单位的软度/硬度分别计算受到的软攻/硬攻伤害部分。

模型

一个模型可以有很多种表达方式,在此使用一种便于想象的模型来表述

将攻击力看作攻击次数,防御力看作防御次数。双方每小时(称为回合)进行一次交火,会执行相应次数的攻击与防御。假设具体数值如下:

进攻方造成组织度伤害

00_defines.lua 中有如下定义:

LAND_COMBAT_ORG_DICE_SIZE = 4

LAND_COMBAT_ORG_DAMAGE_MODIFIER = 0.05

BASE_CHANCE_TO_AVOID_HIT = 90

CHANCE_TO_AVOID_HIT_AT_NO_DEF = 60

进攻方攻击力为100,攻击了100次,而防御方防御只有20,只进行了20次有效防御,另外80次攻击受到无防御时伤害。

有防御时伤害:有效防御发生时,每次攻击受到的伤害为 (随机数1~4可以当做期望值为2.5):

随机数×有效防御时被命中率×基本系数=

LAND_COMBAT_ORG_DICE_SIZE×(1-BASE_CHANCE_TO_AVOID_HIT)×LAND_COMBAT_ORG_DAMAGE_MODIFIER=

2.5×10%×0.05=0.0125

无防御时伤害:当防御次数耗尽时会受到无防御攻击,此时伤害为:

随机数×无防御时被命中率×基本系数=

LAND_COMBAT_ORG_DICE_SIZE×(1-CHANCE_TO_AVOID_HIT_AT_NO_DEF)×LAND_COMBAT_ORG_DAMAGE_MODIFIER=

2.5×40%×0.05=0.05

因此防御方受到伤害为20×0.0125+(100-20)×0.05=0.25+4=4.25

防御方造成组织度伤害

1、防御方攻击力仅40,进攻方突破为100。因此防御方对进攻方的攻击是全部处于有效防御范围内的。

2、一回合内40次攻击总伤害为:40×0.0125=0.5。

装甲单位伤害额外加成

defines中有一个参数

LAND_COMBAT_ORG_ARMOR_ON_SOFT_DICE_SIZE=6

游戏中单位分为装甲单位和非装甲单位。被分为装甲类型的单位,在攻击时在软攻方面有额外加成。

触发此加成有个条件:敌方的穿甲值不高于本方护甲值。

无视目标单位类型,无论是装甲单位还是非装甲单位,只要满足上面这些条件,就可以触发加成。

效果是: 伤害计算公式中的随机数最大值从4变为6。 但此伤害只作用于目标的软度部分。

随机数1~6的期望值为3.5。

我们继续使用之前的例子,并添加一些参数:

1、进攻方使用的是装甲单位。

2、防御方使用的是软度100%的单位。

3、防御方的穿甲不能穿透进攻方的护甲。

此时进攻方的伤害能力产生了变化:

1、每回合有效防御伤害:3.5×10%×0.05=0.0175。

2、每回合无防御时伤害:3.5×40%×0.05=0.7。

3、实际就是 有装甲单位伤害额外加成的单位 对非装甲部分能造成1.4倍的伤害。

软度/硬度

为了便于理解,只考虑一方的进攻力与另一方的防御力。

软攻攻击硬度70%的单位,只有30%的攻击有效,即1000×30%=300 次。

硬攻攻击硬度70%的单位,只有70%的攻击有效,即200×70%=140 次。

此时总攻击次数为:300+140=440 次。

因为防御方防御为500,因此所有伤害均为有效防御伤害:0.0125。

总伤害:440×0.0125=5.5。

若防御方防御为200有效防御伤害+无防御伤害200×0.0125+240×0.05=2.5+12=14.5

若进攻方有装甲伤害额外加成,防御方防御依然为200

此时需将软攻造成的伤害和硬攻造成的伤害分开计算。

软攻伤害部分+硬攻伤害部分14.5×(300/440)×1.4+14.5×(140/440)×1=13.84+4.61=18.45

或从头计算

( 有效防御软伤害+无防御软伤害 )×1.4+(有效防御硬伤害+无防御硬伤害)×1[300/440×200×0.0125+300/440×(440-200)×0.05]×1.4+[140/440×200×0.0125+140/440×(440-200)×0.05]×1