37 lines
1.1 KiB
Lua
37 lines
1.1 KiB
Lua
|
local _, addon = ...
|
||
|
|
||
|
local function SplitAbilityParts(input, delimiter)
|
||
|
local result = {}
|
||
|
local pattern = "([^" .. delimiter .. "]*)"
|
||
|
local normalizedAbility = string.gsub(input, "||", "|???|")
|
||
|
|
||
|
local lastPos = 1
|
||
|
for part in string.gmatch(normalizedAbility, pattern) do
|
||
|
table.insert(result, part)
|
||
|
lastPos = lastPos + #part + 1
|
||
|
end
|
||
|
|
||
|
if input:sub(-1) == delimiter then
|
||
|
table.insert(result, "")
|
||
|
end
|
||
|
|
||
|
return result
|
||
|
end
|
||
|
addon.API.SplitAbilityParts = SplitAbilityParts
|
||
|
|
||
|
|
||
|
local function GetEncounterAbility(abilityKey)
|
||
|
return addon.data.encounter[abilityKey] or nil
|
||
|
end
|
||
|
addon.API.GetEncounterAbility = GetEncounterAbility
|
||
|
|
||
|
local function GetEncounter(bossKey)
|
||
|
return {
|
||
|
abilities = addon.data.encounter[bossKey] or nil,
|
||
|
overview = addon.data.encounter[bossKey .. "_summary_instance"] or nil,
|
||
|
tank = addon.data.encounter[bossKey .. "_summary_tank"] or nil,
|
||
|
healer = addon.data.encounter[bossKey .. "_summary_healer"] or nil,
|
||
|
dps = addon.data.encounter[bossKey .. "_summary_dps"] or nil,
|
||
|
}
|
||
|
end
|
||
|
addon.API.GetEncounter = GetEncounter
|