《全面战争:战锤3》详解(2):战车/非战车冲锋篇

绝大部分单位都拥有冲锋能力,冲锋会在一段时间内提高单位的输出能力
冲锋造成的伤害分两部分
1,带有冲锋加成的平A伤害
2,冲锋时模型碰撞时造成的伤害。(非战车造成冲击伤害,战车造成碰撞伤害)
目录:
一:冲锋状态判定以及冲锋加成介绍
1,冲锋距离
2,冲锋状态
3,冲锋速度
4,加速/减速能力
5,冲锋加成
二:冲击伤害及有关数据介绍
6,质量
7,冲击伤害
三:碰撞伤害及有关数据介绍
8,碰撞攻击伤害规则
9,碰撞攻击计数规则
四:其他相关数据
10,组合模组
11,抵御冲锋技能
12,站定规则与冲锋抗性
13,反制冲锋
一:冲锋状态判定以及冲锋加成介绍
1,冲锋距离:隐藏数据,单位跑动状态下,与敌人小于等于冲锋距离时会进入冲锋状态,普通单位的冲锋距离一般在四十到五十左右。
进入冲锋状态的距离下限目前并不明确,据个人实验很有可能没有下限,骑兵哪怕从站定状态只跨了一步就撞上敌人依然会触发冲锋状态,虽然在冲击效果上,可能因为加速不完全导致冲击力欠佳。
结论依据:data.pack/db/battle_entities_tables/Charge Distance Commence Run
2,冲锋状态:在冲锋状态下,单位会选择你设定的冲锋对象的一个模组为冲锋目标。此时,模组的移动速度会从面板上的跑步速度提升为隐藏的冲锋速度,并会对冲锋状态下发生碰撞的敌方模组造成冲击伤害或碰撞伤害(两种模型碰撞伤害详见下文)
单位在冲锋状态下还会获得15点额外士气,100%冲锋加成。
当单位接触到了自己的冲锋目标,或者因为各种原因冲锋奔跑被迫强制中断时(比如有第三者半路杀出来强行把单位停住),冲锋状态结束。
附1:虽然原版目前这种情况没有观察到,但是冲锋状态没有时间上限,所以如果甩不开,又追不上,又没有人把冲锋单位停住,冲锋状态会一直持续下去。
附2:士气+15在发生碰撞后在单体身上会继续存在几秒钟,在多模组骑兵身上时间更久,可能是因为某些模组冲锋状态结束的晚的原因。
结论依据:自制mod实验。
3,冲锋速度:当单位从奔跑状态进入冲锋状态时,速度会从面板上的奔跑速度调整为冲锋速度。

单位的三个速度是独立设置的,所以单位的冲锋速度和它奔跑速度的快慢没有什么直接关系。
比如在写作版本中,龙王子的默认移速为78,默认冲锋速度为108
碾颅者默认移速为62,默认冲锋速度却有110,几乎翻了一倍,比龙王子还要高。

另外鉴于冲锋速度和移动速度是两个独立的属性,两者的加成和减益buff都是不会互相影响的

这意味着如果在战役中你把移动速度buff叠的很高,发动冲锋时可能反而会减速
同时即使你把刚牛的移速降低了90%,在跑到刚牛面前跳踢踏舞之前,先确定一下刚牛的冲锋速度是否也降低了,否则一旦你走到刚牛40米范围内,触发他的冲锋,他就会在两秒内从6提速到110,然后一头创死你。
结论依据:data.pack/db/\battle_entities_tables/Charge Speed。
4,加速/减速能力:隐藏数据,加速或者减速都不是一蹴而至的,会有一个变速的过程,每个单位都是独立设置的加速和减速速率,(比如刚牛和龙王子加速能力均为50,减速能力均为60,帝国之花加速能力为20,减速能力为40,这个值没标注时间,个人觉得应该是秒),拥有高变速速率单位可以在受到威胁时迅速起步,或在冲锋距离很短时迅速提至满速迎接敌人。
总体来讲,移速高,或是对变速能力有高需求的单位更适合收集“健步”这种技能,比如刚牛这种发动冲锋时移速几乎翻倍的单位就比较容易在发生碰撞时达不到满速。

结论依据:data.pack/db/\battle_entities_tables/Acceleration和Deceleration
5,冲锋加成:冲锋加成是单位在在冲锋后短时间内获得的近战能力加成,是骑兵的主要输出手段。

冲锋状态开始时,单位会获得100%冲锋加成,这一属性的值将会被加成到近战攻击和武器威力这两项上,获得的武器威力的破甲比例和原武器的破甲比例相同。
当冲锋状态结束时(详见“冲锋状态”),单位的冲锋加成会开始衰减,在13秒钟的时间内从100%匀速线性衰减至0%。
比如写作版本高等精灵龙王子正常情况下攻击为44,武器威力为44,冲锋加成为80,所以在冲锋撞击时它最高会拥有124的近战攻击和124的武器威力,额外的部分会在13秒的时间内匀速衰减,最终衰减至冲锋之前的44,如果对于近战攻击,武器威力等属性具体意义不明的话,可以移步至基础近战篇。
附1:当你选择的目标是已经溃败或者受到惊骇的单位时,你的单位无法发动冲锋(虽然靠的足够近的时候依然会触发冲锋动作),但这些单位受到任何攻击时都默认承受对方120%的冲锋加成,恶魔或者亡灵的烧血状态不会受到这一条的影响。
附2:(请结合碰撞伤害介绍阅读)冲锋加成衰减的开始时冲锋状态的结束,所以单位不撞上冲锋目标前冲锋加成不会衰减,战车可以利用这一点故意选择较远的目标,这样只要撞上较近目标时已经进入冲锋状态了,战车就会以0衰减的满冲锋碾过较近的目标。
附3:(请结合冲击伤害介绍阅读)相比战车在冲锋状态过程中也能靠冲锋加成打伤害,骑兵冲锋状态中的模型碰撞伤害却和冲锋加成无关,所以骑兵的冲锋加成究竟是冲锋状态开始时获得的还是结束时获得的没啥区别
附4:色孽种族技能,致命迂回者:侧面背面袭击提高100%冲锋加成启动与否是严格按照某次攻击发生时双方模组的方向进行判定的。
换而言之,如果你背冲了一个敌人,第一刀砍出了两倍冲锋,然后敌人转过身和你面对面了,第2刀致命迂回效果就不启动了
如果你正面冲了一个敌人,并没有砍出双倍冲锋,但是第2刀砍出来之前敌人因为各种原因侧身或背身对着你了,第2刀还是会启动致命迂回造成双倍冲锋(虽然这时候已经不是满冲锋了)感谢wodwd对这一细节的测试
结论依据:自制mod实验以及data.pack/db/land_units_tables/Charge Bonus 和data.pack/db/_kv_rules_tables/charge_cool_down_time
白旗冲锋加成在data.pack/db/_kv_rules_tables/pursuit_charge_bonus_modifier这一行。
二:冲击伤害及有关数据介绍
6,质量:游戏中的实体拥有质量(就像现实世界中的质量一样),质量和冲锋速度这两个值共同影响士兵的冲锋时的冲击力(撞倒敌人的能力 ),正常移动时推开甚至推倒敌人的能力和冲锋过程中发生模型碰撞时造成的的冲击伤害。

目前质量显示作为一个新机制有BUG,因为CA的大部分模组是由多个模组组合而成的(骑兵由马和骑士组成,战车由车体,马,乘客组成,很多巨兽背上也有一大堆投牙签的乘客),每个部分都有自己的质量,不过组合模组的实际质量是其中生效优先级最高的子模组,但CA的显示板目前显示的质量是所有子模组的质量和
这个优先级在land unit 中:如果articulated record有数据,该组合模组生效的就是对应entity的重量(这个是战车挂在马匹身上杆子的重量),如果没有数据,生效的就是battle engine的重量(战争机器:战车车身,坦克等等),如果也没有,生效的就是mount的重量(坐骑),如果以上皆没有,那它就不是一个复杂模组,生效的就是自身质量,这也是CA这次的质量显示板中唯一正确的一类了
结论依据:data.pack/db/battle_entities_tables/Mass,几种质量优先级的配置位置在data.pack/db/land_units_tables的articulated record,engine和mount三列。
7,冲击伤害:
非战车单位在冲锋状态下会对体型等级小于等于自己的单位造成冲击伤害(体型等级分类详见整体规则:体型等级),该冲击伤害基与双方冲锋速度与质量比。(有些巨兽的普通攻击动作看上去非常diao,把步兵打得满天飞,但实际并无冲击伤害)
冲击力公式:单位2对单位1的冲击力=(速度1+速度2)×(质量2÷质量1)
冲击伤害公式:单位2对单位1的冲击伤害=(单位2对单位1的冲击力)^0.8x0.6,冲击伤害破甲率为70%.
附1:冲击伤害上限为70。
附2:受到冲锋的角度会影响冲击效果,使撞倒每个单位时损失的速度更低,以此撞倒更多的模组,变相提高对步兵群的冲击伤害(详见11:站定规则)。
但对单个模组来说,只要发生撞击时相对速度和相对质量比恒定,受到撞击的角度不会影响实际冲击伤害。只有抵御冲锋提供的100%质量加成才会被记入冲击伤害计算公式,在发动成功时2减少42.6%的冲击伤害。
结论依据:CA2021年9月22日专栏,0.8,0.6两个系数可以在data.pack/db/_kv_rules_tables/collision_damage_modifier和collision_damage_normaliser行修改,最大伤害,破甲率在data.pack/db/_kv_rules_tables/collision_damage_armour_penetration_ratio和collision_damage_maximum行。
三:碰撞攻击及有关数据介绍
8,碰撞攻击伤害规则:冲击伤害缺乏成长性,在大部分情况下无法通过刷刷刷提高。所以战车这种依靠模型碰撞伤害打输出的单位拥有“碰撞攻击”规则:这是一种依靠模型碰撞来触发的普通攻击。这些单位会对与他们发生模型碰撞的一部分模组造成碰撞伤害来取代冲击伤害。

碰撞攻击单位可以在冲锋状态和普通攻击动作造成的模型碰撞中触发碰撞攻击(普通移动时不会触发碰撞攻击!),对发生碰撞的敌方模组进行普通攻击的攻防判定,如果判定击中,就会对目标模组造成一次碰撞伤害,攻防判定没有过,那就像近战miss一样不造成碰撞伤害。
碰撞伤害公式为:碰撞伤害=(武器威力+即时冲锋加成+反大或反步)÷碰撞伤害最大个数
换而言之,碰撞伤害就是碰撞攻击单位当时武器威力的一定百分比,具体是百分之多少取决于“碰撞伤害最大个数”这个值,程序上来说,碰撞伤害个数这个值大于0的单位就能进行碰撞攻击。
并且像上文中说的一样,碰撞攻击和冲击伤害是取代关系,如果一次撞击触发的是碰撞攻击判定,那这次撞击就不会进行冲击伤害结算。所以如果触发碰撞攻击判定但攻防未命中,这次模型碰撞就没有伤害了
以写作版本帝国蒸汽坦克为例,它的碰撞伤害上限为4,所以在冲锋中发生碰撞时,如果攻防判定成功,它对发生撞击的步兵会造成[200(武器威力)+18(反步兵加成)+80(满冲锋加成,之后再撞上人会按照上文的衰减机制衰减)]÷[4(碰撞伤害上限)]=75点碰撞伤害,伤害的属性和破甲率自然而然会继承碰撞攻击单位本身武器威力的对应属性。
附1:和骑兵冲锋不同的是,很多战车冲锋过程中是没有攻击动作的,比如帝国蒸汽动力坦克,这意味着撞人是他们在冲锋过程中造成的唯一伤害。所以在使用冲锋撞击单体时,坦克仅能造成75碰撞伤害,不会正常造成武器威力伤害,输出远低于它正常的平A伤害。
结论依据:大量测试以及data/db/melee_weapons_tables/Collsion Attack Max Targets行数据
9,碰撞攻击计数规则:被碰撞攻击单位撞上并不一定适用碰撞攻击判定,碰撞攻击单位并不会对每个发生模型碰撞的敌方模组都进行碰撞攻击判定。
游戏中拥有“碰撞伤害最大个数”和“碰撞伤害冷却速度”两个值
碰撞伤害最大个数:它对于伤害的影响上文已经罗列,不再重复叙述。对计数来说,碰撞伤害最大个数等于该单位“碰撞攻击计数器”的上限,碰撞攻击单位每进行一次碰撞攻击判定,计数器数字便加一,当碰撞攻击计数器到达上限时,碰撞攻击单位就无法继续造成碰撞伤害了,此时碰撞时造成的伤害就是冲击伤害。
碰撞伤害冷却速度:它是一个自然数,碰撞攻击计数器每秒钟都会移除和该值相等的个数,随时间的推移来让碰撞攻击单位获得更多造成碰撞伤害的机会。
以蒸汽坦克为例,它的两个值都是4,所以坦克的碰撞伤害计数器上限是4,同时该计数器的值会以每秒4点的速度减少,随着时间的推移创造更多发生碰撞伤害的机会
所以冷却速度越高越好。但碰撞伤害最大个数的提高虽然会扩充计数器上限,却会同时降低碰撞伤害。
附1:判定失败的0伤害同样会占用计数器位置。
附2:近战阶段不会造成冲击伤害,所以近战阶段如果计数器到达上限,应该造成冲击伤害时就不会造成任何伤害。
结论依据:大量实验以及data/db/melee_weapons_tables/Collsion Attack Max Targets和Collsion Attack Max Targets Cooldown.
四:其他相关数据
10,组合模组:组合模组指同一模型由大量模组组合形成,比如所有背上带射击单位的巨兽,战车几乎都是组合模型,组合模组涉及到一个新概念:多近战点。很多战车给人的第一感觉是:武器威力为什么这么低?答案就是很多战车不止一个近战武器在A人,看上去300威力,给人感觉拉胯,但实际很多时候战车有两个,甚至三个300威力,互相独立的武器在打输出。
战车近战武器可分为以下两种:
坐骑伤害:制作战车时,需要配置坐骑,以及坐骑的数量,CA有一个全局设置:所有的坐骑共享一倍武器伤害,如果某辆战车有一匹马,那这匹马就有100%伤害,两匹马就是各50%,4匹马就是各25%,马多降低潜在的伤害溢出,但如果在攻击太小的敌人时可能会导致只有一半的马在输出(说的就是你,喀穆里外号王)
乘员伤害:战车上绝大部分有攻击动作的成员近战都是一倍面板武器威力伤害,除非CA为一些特定模组单独配置了近战武器(这是非常少见的),但有一些乘客只是装饰的不会攻击,想知道哪些会攻击,哪些不会攻击就得注意观察。比如黑马车背上坐着一个恶灵,那两匹马加上恶灵就总共可以造成两倍武器威力的伤害,白狮战车上有两个白狮禁卫,但有一个是打酱油的所以还是只有两倍输出。
附1:另外因为是复杂模组,所以在跑的是战车不是战车背上的成员,因此尽管马车在跑的时候马是没法咬人的,但是车背上的成员只要有敌人进入攻击范围就会输出
附2:有一些战车不但马咬得到人,后排坐着的人也可以砍到前面,比如吸血鬼的幽冥引擎上的两个怨灵,我认为这是对它作为单体120的拉跨武器威力的补偿
附3:组合模组的默认乘客和坐骑,战车视为同一个模组,但当有多个乘客时,多余乘客视为独立模组,所以如果有高穿透性弹丸能同时击穿多个乘客,该远程射击就会对该复杂模组造成多倍直接命中伤害。
结论依据:通过land_units_officers_tables和land_units_additional_personalities_groups_junctions_tables和battle_personalities_tables和battle_entity_stats_tables等表格综合实现。
11,抵御冲锋技能:一些单位拥有抵御冲锋技能,他们在原地站定时(兵牌上出现小盾牌)会启动抵御冲锋技能,启动时前方160度受到冲锋撞击时会获得100%的额外质量,并无视对应体型等级单位的冲锋加成。

所以抵御冲锋发动成功的优势在三方面
1,可以无视冲锋加成,降低敌人冲锋以及之后的平A的输出,以及碰撞攻击单位碰撞攻击发动的成功率(没冲锋加成——近战攻击低了——更容易判定失败0伤害)
2,提升质量,发生撞击时更不容易被推开或推倒,保护阵线
3,降低冲击伤害因为提升100%的质量,可以降低受撞击模组承受的42.6%的冲击伤害,并让敌人能碰撞的模组更少。
附1:抵御冲锋生效的条件有两个:处于正确的角度和站定状态。但是一些士兵的自发行为,比如侧面背面受到攻击后转身并不算是移动。
所以如果一个抵御冲锋的单位在站定的情况下被人脑后拍砖,并且没有被击倒,自动转身接战的话,他的抵御冲锋在转身面对敌人之后已经符合两个条件(站定+面对敌人),因此可以在后续的受击中生效
结论依据:data.pack/db/_kv_rules_tables的bracing_attack_angle以及bracing_charge_reflector_bonus
12,站定规则与冲锋抗性:站定带来的冲锋抗性也是抵御冲锋时重要的抗击倒手段,land unit中can brace的属性打勾的单位拥有站定能力,(所有步兵加上绝大部分怪步,一些巨兽拥有站定能力)并且抵御冲锋特性会直接给予无站定能力单位站定能力。

可以站定的单位在站定时拥有站定等级与冲锋抗性系数
逛街时站定不生效,冲锋抗性0%。
当这些部队站定时,他们会拥有站定等级1,100%冲锋抗性,随着站定时间的上升,站定等级也逐步提升,最高上升至8(上升至最大值所需时间未知,但据测试非常非常短,基本盾牌图标出现就是8级了),此时冲锋抗性系数会上升至4(单位拥有400%的冲锋抗性)。
冲锋抗性不会提高质量,不会降低单个模组受到的冲击伤害,不会无视对方的冲锋加成,但它会巨幅降低这些士兵发生模型碰撞时被挤开以及击倒的可能性,即使被成功击倒,相比没有站定,冲锋方也会损失大量的速度
这种减速可以变相降低多模组兵牌受到的冲击伤害:因为冲击伤害和速度有关,如果撞飞第1个步兵时损失了大量速度,撞上第2个步兵时造成的冲击伤害会大幅降低
同时速度的降低,导致不站定时一波冲锋可能能够撞上60个模组,站定了可能总共只能撞到20个,受到冲击伤害的模组数也降低了
以写作版本的恐虐辗颅者和沙皇禁卫为例,对冲状态下,前者能对沙皇禁卫造成2000上下的冲击伤害
沙皇禁卫站定的前提下,刚牛的冲击仅能造成300左右的冲击伤害。
同时冲锋抗性的效果也和受撞击的角度有关。
侧面受到撞击时,站定单位冲锋抗性带来的抗击倒能力相比正面受撞击时会有所下降。
背面受到撞击时,站定带来的冲锋抗性几乎无效,会和没有站定一样轻易被撞倒。
当然,打铁还需自身硬,如果时一般的无抵御冲锋步兵的话,即使是160的质量,靠正面站定卡住重骑兵,或者怪兽骑兵已经是极限了,但如果一个高质量单体,比如猛犸拱进来,站定抵御冲锋碎铁勇士恐怕都得破阵。
附1:冲锋抗性降低的是模型碰撞击倒概率,不降低平A击倒(详见整体篇击倒规则),所以只要有平A击倒能力的单位,步兵即使靠冲锋抗性挺过了冲锋,依然会很容易地被平A不断击倒导致缓慢破阵
附2:冲锋抗性拥有最大值,最高为1000%。
附3:带冲锋抗性百分比增强的技能(玉勇防御姿态,泰格里斯荷斯魅力)都是以站定提供的冲锋抗性为底数计算的,换而言之,玉勇防御姿态生效时,最大冲锋抗性为400%×1.25=500%,同理即使荷斯魅力是持续生效技能,对移动中的单位也没用,因为那些单位根本没有基础冲锋抗性。
结论依据:data.pack/db/_kv_rules_tables的bracing_calibration_ranks以及bracing_calibration_ranks_multiplier,单位是否用有这个能力由data.pack/db/land_units_tables中can brace是否打勾决定
13,反制冲锋技能:拥有反制冲锋的单位,在站定条件下,他们的普通攻击会对冲锋状态下,以及冲锋加成系数大于0.7的敌人造成2倍伤害。
值得一提的是,如果单位有反大和反步,这个伤害翻倍会在计算了反大反步之后翻倍
也就是反制冲锋启动后的实际伤害=(武器威力+反大反步)*2
在反制冲锋的持续时间上,反制冲锋对冲锋加成大于满值70%的模组生效,结合charge_cool_down_time=13和线性衰减机制计算:反制冲锋伤害加成会对冲锋状态下以及冲锋状态结束后3.9秒内的单位生效,抵御冲锋技能的成功与否不会影响该技能的生效。
结论依据:data.pack/db/_kv_rules_tables/charge_reflect_damage_multiplier和charge_reflect_min_charge_factor_threshold