The 2.2.2b patch was released earlier tonight, and Exilebuddy is undergoing its normal updates. As part of our next release for this patch, the first set of our major project changes will be put into place. The purpose of these changes is to help adjust the development direction of Exilebuddy so it hopefully remains profitable in the future, while still providing a better value than it has in the past. There's a lot of things we need to do with the Exilebuddy project to bring it in line with the other larger projects we have.
The tentative patch notes for the next release are as follows:
A number of major breaking changes are included in this update, which we are sorry to have to do to users so soon after the last set of breaking updates post-expansion, but we feel it's necessary to move Exilebuddy forward.
OldGrindBot
The biggest change, is that OldGrindBot is now included as source with Exilebuddy, and will be loaded via the new 3rdparty content system. This means users will finally be able to see and work with the actual bot implementation we've been using for a while now. We must warn prospective devs though, the code was written in 2014 and has been band-aided and patched over the years, as I've talked about in many posts before, so there's a lot that could be done better and probably a lot of issues people will see and point out to use to fix.
However, the purpose of this change isn't to switch the development of OldGrindBot to a community based one, as we don't have the resources or time to support that for now, but rather help spark interest in more community development for Exilebuddy by providing something that has been known to be working for a while now (with bugs here and there, but that's the nature of this stuff) that clearly shows the extensiveness of the API design we're using. A lot of community developers have been making great progress with our API, and we hope this code can help them take their stuff to the next level.
Localization
The core EB API is undergoing updates to support non-English languages in the official client. At this time, we cannot support other PoE versions, but we need to position ourselves for the possibility in the future by making the changes now, and coding our new bot implementations with support for it.
To help this out, additional game files have been exposed though the API. We'll cover this with devs more in the near future as we do updates to OldGrindBot to make use of them, but we want to let users know these things are taking place to help support it. For now, the Scripts folder contains the new scripts users can run to dump BaseItemTypes and ClientStrings for reference.
New Stuff
OldGrindBot will be replaced with something more modern and better in the near future. ExVault and myself will be working towards updating a lot of the outdated aspects of Exilebuddy, and bringing our out-of-the-box offerings up several levels of quality. To do this, we'll be working on redesigning new bot implementations for questing, mapping, then the actual grinding aspect (either though the quest bot or a standalone implementation, we're still talking about it). Design is vital in this, as coding simple things that work is easy, but we want something that will offer users the features they need, while still being manageable and not require a lot of regular maintenance from us. We'll cover more progress on this in the near future as part of another roadmap thread!
Closing
We want to thank all our users who have been with us during these crazy times. Your support and enthusiasm has given Exilebuddy another chance, so we really hope to make the most out of it. It will take some time though, but we are committed to working our hardest to finding a way for things to work out.
The tentative patch notes for the next release are as follows:
#1256 [Next Version] (2.2.2.4)
- Updates for 2.2.2.4.
- OldGrindBot.Coroutines is now OldGrindBot.CoroutinesV3.
- Loki.Bot.Coroutines added to hold a few commonly used coroutines that won't change.
- v3.MoveToLocation updated to take a stopCondition. This is to help movement break out early rather than trying to move exactly to the position.
- Logic updated in a few places that use the new stopCondition for MoveToLocation due to stale object caching.
- For example, an object is in view and stored, MoveToLocation is called which results in the object leaving view and re-entering. When the coroutine completes, the previous stored object is now invalid.
- MoveToLocation now calls FinishCurrentAction at the end.
- Blacklist functionality provided though AreaStateCache has now been removed in favor of a global Blacklist in Loki.Bot. For example, AreaStateCache.Current.Blacklist is now Blacklist.Add, IsBlacklisted is now Contains.
- IdItemsUsingStashCoroutine and StashItemsCoroutine updates for currency tab items.
- OldGrindBot is now included as an externally compiled bot. Due to a lot of dependencies, effected plugins have lost some functionality for now.
- Various compile compatibility changes have been made for old dependent code. For example, common code that used to be in Loki.Bot has now been copied into the files that use them.
- DumpBaseItemTypes.cs/GenerateBaseItemTypes.cs added to Scripts.
- GameData.BaseItemTypeEnum added for referring to objects by unlocalized names.
- DumpClientStrings.cs/GenerateClientStringsCs.cs added to Scripts.
- GlobalWarningDialog updated to use a client string lookup.
- DatClientStringWrapper added.
- ClientStringsEnum added.
OldGrindBot
The biggest change, is that OldGrindBot is now included as source with Exilebuddy, and will be loaded via the new 3rdparty content system. This means users will finally be able to see and work with the actual bot implementation we've been using for a while now. We must warn prospective devs though, the code was written in 2014 and has been band-aided and patched over the years, as I've talked about in many posts before, so there's a lot that could be done better and probably a lot of issues people will see and point out to use to fix.
However, the purpose of this change isn't to switch the development of OldGrindBot to a community based one, as we don't have the resources or time to support that for now, but rather help spark interest in more community development for Exilebuddy by providing something that has been known to be working for a while now (with bugs here and there, but that's the nature of this stuff) that clearly shows the extensiveness of the API design we're using. A lot of community developers have been making great progress with our API, and we hope this code can help them take their stuff to the next level.
Localization
The core EB API is undergoing updates to support non-English languages in the official client. At this time, we cannot support other PoE versions, but we need to position ourselves for the possibility in the future by making the changes now, and coding our new bot implementations with support for it.
To help this out, additional game files have been exposed though the API. We'll cover this with devs more in the near future as we do updates to OldGrindBot to make use of them, but we want to let users know these things are taking place to help support it. For now, the Scripts folder contains the new scripts users can run to dump BaseItemTypes and ClientStrings for reference.
New Stuff
OldGrindBot will be replaced with something more modern and better in the near future. ExVault and myself will be working towards updating a lot of the outdated aspects of Exilebuddy, and bringing our out-of-the-box offerings up several levels of quality. To do this, we'll be working on redesigning new bot implementations for questing, mapping, then the actual grinding aspect (either though the quest bot or a standalone implementation, we're still talking about it). Design is vital in this, as coding simple things that work is easy, but we want something that will offer users the features they need, while still being manageable and not require a lot of regular maintenance from us. We'll cover more progress on this in the near future as part of another roadmap thread!
Closing
We want to thank all our users who have been with us during these crazy times. Your support and enthusiasm has given Exilebuddy another chance, so we really hope to make the most out of it. It will take some time though, but we are committed to working our hardest to finding a way for things to work out.