无敌帧
无敌帧(也被称为免伤帧)[a]是一段短暂的时间,在这一时段中实体无法受到任何伤害。它通常是在受到伤害后立即获得的。
玩家无敌
玩家会在受到任何来源的伤害后得到无敌帧。无敌帧的长度根据情况会有所不同;特定的物品也会在其效果触发时提供无敌帧。见下方获取详细信息。
无敌帧分组
一些伤害来源分组会造成单独的“类型”的无敌帧。这些不同类型的无敌帧不会互相干扰。绝大多数的伤害来源都被分类到同一组中(下方的“第 4 组”),但有三种其他分组:
- 多刺灌木
- 尖刺
- 木尖刺
- 仙人球(电脑版、主机版、和移动版)(仅限静止时的接触伤害)
- 仙人掌(仅在 The Constant(电脑版、主机版、和移动版)
和 Get fixed boi(电脑版、主机版、和移动版) 世界中)
例如,(在(电脑版、主机版、和移动版)中)若玩家从尖刺(上方的“第 1 组”)受到伤害,他在这段无敌帧期间不会受到接触仙人球(同样是“第 1 组”)的伤害,但他在这段时间内仍然会从敌怪处(“第 4 组”)受到伤害。
无敌帧长度
默认情况下,受到伤害通常会给予玩家 0.67 秒 的无敌帧。这一时间在受到的伤害为 1 时会减半,在 PvP 中则会更低。十字项链和其升级物会增加无敌帧的长度[b]。许多其他效果也会提供无敌帧,例如重生、闪避、格挡、或用坐骑造成伤害。见下表获取细节。
来源 | 默认[c] | 十字项链[d] | |
---|---|---|---|
受伤时的默认无敌帧[5] | 0.67 秒 | 1.33 秒 | |
若所受伤害为 1[5] | 0.33 秒 | 0.67 秒 | |
PvP伤害[e] | 0.13 秒 | 无 | |
在 PvP 中死亡后重生[6] | 5 秒 | 无 | |
在非 PvP 中死亡后重生[6] | 3 秒 | 无 | |
在进入世界时,或被传送回生成点时 (例:通过魔镜)[6] |
1 秒 | 无 | |
神圣防护(电脑版、主机版、和移动版)[7] | 1.33 秒[f] | 2 秒[f] | |
暗影躲避(前代主机版、和3DS版) | |||
黑腰带(和其升级物)[8] | |||
混乱之脑(闪避效果)[9] | |||
地狱之剑(电脑版、主机版、和移动版)(格挡)[10] | 0.5 秒 | 1 秒 | |
中士联盾(电脑版、主机版、和移动版)(格挡) | |||
诡药(电脑版、主机版、和移动版)[11] | 使用时以不同几率提供无敌帧:[f] 11%:4 秒 |
无 | |
同伴方块(电脑版、主机版、和移动版)(捅刺)[12] | 不提供 | 无 | |
史莱姆坐骑(电脑版、主机版、前代主机版、和移动版)(击中时)[13] | 0.1 秒 | 无 | |
羽翼史莱姆坐骑(电脑版、主机版、和移动版)(击中时) | |||
独角兽坐骑(电脑版、主机版、和移动版)(击中时)[14] | |||
花马坐骑(电脑版、主机版、和移动版)(击中时) | |||
骏马坐骑(电脑版、主机版、和移动版)(击中时) | |||
黑马坐骑(电脑版、主机版、和移动版)(击中时) | |||
山羊坐骑(电脑版、主机版、和移动版)(击中时) | |||
海盗船坐骑(电脑版、主机版、和移动版)(击中时) | |||
阴森树坐骑(电脑版、主机版、和移动版)(击中时) | |||
蛇蜥怪坐骑(电脑版、主机版、和移动版)(击中时) | |||
割草机(电脑版、主机版、和移动版)[15] | |||
高尔夫球车(电脑版、主机版、和移动版)(击中时) | 0.2 秒 | 无 | |
克苏鲁护盾(电脑版、主机版、和移动版)(猛冲击中)[16] | 0.07 秒 | 无 | |
耀斑盔甲(电脑版、主机版、和移动版)(猛冲击中) |
对敌怪的穿透攻击
敌怪能从“穿透”和持续攻击(任何可以击中敌怪并在随后依然能够造成伤害的伤害源)中得到类似但更有限的效果。
当敌怪被穿透射弹(可击中多次的武器、射弹、或仆从),游戏需要使用无敌帧来阻止敌怪每一帧都重复受到射弹的伤害(可能高达每秒击中 60 次)。在击中后,该敌怪会暂时免疫再次被击中,不过这一效果的持续时间通常都是几分之一秒,但这已经远远足以让大部分射弹穿过敌怪继续飞行了。极其缓慢的射弹可能仍然能击中同一个目标多次,但其无敌帧会阻止它们每一帧都被击中,因此这一行为是在预期之内的。射弹所造成的免伤时间可以被调整,以使得它更频繁或不那么频繁地击中。无敌帧不适用于非穿透攻击(例:仅能击中一次的普通的子弹)。[17]
在受到这种攻击后,此敌怪在短时间内就不再会从另一个此类攻击中承受伤害,这个时间通常为 1/6 秒(10 嘀嗒[18])。因此,在熔岩中或者被魔刺之类的持久性武器刺穿时,它们每秒最多承受 6 次伤害。但是,对于多体节的敌怪(通常是蠕虫类),此抗性是分别作用于每个体节的,因此此类攻击以然可以击中单个敌怪的多个体节。(请注意,任何情况下蠕虫类敌怪都是免疫熔岩的。)
全局免伤
默认地,游戏中的所有穿透性武器都在击中敌怪时造成“全局免伤”(Global Immunity)。这些敌怪在这一时段内会免疫所有来源的穿透伤害,包括其他类型的攻击。这一时段默认为 10 嘀嗒(0.17 秒),但可被更改以允许更频繁/更不频繁的击中。这是泰拉瑞亚最初的无敌帧系统的实现方式,不过随着时间推移,开发者在逐渐不使用此类免伤。全局免伤的一个缺点是它会“阻止”玩家使用不同类型的伤害来源造成伤害。除非被手动设置,否则游戏中的所有穿透射弹,尤其是较旧的哪些,都使用的是全局免伤系统。许多全局免伤射弹都是基于这一限制平衡的,它们造成的伤害比使用其他类型的免伤的要更高。
在 前代主机版和任天堂版验证中,全局免伤适用于几乎任何穿透射弹。这会极大地限制作用于同一目标的其他穿透性武器,以及发射多个穿透射弹的武器(如剧毒法杖)。大部分仆从也被视为具有穿透攻击,这也会影响与其一同使用的穿透性武器的效果。这一问题在蜘蛛法杖上极为显著。
静态免伤
部分穿透射弹被改为使用“静态免伤”(Static immunity)。这类免伤仍然会造成无敌帧,但这一无敌帧只会阻止那一特定类型的射弹(即具有同一 ID 的射弹)造成伤害。虽然在免伤时段期间,同一类型的穿透射弹无法多次击中,但来自任何其他类型的穿透射弹都将能造成伤害。类似于全局免伤,静态免伤的持续时间也可以按需更改。虽然静态免伤不会干扰其他来源的伤害,但在部分场合中发射多种同一类型的射弹仍然会降低效率。例如,使用海啸发射(造成静态免伤的)小丑之箭会导致仅有其中一支箭击中,因为在其中一支箭击中敌怪后,它会暂时对小丑之箭免疫,导致其他箭穿过它。大部分使用静态免伤的射弹都依此被平衡。
局部免伤
第三种穿透射弹行为被称为“局部免伤”(Local immunity)。它仍然会造成无敌帧,但这一无敌帧只会适用于造成伤害的特定的那一个射弹。例如,若有两个同一类型的仆从使用局部免疫,每个仆从都会依照其自己的免伤计时来运作;它们完全不会互相干扰,也不会阻止任何其他类型的穿透伤害。局部免伤射弹永远不会影响玩家使用其他射弹击中目标,也不会让发射大量的局部免伤射弹的效率降低或无法击中。不过,由于此游戏历史上大部分时间都未使用此系统,几乎所有穿透性武器都没有依照它来平衡。
特殊情况
在 电脑版、 主机版、和 移动版中,召唤物不会影响其他的穿透性武器,但穿透性武器仍然有可能影响召唤物的效果。
一些高级武器具有特殊行为:
非玩家实体间的无敌帧
非玩家实体也会在受到接触伤害后获得无敌帧。这一无敌帧不会和来自穿透攻击的无敌帧相干扰。无敌帧的长度为:对于永恒水晶(电脑版、主机版、和移动版)为 0.33 秒,对于所有其他实体(包括小动物、城镇 NPC、和敌怪)为 0.5 秒。[19]
仅有少数几种方式能产生这种类型的无敌帧,包括:
- 小动物和城镇 NPC 从敌怪处受到接触伤害。
- (电脑版、主机版、和移动版)永恒水晶从敌怪处受到伤害。
- (电脑版、主机版、和移动版)蜜蜂攻击敌怪。
历史
- 电脑版 1.4.1.2:来自熔岩的伤害现在和其他伤害来源分开,具有独自的无敌帧分组。
- 电脑版 1.3.0.5:伤害性图格(多刺灌木、尖刺、和木尖刺)的伤害现在和其他伤害来源分开,具有独自的无敌帧分组。
- 电脑正式版:引入。
参考
- ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.GameContent.DontStarveDarknessDamageDealer.cs
中的Update()
方法。 - ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.Player.cs
中的ApplyTouchDamage()
方法。 - ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.Player.cs
中的Update_NPCCollision()
方法。 - ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.Player.cs
中的Update()
方法。 - ↑ 5.0 5.1 信息来自 电脑版 1.4.4.9 源代码,
Terraria.Player.cs
中的Hurt()
方法。 - ↑ 6.0 6.1 6.2 信息来自 电脑版 1.4.4.9 源代码,
Terraria.Player.cs
中的Spawn()
方法。 - ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.Player.cs
中的ShadowDodge()
方法。 - ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.Player.cs
中的NinjaDodge()
方法。 - ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.Player.cs
中的BrainOfConfusionDodge()
方法。 - ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.Player.cs
中的Update_NPCCollision()
方法。 - ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.Player.cs
中的ApplyLifeAndOrMana()
方法。 - ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.Projectile.cs
中的AI_067_FreakingPirates()
方法。 - ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.Player.cs
中的JumpMovement()
方法。 - ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.Player.cs
中的HorizontalMovement()
方法。 - ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.Player.cs
中的MowTheLawn()
方法。 - ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.Player.cs
中的DashMovement()
方法。 - ↑ Terraria: Labor of Love is Out Now! 2022 年 09 月 28 日
- ↑ 嘀嗒是可由软件计数的时间单位。《泰拉瑞亚》的大多数更新逻辑都会每嘀嗒发生一次。一个嘀嗒的长度为 1/60 秒,因此一秒钟内有 60 嘀嗒,一分钟内有 3600 嘀嗒。
- ↑ 信息来自 电脑版 1.4.4.9 源代码,
Terraria.NPC.cs
中的BeHurtByOtherNPC()
方法。
- ↑ 译注:英文名称包括 invincibility frame, immune frame, immunity frame, invulnerability frame; 有时简写为 iframe 或 i-frame
- ↑ 十字项链和其升级物不会互相叠加。
- ↑ 默认提供的无敌帧。
- ↑ 装备十字项链或其升级物时提供的无敌帧。“无”意为不受十字项链影响。
- ↑ 包括来自另一玩家的伤害和自己造成的伤害,例如爆炸物和(前代主机版、和3DS版)爆破弹。
- ↑ 6.0 6.1 6.2 提供所有类型的无敌帧。信息来自 电脑版 1.4.4.9 源代码,
Terraria.Player.cs
中的SetImmuneTimeForAllTypes()
方法。