OverwordAreaTweaks adds a new task, TrackMoreMobs, which executes before exploration. The task's Tick function will keep track of all mob positions that come into range on a throttled timer to reduce performance overhead. When the task executes, it simply moves to the closest position of where a mob was last detected. Upon reaching 15 units of that location, an entity check is made to see if the mob has moved, or is no longer alive or exists. From there, it is up to the CR to kill the mob or blacklist it, and it'll be ignored the next time though.
In essence, it supplements any explorer by moving the bot to more precise locations where mobs are. You could change the logic, as mentioned in one of my previous replies, to also reduce the number of positions to just mob packs by detecting a pack of mobs, and adding that location to visit instead, rather than just adding all mobs.
I'll mention it again, but the reason the new Explorer doesn't do anything with game entity locations anymore, is so users can control that, to get the desired results they want without being forced into using an explorer that did everything under the hood. By using the current explorer, GridExplorer, you'll have area coverage taken care of for you, and then you can just supplement additional locations to go to via plugins. This also avoids the problems introduced in the last explorer where entities that move and changed the explore status of a map node would trigger negative side effects by marking and re-clearing exploration nodes over and over, causing all sorts of problems.
The actual code for OverwordAreaTweaks is pretty straightforward as well. It literally just checks for mobs, stores their id/position into a dictionary and then moves to them when the task executes. If you guys have any other questions about the design or implementation, feel free to ask!
Edit: Also, I should note, that plugin won't work in map areas by default.
You'll want to change:
to
This plugin example was always on the todo list, but it makes more sense to have included now with user contributions to mapping being done, since he idea is simple enough but the implementation can changed based on what you want your logic to do and where (e.g., corrupted area bosses, strongbox mobs, only magics/rares, etc...).
In essence, it supplements any explorer by moving the bot to more precise locations where mobs are. You could change the logic, as mentioned in one of my previous replies, to also reduce the number of positions to just mob packs by detecting a pack of mobs, and adding that location to visit instead, rather than just adding all mobs.
I'll mention it again, but the reason the new Explorer doesn't do anything with game entity locations anymore, is so users can control that, to get the desired results they want without being forced into using an explorer that did everything under the hood. By using the current explorer, GridExplorer, you'll have area coverage taken care of for you, and then you can just supplement additional locations to go to via plugins. This also avoids the problems introduced in the last explorer where entities that move and changed the explore status of a map node would trigger negative side effects by marking and re-clearing exploration nodes over and over, causing all sorts of problems.
The actual code for OverwordAreaTweaks is pretty straightforward as well. It literally just checks for mobs, stores their id/position into a dictionary and then moves to them when the task executes. If you guys have any other questions about the design or implementation, feel free to ask!
Edit: Also, I should note, that plugin won't work in map areas by default.
You'll want to change:
Code:
if (!LokiPoe.CurrentWorldArea.IsOverworldArea)
return false;
Code:
if (!LokiPoe.CurrentWorldArea.IsOverworldArea && !LokiPoe.CurrentWorldArea.IsMap)
return false;
This plugin example was always on the todo list, but it makes more sense to have included now with user contributions to mapping being done, since he idea is simple enough but the implementation can changed based on what you want your logic to do and where (e.g., corrupted area bosses, strongbox mobs, only magics/rares, etc...).
Last edited: