切换语言: Deutsch English Español Français 日本語 한국어 Русский Українська

伤害

From Official Factorio Wiki
Jump to navigation Jump to search

概述

在Factorio,实体有生命,可以死亡/被破坏,有抗性。伤害被定义为通过使用攻击来降低实体的生命的概念,例如用枪对它射击,或者食人虫咬它。一个实体的抗性将确切地定义实体将从任意攻击中减免多少伤害。

玩家的的最大生命值是250(没有能量盾)。其他实体的生命值被列在它们各自的条目中。

成就

伤害的概念直接与下列成就有关:

Run-forrest-run-achievement.png 你确定你有驾照?

撞倒树木一百棵(100)。

Pyromaniac-achievement.png 放火烧山,牢底坐穿!

烧毁树木一万棵(10k)。

Steamrolled-achievement.png 摧枯拉朽之势

撞毁虫巢十个(10)。

Golem-achievement.png 金钟罩铁布衫

单次受到500点以上伤害并存活下来。

Watch-your-step-achievement.png 迷之归西

被行进中的机车撞死。

伤害类型

伤害类型 用于
物理伤害 手枪、冲锋枪子弹(标准弹匣/穿甲弹匣/贫铀弹匣),霰弹枪 (标准霰弹/穿甲霰弹),食人虫,斧头 (铁斧镐/钢斧镐),防御无人机
碰撞伤害 碰撞(内燃机车/汽车的)
火焰伤害 火焰喷射器
腐蚀伤害 沙虫喷吐虫
毒性伤害 剧毒胶囊
爆炸伤害 标准火箭弹爆炸火箭弹标准手雷],集束手雷
激光伤害 激光炮塔, 掩护机器人/进攻机器人, 个人激光防御模块

穿透力

穿透力存在于坦克弹药和穿甲霰弹。它决定了在不能够继续前进之前,发射物能对敌人HP敌人造成多少伤害。为了穿透敌人,敌人必须被发射物杀死,杀死的伤害必须小于当前的穿透力。[1] 所处理的伤害也降低穿透力。例如,用一个有300穿透力的炮弹攻击一个有75生命值的中型食人虫,意味着炮弹将穿透4个中型食人虫,杀死它们,并且仍能摧毁/伤害又一个目标。

抗性

抗性有两方面:

减少,或"flat"抗性

减少抗性减少了指定数值的伤害,只要造成的伤害不会小于1。如果结果伤害会小于1,则使用另一个公式。 设R表示flat抗性,D表示输入伤害,m为计算flat抗性后修正伤害。然后

如果 R+1<D

M=D-R

否则如果 D>1

M=1/(R-D+2)

否则

M=1/(R+1).

如果flat抗性匹配或超过原始伤害,则修正伤害渐近为0,如下面的示例表所示:

伤害 flat抗性 修正伤害(有着0%抗性)
5 0 5
5 1 4
5 2 3
5 3 2
5 4 1
5 5 1/2
5 6 1/3
5 7 1/4
5 8 1/5
... ... ...

百分位抗性

百分位抗性减少了指定百分比的伤害。当两种抗性都存在时它被应用于flat抗性之后,从而改变上面的“修正伤害”值,将其降低指定的百分比。如果该值为100%,则该实体免疫伤害。作为一个例子,一个拥有25%物理伤害抗性的实体被用100物理伤害的一颗子弹击中,会受到75伤害而不是100。 设M表示从上述适用公式导出的修正伤害,P表示百分数抗性(以小数形式,所以25%=0.25),F表示最终伤害,然后

F=M*(1-P)

在Factorio,抗性以下列方式显示:

减免抗性/百分比抗性

所以,一个显示10/20%的火焰抗性的实体意味着该实体具有10的flat抗性和20%百分位火焰抗性。因此,如果所说的实体要受到30火焰伤害,那么在应用抗性后之后,它们会受到16伤害。

计算如下:

D=30, R=10, 所以 R+1=21<D=30, 然后我们对M使用上面第一个公式:

M=30-10=20

然后因为 P=20%=0.2, 我们获得

F=20*(1-0.2)=20*0.8=16

组合公式

用D表示原始输入伤害(适用类型的),R表示flat抗性(对适用类型的伤害),P表示小数形式的百分数抗性(对相同类型的伤害)(例如20%=0.2),并用F表示对目标的最终伤害(适用类型的)。

如果 R+1<D

F = (D - R) * (1 - P)

否则如果 D>1

F = (1 - P) / (R-D+2)

否则

F = (1 - P) / (R+1)