Summary
Lifesteal appears to be calculated from the full raw damage of a hit, not from the damage actually applied to the target's remaining HP. This means overkill damage still counts toward lifesteal, allowing massive heals from killing low-HP targets with high-damage attacks/abilities. Tested with Infuser, Leach and other lifesteal items.
Expected behavior
Lifesteal should be based on damage actually dealt to the target (capped at their remaining HP). Killing a 100 HP enemy with an 1000-damage hit at 80% lifesteal should heal for 80 HP (80% of 100), not 800 HP.
Actual behavior
Lifesteal is calculated from the raw damage number, including overkill damage.
(((seems like a bug to me.)))
Steps To Reproduce
Lifesteal appears to be calculated from the full raw damage of a hit, not from the damage actually applied to the target's remaining HP. This means overkill damage still counts toward lifesteal, allowing massive heals from killing low-HP targets with high-damage attacks/abilities. Tested with Infuser, Leach and other lifesteal items.
Expected behavior
Lifesteal should be based on damage actually dealt to the target (capped at their remaining HP). Killing a 100 HP enemy with an 1000-damage hit at 80% lifesteal should heal for 80 HP (80% of 100), not 800 HP.
Actual behavior
Lifesteal is calculated from the raw damage number, including overkill damage.
(((seems like a bug to me.)))
Steps To Reproduce
- Go to sandbox mode and select any hero with high damage ability. Even Rem's 1 can do.
- Buy Boundless Spirit and Infuser (to get high numbers for easier debugging).
- Spawn an enemy hero in the sandbox ( I used Paige).
- Lower their health to ~100 HP.
- Lower your health to ~100 HP.
- Ensure no healing effects are active near your health bar (in case there were any).
- Activate Infuser and hit the enemy with the strongest ability.
- Observe and note the damage dealt and the lifesteal received from the Infuser.