Hekili Priority Helper

Hekili Priority Helper

46M Downloads

[FEATURE] Combining Macro'd CDs?

syrifgit opened this issue ยท 10 comments

commented

Before You Begin

  • I confirm that I have downloaded the latest version of the addon.
  • I am not playing on a private server.
  • I checked for an existing, open ticket for this request and was not able to find one.
  • I edited the title of this feature request (above) so that it describes the issue I am reporting.

Feature Request

Just leaving this here as a thought based on a Discord discussion.

Investigate viability of adding spec option support for macroing certain abilities together. Easy example would be fury warrior.

Macroing Thunderous Roar, Avatar and Recklessness together. The spec setting would disable Avatar and Recklessness, but the ability definitions would have a check where if the spec setting is used, their cooldowns and CD remianing are equal to TRs cooldown and CD remaining. TR would also apply any associated buffs/debuffs on cast to lessen the impact on the APL, as the addon would predict them properly.

Could be expanded to other options as well, maybe stuff like shadowpriest PI / voidform macro, marksmanship hunter volley/salvo macro.

Additional Information

No response

Contact Information

Syrif

commented

I think this can be viable, but needs to be have the visual aspect sorted. How do we make it clear to the users that the recommendation does or doesn't apply to the macro? What if your CDs are significantly desynced? Do you wait for them to line up (delaying something that's ready) or default to normal recommendation criteria?

Impacts:

  • readyTime, TimeToReady
  • Feigned CD
  • UI/UX
  • RunHandler?
  • Spec Options
commented

For case where CDs desync, I think priorities already handle this using the sync=<ability> modifier. If it's important to use cooldowns at the same time, then the priorities should already use this modifier, although they typically do not because it's usually better to use CDs when they're available instead of holding them.

commented

You could possibly rely on sync=<ability> to guide the display on whether to allow this sort of several CDs macroed together scenario. If, e.g., you have something like:

actions+=/recklessness,sync=avatar
actions+=/avatar

Then you could maybe show Recklessness as the main texture, and then Avatar in something like the recent caption feature, e.g., +<avatar-texture>. If there are multiple abilities that share the same sync then they could be added consecutively.

commented

I was intending for this option to be hand curated, only allowed for options that make sense and have minimal impact.

Examples being

Marksmanship hunter: Volley and Salvo are both 45 second CDs, Salvo is off the GCD, and macroing them together is recommended by the guides and most players already do it.

#showtooltip Volley
/cast Salvo
/cast Volley

Fury Warrior with current meta builds, Thunderous Roar, Avatar and Recklessness (off the GCD) are all 1.5 min CDs and often macro'd together

#showtooltip
/cast Avatar
/cast Recklessness
/cast Thunderous Roar

The addon would make the assumption that casting Thunderous Roar would apply all the effects and buffs that are applied by Avatar and Reck, when using the option. When it needs to know the CD of avatar/reck, it checks the CD of TR instead.

commented

There's precedent for actually providing the macros in the spec options (like Destruction's Havoc, I think).

That said, chaining Avatar / Recklessness / Thunderous Roar's handlers (and triggering CDs) is pretty trivial to do.

Let's say it's put in Avatar's handler:

if settings.use_cd_macro then
    if cooldown.recklessness.up then
        class.abilities.recklessness.handler()
        setCooldown( "recklessness", action.recklessness.cooldown )
    end
    if cooldown.thunderous_roar.up then
        class.abilities.thunderous_roar.handler()
        setCooldown( "thunderous_roar", action.thunderous_roar.cooldown )
    end
end

That constrains it so that the macro can be assumed when Avatar is used, but if those CDs get slightly out of sync, the addon will recommend them separately as they come available. (One could force all these abilities to use the same keybind text.) It would need a good description for the option (i.e., minimize how many people have to ask in Discord re: what it's for).

commented

Neat, I'll do some testing after the patch next week. I'd probably opt to have the "controller" cooldown be the one that triggers the GCD by default, assuming the macro is 1 to N abilities that are off-gcd and 1 ability that is on-gcd.

And I'll brainstorm a list of reasonable use cases.