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

Modifying code for more efficient mining/herb.

Flebar

New Member
Joined
Sep 22, 2015
Messages
25
Reaction score
0
Hi, I'm sorry if I put this post in the wrong place but I really didnt know where to put it.

I'm currently using a tanaan jungle mining and herb profile and I've encountered a bit of a problem:
I have stables in my garrison, which lets me mine/herb without dismounting, but my bot will immediately dismount and aggro mobs if it enters combat.

Does anyone know how to easily change this? The profile only consists of some hotspots, repair/vendor/mailbox, some blacklisted spots and some mobs to avoid.
If I edit avoid mobs to every mob I encounter, will the bot stop engaging them?
If so, will it still complete the mining/herbing before flying away?

Thankful for any responses.
 
Garrisonbuddy problem.....It hangs in front of mine and does not gather minerals.the bot freezes
 
@OP: This is a support issue. You'll want to attach a log with logmarks in the support section. There's a sticky there that explains this better than me.
 
Hi, Flebar,

This cannot be done at the profile level, and your best shot will probably require writing a plugin to override Honorbuddy's mounting logic. This will not be an easy task.

The fundamental problem is the ability you describe is an zone-specific aura, and not a bona-fide mount. As such, it does not fit into the normal Warcraft 'mounting model'. Modifying Honorbuddy's mounting model to accommodate this has been deemed insufficient reward for the development effort involved.

This issue was feature request HB-1583 (Telaari Talbuk/Frostwolf War Wolf support). This issue was closed as "won't implement". Here is the disposition from the senior staff:

"We've decided not to add it since it's technically not a mount (Doesn't show up in list of known mounts and /dismount (I believe) doesn't dismount from this, a zone wide only buff and a lot of Botbases/CRs will dismount before combat so if this was recognized and treated as a mount by HB core then there would be no benefit in use this over any other mount because of getting dismounted while in combat. This should instead be left to the CR, Botbase or a plugin to support."


cheers,
chinajade
 
Last edited:
@Chinajade

Could you override gather behaviour by disabling gathering in settings and writing your own custom behavior file based off maybe interact with?
 
Could you override gather behaviour by disabling gathering in settings and writing your own custom behavior file based off maybe interact with?
Hi, MrPewterSchmidt,

I assume we're talking about Gatherbuddy2? If so, unlike Questbot, Gatherbuddy2 does not implement TreeHooks.

If you elect to try this using Questbot, you'll quickly discover there is no Tree Hook for 'gathering'. The off-the-cuff work-around for this would be to provide a Combat_Main hook, that disables combat completely. This might be very dangerous around certain nodes--not certain. Also, we're not certain how efficacious this approach would be.

The second problem is coordinating HBcore's normal transfer of control to the Combat Routine. Both, HBcore and the individual CRs are going to try to dismount, so there are two places to stop the dismount from happening. As you approach a node with mobs around it, how do you know which node is 'safe' to remain mounted, and which nodes should be cleared? (I've never used one of these mounts, so have no experience whatsoever with them. Also, I don't gather a lot. :D )

One possibility...
a plugin that implements a Target Filter (IncludeTargetsFilter, RemoveTargetsFilter, WeighTargetsFilter) for HBcore. One would write the Target Filter to prevent HBcore from 'seeing' mobs around nodes that are 'safe'. This should prevent HBcore from dismounting to engage them, and will prevent HBcore from transferring control to the Combat Routine.

If you get attacked and the Target Filter is hiding the mob from HBcore, HBcore will just take damage. If HBcore can't 'see' the mob, then there is no reason to dismount and fight back. (Disclaimer: we've not tested this.)

For an example of how Target Filters are used, look at these two files:
  • .../Honorbuddy/Quest Behaviors/QuestBehaviorCore/QuestBehaviorBase.cs
  • .../Honorbuddy/Quest Behaviors/InteractWith.cs
There should be several more examples of Target Filter usage in the Quest Behaviors directory. Target Filtering should work, regardless of the bot used. The straight-forward approach would be write a plugin to install and remove the filter.

cheers,
chinajade
 
Last edited:
Hi, MrPewterSchmidt,

I assume we're talking about Gatherbuddy2? If so, Gatherbuddy2 does not implement TreeHooks as the Questbot does.

I'm using Questbot.

If you elect to try this using Questbot, you'll quickly discover there is no Tree Hook for 'gathering'.

While there is no tree hook for "gathering" there may be another way to interact with the node I haven't quite figured it out.

The off-the-cuff work-around for this would be to provide a Combat_Main hook, that disables combat completely. This might be very dangerous around certain nodes--not certain. Also, we're not certain how efficacious this approach would be.

Disabling combat would actually help with gathering in flight form unless of course you get dismounted in which case you would have to re-enable combat to remount.

The second problem is coordinating HBcore's normal transfer of control to the Combat Routine. Both, HBcore and the individual CRs are going to try to dismount, so there are two places to stop the dismount from happening. As you approach a node with mobs around it, how do you know which node is 'safe' to remain mounted, and which nodes should be cleared? (I've never used one of these mounts, so have no experience whatsoever with them. Also, I don't gather a lot. )

If you gather fast enough as long as you don't get dismounted - you can gather within a couple 2 or 3 tries and fly away. If you are getting dismounted or it takes more than X tries the node needs to be blacklisted.

One possibility...

a plugin that implements a Target Filter (IncludeTargetsFilter, RemoveTargetsFilter, WeighTargetsFilter)for HBcore. The Target Filter would prevent HBcore from 'seeing' mobs around nodes that are 'safe'. This should prevent HBcore from dismounting to engage them, and will prevent HBcore from transferring control to the Combat Routine.

If you get attacked and the Target Filter is hiding the mob from HBcore, HBcore will just take damage. If HBcore can't 'see' the mob, then there is no reason to dismount and fight back. (Disclaimer: we've not tested this.)

For an example of how Target Filters are used, look at these two files:

• .../Honorbuddy/Quest Behaviors/QuestBehaviorCore/QuestBehaviorBase.cs
• .../Honorbuddy/Quest Behaviors/InteractWith.cs


There should be several more examples of Target Filter usage in the Quest Behaviors directory. Target Filtering should work, regardless of the bot used. The straight-forward approach would be write a plugin to install and remove the filter.

Much for me to digest and I hope you see the direction I'm going with this.

Thank you for your time kind sir!
 
Thanks for the responses guys, the task seems a bit too daunting for me. I'm by no means a programmer.
I did try to blacklist mobs, with some interesting results:

What happens is that when a mob starts aggroing, the bot will just continue trying to herb/mine, if auto-loot is on (and with that mining pick treasure that makes mining alot faster)
the bot will just try to mine/herb until it succeeds. This was almost perfect.

There sadly was a problem: If you encounter a mob not on your blacklist and pull some mobs that ARE on your blacklist, you will kill the non-listed mob, then just stand and die.
This obviously isnt a problem if you blacklist all possible mobs, a bit tedious, but doable.

The real problem comes from those few times you draw more than one mob.
While the mining pick easily outmines a regular mobs auto-attacks (auto-attacks interrupt mining), when two or more mobs are pulled all bets are off.
This will leave the bot desperately trying to mine until death.

In summation: blacklisting mobs is not a viable solution, you just have to accept that the bot can't utilize the stables as efficiently as one would like.

Lastly: one setting that would save this completely is that if the bot could circumvent the blacklist and attack blacklisted mobs if they are in a large enough group, is something like that possible?
 
Last edited:
OP:

The gathering problem has been a know bug for several months. Pretty much kills AFK gathering outdoors.
I've been toying with the problem albeit lazily for a minute.

So, I feel ya.
 
Back
Top