I think it would be a huge step in the right direction if Honorbuddy could incorporate a new type of conditional, we'll call it a "mindset" for the sake of examples, after determining whether the current task the bot has to complete is difficult or not, based on things such as level difference, item level, pvp combat, etc. Different botbases and their profiles could set this condition, and the combat routine (and some other settings) checks the condition to see which rotation it should use. Conditions could be states like: "Aggressive," "Defensive," "Efficient," "Passive" etc. Currently, the bot has no way to differentiate whether content is "easy" or "hard." It's a matter of opinion and it varies between characters and between situations. But if it's CLEARLY not a difficult profile, an "efficient" mindset for rotation and bot settings could increase the bot's efficiency tenfold! I don't know about you guys, but it's pretty painful to watch my level 100 warlock pull level 30 mobs with Immolate, when I could instantly kill 15-20 of them with the first tick of a Rain of Fire, which has no cooldown or cast time.
Example 1:
Quest Bot detects that you are a level 100 warlock 40 levels higher than the Hellfire Peninsula quest profile you have chosen's minimum level. It automatically sets this new type of condition to "efficient" because you don't need to be moving at the careful pace of a level 60. Your selected combat routine looks at its decision structure and sees that if the bot is set to efficient, it has a special, instant-cast-only rotation, and it will also pull many more mobs, use movement speed increasing abilities continuously (in the case of a warlock, Burning Rush,) and prioritize continuing the steps of the profile over stopping to eat, etc.
Example 2:
Gatherbuddy detects that you are a level 100 warlock with an item level of 670 gathering herbs in Twilight Peninsula. You have "loot mobs" turned off, thus you gain nothing from stopping to kill anything. It sets your mindset to "passive" because it doesn't need to stop to kill anything. It will never dismount, and it will only fight back IF it has already been dismounted and thus can't remount until its attackers are dead.
Example 3:
Grind Bot detects that you are a level 100 warlock grinding mobs 80 levels lower than you, looting them, and skinning them. It sets your mindset to "efficient" and the combat routine differentiates between this state and a normal state, and like in example 1, it uses a rotation intended to be quick and easy. Suddenly, you are attacked by another level 100 player. The bot detects a player attacker and changes the mindset temporarily to "defensive." In defensive, your combat routine prioritizes movement and defensive cooldowns, interrupting spells, and CC, and attempts to make an escape. If it can't escape PvP combat after say, 10-15 seconds, it switches a second time to "aggressive." Now the bot's combat routine see this and switches to another possible state, where it uses all offensive cooldowns quickly and tries to maximize short-term damage output. Imagine how much more efficient this would be than the bot's current methodology!
Example 4:
Grind Bot detects that you are a level 90 warlock grinding mobs in Frostfire Ridge, which are level 91. Because the targets are higher level than you, it sets its mindset to "aggressive." This doesn't mean that it will pull more mobs; that would be the behavior from "efficient." No, in aggressive, the combat routine uses a priority list that optimizes quick, single target damage. You are only pulling one mob at a time, and you should be making sure it dies quickly. You should also be cc'ing any extra mob, even if it's just 1 extra. If the bot drops below 40% health and its target is not almost dead, it switches mindsets to "defensive" and makes an escape attempt. After healing to full, it should switch back to "aggressive." If the player watches the bot for a time and sees that the profile is not too difficult, they can manually change the setting to "efficient."
This could all be my crazy, bored mind going on a caffeine trip, or it could actually be an idea that some of the devs find interesting. Give it some thought! Think about what ways the bot could improve in by implementing a set of conditions that the bot changes to when it determines that its current task is either "easy" or "hard." Think about what could be difficult about implementing it.
Example 1:
Quest Bot detects that you are a level 100 warlock 40 levels higher than the Hellfire Peninsula quest profile you have chosen's minimum level. It automatically sets this new type of condition to "efficient" because you don't need to be moving at the careful pace of a level 60. Your selected combat routine looks at its decision structure and sees that if the bot is set to efficient, it has a special, instant-cast-only rotation, and it will also pull many more mobs, use movement speed increasing abilities continuously (in the case of a warlock, Burning Rush,) and prioritize continuing the steps of the profile over stopping to eat, etc.
Example 2:
Gatherbuddy detects that you are a level 100 warlock with an item level of 670 gathering herbs in Twilight Peninsula. You have "loot mobs" turned off, thus you gain nothing from stopping to kill anything. It sets your mindset to "passive" because it doesn't need to stop to kill anything. It will never dismount, and it will only fight back IF it has already been dismounted and thus can't remount until its attackers are dead.
Example 3:
Grind Bot detects that you are a level 100 warlock grinding mobs 80 levels lower than you, looting them, and skinning them. It sets your mindset to "efficient" and the combat routine differentiates between this state and a normal state, and like in example 1, it uses a rotation intended to be quick and easy. Suddenly, you are attacked by another level 100 player. The bot detects a player attacker and changes the mindset temporarily to "defensive." In defensive, your combat routine prioritizes movement and defensive cooldowns, interrupting spells, and CC, and attempts to make an escape. If it can't escape PvP combat after say, 10-15 seconds, it switches a second time to "aggressive." Now the bot's combat routine see this and switches to another possible state, where it uses all offensive cooldowns quickly and tries to maximize short-term damage output. Imagine how much more efficient this would be than the bot's current methodology!
Example 4:
Grind Bot detects that you are a level 90 warlock grinding mobs in Frostfire Ridge, which are level 91. Because the targets are higher level than you, it sets its mindset to "aggressive." This doesn't mean that it will pull more mobs; that would be the behavior from "efficient." No, in aggressive, the combat routine uses a priority list that optimizes quick, single target damage. You are only pulling one mob at a time, and you should be making sure it dies quickly. You should also be cc'ing any extra mob, even if it's just 1 extra. If the bot drops below 40% health and its target is not almost dead, it switches mindsets to "defensive" and makes an escape attempt. After healing to full, it should switch back to "aggressive." If the player watches the bot for a time and sees that the profile is not too difficult, they can manually change the setting to "efficient."
This could all be my crazy, bored mind going on a caffeine trip, or it could actually be an idea that some of the devs find interesting. Give it some thought! Think about what ways the bot could improve in by implementing a set of conditions that the bot changes to when it determines that its current task is either "easy" or "hard." Think about what could be difficult about implementing it.
Last edited: