- Damage -> Enemies now also show neutral creatures.

- Added support to dungeons, bosses and trash mobs are now recognized.
- Added target information for each spell in Player Detail Window.
- Added options for change the location of tooltips.
- Added options for change the Overall Data functionality.
- Added tooltips for lock and detach buttons.
- Added new row texture: 'Details Vidro'.
- Revamp on death log tooltips.
- Improved the visual effect for the instance which current moving window can snap to.
- Fixed issue where warlocks soul link was counting as damage done.
- Fixed the attributes shown on Player Detail Window, now when showing Dps for example, all spells and targets also show Dps amount.
- Fixed issue with Hotcorners where the quick click functionality wasn't changing on options panel.
- Fixed a Hotcorner issue with window mode where the mouse goes outside the wow window.
- Fixed bug where new rows created after resize the window was coming with borders.
- Fixed bug where resize buttons was below the bars when setting the strata level to Dialog.
- You are not prepared plugin had the time alert time increased to 30 seconds, up from 20.
This commit is contained in:
tercio
2014-05-31 19:37:00 -03:00
parent acf08f3fee
commit 35cb250ee6
27 changed files with 1174 additions and 608 deletions
+15 -7
View File
@@ -196,8 +196,8 @@ end
end
local sortEnemies = function (t1, t2)
local a = _bit_band (t1.flag_original, 0x00000040)
local b = _bit_band (t2.flag_original, 0x00000040)
local a = _bit_band (t1.flag_original, 0x00000060)
local b = _bit_band (t2.flag_original, 0x00000060)
if (a ~= 0 and b ~= 0) then
return t1.total > t2.total
@@ -219,8 +219,7 @@ end
local total = 0
for index, player in _ipairs (container) do
if (_bit_band (player.flag_original, 0x00000040) ~= 0) then --> é um inimigo
if (_bit_band (player.flag_original, 0x00000060) ~= 0) then --> é um inimigo
total = total + player [keyName]
else
amount = index-1
@@ -1226,13 +1225,18 @@ function atributo_damage:AtualizaBarra (instancia, barras_container, qual_barra,
forcar = true
end
if (self.owner) then
actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors [self.owner.classe])
elseif (self.monster) then
actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors.ENEMY)
else
actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors [self.classe])
if (_bit_band (self.flag_original, 0x00000020) ~= 0) then --> neutral
actor_class_color_r, actor_class_color_g, actor_class_color_b = 1, 1, 0
else
actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors [self.classe])
end
end
return self:RefreshBarra2 (esta_barra, instancia, tabela_anterior, forcar, esta_porcentagem, qual_barra, barras_container)
@@ -1318,7 +1322,11 @@ end
elseif (self.monster) then
actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors.ENEMY)
else
actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors [self.classe])
if (_bit_band (self.flag_original, 0x00000020) ~= 0) then --> neutral
actor_class_color_r, actor_class_color_g, actor_class_color_b = 1, 1, 0
else
actor_class_color_r, actor_class_color_g, actor_class_color_b = _unpack (_detalhes.class_colors [self.classe])
end
end
end
+33
View File
@@ -18,9 +18,12 @@ local _table_insert = table.insert
local _bit_band = bit.band
local _math_min = math.min
--api locals
local GetSpellInfo = GetSpellInfo
local _GetSpellInfo = _detalhes.getspellinfo
local _IsInRaid = IsInRaid
local _IsInGroup = IsInGroup
local _UnitName = UnitName
local _GetNumGroupMembers = GetNumGroupMembers
local _detalhes = _G._detalhes
local _
@@ -801,6 +804,36 @@ function atributo_heal:RefreshBarra (esta_barra, instancia, from_resize)
end
function _detalhes:CloseShields()
if (not _IsInRaid()) then
return
end
local name_table = {}
for i = 1, _GetNumGroupMembers() do
name_table [_UnitName ("raid" .. i)] = "raid" .. i
end
local spells_table = {}
--não da de fechar os escudos, precisa saber o total dele, unitaura nao retorna o valor do escudo
for alvo_name, spellid_table in _pairs (escudos) do
for spellid, caster_table in _pairs (spellid_table) do
if (not spells_table [spellid]) then
local spellname = GetSpellInfo (spellid)
spells_table [spellid] = spellname
end
for caster_name, amount in _pairs (caster_table) do
local name, _, _, _, _, _, _, unitCaster, _, _, spellid = _UnitAura (name_table [alvo_name], buffIndex, nil, "HELPFUL")
end
end
end
--escudo [alvo_name] [spellid] [who_name]
end
--------------------------------------------- // TOOLTIPS // ---------------------------------------------
+4 -4
View File
@@ -695,7 +695,7 @@ function _detalhes:agrupar_janelas (lados)
end
end
gump:Fade (instancia.botao_separar, 0)
instancia.botao_separar:Show()
if (_detalhes.tutorial.unlock_button < 4) then
@@ -703,7 +703,7 @@ function _detalhes:agrupar_janelas (lados)
_detalhes.temp_table1.TextHeightMod = -6
_detalhes.popup:ShowMe (instancia.botao_separar, "tooltip", "Interface\\Buttons\\LockButton-Unlocked-Up", Loc ["STRING_UNLOCK"], 150, _detalhes.temp_table1)
UIFrameFlash (instancia.botao_separar, .5, .5, 5, false, 0, 0)
--UIFrameFlash (instancia.botao_separar, .5, .5, 5, false, 0, 0)
_detalhes.tutorial.unlock_button = _detalhes.tutorial.unlock_button + 1
end
@@ -774,7 +774,7 @@ function _detalhes:Desagrupar (instancia, lado)
end
end
gump:Fade (instancia.botao_separar, 1)
instancia.botao_separar:Hide()
instancia.verticalSnap = false
instancia.horizontalSnap = false
@@ -800,7 +800,7 @@ function _detalhes:Desagrupar (instancia, lado)
esta_instancia.snap [2] = nil
end
gump:Fade (instancia.botao_separar, 1)
instancia.botao_separar:Hide()
if (instancia.iniciada) then
instancia:SaveMainWindowPosition()
+39 -27
View File
@@ -162,14 +162,18 @@ function _detalhes:ToolTipDead (instancia, morte, esta_barra, keydown)
local hp_max = morte [5]
local battleress = false
local lastcooldown = false
local GameCooltip = GameCooltip
GameCooltip:Reset()
GameCooltip:SetType ("tooltipbar")
GameCooltip:SetOwner (esta_barra)
GameCooltip:AddLine (Loc ["STRING_REPORT_LEFTCLICK"], nil, 1, _unpack (self.click_to_report_color))
GameCooltip:AddIcon ([[Interface\TUTORIALFRAME\UI-TUTORIAL-FRAME]], 1, 1, 12, 16, 0.015625, 0.13671875, 0.4375, 0.59765625)
GameCooltip:AddStatusBar (0, 1, 1, 1, 1, 1, false, {value = 100, color = {.3, .3, .3, 1}, specialSpark = false, texture = [[Interface\AddOns\Details\images\bar_serenity]]})
for index, evento in _ipairs (eventos) do
local hp = _math_floor (evento[5]/hp_max*100)
@@ -177,7 +181,7 @@ function _detalhes:ToolTipDead (instancia, morte, esta_barra, keydown)
hp = 100
end
if (evento [1]) then --> DANO
if (evento [1]) then --> Dano
--print ("DANO|"..evento [4]-hora_da_morte.."|"..evento [2].."|"..evento [3]) --> {true, spellid, amount, _tempo}
local nome_magia, _, icone_magia = _GetSpellInfo (evento [2])
@@ -190,17 +194,12 @@ function _detalhes:ToolTipDead (instancia, morte, esta_barra, keydown)
end
if (type (evento [1]) ~= "boolean" and evento [1] == 2) then --> last cooldown
if (evento[3] == 1) then
GameCooltip:AddLine (_cstr ("%.1f", evento[4] - hora_da_morte) .. "s " .. nome_magia .. " (" .. Loc ["STRING_LAST_COOLDOWN"] .. ")")
GameCooltip:AddIcon (icone_magia)
else
GameCooltip:AddLine (Loc ["STRING_NOLAST_COOLDOWN"])
end
lastcooldown = evento
else
--> [1] left text [2] right text [3] main 1 or sub 2 [...] color
GameCooltip:AddLine ("".._cstr ("%.1f", evento[4] - hora_da_morte) .."s "..amt_golpes..nome_magia.." ("..evento[6]..")", "-".._detalhes:ToK (evento[3]).." (".. hp .."%)", 1, "white", "white")
--> [1] icon [2] main 1 or sub 2 [3] left or right [4,5] width height [...] texcoord
GameCooltip:AddIcon (icone_magia)
GameCooltip:AddIcon (icone_magia) --, 1, 1, nil, nil, 0.078125, 0.921875, 0.078125, 0.921875
--> [1] value [2] main 1 or sub 2 [...] color [4] glow
if (type (evento [1]) ~= "boolean" and evento [1] == 1) then --> cooldown
@@ -211,35 +210,47 @@ function _detalhes:ToolTipDead (instancia, morte, esta_barra, keydown)
end
elseif (not battleress) then --> battle ress
GameCooltip:AddLine ("+".._cstr ("%.1f", evento[4] - hora_da_morte) .."s "..nome_magia.." ("..evento[6]..")", "", 1, "white")
GameCooltip:AddIcon ("Interface\\Glues\\CharacterSelect\\Glues-AddOn-Icons", 1, 1, nil, nil, .75, 1, 0, 1)
GameCooltip:AddStatusBar (100, 1, "silver", false)
battleress = true
battleress = evento
end
else
else --> Cura
local nome_magia, _, icone_magia = _GetSpellInfo (evento [2])
GameCooltip:AddLine ("".._cstr ("%.1f", evento[4] - hora_da_morte) .."s "..nome_magia.." ("..evento[6]..")", "+".._detalhes:ToK (evento[3]).." (".. hp .."%)", 1, "white", "white")
GameCooltip:AddIcon (icone_magia, 1, 1)
GameCooltip:AddIcon (icone_magia) --, 1, 1, nil, nil, 0.0625, 0.9375, 0.0625, 0.9375
GameCooltip:AddStatusBar (hp, 1, "green", true)
end
end
--GameCooltip:AddLine (" ", " ", 1, "white", "white")
GameCooltip:AddLine (Loc ["STRING_REPORT_LEFTCLICK"], nil, 1, "white")
GameCooltip:AddIcon ([[Interface\TUTORIALFRAME\UI-TUTORIAL-FRAME]], 1, 1, 12, 16, 0.015625, 0.13671875, 0.4375, 0.59765625)
--_table_insert (linhas, 2, {{"Interface\\AddOns\\Details\\images\\small_icons", .75, 1, 0, 1}, morte [6] .. " Morreu", "-- -- -- ", 100, {75/255, 75/255, 75/255, 1}, {noglow = true}}) --> localize-me
GameCooltip:AddLine (morte [6] .. " " .. Loc ["STRING_TIME_OF_DEATH"] , "-- -- -- ", 1, "white")
GameCooltip:AddIcon ("Interface\\AddOns\\Details\\images\\small_icons", 1, 1, nil, nil, .75, 1, 0, 1)
GameCooltip:AddStatusBar (0, 1, .5, .5, .5, .5, false, {value = 100, color = {.5, .5, .5, 1}, specialSpark = false, texture = [[Interface\AddOns\Details\images\bar4_vidro]]})
--GameCooltip:AddSpecial ("line", 2, nil, morte [6] .. " " .. Loc ["STRING_TIME_OF_DEATH"] , "-- -- -- ", 1, "white")
--GameCooltip:AddSpecial ("icon", 2, nil, "Interface\\AddOns\\Details\\images\\small_icons", 1, 1, nil, nil, .75, 1, 0, 1)
--GameCooltip:AddSpecial ("statusbar", 2, nil, 100, 1, "darkgray", false)
if (battleress) then
--_table_insert (linhas, 2, {{"Interface\\AddOns\\Details\\images\\small_icons", .75, 1, 0, 1}, morte [6] .. " Morreu", "-- -- -- ", 100, {75/255, 75/255, 75/255, 1}, {noglow = true}}) --> localize-me
GameCooltip:AddSpecial ("line", 2, nil, morte [6] .. " " .. Loc ["STRING_TIME_OF_DEATH"] , "-- -- -- ", 1, "white")
GameCooltip:AddSpecial ("icon", 2, nil, "Interface\\AddOns\\Details\\images\\small_icons", 1, 1, nil, nil, .75, 1, 0, 1)
GameCooltip:AddSpecial ("statusbar", 2, nil, 100, 1, "darkgray", false)
else
GameCooltip:AddSpecial ("line", 1, nil, morte [6] .. " Morreu", "-- -- -- ", 1, "white")
GameCooltip:AddSpecial ("icon", 1, nil, "Interface\\AddOns\\Details\\images\\small_icons", 1, 1, nil, nil, .75, 1, 0, 1)
GameCooltip:AddSpecial ("statusbar", 1, nil, 100, 1, "darkgray", false)
--_table_insert (linhas, 1, {{, .75, 1, 0, 1}, , 100, {75/255, 75/255, 75/255, 1}, {noglow = true}}) --> localize-me
local nome_magia, _, icone_magia = _GetSpellInfo (battleress [2])
GameCooltip:AddLine ("+" .. _cstr ("%.1f", battleress[4] - hora_da_morte) .. "s " .. nome_magia .. " (" .. battleress[6] .. ")", "", 1, "white")
GameCooltip:AddIcon ("Interface\\Glues\\CharacterSelect\\Glues-AddOn-Icons", 1, 1, nil, nil, .75, 1, 0, 1)
GameCooltip:AddStatusBar (0, 1, .5, .5, .5, .5, false, {value = 100, color = {.5, .5, .5, 1}, specialSpark = false, texture = [[Interface\AddOns\Details\images\bar4_vidro]]})
end
if (lastcooldown) then
if (lastcooldown[3] == 1) then
local nome_magia, _, icone_magia = _GetSpellInfo (lastcooldown [2])
GameCooltip:AddLine (_cstr ("%.1f", lastcooldown[4] - hora_da_morte) .. "s " .. nome_magia .. " (" .. Loc ["STRING_LAST_COOLDOWN"] .. ")")
GameCooltip:AddIcon (icone_magia)
else
GameCooltip:AddLine (Loc ["STRING_NOLAST_COOLDOWN"])
GameCooltip:AddIcon ([[Interface\CHARACTERFRAME\UI-Player-PlayTimeUnhealthy]], 1, 1, 18, 18)
end
GameCooltip:AddStatusBar (0, 1, 1, 1, 1, 1, false, {value = 100, color = {.3, .3, .3, 1}, specialSpark = false, texture = [[Interface\AddOns\Details\images\bar_serenity]]})
end
--GameCooltip:AddLine (" ", " ", 1, "white", "white")
GameCooltip:SetOption ("StatusBarHeightMod", -6)
GameCooltip:SetOption ("FixedWidth", 300)
@@ -247,6 +258,7 @@ function _detalhes:ToolTipDead (instancia, morte, esta_barra, keydown)
GameCooltip:SetOption ("LeftBorderSize", -4)
GameCooltip:SetOption ("RightBorderSize", 5)
GameCooltip:SetOption ("StatusBarTexture", [[Interface\AddOns\Details\images\bar4_reverse]])
GameCooltip:SetWallpaper (1, [[Interface\SPELLBOOK\Spellbook-Page-1]], {.6, 0.1, 0.64453125, 0}, {.8, .8, .8, 0.2}, true)
GameCooltip:ShowCooltip()
+4 -39
View File
@@ -58,15 +58,8 @@ function container_pets:PegaDono (pet_serial, pet_nome, pet_flags)
local nome, realm = _UnitName ("raid"..i)
if (realm and realm ~= "") then
nome = nome.."-"..realm
--print ("tem realm: ", realm, nome)
end
dono_nome = nome
--if (nome:find ("Unknown")) then
--print ("owner name with Unknown: ", nome)
--end
--print ("Dono encontrado na raide",nome,realm)
end
end
@@ -78,13 +71,10 @@ function container_pets:PegaDono (pet_serial, pet_nome, pet_flags)
local nome, realm = _UnitName ("party"..i)
if (realm and realm ~= "") then
--print ("tem realm: ", realm)
nome = nome.."-"..realm
end
dono_nome = nome
--print ("Dono encontrado na party",nome,realm)
--print ("DEBUG Dono encontrado na party")
end
end
end
@@ -102,14 +92,9 @@ function container_pets:PegaDono (pet_serial, pet_nome, pet_flags)
end
if (dono_nome) then
--print ("dono encontrado, adicionando ao cache")
self.pets [pet_serial] = {dono_nome, dono_serial, dono_flags, _detalhes._tempo, true} --> adicionada a flag emulada
return pet_nome .." <"..dono_nome..">", dono_nome, dono_serial, dono_flags
else
--if (_GetNumGroupMembers() > 0) then
--print ("DEBUG: Pet sem dono: "..pet_nome)
--end
--print ("DEBUG Nao foi possivel achar o dono de "..pet_nome)
if (pet_flags and _bit_band (pet_flags, OBJECT_TYPE_PET) ~= 0) then --> é um pet
if (not _detalhes.pets_no_owner [pet_serial] and _bit_band (pet_flags, EM_GRUPO) ~= 0) then
@@ -138,14 +123,10 @@ function container_pets:BuscarPets()
local nome, realm = _UnitName ("raid"..i)
if (nome == "Unknown Entity") then
_detalhes:SchedulePetUpdate (1)
--print ("unknown owner name, rescheduling...")
else
if (realm and realm ~= "") then
nome = nome.."-"..realm
--print ("tem realm: ", realm, nome)
end
--print ("pet found: ", nome)
--print ("bp dono encontrado na raide:",nome, realm)
_detalhes.tabela_pets:Adicionar (pet_serial, _UnitName ("raidpet"..i), 0x1114, _UnitGUID ("raid"..i), nome, 0x514)
end
end
@@ -159,13 +140,10 @@ function container_pets:BuscarPets()
local nome, realm = _UnitName ("party"..i)
if (nome == "Unknown Entity") then
_detalhes:SchedulePetUpdate (1)
--print ("unknown owner name, rescheduling...")
else
if (realm and realm ~= "") then
nome = nome.."-"..realm
end
--print ("pet found: ", nome)
--print ("bp dono encontrado no grupo:",nome, realm)
_detalhes.tabela_pets:Adicionar (pet_serial, _UnitName ("partypet"..i), 0x1114, _UnitGUID ("party"..i), nome, 0x514)
end
end
@@ -178,31 +156,18 @@ end
function container_pets:Adicionar (pet_serial, pet_nome, pet_flags, dono_serial, dono_nome, dono_flags)
--if (pet_nome == "Guardian of Ancient Kings") then --remover
-- print ("Summon GAK 2", dono_nome)
--end
if (pet_flags and _bit_band (pet_flags, OBJECT_TYPE_PET) ~= 0 and _bit_band (pet_flags, EM_GRUPO) ~= 0) then
self.pets [pet_serial] = {dono_nome, dono_serial, dono_flags, _detalhes._tempo, true}
self.pets [pet_serial] = {dono_nome, dono_serial, dono_flags, _detalhes._tempo, true, pet_nome, pet_serial}
--if (pet_nome == "Guardian of Ancient Kings") then --remover
-- print ("Summon GAK 3 - TRUE", dono_nome)
-- print ("SUMMON", "Adicionou ao container")
--end
else
self.pets [pet_serial] = {dono_nome, dono_serial, dono_flags, _detalhes._tempo}
self.pets [pet_serial] = {dono_nome, dono_serial, dono_flags, _detalhes._tempo, false, pet_nome, pet_serial}
--if (pet_nome == "Guardian of Ancient Kings") then --remover
-- print ("Summon GAK 3 - FALSE", dono_nome)
-- print ("SUMMON", "Adicionou ao container")
--end
end
--if (fromSearch) then
-- local d = self.pets [pet_serial]
--print ("dono nome:",d[1], "dono serial:", d[2], "dono flags:", d[3], "tempo:", d[4])
--end
--if (self.pets [dono_serial]) then
--print ("debug: a owner is a pet, Owner: ", dono_nome, " Pet: ", pet_nome)
--end
end
function _detalhes:WipePets()