Giles great job with all your work, i have only 1 thing to say here. The belphegor had a check box for 'use leap for movement". Imo, this is the best unstucker there can be, whenever my bot got stuck on some place he jsut leaps out of it. I see that the bot sometimes use leap for movement with this plugin, but he DOES NOT use it to unstuck. It seems that for whatever reason, when he stands in place somewhere stucked he doesnt attempt to leap to the area where he is headed. He only use leap for movement when already moving.
Although this might seem like a minor and inferior tweak, trust me guys it is a huge deal, having a profile to restart and lose 5v valors just coz of a stuck is really annoying, and i am sure there is an easy fix for this.
just go into gilescombatreplacer.cs and change the leap distance while moving
ctrl f Leap and look for player mover class
i ve changed it to 1f minimum and it seems to do the job
figured this out all myself.. i could be wrong.. but it seems to be leaping most of the time out of combat
// Leap movement for a barb
if (GilesCombatReplacer.powerHotbarAbilities.Contains(SNOPower.Barbarian_Leap) &&
DateTime.Now.Subtract(GilesCombatReplacer.dictAbilityLastUse[SNOPower.Barbarian_Leap]).TotalMilliseconds >= GilesCombatReplacer.dictAbilityRepeatDelay[SNOPower.Barbarian_Leap] &&
fDistanceNeeded >= 1f && fDistanceNeeded <= 35f &&
PowerManager.CanCast(SNOPower.Barbarian_Leap) && !ShrinesInArea(vMoveToTarget))
{
Vector3 vTargetAimPoint = MathEx.CalculatePointFrom(vMoveToTarget, vMyCurrentPosition, fDistanceNeeded - 2f);
ZetaDia.Me.UsePower(SNOPower.Barbarian_Leap, vTargetAimPoint, GilesCombatReplacer.iCurrentWorldID, -1);
GilesCombatReplacer.dictAbilityLastUse[SNOPower.Barbarian_Leap] = DateTime.Now;
return;
}