Nice update, spotted some bugs already but I'm definetly going to start editing this for my personal use again, so thanks for the hard work
You should take a look at your IsTargetBoss code, It's basically using higher level conditions for anything but raid and lower level for raids, if it even works.
I'm not sure, but I think
actually does anything, I haven't tested so I can't be sure, but maybe it's worth looking into.
Also the new castspell method
Code:
if (SpellManager.CanCast(spellName, target) && !SpellManager.GlobalCooldown && !Me.IsCasting)
Again, haven't tested yet, but I fear adding the condititions !SpellManager.GlobalCooldown && !Me.IsCasting will slow down how fast it casts the next spell, even if it does stop it from spamming as much.
Oh and I'm a little curious as to why you use the "is not" instead of just "is" with the spec condition
Code:
!MarksmanSettings.Instance.MMSPEC
instead of
Code:
MarksmanSettings.Instance.SSPEC
Another thing, when you cast chimera shot, you log it as serpent sting
Code:
if(CastSpell("Chimera Shot"))
{
Logging.Write(Color.Aqua, ">> Serpent Sting <<");
Oh and the TabIndexes in the GUI Designer are completely random, but I guess that doesn't really matter
Last thing, I suspect your mend pet will be spammed because there's nothing to check if the buff is still active so here's what I used for that.
Code:
public bool PetHasBuff(string name)
{
try
{
var lua = string.Format("local x=UnitBuff('pet', \"{0}\"); if x==nil then return 0 else return 1 end", Lua.Escape(name));
return Lua.GetReturnValues(lua)[0] == "1";
}
catch
{
slog("Lua failed in PetHasBuff");
return false;
}
}
But yeah, thanks for the update!