This should be fixed in the next update, thanks for the details.This issue is pretty much [Confirmed].

I don't know what else is required... Maybe some screenshots?

And I also retreat my assumption on my previous post. I've got a new one, and this time I'm pretty much sure it is all correct.

W3 DotA version:

Moment before the Undying casts his Decay on 4 dummy enemies:

- Undying has 100/568 HP (17,6%)Moment after the Undying casts his Decay on 4 dummy enemies:

- Undying has 404/872 HP (46,3%)

Steps to obtain these values:

- Decay hits 4 heroes
- 4 str is transfered per hero
- Each str is evaluates to 19 HP
- 4 * 4 * 19 = 304 HP in total
- Increase MaxHP and CurrentHP individually
- (100 + 304) / (568 + 304) HP
- 404/872 HP

Dota 2 version:

Moment before the Undying casts his Decay on 4 dummy enemies:

- Undying has 100/568 HP (17,6%)Moment after the Undying casts his Decay on 4 dummy enemies:

- Undying has 546/872 HP (62,6%)

Steps to obtain these values (this will be crazy):

- Decay hits 4 heroes
- 4 str is transfered per hero
- Each str is evaluates to 19 HP
- Dota 2: "Decay hits all of them at once, but noooo, I will take them all seperately, and one by one, and I'll do it in such a wrong way that it will be damn hard for you to find it how!"
- 4 * 19 = 76 HP per hero
- Increase only the CurrentHP first
- (100 + 76) / 568 HP
- 176/568 HP
- Now, calculate (MaxHP + 76) / MaxHP = 1,1338...
- Multiply both MaxHP and the CurrentHP with this value
- (176 * 1,1338...) / (568 * 1,1338...) HP
- 199,55.../644 HP
- Now, don't you ever round it like normal people do, get the int(), get the flat value
- 199/644 HP
- Repeat the steps above 3 more times...
- (199 + 76) / 644 HP
- 275/644 HP
- ??? / (644 + 76) HP
- 307,45.../720 HP
- 307/720 HP
- 383/720 HP
- ??? / (720 + 76) HP
- 423,43.../796 HP
- 423/796 HP
- 499/796 HP
- 546,64.../872 HP
- 546/872 HP

If I do not ever round, and use exact values for the calculation, the result is: 548,408.../872 HP

If I round using the conventional method, the result is: 549,930.../872 HP

So, the basic formula for single Decay instance is:

NewCurrentHP = int((CurrentHP + 76) / MaxHP * (MaxHP + 76))

NewMaxHP = MaxHP + 76

And if Decay inflicts more than one hero, then it does this again and again.

I don't know anything about programming, but making it like this should be a lot harder than simply increasing x and y by z.

This is too complicated and wrong.

And I want to add that each time the "Increase only the CurrentHP first" occurs, if the CurrentHP hits the quota, then you'll end up with MaxHP after the process is done.

So, if you get damaged for ~70 HP, you can get fully healed by casting decay on a single hero target.

And ~250 missing HP (not 4*76, since it iscomplicated) gets fully healed when you hit 4 heroes at once.

And getting fully healed is never possible on DotA, unless you were already at MaxHP of course...