- Damage Taken by Spell won't show pets in its tooltip any more.

- Enemies display won't show any more mirror images and spirit link totems.
- Enemies's tooltip now only show players and show all players instead of only 6.
- Added overkill on death's tooltip.
- Fixed dispell tagets on dispell's tooltip.
- Few cooldowns shown as raid wide now shows as personal cooldowns.
This commit is contained in:
tercio
2014-12-27 18:27:08 -02:00
parent e7c552b579
commit 2591274502
13 changed files with 298 additions and 121 deletions
+12 -4
View File
File diff suppressed because one or more lines are too long
+69 -18
View File
@@ -1018,6 +1018,7 @@
desc = Loc ["STRING_CUSTOM_POT_DEFAULT_DESC"],
source = false,
target = false,
script_version = 1,
script = [[
--init:
local combat, instance_container, instance = ...
@@ -1223,12 +1224,17 @@
local have = false
for _, custom in ipairs (self.custom) do
if (custom.name == Loc ["STRING_CUSTOM_POT_DEFAULT"]) then
if (custom.name == Loc ["STRING_CUSTOM_POT_DEFAULT"] and (custom.script_version and custom.script_version >= PotionUsed.script_version) ) then
have = true
break
end
end
if (not have) then
for i, custom in ipairs (self.custom) do
if (custom.name == Loc ["STRING_CUSTOM_POT_DEFAULT"]) then
table.remove (self.custom, i)
end
end
setmetatable (PotionUsed, _detalhes.atributo_custom)
PotionUsed.__index = _detalhes.atributo_custom
self.custom [#self.custom+1] = PotionUsed
@@ -1244,17 +1250,23 @@
source = "[raid]",
target = "[raid]",
script = false,
tooltip = false
tooltip = false,
script_version = 1,
}
local have = false
for _, custom in ipairs (self.custom) do
if (custom.name == Loc ["STRING_CUSTOM_HEALTHSTONE_DEFAULT"]) then
if (custom.name == Loc ["STRING_CUSTOM_HEALTHSTONE_DEFAULT"] and (custom.script_version and custom.script_version >= Healthstone.script_version) ) then
have = true
break
end
end
if (not have) then
for i, custom in ipairs (self.custom) do
if (custom.name == Loc ["STRING_CUSTOM_HEALTHSTONE_DEFAULT"]) then
table.remove (self.custom, i)
end
end
setmetatable (Healthstone, _detalhes.atributo_custom)
Healthstone.__index = _detalhes.atributo_custom
self.custom [#self.custom+1] = Healthstone
@@ -1271,6 +1283,7 @@
desc = Loc ["STRING_CUSTOM_ACTIVITY_DPS_DESC"],
source = false,
target = false,
script_version = 1,
total_script = [[
local value, top, total, combat, instance = ...
local minutos, segundos = math.floor (value/60), math.floor (value%60)
@@ -1306,15 +1319,20 @@
]],
}
local have = false
for _, custom in ipairs (self.custom) do
if (custom.name == Loc ["STRING_CUSTOM_ACTIVITY_DPS"]) then
if (custom.name == Loc ["STRING_CUSTOM_ACTIVITY_DPS"] and (custom.script_version and custom.script_version >= DamageActivityTime.script_version) ) then
have = true
break
end
end
if (not have) then
for i, custom in ipairs (self.custom) do
if (custom.name == Loc ["STRING_CUSTOM_ACTIVITY_DPS"]) then
table.remove (self.custom, i)
end
end
setmetatable (DamageActivityTime, _detalhes.atributo_custom)
DamageActivityTime.__index = _detalhes.atributo_custom
self.custom [#self.custom+1] = DamageActivityTime
@@ -1329,6 +1347,7 @@
desc = Loc ["STRING_CUSTOM_ACTIVITY_HPS_DESC"],
source = false,
target = false,
script_version = 1,
total_script = [[
local value, top, total, combat, instance = ...
local minutos, segundos = math.floor (value/60), math.floor (value%60)
@@ -1364,15 +1383,20 @@
]],
}
local have = false
for _, custom in ipairs (self.custom) do
if (custom.name == Loc ["STRING_CUSTOM_ACTIVITY_HPS"]) then
if (custom.name == Loc ["STRING_CUSTOM_ACTIVITY_HPS"] and (custom.script_version and custom.script_version >= HealActivityTime.script_version) ) then
have = true
break
end
end
if (not have) then
for i, custom in ipairs (self.custom) do
if (custom.name == Loc ["STRING_CUSTOM_ACTIVITY_HPS"]) then
table.remove (self.custom, i)
end
end
setmetatable (HealActivityTime, _detalhes.atributo_custom)
HealActivityTime.__index = _detalhes.atributo_custom
self.custom [#self.custom+1] = HealActivityTime
@@ -1389,6 +1413,7 @@
desc = Loc ["STRING_CUSTOM_DTBS_DESC"],
source = false,
target = false,
script_version = 7,
script = [[
--> get the parameters passed
local combat, instance_container, instance = ...
@@ -1438,6 +1463,8 @@
--get the parameters passed
local actor, combat, instance = ...
local Loc = LibStub ("AceLocale-3.0"):GetLocale ( "Details" )
--get the cooltip object (we do not use the convencional GameTooltip here)
local GameCooltip = GameCooltip
@@ -1459,15 +1486,32 @@
if (spellid == from_spell) then
for targetname, amount in pairs (spell.targets) do
local got = false
for index, t in ipairs (Targets) do
if (t[1] == targetname) then
t[2] = t[2] + amount
got = true
break
local damage_actor = combat (1, targetname)
local heal_actor = combat (2, targetname)
if ( (damage_actor or heal_actor) and ( (damage_actor and damage_actor:IsPlayer()) or (heal_actor and heal_actor:IsPlayer()) ) ) then
for index, t in ipairs (Targets) do
if (t[1] == targetname) then
t[2] = t[2] + amount
got = true
break
end
end
if (not got) then
Targets [#Targets+1] = {targetname, amount}
end
else
for index, t in ipairs (Targets) do
if (t[1] == Loc ["STRING_TARGETS_OTHER1"]) then
t[2] = t[2] + amount
got = true
break
end
end
if (not got) then
Targets [#Targets+1] = {Loc ["STRING_TARGETS_OTHER1"], amount}
end
end
if (not got) then
Targets [#Targets+1] = {targetname, amount}
end
end
end
@@ -1483,20 +1527,27 @@
local class = _detalhes:GetClass (t[1])
if (class) then
local texture, l, r, t, b = _detalhes:GetClassIcon (class)
GameCooltip:AddIcon (texture, 1, 1, 14, 14, l, r, t, b)
GameCooltip:AddIcon ("Interface\\AddOns\\Details\\images\\classes_small_alpha", 1, 1, 14, 14, l, r, t, b)
elseif (t[1] == Loc ["STRING_TARGETS_OTHER1"]) then
GameCooltip:AddIcon ("Interface\\AddOns\\Details\\images\\classes_small_alpha", 1, 1, 14, 14, 0.25, 0.49609375, 0.75, 1)
end
end
]],
}
local have = false
for _, custom in ipairs (self.custom) do
if (custom.name == Loc ["STRING_CUSTOM_DTBS"]) then
if (custom.name == Loc ["STRING_CUSTOM_DTBS"] and (custom.script_version and custom.script_version >= DamageTakenBySpell.script_version) ) then
have = true
break
end
end
if (not have) then
for i, custom in ipairs (self.custom) do
if (custom.name == Loc ["STRING_CUSTOM_DTBS"]) then
table.remove (self.custom, i)
end
end
setmetatable (DamageTakenBySpell, _detalhes.atributo_custom)
DamageTakenBySpell.__index = _detalhes.atributo_custom
self.custom [#self.custom+1] = DamageTakenBySpell
+84 -15
View File
@@ -152,10 +152,22 @@
end
return false
end
local ignored_enemy_npcs = {
[31216] = true, --mirror image
[53006] = true, --spirit link totem
[2] = true,
}
-- Night-Twisted Brute - Creature-0-3024-1228-19402-85241-00001E2097
--[[ exported]] function _detalhes:IsNeutralOrEnemy()
if (self.flag_original) then
if (_bit_band (self.flag_original, 0x00000060) ~= 0) then
local npcid1 = _detalhes:GetNpcIdFromGuid (self.serial)
if (ignored_enemy_npcs [npcid1]) then
return false
end
return true
end
end
@@ -165,6 +177,10 @@
--[[ exported]] function _detalhes:IsEnemy()
if (self.flag_original) then
if (_bit_band (self.flag_original, 0x00000060) ~= 0) then
local npcid1 = _detalhes:GetNpcIdFromGuid (self.serial)
if (ignored_enemy_npcs [npcid1]) then
return false
end
return true
end
end
@@ -174,14 +190,26 @@
--[[ exported]] function _detalhes:GetSpellList()
return self.spells._ActorTable
end
-- enemies (sort function)
local sortEnemies = function (t1, t2)
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
local npcid1 = _detalhes:GetNpcIdFromGuid (t1.serial)
local npcid2 = _detalhes:GetNpcIdFromGuid (t2.serial)
if (not ignored_enemy_npcs [npcid1] and not ignored_enemy_npcs [npcid2]) then
return t1.total > t2.total
elseif (ignored_enemy_npcs [npcid1] and not ignored_enemy_npcs [npcid2]) then
return false
elseif (not ignored_enemy_npcs [npcid1] and ignored_enemy_npcs [npcid2]) then
return true
else
return t1.total > t2.total
end
elseif (a ~= 0 and b == 0) then
return true
elseif (a == 0 and b ~= 0) then
@@ -200,7 +228,9 @@
local total = 0
for index, player in _ipairs (container) do
if (_bit_band (player.flag_original, 0x00000060) ~= 0) then --> é um inimigo
local npcid1 = _detalhes:GetNpcIdFromGuid (player.serial)
--p rint (player.nome, npcid1, ignored_enemy_npcs [npcid1])
if (_bit_band (player.flag_original, 0x00000060) ~= 0 and not ignored_enemy_npcs [npcid1]) then --> é um inimigo
total = total + player [keyName]
else
amount = index-1
@@ -1254,6 +1284,7 @@ function atributo_damage:RefreshWindow (instancia, tabela_do_combate, forcar, ex
conteudo[myPos]:AtualizaBarra (instancia, barras_container, qual_barra, myPos, total, sub_atributo, forcar, keyName, combat_time, percentage_type, use_animations) --> instância, index, total, valor da 1º barra
qual_barra = qual_barra+1
else
for i = instancia.barraS[2], instancia.barraS[1], -1 do --> vai atualizar só o range que esta sendo mostrado
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type, use_animations) --> instância, index, total, valor da 1º barra
qual_barra = qual_barra+1
@@ -1466,6 +1497,7 @@ end
--> primeiro colocado
if (esta_barra.colocacao == 1) then
if (not tabela_anterior or tabela_anterior ~= esta_barra.minha_tabela or forcar) then
esta_barra:SetValue (100)
@@ -1659,7 +1691,7 @@ end
---------> TOOLTIPS BIFURCAÇÃO
-- ~tooltip
function atributo_damage:ToolTip (instancia, numero, barra, keydown)
--> seria possivel aqui colocar o icone da classe dele?
@@ -1692,7 +1724,7 @@ function atributo_damage:ToolTip_DamageDone (instancia, numero, barra, keydown)
else
r, g, b = unpack (_detalhes.class_colors [self.classe])
end
do
--> TOP HABILIDADES
@@ -1936,13 +1968,50 @@ function atributo_damage:ToolTip_DamageTaken (instancia, numero, barra, keydown)
local meus_agressores = {}
for nome, _ in _pairs (agressores) do --> agressores seria a lista de nomes
local este_agressor = showing._ActorTable[showing._NameIndexTable[nome]]
if (este_agressor) then --> checagem por causa do total e do garbage collector que não limpa os nomes que deram dano
local alvos = este_agressor.targets
local este_alvo = alvos [self.nome]
if (este_alvo) then
meus_agressores [#meus_agressores+1] = {nome, este_alvo, este_agressor.classe}
if (instancia.sub_atributo == 6) then
for nome, _ in _pairs (agressores) do --> agressores seria a lista de nomes
local este_agressor = showing._ActorTable [showing._NameIndexTable [nome]]
if (este_agressor) then --> checagem por causa do total e do garbage collector que não limpa os nomes que deram dano
local name = nome
local damage_amount = este_agressor.targets [self.nome]
if (damage_amount) then
if (este_agressor:IsPlayer()) then
meus_agressores [#meus_agressores+1] = {name, damage_amount, este_agressor.classe}
end
--[[
if (not este_agressor:IsPlayer()) then
name = Loc ["STRING_TARGETS_OTHER1"]
local got
for i, t in _ipairs (meus_agressores) do
if (t[1] == name) then
t[2] = t[2] + damage_amount
got = true
break
end
end
if (not got) then
meus_agressores [#meus_agressores+1] = {name, damage_amount, este_agressor.classe}
end
else
meus_agressores [#meus_agressores+1] = {name, damage_amount, este_agressor.classe}
end
--]]
end
end
end
else
for nome, _ in _pairs (agressores) do --> agressores seria a lista de nomes
local este_agressor = showing._ActorTable [showing._NameIndexTable [nome]]
if (este_agressor) then --> checagem por causa do total e do garbage collector que não limpa os nomes que deram dano
local alvos = este_agressor.targets
local este_alvo = alvos [self.nome]
if (este_alvo) then
meus_agressores [#meus_agressores+1] = {nome, este_alvo, este_agressor.classe}
end
end
end
end
@@ -1955,7 +2024,7 @@ function atributo_damage:ToolTip_DamageTaken (instancia, numero, barra, keydown)
end
local ismaximized = false
if (keydown == "shift" or TooltipMaximizedMethod == 2 or TooltipMaximizedMethod == 3) then
if (keydown == "shift" or TooltipMaximizedMethod == 2 or TooltipMaximizedMethod == 3 or instancia.sub_atributo == 6) then
max = #meus_agressores
ismaximized = true
end
@@ -2009,9 +2078,9 @@ function atributo_damage:ToolTip_DamageTaken (instancia, numero, barra, keydown)
if (instancia.sub_atributo == 6) then
GameCooltip:AddLine (" ")
GameCooltip:AddLine (Loc ["STRING_LEFTCLICK_DAMAGETAKEN"])
--GameCooltip:AddIcon ([[Interface\TUTORIALFRAME\UI-TUTORIAL-FRAME]], 1, 1, 12, 16, 8/512, 70/512, 224/512, 306/512)
GameCooltip:AddStatusBar (100, 1, 0, 0, 0, 0.7)
GameCooltip:AddLine (Loc ["STRING_MIDDLECLICK_DAMAGETAKEN"])
--GameCooltip:AddIcon ([[Interface\TUTORIALFRAME\UI-TUTORIAL-FRAME]], 1, 1, 10, 14, 14/512, 64/512, 127/512, 204/512)
GameCooltip:AddStatusBar (100, 1, 0, 0, 0, 0.7)
end
return true
+15 -5
View File
@@ -202,7 +202,15 @@ function _detalhes:ToolTipDead (instancia, morte, esta_barra, keydown)
--> is damage or heal
if (evtype) then
--> damage
GameCooltip:AddLine ("" .. _cstr ("%.1f", time - hora_da_morte) .. "s " .. spellname .. " (" .. source .. ")", "-" .. _detalhes:ToK (amount) .. " (" .. hp .. "%)", 1, "white", "white")
local overkill = event [10]
if (overkill > 0) then
overkill = " (" .. _detalhes:ToK (overkill) .. " |cFFFF8800overkill|r)"
else
overkill = ""
end
GameCooltip:AddLine ("" .. _cstr ("%.1f", time - hora_da_morte) .. "s " .. spellname .. " (" .. source .. ")", "-" .. _detalhes:ToK (amount) .. overkill .. " (" .. hp .. "%)", 1, "white", "white")
GameCooltip:AddIcon (spellicon)
if (event [9]) then
@@ -1048,13 +1056,13 @@ function atributo_misc:ToolTipDispell (instancia, numero, barra)
r, g, b = unpack (_detalhes.class_colors [self.classe])
end
local meu_total = self ["dispell"]
local meu_total = _math_floor (self ["dispell"])
local habilidades = self.dispell_spells._ActorTable
--> habilidade usada para dispelar
local meus_dispells = {}
for _spellid, _tabela in _pairs (habilidades) do
meus_dispells [#meus_dispells+1] = {_spellid, _tabela.dispell}
meus_dispells [#meus_dispells+1] = {_spellid, _math_floor (_tabela.dispell)}
end
_table_sort (meus_dispells, _detalhes.Sort2)
@@ -1096,10 +1104,12 @@ function atributo_misc:ToolTipDispell (instancia, numero, barra)
GameCooltip:AddStatusBar (100, 1, .1, .1, .1, .3)
end
end
--> alvos dispelados
local alvos_dispelados = {}
for target_name, amount in _ipairs (self.dispell_targets) do
alvos_dispelados [#alvos_dispelados + 1] = {target_name, amount, amount / meu_total * 100}
for target_name, amount in _pairs (self.dispell_targets) do
alvos_dispelados [#alvos_dispelados + 1] = {target_name, _math_floor (amount), amount / meu_total * 100}
end
_table_sort (alvos_dispelados, _detalhes.Sort2)
+8 -1
View File
@@ -119,6 +119,7 @@
local on_me = spell.targets [targetname]
if (on_me) then
GameCooltip:AddLine (aggressor.nome, FormatTooltipNumber (_, on_me))
_detalhes:AddTooltipBackgroundStatusbar()
end
end
end
@@ -166,6 +167,7 @@
if (roster [t[1]]) then
GameCooltip:AddLine (t[1], FormatTooltipNumber (_, t[2]))
_detalhes:AddTooltipBackgroundStatusbar()
end
end
@@ -173,12 +175,12 @@
local target_amount = actor.targets [_detalhes.playername]
if (target_amount) then
GameCooltip:AddLine (targetactor.nome, FormatTooltipNumber (_, target_amount))
_detalhes:AddTooltipBackgroundStatusbar()
end
else
SortOrder (actor.spells._ActorTable, spells_used_func, target)
for i = 1, #temp_table do
local t = temp_table [i]
if (t[2] < 1) then
@@ -187,8 +189,13 @@
local name, _, icon = _GetSpellInfo (t[1])
GameCooltip:AddLine (name, FormatTooltipNumber (_, t[2]))
_detalhes:AddTooltipBackgroundStatusbar()
GameCooltip:AddIcon (icon, 1, 1, 14, 14)
end
--for index, pet_name in ipairs (actor.pets) do
--end
end
else
+8 -1
View File
@@ -503,7 +503,14 @@
local bossFunction, bossFunctionType = _detalhes:GetBossFunction (_detalhes.tabela_vigente.is_boss.mapid or 0, _detalhes.tabela_vigente.is_boss.index or 0)
if (bossFunction) then
if (_bit_band (bossFunctionType, 0x2) ~= 0) then --end of combat
bossFunction()
if (not InCombatLockdown() and not UnitAffectingCombat ("player") and not _detalhes.logoff_saving_data) then
local successful, errortext = pcall (bossFunction, _detalhes.tabela_vigente)
if (not successful) then
_detalhes:Msg ("error occurred on Encounter Boss Function:", errortext)
end
else
_detalhes.schedule_boss_function_run = bossFunction
end
end
end
+19 -3
View File
@@ -138,6 +138,8 @@
--spellid, spellname, spelltype
end
-- /run local f=CreateFrame("frame");f:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED");f:SetScript("OnEvent", function(self, ...)print (...);end)
function parser:spell_dmg (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, multistrike)
------------------------------------------------------------------------------------------------
@@ -302,12 +304,14 @@
this_event [1] = true --> true if this is a damage || false for healing
this_event [2] = spellid --> spellid || false if this is a battle ress line
this_event [3] = amount --> amount of damage or healing
this_event [3] = amount - overkill --> amount of damage or healing
this_event [4] = time --> parser time
this_event [5] = _UnitHealth (alvo_name) --> current unit heal
this_event [6] = who_name --> source name
this_event [7] = absorbed
this_event [8] = school
this_event [9] = false
this_event [10] = overkill
i = i + 1
@@ -431,13 +435,14 @@
this_event [1] = true --> true if this is a damage || false for healing
this_event [2] = spellid --> spellid || false if this is a battle ress line
this_event [3] = amount --> amount of damage or healing
this_event [3] = amount - overkill --> amount of damage or healing
this_event [4] = time --> parser time
this_event [5] = _UnitHealth (alvo_name) --> current unit heal
this_event [6] = who_name --> source name
this_event [7] = absorbed
this_event [8] = school
this_event [9] = true
this_event [10] = overkill
i = i + 1
if (i == 17) then
@@ -2286,7 +2291,7 @@
spelid = 8
end
return parser:spell_dmg (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spelid or 1, env_type, 00000003, amount) --> localize-me
return parser:spell_dmg (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, spelid or 1, env_type, 00000003, amount, -1, 1) --> localize-me
end
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -2751,6 +2756,16 @@
_detalhes.schedule_store_boss_encounter = nil
end
if (_detalhes.schedule_boss_function_run) then
if (not _detalhes.logoff_saving_data) then
local successful, errortext = pcall (_detalhes.schedule_boss_function_run, _detalhes.tabela_vigente)
if (not successful) then
_detalhes:Msg ("error occurred on Encounter Boss Function:", errortext)
end
end
_detalhes.schedule_boss_function_run = nil
end
if (_detalhes.schedule_hard_garbage_collect) then
if (_detalhes.debug) then
_detalhes:Msg ("(debug) found schedule collectgarbage().")
@@ -2938,6 +2953,7 @@
for id, instance in _detalhes:ListInstances() do
if (instance.baseframe) then
instance.baseframe:SetUserPlaced (false)
instance.baseframe:SetDontSavePosition (true)
end
end
end
+12 -6
View File
@@ -1179,19 +1179,19 @@ do
--["MAGE"] = {},
[159916] = {120, 6}, -- "Amplify Magic"
[157913] = {45, 3}, -- "Evanesce"
[157913] = {45, 3, 1}, -- "Evanesce"
--["MONK"] = {},
[115295] = {30, 30, 1}, -- Guard
[116849] = {120, 12, 0}, -- Life Cocoon (a)
[115310] = {180, 0, 0}, -- Revival
[119582] = {60, 0, 0}, -- Purifying Brew
[119582] = {60, 0, 1}, -- Purifying Brew
[116844] = {45, 8, 0}, --Ring of Peace
[115308] = {0, 6, 0}, --Elusive Brew
[115308] = {0, 6, 1}, --Elusive Brew
[122783] = {90, 6}, -- Diffuse Magic
[122278] = {90, 45}, -- Dampen Harm
[115176] = {180, 8}, -- Zen Meditation
[115203] = {180, 20}, -- Fortifying Brew
[115176] = {180, 8, 1}, -- Zen Meditation
[115203] = {180, 20, 1}, -- Fortifying Brew
[157535] = {90, 10}, -- "Breath of the Serpent"
--["PALADIN"] = {},
@@ -1224,7 +1224,13 @@ do
--[114203] = {180, 15}, -- Demoralizing Banner
[114028] = {60, 5}, -- Mass Spell Reflection
[97462] = {180, 10}, -- Rallying Cry
[2565] = {12, 6}, -- Shield Block
[2565] = {12, 6, 1}, -- Shield Block
[871] = {180, 12, 1}, -- Shield Wall
[12975] = {180, 20, 1}, -- Last Stand
[23920] = {25, 5, 1}, -- Spell Reflection
[114030] = {120, 12}, -- Vigilance
[118038] = {120, 8, 1}, -- Die by the Sword
[112048] = {90, 6, 1}, -- Shield Barrier
}
_detalhes.DefensiveCooldownSpells = {
+3 -1
View File
@@ -861,7 +861,7 @@ local function move_janela (baseframe, iniciando, instancia)
--baseframe:SetClampRectInsets (unpack (_detalhes.window_clamp))
if (instancia_alvo) then
if (instancia_alvo and not instancia.do_not_snap and not instancia_alvo.do_not_snap) then
instancia:AtualizaPontos()
local esquerda, baixo, direita, cima
@@ -2754,6 +2754,7 @@ function gump:CriaJanelaPrincipal (ID, instancia, criando)
baseframe:SetMovable (true)
baseframe:SetResizable (true)
baseframe:SetUserPlaced (false)
baseframe:SetDontSavePosition (true)
baseframe.instance = instancia
baseframe:SetFrameStrata (baseframe_strata)
@@ -3576,6 +3577,7 @@ local fast_ps_func = function (self)
end
end
-- ~dps ~hps
--> check if can start or need to stop
function _detalhes:CheckPsUpdate()
+54 -35
View File
@@ -979,7 +979,18 @@ local window_openned_at = time()
end
window.animateSlider.tooltip = Loc ["STRING_WELCOME_17"]
--------------- Fast Hps/Dps Updates
--[[
g:NewLabel (window, _, "$parentDpsHpsLabel", "DpsHpsLabel", "Fast Dps/Hps Update" .. ":")
window.DpsHpsLabel:SetPoint (31, -190)
--
g:NewSwitch (window, _, "$parentDpsHpsSlider", "DpsHpsSlider", 60, 20, _, _, _detalhes:GetInstance(1).row_info.fast_ps_update) -- ltext, rtext, defaultv
window.DpsHpsSlider:SetPoint ("left",window.DpsHpsLabel, "right", 2, 0)
window.DpsHpsSlider.OnSwitch = function (self, _, value) --> slider, fixedValue, sliderValue (false, true)
_detalhes:GetInstance(1):FastPSUpdate (value)
end
window.DpsHpsSlider.tooltip = "When enabled, the Dps and Hps shown is updated faster them total damage or healing."
--]]
--------------- Max Segments
g:NewLabel (window, _, "$parentSliderLabel", "segmentsLabel", Loc ["STRING_WELCOME_21"] .. ":")
window.segmentsLabel:SetPoint (31, -190)
@@ -1016,10 +1027,12 @@ local window_openned_at = time()
update_frame_alert:SetScript ("OnShow", function()
_detalhes:StartTestBarUpdate()
--_detalhes.in_combat = true
end)
update_frame_alert:SetScript ("OnHide", function()
_detalhes:StopTestBarUpdate()
--_detalhes.in_combat = false
end)
----------------
@@ -1032,6 +1045,7 @@ local window_openned_at = time()
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--> page 6
-- stretcher
local bg6 = window:CreateTexture (nil, "overlay")
bg6:SetTexture ([[Interface\MainMenuBar\UI-MainMenuBar-EndCap-Human]])
@@ -1047,7 +1061,7 @@ local window_openned_at = time()
local texto_stretch = window:CreateFontString (nil, "overlay", "GameFontNormal")
texto_stretch:SetPoint ("topleft", window, "topleft", 181, -105)
texto_stretch:SetText (Loc ["STRING_WELCOME_27"])
texto_stretch:SetText ("The highlighted button is the Stretcher. |cFFFFFF00Click|r and |cFFFFFF00drag up!|r.\n\n\nIf the window is locked, the entire title bar becomes a stretch button.")
texto_stretch:SetWidth (310)
texto_stretch:SetHeight (100)
texto_stretch:SetJustifyH ("left")
@@ -1062,6 +1076,9 @@ local window_openned_at = time()
stretch_image:SetTexCoord (0.716796875, 1, 0.876953125, 1)
local stretch_frame_alert = CreateFrame ("frame", nil, window)
stretch_frame_alert:SetScript ("OnHide", function()
_detalhes:StopPlayStretchAlert()
end)
stretch_frame_alert:SetScript ("OnShow", function()
local instance = _detalhes:GetInstance (1)
_detalhes.OnEnterMainWindow (instance)
@@ -1074,7 +1091,7 @@ local window_openned_at = time()
if (_detalhes.stopwelcomealert) then
_detalhes:CancelTimer (_detalhes.stopwelcomealert)
end
_detalhes.stopwelcomealert = _detalhes:ScheduleTimer ("StopPlayStretchAlert", 5)
_detalhes.stopwelcomealert = _detalhes:ScheduleTimer ("StopPlayStretchAlert", 30)
end)
@@ -1086,6 +1103,7 @@ local window_openned_at = time()
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--> page 7
-- window button
local bg6 = window:CreateTexture (nil, "overlay")
bg6:SetTexture ([[Interface\MainMenuBar\UI-MainMenuBar-EndCap-Human]])
@@ -1110,12 +1128,15 @@ local window_openned_at = time()
local instance_button_image = window:CreateTexture (nil, "overlay")
instance_button_image:SetTexture ([[Interface\Addons\Details\images\icons]])
instance_button_image:SetPoint ("topright", window, "topright", -12, -70)
instance_button_image:SetWidth (204)
instance_button_image:SetPoint ("topright", window, "topright", -16, -70)
instance_button_image:SetWidth (198)
instance_button_image:SetHeight (141)
instance_button_image:SetTexCoord (0.31640625, 0.71484375, 0.724609375, 1)
instance_button_image:SetTexCoord (0.328125, 0.71484375, 0.724609375, 1)
local instance_frame_alert = CreateFrame ("frame", nil, window)
instance_frame_alert:SetScript ("OnHide", function()
_detalhes:StopPlayStretchAlert()
end)
instance_frame_alert:SetScript ("OnShow", function()
local instance = _detalhes:GetInstance (1)
@@ -1127,7 +1148,7 @@ local window_openned_at = time()
if (_detalhes.stopwelcomealert) then
_detalhes:CancelTimer (_detalhes.stopwelcomealert)
end
_detalhes.stopwelcomealert = _detalhes:ScheduleTimer ("StopPlayStretchAlert", 5)
_detalhes.stopwelcomealert = _detalhes:ScheduleTimer ("StopPlayStretchAlert", 30)
end)
pages [#pages+1] = {bg6, texto6, instance_button_image, texto_instance_button, instance_frame_alert}
@@ -1138,6 +1159,7 @@ local window_openned_at = time()
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--> page 8
-- bookmark
local bg7 = window:CreateTexture (nil, "overlay")
bg7:SetTexture ([[Interface\MainMenuBar\UI-MainMenuBar-EndCap-Human]])
@@ -1153,28 +1175,21 @@ local window_openned_at = time()
local texto_shortcut = window:CreateFontString (nil, "overlay", "GameFontNormal")
texto_shortcut:SetPoint ("topleft", window, "topleft", 25, -110)
texto_shortcut:SetText (Loc ["STRING_WELCOME_31"])
texto_shortcut:SetText ("|cFFFFFF00Right clicking|r anywhere in the window shows the |cFFFFAA00Bookmark|r panel.\n\n|cFFFFFF00Right click again|r closes the panel or chooses another display if clicked on a icon.\n\n|cFFFFFF00Left click|r selects the display.")
texto_shortcut:SetWidth (320)
texto_shortcut:SetHeight (90)
texto_shortcut:SetJustifyH ("left")
texto_shortcut:SetJustifyV ("top")
texto_shortcut:SetTextColor (1, 1, 1, 1)
local shortcut_image1 = window:CreateTexture (nil, "overlay")
shortcut_image1:SetTexture ([[Interface\Addons\Details\images\icons]])
shortcut_image1:SetPoint ("topright", window, "topright", -12, -20)
shortcut_image1:SetWidth (160)
shortcut_image1:SetHeight (91)
shortcut_image1:SetTexCoord (0, 0.31250, 0.82421875, 1)
local shortcut_image2 = window:CreateTexture (nil, "overlay")
shortcut_image2:SetTexture ([[Interface\Addons\Details\images\icons]])
shortcut_image2:SetPoint ("topright", window, "topright", -12, -110)
shortcut_image2:SetWidth (160)
shortcut_image2:SetHeight (106)
shortcut_image2:SetTexCoord (0, 0.31250, 0.59375, 0.80078125)
pages [#pages+1] = {bg7, texto7, shortcut_image1, shortcut_image2, texto_shortcut}
shortcut_image2:SetPoint ("topright", window, "topright", -22, -87)
shortcut_image2:SetWidth (165)
shortcut_image2:SetHeight (119)
shortcut_image2:SetTexCoord (2/512, 167/512, 306/512, 425/512)
pages [#pages+1] = {bg7, texto7, shortcut_image2, texto_shortcut}
for _, widget in ipairs (pages[#pages]) do
widget:Hide()
@@ -1182,6 +1197,7 @@ local window_openned_at = time()
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--> page 9
-- group windows
local bg77 = window:CreateTexture (nil, "overlay")
bg77:SetTexture ([[Interface\MainMenuBar\UI-MainMenuBar-EndCap-Human]])
@@ -1197,7 +1213,7 @@ local window_openned_at = time()
local texto_snap = window:CreateFontString (nil, "overlay", "GameFontNormal")
texto_snap:SetPoint ("topleft", window, "topleft", 25, -101)
texto_snap:SetText (Loc ["STRING_WELCOME_33"])
texto_snap:SetText ("Drag a window near other to create a group.\n\nGrouped windows stretch and resize together.\n\nThey also live happier as a couple,")
texto_snap:SetWidth (160)
texto_snap:SetHeight (110)
texto_snap:SetJustifyH ("left")
@@ -1209,12 +1225,16 @@ local window_openned_at = time()
local snap_image1 = window:CreateTexture (nil, "overlay")
snap_image1:SetTexture ([[Interface\Addons\Details\images\icons]])
snap_image1:SetPoint ("topright", window, "topright", -12, -95)
snap_image1:SetWidth (308)
snap_image1:SetHeight (121)
snap_image1:SetTexCoord (0, 0.6015625, 0.353515625, 0.58984375)
snap_image1:SetWidth (310)
snap_image1:SetHeight (102)
snap_image1:SetTexCoord (0, 0.60546875, 191/512, 293/512)
local group_frame_alert = CreateFrame ("frame", nil, window)
group_frame_alert:SetScript ("OnShow", function()
_detalhes.tabela_historico:resetar()
end)
pages [#pages+1] = {bg77, texto77, snap_image1, texto_snap}
pages [#pages+1] = {bg77, texto77, snap_image1, texto_snap, group_frame_alert}
for _, widget in ipairs (pages[#pages]) do
widget:Hide()
@@ -1222,6 +1242,7 @@ local window_openned_at = time()
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--> page 10
-- tooltip shift alt ctrl
local bg88 = window:CreateTexture (nil, "overlay")
bg88:SetTexture ([[Interface\MainMenuBar\UI-MainMenuBar-EndCap-Human]])
@@ -1234,24 +1255,22 @@ local window_openned_at = time()
local texto88 = window:CreateFontString (nil, "overlay", "GameFontNormal")
texto88:SetPoint ("topleft", window, "topleft", 20, -80)
texto88:SetText (Loc ["STRING_WELCOME_34"])
--|cFFFFFF00
local texto_micro_display = window:CreateFontString (nil, "overlay", "GameFontNormal")
texto_micro_display:SetPoint ("topleft", window, "topleft", 25, -101)
texto_micro_display:SetText (Loc ["STRING_WELCOME_35"])
texto_micro_display:SetWidth (160)
texto_micro_display:SetText ("Press shift to expand player's tooltip to show all spells used.\n\nCtrl for targets and Alt for Pets.")
texto_micro_display:SetWidth (300)
texto_micro_display:SetHeight (110)
texto_micro_display:SetJustifyH ("left")
texto_micro_display:SetJustifyV ("top")
texto_micro_display:SetTextColor (1, 1, 1, 1)
--local fonte, _, flags = texto_micro_display:GetFont()
--texto_micro_display:SetFont (fonte, 11, flags)
local micro_image1 = window:CreateTexture (nil, "overlay")
micro_image1:SetTexture ([[Interface\Addons\Details\images\icons]])
micro_image1:SetPoint ("topright", window, "topright", -12, -95)
micro_image1:SetWidth (303)
micro_image1:SetHeight (128)
micro_image1:SetTexCoord (0.408203125, 1, 0.09375, 0.341796875)
micro_image1:SetPoint ("topright", window, "topright", -15, -95)
micro_image1:SetWidth (136)
micro_image1:SetHeight (83)
micro_image1:SetTexCoord (0, 136/512, 429/512, 1)
pages [#pages+1] = {bg88, texto88, micro_image1, texto_micro_display}
BIN
View File
Binary file not shown.
@@ -369,12 +369,20 @@ end
local amount = event [3]
local time = event [4]
local source = event [6]
local overkill = event [10]
if (type (evtype) == "boolean") then
--> is damage or heal
if (evtype) then
--> damage
GameCooltip:AddLine ("" .. _cstr ("%.1f", time - hora_da_morte) .. "s " .. spellname .. " (" .. source .. ")", "-" .. _detalhes:ToK (amount) .. " (" .. hp .. "%)", 1, "white", "white")
if (overkill > 0) then
overkill = " (" .. _detalhes:ToK (overkill) .. " |cFFFF8800overkill|r)"
else
overkill = ""
end
GameCooltip:AddLine ("" .. _cstr ("%.1f", time - hora_da_morte) .. "s " .. spellname .. " (" .. source .. ")", "-" .. _detalhes:ToK (amount) .. overkill .. " (" .. hp .. "%)", 1, "white", "white")
GameCooltip:AddIcon (spellicon)
if (event [9]) then
+5 -31
View File
@@ -178,8 +178,11 @@ function _G._detalhes:Start()
--vardump (instance.snap)
--print ("===============")
instance.do_not_snap = true
self.move_janela_func (instance.baseframe, true, instance)
self.move_janela_func (instance.baseframe, false, instance)
instance.do_not_snap = false
end
end
self.CheckWallpaperAfterStartup = nil
@@ -443,12 +446,12 @@ function _G._detalhes:Start()
if (self.is_first_run) then
_detalhes:OpenWelcomeWindow()
end
--_detalhes:OpenWelcomeWindow() --debug
_detalhes:BrokerTick()
-- test dbm callbacks
if (_G.DBM) then
local dbm_callback_phase = function (event, msg)
@@ -483,36 +486,7 @@ function _G._detalhes:Start()
DBM:RegisterCallback ("pull", dbm_callback_pull)
end
--test realtime dps
--[[
local floor = floor
local real_time_frame = CreateFrame ("frame", nil, UIParent)
local instance = _detalhes:GetInstance (1)
real_time_frame:SetScript ("OnUpdate", function (self, elapsed)
if (_detalhes.in_combat and instance.atributo == 1 and instance.sub_atributo == 1) then
for i = 1, instance:GetNumRows() do
local row = instance:GetRow (i)
if (row and row:IsShown()) then
local actor = row.minha_tabela
if (actor) then
local dps_text = row.ps_text
if (dps_text) then
local new_dps = floor (actor.total / instance.showing:GetCombatTime())
local formated_dps = _detalhes.ToKFunctions [_detalhes.ps_abbreviation] (_, new_dps)
row.texto_direita:SetText (row.texto_direita:GetText():gsub (dps_text, formated_dps))
row.ps_text = formated_dps
end
end
end
end
end
end)
--]]
--> register molten core
--> register molten core
local molten_core = {
id = 409,