40 lines
1.1 KiB
Lua
40 lines
1.1 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 join = string.join
|
|
--WoW API / Variables
|
|
local GetCombatRatingBonus = GetCombatRatingBonus
|
|
local CR_HIT_MELEE = CR_HIT_MELEE
|
|
local CR_HIT_RANGED = CR_HIT_RANGED
|
|
local CR_HIT_SPELL = CR_HIT_SPELL
|
|
local STAT_HIT_CHANCE = STAT_HIT_CHANCE
|
|
|
|
local hitRatingBonus
|
|
local displayString = ""
|
|
local lastPanel
|
|
|
|
local function OnEvent(self)
|
|
lastPanel = self
|
|
|
|
if E.Role == "Caster" then
|
|
hitRatingBonus = GetCombatRatingBonus(CR_HIT_SPELL)
|
|
elseif E.Role == "Ranged" then
|
|
hitRatingBonus = GetCombatRatingBonus(CR_HIT_RANGED)
|
|
else
|
|
hitRatingBonus = GetCombatRatingBonus(CR_HIT_MELEE)
|
|
end
|
|
|
|
self.text:SetFormattedText(displayString, hitRatingBonus)
|
|
end
|
|
|
|
local function ValueColorUpdate(hex)
|
|
displayString = join("", L["Hit"], ": ", hex, "%.2f%%|r")
|
|
|
|
if lastPanel ~= nil then
|
|
OnEvent(lastPanel)
|
|
end
|
|
end
|
|
E.valueColorUpdateFuncs[ValueColorUpdate] = true
|
|
|
|
DT:RegisterDatatext("Hit", {"ACTIVE_TALENT_GROUP_CHANGED", "PLAYER_TALENT_UPDATE", "COMBAT_RATING_UPDATE"}, OnEvent, nil, nil, nil, nil, STAT_HIT_CHANCE) |