DG Strategy–Healing using monks/clerics/high priests/bishops

By on June 10, 2011 3:27:55 PM from Demigod Forums Demigod Forums

pacov

Join Date 02/2008
+182

Quick disclaimer: as I think of useful tips, I’m going to start writing up some articles. Each article will focus on a particular topic or game play element. The majority of these tips will likely be things that experienced players already know. I welcome any additional feedback on any of the tips and I’m happy to update any OP if you have something useful to add to the topic. Each thread will be originally posted in the Demigod general forum (at least for a bit) and then moved to the DG strategy forums.

Topic of the day: Healing using monks/clerics/high priests/bishops

My goal for this thread is to try to gather a fairly comprehensive list of strategies and explain how healing works in detail.  We’ve had several threads that have touched on the topic, but I’d like to turn this into a one stop shop for all the info you could ever want on the healing mechanic.  Understanding how the healing mechanic works through summonable minions (along with the bonuses associated with having a Sedna on the team) can have a substantial impact on staying power in lanes, late game kills – you name it.  I’m going to start with the most basic strategies and move onto specifics – but first I need to cover this:

How does healing work?

This is probably the most important thing to understand in this article.  If you get this, you are well on your way to using healers strategically.  You know how if you cast a teleport scroll, there is a cool down period before you can use it again?  Healing actually has a cool down associated with it as well – only you can’t clearly see that a healer is on cool down.  Each type of healer (for example, a monk is a type of healer;  a cleric is a type of healer and so on) is able to cast a heal every 5 seconds (eg it casts the heal, the heal ability goes on cool down, and they they can cast it again after 5 seconds).  Now what you might not know is that any time you are healed by a particular type of healer, there is a special cool down that is placed on your Demigod.  This cool down lasts 8 seconds.  That means that you cannot receive a second heal from that type of healer until 8 seconds have passed.  So, you have a healer that can technically heal every 5 seconds, but because of the cool down effect of 8 seconds, you won’t be healed every 5 seconds.  Make sense so far? 

So, you noticed I was talking about types of healers.  This is critical to understand.  Each type of healer (monks/clerics/high priest/bishop) casts a different heal per Demigod with an 8 second cool down.  So, let me give you an example: if I have 2 monks with me and there is no other allied Demigod near me, I can receive 1 heal from only 1 of them because the 8 second cool down goes into effect as soon as I get that first heal.  So, even though I have 2 monks there that could heal me every 5 seconds, that 8 second cool down makes it impossible for me to get anything faster than a heal every 8 seconds.  The good news – each type of healer casts a DIFFERENT type of 8 second cool down.  Let me give you an example here as well.  If I have 1 monk with me and 1 cleric with me and there is no other allied Demigod near me, I can receive 1 heal from the monk and 1 heal from the cleric every 8 seconds.  This is essentially double healing.  This is why its more efficient to stack types of healers.  I also do want to stress that if I had 3 generals on my team and each of them purchased monks - even if they sent all 6 of those monks to me -  I could only receive 1 heal every 8 seconds.  But if there were 2 different types of healers, I could receive 2 heals every 8 seconds… and so on.

Who do the healers decide to heal?

The healers do a check every 5 seconds to see if there are any damaged Demigods in range.  If so, they will heal the Demigod with the lowest HP (fact check plz?) in range.   This places that 8 second cool down on whatever dg has been healed.  But if there are 2 Demigods present, the healer can after 5 seconds heal the other Demigod (as there was no 8 second cooldown on him).   

The following is borrowed from a post from hedige:  [If a healer doesn't find a damaged Demigod in range, it will then check itself to see if it is damaged. If it is and will not be "overhealed" (eg, if they only lost 5 hp, and the Monk heals for 200, there isn't much point for it to be healed since it will "overheal" by 195 hp). If it won't overheal, it will heal itself.]

Borrowing this from an earlier article I posted, but I’m not sure if its accurate – can anyone confirm?

1- they don’t heal a demigod with a larger % of hp than itself.  For instance, if a monk has, say 800/1000 hp (80% hp) and your demigod has 1900/2000 hp (95% hp), the monk will try to heal it self first.  This plays a very important factor when you consider characters that do AOE damage.  If they drop your healers to a lower % of hp than you, YOU won’t get any healing.  This is also another reason why the highest level healer (bishop) is more valuable due to its increased HP.  Anyway, player that constantly hits you with AOE, but doesn’t completely kill your healers, is more than likely stopping the healers from healing you. 

What are the stats?

 

Monks

Clerics

High Priests

Bishops

Healing (Non-DG)

200

230

260

290

Healing with Healing Wind I/II (Non-DG)

300

345

390

435

Healing (DG) – % of Target DG’s MAX HP

10%

12%

13%

15%

Healing with Healing Wind I/II (DG) – % of Target DG’s MAX HP

15%

17%

19%

22%

What are the strategies?

I’m going to list several different strategies here and I expect you folks will be kind enough to add to them as you think up things I’ve missed.

Share your monk

This one is a no brainer for experienced players, but not so much for new folks.  If you are the only general on a team, buy monks at the start of the game and share them.  There are some strategies that don’t buy monks immediately, but generally speaking, you will always want monks at the start.  So, now that you have monks, you will want to share them with your teammates.  If it’s a 2v2, it’s a no brainer – just send a monk over to your teammate.  In many cases, you can just click on your monk and then click on the Demigod you want them to follow.  However, you are almost always better off if you micromanage the monk and guide where he will go to keep him safe and healing your allies.  If it’s a 3v3 game, then you’ll occasionally need to put a little more thought into it.  I’ll often move monks as they are needed in different places.  For instance, if I sent the monk originally to a Demigod on the mana flag (on cataract) and he’s at full hp and fighting no one, I might send that monk to the experience flag if someone on my team is trying to capture it… and then move the healer back afterwards.  The number 1 rule though is that you want to keep your healers safe and healing as much as possible.

Sharing with 2 or more generals

So, as I discussed in the section on how healing works, you can get a heal of multiple types if you share your healers.  At the start of any game with 2 generals (where I’m a general anyway), I’ll ask in chat “you monks?  me clerics?”  If they respond quickly, I just get whatever I need and head out, then buy clerics ASAP.  If they don’t respond quickly, I’ll just wait a few moments and see if they get monks or not.   If they do, I’ll often ask them to share one of their monks with me and tell them I’ll be getting clerics soon.  As soon as I make it back to base to get those clerics, I’ll immediately send one of them to one of my teammates and keep the other to myself.  Now, there are quite a few strategies here.  Some folks will skip clerics completely and just save up for bishops or high priests.  But if there are 2 generals, you will pretty much always want 1 player to get monks at the start of the game and share them.  And you will pretty much always want to have the other player pick up some sort of different type of healer and share that as well.  Double heals every 8 seconds can do a hell of a lot for team battles or even staying power on a flag solo.  The same rule applies if you have 3 or 4 generals.  Communicate in game and make sure each of you gets a different type of healer.  With 4 generals, that’s potential for 4 heals every 8 seconds… which is HUGE.

So, I have 2 generals – what healers should I get?

This question can have many possible answers.  If you don’t have a sedna on your team, I suggest going with monks and clerics initially.  You’ll note that the difference between heal levels on clerics and high priests is only 1%.  If you just want the best of the best, then getting bishops/high priests is the answer; however, monk cleric is great for early/mid game and ending the game having only clerics and bishops would be adequate in most circumstances.  If there is an enemy sedna in the game, its often best to just stick with monks/clerics as she will likely get counter healing – which will shut down a good chunk of your heals.

Sedna and healers

Sedna certainly deserves a section to herself for healing.  As you can see from the stat info section, there are some nice bonuses associated with having healing wind along with nearby healers.  In short, any type of healer in the healing wind aura will heal at increased levels.  You only need 1 level of healing wind to get the healer bonus.  Healing wind 2 only gives you additional health per second (and it isn’t bad for that) and allows priests (the type that come from portals) to heal at a higher bonus if they are near her), but it is not required to get the healing bonus.  As you can see, bishops and high priests are ideal if you have a sedna.  With the healing wind bonus, we’re talking about healing 22% of the healing targets max HP along with a heal of 19% of max HP.  So, its possible (based on all of the other factors involved with healing) to be healed 41% of a dg’s max HP every 8 seconds.  Think about that for a moment... really.  That can be gigantic.  A sigil gives you a 20 second window here you have a 50% health increase.  A sedna with bishops/clerics can heal you for 41% every 8 seconds.... and then think about adding on a sigil on top of that.... that's huge.  Without healing wind, a combo of bishops/highpriests would yield 15% and 13% for a total of 28%.  That’s not bad, but you can see is a pretty sizable difference.

Sedna and counter healing

Any sedna up against a team with 2 or more generals on it should get counter healing when possible.  Counter healing is an ability that keeps any enemy type of healing minion from casting heals if they are in a certain proximity to her.  Keeping those heals from happening is huge.  If there is a sedna on a different team than me, I will often NOT pick up bishops or high priests... but that tactic of mine is arguable. 

Pinned, Locked Post 17 Replies +1
Search this post
Subscription Options


Reason for Karma (Optional)
Successfully updated karma reason!
June 13, 2011 1:28:27 PM from Stardock Forums Stardock Forums

NT

Reason for Karma (Optional)
Successfully updated karma reason!
June 13, 2011 4:33:42 PM from Demigod Forums Demigod Forums

What about the priests from the portal, is that a fifth type of healer and has another 8 second cooldown?

Reason for Karma (Optional)
Successfully updated karma reason!
June 13, 2011 4:38:19 PM from Demigod Forums Demigod Forums

yep

Reason for Karma (Optional)
Successfully updated karma reason!
June 13, 2011 4:54:05 PM from Stardock Forums Stardock Forums

yes - healing wind II will buff the heal level on those priests as well.  Healing wind I does not.  Generally speaking, healing wind 2 has its greatest value in the extra +12 hps. 

If I think of it, I'll dig out the healing values of priests (normal + healing wind II buff).

Reason for Karma (Optional)
Successfully updated karma reason!
June 13, 2011 5:08:04 PM from Demigod Forums Demigod Forums

it's the exact same as monks. 10/15%

Reason for Karma (Optional)
Successfully updated karma reason!
June 13, 2011 11:25:15 PM from Demigod Forums Demigod Forums

Quoting awuffleablehedgie,
it's the exact same as monks. 10/15%

just to clarify so I don't have to look - do you know if the non dg heal value stacks up with monks as well? 

Also - if you, in particular would, take a look at the post - specifically in the:  Who do the healers decide to heal?  section.  Does anything I said sound off or is it something I should research.  Thanks!

Reason for Karma (Optional)
Successfully updated karma reason!
June 13, 2011 11:31:06 PM from Demigod Forums Demigod Forums

(this is from memory since I am on my notebook that does not have demigod on right now). Honestly, I'm not 100% sure myself. It's been my _observation_ of the monk % hp rule. 

I do know for sure that monks prioritize demigods in general. There is overheal logic but that might not even work, knowing GPG. Or it only works in situations where their natural health regen is going to put them to full health that "game tick". 

It's also likely that even if the monk chooses to heal NOTHING it still goes on a 5 second cooldown. Last time I looked at the monk healing code, I was looking at that to decide if that was the case... 

I'll definitely do a code drop when I'm on my desktop for you though. 

Reason for Karma (Optional)
Successfully updated karma reason!
June 13, 2011 11:46:18 PM from Demigod Forums Demigod Forums

Quoting awuffleablehedgie,
I'll definitely do a code drop when I'm on my desktop for you though.

thx bro!

Reason for Karma (Optional)
Successfully updated karma reason!
June 14, 2011 3:05:59 AM from Demigod Forums Demigod Forums

hedgie delivers. 

 

Note that this is just the very first monk heal I came up with, the ability is copied every time for each monk. I am going to "assume" it is a normal copy-paste with just a few name edits but you can't be too sure...

 

[code]


#################################################################################################################
# Non-Demigod Heal - This heal is used on non-demigods
#################################################################################################################
BuffBlueprint {
Name = 'HighPriest02Heal01',
Debuff = false,
DisplayName = 'Heal',
BuffType = 'HIGHPRIESTHEALTH',
Stacks = 'ALWAYS',
Duration = 0,
DamageFriendly = true,
DamageSelf = true,
Affects = {
Health = {Add = 230},
},
}

#################################################################################################################
# Healing Improved by Sedna's Healing Wind I
#################################################################################################################
BuffBlueprint {
Name = 'HighPriest02HealHealingWindBuff01',
Debuff = false,
DisplayName = 'Heal',
BuffType = 'HIGHPRIESTHEALTH',
Stacks = 'ALWAYS',
Duration = 0,
DamageFriendly = true,
DamageSelf = true,
Affects = {
Health = {Add = 345},
},
}

#################################################################################################################
# Demigod Heal - This heal is used on demigods
#################################################################################################################
BuffBlueprint {
Name = 'HighPriest02HeroHeal01',
Debuff = false,
DisplayName = 'Heal',
BuffType = 'HIGHPRIESTHEALTH',
Stacks = 'ALWAYS',
Duration = 0,
DamageFriendly = true,
DamageSelf = true,
Affects = {
Health = {MaxHealthPercent = 0.12},
},
}

#################################################################################################################
# Demigod Heal w/ Sedna Healing Wind I - this heal is used on demigods when the priest is boosted by Sedna's
# healing wind ability
#################################################################################################################
BuffBlueprint {
Name = 'HighPriest02HeroHealHealingWindBuffl01',
Debuff = false,
DisplayName = 'Heal',
BuffType = 'HIGHPRIESTHEALTH',
Stacks = 'ALWAYS',
Duration = 0,
DamageFriendly = true,
DamageSelf = true,
Affects = {
Health = {MaxHealthPercent = 0.17},
},
}

#################################################################################################################
# Cooldown Buff - This is applied on a healed target to prevent the target from being healed by a priest
# for the duration of the buff
#################################################################################################################
BuffBlueprint {
Name = 'HighPriest02HealCooldown01',
Debuff = false,
DisplayName = 'HealCooldown',
BuffType = 'HIGHPRIESTHEALCOOLDOWN',
Stacks = 'ALWAYS',
Duration = 7.95,
Affects = {},
}

###############################################################
# Ability - Heal
# After healing someone, this spell applies a debuff to them
# which prevents them from being healed. Debuff - "HighPriest02HealCooldown01"
###############################################################
AbilityBlueprint {
Name = 'HighPriest02Heal01',
DisplayName = 'Heal',
AbilityType = 'Aura',
TargetAlliance = 'Ally',
TargetCategory = 'MOBILE - UNTARGETABLE',
AffectRadius = 10,
AuraPulseTime = 5, # This is the "cooldown" of the ability to cast the heal spell
OnAreaAbility = function(self, unit, params)
local heal = false
local priestBuff = 'HighPriest02Heal01'

# ==== Try to heal a hero first ==== #
# Hero units in range
local heroes = EntityCategoryFilterDown(categories.HERO, params.Targets)

#If we can heal a hero unit and we didn't heal him last, heal him.
#If the hero is the only thing we can heal in the area, heal him.
if table.getn(heroes) > 0 then
for k, hero in heroes do
# Unit has the cooldown buff
if Buff.HasBuff(hero, 'HighPriest02HealCooldown01') then
continue
end

# Do not heal heroes flagged not to be healed
if hero.PriestsDoNotHeal then
continue
end

# Do not heal heroes that are near full health
local hpercent = hero:GetHealth() / hero:GetMaxHealth()

if hpercent >= 1.0 then
continue
end

heal = hero

#Check to see if the priest is affected by Healing Wind II
if Buff.HasBuff(unit, 'HSednaHealingWindPriest02') then
priestBuff = 'HighPriest02HeroHealHealingWindBuffl01'
else
priestBuff = 'HighPriest02HeroHeal01'
end

break
end
end

# ==== Heal other units ==== #
# No heroes found; grab nearby units based on priorities and try to heal em
if not heal then
#Non-hero units that can be healed.
for k, target in params.Targets do
# Don't heal heroes in this body section
if EntityCategoryContains( categories.HERO, target ) then
continue
end

# Don't heal units with 50% or more health
local hlthpct = target:GetHealth() / target:GetMaxHealth()
if hlthpct >= 1.0 then
continue
end

# Unit has the cooldown buff
if Buff.HasBuff(target, 'HighPriest02HealCooldown01') then
continue
end

heal = target

# Priest is affected by Healing Wind II, use the more powerful heal.
if Buff.HasBuff(unit, 'HSednaHealingWindPriest02') then
priestBuff = 'HighPriest02HealHealingWindBuff01'
end

break
end
end

# ==== Healing here ==== #
# Hey we found someone to heal; apply both the heal and cooldown buffs and make pretty effects
if heal then
if unit.Character.IsMoving then
unit.Character:PlayAction("HealMove")
else
unit.Character:PlayAction("Heal")
end
#LOG("*DEBUG: Healing: "..heal:GetUnitId().." with: "..priestBuff)
Buff.ApplyBuff(heal, priestBuff, unit)
Buff.ApplyBuff(heal, 'HighPriest02HealCooldown01', unit)

# Create Priest heal casting effects
AttachCharacterEffectsAtBone( unit, 'priest', 'CastHeal01', -1 )

# Create Heal effect on actor being healed
AttachBuffEffectAtBone( heal, 'Heal01', 0, heal.Trash );
return
end
end,
}
[/code]

 

Reason for Karma (Optional)
Successfully updated karma reason!
June 14, 2011 4:54:11 PM from Demigod Forums Demigod Forums

someone translate this pls:P

Reason for Karma (Optional)
Successfully updated karma reason!
June 14, 2011 6:59:47 PM from Demigod Forums Demigod Forums

fine. So from this particular block of code (I might actually go through and read all five~ blocks when I get home if you guys ask nicely). This is Clerics, btw. 

 

It's important to note that the comments in the code are Blatant Lies. 

    AuraPulseTime = 5,      # This is the "cooldown" of the ability to cast the heal spell

May need miri to confirm, but I believe that how Aura Pulse works, the heal spell will go on cooldown whether or NOT the priest actually heals anything

 

Then it starts to go through all the units within 10 yards that are of type hero. The comment says it will not heal heroes that have been healed last. I see nothing to that effect. 

For-each hero around the monk (starting from closest to the monk, I think):

1. if the hero has the monk debuff, skip to the next hero

2. if the hero has doNotHeal flag as true, skip to the next hero (I assume this is set by death/Last Stand but that is else. Nothing in monk healing does this). 

3. if the hero is very close to max hp, skip to the next hero

4. Otherwise, we will heal this hero. Stop processing other heroes

If we didn't find a hero before, for-each unit around the monk (starting with the monk, I think):

1. don't heal units that are very close to full hp (NOT over 50% hp like the comment indicates).

2. don't heal units with a debuff

3. Otherwise, we will heal this unit. Stop processing other units. 

 

If we found a unit or a hero to heal: 

1. Play the appropiate animation

2. Apply the healing buff

3. Apply the debuff that prevents healing

 

That is just for the clerics, and it's quite possible the other code is different. 

Reason for Karma (Optional)
Successfully updated karma reason!
June 19, 2011 12:14:10 PM from Demigod Forums Demigod Forums

Moved to strategy forum

Reason for Karma (Optional)
Successfully updated karma reason!
June 21, 2011 9:11:50 AM from Demigod Forums Demigod Forums

Well, I'm late to the Sedna-related party, I see

Reason for Karma (Optional)
Successfully updated karma reason!
June 21, 2011 9:45:40 AM from Demigod Forums Demigod Forums
Wb
Reason for Karma (Optional)
Successfully updated karma reason!
June 21, 2011 9:52:13 AM from Demigod Forums Demigod Forums

Ty

Reason for Karma (Optional)
Successfully updated karma reason!
June 22, 2011 12:47:31 PM from Demigod Forums Demigod Forums

Quoting awuffleablehedgie,
Then it starts to go through all the units within 10 yards that are of type hero. The comment says it will not heal heroes that have been healed last. I see nothing to that effect. 

This is close enough to C for me to follow along, and it looks like they probably removed the code that gave effect to that comment. In fact the 8 second healing delay on a DG probably made that part of the code pointless so the code got removed and not the comment. Something I do all the time after staring at large chunks of code for a long time and the comments kind turn into blur that you don't actually look at.

Quoting awuffleablehedgie,
... but I believe that how Aura Pulse works, the heal spell will go on cooldown whether or NOT the priest actually heals anything

More than likely it's a self setting evil_update since it would use more processor to actively seek for a heal target. However, I see that AuraPulseTime is defined, but never used (compiler warning!), so I'm assuming this is using some kind of inheritance we don't get to see or these are part a struct and get called out like abilityblueprint[heal.AuraPulseTime] but I'm not even sure what language this is. Knowing the answer to what  AbilityBlueprint(); is defined as in the header file would be really helpful.

Reason for Karma (Optional)
Successfully updated karma reason!
February 16, 2012 12:30:40 AM from Demigod Forums Demigod Forums

Nothing new - just a bump as its certainly useful info for new folks.

Reason for Karma (Optional)
Successfully updated karma reason!
Stardock Forums v1.0.0.0    #108432  walnut2   Server Load Time: 00:00:00.0000281   Page Render Time:

Stardock Magazine | Register | Online Privacy Policy | Terms of Use

Copyright © 2016 Stardock Entertainment and Gas Powered Games. Demigod is a trademark of Gas Powered Games. All rights reserved. All other trademarks and copyrights are the properties of their respective owners. Windows, the Windows Vista Start button and Xbox 360 are trademarks of the Microsoft group of companies, and 'Games for Windows' and the Windows Vista Start button logo are used under license from Microsoft. © 2012 Advanced Micro Devices, Inc. All rights reserved. AMD, the AMD Arrow logo and combinations thereof are trademarks of Advanced Micro Devices, Inc.