- Plugin 'Damage Rank': is now called 'Damage, the Game!' and had its levels adjusted to WoD.

- Plugin 'Tiny Threat': fixed player name where it was showing the realm name too.
- Plugin 'Vanguard': fixed frame details (clicking on a bar) shown behind the Vanguard panel.
- Plugin 'Vanguard': fixed a problem when clicking with right button wasn't opening the bookmark panel.
- Plugin 'Vanguard': incoming heals now count shield amount on the player too.
- Plugin 'Vanguard' Known Bug: incoming damage and melee vs avoidance seems to be inaccurate by now, we need more time to study and fix it.
- Plugin 'Raid Check': now has an options panel.

- Added Twins Ogron's Charge as custom spells, one for the charge by him self and other for the copies (mythic only).
- Added key bindings for open a window, close a window, select a bookmark.
- Added 'CTRL + RightClick' closes a window.

- Fixed wallpaper transparency after releasing the window from a stretch.
- Fixed few issues when using class text colors.
- Fixed characters name outside instances, now it replaces the realm name with a * and show the complete name on tooltip.
- Fixed damage mitigation on damage taken, this affects only specific classes like monk tank.
- Fixed auto erase poping up when the player enters on its garrison.
- Fixed segments tooltip showing trash cleanup segments inside garrisons.
- Fixed command /details disable, wasn't disabling the capture of cooldowns.
- Fixed a problem with fast dps/hps when the window is in a empty segment.
- Fixed an issue using bookmark panel where it wasn't changing the display when the window is in a plugin mode.
This commit is contained in:
Tercio
2015-01-07 17:02:00 -02:00
parent faaf6380ae
commit 23f8ca025e
14 changed files with 376 additions and 43 deletions
+121 -3
View File
@@ -1,11 +1,129 @@
<Bindings>
<Binding name="DETAILS_RESET_SEGMENTS" description="Clear all segments." header="Details">
<Binding name="DETAILS_RESET_SEGMENTS" description="Clear all segments." header="DETAILS_KEYBIND_SEGMENTCONTROL" category="Details!">
_detalhes.tabela_historico:resetar()
</Binding>
<Binding name="DETAILS_SCROLL_DOWN" description="Scroll down the window which you have the mouse over." header="Details">
<Binding name="DETAILS_SCROLL_DOWN" description="Scroll down the window which you have the mouse over." header="DETAILS_KEYBIND_SCROLLING" category="Details!">
DetailsKeyBindScrollDown()
</Binding>
<Binding name="DETAILS_SCROLL_UP" description="Scroll up the window which you have the mouse over." header="Details">
<Binding name="DETAILS_SCROLL_UP" description="Scroll up the window which you have the mouse over." category="Details!">
DetailsKeyBindScrollUp()
</Binding>
<Binding name="DETAILS_REOPEN_WINDOW1" description="Reopen window 1." header="DETAILS_KEYBIND_WINDOW_CONTROL" category="Details!">
local instance1 = _detalhes.tabela_instancias [1];
if (instance1 and not instance1:IsEnabled()) then
instance1:EnableInstance();
elseif (not instance1) then
_detalhes:Msg ("Window 1 isn't created yet.");
end
</Binding>
<Binding name="DETAILS_REOPEN_WINDOW2" description="Reopen window 2." category="Details!">
local instance2 = _detalhes.tabela_instancias [2];
if (instance2 and not instance2:IsEnabled()) then
instance2:EnableInstance();
elseif (not instance2) then
_detalhes:Msg ("Window 2 isn't created yet.");
end
</Binding>
<Binding name="DETAILS_REOPEN_WINDOW3" description="Reopen window 3." category="Details!">
local instance3 = _detalhes.tabela_instancias [3];
if (instance3 and not instance3:IsEnabled()) then
instance3:EnableInstance();
elseif (not instance3) then
_detalhes:Msg ("Window 3 isn't created yet.");
end
</Binding>
<Binding name="DETAILS_REOPEN_WINDOW4" description="Reopen window 4." category="Details!">
local instance4 = _detalhes.tabela_instancias [4];
if (instance4 and not instance4:IsEnabled()) then
instance4:EnableInstance();
elseif (not instance4) then
_detalhes:Msg ("Window 4 isn't created yet.");
end
</Binding>
<Binding name="DETAILS_REOPEN_WINDOW5" description="Reopen window 5." category="Details!">
local instance5 = _detalhes.tabela_instancias [5];
if (instance5 and not instance5:IsEnabled()) then
instance5:EnableInstance();
elseif (not instance5) then
_detalhes:Msg ("Window 5 isn't created yet.");
end
</Binding>
<Binding name="DETAILS_CLOSE_WINDOW1" description="Close window 1." category="Details!">
local instance1 = _detalhes.tabela_instancias [1];
if (instance1 and instance1:IsEnabled()) then
instance1:ShutDown();
else
_detalhes:Msg ("Window 1 isn't open.");
end
</Binding>
<Binding name="DETAILS_CLOSE_WINDOW2" description="Close window 2." category="Details!">
local instance2 = _detalhes.tabela_instancias [2];
if (instance2 and instance2:IsEnabled()) then
instance2:ShutDown();
else
_detalhes:Msg ("Window 2 isn't open.");
end
</Binding>
<Binding name="DETAILS_CLOSE_WINDOW3" description="Close window 3." category="Details!">
local instance3 = _detalhes.tabela_instancias [3];
if (instance3 and instance3:IsEnabled()) then
instance3:ShutDown();
else
_detalhes:Msg ("Window 3 isn't open.");
end
</Binding>
<Binding name="DETAILS_CLOSE_WINDOW4" description="Close window 4." category="Details!">
local instance4 = _detalhes.tabela_instancias [4];
if (instance4 and instance4:IsEnabled()) then
instance4:ShutDown();
else
_detalhes:Msg ("Window 4 isn't open.");
end
</Binding>
<Binding name="DETAILS_CLOSE_WINDOW5" description="Close window 5." category="Details!">
local instance5 = _detalhes.tabela_instancias [5];
if (instance5 and instance5:IsEnabled()) then
instance5:ShutDown();
else
_detalhes:Msg ("Window 5 isn't open.");
end
</Binding>
<Binding name="DETAILS_BOOKMARK1" description="Change the display on the first window to bookmark #1." header="DETAILS_KEYBIND_BOOKMARK" category="Details!">
DetailsChangeDisplayFromBookmark (1);
</Binding>
<Binding name="DETAILS_BOOKMARK2" description="Change the display on the first window to bookmark #2." category="Details!">
DetailsChangeDisplayFromBookmark (2);
</Binding>
<Binding name="DETAILS_BOOKMARK3" description="Change the display on the first window to bookmark #3." category="Details!">
DetailsChangeDisplayFromBookmark (3);
</Binding>
<Binding name="DETAILS_BOOKMARK4" description="Change the display on the first window to bookmark #4." category="Details!">
DetailsChangeDisplayFromBookmark (4);
</Binding>
<Binding name="DETAILS_BOOKMARK5" description="Change the display on the first window to bookmark #5." category="Details!">
DetailsChangeDisplayFromBookmark (5);
</Binding>
<Binding name="DETAILS_BOOKMARK6" description="Change the display on the first window to bookmark #6." category="Details!">
DetailsChangeDisplayFromBookmark (6);
</Binding>
<Binding name="DETAILS_BOOKMARK7" description="Change the display on the first window to bookmark #7." category="Details!">
DetailsChangeDisplayFromBookmark (7);
</Binding>
<Binding name="DETAILS_BOOKMARK8" description="Change the display on the first window to bookmark #8." category="Details!">
DetailsChangeDisplayFromBookmark (8);
</Binding>
<Binding name="DETAILS_BOOKMARK9" description="Change the display on the first window to bookmark #9." category="Details!">
DetailsChangeDisplayFromBookmark (9);
</Binding>
<Binding name="DETAILS_BOOKMARK10" description="Change the display on the first window to bookmark #10." category="Details!">
DetailsChangeDisplayFromBookmark (10);
</Binding>
</Bindings>
+4
View File
@@ -12,6 +12,10 @@ locales\Details-enUS.lua
locales\Details-ptBR.lua
locales\Details-esES.lua
locales\Details-esMX.lua
locales\Details-deDE.lua
locales\Details-frFR.lua
locales\Details-koKR.lua
locales\Details-ruRU.lua
boot.lua
indent.lua
+41 -12
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1295,7 +1295,7 @@ function atributo_damage:RefreshWindow (instancia, tabela_do_combate, forcar, ex
end
if (use_animations) then
instancia:fazer_animacoes()
instancia:fazer_animacoes (qual_barra - 1)
end
--> beta, hidar barras não usadas durante um refresh forçado
+1 -1
View File
@@ -511,7 +511,7 @@ function atributo_heal:RefreshWindow (instancia, tabela_do_combate, forcar, expo
end
if (use_animations) then
instancia:fazer_animacoes()
instancia:fazer_animacoes (qual_barra - 1)
end
if (instancia.atributo == 5) then --> custom
+16 -1
View File
@@ -325,7 +325,7 @@ end
end
--> desativando a instância ela fica em stand by e apenas hida a janela
--> desativando a instância ela fica em stand by e apenas hida a janela ~shutdown ~close ~fechar
function _detalhes:DesativarInstancia()
local lower = _detalhes:GetLowerInstanceNumber()
@@ -649,6 +649,21 @@ end
return _detalhes:Msg (Loc ["STRING_INSTANCE_LIMIT"])
end
--> verifica se não tem uma janela na pool de janelas fechadas
local next_id = #_detalhes.tabela_instancias+1
if (_detalhes.unused_instances [next_id]) then
local new_instance = _detalhes.unused_instances [next_id]
_detalhes.tabela_instancias [next_id] = new_instance
_detalhes.unused_instances [next_id] = nil
new_instance:AtivarInstancia()
_detalhes:GetLowerInstanceNumber()
return new_instance
end
--> cria uma nova janela
local new_instance = _detalhes:NovaInstancia (#_detalhes.tabela_instancias+1)
if (not _detalhes.initializing) then
+3 -3
View File
@@ -113,9 +113,9 @@ function _detalhes:GetPerformanceRaidType()
if (type == "raid") then
--mythic
--if (difficulty == 15) then
-- return "Mythic"
--end
if (difficulty == 15) then
return "Mythic"
end
--raid finder
if (difficulty == 7) then
+20 -13
View File
@@ -161,7 +161,6 @@
who_name = "[*] "..spellname
end
local real_damage = amount or 0
if (absorbed) then
amount = absorbed + (amount or 0)
end
@@ -305,7 +304,7 @@
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] = real_damage --> amount of damage or healing
this_event [3] = amount --> 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
@@ -370,15 +369,6 @@
end
end
------------------------------------------------------------------------------------------------
--> damage taken
--> target
jogador_alvo.damage_taken = jogador_alvo.damage_taken + real_damage --> adiciona o dano tomado
if (not jogador_alvo.damage_from [who_name]) then --> adiciona a pool de dano tomado de quem
jogador_alvo.damage_from [who_name] = true
end
------------------------------------------------------------------------------------------------
--> time start
@@ -438,7 +428,7 @@
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] = real_damage --> amount of damage or healing
this_event [3] = amount --> 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
@@ -462,10 +452,27 @@
friend.total = friend.total + amount
friend.spells [spellid] = (friend.spells [spellid] or 0) + amount
------------------------------------------------------------------------------------------------
--> damage taken
--> target
jogador_alvo.damage_taken = jogador_alvo.damage_taken + amount - (absorbed or 0) --> adiciona o dano tomado
if (not jogador_alvo.damage_from [who_name]) then --> adiciona a pool de dano tomado de quem
jogador_alvo.damage_from [who_name] = true
end
return true
else
_current_total [1] = _current_total [1]+amount
------------------------------------------------------------------------------------------------
--> damage taken
--> target
jogador_alvo.damage_taken = jogador_alvo.damage_taken + amount --> adiciona o dano tomado
if (not jogador_alvo.damage_from [who_name]) then --> adiciona a pool de dano tomado de quem
jogador_alvo.damage_from [who_name] = true
end
end
------------------------------------------------------------------------------------------------
@@ -2649,7 +2656,7 @@
_detalhes.latest_ENCOUNTER_END = _GetTime()
--_detalhes.encounter_table ["end"] = time() - 0.4
_detalhes.encounter_table ["end"] = _GetTime() -- - 0.4 --0.4 para o antigo metodo de tempo
_detalhes.encounter_table ["end"] = _GetTime() -- 0.351
local _, _, _, _, _, _, _, zoneMapID = _GetInstanceInfo()
+3 -2
View File
@@ -9,6 +9,7 @@
local _math_floor = math.floor --lua local
local _type = type --lua local
local _math_abs = math.abs --lua local
local _math_min = math.min
local _ipairs = ipairs --lua local
local _GetScreenWidth = GetScreenWidth --wow api local
@@ -64,12 +65,12 @@
-- /run print( _detalhes:GetInstance(1).rowframe:GetParent():GetName())
-- /run print (DetailsBarra_1_1:GetParent():GetName())
function _detalhes:fazer_animacoes()
function _detalhes:fazer_animacoes (amt_barras)
--aqui
if (self.bars_sort_direction == 2) then
for i = self.rows_fit_in_window - 1, 1, -1 do
for i = _math_min (self.rows_fit_in_window, amt_barras) - 1, 1, -1 do
local row = self.barras [i]
local row_proxima = self.barras [i-1]
+1
View File
@@ -982,6 +982,7 @@ local default_global_data = {
main_help_button = 0,
alert_frames = {false, false, false, false, false, false},
bookmark_tutorial = false,
ctrl_click_close_tutorial = false,
},
performance_profiles = {
["RaidFinder"] = {enabled = false, update_speed = 1, use_row_animations = false, damage = true, heal = true, aura = true, energy = false, miscdata = true},
+2 -1
View File
@@ -1969,6 +1969,7 @@ function _detalhes:ReportSingleLine (instancia, barra)
return _detalhes:Reportar (reportar, {_no_current = true, _no_inverse = true, _custom = true})
end
-- ~stretch
local function button_stretch_scripts (baseframe, backgrounddisplay, instancia)
local button = baseframe.button_stretch
@@ -2115,7 +2116,7 @@ local function button_stretch_scripts (baseframe, backgrounddisplay, instancia)
if (esta_instancia.wallpaper.enabled) then
_r, _g, _b = esta_instancia.baseframe.wallpaper:GetVertexColor()
_a = esta_instancia.baseframe.wallpaper:GetAlpha()
gump:GradientEffect (esta_instancia.baseframe.wallpaper, "texture", _r, _g, _b, _a, _r, _g, _b, esta_instancia.baseframe.wallpaper.alpha, 1.0)
gump:GradientEffect (esta_instancia.baseframe.wallpaper, "texture", _r, _g, _b, _a, _r, _g, _b, esta_instancia.wallpaper.alpha, 1.0)
end
esta_instancia.baseframe:SetFrameStrata (esta_instancia.strata)
+89
View File
@@ -98,6 +98,60 @@ local right_click_texture = {[[Interface\TUTORIALFRAME\UI-TUTORIAL-FRAME]], 14,
function _detalhes.switch:ShowMe (instancia)
if (IsControlKeyDown()) then
if (not _detalhes.tutorial.ctrl_click_close_tutorial) then
if (not DetailsCtrlCloseWindowPanelTutorial) then
local tutorial_frame = CreateFrame ("frame", "DetailsCtrlCloseWindowPanelTutorial", _detalhes.switch.frame)
tutorial_frame:SetFrameStrata ("FULLSCREEN_DIALOG")
tutorial_frame:SetAllPoints()
tutorial_frame:EnableMouse (true)
tutorial_frame:SetBackdrop ({bgFile = "Interface\\AddOns\\Details\\images\\background", tile = true, tileSize = 16 })
tutorial_frame:SetBackdropColor (0.05, 0.05, 0.05, 0.95)
tutorial_frame.info_label = tutorial_frame:CreateFontString (nil, "overlay", "GameFontNormal")
tutorial_frame.info_label:SetPoint ("topleft", tutorial_frame, "topleft", 10, -10)
tutorial_frame.info_label:SetText (Loc ["STRING_MINITUTORIAL_CLOSECTRL1"])
tutorial_frame.info_label:SetJustifyH ("left")
tutorial_frame.mouse = tutorial_frame:CreateTexture (nil, "overlay")
tutorial_frame.mouse:SetTexture ([[Interface\TUTORIALFRAME\UI-TUTORIAL-FRAME]])
tutorial_frame.mouse:SetTexCoord (0.0019531, 0.1484375, 0.6269531, 0.8222656)
tutorial_frame.mouse:SetSize (20, 22)
tutorial_frame.mouse:SetPoint ("topleft", tutorial_frame.info_label, "bottomleft", -3, -10)
tutorial_frame.close_label = tutorial_frame:CreateFontString (nil, "overlay", "GameFontHighlightSmall")
tutorial_frame.close_label:SetPoint ("left", tutorial_frame.mouse, "right", 4, 0)
tutorial_frame.close_label:SetText (Loc ["STRING_MINITUTORIAL_CLOSECTRL2"])
tutorial_frame.close_label:SetJustifyH ("left")
local checkbox = CreateFrame ("CheckButton", "DetailsCtrlCloseWindowPanelTutorialCheckBox", tutorial_frame, "ChatConfigCheckButtonTemplate")
checkbox:SetPoint ("topleft", tutorial_frame.mouse, "bottomleft", -1, -5)
_G [checkbox:GetName().."Text"]:SetText (Loc ["STRING_MINITUTORIAL_BOOKMARK4"])
tutorial_frame:SetScript ("OnMouseDown", function()
if (checkbox:GetChecked()) then
_detalhes.tutorial.ctrl_click_close_tutorial = true
end
tutorial_frame:Hide()
if (instancia:IsEnabled()) then
return instancia:ShutDown()
end
end)
end
DetailsCtrlCloseWindowPanelTutorial:Show()
DetailsCtrlCloseWindowPanelTutorial.info_label:SetWidth (_detalhes.switch.frame:GetWidth()-30)
DetailsCtrlCloseWindowPanelTutorial.close_label:SetWidth (_detalhes.switch.frame:GetWidth()-30)
return
end
return instancia:ShutDown()
end
--> check if there is some custom contidional
if (instancia.atributo == 5) then
local custom_object = instancia:GetCustomObject()
@@ -202,6 +256,29 @@ function _detalhes.switch:Config (_,_, atributo, sub_atributo)
_detalhes.switch:Update()
end
--[[global]] function DetailsChangeDisplayFromBookmark (number, instance)
if (not instance) then
local lower = _detalhes:GetLowerInstanceNumber()
if (lower) then
instance = _detalhes:GetInstance (lower)
end
if (not instance) then
return _detalhes:Msg (Loc ["STRING_WINDOW_NOTFOUND"])
end
end
local paramTable = _detalhes.switch.buttons [number] and _detalhes.switch.buttons [number].funcParam2
if (paramTable) then
_detalhes.switch.current_instancia = instance
if (not paramTable.atributo) then
_detalhes:Msg (string.format (Loc ["STRING_SWITCH_SELECTMSG"], number))
end
return _detalhes:FastSwitch (paramTable)
end
end
function _detalhes:FastSwitch (_this)
_detalhes.switch.current_button = _this.button
@@ -219,6 +296,18 @@ function _detalhes:FastSwitch (_this)
else --> botão esquerdo
if (IsShiftKeyDown()) then
--> get a closed window or created a new one.
local instance = _detalhes:CreateInstance()
if (not instance) then
_detalhes.switch.CloseMe()
return _detalhes:Msg (Loc ["STRING_WINDOW_NOTFOUND"])
end
_detalhes.switch.current_instancia = instance
end
if (_detalhes.switch.current_instancia.modo == _detalhes._detalhes_props["MODO_ALONE"]) then
_detalhes.switch.current_instancia:AlteraModo (_detalhes.switch.current_instancia, 2)
+4
View File
@@ -0,0 +1,4 @@
local L = LibStub("AceLocale-3.0"):NewLocale("Details", "koKR")
if not L then return end
@localization(locale="koKR", format="lua_additive_table", escape-non-ascii=true)@
@@ -261,9 +261,15 @@ local food_list = {
if (button == "LeftButton") then
--> link no food/flask
local s, added = "No Flask or Food: ", {}
local s, added = "Details!: No Flask or Food: ", {}
for i = 1, GetNumGroupMembers(), 1 do
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, 1 do
local name = UnitName ("raid" .. i)
if (not DetailsRaidCheck.havefood_table [name]) then
added [name] = true
@@ -282,7 +288,13 @@ local food_list = {
local s = "Details!: No Pre-Pot Last Try: "
for i = 1, GetNumGroupMembers(), 1 do
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, 1 do
local role = _UnitGroupRolesAssigned ("raid" .. i)
@@ -315,7 +327,13 @@ local food_list = {
local amount1, amount2, amount3, amount4 = 0, 0, 0, 0
local s, f, p, n = "", "", "", ""
for i = 1, GetNumGroupMembers(), 1 do
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, 1 do
local name = UnitName ("raid" .. i)
@@ -367,7 +385,14 @@ local food_list = {
end
--> not used pre pot
for i = 1, GetNumGroupMembers(), 1 do
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, 1 do
local role = _UnitGroupRolesAssigned ("raid" .. i)
if (role == "DAMAGER" or (role == "HEALER" and DetailsRaidCheck.db.pre_pot_healers) or (role == "TANK" and DetailsRaidCheck.db.pre_pot_tanks)) then
@@ -530,6 +555,45 @@ local food_list = {
end
local build_options_panel = function()
local options_frame = DetailsRaidCheck:CreatePluginOptionsFrame ("DetailsRaidCheckOptionsWindow", "Details Raid Check Options", 1)
local menu = {
{
type = "toggle",
get = function() return DetailsRaidCheck.db.pre_pot_healers end,
set = function (self, fixedparam, value) DetailsRaidCheck.db.pre_pot_healers = value end,
desc = "If enabled, pre potion for healers are also shown.",
name = "Track Healers Pre Pot"
},
{
type = "toggle",
get = function() return DetailsRaidCheck.db.pre_pot_tanks end,
set = function (self, fixedparam, value) DetailsRaidCheck.db.pre_pot_tanks = value end,
desc = "If enabled, pre potion for tanks are also shown.",
name = "Track Tank Pre Pot"
},
{
type = "toggle",
get = function() return DetailsRaidCheck.db.mythic_1_4 end,
set = function (self, fixedparam, value) DetailsRaidCheck.db.mythic_1_4 = value end,
desc = "When raiding on Mythic difficult, only tracks the first 4 groups.",
name = "Mythic Special Tracker"
},
}
_detalhes.gump:BuildMenu (options_frame, menu, 15, -65, 260)
end
DetailsRaidCheck.OpenOptionsPanel = function()
if (not DetailsRaidCheckOptionsWindow) then
build_options_panel()
end
DetailsRaidCheckOptionsWindow:Show()
end
function DetailsRaidCheck:OnEvent (_, event, ...)
if (event == "ADDON_LOADED") then
@@ -547,7 +611,7 @@ local food_list = {
local default_settings = {
pre_pot_healers = false, --do not report pre pot for healers
pre_pot_tanks = false, --do not report pre pot for tanks
show_icon = 5, --when show the icon
mythic_1_4 = true, --only track groups 1-4 on mythic
}
--> install