From 4c11441c3eb1da7d61bfda946d43470a6ac16a02 Mon Sep 17 00:00:00 2001 From: Tercio Jose Date: Wed, 26 Oct 2022 21:50:34 -0300 Subject: [PATCH] Round of general fixes --- Libs/LibOpenRaid/GetPlayerInformation.lua | 112 +- Libs/LibOpenRaid/LibOpenRaid.lua | 19 +- .../ThingsToMantain_Dragonflight.lua | 252 ++--- boot.lua | 4 +- classes/container_actors.lua | 7 +- core/gears.lua | 46 +- core/parser.lua | 13 +- frames/window_cdtracker.lua | 2 +- frames/window_main.lua | 1 + .../Details_DataStorage.toc | 2 +- .../Details_EncounterDetails.lua | 986 +++++++++--------- .../Details_EncounterDetails.toc | 2 +- .../Details_RaidCheck/Details_RaidCheck.lua | 94 +- .../Details_RaidCheck/Details_RaidCheck.toc | 2 +- plugins/Details_Streamer/Details_Streamer.toc | 2 +- .../Details_TinyThreat/Details_TinyThreat.toc | 2 +- plugins/Details_Vanguard/Details_Vanguard.toc | 2 +- 17 files changed, 844 insertions(+), 704 deletions(-) diff --git a/Libs/LibOpenRaid/GetPlayerInformation.lua b/Libs/LibOpenRaid/GetPlayerInformation.lua index 9193d1e58..e276887b9 100644 --- a/Libs/LibOpenRaid/GetPlayerInformation.lua +++ b/Libs/LibOpenRaid/GetPlayerInformation.lua @@ -17,6 +17,8 @@ local CONST_TALENT_VERSION_DRAGONFLIGHT = 5 local CONST_BTALENT_VERSION_COVENANTS = 9 +local CONST_SPELLBOOK_CLASSSPELLS_TABID = 2 + local isTimewalkWoW = function() local _, _, _, buildInfo = GetBuildInfo() if (buildInfo < 40000) then @@ -410,28 +412,96 @@ local canAddCooldown = function(cooldownInfo) return true end +local getSpellListAsHashTableFromSpellBook = function() + local completeListOfSpells = {} + + --this line might not be compatible with classic + local specId, specName, _, specIconTexture = GetSpecializationInfo(GetSpecialization()) + local classNameLoc, className, classId = UnitClass("player") + + --get spells from the Spec spellbook + for i = 1, GetNumSpellTabs() do + local tabName, tabTexture, offset, numSpells, isGuild, offspecId = GetSpellTabInfo(i) + if (tabTexture == specIconTexture) then + offset = offset + 1 + local tabEnd = offset + numSpells + for entryOffset = offset, tabEnd - 1 do + local spellType, spellId = GetSpellBookItemInfo(entryOffset, "player") + if (spellId) then + if (spellType == "SPELL") then + spellId = C_SpellBook.GetOverrideSpell(spellId) + local spellName = GetSpellInfo(spellId) + local isPassive = IsPassiveSpell(entryOffset, "player") + if (spellName and not isPassive) then + completeListOfSpells[spellId] = true + end + end + end + end + end + end + + --get class shared spells from the spell book + local tabName, tabTexture, offset, numSpells, isGuild, offspecId = GetSpellTabInfo(CONST_SPELLBOOK_CLASSSPELLS_TABID) + offset = offset + 1 + local tabEnd = offset + numSpells + for entryOffset = offset, tabEnd - 1 do + local spellType, spellId = GetSpellBookItemInfo(entryOffset, "player") + if (spellId) then + if (spellType == "SPELL") then + spellId = C_SpellBook.GetOverrideSpell(spellId) + local spellName = GetSpellInfo(spellId) + local isPassive = IsPassiveSpell(entryOffset, "player") + if (spellName and not isPassive) then + completeListOfSpells[spellId] = true + end + end + end + end + + return completeListOfSpells +end + +local updateCooldownAvailableList = function() + table.wipe(LIB_OPEN_RAID_PLAYERCOOLDOWNS) + + local _, playerClass = UnitClass("player") + local spellBookSpellList = getSpellListAsHashTableFromSpellBook() + + --build a list of all spells assigned as cooldowns for the player class + for spellID, spellData in pairs(LIB_OPEN_RAID_COOLDOWNS_INFO) do + if (spellData.class == playerClass) then + if (spellBookSpellList[spellID]) then + LIB_OPEN_RAID_PLAYERCOOLDOWNS[spellID] = spellData + end + end + end +end + --build a list with the local player cooldowns --called only from SendAllPlayerCooldowns() function openRaidLib.CooldownManager.GetPlayerCooldownList() - --get the player specId - local specId = openRaidLib.GetPlayerSpecId() - if (specId) then - --get the cooldowns for the specialization - local playerCooldowns = LIB_OPEN_RAID_COOLDOWNS_BY_SPEC[specId] - if (not playerCooldowns) then - openRaidLib.DiagnosticError("CooldownManager|GetPlayerCooldownList|can't find player cooldowns for specId:", specId) - return {}, {} - end + --update the list of cooldowns the player has available + if (IsDragonflight()) then + --this fill the global LIB_OPEN_RAID_PLAYERCOOLDOWNS + updateCooldownAvailableList() + + --get the player specId + local specId = openRaidLib.GetPlayerSpecId() + if (specId) then + --get the cooldowns for the specialization + local playerCooldowns = LIB_OPEN_RAID_PLAYERCOOLDOWNS + if (not playerCooldowns) then + openRaidLib.DiagnosticError("CooldownManager|GetPlayerCooldownList|LIB_OPEN_RAID_PLAYERCOOLDOWNS is nil") + return {}, {} + end - local cooldowns = {} --table to ship on comm - local cooldownsHash = {} --table with [spellId] = cooldownInfo - local talentsHash = openRaidLib.UnitInfoManager.GetPlayerTalentsAsPairsTable() - local timeNow = GetTime() + local cooldowns = {} --table to ship on comm + local cooldownsHash = {} --table with [spellId] = cooldownInfo + local talentsHash = openRaidLib.UnitInfoManager.GetPlayerTalentsAsPairsTable() + local timeNow = GetTime() - for cooldownSpellId, cooldownType in pairs(playerCooldowns) do - --get all the information about this cooldow - local cooldownInfo = LIB_OPEN_RAID_COOLDOWNS_INFO[cooldownSpellId] - if (cooldownInfo) then + for cooldownSpellId, cooldownInfo in pairs(playerCooldowns) do --does this cooldown is based on a talent? local talentId = cooldownInfo.talent @@ -459,11 +529,13 @@ function openRaidLib.CooldownManager.GetPlayerCooldownList() end end end + return cooldowns, cooldownsHash + else + return {}, {} end - return cooldowns, cooldownsHash - else - return {}, {} end + + return {} end --check if a player cooldown is ready or if is in cooldown diff --git a/Libs/LibOpenRaid/LibOpenRaid.lua b/Libs/LibOpenRaid/LibOpenRaid.lua index 854143b4a..7237ccced 100644 --- a/Libs/LibOpenRaid/LibOpenRaid.lua +++ b/Libs/LibOpenRaid/LibOpenRaid.lua @@ -68,7 +68,7 @@ if (WOW_PROJECT_ID ~= WOW_PROJECT_MAINLINE and not isExpansion_Dragonflight()) t end local major = "LibOpenRaid-1.0" -local CONST_LIB_VERSION = 64 +local CONST_LIB_VERSION = 66 LIB_OPEN_RAID_CAN_LOAD = false local unpack = table.unpack or _G.unpack @@ -719,6 +719,13 @@ end eventFrame = CreateFrame("frame", "OpenRaidLibFrame", UIParent) end + local talentChangedCallback = function() + openRaidLib.internalCallback.TriggerEvent("talentUpdate") + end + local delayedTalentChange = function() + openRaidLib.Schedules.NewUniqueTimer(0.5 + math.random(), talentChangedCallback, "TalentChangeEventGroup", "talentChangedCallback_Schedule") + end + local eventFunctions = { --check if the player joined a group ["GROUP_ROSTER_UPDATE"] = function() @@ -807,9 +814,14 @@ end openRaidLib.internalCallback.TriggerEvent("onEnterWorld") end, - --["PLAYER_SPECIALIZATION_CHANGED"] = function(...) end, --on changing spec, the talent_update event is also triggered + ["PLAYER_SPECIALIZATION_CHANGED"] = function(...) + delayedTalentChange() + end, ["PLAYER_TALENT_UPDATE"] = function(...) - openRaidLib.internalCallback.TriggerEvent("talentUpdate") + delayedTalentChange() + end, + ["TRAIT_CONFIG_UPDATED"] = function(...) + delayedTalentChange() end, ["PLAYER_PVP_TALENT_UPDATE"] = function(...) @@ -913,6 +925,7 @@ end eventFrame:RegisterEvent("CHALLENGE_MODE_START") eventFrame:RegisterEvent("CHALLENGE_MODE_COMPLETED") --eventFrame:RegisterEvent("PLAYER_SPECIALIZATION_CHANGED") + eventFrame:RegisterEvent("TRAIT_CONFIG_UPDATED") end end diff --git a/Libs/LibOpenRaid/ThingsToMantain_Dragonflight.lua b/Libs/LibOpenRaid/ThingsToMantain_Dragonflight.lua index 4d69a4d8f..fe3b34f03 100644 --- a/Libs/LibOpenRaid/ThingsToMantain_Dragonflight.lua +++ b/Libs/LibOpenRaid/ThingsToMantain_Dragonflight.lua @@ -292,164 +292,176 @@ LIB_OPEN_RAID_COOLDOWNS_INFO = { -- 65 - Holy -- 66 - Protection -- 70 - Retribution - - [31884] = {cooldown = 120, duration = 20, specs = {65,66,70}, talent = false, charges = 1, class = "PALADIN", type = 1}, --Avenging Wrath - [216331] = {cooldown = 120, duration = 20, specs = {65}, talent = false, charges = 1, class = "PALADIN", type = 1}, --Avenging Crusader - [498] = {cooldown = 60, duration = 8, specs = {65}, talent = false, charges = 1, class = "PALADIN", type = 2}, --Divine Protection - [642] = {cooldown = 300, duration = 8, specs = {65,66,70}, talent = false, charges = 1, class = "PALADIN", type = 2}, --Divine Shield - [105809] = {cooldown = 90, duration = 20, specs = {65,66,70}, talent = false, charges = 1, class = "PALADIN", type = 2}, --Holy Avenger - [152262] = {cooldown = 45, duration = 15, specs = {65,66,70}, talent = false, charges = 1, class = "PALADIN", type = 2}, --Seraphim - [633] = {cooldown = 600, duration = false, specs = {65,66,70}, talent = false, charges = 1, class = "PALADIN", type = 3}, --Lay on Hands - [1022] = {cooldown = 300, duration = 10, specs = {65,66,70}, talent = false, charges = 1, class = "PALADIN", type = 3}, --Blessing of Protection - [6940] = {cooldown = 120, duration = 12, specs = {65,66,70}, talent = false, charges = 1, class = "PALADIN", type = 3}, --Blessing of Sacrifice - [31821] = {cooldown = 180, duration = 8, specs = {65}, talent = false, charges = 1, class = "PALADIN", type = 4}, --Aura Mastery - [1044] = {cooldown = 25, duration = 8, specs = {65,66,70}, talent = false, charges = 1, class = "PALADIN", type = 5}, --Blessing of Freedom - [853] = {cooldown = 60, duration = 6, specs = {65,66,70}, talent = false, charges = 1, class = "PALADIN", type = 5}, --Hammer of Justice - [115750] = {cooldown = 90, duration = 6, specs = {65,66,70}, talent = false, charges = 1, class = "PALADIN", type = 5}, --Blinding Light(talent) - [327193] = {cooldown = 90, duration = 15, specs = {66}, talent = false, charges = 1, class = "PALADIN", type = 1}, --Moment of Glory - [31850] = {cooldown = 120, duration = 8, specs = {66}, talent = false, charges = 1, class = "PALADIN", type = 2}, --Ardent Defender - [86659] = {cooldown = 300, duration = 8, specs = {66}, talent = false, charges = 1, class = "PALADIN", type = 2}, --Guardian of Ancient Kings - [204018] = {cooldown = 180, duration = 10, specs = {66}, talent = false, charges = 1, class = "PALADIN", type = 3}, --Blessing of Spellwarding - [231895] = {cooldown = 120, duration = 25, specs = {70}, talent = false, charges = 1, class = "PALADIN", type = 1}, --Crusade - [205191] = {cooldown = 60, duration = 10, specs = {70}, talent = false, charges = 1, class = "PALADIN", type = 2}, --Eye for an Eye - [184662] = {cooldown = 120, duration = 15, specs = {70}, talent = false, charges = 1, class = "PALADIN", type = 2}, --Shield of Vengeance + [31850] = {cooldown = 120, duration = 8, specs = {66}, talent = false, charges = 1, class = "PALADIN", type = 2}, --Ardent Defender + [31821] = {cooldown = 180, duration = 8, specs = {65}, talent = false, charges = 1, class = "PALADIN", type = 4}, --Aura Mastery + [216331] = {cooldown = 120, duration = 20, specs = {65}, talent = false, charges = 1, class = "PALADIN", type = 1}, --Avenging Crusader + [31884] = {cooldown = 120, duration = 20, specs = {65, 66, 70}, talent = false, charges = 1, class = "PALADIN", type = 1}, --Avenging Wrath + [1044] = {cooldown = 25, duration = 8, specs = {65, 66, 70}, talent = false, charges = 1, class = "PALADIN", type = 5}, --Blessing of Freedom + [1022] = {cooldown = 300, duration = 10, specs = {65, 66, 70}, talent = false, charges = 1, class = "PALADIN", type = 3}, --Blessing of Protection + [6940] = {cooldown = 120, duration = 12, specs = {65, 66, 70}, talent = false, charges = 1, class = "PALADIN", type = 3}, --Blessing of Sacrifice + [204018] = {cooldown = 180, duration = 10, specs = {66}, talent = false, charges = 1, class = "PALADIN", type = 3}, --Blessing of Spellwarding + [115750] = {cooldown = 90, duration = 6, specs = {65, 66, 70}, talent = false, charges = 1, class = "PALADIN", type = 8}, --Blinding Light + [231895] = {cooldown = 120, duration = 25, specs = {70}, talent = false, charges = 1, class = "PALADIN", type = 1}, --Crusade + [498] = {cooldown = 60, duration = 8, specs = {65}, talent = false, charges = 1, class = "PALADIN", type = 2}, --Divine Protection + [642] = {cooldown = 300, duration = 8, specs = {65, 66, 70}, talent = false, charges = 1, class = "PALADIN", type = 2}, --Divine Shield + [205191] = {cooldown = 60, duration = 10, specs = {70}, talent = false, charges = 1, class = "PALADIN", type = 2}, --Eye for an Eye + [86659] = {cooldown = 300, duration = 8, specs = {66}, talent = false, charges = 1, class = "PALADIN", type = 2}, --Guardian of Ancient Kings + [853] = {cooldown = 60, duration = 6, specs = {65, 66, 70}, talent = false, charges = 1, class = "PALADIN", type = 8}, --Hammer of Justice + [105809] = {cooldown = 90, duration = 20, specs = {65, 66, 70}, talent = false, charges = 1, class = "PALADIN", type = 1}, --Holy Avenger + [633] = {cooldown = 600, duration = 0, specs = {65, 66, 70}, talent = false, charges = 1, class = "PALADIN", type = 3}, --Lay on Hands + [327193] = {cooldown = 90, duration = 15, specs = {66}, talent = false, charges = 1, class = "PALADIN", type = 1}, --Moment of Glory + [152262] = {cooldown = 45, duration = 15, specs = {65, 66, 70}, talent = false, charges = 1, class = "PALADIN", type = 1}, --Seraphim + [184662] = {cooldown = 120, duration = 15, specs = {70}, talent = false, charges = 1, class = "PALADIN", type = 2}, --Shield of Vengeance + --[384376] = {cooldown = 0, duration = 0, specs = {}, talent = false, charges = 1, class = "PALADIN", type = 1}, --Avenging Wrath (different spellId) + --[384442] = {cooldown = 0, duration = 0, specs = {}, talent = false, charges = 1, class = "PALADIN", type = 1}, --Avenging Wrath: Might (doesn't have a use, it maybe change the spellId) + --[375576] = {cooldown = 1 min cooldown, duration = 0, specs = {}, talent = false, charges = 1, class = "PALADIN", type = 1}, --Divine Toll + --[343527] = {cooldown = 1 min cooldown, duration = 0, specs = {}, talent = false, charges = 1, class = "PALADIN", type = 1}, --Execution Sentence + --[343721] = {cooldown = 1 min cooldown, duration = 0, specs = {}, talent = false, charges = 1, class = "PALADIN", type = 1}, --Final Reckoning + --[391054] = {cooldown = 10 min cooldown, duration = 0, specs = {}, talent = false, charges = 1, class = "PALADIN", type = 5}, --Intercession (battle ress) --warrior -- 71 - Arms -- 72 - Fury -- 73 - Protection - - [107574] = {cooldown = 90, duration = 20, specs = {71,73}, talent = false, charges = 1, class = "WARRIOR", type = 1}, --Avatar - [227847] = {cooldown = 90, duration = 5, specs = {71}, talent = false, charges = 1, class = "WARRIOR", type = 1}, --Bladestorm - [46924] = {cooldown = 60, duration = 4, specs = {72}, talent = false, charges = 1, class = "WARRIOR", type = 1}, --Bladestorm - [152277] = {cooldown = 60, duration = 6, specs = {71}, talent = false, charges = 1, class = "WARRIOR", type = 1}, --Ravager - [228920] = {cooldown = 60, duration = 6, specs = {73}, talent = false, charges = 1, class = "WARRIOR", type = 1}, --Ravager - [118038] = {cooldown = 180, duration = 8, specs = {71}, talent = false, charges = 1, class = "WARRIOR", type = 2}, --Die by the Sword - [97462] = {cooldown = 180, duration = 10, specs = {71,72,73}, talent = false, charges = 1, class = "WARRIOR", type = 4}, --Rallying Cry - [1719] = {cooldown = 90, duration = 10, specs = {72}, talent = false, charges = 1, class = "WARRIOR", type = 1}, --Recklessness - [184364] = {cooldown = 120, duration = 8, specs = {72}, talent = false, charges = 1, class = "WARRIOR", type = 2}, --Enraged Regeneration - [12975] = {cooldown = 180, duration = 15, specs = {73}, talent = false, charges = 1, class = "WARRIOR", type = 2}, --Last Stand - [871] = {cooldown = 8, duration = 240, specs = {73}, talent = false, charges = 1, class = "WARRIOR", type = 2}, --Shield Wall - [64382] = {cooldown = 180, duration = false, specs = {71,72,73}, talent = false, charges = 1, class = "WARRIOR", type = 5}, --Shattering Throw - [5246] = {cooldown = 90, duration = 8, specs = {71,72,73}, talent = false, charges = 1, class = "WARRIOR", type = 5}, --Intimidating Shout + [107574] = {cooldown = 90, duration = 20, specs = {71, 73}, talent = false, charges = 1, class = "WARRIOR", type = 1}, --Avatar + [227847] = {cooldown = 90, duration = 5, specs = {71}, talent = false, charges = 1, class = "WARRIOR", type = 1}, --Bladestorm + [46924] = {cooldown = 60, duration = 4, specs = {72}, talent = false, charges = 1, class = "WARRIOR", type = 1}, --Bladestorm + [118038] = {cooldown = 180, duration = 8, specs = {71}, talent = false, charges = 1, class = "WARRIOR", type = 2}, --Die by the Sword + [184364] = {cooldown = 120, duration = 8, specs = {72}, talent = false, charges = 1, class = "WARRIOR", type = 2}, --Enraged Regeneration + [5246] = {cooldown = 90, duration = 8, specs = {71, 72, 73}, talent = false, charges = 1, class = "WARRIOR", type = 8}, --Intimidating Shout + [12975] = {cooldown = 180, duration = 15, specs = {73}, talent = false, charges = 1, class = "WARRIOR", type = 2}, --Last Stand + [97462] = {cooldown = 180, duration = 10, specs = {71, 72, 73}, talent = false, charges = 1, class = "WARRIOR", type = 4}, --Rallying Cry + [152277] = {cooldown = 60, duration = 6, specs = {71}, talent = false, charges = 1, class = "WARRIOR", type = 1}, --Ravager + [228920] = {cooldown = 60, duration = 6, specs = {73}, talent = false, charges = 1, class = "WARRIOR", type = 1}, --Ravager + [1719] = {cooldown = 90, duration = 10, specs = {72}, talent = false, charges = 1, class = "WARRIOR", type = 1}, --Recklessness + [64382] = {cooldown = 180, duration = 0, specs = {71, 72, 73}, talent = false, charges = 1, class = "WARRIOR", type = 1}, --Shattering Throw + [871] = {cooldown = 8, duration = 240, specs = {73}, talent = false, charges = 1, class = "WARRIOR", type = 2}, --Shield Wall + [383762] = {cooldown = 180, duration = 0, specs = {71, 72, 73}, talent = false, charges = 1, class = "WARRIOR", type = 2}, --Bitter Immunity + [1161] = {cooldown = 120, duration = 0, specs = {73}, talent = false, charges = 1, class = "WARRIOR", type = 5}, --Challenging Shout + [376079] = {cooldown = 90, duration = 4, specs = {}, talent = false, charges = 1, class = "WARRIOR", type = 1}, --Spear of Bastion + [392966] = {cooldown = 90, duration = 20, specs = {73}, talent = false, charges = 1, class = "WARRIOR", type = 2}, --Spell Block + [384318] = {cooldown = 90, duration = 0, specs = {71, 72, 73}, talent = false, charges = 1, class = "WARRIOR", type = 1}, --Thunderous Roar --warlock -- 265 - Affliction -- 266 - Demonology -- 267 - Destruction - - [205180] = {cooldown = 180, duration = 20, specs = {265}, talent = false, charges = 1, class = "WARLOCK", type = 1}, --Summon Darkglare - [113860] = {cooldown = 120, duration = 20, specs = {265}, talent = false, charges = 1, class = "WARLOCK", type = 1}, --Dark Soul: Misery - [104773] = {cooldown = 180, duration = 8, specs = {265,266,267}, talent = false, charges = 1, class = "WARLOCK", type = 2}, --Unending Resolve - [108416] = {cooldown = 60, duration = 20, specs = {265,266,267}, talent = false, charges = 1, class = "WARLOCK", type = 2}, --Dark Pact - [265187] = {cooldown = 90, duration = 15, specs = {266}, talent = false, charges = 1, class = "WARLOCK", type = 1}, --Summon Demonic Tyrant - [111898] = {cooldown = 120, duration = 15, specs = {266}, talent = false, charges = 1, class = "WARLOCK", type = 1}, --Grimoire: Felguard - [267171] = {cooldown = 60, duration = false, specs = {266}, talent = false, charges = 1, class = "WARLOCK", type = 1}, --Demonic Strength - [267217] = {cooldown = 180, duration = 20, specs = {266}, talent = false, charges = 1, class = "WARLOCK", type = 1}, --Nether Portal - [1122] = {cooldown = 180, duration = 30, specs = {267}, talent = false, charges = 1, class = "WARLOCK", type = 1}, --Summon Infernal - [113858] = {cooldown = 120, duration = 20, specs = {267}, talent = false, charges = 1, class = "WARLOCK", type = 1}, --Dark Soul: Instability - [30283] = {cooldown = 60, duration = 3, specs = {265,266,267}, talent = false, charges = 1, class = "WARLOCK", type = 5}, --Shadowfury - [333889] = {cooldown = 180, duration = 15, specs = {265,266,267}, talent = false, charges = 1, class = "WARLOCK", type = 5}, --Fel Domination - [5484] = {cooldown = 40, duration = 20, specs = {265,266,267}, talent = false, charges = 1, class = "WARLOCK", type = 5}, --Howl of Terror + [108416] = {cooldown = 60, duration = 20, specs = {265, 266, 267}, talent = false, charges = 1, class = "WARLOCK", type = 2}, --Dark Pact + [113858] = {cooldown = 120, duration = 20, specs = {267}, talent = false, charges = 1, class = "WARLOCK", type = 1}, --Dark Soul: Instability + [113860] = {cooldown = 120, duration = 20, specs = {265}, talent = false, charges = 1, class = "WARLOCK", type = 1}, --Dark Soul: Misery + [267171] = {cooldown = 60, duration = 0, specs = {266}, talent = false, charges = 1, class = "WARLOCK", type = 1}, --Demonic Strength + [333889] = {cooldown = 180, duration = 15, specs = {265, 266, 267}, talent = false, charges = 1, class = "WARLOCK", type = 1}, --Fel Domination + [111898] = {cooldown = 120, duration = 15, specs = {266}, talent = false, charges = 1, class = "WARLOCK", type = 1}, --Grimoire: Felguard + [5484] = {cooldown = 40, duration = 20, specs = {265, 266, 267}, talent = false, charges = 1, class = "WARLOCK", type = 8}, --Howl of Terror + [267217] = {cooldown = 180, duration = 20, specs = {266}, talent = false, charges = 1, class = "WARLOCK", type = 1}, --Nether Portal + [30283] = {cooldown = 60, duration = 3, specs = {265, 266, 267}, talent = false, charges = 1, class = "WARLOCK", type = 8}, --Shadowfury + [205180] = {cooldown = 180, duration = 20, specs = {265}, talent = false, charges = 1, class = "WARLOCK", type = 1}, --Summon Darkglare + [265187] = {cooldown = 90, duration = 15, specs = {266}, talent = false, charges = 1, class = "WARLOCK", type = 1}, --Summon Demonic Tyrant + [1122] = {cooldown = 180, duration = 30, specs = {267}, talent = false, charges = 1, class = "WARLOCK", type = 1}, --Summon Infernal + [104773] = {cooldown = 180, duration = 8, specs = {265, 266, 267}, talent = false, charges = 1, class = "WARLOCK", type = 2}, --Unending Resolve --shaman -- 262 - Elemental -- 263 - Enchancment -- 264 - Restoration + [108281] = {cooldown = 120, duration = 10, specs = {262, 263}, talent = false, charges = 1, class = "SHAMAN", type = 4}, --Ancestral Guidance + [207399] = {cooldown = 240, duration = 30, specs = {264}, talent = false, charges = 1, class = "SHAMAN", type = 4}, --Ancestral Protection Totem + [114051] = {cooldown = 180, duration = 15, specs = {263}, talent = false, charges = 1, class = "SHAMAN", type = 1}, --Ascendance + [114050] = {cooldown = 180, duration = 15, specs = {262}, talent = false, charges = 1, class = "SHAMAN", type = 1}, --Ascendance + [114052] = {cooldown = 180, duration = 15, specs = {264}, talent = false, charges = 1, class = "SHAMAN", type = 4}, --Ascendance + [108271] = {cooldown = 90, duration = 8, specs = {262, 263, 264}, talent = false, charges = 1, class = "SHAMAN", type = 2}, --Astral Shift + [192058] = {cooldown = 60, duration = 0, specs = {262, 263, 264}, talent = false, charges = 1, class = "SHAMAN", type = 8}, --Capacitor Totem + [198103] = {cooldown = 300, duration = 60, specs = {262, 263, 264}, talent = false, charges = 1, class = "SHAMAN", type = 2}, --Earth Elemental + [51533] = {cooldown = 120, duration = 15, specs = {263}, talent = false, charges = 1, class = "SHAMAN", type = 1}, --Feral Spirit + [198067] = {cooldown = 150, duration = 30, specs = {262}, talent = false, charges = 1, class = "SHAMAN", type = 1}, --Fire Elemental + [108280] = {cooldown = 180, duration = 10, specs = {264}, talent = false, charges = 1, class = "SHAMAN", type = 4}, --Healing Tide Totem + [16191] = {cooldown = 180, duration = 8, specs = {264}, talent = false, charges = 1, class = "SHAMAN", type = 5}, --Mana Tide Totem + [98008] = {cooldown = 180, duration = 6, specs = {264}, talent = false, charges = 1, class = "SHAMAN", type = 4}, --Spirit Link Totem + [192249] = {cooldown = 150, duration = 30, specs = {262}, talent = false, charges = 1, class = "SHAMAN", type = 1}, --Storm Elemental + [8143] = {cooldown = 60, duration = 10, specs = {262, 263, 264}, talent = false, charges = 1, class = "SHAMAN", type = 5}, --Tremor Totem + [192077] = {cooldown = 120, duration = 15, specs = {262, 263, 264}, talent = false, charges = 1, class = "SHAMAN", type = 5}, --Wind Rush Totem + --[198838] = {cooldown = 60, duration = 15, specs = {264}, talent = false, charges = 1, class = "SHAMAN", type = 4}, --Earthen Wall Totem + [51485] = {cooldown = 60, duration = 20, specs = {262, 263, 264}, talent = false, charges = 1, class = "SHAMAN", type = 8}, --Earthgrab Totem - [198067] = {cooldown = 150, duration = 30, specs = {262}, talent = false, charges = 1, class = "SHAMAN", type = 1}, --Fire Elemental - [192249] = {cooldown = 150, duration = 30, specs = {262}, talent = false, charges = 1, class = "SHAMAN", type = 1}, --Storm Elemental - [108271] = {cooldown = 90, duration = 8, specs = {262,263,264}, talent = false, charges = 1, class = "SHAMAN", type = 2}, --Astral Shift - [108281] = {cooldown = 120, duration = 10, specs = {262,263}, talent = false, charges = 1, class = "SHAMAN", type = 4}, --Ancestral Guidance - [51533] = {cooldown = 120, duration = 15, specs = {263}, talent = false, charges = 1, class = "SHAMAN", type = 1}, --Feral Spirit - [114050] = {cooldown = 180, duration = 15, specs = {262}, talent = false, charges = 1, class = "SHAMAN", type = 1}, --Ascendance - [114051] = {cooldown = 180, duration = 15, specs = {263}, talent = false, charges = 1, class = "SHAMAN", type = 1}, --Ascendance - [114052] = {cooldown = 180, duration = 15, specs = {264}, talent = false, charges = 1, class = "SHAMAN", type = 4}, --Ascendance - [98008] = {cooldown = 180, duration = 6, specs = {264}, talent = false, charges = 1, class = "SHAMAN", type = 4}, --Spirit Link Totem - [108280] = {cooldown = 180, duration = 10, specs = {264}, talent = false, charges = 1, class = "SHAMAN", type = 4}, --Healing Tide Totem - [207399] = {cooldown = 240, duration = 30, specs = {264}, talent = false, charges = 1, class = "SHAMAN", type = 4}, --Ancestral Protection Totem - [16191] = {cooldown = 180, duration = 8, specs = {264}, talent = false, charges = 1, class = "SHAMAN", type = 4}, --Mana Tide Totem - [198103] = {cooldown = 300, duration = 60, specs = {262,263,264}, talent = false, charges = 1, class = "SHAMAN", type = 2}, --Earth Elemental - [192058] = {cooldown = 60, duration = false, specs = {262,263,264}, talent = false, charges = 1, class = "SHAMAN", type = 5}, --Capacitor Totem - [8143] = {cooldown = 60, duration = 10, specs = {262,263,264}, talent = false, charges = 1, class = "SHAMAN", type = 5}, --Tremor Totem - [192077] = {cooldown = 120, duration = 15, specs = {262,263,264}, talent = false, charges = 1, class = "SHAMAN", type = 5}, --Wind Rush Totem - --monk -- 268 - Brewmaster -- 269 - Windwalker -- 270 - Restoration + [115399] = {cooldown = 120, duration = 0, specs = {268}, talent = false, charges = 1, class = "MONK", type = 2}, --Black Ox Brew + [122278] = {cooldown = 120, duration = 10, specs = {268, 269, 270}, talent = false, charges = 1, class = "MONK", type = 2}, --Dampen Harm + [122783] = {cooldown = 90, duration = 6, specs = {269, 270}, talent = false, charges = 1, class = "MONK", type = 2}, --Diffuse Magic + [243435] = {cooldown = 90, duration = 15, specs = {269, 270}, talent = false, charges = 1, class = "MONK", type = 2}, --Fortifying Brew + [115203] = {cooldown = 420, duration = 15, specs = {268}, talent = false, charges = 1, class = "MONK", type = 2}, --Fortifying Brew + [132578] = {cooldown = 180, duration = 25, specs = {268}, talent = false, charges = 1, class = "MONK", type = 1}, --Invoke Niuzao, the Black Ox + [123904] = {cooldown = 120, duration = 24, specs = {269}, talent = false, charges = 1, class = "MONK", type = 1}, --Invoke Xuen, the White Tiger + [322118] = {cooldown = 180, duration = 25, specs = {270}, talent = false, charges = 1, class = "MONK", type = 4}, --Invoke Yu'lon, the Jade Serpent + [119381] = {cooldown = 50, duration = 3, specs = {268, 269, 270}, talent = false, charges = 1, class = "MONK", type = 8}, --Leg Sweep + [116849] = {cooldown = 120, duration = 12, specs = {270}, talent = false, charges = 1, class = "MONK", type = 3}, --Life Cocoon + [197908] = {cooldown = 90, duration = 10, specs = {270}, talent = false, charges = 1, class = "MONK", type = 5}, --Mana Tea + [115310] = {cooldown = 180, duration = 0, specs = {270}, talent = false, charges = 1, class = "MONK", type = 4}, --Revival + [116844] = {cooldown = 45, duration = 5, specs = {268, 269, 270}, talent = false, charges = 1, class = "MONK", type = 8}, --Ring of Peace + [152173] = {cooldown = 90, duration = 12, specs = {269}, talent = false, charges = 1, class = "MONK", type = 1}, --Serenity + [137639] = {cooldown = 90, duration = 15, specs = {269}, talent = false, charges = 1, class = "MONK", type = 1}, --Storm, Earth, and Fire + [115080] = {cooldown = 180, duration = 0, specs = {268, 269, 270}, talent = false, charges = 1, class = "MONK", type = 1}, --Touch of Death + [122470] = {cooldown = 90, duration = 6, specs = {269}, talent = false, charges = 1, class = "MONK", type = 2}, --Touch of Karma + [115176] = {cooldown = 300, duration = 8, specs = {268}, talent = false, charges = 1, class = "MONK", type = 2}, --Zen Meditation + [388686] = {cooldown = 120, duration = 30, specs = {268, 269, 270}, talent = false, charges = 1, class = "MONK", type = 1}, --Summon White Tiger Statue + --[322109] = {cooldown = 180, duration = 0, specs = {268, 269, 270}, talent = false, charges = 1, class = "MONK", type = 1}, --Touch of Death + - [132578] = {cooldown = 180, duration = 25, specs = {268}, talent = false, charges = 1, class = "MONK", type = 1}, --Invoke Niuzao, the Black Ox - [115080] = {cooldown = 180, duration = false, specs = {268,269,270}, talent = false, charges = 1, class = "MONK", type = 1}, --Touch of Death - [115203] = {cooldown = 420, duration = 15, specs = {268}, talent = false, charges = 1, class = "MONK", type = 2}, --Fortifying Brew - [115176] = {cooldown = 300, duration = 8, specs = {268}, talent = false, charges = 1, class = "MONK", type = 2}, --Zen Meditation - [115399] = {cooldown = 120, duration = false, specs = {268}, talent = false, charges = 1, class = "MONK", type = 2}, --Black Ox brew - [122278] = {cooldown = 120, duration = 10, specs = {268,269,270}, talent = false, charges = 1, class = "MONK", type = 2}, --Dampen Harm - [137639] = {cooldown = 90, duration = 15, specs = {269}, talent = false, charges = 1, class = "MONK", type = 1}, --Storm, Earth, and Fire - [123904] = {cooldown = 120, duration = 24, specs = {269}, talent = false, charges = 1, class = "MONK", type = 1}, --Invoke Xuen, the White Tiger - [152173] = {cooldown = 90, duration = 12, specs = {269}, talent = false, charges = 1, class = "MONK", type = 1}, --Serenity - [122470] = {cooldown = 90, duration = 6, specs = {269}, talent = false, charges = 1, class = "MONK", type = 2}, --Touch of Karma - [322118] = {cooldown = 180, duration = 25, specs = {270}, talent = false, charges = 1, class = "MONK", type = 4}, --Invoke Yulon, the Jade serpent - [243435] = {cooldown = 90, duration = 15, specs = {269,270}, talent = false, charges = 1, class = "MONK", type = 2}, --Fortifying Brew - [122783] = {cooldown = 90, duration = 6, specs = {269,270}, talent = false, charges = 1, class = "MONK", type = 2}, --Diffuse Magic - [116849] = {cooldown = 120, duration = 12, specs = {270}, talent = false, charges = 1, class = "MONK", type = 3}, --Life Cocoon - [115310] = {cooldown = 180, duration = false, specs = {270}, talent = false, charges = 1, class = "MONK", type = 4}, --Revival - [197908] = {cooldown = 90, duration = 10, specs = {270}, talent = false, charges = 1, class = "MONK", type = 5}, --Mana tea - [116844] = {cooldown = 45, duration = 5, specs = {268,269,270}, talent = false, charges = 1, class = "MONK", type = 5}, --Ring of peace - [119381] = {cooldown = 50, duration = 3, specs = {268,269,270}, talent = false, charges = 1, class = "MONK", type = 5}, --Leg Sweep - --hunter -- 253 - Beast Mastery -- 254 - Marksmenship -- 255 - Survival - - [193530] = {cooldown = 120, duration = 20, specs = {253}, talent = false, charges = 1, class = "HUNTER", type = 1}, --Aspect of the Wild - [19574] = {cooldown = 90, duration = 12, specs = {253}, talent = false, charges = 1, class = "HUNTER", type = 1}, --Bestial Wrath - [201430] = {cooldown = 180, duration = 12, specs = {253}, talent = false, charges = 1, class = "HUNTER", type = 1}, --Stampede - [288613] = {cooldown = 180, duration = 15, specs = {254}, talent = false, charges = 1, class = "HUNTER", type = 1}, --Trueshot - [199483] = {cooldown = 60, duration = 60, specs = {253,254,255}, talent = false, charges = 1, class = "HUNTER", type = 2}, --Camouflage - [281195] = {cooldown = 180, duration = 6, specs = {253,254,255}, talent = false, charges = 1, class = "HUNTER", type = 2}, --Survival of the Fittest - [266779] = {cooldown = 120, duration = 20, specs = {255}, talent = false, charges = 1, class = "HUNTER", type = 1}, --Coordinated Assault - [186265] = {cooldown = 180, duration = 8, specs = {253,254,255}, talent = false, charges = 1, class = "HUNTER", type = 2}, --Aspect of the Turtle - [109304] = {cooldown = 120, duration = false, specs = {253,254,255}, talent = false, charges = 1, class = "HUNTER", type = 2}, --Exhilaration - [186257] = {cooldown = 144, duration = 14, specs = {253,254,255}, talent = false, charges = 1, class = "HUNTER", type = 5}, --Aspect of the cheetah - [19577] = {cooldown = 60, duration = 5, specs = {253,255}, talent = false, charges = 1, class = "HUNTER", type = 5}, --Intimidation - [109248] = {cooldown = 45, duration = 10, specs = {253,254,255}, talent = false, charges = 1, class = "HUNTER", type = 5}, --Binding Shot - [187650] = {cooldown = 25, duration = 60, specs = {253,254,255}, talent = false, charges = 1, class = "HUNTER", type = 5}, --Freezing Trap - [186289] = {cooldown = 72, duration = 15, specs = {255}, talent = false, charges = 1, class = "HUNTER", type = 5}, --Aspect of the eagle + [186257] = {cooldown = 144, duration = 14, specs = {253, 254, 255}, talent = false, charges = 1, class = "HUNTER", type = 2}, --Aspect of the Cheetah + [186289] = {cooldown = 72, duration = 15, specs = {255}, talent = false, charges = 1, class = "HUNTER", type = 1}, --Aspect of the Eagle + [186265] = {cooldown = 180, duration = 8, specs = {253, 254, 255}, talent = false, charges = 1, class = "HUNTER", type = 2}, --Aspect of the Turtle + [193530] = {cooldown = 120, duration = 20, specs = {253}, talent = false, charges = 1, class = "HUNTER", type = 1}, --Aspect of the Wild + [19574] = {cooldown = 90, duration = 12, specs = {253}, talent = false, charges = 1, class = "HUNTER", type = 1}, --Bestial Wrath + [109248] = {cooldown = 45, duration = 10, specs = {253, 254, 255}, talent = false, charges = 1, class = "HUNTER", type = 8}, --Binding Shot + [199483] = {cooldown = 60, duration = 60, specs = {253, 254, 255}, talent = false, charges = 1, class = "HUNTER", type = 2}, --Camouflage + [266779] = {cooldown = 120, duration = 20, specs = {255}, talent = false, charges = 1, class = "HUNTER", type = 1}, --Coordinated Assault + [109304] = {cooldown = 120, duration = 0, specs = {253, 254, 255}, talent = false, charges = 1, class = "HUNTER", type = 2}, --Exhilaration + [187650] = {cooldown = 25, duration = 60, specs = {253, 254, 255}, talent = false, charges = 1, class = "HUNTER", type = 8}, --Freezing Trap + [19577] = {cooldown = 60, duration = 5, specs = {253, 255}, talent = false, charges = 1, class = "HUNTER", type = 8}, --Intimidation + [201430] = {cooldown = 180, duration = 12, specs = {253}, talent = false, charges = 1, class = "HUNTER", type = 1}, --Stampede + [281195] = {cooldown = 180, duration = 6, specs = {253, 254, 255}, talent = false, charges = 1, class = "HUNTER", type = 2}, --Survival of the Fittest + [288613] = {cooldown = 180, duration = 15, specs = {254}, talent = false, charges = 1, class = "HUNTER", type = 1}, --Trueshot + [264735] = {cooldown = 180, duration = 0, specs = {253, 254, 255}, talent = false, charges = 1, class = "HUNTER", type = 2}, --Survival of the Fittest --druid -- 102 - Balance -- 103 - Feral -- 104 - Guardian -- 105 - Restoration - [22812] = {cooldown = 60, duration = 12, specs = {102, 103, 104, 105}, talent = false, charges = 1, class = "DRUID", type = 2}, --Barkskin - [106951] = {cooldown = 180, duration = 15, specs = {103, 104}, talent = false, charges = 1, class = "DRUID", type = 1}, --Berserk - [194223] = {cooldown = 180, duration = 20, specs = {102}, talent = false, charges = 1, class = "DRUID", type = 1}, --Celestial Alignment + [106951] = {cooldown = 180, duration = 15, specs = {103, 104}, talent = false, charges = 1, class = "DRUID", type = 1}, --Berserk + [194223] = {cooldown = 180, duration = 20, specs = {102}, talent = false, charges = 1, class = "DRUID", type = 1}, --Celestial Alignment [391528] = {cooldown = 120, duration = 4, specs = {102, 103, 104, 105}, talent = false, charges = 1, class = "DRUID", type = 1}, --Convoke the Spirits - [197721] = {cooldown = 90, duration = 8, specs = {105}, talent = false, charges = 1, class = "DRUID", type = 4}, --Flourish + [197721] = {cooldown = 90, duration = 8, specs = {105}, talent = false, charges = 1, class = "DRUID", type = 4}, --Flourish [319454] = {cooldown = 300, duration = 45, specs = {102, 103, 104, 105}, talent = false, charges = 1, class = "DRUID", type = 1}, --Heart of the Wild - [102543] = {cooldown = 30, duration = 180, specs = {103}, talent = false, charges = 1, class = "DRUID", type = 1}, --Incarnation: Avatar of Ashamane - [102560] = {cooldown = 180, duration = 30, specs = {102}, talent = false, charges = 1, class = "DRUID", type = 1}, --Incarnation: Chosen of Elune - [102558] = {cooldown = 180, duration = 30, specs = {104}, talent = false, charges = 1, class = "DRUID", type = 2}, --Incarnation: Guardian of Ursoc - [33891] = {cooldown = 180, duration = 30, specs = {105}, talent = false, charges = 1, class = "DRUID", type = 4}, --Incarnation: Tree of Life - [99] = {cooldown = 30, duration = 3, specs = {102, 103, 104, 105}, talent = false, charges = 1, class = "DRUID", type = 8}, --Incapacitating Roar - [29166] = {cooldown = 180, duration = 12, specs = {102, 105}, talent = false, charges = 1, class = "DRUID", type = 5}, --Innervate - [102342] = {cooldown = 60, duration = 12, specs = {105}, talent = false, charges = 1, class = "DRUID", type = 3}, --Ironbark - [203651] = {cooldown = 60, duration = 0, specs = {105}, talent = false, charges = 1, class = "DRUID", type = 3}, --Overgrowth + [99] = {cooldown = 30, duration = 3, specs = {102, 103, 104, 105}, talent = false, charges = 1, class = "DRUID", type = 8}, --Incapacitating Roar + [102543] = {cooldown = 30, duration = 180, specs = {103}, talent = false, charges = 1, class = "DRUID", type = 1}, --Incarnation: Avatar of Ashamane + [102560] = {cooldown = 180, duration = 30, specs = {102}, talent = false, charges = 1, class = "DRUID", type = 1}, --Incarnation: Chosen of Elune + [102558] = {cooldown = 180, duration = 30, specs = {104}, talent = false, charges = 1, class = "DRUID", type = 2}, --Incarnation: Guardian of Ursoc + [33891] = {cooldown = 180, duration = 30, specs = {105}, talent = false, charges = 1, class = "DRUID", type = 4}, --Incarnation: Tree of Life + [29166] = {cooldown = 180, duration = 12, specs = {102, 105}, talent = false, charges = 1, class = "DRUID", type = 5}, --Innervate + [102342] = {cooldown = 60, duration = 12, specs = {105}, talent = false, charges = 1, class = "DRUID", type = 3}, --Ironbark + [203651] = {cooldown = 60, duration = 0, specs = {105}, talent = false, charges = 1, class = "DRUID", type = 3}, --Overgrowth + [20484] = {cooldown = 600, duration = 0, specs = {102, 103, 104, 105}, talent = false, charges = 1, class = "DRUID", type = 5}, --Rebirth [108238] = {cooldown = 90, duration = 0, specs = {102, 103, 104, 105}, talent = false, charges = 1, class = "DRUID", type = 2}, --Renewal - [77761] = {cooldown = 120, duration = 8, specs = {102, 103, 104, 105}, talent = false, charges = 1, class = "DRUID", type = 4}, --Stampeding Roar | 106898 - [61336] = {cooldown = 120, duration = 6, specs = {103, 104}, talent = false, charges = 1, class = "DRUID", type = 2}, --Survival Instincts - [740] = {cooldown = 180, duration = 8, specs = {105}, talent = false, charges = 1, class = "DRUID", type = 4}, --Tranquility + [77761] = {cooldown = 120, duration = 8, specs = {102, 103, 104, 105}, talent = false, charges = 1, class = "DRUID", type = 4}, --Stampeding Roar + [61336] = {cooldown = 120, duration = 6, specs = {103, 104}, talent = false, charges = 1, class = "DRUID", type = 2}, --Survival Instincts + [740] = {cooldown = 180, duration = 8, specs = {105}, talent = false, charges = 1, class = "DRUID", type = 4}, --Tranquility [132469] = {cooldown = 30, duration = 0, specs = {102, 103, 104, 105}, talent = false, charges = 1, class = "DRUID", type = 8}, --Typhoon [102793] = {cooldown = 60, duration = 10, specs = {102, 103, 104, 105}, talent = false, charges = 1, class = "DRUID", type = 8}, --Ursol's Vortex + [124974] = {cooldown = 90, duration = 0, specs = {102, 103, 104, 105}, talent = false, charges = 1, class = "DRUID", type = 3}, --Nature's Vigil + [106898] = {cooldown = 120, duration = 8, specs = {102, 103, 104, 105}, talent = false, charges = 1, class = "DRUID", type = 5}, --Stampeding Roar --death knight -- 252 - Unholy -- 251 - Frost -- 252 - Blood - [383269] = {cooldown = 120, duration = 12, specs = {250, 251, 252}, talent = false, charges = 1, class = "DEATHKNIGHT", type = 1}, --Abomination Limb [48707] = {cooldown = 60, duration = 10, specs = {250, 251, 252}, talent = false, charges = 1, class = "DEATHKNIGHT", type = 2}, --Anti-Magic Shell [51052] = {cooldown = 120, duration = 10, specs = {250, 251, 252}, talent = false, charges = 1, class = "DEATHKNIGHT", type = 4}, --Anti-Magic Zone @@ -476,7 +488,6 @@ LIB_OPEN_RAID_COOLDOWNS_INFO = { --demon hunter -- 577 - Havoc -- 581 - Vengance - [198589] = {cooldown = 60, duration = 10, specs = {577}, talent = false, charges = 1, class = "DEMONHUNTER", type = 2}, --Blur [320341] = {cooldown = 90, duration = 0, specs = {581}, talent = false, charges = 1, class = "DEMONHUNTER", type = 2}, --Bulk Extraction [179057] = {cooldown = 60, duration = 2, specs = {577}, talent = false, charges = 1, class = "DEMONHUNTER", type = 8}, --Chaos Nova @@ -492,6 +503,7 @@ LIB_OPEN_RAID_COOLDOWNS_INFO = { [202137] = {cooldown = 60, duration = 8, specs = {581}, talent = false, charges = 1, class = "DEMONHUNTER", type = 6}, --Sigil of Silence [263648] = {cooldown = 30, duration = 12, specs = {581}, talent = false, charges = 1, class = "DEMONHUNTER", type = 2}, --Soul Barrier [188501] = {cooldown = 30, duration = 10, specs = {577, 581}, talent = false, charges = 1, class = "DEMONHUNTER", type = 5}, --Spectral Sight + [370965] = {cooldown = 90, duration = 0, specs = {577, 581}, talent = false, charges = 1, class = "DEMONHUNTER", type = 1}, --The Hunt --mage -- 62 - Arcane @@ -517,7 +529,6 @@ LIB_OPEN_RAID_COOLDOWNS_INFO = { -- 256 - Discipline -- 257 - Holy -- 258 - Shadow - [200183] = {cooldown = 120, duration = 20, specs = {257}, talent = false, charges = 1, class = "PRIEST", type = 2}, --Apotheosis [19236] = {cooldown = 90, duration = 10, specs = {256, 257, 258}, talent = false, charges = 1, class = "PRIEST", type = 2}, --Desperate Prayer [47585] = {cooldown = 120, duration = 6, specs = {258}, talent = false, charges = 1, class = "PRIEST", type = 2}, --Dispersion @@ -547,7 +558,6 @@ LIB_OPEN_RAID_COOLDOWNS_INFO = { -- 259 - Assasination -- 260 - Outlaw -- 261 - Subtlety - [13750] = {cooldown = 180, duration = 20, specs = {260}, talent = false, charges = 1, class = "ROGUE", type = 1}, --Adrenaline Rush [2094] = {cooldown = 120, duration = 60, specs = {259, 260, 261}, talent = false, charges = 1, class = "ROGUE", type = 8}, --Blind [31224] = {cooldown = 120, duration = 5, specs = {259, 260, 261}, talent = false, charges = 1, class = "ROGUE", type = 2}, --Cloak of Shadows @@ -562,7 +572,11 @@ LIB_OPEN_RAID_COOLDOWNS_INFO = { [79140] = {cooldown = 120, duration = 20, specs = {259}, talent = false, charges = 1, class = "ROGUE", type = 1}, --Vendetta } +--this table store all cooldowns the player currently have available +LIB_OPEN_RAID_PLAYERCOOLDOWNS = {} + LIB_OPEN_RAID_COOLDOWNS_BY_SPEC = {}; + for spellID,spellData in pairs(LIB_OPEN_RAID_COOLDOWNS_INFO) do for _,specID in ipairs(spellData.specs) do LIB_OPEN_RAID_COOLDOWNS_BY_SPEC[specID] = LIB_OPEN_RAID_COOLDOWNS_BY_SPEC[specID] or {}; diff --git a/boot.lua b/boot.lua index 55f06c9d3..426a0f1fd 100644 --- a/boot.lua +++ b/boot.lua @@ -6,8 +6,8 @@ local version, build, date, tocversion = GetBuildInfo() - _detalhes.build_counter = 10144 - _detalhes.alpha_build_counter = 10144 --if this is higher than the regular counter, use it instead + _detalhes.build_counter = 10205 + _detalhes.alpha_build_counter = 10205 --if this is higher than the regular counter, use it instead _detalhes.dont_open_news = true _detalhes.game_version = version _detalhes.userversion = version .. " " .. _detalhes.build_counter diff --git a/classes/container_actors.lua b/classes/container_actors.lua index d28f7b5c7..e6ec7fda0 100644 --- a/classes/container_actors.lua +++ b/classes/container_actors.lua @@ -565,10 +565,11 @@ flag = 0x514 else for playerName in text:gmatch("([^%s]+)") do - local isInRaid = _detalhes.tabela_vigente.raid_roster[playerName] - if (isInRaid) then + playerName = playerName:gsub(",", "") + local playerIsOnRaidCache = _detalhes.tabela_vigente.raid_roster[playerName] + if (playerIsOnRaidCache) then serial = UnitGUID(playerName) - nome = text + nome = playerName flag = 0x514 break end diff --git a/core/gears.lua b/core/gears.lua index 4b88452e6..daee90b4f 100644 --- a/core/gears.lua +++ b/core/gears.lua @@ -3015,10 +3015,36 @@ function Details.FillTableWithPlayerSpells(completeListOfSpells) end end +function Details.SavePlayTimeOnClass() + local className = select(2, UnitClass("player")) + if (className) then + --played time by expansion + local expansionLevel = GetExpansionLevel() + + local expansionTable = Details.class_time_played[expansionLevel] + if (not expansionTable) then + expansionTable = {} + Details.class_time_played[expansionLevel] = expansionTable + end + + local playedTime = expansionTable[className] or 0 + expansionTable[className] = playedTime + GetTime() - Details.GetStartupTime() + end +end + function Details.GetPlayTimeOnClass() local className = select(2, UnitClass("player")) if (className) then - local playedTime = Details.class_time_played[className] + --played time by expansion + local expansionLevel = GetExpansionLevel() + + local expansionTable = Details.class_time_played[expansionLevel] + if (not expansionTable) then + expansionTable = {} + Details.class_time_played[expansionLevel] = expansionTable + end + + local playedTime = expansionTable[className] if (playedTime) then playedTime = playedTime + (GetTime() - Details.GetStartupTime()) return playedTime @@ -3047,8 +3073,14 @@ timePlayerFrame:SetScript("OnEvent", function() --C_Timer.After(0, function() print(Details.GetPlayTimeOnClassString()) end) end) +--game freeze prevention, there are people calling UpdateAddOnMemoryUsage() making the game client on the end user to freeze, this is bad, really bad. +--Details! replace the function call with one that do the same thing, but warns the player if the function freezes the client too many times. local stutterCounter = 0 +local bigStutterCounter = 0 local UpdateAddOnMemoryUsage_Original = _G.UpdateAddOnMemoryUsage +Details.UpdateAddOnMemoryUsage_Original = _G.UpdateAddOnMemoryUsage + +--to ignore this, use /run _G["UpdateAddOnMemoryUsage"] = Details.UpdateAddOnMemoryUsage_Original or add to any script that run on login _G["UpdateAddOnMemoryUsage"] = function() local currentTime = debugprofilestop() UpdateAddOnMemoryUsage_Original() @@ -3061,6 +3093,14 @@ _G["UpdateAddOnMemoryUsage"] = function() return end + if (deltaTime >= 500) then + bigStutterCounter = bigStutterCounter + 1 + if (bigStutterCounter >= 6) then + Details:Msg("an addon made your game freeze for more than a half second, use '/details perf' to know more.") + bigStutterCounter = -10000 --make this msg appear only once + end + end + stutterCounter = stutterCounter + 1 local stutterDegree = 0 if (stutterCounter > 60) then @@ -3077,7 +3117,7 @@ _G["UpdateAddOnMemoryUsage"] = function() stutterDegree = 3 end - stutterCounter = 0 + stutterCounter = -10000 --make this msg appear only once end Details.performanceData = { @@ -3115,7 +3155,7 @@ function Details:HandleRogueCombatSpecIconByGameVersion() end end -function CopyText(text) +function CopyText(text) --[[GLOBAL]] if (not Details.CopyTextField) then Details.CopyTextField = CreateFrame("Frame", "DetailsCopyText", UIParent, "BackdropTemplate") Details.CopyTextField:SetHeight(14) diff --git a/core/parser.lua b/core/parser.lua index 87021c40a..b677180ef 100755 --- a/core/parser.lua +++ b/core/parser.lua @@ -4938,10 +4938,10 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1 if (zoneType == "party" or zoneType == "raid") then _is_in_instance = true - if (DetailsFramework.IsDragonflight()) then - Details:Msg("friendly reminder to enabled combat logs (/combatlog) if you're recording them (Dragonflight Beta).") - Details:Msg("and if you wanna help, you may post them on Details! discord as well.") - end + --if (DetailsFramework.IsDragonflight()) then + -- Details:Msg("friendly reminder to enabled combat logs (/combatlog) if you're recording them (Dragonflight Beta).") + -- Details:Msg("and if you wanna help, you may post them on Details! discord as well.") + --end end if (_detalhes.last_zone_type ~= zoneType) then @@ -5836,10 +5836,7 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1 saver:SetScript("OnEvent", function(...) --save the time played on this class, run protected pcall(function() - local className = select(2, UnitClass("player")) - if (className) then - Details.class_time_played[className] = (Details.class_time_played[className] or 0) + GetTime() - Details.GetStartupTime() - end + Details.SavePlayTimeOnClass() end) local currentStep = 0 diff --git a/frames/window_cdtracker.lua b/frames/window_cdtracker.lua index 645ac24b3..1d4599abb 100644 --- a/frames/window_cdtracker.lua +++ b/frames/window_cdtracker.lua @@ -555,7 +555,7 @@ end DF:SetFontSize(warning1, 14) local animationHub = DF:CreateAnimationHub(warning1) local anim1 = DF:CreateAnimation(animationHub, "rotation", 1, 0, 35) - anim1:SetEndDelay(math.huge) + anim1:SetEndDelay(10000000) anim1:SetSmoothProgress(1) animationHub:Play() animationHub:Pause() diff --git a/frames/window_main.lua b/frames/window_main.lua index 82bb59d95..efc7aea5c 100644 --- a/frames/window_main.lua +++ b/frames/window_main.lua @@ -2057,6 +2057,7 @@ function Details:HandleTextsOnMouseClick(row, type) end local setBarValue = function(self, value) + value = Clamp(value, 0, 100) self.statusbar:SetValue(value) self.statusbar.value = value if (self.using_upper_3dmodels) then diff --git a/plugins/Details_DataStorage/Details_DataStorage.toc b/plugins/Details_DataStorage/Details_DataStorage.toc index 871a8c3ed..70ab25bcc 100644 --- a/plugins/Details_DataStorage/Details_DataStorage.toc +++ b/plugins/Details_DataStorage/Details_DataStorage.toc @@ -1,4 +1,4 @@ -## Interface: 90207 +## Interface: 100000 ## Title: Details!: Storage ## Notes: Stores information for Details! Damage Meter ## DefaultState: Enabled diff --git a/plugins/Details_EncounterDetails/Details_EncounterDetails.lua b/plugins/Details_EncounterDetails/Details_EncounterDetails.lua index baad10c56..919d0dc1e 100644 --- a/plugins/Details_EncounterDetails/Details_EncounterDetails.lua +++ b/plugins/Details_EncounterDetails/Details_EncounterDetails.lua @@ -1,4 +1,4 @@ -local AceLocale = LibStub("AceLocale-3.0") +local AceLocale = LibStub ("AceLocale-3.0") local Loc = AceLocale:GetLocale ("Details_EncounterDetails") local Graphics = LibStub:GetLibrary("LibGraph-2.0") local _ @@ -6,39 +6,39 @@ local _ local isDebug = false local function DebugMessage (...) if (isDebug) then - print("|cFFFFFF00EBreakDown|r:", ...) + print ("|cFFFFFF00EBreakDown|r:", ...) end end ---Needed locals -local GetTime = GetTime --wow api local -local _UFC = UnitAffectingCombat --wow api local -local IsInRaid = IsInRaid --wow api local -local IsInGroup = IsInGroup --wow api local -local _UnitAura = UnitAura --wow api local -local _GetSpellInfo = _detalhes.getspellinfo --wow api local -local CreateFrame = CreateFrame --wow api local -local GetTime = GetTime --wow api local -local _GetCursorPosition = GetCursorPosition --wow api local -local _GameTooltip = GameTooltip --wow api local +--> Needed locals +local _GetTime = GetTime --> wow api local +local _UFC = UnitAffectingCombat --> wow api local +local _IsInRaid = IsInRaid --> wow api local +local _IsInGroup = IsInGroup --> wow api local +local _UnitAura = UnitAura --> wow api local +local _GetSpellInfo = _detalhes.getspellinfo --> wow api local +local _CreateFrame = CreateFrame --> wow api local +local _GetTime = GetTime --> wow api local +local _GetCursorPosition = GetCursorPosition --> wow api local +local _GameTooltip = GameTooltip --> wow api local local GameCooltip = GameCooltip2 -local _math_floor = math.floor --lua library local -local _cstr = string.format --lua library local -local ipairs = ipairs --lua library local -local pairs = pairs --lua library local -local _table_sort = table.sort --lua library local -local tinsert = table.insert --lua library local -local _unpack = unpack --lua library local +local _math_floor = math.floor --> lua library local +local _cstr = string.format --> lua library local +local _ipairs = ipairs --> lua library local +local _pairs = pairs --> lua library local +local _table_sort = table.sort --> lua library local +local _table_insert = table.insert --> lua library local +local _unpack = unpack --> lua library local local _bit_band = bit.band local CONST_FONT_SIZE = 10 ---Create the plugin Object +--> Create the plugin Object local EncounterDetails = _detalhes:NewPluginObject ("Details_EncounterDetails", DETAILSPLUGIN_ALWAYSENABLED) -tinsert(UISpecialFrames, "Details_EncounterDetails") ---Main Frame +tinsert (UISpecialFrames, "Details_EncounterDetails") +--> Main Frame local EncounterDetailsFrame = EncounterDetails.Frame EncounterDetailsFrame.DefaultBarHeight = 20 EncounterDetailsFrame.CooltipStatusbarAlpha = .65 @@ -46,13 +46,13 @@ EncounterDetailsFrame.DefaultBarTexture = "Interface\\AddOns\\Details\\images\\b EncounterDetails:SetPluginDescription ("Raid encounters summary, show basic stuff like dispels, interrupts and also graphic charts, boss emotes and the Weakaura Creation Tool.") ---container types -local class_type_damage = _detalhes.atributos.dano --damage -local class_type_misc = _detalhes.atributos.misc --misc ---main combat object +--> container types +local class_type_damage = _detalhes.atributos.dano --> damage +local class_type_misc = _detalhes.atributos.misc --> misc +--> main combat object local _combat_object -local sort_by_name = function(t1, t2) return t1.nome < t2.nome end +local sort_by_name = function (t1, t2) return t1.nome < t2.nome end local CLASS_ICON_TCOORDS = _G.CLASS_ICON_TCOORDS @@ -61,14 +61,14 @@ EncounterDetails.debugmode = false function EncounterDetails:FormatCooltipSettings() GameCooltip:SetType ("tooltip") - GameCooltip:SetOption("StatusBarTexture", [[Interface\AddOns\Details\images\bar_serenity]]) - GameCooltip:SetOption("StatusBarHeightMod", 0) - GameCooltip:SetOption("FixedWidth", 280) - GameCooltip:SetOption("TextSize", 11) - GameCooltip:SetOption("LeftBorderSize", -4) - GameCooltip:SetOption("RightBorderSize", 5) - GameCooltip:SetOption("ButtonsYMod", 0) - GameCooltip:SetOption("YSpacingMod", -1) + GameCooltip:SetOption ("StatusBarTexture", [[Interface\AddOns\Details\images\bar_serenity]]) + GameCooltip:SetOption ("StatusBarHeightMod", 0) + GameCooltip:SetOption ("FixedWidth", 280) + GameCooltip:SetOption ("TextSize", 11) + GameCooltip:SetOption ("LeftBorderSize", -4) + GameCooltip:SetOption ("RightBorderSize", 5) + GameCooltip:SetOption ("ButtonsYMod", 0) + GameCooltip:SetOption ("YSpacingMod", -1) end EncounterDetails.CooltipLineHeight = 18 @@ -94,45 +94,45 @@ local ability_type_table = { } ---main object frame functions +--> main object frame functions local function CreatePluginFrames (data) - --catch Details! main object + --> catch Details! main object local _detalhes = Details local DetailsFrameWork = _detalhes.gump - --saved data if any + --> saved data if any EncounterDetails.data = data or {} - --record if button is shown + --> record if button is shown EncounterDetails.showing = false - --record if boss window is open or not + --> record if boss window is open or not EncounterDetails.window_open = false EncounterDetails.combat_boss_found = false - --OnEvent Table + --> OnEvent Table function EncounterDetails:OnDetailsEvent (event, ...) - --when main frame became hide - if (event == "HIDE") then --plugin hidded, disabled + --> when main frame became hide + if (event == "HIDE") then --> plugin hidded, disabled self.open = false - --when main frame is shown on screen - elseif (event == "SHOW") then --plugin hidded, disabled + --> when main frame is shown on screen + elseif (event == "SHOW") then --> plugin hidded, disabled self.open = true EncounterDetails:RefreshScale() - --when details finish his startup and are ready to work + --> when details finish his startup and are ready to work elseif (event == "DETAILS_STARTED") then - --check if details are in combat, if not check if the last fight was a boss fight + --> check if details are in combat, if not check if the last fight was a boss fight if (not EncounterDetails:IsInCombat()) then - --get the current combat table + --> get the current combat table _combat_object = EncounterDetails:GetCombat() - --check if was a boss fight + --> check if was a boss fight EncounterDetails:WasEncounter() end - local damage_done_func = function(support_table, time_table, tick_second) + local damage_done_func = function (support_table, time_table, tick_second) local current_total_damage = _detalhes.tabela_vigente.totals_grupo[1] local current_damage = current_total_damage - support_table.last_damage time_table [tick_second] = current_damage @@ -148,7 +148,7 @@ local function CreatePluginFrames (data) -- this script takes the current combat and request the total of damage done by the group. -- first lets take the current combat and name it "current_combat". - local current_combat = _detalhes:GetCombat("current") --getting the current combat + local current_combat = _detalhes:GetCombat ("current") --> getting the current combat -- now lets ask the combat for the total damage done by the raide group. local total_damage = current_combat:GetTotal ( DETAILS_ATTRIBUTE_DAMAGE, nil, DETAILS_TOTALS_ONLYGROUP ) @@ -173,7 +173,7 @@ local function CreatePluginFrames (data) --EncounterDetails:CreateCallbackListeners() - elseif (event == "COMBAT_PLAYER_ENTER") then --combat started + elseif (event == "COMBAT_PLAYER_ENTER") then --> combat started if (EncounterDetails.showing and EncounterDetails.db.hide_on_combat) then --EncounterDetails:HideIcon() EncounterDetails:CloseWindow() @@ -182,9 +182,9 @@ local function CreatePluginFrames (data) EncounterDetails.current_whisper_table = {} elseif (event == "COMBAT_PLAYER_LEAVE") then - --combat leave and enter always send current combat table - _combat_object = select(1, ...) - --check if was a boss fight + --> combat leave and enter always send current combat table + _combat_object = select (1, ...) + --> check if was a boss fight EncounterDetails:WasEncounter() if (EncounterDetails.combat_boss_found) then EncounterDetails.combat_boss_found = false @@ -196,7 +196,7 @@ local function CreatePluginFrames (data) local whisper_table = EncounterDetails.current_whisper_table if (whisper_table and _combat_object.is_boss and _combat_object.is_boss.name) then whisper_table.boss = _combat_object.is_boss.name - tinsert(EncounterDetails.boss_emotes_table, 1, whisper_table) + tinsert (EncounterDetails.boss_emotes_table, 1, whisper_table) if (#EncounterDetails.boss_emotes_table > EncounterDetails.db.max_emote_segments) then table.remove (EncounterDetails.boss_emotes_table, EncounterDetails.db.max_emote_segments+1) @@ -227,7 +227,7 @@ local function CreatePluginFrames (data) end --wipe emotes - table.wipe(EncounterDetails.boss_emotes_table) + table.wipe (EncounterDetails.boss_emotes_table) elseif (event == "GROUP_ONENTER") then if (EncounterDetails.db.show_icon == 2) then @@ -241,7 +241,7 @@ local function CreatePluginFrames (data) elseif (event == "ZONE_TYPE_CHANGED") then if (EncounterDetails.db.show_icon == 1) then - if (select(1, ...) == "raid") then + if (select (1, ...) == "raid") then EncounterDetails:ShowIcon() else EncounterDetails:HideIcon() @@ -272,10 +272,10 @@ local function CreatePluginFrames (data) local current_table_dbm = {} local current_table_bigwigs = {} - local event_frame = CreateFrame("frame", nil, UIParent, "BackdropTemplate") - event_frame:SetScript("OnEvent", function(self, event, ...) + local event_frame = CreateFrame ("frame", nil, UIParent, "BackdropTemplate") + event_frame:SetScript ("OnEvent", function (self, event, ...) if (event == "ENCOUNTER_START") then - local encounterID, encounterName, difficultyID, raidSize = select(1, ...) + local encounterID, encounterName, difficultyID, raidSize = select (1, ...) current_encounter = encounterID elseif (event == "ENCOUNTER_END" or event == "PLAYER_REGEN_ENABLED") then @@ -283,7 +283,7 @@ local function CreatePluginFrames (data) if (_G.DBM) then local db = _detalhes.global_plugin_database ["DETAILS_PLUGIN_ENCOUNTER_DETAILS"] - for spell, timer_table in pairs(current_table_dbm) do + for spell, timer_table in pairs (current_table_dbm) do if (not db.encounter_timers_dbm [timer_table[1]]) then timer_table.id = current_encounter db.encounter_timers_dbm [timer_table[1]] = timer_table @@ -292,7 +292,7 @@ local function CreatePluginFrames (data) end if (BigWigs) then local db = _detalhes.global_plugin_database ["DETAILS_PLUGIN_ENCOUNTER_DETAILS"] - for timer_id, timer_table in pairs(current_table_bigwigs) do + for timer_id, timer_table in pairs (current_table_bigwigs) do if (not db.encounter_timers_bw [timer_id]) then timer_table.id = current_encounter db.encounter_timers_bw [timer_id] = timer_table @@ -307,18 +307,18 @@ local function CreatePluginFrames (data) wipe (current_table_bigwigs) end end) - event_frame:RegisterEvent("ENCOUNTER_START") - event_frame:RegisterEvent("ENCOUNTER_END") - event_frame:RegisterEvent("PLAYER_REGEN_ENABLED") + event_frame:RegisterEvent ("ENCOUNTER_START") + event_frame:RegisterEvent ("ENCOUNTER_END") + event_frame:RegisterEvent ("PLAYER_REGEN_ENABLED") --DBM_TimerStart Timer183828cdcount 2 Death Brand CD (2) 42.5 Interface\Icons\warlock_summon_doomguard cdcount 183828 1 1438 --DBM_TimerStart Timer183828cdcount 3 Death Brand CD (3) 42.5 Interface\Icons\warlock_summon_doomguard cdcount 183828 1 1438 --EncounterDetails.DBM_timers if (_G.DBM) then - local dbm_timer_callback = function(bar_type, id, msg, timer, icon, bartype, spellId, colorId, modid) - --print(bar_type, id, msg, timer, icon, bartype, spellId, colorId, modid) - local spell = tostring(spellId) + local dbm_timer_callback = function (bar_type, id, msg, timer, icon, bartype, spellId, colorId, modid) + --print (bar_type, id, msg, timer, icon, bartype, spellId, colorId, modid) + local spell = tostring (spellId) if (spell and not current_table_dbm [spell]) then current_table_dbm [spell] = {spell, id, msg, timer, icon, bartype, spellId, colorId, modid} end @@ -328,10 +328,10 @@ local function CreatePluginFrames (data) function EncounterDetails:RegisterBigWigsCallBack() if (BigWigsLoader) then function EncounterDetails:BigWigs_StartBar (event, module, spellid, bar_text, time, icon, ...) - --print(event, module, spellid, bar_text, time, icon, ...) - spellid = tostring(spellid) + --print (event, module, spellid, bar_text, time, icon, ...) + spellid = tostring (spellid) if (not current_table_bigwigs [spellid]) then - current_table_bigwigs [spellid] = {(type(module) == "string" and module) or (module and module.moduleName) or "", spellid or "", bar_text or "", time or 0, icon or ""} + current_table_bigwigs [spellid] = {(type (module) == "string" and module) or (module and module.moduleName) or "", spellid or "", bar_text or "", time or 0, icon or ""} end end if (BigWigsLoader.RegisterMessage) then @@ -339,7 +339,7 @@ local function CreatePluginFrames (data) end end end - EncounterDetails:ScheduleTimer("RegisterBigWigsCallBack", 5) + EncounterDetails:ScheduleTimer ("RegisterBigWigsCallBack", 5) --BigWigs_StartBar BigWigs_Bosses_Brackenspore mind_fungus Mind Fungus 51 Interface\Icons\inv_mushroom_10 true --bigwigs startbar mind_fungus @@ -351,7 +351,7 @@ local function CreatePluginFrames (data) function EncounterDetails:WasEncounter() - --check if last combat was a boss encounter fight + --> check if last combat was a boss encounter fight if (not EncounterDetails.debugmode) then if (not _combat_object.is_boss) then @@ -366,11 +366,11 @@ local function CreatePluginFrames (data) end - --boss found, we need to show the icon + --> boss found, we need to show the icon EncounterDetails:ShowIcon() end - --show icon on toolbar + --> show icon on toolbar local re_ShowIconBallonTutorial = function() EncounterDetails:ShowIconBallonTutorial() @@ -378,51 +378,51 @@ local function CreatePluginFrames (data) function EncounterDetails:ShowIconBallonTutorial() if (InCombatLockdown()) then - C_Timer.After(5, function() - --print("in combat") + C_Timer.After (5, function() + --print ("in combat") re_ShowIconBallonTutorial() end) return end local hook_AlertButtonCloseButton = function() - --print("done tutorial") + --print ("done tutorial") EncounterDetails:SetTutorialCVar ("ENCOUNTER_DETAILS_BALLON_TUTORIAL1", true) end if (EncounterDetailsTutorialAlertButton1 or not EncounterDetails.ToolbarButton or not EncounterDetails.ToolbarButton:IsShown()) then - --print(EncounterDetailsTutorialAlertButton1, not EncounterDetails.ToolbarButton, not EncounterDetails.ToolbarButton:IsShown()) + --print (EncounterDetailsTutorialAlertButton1, not EncounterDetails.ToolbarButton, not EncounterDetails.ToolbarButton:IsShown()) return end --[=[ - local alert = CreateFrame("frame", "EncounterDetailsTutorialAlertButton1", EncounterDetails.ToolbarButton, "MicroButtonAlertTemplate") - alert:SetFrameLevel(302) + local alert = CreateFrame ("frame", "EncounterDetailsTutorialAlertButton1", EncounterDetails.ToolbarButton, "MicroButtonAlertTemplate") + alert:SetFrameLevel (302) alert.label = "Click here (on the skull icon) to bring the Encounter Breakdown panel" alert.Text:SetSpacing (4) - alert:SetClampedToScreen(true) + alert:SetClampedToScreen (true) MicroButtonAlert_SetText (alert, alert.label) - alert:SetPoint("bottom", EncounterDetails.ToolbarButton, "top", 0, 22) + alert:SetPoint ("bottom", EncounterDetails.ToolbarButton, "top", 0, 22) alert.CloseButton:HookScript ("OnClick", hook_AlertButtonCloseButton) alert:Show() --]=] - --print("showing ballon") + --print ("showing ballon") end function EncounterDetails:ShowIcon() EncounterDetails.showing = true - --[1] button to show [2] button animation: "star", "blink" or true (blink) + --> [1] button to show [2] button animation: "star", "blink" or true (blink) EncounterDetails:ShowToolbarIcon (EncounterDetails.ToolbarButton, "star") --EncounterDetails:SetTutorialCVar ("ENCOUNTER_DETAILS_BALLON_TUTORIAL1", false) --debug - if (not EncounterDetails:GetTutorialCVar("ENCOUNTER_DETAILS_BALLON_TUTORIAL1")) then - --print("nao viu o tutorial ainda") - C_Timer.After(2, EncounterDetails.ShowIconBallonTutorial) + if (not EncounterDetails:GetTutorialCVar ("ENCOUNTER_DETAILS_BALLON_TUTORIAL1")) then + --print ("nao viu o tutorial ainda") + C_Timer.After (2, EncounterDetails.ShowIconBallonTutorial) end end - -- hide icon on toolbar + --> hide icon on toolbar function EncounterDetails:HideIcon() EncounterDetails.showing = false EncounterDetails:HideToolbarIcon (EncounterDetails.ToolbarButton) @@ -440,7 +440,7 @@ local function CreatePluginFrames (data) end EncounterDetailsFrame:HookScript ("OnShow", function() - C_Timer.After(0.1, function() + C_Timer.After (0.1, function() if (not EncounterDetails.LastOpenedTime or EncounterDetails.LastOpenedTime + 2 < GetTime()) then if (_detalhes.AddOnStartTime and _detalhes.AddOnStartTime + 30 < GetTime()) then EncounterDetails:OpenAndRefresh() @@ -449,17 +449,17 @@ local function CreatePluginFrames (data) end) end) - --user clicked on button, need open or close window + --> user clicked on button, need open or close window function EncounterDetails:OpenWindow() if (EncounterDetails.Frame:IsShown()) then return EncounterDetails:CloseWindow() end - --build all window data + --> build all window data EncounterDetails.db.opened = EncounterDetails.db.opened + 1 EncounterDetails:OpenAndRefresh() - --show + --> show EncounterDetailsFrame:Show() EncounterDetails.open = true @@ -468,7 +468,7 @@ local function CreatePluginFrames (data) end --select latest emote segment - Details_EncounterDetailsEmotesSegmentDropdown.MyObject:Select(1) + Details_EncounterDetailsEmotesSegmentDropdown.MyObject:Select (1) Details_EncounterDetailsEmotesSegmentDropdown.MyObject:Refresh() FauxScrollFrame_SetOffset (EncounterDetails_EmoteScroll, 0) EncounterDetails:SetEmoteSegment (1) @@ -476,12 +476,12 @@ local function CreatePluginFrames (data) if (EncounterDetailsFrame.ShowType ~= "emotes") then --hide emote frames - for _, widget in pairs(EncounterDetails.Frame.EmoteWidgets) do + for _, widget in pairs (EncounterDetails.Frame.EmoteWidgets) do widget:Hide() end end - C_Timer.After(3, function() EncounterDetails:ShowTutorial() end) + C_Timer.After (3, function() EncounterDetails:ShowTutorial() end) DetailsPluginContainerWindow.OpenPlugin (EncounterDetails) @@ -501,50 +501,50 @@ local function CreatePluginFrames (data) CoolTip:Reset() CoolTip:SetType ("menu") - CoolTip:SetOption("TextSize", Details.font_sizes.menus) - CoolTip:SetOption("TextFont", Details.font_faces.menus) + CoolTip:SetOption ("TextSize", Details.font_sizes.menus) + CoolTip:SetOption ("TextFont", Details.font_faces.menus) - CoolTip:SetOption("ButtonHeightModSub", -2) - CoolTip:SetOption("ButtonHeightMod", -5) + CoolTip:SetOption ("ButtonHeightModSub", -2) + CoolTip:SetOption ("ButtonHeightMod", -5) - CoolTip:SetOption("ButtonsYModSub", -3) - CoolTip:SetOption("ButtonsYMod", -6) + CoolTip:SetOption ("ButtonsYModSub", -3) + CoolTip:SetOption ("ButtonsYMod", -6) - CoolTip:SetOption("YSpacingModSub", -3) - CoolTip:SetOption("YSpacingMod", 1) + CoolTip:SetOption ("YSpacingModSub", -3) + CoolTip:SetOption ("YSpacingMod", 1) - CoolTip:SetOption("HeighMod", 3) - CoolTip:SetOption("SubFollowButton", true) + CoolTip:SetOption ("HeighMod", 3) + CoolTip:SetOption ("SubFollowButton", true) Details:SetTooltipMinWidth() --build the header --- CoolTip:AddLine(Loc ["STRING_PLUGIN_NAME"]) +-- CoolTip:AddLine (Loc ["STRING_PLUGIN_NAME"]) -- CoolTip:AddIcon (ENCOUNTERDETAILS_BUTTON.__icon, 1, 1, 20, 20) -- CoolTip:AddMenu (1, EncounterDetails.Frame.switch, "main") --- GameCooltip:AddLine("$div") +-- GameCooltip:AddLine ("$div") --build the menu options --summary - CoolTip:AddLine("Encounter Summary") + CoolTip:AddLine ("Encounter Summary") CoolTip:AddMenu (1, EncounterDetails.Frame.switch, "main") CoolTip:AddIcon ("Interface\\AddOns\\Details_EncounterDetails\\images\\boss_frame_buttons", 1, 1, 20, 22, 0, 0.1015625, 0, 0.505625) --chart - CoolTip:AddLine("Damage Graphic") + CoolTip:AddLine ("Damage Graphic") CoolTip:AddMenu (1, EncounterDetails.Frame.switch, "graph") CoolTip:AddIcon ("Interface\\AddOns\\Details_EncounterDetails\\images\\boss_frame_buttons", 1, 1, 20, 22, 0.1271875, 0.21875, 0, 0.505625) --emotes - CoolTip:AddLine("Boss Emotes") + CoolTip:AddLine ("Boss Emotes") CoolTip:AddMenu (1, EncounterDetails.Frame.switch, "emotes") CoolTip:AddIcon ("Interface\\AddOns\\Details_EncounterDetails\\images\\boss_frame_buttons", 1, 1, 20, 22, 91/256, 116/256, 0, 0.505625) --weakauras - CoolTip:AddLine("Create Encounter Weakauras") + CoolTip:AddLine ("Create Encounter Weakauras") CoolTip:AddMenu (1, EncounterDetails.Frame.switch, "spellsauras") if (_G.WeakAuras) then @@ -554,7 +554,7 @@ local function CreatePluginFrames (data) end --phases - CoolTip:AddLine("Damage by Boss Phase") + CoolTip:AddLine ("Damage by Boss Phase") CoolTip:AddMenu (1, EncounterDetails.Frame.switch, "phases") CoolTip:AddIcon ("Interface\\AddOns\\Details_EncounterDetails\\images\\boss_frame_buttons", 1, 1, 20, 22, 151/256, 176/256, 0, 0.505625) @@ -564,34 +564,34 @@ local function CreatePluginFrames (data) local SharedMedia = LibStub:GetLibrary("LibSharedMedia-3.0") - --CoolTip:SetBannerImage (1, [[]], 200, 22, avatarPoint, avatarTexCoord, nil) --overlay [2] avatar path - --CoolTip:SetBannerText (1, Loc ["STRING_PLUGIN_NAME"], textPoint, {1, 1, 1}, 14, SharedMedia:Fetch ("font", _detalhes.tooltip.fontface)) --text [1] nickname + --CoolTip:SetBannerImage (1, [[]], 200, 22, avatarPoint, avatarTexCoord, nil) --> overlay [2] avatar path + --CoolTip:SetBannerText (1, Loc ["STRING_PLUGIN_NAME"], textPoint, {1, 1, 1}, 14, SharedMedia:Fetch ("font", _detalhes.tooltip.fontface)) --> text [1] nickname --apply the backdrop settings to the menu Details:FormatCooltipBackdrop() - CoolTip:SetOwner(ENCOUNTERDETAILS_BUTTON, "bottom", "top", 0, 0) + CoolTip:SetOwner (ENCOUNTERDETAILS_BUTTON, "bottom", "top", 0, 0) CoolTip:ShowCooltip() end EncounterDetails.ToolbarButton = _detalhes.ToolBar:NewPluginToolbarButton (EncounterDetails.OpenWindow, "Interface\\AddOns\\Details_EncounterDetails\\images\\icon", Loc ["STRING_PLUGIN_NAME"], Loc ["STRING_TOOLTIP"], 16, 16, "ENCOUNTERDETAILS_BUTTON", cooltip_menu) --"Interface\\COMMON\\help-i" - EncounterDetails.ToolbarButton.shadow = true --loads icon_shadow.tga when the instance is showing icons with shadows + EncounterDetails.ToolbarButton.shadow = true --> loads icon_shadow.tga when the instance is showing icons with shadows - --setpoint anchors mod if needed + --> setpoint anchors mod if needed EncounterDetails.ToolbarButton.y = 0.5 EncounterDetails.ToolbarButton.x = 0 - --build all frames ans widgets + --> build all frames ans widgets _detalhes.EncounterDetailsTempWindow (EncounterDetails) _detalhes.EncounterDetailsTempWindow = nil - --~remover ~autoabrir �brir ~abrir ~auto - --C_Timer.After(.5, EncounterDetails.OpenWindow) + --> ~remover ~autoabrir �brir ~abrir ~auto + --C_Timer.After (.5, EncounterDetails.OpenWindow) end -local sort_damage_from = function(a, b) +local sort_damage_from = function (a, b) if (a[3] ~= "PET" and b[3] ~= "PET") then return a[2] > b[2] elseif (a[3] == "PET" and b[3] ~= "PET") then @@ -603,7 +603,7 @@ local sort_damage_from = function(a, b) end end ---custom tooltip for dead details --------------------------------------------------------------------------------------------------------- +--> custom tooltip for dead details --------------------------------------------------------------------------------------------------------- --tooltip backdrop, color and border local bgColor, borderColor = {0.17, 0.17, 0.17, .9}, {.30, .30, .30, .3} @@ -621,32 +621,32 @@ end GameCooltip:Reset() GameCooltip:SetType ("tooltipbar") - GameCooltip:SetOwner(row) + GameCooltip:SetOwner (row) - GameCooltip:AddLine("Click to Report", nil, 1, "orange") + GameCooltip:AddLine ("Click to Report", nil, 1, "orange") 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, .5}, specialSpark = false, texture = [[Interface\AddOns\Details\images\bar_serenity]]}) local statusBarBackground = {value = 100, color = {.21, .21, .21, 0.8}, texture = [[Interface\AddOns\Details\images\bar_serenity]]} --death parser - for index, event in ipairs(eventos) do + for index, event in _ipairs (eventos) do - local hp = _math_floor(event[5]/hp_max*100) + local hp = _math_floor (event[5]/hp_max*100) if (hp > 100) then hp = 100 end local evtype = event [1] - local spellname, _, spellicon = _GetSpellInfo(event [2]) + local spellname, _, spellicon = _GetSpellInfo (event [2]) local amount = event [3] - local timeInSeconds = event [4] + local time = event [4] local source = event [6] - if (type(evtype) == "boolean") then - --is damage or heal + if (type (evtype) == "boolean") then + --> is damage or heal if (evtype) then - --damage + --> damage local overkill = event [10] or 0 if (overkill > 0) then @@ -656,52 +656,52 @@ end overkill = "" end - if (source:find("%[")) then - source = source:gsub("%[%*%] ", "") + if (source:find ("%[")) then + source = source:gsub ("%[%*%] ", "") end - GameCooltip:AddLine("" .. _cstr ("%.1f", timeInSeconds - hora_da_morte) .. "s " .. spellname .. " (" .. source .. ")", "-" .. _detalhes:ToK (amount) .. overkill .. " (" .. hp .. "%)", 1, "white", "white") + GameCooltip:AddLine ("" .. _cstr ("%.1f", time - hora_da_morte) .. "s " .. spellname .. " (" .. source .. ")", "-" .. _detalhes:ToK (amount) .. overkill .. " (" .. hp .. "%)", 1, "white", "white") GameCooltip:AddIcon (spellicon, 1, 1, 16, 16, .1, .9, .1, .9) if (event [9]) then - --friendly fire + --> friendly fire GameCooltip:AddStatusBar (hp, 1, "darkorange", true, statusBarBackground) else - --from a enemy + --> from a enemy GameCooltip:AddStatusBar (hp, 1, "red", true, statusBarBackground) end else - --heal - local class = Details:GetClass(source) - local spec = Details:GetSpec(source) + --> heal + local class = Details:GetClass (source) + local spec = Details:GetSpec (source) - GameCooltip:AddLine("" .. _cstr ("%.1f", timeInSeconds - hora_da_morte) .. "s " .. spellname .. " (" .. Details:GetOnlyName(Details:AddClassOrSpecIcon (source, class, spec, 16, true)) .. ")", "+" .. _detalhes:ToK (amount) .. " (" .. hp .. "%)", 1, "white", "white") + GameCooltip:AddLine ("" .. _cstr ("%.1f", time - hora_da_morte) .. "s " .. spellname .. " (" .. Details:GetOnlyName (Details:AddClassOrSpecIcon (source, class, spec, 16, true)) .. ")", "+" .. _detalhes:ToK (amount) .. " (" .. hp .. "%)", 1, "white", "white") GameCooltip:AddIcon (spellicon, 1, 1, 16, 16, .1, .9, .1, .9) GameCooltip:AddStatusBar (hp, 1, "green", true, statusBarBackground) end - elseif (type(evtype) == "number") then + elseif (type (evtype) == "number") then if (evtype == 1) then - --cooldown - GameCooltip:AddLine("" .. _cstr ("%.1f", timeInSeconds - hora_da_morte) .. "s " .. spellname .. " (" .. source .. ")", "cooldown (" .. hp .. "%)", 1, "white", "white") + --> cooldown + GameCooltip:AddLine ("" .. _cstr ("%.1f", time - hora_da_morte) .. "s " .. spellname .. " (" .. source .. ")", "cooldown (" .. hp .. "%)", 1, "white", "white") GameCooltip:AddIcon (spellicon, 1, 1, 16, 16, .1, .9, .1, .9) GameCooltip:AddStatusBar (100, 1, "yellow", true, statusBarBackground) elseif (evtype == 2 and not battleress) then - --battle ress + --> battle ress battleress = event elseif (evtype == 3) then - --last cooldown used + --> last cooldown used lastcooldown = event elseif (evtype == 4) then - --debuff - if (source:find("%[")) then - source = source:gsub("%[%*%] ", "") + --> debuff + if (source:find ("%[")) then + source = source:gsub ("%[%*%] ", "") end - GameCooltip:AddLine("" .. _cstr ("%.1f", timeInSeconds - hora_da_morte) .. "s [x" .. amount .. "] " .. spellname .. " (" .. source .. ")", "debuff (" .. hp .. "%)", 1, "white", "white") + GameCooltip:AddLine ("" .. _cstr ("%.1f", time - hora_da_morte) .. "s [x" .. amount .. "] " .. spellname .. " (" .. source .. ")", "debuff (" .. hp .. "%)", 1, "white", "white") GameCooltip:AddIcon (spellicon, 1, 1, 16, 16, .1, .9, .1, .9) GameCooltip:AddStatusBar (100, 1, "purple", true, statusBarBackground) @@ -709,64 +709,64 @@ end end end - GameCooltip:AddLine(deathTable [6] .. " " .. "died" , "-- -- -- ", 1, "white") + GameCooltip:AddLine (deathTable [6] .. " " .. "died" , "-- -- -- ", 1, "white") GameCooltip:AddIcon ("Interface\\AddOns\\Details\\images\\small_icons", 1, 1, iconSize, iconSize, .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]]}) if (battleress) then - local nome_magia, _, icone_magia = _GetSpellInfo(battleress [2]) - GameCooltip:AddLine("+" .. _cstr ("%.1f", battleress[4] - hora_da_morte) .. "s " .. nome_magia .. " (" .. battleress[6] .. ")", "", 1, "white") + 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"] .. ")") + 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: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 --death log cooltip settings - GameCooltip:SetOption("StatusBarHeightMod", -6) - GameCooltip:SetOption("FixedWidth", 400) - GameCooltip:SetOption("TextSize", 10) - GameCooltip:SetOption("LeftBorderSize", -4) - GameCooltip:SetOption("RightBorderSize", 5) - GameCooltip:SetOption("StatusBarTexture", [[Interface\AddOns\Details\images\bar_serenity]]) - GameCooltip:SetBackdrop(1, _detalhes.cooltip_preset2_backdrop, bgColor, borderColor) - - GameCooltip:SetOwner(row, "bottomright", "bottomleft", -2, -50) + GameCooltip:SetOption ("StatusBarHeightMod", -6) + GameCooltip:SetOption ("FixedWidth", 400) + GameCooltip:SetOption ("TextSize", 10) + GameCooltip:SetOption ("LeftBorderSize", -4) + GameCooltip:SetOption ("RightBorderSize", 5) + GameCooltip:SetOption ("StatusBarTexture", [[Interface\AddOns\Details\images\bar_serenity]]) + GameCooltip:SetBackdrop (1, _detalhes.cooltip_preset2_backdrop, bgColor, borderColor) + + GameCooltip:SetOwner (row, "bottomright", "bottomleft", -2, -50) row.OverlayTexture:Show() GameCooltip:ShowCooltip() end ---custom tooltip for dispells details --------------------------------------------------------------------------------------------------------- +--> custom tooltip for dispells details --------------------------------------------------------------------------------------------------------- local function DispellInfo (dispell, barra) - local jogadores = dispell [1] --[nome od jogador] = total + local jogadores = dispell [1] --> [nome od jogador] = total local tabela_jogadores = {} - for nome, tabela in pairs(jogadores) do --tabela = [1] total tomado [2] classe + for nome, tabela in _pairs (jogadores) do --> tabela = [1] total tomado [2] classe tabela_jogadores [#tabela_jogadores + 1] = {nome, tabela [1], tabela [2]} end _table_sort (tabela_jogadores, _detalhes.Sort2) - for index, tabela in ipairs(tabela_jogadores) do + for index, tabela in _ipairs (tabela_jogadores) do local coords = EncounterDetails.class_coords [tabela[3]] if (not coords) then - GameCooltip:AddLine(EncounterDetails:GetOnlyName(tabela[1]), tabela[2], 1, "white", "orange") + GameCooltip:AddLine (EncounterDetails:GetOnlyName (tabela[1]), tabela[2], 1, "white", "orange") GameCooltip:AddIcon ("Interface\\GossipFrame\\DailyActiveQuestIcon") else - GameCooltip:AddLine(EncounterDetails:GetOnlyName(tabela[1]), tabela[2], 1, "white", "orange") + GameCooltip:AddLine (EncounterDetails:GetOnlyName (tabela[1]), tabela[2], 1, "white", "orange") - local specID = Details:GetSpec(tabela[1]) + local specID = Details:GetSpec (tabela[1]) if (specID) then local texture, l, r, t, b = Details:GetSpecIcon (specID, false) GameCooltip:AddIcon (texture, 1, 1, EncounterDetails.CooltipLineHeight, EncounterDetails.CooltipLineHeight, l, r, t, b) @@ -776,39 +776,39 @@ local function DispellInfo (dispell, barra) end end - local spellname = GetSpellInfo(barra.spellid) + local spellname = GetSpellInfo (barra.spellid) if (spellname) then - GameTooltip:SetOwner(GameCooltipFrame1, "ANCHOR_NONE") - GameTooltip:SetSpellByID(barra.spellid) - GameTooltip:SetPoint("topright", GameCooltipFrame1, "topleft", -2, 0) + GameTooltip:SetOwner (GameCooltipFrame1, "ANCHOR_NONE") + GameTooltip:SetSpellByID (barra.spellid) + GameTooltip:SetPoint ("topright", GameCooltipFrame1, "topleft", -2, 0) GameTooltip:Show() end end ---custom tooltip for kick details --------------------------------------------------------------------------------------------------------- +--> custom tooltip for kick details --------------------------------------------------------------------------------------------------------- local function KickBy (magia, barra) - local jogadores = magia [1] --[nome od jogador] = total + local jogadores = magia [1] --> [nome od jogador] = total local tabela_jogadores = {} - for nome, tabela in pairs(jogadores) do --tabela = [1] total tomado [2] classe + for nome, tabela in _pairs (jogadores) do --> tabela = [1] total tomado [2] classe tabela_jogadores [#tabela_jogadores + 1] = {nome, tabela [1], tabela [2]} end _table_sort (tabela_jogadores, _detalhes.Sort2) - local spellName, _, spellIcon = GetSpellInfo(barra.lineText1:GetText()) - GameCooltip:AddLine(barra.lineText1:GetText()) + local spellName, _, spellIcon = GetSpellInfo (barra.lineText1:GetText()) + GameCooltip:AddLine (barra.lineText1:GetText()) if (spellIcon) then GameCooltip:AddIcon (spellIcon, nil, 1, EncounterDetails.CooltipLineHeight, EncounterDetails.CooltipLineHeight, 5/64, 59/64, 5/64, 59/64) end - for index, tabela in ipairs(tabela_jogadores) do + for index, tabela in _ipairs (tabela_jogadores) do local coords = EncounterDetails.class_coords [tabela[3]] - GameCooltip:AddLine(EncounterDetails:GetOnlyName(tabela[1]), tabela[2], 1, "white") + GameCooltip:AddLine (EncounterDetails:GetOnlyName (tabela[1]), tabela[2], 1, "white") - local specID = Details:GetSpec(tabela[1]) + local specID = Details:GetSpec (tabela[1]) if (specID) then local texture, l, r, t, b = Details:GetSpecIcon (specID, false) GameCooltip:AddIcon (texture, 1, 1, EncounterDetails.CooltipLineHeight, EncounterDetails.CooltipLineHeight, l, r, t, b) @@ -819,55 +819,55 @@ local function KickBy (magia, barra) GameCooltip:AddStatusBar (100, 1, .3, .3, .3, .3, false, false, false) end - local spellname = GetSpellInfo(barra.spellid) + local spellname = GetSpellInfo (barra.spellid) if (spellname) then - GameTooltip:SetOwner(GameCooltipFrame1, "ANCHOR_NONE") - GameTooltip:SetSpellByID(barra.spellid) - GameTooltip:SetPoint("topright", GameCooltipFrame1, "topleft", -2, 0) + GameTooltip:SetOwner (GameCooltipFrame1, "ANCHOR_NONE") + GameTooltip:SetSpellByID (barra.spellid) + GameTooltip:SetPoint ("topright", GameCooltipFrame1, "topleft", -2, 0) GameTooltip:Show() end end ---custom tooltip for enemy abilities details --------------------------------------------------------------------------------------------------------- +--> custom tooltip for enemy abilities details --------------------------------------------------------------------------------------------------------- local function EnemySkills (habilidade, barra) - --barra.jogador agora tem a tabela com --[1] total dano causado [2] jogadores que foram alvos [3] jogadores que castaram essa magia [4] ID da magia + --> barra.jogador agora tem a tabela com --> [1] total dano causado [2] jogadores que foram alvos [3] jogadores que castaram essa magia [4] ID da magia local total = habilidade [1] - local jogadores = habilidade [2] --[nome od jogador] = total + local jogadores = habilidade [2] --> [nome od jogador] = total local tabela_jogadores = {} local total = 0 - for nome, tabela in pairs(jogadores) do --tabela = [1] total tomado [2] classe + for nome, tabela in _pairs (jogadores) do --> tabela = [1] total tomado [2] classe tabela_jogadores [#tabela_jogadores + 1] = {nome, tabela[1], tabela[2]} total = total + tabela[1] end _table_sort (tabela_jogadores, _detalhes.Sort2) - GameCooltip:AddLine(barra.lineText1:GetText() .. " Damage Done") + GameCooltip:AddLine (barra.lineText1:GetText() .. " Damage Done") local ToK = _detalhes.ToKFunctions [_detalhes.ps_abbreviation] local topValue = tabela_jogadores [1] and tabela_jogadores [1][2] - for index, tabela in ipairs(tabela_jogadores) do + for index, tabela in _ipairs (tabela_jogadores) do local coords = EncounterDetails.class_coords [tabela[3]] - GameCooltip:AddLine(EncounterDetails:GetOnlyName(tabela[1]), ToK (_, tabela[2]) .. " (" .. format("%.1f", tabela[2] / total * 100) .. "%)", 1, "white") - local r, g, b, a = unpack(_detalhes.tooltip.background) + GameCooltip:AddLine (EncounterDetails:GetOnlyName (tabela[1]), ToK (_, tabela[2]) .. " (" .. format ("%.1f", tabela[2] / total * 100) .. "%)", 1, "white") + local r, g, b, a = unpack (_detalhes.tooltip.background) - local actorClass = Details:GetClass(tabela[1]) + local actorClass = Details:GetClass (tabela[1]) if (actorClass) then - local r, g, b = Details:GetClassColor(actorClass) + local r, g, b = Details:GetClassColor (actorClass) GameCooltip:AddStatusBar (tabela[2] / topValue * 100, 1, r, g, b, EncounterDetailsFrame.CooltipStatusbarAlpha, false, {value = 100, color = {.21, .21, .21, 0.5}, texture = [[Interface\AddOns\Details\images\bar_serenity]]}) else GameCooltip:AddStatusBar (tabela[2] / topValue * 100, 1, r, g, b, a, false, {value = 100, color = {.21, .21, .21, 0.8}, texture = [[Interface\AddOns\Details\images\bar_serenity]]}) end - local specID = Details:GetSpec(tabela[1]) + local specID = Details:GetSpec (tabela[1]) if (specID) then local texture, l, r, t, b = Details:GetSpecIcon (specID, false) GameCooltip:AddIcon (texture, 1, 1, EncounterDetails.CooltipLineHeight - 0, EncounterDetails.CooltipLineHeight - 0, l, r, t, b) @@ -878,35 +878,35 @@ local function EnemySkills (habilidade, barra) end end - local spellname = GetSpellInfo(barra.spellid) + local spellname = GetSpellInfo (barra.spellid) if (spellname) then - GameTooltip:SetOwner(GameCooltipFrame1, "ANCHOR_NONE") - GameTooltip:SetSpellByID(barra.spellid) - GameTooltip:SetPoint("right", barra, "left", -2, 0) + GameTooltip:SetOwner (GameCooltipFrame1, "ANCHOR_NONE") + GameTooltip:SetSpellByID (barra.spellid) + GameTooltip:SetPoint ("right", barra, "left", -2, 0) GameTooltip:Show() end - GameCooltip:SetOwner(barra, "left", "right", 2, 0) + GameCooltip:SetOwner (barra, "left", "right", 2, 0) end ---custom tooltip for damage taken details --------------------------------------------------------------------------------------------------------- +--> custom tooltip for damage taken details --------------------------------------------------------------------------------------------------------- local function DamageTakenDetails (jogador, barra) local agressores = jogador.damage_from local damage_taken = jogador.damage_taken - local showing = _combat_object [class_type_damage] --o que esta sendo mostrado -> [1] - dano [2] - cura --pega o container com ._NameIndexTable ._ActorTable + local showing = _combat_object [class_type_damage] --> o que esta sendo mostrado -> [1] - dano [2] - cura --> pega o container com ._NameIndexTable ._ActorTable local meus_agressores = {} - for nome, _ in pairs(agressores) do --agressores seria a lista de nomes + 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 + if (este_agressor) then --> checagem por causa do total e do garbage collector que n�o limpa os nomes que deram dano local habilidades = este_agressor.spells._ActorTable - for id, habilidade in pairs(habilidades) do + for id, habilidade in _pairs (habilidades) do local alvos = habilidade.targets - for target_name, amount in pairs(alvos) do + for target_name, amount in _pairs (alvos) do if (target_name == jogador.nome) then meus_agressores [#meus_agressores+1] = {id, amount, este_agressor.nome} end @@ -917,7 +917,7 @@ local function DamageTakenDetails (jogador, barra) _table_sort (meus_agressores, _detalhes.Sort2) - GameCooltip:AddLine(barra.lineText1:GetText() .. " Damage Taken") + GameCooltip:AddLine (barra.lineText1:GetText() .. " Damage Taken") local max = #meus_agressores if (max > 20) then @@ -930,34 +930,34 @@ local function DamageTakenDetails (jogador, barra) local topDamage = meus_agressores[1] and meus_agressores[1][2] for i = 1, max do - local nome_magia, _, icone_magia = _GetSpellInfo(meus_agressores[i][1]) + local nome_magia, _, icone_magia = _GetSpellInfo (meus_agressores[i][1]) if (meus_agressores[i][1] == 1) then nome_magia = "*"..meus_agressores[i][3] teve_melee = true end - GameCooltip:AddLine(nome_magia, ToK (_, meus_agressores[i][2]) .. " (".._cstr("%.1f", (meus_agressores[i][2]/damage_taken) * 100).."%)", 1, "white") + GameCooltip:AddLine (nome_magia, ToK (_, meus_agressores[i][2]) .. " (".._cstr("%.1f", (meus_agressores[i][2]/damage_taken) * 100).."%)", 1, "white") GameCooltip:AddStatusBar (meus_agressores[i][2] / topDamage * 100, 1, .55, .55, .55, .834, false, {value = 100, color = {.21, .21, .21, 0.8}, texture = [[Interface\AddOns\Details\images\bar_serenity]]}) GameCooltip:AddIcon (icone_magia, nil, 1, EncounterDetails.CooltipLineHeight - 0, EncounterDetails.CooltipLineHeight - 0, .1, .9, .1, .9) end if (teve_melee) then - GameTooltip:AddLine("* "..Loc ["STRING_MELEE_DAMAGE"], 0, 1, 0) + GameTooltip:AddLine ("* "..Loc ["STRING_MELEE_DAMAGE"], 0, 1, 0) end - GameCooltip:SetOwner(barra, "left", "right", 2, 0) + GameCooltip:SetOwner (barra, "left", "right", 2, 0) end ---custom tooltip clicks on any bar --------------------------------------------------------------------------------------------------------- +--> custom tooltip clicks on any bar --------------------------------------------------------------------------------------------------------- function _detalhes:BossInfoRowClick (barra, param1) - if (type(self) == "table") then + if (type (self) == "table") then barra, param1 = self, barra end - if (type(param1) == "table") then + if (type (param1) == "table") then barra = param1 end @@ -967,7 +967,7 @@ function _detalhes:BossInfoRowClick (barra, param1) local reportar - if (barra.TTT == "morte" or true) then --deaths -- todos os boxes est�o usando cooltip, por isso o 'true'. + if (barra.TTT == "morte" or true) then --> deaths -- todos os boxes est�o usando cooltip, por isso o 'true'. reportar = {barra.report_text .. " " .. (barra.lineText1 and barra.lineText1:GetText() or barra:GetParent() and barra:GetParent().lineText1 and barra:GetParent().lineText1:GetText() or "")} local beginAt = 1 @@ -979,7 +979,7 @@ function _detalhes:BossInfoRowClick (barra, param1) local texto_left, texto_right = GameCooltip:GetText (i) if (texto_left and texto_right) then - texto_left = texto_left:gsub(("|T(.*)|t "), "") + texto_left = texto_left:gsub (("|T(.*)|t "), "") reportar [#reportar+1] = ""..texto_left.." "..texto_right.."" end end @@ -999,7 +999,7 @@ function _detalhes:BossInfoRowClick (barra, param1) texto_right = texto_right:GetText() if (texto_left and texto_right) then - texto_left = texto_left:gsub(("|T(.*)|t "), "") + texto_left = texto_left:gsub (("|T(.*)|t "), "") reportar [#reportar+1] = ""..texto_left.." "..texto_right.."" end end @@ -1009,29 +1009,29 @@ function _detalhes:BossInfoRowClick (barra, param1) end ---custom tooltip that handle mouse enter and leave on customized rows --------------------------------------------------------------------------------------------------------- +--> custom tooltip that handle mouse enter and leave on customized rows --------------------------------------------------------------------------------------------------------- local backdrop_bar_onenter = {bgFile = [[Interface\AddOns\Details\images\background]], tile = true, tileSize = 16, edgeFile = "Interface\\DialogFrame\\UI-DialogBox-Border", edgeSize = 8, insets = {left = 1, right = 1, top = 0, bottom = 1}} local backdrop_bar_onleave = {bgFile = [[Interface\AddOns\Details\images\background]], tile = true, tileSize = 16, insets = {left = 1, right = 1, top = 0, bottom = 1}} function EncounterDetails:SetRowScripts (barra, index, container) - barra:SetScript("OnMouseDown", function(self) + barra:SetScript ("OnMouseDown", function (self) if (self.fading_in) then return end - self.mouse_down = GetTime() + self.mouse_down = _GetTime() local x, y = _GetCursorPosition() - self.x = _math_floor(x) - self.y = _math_floor(y) + self.x = _math_floor (x) + self.y = _math_floor (y) --EncounterDetailsFrame:StartMoving() EncounterDetailsFrame.isMoving = true end) - barra:SetScript("OnMouseUp", function(self) + barra:SetScript ("OnMouseUp", function (self) if (self.fading_in) then return @@ -1040,43 +1040,43 @@ function EncounterDetails:SetRowScripts (barra, index, container) if (EncounterDetailsFrame.isMoving) then --EncounterDetailsFrame:GetParent():StopMovingOrSizing() EncounterDetailsFrame.isMoving = false - --instancia:SaveMainWindowPosition() --precisa fazer algo pra salvar o trem + --instancia:SaveMainWindowPosition() --> precisa fazer algo pra salvar o trem end local x, y = _GetCursorPosition() - x = _math_floor(x) - y = _math_floor(y) + x = _math_floor (x) + y = _math_floor (y) - if ((self.mouse_down+0.4 > GetTime() and (x == self.x and y == self.y)) or (x == self.x and y == self.y)) then + if ((self.mouse_down+0.4 > _GetTime() and (x == self.x and y == self.y)) or (x == self.x and y == self.y)) then _detalhes:BossInfoRowClick (self) end end) - barra:SetScript("OnEnter", --MOUSE OVER - function(self) - --aqui 1 + barra:SetScript ("OnEnter", --> MOUSE OVER + function (self) + --> aqui 1 if (container.fading_in or container.faded) then return end self.mouse_over = true - self:SetHeight(EncounterDetails.Frame.DefaultBarHeight + 1) - self:SetAlpha(1) + self:SetHeight (EncounterDetails.Frame.DefaultBarHeight + 1) + self:SetAlpha (1) EncounterDetails.SetBarBackdrop_OnEnter (self) - --GameTooltip:SetOwner(self, "ANCHOR_TOPRIGHT") - GameCooltip:Preset(2) - GameCooltip:SetOwner(self) + --GameTooltip:SetOwner (self, "ANCHOR_TOPRIGHT") + GameCooltip:Preset (2) + GameCooltip:SetOwner (self) EncounterDetails:FormatCooltipSettings() - if (not self.TTT) then --tool tip type + if (not self.TTT) then --> tool tip type return end - if (self.TTT == "damage_taken") then --damage taken + if (self.TTT == "damage_taken") then --> damage taken DamageTakenDetails (self.jogador, barra) - elseif (self.TTT == "habilidades_inimigas") then --enemy abilytes + elseif (self.TTT == "habilidades_inimigas") then --> enemy abilytes self.spellid = self.jogador [4] EnemySkills (self.jogador, self) @@ -1088,24 +1088,24 @@ function EncounterDetails:SetRowScripts (barra, index, container) self.spellid = self.jogador [3] DispellInfo (self.jogador, self) - elseif (self.TTT == "morte") then --deaths - KillInfo (self.jogador, self) --aqui 2 + elseif (self.TTT == "morte") then --> deaths + KillInfo (self.jogador, self) --> aqui 2 end GameCooltip:Show() end) - barra:SetScript("OnLeave", --MOUSE OUT - function(self) + barra:SetScript ("OnLeave", --> MOUSE OUT + function (self) - self:SetScript("OnUpdate", nil) + self:SetScript ("OnUpdate", nil) if (self.fading_in or self.faded or not self:IsShown() or self.hidden) then return end - self:SetHeight(EncounterDetails.Frame.DefaultBarHeight) - self:SetAlpha(0.9) + self:SetHeight (EncounterDetails.Frame.DefaultBarHeight) + self:SetAlpha (0.9) EncounterDetails.SetBarBackdrop_OnLeave (self) @@ -1118,7 +1118,7 @@ function EncounterDetails:SetRowScripts (barra, index, container) end) end ---Here start the data mine --------------------------------------------------------------------------------------------------------- +--> Here start the data mine --------------------------------------------------------------------------------------------------------- function EncounterDetails:OpenAndRefresh (_, segment) local frame = EncounterDetailsFrame --alias @@ -1133,7 +1133,7 @@ function EncounterDetails:OpenAndRefresh (_, segment) EncounterDetailsFrame.ShowType = EncounterDetails.db.last_section_selected if (segment) then - _combat_object = EncounterDetails:GetCombat(segment) + _combat_object = EncounterDetails:GetCombat (segment) EncounterDetails._segment = segment DebugMessage ("there's a segment to use:", segment, _combat_object, _combat_object and _combat_object.is_boss) @@ -1144,14 +1144,14 @@ function EncounterDetails:OpenAndRefresh (_, segment) local historico = _detalhes.tabela_historico.tabelas local foundABoss = false - for index, combate in ipairs(historico) do + for index, combate in ipairs (historico) do if (combate.is_boss and combate.is_boss.index) then EncounterDetails._segment = index _combat_object = combate DebugMessage ("segment found: ", index, combate:GetCombatName(), combate.is_trash) --the first segment found here will be the first segment the dropdown found, so it can use the index 1 of the dropdown list - _G [frame:GetName().."SegmentsDropdown"].MyObject:Select(1, true) + _G [frame:GetName().."SegmentsDropdown"].MyObject:Select (1, true) foundABoss = index break @@ -1164,7 +1164,7 @@ function EncounterDetails:OpenAndRefresh (_, segment) end if (not _combat_object) then - --EncounterDetails:Msg("no combat found.") + --EncounterDetails:Msg ("no combat found.") DebugMessage ("_combat_object is nil, EXIT") return end @@ -1190,13 +1190,13 @@ function EncounterDetails:OpenAndRefresh (_, segment) DebugMessage ("_combat_object is not a boss, trying another loop in the segments") local foundSegment - for index, combat in ipairs(EncounterDetails:GetCombatSegments()) do + for index, combat in _ipairs (EncounterDetails:GetCombatSegments()) do if (combat.is_boss and EncounterDetails:GetBossDetails (combat.is_boss.mapid, combat.is_boss.index)) then _combat_object = combat --the first segment found here will be the first segment the dropdown found, so it can use the index 1 of the dropdown list - _G [frame:GetName().."SegmentsDropdown"].MyObject:Select(1, true) + _G [frame:GetName().."SegmentsDropdown"].MyObject:Select (1, true) DebugMessage ("found another segment during another loop", index, combat:GetCombatName(), combat.is_trash) foundSegment = true @@ -1220,7 +1220,7 @@ function EncounterDetails:OpenAndRefresh (_, segment) end end - --the segment is a boss + --> the segment is a boss boss_id = _combat_object.is_boss.index map_id = _combat_object.is_boss.mapid @@ -1244,8 +1244,8 @@ function EncounterDetails:OpenAndRefresh (_, segment) EncounterDetails.LastSegmentShown = _combat_object -------------- set boss name and zone name -------------- - EncounterDetailsFrame.boss_name:SetText(_combat_object.is_boss.encounter) - EncounterDetailsFrame.raid_name:SetText(_combat_object.is_boss.zone) + EncounterDetailsFrame.boss_name:SetText (_combat_object.is_boss.encounter) + EncounterDetailsFrame.raid_name:SetText (_combat_object.is_boss.zone) -------------- set portrait and background image -------------- @@ -1253,31 +1253,31 @@ function EncounterDetails:OpenAndRefresh (_, segment) local L, R, T, B, Texture = EncounterDetails:GetBossIcon (mapID, _combat_object.is_boss.index) if (L) then - EncounterDetailsFrame.boss_icone:SetTexture(Texture) - EncounterDetailsFrame.boss_icone:SetTexCoord(L, R, T, B) + EncounterDetailsFrame.boss_icone:SetTexture (Texture) + EncounterDetailsFrame.boss_icone:SetTexCoord (L, R, T, B) else - EncounterDetailsFrame.boss_icone:SetTexture([[Interface\CHARACTERFRAME\TempPortrait]]) - EncounterDetailsFrame.boss_icone:SetTexCoord(0, 1, 0, 1) + EncounterDetailsFrame.boss_icone:SetTexture ([[Interface\CHARACTERFRAME\TempPortrait]]) + EncounterDetailsFrame.boss_icone:SetTexCoord (0, 1, 0, 1) end --[=[ local file, L, R, T, B = EncounterDetails:GetRaidBackground (_combat_object.is_boss.mapid) if (file) then - EncounterDetailsFrame.raidbackground:SetTexture(file) - EncounterDetailsFrame.raidbackground:SetTexCoord(L, R, T, B) + EncounterDetailsFrame.raidbackground:SetTexture (file) + EncounterDetailsFrame.raidbackground:SetTexCoord (L, R, T, B) else - EncounterDetailsFrame.raidbackground:SetTexture([[Interface\Glues\LOADINGSCREENS\LoadScreenDungeon]]) - EncounterDetailsFrame.raidbackground:SetTexCoord(0, 1, 120/512, 408/512) + EncounterDetailsFrame.raidbackground:SetTexture ([[Interface\Glues\LOADINGSCREENS\LoadScreenDungeon]]) + EncounterDetailsFrame.raidbackground:SetTexCoord (0, 1, 120/512, 408/512) end --]=] - EncounterDetailsFrame.raidbackground:SetTexture(.3, .3, .3, .5) + EncounterDetailsFrame.raidbackground:SetTexture (.3, .3, .3, .5) -------------- set totals on down frame -------------- --[[ data mine: _combat_object ["totals_grupo"] hold the total [1] damage // [2] heal // [3] [energy_name] energies // [4] [misc_name] miscs --]] - --Container Overall Damage Taken ~damagetaken ~damage taken + --> Container Overall Damage Taken ~damagetaken ~damage taken --[[ data mine: combat tables have 4 containers [1] damage [2] heal [3] energy [4] misc each container have 2 tables: ._NameIndexTable and ._ActorTable --]] local DamageContainer = _combat_object [class_type_damage] @@ -1289,10 +1289,10 @@ function EncounterDetails:OpenAndRefresh (_, segment) local quantidade = 0 local dano_do_primeiro = 0 - for index, jogador in ipairs(DamageContainer._ActorTable) do - --ta em ordem de quem tomou mais dano. + for index, jogador in _ipairs (DamageContainer._ActorTable) do + --> ta em ordem de quem tomou mais dano. - if (not jogador.grupo) then --s� aparecer nego da raid + if (not jogador.grupo) then --> s� aparecer nego da raid break end @@ -1300,42 +1300,42 @@ function EncounterDetails:OpenAndRefresh (_, segment) local barra = container.barras [index] if (not barra) then barra = EncounterDetails:CreateRow (index, container, 1, 0, -1) - _detalhes:SetFontSize(barra.lineText1, CONST_FONT_SIZE) - _detalhes:SetFontSize(barra.lineText4, CONST_FONT_SIZE) - barra.TTT = "damage_taken" -- tool tip type --damage taken + _detalhes:SetFontSize (barra.lineText1, CONST_FONT_SIZE) + _detalhes:SetFontSize (barra.lineText4, CONST_FONT_SIZE) + barra.TTT = "damage_taken" -- tool tip type --> damage taken barra.report_text = Loc ["STRING_PLUGIN_NAME"].."! "..Loc ["STRING_DAMAGE_TAKEN_REPORT"] end - if (jogador.nome:find("-")) then - barra.lineText1:SetText(jogador.nome:gsub(("-.*"), "")) + if (jogador.nome:find ("-")) then + barra.lineText1:SetText (jogador.nome:gsub (("-.*"), "")) else - barra.lineText1:SetText(jogador.nome) + barra.lineText1:SetText (jogador.nome) end - barra.lineText4:SetText(ToK (_, jogador.damage_taken)) + barra.lineText4:SetText (ToK (_, jogador.damage_taken)) _detalhes:name_space (barra) barra.jogador = jogador - barra.textura:SetStatusBarColor(_unpack(_detalhes.class_colors [jogador.classe])) + barra.textura:SetStatusBarColor (_unpack (_detalhes.class_colors [jogador.classe])) if (index == 1) then - barra.textura:SetValue(100) + barra.textura:SetValue (100) dano_do_primeiro = jogador.damage_taken else - barra.textura:SetValue(jogador.damage_taken/dano_do_primeiro *100) + barra.textura:SetValue (jogador.damage_taken/dano_do_primeiro *100) end - local specID = Details:GetSpec(jogador.nome) + local specID = Details:GetSpec (jogador.nome) if (specID) then local texture, l, r, t, b = Details:GetSpecIcon (specID, false) - barra.icone:SetTexture(texture) - barra.icone:SetTexCoord(l, r, t, b) + barra.icone:SetTexture (texture) + barra.icone:SetTexCoord (l, r, t, b) else - barra.icone:SetTexture("Interface\\AddOns\\Details\\images\\classes_small") + barra.icone:SetTexture ("Interface\\AddOns\\Details\\images\\classes_small") if (EncounterDetails.class_coords [jogador.classe]) then - barra.icone:SetTexCoord(_unpack(EncounterDetails.class_coords [jogador.classe])) + barra.icone:SetTexCoord (_unpack (EncounterDetails.class_coords [jogador.classe])) end end @@ -1355,25 +1355,25 @@ function EncounterDetails:OpenAndRefresh (_, segment) end end - --Fim do container Overall Damage Taken + --> Fim do container Overall Damage Taken - --Container Overall Habilidades Inimigas ~damage taken by spell + --> Container Overall Habilidades Inimigas ~damage taken by spell local habilidades_poll = {} - --pega as magias cont�nuas presentes em todas as fases + --> pega as magias cont�nuas presentes em todas as fases --deprecated if (boss_info and boss_info.continuo) then - for index, spellid in ipairs(boss_info.continuo) do + for index, spellid in _ipairs (boss_info.continuo) do habilidades_poll [spellid] = true end end - --pega as habilidades que pertence especificamente a cada fase + --> pega as habilidades que pertence especificamente a cada fase --deprecated if (boss_info and boss_info.phases) then - for fase_id, fase in ipairs(boss_info.phases) do + for fase_id, fase in _ipairs (boss_info.phases) do if (fase.spells) then - for index, spellid in ipairs(fase.spells) do + for index, spellid in _ipairs (fase.spells) do habilidades_poll [spellid] = true end end @@ -1382,14 +1382,14 @@ function EncounterDetails:OpenAndRefresh (_, segment) local habilidades_usadas = {} local have_pool = false - for spellid, _ in pairs(habilidades_poll) do + for spellid, _ in _pairs (habilidades_poll) do have_pool = true break end - for index, jogador in ipairs(DamageContainer._ActorTable) do + for index, jogador in _ipairs (DamageContainer._ActorTable) do - --get all spells from neutral and hostile npcs + --> get all spells from neutral and hostile npcs if ( _bit_band (jogador.flag_original, 0x00000060) ~= 0 and --is neutral or hostile (not jogador.owner or (_bit_band (jogador.owner.flag_original, 0x00000060) ~= 0 and not jogador.owner.grupo and _bit_band (jogador.owner.flag_original, 0x00000400) == 0)) and --isn't a pet or the owner isn't a player @@ -1399,30 +1399,30 @@ function EncounterDetails:OpenAndRefresh (_, segment) local habilidades = jogador.spells._ActorTable - for id, habilidade in pairs(habilidades) do + for id, habilidade in _pairs (habilidades) do --if (habilidades_poll [id]) then - --esse jogador usou uma habilidade do boss - local esta_habilidade = habilidades_usadas [id] --tabela n�o numerica, pq diferentes monstros podem castar a mesma magia + --> esse jogador usou uma habilidade do boss + local esta_habilidade = habilidades_usadas [id] --> tabela n�o numerica, pq diferentes monstros podem castar a mesma magia if (not esta_habilidade) then - esta_habilidade = {0, {}, {}, id} --[1] total dano causado [2] jogadores que foram alvos [3] jogadores que castaram essa magia [4] ID da magia + esta_habilidade = {0, {}, {}, id} --> [1] total dano causado [2] jogadores que foram alvos [3] jogadores que castaram essa magia [4] ID da magia habilidades_usadas [id] = esta_habilidade end - --adiciona ao [1] total de dano que esta habilidade causou + --> adiciona ao [1] total de dano que esta habilidade causou esta_habilidade[1] = esta_habilidade[1] + habilidade.total - --adiciona ao [3] total do jogador que castou + --> adiciona ao [3] total do jogador que castou if (not esta_habilidade[3][jogador.nome]) then esta_habilidade[3][jogador.nome] = 0 end esta_habilidade[3][jogador.nome] = esta_habilidade[3][jogador.nome] + habilidade.total - --pega os alvos e adiciona ao [2] + --> pega os alvos e adiciona ao [2] local alvos = habilidade.targets - for target_name, amount in pairs(alvos) do + for target_name, amount in _pairs (alvos) do - --ele tem o nome do jogador, vamos ver se este alvo � realmente um jogador verificando na tabela do combate + --> ele tem o nome do jogador, vamos ver se este alvo � realmente um jogador verificando na tabela do combate local tabela_dano_do_jogador = DamageContainer._ActorTable [DamageContainer._NameIndexTable [target_name]] if (tabela_dano_do_jogador and tabela_dano_do_jogador.grupo) then if (not esta_habilidade[2] [target_name]) then @@ -1435,33 +1435,33 @@ function EncounterDetails:OpenAndRefresh (_, segment) end elseif (have_pool) then - --check if the spell id is in the spell poll. + --> check if the spell id is in the spell poll. local habilidades = jogador.spells._ActorTable - for id, habilidade in pairs(habilidades) do + for id, habilidade in _pairs (habilidades) do if (habilidades_poll [id]) then - --esse jogador usou uma habilidade do boss - local esta_habilidade = habilidades_usadas [id] --tabela n�o numerica, pq diferentes monstros podem castar a mesma magia + --> esse jogador usou uma habilidade do boss + local esta_habilidade = habilidades_usadas [id] --> tabela n�o numerica, pq diferentes monstros podem castar a mesma magia if (not esta_habilidade) then - esta_habilidade = {0, {}, {}, id} --[1] total dano causado [2] jogadores que foram alvos [3] jogadores que castaram essa magia [4] ID da magia + esta_habilidade = {0, {}, {}, id} --> [1] total dano causado [2] jogadores que foram alvos [3] jogadores que castaram essa magia [4] ID da magia habilidades_usadas [id] = esta_habilidade end - --adiciona ao [1] total de dano que esta habilidade causou + --> adiciona ao [1] total de dano que esta habilidade causou esta_habilidade[1] = esta_habilidade[1] + habilidade.total - --adiciona ao [3] total do jogador que castou + --> adiciona ao [3] total do jogador que castou if (not esta_habilidade[3][jogador.nome]) then esta_habilidade[3][jogador.nome] = 0 end esta_habilidade[3][jogador.nome] = esta_habilidade[3][jogador.nome] + habilidade.total - --pega os alvos e adiciona ao [2] + --> pega os alvos e adiciona ao [2] local alvos = habilidade.targets - for target_name, amount in pairs(alvos) do + for target_name, amount in _pairs (alvos) do - --ele tem o nome do jogador, vamos ver se este alvo � realmente um jogador verificando na tabela do combate + --> ele tem o nome do jogador, vamos ver se este alvo � realmente um jogador verificando na tabela do combate local tabela_dano_do_jogador = DamageContainer._ActorTable [DamageContainer._NameIndexTable [target_name]] if (tabela_dano_do_jogador and tabela_dano_do_jogador.grupo) then if (not esta_habilidade[2] [target_name]) then @@ -1475,11 +1475,11 @@ function EncounterDetails:OpenAndRefresh (_, segment) end end - --por em ordem + --> por em ordem local tabela_em_ordem = {} local jaFoi = {} - for id, tabela in pairs(habilidades_usadas) do + for id, tabela in _pairs (habilidades_usadas) do local spellname = Details.GetSpellInfo(tabela [4]) if (not jaFoi [spellname]) then @@ -1492,8 +1492,8 @@ function EncounterDetails:OpenAndRefresh (_, segment) local tt = tabela_em_ordem [index] [2] -- tabela com [PlayerName] = {amount, class} - for playerName, t in pairs(tabela [2]) do - local amount, class = unpack(t) + for playerName, t in pairs (tabela [2]) do + local amount, class = unpack (t) if (tt [playerName]) then tt [playerName][1] = tt [playerName][1] + amount else @@ -1509,9 +1509,9 @@ function EncounterDetails:OpenAndRefresh (_, segment) quantidade = 0 dano_do_primeiro = 0 - --mostra o resultado nas barras - for index, habilidade in ipairs(tabela_em_ordem) do - --ta em ordem das habilidades que deram mais dano + --> mostra o resultado nas barras + for index, habilidade in _ipairs (tabela_em_ordem) do + --> ta em ordem das habilidades que deram mais dano if (habilidade[1] > 0) then @@ -1520,34 +1520,34 @@ function EncounterDetails:OpenAndRefresh (_, segment) barra = EncounterDetails:CreateRow (index, container, 1, 0, -1) barra.TTT = "habilidades_inimigas" -- tool tip type --enemy abilities barra.report_text = Loc ["STRING_PLUGIN_NAME"].."! " .. Loc ["STRING_ABILITY_DAMAGE"] - _detalhes:SetFontSize(barra.lineText1, CONST_FONT_SIZE) - _detalhes:SetFontSize(barra.lineText4, CONST_FONT_SIZE) - barra.t:SetVertexColor(1, .8, .8, .8) + _detalhes:SetFontSize (barra.lineText1, CONST_FONT_SIZE) + _detalhes:SetFontSize (barra.lineText4, CONST_FONT_SIZE) + barra.t:SetVertexColor (1, .8, .8, .8) end - local nome_magia, _, icone_magia = _GetSpellInfo(habilidade[4]) + local nome_magia, _, icone_magia = _GetSpellInfo (habilidade[4]) - barra.lineText1:SetText(nome_magia) -- .. " (|cFFa0a0a0" .. habilidade[4] .. "|r) - barra.lineText4:SetText(ToK (_, habilidade[1])) + barra.lineText1:SetText (nome_magia) -- .. " (|cFFa0a0a0" .. habilidade[4] .. "|r) + barra.lineText4:SetText (ToK (_, habilidade[1])) _detalhes:name_space (barra) - barra.jogador = habilidade --barra.jogador agora tem a tabela com --[1] total dano causado [2] jogadores que foram alvos [3] jogadores que castaram essa magia [4] ID da magia + barra.jogador = habilidade --> barra.jogador agora tem a tabela com --> [1] total dano causado [2] jogadores que foram alvos [3] jogadores que castaram essa magia [4] ID da magia local spellSchool = _detalhes.spell_school_cache [nome_magia] or 1 - local r, g, b = _detalhes:GetSpellSchoolColor(spellSchool) + local r, g, b = _detalhes:GetSpellSchoolColor (spellSchool) - barra.t:SetVertexColor(r, g, b) + barra.t:SetVertexColor (r, g, b) if (index == 1) then - barra.textura:SetValue(100) + barra.textura:SetValue (100) dano_do_primeiro = habilidade[1] else - barra.textura:SetValue(habilidade[1]/dano_do_primeiro *100) + barra.textura:SetValue (habilidade[1]/dano_do_primeiro *100) end - barra.icone:SetTexture(icone_magia) - barra.icone:SetTexCoord(.1, .9, .1, .9) + barra.icone:SetTexture (icone_magia) + barra.icone:SetTexCoord (.1, .9, .1, .9) barra:Show() quantidade = quantidade + 1 @@ -1563,52 +1563,52 @@ function EncounterDetails:OpenAndRefresh (_, segment) end end - --Fim do container Over Habilidades Inimigas + --> Fim do container Over Habilidades Inimigas - --Identificar os ADDs da luta: + --> Identificar os ADDs da luta: - --declara a pool onde ser�o armazenados os adds existentas na luta + --> declara a pool onde ser�o armazenados os adds existentas na luta local adds_pool = {} - --pega as habilidades que pertence especificamente a cada fase + --> pega as habilidades que pertence especificamente a cada fase if (boss_info and boss_info.phases) then - for fase_id, fase in ipairs(boss_info.phases) do + for fase_id, fase in _ipairs (boss_info.phases) do if (fase.adds) then - for index, addId in ipairs(fase.adds) do + for index, addId in _ipairs (fase.adds) do adds_pool [addId] = true end end end end - --agora ja tenho a lista de todos os adds da luta + --> agora ja tenho a lista de todos os adds da luta -- vasculhar o container de dano e achar os adds: -- ~add local adds = {} - for index, jogador in ipairs(DamageContainer._ActorTable) do + for index, jogador in _ipairs (DamageContainer._ActorTable) do - --s� estou interessado nos adds, conferir pelo nome + --> s� estou interessado nos adds, conferir pelo nome if (adds_pool [_detalhes:GetNpcIdFromGuid (jogador.serial)] or ( jogador.flag_original and - bit.band(jogador.flag_original, 0x00000060) ~= 0 and + bit.band (jogador.flag_original, 0x00000060) ~= 0 and (not jogador.owner or (_bit_band (jogador.owner.flag_original, 0x00000060) ~= 0 and not jogador.owner.grupo and _bit_band (jogador.owner.flag_original, 0x00000400) == 0)) and --isn't a pet or the owner isn't a player not jogador.grupo and _bit_band (jogador.flag_original, 0x00000400) == 0 - )) then --� um inimigo ou neutro + )) then --> � um inimigo ou neutro local nome = jogador.nome - if (not nome:find("%*")) then + if (not nome:find ("%*")) then local tabela = {nome = nome, total = 0, dano_em = {}, dano_em_total = 0, damage_from = {}, damage_from_total = 0} - --total de dano que ele causou + --> total de dano que ele causou tabela.total = jogador.total - --em quem ele deu dano - for target_name, amount in pairs(jogador.targets) do + --> em quem ele deu dano + for target_name, amount in _pairs (jogador.targets) do local este_jogador = _combat_object (1, target_name) if (este_jogador) then if (este_jogador.classe ~= "PET" and este_jogador.classe ~= "UNGROUPPLAYER" and este_jogador.classe ~= "UNKNOW") then @@ -1619,12 +1619,12 @@ function EncounterDetails:OpenAndRefresh (_, segment) end _table_sort (tabela.dano_em, _detalhes.Sort2) - --quem deu dano nele - for agressor, _ in pairs(jogador.damage_from) do + --> quem deu dano nele + for agressor, _ in _pairs (jogador.damage_from) do --local este_jogador = DamageContainer._ActorTable [DamageContainer._NameIndexTable [agressor]] local este_jogador = _combat_object (1, agressor) if (este_jogador and este_jogador:IsPlayer()) then - for target_name, amount in pairs(este_jogador.targets) do + for target_name, amount in _pairs (este_jogador.targets) do if (target_name == nome) then tabela.damage_from [#tabela.damage_from+1] = {agressor, amount, este_jogador.classe} tabela.damage_from_total = tabela.damage_from_total + amount @@ -1636,36 +1636,36 @@ function EncounterDetails:OpenAndRefresh (_, segment) _table_sort (tabela.damage_from, sort_damage_from) tabela [1] = tabela.damage_from_total - tinsert(adds, tabela) + tinsert (adds, tabela) end end end - --montou a tabela, agora precisa mostrar no painel + --> montou a tabela, agora precisa mostrar no painel local function _DanoFeito (self) - self.textura:SetBlendMode("ADD") + self.textura:SetBlendMode ("ADD") local barra = self:GetParent() local tabela = barra.jogador local dano_em = tabela.dano_em - GameCooltip:Preset(2) - GameCooltip:SetOwner(self) + GameCooltip:Preset (2) + GameCooltip:SetOwner (self) EncounterDetails:FormatCooltipSettings() - GameCooltip:AddLine(barra.lineText1:GetText().." ".. "Damage Done") + GameCooltip:AddLine (barra.lineText1:GetText().." ".. "Damage Done") local topDamage = dano_em[1] and dano_em[1][2] local dano_em_total = tabela.dano_em_total - for _, esta_tabela in pairs(dano_em) do + for _, esta_tabela in _pairs (dano_em) do local coords = EncounterDetails.class_coords [esta_tabela[3]] - GameCooltip:AddLine(EncounterDetails:GetOnlyName(esta_tabela[1]), _detalhes:ToK (esta_tabela[2]).." (".. _cstr ("%.1f", esta_tabela[2]/dano_em_total*100) .."%)", 1, "white", "orange") + GameCooltip:AddLine (EncounterDetails:GetOnlyName (esta_tabela[1]), _detalhes:ToK (esta_tabela[2]).." (".. _cstr ("%.1f", esta_tabela[2]/dano_em_total*100) .."%)", 1, "white", "orange") - local specID = Details:GetSpec(esta_tabela[1]) + local specID = Details:GetSpec (esta_tabela[1]) if (specID) then local texture, l, r, t, b = Details:GetSpecIcon (specID, false) GameCooltip:AddIcon (texture, 1, 1, EncounterDetails.CooltipLineHeight, EncounterDetails.CooltipLineHeight, l, r, t, b) @@ -1673,22 +1673,22 @@ function EncounterDetails:OpenAndRefresh (_, segment) GameCooltip:AddIcon ([[Interface\AddOns\Details\images\classes_small]], 1, 1, EncounterDetails.CooltipLineHeight, EncounterDetails.CooltipLineHeight, (coords[1]), (coords[2]), (coords[3]), (coords[4])) end - local actorClass = Details:GetClass(esta_tabela[1]) + local actorClass = Details:GetClass (esta_tabela[1]) if (actorClass) then - local r, g, b = Details:GetClassColor(actorClass) + local r, g, b = Details:GetClassColor (actorClass) GameCooltip:AddStatusBar (esta_tabela[2] / topDamage * 100, 1, r, g, b, EncounterDetailsFrame.CooltipStatusbarAlpha, false, {value = 100, color = {.21, .21, .21, 0.5}, texture = [[Interface\AddOns\Details\images\bar_serenity]]}) else GameCooltip:AddStatusBar (esta_tabela[2] / topDamage * 100, 1, .3, .3, .3, .3, false, {value = 100, color = {.21, .21, .21, 0.8}, texture = [[Interface\AddOns\Details\images\bar_serenity]]}) end end - self.textura:SetBlendMode("ADD") - self.textura:SetSize(18, 18) + self.textura:SetBlendMode ("ADD") + self.textura:SetSize (18, 18) self.ArrowOnEnter = true - GameCooltip:SetOwner(self, "right", "left", -10, 0) + GameCooltip:SetOwner (self, "right", "left", -10, 0) - GameCooltip:AddLine(" ") - GameCooltip:AddLine("CLICK to Report") + GameCooltip:AddLine (" ") + GameCooltip:AddLine ("CLICK to Report") GameCooltip:Show() end @@ -1698,23 +1698,23 @@ function EncounterDetails:OpenAndRefresh (_, segment) local tabela = barra.jogador local damage_from = tabela.damage_from - GameCooltip:Preset(2) - GameCooltip:SetOwner(self) + GameCooltip:Preset (2) + GameCooltip:SetOwner (self) EncounterDetails:FormatCooltipSettings() - GameCooltip:AddLine(barra.lineText1:GetText().." "..Loc ["STRING_DAMAGE_TAKEN"]) + GameCooltip:AddLine (barra.lineText1:GetText().." "..Loc ["STRING_DAMAGE_TAKEN"]) local damage_from_total = tabela.damage_from_total local topDamage = damage_from[1] and damage_from[1][2] - for _, esta_tabela in pairs(damage_from) do + for _, esta_tabela in _pairs (damage_from) do local coords = EncounterDetails.class_coords [esta_tabela[3]] if (coords) then - GameCooltip:AddLine(EncounterDetails:GetOnlyName(esta_tabela[1]), _detalhes:ToK (esta_tabela[2]).." (".. _cstr ("%.1f", esta_tabela[2]/damage_from_total*100) .."%)", 1, "white", "orange", nil, nil, "MONOCHRONE") + GameCooltip:AddLine (EncounterDetails:GetOnlyName (esta_tabela[1]), _detalhes:ToK (esta_tabela[2]).." (".. _cstr ("%.1f", esta_tabela[2]/damage_from_total*100) .."%)", 1, "white", "orange", nil, nil, "MONOCHRONE") - local specID = Details:GetSpec(esta_tabela[1]) + local specID = Details:GetSpec (esta_tabela[1]) if (specID) then local texture, l, r, t, b = Details:GetSpecIcon (specID, false) GameCooltip:AddIcon (texture, 1, 1, EncounterDetails.CooltipLineHeight, EncounterDetails.CooltipLineHeight, l, r, t, b) @@ -1722,28 +1722,28 @@ function EncounterDetails:OpenAndRefresh (_, segment) GameCooltip:AddIcon ([[Interface\AddOns\Details\images\classes_small]], 1, 1, EncounterDetails.CooltipLineHeight, EncounterDetails.CooltipLineHeight, (coords[1]), (coords[2]), (coords[3]), (coords[4])) end - local actorClass = Details:GetClass(esta_tabela[1]) + local actorClass = Details:GetClass (esta_tabela[1]) if (actorClass) then - local r, g, b = Details:GetClassColor(actorClass) + local r, g, b = Details:GetClassColor (actorClass) GameCooltip:AddStatusBar (esta_tabela[2] / topDamage * 100, 1, r, g, b, EncounterDetailsFrame.CooltipStatusbarAlpha, false, {value = 100, color = {.21, .21, .21, 0.5}, texture = [[Interface\AddOns\Details\images\bar_serenity]]}) else GameCooltip:AddStatusBar (esta_tabela[2] / topDamage * 100, 1, .3, .3, .3, .3, false, {value = 100, color = {.21, .21, .21, 0.8}, texture = [[Interface\AddOns\Details\images\bar_serenity]]}) end else - GameCooltip:AddLine(esta_tabela[1], _detalhes:ToK (esta_tabela[2]).." (".. _cstr ("%.1f", esta_tabela[2]/damage_from_total*100) .."%)") + GameCooltip:AddLine (esta_tabela[1], _detalhes:ToK (esta_tabela[2]).." (".. _cstr ("%.1f", esta_tabela[2]/damage_from_total*100) .."%)") GameCooltip:AddStatusBar (esta_tabela[2] / topDamage * 100, 1, .3, .3, .3, .3, false, {value = 100, color = {.21, .21, .21, 0.8}, texture = [[Interface\AddOns\Details\images\bar_serenity]]}) end end self.mouse_over = true - self:SetHeight(EncounterDetails.Frame.DefaultBarHeight + 1) - self:SetAlpha(1) + self:SetHeight (EncounterDetails.Frame.DefaultBarHeight + 1) + self:SetAlpha (1) EncounterDetails.SetBarBackdrop_OnEnter (self) - GameCooltip:AddLine(" ") - GameCooltip:AddLine("CLICK to Report") + GameCooltip:AddLine (" ") + GameCooltip:AddLine ("CLICK to Report") - GameCooltip:SetOwner(self, "left", "right", -60, 0) + GameCooltip:SetOwner (self, "left", "right", -60, 0) GameCooltip:Show() end @@ -1751,11 +1751,11 @@ function EncounterDetails:OpenAndRefresh (_, segment) GameCooltip:Hide() if (self.ArrowOnEnter) then - self.textura:SetBlendMode("BLEND") - self.textura:SetSize(16, 16) + self.textura:SetBlendMode ("BLEND") + self.textura:SetSize (16, 16) else - self:SetAlpha(0.9) - self:SetHeight(EncounterDetails.Frame.DefaultBarHeight) + self:SetAlpha (0.9) + self:SetHeight (EncounterDetails.Frame.DefaultBarHeight) EncounterDetails.SetBarBackdrop_OnLeave (self) end end @@ -1769,7 +1769,7 @@ function EncounterDetails:OpenAndRefresh (_, segment) --table.sort (adds, sort_by_name) table.sort (adds, _detalhes.Sort1) - for index, esta_tabela in ipairs(adds) do + for index, esta_tabela in _ipairs (adds) do local addName = esta_tabela.nome local barra = container.barras [index] @@ -1777,54 +1777,54 @@ function EncounterDetails:OpenAndRefresh (_, segment) if (not barra) then barra = EncounterDetails:CreateRow (index, container, -0) - barra:SetWidth(155) + barra:SetWidth (155) - barra:SetScript("OnEnter", _DanoRecebido) - barra:SetScript("OnLeave", _OnHide) + barra:SetScript ("OnEnter", _DanoRecebido) + barra:SetScript ("OnLeave", _OnHide) barra:HookScript ("OnMouseDown", EncounterDetails.BossInfoRowClick) - local add_damage_done = CreateFrame("Button", nil, barra, "BackdropTemplate") + local add_damage_done = _CreateFrame ("Button", nil, barra, "BackdropTemplate") barra.report_text = "Details! Tamage Taken of " add_damage_done.report_text = "Details! Damage Done of " add_damage_done.barra = barra - add_damage_done:SetWidth(EncounterDetails.CooltipLineHeight) - add_damage_done:SetHeight(EncounterDetails.CooltipLineHeight) - add_damage_done:EnableMouse(true) - add_damage_done:SetResizable(false) - add_damage_done:SetPoint("left", barra, "left", 0, 0) + add_damage_done:SetWidth (EncounterDetails.CooltipLineHeight) + add_damage_done:SetHeight (EncounterDetails.CooltipLineHeight) + add_damage_done:EnableMouse (true) + add_damage_done:SetResizable (false) + add_damage_done:SetPoint ("left", barra, "left", 0, 0) - add_damage_done:SetBackdrop({bgFile = [[Interface\AddOns\Details\images\background]], tile = true, tileSize = 16}) - add_damage_done:SetBackdropColor(.5, .0, .0, 0.5) + add_damage_done:SetBackdrop ({bgFile = [[Interface\AddOns\Details\images\background]], tile = true, tileSize = 16}) + add_damage_done:SetBackdropColor (.5, .0, .0, 0.5) - add_damage_done.textura = add_damage_done:CreateTexture(nil, "overlay") - add_damage_done.textura:SetTexture("Interface\\Buttons\\UI-MicroStream-Red") - add_damage_done.textura:SetWidth(16) - add_damage_done.textura:SetHeight(16) - add_damage_done.textura:SetPoint("topleft", add_damage_done, "topleft") + add_damage_done.textura = add_damage_done:CreateTexture (nil, "overlay") + add_damage_done.textura:SetTexture ("Interface\\Buttons\\UI-MicroStream-Red") + add_damage_done.textura:SetWidth (16) + add_damage_done.textura:SetHeight (16) + add_damage_done.textura:SetPoint ("topleft", add_damage_done, "topleft") - add_damage_done:SetScript("OnEnter", _DanoFeito) - add_damage_done:SetScript("OnLeave", _OnHide) - add_damage_done:SetScript("OnClick", EncounterDetails.BossInfoRowClick) + add_damage_done:SetScript ("OnEnter", _DanoFeito) + add_damage_done:SetScript ("OnLeave", _OnHide) + add_damage_done:SetScript ("OnClick", EncounterDetails.BossInfoRowClick) - barra.lineText1:SetPoint("left", add_damage_done, "right", 2, 0) - barra.textura:SetStatusBarTexture(nil) + barra.lineText1:SetPoint ("left", add_damage_done, "right", 2, 0) + barra.textura:SetStatusBarTexture("") - _detalhes:SetFontSize(barra.lineText1, CONST_FONT_SIZE) - _detalhes:SetFontSize(barra.lineText4, CONST_FONT_SIZE) + _detalhes:SetFontSize (barra.lineText1, CONST_FONT_SIZE) + _detalhes:SetFontSize (barra.lineText4, CONST_FONT_SIZE) barra.TTT = "add" add_damage_done.TTT = "add" end - barra.lineText1:SetText(addName) - barra.lineText4:SetText(_detalhes:ToK (esta_tabela.damage_from_total)) - barra.lineText1:SetSize(barra:GetWidth() - barra.lineText4:GetStringWidth() - 34, 15) + barra.lineText1:SetText (addName) + barra.lineText4:SetText (_detalhes:ToK (esta_tabela.damage_from_total)) + barra.lineText1:SetSize (barra:GetWidth() - barra.lineText4:GetStringWidth() - 34, 15) - barra.jogador = esta_tabela --barra.jogador agora tem a tabela com --[1] total dano causado [2] jogadores que foram alvos [3] jogadores que castaram essa magia [4] ID da magia + barra.jogador = esta_tabela --> barra.jogador agora tem a tabela com --> [1] total dano causado [2] jogadores que foram alvos [3] jogadores que castaram essa magia [4] ID da magia - --barra.textura:SetStatusBarColor(_unpack(_detalhes.class_colors [jogador.classe])) - barra.textura:SetStatusBarColor(1, 1, 1, 1) --a cor pode ser a spell school da magia - barra.textura:SetValue(100) + --barra.textura:SetStatusBarColor (_unpack (_detalhes.class_colors [jogador.classe])) + barra.textura:SetStatusBarColor (1, 1, 1, 1) --> a cor pode ser a spell school da magia + barra.textura:SetValue (100) barra:Show() quantidade = quantidade + 1 @@ -1839,9 +1839,9 @@ function EncounterDetails:OpenAndRefresh (_, segment) end end - --Fim do container Over ADDS + --> Fim do container Over ADDS - --Inicio do Container de Interrupts: + --> Inicio do Container de Interrupts: local misc = _combat_object [class_type_misc] @@ -1855,8 +1855,8 @@ function EncounterDetails:OpenAndRefresh (_, segment) local habilidades_interrompidas = {} - for index, jogador in ipairs(misc._ActorTable) do - if (not jogador.grupo) then --s� aparecer nego da raid + for index, jogador in _ipairs (misc._ActorTable) do + if (not jogador.grupo) then --> s� aparecer nego da raid break end @@ -1864,14 +1864,14 @@ function EncounterDetails:OpenAndRefresh (_, segment) local interrupts = jogador.interrupt if (interrupts and interrupts > 0) then local oque_interrompi = jogador.interrompeu_oque - --vai ter [spellid] = quantidade + --> vai ter [spellid] = quantidade - for spellid, amt in pairs(oque_interrompi) do - if (not habilidades_interrompidas [spellid]) then --se a spell n�o tiver na pool, cria a tabela dela - habilidades_interrompidas [spellid] = {{}, 0, spellid} --tabela com quem interrompeu e o total de vezes que a habilidade foi interrompida + for spellid, amt in _pairs (oque_interrompi) do + if (not habilidades_interrompidas [spellid]) then --> se a spell n�o tiver na pool, cria a tabela dela + habilidades_interrompidas [spellid] = {{}, 0, spellid} --> tabela com quem interrompeu e o total de vezes que a habilidade foi interrompida end - if (not habilidades_interrompidas [spellid] [1] [jogador.nome]) then --se o jogador n�o tiver na pool dessa habilidade interrompida, cria um indice pra ele. + if (not habilidades_interrompidas [spellid] [1] [jogador.nome]) then --> se o jogador n�o tiver na pool dessa habilidade interrompida, cria um indice pra ele. habilidades_interrompidas [spellid] [1] [jogador.nome] = {0, jogador.classe} end @@ -1882,58 +1882,58 @@ function EncounterDetails:OpenAndRefresh (_, segment) end end - --por em ordem + --> por em ordem tabela_em_ordem = {} - for spellid, tabela in pairs(habilidades_interrompidas) do + for spellid, tabela in _pairs (habilidades_interrompidas) do tabela_em_ordem [#tabela_em_ordem+1] = tabela end _table_sort (tabela_em_ordem, _detalhes.Sort2) index = 1 - for _, tabela in ipairs(tabela_em_ordem) do + for _, tabela in _ipairs (tabela_em_ordem) do local barra = container.barras [index] if (not barra) then barra = EncounterDetails:CreateRow (index, container, 3, 0, -6) - _detalhes:SetFontSize(barra.lineText1, CONST_FONT_SIZE) - _detalhes:SetFontSize(barra.lineText4, CONST_FONT_SIZE) + _detalhes:SetFontSize (barra.lineText1, CONST_FONT_SIZE) + _detalhes:SetFontSize (barra.lineText4, CONST_FONT_SIZE) barra.TTT = "total_interrupt" -- tool tip type barra.report_text = "Details! ".. Loc ["STRING_INTERRUPTS_OF"] - barra:SetWidth(155) + barra:SetWidth (155) end local spellid = tabela [3] - local nome_magia, _, icone_magia = _GetSpellInfo(tabela [3]) + local nome_magia, _, icone_magia = _GetSpellInfo (tabela [3]) local successful = 0 - --pegar quantas vezes a magia passou com sucesso. - for _, enemy_actor in ipairs(DamageContainer._ActorTable) do + --> pegar quantas vezes a magia passou com sucesso. + for _, enemy_actor in _ipairs (DamageContainer._ActorTable) do if (enemy_actor.spells._ActorTable [spellid]) then local spell = enemy_actor.spells._ActorTable [spellid] successful = spell.successful_casted end end - barra.lineText1:SetText(nome_magia) + barra.lineText1:SetText (nome_magia) local total = successful + tabela [2] - barra.lineText4:SetText(tabela [2] .. " / ".. total) + barra.lineText4:SetText (tabela [2] .. " / ".. total) _detalhes:name_space (barra) barra.jogador = tabela - --barra.textura:SetStatusBarColor(_unpack(_detalhes.class_colors [jogador.classe])) + --barra.textura:SetStatusBarColor (_unpack (_detalhes.class_colors [jogador.classe])) if (index == 1) then - barra.textura:SetValue(100) + barra.textura:SetValue (100) dano_do_primeiro = tabela [2] else - barra.textura:SetValue(tabela [2]/dano_do_primeiro *100) + barra.textura:SetValue (tabela [2]/dano_do_primeiro *100) end - barra.icone:SetTexture(icone_magia) - barra.icone:SetTexCoord(.1, .9, .1, .9) + barra.icone:SetTexture (icone_magia) + barra.icone:SetTexCoord (.1, .9, .1, .9) barra:Show() @@ -1949,11 +1949,11 @@ function EncounterDetails:OpenAndRefresh (_, segment) end end - --Fim do container dos Interrupts + --> Fim do container dos Interrupts - --Inicio do Container dos Dispells: + --> Inicio do Container dos Dispells: - --force refresh window behavior + --> force refresh window behavior local total_dispelado = _detalhes.atributo_misc:RefreshWindow ({}, _combat_object, _, { key = "dispell", modo = _detalhes.modos.group }) local frame_dispell = EncounterDetailsFrame.overall_dispell @@ -1964,8 +1964,8 @@ function EncounterDetails:OpenAndRefresh (_, segment) local habilidades_dispeladas = {} - for index, jogador in ipairs(misc._ActorTable) do - if (not jogador.grupo) then --s� aparecer nego da raid + for index, jogador in _ipairs (misc._ActorTable) do + if (not jogador.grupo) then --> s� aparecer nego da raid break end @@ -1974,19 +1974,19 @@ function EncounterDetails:OpenAndRefresh (_, segment) local dispells = jogador.dispell if (dispells and dispells > 0) then local oque_dispelei = jogador.dispell_oque - --vai ter [spellid] = quantidade + --> vai ter [spellid] = quantidade - --print("dispell: " .. jogador.classe .. " nome: " .. jogador.nome) + --print ("dispell: " .. jogador.classe .. " nome: " .. jogador.nome) - for spellid, amt in pairs(oque_dispelei) do - if (not habilidades_dispeladas [spellid]) then --se a spell n�o tiver na pool, cria a tabela dela - habilidades_dispeladas [spellid] = {{}, 0, spellid} --tabela com quem dispolou e o total de vezes que a habilidade foi dispelada + for spellid, amt in _pairs (oque_dispelei) do + if (not habilidades_dispeladas [spellid]) then --> se a spell n�o tiver na pool, cria a tabela dela + habilidades_dispeladas [spellid] = {{}, 0, spellid} --> tabela com quem dispolou e o total de vezes que a habilidade foi dispelada end - if (not habilidades_dispeladas [spellid] [1] [jogador.nome]) then --se o jogador n�o tiver na pool dessa habilidade interrompida, cria um indice pra ele. + if (not habilidades_dispeladas [spellid] [1] [jogador.nome]) then --> se o jogador n�o tiver na pool dessa habilidade interrompida, cria um indice pra ele. habilidades_dispeladas [spellid] [1] [jogador.nome] = {0, jogador.classe} - --print(jogador.nome) - --print(jogador.classe) + --print (jogador.nome) + --print (jogador.classe) end habilidades_dispeladas [spellid] [2] = habilidades_dispeladas [spellid] [2] + amt @@ -1996,47 +1996,47 @@ function EncounterDetails:OpenAndRefresh (_, segment) end end - --por em ordem + --> por em ordem tabela_em_ordem = {} - for spellid, tabela in pairs(habilidades_dispeladas) do + for spellid, tabela in _pairs (habilidades_dispeladas) do tabela_em_ordem [#tabela_em_ordem+1] = tabela end _table_sort (tabela_em_ordem, _detalhes.Sort2) index = 1 - for _, tabela in ipairs(tabela_em_ordem) do + for _, tabela in _ipairs (tabela_em_ordem) do local barra = container.barras [index] if (not barra) then barra = EncounterDetails:CreateRow (index, container, 3, 3, -6) - _detalhes:SetFontSize(barra.lineText1, CONST_FONT_SIZE) - _detalhes:SetFontSize(barra.lineText4, CONST_FONT_SIZE) + _detalhes:SetFontSize (barra.lineText1, CONST_FONT_SIZE) + _detalhes:SetFontSize (barra.lineText4, CONST_FONT_SIZE) barra.TTT = "dispell" -- tool tip type barra.report_text = "Details! ".. Loc ["STRING_DISPELLS_OF"] - barra:SetWidth(160) + barra:SetWidth (160) end - local nome_magia, _, icone_magia = _GetSpellInfo(tabela [3]) + local nome_magia, _, icone_magia = _GetSpellInfo (tabela [3]) - barra.lineText1:SetText(nome_magia) - barra.lineText4:SetText(tabela [2]) + barra.lineText1:SetText (nome_magia) + barra.lineText4:SetText (tabela [2]) _detalhes:name_space (barra) barra.jogador = tabela - --barra.textura:SetStatusBarColor(_unpack(_detalhes.class_colors [jogador.classe])) + --barra.textura:SetStatusBarColor (_unpack (_detalhes.class_colors [jogador.classe])) if (index == 1) then - barra.textura:SetValue(100) + barra.textura:SetValue (100) dano_do_primeiro = tabela [2] else - barra.textura:SetValue(tabela [2]/dano_do_primeiro *100) + barra.textura:SetValue (tabela [2]/dano_do_primeiro *100) end - barra.icone:SetTexture(icone_magia) - barra.icone:SetTexCoord(.1, .9, .1, .9) + barra.icone:SetTexture (icone_magia) + barra.icone:SetTexCoord (.1, .9, .1, .9) barra:Show() @@ -2052,9 +2052,9 @@ function EncounterDetails:OpenAndRefresh (_, segment) end end - --Fim do container dos Dispells + --> Fim do container dos Dispells - --Inicio do Container das Mortes: + --> Inicio do Container das Mortes: local frame_mortes = EncounterDetailsFrame.overall_dead container = frame_mortes.gump @@ -2063,45 +2063,45 @@ function EncounterDetails:OpenAndRefresh (_, segment) -- boss_info.spells_info o erro de lua do boss � a habilidade dele que n�o foi declarada ainda local mortes = _combat_object.last_events_tables - local habilidades_info = boss_info and boss_info.spell_mechanics or {} --barra.extra pega esse cara aqui --ent�o esse erro � das habilidades que n�o tao + local habilidades_info = boss_info and boss_info.spell_mechanics or {} --barra.extra pega esse cara aqui --> ent�o esse erro � das habilidades que n�o tao - for index, tabela in ipairs(mortes) do - --{esta_morte, time, este_jogador.nome, este_jogador.classe, UnitHealthMax (alvo_name), minutos.."m "..segundos.."s", ["dead"] = true} + for index, tabela in _ipairs (mortes) do + --> {esta_morte, time, este_jogador.nome, este_jogador.classe, _UnitHealthMax (alvo_name), minutos.."m "..segundos.."s", ["dead"] = true} local barra = container.barras [index] if (not barra) then barra = EncounterDetails:CreateRow (index, container, 3, 0, 1) barra.TTT = "morte" -- tool tip type barra.report_text = "Details! " .. Loc ["STRING_DEAD_LOG"] - _detalhes:SetFontSize(barra.lineText1, CONST_FONT_SIZE) - _detalhes:SetFontSize(barra.lineText4, CONST_FONT_SIZE) - barra:SetWidth(169) + _detalhes:SetFontSize (barra.lineText1, CONST_FONT_SIZE) + _detalhes:SetFontSize (barra.lineText4, CONST_FONT_SIZE) + barra:SetWidth (169) - local overlayTexture = barra:CreateTexture(nil, "overlay") + local overlayTexture = barra:CreateTexture (nil, "overlay") overlayTexture:SetAllPoints() - overlayTexture:SetColorTexture(1, 1, 1) - overlayTexture:SetAlpha(1) + overlayTexture:SetColorTexture (1, 1, 1) + overlayTexture:SetAlpha (1) overlayTexture:Hide() barra.OverlayTexture = overlayTexture end - if (tabela [3]:find("-")) then - barra.lineText1:SetText(index..". "..tabela [3]:gsub(("-.*"), "")) + if (tabela [3]:find ("-")) then + barra.lineText1:SetText (index..". "..tabela [3]:gsub (("-.*"), "")) else - barra.lineText1:SetText(index..". "..tabela [3]) + barra.lineText1:SetText (index..". "..tabela [3]) end - barra.lineText4:SetText(tabela [6]) + barra.lineText4:SetText (tabela [6]) _detalhes:name_space (barra) barra.jogador = tabela barra.extra = habilidades_info - barra.textura:SetStatusBarColor(_unpack(_detalhes.class_colors [tabela [4]])) - barra.textura:SetValue(100) + barra.textura:SetStatusBarColor (_unpack (_detalhes.class_colors [tabela [4]])) + barra.textura:SetValue (100) - barra.icone:SetTexture("Interface\\AddOns\\Details\\images\\classes_small") - barra.icone:SetTexCoord(_unpack(EncounterDetails.class_coords [tabela [4]])) + barra.icone:SetTexture ("Interface\\AddOns\\Details\\images\\classes_small") + barra.icone:SetTexCoord (_unpack (EncounterDetails.class_coords [tabela [4]])) barra:Show() @@ -2129,7 +2129,7 @@ local events_to_track = { } local enemy_spell_pool -local CLEvents = function(self, event) +local CLEvents = function (self, event) local time, token, hidding, who_serial, who_name, who_flags, who_flags2, alvo_serial, alvo_name, alvo_flags, alvo_flags2, spellid, spellname, school, aura_type = CombatLogGetCurrentEventInfo() diff --git a/plugins/Details_EncounterDetails/Details_EncounterDetails.toc b/plugins/Details_EncounterDetails/Details_EncounterDetails.toc index 937acae6e..2b849173f 100644 --- a/plugins/Details_EncounterDetails/Details_EncounterDetails.toc +++ b/plugins/Details_EncounterDetails/Details_EncounterDetails.toc @@ -1,4 +1,4 @@ -## Interface: 90207 +## Interface: 100000 ## Title: Details!: Encounter Breakdown (plugin) ## Notes: Show detailed information about a boss encounter. Also provide damage per phase, graphic charts, easy weakauras creation. ## RequiredDeps: Details diff --git a/plugins/Details_RaidCheck/Details_RaidCheck.lua b/plugins/Details_RaidCheck/Details_RaidCheck.lua index 67ec0b523..0bdd3fbdc 100644 --- a/plugins/Details_RaidCheck/Details_RaidCheck.lua +++ b/plugins/Details_RaidCheck/Details_RaidCheck.lua @@ -295,7 +295,7 @@ local CreatePluginFrames = function() local runeIndicator = DF:CreateImage(line, "", scrollLineHeight, scrollLineHeight) --no pre pot - --local PrePotIndicator = DF:CreateImage(line, "", scroll_line_height, scroll_line_height) + --local PrePotIndicator = DF:CreateImage (line, "", scroll_line_height, scroll_line_height) --using details! --local DetailsIndicator = DF:CreateImage(line, "", scroll_line_height, scroll_line_height) @@ -683,7 +683,7 @@ local CreatePluginFrames = function() end end - tinsert(PlayerData, {unitName, unitClassID, + tinsert (PlayerData, {unitName, unitClassID, Name = unitName, UnitNameRealm = unitNameWithRealm, Class = unitClass, @@ -727,7 +727,7 @@ local CreatePluginFrames = function() raidCheckFrame:SetScript("OnUpdate", updateRaidCheckFrame) end) - DetailsRaidCheck.ToolbarButton:SetScript("OnLeave", function(self) + DetailsRaidCheck.ToolbarButton:SetScript("OnLeave", function (self) raidCheckFrame:SetScript("OnUpdate", nil) raidCheckFrame:Hide() end) @@ -796,53 +796,55 @@ local CreatePluginFrames = function() local function handleAuraBuff(aura) local auraInfo = C_UnitAuras.GetAuraDataByAuraInstanceID("player", aura.auraInstanceID) - local buffName = auraInfo.name - local spellId = auraInfo.spellId - - if (buffName) then - local flashInfo = flaskList[spellId] - if (flashInfo) then - local flaskTier = openRaidLib.GetFlaskTierFromAura(auraInfo) - DetailsRaidCheck.unitsWithFlaskTable[unitSerial] = {spellId, flaskTier, auraInfo.icon} - consumableTable.Flask = consumableTable.Flask + 1 - end + if (auraInfo) then + local buffName = auraInfo.name + local spellId = auraInfo.spellId + + if (buffName) then + local flashInfo = flaskList[spellId] + if (flashInfo) then + local flaskTier = openRaidLib.GetFlaskTierFromAura(auraInfo) + DetailsRaidCheck.unitsWithFlaskTable[unitSerial] = {spellId, flaskTier, auraInfo.icon} + consumableTable.Flask = consumableTable.Flask + 1 + end - local foodInfo = foodInfoList[spellId] + local foodInfo = foodInfoList[spellId] - if (DetailsRaidCheck.db.food_tier1) then - if (foodInfo) then - local foodTier = openRaidLib.GetFoodTierFromAura(auraInfo) - DetailsRaidCheck.unitWithFoodTable[unitSerial] = {spellId, foodTier or 1, auraInfo.icon} - consumableTable.Food = consumableTable.Food + 1 + if (DetailsRaidCheck.db.food_tier1) then + if (foodInfo) then + local foodTier = openRaidLib.GetFoodTierFromAura(auraInfo) + DetailsRaidCheck.unitWithFoodTable[unitSerial] = {spellId, foodTier or 1, auraInfo.icon} + consumableTable.Food = consumableTable.Food + 1 + end end - end - if (DetailsRaidCheck.db.food_tier2) then - if (foodInfo) then - local foodTier = openRaidLib.GetFoodTierFromAura(auraInfo) - if (foodTier and foodTier >= 2) then - DetailsRaidCheck.unitWithFoodTable[unitSerial] = {spellId, foodTier, auraInfo.icon} - consumableTable.Food = consumableTable.Food + 1 + if (DetailsRaidCheck.db.food_tier2) then + if (foodInfo) then + local foodTier = openRaidLib.GetFoodTierFromAura(auraInfo) + if (foodTier and foodTier >= 2) then + DetailsRaidCheck.unitWithFoodTable[unitSerial] = {spellId, foodTier, auraInfo.icon} + consumableTable.Food = consumableTable.Food + 1 + end end end - end - if (DetailsRaidCheck.db.food_tier3) then - if (foodInfo) then - local foodTier = openRaidLib.GetFoodTierFromAura(auraInfo) - if (foodTier and foodTier >= 3) then - DetailsRaidCheck.unitWithFoodTable[unitSerial] = {spellId, foodTier, auraInfo.icon} - consumableTable.Food = consumableTable.Food + 1 + if (DetailsRaidCheck.db.food_tier3) then + if (foodInfo) then + local foodTier = openRaidLib.GetFoodTierFromAura(auraInfo) + if (foodTier and foodTier >= 3) then + DetailsRaidCheck.unitWithFoodTable[unitSerial] = {spellId, foodTier, auraInfo.icon} + consumableTable.Food = consumableTable.Food + 1 + end end end - end - if (runeIds[spellId]) then - DetailsRaidCheck.havefocusaug_table[unitSerial] = spellId - end + if (runeIds[spellId]) then + DetailsRaidCheck.havefocusaug_table[unitSerial] = spellId + end - if (buffName == localizedFoodDrink) then - DetailsRaidCheck.iseating_table[unitSerial] = true + if (buffName == localizedFoodDrink) then + DetailsRaidCheck.iseating_table[unitSerial] = true + end end end end @@ -903,21 +905,21 @@ local buildOptionsPanel = function() { type = "toggle", get = function() return DetailsRaidCheck.db.pre_pot_healers end, - set = function(self, fixedparam, value) DetailsRaidCheck.db.pre_pot_healers = value 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, + 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, + set = function (self, fixedparam, value) DetailsRaidCheck.db.mythic_1_4 = value end, desc = "When raiding on Mythic difficult, only check the first 4 groups.", name = "Mythic 1-4 Group Only" }, @@ -928,21 +930,21 @@ local buildOptionsPanel = function() { type = "toggle", get = function() return DetailsRaidCheck.db.food_tier1 end, - set = function(self, fixedparam, value) DetailsRaidCheck.db.food_tier1 = value end, + set = function (self, fixedparam, value) DetailsRaidCheck.db.food_tier1 = value end, desc = "Consider players using Tier 1 food.", name = "Food Tier 1 [41]" }, { type = "toggle", get = function() return DetailsRaidCheck.db.food_tier2 end, - set = function(self, fixedparam, value) DetailsRaidCheck.db.food_tier2 = value end, + set = function (self, fixedparam, value) DetailsRaidCheck.db.food_tier2 = value end, desc = "Consider players using Tier 2 food.", name = "Food Tier 2 [55]" }, { type = "toggle", get = function() return DetailsRaidCheck.db.food_tier3 end, - set = function(self, fixedparam, value) DetailsRaidCheck.db.food_tier3 = value end, + set = function (self, fixedparam, value) DetailsRaidCheck.db.food_tier3 = value end, desc = "Consider players using Tier 3 food.", name = "Food Tier 3 [>= 75]" }, @@ -1003,7 +1005,7 @@ function DetailsRaidCheck:OnEvent(_, event, ...) C_Timer.After(1, function() --install local install, savedData, isEnabled = _G.Details:InstallPlugin("TOOLBAR", Loc["STRING_RAIDCHECK_PLUGIN_NAME"], [[Interface\Buttons\UI-CheckBox-Check]], DetailsRaidCheck, "DETAILS_PLUGIN_RAIDCHECK", MINIMAL_DETAILS_VERSION_REQUIRED, "Terciob", version, defaultSettings) - if (type(install) == "table" and install.error) then + if (type (install) == "table" and install.error) then return print(install.error) end diff --git a/plugins/Details_RaidCheck/Details_RaidCheck.toc b/plugins/Details_RaidCheck/Details_RaidCheck.toc index 1cc80166d..97721a032 100644 --- a/plugins/Details_RaidCheck/Details_RaidCheck.toc +++ b/plugins/Details_RaidCheck/Details_RaidCheck.toc @@ -1,4 +1,4 @@ -## Interface: 90207 +## Interface: 100000 ## Title: Details!: Raid Check (plugin) ## Notes: Show talents and item level for all members in your group, also shows food and flask state. ## RequiredDeps: Details diff --git a/plugins/Details_Streamer/Details_Streamer.toc b/plugins/Details_Streamer/Details_Streamer.toc index 35c31a66b..3461dc81c 100644 --- a/plugins/Details_Streamer/Details_Streamer.toc +++ b/plugins/Details_Streamer/Details_Streamer.toc @@ -1,4 +1,4 @@ -## Interface: 90207 +## Interface: 100000 ## Title: Details!: Streamer (plugin) ## Notes: Show which spells you are casting, viewers can see what are you doing and follow your steps. ## RequiredDeps: Details diff --git a/plugins/Details_TinyThreat/Details_TinyThreat.toc b/plugins/Details_TinyThreat/Details_TinyThreat.toc index 6b594732d..9d8882b70 100644 --- a/plugins/Details_TinyThreat/Details_TinyThreat.toc +++ b/plugins/Details_TinyThreat/Details_TinyThreat.toc @@ -1,4 +1,4 @@ -## Interface: 90207 +## Interface: 100000 ## Title: Details!: Tiny Threat (plugin) ## Notes: Threat meter plugin, show threat for group members in the window. Select it from the Plugin menu in the Orange Cogwheel. ## RequiredDeps: Details diff --git a/plugins/Details_Vanguard/Details_Vanguard.toc b/plugins/Details_Vanguard/Details_Vanguard.toc index 7d3e05078..84266660f 100644 --- a/plugins/Details_Vanguard/Details_Vanguard.toc +++ b/plugins/Details_Vanguard/Details_Vanguard.toc @@ -1,4 +1,4 @@ -## Interface: 90207 +## Interface: 100000 ## Title: Details!: Vanguard (plugin) ## Notes: Show the health and debuffs for tanks in your group. ## SavedVariablesPerCharacter: _detalhes_databaseVanguard