91 lines
2.3 KiB
Lua
91 lines
2.3 KiB
Lua
local E, L, V, P, G = unpack(select(2, ...)) --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
|
|
local DT = E:GetModule("DataTexts")
|
|
|
|
--Lua functions
|
|
local select = select
|
|
local join = string.join
|
|
--WoW API / Variables
|
|
local GetBattlefieldScore = GetBattlefieldScore
|
|
local GetBattlefieldStatData = GetBattlefieldStatData
|
|
local GetBattlefieldStatInfo = GetBattlefieldStatInfo
|
|
local GetNumBattlefieldScores = GetNumBattlefieldScores
|
|
local GetNumBattlefieldStats = GetNumBattlefieldStats
|
|
|
|
local displayString = ""
|
|
local lastPanel
|
|
|
|
local dataLayout = {
|
|
["LeftChatDataPanel"] = {
|
|
["left"] = 11,
|
|
["middle"] = 5,
|
|
["right"] = 2
|
|
},
|
|
["RightChatDataPanel"] = {
|
|
["left"] = 4,
|
|
["middle"] = 3,
|
|
["right"] = 12
|
|
}
|
|
}
|
|
|
|
local dataStrings = {
|
|
[11] = DAMAGE,
|
|
[5] = HONOR,
|
|
[2] = KILLING_BLOWS,
|
|
[4] = DEATHS,
|
|
[3] = HONORABLE_KILLS,
|
|
[12] = SHOW_COMBAT_HEALING
|
|
}
|
|
|
|
function DT:UPDATE_BATTLEFIELD_SCORE()
|
|
lastPanel = self
|
|
|
|
local pointIndex = dataLayout[self:GetParent():GetName()][self.pointIndex]
|
|
for i = 1, GetNumBattlefieldScores() do
|
|
local name = GetBattlefieldScore(i)
|
|
if name == E.myname then
|
|
self.text:SetFormattedText(displayString, dataStrings[pointIndex], E:ShortValue(select(pointIndex, GetBattlefieldScore(i))))
|
|
break
|
|
end
|
|
end
|
|
end
|
|
|
|
function DT:BattlegroundStats()
|
|
DT:SetupTooltip(self)
|
|
|
|
local numStatInfo = GetNumBattlefieldStats()
|
|
if numStatInfo then
|
|
for i = 1, GetNumBattlefieldScores() do
|
|
local name = GetBattlefieldScore(i)
|
|
if name and name == E.myname then
|
|
local classColor = E.media.herocolor
|
|
|
|
DT.tooltip:AddDoubleLine(L["Stats For:"], name, 1, 1, 1, classColor.r, classColor.g, classColor.b)
|
|
DT.tooltip:AddLine(" ")
|
|
|
|
-- Add extra statistics to watch based on what BG you are in.
|
|
for j = 1, numStatInfo do
|
|
DT.tooltip:AddDoubleLine(GetBattlefieldStatInfo(j), GetBattlefieldStatData(i, j), 1, 1, 1)
|
|
end
|
|
|
|
break
|
|
end
|
|
end
|
|
end
|
|
|
|
DT.tooltip:Show()
|
|
end
|
|
|
|
function DT:HideBattlegroundTexts()
|
|
DT.ForceHideBGStats = true
|
|
DT:LoadDataTexts()
|
|
E:Print(L["Battleground datatexts temporarily hidden, to show type /bgstats or right click the 'C' icon near the minimap."])
|
|
end
|
|
|
|
local function ValueColorUpdate(hex)
|
|
displayString = join("", "%s: ", hex, "%s|r")
|
|
|
|
if lastPanel ~= nil then
|
|
DT.UPDATE_BATTLEFIELD_SCORE(lastPanel)
|
|
end
|
|
end
|
|
E.valueColorUpdateFuncs[ValueColorUpdate] = true |