I had hoped that if we were able to navigate to a location from say the aetheryte, there would be a pretty good chance we could land on it. Anyway, here's what I'm trying to do: If I'm approaching the mineral node from behind this screenshot, the bot won't be able to land. So what I'm looking for is a way for the bot to know the front of the node is landable.
Mastahg, I've been toying around with flight-based movement and would love to be able to use it in FateBot for testing and possibly eventual release as a plugin, but I haven't been able to find a good hook. Decompiling the source of rebornbuddy.exe is, as expected, a hot mess, but it looks like FateBot new's up its own navigators and playermovers (why??). I tried setting the Navigator.NavigationProvider and Navigator.PlayerMover properties after FateBot had been started; FateBot freaked all the way out. I tried setting the Navigator.NavigationProvider and Navigator.PlayerMover properties before starting FateBot; FateBot seemed to overwrite the types to GaiaNavigator and SlideMover on Start. I tried implementing another BotBase by inheriting from FateBot and new'ing certain methods, but never got any further than I did with the above 2 approaches (determining what to override looking at decompiled CLR es no bueno). Is there a way to set the Navigator.NavigationProvider and Navigator.PlayerMover properties such that FateBot will actually use them? Or to cleanly inherit from FateBot and supply it with different navigation and playermover implementations?
All the botbases set the navigator and playermover at startup. This is by design as not all the botbases use the same navigator or mover. As to why replacing it doesn't work, fatebot assumes that the navigator is gaianav and uses some typecasts in a few places. If you change the navigator to something else itll probably start tossing errors or itll detect that the typecast failed and wont execute the normal logic. overloading fatebot wont help as you don't have access to any of the privately declared functions as it wasn't designed to be overloaded. You could however try changing your nav to inheirt from gaianav. I'm currently rewriting fatebot to make use of a new asynchronous navigator and once a basic rendition is done im going to working on adding flying between fates.
Any possibility of getting the fishing 'tug type'? (Twice, medium, strong) It's needed for proper fishing with Patience.
With flying now possible, support for the elite hunt bills would be nice to have. Getting the hunt id/name and how many to kill/left to kill would make automating them possible. The window that displays that information 'Mobhunt2' could also benefit from official support in a remotewindow and an accept() method. Oh, also, Aetherial Reduction would allow me to run some of my gathering profiles without manual intervention.
Did anyone make Ephemeral profiles? Also, Yes\RemoteWindow behavior for GatheringMasterpiece would be appreciated. Workaround through Rupture works, though, so low priority.
Currently working on api to check if we could land at a given location. Their internal functions for this are pretty complex and its turning out to be a big pain.
Small Update: On the personal side, this months was really rough as my health insurance changed and the state was supposed to backdate my application but after promising to do so they denied it so I was unable to see any of my main doctors I see for treating the pain I have. Thankfully the month is almost over and I have doctor visits scheduled for the beginning of October. For the bot: I've got a good function isolated for telling if we can land at a given position, the problem is it requires a vector input of where the player would be and neither of our raycast functions provide an accurate location the position the player could be at so i am working on reversing this gigantic function to try and isolate a func we can use to iterate on a vector to simulate a player descending at a give coordinate to feed into the first function. Here is a screenshot zoomed out of the function that I am currently reversing that contains all this good stuff, its gigantic and takes use of a lot of SSE which IDA doesn't handle well. I am still slowly working on getting the orderbot tags to be a separate project so that they can be made public.
Mastahg, any chance we could put Aetherial Reduction on the priority list? I made a profile for Ephemeral nodes that will fill up an empty inventory in a short time span and I anticipate this will be something a lot of people using the profile will want.
This is wonderful news! Any chance that Desynthesis would be in the same area and could also be added? Wishful thinking, I know.
Been pretty busy irl last week so haven't had much time to sit down and work on reversing. With the little time I have had I have looked at desynthesis and it looks like they do the success calculation on the server and then they send it over to the client for display. Currently im considering which way to proceed. There are several algorithms publicly available that do a decent job estimating the success chance and I could try implementing one of those and using it to provide an estimated chance or perhaps creating an async function that opens the window and waits for the response. Its not going to be hard to tell if an item is desyntheable but it will take some work to tell if an item can be desynthized by the player at the current skill level.
Working on finishing touches for desythesis now. Hoping to get it and everything else wrapped up either Wednesday or Thursday.
Heads up to any developers directly accessing DataMananger.AuraCache, its type will be changing from Dictionary<uint,string> to LocalizedDictionary<uint,AuraResult> so that auras can be correctly localized in other regions. DataManager.GetAuraNameById is now deprecated and instead GetAuraResultById should be used.
I've been trying to write some dungeon profiles. The biggest issue I've been coming into is knowing where you are in the dungeon. Is there any chance we can get something similar to the istodochecked for the current duty?