Details! v4.0

This commit is contained in:
Tercio
2015-09-06 19:56:43 -03:00
parent db772b8c5c
commit fa97c1b5cb
22 changed files with 1226 additions and 363 deletions
+518 -218
View File
@@ -23,9 +23,120 @@
--[[global]] DETAILS_WA_TRIGGER_BW_TIMER = 10
--[[global]] DETAILS_WA_TRIGGER_INTERRUPT = 11
--[[global]] DETAILS_WA_TRIGGER_DISPELL = 12
--weak auras
local text_dispell_prototype = {
["outline"] = true,
["fontSize"] = 24,
["color"] = {1, 1, 1, 1},
["displayText"] = "%c\n",
["customText"] = "function()\n return aura_env.text\nend \n\n",
["untrigger"] = {
["custom"] = "function()\n return not InCombatLockdown()\nend",
},
["regionType"] = "text",
["customTextUpdate"] = "event",
["actions"] = {
["start"] = {
["do_custom"] = false,
["custom"] = "",
},
["init"] = {
["do_custom"] = true,
["custom"] = "aura_env.text = \"\"\naura_env.success = 0\naura_env.dispelled = 0\naura_env.dispels_by = {}",
},
["finish"] = {
},
},
["anchorPoint"] = "CENTER",
["additional_triggers"] = {
},
["trigger"] = {
["spellId"] = "",
["message_operator"] = "==",
["unit"] = "player",
["debuffType"] = "HELPFUL",
["custom_hide"] = "custom",
["spellName"] = "",
["type"] = "custom",
["subeventSuffix"] = "_CAST_SUCCESS",
["custom_type"] = "event",
["unevent"] = "timed",
["use_addon"] = false,
["event"] = "Health",
["events"] = "COMBAT_LOG_EVENT_UNFILTERED, ENCOUNTER_START",
["use_spellName"] = false,
["use_spellId"] = false,
["custom"] = "function (event, time, token, hidding, who_serial, who_name, who_flags, who_flags2, alvo_serial, alvo_name, alvo_flags, alvo_flags2, spellid, spellname, spelltype, extraSpellID, extraSpellName, extraSchool)\n if (event == \"COMBAT_LOG_EVENT_UNFILTERED\") then\n \n if ((token == \"SPELL_DISPEL\" or token == \"SPELL_STOLEN\") and extraSpellID == 159947) then\n aura_env.dispelled = aura_env.dispelled + 1\n aura_env.dispels_by [who_name] = (aura_env.dispels_by [who_name] or 0) + 1\n \n aura_env.text = aura_env.text .. \"|cffd2e8ff\" .. who_name .. \" (\" .. aura_env.dispels_by [who_name] .. \") \".. \"|r\\n\"\n \n if (select (2, aura_env.text:gsub (\"\\n\", \"\")) == 9) then\n aura_env.text = aura_env.text:gsub (\".-\\n\", \"\", 1)\n end\n return true\n end \n else\n aura_env.text = \"\"\n aura_env.success = 0\n aura_env.dispelled = 0\n wipe (aura_env.dispels_by)\n return true \n end\nend",
["spellIds"] = {
},
["use_message"] = true,
["subeventPrefix"] = "SPELL",
["use_unit"] = true,
["names"] = {
},
},
["justify"] = "LEFT",
["selfPoint"] = "BOTTOM",
["disjunctive"] = true,
["frameStrata"] = 1,
["width"] = 1.46286010742188,
["animation"] = {
["start"] = {
["type"] = "none",
["duration_type"] = "seconds",
},
["main"] = {
["type"] = "none",
["duration_type"] = "seconds",
},
["finish"] = {
["type"] = "none",
["duration_type"] = "seconds",
},
},
["font"] = "Friz Quadrata TT",
["numTriggers"] = 1,
["xOffset"] = -403.999786376953,
["height"] = 47.3586845397949,
["displayIcon"] = "Interface\\Icons\\inv_misc_steelweaponchain",
["load"] = {
["talent"] = {
["multi"] = {
},
},
["encounterid"] = "1721",
["use_encounterid"] = true,
["difficulty"] = {
["multi"] = {
},
},
["role"] = {
["multi"] = {
},
},
["class"] = {
["multi"] = {
},
},
["race"] = {
["multi"] = {
},
},
["spec"] = {
["multi"] = {
},
},
["size"] = {
["multi"] = {
},
},
},
["yOffset"] = 174.820495605469,
}
local text_interrupt_prototype = {
["outline"] = true,
["fontSize"] = 12,
@@ -294,11 +405,11 @@
}
local bar_dbm_timerbar_prototype = {
["sparkWidth"] = 10,
["sparkWidth"] = 17,
["stacksSize"] = 12,
["xOffset"] = 0,
["xOffset"] = -278.999633789063,
["stacksFlags"] = "None",
["yOffset"] = 239.568542480469,
["yOffset"] = 182.37451171875,
["anchorPoint"] = "CENTER",
["borderColor"] = {1, 1, 1, 0.5},
["rotateText"] = "NONE",
@@ -306,9 +417,13 @@
["fontFlags"] = "OUTLINE",
["icon_color"] = {1, 1, 1, 1},
["selfPoint"] = "CENTER",
["barColor"] = {1, 0, 0, 1},
["barColor"] = {
0.996078431372549,
1,
0.976470588235294,
1,
},
["desaturate"] = false,
["progressPrecision"] = 1,
["sparkOffsetY"] = 0,
["load"] = {
["difficulty"] = {
@@ -346,13 +461,13 @@
["texture"] = "Blizzard",
["textFont"] = "Friz Quadrata TT",
["zoom"] = 0,
["spark"] = false,
["spark"] = true,
["timerFont"] = "Friz Quadrata TT",
["alpha"] = 1,
["borderInset"] = 11,
["displayIcon"] = "Interface\\Icons\\Spell_Shadow_MindTwisting",
["textColor"] = {1, 1, 1, 1},
["borderBackdrop"] = "Blizzard Tooltip",
["customText"] = "function (expire, duration)\n return format (\"%.1f\", duration)\nend \n\n",
["barInFront"] = true,
["sparkRotationMode"] = "AUTO",
["displayTextLeft"] = "%n",
@@ -371,19 +486,19 @@
},
},
["trigger"] = {
["type"] = "custom",
["custom_hide"] = "timed",
["type"] = "status",
["use_id"] = true,
["subeventSuffix"] = "_CAST_START",
["custom_type"] = "status",
["custom"] = "function()\n if (InCombatLockdown() and aura_env.trigger_at and aura_env.trigger_at <= GetTime() and aura_env.untrigger_at and aura_env.untrigger_at >= GetTime()) then\n return true\n else\n return false\n end\nend\n",
["event"] = "Health",
["id"] = "",
["remaining_operator"] = "<=",
["event"] = "DBM Timer",
["unit"] = "player",
["customDuration"] = "function()\n if (aura_env.trigger_at and aura_env.trigger_at <= GetTime() and aura_env.untrigger_at and aura_env.untrigger_at >= GetTime()) then\n return aura_env.untrigger_at - GetTime(), aura_env.countdown_at, true\n else\n return 0\n end\nend\n",
["customName"] = "function()\n return aura_env.ability_text\nend",
["use_remaining"] = true,
["remaining"] = "6",
["spellIds"] = {
},
["customIcon"] = "function()\n return aura_env.ability_icon \nend\n",
["check"] = "update",
["use_unit"] = true,
["unevent"] = "auto",
["subeventPrefix"] = "SPELL",
["names"] = {
},
@@ -391,23 +506,24 @@
},
["text"] = true,
["stickyDuration"] = false,
["height"] = 40.115104675293,
["height"] = 34.4247055053711,
["timerFlags"] = "None",
["sparkBlendMode"] = "ADD",
["backdropColor"] = {1, 1, 1, 0.5},
["untrigger"] = {
["custom"] = "function()\n return true\nend",
},
["actions"] = {
["start"] = {
["do_custom"] = true,
["custom"] = "aura_env.untrigger_at = GetTime() + aura_env.remaining_trigger",
},
["finish"] = {
},
["init"] = {
["do_custom"] = true,
["custom"] = "\n\n",
["custom"] = "",
},
},
["untrigger"] = {
},
["textFlags"] = "None",
["border"] = false,
["borderEdge"] = "None",
@@ -415,68 +531,99 @@
["borderSize"] = 16,
["stacksFont"] = "Friz Quadrata TT",
["icon_side"] = "LEFT",
["inverse"] = false,
["textSize"] = 14,
["timer"] = true,
["sparkHeight"] = 30,
["sparkHeight"] = 55,
["sparkRotation"] = 0,
["displayTextRight"] = "%c",
["customTextUpdate"] = "update",
["stacksColor"] = {1, 1, 1, 1},
["timerSize"] = 16,
["displayTextRight"] = "%p",
["icon"] = true,
["textSize"] = 16,
["inverse"] = false,
["frameStrata"] = 1,
["width"] = 370,
["customTextUpdate"] = "event",
["width"] = 371.000183105469,
["sparkColor"] = {1, 1, 1, 1},
["timerSize"] = 14,
["numTriggers"] = 1,
["sparkDesature"] = false,
["orientation"] = "HORIZONTAL",
["borderOffset"] = 5,
["auto"] = true,
["sparkTexture"] = "Interface\\CastingBar\\UI-CastingBar-Spark",
["auto"] = false,
["sparkTexture"] = "Interface\\CastingBar\\UI-CastingBar-Spark",
}
local icon_dbm_timerbar_prototype = {
["xOffset"] = -391.000030517578,
["customText"] = "function (expire, duration)\n return \"\" .. aura_env.ability_text\nend \n\n",
["yOffset"] = 300,
["anchorPoint"] = "CENTER",
["customTextUpdate"] = "event",
["cooldown"] = true,
["fontSize"] = 14,
["displayStacks"] = "Proxima Abilidate Em:",
["actions"] = {
["start"] = {
["do_custom"] = true,
["custom"] = "aura_env.untrigger_at = GetTime() + aura_env.remaining_trigger",
},
["finish"] = {
},
["init"] = {
["do_custom"] = true,
["custom"] = "",
},
},
["color"] = {1, 1, 1, 1},
["width"] = 100,
["untrigger"] = {
},
["yOffset"] = 230.935302734375,
["anchorPoint"] = "CENTER",
["animation"] = {
["start"] = {
["duration_type"] = "seconds",
["type"] = "none",
},
["main"] = {
["duration_type"] = "seconds",
["type"] = "none",
},
["finish"] = {
["duration_type"] = "seconds",
["type"] = "none",
},
},
["regionType"] = "icon",
["stacksPoint"] = "BOTTOM",
["customTextUpdate"] = "update",
["icon"] = true,
["fontFlags"] = "OUTLINE",
["stacksContainment"] = "OUTSIDE",
["zoom"] = 0,
["auto"] = true,
["selfPoint"] = "CENTER",
["trigger"] = {
["unevent"] = "auto",
["type"] = "custom",
["subeventPrefix"] = "SPELL",
["custom_type"] = "status",
["use_unit"] = true,
["type"] = "status",
["use_id"] = true,
["subeventSuffix"] = "_CAST_START",
["id"] = "",
["remaining_operator"] = "<=",
["event"] = "DBM Timer",
["unit"] = "player",
["use_remaining"] = true,
["remaining"] = "6",
["spellIds"] = {
},
["event"] = "Health",
["unit"] = "player",
["customDuration"] = "function()\n if (aura_env.trigger_at and aura_env.trigger_at <= GetTime() and aura_env.untrigger_at and aura_env.untrigger_at >= GetTime()) then\n return aura_env.untrigger_at - GetTime(), aura_env.countdown_at\n else\n return 0\n end\nend\n",
["customName"] = "function()\n return aura_env.ability_name \nend\n",
["custom"] = "function()\n if (InCombatLockdown() and aura_env.trigger_at and aura_env.trigger_at <= GetTime() and aura_env.untrigger_at and aura_env.untrigger_at >= GetTime()) then\n return true\n else\n return false\n end\nend\n",
["customIcon"] = "function()\n return aura_env.ability_icon \nend\n",
["check"] = "update",
["use_unit"] = true,
["unevent"] = "auto",
["subeventPrefix"] = "SPELL",
["names"] = {
},
["subeventSuffix"] = "_CAST_START",
["debuffType"] = "HELPFUL",
},
["stickyDuration"] = false,
["frameStrata"] = 1,
["desaturate"] = false,
["xOffset"] = -486.999969482422,
["font"] = "Friz Quadrata TT",
["height"] = 194.575485229492,
["numTriggers"] = 1,
["inverse"] = true,
["height"] = 100,
["load"] = {
["difficulty"] = {
["multi"] = {
@@ -486,6 +633,7 @@
["multi"] = {
},
},
["use_encounterid"] = true,
["talent"] = {
["multi"] = {
},
@@ -507,86 +655,59 @@
},
},
},
["fontSize"] = 20,
["displayStacks"] = "%c ",
["regionType"] = "icon",
["stacksContainment"] = "OUTSIDE",
["zoom"] = 0,
["auto"] = true,
["stacksPoint"] = "BOTTOM",
["color"] = {1, 1, 1, 1},
["frameStrata"] = 1,
["width"] = 186.000091552734,
["stickyDuration"] = false,
["untrigger"] = {
["custom"] = "function()\n return true\nend",
},
["inverse"] = false,
["numTriggers"] = 1,
["animation"] = {
["start"] = {
["type"] = "none",
["duration_type"] = "seconds",
},
["main"] = {
["type"] = "none",
["duration_type"] = "seconds",
},
["finish"] = {
["type"] = "none",
["duration_type"] = "seconds",
},
},
["icon"] = true,
["cooldown"] = true,
["textColor"] = {1, 1, 1, 1},
["displayIcon"] = "",
}
local text_dbm_timerbar_prototype = {
["outline"] = true,
["fontSize"] = 72,
["color"] = {1, 1, 1, 1},
["displayText"] = "%c",
["customText"] = "function()\n local at = aura_env.untrigger_at\n if (at) then\n return \"\" .. aura_env.ability_text .. \"\\n==> \" .. format (\"%.1f\", at - GetTime()) .. \" <==\"\n else\n return \"\"\n end \n \nend",
["untrigger"] = {
["custom"] = "function()\n return true\nend",
},
["regionType"] = "text",
["fontSize"] = 60,
["color"] = {0.8, 1, 0.8, 1},
["displayText"] = "%c\n",
["customText"] = "function()\n local at = aura_env.untrigger_at\n if (at) then\n return \"\" .. aura_env.ability_text .. \"\\n==> \" .. format (\"%.1f\", at - GetTime()) .. \" <==\"\n else\n return \"\"\n end \n \nend\n",
["yOffset"] = 157.554321289063,
["anchorPoint"] = "CENTER",
["customTextUpdate"] = "update",
["init_completed"] = 1,
["actions"] = {
["start"] = {
["do_custom"] = true,
["custom"] = "aura_env.untrigger_at = GetTime() + aura_env.remaining_trigger",
},
["finish"] = {
},
["init"] = {
["do_custom"] = true,
["custom"] = "aura_env.countdown_at = 4\naura_env.ability_name = \"Test Bar\"\naura_env.ability_icon = \"Interface\\\\ICONS\\\\Ability_Mage_FireStarter\"\naura_env.ability_text = \"** Next TEST BAR In **\"\naura_env.aura_global_name = \"Test Bar\"\n\nlocal details_aura_env = _G.DetailsAuraEnv\nlocal details_aura_func_cache = _G.DetailsAuraFuncCache\nif (not details_aura_env) then\n details_aura_env = {}\n _G.DetailsAuraEnv = details_aura_env\nend\nif (not details_aura_func_cache) then\n details_aura_func_cache = {}\n _G.DetailsAuraFuncCache = details_aura_func_cache\nend\n\ndetails_aura_env [aura_env.aura_global_name] = aura_env\n\naura_env.Calllback_func = function (event, timer_id, message, duration)\n if (timer_id:find (\"Test Bar\")) then\n duration = duration:gsub (DBM_CORE_SEC, \"\")\n duration = tonumber (duration)\n local aura_env = details_aura_env [\"Test Bar\"]\n aura_env.trigger_at = GetTime() + duration - aura_env.countdown_at\n aura_env.untrigger_at = GetTime() + duration\n end\nend\n\nlocal previous_func = details_aura_func_cache [aura_env.aura_global_name]\nif (previous_func and DBM:IsCallbackRegistered (\"DBM_TimerStart\", previous_func)) then\n DBM:UnregisterCallback (\"DBM_TimerStart\", previous_func)\nend\n\ndetails_aura_func_cache [aura_env.aura_global_name] = aura_env.Calllback_func\nDBM:RegisterCallback (\"DBM_TimerStart\", aura_env.Calllback_func)",
["custom"] = "",
},
},
["justify"] = "CENTER",
["selfPoint"] = "CENTER",
["selfPoint"] = "BOTTOM",
["trigger"] = {
["type"] = "custom",
["remaining_operator"] = "<=",
["message_operator"] = "find('%s')",
["names"] = {},
["remaining"] = "6",
["debuffType"] = "HELPFUL",
["use_id"] = true,
["subeventSuffix"] = "_CAST_START",
["custom_type"] = "status",
["id"] = "Timer186333cd asd",
["use_remaining"] = true,
["event"] = "DBM Timer",
["unevent"] = "auto",
["message"] = "",
["use_spellId"] = false,
["spellIds"] = {
},
["event"] = "Health",
["type"] = "status",
["use_message"] = false,
["unit"] = "player",
["customDuration"] = "",
["customName"] = "",
["custom"] = "function()\n if (InCombatLockdown() and aura_env.trigger_at and aura_env.trigger_at <= GetTime() and aura_env.untrigger_at and aura_env.untrigger_at >= GetTime()) then\n return true\n else\n return false\n end\nend\n",
["customIcon"] = "",
["check"] = "update",
["use_unit"] = true,
["subeventPrefix"] = "SPELL",
["names"] = {
},
["debuffType"] = "HELPFUL",
},
["yOffset"] = 251.43896484375,
["untrigger"] = {
},
["frameStrata"] = 1,
["width"] = 43.6800079345703,
["width"] = 3.2914137840271,
["animation"] = {
["start"] = {
["duration_type"] = "seconds",
@@ -603,22 +724,21 @@
},
["font"] = "Friz Quadrata TT",
["numTriggers"] = 1,
["xOffset"] = 0.999847412109,
["height"] = 71.9999771118164,
["xOffset"] = -18.0000610351563,
["height"] = 114.000053405762,
["load"] = {
["use_never"] = false,
["talent"] = {
["multi"] = {
},
},
["class"] = {
["multi"] = {
},
},
["difficulty"] = {
["multi"] = {
},
},
["race"] = {
["multi"] = {
},
},
["talent"] = {
["multi"] = {
},
},
["role"] = {
["multi"] = {
},
@@ -627,7 +747,7 @@
["multi"] = {
},
},
["race"] = {
["class"] = {
["multi"] = {
},
},
@@ -636,7 +756,7 @@
},
},
},
["anchorPoint"] = "CENTER",
["regionType"] = "text",
}
local text_prototype = {
@@ -1113,7 +1233,46 @@
new_aura.trigger.custom = new_aura.trigger.custom:gsub ("@spell_casted", icon_text)
--> size
new_aura.fontSize = max (icon_size, 24)
new_aura.fontSize = min (icon_size, 24)
elseif (target == 42) then -- dispell
chat = nil
sound = nil
icon_glow = nil
group = nil
new_aura = _detalhes.table.copy ({}, text_dispell_prototype)
new_aura.trigger.custom = [[
function (event, time, token, hidding, who_serial, who_name, who_flags, who_flags2, alvo_serial, alvo_name, alvo_flags, alvo_flags2, spellid, spellname, spelltype, extraSpellID, extraSpellName, extraSchool)
if (event == "COMBAT_LOG_EVENT_UNFILTERED") then
if ((token == "SPELL_DISPEL" or token == "SPELL_STOLEN") and extraSpellID == @spellid) then
aura_env.dispelled = aura_env.dispelled + 1
aura_env.dispels_by [who_name] = (aura_env.dispels_by [who_name] or 0) + 1
aura_env.text = aura_env.text .. "|cffd2e8ff" .. who_name .. " (" .. aura_env.dispels_by [who_name] .. ") ".. "|r\n"
if (select (2, aura_env.text:gsub ("\n", "")) == 11) then
aura_env.text = aura_env.text:gsub (".-\n", "", 2)
aura_env.text = "@title\n" .. aura_env.text
end
return true
end
else
aura_env.text = "@title\n"
aura_env.success = 0
aura_env.dispelled = 0
wipe (aura_env.dispels_by)
return true
end
end
]]
new_aura.trigger.custom = new_aura.trigger.custom:gsub ("@spellid", spellid)
new_aura.trigger.custom = new_aura.trigger.custom:gsub ("@title", icon_text)
--> size
new_aura.fontSize = min (icon_size, 24)
elseif (other_values.dbm_timer_id or other_values.bw_timer_id) then
if (aura_type == "icon") then
@@ -1124,106 +1283,59 @@
new_aura = _detalhes.table.copy ({}, text_dbm_timerbar_prototype)
end
new_aura.actions.init.custom = [[
aura_env.dbm_timer_id = @dbm_timer_id
aura_env.dbm_timer_id_str = "@dbm_timer_id"
aura_env.bw_timer_id = "@bw_timer_id"
aura_env.countdown_at = @countdown
aura_env.ability_name = "@name"
aura_env.ability_icon = [=[@icon]=]
aura_env.ability_text = "@text"
aura_env.aura_global_name = "@gname"
local details_aura_env = _G.DetailsAuraEnv
local details_aura_func_cache = _G.DetailsAuraFuncCache
if (not details_aura_env) then
details_aura_env = {}
_G.DetailsAuraEnv = details_aura_env
end
if (not details_aura_func_cache) then
details_aura_func_cache = {}
_G.DetailsAuraFuncCache = details_aura_func_cache
end
if (BigWigs) then
local old_aura_env = details_aura_env [aura_env.aura_global_name]
if (old_aura_env and old_aura_env.UnregisterMessage) then
old_aura_env:UnregisterMessage ("BigWigs_StartBar")
end
end
if (_G.DBM) then
local previous_func = details_aura_func_cache [aura_env.aura_global_name]
if (previous_func and DBM:IsCallbackRegistered ("DBM_TimerStart", previous_func)) then
DBM:UnregisterCallback ("DBM_TimerStart", previous_func)
end
end
details_aura_env [aura_env.aura_global_name] = aura_env
if (_G.DBM) then
aura_env.Calllback_func = function (bar_type, id, msg, timer, icon, _, spellId, colorId, modid)
local aura_env = DetailsAuraEnv ["@gname"]
if ((type (id) == "string" and id:find (aura_env.dbm_timer_id)) or spellId == aura_env.dbm_timer_id or spellId == aura_env.dbm_timer_id_str) then
local duration = timer
aura_env.trigger_at = GetTime() + duration - aura_env.countdown_at
aura_env.untrigger_at = GetTime() + duration
end
end
details_aura_func_cache [aura_env.aura_global_name] = aura_env.Calllback_func
DBM:RegisterCallback ("DBM_TimerStart", aura_env.Calllback_func)
end
if (BigWigs) then
function aura_env:BigWigs_StartBar (event, module, spellid, bar_text, time, icon, ...)
local aura_env = DetailsAuraEnv ["@gname"]
if (tostring (spellid) == aura_env.bw_timer_id) then
local duration = time
aura_env.trigger_at = GetTime() + duration - aura_env.countdown_at
aura_env.untrigger_at = GetTime() + duration
end
end
BigWigs.RegisterMessage (aura_env, "BigWigs_StartBar")
end
]]
local c = new_aura.actions.init.custom
if (other_values.dbm_timer_id) then
local dbm_tid = other_values.dbm_timer_id
c = c:gsub ("@dbm_timer_id_str", dbm_tid)
c = c:gsub ("@gname", "DetailsAura_" .. dbm_tid)
dbm_tid = dbm_tid:gsub ("ej", "")
c = c:gsub ("@dbm_timer_id", tonumber (dbm_tid))
c = c:gsub ("@bw_timer_id", "Timer ID Not Set")
elseif (other_values.bw_timer_id) then
local bw_tid = other_values.bw_timer_id
c = c:gsub ("@bw_timer_id", bw_tid)
c = c:gsub ("@dbm_timer_id", "Timer ID Not Set")
c = c:gsub ("@gname", "DetailsAura_" .. bw_tid)
end
if (aura_type == "aurabar") then
icon_text = icon_text:gsub ("= ", "")
icon_text = icon_text:gsub (" =", "")
icon_text = icon_text:gsub ("=", "")
new_aura.displayTextLeft = icon_text
new_aura.displayIcon = icon_texture
elseif (aura_type == "icon") then
new_aura.displayStacks = icon_text
new_aura.displayIcon = icon_texture
end
c = c:gsub ("@text", icon_text)
c = c:gsub ("@icon", icon_texture)
c = c:gsub ("@name", spellname)
c = c:gsub ("@countdown", floor (stacksize))
local init_start = [[
aura_env.ability_text = "@text"
aura_env.remaining_trigger = @countdown
]]
init_start = init_start:gsub ("@text", icon_text)
init_start = init_start:gsub ("@countdown", floor (stacksize))
new_aura.trigger.remaining = tostring (floor (stacksize))
new_aura.actions.init.custom = c
new_aura.actions.init.custom = init_start
if (other_values.dbm_timer_id) then
new_aura.trigger.event = "DBM Timer"
local timerId = tostring (other_values.dbm_timer_id)
if (timerId:find ("%s")) then
new_aura.trigger.id = ""
new_aura.trigger.use_id = false
new_aura.trigger.spellId_operator = "=="
new_aura.trigger.use_spellId = true
new_aura.trigger.spellId = tostring (other_values.spellid)
else
new_aura.trigger.id = timerId
end
elseif (other_values.bw_timer_id) then
new_aura.trigger.id = ""
new_aura.trigger.use_id = false
new_aura.trigger.spellId_operator = "=="
new_aura.trigger.use_spellId = true
new_aura.trigger.spellId = tostring (other_values.bw_timer_id)
new_aura.trigger.event = "BigWigs Timer"
end
--> size
if (aura_type == "icon") then
new_aura.width = icon_size
new_aura.height = icon_size
elseif (aura_type == "aurabar") then
new_aura.width = min (icon_size, 370)
new_aura.height = 40
new_aura.width = max (icon_size, 370)
new_aura.height = 38
elseif (aura_type == "text") then
new_aura.fontSize = min (icon_size, 72)
end
@@ -1448,7 +1560,7 @@
local f = CreateFrame ("frame", "DetailsAuraPanel", UIParent, "ButtonFrameTemplate")
f:SetSize (600, 488)
f:SetPoint ("center", UIParent, "center")
f:SetPoint ("center", UIParent, "center", 0, 150)
f:SetFrameStrata ("HIGH")
f:SetToplevel (true)
f:SetMovable (true)
@@ -1559,6 +1671,7 @@
{label = "BigWigs Time Bar", value = 32, icon = aura_on_icon, onclick = on_select_aura_trigger},
{label = "Spell Interrupt", value = 41, icon = aura_on_icon, onclick = on_select_aura_trigger},
{label = "Spell Dispell", value = 42, icon = aura_on_icon, onclick = on_select_aura_trigger},
}
local aura_on_options = function()
return aura_on_table
@@ -1875,7 +1988,7 @@
f.SpellName:Disable()
f.UseSpellId:Disable()
elseif (trigger == 41) then --interrupt
elseif (trigger == 41 or trigger == 42) then --interrupt or dispel
f.StackSlider:Disable()
f.SpellName:Disable()
f.UseSpellId:Disable()
@@ -1886,8 +1999,13 @@
f.UseGlow:Disable()
icon_size_label:SetText ("Text Size: ")
f.IconSizeSlider:SetValue (11)
f.AuraText:SetText ("=Not Interrupted!=")
aura_text_label.text = "Not Interrupted: "
if (trigger == 41) then
f.AuraText:SetText ("=Not Interrupted!=")
aura_text_label.text = "Not Interrupted: "
elseif (trigger == 42) then
f.AuraText:SetText (DetailsAuraPanel.name.text:gsub ("%(d!%)", "") .. "Dispells")
aura_text_label.text = "Title Text: "
end
end
if (DetailsAuraPanel.other_values and DetailsAuraPanel.other_values.text) then
@@ -2194,7 +2312,7 @@
end
local all_players_module = {
name = "All Players",
name = "Players",
desc = "Show a list of all player actors",
filters_widgets = function()
if (not DetailsForgeAllPlayersFilterPanel) then
@@ -2257,7 +2375,7 @@
-----------------------------------------------
local all_pets_module = {
name = "All Pets",
name = "Pets",
desc = "Show a list of all pet actors",
filters_widgets = function()
if (not DetailsForgeAllPetsFilterPanel) then
@@ -2341,7 +2459,7 @@
-----------------------------------------------
local all_enemies_module = {
name = "All Enemies",
name = "Enemies",
desc = "Show a list of all enemies actors",
filters_widgets = function()
if (not DetailsForgeAllEnemiesFilterPanel) then
@@ -2405,10 +2523,17 @@
-----------------------------------------------
local spell_open_aura_creator = function (row)
local data = all_modules [4].data [row]
local spellid = data[1].id
local spellname, _, spellicon = GetSpellInfo (spellid)
_detalhes:OpenAuraPanel (spellid, spellname, spellicon, data[3])
end
local EncounterSpellEvents = EncounterDetailsDB and EncounterDetailsDB.encounter_spells
local all_spells_module = {
name = "All Spells",
name = "Spells",
desc = "Show a list of all spells used",
filters_widgets = function()
if (not DetailsForgeAllSpellsFilterPanel) then
@@ -2463,7 +2588,11 @@
end
if (can_add and not spell_already_added [spellid]) then
spell_already_added [spellid] = true
tinsert (t, {spell, actor})
local encounter_id
if (actor:IsNeutralOrEnemy()) then
encounter_id = combat.is_boss and combat.is_boss.id
end
tinsert (t, {spell, actor, encounter_id})
end
end
end
@@ -2476,8 +2605,9 @@
{name = "Name", width = 150, type = "entry", func = no_func},
{name = "SpellID", width = 60, type = "entry", func = no_func},
{name = "School", width = 60, type = "entry", func = no_func},
{name = "Caster", width = 100, type = "entry", func = no_func},
{name = "Event", width = 300, type = "entry", func = no_func},
{name = "Caster", width = 80, type = "entry", func = no_func},
{name = "Event", width = 260, type = "entry", func = no_func},
{name = "Create Aura", width = 40, type = "button", func = spell_open_aura_creator, icon = [[Interface\Buttons\UI-CheckBox-Check-Disabled]], notext = true, iconalign = "center"},
},
fill_panel = false,
fill_gettotal = function (self) return #self.module.data end,
@@ -2510,6 +2640,176 @@
-----------------------------------------------
local dbm_open_aura_creator = function (row)
local data = all_modules [5].data [row]
local spellname, spellicon, _
if (type (data [7]) == "number") then
spellname, _, spellicon = GetSpellInfo (data [7])
else
if (data [7]) then
local spellid = data[7]:gsub ("ej", "")
spellid = tonumber (spellid)
local title, description, depth, abilityIcon, displayInfo, siblingID, nextSectionID, filteredByDifficulty, link, startsOpen, flag1, flag2, flag3, flag4 = EJ_GetSectionInfo (spellid)
spellname, spellicon = title, abilityIcon
else
return
end
end
_detalhes:OpenAuraPanel (data[2], spellname, spellicon, data.id, DETAILS_WA_TRIGGER_DBM_TIMER, DETAILS_WA_AURATYPE_TEXT, {dbm_timer_id = data[2], text = "Next " .. spellname .. " In", text_size = 72, icon = spellicon})
end
local dbm_timers_module = {
name = "DBM Timers",
desc = "Show a list of Dbm timers",
filters_widgets = function()
if (not DetailsForgeDBMBarsFilterPanel) then
local w = CreateFrame ("frame", "DetailsForgeDBMBarsFilterPanel", f)
w:SetSize (600, 20)
w:SetPoint ("topleft", f, "topleft", 120, -40)
local label = w:CreateFontString (nil, "overlay", "GameFontHighlightSmall")
label:SetText ("Bar Text: ")
label:SetPoint ("left", w, "left", 5, 0)
local entry = fw:CreateTextEntry (w, nil, 120, 20, "entry", "DetailsForgeDBMBarsTextFilter")
entry:SetHook ("OnTextChanged", function() f:refresh() end)
entry:SetPoint ("left", label, "right", 2, 0)
end
return DetailsForgeDBMBarsFilterPanel
end,
search = function()
local t = {}
local filter = DetailsForgeDBMBarsTextFilter:GetText()
local source = _detalhes.global_plugin_database ["DETAILS_PLUGIN_ENCOUNTER_DETAILS"] and _detalhes.global_plugin_database ["DETAILS_PLUGIN_ENCOUNTER_DETAILS"].encounter_timers_dbm or {}
for key, timer in pairs (source) do
if (filter ~= "") then
filter = lower (filter)
local bar_text = lower (timer [3])
if (bar_text:find (filter)) then
t [#t+1] = timer
end
else
t [#t+1] = timer
end
end
return t
end,
header = {
{name = "Index", width = 40, type = "text", func = no_func},
{name = "Bar Text", width = 160, type = "entry", func = no_func},
{name = "Id", width = 140, type = "entry", func = no_func},
{name = "Spell Id", width = 50, type = "entry", func = no_func},
{name = "Timer", width = 40, type = "entry", func = no_func},
{name = "Encounter Id", width = 100, type = "entry", func = no_func},
{name = "Create Aura", width = 120, type = "button", func = dbm_open_aura_creator, icon = [[Interface\Buttons\UI-CheckBox-Check-Disabled]], notext = true, iconalign = "center"},
},
fill_panel = false,
fill_gettotal = function (self) return #self.module.data end,
fill_fillrows = function (index, self)
local data = self.module.data [index]
if (data) then
local encounter_id = data.id
return {
index,
data[3] or "",
data[2] or "",
data[7] or "",
data[4] or "0",
tostring (encounter_id) or "0"
}
else
return nothing_to_show
end
end,
fill_name = "DetailsForgeDBMBarsFillPanel",
}
f:InstallModule (dbm_timers_module)
-----------------------------------------------
local bw_open_aura_creator = function (row)
local data = all_modules [6].data [row]
local spellname, spellicon, _
local spellid = tonumber (data [2])
if (type (spellid) == "number") then
if (spellid < 0) then
local title, description, depth, abilityIcon, displayInfo, siblingID, nextSectionID, filteredByDifficulty, link, startsOpen, flag1, flag2, flag3, flag4 = EJ_GetSectionInfo (abs (spellid))
spellname, spellicon = title, abilityIcon
else
spellname, _, spellicon = GetSpellInfo (spellid)
end
_detalhes:OpenAuraPanel (data [2], spellname, spellicon, data.id, DETAILS_WA_TRIGGER_BW_TIMER, DETAILS_WA_AURATYPE_TEXT, {bw_timer_id = data [2], text = "Next " .. spellname .. " In", text_size = 72, icon = spellicon})
end
end
local bigwigs_timers_module = {
name = "BigWigs Timers",
desc = "Show a list of BigWigs timers",
filters_widgets = function()
if (not DetailsForgeBigWigsBarsFilterPanel) then
local w = CreateFrame ("frame", "DetailsForgeBigWigsBarsFilterPanel", f)
w:SetSize (600, 20)
w:SetPoint ("topleft", f, "topleft", 120, -40)
local label = w:CreateFontString (nil, "overlay", "GameFontHighlightSmall")
label:SetText ("Bar Text: ")
label:SetPoint ("left", w, "left", 5, 0)
local entry = fw:CreateTextEntry (w, nil, 120, 20, "entry", "DetailsForgeBigWigsBarsTextFilter")
entry:SetHook ("OnTextChanged", function() f:refresh() end)
entry:SetPoint ("left", label, "right", 2, 0)
end
return DetailsForgeBigWigsBarsFilterPanel
end,
search = function()
local t = {}
local filter = DetailsForgeBigWigsBarsTextFilter:GetText()
local source = _detalhes.global_plugin_database ["DETAILS_PLUGIN_ENCOUNTER_DETAILS"] and _detalhes.global_plugin_database ["DETAILS_PLUGIN_ENCOUNTER_DETAILS"].encounter_timers_bw or {}
for key, timer in pairs (source) do
if (filter ~= "") then
filter = lower (filter)
local bar_text = lower (timer [3])
if (bar_text:find (filter)) then
t [#t+1] = timer
end
else
t [#t+1] = timer
end
end
return t
end,
header = {
{name = "Index", width = 40, type = "text", func = no_func},
{name = "Bar Text", width = 160, type = "entry", func = no_func},
{name = "Spell Id", width = 50, type = "entry", func = no_func},
{name = "Timer", width = 40, type = "entry", func = no_func},
{name = "Encounter Id", width = 100, type = "entry", func = no_func},
{name = "Create Aura", width = 120, type = "button", func = bw_open_aura_creator, icon = [[Interface\Buttons\UI-CheckBox-Check-Disabled]], notext = true, iconalign = "center"},
},
fill_panel = false,
fill_gettotal = function (self) return #self.module.data end,
fill_fillrows = function (index, self)
local data = self.module.data [index]
if (data) then
local encounter_id = data.id
return {
index,
data[3] or "",
data[2] or "",
data[4] or "",
tostring (encounter_id) or "0"
}
else
return nothing_to_show
end
end,
fill_name = "DetailsForgeBigWigsBarsFillPanel",
}
f:InstallModule (bigwigs_timers_module)
-----------------------------------------------
local select_module = function (a, b, module_number)
if (current_module ~= module_number) then