【帝国时代2决定版】游戏机制——防御标签与伤害加成(伤害计算篇)

前言
加成与抗性一直是在选择兵种时非常关键的情报,举个简单的例子,我们经常用枪兵来反骑兵,用掷矛手来反弓兵就是因为他们拥有“对这些兵种的加成”。但是这个“克制”并没有显性地表现在游戏内(不像帝国3直接把加成倍率写在游戏内单位属性里),所以如果没有专门去测试或者用AGE[2]查看的话,是很难得到准确的数值和理解运算机制的。
至于去深入理解这部分的内容的原因,除了满足个人求知欲以外,了解这方面的内容对理解游戏、战术决策以及制作数据模组都是非常重要的。
这个游戏机制专栏的子系列就将从防御标签(Armor Class,护甲类型,为了避免跟平时说的护甲和下面的护甲列表混淆,本文称其为防御标签,下文简称为标签)着手,基于AGE和百科详细整合关于伤害加成、伤害抗性的内容以及我们可以从中得出的一些战术结论。
本篇作为概述,将包括以下内容:
单位标签列表。
游戏内所有标签。
科技、文明加成等的影响。
伤害的计算。
例:精锐诸葛弩攻击重型冲车。
标签列表
在解释计算方法之前,我们需要先了解一下计算的对象,不是根据面板属性,而是根据标签。
游戏中每种单位都有各自的攻击和护甲两个标签列表。我们以精锐甲胄骑兵为例,在AGE的单位页面搜索精锐甲胄骑兵,下拉属性页就能看到其攻击和护甲标签列表:

可以看到,精锐甲胄骑兵的攻击拥有6个标签:【对步兵12伤害】【近战12伤害】【对弓兵0伤害】【对建筑0伤害】【对标准建筑0伤害】【对意大利佣兵10伤害】;护甲拥有5个标签:【对近战抗性2】、【骑兵护甲16】、【远程护甲1】、【特色单位护甲0】,【对皇家骑士护甲0】。
可能有人觉得很奇怪为什么有一堆值为0的标签,其实大部分情况下这些标签都是会受到文明加成、科技加成等特殊外因影响的标签。比如说伤害标签中的【对意大利佣兵10伤害】是因为意大利佣兵有【步兵护甲10】但是意大利佣兵的设计意图中只想中和掉来自火药单位的【步兵伤害】,其结果就是火药单位拥有【对步兵10伤害】而没有对【对意大利佣兵伤害】,而其他对步兵有加成的单位大多拥有了【对意大利佣兵伤害】;再比如【对皇家骑士护甲0】的存在意义则是皇家骑士的攻击并不造成【类型4:近战伤害】,而是专属的【皇家骑士伤害】,通过给全部的兵种增加【对皇家骑士护甲0】来实现了所谓的 “穿甲”效果(其实并不是穿甲,而是所有的兵都没有甲)。
游戏内所有标签
知道了如何查看标签之后,下面我们列出目前游戏中出现的全部的标签[1]:
单位标签:
1 - Infantry,步兵
2 - Turtle Ship,龟船
3 - Base pierce,远程
4 - Base melee,近战
5 - War elephant,象
8 - Cavalry,骑兵
14 - Predator animals,攻击性野生动物
15 - Archer,射手
16 - Ship,船
17 - Ram,冲车
18 - Tree,树
19 - Unique unit,特色单位
20 - Siege weapon,攻城武器
23 - Gunpowder unit,火药单位
24 - Boar,野猪
25 - Monk,僧侣
27 - Spearman,长枪兵
28 - Cavalry archer,骑射
29 - Eagle Warrior,鹰勇士
30 - Camel,骆驼
31 - Anti-Leitis,反皇家骑士
32 - Condottiero,意大利佣兵
33 - Anti Gunpowder*,反火药单位(只有风琴炮的副弹有这个标签,而且伤害值高达1002)
34 - Fishing Ship,渔船
35 - Mameluke,马穆鲁克
36 - Hero and King,英雄和国王
建筑标签:
11 - Building,建筑
13 - Stone defense,石质防御建筑
21 - Standard building,标准建筑
22 - Wall and gate,墙和门
26 - Castle,城堡
科技、文明加成等的影响
虽然我们介绍了所有标签,但是在进行计算之前,我们还需要知道科技、文明加成等外因对标签值的影响,其变动可以为固定值也可以为倍率。
最常见的就是铁匠铺科技对【近战】和【远程】的影响了,攻击科技影响攻击标签中的值,防御科技影响护甲标签中的值。
很多大学科技也会对标签值造成影响,比如石匠、建筑学会增加建筑的【近战抗性】、【远程抗性】、【对建筑加成抗性】,预热射击会增加【对渔船伤害】和【对船伤害】,变动为×2.25或+4。其他还包括化学、攻城技师。
一些文明的加成和特色科技同样会对标签值造成影响,比如文明概览系列中重点讲过的缅甸的金冠、马来的银冠、萨拉森的团队加成等。
在AGE的效果页面可以查到以上的影响。一个比较复杂但是典型的例子的就是马来篇详细讲过的巨港对船只伤害加成的计算。
伤害的计算
在了解标签列表和影响因素之后,就可以正式开始解释伤害的计算了。
伤害的计算说简单其实也简单,其实就是比较单纯的加减法,只不过要算上全部的标签以及全部的外因,当一次攻击命中一个目标时:
筛选攻击来源的伤害标签列表和被攻击目标的护甲标签列表中共有的标签(没必要特殊对待近战和远程)。
对每个共有的标签对应值(科技、文明加成后的最终值)进行减法(来源伤害值-目标护甲值),若结果为负,则强制归0。
把所有标签的独立伤害加在一起,计算总伤害。
总伤害乘上伤害系数(默认100%,悬崖和海拔±25%),如果结果为小于1,则强制伤害1点。
对于比较喜欢看公式的玩家(有吗?)可以参考百科的公式:

那么下面,我们通过一个比较典型的例子来具体算一算伤害。
例:精锐诸葛弩攻击重型冲车
我们先看看精锐诸葛弩的攻击标签列表和重型冲车的护甲标签列表:

精锐诸葛弩的攻击拥有【对枪兵线2伤害】、【对标准建筑0伤害】、【近战0伤害】、【对骑兵0伤害】、【远程8(科技+6)伤害】、【对冲车0伤害】。

同时,在属性页下方“投射物(Projectiles)”部分可以查到精锐诸葛弩的副箭的ID为510,数量为4,搜索ID,可以查到副箭拥有【近战0伤害】、【远程3伤害】。

重型冲车的护甲拥有【近战,抗性-3】、【远程,抗性195】、【冲车,抗性2】、【攻城器,抗性0】、【反皇家骑士,抗性0】。
根据上面的步骤我们有:
精锐诸葛弩的攻击标签和重型冲车护甲标签共有的标签包括:【近战】、【远程】、【冲车】。
我们通过减法(以及负数归零)计算主箭各个标签的最终值:【近战3】、【远程0】、【冲车0】;副箭:【近战3】、【远程0】
把所有标签加在一起,我们得到主箭和4支副箭各造成3点伤害,一轮射击共造成15点伤害。
假设我们没有海拔和悬崖的系数加成,那么最终伤害就是一轮射击15点伤害。
总结
以上便是伤害的计算方法以及标签的基本知识。从下期开始,将分几期将全部的标签都详细写一遍,包括对标签加成的单位、拥有标签抗性的单位以及这些数据在实战的应用。
参考资料
[1] 百科,防御标签页:https://ageofempires.fandom.com/wiki/Armor_class。
[2] AGE数据查看/修改器:http://aok.heavengames.com/blacksmith/showfile.php?fileid=11002,汉化版可以到翔鹰下载
PS
在这么多篇提到防御标签的文明概览之后,终于可以来整合一下防御标签的内容了,不过最近事情有点多,没法一次写太多,每周一更还是可以的,不过单次内容不会跟以前一样多(5000字+)。另外,我写着写着突然地震了,真是刺激。