X-Git-Url: https://www.aleksib.fi/git/wowui.git/blobdiff_plain/f89d735c824d0cd5bf5b247933e32c7ed803df26..7250c45be5f7f5842cec5e041b4a2ce281b904ac:/OmaAB/ActionBars.lua?ds=sidebyside diff --git a/OmaAB/ActionBars.lua b/OmaAB/ActionBars.lua index e6637e9..c18e23d 100644 --- a/OmaAB/ActionBars.lua +++ b/OmaAB/ActionBars.lua @@ -6,6 +6,7 @@ local ssub = string.sub; local GetActionInfo, GetActionTexture = GetActionInfo, GetActionTexture; local GetActionLossOfControlCooldown = GetActionLossOfControlCooldown; local GetActionCooldown, GetActionCharges = GetActionCooldown, GetActionCharges; +local GetActionText, GetBindingKey = GetActionText, GetBindingKey; local IsConsumableAction, IsStackableAction = IsConsumableAction, IsStackableAction; local IsItemAction, GetActionCount = IsItemAction, GetActionCount; local IsSpellOverlayed, GetMacroSpell = IsSpellOverlayed, GetMacroSpell; @@ -15,7 +16,6 @@ local IsCurrentAction, IsAutoRepeatAction = IsCurrentAction, IsAutoRepeatAction; local CreateFrame = CreateFrame; local RegisterStateDriver = RegisterStateDriver; local CooldownFrame_Set, CooldownFrame_Clear = CooldownFrame_Set, CooldownFrame_Clear; -local CTimerAfter = C_Timer.After; local GameTooltip = GameTooltip; local GameTooltip_SetDefaultAnchor = GameTooltip_SetDefaultAnchor; local COOLDOWN_TYPE_LOSS_OF_CONTROL = COOLDOWN_TYPE_LOSS_OF_CONTROL; @@ -67,7 +67,6 @@ local settings = { bar = 5, start = 49, length = 12, - columns = 3, x = 1000, y = 840, }, @@ -118,10 +117,18 @@ local usingBonusbars = { }; local chars = { + ["Sylvanas"] = { + ["Vildana"] = {1, 2, 3, 4,}, + }, ["Stormreaver"] = { ["Vildan"] = {1, 2, 3, 4,}, ["Gedren"] = {1, 2, 3, 4,}, ["Gazden"] = {1, 2, 3, 4,}, + ["Gedran"] = {1, 2, 3, 4,}, + ["Iled"] = {1, 2, 3, 4,}, + ["Gilden"] = {1, 2, 3, 4,}, + ["Gran"] = {1, 2, 3, 4,}, + ["Gedrin"] = {1, 2, 3, 4,}, }, }; @@ -256,11 +263,11 @@ local function updateState(button, slot) end local function updateGlow(button, slot) - local stype, id, _ = GetActionInfo(slot); + local stype, id = GetActionInfo(slot); if stype == "spell" and IsSpellOverlayed(id) then button.glow:Show(); elseif stype == "macro" then - local _, _, macroid = GetMacroSpell(id); + local macroid = GetMacroSpell(id); if macroid and IsSpellOverlayed(macroid) then button.glow:Show(); else @@ -272,11 +279,11 @@ local function updateGlow(button, slot) end local function startGlow(button, slot, spell) - local stype, id, _ = GetActionInfo(slot); + local stype, id = GetActionInfo(slot); if stype == "spell" and id == spell then button.glow:Show(); elseif stype == "macro" then - local _, _, macroid = GetMacroSpell(id); + local macroid = GetMacroSpell(id); if macroid and macroid == spell then button.glow:Show(); end @@ -285,11 +292,11 @@ local function startGlow(button, slot, spell) end local function stopGlow(button, slot, spell) - local stype, id, _ = GetActionInfo(slot); + local stype, id = GetActionInfo(slot); if stype == "spell" and id == spell then button.glow:Hide(); elseif stype == "macro" then - local _, _, macroid = GetMacroSpell(id); + local macroid = GetMacroSpell(id); if macroid and macroid == spell then button.glow:Hide(); end @@ -523,7 +530,10 @@ local function createActionBar(parent, config) secure:SetAttribute("flyoutDirection", config.flyout); end function secure:ActionChanged(oldslot) - if oldslot then activeButtons[oldslot] = nil end + if oldslot then + activeButtons[oldslot] = nil; + self.prev = nil; -- invalidate previous CD when slot changes + end self.slot = self:GetAttribute("action"); return updateButton(self, self.slot); end @@ -552,7 +562,7 @@ local function initialize() end local function setupBindings() - BINDING_HEADER_OmaAB = "Oma Action Bar"; + _G["BINDING_HEADER_OmaAB"] = "Oma Action Bar"; for i = 1,10 do _G["BINDING_HEADER_OMAABBLANK"..i] = "Bar "..i; for j = 1,12 do @@ -658,7 +668,6 @@ local events = { end end, ["PLAYER_LOGIN"] = function() - GameTooltip = _G["GameTooltip"]; initialize(); end, ["ADDON_LOADED"] = function(addon) @@ -669,7 +678,7 @@ local events = { end, }; events["LOSS_OF_CONTROL_ADDED"] = events["ACTIONBAR_UPDATE_COOLDOWN"]; -events["LOSS_OF_CONTROL_UPDATE"] = events["ACTIONBAR_UPDATE_COOLDOWN"]; -- TODO might change once tooltips are in +events["LOSS_OF_CONTROL_UPDATE"] = events["ACTIONBAR_UPDATE_COOLDOWN"]; events["PLAYER_MOUNT_DISPLAY_CHANGED"] = events["ACTIONBAR_UPDATE_USABLE"]; events["TRADE_SKILL_SHOW"] = events["ACTIONBAR_UPDATE_STATE"]; events["TRADE_SKILL_CLOSE"] = events["ACTIONBAR_UPDATE_STATE"];