[矮人要塞]战斗公式的介绍
下列公式摘自wiki页面
https://dwarffortresswiki.org/index.php/DF2014:Weapon#Combat_formulae
https://dwarffortresswiki.org/index.php/Material_science#Effects_on_Combat
根据wiki里面的公式,以及相关演示,进行推断,我把公式的数值的单位添加上了,方便后续进行计算,注意密度单位在动量方程和穿甲判定方程里面是不一样的。
近战武器动量:
快速攻击使近战动量减半,野蛮和猛烈攻击使其增加 1.5
在近战中攻击一个俯卧的对手会使动量加倍。
远程武器动量:
其中,
w_density为武器的密度(远程武器动量方程式里为投射物的密度),单位为kg/m^3。
w_size为武器的尺寸(远程武器动量方程式里为投射物的尺寸),单位为cm^3.
i_Size为武器使用者的尺寸,单位为cm^3
Size为武器使用者种群的平均尺寸,单位为cm^3
Skill是基于技能等级逐渐上升的乘数,从基础的 1x,到泰斗级的(Grand Master) 2x
Str是生物的力量(例如矮人平均为 1250)
Vel是武器的速度乘数(如1.25x,2x)
SHOOT_FORCE是远程武器的 SHOOT_FORCE 常量,用来决定
它的最大动量,bow 和 crossbow 为 1000SHOOT_MAXVEL 是远程武器的 SHOOT_MAXVEL 常量,用来
决定它的最大速度,其中,弹药动能 = 弹药质量 * 弹药速度。bow 和
crossbow 为 200.
计算完动量之后,根据下列式子进行穿甲判定:
如果是锐器攻击,则进行下述判定:
其中
aSY,aSF,wSY,wSF分别表示盔甲的shear yield,shear fraction,武器的shear yield,shear fraction。因为这四个量在公式里是形成一个比例,所以取什么单位不重要,重要的是保持单位的统一。
A表示攻击的接触面积,是武器接触面积和盔甲/层接触面积的最小值。
Sha 是武器材料锋利乘数 (大多数金属是 1x,divine metal 是 1.2x,玻
璃是 1.5x,黑曜石是 2x,精金是 10x,其他材料是 0.1x)w_quality 是武器的品质乘数(normal quality 为 1x,fine 为 1.4x,
masterwork 为 2x,等等)a_quality 是盔甲品质乘数
如果判定通过,则动量降低大约5%,并穿透这一层,在下一层继续上述判定。如果判定未通过,则只在这一层将其转化为钝器攻击。
若攻击为钝器攻击,则进行下述判定:
其中
wIY表示武器的impact yield,单位为MPa,即raw value除以10^6
a_density表示盔甲的密度,单位为g/cm^3
如果判定未通过,则攻击在这一层被弹开。如果判定通过,则进行下述判定:
其中:
aIF,aIY为盔甲的impact fraction和impact yield,单位为MPa,即raw value除以10^6
如果判定通过,则动量降低大约5%,并穿透这一层,如果初始为锐器攻击,则下一层仍为锐器攻击。如果判定未通过,对于锐器攻击,动量将乘以 SHEAR_STRAIN _AT_YIELD/50000,对于钝器攻击,乘以IMPACT_STRAIN _AT_YIELD/50000,然后它将变成永久性的钝器攻击,并且传递到下一层。
粗略的画成流程图的话,大概是这样(图画的不好):
