- Advanced Death Logs (plugin): done a calibration on endurance calculation.
- Raid Check (plugin): now also show information for 50+ stats runes. - Fixed cooldowns spell targets on overall data. - Fixed report custom displays where sometimes it didn't report spell links. - Replaced old report line saying 'for the last X segments' with 'overall data'. - Mini-displays on statusbar are now more responsible to right button click. - Added Mage's Greater Invisibility as cooldown.
This commit is contained in:
@@ -191,6 +191,7 @@
|
||||
instance_container:Remap()
|
||||
|
||||
if (export) then
|
||||
|
||||
-- key name value need to be formated
|
||||
if (custom_object) then
|
||||
|
||||
@@ -217,11 +218,22 @@
|
||||
end
|
||||
|
||||
actor.report_value = ptotal .. " (" .. percent .. "%)"
|
||||
|
||||
if (actor.id) then
|
||||
if (actor.id == 1) then
|
||||
actor.report_name = GetSpellLink (6603)
|
||||
elseif (actor.id > 10) then
|
||||
actor.report_name = GetSpellLink (actor.id)
|
||||
else
|
||||
actor.report_name = actor.nome
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
return total, instance_container._ActorTable, top, amount
|
||||
return total, instance_container._ActorTable, top, amount, "report_name"
|
||||
end
|
||||
|
||||
instance:AtualizarScrollBar (amount)
|
||||
@@ -500,7 +512,7 @@
|
||||
if (self.id) then
|
||||
|
||||
--if (self.id == 1) then
|
||||
-- self.classe = 1
|
||||
-- print (self.classe)
|
||||
--end
|
||||
|
||||
local school_color = _detalhes.school_colors [self.classe]
|
||||
|
||||
@@ -2677,9 +2677,18 @@ function _detalhes:monta_relatorio (este_relatorio, custom)
|
||||
local report_lines = {}
|
||||
|
||||
if (self.atributo == 5) then --> custom
|
||||
report_lines [#report_lines+1] = "Details!: " .. self.customName .. " " .. Loc ["STRING_CUSTOM_REPORT"]
|
||||
if (self.segmento == -1) then --overall
|
||||
report_lines [#report_lines+1] = "Details!: " .. Loc ["STRING_OVERALL"] .. " " .. self.customName .. " " .. Loc ["STRING_CUSTOM_REPORT"]
|
||||
else
|
||||
report_lines [#report_lines+1] = "Details!: " .. self.customName .. " " .. Loc ["STRING_CUSTOM_REPORT"]
|
||||
end
|
||||
|
||||
else
|
||||
report_lines [#report_lines+1] = "Details!: " .. _detalhes.sub_atributos [self.atributo].lista [self.sub_atributo]
|
||||
if (self.segmento == -1) then --overall
|
||||
report_lines [#report_lines+1] = "Details!: " .. Loc ["STRING_OVERALL"] .. " " .. _detalhes.sub_atributos [self.atributo].lista [self.sub_atributo]
|
||||
else
|
||||
report_lines [#report_lines+1] = "Details!: " .. _detalhes.sub_atributos [self.atributo].lista [self.sub_atributo]
|
||||
end
|
||||
end
|
||||
|
||||
local barras = self.barras
|
||||
@@ -2700,6 +2709,8 @@ function _detalhes:monta_relatorio (este_relatorio, custom)
|
||||
_detalhes.fontstring_len:SetText ("hello details!")
|
||||
local default_len = _detalhes.fontstring_len:GetStringWidth()
|
||||
|
||||
local name_member = "nome"
|
||||
|
||||
--> pegar a font do chat
|
||||
--_detalhes.fontstring_len:
|
||||
|
||||
@@ -2763,7 +2774,10 @@ function _detalhes:monta_relatorio (este_relatorio, custom)
|
||||
elseif (atributo == 5) then --> custom
|
||||
|
||||
if (_detalhes.custom [self.sub_atributo]) then
|
||||
total, container, first, container_amount = _detalhes.atributo_custom:RefreshWindow (self, self.showing, true, true)
|
||||
total, container, first, container_amount, nm = _detalhes.atributo_custom:RefreshWindow (self, self.showing, true, true)
|
||||
if (nm) then
|
||||
name_member = nm
|
||||
end
|
||||
keyName = "report_value"
|
||||
else
|
||||
total, keyName, first, container_amount = _detalhes.atributo_damage:RefreshWindow (self, self.showing, true, true)
|
||||
@@ -2790,7 +2804,7 @@ function _detalhes:monta_relatorio (este_relatorio, custom)
|
||||
is_string = true
|
||||
end
|
||||
|
||||
local name = _thisActor.nome.." "
|
||||
local name = _thisActor [name_member] .. " "
|
||||
if (_detalhes.remove_realm_from_name and name:find ("-")) then
|
||||
name = name:gsub (("%-.*"), "")
|
||||
end
|
||||
@@ -2904,7 +2918,10 @@ function _detalhes:monta_relatorio (este_relatorio, custom)
|
||||
total, keyName, first, container_amount = _detalhes.atributo_misc:RefreshWindow (self, self.showing, true, true)
|
||||
end
|
||||
elseif (atributo == 5) then --> custom
|
||||
total, container, first, container_amount = _detalhes.atributo_custom:RefreshWindow (self, self.showing, true, true)
|
||||
total, container, first, container_amount, nm = _detalhes.atributo_custom:RefreshWindow (self, self.showing, true, true)
|
||||
if (nm) then
|
||||
name_member = nm
|
||||
end
|
||||
keyName = "report_value"
|
||||
end
|
||||
|
||||
@@ -2923,7 +2940,7 @@ function _detalhes:monta_relatorio (este_relatorio, custom)
|
||||
amount = _thisActor [keyName]
|
||||
end
|
||||
|
||||
local name = _thisActor.nome .. " "
|
||||
local name = _thisActor [name_member] .. " "
|
||||
|
||||
_detalhes.fontstring_len:SetText (name)
|
||||
local stringlen = _detalhes.fontstring_len:GetStringWidth()
|
||||
@@ -3008,7 +3025,8 @@ function _detalhes:envia_relatorio (linhas, custom)
|
||||
|
||||
if (not custom) then
|
||||
if (segmento == -1) then --overall
|
||||
luta = Loc ["STRING_REPORT_LAST"] .. " " .. #_detalhes.tabela_historico.tabelas .. " " .. Loc ["STRING_REPORT_FIGHTS"]
|
||||
--luta = Loc ["STRING_REPORT_LAST"] .. " " .. #_detalhes.tabela_historico.tabelas .. " " .. Loc ["STRING_REPORT_FIGHTS"]
|
||||
luta = _detalhes.tabela_overall.overall_enemy_name
|
||||
|
||||
elseif (segmento == 0) then --current
|
||||
|
||||
@@ -3087,6 +3105,7 @@ function _detalhes:envia_relatorio (linhas, custom)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
linhas[1] = linhas[1] .. " " .. Loc ["STRING_REPORT"] .. " " .. luta
|
||||
|
||||
end
|
||||
|
||||
+36
-11
@@ -382,7 +382,13 @@ end
|
||||
|
||||
function atributo_misc:ReportSingleCooldownLine (misc_actor, instancia)
|
||||
|
||||
local reportar = {"Details!: " .. misc_actor.nome .. " - " .. Loc ["STRING_ATTRIBUTE_MISC_DEFENSIVE_COOLDOWNS"]}
|
||||
local reportar
|
||||
|
||||
if (instancia.segmento == -1) then --overall
|
||||
reportar = {"Details!: " .. misc_actor.nome .. " - " .. Loc ["STRING_OVERALL"] .. " " .. Loc ["STRING_ATTRIBUTE_MISC_DEFENSIVE_COOLDOWNS"]}
|
||||
else
|
||||
reportar = {"Details!: " .. misc_actor.nome .. " - " .. Loc ["STRING_ATTRIBUTE_MISC_DEFENSIVE_COOLDOWNS"]}
|
||||
end
|
||||
|
||||
local meu_total = _math_floor (misc_actor.cooldowns_defensive)
|
||||
local cooldowns = misc_actor.cooldowns_defensive_spells._ActorTable
|
||||
@@ -1396,13 +1402,18 @@ function _detalhes:CatchRaidDebuffUptime (in_or_out) -- "DEBUFF_UPTIME_IN"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
local runes_id = {
|
||||
[175457] = true, -- focus
|
||||
[175456] = true, --hyper
|
||||
[175439] = true, --stout
|
||||
}
|
||||
|
||||
function _detalhes:CatchRaidBuffUptime (in_or_out)
|
||||
|
||||
if (_IsInRaid()) then
|
||||
|
||||
local pot_usage = {}
|
||||
local focus_augmentation = {}
|
||||
|
||||
--> raid groups
|
||||
for raidIndex = 1, _GetNumGroupMembers() do
|
||||
@@ -1422,6 +1433,8 @@ function _detalhes:CatchRaidBuffUptime (in_or_out)
|
||||
if (in_or_out == "BUFF_UPTIME_IN") then
|
||||
if (_detalhes.PotionList [spellid]) then
|
||||
pot_usage [playerName] = spellid
|
||||
elseif (runes_id [spellid]) then
|
||||
focus_augmentation [playerName] = true
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1449,6 +1462,8 @@ function _detalhes:CatchRaidBuffUptime (in_or_out)
|
||||
if (in_or_out == "BUFF_UPTIME_IN") then
|
||||
if (_detalhes.PotionList [spellid]) then
|
||||
pot_usage [playerName] = spellid
|
||||
elseif (runes_id [spellid]) then
|
||||
focus_augmentation [playerName] = true
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1467,6 +1482,8 @@ function _detalhes:CatchRaidBuffUptime (in_or_out)
|
||||
if (in_or_out == "BUFF_UPTIME_IN") then
|
||||
if (_detalhes.PotionList [spellid]) then
|
||||
pot_usage [playerName] = spellid
|
||||
elseif (runes_id [spellid]) then
|
||||
focus_augmentation [playerName] = true
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1487,13 +1504,14 @@ function _detalhes:CatchRaidBuffUptime (in_or_out)
|
||||
|
||||
_detalhes.pre_pot_used = string_output
|
||||
|
||||
_detalhes:SendEvent ("COMBAT_PREPOTION_UPDATED", nil, pot_usage)
|
||||
_detalhes:SendEvent ("COMBAT_PREPOTION_UPDATED", nil, pot_usage, focus_augmentation)
|
||||
end
|
||||
|
||||
elseif (_IsInGroup()) then
|
||||
|
||||
local pot_usage = {}
|
||||
|
||||
local focus_augmentation = {}
|
||||
|
||||
for groupIndex = 1, _GetNumGroupMembers()-1 do
|
||||
for buffIndex = 1, 41 do
|
||||
local name, _, _, _, _, _, _, unitCaster, _, _, spellid = _UnitAura ("party"..groupIndex, buffIndex, nil, "HELPFUL")
|
||||
@@ -1510,6 +1528,8 @@ function _detalhes:CatchRaidBuffUptime (in_or_out)
|
||||
if (in_or_out == "BUFF_UPTIME_IN") then
|
||||
if (_detalhes.PotionList [spellid]) then
|
||||
pot_usage [playerName] = spellid
|
||||
elseif (runes_id [spellid]) then
|
||||
focus_augmentation [playerName] = true
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1528,6 +1548,8 @@ function _detalhes:CatchRaidBuffUptime (in_or_out)
|
||||
if (in_or_out == "BUFF_UPTIME_IN") then
|
||||
if (_detalhes.PotionList [spellid]) then
|
||||
pot_usage [playerName] = spellid
|
||||
elseif (runes_id [spellid]) then
|
||||
focus_augmentation [playerName] = true
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1547,13 +1569,14 @@ function _detalhes:CatchRaidBuffUptime (in_or_out)
|
||||
end
|
||||
|
||||
_detalhes.pre_pot_used = string_output
|
||||
_detalhes:SendEvent ("COMBAT_PREPOTION_UPDATED", nil, pot_usage)
|
||||
_detalhes:SendEvent ("COMBAT_PREPOTION_UPDATED", nil, pot_usage, focus_augmentation)
|
||||
end
|
||||
|
||||
else
|
||||
|
||||
local pot_usage = {}
|
||||
|
||||
local focus_augmentation = {}
|
||||
|
||||
for buffIndex = 1, 41 do
|
||||
local name, _, _, _, _, _, _, unitCaster, _, _, spellid = _UnitAura ("player", buffIndex, nil, "HELPFUL")
|
||||
if (name and unitCaster == "player") then
|
||||
@@ -1564,6 +1587,8 @@ function _detalhes:CatchRaidBuffUptime (in_or_out)
|
||||
if (in_or_out == "BUFF_UPTIME_IN") then
|
||||
if (_detalhes.PotionList [spellid]) then
|
||||
pot_usage [playerName] = spellid
|
||||
elseif (runes_id [spellid]) then
|
||||
focus_augmentation [playerName] = true
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1584,7 +1609,7 @@ function _detalhes:CatchRaidBuffUptime (in_or_out)
|
||||
end
|
||||
|
||||
_detalhes.pre_pot_used = string_output
|
||||
_detalhes:SendEvent ("COMBAT_PREPOTION_UPDATED", nil, pot_usage)
|
||||
_detalhes:SendEvent ("COMBAT_PREPOTION_UPDATED", nil, pot_usage, focus_augmentation)
|
||||
|
||||
end
|
||||
|
||||
@@ -1724,7 +1749,7 @@ function atributo_misc:ToolTipDefensiveCooldowns (instancia, numero, barra)
|
||||
local meu_total = _math_floor (self ["cooldowns_defensive"])
|
||||
local minha_tabela = self.cooldowns_defensive_spells._ActorTable
|
||||
|
||||
--> habilidade usada para interromper
|
||||
--> spells
|
||||
local cooldowns_usados = {}
|
||||
|
||||
for _spellid, _tabela in _pairs (minha_tabela) do
|
||||
@@ -1748,7 +1773,7 @@ function atributo_misc:ToolTipDefensiveCooldowns (instancia, numero, barra)
|
||||
GameCooltip:AddLine (Loc ["STRING_NO_SPELL"])
|
||||
end
|
||||
|
||||
--> quem foi que o cara reviveu
|
||||
--> targets
|
||||
local meus_alvos = self.cooldowns_defensive_targets
|
||||
local alvos = {}
|
||||
|
||||
@@ -2387,7 +2412,7 @@ function atributo_misc:r_onlyrefresh_shadow (actor)
|
||||
return shadow
|
||||
|
||||
end
|
||||
|
||||
|
||||
local somar_keys = function (habilidade, habilidade_tabela1)
|
||||
for key, value in _pairs (habilidade) do
|
||||
if (_type (value) == "number") then
|
||||
@@ -2405,7 +2430,7 @@ end
|
||||
local somar_habilidades = function (container1, container2)
|
||||
for spellid, habilidade in _pairs (container2._ActorTable) do
|
||||
local habilidade_tabela1 = container1:PegaHabilidade (spellid, true, nil, false)
|
||||
somar_alvos (habilidade.targets, habilidade_tabela1.targets)
|
||||
somar_alvos (habilidade_tabela1.targets, habilidade.targets)
|
||||
somar_keys (habilidade, habilidade_tabela1)
|
||||
end
|
||||
end
|
||||
|
||||
+29
-38
@@ -1,7 +1,3 @@
|
||||
--File Revision: 1
|
||||
--Last Modification: 27/07/2013
|
||||
-- Change Log:
|
||||
-- 27/07/2013: Finished alpha version.
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -25,8 +21,6 @@
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--> status bar core functions
|
||||
--[[ This file contains Api and Internal functions, plus 4 built-in plugins
|
||||
You can use this four plugins to learn how they works--]]
|
||||
|
||||
--> hida all micro frames
|
||||
function _detalhes.StatusBar:Hide (instance, side)
|
||||
@@ -289,7 +283,9 @@
|
||||
local onEnterCooltipTexts = {
|
||||
{text = "|TInterface\\TUTORIALFRAME\\UI-TUTORIAL-FRAME:14:14:0:1:512:512:8:70:224:306|t " .. Loc ["STRING_PLUGIN_TOOLTIP_LEFTBUTTON"]},
|
||||
{text = "|TInterface\\TUTORIALFRAME\\UI-TUTORIAL-FRAME:14:14:0:1:512:512:8:70:328:409|t " .. Loc ["STRING_PLUGIN_TOOLTIP_RIGHTBUTTON"]}}
|
||||
|
||||
|
||||
local on_enter_backdrop = {bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", tile = true, tileSize = 16}
|
||||
|
||||
local OnEnter = function (frame)
|
||||
|
||||
--|TTexturePath: size X: size Y: point offset Y X : texture size : coordx1 L : coordx2 R : coordy1 T : coordy2 B |t
|
||||
@@ -297,21 +293,20 @@
|
||||
|
||||
_detalhes.OnEnterMainWindow (frame.child.instance)
|
||||
|
||||
local passou = 0
|
||||
frame:SetScript ("OnUpdate", function (self, elapsed)
|
||||
passou = passou + elapsed
|
||||
if (passou > 0.5) then
|
||||
if (not _detalhes.popup.mouseOver and not _detalhes.popup.buttonOver and not _detalhes.popup.active) then
|
||||
GameCooltip:Reset()
|
||||
GameCooltip:AddFromTable (onEnterCooltipTexts)
|
||||
GameCooltip:SetOption ("TextSize", 9.5)
|
||||
GameCooltip:SetWallpaper (1, [[Interface\SPELLBOOK\Spellbook-Page-1]], {.6, 0.1, 0, 0.64453125}, {1, 1, 1, 0.1}, true)
|
||||
GameCooltip:ShowCooltip (frame, "tooltip")
|
||||
end
|
||||
self:SetScript ("OnUpdate", nil)
|
||||
_detalhes.popup.active = true
|
||||
end
|
||||
end)
|
||||
frame:SetBackdrop (on_enter_backdrop)
|
||||
frame:SetBackdropColor (0.7, 0.7, 0.7, 0.6)
|
||||
|
||||
GameCooltip:Reset()
|
||||
GameCooltip:AddFromTable (onEnterCooltipTexts)
|
||||
GameCooltip:SetOption ("TextSize", 9)
|
||||
GameCooltip:SetWallpaper (1, [[Interface\SPELLBOOK\Spellbook-Page-1]], {.6, 0.1, 0, 0.64453125}, {1, 1, 1, 0.1}, true)
|
||||
|
||||
GameCooltip:SetOption ("ButtonHeightMod", -4)
|
||||
GameCooltip:SetOption ("ButtonsYMod", -4)
|
||||
GameCooltip:SetOption ("YSpacingMod", -4)
|
||||
GameCooltip:SetOption ("FixedHeight", 46)
|
||||
|
||||
GameCooltip:ShowCooltip (frame, "tooltip")
|
||||
|
||||
return true
|
||||
end
|
||||
@@ -319,24 +314,12 @@
|
||||
--> on leave
|
||||
local OnLeave = function (frame)
|
||||
|
||||
frame:SetBackdrop (nil)
|
||||
|
||||
_detalhes.OnLeaveMainWindow (frame.child.instance)
|
||||
|
||||
if (_detalhes.popup.active) then
|
||||
local passou = 0
|
||||
frame:SetScript ("OnUpdate", function (self, elapsed)
|
||||
passou = passou+elapsed
|
||||
if (passou > 0.3) then
|
||||
if (not _detalhes.popup.mouseOver and not _detalhes.popup.buttonOver and _detalhes.popup.Host == frame) then
|
||||
_detalhes.popup:ShowMe (false)
|
||||
end
|
||||
_detalhes.popup.active = false
|
||||
self:SetScript ("OnUpdate", nil)
|
||||
end
|
||||
end)
|
||||
else
|
||||
_detalhes.popup.active = false
|
||||
frame:SetScript ("OnUpdate", nil)
|
||||
end
|
||||
_detalhes.popup:Hide()
|
||||
|
||||
return true
|
||||
end
|
||||
|
||||
@@ -478,6 +461,7 @@
|
||||
function _detalhes.StatusBar:CreateChildFrame (instance, name, w, h)
|
||||
--local frame = _detalhes.gump:NewPanel (instance.baseframe.cabecalho.fechar, nil, name..instance:GetInstanceId(), nil, w or DEFAULT_CHILD_WIDTH, h or DEFAULT_CHILD_HEIGHT, false)
|
||||
local frame = _detalhes.gump:NewPanel (instance.baseframe, nil, name..instance:GetInstanceId(), nil, w or DEFAULT_CHILD_WIDTH, h or DEFAULT_CHILD_HEIGHT, false)
|
||||
frame:SetFrameLevel (instance.baseframe:GetFrameLevel()+4)
|
||||
|
||||
--create widgets
|
||||
local text = _detalhes.gump:NewLabel (frame, nil, "$parentText", "text", "0")
|
||||
@@ -1469,14 +1453,21 @@ window.instance = nil
|
||||
window:SetFrameStrata ("FULLSCREEN")
|
||||
window:DisableGradient()
|
||||
|
||||
window:SetBackdrop ({bgFile = [[Interface\AddOns\Details\images\background]], tile = true, tileSize = 16, edgeFile = [[Interface\AddOns\Details\images\border_2]], edgeSize=12})
|
||||
window:SetBackdropColor (0, 0, 0, 0.9)
|
||||
|
||||
local extraWindow = _detalhes.gump:NewPanel (window, nil, "DetailsStatusBarOptions2", "extra", 300, 180)
|
||||
extraWindow:SetPoint ("left", window, "right")
|
||||
extraWindow.close_with_right = true
|
||||
extraWindow.locked = false
|
||||
extraWindow:Hide()
|
||||
|
||||
extraWindow:SetHook ("OnHide", function()
|
||||
window:Hide()
|
||||
end)
|
||||
extraWindow:DisableGradient()
|
||||
extraWindow:SetBackdrop ({bgFile = [[Interface\AddOns\Details\images\background]], tile = true, tileSize = 16, edgeFile = [[Interface\AddOns\Details\images\border_2]], edgeSize=12})
|
||||
extraWindow:SetBackdropColor (0, 0, 0, 0.9)
|
||||
|
||||
--> text style
|
||||
_detalhes.gump:NewLabel (window, _, "$parentTextStyleLabel", "textstyle", Loc ["STRING_PLUGINOPTIONS_TEXTSTYLE"])
|
||||
|
||||
+41
-5
@@ -1,8 +1,3 @@
|
||||
--File Revision: 1
|
||||
--Last Modification: 27/07/2013
|
||||
-- Change Log:
|
||||
-- 27/07/2013: Finished alpha version.
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
local _detalhes = _G._detalhes
|
||||
@@ -219,6 +214,47 @@
|
||||
end
|
||||
end
|
||||
|
||||
function _detalhes.table.dump (t, s, deep)
|
||||
|
||||
s = s or ""
|
||||
deep = deep or 0
|
||||
local space = ""
|
||||
for i = 1, deep do
|
||||
space = space .. " "
|
||||
end
|
||||
|
||||
for key, value in pairs (t) do
|
||||
|
||||
local tpe = _type (value)
|
||||
|
||||
if (type (key) ~= "string") then
|
||||
key = "unknown?"
|
||||
end
|
||||
|
||||
if (tpe == "table") then
|
||||
s = s .. space .. "[" .. key .. "] = |cFFa9ffa9table {|r\n"
|
||||
s = s .. _detalhes.table.dump (value, nil, deep+1)
|
||||
s = s .. space .. "|cFFa9ffa9}|r\n"
|
||||
|
||||
elseif (tpe == "string") then
|
||||
s = s .. space .. "[" .. key .. "] = '|cFFfff1c1" .. value .. "|r'\n"
|
||||
|
||||
elseif (tpe == "number") then
|
||||
s = s .. space .. "[" .. key .. "] = |cFFffc1f4" .. value .. "|r\n"
|
||||
|
||||
elseif (tpe == "function") then
|
||||
s = s .. space .. "[" .. key .. "] = function()\n"
|
||||
|
||||
elseif (tpe == "boolean") then
|
||||
s = s .. space .. "[" .. key .. "] = |cFF99d0ff" .. (value and "true" or "false") .. "|r\n"
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
return s
|
||||
end
|
||||
|
||||
function _detalhes:hex (num)
|
||||
local hexstr = '0123456789abcdef'
|
||||
local s = ''
|
||||
|
||||
@@ -2598,6 +2598,8 @@
|
||||
end
|
||||
end
|
||||
|
||||
current_combat.enemy = "Illidan Stormrage"
|
||||
|
||||
end
|
||||
|
||||
--old versions dialog
|
||||
|
||||
@@ -120,8 +120,12 @@ function SlashCmdList.DETAILS (msg, editbox)
|
||||
elseif (command == Loc ["STRING_SLASH_CHANGES"] or command == Loc ["STRING_SLASH_CHANGES_ALIAS1"] or command == Loc ["STRING_SLASH_CHANGES_ALIAS2"] or command == "news" or command == "updates") then
|
||||
_detalhes:OpenNewsWindow()
|
||||
|
||||
elseif (command == "feedback") then
|
||||
_detalhes.OpenFeedbackWindow()
|
||||
|
||||
-------- debug ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
elseif (msg == "exitlog") then
|
||||
|
||||
local exitlog = _detalhes_global.exit_log
|
||||
|
||||
@@ -1574,6 +1574,7 @@ do
|
||||
--["MAGE"] = {},
|
||||
[159916] = {120, 6}, -- "Amplify Magic"
|
||||
[157913] = {45, 3, 1}, -- "Evanesce"
|
||||
[110960] = {90, 20, 1}, -- greater invisibility - 110959 too
|
||||
|
||||
--["MONK"] = {},
|
||||
[115295] = {30, 30, 1}, -- Guard
|
||||
@@ -1654,7 +1655,7 @@ do
|
||||
|
||||
-- Mage
|
||||
[45438] = {300, 12}, -- Ice Block
|
||||
["MAGE"] = {45438, 159916, 157913},
|
||||
["MAGE"] = {45438, 159916, 157913, 110960},
|
||||
|
||||
-- Monk
|
||||
[122470] = {90, 10}, -- Touch of Karma
|
||||
|
||||
+10
-12
@@ -10,6 +10,11 @@ function _detalhes:OpenNewsWindow (text_to_show, dumpvalues, keeptext)
|
||||
news_window:Title (Loc ["STRING_NEWS_TITLE"])
|
||||
|
||||
if (text_to_show and type (text_to_show) == "table") then
|
||||
|
||||
DetailsNewsWindowLower:SetSize (450, 5000)
|
||||
DetailsNewsWindowSlider:SetMinMaxValues (0, 5000)
|
||||
DetailsNewsWindowText:SetHeight (5000)
|
||||
|
||||
local s = ""
|
||||
for _, text in ipairs (text_to_show) do
|
||||
if (type (text) == "string" or type (text) == "number") then
|
||||
@@ -18,13 +23,7 @@ function _detalhes:OpenNewsWindow (text_to_show, dumpvalues, keeptext)
|
||||
end
|
||||
|
||||
if (dumpvalues) then
|
||||
for key, value in pairs (text_to_show) do
|
||||
if (type (value) == "function" or type (value) == "table") then
|
||||
s = s .. "[" .. key .. "] = " .. type (value) .. "\n"
|
||||
else
|
||||
s = s .. "[" .. key .. "] = " .. value .. "\n"
|
||||
end
|
||||
end
|
||||
s = _detalhes.table.dump (text_to_show)
|
||||
end
|
||||
|
||||
if (keeptext) then
|
||||
@@ -87,10 +86,9 @@ function _detalhes:CreateOrOpenNewsWindow()
|
||||
local reinstall = _detalhes.gump:NewLabel (frame, nil, "$parentReinstall", nil, "", "GameFontHighlightLeft", 10)
|
||||
reinstall:SetPoint ("left", textura, "right", 2, -2)
|
||||
reinstall.text = Loc ["STRING_NEWS_REINSTALL"]
|
||||
|
||||
|
||||
|
||||
local frame_upper = CreateFrame ("scrollframe", nil, frame)
|
||||
local frame_lower = CreateFrame ("frame", nil, frame_upper)
|
||||
local frame_lower = CreateFrame ("frame", "DetailsNewsWindowLower", frame_upper)
|
||||
frame_lower:SetSize (450, 2000)
|
||||
frame_upper:SetPoint ("topleft", frame, "topleft", 15, -70)
|
||||
frame_upper:SetWidth (465)
|
||||
@@ -102,7 +100,7 @@ function _detalhes:CreateOrOpenNewsWindow()
|
||||
frame_upper:SetBackdropColor (.1, .1, .1, .3)
|
||||
frame_upper:SetScrollChild (frame_lower)
|
||||
|
||||
local slider = CreateFrame ("slider", nil, frame)
|
||||
local slider = CreateFrame ("slider", "DetailsNewsWindowSlider", frame)
|
||||
slider.bg = slider:CreateTexture (nil, "background")
|
||||
slider.bg:SetAllPoints (true)
|
||||
slider.bg:SetTexture (0, 0, 0, 0.5)
|
||||
@@ -134,7 +132,7 @@ function _detalhes:CreateOrOpenNewsWindow()
|
||||
slider:SetValue (current - 20)
|
||||
end
|
||||
end)
|
||||
|
||||
|
||||
--> text box
|
||||
local texto = frame_lower:CreateFontString ("DetailsNewsWindowText", "overlay", "GameFontNormal")
|
||||
texto:SetPoint ("topleft", frame_lower, "topleft")
|
||||
|
||||
@@ -2005,7 +2005,12 @@ function _detalhes:ReportSingleLine (instancia, barra)
|
||||
local actor_name = barra.texto_esquerdo:GetText() or ""
|
||||
actor_name = actor_name:gsub ((".*%."), "")
|
||||
|
||||
reportar = {"Details! " .. Loc ["STRING_CUSTOM_REPORT"] .. " " .. instancia.customName .. ": " .. actor_name}
|
||||
if (instancia.segmento == -1) then --overall
|
||||
reportar = {"Details!: " .. Loc ["STRING_OVERALL"] .. " " .. instancia.customName .. ": " .. actor_name .. " " .. Loc ["STRING_CUSTOM_REPORT"]}
|
||||
else
|
||||
reportar = {"Details!: " .. instancia.customName .. ": " .. actor_name .. " " .. Loc ["STRING_CUSTOM_REPORT"]}
|
||||
end
|
||||
|
||||
--> dump cooltip
|
||||
local GameCooltip = GameCooltip
|
||||
|
||||
@@ -2016,7 +2021,7 @@ function _detalhes:ReportSingleLine (instancia, barra)
|
||||
end
|
||||
|
||||
else
|
||||
reportar = {"Details! " .. Loc ["STRING_REPORT"] .. " " .. _detalhes.sub_atributos [instancia.atributo].lista [instancia.sub_atributo]}
|
||||
reportar = {"Details!: " .. Loc ["STRING_REPORT"] .. " " .. _detalhes.sub_atributos [instancia.atributo].lista [instancia.sub_atributo]}
|
||||
reportar [#reportar+1] = barra.texto_esquerdo:GetText() .. " " .. barra.texto_direita:GetText()
|
||||
end
|
||||
|
||||
|
||||
+478
-503
File diff suppressed because it is too large
Load Diff
@@ -49,7 +49,16 @@ local food_list = {
|
||||
[180759] = true, --
|
||||
[180762] = true, --
|
||||
[180760] = true, --
|
||||
}
|
||||
|
||||
local focus_augmentation = 175457
|
||||
local hyper_augmentation = 175456
|
||||
local stout_augmentation = 175439
|
||||
|
||||
local runes_id = {
|
||||
[175457] = true, -- focus
|
||||
[175456] = true, --hyper
|
||||
[175439] = true, --stout
|
||||
}
|
||||
|
||||
--> localization
|
||||
@@ -59,7 +68,7 @@ local food_list = {
|
||||
tinsert (UISpecialFrames, "DetailsRaidCheck")
|
||||
DetailsRaidCheck:SetPluginDescription (Loc ["STRING_RAIDCHECK_PLUGIN_DESC"])
|
||||
|
||||
local version = "v0.3"
|
||||
local version = "v0.4.1"
|
||||
|
||||
local debugmode = false
|
||||
|
||||
@@ -70,8 +79,10 @@ local food_list = {
|
||||
|
||||
--> tables
|
||||
DetailsRaidCheck.usedprepot_table = {}
|
||||
DetailsRaidCheck.focusaug_table = {}
|
||||
DetailsRaidCheck.haveflask_table = {}
|
||||
DetailsRaidCheck.havefood_table = {}
|
||||
DetailsRaidCheck.havefocusaug_table = {}
|
||||
|
||||
DetailsRaidCheck.on_raid = false
|
||||
DetailsRaidCheck.tracking_buffs = false
|
||||
@@ -86,7 +97,7 @@ local food_list = {
|
||||
|
||||
elseif (event == "COMBAT_PREPOTION_UPDATED") then
|
||||
|
||||
DetailsRaidCheck.usedprepot_table = select (1, ...)
|
||||
DetailsRaidCheck.usedprepot_table, DetailsRaidCheck.focusaug_table = select (1, ...)
|
||||
|
||||
elseif (event == "COMBAT_PLAYER_LEAVE") then
|
||||
|
||||
@@ -185,7 +196,7 @@ local food_list = {
|
||||
|
||||
local report_string1 = show_panel:CreateFontString (nil, "overlay", "GameFontNormal")
|
||||
report_string1:SetPoint ("bottomleft", show_panel, "bottomleft", 10, 10)
|
||||
report_string1:SetText ("|TInterface\\TUTORIALFRAME\\UI-TUTORIAL-FRAME:12:12:0:1:512:512:8:70:225:307|t Report No Food/Flask |TInterface\\TUTORIALFRAME\\UI-TUTORIAL-FRAME:12:12:0:1:512:512:8:70:328:409|t Report No Pre-Pot |TInterface\\TUTORIALFRAME\\UI-TUTORIAL-FRAME:12:12:0:1:512:512:8:70:126:204|t Disable Plugin")
|
||||
report_string1:SetText ("|TInterface\\TUTORIALFRAME\\UI-TUTORIAL-FRAME:12:12:0:1:512:512:8:70:225:307|t Report No Food/Flask |TInterface\\TUTORIALFRAME\\UI-TUTORIAL-FRAME:12:12:0:1:512:512:8:70:328:409|t Report No Pre-Pot |TInterface\\TUTORIALFRAME\\UI-TUTORIAL-FRAME:12:12:0:1:512:512:8:70:126:204|t Report No Rune")
|
||||
DetailsRaidCheck:SetFontSize (report_string1, 10)
|
||||
DetailsRaidCheck:SetFontColor (report_string1, "white")
|
||||
report_string1:SetAlpha (0.6)
|
||||
@@ -229,22 +240,23 @@ local food_list = {
|
||||
|
||||
--
|
||||
|
||||
local prepot_title = show_panel:CreateFontString (nil, "overlay", "GameFontHighlightSmall")
|
||||
prepot_title:SetJustifyH ("center")
|
||||
prepot_title:SetPoint ("topleft", show_panel, "topleft", 205, -20)
|
||||
prepot_title:SetText ("Used Pre Pot")
|
||||
prepot_title:SetTextColor (0.8, 1, 0.8)
|
||||
local focus_aug = show_panel:CreateFontString (nil, "overlay", "GameFontHighlightSmall")
|
||||
focus_aug:SetJustifyH ("center")
|
||||
focus_aug:SetPoint ("topleft", show_panel, "topleft", 205, -20)
|
||||
--focus_aug:SetText ("Augmentation")
|
||||
focus_aug:SetText ("No Rune")
|
||||
focus_aug:SetTextColor (0.8, 0.8, 1)
|
||||
|
||||
local prepot_str = show_panel:CreateFontString (nil, "overlay", "GameFontHighlightSmall")
|
||||
prepot_str:SetJustifyH ("left")
|
||||
prepot_str:SetPoint ("topleft", prepot_title, "topleft", -11, -20)
|
||||
local focus_aug2 = show_panel:CreateFontString (nil, "overlay", "GameFontHighlightSmall")
|
||||
focus_aug2:SetJustifyH ("left")
|
||||
focus_aug2:SetPoint ("topleft", focus_aug, "topleft", -9, -20)
|
||||
|
||||
local prepot_image = show_panel:CreateTexture (nil, "artwork")
|
||||
prepot_image:SetTexture ([[Interface\Garrison\GarrisonMissionUI2]])
|
||||
prepot_image:SetTexCoord (680/1024, 888/1024, 429/1024, 477/1024)
|
||||
prepot_image:SetPoint ("topleft", prepot_title, "topleft", -11, 3)
|
||||
prepot_image:SetSize (prepot_title:GetStringWidth()+22, 19) --208, 48
|
||||
prepot_image:SetVertexColor (.65, .65, .65)
|
||||
local focus_aug_image2 = show_panel:CreateTexture (nil, "artwork")
|
||||
focus_aug_image2:SetTexture ([[Interface\Garrison\GarrisonMissionUI2]])
|
||||
focus_aug_image2:SetTexCoord (680/1024, 888/1024, 429/1024, 477/1024)
|
||||
focus_aug_image2:SetPoint ("topleft", focus_aug, "topleft", -11, 3)
|
||||
focus_aug_image2:SetSize (focus_aug:GetStringWidth()+22, 19) --208, 48
|
||||
focus_aug_image2:SetVertexColor (.65, .65, .65)
|
||||
|
||||
--
|
||||
|
||||
@@ -267,6 +279,29 @@ local food_list = {
|
||||
|
||||
--
|
||||
|
||||
local prepot_title = show_panel:CreateFontString (nil, "overlay", "GameFontHighlightSmall")
|
||||
prepot_title:SetJustifyH ("center")
|
||||
prepot_title:SetPoint ("topleft", show_panel, "topleft", 415, -20)
|
||||
prepot_title:SetText ("Used Pre Pot")
|
||||
prepot_title:SetTextColor (0.8, 1, 0.8)
|
||||
|
||||
local prepot_str = show_panel:CreateFontString (nil, "overlay", "GameFontHighlightSmall")
|
||||
prepot_str:SetJustifyH ("left")
|
||||
prepot_str:SetPoint ("topleft", prepot_title, "topleft", -11, -20)
|
||||
|
||||
local prepot_image = show_panel:CreateTexture (nil, "artwork")
|
||||
prepot_image:SetTexture ([[Interface\Garrison\GarrisonMissionUI2]])
|
||||
prepot_image:SetTexCoord (680/1024, 888/1024, 429/1024, 477/1024)
|
||||
prepot_image:SetPoint ("topleft", prepot_title, "topleft", -11, 3)
|
||||
prepot_image:SetSize (prepot_title:GetStringWidth()+22, 19) --208, 48
|
||||
prepot_image:SetVertexColor (.65, .65, .65)
|
||||
|
||||
prepot_title:Hide()
|
||||
prepot_str:Hide()
|
||||
prepot_image:Hide()
|
||||
|
||||
--
|
||||
|
||||
show_panel:Hide()
|
||||
|
||||
DetailsRaidCheck.report_lines = ""
|
||||
@@ -345,7 +380,30 @@ local food_list = {
|
||||
|
||||
elseif (button == "MiddleButton") then
|
||||
|
||||
_detalhes:DisablePlugin ("DETAILS_PLUGIN_RAIDCHECK")
|
||||
--_detalhes:DisablePlugin ("DETAILS_PLUGIN_RAIDCHECK")
|
||||
|
||||
--report focus aug
|
||||
local s = "Details!: Not using Rune: "
|
||||
|
||||
local amt = GetNumGroupMembers()
|
||||
local _, _, difficulty = GetInstanceInfo()
|
||||
if (difficulty == 16 and DetailsRaidCheck.db.mythic_1_4 and amt > 20) then
|
||||
amt = 20
|
||||
end
|
||||
|
||||
for i = 1, amt do
|
||||
local name = UnitName ("raid" .. i)
|
||||
if (not DetailsRaidCheck.havefocusaug_table [name]) then
|
||||
s = s .. DetailsRaidCheck:GetOnlyName (name) .. " "
|
||||
end
|
||||
end
|
||||
|
||||
if (DetailsRaidCheck.db.use_report_panel) then
|
||||
DetailsRaidCheck.report_lines = s
|
||||
DetailsRaidCheck:SendReportWindow (reportFunc)
|
||||
else
|
||||
DetailsRaidCheck:SendMsgToChannel (s, "RAID")
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -353,7 +411,7 @@ local food_list = {
|
||||
|
||||
local update_panel = function (self)
|
||||
|
||||
local amount1, amount2, amount3, amount4 = 0, 0, 0, 0
|
||||
local amount1, amount2, amount3, amount4, amount5 = 0, 0, 0, 0, 0
|
||||
local s, f, p, n = "", "", "", ""
|
||||
|
||||
local amt = GetNumGroupMembers()
|
||||
@@ -450,7 +508,38 @@ local food_list = {
|
||||
prepot_str:SetText (p)
|
||||
prepot_str2:SetText (n)
|
||||
|
||||
local bigger = math.max (amount1, amount2, amount3, amount4)
|
||||
--> not used focus augmentation
|
||||
n = ""
|
||||
|
||||
local amt = GetNumGroupMembers()
|
||||
local _, _, difficulty = GetInstanceInfo()
|
||||
if (difficulty == 16 and DetailsRaidCheck.db.mythic_1_4 and amt > 20) then
|
||||
amt = 20
|
||||
end
|
||||
|
||||
for i = 1, amt do
|
||||
|
||||
local name = UnitName ("raid" .. i)
|
||||
|
||||
if (not DetailsRaidCheck.havefocusaug_table [name]) then
|
||||
local _, class = _UnitClass (name)
|
||||
local class_color = "FFFFFFFF"
|
||||
|
||||
if (class) then
|
||||
local coords = CLASS_ICON_TCOORDS [class]
|
||||
class_color = "|TInterface\\AddOns\\Details\\images\\classes_small_alpha:12:12:0:-5:128:128:" .. coords[1]*128 .. ":" .. coords[2]*128 .. ":" .. coords[3]*128 .. ":" .. coords[4]*128 .. "|t |c" .. RAID_CLASS_COLORS [class].colorStr
|
||||
end
|
||||
|
||||
n = n .. class_color .. DetailsRaidCheck:GetOnlyName (name) .. "|r\n"
|
||||
|
||||
amount5 = amount5 + 1
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
focus_aug2:SetText (n)
|
||||
|
||||
local bigger = math.max (amount1, amount2, amount3, amount4, amount5)
|
||||
show_panel:SetHeight (100 + (bigger * 10))
|
||||
|
||||
end
|
||||
@@ -514,6 +603,9 @@ local food_list = {
|
||||
for player_name, have in pairs (DetailsRaidCheck.havefood_table) do
|
||||
DetailsRaidCheck.havefood_table [player_name] = nil
|
||||
end
|
||||
for player_name, have in pairs (DetailsRaidCheck.havefocusaug_table) do
|
||||
DetailsRaidCheck.havefocusaug_table [player_name] = nil
|
||||
end
|
||||
|
||||
local amt_players = GetNumGroupMembers()
|
||||
local with_flask, with_food = 0, 0
|
||||
@@ -532,6 +624,10 @@ local food_list = {
|
||||
DetailsRaidCheck.havefood_table [name] = true
|
||||
with_food = with_food + 1
|
||||
end
|
||||
|
||||
if (bname and runes_id [spellid]) then
|
||||
DetailsRaidCheck.havefocusaug_table [name] = true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -460,6 +460,7 @@ function _G._detalhes:Start()
|
||||
if (self.is_first_run) then
|
||||
_detalhes:OpenWelcomeWindow()
|
||||
end
|
||||
|
||||
--_detalhes:OpenWelcomeWindow() --debug
|
||||
-- /run _detalhes:OpenWelcomeWindow()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user