Hekili Priority Helper

Hekili Priority Helper

44M Downloads

Support for holy paladin

dglynch opened this issue · 18 comments

commented

From what I've read about holy paladins in the upcoming 9.0 patch, it seems it will be very important for them to cast both Crusader Strike (an offensive melee-range ability) and Holy Shock (which can either deal damage or heal) regularly to build holy power. Hammer of Wrath will also build holy power. They also need to be near their important healing targets, such as the tank, to make good use of their mastery, which means they might as well DPS the boss.

A few months ago, you approved a feature request to add support for feral affinity resto druid, and I think the same idea should be extended to holy paladin. It may not be reasonable to provide priority for healing-only spells like Flash of Light, but offensive spells like Crusader Strike and Hammer of Wrath, and even a spell like Holy Shock that should be cast on cooldown (whether or not anyone needs healing immediately), seem like they could be supported by Hekili. Additionally, some of the guides I have read about how to play holy paladin sound a lot like the guides I read about DPS specs, so I don't really understand how it would be too hard to use Hekili to help prioritize healing. For example, the "quickfire guide" in the following links sounds exactly like a typical DPS rotation/priority guide: https://www.method.gg/guides/holy-paladin/playstyle-and-rotation

But, if I am wrong about that, even something like a "max DPS mode" that has no regard for healing, and that just recommends Shield of the Righteous as the only spender of holy power, seems like it would be more useful than just disabling Hekili when the user switches into holy spec. I know I would want to see that kind of mode 100% of the time, even if I am ignoring it due to healing requirements. When I am in retribution or protection spec, I sometimes ignore Hekili so that I can cast utility, defensive, or self-healing spells on the GCD, and I don't see how that is very different from this suggestion.

commented

Was this ever released?

commented
commented

It's exactly as I described -- included and not enabled. People with addon/Lua experience would be able to enable and toy with it.

commented
commented

@Hekili Is there condition for shield_equipped? Or dagger_equipped for Assassination Rogue. Some Abilities requires specific gear.

commented

At the moment, there is not.

commented

This would be amazing!

commented

dglynch, I couldn't agree more with the need for this. I play a lot of arena and believe this would add a lot of value, to include providing insights on when to use SoV as a HP dump based on being targeted or proximity to benefit from the armor buff. Yesterday, I began trying to work from the prot pally file to generate a HPal profile, but am new to the libraries and how to nest them, and have to stumble through which other files require editing to get the profile recognized by the addon. Also, this is my first addon project--ever. I'm happy to collaborate; but know with certainty that someone more familiar with programming and wow addons will achieve optimal results far faster than I will.

commented

Now that Hpals have an actual dps rotation this would be soo dope!

commented

I just made file for Holy. It has minimum functionality, but seems ok.
@Hekili May I share it?

commented

Sure.

commented

Thx!
Hekili/Classes/PaladinHoly.lua
Also needed to add:
Classes\PaladinHoly.lua
in Hekili.toc @39:

commented

Lorientalas. First, thank you for taking this on. I added the PaladinHoly.lua file to the classes folder and inserted "Classes\PaladinHoly.lua" at line 39 in Hekili.toc; but the Holy profile is not being recognized within the options panel, nor is is loading. Any adice.

commented

Unfortunately same is happening for me. Can't seem to get it to work

commented

I haven't done any testing and noted a few things I'd need to clean up (I can tell that this was based off the Protection module). But the file loads and runs for me without issue.

If you're testing on beta right now, a lot is broken on beta right now so that could be your issue.

commented

The only issue I catch at first loading new char after cleaning saved variables(at 2nd login all is correct).
I don't know if my changes relates to it.
Errors:
Message: Interface\AddOns\Hekili\Core.lua:1243: attempt to index local 'pack' (a nil value)
Time: Thu Oct 29 04:08:44 2020
Count: 1
Stack: Interface\AddOns\Hekili\Core.lua:1243: attempt to index local 'pack' (a nil value)
[string "=[C]"]: ?
[string "@interface\AddOns\Hekili\Core.lua"]:1243: in function GetNextPrediction' [string "@Interface\AddOns\Hekili\Core.lua"]:1540: in function ProcessHooks'
[string "@interface\AddOns\Hekili\UI.lua"]:1343: in function Activate' [string "@Interface\AddOns\Hekili\UI.lua"]:1639: in function UpdateDisplayVisibility'
[string "@interface\AddOns\Hekili\Classes.lua"]:5368: in function SpecializationChanged' [string "@Interface\AddOns\Hekili\Events.lua"]:286: in function handler'
[string "@interface\AddOns\Hekili\Events.lua"]:55: in function <Interface\AddOns\Hekili\Events.lua:49>

Message: Interface\AddOns\Hekili\Core.lua:1243: attempt to index local 'pack' (a nil value)
Time: Thu Oct 29 04:15:50 2020
Count: 27891
Stack: Interface\AddOns\Hekili\Core.lua:1243: attempt to index local 'pack' (a nil value)
[string "=[C]"]: ?
[string "@interface\AddOns\Hekili\Core.lua"]:1243: in function GetNextPrediction' [string "@Interface\AddOns\Hekili\Core.lua"]:1540: in function ProcessHooks'
[string "@interface\AddOns\Hekili\UI.lua"]:825: in function <Interface\AddOns\Hekili\UI.lua:689>

Locals:

commented

I added this to 1.0.17-beta5 but disabled it in the TOC (commented out with #).

After I review it more thoroughly, I'll look at enabling the module.

The error message above should also be resolved.

commented

@lorientalas any chance you have an update for 9.0.5?

edit:
I noticed that bestow faith was missing from the actions so I atempted to add it. I do not know of a way to set a timeout to handle the delay of the holy power gain, but here is the action I created.

Register Aura

bestow_faith = {
    id = 223306,
    duration = 5,
    max_stack = 1,            
},

Register Ability

bestow_faith = {
    id = 223306,
    cast = 0,
    cooldown = 12,
    gcd = "spell",

    spend = 0.06,
    spendType = "mana",

    startsCombat = false,
    texture = 236249,

    talent = "bestow_faith",
    handler = function ()
        -- Need a way to delay this hp gain 5 sec
        gain( 1, "holy_power" )
    end,
},