7c93260db7
- fixed problem with dps with isn't showing after a new combat start. - fixed icon problem on actor details panel. - fixed a rare issue when switching between healing and damage throws a lua error. - fixed custom list which wasn't showing the correct custom selected. - added single click report for damage prevented. - added a alert when data share is running. - added single click report for cooldowns. - cooldowns tooltip now show 15 cooldowns up from 3. - added API: _detalhes:GetEncounterEqualize (mapid, bossindex) - added API CoolTip options: "MinWidth".
123 lines
4.7 KiB
Lua
123 lines
4.7 KiB
Lua
|
|
do
|
|
|
|
local _detalhes = _G._detalhes
|
|
_detalhes.EncounterInformation = {}
|
|
local _ipairs = ipairs --> lua local
|
|
|
|
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
--> details api functions
|
|
|
|
--> return if the player is inside a raid supported by details
|
|
function _detalhes:IsInInstance()
|
|
local _, _, _, _, _, _, _, zoneMapID = GetInstanceInfo()
|
|
if (_detalhes.EncounterInformation [zoneMapID]) then
|
|
return true
|
|
else
|
|
return false
|
|
end
|
|
end
|
|
|
|
--> return the ids of trash mobs in the instance
|
|
function _detalhes:GetInstanceTrashInfo (mapid)
|
|
return _detalhes.EncounterInformation [mapid] and _detalhes.EncounterInformation [mapid].trash_ids
|
|
end
|
|
|
|
--> return the function for the boss
|
|
function _detalhes:GetEncounterEnd (mapid, bossindex)
|
|
local t = _detalhes.EncounterInformation [mapid] and _detalhes.EncounterInformation [mapid].encounters [bossindex]
|
|
if (t) then
|
|
local _end = t.combat_end
|
|
if (_end) then
|
|
return unpack (_end)
|
|
end
|
|
end
|
|
return
|
|
end
|
|
|
|
--> return if the boss need sync
|
|
function _detalhes:GetEncounterEqualize (mapid, bossindex)
|
|
return _detalhes.EncounterInformation [mapid] and _detalhes.EncounterInformation [mapid].encounters [bossindex] and _detalhes.EncounterInformation [mapid].encounters [bossindex].equalize
|
|
end
|
|
|
|
--> return the function for the boss
|
|
function _detalhes:GetBossFunction (mapid, bossindex)
|
|
local func = _detalhes.EncounterInformation [mapid] and _detalhes.EncounterInformation [mapid].encounters [bossindex] and _detalhes.EncounterInformation [mapid].encounters [bossindex].func
|
|
if (func) then
|
|
return func, _detalhes.EncounterInformation [mapid].encounters [bossindex].funcType
|
|
end
|
|
return
|
|
end
|
|
|
|
--> return the boss table with information about name, adds, spells, etc
|
|
function _detalhes:GetBossDetails (mapid, bossindex)
|
|
return _detalhes.EncounterInformation [mapid] and _detalhes.EncounterInformation [mapid].encounters [bossindex]
|
|
end
|
|
|
|
--> return a table with spells id of specified encounter
|
|
function _detalhes:GetEncounterSpells (mapid, bossindex)
|
|
local encounter = _detalhes:GetBossDetails (mapid, bossindex)
|
|
local habilidades_poll = {}
|
|
if (encounter.continuo) then
|
|
for index, spellid in _ipairs (encounter.continuo) do
|
|
habilidades_poll [spellid] = true
|
|
end
|
|
end
|
|
local fases = encounter.phases
|
|
for fase_id, fase in _ipairs (fases) do
|
|
if (fase.spells) then
|
|
for index, spellid in _ipairs (fase.spells) do
|
|
habilidades_poll [spellid] = true
|
|
end
|
|
end
|
|
end
|
|
return habilidades_poll
|
|
end
|
|
|
|
--> return a table with all boss ids from a raid instance
|
|
function _detalhes:GetBossIds (mapid)
|
|
return _detalhes.EncounterInformation [mapid] and _detalhes.EncounterInformation [mapid].boss_ids
|
|
end
|
|
|
|
--> return a table with all encounter names present in raid instance
|
|
function _detalhes:GetBossNames (mapid)
|
|
return _detalhes.EncounterInformation [mapid] and _detalhes.EncounterInformation [mapid].boss_names
|
|
end
|
|
|
|
--> return the encounter name
|
|
function _detalhes:GetBossName (mapid, bossindex)
|
|
return _detalhes.EncounterInformation [mapid] and _detalhes.EncounterInformation [mapid].boss_names [bossindex]
|
|
end
|
|
|
|
--> same thing as GetBossDetails, just a alias
|
|
function _detalhes:GetBossEncounterDetails (mapid, bossindex)
|
|
return _detalhes.EncounterInformation [mapid] and _detalhes.EncounterInformation [mapid].encounters [bossindex]
|
|
end
|
|
|
|
--> return the wallpaper for the raid instance
|
|
function _detalhes:GetRaidBackground (mapid)
|
|
return _detalhes.EncounterInformation [mapid] and _detalhes.EncounterInformation [mapid].background
|
|
end
|
|
|
|
--> return the boss icon
|
|
function _detalhes:GetBossIcon (mapid, bossindex)
|
|
if (_detalhes.EncounterInformation [mapid]) then
|
|
local line = math.ceil (bossindex / 4)
|
|
local x = ( bossindex - ( (line-1) * 4 ) ) / 4
|
|
return x-0.25, x, 0.25 * (line-1), 0.25 * line, _detalhes.EncounterInformation [mapid].icons
|
|
end
|
|
end
|
|
|
|
--> return the boss portrit
|
|
function _detalhes:GetBossPortrait (mapid, bossindex)
|
|
return _detalhes.EncounterInformation [mapid] and _detalhes.EncounterInformation [mapid].encounters [bossindex].portrait
|
|
end
|
|
|
|
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
--> core
|
|
|
|
function _detalhes:InstallEncounter (InstanceTable)
|
|
_detalhes.EncounterInformation [InstanceTable.id] = InstanceTable
|
|
return true
|
|
end
|
|
end |