Thanks very much for the input guys.
At the moment I am still in the process of learning C++. So still finding my way around the code and what bits mean what.
I am not adverse to the HOT in fact its a very good thing at the start of the fight. Its just the long pause after it that kills off my WAR or did.
With the small changes I made the CHEAL really helps. Last night spent a good hour or so in PON. With out my 2 box Cleric. Just using a bot group with 1 cleric in. The changes as I say are no where near perfect but they did help a lot.
I actually lived and there was less down time. Due to after the HOT has worn off I was guaranteed pretty much a CHEAL to follow. Worked ok unless I pulled 3 then it got a bit tight LOL.
Only real changes I have made so far was to the following bits. As you can see I just messing with the numbers on the existing code a little.
I was trying to get my bot to cast Fast Heals etc but it seemed to make no real difference. It was a HOT followed by a CHEAL. No matter how I changed the numbers.
I did for an experiment Rem out the lines that where with //Let heal over time buff do its thing.. lines and compile. Remed out the line above it and the lines below to the } That was a bad idea it just kept casting HOT over and over again. With about a 2 or 3 seconds in between casting it.
Code:
if(tar->FindType(SE_HealOverTime)) {
// Let the heal over time buff do it's thing ...
if(tar->IsEngaged() && hpr >= 95)
break;
else if(!tar->IsEngaged())
break;
}
// Evaluate the situation
if((tar->IsEngaged()) && ((botClass == CLERIC) || (botClass == DRUID) || (botClass == SHAMAN))) {
if(hpr < 70)
botSpell = GetBestBotSpellForFastHeal(this);
else if(hpr >= 10 && hpr < 50)
botSpell = GetBestBotSpellForPercentageHeal(this);
else if(hpr >= 40 && hpr < 70)
botSpell = GetBestBotSpellForRegularSingleTargetHeal(this);
else
botSpell = GetBestBotSpellForHealOverTime(this);
}
else if ((botClass == CLERIC) || (botClass == DRUID) || (botClass == SHAMAN)) {
if(hpr < 80)
botSpell = GetBestBotSpellForPercentageHeal(this);
else if(hpr >= 10 && hpr < 95)
botSpell = GetBestBotSpellForRegularSingleTargetHeal(this);
else
botSpell = GetBestBotSpellForHealOverTime(this);
}