Compare commits

...

19 Commits

Author SHA1 Message Date
8bc7b1ee90 Update TOCs 2023-07-11 16:52:17 -05:00
9cd800ee86 Update changelog 2023-07-05 13:33:12 -05:00
ca6008780f Bump TOC for Wrath-Classic 3.4.2 2023-07-04 10:18:52 -05:00
9a727e4893 Fix Vigor with new mount type(s)
I explicitly added what I believe to be the spell id for the new Grotto Netherwing Drake so it *should* work regardless, but then also discovered that the flying mount's UnitPowerMax is 0 unless you're on a Dragonriding mount, so that should be the longer-term fix for whenever old-world mounts add Dragonriding capability (10.1.5?).
2023-07-04 10:01:31 -05:00
4d71dcc660 Possible fix to reported issue
I can't reproduce the problem, but this should cover it if it happens.

https://www.wowace.com/projects/ice-hud/issues/344
2023-06-05 17:39:36 -05:00
343ac7b70b Fix aura icons not always showing on custom bars 2023-05-18 10:17:13 -05:00
573049f77e Fix Custom Bar showing empty bar in Missing mode 2023-05-18 10:15:38 -05:00
8dc173ae81 Fix custom bar showing when disabled and set to Missing
Fixes wowace ticket #343
2023-05-18 10:12:17 -05:00
5e04ace0f4 Fix CC modules on Wrath Classic 2023-05-18 09:41:44 -05:00
37108d3487 Increase max scale to 400% by request 2023-05-12 22:17:27 -05:00
8cd7c4b044 Add 10.1 dragonriding mount 2023-05-06 13:15:39 -05:00
bfffdd82d7 Fix vigor on entering world
Forgot to send the event argument, so it was returning early.

Fixes #34
2023-05-03 18:23:52 -05:00
24c45f320f Update TOC, add icon, fix Vigor for 10.1 2023-05-03 18:22:36 -05:00
1db8545b63 Update other changelog 2023-04-02 21:47:03 -05:00
18fa31807c Hide Debuff frame along with Buffs if desired 2023-04-01 20:58:25 -05:00
594ea0a3e3 Fix errors when toggling off Hide Blizz 2023-04-01 20:53:53 -05:00
cb83a3f63f Add option to hide during Cataloging 2023-04-01 20:45:37 -05:00
077286fd5f Show Runic Power on a 0-100ish scale with DogTags off 2023-04-01 20:17:50 -05:00
a50a313314 Update TOCs 2023-04-01 15:02:35 -05:00
13 changed files with 189 additions and 25 deletions

View File

@ -386,19 +386,24 @@ function IceCastBar.prototype:MyOnUpdate()
self.action == IceCastBar.Actions.Success or
self.action == IceCastBar.Actions.Failure)
then
local scale = GetTime() - self.actionStartTime
local scale
if self.actionStartTime then
scale = GetTime() - self.actionStartTime
end
if (scale > 1) then
if scale and (scale > 1) then
self:StopBar()
return
end
self:UpdateBar(1, self:GetCurrentCastingColor())
if (self.action == IceCastBar.Actions.Failure) then
self:FlashBar("CastFail", 1-scale, self.actionMessage, "CastFail")
else
self:FlashBar("CastSuccess", 1-scale, self.actionMessage)
if scale then
if (self.action == IceCastBar.Actions.Failure) then
self:FlashBar("CastFail", 1-scale, self.actionMessage, "CastFail")
else
self:FlashBar("CastSuccess", 1-scale, self.actionMessage)
end
end
return
end
@ -465,7 +470,9 @@ function IceCastBar.prototype:GetCurrentCastingColor()
end
function IceCastBar.prototype:FlashBar(color, alpha, text, textColor)
self.frame:SetAlpha(alpha)
if alpha then
self.frame:SetAlpha(alpha)
end
local r, g, b = self.settings.backgroundColor.r, self.settings.backgroundColor.g, self.settings.backgroundColor.b
if (self.settings.backgroundToggle) then

View File

@ -115,6 +115,7 @@ function IceCore.prototype:SetupDefaults()
bHideDuringPetBattles = true,
bHideInBarberShop = true,
bHideDuringShellGame = true,
bHideDuringCataloging = true,
},
global = {
lastRunVersion = 0,
@ -284,6 +285,7 @@ function IceCore.prototype:Enable(userToggle)
self.IceHUDFrame:RegisterEvent("ZONE_CHANGED")
end
self.IceHUDFrame:RegisterEvent("UNIT_AURA")
self.IceHUDFrame:RegisterEvent("UNIT_ENTERED_VEHICLE")
self.IceHUDFrame:RegisterEvent("PLAYER_REGEN_ENABLED", IceHUD.PLAYER_REGEN_ENABLED)
self.IceHUDFrame:RegisterEvent("PLAYER_REGEN_DISABLED", IceHUD.PLAYER_REGEN_DISABLED)
self.IceHUDFrame:SetScript("OnEvent", function(self, event, ...)
@ -303,6 +305,11 @@ function IceCore.prototype:Enable(userToggle)
if IceHUD.IceCore.settings.bHideInBarberShop then
self:Show()
end
elseif event == "UNIT_ENTERED_VEHICLE" then
if IceHUD.IceCore.settings.bHideDuringCataloging and IceHUD:HasAnyBuff("player", IceHUD.CatalogingSpellIDs) then
self:RegisterEvent("UNIT_EXITED_VEHICLE")
self:Hide()
end
elseif (event == "UNIT_AURA") then
local unit = ...
if unit ~= "player" then
@ -312,6 +319,9 @@ function IceCore.prototype:Enable(userToggle)
if IceHUD.IceCore.settings.bHideDuringShellGame and IceHUD:HasAnyDebuff("player", {IceHUD.ShellGameSpellID}) and UnitInVehicle("player") then
self:RegisterEvent("UNIT_EXITED_VEHICLE")
self:Hide()
elseif IceHUD.IceCore.settings.bHideDuringCataloging and IceHUD:HasAnyBuff("player", IceHUD.CatalogingSpellIDs) and UnitInVehicle("player") then
self:RegisterEvent("UNIT_EXITED_VEHICLE")
self:Hide()
elseif C_Map then
local bestMapID = C_Map.GetBestMapForUnit("player")
if bestMapID ~= ZM_MAP_ID then

View File

@ -60,6 +60,8 @@ IceHUD.SupportsHealPrediction = IceHUD.WowVer >= 40000 or IceHUD.WowClassicWrath
IceHUD.UnitGroupRolesReturnsRoleString = IceHUD.WowVer >= 40000 or IceHUD.WowClassicWrath
IceHUD.ShellGameSpellID = 271571
IceHUD.HasShellGame = GetSpellInfo(IceHUD.ShellGameSpellID)
IceHUD.CatalogingSpellIDs = {366290, 372817, 385025, 385635, 386070, 386504, 400043, 403115}
IceHUD.HasCataloging = GetSpellInfo(366290)
IceHUD.UnitPowerEvent = "UNIT_POWER_UPDATE"

View File

@ -1,8 +1,8 @@
## Interface: 100005
## Interface-Retail: 100005
## Interface: 100105
## Interface-Retail: 100105
## Interface-Classic: 11403
## Interface-BCC: 20504
## Interface-Wrath: 30401
## Interface-Wrath: 30402
## Author: Parnic, originally created by Iceroth
## Name: IceHUD
## Title: IceHUD |cff7fff7f-Ace3-|r
@ -14,6 +14,7 @@
# ## Version: @project-version@
#@end-non-debug@
## SavedVariables: IceCoreDB
## IconTexture: Interface\Icons\Spell_Frost_Frost
## OptionalDeps: Ace3, LibSharedMedia-3.0, LibDogTag-3.0, LibDogTag-Unit-3.0, LibRangeCheck-2.0, LibDualSpec-1.0, LibDBIcon-1.0, AceGUI-3.0-SharedMediaWidgets
## X-Category: HUDs
## X-Website: https://www.wowace.com/projects/ice-hud

View File

@ -1,8 +1,8 @@
## Interface: 100005
## Interface-Retail: 100005
## Interface: 100105
## Interface-Retail: 100105
## Interface-Classic: 11403
## Interface-BCC: 20504
## Interface-Wrath: 30401
## Interface-Wrath: 30402
## Title: IceHUD |cff7fff7f-Options-|r
## Author: Parnic
## Version: @project-version@
@ -10,6 +10,7 @@
## OptionalDeps: AceGUI-3.0-SharedMediaWidgets
## Dependencies: IceHUD
## LoadOnDemand: 1
## IconTexture: Interface\Icons\Spell_Frost_Frost
Json.lua
JsonDecode.lua

View File

@ -161,7 +161,7 @@ The Classic game client doesn't provide this information to addons because it wa
IceHUD.IceCore:SetScale(v)
end,
min = 0.2,
max = 2.0,
max = 4.0,
step = 0.05,
isPercent = true,
order = 14,
@ -426,6 +426,24 @@ The Classic game client doesn't provide this information to addons because it wa
hidden = not IceHUD.HasShellGame,
order = 36,
},
bHideDuringCataloging = {
type = 'toggle',
name = L["Hide during cataloging"],
desc = L["This will hide the entire mod when using the Dragonflight Cataloging camera."],
width = 'double',
get = function()
return IceHUD.IceCore.settings.bHideDuringCataloging
end,
set = function(info, value)
IceHUD.IceCore.settings.bHideDuringCataloging = value
if not value then
IceHUD.IceCore.IceHUDFrame:Show()
end
end,
hidden = not IceHUD.HasCataloging,
order = 36,
},
}
},

View File

@ -19,10 +19,11 @@ IceUnitBar.prototype.hasPet = 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_RUNIC_POWER = SPELL_POWER_INSANITY, SPELL_POWER_RAGE, SPELL_POWER_RUNIC_POWER
if Enum and Enum.PowerType then
SPELL_POWER_INSANITY = Enum.PowerType.Insanity
SPELL_POWER_RAGE = Enum.PowerType.Rage
SPELL_POWER_RUNIC_POWER = Enum.PowerType.RunicPower
end
-- Constructor --
@ -239,7 +240,9 @@ function IceUnitBar.prototype:Update()
-- so this technically doesn't get us the answer we want most of the time. too risky to change at this point, though.
self.mana = UnitPower(self.unit, UnitPowerType(self.unit))
self.maxMana = UnitPowerMax(self.unit, UnitPowerType(self.unit))
if UnitPowerType(self.unit) == SPELL_POWER_RAGE and self.maxMana == 1000 then
local powerType = UnitPowerType(self.unit)
if (powerType == SPELL_POWER_RAGE and self.maxMana == 1000)
or (powerType == SPELL_POWER_RUNIC_POWER and self.maxMana >= 1000) then
self.mana = IceHUD:MathRound(self.mana / 10)
self.maxMana = IceHUD:MathRound(self.maxMana / 10)
end

View File

@ -1,5 +1,45 @@
# Changelog
v1.14.23:
- Update Dragonflight TOC for 10.1.5
v1.14.22:
- Fixed reported issue with a Lua error on Wrath Classic clients. https://www.wowace.com/projects/ice-hud/issues/344
- Fixed Vigor module not working when riding Grotto Netherwing Drake (and theoretically all future Dragonriding mount types).
- Updated TOC for Wrath-Classic.
v1.14.21:
- Increased maximum scale/zoom to 400%, by request.
- Fixed TargetCC/FocusCC modules on Wrath Classic.
- Fixed disabled Buff/Debuff Watchers showing a static gray bar when set to When Missing or Always display modes.
- Fixed Buff/Debuff Watchers showing an empty bar when set to Missing mode. If the background was disabled, this looked like just a floating spell icon.
- Fixed spell icons sometimes not showing up for custom bars until the tracked spell had been cast once.
v1.14.20:
- Added Winding Slitherdrake as recognized for the Dragonriding Vigor module
v1.14.19:
- Updated TOCs for 10.1.0
- Added addon icon for 10.1.0 clients
- Fixed Dragonriding Vigor charges not showing up in 10.1.0
- Fixed Vigor not always updating correctly when loading into the game or a new zone
v1.14.18:
- Fixed Runic Power showing on a scale of 0-1000+ instead of 0-100+ with DogTags off
- Added option (enabled by default) to hide mod during cataloging.
- Fixed "Hide Blizzard Buffs" option on PlayerInfo causing errors and "?" icons when toggling off.
- Also hide Debuff frame if it exists (Dragonflight+) when enabling "Hide Blizzard Buffs" in the PlayerInfo module.
v1.14.17:
- Updated TOCs for 10.0.7
v1.14.16:
- Exposed the option in the Totems module to hide the Blizzard Totems frame or not, and changed the default value to not hide when on a version of the game that doesn't support right-clicking to destroy totems (any version after Wrath). This enables using the default Totems frame to cancel totems early.

View File

@ -83,6 +83,7 @@ function IceCustomBar.prototype:Enable(core)
self:FixupTextColors()
self:SetCustomTextColor(self.frame.bottomUpperText, self.moduleSettings.upperTextColor)
self:SetCustomTextColor(self.frame.bottomLowerText, self.moduleSettings.lowerTextColor)
self:UpdateAuraIcon()
end
function IceCustomBar.prototype:Disable(core)
@ -204,6 +205,7 @@ end
function IceCustomBar.prototype:Redraw()
IceCustomBar.super.prototype.Redraw(self)
self:UpdateAuraIcon()
self:UpdateCustomBar(self.unit)
end
@ -822,7 +824,11 @@ function IceCustomBar.prototype:UpdateCustomBar(unit, fromUpdate)
self:UpdateBar(self.auraDuration ~= 0 and remaining / self.auraDuration or 0, "undef")
else
self:UpdateBar(0, "undef")
local updateVal = 0
if self.moduleSettings.displayMode == displayModes.MISSING then
updateVal = 1
end
self:UpdateBar(updateVal, "undef")
self:Show(false)
if not self:ShouldAlwaysSubscribe() then
self.handlesOwnUpdates = false
@ -883,9 +889,14 @@ function IceCustomBar.prototype:Show(bShouldShow, bForceHide)
end
if self.moduleSettings.displayMode == displayModes.MISSING then
IceCustomBar.super.prototype.Show(self, not bShouldShow)
local show = not bShouldShow
if show and not self:IsEnabled() then
show = false
end
IceCustomBar.super.prototype.Show(self, show)
elseif self.moduleSettings.displayMode == displayModes.WHEN_TARGETING and self.target then
IceCustomBar.super.prototype.Show(self, true)
IceCustomBar.super.prototype.Show(self, self:IsEnabled())
elseif self.moduleSettings.displayMode == displayModes.ALWAYS then
if not self.bIsVisible then
IceCustomBar.super.prototype.Show(self, true)
@ -894,3 +905,13 @@ function IceCustomBar.prototype:Show(bShouldShow, bForceHide)
IceCustomBar.super.prototype.Show(self, bShouldShow)
end
end
function IceCustomBar.prototype:UpdateAuraIcon()
if not self.barFrame or not self.barFrame.icon then
return
end
local _, _, auraIcon = GetSpellInfo(self.moduleSettings.buffToTrack)
self.barFrame.icon:SetTexture(auraIcon)
end

View File

@ -6,10 +6,15 @@ local DragonridingBuffs = {
368896, -- Renewed Proto-Drake
368899, -- Windborn Velocidrake
368901, -- Cliffside Wylderdrake
368893, -- Winding Slitherdrake
412088, -- Grotto Netherwing Drake
}
local vigorWidgetSetID = 283
local vigorWidgetID = 4460
local knowsAlternateMountEnum = Enum and Enum.PowerType and Enum.PowerType.AlternateMount
local unitPowerType = Enum and Enum.PowerType and Enum.PowerType.AlternateMount
unitPowerType = unitPowerType or ALTERNATE_POWER_INDEX
function DragonridingVigor.prototype:init()
DragonridingVigor.super.prototype.init(self, "Vigor")
@ -18,7 +23,7 @@ function DragonridingVigor.prototype:init()
self.unit = "player"
self.numericColor = "VigorNumeric"
self.unitPower = ALTERNATE_POWER_INDEX
self.unitPower = unitPowerType
self.minLevel = 0
self.bTreatEmptyAsFull = false
self.runeWidth = self.runeHeight
@ -26,7 +31,7 @@ function DragonridingVigor.prototype:init()
end
function DragonridingVigor.prototype:Enable(core)
self.numRunes = UnitPowerMax(self.unit, ALTERNATE_POWER_INDEX)
self.numRunes = UnitPowerMax(self.unit, unitPowerType)
self.runeCoords = { }
for i = 1, self.numRunes do
self:SetupNewRune(i)
@ -41,7 +46,7 @@ end
function DragonridingVigor.prototype:EnteringWorld()
DragonridingVigor.super.prototype.EnteringWorld(self)
self:CheckShouldShow("player")
self:CheckShouldShow("PLAYER_ENTERING_WORLD", "player")
end
function DragonridingVigor.prototype:CheckShouldShow(event, unit, info)
@ -49,7 +54,9 @@ function DragonridingVigor.prototype:CheckShouldShow(event, unit, info)
return
end
if IceHUD:HasAnyBuff("player", DragonridingBuffs) then
if knowsAlternateMountEnum and UnitPowerMax(self.unit, unitPowerType) > 0 then
self:Show(true)
elseif IceHUD:HasAnyBuff("player", DragonridingBuffs) then
self:Show(true)
else
self:Show(false)
@ -151,6 +158,6 @@ function DragonridingVigor.prototype:HideBlizz()
end
-- Load us up
if ALTERNATE_POWER_INDEX and C_UIWidgetManager and C_UIWidgetManager.GetFillUpFramesWidgetVisualizationInfo then
if unitPowerType and C_UIWidgetManager and C_UIWidgetManager.GetFillUpFramesWidgetVisualizationInfo then
IceHUD.DragonridingVigor = DragonridingVigor:new()
end

View File

@ -115,16 +115,30 @@ end
function PlayerInfo.prototype:ShowBlizz()
BuffFrame:Show()
if DebuffFrame then
DebuffFrame:Show()
DebuffFrame:GetScript("OnLoad")(DebuffFrame)
if DebuffFrame.Update then
DebuffFrame:Update()
end
end
if TemporaryEnchantFrame then
TemporaryEnchantFrame:Show()
end
BuffFrame:GetScript("OnLoad")(BuffFrame)
if BuffFrame.Update then
BuffFrame:Update()
end
end
function PlayerInfo.prototype:HideBlizz()
BuffFrame:Hide()
if DebuffFrame then
DebuffFrame:Hide()
DebuffFrame:UnregisterAllEvents()
end
if TemporaryEnchantFrame then
TemporaryEnchantFrame:Hide()
end

View File

@ -360,7 +360,7 @@ function TargetCC.prototype:GetMaxDebuffDuration(unitName, debuffNames)
while debuff do
remaining = endTime - GetTime()
if debuffNames[spellId] and (not self.moduleSettings.onlyShowForMyDebuffs or isMine) then
if (debuffNames[spellId] or debuffNames[debuff]) and (not self.moduleSettings.onlyShowForMyDebuffs or isMine) then
if result[0] then
if result[2] < remaining then
result = {debuff, duration, remaining}

View File

@ -1,5 +1,45 @@
# Changelog
v1.14.23:
- Update Dragonflight TOC for 10.1.5
v1.14.22:
- Fixed reported issue with a Lua error on Wrath Classic clients. https://www.wowace.com/projects/ice-hud/issues/344
- Fixed Vigor module not working when riding Grotto Netherwing Drake (and theoretically all future Dragonriding mount types).
- Updated TOC for Wrath-Classic.
v1.14.21:
- Increased maximum scale/zoom to 400%, by request.
- Fixed TargetCC/FocusCC modules on Wrath Classic.
- Fixed disabled Buff/Debuff Watchers showing a static gray bar when set to When Missing or Always display modes.
- Fixed Buff/Debuff Watchers showing an empty bar when set to Missing mode. If the background was disabled, this looked like just a floating spell icon.
- Fixed spell icons sometimes not showing up for custom bars until the tracked spell had been cast once.
v1.14.20:
- Added Winding Slitherdrake as recognized for the Dragonriding Vigor module
v1.14.19:
- Updated TOCs for 10.1.0
- Added addon icon for 10.1.0 clients
- Fixed Dragonriding Vigor charges not showing up in 10.1.0
- Fixed Vigor not always updating correctly when loading into the game or a new zone
v1.14.18:
- Fixed Runic Power showing on a scale of 0-1000+ instead of 0-100+ with DogTags off
- Added option (enabled by default) to hide mod during cataloging.
- Fixed "Hide Blizzard Buffs" option on PlayerInfo causing errors and "?" icons when toggling off.
- Also hide Debuff frame if it exists (Dragonflight+) when enabling "Hide Blizzard Buffs" in the PlayerInfo module.
v1.14.17:
- Updated TOCs for 10.0.7
v1.14.16:
- Exposed the option in the Totems module to hide the Blizzard Totems frame or not, and changed the default value to not hide when on a version of the game that doesn't support right-clicking to destroy totems (any version after Wrath). This enables using the default Totems frame to cancel totems early.