Lifesteal

From Terraria Wiki
Jump to navigation Jump to search

Lifesteal is an effect that heals the player for a portion of their damage dealt, and can be prevented by the Moon Bite debuff. Currently, there are 2 items that provide this effect: the Vampire Knives and the Spectre Hood.

Details

Whether a player can restore health with lifesteal effects depends on the lifeSteal variable. By default, it has a maximum value of 80 / 70 / 120, and recharges by 36 / 30 / 42 each second.[1][2] lifeSteal will reduce when the player deals damage with lifesteal items, and the player will not be able to receive lifesteal effects when lifeSteal reaches 0 or below. If the damage dealt is high enough, lifeSteal will be reduced to a negative value, and this will prevent the player from receiving lifesteal effects for some time. For example, if the player restored 100 health in one hit with lifesteal effects in Expert Mode, they will not be able to restore health with lifesteal effects for 1 second.

Furthermore, to trigger lifesteal effects, the target's maximum health must be more than 5, and its canGhostHeal parameter is set to true (which is the default setting). Hitting Target Dummies also does not trigger lifesteal effects.[3]

These NPCs have the canGhostHeal parameter set to false:[4]

Lifesteal items

Item Effect
Vampire Knives Vampire Knives Heals the player and reduces lifeSteal by 7.5% of the damage dealt, rounded down.[5]
Spectre armor Spectre armor
(with Hood)
Reduces lifeSteal by 20% / 8% of the damage dealt at most when wearing the armor set, rounded down. Only heals the player when the type of damage dealt is magic.[6]

Notes

  • Only the projectile's damage will trigger lifesteal effects. The debuffs caused by the projectile will not be considered.
  • Despite acting similar to a lifesteal weapon, the Bat Bat does not consume lifeSteal upon healing, and instead always heal the player for 1 health on hit.
  • The Life Drain, despite of its name and effect, provides health regeneration instead of lifesteal.

References

  1. Information taken from the Desktop version Desktop 1.4.3.6 source code, method Update() in Terraria.Player.cs.
  2. Information taken from the Desktop version Desktop 1.2.2 source code, method UpdatePlayer() in Terraria.Player.cs.
  3. Information taken from the Desktop version Desktop 1.4.3.6 source code, method Damage() in Terraria.Projectile.cs.
  4. Information taken from the Desktop version Desktop 1.4.3.6 source code, method SetDefaults() in Terraria.NPC.cs.
  5. Information taken from the Desktop version Desktop 1.4.3.6 source code, method vampireHeal() in Terraria.Projectile.cs.
  6. Information taken from the Desktop version Desktop 1.4.3.6 source code, method ghostHeal() in Terraria.Projectile.cs.