I made a very simple function to slightly speed up grinding, gives me about 5% extra of whatever I'm grinding. (Usage below).
Has spell ids for faster movement speed for rogue, pally, dk and druid. That's all the classes I have so don't know about others.
function RunIfPoss()
if IsSpellKnown(85499) and IsSpellReady(85499) then
DoLogMessage("Faster Than Light", LogDebugLevels.VERBOSEINFO);
CastSpellByID(85499, 0, false);
end
if IsSpellKnown(1850) and IsSpellReady(1850) then
DoLogMessage("Dash", LogDebugLevels.VERBOSEINFO);
CastSpellByID(1850, 0, false);
end
if IsSpellKnown(2379) and IsSpellReady(2379) then
DoLogMessage("Speed", LogDebugLevels.VERBOSEINFO);
CastSpellByID(2379, 0, false);
end
if IsSpellKnown(77761) and IsSpellReady(77761) then
DoLogMessage("Stampeding Roar", LogDebugLevels.VERBOSEINFO);
CastSpellByID(77761, 0, false);
end
if IsSpellKnown(2983) and IsSpellReady(2983) then
DoLogMessage("Sprint", LogDebugLevels.VERBOSEINFO);
CastSpellByID(2983, 0, false);
end
if IsSpellKnown(96268) and IsSpellReady(96268) then
DoLogMessage("Deaths Advance", LogDebugLevels.VERBOSEINFO);
CastSpellByID(96268, 0, false);
end
end
It's not in my custom classes because I can't find a place to put 'afterLooting' or 'afterFight' code, though I added it to my Regenerate.lua and call it as per:
if not Regeneration.IsRegenerationNeeded() then
DoLogMessage("No regeneration needed.", LogDebugLevels.INFO);
DoLogMessage("Regen finished after: ".blahblahblah...);
RunIfPoss();
MountIfPoss();
return;
end
DoLogMessage(blahblahblah...);
while not InFight() do
if Regeneration.IsRegenerationFinished() then
DoLogMessage("Regeneration finished.", LogDebugLevels.INFO);
RunIfPoss();
MountIfPoss();
break;
end
My MountIfPoss function is similar, but it's a bit awkward since it mounts before looting you need to disable looting. Find it very handy for the larger grinding zones when levelling (like Tanaris) where the loot is rubbish and the mobs are far spaced.
function MountIfPoss()
if Regeneration.Ini2.UseMount then
DoLogMessage("Attempt Mount", LogDebugLevels.VERBOSEINFO);
--CastSpellByID(23214, 0, true); -- tundra mammoth
CastSpellByID(61447, 0, true); -- water strider
end
end
Again just add in your Regenerate.lua, though you may need to write some code in ReadIni2, I used this and just update my ini for each toon.
if IniRead("Reg.ini","Settings","UseMount","0") == "1" then
r.UseMount = true;
DoLogMessage("Using mount: YES", LogDebugLevels.VERBOSEINFO);
else
r.UseMount = false;
DoLogMessage("Using mount: NO", LogDebugLevels.VERBOSEINFO);
end
There's probably a better way to do this than bodging inside Regenerate.lua, but it's the only place I can find where I can call something after a fight has ended (Tried a simple plugin but none of them seem to be working in my current version of the bot).
My first post on here so not sure if this is the best section for this post, seemed about right but please move it if not.