游客你好,登录后能编辑wiki哦!

全站通知:

伤害与抗性

阅读

    

2022-04-25更新

    

最新编辑:a-c-k-ab-lb

阅读:

  

更新日期:2022-04-25

  

最新编辑:a-c-k-ab-lb

来自异星工厂WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索
页面贡献者 :
逗比的马老师
我爱五子棋37
印度的forsaken本人
a-c-k-ab-lb
Warning-icon.png
本页面正在施工中!您也可点击此处协助编辑,感谢各位对wiki的贡献。

概述

在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 迷之归西

被行进中的机车撞死。

伤害类型

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

穿透力

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

抗性

抗性有两方面:

减少,或"flat"抗性

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

如果 R+1<D 【写成D-R>=1应该更好看,另外应该是是>=,这里是<=。 -hhm】

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)