fixes
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
--> global name declaration
|
||||
|
||||
_detalhes = LibStub("AceAddon-3.0"):NewAddon("_detalhes", "AceTimer-3.0", "AceComm-3.0", "AceSerializer-3.0", "NickTag-1.0")
|
||||
_detalhes.userversion = "v1.4.12"
|
||||
_detalhes.userversion = "v1.4.13"
|
||||
_detalhes.version = "Alpha 007"
|
||||
_detalhes.realversion = 7
|
||||
|
||||
|
||||
@@ -133,7 +133,7 @@ function combate:NovaTabela (iniciada, _tabela_overall, combatId, ...)
|
||||
interrupt = 0, --> armazena quantos interrupt a pessoa deu
|
||||
dispell = 0, --> armazena quantos dispell esta pessoa recebeu
|
||||
dead = 0, --> armazena quantas vezes essa pessia morreu
|
||||
cooldowns_defensive = 0 --> armazena quantos cooldowns a raid usou
|
||||
cooldowns_defensive = 0, --> armazena quantos cooldowns a raid usou
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -63,6 +63,7 @@ function historico:adicionar (tabela)
|
||||
end
|
||||
end
|
||||
|
||||
--[[
|
||||
if (self.tabelas[3]) then
|
||||
if (self.tabelas[3].is_trash and self.tabelas[2].is_trash and not self.tabelas[3].is_boss and not self.tabelas[2].is_boss) then
|
||||
--> tabela 2 deve ser deletada e somada a tabela 1
|
||||
@@ -82,6 +83,7 @@ function historico:adicionar (tabela)
|
||||
--self.tabelas[2] = self.tabelas[2] + self.tabelas[3]
|
||||
--_table_remove (self.tabelas, 3)
|
||||
end
|
||||
--]]
|
||||
|
||||
end
|
||||
|
||||
|
||||
+126
-10
@@ -34,6 +34,7 @@
|
||||
local parser = _detalhes.parser --details local
|
||||
local absorb_spell_list = _detalhes.AbsorbSpells --details local
|
||||
local defensive_cooldown_spell_list = _detalhes.DefensiveCooldownSpells --details local
|
||||
local defensive_cooldown_spell_list_no_buff = _detalhes.DefensiveCooldownSpellsNoBuff --details local
|
||||
local cc_spell_list = _detalhes.CrowdControlSpells --details local
|
||||
local container_combatentes = _detalhes.container_combatentes --details local
|
||||
local container_habilidades = _detalhes.container_habilidades --details local
|
||||
@@ -137,9 +138,9 @@
|
||||
if (not _in_combat) then
|
||||
if ( token ~= "SPELL_PERIODIC_DAMAGE" and
|
||||
(
|
||||
( _bit_band (who_flags, AFFILIATION_GROUP) ~= 0 and _UnitAffectingCombat (who_name) )
|
||||
(who_flags and _bit_band (who_flags, AFFILIATION_GROUP) ~= 0 and _UnitAffectingCombat (who_name) )
|
||||
or
|
||||
(_bit_band (alvo_flags, AFFILIATION_GROUP) ~= 0 and _UnitAffectingCombat (alvo_name) )
|
||||
(alvo_flags and _bit_band (alvo_flags, AFFILIATION_GROUP) ~= 0 and _UnitAffectingCombat (alvo_name) )
|
||||
)) then
|
||||
|
||||
--> não entra em combate se for DOT
|
||||
@@ -697,10 +698,9 @@
|
||||
else
|
||||
escudo [alvo_name] [spellid] [who_name] = amount
|
||||
end
|
||||
|
||||
elseif (defensive_cooldown_spell_list [spellid]) then
|
||||
--> usou cooldown
|
||||
return parser:add_defensive_cooldown (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname, _, tipo, amount)
|
||||
return parser:add_defensive_cooldown (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname)
|
||||
|
||||
------------------------------------------------------------------------------------------------
|
||||
--> recording buffs
|
||||
@@ -1108,7 +1108,7 @@
|
||||
--> MISC search key: ~cooldown |
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
function parser:add_defensive_cooldown (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname, _, tipo, amount)
|
||||
function parser:add_defensive_cooldown (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname)
|
||||
|
||||
------------------------------------------------------------------------------------------------
|
||||
--> early checks and fixes
|
||||
@@ -1297,6 +1297,114 @@
|
||||
return spell:Add (alvo_serial, alvo_name, alvo_flags, who_name, token, extraSpellID, extraSpellName)
|
||||
|
||||
end
|
||||
|
||||
--> search key: ~spellcast castspell
|
||||
function parser:spellcast (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname, spelltype)
|
||||
|
||||
--print (token, time, "WHO:",who_serial, who_name, who_flags, "TARGET:",alvo_serial, alvo_name, alvo_flags, "SPELL:",spellid, spellname, spelltype)
|
||||
|
||||
--> esta dando erro onde o nome é NIL, fazendo um fix para isso
|
||||
if (who_flags and _bit_band (who_flags, OBJECT_TYPE_PLAYER) ~= 0) then
|
||||
--> check if is a cooldown :D
|
||||
if (defensive_cooldown_spell_list_no_buff [spellid]) then
|
||||
--> usou cooldown
|
||||
if (not alvo_name) then
|
||||
if (defensive_cooldown_spell_list_no_buff [spellid][3] == 1) then
|
||||
alvo_name = who_name
|
||||
else
|
||||
alvo_name = Loc ["STRING_RAID_WIDE"]
|
||||
end
|
||||
end
|
||||
return parser:add_defensive_cooldown (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname)
|
||||
else
|
||||
return
|
||||
end
|
||||
else
|
||||
|
||||
|
||||
|
||||
--> spells de boss
|
||||
return
|
||||
end
|
||||
|
||||
if (not who_name) then
|
||||
--print ( "DISPELL sem who_name: [*] "..extraSpellName )
|
||||
--print (alvo_name)
|
||||
--print (spellname)
|
||||
who_name = "[*] ".. spellname
|
||||
end
|
||||
|
||||
if (not alvo_name) then
|
||||
--print ("DISPELL sem alvo_name: [*] "..extraSpellName)
|
||||
--print (who_name)
|
||||
--print (spellname)
|
||||
alvo_name = "[*] ".. spellid
|
||||
end
|
||||
|
||||
_current_misc_container.need_refresh = true
|
||||
_overall_misc_container.need_refresh = true
|
||||
|
||||
|
||||
|
||||
------------------------------------------------------------------------------------------------
|
||||
--> get actors
|
||||
|
||||
--> main actor
|
||||
--> debug - no cache
|
||||
--[[
|
||||
local este_jogador, meu_dono, who_name = _current_misc_container:PegarCombatente (who_serial, who_name, who_flags, true)
|
||||
--]]
|
||||
--[
|
||||
|
||||
|
||||
|
||||
local este_jogador, meu_dono = misc_cache [who_name]
|
||||
if (not este_jogador) then --> pode ser um desconhecido ou um pet
|
||||
este_jogador, meu_dono, who_name = _current_misc_container:PegarCombatente (who_serial, who_name, who_flags, true)
|
||||
if (not meu_dono) then --> se não for um pet, adicionar no cache
|
||||
misc_cache [who_name] = este_jogador
|
||||
end
|
||||
end
|
||||
--]]
|
||||
local shadow = este_jogador.shadow
|
||||
|
||||
------------------------------------------------------------------------------------------------
|
||||
--> build containers on the fly
|
||||
|
||||
if (not este_jogador.spellcast) then
|
||||
--> constrói aqui a tabela dele
|
||||
este_jogador.spellcast = 0
|
||||
este_jogador.spellcast_spell_tables = container_habilidades:NovoContainer (container_misc)
|
||||
|
||||
if (not shadow.spellcast_targets) then
|
||||
shadow.spellcast = 0
|
||||
shadow.spellcast_spell_tables = container_habilidades:NovoContainer (container_misc)
|
||||
end
|
||||
|
||||
este_jogador.spellcast_targets.shadow = shadow.spellcast_targets
|
||||
este_jogador.spellcast_spell_tables.shadow = shadow.spellcast_spell_tables
|
||||
end
|
||||
|
||||
------------------------------------------------------------------------------------------------
|
||||
--> add amount
|
||||
|
||||
--> last event update
|
||||
este_jogador.last_event = _tempo
|
||||
|
||||
--> actor dispell amount
|
||||
este_jogador.spellcast = este_jogador.spellcast + 1
|
||||
shadow.spellcast = shadow.spellcast + 1
|
||||
|
||||
--> actor spells table
|
||||
local spell = este_jogador.spellcast_spell_tables._ActorTable [spellid]
|
||||
if (not spell) then
|
||||
spell = este_jogador.spellcast_spell_tables:PegaHabilidade (spellid, true, token)
|
||||
end
|
||||
return spell:Add (alvo_serial, alvo_name, alvo_flags, who_name, token)
|
||||
|
||||
-- FIM FIM
|
||||
end
|
||||
|
||||
|
||||
--serach key: ~dispell
|
||||
function parser:dispell (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spellid, spellname, spelltype, extraSpellID, extraSpellName, extraSchool, auraType)
|
||||
@@ -1838,7 +1946,7 @@
|
||||
|
||||
--serach key: ~capture
|
||||
|
||||
_detalhes.capture_types = {"damage", "heal", "energy", "miscdata", "aura"}
|
||||
_detalhes.capture_types = {"damage", "heal", "energy", "miscdata", "aura", "spellcast"}
|
||||
|
||||
function _detalhes:CaptureIsAllEnabled()
|
||||
for _, _thisType in _ipairs (_detalhes.capture_types) do
|
||||
@@ -1914,6 +2022,9 @@
|
||||
token_list ["SPELL_ENERGIZE"] = nil
|
||||
token_list ["SPELL_PERIODIC_ENERGIZE"] = nil
|
||||
|
||||
elseif (capture_type == "spellcast") then
|
||||
token_list ["SPELL_CAST_SUCCESS"] = nil
|
||||
|
||||
elseif (capture_type == "miscdata") then
|
||||
-- dispell
|
||||
token_list ["SPELL_DISPEL"] = nil
|
||||
@@ -1961,6 +2072,9 @@
|
||||
token_list ["SPELL_ENERGIZE"] = parser.energize
|
||||
token_list ["SPELL_PERIODIC_ENERGIZE"] = parser.energize
|
||||
|
||||
elseif (capture_type == "spellcast") then
|
||||
token_list ["SPELL_CAST_SUCCESS"] = parser.spellcast
|
||||
|
||||
elseif (capture_type == "miscdata") then
|
||||
-- dispell
|
||||
token_list ["SPELL_DISPEL"] = parser.dispell
|
||||
@@ -1987,10 +2101,12 @@
|
||||
--print (token)
|
||||
|
||||
-- DEBUG
|
||||
|
||||
--local a, b, c, d, e, f, g, h, i, j, k = select (1, ...)
|
||||
--print (token, who_name, a, b, c, d, e, f, g, h, i, j, k)
|
||||
|
||||
--[[
|
||||
if (who_name == "Trcioo") then
|
||||
local a, b, c, d, e, f, g, h, i, j, k = select (1, ...)
|
||||
print (token, who_name, a, b, c, d, e, f, g, h, i, j, k)
|
||||
end
|
||||
--]]
|
||||
--[[
|
||||
if (who_name == "Ditador") then
|
||||
if (token:find ("CAST")) then
|
||||
|
||||
@@ -278,13 +278,19 @@ end --]]
|
||||
["energy"] = true,
|
||||
["miscdata"] = true,
|
||||
["aura"] = true,
|
||||
["spellcast"] = true,
|
||||
}
|
||||
_detalhes.cloud_capture = _detalhes_database.cloud_capture
|
||||
|
||||
if (_detalhes.capture_real.spellcast == nil) then
|
||||
_detalhes.capture_real.spellcast = true
|
||||
end
|
||||
|
||||
_detalhes.capture_current = {}
|
||||
for captureType, captureValue in pairs (_detalhes.capture_real) do
|
||||
_detalhes.capture_current [captureType] = captureValue
|
||||
end
|
||||
|
||||
_detalhes.cloud_capture = _detalhes_database.cloud_capture
|
||||
_detalhes.minimum_combat_time = _detalhes_database.minimum_combat_time
|
||||
|
||||
|
||||
|
||||
+51
-12
@@ -368,6 +368,51 @@ do
|
||||
|
||||
}
|
||||
|
||||
_detalhes.DefensiveCooldownSpellsNoBuff = {
|
||||
|
||||
--["DEATHKNIGHT"] = {},
|
||||
[48707] = {45, 5, 1}, -- Anti-Magic Shell
|
||||
[48743] = {120, 0, 1}, --Death Pact
|
||||
[51052] = {120, 3, 0}, --Anti-Magic Zone
|
||||
|
||||
--["DRUID"] = {},
|
||||
[740] = {480, 8, 0}, --Tranquility
|
||||
[22842] = {0, 0, 1}, --Frenzied Regeneration
|
||||
|
||||
--["HUNTER"] = {},
|
||||
|
||||
--["MAGE"] = {},
|
||||
|
||||
--["MONK"] = {},
|
||||
[115295] = {30, 30, 1}, -- Guard
|
||||
[116849] = {120, 12, 0}, -- Life Cocoon (a)
|
||||
[115310] = {180, 0, 0}, -- Revival
|
||||
[119582] = {60, 0, 0}, -- Purifying Brew
|
||||
[116844] = {45, 8, 0}, --Ring of Peace
|
||||
|
||||
--["PALADIN"] = {},
|
||||
[633] = {600, 0, 0}, --Lay on Hands
|
||||
|
||||
--["PRIEST"] = {},
|
||||
[62618] = {180, 10, 0}, --Power Word: Barrier
|
||||
[109964] = {60, 10, 0}, --Spirit Shell
|
||||
[64843] = {180, 8, 0}, --Divine Hymn
|
||||
[108968] = {300, 0, 0}, --Void Shift holy disc
|
||||
[142723] = {600, 0, 0}, --Void Shift shadow
|
||||
|
||||
--["ROGUE"] = {},
|
||||
[76577] = {180, 0, 0}, --Smoke Bomb
|
||||
|
||||
--["SHAMAN"] = {},
|
||||
[108270] = {60, 5, 1}, -- Stone Bulwark Totem
|
||||
|
||||
--["WARLOCK"] = {108416, 6229},
|
||||
[108416] = {60, 20, 1}, -- Sacrificial Pact 1 = self
|
||||
[6229] = {30, 30, 1}, -- Twilight Ward 1 = self
|
||||
|
||||
--["WARRIOR"] = {},
|
||||
}
|
||||
|
||||
_detalhes.DefensiveCooldownSpells = {
|
||||
|
||||
--> spellid = {cooldown, duration}
|
||||
@@ -375,11 +420,10 @@ do
|
||||
-- Death Knigh
|
||||
[55233] = {60, 10}, -- Vampiric Blood
|
||||
[49222] = {60, 300}, -- Bone Shield
|
||||
[48707] = {45, 5}, -- Anti-Magic Shell
|
||||
[48792] = {180, 12}, -- Icebound Fortitude
|
||||
[48743] = {120, 0}, -- Death Pact
|
||||
[49039] = {12, 10}, -- Lichborne
|
||||
["DEATHKNIGHT"] = {55233, 49222, 48707, 48792, 48743, 49039},
|
||||
["DEATHKNIGHT"] = {55233, 49222, 48707, 48792, 48743, 49039, 48743, 51052},
|
||||
|
||||
-- Druid
|
||||
[62606] = {1.5, 6}, -- Savage Defense
|
||||
@@ -387,7 +431,7 @@ do
|
||||
[102342] = {60, 12}, -- Ironbark
|
||||
[61336] = {180, 12}, -- Survival Instincts
|
||||
[22812] = {60, 12}, -- Barkskin
|
||||
["DRUID"] = {62606, 106922, 102342, 61336, 22812},
|
||||
["DRUID"] = {62606, 106922, 102342, 61336, 22812, 740, 22842},
|
||||
|
||||
-- Hunter
|
||||
[19263] = {120, 5}, -- Deterrence
|
||||
@@ -398,11 +442,9 @@ do
|
||||
["MAGE"] = {45438},
|
||||
|
||||
-- Monk
|
||||
[115295] = {30, 30}, -- Guard
|
||||
[115203] = {180, 20}, -- Fortifying Brew
|
||||
[122470] = {90, 10}, -- Touch of Karma
|
||||
[115176] = {180, 8}, -- Zen Meditation
|
||||
[116849] = {120, 12}, -- Life Cocoon
|
||||
[115213] = {180, 6}, -- Avert Harm
|
||||
[122278] = {90, 45}, -- Dampen Harm
|
||||
[122783] = {90, 6}, -- Diffuse Magic
|
||||
@@ -423,7 +465,7 @@ do
|
||||
[47788] = {180, 10}, -- Guardian Spirit
|
||||
[47585] = {120, 6}, -- Dispersion
|
||||
[33206] = {180, 8}, -- Pain Suppression
|
||||
["PRIEST"] = {15286, 47788, 47585, 33206},
|
||||
["PRIEST"] = {15286, 47788, 47585, 33206, 62618, 109964, 64843},
|
||||
|
||||
-- Rogue
|
||||
[1966] = {1.5, 5}, -- Feint
|
||||
@@ -434,15 +476,13 @@ do
|
||||
-- Shaman
|
||||
[30823] = {60, 15}, -- Shamanistic Rage
|
||||
[108271] = {120, 6}, -- Astral Shift
|
||||
[108270] = {60, 5}, -- Stone Bulwark Totem
|
||||
["SHAMAN"] = {30823, 108271, 108270},
|
||||
|
||||
-- Warlock
|
||||
[104773] = {180, 8}, -- Unending Resolve
|
||||
[108359] = {120, 12}, -- Dark Regeneration
|
||||
[108416] = {60, 20}, -- Sacrificial Pact
|
||||
[110913] = {180, 8}, -- Dark Bargain
|
||||
["WARLOCK"] = {104773, 108359, 108416, 110913},
|
||||
["WARLOCK"] = {104773, 108359, 108416, 110913, 6229},
|
||||
|
||||
-- Warrior
|
||||
[871] = {180, 12}, -- Shield Wall
|
||||
@@ -455,9 +495,8 @@ do
|
||||
|
||||
local Loc = LibStub ("AceLocale-3.0"):GetLocale ( "Details" )
|
||||
_detalhes.SpellOverwrite = {
|
||||
[124464] = {name = GetSpellInfo (124464) .. " (" .. Loc ["STRING_MASTERY"] .. ")"}, --> shadow word: pain mastery proc
|
||||
[124465] = {name = GetSpellInfo (124465) .. " (" .. Loc ["STRING_MASTERY"] .. ")"} --> vampiric touch mastery proc
|
||||
|
||||
[124464] = {name = GetSpellInfo (124464) .. " (" .. Loc ["STRING_MASTERY"] .. ")"}, --> shadow word: pain mastery proc (priest)
|
||||
[124465] = {name = GetSpellInfo (124465) .. " (" .. Loc ["STRING_MASTERY"] .. ")"} --> vampiric touch mastery proc (priest)
|
||||
}
|
||||
|
||||
end
|
||||
@@ -22,6 +22,8 @@ if not Loc then return end
|
||||
Loc ["STRING_PLEASE_WAIT"] = "Please wait"
|
||||
Loc ["STRING_UPTADING"] = "updating"
|
||||
|
||||
Loc ["STRING_RAID_WIDE"] = "[*] raid wide cooldown"
|
||||
|
||||
Loc ["STRING_RIGHTCLICK_CLOSE_SHORT"] = "Right click to close."
|
||||
Loc ["STRING_RIGHTCLICK_CLOSE_MEDIUM"] = "Use right click to close this window."
|
||||
Loc ["STRING_RIGHTCLICK_CLOSE_LARGE"] = "Click with right mouse button to close this window."
|
||||
|
||||
@@ -21,6 +21,8 @@ if not Loc then return end
|
||||
|
||||
Loc ["STRING_PLEASE_WAIT"] = "Por favor espere"
|
||||
Loc ["STRING_UPTADING"] = "atualizando"
|
||||
|
||||
Loc ["STRING_RAID_WIDE"] = "[*] cooldown de raide"
|
||||
|
||||
Loc ["STRING_RIGHTCLICK_CLOSE_SHORT"] = "Botao direito para fechar."
|
||||
Loc ["STRING_RIGHTCLICK_CLOSE_MEDIUM"] = "Use o botao direito para fechar esta janela."
|
||||
|
||||
@@ -140,6 +140,7 @@ local siege_of_orgrimmar = {
|
||||
[143295] = {0x1, 0x2000}, --> Sha Bolt
|
||||
[143309] = {0x8, 0x40}, --> Swirl
|
||||
[143413] = {0x8, 0x40}, --> Swirl
|
||||
[143412] = {0x8, 0x40}, -- Swirl
|
||||
[143436] = {0x100}, --> Corrosive Blast
|
||||
[143281] = {0x8}, --> Seeping Sha
|
||||
[143574] = {0x200}, --> Swelling Corruption
|
||||
@@ -149,7 +150,9 @@ local siege_of_orgrimmar = {
|
||||
[143297] = {0x200}, --> Sha Splash
|
||||
[145377] = {0x1}, --> Erupting Water
|
||||
[143574] = {0x200}, --> Swelling Corruption (H)
|
||||
[143460] = {0x200} -->
|
||||
[143460] = {0x200}, -->
|
||||
[143579] = {} -- Sha Corruption
|
||||
|
||||
},
|
||||
|
||||
phases = {
|
||||
@@ -164,11 +167,13 @@ local siege_of_orgrimmar = {
|
||||
143574, --> Swelling Corruption
|
||||
143297, --> Sha Splash
|
||||
145377, --> Erupting Water
|
||||
143574 --> Swelling Corruption (H)
|
||||
143574, --> Swelling Corruption (H)
|
||||
143579 -- Sha Corruption
|
||||
},
|
||||
|
||||
adds = {
|
||||
71543, --> Immerseus
|
||||
71642, --> Congealed Sha
|
||||
}
|
||||
},
|
||||
--> phase 2 - Split
|
||||
@@ -188,6 +193,7 @@ local siege_of_orgrimmar = {
|
||||
adds = {
|
||||
71603, --> Sha Puddle
|
||||
71604, --> Contaminated Puddle
|
||||
71642, --> Congealed Sha
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -320,6 +326,7 @@ local siege_of_orgrimmar = {
|
||||
[145073] = {0x200, 0x8}, --> Residual Corruption
|
||||
[144548] = {0x200}, --> Expel Corruption
|
||||
[145134] = {0x200}, --> Expel Corruption -live
|
||||
[144482] = {} --> Tear Reality
|
||||
},
|
||||
|
||||
continuo = {
|
||||
@@ -341,6 +348,7 @@ local siege_of_orgrimmar = {
|
||||
145073, --> Residual Corruption
|
||||
144548, --> Expel Corruption
|
||||
145134, --> Expel Corruption
|
||||
144482, --> Tear Reality
|
||||
},
|
||||
|
||||
phases = {
|
||||
|
||||
Reference in New Issue
Block a user