mirror of
https://github.com/parnic/ice-hud.git
synced 2025-06-16 06:40:13 -05:00
- fixed 'inverse' mode to work with potential SnD bar
- expanded range of class power counters (shards, holy power) by request - fixed lacerate and sunder count modules to work with 3 max charges instead of 5 as per the new patch (these *really* need to go away and be auto-replaced by custom counters...) - yet another fix for text sometimes displaying the unit name for PetHealth - fixed how the 'second highest threat' bar is drawn so that it actually works with all textures
This commit is contained in:
@ -55,7 +55,7 @@ function IceBarElement.prototype:Enable()
|
||||
self.moduleSettings.reverse = false
|
||||
self.moduleSettings.inverse = true
|
||||
|
||||
self:SetBarFramePoints()
|
||||
self:SetBarFramePoints(self.barFrame)
|
||||
end
|
||||
end
|
||||
|
||||
@ -224,7 +224,7 @@ function IceBarElement.prototype:GetOptions()
|
||||
end,
|
||||
set = function(info, value)
|
||||
self.moduleSettings.inverse = value
|
||||
self:SetBarFramePoints()
|
||||
self:SetBarFramePoints(self.barFrame)
|
||||
self:Redraw()
|
||||
end,
|
||||
disabled = function()
|
||||
@ -243,7 +243,7 @@ function IceBarElement.prototype:GetOptions()
|
||||
end,
|
||||
set = function(info, value)
|
||||
self.moduleSettings.reverse = value
|
||||
self:SetBarFramePoints()
|
||||
self:SetBarFramePoints(self.barFrame)
|
||||
self:Redraw()
|
||||
end,
|
||||
disabled = function()
|
||||
@ -770,12 +770,12 @@ function IceBarElement.prototype:SetBarVisibility(visible)
|
||||
end
|
||||
end
|
||||
|
||||
function IceBarElement.prototype:SetBarFramePoints()
|
||||
self.barFrame:ClearAllPoints()
|
||||
function IceBarElement.prototype:SetBarFramePoints(frame)
|
||||
frame:ClearAllPoints()
|
||||
if (self.moduleSettings.inverse) then
|
||||
self.barFrame:SetPoint("TOPLEFT", self.frame, "TOPLEFT")
|
||||
frame:SetPoint("TOPLEFT", self.frame, "TOPLEFT")
|
||||
else
|
||||
self.barFrame:SetPoint("BOTTOMLEFT", self.frame, "BOTTOMLEFT")
|
||||
frame:SetPoint("BOTTOMLEFT", self.frame, "BOTTOMLEFT")
|
||||
end
|
||||
end
|
||||
|
||||
@ -894,7 +894,7 @@ function IceBarElement.prototype:CreateBar()
|
||||
end
|
||||
|
||||
self.barFrame:SetFrameStrata("LOW")
|
||||
self:SetBarFramePoints()
|
||||
self:SetBarFramePoints(self.barFrame)
|
||||
self.barFrame:SetWidth(self.settings.barWidth + (self.moduleSettings.widthModifier or 0))
|
||||
self.barFrame:SetHeight(self.settings.barHeight)
|
||||
|
||||
|
@ -35,7 +35,7 @@ function IceClassPowerCounter.prototype:GetOptions()
|
||||
self:Redraw()
|
||||
end,
|
||||
min = -300,
|
||||
max = 300,
|
||||
max = 700,
|
||||
step = 1,
|
||||
disabled = function()
|
||||
return not self.moduleSettings.enabled
|
||||
|
@ -2,6 +2,7 @@ local L = LibStub("AceLocale-3.0"):GetLocale("IceHUD", false)
|
||||
local LacerateCount = IceCore_CreateClass(IceElement)
|
||||
|
||||
LacerateCount.prototype.lacerateSize = 20
|
||||
LacerateCount.prototype.numLacerates = 3
|
||||
|
||||
-- Constructor --
|
||||
function LacerateCount.prototype:init()
|
||||
@ -137,6 +138,8 @@ function LacerateCount.prototype:GetOptions()
|
||||
order = 34
|
||||
}
|
||||
|
||||
opts.gradient.desc = string.gsub(opts.gradient.desc, "5", tostring(self.numLacerates))
|
||||
|
||||
return opts
|
||||
end
|
||||
|
||||
@ -188,7 +191,7 @@ function LacerateCount.prototype:CreateFrame()
|
||||
LacerateCount.super.prototype.CreateFrame(self)
|
||||
|
||||
self.frame:SetFrameStrata("BACKGROUND")
|
||||
self.frame:SetWidth(self.lacerateSize*5)
|
||||
self.frame:SetWidth(self.lacerateSize*self.numLacerates)
|
||||
self.frame:SetHeight(1)
|
||||
self.frame:ClearAllPoints()
|
||||
self.frame:SetPoint("TOP", self.parent, "BOTTOM", self.moduleSettings.hpos, self.moduleSettings.vpos)
|
||||
@ -216,7 +219,7 @@ function LacerateCount.prototype:CreateLacerateFrame(doTextureUpdate)
|
||||
end
|
||||
|
||||
-- create backgrounds
|
||||
for i = 1, 5 do
|
||||
for i = 1, self.numLacerates do
|
||||
if (not self.frame.graphicalBG[i]) then
|
||||
local frame = CreateFrame("Frame", nil, self.frame)
|
||||
self.frame.graphicalBG[i] = frame
|
||||
@ -247,7 +250,7 @@ function LacerateCount.prototype:CreateLacerateFrame(doTextureUpdate)
|
||||
end
|
||||
|
||||
-- create lacerates
|
||||
for i = 1, 5 do
|
||||
for i = 1, self.numLacerates do
|
||||
if (not self.frame.graphical[i]) then
|
||||
local frame = CreateFrame("Frame", nil, self.frame)
|
||||
self.frame.graphical[i] = frame
|
||||
@ -272,7 +275,7 @@ function LacerateCount.prototype:CreateLacerateFrame(doTextureUpdate)
|
||||
|
||||
local r, g, b = self:GetColor("LacerateCount")
|
||||
if (self.moduleSettings.gradient) then
|
||||
g = g - (0.15*i)
|
||||
g = g - ((0.75 / self.numLacerates) * i)
|
||||
end
|
||||
self.frame.graphical[i].texture:SetVertexColor(r, g, b)
|
||||
|
||||
@ -284,7 +287,7 @@ end
|
||||
function LacerateCount.prototype:UpdateLacerateCount()
|
||||
local points
|
||||
if IceHUD.IceCore:IsInConfigMode() then
|
||||
points = 5
|
||||
points = self.numLacerates
|
||||
else
|
||||
points = IceHUD:GetDebuffCount("target", "Ability_Druid_Lacerate", true)
|
||||
end
|
||||
@ -296,7 +299,7 @@ function LacerateCount.prototype:UpdateLacerateCount()
|
||||
if (self.moduleSettings.lacerateMode == "Numeric") then
|
||||
local r, g, b = self:GetColor("LacerateCount")
|
||||
if (self.moduleSettings.gradient and points) then
|
||||
g = g - (0.15*points)
|
||||
g = g - ((0.75 / self.numLacerates) * points)
|
||||
end
|
||||
self.frame.numeric:SetTextColor(r, g, b, 0.7)
|
||||
|
||||
|
@ -34,21 +34,14 @@ end
|
||||
|
||||
|
||||
-- OVERRIDE
|
||||
--[[
|
||||
function PetHealth.prototype:CreateFrame()
|
||||
PetHealth.super.prototype.CreateFrame(self)
|
||||
|
||||
local point, relativeTo, relativePoint, xoff, yoff = self.frame.bottomUpperText:GetPoint()
|
||||
if (point == "TOPLEFT") then
|
||||
point = "BOTTOMLEFT"
|
||||
else
|
||||
point = "BOTTOMRIGHT"
|
||||
if not UnitExists(self.unit) then
|
||||
self.frame.bottomUpperText:Hide()
|
||||
self.frame.bottomLowerText:Hide()
|
||||
end
|
||||
|
||||
self.frame.bottomUpperText:ClearAllPoints()
|
||||
self.frame.bottomUpperText:SetPoint(point, relativeTo, relativePoint, 0, 0)
|
||||
end
|
||||
]]
|
||||
|
||||
function PetHealth.prototype:Enable(core)
|
||||
PetHealth.super.prototype.Enable(self, core)
|
||||
|
@ -141,6 +141,7 @@ function SliceAndDice.prototype:CreateDurationBar()
|
||||
end
|
||||
|
||||
self.durationFrame:SetFrameStrata("BACKGROUND")
|
||||
self:SetBarFramePoints(self.durationFrame)
|
||||
self.durationFrame:SetWidth(self.settings.barWidth + (self.moduleSettings.widthModifier or 0))
|
||||
self.durationFrame:SetHeight(self.settings.barHeight)
|
||||
|
||||
@ -149,17 +150,12 @@ function SliceAndDice.prototype:CreateDurationBar()
|
||||
end
|
||||
|
||||
self.durationFrame.bar:SetTexture(IceElement.TexturePath .. self:GetMyBarTexture())
|
||||
self.durationFrame.bar:SetPoint("BOTTOMLEFT",self.frame,"BOTTOMLEFT")
|
||||
self.durationFrame.bar:SetPoint("BOTTOMRIGHT",self.frame,"BOTTOMRIGHT")
|
||||
|
||||
self.durationFrame.bar:SetAllPoints(self.durationFrame)
|
||||
self.durationFrame.bar:SetVertexColor(self:GetColor("SliceAndDicePotential", self.alpha * self.moduleSettings.durationAlpha))
|
||||
self.durationFrame.bar:SetHeight(0)
|
||||
|
||||
self:UpdateBar(1, "undef")
|
||||
|
||||
self.durationFrame:ClearAllPoints()
|
||||
self.durationFrame:SetPoint("BOTTOM", self.frame, "BOTTOM", 0, 0)
|
||||
|
||||
-- force update the bar...if we're in here, then either the UI was just loaded or the player is jacking with the options.
|
||||
-- either way, make sure the duration bar matches accordingly
|
||||
self:UpdateDurationBar()
|
||||
@ -295,12 +291,23 @@ function SliceAndDice.prototype:UpdateDurationBar(event, unit)
|
||||
scale = IceHUD:Clamp(PotentialSnDDuration / CurrMaxSnDDuration, 0, 1)
|
||||
|
||||
-- sadly, animation uses bar-local variables so we can't use the animation for 2 bar textures on the same bar element
|
||||
if (self.moduleSettings.side == IceCore.Side.Left) then
|
||||
self.durationFrame.bar:SetTexCoord(1, 0, 1-scale, 1)
|
||||
else
|
||||
self.durationFrame.bar:SetTexCoord(0, 1, 1-scale, 1)
|
||||
if (self.moduleSettings.reverse) then
|
||||
scale = 1 - scale
|
||||
end
|
||||
self.durationFrame.bar:SetHeight(self.settings.barHeight * scale)
|
||||
if (self.moduleSettings.inverse) then
|
||||
min_y = 0
|
||||
max_y = scale
|
||||
else
|
||||
min_y = 1-scale
|
||||
max_y = 1
|
||||
end
|
||||
|
||||
if (self.moduleSettings.side == IceCore.Side.Left) then
|
||||
self.durationFrame.bar:SetTexCoord(1, 0, min_y, max_y)
|
||||
else
|
||||
self.durationFrame.bar:SetTexCoord(0, 1, min_y, max_y)
|
||||
end
|
||||
self.durationFrame:SetHeight(self.settings.barHeight * scale)
|
||||
|
||||
if scale == 0 then
|
||||
self.durationFrame.bar:Hide()
|
||||
|
@ -2,6 +2,7 @@ local L = LibStub("AceLocale-3.0"):GetLocale("IceHUD", false)
|
||||
local SunderCount = IceCore_CreateClass(IceElement)
|
||||
|
||||
SunderCount.prototype.sunderSize = 20
|
||||
SunderCount.prototype.numSunders = 3
|
||||
|
||||
-- Constructor --
|
||||
function SunderCount.prototype:init()
|
||||
@ -117,6 +118,8 @@ function SunderCount.prototype:GetOptions()
|
||||
order = 34
|
||||
}
|
||||
|
||||
opts.gradient.desc = string.gsub(opts.gradient.desc, "5", tostring(self.numSunders))
|
||||
|
||||
return opts
|
||||
end
|
||||
|
||||
@ -167,7 +170,7 @@ function SunderCount.prototype:CreateFrame()
|
||||
SunderCount.super.prototype.CreateFrame(self)
|
||||
|
||||
self.frame:SetFrameStrata("BACKGROUND")
|
||||
self.frame:SetWidth(self.sunderSize*5)
|
||||
self.frame:SetWidth(self.sunderSize*self.numSunders)
|
||||
self.frame:SetHeight(1)
|
||||
self.frame:ClearAllPoints()
|
||||
self.frame:SetPoint("TOP", self.parent, "BOTTOM", 0, self.moduleSettings.vpos)
|
||||
@ -195,7 +198,7 @@ function SunderCount.prototype:CreateSunderFrame(doTextureUpdate)
|
||||
end
|
||||
|
||||
-- create backgrounds
|
||||
for i = 1, 5 do
|
||||
for i = 1, self.numSunders do
|
||||
if (not self.frame.graphicalBG[i]) then
|
||||
local frame = CreateFrame("Frame", nil, self.frame)
|
||||
self.frame.graphicalBG[i] = frame
|
||||
@ -226,7 +229,7 @@ function SunderCount.prototype:CreateSunderFrame(doTextureUpdate)
|
||||
end
|
||||
|
||||
-- create sunders
|
||||
for i = 1, 5 do
|
||||
for i = 1, self.numSunders do
|
||||
if (not self.frame.graphical[i]) then
|
||||
local frame = CreateFrame("Frame", nil, self.frame)
|
||||
self.frame.graphical[i] = frame
|
||||
@ -251,7 +254,7 @@ function SunderCount.prototype:CreateSunderFrame(doTextureUpdate)
|
||||
|
||||
local r, g, b = self:GetColor("SunderCount")
|
||||
if (self.moduleSettings.gradient) then
|
||||
g = g - (0.15*i)
|
||||
g = g - ((0.75 / self.numSunders) * i)
|
||||
end
|
||||
self.frame.graphical[i].texture:SetVertexColor(r, g, b)
|
||||
|
||||
@ -263,7 +266,7 @@ end
|
||||
function SunderCount.prototype:UpdateSunderCount()
|
||||
local points
|
||||
if IceHUD.IceCore:IsInConfigMode() then
|
||||
points = 5
|
||||
points = self.numSunders
|
||||
else
|
||||
points = IceHUD:GetDebuffCount("target", "Ability_Warrior_Sunder")
|
||||
end
|
||||
@ -275,7 +278,7 @@ function SunderCount.prototype:UpdateSunderCount()
|
||||
if (self.moduleSettings.sunderMode == "Numeric") then
|
||||
local r, g, b = self:GetColor("SunderCount")
|
||||
if (self.moduleSettings.gradient and points) then
|
||||
g = g - (0.15*points)
|
||||
g = g - ((0.75 / self.numSunders) * points)
|
||||
end
|
||||
self.frame.numeric:SetTextColor(r, g, b, 0.7)
|
||||
|
||||
|
@ -240,12 +240,7 @@ function IceThreat.prototype:CreateSecondThreatBar()
|
||||
self.secondThreatBar:SetFrameStrata("MEDIUM")
|
||||
self.secondThreatBar:SetWidth(self.settings.barWidth + (self.moduleSettings.widthModifier or 0))
|
||||
self.secondThreatBar:SetHeight(self.settings.barHeight)
|
||||
self.secondThreatBar:ClearAllPoints()
|
||||
if self.moduleSettings.inverse then
|
||||
self.secondThreatBar:SetPoint("TOPLEFT", self.frame, "TOPLEFT")
|
||||
else
|
||||
self.secondThreatBar:SetPoint("BOTTOMLEFT", self.frame, "BOTTOMLEFT")
|
||||
end
|
||||
self:SetBarFramePoints(self.secondThreatBar)
|
||||
|
||||
if not (self.secondThreatBar.bar) then
|
||||
self.secondThreatBar.bar = self.secondThreatBar:CreateTexture(nil, "OVERLAY")
|
||||
@ -416,17 +411,21 @@ function IceThreat.prototype:UpdateSecondHighestThreatBar(secondHighestThreat, t
|
||||
pos = 1-pos
|
||||
end
|
||||
|
||||
local min_y = 0
|
||||
local max_y = pos
|
||||
if self.moduleSettings.inverse then
|
||||
if (self.moduleSettings.reverse) then
|
||||
pos = 1 - pos
|
||||
end
|
||||
if (self.moduleSettings.inverse) then
|
||||
min_y = 0
|
||||
max_y = pos
|
||||
else
|
||||
min_y = 1-pos
|
||||
max_y = 1
|
||||
end
|
||||
|
||||
if ( self.moduleSettings.side == IceCore.Side.Left ) then
|
||||
self.secondThreatBar.bar:SetTexCoord(1, 0, max_y, min_y)
|
||||
self.secondThreatBar.bar:SetTexCoord(1, 0, min_y, max_y)
|
||||
else
|
||||
self.secondThreatBar.bar:SetTexCoord(0, 1, max_y, min_y)
|
||||
self.secondThreatBar.bar:SetTexCoord(0, 1, min_y, max_y)
|
||||
end
|
||||
|
||||
local r, g, b = self:GetColor("ThreatSecondPlace")
|
||||
|
Reference in New Issue
Block a user