mirror of
https://github.com/parnic/ice-hud.git
synced 2025-06-16 22:51:53 -05:00
Compare commits
11 Commits
Author | SHA1 | Date | |
---|---|---|---|
b65909c570
|
|||
b33a82622f
|
|||
96a8fb2c3d
|
|||
6c623d6965
|
|||
d31872512e
|
|||
d424afdab1
|
|||
9500bdf393
|
|||
6325ed1ade
|
|||
a4c44a5809
|
|||
82db70969a
|
|||
47931922bd
|
5
.github/workflows/release.yml
vendored
5
.github/workflows/release.yml
vendored
@ -48,3 +48,8 @@ jobs:
|
|||||||
uses: BigWigsMods/packager@master
|
uses: BigWigsMods/packager@master
|
||||||
with:
|
with:
|
||||||
args: -g bcc -w 0
|
args: -g bcc -w 0
|
||||||
|
|
||||||
|
- name: Package and release for Wrath
|
||||||
|
uses: BigWigsMods/packager@master
|
||||||
|
with:
|
||||||
|
args: -g wrath -w 0
|
||||||
|
187
IceHUD.lua
187
IceHUD.lua
@ -19,24 +19,36 @@ 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.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
|
IceHUD.WowClassicBC = false
|
||||||
|
IceHUD.WowClassicWrath = false
|
||||||
|
if WOW_PROJECT_ID and WOW_PROJECT_ID == WOW_PROJECT_BURNING_CRUSADE_CLASSIC then
|
||||||
|
if not LE_EXPANSION_LEVEL_CURRENT or LE_EXPANSION_LEVEL_CURRENT == LE_EXPANSION_BURNING_CRUSADE then
|
||||||
|
IceHUD.WowClassicBC = true
|
||||||
|
elseif LE_EXPANSION_LEVEL_CURRENT == LE_EXPANSION_WRATH_OF_THE_LICH_KING then
|
||||||
|
IceHUD.WowClassicWrath = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- compatibility/feature flags
|
-- compatibility/feature flags
|
||||||
IceHUD.SpellFunctionsReturnRank = IceHUD.WowMain and IceHUD.WowVer < 80000
|
IceHUD.SpellFunctionsReturnRank = IceHUD.WowMain and IceHUD.WowVer < 80000
|
||||||
IceHUD.EventExistsPlayerPetChanged = IceHUD.WowVer < 80000 and not IceHUD.WowClassic and not IceHUD.WowClassicBC
|
IceHUD.EventExistsPlayerPetChanged = IceHUD.WowVer < 80000 and not IceHUD.WowClassic and not IceHUD.WowClassicBC and not IceHUD.WowClassicWrath
|
||||||
IceHUD.EventExistsPetBarChanged = IceHUD.WowVer < 80000 and not IceHUD.WowClassic and not IceHUD.WowClassicBC
|
IceHUD.EventExistsPetBarChanged = IceHUD.WowVer < 80000 and not IceHUD.WowClassic and not IceHUD.WowClassicBC and not IceHUD.WowClassicWrath
|
||||||
IceHUD.EventExistsPlayerComboPoints = IceHUD.WowMain and IceHUD.WowVer < 30000
|
IceHUD.EventExistsPlayerComboPoints = IceHUD.WowMain and IceHUD.WowVer < 30000
|
||||||
IceHUD.EventExistsUnitComboPoints = IceHUD.WowMain and IceHUD.WowVer < 70000
|
IceHUD.EventExistsUnitComboPoints = IceHUD.WowMain and IceHUD.WowVer < 70000
|
||||||
IceHUD.EventExistsUnitMaxPower = IceHUD.WowMain and IceHUD.WowVer < 80000
|
IceHUD.EventExistsUnitMaxPower = IceHUD.WowMain and IceHUD.WowVer < 80000
|
||||||
IceHUD.EventExistsGroupRosterUpdate = IceHUD.WowVer >= 50000 or IceHUD.WowClassic or IceHUD.WowClassicBC
|
IceHUD.EventExistsGroupRosterUpdate = IceHUD.WowVer >= 50000 or IceHUD.WowClassic or IceHUD.WowClassicBC or IceHUD.WowClassicWrath
|
||||||
IceHUD.EventExistsUnitDynamicFlags = IceHUD.WowMain and IceHUD.WowVer < 80000
|
IceHUD.EventExistsUnitDynamicFlags = IceHUD.WowMain and IceHUD.WowVer < 80000
|
||||||
IceHUD.PerPowerEventsExist = IceHUD.WowMain and IceHUD.WowVer < 40000
|
IceHUD.PerPowerEventsExist = IceHUD.WowMain and IceHUD.WowVer < 40000
|
||||||
IceHUD.PerTargetComboPoints = IceHUD.WowVer < 60000
|
IceHUD.PerTargetComboPoints = IceHUD.WowVer < 60000
|
||||||
IceHUD.CanTrackOtherUnitBuffs = not IceHUD.WowClassic
|
IceHUD.CanTrackOtherUnitBuffs = not IceHUD.WowClassic
|
||||||
IceHUD.CanTrackGCD = not IceHUD.WowClassic
|
IceHUD.CanTrackGCD = not IceHUD.WowClassic
|
||||||
IceHUD.GetSpellInfoReturnsFunnel = IceHUD.WowMain and IceHUD.WowVer < 60000
|
IceHUD.GetSpellInfoReturnsFunnel = IceHUD.WowMain and IceHUD.WowVer < 60000
|
||||||
IceHUD.CanHookDestroyTotem = IceHUD.WowClassic or IceHUD.WowClassicBC
|
IceHUD.CanHookDestroyTotem = IceHUD.WowClassic or IceHUD.WowClassicBC or IceHUD.WowClassicWrath
|
||||||
IceHUD.ShouldUpdateTargetHealthEveryTick = IceHUD.WowClassicBC and GetCVarBool("predictedHealth")
|
IceHUD.ShouldUpdateTargetHealthEveryTick = (IceHUD.WowClassic or IceHUD.WowClassicBC) and GetCVarBool("predictedHealth")
|
||||||
|
IceHUD.UsesUIPanelButtonTemplate = IceHUD.WowVer >= 50000 or IceHUD.WowClassic or IceHUD.WowClassicBC or IceHUD.WowClassicWrath
|
||||||
|
IceHUD.EventExistsSpellcastInterruptible = IceHUD.WowVer >= 30200 and not IceHUD.WowClassicWrath
|
||||||
|
IceHUD.DeathKnightUnholyFrostRunesSwapped = IceHUD.WowVer < 70300 and not IceHUD.WowClassicWrath
|
||||||
|
IceHUD.UseFallbackPaladinGCDSpell = IceHUD.WowClassic or IceHUD.WowClassicBC or IceHUD.WowClassicWrath
|
||||||
|
|
||||||
IceHUD.UnitPowerEvent = "UNIT_POWER_UPDATE"
|
IceHUD.UnitPowerEvent = "UNIT_POWER_UPDATE"
|
||||||
|
|
||||||
@ -44,6 +56,8 @@ IceHUD.validBarList = { "Bar", "HiBar", "RoundBar", "ColorBar", "RivetBar", "Riv
|
|||||||
"BloodGlaives", "ArcHUD", "FangRune", "DHUD", "CleanCurvesOut", "CleanTank", "PillTank", "GemTank" }
|
"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"}
|
IceHUD.validCustomModules = {Bar="Buff/Debuff watcher", Counter="Buff/Debuff stack counter", CD="Cooldown bar", Health="Health bar", Mana="Mana bar", CounterBar="Stack count bar"}
|
||||||
|
|
||||||
|
IceHUD_UnitFrame_DropDown = CreateFrame("Frame", "IceHUD_UnitFrame_DropDown", UIParent, "UIDropDownMenuTemplate")
|
||||||
|
|
||||||
--@debug@
|
--@debug@
|
||||||
IceHUD.optionsLoaded = true
|
IceHUD.optionsLoaded = true
|
||||||
--@end-debug@
|
--@end-debug@
|
||||||
@ -343,7 +357,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 or IceHUD.WowClassicBC) and "UIPanelButtonTemplate" or "UIPanelButtonTemplate2")
|
blizOptionsPanel.button = CreateFrame("BUTTON", "IceHUDOpenConfigButton", blizOptionsPanel, IceHUD.UsesUIPanelButtonTemplate 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)
|
||||||
@ -684,31 +698,69 @@ function IceHUD:GetIsInLFGGroup()
|
|||||||
return IsInLFGGroup
|
return IsInLFGGroup
|
||||||
end
|
end
|
||||||
|
|
||||||
local BLACKLISTED_UNIT_MENU_OPTIONS = {
|
local BLACKLISTED_UNIT_MENU_OPTIONS = {}
|
||||||
SET_FOCUS = "ICEHUD_SET_FOCUS",
|
if UnitPopupButtons then
|
||||||
CLEAR_FOCUS = "ICEHUD_CLEAR_FOCUS",
|
BLACKLISTED_UNIT_MENU_OPTIONS = {
|
||||||
PET_DISMISS = "ICEHUD_PET_DISMISS",
|
SET_FOCUS = "ICEHUD_SET_FOCUS",
|
||||||
LOCK_FOCUS_FRAME = true,
|
CLEAR_FOCUS = "ICEHUD_CLEAR_FOCUS",
|
||||||
UNLOCK_FOCUS_FRAME = true,
|
LOCK_FOCUS_FRAME = true,
|
||||||
}
|
UNLOCK_FOCUS_FRAME = true,
|
||||||
|
}
|
||||||
|
if select(2, UnitClass("player")) ~= "WARLOCK" then
|
||||||
|
BLACKLISTED_UNIT_MENU_OPTIONS[PET_DISMISS] = "ICEHUD_PET_DISMISS"
|
||||||
|
end
|
||||||
|
|
||||||
UnitPopupButtons["ICEHUD_SET_FOCUS"] = {
|
UnitPopupButtons["ICEHUD_SET_FOCUS"] = {
|
||||||
text = L["Type %s to set focus"]:format(SLASH_FOCUS1),
|
text = L["Type %s to set focus"]:format(SLASH_FOCUS1),
|
||||||
tooltipText = L["Blizzard currently does not provide a proper way to right-click focus with custom unit frames."],
|
tooltipText = L["Blizzard currently does not provide a proper way to right-click focus with custom unit frames."],
|
||||||
dist = 0,
|
dist = 0,
|
||||||
}
|
}
|
||||||
|
|
||||||
UnitPopupButtons["ICEHUD_CLEAR_FOCUS"] = {
|
UnitPopupButtons["ICEHUD_CLEAR_FOCUS"] = {
|
||||||
text = L["Type %s to clear focus"]:format(SLASH_CLEARFOCUS1),
|
text = L["Type %s to clear focus"]:format(SLASH_CLEARFOCUS1),
|
||||||
tooltipText = L["Blizzard currently does not provide a proper way to right-click focus with custom unit frames."],
|
tooltipText = L["Blizzard currently does not provide a proper way to right-click focus with custom unit frames."],
|
||||||
dist = 0,
|
dist = 0,
|
||||||
}
|
}
|
||||||
|
|
||||||
UnitPopupButtons["ICEHUD_PET_DISMISS"] = {
|
UnitPopupButtons["ICEHUD_PET_DISMISS"] = {
|
||||||
text = L["Use your Dismiss Pet spell to dismiss a pet"],
|
text = L["Use your Dismiss Pet spell to dismiss a pet"],
|
||||||
tooltipText = L["Blizzard currently does not provide a proper way to right-click dismiss a pet with custom unit frames."],
|
tooltipText = L["Blizzard currently does not provide a proper way to right-click dismiss a pet with custom unit frames."],
|
||||||
dist = 0,
|
dist = 0,
|
||||||
}
|
}
|
||||||
|
elseif UnitPopupSetFocusButtonMixin then
|
||||||
|
IceHUDUnitPopupSetFocusButtonMixin = CreateFromMixins(UnitPopupButtonBaseMixin)
|
||||||
|
function IceHUDUnitPopupSetFocusButtonMixin:GetText()
|
||||||
|
return L["Type %s to set focus"]:format(SLASH_FOCUS1)
|
||||||
|
end
|
||||||
|
function IceHUDUnitPopupSetFocusButtonMixin:OnClick()
|
||||||
|
end
|
||||||
|
|
||||||
|
IceHUDUnitPopupClearFocusButtonMixin = CreateFromMixins(UnitPopupButtonBaseMixin)
|
||||||
|
function IceHUDUnitPopupClearFocusButtonMixin:GetText()
|
||||||
|
return L["Type %s to clear focus"]:format(SLASH_CLEARFOCUS1)
|
||||||
|
end
|
||||||
|
function IceHUDUnitPopupClearFocusButtonMixin:OnClick()
|
||||||
|
end
|
||||||
|
|
||||||
|
IceHUDUnitPopupPetDismissButtonMixin = CreateFromMixins(UnitPopupButtonBaseMixin)
|
||||||
|
function IceHUDUnitPopupPetDismissButtonMixin:GetText()
|
||||||
|
return L["Use your Dismiss Pet spell to dismiss a pet"]
|
||||||
|
end
|
||||||
|
function IceHUDUnitPopupPetDismissButtonMixin:CanShow()
|
||||||
|
return UnitPopupPetDismissButtonMixin:CanShow()
|
||||||
|
end
|
||||||
|
function IceHUDUnitPopupPetDismissButtonMixin:OnClick()
|
||||||
|
end
|
||||||
|
|
||||||
|
BLACKLISTED_UNIT_MENU_OPTIONS[SET_FOCUS] = IceHUDUnitPopupSetFocusButtonMixin
|
||||||
|
BLACKLISTED_UNIT_MENU_OPTIONS[CLEAR_FOCUS] = IceHUDUnitPopupClearFocusButtonMixin
|
||||||
|
BLACKLISTED_UNIT_MENU_OPTIONS[LOCK_FOCUS_FRAME] = true
|
||||||
|
BLACKLISTED_UNIT_MENU_OPTIONS[UNLOCK_FOCUS_FRAME] = true
|
||||||
|
|
||||||
|
if select(2, UnitClass("player")) ~= "WARLOCK" then
|
||||||
|
BLACKLISTED_UNIT_MENU_OPTIONS[PET_DISMISS] = IceHUDUnitPopupPetDismissButtonMixin
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
local munged_unit_menus = {}
|
local munged_unit_menus = {}
|
||||||
local function munge_unit_menu(menu)
|
local function munge_unit_menu(menu)
|
||||||
@ -729,11 +781,34 @@ local function munge_unit_menu(menu)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local found = false
|
local found = false
|
||||||
local _, v
|
if data.GetMenuButtons then
|
||||||
for _, v in ipairs(data) do
|
local btns = data.GetMenuButtons()
|
||||||
if BLACKLISTED_UNIT_MENU_OPTIONS[v] then
|
for i=1, #btns do
|
||||||
found = true
|
if btns[i].IsMenu() then
|
||||||
break
|
local subbtns = btns[i].GetMenuButtons()
|
||||||
|
for j=1, #subbtns do
|
||||||
|
if BLACKLISTED_UNIT_MENU_OPTIONS[subbtns[j]:GetText()] then
|
||||||
|
found = true
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if BLACKLISTED_UNIT_MENU_OPTIONS[btns[i]:GetText()] then
|
||||||
|
found = true
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if found then
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
for _, v in ipairs(data) do
|
||||||
|
if BLACKLISTED_UNIT_MENU_OPTIONS[v] then
|
||||||
|
found = true
|
||||||
|
break
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -744,15 +819,42 @@ local function munge_unit_menu(menu)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local new_data = {}
|
local new_data = {}
|
||||||
for _, v in ipairs(data) do
|
if data.GetMenuButtons then
|
||||||
local blacklisted = BLACKLISTED_UNIT_MENU_OPTIONS[v]
|
local new_buttons_list = {}
|
||||||
if v == "PET_DISMISS" and select(2, UnitClass("player")) == "WARLOCK" then
|
local btns = data.GetMenuButtons()
|
||||||
blacklisted = false
|
for i=1, #btns do
|
||||||
|
if btns[i].IsMenu() then
|
||||||
|
local subbtns = btns[i].GetMenuButtons()
|
||||||
|
for j=1, #subbtns do
|
||||||
|
local blacklisted = BLACKLISTED_UNIT_MENU_OPTIONS[subbtns[j]:GetText()]
|
||||||
|
if not blacklisted then
|
||||||
|
new_buttons_list[#new_buttons_list+1] = subbtns[j]
|
||||||
|
elseif blacklisted ~= true then
|
||||||
|
new_buttons_list[#new_buttons_list+1] = blacklisted
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
local blacklisted = BLACKLISTED_UNIT_MENU_OPTIONS[btns[i]:GetText()]
|
||||||
|
if not blacklisted then
|
||||||
|
new_buttons_list[#new_buttons_list+1] = btns[i]
|
||||||
|
elseif blacklisted ~= true then
|
||||||
|
new_buttons_list[#new_buttons_list+1] = blacklisted
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
if not blacklisted then
|
|
||||||
new_data[#new_data+1] = v
|
new_data = data
|
||||||
elseif blacklisted ~= true then
|
function new_data:GetMenuButtons()
|
||||||
new_data[#new_data+1] = blacklisted
|
return new_buttons_list
|
||||||
|
end
|
||||||
|
else
|
||||||
|
for _, v in ipairs(data) do
|
||||||
|
local blacklisted = BLACKLISTED_UNIT_MENU_OPTIONS[v]
|
||||||
|
if not blacklisted then
|
||||||
|
new_data[#new_data+1] = v
|
||||||
|
elseif blacklisted ~= true then
|
||||||
|
new_data[#new_data+1] = blacklisted
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
local new_menu_name = "ICEHUD_" .. menu
|
local new_menu_name = "ICEHUD_" .. menu
|
||||||
@ -798,7 +900,6 @@ local function figure_unit_menu(unit)
|
|||||||
return "PLAYER"
|
return "PLAYER"
|
||||||
end
|
end
|
||||||
|
|
||||||
IceHUD_UnitFrame_DropDown = CreateFrame("Frame", "IceHUD_UnitFrame_DropDown", UIParent, "UIDropDownMenuTemplate")
|
|
||||||
if UnitPopupFrames then
|
if UnitPopupFrames then
|
||||||
UnitPopupFrames[#UnitPopupFrames+1] = "IceHUD_UnitFrame_DropDown"
|
UnitPopupFrames[#UnitPopupFrames+1] = "IceHUD_UnitFrame_DropDown"
|
||||||
end
|
end
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
## Interface: 90200
|
## Interface: 90207
|
||||||
## Interface-Retail: 90200
|
## Interface-Retail: 90207
|
||||||
## Interface-Classic: 11402
|
## Interface-Classic: 11403
|
||||||
## Interface-BCC: 20503
|
## Interface-BCC: 20504
|
||||||
|
## Interface-Wrath: 30400
|
||||||
## 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,7 +1,8 @@
|
|||||||
## Interface: 90200
|
## Interface: 90207
|
||||||
## Interface-Retail: 90200
|
## Interface-Retail: 90207
|
||||||
## Interface-Classic: 11402
|
## Interface-Classic: 11403
|
||||||
## Interface-BCC: 20503
|
## Interface-BCC: 20504
|
||||||
|
## Interface-Wrath: 30400
|
||||||
## Title: IceHUD |cff7fff7f-Options-|r
|
## Title: IceHUD |cff7fff7f-Options-|r
|
||||||
## Author: Parnic
|
## Author: Parnic
|
||||||
## Version: @project-version@
|
## Version: @project-version@
|
||||||
|
23
changelog.md
23
changelog.md
@ -1,5 +1,28 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
v1.13.15:
|
||||||
|
|
||||||
|
- Updated TOC for Retail (9.2.7).
|
||||||
|
- Added Wrath-Classic compatibility.
|
||||||
|
|
||||||
|
v1.13.14.3:
|
||||||
|
|
||||||
|
- Restored right-click menus on Info and Health bars when targeting other players.
|
||||||
|
|
||||||
|
v1.13.14.2:
|
||||||
|
|
||||||
|
- Restored right-click menus on Info and Health bars.
|
||||||
|
|
||||||
|
v1.13.14.1:
|
||||||
|
|
||||||
|
- Restored guard around array that doesn't exist on Classic clients.
|
||||||
|
|
||||||
|
v1.13.14:
|
||||||
|
|
||||||
|
- Fixed target health updating infrequently on Classic.
|
||||||
|
- Fixed compatibility with WoW 9.2.5.
|
||||||
|
- Updated TOC for all game flavors.
|
||||||
|
|
||||||
v1.13.13:
|
v1.13.13:
|
||||||
|
|
||||||
- Slight optimization of Zereth Mortis puzzle detection logic.
|
- Slight optimization of Zereth Mortis puzzle detection logic.
|
||||||
|
@ -286,7 +286,7 @@ function GlobalCoolDown.prototype:GetSpellId()
|
|||||||
MONK=100780, -- jab
|
MONK=100780, -- jab
|
||||||
}
|
}
|
||||||
|
|
||||||
if IceHUD.WowClassicBC or IceHUD.WowClassic then
|
if IceHUD.UseFallbackPaladinGCDSpell then
|
||||||
defaultSpells["PALADIN"] = 635
|
defaultSpells["PALADIN"] = 635
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -203,7 +203,7 @@ function PlayerMana.prototype:CheckVehicle()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function PlayerMana.prototype:ShouldUseTicker()
|
function PlayerMana.prototype:ShouldUseTicker()
|
||||||
return IceHUD.WowVer < 30000 or (IceHUD.WowVer < 70100 and not GetCVarBool("predictedPower"))
|
return IceHUD.WowVer < 30000 or (IceHUD.WowVer < 70100 and not GetCVarBool("predictedPower") and not IceHUD.WowClassicWrath)
|
||||||
end
|
end
|
||||||
|
|
||||||
function PlayerMana.prototype:SetupOnUpdate(enable)
|
function PlayerMana.prototype:SetupOnUpdate(enable)
|
||||||
|
@ -9,15 +9,15 @@ if CooldownFrame_Set then
|
|||||||
end
|
end
|
||||||
|
|
||||||
local RUNETYPE_BLOOD = 1;
|
local RUNETYPE_BLOOD = 1;
|
||||||
local RUNETYPE_DEATH = IceHUD.WowVer < 70300 and 2 or 3;
|
local RUNETYPE_DEATH = IceHUD.DeathKnightUnholyFrostRunesSwapped and 2 or 3;
|
||||||
local RUNETYPE_FROST = IceHUD.WowVer < 70300 and 3 or 2;
|
local RUNETYPE_FROST = IceHUD.DeathKnightUnholyFrostRunesSwapped and 3 or 2;
|
||||||
local RUNETYPE_CHROMATIC = 4;
|
local RUNETYPE_CHROMATIC = 4;
|
||||||
local RUNETYPE_LEGION = 5; -- not real, but makes for an easy update
|
local RUNETYPE_LEGION = 5; -- not real, but makes for an easy update
|
||||||
|
|
||||||
local GetRuneType = GetRuneType
|
local GetRuneType = GetRuneType
|
||||||
if IceHUD.WowVer >= 70000 and IceHUD.WowVer < 70300 then
|
if IceHUD.WowVer >= 70000 and IceHUD.WowVer < 70300 and RUNETYPE_LEGION then
|
||||||
GetRuneType = function() return RUNETYPE_LEGION end
|
GetRuneType = function() return RUNETYPE_LEGION end
|
||||||
elseif IceHUD.WowVer >= 70300 then
|
elseif IceHUD.WowVer >= 70300 and GetSpecialization then
|
||||||
GetRuneType = function() return GetSpecialization() end
|
GetRuneType = function() return GetSpecialization() end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -42,6 +42,10 @@ elseif IceHUD.WowClassicBC then
|
|||||||
impSndBonusPerRank = 0.15
|
impSndBonusPerRank = 0.15
|
||||||
impSndTalentPage = 2
|
impSndTalentPage = 2
|
||||||
impSndTalentIdx = 4
|
impSndTalentIdx = 4
|
||||||
|
elseif IceHUD.WowClassicWrath then
|
||||||
|
impSndBonusPerRank = 0.25
|
||||||
|
impSndTalentPage = 2
|
||||||
|
impSndTalentIdx = 23
|
||||||
end
|
end
|
||||||
|
|
||||||
local SPELL_POWER_COMBO_POINTS = SPELL_POWER_COMBO_POINTS
|
local SPELL_POWER_COMBO_POINTS = SPELL_POWER_COMBO_POINTS
|
||||||
@ -290,7 +294,7 @@ local function HasSpell(id)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local function ShouldHide()
|
local function ShouldHide()
|
||||||
if IceHUD.WowVer >= 90000 or IceHUD.WowClassicBC then
|
if IceHUD.WowVer >= 90000 or IceHUD.WowClassicBC or IceHUD.WowClassicWrath then
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ end
|
|||||||
function TargetCast.prototype:Enable(core)
|
function TargetCast.prototype:Enable(core)
|
||||||
TargetCast.super.prototype.Enable(self, core)
|
TargetCast.super.prototype.Enable(self, core)
|
||||||
|
|
||||||
if IceHUD.WowVer >= 30200 then
|
if IceHUD.EventExistsSpellcastInterruptible then
|
||||||
self:RegisterEvent("UNIT_SPELLCAST_INTERRUPTIBLE", "SpellCastInterruptible")
|
self:RegisterEvent("UNIT_SPELLCAST_INTERRUPTIBLE", "SpellCastInterruptible")
|
||||||
self:RegisterEvent("UNIT_SPELLCAST_NOT_INTERRUPTIBLE", "SpellCastNotInterruptible")
|
self:RegisterEvent("UNIT_SPELLCAST_NOT_INTERRUPTIBLE", "SpellCastNotInterruptible")
|
||||||
end
|
end
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
v1.13.13:
|
v1.13.15:
|
||||||
|
|
||||||
- Slight optimization of Zereth Mortis puzzle detection logic.
|
- Updated TOC for Retail (9.2.7).
|
||||||
- Fixed target health updating infrequently on Classic-BC.
|
- Added Wrath-Classic compatibility.
|
||||||
- Fixed reported error in TargetInvuln module.
|
|
||||||
|
Reference in New Issue
Block a user