This commit is contained in:
Tercio
2013-10-05 14:35:38 -03:00
parent 4b713b9d5d
commit f091ef2dd2
9 changed files with 202 additions and 27 deletions
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
}
}
+2
View File
@@ -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
View File
@@ -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
+7 -1
View File
@@ -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
View File
@@ -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
+2
View File
@@ -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."
+2
View File
@@ -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 = {