What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

Honorbuddy 3 - API Changes & Workarounds

Millz

Well-Known Member
Joined
Jan 15, 2010
Messages
6,496
Reaction score
28
Some notes from the Store Developer Skype Chat.

Navigator.GeneratePath()

-> Won't be implemented. Total path distance can be obtained from Navigator.LookupPathInfo(WoWObject).Distance

MeshNavigator.CurrentMovePath
-> Won't be implemented. Next path hop can be obtained from WoWMovement.ClickToMoveInfo.ClickPos

WoWObject.CanNavigateFully()
-> Use Navigator.LookupPathInfo(unit).Navigability. Botbase must be pulsing Navigator for this to work (PulseFlags.Navigator). If using built in Targeting class - navigability checks are already done - and unnavigable units are filtered out. QuestBehaviors inheriting from QuestBehaviourCore also perform this filtering automatically - as this is also hooking into the Targeting class.

Navigator.FindHeights()
-> Use Navigator.SamplePointsAsync(). SamplePointsParameters allows setting the type of points you're interested in (i.e. NavigableTo, Any). Don't directly await functions suffixed with Async (i.e. await Navigator.SamplePointsAsync()). This must be called as an external task (Coroutine.ExternalTask()).

Vector3.Location wants 2 input values
-> Set the directive 'using Styx.Common;' to access the Vector3Extensions provided - this allows accessing the extension method that passes in the first vector as the first parameter.

Mesh Tile AbilityFlags
-> Modifying mesh tiles to set AbilityFlags (i.e. Walkable, Unwalkable) is no longer possible. A workaround will need to be built into the core.

Navigator.MoveTo fails to move
-> Check MoveResult.IsSuccessful. If failing - change decision.
 
Question about some of these, since I really limit myself to writing profiles, I just wanted to know what changed in that regard? I see WoWPoint is now a Vector 3? I'm not exactly sure what that means or what we need to convert current WoWpoints. I saw the thread Alisha made but I don't use VS or quite really follow what's going on there. Typically I just stick to quest behaviors to take care of most of my stuff. Any pointers to make any changes I may need would be awesome. Thanks in advance!

Edit: Did some research on some of the newer questing profiles, seems like it's mostly the same. But I noticed a DoQuest(questID?) condition, but no documentation on it anywhere?
 
Last edited:
Edit: Did some research on some of the newer questing profiles, seems like it's mostly the same. But I noticed a DoQuest(questID?) condition, but no documentation on it anywhere?

Credit to EchoTiger
DoQuest is just some code that checks an array of questIds to see if you have any that arnt completed, its in the run code section of the profile.


bool DoQuest(params uint[] questIds)
{
foreach (var questId in questIds)
{
if (HasQuest(questId) && !IsQuestCompleted(questId)) return true;
}
return false;
}
 
Ahh okay, that makes more sense. I only glanced over that part so that's I didn't see it. Since I have your attention is there a way or formula to convert current WoWPoints to Vector3?
 
Back
Top