AdiButtonAuras

AdiButtonAuras

404k Downloads

Show elemental shaman's lighning shield stacks

ckaotik opened this issue ยท 2 comments

commented

I've added this to the Shaman setup, but as always its not 100% yet. My goal was to show the current stack count of Lightning Shield in addition to the Weakened Blows duration. I tried some of the other handlers you offer, but couldn't use the power preset because it's not an actual power type, however it's what's probably the most similar.

This should probably only activate when in Elemental spec. Also, it's discussable if the spell should flash or not, and if so, when. Blizzard shows the button's flash and it's power aura at 7 stacks (the maximum amount) and it only stays for a short while before the alerts are hidden again (even if not used).

        Configure {
            "Fulmination",
            format(L['Show %s stacks.'], L["lightning shield"]),
            8042, -- Earth Shock
            "player",
            { "UNIT_AURA", "PLAYER_REGEN_ENABLED", "PLAYER_REGEN_DISABLED" },
            (function()
                local lightningShield = GetSpellInfo(324)
                return function(units, model)
                    local _, _, _, count = UnitAura("player", lightningShield, nil, "HELPFUL PLAYER")
                    model.count = count
                    -- if InCombatLockdown() and count >= 6 then
                    --  model.highlight = "flash"
                    --  return true
                    -- end
                end
            end)(),
            324, -- Provided by: Lightning Shield
        },
commented

Right, this makes more sense I think :) I'll keep the highlight/hint disabled for now since Blizzard does supply quite a noticable indicator and having the stack count should be more than enough.

AdiButtonAuras:RegisterRules(function(addon)
    addon.Debug('Rules', 'Adding shaman rules')

    local L = addon.L
    local lightningShield = GetSpellInfo(324)

    return {
        ImportPlayerSpells { "SHAMAN" },
        Configure {
            lightningShield,
            format(L['Show %s stacks.'], lightningShield),
            8042, -- Earth Shock
            "player",
            { "UNIT_AURA", "PLAYER_REGEN_ENABLED", "PLAYER_REGEN_DISABLED" },
            function(units, model)
                local _, _, _, count = UnitAura("player", lightningShield, nil, "HELPFUL PLAYER")
                model.count = count
                -- if InCombatLockdown() and count >= 6 then
                --  model.highlight = "flash"
                --  model.hint = true
                --  return true
                -- end
            end,
            88766, -- Provided by: Fulmination
        },
    }
end)
commented

It should be provided by Fulmination (88766). This way it will not be shown unless the player has the passive, that is the right specialization with the sufficient level. You can also try to set model.hint to true instead of using the flash. I have added this to distinguish what is (or should be) shown by Blizzard and what is advised by the addon. If there wasn't any "bad" highlight, you could just have shown the "good" and let each user promote it to "flash" using the configuraion GUI.