Module:CoAbility

From Dragalia Lost Wiki
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...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
50px Documentation

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>