mirror of
https://github.com/parnic/ice-hud.git
synced 2025-06-16 22:51:53 -05:00
Compare commits
9 Commits
1.13.13-al
...
1.13.14.3
Author | SHA1 | Date | |
---|---|---|---|
d31872512e
|
|||
d424afdab1
|
|||
9500bdf393
|
|||
6325ed1ade
|
|||
a4c44a5809
|
|||
82db70969a
|
|||
47931922bd
|
|||
af74c9e3fe
|
|||
611f37a1f3
|
119
IceHUD.lua
119
IceHUD.lua
@ -36,7 +36,7 @@ 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.ShouldUpdateTargetHealthEveryTick = IceHUD.WowClassicBC and GetCVarBool("predictedHealth")
|
||||
IceHUD.ShouldUpdateTargetHealthEveryTick = (IceHUD.WowClassic or IceHUD.WowClassicBC) and GetCVarBool("predictedHealth")
|
||||
|
||||
IceHUD.UnitPowerEvent = "UNIT_POWER_UPDATE"
|
||||
|
||||
@ -44,6 +44,8 @@ IceHUD.validBarList = { "Bar", "HiBar", "RoundBar", "ColorBar", "RivetBar", "Riv
|
||||
"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_UnitFrame_DropDown = CreateFrame("Frame", "IceHUD_UnitFrame_DropDown", UIParent, "UIDropDownMenuTemplate")
|
||||
|
||||
--@debug@
|
||||
IceHUD.optionsLoaded = true
|
||||
--@end-debug@
|
||||
@ -684,31 +686,69 @@ function IceHUD:GetIsInLFGGroup()
|
||||
return IsInLFGGroup
|
||||
end
|
||||
|
||||
local BLACKLISTED_UNIT_MENU_OPTIONS = {
|
||||
local BLACKLISTED_UNIT_MENU_OPTIONS = {}
|
||||
if UnitPopupButtons then
|
||||
BLACKLISTED_UNIT_MENU_OPTIONS = {
|
||||
SET_FOCUS = "ICEHUD_SET_FOCUS",
|
||||
CLEAR_FOCUS = "ICEHUD_CLEAR_FOCUS",
|
||||
PET_DISMISS = "ICEHUD_PET_DISMISS",
|
||||
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),
|
||||
tooltipText = L["Blizzard currently does not provide a proper way to right-click focus with custom unit frames."],
|
||||
dist = 0,
|
||||
}
|
||||
}
|
||||
|
||||
UnitPopupButtons["ICEHUD_CLEAR_FOCUS"] = {
|
||||
UnitPopupButtons["ICEHUD_CLEAR_FOCUS"] = {
|
||||
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."],
|
||||
dist = 0,
|
||||
}
|
||||
}
|
||||
|
||||
UnitPopupButtons["ICEHUD_PET_DISMISS"] = {
|
||||
UnitPopupButtons["ICEHUD_PET_DISMISS"] = {
|
||||
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."],
|
||||
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 function munge_unit_menu(menu)
|
||||
@ -729,13 +769,36 @@ local function munge_unit_menu(menu)
|
||||
end
|
||||
|
||||
local found = false
|
||||
local _, v
|
||||
if data.GetMenuButtons then
|
||||
local btns = data.GetMenuButtons()
|
||||
for i=1, #btns do
|
||||
if btns[i].IsMenu() then
|
||||
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
|
||||
|
||||
if not found then
|
||||
-- nothing to remove or add, we're all fine here.
|
||||
@ -744,17 +807,44 @@ local function munge_unit_menu(menu)
|
||||
end
|
||||
|
||||
local new_data = {}
|
||||
if data.GetMenuButtons then
|
||||
local new_buttons_list = {}
|
||||
local btns = data.GetMenuButtons()
|
||||
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
|
||||
|
||||
new_data = data
|
||||
function new_data:GetMenuButtons()
|
||||
return new_buttons_list
|
||||
end
|
||||
else
|
||||
for _, v in ipairs(data) do
|
||||
local blacklisted = BLACKLISTED_UNIT_MENU_OPTIONS[v]
|
||||
if v == "PET_DISMISS" and select(2, UnitClass("player")) == "WARLOCK" then
|
||||
blacklisted = false
|
||||
end
|
||||
if not blacklisted then
|
||||
new_data[#new_data+1] = v
|
||||
elseif blacklisted ~= true then
|
||||
new_data[#new_data+1] = blacklisted
|
||||
end
|
||||
end
|
||||
end
|
||||
local new_menu_name = "ICEHUD_" .. menu
|
||||
|
||||
UnitPopupMenus[new_menu_name] = new_data
|
||||
@ -798,7 +888,6 @@ local function figure_unit_menu(unit)
|
||||
return "PLAYER"
|
||||
end
|
||||
|
||||
IceHUD_UnitFrame_DropDown = CreateFrame("Frame", "IceHUD_UnitFrame_DropDown", UIParent, "UIDropDownMenuTemplate")
|
||||
if UnitPopupFrames then
|
||||
UnitPopupFrames[#UnitPopupFrames+1] = "IceHUD_UnitFrame_DropDown"
|
||||
end
|
||||
|
@ -1,7 +1,7 @@
|
||||
## Interface: 90200
|
||||
## Interface-Retail: 90200
|
||||
## Interface-Classic: 11402
|
||||
## Interface-BCC: 20503
|
||||
## Interface: 90205
|
||||
## Interface-Retail: 90205
|
||||
## Interface-Classic: 11403
|
||||
## Interface-BCC: 20504
|
||||
## Author: Parnic, originally created by Iceroth
|
||||
## Name: IceHUD
|
||||
## Title: IceHUD |cff7fff7f-Ace3-|r
|
||||
|
@ -1,7 +1,7 @@
|
||||
## Interface: 90200
|
||||
## Interface-Retail: 90200
|
||||
## Interface-Classic: 11402
|
||||
## Interface-BCC: 20503
|
||||
## Interface: 90205
|
||||
## Interface-Retail: 90205
|
||||
## Interface-Classic: 11403
|
||||
## Interface-BCC: 20504
|
||||
## Title: IceHUD |cff7fff7f-Options-|r
|
||||
## Author: Parnic
|
||||
## Version: @project-version@
|
||||
|
19
changelog.md
19
changelog.md
@ -1,9 +1,28 @@
|
||||
# Changelog
|
||||
|
||||
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:
|
||||
|
||||
- Slight optimization of Zereth Mortis puzzle detection logic.
|
||||
- Fixed target health updating infrequently on Classic-BC.
|
||||
- Fixed reported error in TargetInvuln module.
|
||||
|
||||
v1.13.12:
|
||||
|
||||
|
@ -197,7 +197,7 @@ end
|
||||
function TargetInvuln.prototype:UpdateTargetBuffs(event, unit, isUpdate)
|
||||
local name, duration, remaining
|
||||
|
||||
if not isUpdate then
|
||||
if not isUpdate or not self.lastUpdateTime then
|
||||
self.buffName, self.buffDuration, self.buffRemaining = self:GetMaxbuffDuration(self.unit, self.buffList)
|
||||
else
|
||||
self.buffRemaining = math.max(0, self.buffRemaining - (GetTime() - self.lastUpdateTime))
|
||||
|
@ -1,6 +1,19 @@
|
||||
# Changelog
|
||||
|
||||
v1.13.13:
|
||||
v1.13.14.3:
|
||||
|
||||
- Slight optimization of Zereth Mortis puzzle detection logic.
|
||||
- Fixed target health updating infrequently on Classic-BC.
|
||||
- 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.
|
||||
|
Reference in New Issue
Block a user