Developer's Blog
Old 06-14-2009, 09:21 AM   #1
Robzor
Member
 
Robzor's Avatar
 
Join Date: Jun 2009
Location: Stockholm, Sweden
Posts: 858
Robzor is offline

Default [Article] Triggered Heals


Triggered Heals

What are Triggered Heals?

Triggered heals also go under the name pseudo-evasion, they work as to reduce the incoming damage through healing for a set amount as to make it seem as if less or no damage at all was taken. This is a function which have become widely used within DotA and can be found on a quite a few skills which work as to reduce damage.

There are currently two different kinds of triggered heals, one which uses pre-heal to reduce the incoming damage and one which uses a dynamic heal. The pre-heal always heals the unit before it is damaged while the dynamic one adapts for each situation and determines if it should heal before, after or some before and some after. The purpose of this thread is to evaluate on the how this works, what the differences between these different triggered heals are as well as bringing up the limitations of triggered heals.

The word heal might sound misleading as there in fact is no healing involved, triggers set the units HP to an appropriate level to make it seem as if the unit takes reduced/no damage.

List of Triggered Heals

These are the abilities which currently use triggered heals as of 6.56 (a skill not found in this list is never a triggered heal):
  • Aphotic Shield (Dynamic heal)
  • Backtrack (Pre-heal)
  • Borrowed Time (Dynamic heal)
  • Bristleback (Pre-heal)
  • Dispersion (Dynamic heal)
  • Focus Fire (Pre-heal)
  • Ghost Ship (Rum) (Pre-heal)
  • Gravekeeper's Cloak (Dynamic heal)
  • Refraction (Dynamic heal)
  • Shallow Grave (Pre-heal)
Note that most of these skills also have other functions implemented than the triggered heal, this article only explains how these skills work as to make you survive the damage.

In-depth Explanation

Innerworkings of Pre-heals

Triggered heals using pre-heal are not all that complicated, when the unit is damaged the triggered heal sets of and checks the units current life, the amount of damage dealt to the unit and then gives the unit as much HP as the damage dealt (presuming that we want it to seem as if the unit takes no damage at all). The damage is then dealt after that process.

Quote:
Originally Posted by Pre-heal used to mitigate incoming damage
Incoming damage: 100.
Your max HP: 1000.
Your current HP: 500.
Triggered heal: 100% of the incoming damage.

1. Heal before damage: 500 + 100 = 600
2. Taking damage: 600 - 100 = 500

Final HP: 500
The drawback with pre-heal is that it cannot heal you above your full HP, this means that all of the skill using pre-heal will not be able to block any damage from the first incoming attack if you are at full HP. An example would be Faceless Void getting Backtrack on a Laguna Blade when he got full HP, even though he had Backtrack he will recieve full damage from Laguna Blade due to Backtrack's limitations. There are no advantages of using pre-heal except for that it requires less lines of code.

Innerworkings of Dynamic Heals

Dynamic triggered heals are more complicated and they do actually use three different types of triggered heals; pre-heals, post-heal and a mixture of pre-heal and post-heal.

There are three different scenarios which determines which one of these that will be used.

Quote:
Originally Posted by Pre-heal will be used
Condition: IncomingDamage < (MaxHP-CurrentHP)

Incoming damage: 100.
Your max HP: 1000.
Your current HP: 200.
Triggered heal: 100% of the incoming damage.

1. Heal before damage: 200 + 100 = 300
2. Taking damage: 300 - 100 = 200

Final HP: 200
The reason why pre-heal is used in this case is because the difference between your max HP and current HP is greater than the incoming damage, this means that it is possible to heal all of the damage using pre-heal without the unit suffering any negative effects from it.

Quote:
Originally Posted by Post-heal will be used
Condition: (MaxHP-CurrentHP) < IncomingDamage < CurrentHP

Incoming damage: 100.
Your max HP: 1000.
Your current HP: 950.
Triggered heal: 100% of the incoming damage.

1. Taking damage: 950 - 100 = 850
2. Healing after damage: 850 + 100 = 950

Final HP: 950
Post-heal will be used when pre-heal does not heal you fully but the incoming damage will not kill you, meaning that if the incoming damage is higher than the difference between your current HP and your max HP a post-heal will be used presuming that the damage can not kill you. As a post-heal heals after you've actually taken the damage you would have died in this case if 950 or more damage had been dealt, this as you will first take the 950 damage and the triggered heal will then attempt to heal you, which obviously won't work because you are dead. This is why we have a third case, the mixed heal.

Quote:
Originally Posted by Mixed heal will be used
Condition: (MaxHP-CurrentHP) < IncomingDamage

Incoming damage: 600
Your max HP: 1000
Your current HP: 500
Triggered heal: 100% of the incoming damage.

1. Heal before damage: 500 + 500 = 1000
2. Taking damage: 1000 - 600 = 400
3. Heal after damage: 400 + 100 = 500

Final HP: 500
Mixed heal is used when the incoming damage can not be healed before or after and make you remain at the proper HP amount, it then first heals as much as possible (that is to your max HP) then you take the damage and lastly the remaining amount which should be healed is healed.

Limitations

Triggered heals activate upon a unit receiving damage using the EVENT_UNIT_DAMAGED function, this means that if no damage is dealt then it cannot be reduced. This might sound irrelevant but it is in fact not, this is the reason why Direct HP Removal (such as that from Armlet or Heartstopper Aura) will not trigger any triggered heals.

The most famous limitation when it comes to triggered heals is that they cannot heal save you when the incoming damage is higher than your max HP. You can not be healed above your maximum HP and thus you will die regardless of the kind of triggered heal that is used.

Another important thing is that the damage is still taken even though it triggered heals do not show it visually, this means that a hero still take the damage even though it is healed. For an example, you will still lifesteal as much as you would on a regular attack from a target getting a 100% triggered, this as you actually deal the damage.

Lastly, triggered heals do only block damage and not additional effects, the best example here is Backtrack. If an enemy casts Storm Bolt on you and Backtrack triggers no damage will be dealt to you, you will however still get the 2 second stun from Storm Bolt.
  Reply With Quote
Last edited by Robzor; 06-21-2009 at 05:33 PM.
Old 06-14-2009, 09:25 AM   #2
Drikam
Member
 
Drikam's Avatar
 
Join Date: Jun 2009
Posts: 3,688
Drikam is offline
Default

I know this, but I just want to say: Good job. :P
  Reply With Quote
Old 06-14-2009, 09:37 AM   #3
Trysaeder
Member
 
Trysaeder's Avatar
 
Join Date: Jun 2009
Posts: 342
Trysaeder is offline
Default

Yay!
This totally proves those noobs wrong in that stupid culling blade thread.
__________________
Master of the Night
  Reply With Quote
Old 06-14-2009, 10:09 AM   #4
ImmolatusBurn
Member
 
ImmolatusBurn's Avatar
 
Join Date: May 2009
Location: Minnesota
Posts: 1,419
Blog Entries: 3
ImmolatusBurn is offline
Default

Moving to Advanced Mechanics Guides.
__________________
  Reply With Quote
Old 06-14-2009, 10:18 AM   #5
Ner'zhul
Member
 
Ner'zhul's Avatar
 
Join Date: Jun 2009
Location: Mechanics
Posts: 36
Ner'zhul is offline
Default

Nice job, Robzor.

Now go make the Auras or the Dummy Units thread. =]
  Reply With Quote
Old 06-14-2009, 10:20 AM   #6
reh
Member
 
reh's Avatar
 
Join Date: Jun 2009
Location: .de
Posts: 272
reh is offline
Default

Well done, even though the "Originally Posted by Mixed heal will be used" etc.
look somewhat... weird to me.
Was it intended to look like that? o;
  Reply With Quote
Old 06-14-2009, 10:43 AM   #7
Robzor
Member
 
Robzor's Avatar
 
Join Date: Jun 2009
Location: Stockholm, Sweden
Posts: 858
Robzor is offline
Default

Quote:
Originally Posted by reh View Post
Well done, even though the "Originally Posted by Mixed heal will be used" etc.
look somewhat... weird to me.
Was it intended to look like that? o;
Not really, I mainly did some copypasta from the DA forum where I first posted this article. On DA using the "[ Quote=Lulz"]" tag would output "Quote("Lulz")" which was quite intended.

PD obviously uses another quote system which makes it come out differently.
  Reply With Quote
Old 06-17-2009, 11:41 AM   #8
Aravis
Member
 
Aravis's Avatar
 
Join Date: Jun 2009
Location: Germany
Posts: 1,124
Aravis is offline
Default

Nice guide.
Do you intend to copy all mech guides from DA to PlayDota?

but one question:
edit: nvm. i didnt read carefully enough. Question answered itself.
  Reply With Quote
Last edited by Aravis; 06-17-2009 at 11:51 AM.
Old 06-18-2009, 05:00 PM   #9
Artume
Member
 
Artume's Avatar
 
Join Date: Jun 2009
Location: Singapore
Posts: 151
Blog Entries: 1
Artume is offline
Default

Quote:
Note that most of these skills also have other functions implented than the triggered heal, this article only explains how these skills work as to make you survive the damage.
It should be implemented, instead of implented.

And
Quote:
Dynamic triggered heals are more complicated and they do actually use three different types of triggered heals; pre-heals, post-heal and a mixture of pre-heal and post-heal.
The ; (semi-colon) should be a : (colon) instead.

Last but not least
Quote:
Triggered heals activate upon a unit recieving damage using the EVENT_UNIT_DAMAGED function
recieving is a typo of receiving

Thank you. Nice guide.
  Reply With Quote
Last edited by Artume; 06-18-2009 at 06:29 PM.
Old 06-21-2009, 09:31 AM   #10
Trysaeder
Member
 
Trysaeder's Avatar
 
Join Date: Jun 2009
Posts: 342
Trysaeder is offline
Default

Quote:
Originally Posted by Aravis View Post
Nice guide.
Do you intend to copy all mech guides from DA to PlayDota?
That would be plagiarism.
__________________
Master of the Night
  Reply With Quote
Old 06-24-2009, 07:10 PM   #11
iHunger
Member
 
iHunger's Avatar
 
Join Date: Jun 2009
Posts: 33
iHunger is offline
Default

Quote:
Originally Posted by Spirit-o-N- View Post
That would be plagiarism.
You are forgetting/dont know that Robzor wrote several of the guides that is posted on DA so he if anyone is allowed to post them.
  Reply With Quote
Old 06-30-2009, 08:54 PM   #12
desOo
Member
 
desOo's Avatar
 
Join Date: Jun 2009
Location: Switzerland.
Posts: 1,167
desOo is offline
Default Re: [Article] Triggered Heals

Quote:
Originally Posted by Drikam View Post
I know this, but I just want to say: Good job. :P
!!!!!
__________________

  Reply With Quote
Old 07-01-2009, 05:55 AM   #13
Trysaeder
Member
 
Trysaeder's Avatar
 
Join Date: Jun 2009
Posts: 342
Trysaeder is offline
Default Re: [Article] Triggered Heals

Quote:
Originally Posted by iHunger View Post
You are forgetting/dont know that Robzor wrote several of the guides that is posted on DA so he if anyone is allowed to post them.
Quote:
Do you intend to copy all mech guides from DA to PlayDota?
You are forgetting/dont know that Robzor didn't write all of the guides there.
__________________
Master of the Night
  Reply With Quote
Old 09-11-2009, 12:47 PM   #14
Black Isle
Member
 
Black Isle's Avatar
 
Join Date: Jun 2009
Posts: 3,002
Black Isle is offline
Default Re: [Article] Triggered Heals

Thanks I didn't know the details about pseudo evasion.
  Reply With Quote
Last edited by Black Isle; 01-08-2010 at 07:42 PM.
Old 01-08-2010, 07:29 PM   #15
iDeFix
Member
 
iDeFix's Avatar
 
Join Date: Jun 2009
Location: Argentina
Posts: 116
iDeFix is offline
Default Re: [Article] Triggered Heals

Interesting
__________________
SKYRIM BITCHES!!!

  Reply With Quote
Old 01-12-2010, 03:44 PM   #16
BorisPeace-
Member
 
BorisPeace-'s Avatar
 
Join Date: Jun 2009
Location: GetUnitLoc(udg_Boris)
Posts: 2,747
Blog Entries: 2
BorisPeace- is offline
Default Re: [Article] Triggered Heals

Super guide e00E!

You're the king

PS: When is it seen that a dummy unit does so much work
__________________

-----------------------------------------------
Turkish DotA Map Translation Leader
Dota 2 Turkish Translation Mod
Suggestions Mod Wannabe o.o
  Reply With Quote
Old 04-09-2010, 01:22 AM   #17
burningsera
Member
 
burningsera's Avatar
 
Join Date: Oct 2009
Location: UK
Posts: 1,317
Blog Entries: 2
burningsera is offline
Default Re: [Article] Triggered Heals

1.so pa's high crit is the only way to kill off Abba without his ulti trigger?

and lets say there is an Abba has max hp 1000,current hp 950(in the case current hp < Max Hp) with his ulti ready.
2.what happen when Lina hit him with 950ulti damage?will the ulti still trigger?
  Reply With Quote
Old 04-09-2010, 02:11 AM   #18
SN0W37
Member
 
SN0W37's Avatar
 
Join Date: Mar 2010
Location: Everywhere \:D/
Posts: 1,379
Blog Entries: 1
SN0W37 is offline
Default Re: [Article] Triggered Heals

1.) No any source of damage higher than his current health can kill him without activating his ult.

2.) In that case LoA will die due to the condition mentioned above. Also even if a damage source triggers borrowed time that damage will not be healed, but the next source of damage will be healed.
__________________
You can call me LEM0NS

( `-') ('-´ )
  Reply With Quote
Old 04-09-2010, 02:26 AM   #19
Shizzy-
Member
 
Shizzy-'s Avatar
 
Join Date: Sep 2009
Posts: 2,456
Shizzy- is offline
Default Re: [Article] Triggered Heals

Quit grave-diggings threads out from the depths of the abyss.
__________________
  Reply With Quote
Old 04-09-2010, 02:58 AM   #20
SN0W37
Member
 
SN0W37's Avatar
 
Join Date: Mar 2010
Location: Everywhere \:D/
Posts: 1,379
Blog Entries: 1
SN0W37 is offline
Default Re: [Article] Triggered Heals

Its a mech guide so its not gravedigging and its ok to ask questions thats how people learn.
__________________
You can call me LEM0NS

( `-') ('-´ )
  Reply With Quote
Reply


Forum Jump


Tags
dodge, evasion, healing, pseudo, triggered
Thread Tools