mirror of
https://github.com/parnic/ice-hud.git
synced 2025-06-16 14:50:13 -05:00
- added individual checkboxes to show buffs/debuffs in any info module that derives from (or is) TargetInfo (which should be all of them)
This commit is contained in:
@ -258,10 +258,27 @@ function IceTargetInfo.prototype:GetOptions()
|
|||||||
order = 35
|
order = 35
|
||||||
}
|
}
|
||||||
|
|
||||||
|
opts["showBuffs"] = {
|
||||||
|
type = 'toggle',
|
||||||
|
name = 'Show buffs',
|
||||||
|
desc = 'Toggles whether or not buffs are displayed at all',
|
||||||
|
get = function()
|
||||||
|
return self.moduleSettings.showBuffs
|
||||||
|
end,
|
||||||
|
set = function(v)
|
||||||
|
self.moduleSettings.showBuffs = v
|
||||||
|
self:RedrawBuffs()
|
||||||
|
end,
|
||||||
|
disabled = function()
|
||||||
|
return not self.moduleSettings.enabled
|
||||||
|
end,
|
||||||
|
order = 36
|
||||||
|
}
|
||||||
|
|
||||||
opts["filterBuffs"] = {
|
opts["filterBuffs"] = {
|
||||||
type = 'text',
|
type = 'text',
|
||||||
name = 'Filter buffs',
|
name = 'Only show buffs by me',
|
||||||
desc = 'Toggles filtering buffs (uses Blizzard default filter code)',
|
desc = 'Will only show buffs that you cast instead of all buffs active',
|
||||||
get = function()
|
get = function()
|
||||||
return self.moduleSettings.filterBuffs
|
return self.moduleSettings.filterBuffs
|
||||||
end,
|
end,
|
||||||
@ -270,16 +287,33 @@ function IceTargetInfo.prototype:GetOptions()
|
|||||||
self:RedrawBuffs()
|
self:RedrawBuffs()
|
||||||
end,
|
end,
|
||||||
disabled = function()
|
disabled = function()
|
||||||
return not self.moduleSettings.enabled
|
return not self.moduleSettings.enabled or not self.moduleSettings.showBuffs
|
||||||
end,
|
end,
|
||||||
validate = { "Never", "In Combat", "Always" },
|
validate = { "Never", "In Combat", "Always" },
|
||||||
order = 36
|
order = 36.1
|
||||||
|
}
|
||||||
|
|
||||||
|
opts["showDebuffs"] = {
|
||||||
|
type = 'toggle',
|
||||||
|
name = 'Show debuffs',
|
||||||
|
desc = 'Toggles whether or not debuffs are displayed at all',
|
||||||
|
get = function()
|
||||||
|
return self.moduleSettings.showDebuffs
|
||||||
|
end,
|
||||||
|
set = function(v)
|
||||||
|
self.moduleSettings.showDebuffs = v
|
||||||
|
self:RedrawBuffs()
|
||||||
|
end,
|
||||||
|
disabled = function()
|
||||||
|
return not self.moduleSettings.enabled
|
||||||
|
end,
|
||||||
|
order = 36.2
|
||||||
}
|
}
|
||||||
|
|
||||||
opts["filterDebuffs"] = {
|
opts["filterDebuffs"] = {
|
||||||
type = 'text',
|
type = 'text',
|
||||||
name = 'Filter debuffs',
|
name = 'Only show debuffs by me',
|
||||||
desc = 'Toggles filtering debuffs (uses Blizzard default filter code)',
|
desc = 'Will only show debuffs that you cast instead of all debuffs active',
|
||||||
get = function()
|
get = function()
|
||||||
return self.moduleSettings.filterDebuffs
|
return self.moduleSettings.filterDebuffs
|
||||||
end,
|
end,
|
||||||
@ -288,10 +322,10 @@ function IceTargetInfo.prototype:GetOptions()
|
|||||||
self:RedrawBuffs()
|
self:RedrawBuffs()
|
||||||
end,
|
end,
|
||||||
disabled = function()
|
disabled = function()
|
||||||
return not self.moduleSettings.enabled
|
return not self.moduleSettings.enabled or not self.moduleSettings.showDebuffs
|
||||||
end,
|
end,
|
||||||
validate = { "Never", "In Combat", "Always" },
|
validate = { "Never", "In Combat", "Always" },
|
||||||
order = 36.1
|
order = 36.3
|
||||||
}
|
}
|
||||||
|
|
||||||
opts["perRow"] = {
|
opts["perRow"] = {
|
||||||
@ -333,7 +367,7 @@ function IceTargetInfo.prototype:GetOptions()
|
|||||||
self:CreateBuffFrame()
|
self:CreateBuffFrame()
|
||||||
end,
|
end,
|
||||||
disabled = function()
|
disabled = function()
|
||||||
return not self.moduleSettings.enabled
|
return not self.moduleSettings.enabled or not self.moduleSettings.showBuffs
|
||||||
end,
|
end,
|
||||||
order = 37.1
|
order = 37.1
|
||||||
}
|
}
|
||||||
@ -351,7 +385,7 @@ function IceTargetInfo.prototype:GetOptions()
|
|||||||
self:CreateBuffFrame()
|
self:CreateBuffFrame()
|
||||||
end,
|
end,
|
||||||
disabled = function()
|
disabled = function()
|
||||||
return not self.moduleSettings.enabled
|
return not self.moduleSettings.enabled or not self.moduleSettings.showBuffs
|
||||||
end,
|
end,
|
||||||
order = 37.2
|
order = 37.2
|
||||||
}
|
}
|
||||||
@ -371,7 +405,7 @@ function IceTargetInfo.prototype:GetOptions()
|
|||||||
self:CreateBuffFrame()
|
self:CreateBuffFrame()
|
||||||
end,
|
end,
|
||||||
disabled = function()
|
disabled = function()
|
||||||
return not self.moduleSettings.enabled
|
return not self.moduleSettings.enabled or not self.moduleSettings.showBuffs
|
||||||
end,
|
end,
|
||||||
order = 37.3
|
order = 37.3
|
||||||
}
|
}
|
||||||
@ -391,7 +425,7 @@ function IceTargetInfo.prototype:GetOptions()
|
|||||||
self:CreateBuffFrame()
|
self:CreateBuffFrame()
|
||||||
end,
|
end,
|
||||||
disabled = function()
|
disabled = function()
|
||||||
return not self.moduleSettings.enabled
|
return not self.moduleSettings.enabled or not self.moduleSettings.showBuffs
|
||||||
end,
|
end,
|
||||||
order = 37.4
|
order = 37.4
|
||||||
}
|
}
|
||||||
@ -415,7 +449,7 @@ function IceTargetInfo.prototype:GetOptions()
|
|||||||
self:CreateDebuffFrame()
|
self:CreateDebuffFrame()
|
||||||
end,
|
end,
|
||||||
disabled = function()
|
disabled = function()
|
||||||
return not self.moduleSettings.enabled
|
return not self.moduleSettings.enabled or not self.moduleSettings.showDebuffs
|
||||||
end,
|
end,
|
||||||
order = 37.81
|
order = 37.81
|
||||||
}
|
}
|
||||||
@ -433,7 +467,7 @@ function IceTargetInfo.prototype:GetOptions()
|
|||||||
self:CreateDebuffFrame()
|
self:CreateDebuffFrame()
|
||||||
end,
|
end,
|
||||||
disabled = function()
|
disabled = function()
|
||||||
return not self.moduleSettings.enabled
|
return not self.moduleSettings.enabled or not self.moduleSettings.showDebuffs
|
||||||
end,
|
end,
|
||||||
order = 37.82
|
order = 37.82
|
||||||
}
|
}
|
||||||
@ -453,7 +487,7 @@ function IceTargetInfo.prototype:GetOptions()
|
|||||||
self:CreateDebuffFrame()
|
self:CreateDebuffFrame()
|
||||||
end,
|
end,
|
||||||
disabled = function()
|
disabled = function()
|
||||||
return not self.moduleSettings.enabled
|
return not self.moduleSettings.enabled or not self.moduleSettings.showDebuffs
|
||||||
end,
|
end,
|
||||||
order = 37.83
|
order = 37.83
|
||||||
}
|
}
|
||||||
@ -473,7 +507,7 @@ function IceTargetInfo.prototype:GetOptions()
|
|||||||
self:CreateDebuffFrame()
|
self:CreateDebuffFrame()
|
||||||
end,
|
end,
|
||||||
disabled = function()
|
disabled = function()
|
||||||
return not self.moduleSettings.enabled
|
return not self.moduleSettings.enabled or not self.moduleSettings.showDebuffs
|
||||||
end,
|
end,
|
||||||
order = 37.84
|
order = 37.84
|
||||||
}
|
}
|
||||||
@ -637,6 +671,8 @@ function IceTargetInfo.prototype:GetDefaultSettings()
|
|||||||
defaults["line4Tag"] = ""
|
defaults["line4Tag"] = ""
|
||||||
defaults["myTagVersion"] = 2
|
defaults["myTagVersion"] = 2
|
||||||
defaults["alwaysFullAlpha"] = true
|
defaults["alwaysFullAlpha"] = true
|
||||||
|
defaults["showBuffs"] = true
|
||||||
|
defaults["showDebuffs"] = true
|
||||||
|
|
||||||
return defaults
|
return defaults
|
||||||
end
|
end
|
||||||
@ -871,6 +907,12 @@ function IceTargetInfo.prototype:CreateBuffFrame(redraw)
|
|||||||
local direction = self.moduleSettings.buffGrowDirection == "Left" and -1 or 1
|
local direction = self.moduleSettings.buffGrowDirection == "Left" and -1 or 1
|
||||||
self.frame.buffFrame.buffs = self:CreateIconFrames(self.frame.buffFrame, direction, self.frame.buffFrame.buffs, "buff")
|
self.frame.buffFrame.buffs = self:CreateIconFrames(self.frame.buffFrame, direction, self.frame.buffFrame.buffs, "buff")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if self.moduleSettings.showBuffs then
|
||||||
|
self.frame.buffFrame:Show()
|
||||||
|
else
|
||||||
|
self.frame.buffFrame:Hide()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -894,6 +936,12 @@ function IceTargetInfo.prototype:CreateDebuffFrame(redraw)
|
|||||||
local direction = self.moduleSettings.debuffGrowDirection == "Left" and -1 or 1
|
local direction = self.moduleSettings.debuffGrowDirection == "Left" and -1 or 1
|
||||||
self.frame.debuffFrame.buffs = self:CreateIconFrames(self.frame.debuffFrame, direction, self.frame.debuffFrame.buffs, "debuff")
|
self.frame.debuffFrame.buffs = self:CreateIconFrames(self.frame.debuffFrame, direction, self.frame.debuffFrame.buffs, "debuff")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if self.moduleSettings.showDebuffs then
|
||||||
|
self.frame.debuffFrame:Show()
|
||||||
|
else
|
||||||
|
self.frame.debuffFrame:Hide()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -998,7 +1046,6 @@ function IceTargetInfo.prototype:CreateIconFrames(parent, direction, buffs, type
|
|||||||
end
|
end
|
||||||
|
|
||||||
function IceTargetInfo.prototype:SetBuffSize(buff)
|
function IceTargetInfo.prototype:SetBuffSize(buff)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function IceTargetInfo.prototype:UpdateBuffs()
|
function IceTargetInfo.prototype:UpdateBuffs()
|
||||||
@ -1025,74 +1072,78 @@ function IceTargetInfo.prototype:UpdateBuffs()
|
|||||||
local hostile = UnitCanAttack("player", self.unit)
|
local hostile = UnitCanAttack("player", self.unit)
|
||||||
|
|
||||||
|
|
||||||
for i = 1, IceCore.BuffLimit do
|
if self.moduleSettings.showBuffs then
|
||||||
local buffName, buffRank, buffTexture, buffApplications, buffType, buffDuration, buffTimeLeft, isFromMe, unitCaster;
|
for i = 1, IceCore.BuffLimit do
|
||||||
if IceHUD.WowVer >= 30000 then
|
local buffName, buffRank, buffTexture, buffApplications, buffType, buffDuration, buffTimeLeft, isFromMe, unitCaster;
|
||||||
buffName, buffRank, buffTexture, buffApplications, buffType, buffDuration, buffTimeLeft, unitCaster
|
if IceHUD.WowVer >= 30000 then
|
||||||
= UnitAura(self.unit, i, "HELPFUL" .. (filterBuffs and "|PLAYER" or "")) --UnitBuff(self.unit, i, filterBuffs and not hostile)
|
buffName, buffRank, buffTexture, buffApplications, buffType, buffDuration, buffTimeLeft, unitCaster
|
||||||
|
= UnitAura(self.unit, i, "HELPFUL" .. (filterBuffs and "|PLAYER" or "")) --UnitBuff(self.unit, i, filterBuffs and not hostile)
|
||||||
|
|
||||||
isFromMe = (unitCaster == "player")
|
isFromMe = (unitCaster == "player")
|
||||||
else
|
else
|
||||||
buffName, buffRank, buffTexture, buffApplications, buffDuration, buffTimeLeft
|
buffName, buffRank, buffTexture, buffApplications, buffDuration, buffTimeLeft
|
||||||
= UnitBuff(self.unit, i, filterBuffs and not hostile)
|
= UnitBuff(self.unit, i, filterBuffs and not hostile)
|
||||||
|
|
||||||
isFromMe = buffDuration and buffTimeLeft
|
isFromMe = buffDuration and buffTimeLeft
|
||||||
end
|
end
|
||||||
|
|
||||||
if (buffTexture) then
|
if (buffTexture) then
|
||||||
self:SetUpBuff(i, buffTexture, buffDuration, buffTimeLeft, isFromMe, buffApplications)
|
self:SetUpBuff(i, buffTexture, buffDuration, buffTimeLeft, isFromMe, buffApplications)
|
||||||
else
|
else
|
||||||
self.frame.buffFrame.buffs[i]:Hide()
|
self.frame.buffFrame.buffs[i]:Hide()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local direction = self.moduleSettings.buffGrowDirection == "Left" and -1 or 1
|
local direction = self.moduleSettings.buffGrowDirection == "Left" and -1 or 1
|
||||||
self.frame.buffFrame.buffs = self:CreateIconFrames(self.frame.buffFrame, direction, self.frame.buffFrame.buffs, "buff")
|
self.frame.buffFrame.buffs = self:CreateIconFrames(self.frame.buffFrame, direction, self.frame.buffFrame.buffs, "buff")
|
||||||
|
|
||||||
for i = 1, IceCore.BuffLimit do
|
if self.moduleSettings.showDebuffs then
|
||||||
local buffName, buffRank, buffTexture, buffApplications, debuffDispelType,
|
for i = 1, IceCore.BuffLimit do
|
||||||
debuffDuration, debuffTimeLeft, unitCaster = UnitAura(self.unit, i, "HARMFUL" .. (filterDebuffs and "|PLAYER" or "")) --UnitDebuff(self.unit, i, filterDebuffs and not hostile)
|
local buffName, buffRank, buffTexture, buffApplications, debuffDispelType,
|
||||||
|
debuffDuration, debuffTimeLeft, unitCaster = UnitAura(self.unit, i, "HARMFUL" .. (filterDebuffs and "|PLAYER" or "")) --UnitDebuff(self.unit, i, filterDebuffs and not hostile)
|
||||||
|
|
||||||
local isFromMe = (unitCaster == "player")
|
local isFromMe = (unitCaster == "player")
|
||||||
|
|
||||||
if (buffTexture and (not hostile or not filterDebuffs or (filterDebuffs and debuffDuration))) then
|
if (buffTexture and (not hostile or not filterDebuffs or (filterDebuffs and debuffDuration))) then
|
||||||
|
|
||||||
local color = debuffDispelType and DebuffTypeColor[debuffDispelType] or DebuffTypeColor["none"]
|
local color = debuffDispelType and DebuffTypeColor[debuffDispelType] or DebuffTypeColor["none"]
|
||||||
local alpha = buffTexture and 1 or 0
|
local alpha = buffTexture and 1 or 0
|
||||||
self.frame.debuffFrame.buffs[i].texture:SetTexture(1, 1, 1, alpha)
|
self.frame.debuffFrame.buffs[i].texture:SetTexture(1, 1, 1, alpha)
|
||||||
self.frame.debuffFrame.buffs[i].texture:SetVertexColor(color.r, color.g, color.b)
|
self.frame.debuffFrame.buffs[i].texture:SetVertexColor(color.r, color.g, color.b)
|
||||||
|
|
||||||
-- cooldown frame
|
-- cooldown frame
|
||||||
if (debuffDuration and debuffDuration > 0 and
|
if (debuffDuration and debuffDuration > 0 and
|
||||||
debuffTimeLeft and debuffTimeLeft > 0) then
|
debuffTimeLeft and debuffTimeLeft > 0) then
|
||||||
local start
|
local start
|
||||||
if IceHUD.WowVer >= 30000 then
|
if IceHUD.WowVer >= 30000 then
|
||||||
-- in wotlk, the "bufftimeleft" parameter is actually the ending time for the buff
|
-- in wotlk, the "bufftimeleft" parameter is actually the ending time for the buff
|
||||||
start = debuffTimeLeft - debuffDuration
|
start = debuffTimeLeft - debuffDuration
|
||||||
|
else
|
||||||
|
start = GetTime() - debuffDuration + debuffTimeLeft
|
||||||
|
end
|
||||||
|
self.frame.debuffFrame.buffs[i].cd:SetCooldown(start, debuffDuration)
|
||||||
|
self.frame.debuffFrame.buffs[i].cd:Show()
|
||||||
else
|
else
|
||||||
start = GetTime() - debuffDuration + debuffTimeLeft
|
self.frame.debuffFrame.buffs[i].cd:Hide()
|
||||||
end
|
end
|
||||||
self.frame.debuffFrame.buffs[i].cd:SetCooldown(start, debuffDuration)
|
|
||||||
self.frame.debuffFrame.buffs[i].cd:Show()
|
self.frame.debuffFrame.buffs[i].fromPlayer = isFromMe
|
||||||
|
|
||||||
|
self.frame.debuffFrame.buffs[i].icon.texture:SetTexture(buffTexture)
|
||||||
|
self.frame.debuffFrame.buffs[i].icon.texture:SetTexCoord(zoom, 1-zoom, zoom, 1-zoom)
|
||||||
|
|
||||||
|
if (buffApplications and (buffApplications > 1)) then
|
||||||
|
self.frame.debuffFrame.buffs[i].icon.stack:SetText(buffApplications)
|
||||||
|
else
|
||||||
|
self.frame.debuffFrame.buffs[i].icon.stack:SetText(nil)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
self.frame.debuffFrame.buffs[i]:Show()
|
||||||
else
|
else
|
||||||
self.frame.debuffFrame.buffs[i].cd:Hide()
|
self.frame.debuffFrame.buffs[i]:Hide()
|
||||||
end
|
end
|
||||||
|
|
||||||
self.frame.debuffFrame.buffs[i].fromPlayer = isFromMe
|
|
||||||
|
|
||||||
self.frame.debuffFrame.buffs[i].icon.texture:SetTexture(buffTexture)
|
|
||||||
self.frame.debuffFrame.buffs[i].icon.texture:SetTexCoord(zoom, 1-zoom, zoom, 1-zoom)
|
|
||||||
|
|
||||||
if (buffApplications and (buffApplications > 1)) then
|
|
||||||
self.frame.debuffFrame.buffs[i].icon.stack:SetText(buffApplications)
|
|
||||||
else
|
|
||||||
self.frame.debuffFrame.buffs[i].icon.stack:SetText(nil)
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
self.frame.debuffFrame.buffs[i]:Show()
|
|
||||||
else
|
|
||||||
self.frame.debuffFrame.buffs[i]:Hide()
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user