Hey bud, just dropping some suggestions in that could make this CC even more powerful. I'm excited about the potential so please don't feel overwhelmed by the following. As I said, these are mostly just suggestions with a few current issues I've noticed sandwiched in. As always I appreciate your work and would be happy to donate something for your time if you message me. If you need a crash test dummy for untested code on heroic encounters I've got a very progressed hunter at your disposal.
CC and it's use on the fly
You currently have all traps with or w/o launcher coded. But selecting them in the GUI and doing a complete fight without changing something very rarely if ever works because the need to use traps is incredibly situational unless you're survival and benefiting from Lock and Load procs. Any issues can be circumvented easily by pausing Lazyraider with your hotkey and using your trap manually though. So if some kind of crowd-control mode hotkey you can macro in game isn't viable it's not a big deal. One option would be to have the trap you wanted to use selected in the GUI, usually ice or frost, and have a mouse-over macro key that launches the selected trap to your mouse-over target when the key is pushed, thus altering the rotation to prioritize the trap launch rather than halting it completely. It's tough to be competitive in damage during heroic fights that require me to CC when I have to pause the bot repeatedly. Repeated pausing also sometimes causes crashes or internal errors. Worst case scenario resulting in the session key having to be terminated manually to restart the bot and playing the character manually for the remainder of the encounter.
Scatter, Freezing Trap on focus, repeated 3 seconds prior to trap duration until focus is removed
Scatter, Freezing Trap on mouse over when hotkey pressed/held
(Variable) Trap on mouse over target when hotkey pressed/held
(Variable) Trap on left mouse click when hotkey pressed/held (For dropping traps at strategic locations without halting routine) (Could also be used as a pause key while depressed)
On fights that we need to snare and we aren't Survival Binding Arrow is invaluable. When the bot is trying to spam abilities it cancels the green casting animation on the ground for trap launcher and binding arrow. The addition of macro'd CC hot keys like the ones listed above would in my opinion take this routine to the next level for the lazy advanced player. Even a momentary pause key that we could use in conjunction with a modifier macro. Left shift for example. While depressed left shift pauses the spamming of spells and your Binding Arrow could be keybound to LShift + (your choice). Being able to control your CC intelligently and then instantly continue a precision rotation makes players using this routine to it's fullest incredibly valuable. Some things should just be controlled by the player in high end raiding. Script and variables are great but Honorbuddy will never be able to make complex decisions on the fly like we can. And when 9 or 24 other people are counting on you to do something I'd want to be the one in control of it.
All that being said, I can see how people would ask why I don't just use a Lazyraider pause key for those situations. I have been doing that and at least a couple times over the course of a night of raiding it decides to stop working and crashes the bot. A momentary pause that interacts directly with the routine feels like a fix rather than a band-aid. It feels like the rotation logic is also reset each time it's paused which takes a little time to re-adjust.
Additional tab for interrupting
Scatter, Silence, Intimidation (If BM), Exotic Pet ability, Freezing Trap launcher as last resort on non-immune mobs.
Option to Interrupt all Interruptable spells or a box we can add/remove the spell id or exact name of the cast that needs interrupting.
Millhouse Manastorm in the Brawler's Arena could be an example of how this would be helpful. Interrupting his two offensive spells and not interrupting his ability to summon the crystals that you get your power buff from. As it sits in it's current state if you select that you have Silencing Shot talented in the second tab it will automatically silence any ability it can, which obviously has the potential to cause a problem if forgotten about. (lol don't ask).
It could be kept simple by giving the user the option to manually enter the spell id they wished to use in order of priority in a separate box.
In game hotkey to enable/disable interrupting.
In game chatbox text displaying interrupting on or off on key press.
Additional tab for countering certain fight mechanics
An example off the top of my head would be...
Heroic Spirit Kings
Halt attacking during casting of shields or until they're dispelled. I say during casting because as a ranged class if the bot was looking for a shield on the boss it would have already sent an attack, autoshot/glaive, before the attack sequence was halted.
targetiscasting Shield of Darkness true/false
targetiscasting Impervious Shield true/false
targethasbuff Shield of Darkness true/false
targethasbuff Impervious Shield true/false
Istrue - haltattacking so we don't get yelled at
Pets and dots applied previously do not trigger shields.
---------------------------------------------------------------------------------------------------------
Disable Glaive Toss for 3 seconds after maddening shout is cast so we don't slow our mind controlled allies and cause them to get killed when they're broken free.
^That or however it would be easiest to code that. The original reason for not glaive tossing still holds true. I personally just pause the rotation and use multishot once or twice.
---------------------------------------------------------------------------------------------------------
Halt damage and call back pet when Insanity reaches 70 on Meng the Demented. This is his reflect damage ability and you should stop damage for obvious reasons.
---------------------------------------------------------------------------------------------------------
When Subetai the Swift uses Rain of Arrows in regular or heroic difficulty he, for a split second, targets the raid member he's casting it on. You can deflect Pinning Arrow with Deterrence and a split second reaction time. If the bot could have a trigger to use Deterrence when targeted by Subetai it would be amazing.
(This is actually really bad ass because it requires unbelievable reaction time to cheese it.)
You can also Beastial Wrath out of Pinning Arrow but to code something to intelligently save/use your cooldown for this would be difficult and probably too much of a dps loss to make it worth-while. A simple form of this would be, hasdebuff(Pinning Arrow) isavailable(BW) true, targetavailable(Pinning Arrow) cast pet attack. Your pet should always switch to Pinning Arrow especially when it's on you. We shouldn't ever have it when we cheese it with Deterrence but if for some reason both are on cooldown it's important to call your pet back. Master's Call does not work unfortunately because you're unable to cast.
---------------------------------------------------------------------------------------------------------
Halt damage when target is casting Sleight of Hand. Resume damage after 2 seconds of cast finish. This gives the melee enough time to get their stuns off for the 8 second duration. An easier solution would be to use a momentary pause key like I've been ranting about above. Or if you wanted to get technical with it you could have it resume rotation when target has (Sleight of Hand) istargetstunned (true).
---------------------------------------------------------------------------------------------------------
Interrupt cast (Shadow Blast) - Zian of the Endless Shadow. Some CCs have an intelligent interrupt sequence. If you are given an order in which to interrupt you can have the bot count how many times it's been cast and interrupt the number you've been assigned. This seems like a pain in the ass to code and would be much easier to have a hot key to enable/disable interrupting.
Again, just examples of things that could be added and a couple little quality of life enhancements like this are so, so nice. When you're confident in the bots ability to counter certain mechanics your attention can be used elsewhere, like calling out mechanics.
I'm winding down now and will use this as a foundation to build suggestions on.