- 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:
Parnic
2010-07-19 19:29:42 +00:00
parent 2908f68656
commit 1ce2c37e96

View File

@ -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