Compare commits

...

17 Commits

Author SHA1 Message Date
a739b7ba99 Set stagger max to 100 by request 2017-01-11 16:04:41 -06:00
176603ec51 Updated changelog 2016-12-24 01:04:57 -06:00
0cdfde1758 Fixed Holy Word: Serenity not being trackable in CD modules
Pre-7.0 the Holy Word spells did not work with GetSpellCooldown. They do now.
2016-12-24 01:04:09 -06:00
2f7b081790 Updated changelog 2016-12-22 13:53:18 -06:00
b7883036fd Fixed existing counters showing 0 on the screen
For any user that had existing counters (such as anyone who had savedata from before the time that Maelstrom, Lacerate, and Sunder were converted to custom counters automatically) in numeric mode, a 0 or faded graphical icon was showing up all the time after the recent change to enable showing empty counters. Now there's a checkbox for whether you want the empty/0 count to show or not.
2016-12-22 13:27:14 -06:00
dd3371c22c Updated changelog 2016-12-22 00:28:19 -06:00
7e65e506c5 Updated compatible-with to 7.0
Updated wowace project URL
Updated changelog
2016-12-07 23:34:59 -06:00
ce1558a18e Inverted alpha settings for custom counters watching spell charges
For charges, being full is the default state, so we need to treat full the same as health or mana being full. (ticket #231)
Also fixed the "target" variable never getting set on custom counters or custom counter bars because they were overriding the PLAYER_TARGET_CHANGED event that the base class was registering.
Also also fixed numeric display mode for custom counters not using the correct gradient scaling when the number hit 0. It was using the same scaling as graphical mode where 0 displays nothing and needs to be accounted for separately.
2016-12-07 23:28:44 -06:00
49f8a6c6b2 Fixed numeric custom count not hiding appropriately
The numeric frame needed to be parented to the module's frame so it hides and shows itself along with the module.
2016-12-07 23:20:05 -06:00
d9bd5e3f36 Changed default DogTags to shorten values
This change is potentially contentious because it's a very old default, but with health and power values being so incredibly high in Legion, the shortened form of values is immensely more readable. This change will not affect those who have modified their text settings and the Short form only kicks in when values hit 10,000 or higher.
2016-11-06 14:17:37 -06:00
151e54746f Fixed possible error generated in custom counters
Somehow even though "maxCount" is forced to a number any time it's configured in the UI, a user ended up with maxCount as a string in his saved variables. The mod was then trying to compare a string to a number and failing, causing a cascade of errors.
2016-11-06 13:39:20 -06:00
d7505b73b1 Fixed possible infinite loop in custom counters
Only try to redraw if the maximum count exceeds the numbers of frames we have to display the count. If the maximum drops below the number of frames we have to display it, that's fine because the excess frames will just be hidden.
2016-11-05 21:12:13 -05:00
f10a647590 Updated a few CC spells 2016-11-02 00:06:06 -05:00
54bd441f16 Updated changelog 2016-10-28 10:42:35 -05:00
4a7212fc00 Updated TOC for options module 2016-10-28 10:42:35 -05:00
e6f87b52bb Speculative fix for reported problem
There's a case where custom counters seemingly get stuck with an outdated maximum number of charges (perhaps only when augmented by a talent such as with Throw Glaive). This may catch and fix it (I couldn't reproduce the problem with a starter DH since you need level 108 or something to get the second charge for Throw Glaive).
2016-10-27 23:24:14 -05:00
d38c32cf34 Updated changelog 2016-10-26 11:42:34 -05:00
15 changed files with 87 additions and 31 deletions

View File

@ -6,9 +6,9 @@
## Version: @project-version@ ## Version: @project-version@
## SavedVariables: IceCoreDB ## SavedVariables: IceCoreDB
## OptionalDeps: Ace3, LibSharedMedia-3.0, LibDogTag-3.0, LibDogTag-Unit-3.0, LibRangeCheck-2.0, LibDualSpec-1.0, LibDBIcon-1.0, AceGUI-3.0-SharedMediaWidgets ## OptionalDeps: Ace3, LibSharedMedia-3.0, LibDogTag-3.0, LibDogTag-Unit-3.0, LibRangeCheck-2.0, LibDualSpec-1.0, LibDBIcon-1.0, AceGUI-3.0-SharedMediaWidgets
## X-Compatible-With: 60200 ## X-Compatible-With: 70000
## X-Category: HUDs ## X-Category: HUDs
## X-Website: http://www.wowace.com/addons/ice-hud/ ## X-Website: https://www.wowace.com/projects/ice-hud
## X-WoWI-ID: 8149 ## X-WoWI-ID: 8149
#@no-lib-strip@ #@no-lib-strip@

View File

@ -1,4 +1,4 @@
## Interface: 70000 ## Interface: 70100
## Title: IceHUD |cff7fff7f-Options-|r ## Title: IceHUD |cff7fff7f-Options-|r
## Author: Parnic ## Author: Parnic
## Version: @project-version@ ## Version: @project-version@

View File

@ -112,7 +112,7 @@ function IceStackCounter_GetMaxCount(frame)
local _, max = GetSpellCharges(frame.moduleSettings.auraName) local _, max = GetSpellCharges(frame.moduleSettings.auraName)
return max or 1 return max or 1
else else
return frame.moduleSettings.maxCount return tonumber(frame.moduleSettings.maxCount)
end end
end end
@ -130,7 +130,6 @@ function IceStackCounter_Enable(frame)
frame:RegisterEvent("UNIT_PET", "UpdateCustomCount") frame:RegisterEvent("UNIT_PET", "UpdateCustomCount")
frame:RegisterEvent("PLAYER_PET_CHANGED", "UpdateCustomCount") frame:RegisterEvent("PLAYER_PET_CHANGED", "UpdateCustomCount")
frame:RegisterEvent("PLAYER_FOCUS_CHANGED", "UpdateCustomCount") frame:RegisterEvent("PLAYER_FOCUS_CHANGED", "UpdateCustomCount")
frame:RegisterEvent("PLAYER_TARGET_CHANGED", "UpdateCustomCount")
frame:RegisterEvent("PLAYER_DEAD", "UpdateCustomCount") frame:RegisterEvent("PLAYER_DEAD", "UpdateCustomCount")
frame:RegisterEvent("SPELL_UPDATE_CHARGES", "UpdateCustomCount") frame:RegisterEvent("SPELL_UPDATE_CHARGES", "UpdateCustomCount")
@ -171,5 +170,9 @@ function IceStackCounter_GetCount(frame)
end end
function IceStackCounter_UseTargetAlpha(frame) function IceStackCounter_UseTargetAlpha(frame)
return frame.lastPoints ~= nil and frame.lastPoints > 0 if frame.moduleSettings.auraType == "charges" then
return IceStackCounter_GetCount(frame) ~= IceStackCounter_GetMaxCount(frame) or frame.target or frame.combat
else
return frame.lastPoints ~= nil and frame.lastPoints > 0
end
end end

View File

@ -1,3 +1,26 @@
v1.10.14:
- Fixed Holy Word: Serenity not being trackable in the Custom Cooldown module (ticket #232).
- Updated Stagger bar to allow the user to set the max to 100% if desired.
v1.10.13.1:
- Fixed "0" showing up for some users after 1.10.13 by adding a "show when zero" checkbox to custom counters (disabled by default). Anyone who has used IceHUD for a very long time has automatically-converted custom counter modules that replaced the old "maelstrom", "lacerate", and "sunder" modules that used to exist, each of which exhibited the behavior after the last update.
v1.10.13:
- Fixed alpha settings for spell charges on custom counter bars and stack counters to treat "full" the same way a Mana or Health bar would. Previously these treated "full" as "empty" for charges because that's how buff/debuff stacking should work (ticket #231).
- Fixed custom counters in numeric mode not hiding the count properly.
v1.10.12:
- Tweaked a few Druid CCs in the CC modules. If you've got a more up-to-date list of any of the CCs, please send them along to icehud@parnic.com
- Fixed a problem that could cause a custom counter to loop forever and cause framerate problems. (ticket #230)
- Updated default text values for Health and Mana modules to show values in shortened form so they're more readable. Anyone who has customized their text will not be affected by this change and the shortened form only kicks in once values reach 10,000.
v1.10.11:
- Updated TOC for IceHUD_Options module
- Fixed custom stack counters in graphical mode tracking spell charges failing to update when the maximum number of charges changes (such as with a talented 2-charge Demon Hunter Throw Glaive)
v1.10.10.1:
- Fixed the old energy ticker showing up in 7.1.
v1.10.10: v1.10.10:
- Updated TOC for 7.1 - Updated TOC for 7.1
- Re-enabled PlayerAbsorb by default by popular demand. - Re-enabled PlayerAbsorb by default by popular demand.

View File

@ -21,11 +21,6 @@ IceCustomCDBar.prototype.cooldownDuration = 0
IceCustomCDBar.prototype.cooldownEndTime = 0 IceCustomCDBar.prototype.cooldownEndTime = 0
IceCustomCDBar.prototype.coolingDown = false IceCustomCDBar.prototype.coolingDown = false
-- super temp...remove this when blizzard fixes these spells to work by name with GetSpellCooldown()
local brokenSpellsNameToId = {}
table.insert(brokenSpellsNameToId, {"Holy Word: Serenity",88684})
table.insert(brokenSpellsNameToId, {"Holy Word: Sanctuary",88685})
-- Constructor -- -- Constructor --
function IceCustomCDBar.prototype:init() function IceCustomCDBar.prototype:init()
IceCustomCDBar.super.prototype.init(self, "MyCustomCDBar") IceCustomCDBar.super.prototype.init(self, "MyCustomCDBar")
@ -821,14 +816,6 @@ function IceCustomCDBar.prototype:IsReady()
end end
function IceCustomCDBar.prototype:GetSpellNameOrId(spellName) function IceCustomCDBar.prototype:GetSpellNameOrId(spellName)
-- super temp hax. certain spells (the new 'morphing' spells) do not work by name with GetSpellCooldown(), only id.
for i=1,#brokenSpellsNameToId do
if spellName == brokenSpellsNameToId[i][1] then
spellName = brokenSpellsNameToId[i][2]
break
end
end
return spellName return spellName
end end

View File

@ -245,6 +245,23 @@ function IceCustomCount.prototype:GetOptions()
order = 34 order = 34
} }
opts["showWhenZero"] = {
type = 'toggle',
name = L["Show when zero"],
desc = L["Whether or not to show the counter when the value is zero. This will cause a 0 to be displayed at all times for Numeric mode and faded markers for graphical mode."],
get = function()
return self.moduleSettings.showWhenZero
end,
set = function(info, v)
self.moduleSettings.showWhenZero = v
self:Redraw()
end,
disabled = function()
return not self.moduleSettings.enabled
end,
order = 35,
}
return opts return opts
end end
@ -296,6 +313,11 @@ function IceCustomCount.prototype:Enable(core)
self:UpdateCustomCount() self:UpdateCustomCount()
end end
function IceCustomCount.prototype:TargetChanged()
IceCustomCount.super.prototype.TargetChanged(self)
self:UpdateCustomCount()
end
-- 'Protected' methods -------------------------------------------------------- -- 'Protected' methods --------------------------------------------------------
@ -324,7 +346,7 @@ end
function IceCustomCount.prototype:CreateCustomFrame(doTextureUpdate) function IceCustomCount.prototype:CreateCustomFrame(doTextureUpdate)
-- create numeric counts -- create numeric counts
self.frame.numeric = self:FontFactory(self.moduleSettings.countFontSize, nil, self.frame.numeric) self.frame.numeric = self:FontFactory(self.moduleSettings.countFontSize, self.frame, self.frame.numeric)
self.frame.numeric:SetWidth(50) self.frame.numeric:SetWidth(50)
self.frame.numeric:SetJustifyH("CENTER") self.frame.numeric:SetJustifyH("CENTER")
@ -421,6 +443,9 @@ function IceCustomCount.prototype:GetGradientColor(curr)
local r, g, b = self:GetCustomColor() local r, g, b = self:GetCustomColor()
local mr, mg, mb = self:GetCustomMinColor() local mr, mg, mb = self:GetCustomMinColor()
local scale = max > 1 and ((curr-1)/(max-1)) or 1 local scale = max > 1 and ((curr-1)/(max-1)) or 1
if self.moduleSettings.countMode == "Numeric" and self.moduleSettings.showWhenZero then
scale = max > 1 and (curr/max) or 1
end
r = r * scale + mr * (1-scale) r = r * scale + mr * (1-scale)
g = g * scale + mg * (1-scale) g = g * scale + mg * (1-scale)
@ -436,6 +461,15 @@ function IceCustomCount.prototype:UpdateCustomCount()
end end
local points = IceStackCounter_GetCount(self) local points = IceStackCounter_GetCount(self)
if not points and self.moduleSettings.showWhenZero then
points = 0
end
local max = IceStackCounter_GetMaxCount(self)
if max > #self.frame.graphical then
self:Redraw()
return
end
if (self.moduleSettings.countMode == "Numeric") then if (self.moduleSettings.countMode == "Numeric") then
local r, g, b = self:GetCustomColor() local r, g, b = self:GetCustomColor()

View File

@ -250,6 +250,11 @@ function IceCustomCounterBar.prototype:Enable(core)
IceStackCounter_Enable(self) IceStackCounter_Enable(self)
end end
function IceCustomCounterBar.prototype:TargetChanged()
IceCustomCount.super.prototype.TargetChanged(self)
self:UpdateCustomCount()
end
function IceCustomCounterBar.prototype:Redraw() function IceCustomCounterBar.prototype:Redraw()
IceCustomCounterBar.super.prototype.Redraw(self) IceCustomCounterBar.super.prototype.Redraw(self)
@ -319,7 +324,7 @@ function IceCustomCounterBar.prototype:UpdateCustomCount()
self.barFrame.icon:Show() self.barFrame.icon:Show()
end end
if points == nil or points == 0 then if (points == nil or points == 0) and self.moduleSettings.auraType ~= "charges" then
self:Show(false) self:Show(false)
self:UpdateBar(0, "undef") self:UpdateBar(0, "undef")
else else
@ -343,3 +348,7 @@ end
function IceCustomCounterBar.prototype:Update() function IceCustomCounterBar.prototype:Update()
self:UpdateCustomCount() self:UpdateCustomCount()
end end
function IceCustomCounterBar.prototype:UseTargetAlpha(scale)
return IceStackCounter_UseTargetAlpha(self)
end

View File

@ -29,7 +29,7 @@ function PlayerHealth.prototype:GetDefaultSettings()
settings["hideBlizz"] = false settings["hideBlizz"] = false
settings["hideBlizzParty"] = false settings["hideBlizzParty"] = false
settings["upperText"] = "[PercentHP:Round]" settings["upperText"] = "[PercentHP:Round]"
settings["lowerText"] = "[FractionalHP:HPColor:Bracket]" settings["lowerText"] = "[FractionalHP:Short:HPColor:Bracket]"
settings["allowMouseInteraction"] = false settings["allowMouseInteraction"] = false
settings["allowMouseInteractionCombat"] = false settings["allowMouseInteractionCombat"] = false
settings["healAlpha"] = 0.6 settings["healAlpha"] = 0.6

View File

@ -34,7 +34,7 @@ function PlayerMana.prototype:GetDefaultSettings()
settings["tickerEnabled"] = true settings["tickerEnabled"] = true
settings["tickerAlpha"] = 0.5 settings["tickerAlpha"] = 0.5
settings["upperText"] = "[PercentMP:Round]" settings["upperText"] = "[PercentMP:Round]"
settings["lowerText"] = "[FractionalMP:PowerColor]" settings["lowerText"] = "[FractionalMP:Short:PowerColor]"
return settings return settings
end end

View File

@ -71,7 +71,7 @@ function StaggerBar.prototype:GetOptions()
name = "Max Percent", name = "Max Percent",
desc = "Maximum percentage of your maximum health for the Stagger bar to represent. I.e, if set to 20%, the bar will be full when the Stagger damage over time effect is dealing 20% of your maximum health per second.", desc = "Maximum percentage of your maximum health for the Stagger bar to represent. I.e, if set to 20%, the bar will be full when the Stagger damage over time effect is dealing 20% of your maximum health per second.",
min = 0, min = 0,
max = 50, max = 100,
step = 1, step = 1,
get = function() get = function()
return self.moduleSettings.maxPercent return self.moduleSettings.maxPercent

View File

@ -35,9 +35,9 @@ local StunCCList = {
-- bash -- bash
5211, 5211,
-- Maim -- Maim
22570, 203123,
-- pounce -- Rake
9005, 163505,
-- war stomp -- war stomp
20549, 20549,
-- deep freeze -- deep freeze

View File

@ -43,7 +43,7 @@ function IceTargetHealth.prototype:GetDefaultSettings()
settings["classColor"] = false settings["classColor"] = false
settings["hideBlizz"] = false settings["hideBlizz"] = false
settings["upperText"] = "[PercentHP:Round]" settings["upperText"] = "[PercentHP:Round]"
settings["lowerText"] = "[(HP:Round \"/\" MaxHP:Round):HPColor:Bracket]" settings["lowerText"] = "[FractionalHP:Short:HPColor:Bracket]"
settings["raidIconOnTop"] = true settings["raidIconOnTop"] = true
settings["showRaidIcon"] = true settings["showRaidIcon"] = true
settings["raidIconXOffset"] = 12 settings["raidIconXOffset"] = 12

View File

@ -33,7 +33,7 @@ function IceTargetMana.prototype:GetDefaultSettings()
settings["side"] = IceCore.Side.Right settings["side"] = IceCore.Side.Right
settings["offset"] = 2 settings["offset"] = 2
settings["upperText"] = "[PercentMP:Round]" settings["upperText"] = "[PercentMP:Round]"
settings["lowerText"] = "[FractionalMP:PowerColor]" settings["lowerText"] = "[FractionalMP:Short:PowerColor]"
settings["onlyShowMana"] = false settings["onlyShowMana"] = false
return settings return settings

View File

@ -24,7 +24,7 @@ function TargetTargetHealth.prototype:GetDefaultSettings()
settings["selfColor"] = { r = 0, g = 0, b = 1 } settings["selfColor"] = { r = 0, g = 0, b = 1 }
settings["selfDisplayMode"] = "Color as SelfColor" settings["selfDisplayMode"] = "Color as SelfColor"
settings["upperText"] = "[PercentHP:Round]" settings["upperText"] = "[PercentHP:Round]"
settings["lowerText"] = "[(HP:Round \"/\" MaxHP:Round):HPColor:Bracket]" settings["lowerText"] = "[FractionalHP:Short:HPColor:Bracket]"
settings["barVerticalOffset"] = 35 settings["barVerticalOffset"] = 35
settings["scale"] = 0.7 settings["scale"] = 0.7
settings["enabled"] = false settings["enabled"] = false

View File

@ -21,7 +21,7 @@ function TargetTargetMana.prototype:GetDefaultSettings()
settings["side"] = IceCore.Side.Right settings["side"] = IceCore.Side.Right
settings["offset"] = 11 settings["offset"] = 11
settings["upperText"] = "[PercentMP:Round]" settings["upperText"] = "[PercentMP:Round]"
settings["lowerText"] = "[FractionalMP:PowerColor]" settings["lowerText"] = "[FractionalMP:Short:PowerColor]"
settings["barVerticalOffset"] = 35 settings["barVerticalOffset"] = 35
settings["scale"] = 0.7 settings["scale"] = 0.7
settings["enabled"] = false settings["enabled"] = false