DungeonSettlers.wiki

中毒

Steam
中毒 图标

中毒

AFFECTER_Poison · 无 负面 游戏内可见

每层每 10 秒受到相当于 总最大生命值 的 1% 的无属性伤害。最多叠加 100 层。

计算原理

计数器每个节拍增加 1。达到 10 时,被动发布一次命中并重置计数器,因此中毒每 10 秒命中一次。该命中为单位最大生命值 x 中毒层数 x 0.01,为无伤害类型的固定数值。

生效时机: 只要效果位于单位身上,被动即订阅游戏的逻辑刷新节拍(正常速度下每秒一次)。

作用对象: 携带该效果的单位。该命中没有伤害类型,因此物理和魔法抗性都不适用于它。

工具提示不会告诉你的内容

  • 1% 是方法中的常数,乘以层数。数据行的 FloatValues (1) 未被读取,因此提示文字中的数字只是偶然与代码相符。
  • 随游戏发布的英文提示说的是每秒魔法伤害。代码和韩文设计说明都写的是每 10 秒无属性伤害。
  • 叠加:通用效果施加器会为已有中毒的单位,将新层数增加至数据行的 MaxStack(100),并且没有任何针对中毒的特殊处理,因此设计说明中的"不可叠加"在代码中并不成立。每层为命中增加最大生命值的 1%。
  • 在此版本中,没有任何技能数据行、特质或代码路径会施加中毒:AFFECTER_Poison 字面量仅由免疫检查和液体怪物被动加载。
  • 自 build 25846389 起,当效果被带到新地图时,10 秒计数器不会被重置,因此下一次命中保持其时序。新的中毒仍从 0 开始。该标志为 PassiveAction.IsTransferAttach(+0x51),为此版本新增。其名称和 v0.4.29 补丁说明("进度状态和内部计时器……在据点与地下城之间移动时不会重置")表明,它在被动通过地图传送重新附加时被设置。在切片中未找到对其设置函数的直接调用(写入已内联),因此未追踪它被设置的确切时刻。

从 build 25846389 的游戏二进制读取。 AFFECTER_Poison.Passive_Poison.OnEnable@0x96BBB4, AFFECTER_Poison.Passive_Poison.Damage@0x96BDB4, AFFECTER_Poison.Passive_Poison.<DamageRoutine>d__5.MoveNext@0x96BF04, Refactor.Tick.DataApply.AffecterApplier.Apply@0xAB0634

伤害计算方法

中毒 造成 typeless 伤害,等于 每层 1% 目标最大生命值,每 10 秒一次;它没有伤害类型,因此任何抗性都无法减免。它最多可叠加至 100 层,数值取决于目标的最大生命值,而不是施法者的攻击力。持续时间由施加该效果的技能决定。

每次命中伤害目标最大生命值的 1%
伤害类型Typeless,不受抗性影响
叠加最多 100 层
缩放依据目标最大生命值 (非施法者的攻击力)
跳间隔10 秒
持续时间由施加该效果的技能决定

效果

每层每 1 秒造成目标最大生命值 10% 的无属性伤害,因此任何抗性都无法减免它。最多叠加 100 层;随目标最大生命值缩放,而非施法者的攻击力。示例:对 500 生命值的目标施加一层,每 5 秒造成 10 点伤害。持续时间由施加它的技能决定。

原始数值: 1

属性

最大层数最多叠加100层
极性负面
有持续时间是
绝对(不可移除)否
对玩家可见是
可附着于建筑否

引用来源

效果: 中毒免疫 (Trait)中毒免疫

事件选项: 废弃魔力装置 ChoiceF28100

入手来源

施加方式: 由游戏系统自动施加。