Removed Multistrike leftovers, added extra attacks counter

This commit is contained in:
Tercio Jose
2020-12-05 15:13:18 -03:00
parent 162c088c72
commit 7ed1182376
9 changed files with 34 additions and 124 deletions
+2 -8
View File
@@ -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}
+2 -8
View File
@@ -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}
+1
View File
@@ -27,6 +27,7 @@ function DF.SavedVars.GetOrCreateAddonSavedTablesPlayerList(addonFrame)
return addonGlobalSavedTable.__savedVarsByGUID
end
--addon statup
function DF.SavedVars.LoadSavedVarsForPlayer(addonFrame)
local playerSerial = UnitGUID("player")
+2 -17
View File
@@ -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
]],
-32
View File
@@ -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)
-28
View File
@@ -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)
+1 -9
View File
@@ -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,
-5
View File
@@ -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
View File
@@ -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",