Refactor encounter handling and placeholder logic
All checks were successful
forgejo/Czech Quests/addon/pipeline/head This commit looks good
All checks were successful
forgejo/Czech Quests/addon/pipeline/head This commit looks good
This commit is contained in:
parent
c2eda51d7d
commit
a32b698ebf
10 changed files with 278 additions and 421 deletions
|
@ -1,6 +1,6 @@
|
|||
local _, addon = ...
|
||||
|
||||
local function SplitAbilityParts(input, delimiter)
|
||||
local function ParseAbilities(input, delimiter)
|
||||
local result = {}
|
||||
local pattern = "([^" .. delimiter .. "]*)"
|
||||
local normalizedAbility = string.gsub(input, "||", "|???|")
|
||||
|
@ -17,21 +17,46 @@ local function SplitAbilityParts(input, delimiter)
|
|||
|
||||
return result
|
||||
end
|
||||
addon.API.SplitAbilityParts = SplitAbilityParts
|
||||
addon.API.ParseAbilities = ParseAbilities
|
||||
|
||||
local function SetAbilityDescription(text, original)
|
||||
local withNumbers = addon.API.FillNumbers(text, original)
|
||||
return addon.API.ColorSpellNames(withNumbers)
|
||||
end
|
||||
addon.API.SetAbilityDescription = SetAbilityDescription
|
||||
|
||||
local function SetSummaryDescription(text, original)
|
||||
local withNumbers = addon.API.FillNumbers(text, original)
|
||||
|
||||
local lines = {}
|
||||
for part in string.gmatch(withNumbers, "([^\n]+)") do
|
||||
table.insert(lines, part)
|
||||
end
|
||||
|
||||
local description = ""
|
||||
for i, line in pairs(lines) do
|
||||
description = description
|
||||
.. "- "
|
||||
.. addon.API.ColorSpellNames(line)
|
||||
.. (i == #lines and "" or "\n\n")
|
||||
end
|
||||
|
||||
return description
|
||||
end
|
||||
addon.API.SetSummaryDescription = SetSummaryDescription
|
||||
|
||||
local function GetEncounterAbility(abilityKey)
|
||||
return addon.data.encounter[abilityKey] or nil
|
||||
return addon.data.encounter[abilityKey].m 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,
|
||||
overview = addon.data.encounter[bossKey .. "_summary_instance"].m or nil,
|
||||
tank = addon.data.encounter[bossKey .. "_summary_tank"].m or nil,
|
||||
healer = addon.data.encounter[bossKey .. "_summary_healer"].m or nil,
|
||||
dps = addon.data.encounter[bossKey .. "_summary_dps"].m or nil,
|
||||
}
|
||||
end
|
||||
addon.API.GetEncounter = GetEncounter
|
Loading…
Add table
Add a link
Reference in a new issue