mirror of
https://github.com/parnic/ice-hud.git
synced 2025-06-16 14:50:13 -05:00
- added optional sizing for (de)buffs i cast versus other players
This commit is contained in:
@ -8,6 +8,7 @@ local target = "target"
|
|||||||
local internal = "internal"
|
local internal = "internal"
|
||||||
|
|
||||||
TargetInfo.prototype.buffSize = nil
|
TargetInfo.prototype.buffSize = nil
|
||||||
|
TargetInfo.prototype.ownBuffSize = nil
|
||||||
TargetInfo.prototype.width = nil
|
TargetInfo.prototype.width = nil
|
||||||
|
|
||||||
TargetInfo.prototype.name = nil
|
TargetInfo.prototype.name = nil
|
||||||
@ -208,6 +209,26 @@ function TargetInfo.prototype:GetOptions()
|
|||||||
end,
|
end,
|
||||||
order = 34
|
order = 34
|
||||||
}
|
}
|
||||||
|
|
||||||
|
opts["ownBuffSize"] = {
|
||||||
|
type = 'range',
|
||||||
|
name = 'Own buff size',
|
||||||
|
desc = 'Buff/debuff size for buffs/debuffs that were applied by you, the player',
|
||||||
|
get = function()
|
||||||
|
return self.moduleSettings.ownBuffSize
|
||||||
|
end,
|
||||||
|
set = function(v)
|
||||||
|
self.moduleSettings.ownBuffSize = v
|
||||||
|
self:RedrawBuffs()
|
||||||
|
end,
|
||||||
|
min = 8,
|
||||||
|
max = 60,
|
||||||
|
step = 1,
|
||||||
|
disabled = function()
|
||||||
|
return not self.moduleSettings.enabled
|
||||||
|
end,
|
||||||
|
order = 35
|
||||||
|
}
|
||||||
|
|
||||||
opts["filter"] = {
|
opts["filter"] = {
|
||||||
type = 'text',
|
type = 'text',
|
||||||
@ -224,7 +245,7 @@ function TargetInfo.prototype:GetOptions()
|
|||||||
return not self.moduleSettings.enabled
|
return not self.moduleSettings.enabled
|
||||||
end,
|
end,
|
||||||
validate = { "Never", "In Combat", "Always" },
|
validate = { "Never", "In Combat", "Always" },
|
||||||
order = 35
|
order = 36
|
||||||
}
|
}
|
||||||
|
|
||||||
opts["perRow"] = {
|
opts["perRow"] = {
|
||||||
@ -244,7 +265,7 @@ function TargetInfo.prototype:GetOptions()
|
|||||||
disabled = function()
|
disabled = function()
|
||||||
return not self.moduleSettings.enabled
|
return not self.moduleSettings.enabled
|
||||||
end,
|
end,
|
||||||
order = 36
|
order = 37
|
||||||
}
|
}
|
||||||
|
|
||||||
opts["mouseTarget"] = {
|
opts["mouseTarget"] = {
|
||||||
@ -261,7 +282,7 @@ function TargetInfo.prototype:GetOptions()
|
|||||||
disabled = function()
|
disabled = function()
|
||||||
return not self.moduleSettings.enabled
|
return not self.moduleSettings.enabled
|
||||||
end,
|
end,
|
||||||
order = 37
|
order = 38
|
||||||
}
|
}
|
||||||
|
|
||||||
opts["mouseBuff"] = {
|
opts["mouseBuff"] = {
|
||||||
@ -278,7 +299,7 @@ function TargetInfo.prototype:GetOptions()
|
|||||||
disabled = function()
|
disabled = function()
|
||||||
return not self.moduleSettings.enabled
|
return not self.moduleSettings.enabled
|
||||||
end,
|
end,
|
||||||
order = 38
|
order = 39
|
||||||
}
|
}
|
||||||
|
|
||||||
opts["line1Tag"] = {
|
opts["line1Tag"] = {
|
||||||
@ -355,6 +376,7 @@ function TargetInfo.prototype:GetDefaultSettings()
|
|||||||
defaults["hpos"] = 0
|
defaults["hpos"] = 0
|
||||||
defaults["zoom"] = 0.08
|
defaults["zoom"] = 0.08
|
||||||
defaults["buffSize"] = 20
|
defaults["buffSize"] = 20
|
||||||
|
defaults["ownBuffSize"] = 20
|
||||||
defaults["mouseTarget"] = true
|
defaults["mouseTarget"] = true
|
||||||
defaults["mouseBuff"] = true
|
defaults["mouseBuff"] = true
|
||||||
defaults["filter"] = "Never"
|
defaults["filter"] = "Never"
|
||||||
@ -603,6 +625,8 @@ end
|
|||||||
|
|
||||||
|
|
||||||
function TargetInfo.prototype:CreateIconFrames(parent, direction, buffs, type)
|
function TargetInfo.prototype:CreateIconFrames(parent, direction, buffs, type)
|
||||||
|
local lastX = 0
|
||||||
|
|
||||||
for i = 1, IceCore.BuffLimit do
|
for i = 1, IceCore.BuffLimit do
|
||||||
if (not buffs[i]) then
|
if (not buffs[i]) then
|
||||||
buffs[i] = CreateFrame("Frame", nil, parent)
|
buffs[i] = CreateFrame("Frame", nil, parent)
|
||||||
@ -611,12 +635,22 @@ function TargetInfo.prototype:CreateIconFrames(parent, direction, buffs, type)
|
|||||||
end
|
end
|
||||||
|
|
||||||
buffs[i]:SetFrameStrata("BACKGROUND")
|
buffs[i]:SetFrameStrata("BACKGROUND")
|
||||||
buffs[i]:SetWidth(self.moduleSettings.buffSize)
|
if buffs[i].fromPlayer then
|
||||||
buffs[i]:SetHeight(self.moduleSettings.buffSize)
|
buffs[i]:SetWidth(self.moduleSettings.ownBuffSize)
|
||||||
|
buffs[i]:SetHeight(self.moduleSettings.ownBuffSize)
|
||||||
|
else
|
||||||
|
buffs[i]:SetWidth(self.moduleSettings.buffSize)
|
||||||
|
buffs[i]:SetHeight(self.moduleSettings.buffSize)
|
||||||
|
end
|
||||||
|
|
||||||
buffs[i].icon:SetFrameStrata("BACKGROUND")
|
buffs[i].icon:SetFrameStrata("BACKGROUND")
|
||||||
buffs[i].icon:SetWidth(self.moduleSettings.buffSize-2)
|
if buffs[i].fromPlayer then
|
||||||
buffs[i].icon:SetHeight(self.moduleSettings.buffSize-2)
|
buffs[i].icon:SetWidth(self.moduleSettings.ownBuffSize-2)
|
||||||
|
buffs[i].icon:SetHeight(self.moduleSettings.ownBuffSize-2)
|
||||||
|
else
|
||||||
|
buffs[i].icon:SetWidth(self.moduleSettings.buffSize-2)
|
||||||
|
buffs[i].icon:SetHeight(self.moduleSettings.buffSize-2)
|
||||||
|
end
|
||||||
|
|
||||||
buffs[i].cd:SetFrameStrata("BACKGROUND")
|
buffs[i].cd:SetFrameStrata("BACKGROUND")
|
||||||
buffs[i].cd:SetFrameLevel(buffs[i].icon:GetFrameLevel()+1)
|
buffs[i].cd:SetFrameLevel(buffs[i].icon:GetFrameLevel()+1)
|
||||||
@ -625,23 +659,31 @@ function TargetInfo.prototype:CreateIconFrames(parent, direction, buffs, type)
|
|||||||
buffs[i].cd:SetAllPoints(buffs[i])
|
buffs[i].cd:SetAllPoints(buffs[i])
|
||||||
|
|
||||||
|
|
||||||
|
local buffSize = self.moduleSettings.buffSize
|
||||||
|
if buffs[i].fromPlayer then
|
||||||
|
buffSize = self.moduleSettings.ownBuffSize
|
||||||
|
end
|
||||||
|
|
||||||
local pos = math.fmod(i, self.moduleSettings.perRow)
|
local pos = math.fmod(i, self.moduleSettings.perRow)
|
||||||
if (pos == 0) then
|
if (pos == 0) then
|
||||||
pos = self.moduleSettings.perRow
|
pos = self.moduleSettings.perRow
|
||||||
|
elseif (pos == 1) then
|
||||||
|
lastX = (((pos-1) * buffSize) + pos) * direction
|
||||||
end
|
end
|
||||||
|
|
||||||
local x = (((pos-1) * self.moduleSettings.buffSize) + pos) * direction
|
local x = lastX + (buffSize * direction)
|
||||||
local y = math.floor((i-1) / self.moduleSettings.perRow) * self.moduleSettings.buffSize * -1
|
lastX = x
|
||||||
|
local y = math.floor((i-1) / self.moduleSettings.perRow) * math.max(self.moduleSettings.buffSize, self.moduleSettings.ownBuffSize) * -1
|
||||||
|
|
||||||
buffs[i]:ClearAllPoints()
|
buffs[i]:ClearAllPoints()
|
||||||
buffs[i]:SetPoint("TOP", x, y)
|
buffs[i]:SetPoint("TOP", x, y)
|
||||||
|
|
||||||
|
|
||||||
buffs[i].icon:ClearAllPoints()
|
buffs[i].icon:ClearAllPoints()
|
||||||
buffs[i].icon:SetPoint("CENTER", 0, 0)
|
buffs[i].icon:SetPoint("CENTER", 0, 0)
|
||||||
|
|
||||||
buffs[i]:Show()
|
-- buffs[i]:Show()
|
||||||
buffs[i].icon:Show()
|
-- buffs[i].icon:Show()
|
||||||
|
|
||||||
if (not buffs[i].texture) then
|
if (not buffs[i].texture) then
|
||||||
buffs[i].texture = buffs[i]:CreateTexture()
|
buffs[i].texture = buffs[i]:CreateTexture()
|
||||||
@ -677,8 +719,9 @@ function TargetInfo.prototype:CreateIconFrames(parent, direction, buffs, type)
|
|||||||
return buffs
|
return buffs
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function TargetInfo.prototype:SetBuffSize(buff)
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
function TargetInfo.prototype:UpdateBuffs()
|
function TargetInfo.prototype:UpdateBuffs()
|
||||||
local zoom = self.moduleSettings.zoom
|
local zoom = self.moduleSettings.zoom
|
||||||
@ -711,8 +754,10 @@ function TargetInfo.prototype:UpdateBuffs()
|
|||||||
buffTimeLeft and buffTimeLeft > 0) then
|
buffTimeLeft and buffTimeLeft > 0) then
|
||||||
local start = GetTime() - buffDuration + buffTimeLeft
|
local start = GetTime() - buffDuration + buffTimeLeft
|
||||||
self.frame.buffFrame.buffs[i].cd:SetCooldown(start, buffDuration)
|
self.frame.buffFrame.buffs[i].cd:SetCooldown(start, buffDuration)
|
||||||
|
self.frame.buffFrame.buffs[i].fromPlayer = true
|
||||||
self.frame.buffFrame.buffs[i].cd:Show()
|
self.frame.buffFrame.buffs[i].cd:Show()
|
||||||
else
|
else
|
||||||
|
self.frame.buffFrame.buffs[i].fromPlayer = false
|
||||||
self.frame.buffFrame.buffs[i].cd:Hide()
|
self.frame.buffFrame.buffs[i].cd:Hide()
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -727,9 +772,10 @@ function TargetInfo.prototype:UpdateBuffs()
|
|||||||
else
|
else
|
||||||
self.frame.buffFrame.buffs[i]:Hide()
|
self.frame.buffFrame.buffs[i]:Hide()
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
self.frame.buffFrame.buffs = self:CreateIconFrames(self.frame.buffFrame, -1, self.frame.buffFrame.buffs, "buff")
|
||||||
|
|
||||||
for i = 1, IceCore.BuffLimit do
|
for i = 1, IceCore.BuffLimit do
|
||||||
local buffName, buffRank, buffTexture, buffApplications, debuffDispelType,
|
local buffName, buffRank, buffTexture, buffApplications, debuffDispelType,
|
||||||
debuffDuration, debuffTimeLeft = UnitDebuff("target", i, filter and not hostile)
|
debuffDuration, debuffTimeLeft = UnitDebuff("target", i, filter and not hostile)
|
||||||
@ -746,8 +792,10 @@ function TargetInfo.prototype:UpdateBuffs()
|
|||||||
debuffTimeLeft and debuffTimeLeft > 0) then
|
debuffTimeLeft and debuffTimeLeft > 0) then
|
||||||
local start = GetTime() - debuffDuration + debuffTimeLeft
|
local start = GetTime() - debuffDuration + debuffTimeLeft
|
||||||
self.frame.debuffFrame.buffs[i].cd:SetCooldown(start, debuffDuration)
|
self.frame.debuffFrame.buffs[i].cd:SetCooldown(start, debuffDuration)
|
||||||
|
self.frame.debuffFrame.buffs[i].fromPlayer = true
|
||||||
self.frame.debuffFrame.buffs[i].cd:Show()
|
self.frame.debuffFrame.buffs[i].cd:Show()
|
||||||
else
|
else
|
||||||
|
self.frame.debuffFrame.buffs[i].fromPlayer = false
|
||||||
self.frame.debuffFrame.buffs[i].cd:Hide()
|
self.frame.debuffFrame.buffs[i].cd:Hide()
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -766,6 +814,8 @@ function TargetInfo.prototype:UpdateBuffs()
|
|||||||
self.frame.debuffFrame.buffs[i]:Hide()
|
self.frame.debuffFrame.buffs[i]:Hide()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
self.frame.debuffFrame.buffs = self:CreateIconFrames(self.frame.debuffFrame, 1, self.frame.debuffFrame.buffs, "debuff")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user