Compare commits
54 Commits
v1.13.1-al
...
1.13.12
Author | SHA1 | Date | |
---|---|---|---|
c7c92d468e
|
|||
eee20f17b4
|
|||
0aa584d81a
|
|||
51e2debc4d
|
|||
d48ae9b12a
|
|||
83028c159f
|
|||
a8a3da753e
|
|||
9e77fa6831 | |||
e4919fb1fe
|
|||
724a3001ed
|
|||
8226679ccd
|
|||
2c0b3d5f6f
|
|||
a08c2455c6
|
|||
8868b16785
|
|||
fc009492cb
|
|||
e2ef8e6cb1
|
|||
da5498d1a2
|
|||
e8c8172298
|
|||
345d12263c
|
|||
843292eda7
|
|||
58721f4fa6
|
|||
ebbddc0001
|
|||
764a097fe2 | |||
60587b22f8
|
|||
ec80716991
|
|||
bc16ae677b
|
|||
dc5a3f3a05
|
|||
6c3ed55780
|
|||
dfcef9617f
|
|||
94b62d56a0
|
|||
90f126d7a0
|
|||
209fbe2b4e
|
|||
9435a9d74f
|
|||
1519ac2299
|
|||
2ba558d73d
|
|||
a3d9c7bd3d | |||
d641886a8a
|
|||
87456ca051
|
|||
d1eae2437f
|
|||
470ca2f592
|
|||
e313e679ae
|
|||
d43555b7c4
|
|||
90e0dd1597
|
|||
6282dfb256
|
|||
4de8cb0d27
|
|||
ea28a05051
|
|||
ca80ca3f75
|
|||
fe22f7e658
|
|||
354fb483bb
|
|||
f6c737c654
|
|||
9a38c4b3ea
|
|||
ab6b662ac4
|
|||
a2addcb627
|
|||
7f84c28538
|
7
.github/workflows/release.yml
vendored
@ -42,4 +42,9 @@ jobs:
|
|||||||
- name: Package and release for Classic
|
- name: Package and release for Classic
|
||||||
uses: BigWigsMods/packager@master
|
uses: BigWigsMods/packager@master
|
||||||
with:
|
with:
|
||||||
args: -g 1.13.5 -w 0
|
args: -g classic -w 0
|
||||||
|
|
||||||
|
- name: Package and release for TBC
|
||||||
|
uses: BigWigsMods/packager@master
|
||||||
|
with:
|
||||||
|
args: -g bcc -w 0
|
||||||
|
3
.pkgmeta
@ -38,7 +38,7 @@ externals:
|
|||||||
url: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceLocale-3.0
|
url: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceLocale-3.0
|
||||||
tag: latest
|
tag: latest
|
||||||
libs/LibRangeCheck-2.0:
|
libs/LibRangeCheck-2.0:
|
||||||
url: svn://svn.wowace.com/wow/librangecheck-2-0/mainline/trunk/LibRangeCheck-2.0
|
url: https://github.com/WeakAuras/LibRangeCheck-2.0/
|
||||||
libs/LibSharedMedia-3.0:
|
libs/LibSharedMedia-3.0:
|
||||||
url: svn://svn.wowace.com/wow/libsharedmedia-3-0/mainline/trunk
|
url: svn://svn.wowace.com/wow/libsharedmedia-3-0/mainline/trunk
|
||||||
tag: latest
|
tag: latest
|
||||||
@ -58,6 +58,7 @@ optional-dependencies:
|
|||||||
|
|
||||||
move-folders:
|
move-folders:
|
||||||
IceHUD/IceHUD_Options: IceHUD_Options
|
IceHUD/IceHUD_Options: IceHUD_Options
|
||||||
|
IceHUD/libs/LibRangeCheck-2.0/LibRangeCheck-2.0: IceHUD/libs/LibRangeCheck-2.0
|
||||||
|
|
||||||
tools-used:
|
tools-used:
|
||||||
- libdatabroker-1-1
|
- libdatabroker-1-1
|
||||||
|
@ -626,7 +626,7 @@ do
|
|||||||
v = DogTag:CleanCode(v)
|
v = DogTag:CleanCode(v)
|
||||||
end
|
end
|
||||||
|
|
||||||
self.moduleSettings.upperText = v
|
self.moduleSettings.upperText = strtrim(v)
|
||||||
self:RegisterFontStrings()
|
self:RegisterFontStrings()
|
||||||
self:Redraw()
|
self:Redraw()
|
||||||
end,
|
end,
|
||||||
@ -655,7 +655,7 @@ do
|
|||||||
v = DogTag:CleanCode(v)
|
v = DogTag:CleanCode(v)
|
||||||
end
|
end
|
||||||
|
|
||||||
self.moduleSettings.lowerText = v
|
self.moduleSettings.lowerText = strtrim(v)
|
||||||
self:RegisterFontStrings()
|
self:RegisterFontStrings()
|
||||||
self:Redraw()
|
self:Redraw()
|
||||||
end,
|
end,
|
||||||
|
@ -13,12 +13,12 @@ IceCastBar.prototype.unit = nil
|
|||||||
IceCastBar.prototype.current = nil
|
IceCastBar.prototype.current = nil
|
||||||
|
|
||||||
local SPELL_POWER_MANA = SPELL_POWER_MANA
|
local SPELL_POWER_MANA = SPELL_POWER_MANA
|
||||||
if IceHUD.WowVer >= 80000 or IceHUD.WowClassic then
|
if Enum and Enum.PowerType then
|
||||||
SPELL_POWER_MANA = Enum.PowerType.Mana
|
SPELL_POWER_MANA = Enum.PowerType.Mana
|
||||||
end
|
end
|
||||||
|
|
||||||
local UnitCastingInfo, UnitChannelInfo = UnitCastingInfo, UnitChannelInfo
|
local UnitCastingInfo, UnitChannelInfo = UnitCastingInfo, UnitChannelInfo
|
||||||
if IceHUD.WowClassic then
|
if not UnitCastingInfo then
|
||||||
UnitCastingInfo = CastingInfo
|
UnitCastingInfo = CastingInfo
|
||||||
UnitChannelInfo = ChannelInfo
|
UnitChannelInfo = ChannelInfo
|
||||||
end
|
end
|
||||||
@ -407,13 +407,13 @@ end
|
|||||||
|
|
||||||
function IceCastBar.prototype:StartBar(action, message)
|
function IceCastBar.prototype:StartBar(action, message)
|
||||||
local spell, rank, displayName, icon, startTime, endTime, isTradeSkill
|
local spell, rank, displayName, icon, startTime, endTime, isTradeSkill
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.SpellFunctionsReturnRank then
|
||||||
spell, rank, displayName, icon, startTime, endTime, isTradeSkill = UnitCastingInfo(self.unit)
|
spell, rank, displayName, icon, startTime, endTime, isTradeSkill = UnitCastingInfo(self.unit)
|
||||||
else
|
else
|
||||||
spell, displayName, icon, startTime, endTime, isTradeSkill = UnitCastingInfo(self.unit)
|
spell, displayName, icon, startTime, endTime, isTradeSkill = UnitCastingInfo(self.unit)
|
||||||
end
|
end
|
||||||
if not (spell) then
|
if not (spell) then
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.SpellFunctionsReturnRank then
|
||||||
spell, rank, displayName, icon, startTime, endTime = UnitChannelInfo(self.unit)
|
spell, rank, displayName, icon, startTime, endTime = UnitChannelInfo(self.unit)
|
||||||
else
|
else
|
||||||
spell, displayName, icon, startTime, endTime = UnitChannelInfo(self.unit)
|
spell, displayName, icon, startTime, endTime = UnitChannelInfo(self.unit)
|
||||||
@ -568,7 +568,7 @@ function IceCastBar.prototype:SpellCastDelayed(event, unit, castGuid, spellId)
|
|||||||
if (unit ~= self.unit) then return end
|
if (unit ~= self.unit) then return end
|
||||||
--IceHUD:Debug("SpellCastDelayed", unit, UnitCastingInfo(unit))
|
--IceHUD:Debug("SpellCastDelayed", unit, UnitCastingInfo(unit))
|
||||||
|
|
||||||
local endTime = select((IceHUD.WowVer < 80000 and not IceHUD.WowClassic) and 6 or 5, UnitCastingInfo(self.unit))
|
local endTime = select(IceHUD.SpellFunctionsReturnRank and 6 or 5, UnitCastingInfo(self.unit))
|
||||||
|
|
||||||
if (endTime and self.actionStartTime) then
|
if (endTime and self.actionStartTime) then
|
||||||
-- apparently this check is needed, got nils during a horrible lag spike
|
-- apparently this check is needed, got nils during a horrible lag spike
|
||||||
@ -629,7 +629,7 @@ function IceCastBar.prototype:SpellCastChannelUpdate(event, unit)
|
|||||||
--IceHUD:Debug("SpellCastChannelUpdate", unit, UnitChannelInfo(unit))
|
--IceHUD:Debug("SpellCastChannelUpdate", unit, UnitChannelInfo(unit))
|
||||||
|
|
||||||
local spell, rank, displayName, icon, startTime, endTime
|
local spell, rank, displayName, icon, startTime, endTime
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.SpellFunctionsReturnRank then
|
||||||
spell, rank, displayName, icon, startTime, endTime = UnitChannelInfo(unit)
|
spell, rank, displayName, icon, startTime, endTime = UnitChannelInfo(unit)
|
||||||
else
|
else
|
||||||
spell, displayName, icon, startTime, endTime = UnitChannelInfo(unit)
|
spell, displayName, icon, startTime, endTime = UnitChannelInfo(unit)
|
||||||
|
55
IceCore.lua
@ -41,6 +41,26 @@ IceCore.TextDecorationStyle = {
|
|||||||
NoDecoration = L["No decoration"],
|
NoDecoration = L["No decoration"],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
local ZM_MAP_ID = 1970
|
||||||
|
IceCore.zmPuzzleIds = {
|
||||||
|
--Fugueal Protolock
|
||||||
|
366046,
|
||||||
|
366108,
|
||||||
|
359488,
|
||||||
|
--Mezzonic Protolock
|
||||||
|
366042,
|
||||||
|
366106,
|
||||||
|
351405,
|
||||||
|
--Cantaric Protolock
|
||||||
|
365840,
|
||||||
|
366107,
|
||||||
|
348792,
|
||||||
|
}
|
||||||
|
IceCore.zmPuzzleMap = {}
|
||||||
|
for i=1, #IceCore.zmPuzzleIds do
|
||||||
|
IceCore.zmPuzzleMap[IceCore.zmPuzzleIds[i]] = true
|
||||||
|
end
|
||||||
|
|
||||||
local SUNDER_SPELL_ID = 7386
|
local SUNDER_SPELL_ID = 7386
|
||||||
local LACERATE_SPELL_ID = 33745
|
local LACERATE_SPELL_ID = 33745
|
||||||
local MAELSTROM_SPELL_ID = 53817
|
local MAELSTROM_SPELL_ID = 53817
|
||||||
@ -259,6 +279,10 @@ function IceCore.prototype:Enable(userToggle)
|
|||||||
self.IceHUDFrame:RegisterEvent("BARBER_SHOP_OPEN")
|
self.IceHUDFrame:RegisterEvent("BARBER_SHOP_OPEN")
|
||||||
self.IceHUDFrame:RegisterEvent("BARBER_SHOP_CLOSE")
|
self.IceHUDFrame:RegisterEvent("BARBER_SHOP_CLOSE")
|
||||||
end
|
end
|
||||||
|
if C_Map then
|
||||||
|
self.IceHUDFrame:RegisterEvent("PLAYER_ENTERING_WORLD")
|
||||||
|
self.IceHUDFrame:RegisterEvent("ZONE_CHANGED")
|
||||||
|
end
|
||||||
self.IceHUDFrame:RegisterEvent("UNIT_AURA")
|
self.IceHUDFrame:RegisterEvent("UNIT_AURA")
|
||||||
self.IceHUDFrame:SetScript("OnEvent", function(self, event, ...)
|
self.IceHUDFrame:SetScript("OnEvent", function(self, event, ...)
|
||||||
if (event == "PET_BATTLE_OPENING_START") then
|
if (event == "PET_BATTLE_OPENING_START") then
|
||||||
@ -286,6 +310,37 @@ function IceCore.prototype:Enable(userToggle)
|
|||||||
elseif (event == "UNIT_EXITED_VEHICLE") then
|
elseif (event == "UNIT_EXITED_VEHICLE") then
|
||||||
self:UnregisterEvent("UNIT_EXITED_VEHICLE")
|
self:UnregisterEvent("UNIT_EXITED_VEHICLE")
|
||||||
self:Show()
|
self:Show()
|
||||||
|
elseif (event == "PLAYER_ENTERING_WORLD" or event == "ZONE_CHANGED") then
|
||||||
|
if C_Map then
|
||||||
|
local bestMapID = C_Map.GetBestMapForUnit("player")
|
||||||
|
if bestMapID == ZM_MAP_ID then
|
||||||
|
self:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
|
||||||
|
local puzzleStatus = IceHUD:HasBuffs("player", IceCore.zmPuzzleIds)
|
||||||
|
for i=1, #puzzleStatus do
|
||||||
|
if puzzleStatus[i] then
|
||||||
|
self:Hide()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
self:UnregisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
elseif (event == "COMBAT_LOG_EVENT_UNFILTERED") then
|
||||||
|
local _,subevent,_,_,_,_,_,_,destName,_,_,spellId = CombatLogGetCurrentEventInfo()
|
||||||
|
|
||||||
|
if subevent == "SPELL_AURA_APPLIED" then
|
||||||
|
if destName == UnitName("player") then
|
||||||
|
if IceCore.zmPuzzleMap[spellId] then
|
||||||
|
self:Hide()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
elseif subevent == "SPELL_AURA_REMOVED" then
|
||||||
|
if destName == UnitName("player") then
|
||||||
|
if IceCore.zmPuzzleMap[spellId] then
|
||||||
|
self:Show()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
28
IceHUD.lua
@ -17,7 +17,25 @@ IceHUD.CurrTagVersion = 3
|
|||||||
IceHUD.debugging = false
|
IceHUD.debugging = false
|
||||||
|
|
||||||
IceHUD.WowVer = select(4, GetBuildInfo())
|
IceHUD.WowVer = select(4, GetBuildInfo())
|
||||||
|
IceHUD.WowMain = not WOW_PROJECT_ID or WOW_PROJECT_ID == WOW_PROJECT_MAINLINE
|
||||||
IceHUD.WowClassic = WOW_PROJECT_ID and WOW_PROJECT_ID == WOW_PROJECT_CLASSIC
|
IceHUD.WowClassic = WOW_PROJECT_ID and WOW_PROJECT_ID == WOW_PROJECT_CLASSIC
|
||||||
|
IceHUD.WowClassicBC = WOW_PROJECT_ID and WOW_PROJECT_ID == WOW_PROJECT_BURNING_CRUSADE_CLASSIC
|
||||||
|
|
||||||
|
-- compatibility/feature flags
|
||||||
|
IceHUD.SpellFunctionsReturnRank = IceHUD.WowMain and IceHUD.WowVer < 80000
|
||||||
|
IceHUD.EventExistsPlayerPetChanged = IceHUD.WowVer < 80000 and not IceHUD.WowClassic and not IceHUD.WowClassicBC
|
||||||
|
IceHUD.EventExistsPetBarChanged = IceHUD.WowVer < 80000 and not IceHUD.WowClassic and not IceHUD.WowClassicBC
|
||||||
|
IceHUD.EventExistsPlayerComboPoints = IceHUD.WowMain and IceHUD.WowVer < 30000
|
||||||
|
IceHUD.EventExistsUnitComboPoints = IceHUD.WowMain and IceHUD.WowVer < 70000
|
||||||
|
IceHUD.EventExistsUnitMaxPower = IceHUD.WowMain and IceHUD.WowVer < 80000
|
||||||
|
IceHUD.EventExistsGroupRosterUpdate = IceHUD.WowVer >= 50000 or IceHUD.WowClassic or IceHUD.WowClassicBC
|
||||||
|
IceHUD.EventExistsUnitDynamicFlags = IceHUD.WowMain and IceHUD.WowVer < 80000
|
||||||
|
IceHUD.PerPowerEventsExist = IceHUD.WowMain and IceHUD.WowVer < 40000
|
||||||
|
IceHUD.PerTargetComboPoints = IceHUD.WowVer < 60000
|
||||||
|
IceHUD.CanTrackOtherUnitBuffs = not IceHUD.WowClassic
|
||||||
|
IceHUD.CanTrackGCD = not IceHUD.WowClassic
|
||||||
|
IceHUD.GetSpellInfoReturnsFunnel = IceHUD.WowMain and IceHUD.WowVer < 60000
|
||||||
|
IceHUD.CanHookDestroyTotem = IceHUD.WowClassic or IceHUD.WowClassicBC
|
||||||
|
|
||||||
IceHUD.UnitPowerEvent = "UNIT_POWER_UPDATE"
|
IceHUD.UnitPowerEvent = "UNIT_POWER_UPDATE"
|
||||||
|
|
||||||
@ -324,7 +342,7 @@ end
|
|||||||
-- blizzard interface options
|
-- blizzard interface options
|
||||||
local blizOptionsPanel = CreateFrame("FRAME", "IceHUDConfigPanel", UIParent)
|
local blizOptionsPanel = CreateFrame("FRAME", "IceHUDConfigPanel", UIParent)
|
||||||
blizOptionsPanel.name = "IceHUD"
|
blizOptionsPanel.name = "IceHUD"
|
||||||
blizOptionsPanel.button = CreateFrame("BUTTON", "IceHUDOpenConfigButton", blizOptionsPanel, (IceHUD.WowVer >= 50000 or IceHUD.WowClassic) and "UIPanelButtonTemplate" or "UIPanelButtonTemplate2")
|
blizOptionsPanel.button = CreateFrame("BUTTON", "IceHUDOpenConfigButton", blizOptionsPanel, (IceHUD.WowVer >= 50000 or IceHUD.WowClassic or IceHUD.WowClassicBC) and "UIPanelButtonTemplate" or "UIPanelButtonTemplate2")
|
||||||
blizOptionsPanel.button:SetText("Open IceHUD configuration")
|
blizOptionsPanel.button:SetText("Open IceHUD configuration")
|
||||||
blizOptionsPanel.button:SetWidth(240)
|
blizOptionsPanel.button:SetWidth(240)
|
||||||
blizOptionsPanel.button:SetHeight(30)
|
blizOptionsPanel.button:SetHeight(30)
|
||||||
@ -416,7 +434,7 @@ function IceHUD:GetAuraCount(auraType, unit, ability, onlyMine, matchByName)
|
|||||||
|
|
||||||
local i = 1
|
local i = 1
|
||||||
local name, _, texture, applications
|
local name, _, texture, applications
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.SpellFunctionsReturnRank then
|
||||||
name, _, texture, applications = UnitAura(unit, i, auraType..(onlyMine and "|PLAYER" or ""))
|
name, _, texture, applications = UnitAura(unit, i, auraType..(onlyMine and "|PLAYER" or ""))
|
||||||
else
|
else
|
||||||
name, texture, applications = UnitAura(unit, i, auraType..(onlyMine and "|PLAYER" or ""))
|
name, texture, applications = UnitAura(unit, i, auraType..(onlyMine and "|PLAYER" or ""))
|
||||||
@ -428,7 +446,7 @@ function IceHUD:GetAuraCount(auraType, unit, ability, onlyMine, matchByName)
|
|||||||
end
|
end
|
||||||
|
|
||||||
i = i + 1
|
i = i + 1
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.SpellFunctionsReturnRank then
|
||||||
name, _, texture, applications = UnitAura(unit, i, auraType..(onlyMine and "|PLAYER" or ""))
|
name, _, texture, applications = UnitAura(unit, i, auraType..(onlyMine and "|PLAYER" or ""))
|
||||||
else
|
else
|
||||||
name, texture, applications = UnitAura(unit, i, auraType..(onlyMine and "|PLAYER" or ""))
|
name, texture, applications = UnitAura(unit, i, auraType..(onlyMine and "|PLAYER" or ""))
|
||||||
@ -448,7 +466,7 @@ do
|
|||||||
|
|
||||||
local i = 1
|
local i = 1
|
||||||
local name, _, texture, applications, _, _, _, _, _, _, auraID
|
local name, _, texture, applications, _, _, _, _, _, _, auraID
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.SpellFunctionsReturnRank then
|
||||||
name, _, texture, applications, _, _, _, _, _, _, auraID = UnitAura(unit, i, filter)
|
name, _, texture, applications, _, _, _, _, _, _, auraID = UnitAura(unit, i, filter)
|
||||||
else
|
else
|
||||||
name, texture, applications, _, _, _, _, _, _, auraID = UnitAura(unit, i, filter)
|
name, texture, applications, _, _, _, _, _, _, auraID = UnitAura(unit, i, filter)
|
||||||
@ -462,7 +480,7 @@ do
|
|||||||
end
|
end
|
||||||
|
|
||||||
i = i + 1
|
i = i + 1
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.SpellFunctionsReturnRank then
|
||||||
name, _, texture, applications, _, _, _, _, _, _, auraID = UnitAura(unit, i, filter)
|
name, _, texture, applications, _, _, _, _, _, _, auraID = UnitAura(unit, i, filter)
|
||||||
else
|
else
|
||||||
name, texture, applications, _, _, _, _, _, _, auraID = UnitAura(unit, i, filter)
|
name, texture, applications, _, _, _, _, _, _, auraID = UnitAura(unit, i, filter)
|
||||||
|
10
IceHUD.toc
@ -1,9 +1,7 @@
|
|||||||
#@retail@
|
## Interface: 90200
|
||||||
## Interface: 90002
|
## Interface-Retail: 90200
|
||||||
#@end-retail@
|
## Interface-Classic: 11402
|
||||||
#@non-retail@
|
## Interface-BCC: 20503
|
||||||
# ## Interface: 11305
|
|
||||||
#@end-non-retail@
|
|
||||||
## Author: Parnic, originally created by Iceroth
|
## Author: Parnic, originally created by Iceroth
|
||||||
## Name: IceHUD
|
## Name: IceHUD
|
||||||
## Title: IceHUD |cff7fff7f-Ace3-|r
|
## Title: IceHUD |cff7fff7f-Ace3-|r
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
#@retail@
|
## Interface: 90200
|
||||||
## Interface: 90002
|
## Interface-Retail: 90200
|
||||||
#@end-retail@
|
## Interface-Classic: 11402
|
||||||
#@non-retail@
|
## Interface-BCC: 20503
|
||||||
# ## Interface: 11305
|
|
||||||
#@end-non-retail@
|
|
||||||
## Title: IceHUD |cff7fff7f-Options-|r
|
## Title: IceHUD |cff7fff7f-Options-|r
|
||||||
## Author: Parnic
|
## Author: Parnic
|
||||||
## Version: @project-version@
|
## Version: @project-version@
|
||||||
|
@ -128,7 +128,7 @@ end
|
|||||||
function IceStackCounter_Enable(frame)
|
function IceStackCounter_Enable(frame)
|
||||||
frame:RegisterEvent("UNIT_AURA", "UpdateCustomCount")
|
frame:RegisterEvent("UNIT_AURA", "UpdateCustomCount")
|
||||||
frame:RegisterEvent("UNIT_PET", "UpdateCustomCount")
|
frame:RegisterEvent("UNIT_PET", "UpdateCustomCount")
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.EventExistsPlayerPetChanged then
|
||||||
frame:RegisterEvent("PLAYER_PET_CHANGED", "UpdateCustomCount")
|
frame:RegisterEvent("PLAYER_PET_CHANGED", "UpdateCustomCount")
|
||||||
end
|
end
|
||||||
if FocusUnit then
|
if FocusUnit then
|
||||||
|
@ -20,7 +20,7 @@ IceUnitBar.prototype.hasPet = nil
|
|||||||
IceUnitBar.prototype.noFlash = nil
|
IceUnitBar.prototype.noFlash = nil
|
||||||
|
|
||||||
local SPELL_POWER_INSANITY, SPELL_POWER_RAGE = SPELL_POWER_INSANITY, SPELL_POWER_RAGE
|
local SPELL_POWER_INSANITY, SPELL_POWER_RAGE = SPELL_POWER_INSANITY, SPELL_POWER_RAGE
|
||||||
if IceHUD.WowVer >= 80000 or IceHUD.WowClassic then
|
if Enum and Enum.PowerType then
|
||||||
SPELL_POWER_INSANITY = Enum.PowerType.Insanity
|
SPELL_POWER_INSANITY = Enum.PowerType.Insanity
|
||||||
SPELL_POWER_RAGE = Enum.PowerType.Rage
|
SPELL_POWER_RAGE = Enum.PowerType.Rage
|
||||||
end
|
end
|
||||||
@ -243,7 +243,14 @@ function IceUnitBar.prototype:Update()
|
|||||||
self.mana = IceHUD:MathRound(self.mana / 100)
|
self.mana = IceHUD:MathRound(self.mana / 100)
|
||||||
self.maxMana = IceHUD:MathRound(self.maxMana / 100)
|
self.maxMana = IceHUD:MathRound(self.maxMana / 100)
|
||||||
end
|
end
|
||||||
self.manaPercentage = self.maxMana ~= 0 and (self.mana/self.maxMana) or 0
|
|
||||||
|
-- account for cases where maxMana is 0, perhaps briefly (during certain spells, for example)
|
||||||
|
-- and properly handle it as full. this allows for proper alpha handling during these times.
|
||||||
|
if self.maxMana == self.mana then
|
||||||
|
self.manaPercentage = 1
|
||||||
|
else
|
||||||
|
self.manaPercentage = self.maxMana ~= 0 and (self.mana/self.maxMana) or 0
|
||||||
|
end
|
||||||
|
|
||||||
local locClass
|
local locClass
|
||||||
locClass, self.unitClass = UnitClass(self.unit)
|
locClass, self.unitClass = UnitClass(self.unit)
|
||||||
|
21
LICENSE
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2021 parnic
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
64
changelog.md
@ -1,6 +1,68 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
vNext:
|
v1.13.12:
|
||||||
|
|
||||||
|
- Hide IceHUD during Zereth Mortis puzzles
|
||||||
|
- Fixed default player and target frames coming back sometimes (github issue #19)
|
||||||
|
- Updated TOC for 9.2.0 and 1.14.2
|
||||||
|
|
||||||
|
v1.13.11:
|
||||||
|
|
||||||
|
- Fixed totem bar dismissal for BC-Classic and Classic
|
||||||
|
- Updated TOC for BC-Clasic
|
||||||
|
|
||||||
|
v1.13.10:
|
||||||
|
|
||||||
|
- Updated TOCs for 9.1.5 and 1.14.1
|
||||||
|
|
||||||
|
v1.13.9:
|
||||||
|
|
||||||
|
- Fixed FocusMana modules attempting to register invalid events in Classic builds.
|
||||||
|
- Add support for multiple anima-charged combo points to display at once.
|
||||||
|
- Update TOC for Classic 1.14.0
|
||||||
|
|
||||||
|
v1.13.8.1:
|
||||||
|
|
||||||
|
- Updated TOC for BC-Classic and Classic.
|
||||||
|
|
||||||
|
v1.13.8:
|
||||||
|
|
||||||
|
- Fixed Paladin GCD not functioning in BC-Classic.
|
||||||
|
|
||||||
|
v1.13.7:
|
||||||
|
|
||||||
|
- Fixed energy ticker when zoning back into an instance after dying (Classic builds)
|
||||||
|
- Added newer Fear spell to CC modules.
|
||||||
|
- Fixed the straight textures (Tanks) not showing the lowest or highest values appropriately (10% could look empty, 90% could look full).
|
||||||
|
|
||||||
|
v1.13.6:
|
||||||
|
|
||||||
|
- Updated TOC to 9.1
|
||||||
|
- Packaged an updated DogTag library with a fix for Classic-era `[Class]` tags.
|
||||||
|
|
||||||
|
v1.13.5:
|
||||||
|
|
||||||
|
- Classic-Burning Crusade support
|
||||||
|
- Package a community fork of LibRangeCheck with BC-Classic compatibility
|
||||||
|
- Prevented DogTag strings sometimes cutting off and showing "..." when they shouldn't if the user entered blank lines in the text box for the tags. Also changed the tooltip to not suggest pressing Enter since that could cause this problem. If you already have blank lines in your DogTag strings, you will want to remove them manually, but this fix prevents the problem from occurring in the future.
|
||||||
|
- Fixed custom buff/debuff bar tracking for targettarget units.
|
||||||
|
|
||||||
|
v1.13.4:
|
||||||
|
|
||||||
|
- Show Demon Hunter Fury top text as the raw Fury amount instead of a 0-100 scale with DogTags off. (ticket #301)
|
||||||
|
- Package newer LibDogTag to fix upgrade bug in that library.
|
||||||
|
|
||||||
|
v1.13.3:
|
||||||
|
|
||||||
|
- Activated Totems module for all classes in Shadowlands. Some class abilities spawn units that live for a specific amount of time, and the game handles these as Totems.
|
||||||
|
- Fixed an issue where mana bars could use the wrong alpha settings if the player's maximum mana was 0 (such as during the use of Soulshape).
|
||||||
|
- Update TOC for 9.0.5
|
||||||
|
|
||||||
|
v1.13.2:
|
||||||
|
|
||||||
|
- Fixed which version of LibDogTag was being packaged. The previous version did not have 9.0 compatibility and was generating errors (ticket #293).
|
||||||
|
|
||||||
|
v1.13.1:
|
||||||
|
|
||||||
- Added support for Anima-charged combo points for Kyrian covenant (ticket #291).
|
- Added support for Anima-charged combo points for Kyrian covenant (ticket #291).
|
||||||
- Updated TOC for 9.0.2
|
- Updated TOC for 9.0.2
|
||||||
|
@ -2,7 +2,7 @@ local L = LibStub("AceLocale-3.0"):GetLocale("IceHUD", false)
|
|||||||
local ArcaneCharges = IceCore_CreateClass(IceClassPowerCounter)
|
local ArcaneCharges = IceCore_CreateClass(IceClassPowerCounter)
|
||||||
|
|
||||||
local SPELL_POWER_ARCANE_CHARGES = SPELL_POWER_ARCANE_CHARGES
|
local SPELL_POWER_ARCANE_CHARGES = SPELL_POWER_ARCANE_CHARGES
|
||||||
if IceHUD.WowVer >= 80000 or IceHUD.WowClassic then
|
if Enum and Enum.PowerType then
|
||||||
SPELL_POWER_ARCANE_CHARGES = Enum.PowerType.ArcaneCharges
|
SPELL_POWER_ARCANE_CHARGES = Enum.PowerType.ArcaneCharges
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -4,11 +4,12 @@ local ComboPoints = IceCore_CreateClass(IceElement)
|
|||||||
local IceHUD = _G.IceHUD
|
local IceHUD = _G.IceHUD
|
||||||
|
|
||||||
local AnticipationSpellId = 114015
|
local AnticipationSpellId = 114015
|
||||||
|
local AnticipationExists = GetSpellInfo(AnticipationSpellId) and IceHUD.WowVer < 70000
|
||||||
|
|
||||||
ComboPoints.prototype.comboSize = 20
|
ComboPoints.prototype.comboSize = 20
|
||||||
|
|
||||||
local SPELL_POWER_COMBO_POINTS = SPELL_POWER_COMBO_POINTS
|
local SPELL_POWER_COMBO_POINTS = SPELL_POWER_COMBO_POINTS
|
||||||
if IceHUD.WowVer >= 80000 or IceHUD.WowClassic then
|
if Enum and Enum.PowerType then
|
||||||
SPELL_POWER_COMBO_POINTS = Enum.PowerType.ComboPoints
|
SPELL_POWER_COMBO_POINTS = Enum.PowerType.ComboPoints
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -24,7 +25,9 @@ function ComboPoints.prototype:init()
|
|||||||
ComboPoints.super.prototype.init(self, "ComboPoints")
|
ComboPoints.super.prototype.init(self, "ComboPoints")
|
||||||
|
|
||||||
self:SetDefaultColor("ComboPoints", 1, 1, 0)
|
self:SetDefaultColor("ComboPoints", 1, 1, 0)
|
||||||
self:SetDefaultColor("AnticipationPoints", 1, 0, 1)
|
if AnticipationExists then
|
||||||
|
self:SetDefaultColor("AnticipationPoints", 1, 0, 1)
|
||||||
|
end
|
||||||
self:SetDefaultColor("KyrianAnimaComboPoint", 0.3137254901960784, 0.3725490196078432, 1)
|
self:SetDefaultColor("KyrianAnimaComboPoint", 0.3137254901960784, 0.3725490196078432, 1)
|
||||||
self.scalingEnabled = true
|
self.scalingEnabled = true
|
||||||
end
|
end
|
||||||
@ -171,7 +174,7 @@ function ComboPoints.prototype:GetOptions()
|
|||||||
order = 33.2
|
order = 33.2
|
||||||
}
|
}
|
||||||
|
|
||||||
if IceHUD.WowVer < 70000 and not IceHUD.WowClassic then
|
if AnticipationExists then
|
||||||
opts["anticipation"] = {
|
opts["anticipation"] = {
|
||||||
type = "toggle",
|
type = "toggle",
|
||||||
name = L["Show Anticipation"],
|
name = L["Show Anticipation"],
|
||||||
@ -283,8 +286,8 @@ function ComboPoints.prototype:Enable(core)
|
|||||||
ComboPoints.super.prototype.Enable(self, core)
|
ComboPoints.super.prototype.Enable(self, core)
|
||||||
|
|
||||||
self:RegisterEvent("PLAYER_TARGET_CHANGED", "UpdateComboPoints")
|
self:RegisterEvent("PLAYER_TARGET_CHANGED", "UpdateComboPoints")
|
||||||
if IceHUD.WowVer >= 30000 or IceHUD.WowClassic then
|
if not IceHUD.EventExistsPlayerComboPoints then
|
||||||
if IceHUD.WowVer < 70000 and not IceHUD.WowClassic then
|
if IceHUD.EventExistsUnitComboPoints then
|
||||||
self:RegisterEvent("UNIT_COMBO_POINTS", "UpdateComboPoints")
|
self:RegisterEvent("UNIT_COMBO_POINTS", "UpdateComboPoints")
|
||||||
else
|
else
|
||||||
self:RegisterEvent(IceHUD.UnitPowerEvent, "UpdateComboPoints")
|
self:RegisterEvent(IceHUD.UnitPowerEvent, "UpdateComboPoints")
|
||||||
@ -296,7 +299,7 @@ function ComboPoints.prototype:Enable(core)
|
|||||||
self:RegisterEvent("UNIT_ENTERED_VEHICLE", "UpdateComboPoints")
|
self:RegisterEvent("UNIT_ENTERED_VEHICLE", "UpdateComboPoints")
|
||||||
self:RegisterEvent("UNIT_EXITED_VEHICLE", "UpdateComboPoints")
|
self:RegisterEvent("UNIT_EXITED_VEHICLE", "UpdateComboPoints")
|
||||||
end
|
end
|
||||||
if IceHUD.WowVer < 70000 and not IceHUD.WowClassic then
|
if AnticipationExists then
|
||||||
self:RegisterEvent("PLAYER_TALENT_UPDATE", "AddAnticipation")
|
self:RegisterEvent("PLAYER_TALENT_UPDATE", "AddAnticipation")
|
||||||
self:AddAnticipation()
|
self:AddAnticipation()
|
||||||
end
|
end
|
||||||
@ -327,8 +330,7 @@ function ComboPoints.prototype:UpdateMaxComboPoints(event, unit, powerType)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function ComboPoints.prototype:UpdateChargedComboPoints()
|
function ComboPoints.prototype:UpdateChargedComboPoints()
|
||||||
local chargedPowerPoints = GetUnitChargedPowerPoints("player")
|
self.chargedPowerPoints = GetUnitChargedPowerPoints("player")
|
||||||
self.chargedPowerPointIndex = chargedPowerPoints and chargedPowerPoints[1]
|
|
||||||
self:CreateComboFrame()
|
self:CreateComboFrame()
|
||||||
self:UpdateComboPoints()
|
self:UpdateComboPoints()
|
||||||
end
|
end
|
||||||
@ -442,7 +444,7 @@ function ComboPoints.prototype:CreateComboFrame(forceTextureUpdate)
|
|||||||
g = g - ((1 / maxComboPoints)*i)
|
g = g - ((1 / maxComboPoints)*i)
|
||||||
end
|
end
|
||||||
|
|
||||||
if i == self.chargedPowerPointIndex and self.moduleSettings.bShowAnimaCharged then
|
if self.moduleSettings.bShowAnimaCharged and self:IsAnimaChargedPoint(i) then
|
||||||
self.frame.graphical[i].texture:SetVertexColor(self:GetColor("KyrianAnimaComboPoint"))
|
self.frame.graphical[i].texture:SetVertexColor(self:GetColor("KyrianAnimaComboPoint"))
|
||||||
else
|
else
|
||||||
self.frame.graphical[i].texture:SetVertexColor(r, g, b)
|
self.frame.graphical[i].texture:SetVertexColor(r, g, b)
|
||||||
@ -452,7 +454,7 @@ function ComboPoints.prototype:CreateComboFrame(forceTextureUpdate)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- create Anticipation points
|
-- create Anticipation points
|
||||||
if IceHUD.WowVer < 70000 then
|
if AnticipationExists then
|
||||||
for i = 1, 5 do
|
for i = 1, 5 do
|
||||||
if (not self.frame.graphicalAnt[i]) then
|
if (not self.frame.graphicalAnt[i]) then
|
||||||
local frame = CreateFrame("Frame", nil, self.frame)
|
local frame = CreateFrame("Frame", nil, self.frame)
|
||||||
@ -491,6 +493,20 @@ function ComboPoints.prototype:CreateComboFrame(forceTextureUpdate)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function ComboPoints.prototype:IsAnimaChargedPoint(point)
|
||||||
|
if not self.chargedPowerPoints then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
for i=1, #self.chargedPowerPoints do
|
||||||
|
if self.chargedPowerPoints[i] == point then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
function ComboPoints.prototype:UpdateComboPoints(...)
|
function ComboPoints.prototype:UpdateComboPoints(...)
|
||||||
if select('#', ...) >= 3 and select(1, ...) == IceHUD.UnitPowerEvent and select(3, ...) ~= "COMBO_POINTS" then
|
if select('#', ...) >= 3 and select(1, ...) == IceHUD.UnitPowerEvent and select(3, ...) ~= "COMBO_POINTS" then
|
||||||
return
|
return
|
||||||
@ -499,17 +515,17 @@ function ComboPoints.prototype:UpdateComboPoints(...)
|
|||||||
local points, anticipate, _
|
local points, anticipate, _
|
||||||
if IceHUD.IceCore:IsInConfigMode() then
|
if IceHUD.IceCore:IsInConfigMode() then
|
||||||
points = self:GetMaxComboPoints()
|
points = self:GetMaxComboPoints()
|
||||||
elseif IceHUD.WowVer >= 30000 or IceHUD.WowClassic then
|
elseif IceHUD.WowVer >= 30000 or IceHUD.WowClassic or IceHUD.WowClassicBC then
|
||||||
-- Parnic: apparently some fights have combo points while the player is in a vehicle?
|
-- Parnic: apparently some fights have combo points while the player is in a vehicle?
|
||||||
local isInVehicle = UnitHasVehicleUI and UnitHasVehicleUI("player")
|
local isInVehicle = UnitHasVehicleUI and UnitHasVehicleUI("player")
|
||||||
local checkUnit = isInVehicle and "vehicle" or "player"
|
local checkUnit = isInVehicle and "vehicle" or "player"
|
||||||
if IceHUD.WowVer >= 60000 or IceHUD.WowClassic then
|
if IceHUD.PerTargetComboPoints then
|
||||||
points = UnitPower(checkUnit, SPELL_POWER_COMBO_POINTS)
|
|
||||||
else
|
|
||||||
points = GetComboPoints(checkUnit, "target")
|
points = GetComboPoints(checkUnit, "target")
|
||||||
|
else
|
||||||
|
points = UnitPower(checkUnit, SPELL_POWER_COMBO_POINTS)
|
||||||
end
|
end
|
||||||
|
|
||||||
if IceHUD.WowVer < 70000 and IceHUD.WowVer >= 50000 then
|
if AnticipationExists then
|
||||||
_, _, _, anticipate = UnitAura("player", GetSpellInfo(AnticipationSpellId))
|
_, _, _, anticipate = UnitAura("player", GetSpellInfo(AnticipationSpellId))
|
||||||
else
|
else
|
||||||
anticipate = 0
|
anticipate = 0
|
||||||
@ -601,6 +617,6 @@ end
|
|||||||
|
|
||||||
-- Load us up
|
-- Load us up
|
||||||
local _, class = UnitClass("player")
|
local _, class = UnitClass("player")
|
||||||
if not IceHUD.WowClassic or class == "ROGUE" or class == "DRUID" then
|
if (not IceHUD.WowClassic and not IceHUD.WowClassicBC) or class == "ROGUE" or class == "DRUID" then
|
||||||
IceHUD.ComboPoints = ComboPoints:new()
|
IceHUD.ComboPoints = ComboPoints:new()
|
||||||
end
|
end
|
||||||
|
@ -2,7 +2,7 @@ local L = LibStub("AceLocale-3.0"):GetLocale("IceHUD", false)
|
|||||||
local ComboPointsBar = IceCore_CreateClass(IceBarElement)
|
local ComboPointsBar = IceCore_CreateClass(IceBarElement)
|
||||||
|
|
||||||
local SPELL_POWER_COMBO_POINTS = SPELL_POWER_COMBO_POINTS
|
local SPELL_POWER_COMBO_POINTS = SPELL_POWER_COMBO_POINTS
|
||||||
if IceHUD.WowVer >= 80000 or IceHUD.WowClassic then
|
if Enum and Enum.PowerType then
|
||||||
SPELL_POWER_COMBO_POINTS = Enum.PowerType.ComboPoints
|
SPELL_POWER_COMBO_POINTS = Enum.PowerType.ComboPoints
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -76,8 +76,8 @@ function ComboPointsBar.prototype:Enable(core)
|
|||||||
ComboPointsBar.super.prototype.Enable(self, core)
|
ComboPointsBar.super.prototype.Enable(self, core)
|
||||||
|
|
||||||
self:RegisterEvent("PLAYER_TARGET_CHANGED", "UpdateComboPoints")
|
self:RegisterEvent("PLAYER_TARGET_CHANGED", "UpdateComboPoints")
|
||||||
if IceHUD.WowVer >= 30000 or IceHUD.WowClassic then
|
if not IceHUD.EventExistsPlayerComboPoints then
|
||||||
if IceHUD.WowVer < 70000 and not IceHUD.WowClassic then
|
if IceHUD.EventExistsUnitComboPoints then
|
||||||
self:RegisterEvent("UNIT_COMBO_POINTS", "UpdateComboPoints")
|
self:RegisterEvent("UNIT_COMBO_POINTS", "UpdateComboPoints")
|
||||||
else
|
else
|
||||||
self:RegisterEvent(IceHUD.UnitPowerEvent, "UpdateComboPoints")
|
self:RegisterEvent(IceHUD.UnitPowerEvent, "UpdateComboPoints")
|
||||||
@ -119,14 +119,14 @@ function ComboPointsBar.prototype:UpdateComboPoints(...)
|
|||||||
local points
|
local points
|
||||||
if IceHUD.IceCore:IsInConfigMode() then
|
if IceHUD.IceCore:IsInConfigMode() then
|
||||||
points = UnitPowerMax("player", SPELL_POWER_COMBO_POINTS)
|
points = UnitPowerMax("player", SPELL_POWER_COMBO_POINTS)
|
||||||
elseif IceHUD.WowVer >= 30000 or IceHUD.WowClassic then
|
elseif IceHUD.WowVer >= 30000 or IceHUD.WowClassic or IceHUD.WowClassicBC then
|
||||||
-- Parnic: apparently some fights have combo points while the player is in a vehicle?
|
-- Parnic: apparently some fights have combo points while the player is in a vehicle?
|
||||||
local isInVehicle = UnitHasVehicleUI and UnitHasVehicleUI("player")
|
local isInVehicle = UnitHasVehicleUI and UnitHasVehicleUI("player")
|
||||||
local checkUnit = isInVehicle and "vehicle" or "player"
|
local checkUnit = isInVehicle and "vehicle" or "player"
|
||||||
if IceHUD.WowVer >= 60000 or IceHUD.WowClassic then
|
if IceHUD.PerTargetComboPoints then
|
||||||
points = UnitPower(checkUnit, SPELL_POWER_COMBO_POINTS)
|
|
||||||
else
|
|
||||||
points = GetComboPoints(checkUnit, "target")
|
points = GetComboPoints(checkUnit, "target")
|
||||||
|
else
|
||||||
|
points = UnitPower(checkUnit, SPELL_POWER_COMBO_POINTS)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
points = GetComboPoints("target")
|
points = GetComboPoints("target")
|
||||||
@ -155,6 +155,6 @@ function ComboPointsBar.prototype:Update()
|
|||||||
end
|
end
|
||||||
|
|
||||||
local _, class = UnitClass("player")
|
local _, class = UnitClass("player")
|
||||||
if not IceHUD.WowClassic or class == "ROGUE" or class == "DRUID" then
|
if (not IceHUD.WowClassic and not IceHUD.WowClassicBC) or class == "ROGUE" or class == "DRUID" then
|
||||||
IceHUD.ComboPointsBar = ComboPointsBar:new()
|
IceHUD.ComboPointsBar = ComboPointsBar:new()
|
||||||
end
|
end
|
||||||
|
@ -19,6 +19,7 @@ IceCustomBar.prototype.bIsAura = false
|
|||||||
function IceCustomBar.prototype:init()
|
function IceCustomBar.prototype:init()
|
||||||
IceCustomBar.super.prototype.init(self, "MyCustomBar", "player")
|
IceCustomBar.super.prototype.init(self, "MyCustomBar", "player")
|
||||||
self.textColorOverride = true
|
self.textColorOverride = true
|
||||||
|
self.CustomBarUpdateFunc = function() self:UpdateCustomBar(self.unit, true) end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- 'Public' methods -----------------------------------------------------------
|
-- 'Public' methods -----------------------------------------------------------
|
||||||
@ -36,7 +37,7 @@ function IceCustomBar.prototype:Enable(core)
|
|||||||
|
|
||||||
self:RegisterEvent("UNIT_AURA", "UpdateCustomBarEvent")
|
self:RegisterEvent("UNIT_AURA", "UpdateCustomBarEvent")
|
||||||
self:RegisterEvent("UNIT_PET", "UpdateCustomBarEvent")
|
self:RegisterEvent("UNIT_PET", "UpdateCustomBarEvent")
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.EventExistsPlayerPetChanged then
|
||||||
self:RegisterEvent("PLAYER_PET_CHANGED", "UpdateCustomBarEvent")
|
self:RegisterEvent("PLAYER_PET_CHANGED", "UpdateCustomBarEvent")
|
||||||
end
|
end
|
||||||
if FocusUnit then
|
if FocusUnit then
|
||||||
@ -81,7 +82,7 @@ function IceCustomBar.prototype:Disable(core)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function IceCustomBar.prototype:GetUnitToTrack()
|
function IceCustomBar.prototype:GetUnitToTrack()
|
||||||
if IceHUD.WowClassic then
|
if not IceHUD.CanTrackOtherUnitBuffs then
|
||||||
return "player"
|
return "player"
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -107,11 +108,7 @@ end
|
|||||||
|
|
||||||
function IceCustomBar.prototype:ConditionalSubscribe()
|
function IceCustomBar.prototype:ConditionalSubscribe()
|
||||||
if self:ShouldAlwaysSubscribe() then
|
if self:ShouldAlwaysSubscribe() then
|
||||||
if not IceHUD.IceCore:IsUpdateSubscribed(self) then
|
if not IceHUD.IceCore:IsUpdateSubscribed(self, self.CustomBarUpdateFunc) then
|
||||||
if not self.CustomBarUpdateFunc then
|
|
||||||
self.CustomBarUpdateFunc = function() self:UpdateCustomBar() end
|
|
||||||
end
|
|
||||||
|
|
||||||
self.handlesOwnUpdates = true
|
self.handlesOwnUpdates = true
|
||||||
IceHUD.IceCore:RequestUpdates(self, self.CustomBarUpdateFunc)
|
IceHUD.IceCore:RequestUpdates(self, self.CustomBarUpdateFunc)
|
||||||
end
|
end
|
||||||
@ -122,7 +119,7 @@ function IceCustomBar.prototype:ConditionalSubscribe()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function IceCustomBar.prototype:ShouldAlwaysSubscribe()
|
function IceCustomBar.prototype:ShouldAlwaysSubscribe()
|
||||||
return self.unit == "focustarget" or self.unit == "pettarget"
|
return self.unit == "focustarget" or self.unit == "pettarget" or self.unit == "targettarget"
|
||||||
end
|
end
|
||||||
|
|
||||||
function IceCustomBar.prototype:TargetChanged()
|
function IceCustomBar.prototype:TargetChanged()
|
||||||
@ -262,7 +259,7 @@ function IceCustomBar.prototype:GetOptions()
|
|||||||
order = 30.3,
|
order = 30.3,
|
||||||
}
|
}
|
||||||
|
|
||||||
if not IceHUD.WowClassic then
|
if IceHUD.CanTrackOtherUnitBuffs then
|
||||||
opts["unitToTrack"] = {
|
opts["unitToTrack"] = {
|
||||||
type = 'select',
|
type = 'select',
|
||||||
values = validUnits,
|
values = validUnits,
|
||||||
@ -673,7 +670,7 @@ function IceCustomBar.prototype:GetAuraDuration(unitName, buffName)
|
|||||||
local isBuff = self.moduleSettings.buffOrDebuff == "buff" and true or false
|
local isBuff = self.moduleSettings.buffOrDebuff == "buff" and true or false
|
||||||
local buffFilter = (isBuff and "HELPFUL" or "HARMFUL") .. (self.moduleSettings.trackOnlyMine and "|PLAYER" or "")
|
local buffFilter = (isBuff and "HELPFUL" or "HARMFUL") .. (self.moduleSettings.trackOnlyMine and "|PLAYER" or "")
|
||||||
local buff, rank, texture, count, type, duration, endTime, unitCaster, _, _, spellId
|
local buff, rank, texture, count, type, duration, endTime, unitCaster, _, _, spellId
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.SpellFunctionsReturnRank then
|
||||||
buff, rank, texture, count, type, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, buffFilter)
|
buff, rank, texture, count, type, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, buffFilter)
|
||||||
else
|
else
|
||||||
buff, texture, count, type, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, buffFilter)
|
buff, texture, count, type, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, buffFilter)
|
||||||
@ -703,7 +700,7 @@ function IceCustomBar.prototype:GetAuraDuration(unitName, buffName)
|
|||||||
|
|
||||||
i = i + 1;
|
i = i + 1;
|
||||||
|
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.SpellFunctionsReturnRank then
|
||||||
buff, rank, texture, count, type, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, buffFilter)
|
buff, rank, texture, count, type, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, buffFilter)
|
||||||
else
|
else
|
||||||
buff, texture, count, type, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, buffFilter)
|
buff, texture, count, type, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, buffFilter)
|
||||||
@ -755,7 +752,7 @@ function IceCustomBar.prototype:UpdateCustomBar(unit, fromUpdate)
|
|||||||
local auraIcon = nil
|
local auraIcon = nil
|
||||||
local endTime = 0
|
local endTime = 0
|
||||||
|
|
||||||
if not fromUpdate then
|
--if not fromUpdate then
|
||||||
if tonumber(self.moduleSettings.buffToTrack) == nil then
|
if tonumber(self.moduleSettings.buffToTrack) == nil then
|
||||||
self.auraDuration, remaining, self.auraBuffCount, auraIcon, endTime =
|
self.auraDuration, remaining, self.auraBuffCount, auraIcon, endTime =
|
||||||
self:GetAuraDuration(self.unit, self.moduleSettings.buffToTrack)
|
self:GetAuraDuration(self.unit, self.moduleSettings.buffToTrack)
|
||||||
@ -790,18 +787,14 @@ function IceCustomBar.prototype:UpdateCustomBar(unit, fromUpdate)
|
|||||||
else
|
else
|
||||||
self.barFrame.icon:Hide()
|
self.barFrame.icon:Hide()
|
||||||
end
|
end
|
||||||
end
|
--end
|
||||||
|
|
||||||
self.auraBuffCount = self.auraBuffCount or 0
|
self.auraBuffCount = self.auraBuffCount or 0
|
||||||
|
|
||||||
if self.auraEndTime ~= nil and (self.auraEndTime == 0 or self.auraEndTime >= now) and (not self.moduleSettings.minCount or self.auraBuffCount >= self.moduleSettings.minCount) then
|
if self.auraEndTime ~= nil and (self.auraEndTime == 0 or self.auraEndTime >= now) and (not self.moduleSettings.minCount or self.auraBuffCount >= self.moduleSettings.minCount) then
|
||||||
if not self:ShouldAlwaysSubscribe() and not fromUpdate and not IceHUD.IceCore:IsUpdateSubscribed(self) then
|
if not self:ShouldAlwaysSubscribe() and not fromUpdate and not IceHUD.IceCore:IsUpdateSubscribed(self, self.CustomBarUpdateFunc) then
|
||||||
if not self.UpdateCustomBarFunc then
|
|
||||||
self.UpdateCustomBarFunc = function() self:UpdateCustomBar(self.unit, true) end
|
|
||||||
end
|
|
||||||
|
|
||||||
self.handlesOwnUpdates = true
|
self.handlesOwnUpdates = true
|
||||||
IceHUD.IceCore:RequestUpdates(self, self.UpdateCustomBarFunc)
|
IceHUD.IceCore:RequestUpdates(self, self.CustomBarUpdateFunc)
|
||||||
end
|
end
|
||||||
|
|
||||||
self:Show(true)
|
self:Show(true)
|
||||||
|
@ -4,7 +4,7 @@ local FocusMana = IceCore_CreateClass(IceUnitBar)
|
|||||||
local SPELL_POWER_RAGE = SPELL_POWER_RAGE
|
local SPELL_POWER_RAGE = SPELL_POWER_RAGE
|
||||||
local SPELL_POWER_FOCUS = SPELL_POWER_FOCUS
|
local SPELL_POWER_FOCUS = SPELL_POWER_FOCUS
|
||||||
local SPELL_POWER_ENERGY = SPELL_POWER_ENERGY
|
local SPELL_POWER_ENERGY = SPELL_POWER_ENERGY
|
||||||
if IceHUD.WowVer >= 80000 or IceHUD.WowClassic then
|
if Enum and Enum.PowerType then
|
||||||
SPELL_POWER_RAGE = Enum.PowerType.Rage
|
SPELL_POWER_RAGE = Enum.PowerType.Rage
|
||||||
SPELL_POWER_FOCUS = Enum.PowerType.Focus
|
SPELL_POWER_FOCUS = Enum.PowerType.Focus
|
||||||
SPELL_POWER_ENERGY = Enum.PowerType.Energy
|
SPELL_POWER_ENERGY = Enum.PowerType.Energy
|
||||||
@ -39,9 +39,9 @@ end
|
|||||||
function FocusMana.prototype:Enable(core)
|
function FocusMana.prototype:Enable(core)
|
||||||
FocusMana.super.prototype.Enable(self, core)
|
FocusMana.super.prototype.Enable(self, core)
|
||||||
|
|
||||||
if IceHUD.WowVer >= 40000 then
|
if not IceHUD.PerPowerEventsExist then
|
||||||
self:RegisterEvent(IceHUD.UnitPowerEvent, "UpdateEvent")
|
self:RegisterEvent(IceHUD.UnitPowerEvent, "UpdateEvent")
|
||||||
if IceHUD.WowVer < 80000 then
|
if IceHUD.EventExistsUnitMaxPower then
|
||||||
self:RegisterEvent("UNIT_MAXPOWER", "UpdateEvent")
|
self:RegisterEvent("UNIT_MAXPOWER", "UpdateEvent")
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
@ -165,7 +165,7 @@ function GlobalCoolDown.prototype:GetSpellCastTime(spell)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local spellname, castTime, _
|
local spellname, castTime, _
|
||||||
if IceHUD.WowVer < 60000 then
|
if IceHUD.GetSpellInfoReturnsFunnel then
|
||||||
spellName, _, _, _, _, _, castTime = GetSpellInfo(spell)
|
spellName, _, _, _, _, _, castTime = GetSpellInfo(spell)
|
||||||
else
|
else
|
||||||
spellName, _, _, castTime = GetSpellInfo(spell)
|
spellName, _, _, castTime = GetSpellInfo(spell)
|
||||||
@ -267,30 +267,35 @@ function GlobalCoolDown.prototype:CreateLagBar()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function GlobalCoolDown.prototype:GetSpellId()
|
function GlobalCoolDown.prototype:GetSpellId()
|
||||||
return 61304
|
if GetSpellInfo(61304) then
|
||||||
--[[
|
return 61304
|
||||||
local defaultSpells
|
else
|
||||||
|
local defaultSpells
|
||||||
|
|
||||||
defaultSpells = {
|
defaultSpells = {
|
||||||
ROGUE=1752, -- sinister strike
|
ROGUE=1752, -- sinister strike
|
||||||
PRIEST=585, -- smite
|
PRIEST=585, -- smite
|
||||||
DRUID=5176, -- wrath
|
DRUID=5176, -- wrath
|
||||||
WARRIOR=34428, -- victory rush (not available until 5, sadly)
|
WARRIOR=34428, -- victory rush (not available until 5, sadly)
|
||||||
MAGE=44614, -- frostfire bolt
|
MAGE=44614, -- frostfire bolt
|
||||||
WARLOCK=686, -- shadow bolt
|
WARLOCK=686, -- shadow bolt
|
||||||
PALADIN=105361, -- seal of command (level 3)
|
PALADIN=105361, -- seal of command (level 3)
|
||||||
SHAMAN=403, -- lightning bolt
|
SHAMAN=403, -- lightning bolt
|
||||||
HUNTER=3044, -- arcane shot
|
HUNTER=3044, -- arcane shot
|
||||||
DEATHKNIGHT=47541, -- death coil
|
DEATHKNIGHT=47541, -- death coil
|
||||||
MONK=100780, -- jab
|
MONK=100780, -- jab
|
||||||
}
|
}
|
||||||
|
|
||||||
local _, unitClass = UnitClass("player")
|
if IceHUD.WowClassicBC or IceHUD.WowClassic then
|
||||||
return defaultSpells[unitClass]
|
defaultSpells["PALADIN"] = 635
|
||||||
]]
|
end
|
||||||
|
|
||||||
|
local _, unitClass = UnitClass("player")
|
||||||
|
return defaultSpells[unitClass]
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Load us up
|
-- Load us up
|
||||||
if not IceHUD.WowClassic then
|
if IceHUD.CanTrackGCD then
|
||||||
IceHUD.GlobalCoolDown = GlobalCoolDown:new()
|
IceHUD.GlobalCoolDown = GlobalCoolDown:new()
|
||||||
end
|
end
|
||||||
|
@ -2,7 +2,7 @@ local L = LibStub("AceLocale-3.0"):GetLocale("IceHUD", false)
|
|||||||
local HarmonyPower = IceCore_CreateClass(IceClassPowerCounter)
|
local HarmonyPower = IceCore_CreateClass(IceClassPowerCounter)
|
||||||
|
|
||||||
local SPELL_POWER_CHI = SPELL_POWER_CHI
|
local SPELL_POWER_CHI = SPELL_POWER_CHI
|
||||||
if IceHUD.WowVer >= 80000 or IceHUD.WowClassic then
|
if Enum and Enum.PowerType then
|
||||||
SPELL_POWER_CHI = Enum.PowerType.Chi
|
SPELL_POWER_CHI = Enum.PowerType.Chi
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ local L = LibStub("AceLocale-3.0"):GetLocale("IceHUD", false)
|
|||||||
local HolyPower = IceCore_CreateClass(IceClassPowerCounter)
|
local HolyPower = IceCore_CreateClass(IceClassPowerCounter)
|
||||||
|
|
||||||
local SPELL_POWER_HOLY_POWER = SPELL_POWER_HOLY_POWER
|
local SPELL_POWER_HOLY_POWER = SPELL_POWER_HOLY_POWER
|
||||||
if IceHUD.WowVer >= 80000 or IceHUD.WowClassic then
|
if Enum and Enum.PowerType then
|
||||||
SPELL_POWER_HOLY_POWER = Enum.PowerType.HolyPower
|
SPELL_POWER_HOLY_POWER = Enum.PowerType.HolyPower
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ function PetHealth.prototype:Enable(core)
|
|||||||
PetHealth.super.prototype.Enable(self, core)
|
PetHealth.super.prototype.Enable(self, core)
|
||||||
|
|
||||||
self:RegisterEvent("PET_UI_UPDATE", "CheckPet");
|
self:RegisterEvent("PET_UI_UPDATE", "CheckPet");
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.EventExistsPlayerPetChanged then
|
||||||
self:RegisterEvent("PLAYER_PET_CHANGED", "CheckPet");
|
self:RegisterEvent("PLAYER_PET_CHANGED", "CheckPet");
|
||||||
end
|
end
|
||||||
self:RegisterEvent("PET_BAR_UPDATE_USABLE", "CheckPet");
|
self:RegisterEvent("PET_BAR_UPDATE_USABLE", "CheckPet");
|
||||||
|
@ -5,7 +5,7 @@ local SPELL_POWER_RAGE = SPELL_POWER_RAGE
|
|||||||
local SPELL_POWER_FOCUS = SPELL_POWER_FOCUS
|
local SPELL_POWER_FOCUS = SPELL_POWER_FOCUS
|
||||||
local SPELL_POWER_ENERGY = SPELL_POWER_ENERGY
|
local SPELL_POWER_ENERGY = SPELL_POWER_ENERGY
|
||||||
local SPELL_POWER_RUNIC_POWER = SPELL_POWER_RUNIC_POWER
|
local SPELL_POWER_RUNIC_POWER = SPELL_POWER_RUNIC_POWER
|
||||||
if IceHUD.WowVer >= 80000 or IceHUD.WowClassic then
|
if Enum and Enum.PowerType then
|
||||||
SPELL_POWER_RAGE = Enum.PowerType.Rage
|
SPELL_POWER_RAGE = Enum.PowerType.Rage
|
||||||
SPELL_POWER_FOCUS = Enum.PowerType.Focus
|
SPELL_POWER_FOCUS = Enum.PowerType.Focus
|
||||||
SPELL_POWER_ENERGY = Enum.PowerType.Energy
|
SPELL_POWER_ENERGY = Enum.PowerType.Energy
|
||||||
@ -62,15 +62,15 @@ function PetMana.prototype:Enable(core)
|
|||||||
PetMana.super.prototype.Enable(self, core)
|
PetMana.super.prototype.Enable(self, core)
|
||||||
|
|
||||||
self:RegisterEvent("PET_UI_UPDATE", "CheckPet")
|
self:RegisterEvent("PET_UI_UPDATE", "CheckPet")
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.EventExistsPlayerPetChanged then
|
||||||
self:RegisterEvent("PLAYER_PET_CHANGED", "CheckPet")
|
self:RegisterEvent("PLAYER_PET_CHANGED", "CheckPet")
|
||||||
end
|
end
|
||||||
self:RegisterEvent(IceHUD.WowVer < 80000 and not IceHUD.WowClassic and "PET_BAR_CHANGED" or "PET_BAR_UPDATE_USABLE", "CheckPet")
|
self:RegisterEvent(IceHUD.EventExistsPetBarChanged and "PET_BAR_CHANGED" or "PET_BAR_UPDATE_USABLE", "CheckPet")
|
||||||
self:RegisterEvent("UNIT_PET", "CheckPet")
|
self:RegisterEvent("UNIT_PET", "CheckPet")
|
||||||
|
|
||||||
if IceHUD.WowVer >= 40000 or IceHUD.WowClassic then
|
if not IceHUD.PerPowerEventsExist then
|
||||||
self:RegisterEvent(IceHUD.UnitPowerEvent, "UpdateEvent")
|
self:RegisterEvent(IceHUD.UnitPowerEvent, "UpdateEvent")
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.EventExistsUnitMaxPower then
|
||||||
self:RegisterEvent("UNIT_MAXPOWER", "UpdateEvent")
|
self:RegisterEvent("UNIT_MAXPOWER", "UpdateEvent")
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
@ -8,7 +8,7 @@ local _, unitClass = UnitClass("player")
|
|||||||
|
|
||||||
local SPELL_POWER_MANA = SPELL_POWER_MANA
|
local SPELL_POWER_MANA = SPELL_POWER_MANA
|
||||||
local SPELL_POWER_INSANITY = SPELL_POWER_INSANITY
|
local SPELL_POWER_INSANITY = SPELL_POWER_INSANITY
|
||||||
if IceHUD.WowVer >= 80000 or IceHUD.WowClassic then
|
if Enum and Enum.PowerType then
|
||||||
SPELL_POWER_MANA = Enum.PowerType.Mana
|
SPELL_POWER_MANA = Enum.PowerType.Mana
|
||||||
SPELL_POWER_INSANITY = Enum.PowerType.Insanity
|
SPELL_POWER_INSANITY = Enum.PowerType.Insanity
|
||||||
end
|
end
|
||||||
|
@ -81,7 +81,7 @@ function PlayerHealth.prototype:Enable(core)
|
|||||||
self:RegisterEvent("PLAYER_REGEN_DISABLED", "CheckCombat")
|
self:RegisterEvent("PLAYER_REGEN_DISABLED", "CheckCombat")
|
||||||
|
|
||||||
self:RegisterEvent("PARTY_LEADER_CHANGED", "CheckLeader")
|
self:RegisterEvent("PARTY_LEADER_CHANGED", "CheckLeader")
|
||||||
if IceHUD.WowVer >= 50000 or IceHUD.WowClassic then
|
if IceHUD.EventExistsGroupRosterUpdate then
|
||||||
self:RegisterEvent("GROUP_ROSTER_UPDATE", "CheckLeader")
|
self:RegisterEvent("GROUP_ROSTER_UPDATE", "CheckLeader")
|
||||||
else
|
else
|
||||||
self:RegisterEvent("PARTY_MEMBERS_CHANGED", "CheckLeader")
|
self:RegisterEvent("PARTY_MEMBERS_CHANGED", "CheckLeader")
|
||||||
@ -1407,15 +1407,18 @@ end
|
|||||||
|
|
||||||
|
|
||||||
function PlayerHealth.prototype:ShowBlizz()
|
function PlayerHealth.prototype:ShowBlizz()
|
||||||
PlayerFrame:Show()
|
PlayerFrame:SetParent(self.OriginalPlayerFrameParent or UIParent)
|
||||||
PlayerFrame:GetScript("OnLoad")(PlayerFrame)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
function PlayerHealth.prototype:HideBlizz()
|
function PlayerHealth.prototype:HideBlizz()
|
||||||
PlayerFrame:Hide()
|
if not self.PlayerFrameParent then
|
||||||
|
self.PlayerFrameParent = CreateFrame("Frame")
|
||||||
|
self.PlayerFrameParent:Hide()
|
||||||
|
end
|
||||||
|
|
||||||
PlayerFrame:UnregisterAllEvents()
|
self.OriginalPlayerFrameParent = PlayerFrame:GetParent()
|
||||||
|
PlayerFrame:SetParent(self.PlayerFrameParent)
|
||||||
end
|
end
|
||||||
|
|
||||||
function PlayerHealth.prototype:HideBlizzardParty()
|
function PlayerHealth.prototype:HideBlizzardParty()
|
||||||
|
@ -13,7 +13,7 @@ local SPELL_POWER_FURY = SPELL_POWER_FURY
|
|||||||
local SPELL_POWER_MAELSTROM = SPELL_POWER_MAELSTROM
|
local SPELL_POWER_MAELSTROM = SPELL_POWER_MAELSTROM
|
||||||
local SPELL_POWER_PAIN = SPELL_POWER_PAIN
|
local SPELL_POWER_PAIN = SPELL_POWER_PAIN
|
||||||
local SPELL_POWER_LUNAR_POWER = SPELL_POWER_LUNAR_POWER
|
local SPELL_POWER_LUNAR_POWER = SPELL_POWER_LUNAR_POWER
|
||||||
if IceHUD.WowVer >= 80000 or IceHUD.WowClassic then
|
if Enum and Enum.PowerType then
|
||||||
SPELL_POWER_MANA = Enum.PowerType.Mana
|
SPELL_POWER_MANA = Enum.PowerType.Mana
|
||||||
SPELL_POWER_RAGE = Enum.PowerType.Rage
|
SPELL_POWER_RAGE = Enum.PowerType.Rage
|
||||||
SPELL_POWER_FOCUS = Enum.PowerType.Focus
|
SPELL_POWER_FOCUS = Enum.PowerType.Focus
|
||||||
@ -153,9 +153,9 @@ function PlayerMana.prototype:Enable(core)
|
|||||||
|
|
||||||
self:CreateTickerFrame()
|
self:CreateTickerFrame()
|
||||||
|
|
||||||
if IceHUD.WowVer >= 40000 or IceHUD.WowClassic then
|
if not IceHUD.PerPowerEventsExist then
|
||||||
self:RegisterEvent(IceHUD.UnitPowerEvent, "UpdateEvent")
|
self:RegisterEvent(IceHUD.UnitPowerEvent, "UpdateEvent")
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.EventExistsUnitMaxPower then
|
||||||
self:RegisterEvent("UNIT_MAXPOWER", "UpdateEvent")
|
self:RegisterEvent("UNIT_MAXPOWER", "UpdateEvent")
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
@ -280,7 +280,7 @@ function PlayerMana.prototype:ManaType(event, unit)
|
|||||||
|
|
||||||
if self:ShouldUseTicker() then
|
if self:ShouldUseTicker() then
|
||||||
-- register ticker for rogue energy
|
-- register ticker for rogue energy
|
||||||
if (self.moduleSettings.tickerEnabled and (self.manaType == SPELL_POWER_ENERGY) and self.alive) then
|
if self.moduleSettings.tickerEnabled and self.manaType == SPELL_POWER_ENERGY then
|
||||||
self.tickerFrame:Show()
|
self.tickerFrame:Show()
|
||||||
self.tickerFrame:SetScript("OnUpdate", function() self:EnergyTick() end)
|
self.tickerFrame:SetScript("OnUpdate", function() self:EnergyTick() end)
|
||||||
else
|
else
|
||||||
@ -387,7 +387,7 @@ function PlayerMana.prototype:Update(unit, powertype)
|
|||||||
if not IceHUD.IceCore:ShouldUseDogTags() then
|
if not IceHUD.IceCore:ShouldUseDogTags() then
|
||||||
-- extra hack for whiny rogues (are there other kind?)
|
-- extra hack for whiny rogues (are there other kind?)
|
||||||
local displayPercentage = self.manaPercentage
|
local displayPercentage = self.manaPercentage
|
||||||
if self.manaType == SPELL_POWER_ENERGY or self.manaType == SPELL_POWER_FOCUS then
|
if self.manaType == SPELL_POWER_ENERGY or self.manaType == SPELL_POWER_FOCUS or self.manaType == SPELL_POWER_FURY then
|
||||||
displayPercentage = self.mana
|
displayPercentage = self.mana
|
||||||
else
|
else
|
||||||
displayPercentage = math.floor(displayPercentage * 100)
|
displayPercentage = math.floor(displayPercentage * 100)
|
||||||
@ -438,7 +438,7 @@ function PlayerMana.prototype:EnergyTick()
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
if not (self.tickStart) then
|
if not self.tickStart or not self.alive then
|
||||||
self.tickerFrame:Hide()
|
self.tickerFrame:Hide()
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
@ -56,7 +56,7 @@ do
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
self.current = select((IceHUD.WowVer < 80000 and not IceHUD.WowClassic) and 15 or 14, UnitAura(self.unit, spellName)) or 0
|
self.current = select(IceHUD.SpellFunctionsReturnRank and 15 or 14, UnitAura(self.unit, spellName)) or 0
|
||||||
|
|
||||||
self:Update()
|
self:Update()
|
||||||
end
|
end
|
||||||
|
@ -22,7 +22,7 @@ for _, v in ipairs(RtBBuffs) do
|
|||||||
end
|
end
|
||||||
|
|
||||||
local SPELL_POWER_COMBO_POINTS = SPELL_POWER_COMBO_POINTS
|
local SPELL_POWER_COMBO_POINTS = SPELL_POWER_COMBO_POINTS
|
||||||
if IceHUD.WowVer >= 80000 or IceHUD.WowClassic then
|
if Enum and Enum.PowerType then
|
||||||
SPELL_POWER_COMBO_POINTS = Enum.PowerType.ComboPoints
|
SPELL_POWER_COMBO_POINTS = Enum.PowerType.ComboPoints
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ Runes.prototype.numRunes = 6
|
|||||||
Runes.prototype.lastRuneState = {}
|
Runes.prototype.lastRuneState = {}
|
||||||
|
|
||||||
local SPELL_POWER_RUNES = SPELL_POWER_RUNES
|
local SPELL_POWER_RUNES = SPELL_POWER_RUNES
|
||||||
if IceHUD.WowVer >= 80000 or IceHUD.WowClassic then
|
if Enum and Enum.PowerType then
|
||||||
SPELL_POWER_RUNES = Enum.PowerType.Runes
|
SPELL_POWER_RUNES = Enum.PowerType.Runes
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ local DemonologyCoords =
|
|||||||
}
|
}
|
||||||
|
|
||||||
local SPELL_POWER_SOUL_SHARDS = SPELL_POWER_SOUL_SHARDS
|
local SPELL_POWER_SOUL_SHARDS = SPELL_POWER_SOUL_SHARDS
|
||||||
if IceHUD.WowVer >= 80000 or IceHUD.WowClassic then
|
if Enum and Enum.PowerType then
|
||||||
SPELL_POWER_SOUL_SHARDS = Enum.PowerType.SoulShards
|
SPELL_POWER_SOUL_SHARDS = Enum.PowerType.SoulShards
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -25,6 +25,11 @@ local sixComboPointsTalentID = 19240
|
|||||||
local CurrMaxSnDDuration = 0
|
local CurrMaxSnDDuration = 0
|
||||||
local PotentialSnDDuration = 0
|
local PotentialSnDDuration = 0
|
||||||
|
|
||||||
|
local sndBuffName = 132306
|
||||||
|
if IceHUD.WowMain and IceHUD.WowVer < 80000 then
|
||||||
|
sndBuffName = "Ability_Rogue_SliceDice"
|
||||||
|
end
|
||||||
|
|
||||||
if IceHUD.WowVer >= 50000 then
|
if IceHUD.WowVer >= 50000 then
|
||||||
baseTime = 12
|
baseTime = 12
|
||||||
gapPerComboPoint = 6
|
gapPerComboPoint = 6
|
||||||
@ -33,10 +38,14 @@ if IceHUD.WowClassic then
|
|||||||
impSndBonusPerRank = 0.15
|
impSndBonusPerRank = 0.15
|
||||||
impSndTalentPage = 1
|
impSndTalentPage = 1
|
||||||
impSndTalentIdx = 6
|
impSndTalentIdx = 6
|
||||||
|
elseif IceHUD.WowClassicBC then
|
||||||
|
impSndBonusPerRank = 0.15
|
||||||
|
impSndTalentPage = 2
|
||||||
|
impSndTalentIdx = 4
|
||||||
end
|
end
|
||||||
|
|
||||||
local SPELL_POWER_COMBO_POINTS = SPELL_POWER_COMBO_POINTS
|
local SPELL_POWER_COMBO_POINTS = SPELL_POWER_COMBO_POINTS
|
||||||
if IceHUD.WowVer >= 80000 then
|
if Enum and Enum.PowerType then
|
||||||
SPELL_POWER_COMBO_POINTS = Enum.PowerType.ComboPoints
|
SPELL_POWER_COMBO_POINTS = Enum.PowerType.ComboPoints
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -61,7 +70,7 @@ function SliceAndDice.prototype:Enable(core)
|
|||||||
SliceAndDice.super.prototype.Enable(self, core)
|
SliceAndDice.super.prototype.Enable(self, core)
|
||||||
|
|
||||||
self:RegisterEvent("UNIT_AURA", "UpdateSliceAndDice")
|
self:RegisterEvent("UNIT_AURA", "UpdateSliceAndDice")
|
||||||
if IceHUD.WowVer < 70000 and not IceHUD.WowClassic then
|
if IceHUD.EventExistsUnitComboPoints then
|
||||||
self:RegisterEvent("UNIT_COMBO_POINTS", "ComboPointsChanged")
|
self:RegisterEvent("UNIT_COMBO_POINTS", "ComboPointsChanged")
|
||||||
else
|
else
|
||||||
self:RegisterEvent(IceHUD.UnitPowerEvent, "ComboPointsChanged")
|
self:RegisterEvent(IceHUD.UnitPowerEvent, "ComboPointsChanged")
|
||||||
@ -227,7 +236,7 @@ end
|
|||||||
function SliceAndDice.prototype:GetBuffDuration(unitName, buffName)
|
function SliceAndDice.prototype:GetBuffDuration(unitName, buffName)
|
||||||
local i = 1
|
local i = 1
|
||||||
local buff, _, texture, duration, endTime, remaining
|
local buff, _, texture, duration, endTime, remaining
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.SpellFunctionsReturnRank then
|
||||||
buff, _, texture, _, _, duration, endTime = UnitBuff(unitName, i)
|
buff, _, texture, _, _, duration, endTime = UnitBuff(unitName, i)
|
||||||
else
|
else
|
||||||
buff, texture, _, _, duration, endTime = UnitBuff(unitName, i)
|
buff, texture, _, _, duration, endTime = UnitBuff(unitName, i)
|
||||||
@ -243,7 +252,7 @@ function SliceAndDice.prototype:GetBuffDuration(unitName, buffName)
|
|||||||
|
|
||||||
i = i + 1;
|
i = i + 1;
|
||||||
|
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.SpellFunctionsReturnRank then
|
||||||
buff, _, texture, _, _, duration, endTime = UnitBuff(unitName, i)
|
buff, _, texture, _, _, duration, endTime = UnitBuff(unitName, i)
|
||||||
else
|
else
|
||||||
buff, texture, _, _, duration, endTime = UnitBuff(unitName, i)
|
buff, texture, _, _, duration, endTime = UnitBuff(unitName, i)
|
||||||
@ -264,10 +273,10 @@ function SliceAndDice.prototype:MyOnUpdate()
|
|||||||
end
|
end
|
||||||
|
|
||||||
local function SNDGetComboPoints(unit)
|
local function SNDGetComboPoints(unit)
|
||||||
if IceHUD.WowVer >= 60000 or IceHUD.WowClassic then
|
if IceHUD.PerTargetComboPoints then
|
||||||
return UnitPower(unit, SPELL_POWER_COMBO_POINTS)
|
|
||||||
elseif IceHUD.WowVer >= 30000 then
|
|
||||||
return GetComboPoints(unit, "target")
|
return GetComboPoints(unit, "target")
|
||||||
|
elseif IceHUD.WowVer >= 60000 then
|
||||||
|
return UnitPower(unit, SPELL_POWER_COMBO_POINTS)
|
||||||
else
|
else
|
||||||
return GetComboPoints()
|
return GetComboPoints()
|
||||||
end
|
end
|
||||||
@ -281,7 +290,7 @@ local function HasSpell(id)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local function ShouldHide()
|
local function ShouldHide()
|
||||||
if IceHUD.WowVer >= 90000 then
|
if IceHUD.WowVer >= 90000 or IceHUD.WowClassicBC then
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -300,7 +309,7 @@ function SliceAndDice.prototype:UpdateSliceAndDice(event, unit, fromUpdate)
|
|||||||
local remaining = nil
|
local remaining = nil
|
||||||
|
|
||||||
if not fromUpdate or IceHUD.WowVer < 30000 then
|
if not fromUpdate or IceHUD.WowVer < 30000 then
|
||||||
sndDuration, remaining = self:GetBuffDuration(self.unit, (IceHUD.WowVer < 80000 and not IceHUD.WowClassic) and "Ability_Rogue_SliceDice" or 132306)
|
sndDuration, remaining = self:GetBuffDuration(self.unit, sndBuffName)
|
||||||
|
|
||||||
if not remaining then
|
if not remaining then
|
||||||
sndEndTime = 0
|
sndEndTime = 0
|
||||||
|
@ -190,8 +190,8 @@ function StaggerBar.prototype:GetDebuffInfo()
|
|||||||
if debuffID == LightID or debuffID == ModerateID or debuffID == HeavyID then
|
if debuffID == LightID or debuffID == ModerateID or debuffID == HeavyID then
|
||||||
local spellName = UnitDebuff(self.unit, i)
|
local spellName = UnitDebuff(self.unit, i)
|
||||||
|
|
||||||
duration = select((IceHUD.WowVer < 80000 and not IceHUD.WowClassic) and 6 or 5, UnitAura(self.unit, spellName, "", "HARMFUL"))
|
duration = select(IceHUD.SpellFunctionsReturnRank and 6 or 5, UnitAura(self.unit, spellName, "", "HARMFUL"))
|
||||||
amount = select((IceHUD.WowVer < 80000 and not IceHUD.WowClassic) and 15 or 14, UnitAura(self.unit, spellName, "", "HARMFUL"))
|
amount = select(IceHUD.SpellFunctionsReturnRank and 15 or 14, UnitAura(self.unit, spellName, "", "HARMFUL"))
|
||||||
staggerLevel = (debuffID == LightID) and 1 or (debuffID == ModerateID) and 2 or 3
|
staggerLevel = (debuffID == LightID) and 1 or (debuffID == ModerateID) and 2 or 3
|
||||||
|
|
||||||
break
|
break
|
||||||
|
@ -113,6 +113,8 @@ local IncapacitateCCList = {
|
|||||||
local FearCCList = {
|
local FearCCList = {
|
||||||
-- Psychic Scream
|
-- Psychic Scream
|
||||||
8122,
|
8122,
|
||||||
|
-- Fear (Retail)
|
||||||
|
118699,
|
||||||
-- Fear
|
-- Fear
|
||||||
5782,
|
5782,
|
||||||
-- Howl of Terror
|
-- Howl of Terror
|
||||||
@ -336,7 +338,7 @@ end
|
|||||||
function TargetCC.prototype:GetMaxDebuffDuration(unitName, debuffNames)
|
function TargetCC.prototype:GetMaxDebuffDuration(unitName, debuffNames)
|
||||||
local i = 1
|
local i = 1
|
||||||
local debuff, rank, texture, count, debuffType, duration, endTime, unitCaster, _, _, spellId
|
local debuff, rank, texture, count, debuffType, duration, endTime, unitCaster, _, _, spellId
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.SpellFunctionsReturnRank then
|
||||||
debuff, rank, texture, count, debuffType, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, "HARMFUL")
|
debuff, rank, texture, count, debuffType, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, "HARMFUL")
|
||||||
else
|
else
|
||||||
debuff, texture, count, debuffType, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, "HARMFUL")
|
debuff, texture, count, debuffType, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, "HARMFUL")
|
||||||
@ -360,7 +362,7 @@ function TargetCC.prototype:GetMaxDebuffDuration(unitName, debuffNames)
|
|||||||
|
|
||||||
i = i + 1;
|
i = i + 1;
|
||||||
|
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.SpellFunctionsReturnRank then
|
||||||
debuff, rank, texture, count, debuffType, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, "HARMFUL")
|
debuff, rank, texture, count, debuffType, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, "HARMFUL")
|
||||||
else
|
else
|
||||||
debuff, texture, count, debuffType, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, "HARMFUL")
|
debuff, texture, count, debuffType, duration, endTime, unitCaster, _, _, spellId = UnitAura(unitName, i, "HARMFUL")
|
||||||
|
@ -91,7 +91,7 @@ function TargetCast.prototype:TargetChanged(unit)
|
|||||||
|
|
||||||
if UnitCastingInfo then
|
if UnitCastingInfo then
|
||||||
local spell = UnitCastingInfo(self.unit)
|
local spell = UnitCastingInfo(self.unit)
|
||||||
local notInterruptible = select((IceHUD.WowVer < 80000 and not IceHUD.WowClassic) and 9 or 8, UnitCastingInfo(self.unit))
|
local notInterruptible = select(IceHUD.SpellFunctionsReturnRank and 9 or 8, UnitCastingInfo(self.unit))
|
||||||
if spell then
|
if spell then
|
||||||
self.notInterruptible = notInterruptibleCast
|
self.notInterruptible = notInterruptibleCast
|
||||||
self:StartBar(IceCastBar.Actions.Cast)
|
self:StartBar(IceCastBar.Actions.Cast)
|
||||||
@ -101,7 +101,7 @@ function TargetCast.prototype:TargetChanged(unit)
|
|||||||
|
|
||||||
if UnitChannelInfo then
|
if UnitChannelInfo then
|
||||||
local channel = UnitChannelInfo(self.unit)
|
local channel = UnitChannelInfo(self.unit)
|
||||||
notInterruptible = select((IceHUD.WowVer < 80000 and not IceHUD.WowClassic) and 8 or 7, UnitChannelInfo(self.unit))
|
notInterruptible = select(IceHUD.SpellFunctionsReturnRank and 8 or 7, UnitChannelInfo(self.unit))
|
||||||
if channel then
|
if channel then
|
||||||
self.notInterruptible = notInterruptibleChannel
|
self.notInterruptible = notInterruptibleChannel
|
||||||
self:StartBar(IceCastBar.Actions.Channel)
|
self:StartBar(IceCastBar.Actions.Channel)
|
||||||
|
@ -1057,20 +1057,25 @@ end
|
|||||||
|
|
||||||
|
|
||||||
function IceTargetHealth.prototype:ShowBlizz()
|
function IceTargetHealth.prototype:ShowBlizz()
|
||||||
TargetFrame:Show()
|
TargetFrame:SetParent(self.OriginalTargetFrameParent or UIParent)
|
||||||
TargetFrame:GetScript("OnLoad")(TargetFrame)
|
ComboFrame:SetParent(self.OriginalComboFrameParent or UIParent)
|
||||||
|
|
||||||
ComboFrame:Show()
|
|
||||||
ComboFrame:GetScript("OnLoad")(ComboFrame)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
function IceTargetHealth.prototype:HideBlizz()
|
function IceTargetHealth.prototype:HideBlizz()
|
||||||
TargetFrame:Hide()
|
if not self.TargetFrameParent then
|
||||||
TargetFrame:UnregisterAllEvents()
|
self.TargetFrameParent = CreateFrame("Frame")
|
||||||
|
self.TargetFrameParent:Hide()
|
||||||
|
end
|
||||||
|
if not self.ComboFrameParent then
|
||||||
|
self.ComboFrameParent = CreateFrame("Frame")
|
||||||
|
self.ComboFrameParent:Hide()
|
||||||
|
end
|
||||||
|
|
||||||
ComboFrame:Hide()
|
self.OriginalTargetFrameParent = TargetFrame:GetParent()
|
||||||
ComboFrame:UnregisterAllEvents()
|
TargetFrame:SetParent(self.TargetFrameParent)
|
||||||
|
self.OriginalComboFrameParent = ComboFrame:GetParent()
|
||||||
|
ComboFrame:SetParent(self.ComboFrameParent)
|
||||||
end
|
end
|
||||||
|
|
||||||
function IceTargetHealth.prototype:UpdateBar(scale, color, alpha)
|
function IceTargetHealth.prototype:UpdateBar(scale, color, alpha)
|
||||||
|
@ -133,7 +133,7 @@ function IceTargetInfo.prototype:Enable(core)
|
|||||||
self:RegisterEvent("UNIT_LEVEL", "TargetLevel")
|
self:RegisterEvent("UNIT_LEVEL", "TargetLevel")
|
||||||
|
|
||||||
self:RegisterEvent("UNIT_FLAGS", "TargetFlags")
|
self:RegisterEvent("UNIT_FLAGS", "TargetFlags")
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.EventExistsUnitDynamicFlags then
|
||||||
self:RegisterEvent("UNIT_DYNAMIC_FLAGS", "TargetFlags")
|
self:RegisterEvent("UNIT_DYNAMIC_FLAGS", "TargetFlags")
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -1419,7 +1419,7 @@ function IceTargetInfo.prototype:UpdateBuffType(aura)
|
|||||||
local spellID
|
local spellID
|
||||||
---- end change by Fulzamoth
|
---- end change by Fulzamoth
|
||||||
|
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.SpellFunctionsReturnRank then
|
||||||
name, rank, icon, count, debuffType, duration, expirationTime, unitCaster, isStealable = UnitAura(self.unit, i, reaction .. (filter and "|PLAYER" or ""))
|
name, rank, icon, count, debuffType, duration, expirationTime, unitCaster, isStealable = UnitAura(self.unit, i, reaction .. (filter and "|PLAYER" or ""))
|
||||||
else
|
else
|
||||||
---- Fulzamoth - 2019-09-04 : support for cooldowns on target buffs/debuffs (classic)
|
---- Fulzamoth - 2019-09-04 : support for cooldowns on target buffs/debuffs (classic)
|
||||||
|
@ -147,7 +147,7 @@ end
|
|||||||
function TargetInvuln.prototype:GetMaxbuffDuration(unitName, buffNames)
|
function TargetInvuln.prototype:GetMaxbuffDuration(unitName, buffNames)
|
||||||
local i = 1
|
local i = 1
|
||||||
local buff, rank, texture, count, buffType, duration, endTime, unitCaster
|
local buff, rank, texture, count, buffType, duration, endTime, unitCaster
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.SpellFunctionsReturnRank then
|
||||||
buff, rank, texture, count, buffType, duration, endTime, unitCaster = UnitAura(unitName, i, "HELPFUL")
|
buff, rank, texture, count, buffType, duration, endTime, unitCaster = UnitAura(unitName, i, "HELPFUL")
|
||||||
else
|
else
|
||||||
buff, texture, count, buffType, duration, endTime, unitCaster = UnitAura(unitName, i, "HELPFUL")
|
buff, texture, count, buffType, duration, endTime, unitCaster = UnitAura(unitName, i, "HELPFUL")
|
||||||
@ -178,7 +178,7 @@ function TargetInvuln.prototype:GetMaxbuffDuration(unitName, buffNames)
|
|||||||
|
|
||||||
i = i + 1;
|
i = i + 1;
|
||||||
|
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.SpellFunctionsReturnRank then
|
||||||
buff, rank, texture, count, buffType, duration, endTime, unitCaster = UnitAura(unitName, i, "HELPFUL")
|
buff, rank, texture, count, buffType, duration, endTime, unitCaster = UnitAura(unitName, i, "HELPFUL")
|
||||||
else
|
else
|
||||||
buff, texture, count, buffType, duration, endTime, unitCaster = UnitAura(unitName, i, "HELPFUL")
|
buff, texture, count, buffType, duration, endTime, unitCaster = UnitAura(unitName, i, "HELPFUL")
|
||||||
|
@ -14,7 +14,7 @@ local SPELL_POWER_FURY = SPELL_POWER_FURY
|
|||||||
local SPELL_POWER_MAELSTROM = SPELL_POWER_MAELSTROM
|
local SPELL_POWER_MAELSTROM = SPELL_POWER_MAELSTROM
|
||||||
local SPELL_POWER_PAIN = SPELL_POWER_PAIN
|
local SPELL_POWER_PAIN = SPELL_POWER_PAIN
|
||||||
local SPELL_POWER_LUNAR_POWER = SPELL_POWER_LUNAR_POWER
|
local SPELL_POWER_LUNAR_POWER = SPELL_POWER_LUNAR_POWER
|
||||||
if IceHUD.WowVer >= 80000 or IceHUD.WowClassic then
|
if Enum and Enum.PowerType then
|
||||||
SPELL_POWER_MANA = Enum.PowerType.Mana
|
SPELL_POWER_MANA = Enum.PowerType.Mana
|
||||||
SPELL_POWER_RAGE = Enum.PowerType.Rage
|
SPELL_POWER_RAGE = Enum.PowerType.Rage
|
||||||
SPELL_POWER_FOCUS = Enum.PowerType.Focus
|
SPELL_POWER_FOCUS = Enum.PowerType.Focus
|
||||||
@ -66,9 +66,9 @@ function IceTargetMana.prototype:Enable(core)
|
|||||||
IceTargetMana.super.prototype.Enable(self, core)
|
IceTargetMana.super.prototype.Enable(self, core)
|
||||||
|
|
||||||
if self.registerEvents then
|
if self.registerEvents then
|
||||||
if IceHUD.WowVer >= 40000 or IceHUD.WowClassic then
|
if not IceHUD.PerPowerEventsExist then
|
||||||
self:RegisterEvent(IceHUD.UnitPowerEvent, "UpdateEvent")
|
self:RegisterEvent(IceHUD.UnitPowerEvent, "UpdateEvent")
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.EventExistsUnitMaxPower then
|
||||||
self:RegisterEvent("UNIT_MAXPOWER", "UpdateEvent")
|
self:RegisterEvent("UNIT_MAXPOWER", "UpdateEvent")
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
@ -486,7 +486,7 @@ function TargetOfTarget.prototype:UpdateBuffs()
|
|||||||
if (self.moduleSettings.showDebuffs) then
|
if (self.moduleSettings.showDebuffs) then
|
||||||
for i = 1, IceCore.BuffLimit do
|
for i = 1, IceCore.BuffLimit do
|
||||||
local buffName, buffRank, buffTexture, buffApplications
|
local buffName, buffRank, buffTexture, buffApplications
|
||||||
if IceHUD.WowVer < 80000 and not IceHUD.WowClassic then
|
if IceHUD.SpellFunctionsReturnRank then
|
||||||
buffName, buffRank, buffTexture, buffApplications = UnitDebuff(self.unit, i)
|
buffName, buffRank, buffTexture, buffApplications = UnitDebuff(self.unit, i)
|
||||||
else
|
else
|
||||||
buffName, buffTexture, buffApplications = UnitDebuff(self.unit, i)
|
buffName, buffTexture, buffApplications = UnitDebuff(self.unit, i)
|
||||||
|
@ -16,7 +16,7 @@ IceThreat.prototype.scheduledEvent = nil
|
|||||||
|
|
||||||
local GetNumPartyMembers, GetNumRaidMembers = GetNumPartyMembers, GetNumRaidMembers
|
local GetNumPartyMembers, GetNumRaidMembers = GetNumPartyMembers, GetNumRaidMembers
|
||||||
local MAX_NUM_RAID_MEMBERS, MAX_NUM_PARTY_MEMBERS = MAX_NUM_RAID_MEMBERS, MAX_NUM_PARTY_MEMBERS
|
local MAX_NUM_RAID_MEMBERS, MAX_NUM_PARTY_MEMBERS = MAX_NUM_RAID_MEMBERS, MAX_NUM_PARTY_MEMBERS
|
||||||
if IceHUD.WowVer >= 50000 or IceHUD.WowClassic then
|
if not GetNumPartyMembers then
|
||||||
GetNumPartyMembers = GetNumGroupMembers
|
GetNumPartyMembers = GetNumGroupMembers
|
||||||
GetNumRaidMembers = GetNumGroupMembers
|
GetNumRaidMembers = GetNumGroupMembers
|
||||||
MAX_NUM_PARTY_MEMBERS = MAX_PARTY_MEMBERS
|
MAX_NUM_PARTY_MEMBERS = MAX_PARTY_MEMBERS
|
||||||
|
@ -245,7 +245,7 @@ function Totems.prototype:UpdateTotem(event, totem, ...)
|
|||||||
if not totem or tonumber(totem) ~= totem or totem < 1 or totem > self.numTotems or not GetTotemInfo then
|
if not totem or tonumber(totem) ~= totem or totem < 1 or totem > self.numTotems or not GetTotemInfo then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local thisTotemName = self.totemNames[TOTEM_PRIORITIES[totem]]
|
|
||||||
local haveTotem, name, startTime, duration, icon = GetTotemInfo(totem);
|
local haveTotem, name, startTime, duration, icon = GetTotemInfo(totem);
|
||||||
if duration > 0 then
|
if duration > 0 then
|
||||||
self.frame.graphical[totem].totem:SetTexture(icon)
|
self.frame.graphical[totem].totem:SetTexture(icon)
|
||||||
@ -287,10 +287,9 @@ function Totems.prototype:CreateTotemFrame()
|
|||||||
self.frame.graphical = {}
|
self.frame.graphical = {}
|
||||||
end
|
end
|
||||||
|
|
||||||
local totemType
|
|
||||||
for i=1, self.numTotems do
|
for i=1, self.numTotems do
|
||||||
slot = TOTEM_PRIORITIES[i]
|
local slot = TOTEM_PRIORITIES[i]
|
||||||
self:CreateTotem(slot, self.totemNames[slot])
|
self:CreateTotem(slot, self.totemNames[slot])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -340,7 +339,6 @@ function Totems.prototype:CreateTotem(i, name)
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
local haveTotem, name, startTime, duration, icon = GetTotemInfo(i)
|
local haveTotem, name, startTime, duration, icon = GetTotemInfo(i)
|
||||||
local bWasNewFrame = false
|
|
||||||
if (not self.frame.graphical[i]) then
|
if (not self.frame.graphical[i]) then
|
||||||
self.frame.graphical[i] = CreateFrame("Frame", nil, self.frame)
|
self.frame.graphical[i] = CreateFrame("Frame", nil, self.frame)
|
||||||
self.frame.graphical[i].totem = self.frame.graphical[i]:CreateTexture(nil, "LOW")
|
self.frame.graphical[i].totem = self.frame.graphical[i]:CreateTexture(nil, "LOW")
|
||||||
@ -349,7 +347,6 @@ function Totems.prototype:CreateTotem(i, name)
|
|||||||
|
|
||||||
self.frame.graphical[i].totem:SetTexture(icon)
|
self.frame.graphical[i].totem:SetTexture(icon)
|
||||||
self.frame.graphical[i].totem:SetAllPoints(self.frame.graphical[i])
|
self.frame.graphical[i].totem:SetAllPoints(self.frame.graphical[i])
|
||||||
bWasNewFrame = true
|
|
||||||
end
|
end
|
||||||
|
|
||||||
self.frame.graphical[i]:SetFrameStrata("BACKGROUND")
|
self.frame.graphical[i]:SetFrameStrata("BACKGROUND")
|
||||||
@ -376,9 +373,9 @@ function Totems.prototype:CreateTotem(i, name)
|
|||||||
self.graphicalOnLeave = function() GameTooltip:Hide() end
|
self.graphicalOnLeave = function() GameTooltip:Hide() end
|
||||||
end
|
end
|
||||||
if not self.graphicalOnMouseUp then
|
if not self.graphicalOnMouseUp then
|
||||||
self.graphicalOnMouseUp = function (self, mouseButton)
|
self.graphicalOnMouseUp = function (button, mouseButton)
|
||||||
if mouseButton == "RightButton" then
|
if mouseButton == "RightButton" then
|
||||||
DestroyTotem(self.slot)
|
DestroyTotem(button.slot)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -406,22 +403,23 @@ function Totems.prototype:CreateTotem(i, name)
|
|||||||
self.frame.graphical[i]:EnableMouse(true)
|
self.frame.graphical[i]:EnableMouse(true)
|
||||||
self.frame.graphical[i]:SetScript("OnEnter", self.graphicalOnEnter)
|
self.frame.graphical[i]:SetScript("OnEnter", self.graphicalOnEnter)
|
||||||
self.frame.graphical[i]:SetScript("OnLeave", self.graphicalOnLeave)
|
self.frame.graphical[i]:SetScript("OnLeave", self.graphicalOnLeave)
|
||||||
|
if IceHUD.CanHookDestroyTotem then
|
||||||
|
self.frame.graphical[i]:SetScript("OnMouseUp", self.graphicalOnMouseUp)
|
||||||
|
end
|
||||||
else
|
else
|
||||||
self.frame.graphical[i]:EnableMouse(false)
|
self.frame.graphical[i]:EnableMouse(false)
|
||||||
self.frame.graphical[i]:SetScript("OnEnter", nil)
|
self.frame.graphical[i]:SetScript("OnEnter", nil)
|
||||||
self.frame.graphical[i]:SetScript("OnLeave", nil)
|
self.frame.graphical[i]:SetScript("OnLeave", nil)
|
||||||
|
if IceHUD.CanHookDestroyTotem then
|
||||||
|
self.frame.graphical[i]:SetScript("OnMouseUp", nil)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
self.frame.graphical[i].slot = i
|
self.frame.graphical[i].slot = i
|
||||||
self.frame.graphical[i].name = name
|
self.frame.graphical[i].name = name
|
||||||
|
|
||||||
-- it looks like HookScript will continue to add handlers every time instead of replacing them like SetScript
|
|
||||||
if (bWasNewFrame) then
|
|
||||||
--self.frame.graphical[i]:HookScript("OnMouseUp", self.graphicalOnMouseUp)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Load us up
|
-- Load us up
|
||||||
local _, unitClass = UnitClass("player")
|
local _, unitClass = UnitClass("player")
|
||||||
if (unitClass == "SHAMAN") or (unitClass == "DRUID") then
|
if IceHUD.WowVer >= 90000 or (unitClass == "SHAMAN") or (unitClass == "DRUID") then
|
||||||
IceHUD.Totems = Totems:new()
|
IceHUD.Totems = Totems:new()
|
||||||
end
|
end
|
||||||
|
Before Width: | Height: | Size: 256 KiB After Width: | Height: | Size: 118 KiB |
Before Width: | Height: | Size: 256 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 256 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 256 KiB After Width: | Height: | Size: 37 KiB |
@ -1,6 +1,7 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
vNext:
|
v1.13.12:
|
||||||
|
|
||||||
- Added support for Anima-charged combo points for Kyrian covenant (ticket #291).
|
- Hide IceHUD during Zereth Mortis puzzles
|
||||||
- Updated TOC for 9.0.2
|
- Fixed default player and target frames coming back sometimes (github issue #19)
|
||||||
|
- Updated TOC for 9.2.0 and 1.14.2
|
||||||
|