Evoker Empowerment
This commit is contained in:
@@ -6,8 +6,8 @@
|
||||
local addonName, Details222 = ...
|
||||
local version, build, date, tocversion = GetBuildInfo()
|
||||
|
||||
_detalhes.build_counter = 10280
|
||||
_detalhes.alpha_build_counter = 10280 --if this is higher than the regular counter, use it instead
|
||||
_detalhes.build_counter = 10282
|
||||
_detalhes.alpha_build_counter = 10282 --if this is higher than the regular counter, use it instead
|
||||
_detalhes.dont_open_news = true
|
||||
_detalhes.game_version = version
|
||||
_detalhes.userversion = version .. " " .. _detalhes.build_counter
|
||||
|
||||
@@ -4952,9 +4952,8 @@ function atributo_damage:MontaDetalhesDamageDone (spellId, spellLine, instance)
|
||||
cast_string = cast_string .. spell_cast
|
||||
end
|
||||
|
||||
local averageEmpowerLevel
|
||||
if (esta_magia.e_lvl) then --spell empowered
|
||||
averageEmpowerLevel = format("Empower Average: %.2f", esta_magia.e_lvl / esta_magia.e_amt)
|
||||
if (esta_magia.e_total) then
|
||||
cast_string = Loc ["STRING_CAST"] .. ": " .. "|cFFFFFF00" .. esta_magia.e_total .. "|r"
|
||||
end
|
||||
|
||||
gump:SetaDetalheInfoTexto( index, 100,
|
||||
@@ -4963,9 +4962,7 @@ function atributo_damage:MontaDetalhesDamageDone (spellId, spellLine, instance)
|
||||
schooltext, --offhand,
|
||||
Loc ["STRING_AVERAGE"] .. ": " .. Details:comma_value (media),
|
||||
this_dps,
|
||||
Loc ["STRING_HITS"]..": " .. hits_string,
|
||||
averageEmpowerLevel or "",
|
||||
""
|
||||
Loc ["STRING_HITS"]..": " .. hits_string
|
||||
)
|
||||
|
||||
--NORMAL
|
||||
@@ -5044,6 +5041,65 @@ function atributo_damage:MontaDetalhesDamageDone (spellId, spellLine, instance)
|
||||
end
|
||||
|
||||
--empowered
|
||||
if (esta_magia.e_total) then
|
||||
local empowerLevelSum = esta_magia.e_total --total sum of empower levels
|
||||
local empowerAmount = esta_magia.e_amt --amount of casts with empower
|
||||
local empowerAmountPerLevel = esta_magia.e_lvl --{[1] = 4; [2] = 9; [3] = 15}
|
||||
local empowerDamagePerLevel = esta_magia.e_dmg --{[1] = 54548745, [2] = 74548745}
|
||||
|
||||
data[#data+1] = t4
|
||||
|
||||
local level1AverageDamage = "0"
|
||||
local level2AverageDamage = "0"
|
||||
local level3AverageDamage = "0"
|
||||
local level4AverageDamage = "0"
|
||||
local level5AverageDamage = "0"
|
||||
|
||||
if (empowerDamagePerLevel[1]) then
|
||||
level1AverageDamage = Details:ToK(empowerDamagePerLevel[1] / empowerAmountPerLevel[1])
|
||||
end
|
||||
if (empowerDamagePerLevel[2]) then
|
||||
level2AverageDamage = Details:ToK(empowerDamagePerLevel[2] / empowerAmountPerLevel[2])
|
||||
end
|
||||
if (empowerDamagePerLevel[3]) then
|
||||
level3AverageDamage = Details:ToK(empowerDamagePerLevel[3] / empowerAmountPerLevel[3])
|
||||
end
|
||||
if (empowerDamagePerLevel[4]) then
|
||||
level4AverageDamage = Details:ToK(empowerDamagePerLevel[4] / empowerAmountPerLevel[4])
|
||||
end
|
||||
if (empowerDamagePerLevel[5]) then
|
||||
level5AverageDamage = Details:ToK(empowerDamagePerLevel[5] / empowerAmountPerLevel[5])
|
||||
end
|
||||
|
||||
t4[1] = 0
|
||||
t4[2] = {p = 100, c = {0.282353, 0.239216, 0.545098, 0.6}}
|
||||
t4[3] = "Spell Empower Average Level: " .. format("%.2f", empowerLevelSum / empowerAmount)
|
||||
t4[4] = ""
|
||||
t4[5] = ""
|
||||
t4[6] = ""
|
||||
t4[10] = ""
|
||||
t4[11] = ""
|
||||
|
||||
if (level1AverageDamage ~= "0") then
|
||||
t4[4] = "Level 1 Average: " .. level1AverageDamage .. " (" .. (empowerAmountPerLevel[1] or 0) .. ")"
|
||||
end
|
||||
|
||||
if (level2AverageDamage ~= "0") then
|
||||
t4[6] = "Level 2 Average: " .. level2AverageDamage .. " (" .. (empowerAmountPerLevel[2] or 0) .. ")"
|
||||
end
|
||||
|
||||
if (level3AverageDamage ~= "0") then
|
||||
t4[11] = "Level 3 Average: " .. level3AverageDamage .. " (" .. (empowerAmountPerLevel[3] or 0) .. ")"
|
||||
end
|
||||
|
||||
if (level4AverageDamage ~= "0") then
|
||||
t4[10] = "Level 4 Average: " .. level4AverageDamage .. " (" .. (empowerAmountPerLevel[4] or 0) .. ")"
|
||||
end
|
||||
|
||||
if (level5AverageDamage ~= "0") then
|
||||
t4[5] = "Level 5 Average: " .. level5AverageDamage .. " (" .. (empowerAmountPerLevel[5] or 0) .. ")"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
--Details:BuildPlayerDetailsSpellChart()
|
||||
@@ -5055,7 +5111,7 @@ function atributo_damage:MontaDetalhesDamageDone (spellId, spellLine, instance)
|
||||
_table_sort(data, Details.Sort1)
|
||||
|
||||
for index, tabela in ipairs(data) do
|
||||
gump:SetaDetalheInfoTexto(index+1, tabela[2], tabela[3], tabela[4], tabela[5], tabela[6], tabela[7], tabela[8], tabela[9])
|
||||
gump:SetaDetalheInfoTexto(index+1, tabela[2], tabela[3], tabela[4], tabela[5], tabela[6], tabela[7], tabela[8], tabela[9], tabela[10], tabela[11], tabela[12])
|
||||
end
|
||||
|
||||
for i = #data+2, 5 do
|
||||
|
||||
@@ -2375,6 +2375,66 @@ function atributo_heal:MontaDetalhesHealingDone (spellid, barra)
|
||||
t3[6] = ""
|
||||
t3[7] = ""
|
||||
t3[8] = _detalhes:comma_value (esta_magia.anti_heal) .. " / " .. _cstr ("%.1f", porcentagem_anti_heal) .. "%"
|
||||
|
||||
--empowered
|
||||
elseif (esta_magia.e_total) then
|
||||
local empowerLevelSum = esta_magia.e_total --total sum of empower levels
|
||||
local empowerAmount = esta_magia.e_amt --amount of casts with empower
|
||||
local empowerAmountPerLevel = esta_magia.e_lvl --{[1] = 4; [2] = 9; [3] = 15}
|
||||
local empowerDamagePerLevel = esta_magia.e_heal --{[1] = 54548745, [2] = 74548745}
|
||||
|
||||
data[3] = t3
|
||||
|
||||
local level1AverageDamage = "0"
|
||||
local level2AverageDamage = "0"
|
||||
local level3AverageDamage = "0"
|
||||
local level4AverageDamage = "0"
|
||||
local level5AverageDamage = "0"
|
||||
|
||||
if (empowerDamagePerLevel[1]) then
|
||||
level1AverageDamage = Details:ToK(empowerDamagePerLevel[1] / empowerAmountPerLevel[1])
|
||||
end
|
||||
if (empowerDamagePerLevel[2]) then
|
||||
level2AverageDamage = Details:ToK(empowerDamagePerLevel[2] / empowerAmountPerLevel[2])
|
||||
end
|
||||
if (empowerDamagePerLevel[3]) then
|
||||
level3AverageDamage = Details:ToK(empowerDamagePerLevel[3] / empowerAmountPerLevel[3])
|
||||
end
|
||||
if (empowerDamagePerLevel[4]) then
|
||||
level4AverageDamage = Details:ToK(empowerDamagePerLevel[4] / empowerAmountPerLevel[4])
|
||||
end
|
||||
if (empowerDamagePerLevel[5]) then
|
||||
level5AverageDamage = Details:ToK(empowerDamagePerLevel[5] / empowerAmountPerLevel[5])
|
||||
end
|
||||
|
||||
t3[1] = 0
|
||||
t3[2] = {p = 100, c = {0.282353, 0.239216, 0.545098, 0.6}}
|
||||
t3[3] = "Spell Empower Average Level: " .. format("%.2f", empowerLevelSum / empowerAmount)
|
||||
t3[4] = ""
|
||||
t3[5] = ""
|
||||
t3[6] = ""
|
||||
t3[10] = ""
|
||||
t3[11] = ""
|
||||
|
||||
if (level1AverageDamage ~= "0") then
|
||||
t3[4] = "Level 1 Average: " .. level1AverageDamage .. " (" .. (empowerAmountPerLevel[1] or 0) .. ")"
|
||||
end
|
||||
|
||||
if (level2AverageDamage ~= "0") then
|
||||
t3[6] = "Level 2 Average: " .. level2AverageDamage .. " (" .. (empowerAmountPerLevel[2] or 0) .. ")"
|
||||
end
|
||||
|
||||
if (level3AverageDamage ~= "0") then
|
||||
t3[11] = "Level 3 Average: " .. level3AverageDamage .. " (" .. (empowerAmountPerLevel[3] or 0) .. ")"
|
||||
end
|
||||
|
||||
if (level4AverageDamage ~= "0") then
|
||||
t3[10] = "Level 4 Average: " .. level4AverageDamage .. " (" .. (empowerAmountPerLevel[4] or 0) .. ")"
|
||||
end
|
||||
|
||||
if (level5AverageDamage ~= "0") then
|
||||
t3[5] = "Level 5 Average: " .. level5AverageDamage .. " (" .. (empowerAmountPerLevel[5] or 0) .. ")"
|
||||
end
|
||||
end
|
||||
|
||||
-- for i = #data+1, 3 do --para o overheal aparecer na ultima barra
|
||||
|
||||
+66
-17
@@ -13,7 +13,7 @@
|
||||
local UnitGUID = UnitGUID
|
||||
local IsInRaid = IsInRaid
|
||||
local IsInGroup = IsInGroup
|
||||
local GetNumGroupMembers = GetNumGroupMembers
|
||||
--local GetNumGroupMembers = GetNumGroupMembers
|
||||
local CombatLogGetCurrentEventInfo = CombatLogGetCurrentEventInfo
|
||||
local GetTime = GetTime
|
||||
local tonumber = tonumber
|
||||
@@ -157,6 +157,8 @@
|
||||
[10060] = true, --power infusion
|
||||
}
|
||||
|
||||
local empower_cache = {}
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--constants
|
||||
local container_misc = _detalhes.container_type.CONTAINER_MISC_CLASS
|
||||
@@ -1392,6 +1394,29 @@
|
||||
end
|
||||
end
|
||||
|
||||
--empowerment data
|
||||
if (empower_cache[who_serial]) then
|
||||
local empowerSpellInfo = empower_cache[who_serial][spellname]
|
||||
if (empowerSpellInfo) then
|
||||
if (not empowerSpellInfo.counted) then
|
||||
--total of empowerment
|
||||
spell.e_total = (spell.e_total or 0) + empowerSpellInfo.empowerLevel --usado para calcular o average empowerment
|
||||
--total amount of empowerment
|
||||
spell.e_amt = (spell.e_amt or 0) + 1 --usado para calcular o average empowerment
|
||||
|
||||
--amount of casts on each level
|
||||
spell.e_lvl = spell.e_lvl or {}
|
||||
spell.e_lvl[empowerSpellInfo.empowerLevel] = (spell.e_lvl[empowerSpellInfo.empowerLevel] or 0) + 1
|
||||
|
||||
empowerSpellInfo.counted = true
|
||||
end
|
||||
|
||||
--damage bracket
|
||||
spell.e_dmg = spell.e_dmg or {}
|
||||
spell.e_dmg[empowerSpellInfo.empowerLevel] = (spell.e_dmg[empowerSpellInfo.empowerLevel] or 0) + amount
|
||||
end
|
||||
end
|
||||
|
||||
if (trinketData[spellid] and _in_combat) then
|
||||
local thisData = trinketData[spellid]
|
||||
if (thisData.lastCombatId == _global_combat_counter) then
|
||||
@@ -1949,6 +1974,10 @@
|
||||
function parser:spell_empower(token, time, sourceGUID, sourceName, sourceFlags, targetGUID, targetName, targetFlags, targetRaidFlags, spellId, spellName, spellSchool, empowerLevel)
|
||||
--empowerLevel only exists on _END and _INTERRUPT
|
||||
|
||||
if (token == "SPELL_EMPOWER_START" or token == "SPELL_EMPOWER_INTERRUPT") then
|
||||
return
|
||||
end
|
||||
|
||||
if (not empowerLevel) then
|
||||
return
|
||||
end
|
||||
@@ -1973,17 +2002,14 @@
|
||||
return
|
||||
end
|
||||
|
||||
--actor spells table
|
||||
local spellTable = sourceObject.spells._ActorTable[spellId]
|
||||
if (not spellTable) then
|
||||
spellTable = sourceObject.spells:PegaHabilidade(spellId, true, token)
|
||||
spellTable.spellschool = spellSchool or 1
|
||||
end
|
||||
|
||||
spellTable.e_lvl = (spellTable.e_lvl or 0) + empowerLevel
|
||||
spellTable.e_amt = (spellTable.e_amt or 0) + 1
|
||||
|
||||
--print("spellTable.e_lvl", spellTable.e_lvl, "spellTable.e_amt", spellTable.e_amt, "average:", spellTable.e_lvl / spellTable.e_amt)
|
||||
empower_cache[sourceGUID] = empower_cache[sourceGUID] or {}
|
||||
local empowerTable = {
|
||||
spellName = spellName,
|
||||
empowerLevel = empowerLevel,
|
||||
time = time,
|
||||
counted = false,
|
||||
}
|
||||
empower_cache[sourceGUID][spellName] = empowerTable
|
||||
end
|
||||
--parser.spell_empower
|
||||
--10/30 15:32:11.515 SPELL_EMPOWER_START,Player-4184-00242A35,"Isodrak-Valdrakken",0x514,0x0,Player-4184-00242A35,"Isodrak-Valdrakken",0x514,0x0,382266,"Fire Breath",0x4
|
||||
@@ -2494,6 +2520,29 @@
|
||||
end
|
||||
end
|
||||
|
||||
--empowerment data
|
||||
if (empower_cache[who_serial]) then
|
||||
local empowerSpellInfo = empower_cache[who_serial][spellname]
|
||||
if (empowerSpellInfo) then
|
||||
if (not empowerSpellInfo.counted) then
|
||||
--total of empowerment
|
||||
spell.e_total = (spell.e_total or 0) + empowerSpellInfo.empowerLevel --usado para calcular o average empowerment
|
||||
--total amount of empowerment
|
||||
spell.e_amt = (spell.e_amt or 0) + 1 --usado para calcular o average empowerment
|
||||
|
||||
--amount of casts on each level
|
||||
spell.e_lvl = spell.e_lvl or {}
|
||||
spell.e_lvl[empowerSpellInfo.empowerLevel] = (spell.e_lvl[empowerSpellInfo.empowerLevel] or 0) + 1
|
||||
|
||||
empowerSpellInfo.counted = true
|
||||
end
|
||||
|
||||
--healing bracket
|
||||
spell.e_heal = spell.e_heal or {}
|
||||
spell.e_heal[empowerSpellInfo.empowerLevel] = (spell.e_heal[empowerSpellInfo.empowerLevel] or 0) + cura_efetiva
|
||||
end
|
||||
end
|
||||
|
||||
if (is_shield) then
|
||||
--return spell:Add (alvo_serial, alvo_name, alvo_flags, cura_efetiva, who_name, 0, nil, overhealing, true)
|
||||
return spell_heal_func (spell, alvo_serial, alvo_name, alvo_flags, cura_efetiva, who_name, 0, nil, overhealing, true)
|
||||
@@ -5274,6 +5323,7 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
|
||||
wipe(necro_cheat_deaths) --remove on 10.0
|
||||
wipe(dk_pets_cache.army)
|
||||
wipe(dk_pets_cache.apoc)
|
||||
wipe(empower_cache)
|
||||
|
||||
--remove on 10.0 spikeball from painsmith
|
||||
spikeball_damage_cache = {
|
||||
@@ -5462,6 +5512,7 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
|
||||
|
||||
if (not OnRegenEnabled) then
|
||||
wipe(bitfield_swap_cache)
|
||||
wipe(empower_cache)
|
||||
_detalhes:DispatchAutoRunCode("on_leavecombat")
|
||||
end
|
||||
|
||||
@@ -6031,11 +6082,7 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
|
||||
xpcall(saveNicktabCache, saver_error)
|
||||
end)
|
||||
|
||||
--10/30 15:32:11.515 SPELL_EMPOWER_START,Player-4184-00242A35,"Isodrak-Valdrakken",0x514,0x0,Player-4184-00242A35,"Isodrak-Valdrakken",0x514,0x0,382266,"Fire Breath",0x4
|
||||
--10/30 15:32:12.433 SPELL_EMPOWER_END,Player-4184-00242A35,"Isodrak-Valdrakken",0x514,0x0,0000000000000000,nil,0x80000000,0x80000000,382266,"Fire Breath",0x4,1
|
||||
--10/30 15:33:45.970 SPELL_EMPOWER_INTERRUPT,Player-4184-00218B4F,"Minng-Valdrakken",0x512,0x0,0000000000000000,nil,0x80000000,0x80000000,382266,"Fire Breath",0x4,1
|
||||
|
||||
-- ~parserstart ~startparser ~cleu
|
||||
-- ~parserstart ~startparser ~cleu ~parser
|
||||
function _detalhes.OnParserEvent(...)
|
||||
local time, token, hidding, who_serial, who_name, who_flags, who_flags2, target_serial, target_name, target_flags, target_flags2, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12 = CombatLogGetCurrentEventInfo()
|
||||
|
||||
@@ -6113,6 +6160,7 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
|
||||
wipe(misc_cache_pets)
|
||||
wipe(misc_cache_petsOwners)
|
||||
wipe(npcid_cache)
|
||||
wipe(empower_cache)
|
||||
|
||||
wipe(ignore_death)
|
||||
|
||||
@@ -6167,6 +6215,7 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
|
||||
wipe(tanks_members_cache)
|
||||
wipe(auto_regen_cache)
|
||||
wipe(bitfield_swap_cache)
|
||||
wipe(empower_cache)
|
||||
|
||||
local roster = _detalhes.tabela_vigente.raid_roster
|
||||
|
||||
|
||||
@@ -628,6 +628,7 @@ function gump:CriaDetalheInfo(index)
|
||||
|
||||
spellInfoBlock.middleStringUp = spellInfoBlock.bg:CreateFontString(nil, "OVERLAY", "GameFontHighlightSmall")
|
||||
spellInfoBlock.middleStringDown = spellInfoBlock.bg:CreateFontString(nil, "OVERLAY", "GameFontHighlightSmall")
|
||||
spellInfoBlock.middleStringMiddle = spellInfoBlock.bg:CreateFontString(nil, "OVERLAY", "GameFontHighlightSmall")
|
||||
|
||||
spellInfoBlock.bg.overlay = spellInfoBlock.bg:CreateTexture("DetailsPlayerDetailsWindow_DetalheInfoBG_Overlay" .. index, "ARTWORK")
|
||||
spellInfoBlock.bg.overlay:SetTexture("Interface\\AddOns\\Details\\images\\overlay_detalhes")
|
||||
@@ -719,15 +720,17 @@ function gump:SetaDetalheInfoAltura(index, xmod, ymod)
|
||||
spellInfoBlock.dano:SetPoint("TOPLEFT", background, "TOPLEFT", xOffset, yOffset + (-24))
|
||||
spellInfoBlock.dano_media:SetPoint("TOPLEFT", background, "TOPLEFT", xOffset, yOffset + (-44))
|
||||
|
||||
spellInfoBlock.nome2:SetPoint("TOPRIGHT", background, "TOPRIGHT", -xOffset + right, yOffset + (-2))
|
||||
spellInfoBlock.nome2:SetPoint("TOPRIGHT", background, "TOPRIGHT", -xOffset + right, yOffset + (-4))
|
||||
spellInfoBlock.dano_porcento:SetPoint("TOPRIGHT", background, "TOPRIGHT", -xOffset + right, yOffset + (-24))
|
||||
spellInfoBlock.dano_dps:SetPoint("TOPRIGHT", background, "TOPRIGHT", -xOffset + right, yOffset + (-44))
|
||||
|
||||
spellInfoBlock.middleStringUp:SetPoint("center", background, "center", 0, 0)
|
||||
spellInfoBlock.middleStringUp:SetPoint("top", background, "top", 0, -2)
|
||||
spellInfoBlock.middleStringUp:SetPoint("top", background, "top", 0, -7)
|
||||
|
||||
spellInfoBlock.middleStringDown:SetPoint("center", background, "center", 0, 0)
|
||||
spellInfoBlock.middleStringDown:SetPoint("bottom", background, "bottom", 0, 2)
|
||||
spellInfoBlock.middleStringDown:SetPoint("bottom", background, "bottom", 0, 19)
|
||||
|
||||
spellInfoBlock.middleStringMiddle:SetPoint("center", background, "center", 0, 6)
|
||||
|
||||
spellInfoBlock.bg:SetPoint("TOPLEFT", background, "TOPLEFT", 1, -1)
|
||||
spellInfoBlock.bg:SetHeight(background:GetHeight() - 2)
|
||||
@@ -746,7 +749,7 @@ end
|
||||
|
||||
--seta o conte�do da barra de detalhes
|
||||
------------------------------------------------------------------------------------------------------------------------------
|
||||
function gump:SetaDetalheInfoTexto(index, data, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
|
||||
function gump:SetaDetalheInfoTexto(index, data, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)
|
||||
local spellInfoBlock = _detalhes.playerDetailWindow.grupos_detalhes[index]
|
||||
|
||||
if (data) then
|
||||
@@ -808,6 +811,12 @@ function gump:SetaDetalheInfoTexto(index, data, arg1, arg2, arg3, arg4, arg5, ar
|
||||
spellInfoBlock.middleStringDown:SetText("")
|
||||
end
|
||||
|
||||
if (arg9) then
|
||||
spellInfoBlock.middleStringMiddle:SetText(arg9)
|
||||
else
|
||||
spellInfoBlock.middleStringMiddle:SetText("")
|
||||
end
|
||||
|
||||
spellInfoBlock.nome:Show()
|
||||
spellInfoBlock.dano:Show()
|
||||
spellInfoBlock.dano_porcento:Show()
|
||||
@@ -816,6 +825,8 @@ function gump:SetaDetalheInfoTexto(index, data, arg1, arg2, arg3, arg4, arg5, ar
|
||||
spellInfoBlock.nome2:Show()
|
||||
spellInfoBlock.middleStringUp:Show()
|
||||
spellInfoBlock.middleStringDown:Show()
|
||||
spellInfoBlock.middleStringDown:Show()
|
||||
spellInfoBlock.middleStringMiddle:Show()
|
||||
end
|
||||
|
||||
--cria as 5 caixas de detalhes infos que ser�o usados
|
||||
|
||||
Reference in New Issue
Block a user