Not sure if I understand what's going on with the constant casting. Before the heal check I have this slop;
Code: Select all
:Cast
/if (${Bool[${Me.Casting}]}) /goto :Cast
(Yes I should use Spell.ID, and no I wont! ) Say you have HealPct set to 70 and FastHealPct set to 40. Are you saying that if the toon being watched falls below 70, say to 65 pct, the bot cast HealSpell on him, but if that doesn't raise him back up to 70% then he just keeps casting it until that toon gets over 70 or below 40? If so, is that Spiritual Serenity a duration spell? I generally use Quiescence as my HealSpell, and Tnarg`s Mending as my FastHealSpell. Under Sub Watch there is this piece of code;
Code: Select all
/varcalc healtimer${currentnum} ${Spell[${HealSpell}].Duration}*60
which determines how long your bot will wait until he casts HealSpell again, and works well to stop yourbot from chain casting torpor, quiescence and other duration heals. If the problem is as I understand it to be, you could put a
Code: Select all
/if (${healtimer${currentnum}}==0) /varset healtimer${currentnum} 400
just under the /varcalc healtimer${currentnum}...... thus making yourbot cast HealSpell only every 40 seconds. However, if your healspell doesn't raise your toon past the HealPct, then yourbot will just cast HealSpell again unless you manually add a delay in the macro.
I hope that helps, if not post a reply. Follow doesn't work for you because you dont have MQ2MoveUtils. In DoCommand.inc make /squelch /stick 15 /fol and yourbot will use in game follow rather than /stick.
p.s. I don't have a shaman anymore, as my shaman's account hasn't been active for some months now. I don't have a way of testing this code when I change it.