Removed Multistrike leftovers, added extra attacks counter
This commit is contained in:
@@ -379,16 +379,13 @@ spell.successful_casted = how many times this spell has been casted successfully
|
||||
- players has its own spell cast counter inside Misc Container with the member "spell_cast".
|
||||
- the reason os this is spell_cast holds all spells regardless of its attribute (can hold healing/damage/energy/misc).
|
||||
|
||||
spell.m_amt = multistrike hits.
|
||||
spell.m_dmg = multistrike damage.
|
||||
spell.m_crit = multistrike critical hits.
|
||||
spell.n_min = minimal damage made on a normal hit.
|
||||
spell.n_max = max damage made on a normal hit.
|
||||
spell.n_amt = amount of normal hits.
|
||||
spell.n_dmg = total amount made doing only normal hits.
|
||||
spell.c_min = minimal damage made on a critical hit.
|
||||
spell.c_max = max damage made on a critical hit.
|
||||
spell.c_amt = how many times this spell got a critical hit (doesn't count critical by multistrike).
|
||||
spell.c_amt = how many times this spell got a critical hit.
|
||||
spell.c_dmg = total amount made doing only normal hits.
|
||||
spell.g_amt = how many glancing blows this spell has.
|
||||
spell.g_dmg = total damage made by glancing blows.
|
||||
@@ -438,16 +435,13 @@ spell.id = spellid.
|
||||
spell.totalabsorb = only for shields, tells how much damage this spell prevented.
|
||||
spell.absorbed = is how many healing has been absorbed by some external mechanic like Befouled on Fel Lord Zakuun encounter.
|
||||
spell.overheal = amount of overheal made by this spell.
|
||||
spell.m_amt = multistrike hits.
|
||||
spell.m_healed = multistrike healed.
|
||||
spell.m_crit = multistrike critical hits.
|
||||
spell.n_min = minimal heal made on a normal hit.
|
||||
spell.n_max = max heal made on a normal hit.
|
||||
spell.n_amt = amount of normal hits.
|
||||
spell.n_curado = total amount made doing only normal hits (weird name I know).
|
||||
spell.c_min = minimal heal made on a critical hit.
|
||||
spell.c_max = max heal made on a critical hit.
|
||||
spell.c_amt = how many times this spell got a critical hit (doesn't count critical by multistrike).
|
||||
spell.c_amt = how many times this spell got a critical hit.
|
||||
spell.c_curado = total amount made doing only normal hits.
|
||||
|
||||
spell.targets = hash table containing {["targetname"] = total healing done by this spell on this target}
|
||||
|
||||
@@ -382,16 +382,13 @@ spell.successful_casted = how many times this spell has been casted successfully
|
||||
- players has its own spell cast counter inside Misc Container with the member "spell_cast".
|
||||
- the reason os this is spell_cast holds all spells regardless of its attribute (can hold healing/damage/energy/misc).
|
||||
|
||||
spell.m_amt = multistrike hits.
|
||||
spell.m_dmg = multistrike damage.
|
||||
spell.m_crit = multistrike critical hits.
|
||||
spell.n_min = minimal damage made on a normal hit.
|
||||
spell.n_max = max damage made on a normal hit.
|
||||
spell.n_amt = amount of normal hits.
|
||||
spell.n_dmg = total amount made doing only normal hits.
|
||||
spell.c_min = minimal damage made on a critical hit.
|
||||
spell.c_max = max damage made on a critical hit.
|
||||
spell.c_amt = how many times this spell got a critical hit (doesn't count critical by multistrike).
|
||||
spell.c_amt = how many times this spell got a critical hit.
|
||||
spell.c_dmg = total amount made doing only normal hits.
|
||||
spell.g_amt = how many glancing blows this spell has.
|
||||
spell.g_dmg = total damage made by glancing blows.
|
||||
@@ -442,16 +439,13 @@ spell.id = spellid.
|
||||
spell.totalabsorb = only for shields, tells how much damage this spell prevented.
|
||||
spell.absorbed = is how many healing has been absorbed by some external mechanic like Befouled on Fel Lord Zakuun encounter.
|
||||
spell.overheal = amount of overheal made by this spell.
|
||||
spell.m_amt = multistrike hits.
|
||||
spell.m_healed = multistrike healed.
|
||||
spell.m_crit = multistrike critical hits.
|
||||
spell.n_min = minimal heal made on a normal hit.
|
||||
spell.n_max = max heal made on a normal hit.
|
||||
spell.n_amt = amount of normal hits.
|
||||
spell.n_curado = total amount made doing only normal hits (weird name I know).
|
||||
spell.c_min = minimal heal made on a critical hit.
|
||||
spell.c_max = max heal made on a critical hit.
|
||||
spell.c_amt = how many times this spell got a critical hit (doesn't count critical by multistrike).
|
||||
spell.c_amt = how many times this spell got a critical hit.
|
||||
spell.c_curado = total amount made doing only normal hits.
|
||||
|
||||
spell.targets = hash table containing {["targetname"] = total healing done by this spell on this target}
|
||||
|
||||
@@ -27,6 +27,7 @@ function DF.SavedVars.GetOrCreateAddonSavedTablesPlayerList(addonFrame)
|
||||
return addonGlobalSavedTable.__savedVarsByGUID
|
||||
end
|
||||
|
||||
--addon statup
|
||||
function DF.SavedVars.LoadSavedVarsForPlayer(addonFrame)
|
||||
local playerSerial = UnitGUID("player")
|
||||
|
||||
|
||||
@@ -1777,7 +1777,7 @@
|
||||
desc = Loc ["STRING_CUSTOM_MYSPELLS_DESC"],
|
||||
source = false,
|
||||
target = false,
|
||||
script_version = 7,
|
||||
script_version = 8,
|
||||
script = [[
|
||||
--get the parameters passed
|
||||
local combat, instance_container, instance = ...
|
||||
@@ -1940,14 +1940,7 @@
|
||||
end
|
||||
|
||||
GC:AddStatusBar (100, 1, R, G, B, A)
|
||||
|
||||
--GC:AddLine (" ")
|
||||
|
||||
GC:AddLine ("Multistrike: ", spell.m_amt .. " (" ..floor ( spell.m_amt/total_hits*100) .. "%)")
|
||||
GC:AddStatusBar (100, 1, R, G, B, A)
|
||||
|
||||
GC:AddLine ("On Normal / On Critical:", spell.m_amt - spell.m_crit .. " / " .. spell.m_crit)
|
||||
GC:AddStatusBar (100, 1, R, G, B, A)
|
||||
|
||||
|
||||
elseif (spell.n_curado) then
|
||||
|
||||
@@ -2007,14 +2000,6 @@
|
||||
end
|
||||
|
||||
GC:AddStatusBar (100, 1, R, G, B, A)
|
||||
|
||||
--GC:AddLine (" ")
|
||||
|
||||
GC:AddLine ("Multistrike: ", spell.m_amt .. " (" ..floor ( spell.m_amt/total_hits*100) .. "%)")
|
||||
GC:AddStatusBar (100, 1, R, G, B, A)
|
||||
|
||||
GC:AddLine ("On Normal / On Critical:", spell.m_amt - spell.m_crit .. " / " .. spell.m_crit)
|
||||
GC:AddStatusBar (100, 1, R, G, B, A)
|
||||
end
|
||||
]],
|
||||
|
||||
|
||||
@@ -4607,12 +4607,10 @@ end
|
||||
------ Detalhe Info Damage Done e Dps
|
||||
--local defenses_table = {c = {117/255, 58/255, 0/255}, p = 0}
|
||||
--local normal_table = {c = {255/255, 180/255, 0/255, 0.5}, p = 0}
|
||||
--local multistrike_table = {c = {223/255, 249/255, 45/255, 0.5}, p = 0}
|
||||
--local critical_table = {c = {249/255, 74/255, 45/255, 0.5}, p = 0}
|
||||
|
||||
local defenses_table = {c = {1, 1, 1, 0.5}, p = 0}
|
||||
local normal_table = {c = {1, 1, 1, 0.5}, p = 0}
|
||||
local multistrike_table = {c = {1, 1, 1, 0.5}, p = 0}
|
||||
local critical_table = {c = {1, 1, 1, 0.5}, p = 0}
|
||||
|
||||
local data_table = {}
|
||||
@@ -4765,10 +4763,8 @@ function atributo_damage:MontaDetalhesDamageDone (spellid, barra, instancia)
|
||||
end
|
||||
|
||||
gump:SetaDetalheInfoTexto ( index, 100,
|
||||
--Loc ["STRING_GERAL"],
|
||||
cast_string,
|
||||
Loc ["STRING_DAMAGE"]..": "..Details:ToK (esta_magia.total),
|
||||
--Loc ["STRING_MULTISTRIKE"] .. ": " .. _cstr ("%.1f", esta_magia.counter/esta_magia.m_amt*100) .. "%",
|
||||
schooltext, --offhand,
|
||||
Loc ["STRING_AVERAGE"] .. ": " .. Details:comma_value (media),
|
||||
this_dps,
|
||||
@@ -4847,40 +4843,12 @@ function atributo_damage:MontaDetalhesDamageDone (spellid, barra, instancia)
|
||||
t3[8] = (outros_desvios+erros) .. " / " .. _cstr ("%.1f", porcentagem_defesas) .. "%"
|
||||
|
||||
end
|
||||
|
||||
--> multistrike
|
||||
--[=[
|
||||
if (esta_magia.m_amt > 0) then
|
||||
|
||||
local normal_hits = esta_magia.m_amt
|
||||
local normal_dmg = esta_magia.m_dmg
|
||||
|
||||
local media_normal = normal_dmg/normal_hits
|
||||
local T = (meu_tempo*normal_dmg)/esta_magia.total
|
||||
local P = media/media_normal*100
|
||||
T = P*T/100
|
||||
|
||||
data[#data+1] = t4
|
||||
multistrike_table.p = esta_magia.m_amt/total_hits*100
|
||||
|
||||
t4[1] = esta_magia.m_amt
|
||||
t4[2] = multistrike_table
|
||||
t4[3] = Loc ["STRING_MULTISTRIKE_HITS"]
|
||||
t4[4] = "On Critical: " .. esta_magia.m_crit
|
||||
t4[5] = "On Normals: " .. (esta_magia.m_amt - esta_magia.m_crit)
|
||||
t4[6] = Loc ["STRING_AVERAGE"] .. ": " .. Details:comma_value (esta_magia.m_dmg/esta_magia.m_amt)
|
||||
t4[7] = Loc ["STRING_DPS"] .. ": " .. Details:comma_value (esta_magia.m_dmg/T)
|
||||
t4[8] = esta_magia.m_amt .. " / " .. _cstr ("%.1f", esta_magia.m_amt/total_hits*100) .. "%"
|
||||
|
||||
end
|
||||
--]=]
|
||||
|
||||
--Details:BuildPlayerDetailsSpellChart()
|
||||
--DetailsPlayerDetailSmallChart.ShowChart (Details.playerDetailWindow.grupos_detalhes [5].bg, info.instancia.showing, info.instancia.showing.cleu_events, self.nome, false, spellid, 1, 2, 3, 4, 5, 6, 7, 8, 15)
|
||||
|
||||
--> spell damage chart
|
||||
--events: 1 2 3 4 5 6 7 8 15
|
||||
|
||||
|
||||
_table_sort (data, Details.Sort1)
|
||||
|
||||
|
||||
@@ -2211,7 +2211,6 @@ local absorbed_table = {c = {1, 1, 1, 0.4}, p = 0}
|
||||
local overhealing_table = {c = {0.5, 0.1, 0.1, 0.4}, p = 0}
|
||||
local anti_heal_table = {c = {0.5, 0.1, 0.1, 0.4}, p = 0}
|
||||
local normal_table = {c = {1, 1, 1, 0.4}, p = 0}
|
||||
local multistrike_table = {c = {1, 1, 1, 0.4}, p = 0}
|
||||
local critical_table = {c = {1, 1, 1, 0.4}, p = 0}
|
||||
|
||||
local data_table = {}
|
||||
@@ -2367,33 +2366,6 @@ function atributo_heal:MontaDetalhesHealingDone (spellid, barra)
|
||||
t2[8] = esta_magia.c_amt .. " [|cFFC0C0C0".. _cstr ("%.1f", esta_magia.c_amt/total_hits*100) .. "%|r]"
|
||||
|
||||
end
|
||||
|
||||
--> MULTISTRIKE
|
||||
--[=[
|
||||
if (esta_magia.m_amt > 0) then
|
||||
|
||||
local multistrike_hits = esta_magia.m_amt
|
||||
local multistrike_heal = esta_magia.m_healed
|
||||
|
||||
local media_normal = multistrike_heal / multistrike_hits
|
||||
local T = (meu_tempo * multistrike_heal) / esta_magia.total
|
||||
local P = media / media_normal * 100
|
||||
T = P * T / 100
|
||||
|
||||
data[#data+1] = t3
|
||||
multistrike_table.p = esta_magia.m_amt/total_hits*100
|
||||
|
||||
t3[1] = multistrike_hits
|
||||
t3[2] = multistrike_table
|
||||
t3[3] = Loc ["STRING_MULTISTRIKE_HITS"]
|
||||
t3[4] = "On Critical: " .. esta_magia.m_crit
|
||||
t3[5] = "On Normals: " .. (esta_magia.m_amt - esta_magia.m_crit)
|
||||
t3[6] = Loc ["STRING_AVERAGE"] .. ": " .. _detalhes:comma_value (multistrike_heal / multistrike_hits)
|
||||
t3[7] = Loc ["STRING_HPS"] .. ": " .. _detalhes:comma_value (multistrike_heal / T)
|
||||
t3[8] = multistrike_hits .. " [|cFFC0C0C0" .. _cstr ("%.1f", multistrike_hits / total_hits * 100) .. "%|r]"
|
||||
|
||||
end
|
||||
--]=]
|
||||
end
|
||||
|
||||
_table_sort (data, _detalhes.Sort1)
|
||||
|
||||
@@ -31,15 +31,7 @@
|
||||
counter = 0, --counter
|
||||
id = id, --spellid
|
||||
successful_casted = 0, --successful casted times (only for enemies)
|
||||
|
||||
--> multistrike (deprecated)
|
||||
m_amt = 0,
|
||||
m_dmg = 0,
|
||||
m_crit = 0,
|
||||
--off_amt = 0,
|
||||
--off_dmg = 0,
|
||||
--main_amt = 0,
|
||||
|
||||
|
||||
--> normal hits
|
||||
n_min = 0,
|
||||
n_max = 0,
|
||||
|
||||
@@ -28,11 +28,6 @@
|
||||
absorbed = 0,
|
||||
overheal = 0,
|
||||
totaldenied = 0,
|
||||
|
||||
--> multistrike
|
||||
m_amt = 0,
|
||||
m_healed = 0,
|
||||
m_crit = 0,
|
||||
|
||||
--> normal hits
|
||||
n_min = 0,
|
||||
|
||||
+26
-17
@@ -560,11 +560,6 @@
|
||||
if (is_using_spellId_override) then
|
||||
spellid = override_spellId [spellid] or spellid
|
||||
end
|
||||
|
||||
--Thing From Beyond 8.3 REMOVE ON 9.0
|
||||
if(alvo_serial:match("161895%-%w+$")) then
|
||||
alvo_flags = 0xa48
|
||||
end
|
||||
|
||||
--> npcId check for ignored npcs
|
||||
--target
|
||||
@@ -599,15 +594,6 @@
|
||||
--> Light of the Martyr - paladin spell which causes damage to the caster it self
|
||||
elseif (spellid == SPELLID_PALADIN_LIGHTMARTYR) then -- or spellid == 183998 < healing part
|
||||
return parser:LOTM_damage (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname, spelltype, amount, overkill, school, resisted, blocked, absorbed, critical, glacing, crushing, isoffhand)
|
||||
|
||||
--Eye of Corruption 8.3 REMOVE ON 9.0
|
||||
elseif (spellid == 315161) then
|
||||
local enemyName = GetSpellInfo(315161)
|
||||
who_serial, who_name, who_flags = "", enemyName, 0xa48
|
||||
|
||||
--Thing From Beyond 8.3 REMOVE ON 9.0
|
||||
elseif (spellid == 315197) then
|
||||
who_flags = 0xa48
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1355,6 +1341,28 @@
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
--extra attacks
|
||||
function parser:spell_dmg_extra_attacks(token, time, who_serial, who_name, who_flags, _, _, _, _, spellid, spellName, spelltype, arg1)
|
||||
local este_jogador = damage_cache [who_serial]
|
||||
if (not este_jogador) then
|
||||
local meu_dono
|
||||
este_jogador, meu_dono, who_name = _current_damage_container:PegarCombatente (who_serial, who_name, who_flags, true)
|
||||
if (not este_jogador) then
|
||||
return --> just return if actor doen't exist yet
|
||||
end
|
||||
end
|
||||
|
||||
--/dump Details:GetCurrentCombat():GetPlayer("Hetdor").spells:GetSpell(1).extra["extra_attack"]
|
||||
|
||||
--> actor spells table
|
||||
local spell = este_jogador.spells._ActorTable[1] --melee damage
|
||||
if (not spell) then
|
||||
return
|
||||
end
|
||||
|
||||
spell.extra["extra_attack"] = (spell.extra["extra_attack"] or 0) + 1
|
||||
end
|
||||
|
||||
--function parser:swingmissed (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, missType, isOffHand, amountMissed)
|
||||
function parser:swingmissed (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, alvo_flags2, missType, isOffHand, amountMissed) --, isOffHand, amountMissed, arg1
|
||||
@@ -4161,7 +4169,7 @@ spelltype = 1
|
||||
|
||||
if (capture_type == "damage") then
|
||||
token_list ["SPELL_PERIODIC_DAMAGE"] = parser.spell_dmg
|
||||
token_list ["SPELL_EXTRA_ATTACKS"] = parser.spell_dmg
|
||||
token_list ["SPELL_EXTRA_ATTACKS"] = parser.spell_dmg_extra_attacks
|
||||
token_list ["SPELL_DAMAGE"] = parser.spell_dmg
|
||||
token_list ["SPELL_BUILDING_DAMAGE"] = parser.spell_dmg
|
||||
token_list ["SWING_DAMAGE"] = parser.swing
|
||||
@@ -4215,9 +4223,10 @@ spelltype = 1
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
parser.original_functions = {
|
||||
["spell_dmg"] = parser.spell_dmg,
|
||||
["spell_dmg_extra_attacks"] = parser.spell_dmg_extra_attacks,
|
||||
["swing"] = parser.swing,
|
||||
["range"] = parser.range,
|
||||
["rangemissed"] = parser.rangemissed,
|
||||
@@ -4254,7 +4263,7 @@ spelltype = 1
|
||||
|
||||
local all_parser_tokens = {
|
||||
["SPELL_PERIODIC_DAMAGE"] = "spell_dmg",
|
||||
["SPELL_EXTRA_ATTACKS"] = "spell_dmg",
|
||||
["SPELL_EXTRA_ATTACKS"] = "spell_dmg_extra_attacks",
|
||||
["SPELL_DAMAGE"] = "spell_dmg",
|
||||
["SPELL_BUILDING_DAMAGE"] = "spell_dmg",
|
||||
["SWING_DAMAGE"] = "swing",
|
||||
|
||||
Reference in New Issue
Block a user