I've got it!
I had another look at this line in player:moveTo, line 2161.
Code: Select all
if ( self:checkPotions() or self:checkSkills(ONLY_FRIENDLY) ) then -- only cast friendly spells to ourselfe
This is the only time it checks for potions and skills in moveTo. These are
only heals and buff so, seeing as we've established we only want to stop heals and buffs, all we have to do is bypass these if mounted. So
Code: Select all
if not player.Mounted and ( self:checkPotions() or self:checkSkills(ONLY_FRIENDLY) ) then -- only cast friendly spells to ourselfe
works. Except it also checks potions and friendly skills between moveTos in bot.lua. So around line 745 of bot.lua also change
Code: Select all
player:checkPotions();
player:checkSkills( ONLY_FRIENDLY ); -- only cast hot spells to ourselfe
to
Code: Select all
if not player.Mounted then
player:checkPotions();
player:checkSkills( ONLY_FRIENDLY ); -- only cast hot spells to ourselfe
end
For me this works perfectly. When type = travel it never dismounts even when loosing buffs. When type = run it only dismounts if attacked and even casts buffs and heals first if they have higher priority. And of course when type = normal it dismounts immediately when attacking a mob.
Try it out.