本文翻译自NetHackWiki的ArmorClass条目
与其他现代游戏采用防御值来减免伤害不同,NetHack沿用了龙与地下城中的护甲等级(Armor class俗称AC)这一属性来表示“你被怪物击中的概率”。AC越低,怪物击中你的几率越小。今天就来研究研究基于AC的命中计算方式。

在赤身裸体的时候,你的AC为10,大多数的防具都能降低你的AC,最好把它降到0以下,一套神装甚至会让你的AC降到-20,-30乃至-40。一个较高的AC数值并不能使你免除所有伤害,在降低AC的同时你也要尽力去获得各种抗性。实打实的说,”反射”就是一个很好用的抗性。

运作方式

当怪物攻击你时,它要投掷一个1d20的命中骰。若投出的数值小于一个特定的目标值,即为成功命中。在前几层的时候,目标值可以简单的算出:
目标值 = 10 + AC + 怪物等级
(怪物等级也等于它们所拥有的攻击骰个数)
比方说,你的AC为6,正在和一只1级哥布林干架。这时候目标值为10+6+1=17,即哥布林有80%的概率能打中你。
在更深层数的时候情况会变得更复杂,此时逐条进行以下运算:
如果你的AC为负数,公式变成了10 + (-1~你的AC之间的随机数) + 怪物等级

  • 如果怪物看不见你或被困于陷阱中,目标值减2(两项可叠加)
  • 如果你处于麻痹状态或者类似的状态,目标值加4
  • 如果此时目标值小于等于0,就将其设为1。注意此时仍无法命中,以为命中骰结果必须小于目标值。
  • 如果怪物使用武器攻击,那么它会获得所用武器对应的命中修正值。注意,该修正发生在上一条运算之后。
  • 如果一个怪物一轮内进行多次攻击,每次攻击的命中骰上限加1。如一个怪物一回合攻击你三次,第一次1d20,第二次1d21,第三次1d22。因此怪物额外攻击命中你的概率会随着攻击次数的增加而逐渐降低。

举几个更复杂的例子:

  1. 你有-5的AC,假设从-5到-1间随机选了个-3,再加10,得7。怪物等级为4,一回合攻击两次。7+4=11,两次攻击的目标值都为11,第一次命中骰为1d20=10<11,中了。第二攻击命中骰为1d21=12,没中。
  2. 你有-20的AC,-20~-1间随机选了个-17,加10得-7.怪物等级为1,相加得-6,小于0,设为1.怪物命中骰1d20=1,没中,出现特殊提示信息。(it “just misses”, rather than “misses”)
  3. 你有-20的AC,-20~-1间选了个-4,加10得6.怪物等级为1,加1得7.怪物命中骰为1d20=5<7,中了。

伤害减免

任何负数的AC都可以帮你承受伤害。以例3来讲,怪物对你造成五点伤害,此时你见面1d(AC绝对值)的伤害。若减免后的伤害低于1,那它被强制设为1,即怪物攻击你至少会造成一点伤害。(这些计算发生在物理伤害减半之前,如果你有这个加成,那你可能毫发无损)
所以这也是促使你降低AC的一个原因。

施工完毕:)