How does life on hit work?

I have a witch doctor with +10 life on hit and no other means of restoring life. I had thought that this was self-explanatory, but I am not getting +10 life per hit -- I'm getting +20!

So if the flat numbers can't be trusted, what's going on? How does +Life on Hit work with abilities?

I already know that life steal scales based on difficulty from this answer, but since I'm on Normal difficulty, it can't explain the difference in numbers. What's going on?

• Are you using Splinters for poison dart, maybe it killed the enemy in 2 hits and triggered twice? – Alok May 28 '12 at 2:59
• @Alok No, not using any runes. (Too low) – Raven Dreamer May 28 '12 at 3:09
• The green number +20 life that you see on your character is an agregated number. If you have attack two times between each tick, the next tick will be the sum of the total life gained since the last tick (the two attacks). – Benjamin Crouzier Jun 30 '12 at 1:35
• @pinouchon why is this not posted as an answer? – jcolebrand Aug 5 '12 at 19:45
• @jcolebrand now it is – Benjamin Crouzier Aug 5 '12 at 22:07

Here's a video comparing life steal vs life on hit.

Basically, different abilities have different life on hit modifiers.

• Is it confirmed that life on hit doesn't get reduced on higher difficulties? – Raven Dreamer May 27 '12 at 20:31
• By watching the video it doesn't seem that difficulty changes the life on hit stat. – Matthew May 27 '12 at 21:28
• Right, and I had that question after watching the video, so citing the video a second time isn't helping to convince me. :P – Raven Dreamer May 28 '12 at 2:14
• I've confirmed that +life on hit is not affected by difficulty. – Raven Dreamer May 31 '12 at 12:32
• LoH stays absolute on all difficulty levels, but LS is scaled down as you go up to inferno. – DrFish Aug 27 '12 at 10:22

Life on hit is one of the many ways of gaining like in Diablo 3 (besides life steal, heal spells, potions, health globes, life regeneration). You also restore all your life when you level up, kill a boss, quit/rejoin the game, and receive a blessing.

How does it work ?

Every time a monster is affected by your attack or a spell, you gain life. The amount of life that you gain is calculated as follow:

``````life_gained = life_on_hit * nb_monsters_hit * skill_modifier
``````
• `life_on_hit` is the total life on hit that you have from your gear
• `nb_monsters_hit` is the number of monsters affected by your attack or spell (if you cleave and hit 3 enemies, then it's 3)
• `skill_modifier` is ticky: every spell in the game has a modifier attached to it, and its a number between 0 and 1. It is used to balance some spells. If that modifier didn't exist, some spells would give you too much life on hit and be overpowered as a result.

Also note that `nb_monsters_hit` may be capped for some skills, thought not sure, hitting more than 3 enemies with cleave does not give you additional `life_gained`.

The modifiers for each skills can be found here: for barb, monk & dh, for wizard.

Why are you getting +20 numbers instead of the +10 `life_on_hit` that you have ?

The heal numbers that appear on your character are aggregated over time to be more readable. As I said in my comment: `If you attack two times between each tick, the next tick will be the sum of the total life gained since the last tick (the two attacks)`.

If you want to know how much life you get from 1 attack, just hit once and wait for the number to show up.

The heal numbers may also benefit from crit (sometimes they have the crit animation). But I don't know much about that.