tullaCC

tullaCC

198k Downloads

Spiral / shading on charge cooldowns

johnsolver opened this issue ยท 9 comments

commented

A previous version I was using had abilities that were recharging with more than one charge showing as grayed out with a spiral, the new version no longer does that and only shows the CD timer.

Is there a way to change this behaviour either with an option or perhaps someway to change the code?

commented

What it should be doing now is showing the charge timer (smaller) while the ability is still usable, and then revert to the full timer when you're completely out of charges. Technically, you can just make the charge timer transparent in tullaCC but I'll see if I can add an off switch for it.

commented

I'm not sure it's the same, I think the version I was using was calling :SetDrawSwipe(_C.drawSwipe) (true) which overwrote the default behaviour for blizzard cooldowns, ie. by default w/o tullaCC, cooldowns only set the swipe to true when there are no charges left.

Which is how the new version behaves since it doesn't set those (3 options that were removed drawBling, drawEdge, drawSwipe)

commented

Try the beta, as it now defaults to hiding text on charge cooldowns:
https://github.com/tullamods/tullaCC/releases/tag/8.2.2-beta

This is configurable, along with a bunch of other things now:

/run tullaCC.Config.cooldownStyles.charge.text = true
/run tullaCC.Config.cooldownStyles.charge.swipe= true
/run ReloadUI()
commented

This works, the only issue is that the cooldown text seems to be 'below' the swipe texture for charges (where I set the swipe to true).

commented

This should be fixed in the release.

commented

Yep, this works, it does however increase the CPU usage by 15-20% but that's probably unavoidable.

commented

Doesn't seem to change it much, in either case probably worth only hooking it if the config for the charge overrides the default for swipe. Since it works perfectly fine if you do not.

commented

At the cost of memory, this may make it a bit more performant:

    -- this is a hack to make sure that text for charge cooldowns can appear
    -- above the charge cooldown itself, as charge cooldowns have a TOOLTIP
    -- frame level
    do
        local seen = {}

        hooksecurefunc("StartChargeCooldown", function(parent)
            local chargeCooldown = parent.chargeCooldown
            if chargeCooldown and not seen[chargeCooldown] then
                chargeCooldown:SetFrameStrata(parent.cooldown:GetFrameStrata())
                chargeCooldown:SetFrameLevel(parent.cooldown:GetFrameLevel() + 7)
                seen[chargeCooldown] = true
            end
        end)
    end
commented

It being in :Initialize solved the issue, pretty much the same usage as without.