Module:Tier List: Difference between revisions

From Dustloop Wiki
mNo edit summary
mNo edit summary
Line 15: Line 15:


   -- iterate over tokens in arg, sperrated by ',' character
   -- iterate over tokens in arg, sperrated by ',' character
   for token in string.gmatch(args[2], '([^,]+)') do
   for token in string.gmatch(frame.args[2], '([^,]+)') do
     character = token
     character = token
     -- inject character label
     -- inject character label

Revision as of 22:20, 4 March 2022

Module:Tier_List is used to generate tier lists directly within the wiki using HTML, and the existing character labels.

Usage

A tier list requires that arguments be present in order.

  1. The abbreviation for the game (IE: GGACR, GBVS, DBFZ, etc)
  2. All of the tiers, ordered from top to bottom

Within a given tier, you must define the label for that tier (the letter that appears inside of the colored square) followed by a semicolon character (';').

Short Names in Labels

The tier list will attempt to find the appropriate icon and link for a given character. If you choose not to use the full name of a character, you must set up a necessary redirect from the short name to the full name. This applies to both the icon file and the character page itself.

For example: We want to show "Sol" on our tier list instead of "Sol Badguy". We must create 2 redirects.

  • Redirect from [[File:GGACR_Sol_Icon.png]] to [[File:GGACR_Sol_Badguy_Icon.png]]
  • Redirect from [[GGACR/Sol]] to [[GGACR/Sol_Badguy]]

Example

{{#invoke:Tier List|drawTierList
|GGACR
|S;Testament,Baiken,Zappa,Dizzy
|A;Chipp,Axl,Faust,Millia,Jam
|B;A.B.A,Potemkin,Sol,May
|C;Kliff,Order-Sol,Justice,Slayer,Anji,Johnny
|D;Robo-Ky,Eddie,I-No,Ky,Venom,Bridget
}}

local p = {}

local wikitext = "<div class=\"tierList\">" -- initialize the wikitext with the container for the list
local args = { ... }

function p.drawTierList(frame)
  local GAME = frame.args['game']
  local character = ""
  
  --Inject the special first tier label
  wikitext = wikitext .. "<div class=\"tierHeader\" style=\"background-color: #b8ff89; border-top-left-radius: 4px;\">S</div>"

  -- open a new tier container
  wikitext = wikitext .. "<div class=\"tierGroup tierUnderline\">"

  -- iterate over tokens in arg, sperrated by ',' character
  for token in string.gmatch(frame.args[2], '([^,]+)') do
    character = token
    -- inject character label
    local characterLabel = frame:expandTemplate{ title = 'Character Label', args = { GAME, character, '32px' } }
    wikitext = wikitext .. "<div>" .. characterLabel .. "</div>"
  end

  -- close the current tier container
  wikitext = wikitext .. "</div>"








  -- inject a new tier label
  wikitext = wikitext .. "<div class=\"tierHeader\" style=\"background-color: #fdff89;\">A</div>"

  -- open a new tier container
  wikitext = wikitext .. "<div class=\"tierGroup tierUnderline\">"

  -- inject a new character label
  local characterLabel = frame:expandTemplate{ title = 'Character Label', args = { GAME, character, '32px' } }
  wikitext = wikitext .. "<div>" .. characterLabel .. "</div>"

  -- close the current tier container
  wikitext = wikitext .. "</div>"

  -- close the entire tier list
  wikitext = wikitext .. "</div>"

  return wikitext
end

return p