diff --git a/IceCastBar.lua b/IceCastBar.lua index ec70c34..36d3b7b 100644 --- a/IceCastBar.lua +++ b/IceCastBar.lua @@ -12,6 +12,11 @@ IceCastBar.prototype.actionMessage = nil IceCastBar.prototype.unit = nil IceCastBar.prototype.current = nil +local SPELL_POWER_MANA = SPELL_POWER_MANA +if IceHUD.WowVer >= 80000 then + SPELL_POWER_MANA = Enum.PowerType.Mana +end + local AuraIconWidth = 20 local AuraIconHeight = 20 @@ -346,9 +351,18 @@ end function IceCastBar.prototype:StartBar(action, message) - local spell, rank, displayName, icon, startTime, endTime, isTradeSkill = UnitCastingInfo(self.unit) + local spell, rank, displayName, icon, startTime, endTime, isTradeSkill + if IceHUD.WowVer < 80000 then + spell, rank, displayName, icon, startTime, endTime, isTradeSkill = UnitCastingInfo(self.unit) + else + spell, displayName, icon, startTime, endTime, isTradeSkill = UnitCastingInfo(self.unit) + end if not (spell) then - spell, rank, displayName, icon, startTime, endTime = UnitChannelInfo(self.unit) + if IceHUD.WowVer < 80000 then + spell, rank, displayName, icon, startTime, endTime = UnitChannelInfo(self.unit) + else + spell, displayName, icon, startTime, endTime = UnitChannelInfo(self.unit) + end end if not spell then @@ -496,7 +510,7 @@ function IceCastBar.prototype:SpellCastDelayed(event, unit, delay) if (unit ~= self.unit) then return end --IceHUD:Debug("SpellCastDelayed", unit, UnitCastingInfo(unit)) - local spell, rank, displayName, icon, startTime, endTime, isTradeSkill = UnitCastingInfo(self.unit) + local endTime = select(IceHUD.WowVer < 80000 and 6 or 5, UnitCastingInfo(self.unit)) if (endTime and self.actionStartTime) then -- apparently this check is needed, got nils during a horrible lag spike @@ -554,7 +568,12 @@ function IceCastBar.prototype:SpellCastChannelUpdate(event, unit) if (unit ~= self.unit or not self.actionStartTime) then return end --IceHUD:Debug("SpellCastChannelUpdate", unit, UnitChannelInfo(unit)) - local spell, rank, displayName, icon, startTime, endTime = UnitChannelInfo(unit) + local spell, rank, displayName, icon, startTime, endTime + if IceHUD.WowVer < 80000 then + spell, rank, displayName, icon, startTime, endTime = UnitChannelInfo(unit) + else + spell, displayName, icon, startTime, endTime = UnitChannelInfo(unit) + end if not spell then self.actionDuration = 0 else diff --git a/IceHUD.lua b/IceHUD.lua index ca27022..1002dd6 100644 --- a/IceHUD.lua +++ b/IceHUD.lua @@ -18,6 +18,8 @@ IceHUD.debugging = false IceHUD.WowVer = select(4, GetBuildInfo()) +IceHUD.UnitPowerEvent = IceHUD.WowVer < 80000 and "UNIT_POWER" or "UNIT_POWER_UPDATE" + IceHUD.validBarList = { "Bar", "HiBar", "RoundBar", "ColorBar", "RivetBar", "RivetBar2", "CleanCurves", "GlowArc", "BloodGlaives", "ArcHUD", "FangRune", "DHUD", "CleanCurvesOut", "CleanTank", "PillTank", "GemTank" } IceHUD.validCustomModules = {Bar="Buff/Debuff watcher", Counter="Buff/Debuff stack counter", CD="Cooldown bar", Health="Health bar", Mana="Mana bar", CounterBar="Stack count bar"} @@ -409,7 +411,12 @@ function IceHUD:GetAuraCount(auraType, unit, ability, onlyMine, matchByName) end local i = 1 - local name, _, texture, applications = UnitAura(unit, i, auraType..(onlyMine and "|PLAYER" or "")) + local name, _, texture, applications + if IceHUD.WowVer < 80000 then + name, _, texture, applications = UnitAura(unit, i, auraType..(onlyMine and "|PLAYER" or "")) + else + name, texture, applications = UnitAura(unit, i, auraType..(onlyMine and "|PLAYER" or "")) + end while name do if (not matchByName and string.match(texture:upper(), ability:upper())) or (matchByName and string.match(name:upper(), ability:upper())) then @@ -417,7 +424,11 @@ function IceHUD:GetAuraCount(auraType, unit, ability, onlyMine, matchByName) end i = i + 1 - name, _, texture, applications = UnitAura(unit, i, auraType..(onlyMine and "|PLAYER" or "")) + if IceHUD.WowVer < 80000 then + name, _, texture, applications = UnitAura(unit, i, auraType..(onlyMine and "|PLAYER" or "")) + else + name, texture, applications = UnitAura(unit, i, auraType..(onlyMine and "|PLAYER" or "")) + end end return 0 @@ -432,7 +443,12 @@ do end local i = 1 - local name, _, texture, applications, _, _, _, _, _, _, auraID = UnitAura(unit, i) + local name, _, texture, applications, _, _, _, _, _, _, auraID + if IceHUD.WowVer < 80000 then + name, _, texture, applications, _, _, _, _, _, _, auraID = UnitAura(unit, i) + else + name, texture, applications, _, _, _, _, _, _, auraID = UnitAura(unit, i) + end while name do for i=1, #spellIDs do if spellIDs[i] == auraID then @@ -442,7 +458,11 @@ do end i = i + 1 - name, _, texture, applications, _, _, _, _, _, _, auraID = UnitAura(unit, i) + if IceHUD.WowVer < 80000 then + name, _, texture, applications, _, _, _, _, _, _, auraID = UnitAura(unit, i) + else + name, texture, applications, _, _, _, _, _, _, auraID = UnitAura(unit, i) + end end return retval @@ -724,7 +744,9 @@ local function figure_unit_menu(unit) end IceHUD_UnitFrame_DropDown = CreateFrame("Frame", "IceHUD_UnitFrame_DropDown", UIParent, "UIDropDownMenuTemplate") -UnitPopupFrames[#UnitPopupFrames+1] = "IceHUD_UnitFrame_DropDown" +if UnitPopupFrames then + UnitPopupFrames[#UnitPopupFrames+1] = "IceHUD_UnitFrame_DropDown" +end IceHUD.DropdownUnit = nil UIDropDownMenu_Initialize(IceHUD_UnitFrame_DropDown, function() diff --git a/IceHUD.toc b/IceHUD.toc index 82de3e5..7caebcd 100644 --- a/IceHUD.toc +++ b/IceHUD.toc @@ -6,7 +6,7 @@ ## Version: @project-version@ ## SavedVariables: IceCoreDB ## OptionalDeps: Ace3, LibSharedMedia-3.0, LibDogTag-3.0, LibDogTag-Unit-3.0, LibRangeCheck-2.0, LibDualSpec-1.0, LibDBIcon-1.0, AceGUI-3.0-SharedMediaWidgets -## X-Compatible-With: 70200 +## X-Compatible-With: 80000 ## X-Category: HUDs ## X-Website: https://www.wowace.com/projects/ice-hud ## X-WoWI-ID: 8149 diff --git a/IceStackCounter.lua b/IceStackCounter.lua index b73cf3c..3d82093 100644 --- a/IceStackCounter.lua +++ b/IceStackCounter.lua @@ -128,7 +128,9 @@ end function IceStackCounter_Enable(frame) frame:RegisterEvent("UNIT_AURA", "UpdateCustomCount") frame:RegisterEvent("UNIT_PET", "UpdateCustomCount") - frame:RegisterEvent("PLAYER_PET_CHANGED", "UpdateCustomCount") + if IceHUD.WowVer < 80000 then + frame:RegisterEvent("PLAYER_PET_CHANGED", "UpdateCustomCount") + end frame:RegisterEvent("PLAYER_FOCUS_CHANGED", "UpdateCustomCount") frame:RegisterEvent("PLAYER_DEAD", "UpdateCustomCount") frame:RegisterEvent("SPELL_UPDATE_CHARGES", "UpdateCustomCount") diff --git a/IceUnitBar.lua b/IceUnitBar.lua index 3306d6d..fb93eb1 100644 --- a/IceUnitBar.lua +++ b/IceUnitBar.lua @@ -19,6 +19,11 @@ IceUnitBar.prototype.hasPet = nil IceUnitBar.prototype.noFlash = nil +local SPELL_POWER_INSANITY = SPELL_POWER_INSANITY +if IceHUD.WowVer >= 80000 then + SPELL_POWER_INSANITY = Enum.PowerType.Insanity +end + -- Constructor -- function IceUnitBar.prototype:init(name, unit) IceUnitBar.super.prototype.init(self, name) diff --git a/changelog.txt b/changelog.txt index 1a88603..88f9d20 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,10 @@ +v1.11: +- BfA compatibility + +v1.10.17: +- Fixed Insanity display with DogTags disabled +- Show text on Absorb and AltMana with DogTags disabled + v1.10.16.1: - Added option to hide the raid icon for Info frames. - Updated TOC for 7.3 diff --git a/modules/ArcaneCharges.lua b/modules/ArcaneCharges.lua index b35556b..4130788 100644 --- a/modules/ArcaneCharges.lua +++ b/modules/ArcaneCharges.lua @@ -1,6 +1,11 @@ local L = LibStub("AceLocale-3.0"):GetLocale("IceHUD", false) local ArcaneCharges = IceCore_CreateClass(IceClassPowerCounter) +local SPELL_POWER_ARCANE_CHARGES = SPELL_POWER_ARCANE_CHARGES +if IceHUD.WowVer >= 80000 then + SPELL_POWER_ARCANE_CHARGES = Enum.PowerType.ArcaneCharges +end + function ArcaneCharges.prototype:init() ArcaneCharges.super.prototype.init(self, "ArcaneCharges") diff --git a/modules/ClassPowerCounter.lua b/modules/ClassPowerCounter.lua index b2c138c..0d0fb07 100644 --- a/modules/ClassPowerCounter.lua +++ b/modules/ClassPowerCounter.lua @@ -465,7 +465,7 @@ end function IceClassPowerCounter.prototype:DisplayCounter() self:UnregisterEvent("PLAYER_LEVEL_UP") - self:RegisterEvent("UNIT_POWER", "UpdateRunePower") + self:RegisterEvent(IceHUD.UnitPowerEvent, "UpdateRunePower") self:RegisterEvent("UNIT_DISPLAYPOWER", "UpdateRunePower") self:RegisterEvent("PLAYER_ENTERING_WORLD", "UpdateRunePower") @@ -485,7 +485,7 @@ function IceClassPowerCounter.prototype:Disable(core) end function IceClassPowerCounter.prototype:UpdateRunePower(event, arg1, arg2) - if event and (event == "UNIT_POWER" or event == "UNIT_POWER_FREQUENT") and arg1 ~= "player" and arg1 ~= "vehicle" then + if event and (event == IceHUD.UnitPowerEvent or event == "UNIT_POWER_FREQUENT") and arg1 ~= "player" and arg1 ~= "vehicle" then return end diff --git a/modules/ComboPoints.lua b/modules/ComboPoints.lua index 2b0d003..2e8b8ff 100644 --- a/modules/ComboPoints.lua +++ b/modules/ComboPoints.lua @@ -7,6 +7,11 @@ local AnticipationSpellId = 114015 ComboPoints.prototype.comboSize = 20 +local SPELL_POWER_COMBO_POINTS = SPELL_POWER_COMBO_POINTS +if IceHUD.WowVer >= 80000 then + SPELL_POWER_COMBO_POINTS = Enum.PowerType.ComboPoints +end + -- Constructor -- function ComboPoints.prototype:init() ComboPoints.super.prototype.init(self, "ComboPoints") @@ -252,8 +257,10 @@ function ComboPoints.prototype:Enable(core) if IceHUD.WowVer < 70000 then self:RegisterEvent("UNIT_COMBO_POINTS", "UpdateComboPoints") else - self:RegisterEvent("UNIT_POWER", "UpdateComboPoints") - self:RegisterEvent("UNIT_MAXPOWER", "UpdateMaxComboPoints") + self:RegisterEvent(IceHUD.UnitPowerEvent, "UpdateComboPoints") + if IceHUD.WowVer < 80000 then + self:RegisterEvent("UNIT_MAXPOWER", "UpdateMaxComboPoints") + end end self:RegisterEvent("UNIT_ENTERED_VEHICLE", "UpdateComboPoints") self:RegisterEvent("UNIT_EXITED_VEHICLE", "UpdateComboPoints") @@ -436,7 +443,7 @@ function ComboPoints.prototype:CreateComboFrame(forceTextureUpdate) end function ComboPoints.prototype:UpdateComboPoints(...) - if select('#', ...) >= 3 and select(1, ...) == "UNIT_POWER" and select(3, ...) ~= "COMBO_POINTS" then + if select('#', ...) >= 3 and select(1, ...) == IceHUD.UnitPowerEvent and select(3, ...) ~= "COMBO_POINTS" then return end @@ -454,7 +461,11 @@ function ComboPoints.prototype:UpdateComboPoints(...) end if IceHUD.WowVer < 70000 then - _, _, _, anticipate = UnitAura("player", GetSpellInfo(AnticipationSpellId)) + if IceHUD.WowVer < 80000 then + _, _, _, anticipate = UnitAura("player", GetSpellInfo(AnticipationSpellId)) + else + _, _, anticipate = UnitAura("player", GetSpellInfo(AnticipationSpellId)) + end else anticipate = 0 end @@ -520,7 +531,12 @@ do function ComboPoints.prototype:CheckAnticipation(e, unit) -- UNIT_AURA handler if UnitIsUnit(unit, "player") then - local _, _, _, newAntStacks = UnitAura("player", GetSpellInfo(AnticipationSpellId)) + local _, _, _, newAntStacks + if IceHUD.WowVer < 80000 then + _, _, _, newAntStacks = UnitAura("player", GetSpellInfo(AnticipationSpellId)) + else + _, _, newAntStacks = UnitAura("player", GetSpellInfo(AnticipationSpellId)) + end if newAntStacks ~= antStacks then antStacks = newAntStacks self:UpdateComboPoints() diff --git a/modules/ComboPointsBar.lua b/modules/ComboPointsBar.lua index 928bf16..b2d77b5 100644 --- a/modules/ComboPointsBar.lua +++ b/modules/ComboPointsBar.lua @@ -1,6 +1,11 @@ local L = LibStub("AceLocale-3.0"):GetLocale("IceHUD", false) local ComboPointsBar = IceCore_CreateClass(IceBarElement) +local SPELL_POWER_COMBO_POINTS = SPELL_POWER_COMBO_POINTS +if IceHUD.WowVer >= 80000 then + SPELL_POWER_COMBO_POINTS = Enum.PowerType.ComboPoints +end + function ComboPointsBar.prototype:init() ComboPointsBar.super.prototype.init(self, "ComboPointsBar") @@ -69,7 +74,7 @@ function ComboPointsBar.prototype:Enable(core) if IceHUD.WowVer < 70000 then self:RegisterEvent("UNIT_COMBO_POINTS", "UpdateComboPoints") else - self:RegisterEvent("UNIT_POWER", "UpdateComboPoints") + self:RegisterEvent(IceHUD.UnitPowerEvent, "UpdateComboPoints") end self:RegisterEvent("UNIT_ENTERED_VEHICLE", "UpdateComboPoints") self:RegisterEvent("UNIT_EXITED_VEHICLE", "UpdateComboPoints") @@ -87,7 +92,7 @@ end local color = {} function ComboPointsBar.prototype:UpdateComboPoints(...) - if select('#', ...) >= 3 and select(1, ...) == "UNIT_POWER" and select(3, ...) ~= "COMBO_POINTS" then + if select('#', ...) >= 3 and select(1, ...) == IceHUD.UnitPowerEvent and select(3, ...) ~= "COMBO_POINTS" then return end diff --git a/modules/CustomBar.lua b/modules/CustomBar.lua index a118206..b9430ed 100644 --- a/modules/CustomBar.lua +++ b/modules/CustomBar.lua @@ -36,7 +36,9 @@ function IceCustomBar.prototype:Enable(core) self:RegisterEvent("UNIT_AURA", "UpdateCustomBarEvent") self:RegisterEvent("UNIT_PET", "UpdateCustomBarEvent") - self:RegisterEvent("PLAYER_PET_CHANGED", "UpdateCustomBarEvent") + if IceHUD.WowVer < 80000 then + self:RegisterEvent("PLAYER_PET_CHANGED", "UpdateCustomBarEvent") + end self:RegisterEvent("PLAYER_FOCUS_CHANGED", "UpdateCustomBarEvent") if self.unitClass == "SHAMAN" then self:RegisterEvent("PLAYER_TOTEM_UPDATE", "UpdateTotems") @@ -664,7 +666,12 @@ function IceCustomBar.prototype:GetAuraDuration(unitName, buffName) local remaining local isBuff = self.moduleSettings.buffOrDebuff == "buff" and true or false local buffFilter = (isBuff and "HELPFUL" or "HARMFUL") .. (self.moduleSettings.trackOnlyMine and "|PLAYER" or "") - local buff, rank, texture, count, type, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, buffFilter) + local buff, rank, texture, count, type, duration, endTime, unitCaster, _, _, spellId + if IceHUD.WowVer < 80000 then + buff, rank, texture, count, type, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, buffFilter) + else + buff, texture, count, type, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, buffFilter) + end local isMine = unitCaster == "player" local mySpellId = tonumber(self.moduleSettings.buffToTrack) local checkId = mySpellId ~= nil @@ -690,7 +697,11 @@ function IceCustomBar.prototype:GetAuraDuration(unitName, buffName) i = i + 1; - buff, rank, texture, count, type, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, buffFilter) + if IceHUD.WowVer < 80000 then + buff, rank, texture, count, type, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, buffFilter) + else + buff, texture, count, type, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, buffFilter) + end isMine = unitCaster == "player" end diff --git a/modules/FocusMana.lua b/modules/FocusMana.lua index f6e9639..dff3f8d 100644 --- a/modules/FocusMana.lua +++ b/modules/FocusMana.lua @@ -1,6 +1,14 @@ local L = LibStub("AceLocale-3.0"):GetLocale("IceHUD", false) local FocusMana = IceCore_CreateClass(IceUnitBar) +local SPELL_POWER_RAGE = SPELL_POWER_RAGE +local SPELL_POWER_FOCUS = SPELL_POWER_FOCUS +local SPELL_POWER_ENERGY = SPELL_POWER_ENERGY +if IceHUD.WowVer >= 80000 then + SPELL_POWER_RAGE = Enum.PowerType.Rage + SPELL_POWER_FOCUS = Enum.PowerType.Focus + SPELL_POWER_ENERGY = Enum.PowerType.Energy +end -- Constructor -- function FocusMana.prototype:init() @@ -32,8 +40,10 @@ function FocusMana.prototype:Enable(core) FocusMana.super.prototype.Enable(self, core) if IceHUD.WowVer >= 40000 then - self:RegisterEvent("UNIT_POWER", "UpdateEvent") - self:RegisterEvent("UNIT_MAXPOWER", "UpdateEvent") + self:RegisterEvent(IceHUD.UnitPowerEvent, "UpdateEvent") + if IceHUD.WowVer < 80000 then + self:RegisterEvent("UNIT_MAXPOWER", "UpdateEvent") + end else self:RegisterEvent("UNIT_MANA", "UpdateEvent") self:RegisterEvent("UNIT_MAXMANA", "UpdateEvent") diff --git a/modules/HarmonyPower.lua b/modules/HarmonyPower.lua index dc69483..8293156 100644 --- a/modules/HarmonyPower.lua +++ b/modules/HarmonyPower.lua @@ -1,6 +1,11 @@ local L = LibStub("AceLocale-3.0"):GetLocale("IceHUD", false) local HarmonyPower = IceCore_CreateClass(IceClassPowerCounter) +local SPELL_POWER_CHI = SPELL_POWER_CHI +if IceHUD.WowVer >= 80000 then + SPELL_POWER_CHI = Enum.PowerType.Chi +end + function HarmonyPower.prototype:init() HarmonyPower.super.prototype.init(self, "HarmonyPower") diff --git a/modules/HolyPower.lua b/modules/HolyPower.lua index 65a3d49..5936bd3 100644 --- a/modules/HolyPower.lua +++ b/modules/HolyPower.lua @@ -1,6 +1,11 @@ local L = LibStub("AceLocale-3.0"):GetLocale("IceHUD", false) local HolyPower = IceCore_CreateClass(IceClassPowerCounter) +local SPELL_POWER_HOLY_POWER = SPELL_POWER_HOLY_POWER +if IceHUD.WowVer >= 80000 then + SPELL_POWER_HOLY_POWER = Enum.PowerType.HolyPower +end + function HolyPower.prototype:init() HolyPower.super.prototype.init(self, "HolyPower") diff --git a/modules/PetHealth.lua b/modules/PetHealth.lua index f8ee523..58fc766 100644 --- a/modules/PetHealth.lua +++ b/modules/PetHealth.lua @@ -42,8 +42,10 @@ function PetHealth.prototype:Enable(core) PetHealth.super.prototype.Enable(self, core) self:RegisterEvent("PET_UI_UPDATE", "CheckPet"); - self:RegisterEvent("PLAYER_PET_CHANGED", "CheckPet"); - self:RegisterEvent("PET_BAR_CHANGED", "CheckPet"); + if IceHUD.WowVer < 80000 then + self:RegisterEvent("PLAYER_PET_CHANGED", "CheckPet"); + end + self:RegisterEvent(IceHUD.WowVer < 80000 and "PET_BAR_CHANGED" or "PET_BAR_UPDATE_USABLE", "CheckPet"); self:RegisterEvent("UNIT_PET", "CheckPet"); self:RegisterEvent("UNIT_HEALTH", "UpdateEvent") diff --git a/modules/PetMana.lua b/modules/PetMana.lua index 9ed37b0..87a55da 100644 --- a/modules/PetMana.lua +++ b/modules/PetMana.lua @@ -1,6 +1,17 @@ local L = LibStub("AceLocale-3.0"):GetLocale("IceHUD", false) local PetMana = IceCore_CreateClass(IceUnitBar) +local SPELL_POWER_RAGE = SPELL_POWER_RAGE +local SPELL_POWER_FOCUS = SPELL_POWER_FOCUS +local SPELL_POWER_ENERGY = SPELL_POWER_ENERGY +local SPELL_POWER_RUNIC_POWER = SPELL_POWER_RUNIC_POWER +if IceHUD.WowVer >= 80000 then + SPELL_POWER_RAGE = Enum.PowerType.Rage + SPELL_POWER_FOCUS = Enum.PowerType.Focus + SPELL_POWER_ENERGY = Enum.PowerType.Energy + SPELL_POWER_RUNIC_POWER = Enum.PowerType.RunicPower +end + -- Constructor -- function PetMana.prototype:init() PetMana.super.prototype.init(self, "PetMana", "pet") @@ -51,13 +62,17 @@ function PetMana.prototype:Enable(core) PetMana.super.prototype.Enable(self, core) self:RegisterEvent("PET_UI_UPDATE", "CheckPet") - self:RegisterEvent("PLAYER_PET_CHANGED", "CheckPet") - self:RegisterEvent("PET_BAR_CHANGED", "CheckPet") + if IceHUD.WowVer < 80000 then + self:RegisterEvent("PLAYER_PET_CHANGED", "CheckPet") + end + self:RegisterEvent(IceHUD.WowVer < 80000 and "PET_BAR_CHANGED" or "PET_BAR_UPDATE_USABLE", "CheckPet") self:RegisterEvent("UNIT_PET", "CheckPet") if IceHUD.WowVer >= 40000 then - self:RegisterEvent("UNIT_POWER", "UpdateEvent") - self:RegisterEvent("UNIT_MAXPOWER", "UpdateEvent") + self:RegisterEvent(IceHUD.UnitPowerEvent, "UpdateEvent") + if IceHUD.WowVer < 80000 then + self:RegisterEvent("UNIT_MAXPOWER", "UpdateEvent") + end else self:RegisterEvent("UNIT_MANA", "UpdateEvent") self:RegisterEvent("UNIT_MAXMANA", "UpdateEvent") diff --git a/modules/PlayerAltMana.lua b/modules/PlayerAltMana.lua index d13a85f..320d472 100644 --- a/modules/PlayerAltMana.lua +++ b/modules/PlayerAltMana.lua @@ -6,6 +6,13 @@ PlayerAltMana.prototype.PlayerAltManaMax = nil local _, unitClass = UnitClass("player") +local SPELL_POWER_MANA = SPELL_POWER_MANA +local SPELL_POWER_INSANITY = SPELL_POWER_INSANITY +if IceHUD.WowVer >= 80000 then + SPELL_POWER_MANA = Enum.PowerType.Mana + SPELL_POWER_INSANITY = Enum.PowerType.Insanity +end + -- Constructor -- function PlayerAltMana.prototype:init() PlayerAltMana.super.prototype.init(self, "PlayerAltMana", "player") diff --git a/modules/PlayerAlternatePower.lua b/modules/PlayerAlternatePower.lua index 13a1524..d575c47 100644 --- a/modules/PlayerAlternatePower.lua +++ b/modules/PlayerAlternatePower.lua @@ -28,8 +28,10 @@ end function IceHUDPlayerAlternatePower.prototype:Enable(core) IceHUDPlayerAlternatePower.super.prototype.Enable(self, core) - self:RegisterEvent("UNIT_POWER", "UpdateEvent") - self:RegisterEvent("UNIT_MAXPOWER", "UpdateEvent") + self:RegisterEvent(IceHUD.UnitPowerEvent, "UpdateEvent") + if IceHUD.WowVer < 80000 then + self:RegisterEvent("UNIT_MAXPOWER", "UpdateEvent") + end self:RegisterEvent("UNIT_POWER_BAR_SHOW", "PowerBarShow") self:RegisterEvent("UNIT_POWER_BAR_HIDE", "PowerBarHide") diff --git a/modules/PlayerMana.lua b/modules/PlayerMana.lua index f9e21e7..87acdcd 100644 --- a/modules/PlayerMana.lua +++ b/modules/PlayerMana.lua @@ -3,6 +3,29 @@ local PlayerMana = IceCore_CreateClass(IceUnitBar) local IceHUD = _G.IceHUD +local SPELL_POWER_MANA = SPELL_POWER_MANA +local SPELL_POWER_RAGE = SPELL_POWER_RAGE +local SPELL_POWER_FOCUS = SPELL_POWER_FOCUS +local SPELL_POWER_ENERGY = SPELL_POWER_ENERGY +local SPELL_POWER_RUNIC_POWER = SPELL_POWER_RUNIC_POWER +local SPELL_POWER_INSANITY = SPELL_POWER_INSANITY +local SPELL_POWER_FURY = SPELL_POWER_FURY +local SPELL_POWER_MAELSTROM = SPELL_POWER_MAELSTROM +local SPELL_POWER_PAIN = SPELL_POWER_PAIN +local SPELL_POWER_LUNAR_POWER = SPELL_POWER_LUNAR_POWER +if IceHUD.WowVer >= 80000 then + SPELL_POWER_MANA = Enum.PowerType.Mana + SPELL_POWER_RAGE = Enum.PowerType.Rage + SPELL_POWER_FOCUS = Enum.PowerType.Focus + SPELL_POWER_ENERGY = Enum.PowerType.Energy + SPELL_POWER_RUNIC_POWER = Enum.PowerType.RunicPower + SPELL_POWER_INSANITY = Enum.PowerType.Insanity + SPELL_POWER_FURY = Enum.PowerType.Fury + SPELL_POWER_MAELSTROM = Enum.PowerType.Maelstrom + SPELL_POWER_PAIN = Enum.PowerType.Pain + SPELL_POWER_LUNAR_POWER = Enum.PowerType.LunarPower +end + PlayerMana.prototype.manaType = nil PlayerMana.prototype.tickStart = nil PlayerMana.prototype.previousEnergy = nil @@ -131,8 +154,10 @@ function PlayerMana.prototype:Enable(core) self:CreateTickerFrame() if IceHUD.WowVer >= 40000 then - self:RegisterEvent("UNIT_POWER", "UpdateEvent") - self:RegisterEvent("UNIT_MAXPOWER", "UpdateEvent") + self:RegisterEvent(IceHUD.UnitPowerEvent, "UpdateEvent") + if IceHUD.WowVer < 80000 then + self:RegisterEvent("UNIT_MAXPOWER", "UpdateEvent") + end else self:RegisterEvent("UNIT_MAXMANA", "UpdateEvent") self:RegisterEvent("UNIT_MAXRAGE", "UpdateEvent") diff --git a/modules/Resolve.lua b/modules/Resolve.lua index bb13700..6ddae67 100644 --- a/modules/Resolve.lua +++ b/modules/Resolve.lua @@ -56,7 +56,7 @@ do return end - self.current = select(15, UnitAura(self.unit, spellName)) or 0 + self.current = select(IceHUD.WowVer < 80000 and 15 or 14, UnitAura(self.unit, spellName)) or 0 self:Update() end diff --git a/modules/RollTheBones.lua b/modules/RollTheBones.lua index 755e3df..12d7b3b 100644 --- a/modules/RollTheBones.lua +++ b/modules/RollTheBones.lua @@ -19,6 +19,11 @@ for _, v in ipairs(RtBBuffs) do RtBSet[v] = true end +local SPELL_POWER_COMBO_POINTS = SPELL_POWER_COMBO_POINTS +if IceHUD.WowVer >= 80000 then + SPELL_POWER_COMBO_POINTS = Enum.PowerType.ComboPoints +end + -- Constructor -- function RollTheBones.prototype:init() RollTheBones.super.prototype.init(self, "RollTheBones", "player") @@ -43,7 +48,7 @@ function RollTheBones.prototype:Enable(core) RollTheBones.super.prototype.Enable(self, core) self:RegisterEvent("UNIT_AURA", "UpdateRollTheBones") - self:RegisterEvent("UNIT_POWER", "ComboPointsChanged") + self:RegisterEvent(IceHUD.UnitPowerEvent, "ComboPointsChanged") if not self.moduleSettings.alwaysFullAlpha then self:Show(false) @@ -59,7 +64,7 @@ function RollTheBones.prototype:Disable(core) end function RollTheBones.prototype:ComboPointsChanged(...) - if select('#', ...) >= 3 and select(1, ...) == "UNIT_POWER" and select(3, ...) ~= "COMBO_POINTS" then + if select('#', ...) >= 3 and select(1, ...) == IceHUD.UnitPowerEvent and select(3, ...) ~= "COMBO_POINTS" then return end @@ -212,8 +217,12 @@ end function RollTheBones.prototype:GetBuffDuration(unitName, ids) local i = 1 - local buff, rank, texture, type, duration, endTime, remaining, spellId - buff, _, _, _, type, duration, endTime, _, _, _, spellId = UnitBuff(unitName, i) + local buff, _, type, duration, endTime, spellId + if IceHUD.WowVer < 80000 then + buff, _, _, _, type, duration, endTime, _, _, _, spellId = UnitBuff(unitName, i) + else + buff, _, _, type, duration, endTime, _, _, _, spellId = UnitBuff(unitName, i) + end local realDuration, remaining, count local now = GetTime() @@ -230,7 +239,11 @@ function RollTheBones.prototype:GetBuffDuration(unitName, ids) i = i + 1; - buff, _, _, _, type, duration, endTime, _, _, _, spellId = UnitBuff(unitName, i) + if IceHUD.WowVer < 80000 then + buff, _, _, _, type, duration, endTime, _, _, _, spellId = UnitBuff(unitName, i) + else + buff, _, _, type, duration, endTime, _, _, _, spellId = UnitBuff(unitName, i) + end end diff --git a/modules/Runes.lua b/modules/Runes.lua index 8d4ef74..78c25e4 100644 --- a/modules/Runes.lua +++ b/modules/Runes.lua @@ -8,17 +8,17 @@ if IceHUD.WowVer >= 70000 then CooldownFrame_SetTimer = CooldownFrame_Set end --- blizzard cracks me up. the below block is copied verbatim from RuneFrame.lua ;) ---Readability == win local RUNETYPE_BLOOD = 1; -local RUNETYPE_DEATH = 2; -local RUNETYPE_FROST = 3; +local RUNETYPE_DEATH = IceHUD.WowVer < 80000 and 2 or 3; +local RUNETYPE_FROST = IceHUD.WowVer < 80000 and 3 or 2; local RUNETYPE_CHROMATIC = 4; local RUNETYPE_LEGION = 5; -- not real, but makes for an easy update local GetRuneType = GetRuneType -if IceHUD.WowVer >= 70000 then +if IceHUD.WowVer >= 70000 and IceHUD.WowVer < 80000 then GetRuneType = function() return RUNETYPE_LEGION end +elseif IceHUD.WowVer >= 80000 then + GetRuneType = function() return GetSpecialization() end end local RUNEMODE_DEFAULT = "Blizzard" @@ -43,15 +43,22 @@ Runes.prototype.numRunes = 6 Runes.prototype.lastRuneState = {} +local SPELL_POWER_RUNES = SPELL_POWER_RUNES +if IceHUD.WowVer >= 80000 then + SPELL_POWER_RUNES = Enum.PowerType.Runes +end + -- Constructor -- function Runes.prototype:init() Runes.super.prototype.init(self, "Runes") - if IceHUD.WowVer < 70000 then + if IceHUD.WowVer < 70000 or IceHUD.WowVer >= 80000 then self:SetDefaultColor("Runes"..self.runeNames[RUNETYPE_BLOOD], 255, 0, 0) self:SetDefaultColor("Runes"..self.runeNames[RUNETYPE_DEATH], 0, 207, 0) self:SetDefaultColor("Runes"..self.runeNames[RUNETYPE_FROST], 0, 255, 255) - self:SetDefaultColor("Runes"..self.runeNames[RUNETYPE_CHROMATIC], 204, 26, 255) + if IceHUD.WowVer < 80000 then + self:SetDefaultColor("Runes"..self.runeNames[RUNETYPE_CHROMATIC], 204, 26, 255) + end else self:SetDefaultColor("Runes"..self.runeNames[RUNETYPE_LEGION], 204, 204, 255) end @@ -269,7 +276,11 @@ function Runes.prototype:Enable(core) Runes.super.prototype.Enable(self, core) self:RegisterEvent("RUNE_POWER_UPDATE", "UpdateRunePower") - self:RegisterEvent("RUNE_TYPE_UPDATE", "UpdateRuneType") + if IceHUD.WowVer < 80000 then + self:RegisterEvent("RUNE_TYPE_UPDATE", "UpdateRuneType") + else + self:RegisterEvent("PLAYER_SPECIALIZATION_CHANGED", "UpdateRuneColors") + end self:RegisterEvent("PLAYER_ENTERING_WORLD", "ResetRuneAvailability") self:RegisterEvent("UNIT_MAXPOWER", "CheckMaxNumRunes") @@ -418,7 +429,17 @@ function Runes.prototype:UpdateRuneType(event, rune) self.frame.graphical[rune].rune:SetVertexColor(self:GetColor("Runes"..thisRuneName)) end +function Runes.prototype:UpdateRuneColors() + for i=1,self.numRunes do + self:UpdateRuneType(nil, i) + end +end + function Runes.prototype:GetRuneTexture(runeName) + if IceHUD.WowVer >= 80000 then + runeName = self.runeNames[RUNETYPE_LEGION] + end + if self.moduleSettings.runeMode == RUNEMODE_DEFAULT and runeName then return "Interface\\PlayerFrame\\UI-PlayerFrame-DeathKnight-"..runeName elseif self.moduleSettings.runeMode == RUNEMODE_BAR then diff --git a/modules/Shards.lua b/modules/Shards.lua index 22dcc02..5acb07f 100644 --- a/modules/Shards.lua +++ b/modules/Shards.lua @@ -37,6 +37,11 @@ local DemonologyCoords = {0.03906250, 0.55468750, 0.10546875, 0.19921875}, } +local SPELL_POWER_SOUL_SHARDS = SPELL_POWER_SOUL_SHARDS +if IceHUD.WowVer >= 80000 then + SPELL_POWER_SOUL_SHARDS = Enum.PowerType.SoulShards +end + function ShardCounter.prototype:init() ShardCounter.super.prototype.init(self, "Warlock Power") @@ -116,10 +121,10 @@ function ShardCounter.prototype:CheckGreenFire() end function ShardCounter.prototype:UpdatePowerType(event) - if IceHUD.WowVer >= 50000 then + if IceHUD.WowVer >= 50000 and IceHUD.WowVer < 80000 then CurrentSpec = GetSpecialization() else - -- all warlocks use shards in pre-5.0, so just act like our spec is affliction + -- all warlocks use shards in pre-5.0/post-8.0, so just act like our spec is affliction CurrentSpec = SPEC_WARLOCK_AFFLICTION end diff --git a/modules/SliceAndDice.lua b/modules/SliceAndDice.lua index 063f920..264b77e 100644 --- a/modules/SliceAndDice.lua +++ b/modules/SliceAndDice.lua @@ -29,6 +29,11 @@ if IceHUD.WowVer >= 50000 then gapPerComboPoint = 6 end +local SPELL_POWER_COMBO_POINTS = SPELL_POWER_COMBO_POINTS +if IceHUD.WowVer >= 80000 then + SPELL_POWER_COMBO_POINTS = Enum.PowerType.ComboPoints +end + -- Constructor -- function SliceAndDice.prototype:init() SliceAndDice.super.prototype.init(self, "SliceAndDice", "player") @@ -53,7 +58,7 @@ function SliceAndDice.prototype:Enable(core) if IceHUD.WowVer < 70000 then self:RegisterEvent("UNIT_COMBO_POINTS", "ComboPointsChanged") else - self:RegisterEvent("UNIT_POWER", "ComboPointsChanged") + self:RegisterEvent(IceHUD.UnitPowerEvent, "ComboPointsChanged") end if not self.moduleSettings.alwaysFullAlpha then @@ -70,7 +75,7 @@ function SliceAndDice.prototype:Disable(core) end function SliceAndDice.prototype:ComboPointsChanged(...) - if select('#', ...) >= 3 and select(1, ...) == "UNIT_POWER" and select(3, ...) ~= "COMBO_POINTS" then + if select('#', ...) >= 3 and select(1, ...) == IceHUD.UnitPowerEvent and select(3, ...) ~= "COMBO_POINTS" then return end @@ -205,15 +210,15 @@ end function SliceAndDice.prototype:GetBuffDuration(unitName, buffName) local i = 1 - local buff, rank, texture, count, type, duration, endTime, remaining - if IceHUD.WowVer >= 30000 then - buff, rank, texture, count, type, duration, endTime = UnitBuff(unitName, i) + local buff, _, texture, duration, endTime, remaining + if IceHUD.WowVer < 80000 then + buff, _, texture, _, _, duration, endTime = UnitBuff(unitName, i) else - buff, rank, texture, count, duration, remaining = UnitBuff(unitName, i) + buff, texture, _, _, duration, endTime = UnitBuff(unitName, i) end while buff do - if (texture and string.match(texture, buffName)) then + if (texture and (type(buffName) == 'string' and string.match(texture, buffName) or texture == buffName)) then if endTime and not remaining then remaining = endTime - GetTime() end @@ -222,10 +227,10 @@ function SliceAndDice.prototype:GetBuffDuration(unitName, buffName) i = i + 1; - if IceHUD.WowVer >= 30000 then - buff, rank, texture, count, type, duration, endTime = UnitBuff(unitName, i) + if IceHUD.WowVer < 80000 then + buff, _, texture, _, _, duration, endTime = UnitBuff(unitName, i) else - buff, rank, texture, count, duration, remaining = UnitBuff(unitName, i) + buff, texture, _, _, duration, endTime = UnitBuff(unitName, i) end end @@ -275,7 +280,7 @@ function SliceAndDice.prototype:UpdateSliceAndDice(event, unit, fromUpdate) local remaining = nil if not fromUpdate or IceHUD.WowVer < 30000 then - sndDuration, remaining = self:GetBuffDuration(self.unit, "Ability_Rogue_SliceDice") + sndDuration, remaining = self:GetBuffDuration(self.unit, IceHUD.WowVer < 80000 and "Ability_Rogue_SliceDice" or 132306) if not remaining then sndEndTime = 0 diff --git a/modules/Stagger.lua b/modules/Stagger.lua index 3cf68a6..4134ee8 100644 --- a/modules/Stagger.lua +++ b/modules/Stagger.lua @@ -183,13 +183,13 @@ function StaggerBar.prototype:GetDebuffInfo() local staggerLevel = 1 for i = 1, IceCore.BuffLimit do - local debuffID = select(11, UnitDebuff(self.unit, i)) + local debuffID = select(IceHUD.WowVer < 80000 and 11 or 10, UnitDebuff(self.unit, i)) if debuffID == LightID or debuffID == ModerateID or debuffID == HeavyID then - local spellName = select(1, UnitDebuff(self.unit, i)) + local spellName = UnitDebuff(self.unit, i) - duration = select(6, UnitAura(self.unit, spellName, "", "HARMFUL")) - amount = select(15, UnitAura(self.unit, spellName, "", "HARMFUL")) + duration = select(IceHUD.WowVer < 80000 and 6 or 5, UnitAura(self.unit, spellName, "", "HARMFUL")) + amount = select(IceHUD.WowVer < 80000 and 15 or 14, UnitAura(self.unit, spellName, "", "HARMFUL")) staggerLevel = (debuffID == LightID) and 1 or (debuffID == ModerateID) and 2 or 3 break @@ -228,7 +228,12 @@ function StaggerBar.prototype:UpdateStaggerBar() end function StaggerBar.prototype:GetDebuffDuration(unitName, buffName) - local name, _, _, _, _, duration, endTime = UnitDebuff(unitName, buffName) + local name, _, duration, endTime + if IceHUD.WowVer < 80000 then + name, _, _, _, _, duration, endTime = UnitDebuff(unitName, buffName) + else + name, _, _, _, duration, endTime = UnitDebuff(unitName, buffName) + end if name then return duration, endTime - GetTime() diff --git a/modules/TargetCC.lua b/modules/TargetCC.lua index d07b72c..cf48cf4 100644 --- a/modules/TargetCC.lua +++ b/modules/TargetCC.lua @@ -315,7 +315,12 @@ end function TargetCC.prototype:GetMaxDebuffDuration(unitName, debuffNames) local i = 1 - local debuff, rank, texture, count, debuffType, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, "HARMFUL") + local debuff, rank, texture, count, debuffType, duration, endTime, unitCaster, _, _, spellId + if IceHUD.WowVer < 80000 then + debuff, rank, texture, count, debuffType, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, "HARMFUL") + else + debuff, texture, count, debuffType, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, "HARMFUL") + end local isMine = unitCaster == "player" local result = {nil, nil, nil} local remaining @@ -335,7 +340,11 @@ function TargetCC.prototype:GetMaxDebuffDuration(unitName, debuffNames) i = i + 1; - debuff, rank, texture, count, debuffType, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, "HARMFUL") + if IceHUD.WowVer < 80000 then + debuff, rank, texture, count, debuffType, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, "HARMFUL") + else + debuff, texture, count, debuffType, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, "HARMFUL") + end isMine = unitCaster == "player" end diff --git a/modules/TargetCast.lua b/modules/TargetCast.lua index 0d904ba..4f13283 100644 --- a/modules/TargetCast.lua +++ b/modules/TargetCast.lua @@ -82,15 +82,17 @@ function TargetCast.prototype:TargetChanged(unit) return end - local spell, _, _, _, _, _, _, _, notInterruptibleCast = UnitCastingInfo(self.unit) - if (spell) then + local spell = UnitCastingInfo(self.unit) + local notInterruptible = select(IceHUD.WowVer < 80000 and 9 or 8, UnitCastingInfo(self.unit)) + if spell then self.notInterruptible = notInterruptibleCast self:StartBar(IceCastBar.Actions.Cast) return end - local channel, _, _, _, _, _, _, notInterruptibleChannel = UnitChannelInfo(self.unit) - if (channel) then + local channel = UnitChannelInfo(self.unit) + notInterruptible = select(IceHUD.WowVer < 80000 and 8 or 7, UnitChannelInfo(self.unit)) + if channel then self.notInterruptible = notInterruptibleChannel self:StartBar(IceCastBar.Actions.Channel) return @@ -167,9 +169,11 @@ function TargetCast.prototype:GetOptions() end function TargetCast.prototype:StartBar(action, message) - local spell, rank, displayName, icon, startTime, endTime, isTradeSkill, castId, notInterruptible = UnitCastingInfo(self.unit) - if not (spell) then - spell, rank, displayName, icon, startTime, endTime, isTradeSkill, notInterruptible = UnitChannelInfo(self.unit) + local spell = UnitCastingInfo(self.unit) + local notInterruptible = select(IceHUD.WowVer < 80000 and 9 or 8, UnitCastingInfo(self.unit)) + if not spell then + spell = UnitChannelInfo(self.unit) + notInterruptible = select(IceHUD.WowVer < 80000 and 8 or 7, UnitChannelInfo(self.unit)) end if not spell then diff --git a/modules/TargetInfo.lua b/modules/TargetInfo.lua index 25a38d8..c359a1f 100644 --- a/modules/TargetInfo.lua +++ b/modules/TargetInfo.lua @@ -129,7 +129,9 @@ function IceTargetInfo.prototype:Enable(core) self:RegisterEvent("UNIT_LEVEL", "TargetLevel") self:RegisterEvent("UNIT_FLAGS", "TargetFlags") - self:RegisterEvent("UNIT_DYNAMIC_FLAGS", "TargetFlags") + if IceHUD.WowVer < 80000 then + self:RegisterEvent("UNIT_DYNAMIC_FLAGS", "TargetFlags") + end self:RegisterEvent("RAID_TARGET_UPDATE", "UpdateRaidTargetIcon") @@ -1407,7 +1409,12 @@ function IceTargetInfo.prototype:UpdateBuffType(aura) if self.moduleSettings.auras[aura].show then for i = 1, IceCore.BuffLimit do - local name, rank, icon, count, debuffType, duration, expirationTime, unitCaster, isStealable = UnitAura(self.unit, i, reaction .. (filter and "|PLAYER" or "")) + local name, rank, icon, count, debuffType, duration, expirationTime, unitCaster, isStealable + if IceHUD.WowVer < 80000 then + name, rank, icon, count, debuffType, duration, expirationTime, unitCaster, isStealable = UnitAura(self.unit, i, reaction .. (filter and "|PLAYER" or "")) + else + name, icon, count, debuffType, duration, expirationTime, unitCaster, isStealable = UnitAura(self.unit, i, reaction .. (filter and "|PLAYER" or "")) + end local isFromMe = (unitCaster == "player") if not icon and IceHUD.IceCore:IsInConfigMode() and UnitExists(self.unit) then diff --git a/modules/TargetInvuln.lua b/modules/TargetInvuln.lua index 862930d..53242df 100644 --- a/modules/TargetInvuln.lua +++ b/modules/TargetInvuln.lua @@ -146,7 +146,12 @@ end function TargetInvuln.prototype:GetMaxbuffDuration(unitName, buffNames) local i = 1 - local buff, rank, texture, count, buffType, duration, endTime, unitCaster = UnitAura(unitName, i, "HELPFUL") + local buff, rank, texture, count, buffType, duration, endTime, unitCaster + if IceHUD.WowVer < 80000 then + buff, rank, texture, count, buffType, duration, endTime, unitCaster = UnitAura(unitName, i, "HELPFUL") + else + buff, texture, count, buffType, duration, endTime, unitCaster = UnitAura(unitName, i, "HELPFUL") + end local isMine = unitCaster == "player" local result = {nil, nil, nil} local remaining @@ -173,7 +178,11 @@ function TargetInvuln.prototype:GetMaxbuffDuration(unitName, buffNames) i = i + 1; - buff, rank, texture, count, buffType, duration, endTime, unitCaster = UnitAura(unitName, i, "HELPFUL") + if IceHUD.WowVer < 80000 then + buff, rank, texture, count, buffType, duration, endTime, unitCaster = UnitAura(unitName, i, "HELPFUL") + else + buff, texture, count, buffType, duration, endTime, unitCaster = UnitAura(unitName, i, "HELPFUL") + end isMine = unitCaster == "player" end diff --git a/modules/TargetMana.lua b/modules/TargetMana.lua index 6b7977b..d735edb 100644 --- a/modules/TargetMana.lua +++ b/modules/TargetMana.lua @@ -4,6 +4,28 @@ IceTargetMana.prototype.registerEvents = true IceTargetMana.prototype.color = nil IceTargetMana.prototype.determineColor = true +local SPELL_POWER_MANA = SPELL_POWER_MANA +local SPELL_POWER_RAGE = SPELL_POWER_RAGE +local SPELL_POWER_FOCUS = SPELL_POWER_FOCUS +local SPELL_POWER_ENERGY = SPELL_POWER_ENERGY +local SPELL_POWER_RUNIC_POWER = SPELL_POWER_RUNIC_POWER +local SPELL_POWER_INSANITY = SPELL_POWER_INSANITY +local SPELL_POWER_FURY = SPELL_POWER_FURY +local SPELL_POWER_MAELSTROM = SPELL_POWER_MAELSTROM +local SPELL_POWER_PAIN = SPELL_POWER_PAIN +local SPELL_POWER_LUNAR_POWER = SPELL_POWER_LUNAR_POWER +if IceHUD.WowVer >= 80000 then + SPELL_POWER_MANA = Enum.PowerType.Mana + SPELL_POWER_RAGE = Enum.PowerType.Rage + SPELL_POWER_FOCUS = Enum.PowerType.Focus + SPELL_POWER_ENERGY = Enum.PowerType.Energy + SPELL_POWER_RUNIC_POWER = Enum.PowerType.RunicPower + SPELL_POWER_INSANITY = Enum.PowerType.Insanity + SPELL_POWER_FURY = Enum.PowerType.Fury + SPELL_POWER_MAELSTROM = Enum.PowerType.Maelstrom + SPELL_POWER_PAIN = Enum.PowerType.Pain + SPELL_POWER_LUNAR_POWER = Enum.PowerType.LunarPower +end -- Constructor -- function IceTargetMana.prototype:init(moduleName, unit) @@ -45,8 +67,10 @@ function IceTargetMana.prototype:Enable(core) if self.registerEvents then if IceHUD.WowVer >= 40000 then - self:RegisterEvent("UNIT_POWER", "UpdateEvent") - self:RegisterEvent("UNIT_MAXPOWER", "UpdateEvent") + self:RegisterEvent(IceHUD.UnitPowerEvent, "UpdateEvent") + if IceHUD.WowVer < 80000 then + self:RegisterEvent("UNIT_MAXPOWER", "UpdateEvent") + end else self:RegisterEvent("UNIT_MAXMANA", "UpdateEvent") self:RegisterEvent("UNIT_MAXRAGE", "UpdateEvent") diff --git a/modules/TargetOfTarget.lua b/modules/TargetOfTarget.lua index 5cdba2e..34a1d1c 100644 --- a/modules/TargetOfTarget.lua +++ b/modules/TargetOfTarget.lua @@ -485,7 +485,12 @@ function TargetOfTarget.prototype:UpdateBuffs() if (self.moduleSettings.showDebuffs) then for i = 1, IceCore.BuffLimit do - local buffName, buffRank, buffTexture, buffApplications = UnitDebuff(self.unit, i) + local buffName, buffRank, buffTexture, buffApplications + if IceHUD.WowVer < 80000 then + buffName, buffRank, buffTexture, buffApplications = UnitDebuff(self.unit, i) + else + buffName, buffTexture, buffApplications = UnitDebuff(self.unit, i) + end if (buffApplications and (buffApplications > 1)) then debuffs = debuffs + 1