Fix warlock entering in combat due to periodic damage

This commit is contained in:
Tercio Jose
2022-10-30 18:17:25 -03:00
parent 4a198c5996
commit 422e24b826
6 changed files with 103 additions and 13 deletions
+3
View File
@@ -64,6 +64,9 @@ function DF:CreateCoolTip()
return CONST_MENU_TYPE_MAINMENU
end
local languageFontEditBox = function()
end
--containers
gameCooltip.LeftTextTable = {}
gameCooltip.LeftTextTableSub = {}
+6 -12
View File
@@ -1,6 +1,6 @@
--[[
Name: LibGraph-2.0
Revision: $Rev: 56 $
Revision: $Rev: 62 $
Author(s): Cryect (cryect@gmail.com), Xinhuan
Website: http://www.wowace.com/
Documentation: http://www.wowace.com/wiki/GraphLib
@@ -11,7 +11,7 @@ Description: Allows for easy creation of graphs
--Thanks to Nelson Minar for catching several errors where width was being used instead of height (damn copy and paste >_>)
local major = "LibGraph-2.0"
local minor = 90000 + tonumber(("$Revision: 58 $"):match("(%d+)"))
local minor = 90000 + tonumber(("$Revision: 62 $"):match("(%d+)"))
--Search for just Addon\\ at the front since the interface part often gets trimmed
@@ -19,21 +19,15 @@ local minor = 90000 + tonumber(("$Revision: 58 $"):match("(%d+)"))
--doesn't get modified with a newer revision (this one)
local TextureDirectory
do
local path = string.match(debugstack(1, 1, 0), "AddOns\\(.+)LibGraph%-2%.0%.lua")
local path = string.match(debugstack(1, 1, 0), "AddOns[\\/](.+)LibGraph%-2%.0%.lua")
if path then
TextureDirectory = "Interface\\AddOns\\"..path
TextureDirectory = path
else
--error(major.." cannot determine the folder it is located in because the path is too long and got truncated in the debugstack(1, 1, 0) function call")
--beta doing some errors here
if (Details) then
TextureDirectory = [[Interface\AddOns\Details\Libs\LibGraph-2.0]]
end
error(major.." cannot determine the folder it is located in because the path is too long and got truncated in the debugstack(1, 1, 0) function call")
end
end
TextureDirectory = "Interface\\Addons\\Details\\Libs\\LibGraph-2.0"
if not LibStub then error(major .. " requires LibStub") end
local lib, oldLibMinor = LibStub:NewLibrary(major, minor)
+1 -1
View File
@@ -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 = 67
local CONST_LIB_VERSION = 68
LIB_OPEN_RAID_CAN_LOAD = false
local unpack = table.unpack or _G.unpack
+5
View File
@@ -940,6 +940,11 @@
(not _detalhes.in_group and who_flags and bitBand(who_flags, AFFILIATION_GROUP) ~= 0)
)
) then
--avoid Fel Armor and Undulating Maneuvers to start a combat
if ((spellid == 387846 or spellid == 352561) and who_name == _detalhes.playername) then
return
end
if (_detalhes.encounter_table.id and _detalhes.encounter_table["start"] >= GetTime() - 3 and _detalhes.announce_firsthit.enabled) then
local link
if (spellid <= 10) then
+85
View File
@@ -1527,6 +1527,91 @@ function SlashCmdList.DETAILS (msg, editbox)
Details:Dump(exportedValues)
end
elseif (msg == "parselog") then
local splitLineInArguments = function(lineText)
local parsedLine = {}
for piece in lineText:gmatch("([^,]+)") do
parsedLine[#parsedLine+1] = piece
end
return unpack(parsedLine)
end
local spellsWithMorePayload = {
["SPELL_DAMAGE"] = true,
["SPELL_HEAL"] = true,
["SWING_DAMAGE"] = true,
["SWING_DAMAGE_LANDED"] = true,
["RANGE_DAMAGE"] = true,
["SPELL_DRAIN"] = true,
["SPELL_ENERGIZE"] = true,
["DAMAGE_SPLIT"] = true,
["SPELL_PERIODIC_ENERGIZE"] = true,
["SPELL_PERIODIC_DAMAGE"] = true,
["SPELL_PERIODIC_HEAL"] = true,
}
local data = DETAILS_EXTERNAL_LOG
local t = DetailsFramework:SplitTextInLines(data)
local a = {}
local parser = _detalhes.LogParserEvent
for i = 1, #t do
print("line:", i)
local line = t[i]
line = line:gsub("\"", "")
local tokenId = line:match("%s%s(.*)"):match("^(.-),")
if (tokenId == "ENCOUNTER_START") then
Details:StartCombat()
end
if (tokenId == "ENCOUNTER_END") then
Details:EndCombat()
end
local newPayload = {0, tokenId, false}
local payload = {splitLineInArguments(line)}
if (spellsWithMorePayload[tokenId]) then
if (tokenId == "SWING_DAMAGE") then
for o = 2, 9 do
newPayload[#newPayload+1] = payload[o]
end
for o = 9+17, #payload do
newPayload[#newPayload+1] = payload[o]
end
else
for o = 2, 12 do
newPayload[#newPayload+1] = payload[o]
end
for o = 12+17, #payload do
newPayload[#newPayload+1] = payload[o]
end
end
parser(unpack(newPayload))
else
for o = 2, #payload do
newPayload[#newPayload+1] = payload[o]
print(o, payload[o])
end
parser(unpack(newPayload))
end
--local payload = {splitLineInArguments(line)}
--if (#payload > 25) then
-- a[tokenId] = payload
--end
end
--for tokenId, payload in pairs(a) do
-- print(tokenId, unpack(payload))
--end
elseif (msg == "coach") then
--if (not UnitIsGroupLeader("player")) then
-- Details:Msg("you aren't the raid leader.")
+3
View File
@@ -1974,6 +1974,9 @@ do
[71] = "WARRIOR", -- Arms Warrior
[72] = "WARRIOR", -- Fury Warrior
[73] = "WARRIOR", -- Protection Warrior
[1467] = "EVOKER", --Devastation Evoker
[1468] = "EVOKER", --Preservation Evoker
}
_detalhes.ClassSpellList = {