Module:CoAbility
Revision as of 02:13, 8 April 2020 by >Eave (Created page with "-- <includeonly> (prevents literal interpretation of links or categories within the module code) -- Lua Templating for Co-ability (and chain co-ability) related displays local...")
This module abstracts away some of the logical complexity that is difficult to represent in pure Wikitext when it comes to displaying information about co-abilities and chain co-abilities.
Parameters & Invocation
{{#invoke:CoAbility|Filter}}
No arguments, populates the arguments for and calls the Co-ability filter header used in Widget:CoAbilityListFilter.
{{#invoke:CoAbility|AdventurerTableEntries}}
No arguments, populates the table rows used in Adventurer Co-abilities List.
-- <includeonly> (prevents literal interpretation of links or categories within the module code)
-- Lua Templating for Co-ability (and chain co-ability) related displays
local p = {}
local cargo = mw.ext.cargo
-- Usage: {{#invoke:CoAbility|Filter}}
-- Filter header for coability lists
function p.Filter(frame)
local filterWidget = '{{#widget:CoAbilityListFilter|%s}}'
local coabFilterValues = 'coabs=%s|coabImages={{filename:%s.png}}'
local chainCoabFilterValues = 'chainCoabs=%s|chainCoabImages={{filename:%s.png}}'
local result = {}
local coabs = cargo.query('CoAbilities', 'AbilityIconName', {
groupBy = 'AbilityIconName',
orderBy = 'Id',
})
for i, coab in ipairs(coabs) do
local icon = coab['AbilityIconName']
result[#result+1] = string.format(coabFilterValues, icon, icon)
end
return string.format(filterWidget, table.concat(result, '|'))
end
return p
--</includeonly>