欢迎光临散文网 会员登陆 & 注册

[矮人要塞]战斗公式的介绍

2023-01-27 20:11 作者:Rutubet4994  | 我要投稿

下列公式摘自wiki页面

https://dwarffortresswiki.org/index.php/DF2014:Weapon#Combat_formulae

https://dwarffortresswiki.org/index.php/Material_science#Effects_on_Combat

根据wiki里面的公式,以及相关演示,进行推断,我把公式的数值的单位添加上了,方便后续进行计算,注意密度单位在动量方程和穿甲判定方程里面是不一样的。


近战武器动量:

M%3D%5Cfrac%7BSkill%5Ccdot%20Size%5Ccdot%20Str%5Ccdot%20Vel%7D%7B10%5E6%5Ccdot(1%2B%5Cfrac%7Bi%5C_Size%7D%7Bw%5C_density%5Ccdot%20w%5C_size%7D)%7D

  • 快速攻击使近战动量减半,野蛮和猛烈攻击使其增加 1.5

  • 在近战中攻击一个俯卧的对手会使动量加倍。

远程武器动量:

M%3D10%5E%7B-5%7D%20%5Ccdot%20(w%5C_density%20%5Ccdot%20w%5C_size)%20%5Ccdot%20min(10%5E5%20%5Ccdot%20%5Cfrac%7BSHOOT%5C_FORCE%7D%7B20%20%5Ccdot%20w%5C_density%20%5Ccdot%20w%5C_size%7D%2C%20%5Cfrac%7BSHOOT%5C_MAXVEL%7D%7B10%7D)

其中,

  • 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 为 1000

  • SHOOT_MAXVEL 是远程武器的 SHOOT_MAXVEL 常量,用来
    决定它的最大速度,其中,弹药动能 = 弹药质量 * 弹药速度。bow 和
    crossbow 为 200.

计算完动量之后,根据下列式子进行穿甲判定:

如果是锐器攻击,则进行下述判定:

M%20%5Cge%20(%5Cfrac%7BaSY%7D%7BwSY%7D%2B(A%2B1)%20%5Ccdot%20%5Cfrac%7BaSF%7D%7BwSF%7D)%20%5Ccdot%20%5Cfrac%7B10%2B2%5Ccdot%20a%5C_quality%7D%7BSha%5Ccdot%20w%5C_quality%7D

其中

  • 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%,并穿透这一层,在下一层继续上述判定。如果判定未通过,则只在这一层将其转化为钝器攻击。

若攻击为钝器攻击,则进行下述判定:

2%5Ccdot%20w%5C_size%5Ccdot%20wIY%20%5Cgt%20A%20%5Ccdot%20a%5C_density

其中

  • wIY表示武器的impact yield,单位为MPa,即raw value除以10^6

  • a_density表示盔甲的密度,单位为g/cm^3

如果判定未通过,则攻击在这一层被弹开。如果判定通过,则进行下述判定:

M%20%5Cge%20(2%5Ccdot%20aIF-aIY)%5Ccdot(2%2B0.4%5Ccdot%20a%5C_quality)%20%5Ccdot%20A

其中:

aIF,aIY为盔甲的impact fraction和impact yield,单位为MPa,即raw value除以10^6

如果判定通过,则动量降低大约5%,并穿透这一层,如果初始为锐器攻击,则下一层仍为锐器攻击。如果判定未通过,对于锐器攻击,动量将乘以 SHEAR_STRAIN _AT_YIELD/50000,对于钝器攻击,乘以IMPACT_STRAIN _AT_YIELD/50000,然后它将变成永久性的钝器攻击,并且传递到下一层。

粗略的画成流程图的话,大概是这样(图画的不好):

穿甲判定示意图


[矮人要塞]战斗公式的介绍的评论 (共 条)

分享到微博请遵守国家法律