mNo edit summary |
mNo edit summary |
||
Line 17: | Line 17: | ||
--Inject tier label | --Inject tier label | ||
if index == 2 then | if index == 2 then | ||
wikitext = wikitext .. "<div class=\"tierHeader\" style=\"background-color: #" .. colors[1] .. "; border-top-left-radius: 4px;\">" .. | wikitext = wikitext .. "<div class=\"tierHeader\" style=\"background-color: #" .. colors[1] .. "; border-top-left-radius: 4px;\">" .. tierLabel .. "</div>" | ||
elseif index == numberOfTiers then | elseif index == numberOfTiers then | ||
wikitext = wikitext .. "<div class=\"tierHeader\" style=\"background-color: #" .. colors[index-1] .. "; border-bottom-left-radius: 4px;\">" .. | wikitext = wikitext .. "<div class=\"tierHeader\" style=\"background-color: #" .. colors[index-1] .. "; border-bottom-left-radius: 4px;\">" .. tierLabel .. "</div>" | ||
else | else | ||
wikitext = wikitext .. "<div class=\"tierHeader\" style=\"background-color: #" .. colors[index-1] .. ";\">" .. | wikitext = wikitext .. "<div class=\"tierHeader\" style=\"background-color: #" .. colors[index-1] .. ";\">" .. tierLabel .. "</div>" | ||
end | end | ||
Revision as of 23:33, 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.
- The abbreviation for the game (IE: GGACR, GBVS, DBFZ, etc)
- 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 }}
Lua error at line 19: attempt to concatenate local 'tierLabel' (a nil value).
local p = {} function p.drawTierList(frame) local wikitext = "<div class=\"tierList\">" -- initialize the wikitext with the container for the list local GAME = frame.args[1]:gsub("%s+", "") local character = "default" local numberOfTiers = tablelength(frame.args) local colors = {'b8ff89', 'fdff89', 'ffdf7f', 'ffbf7f', 'e98d87'} local tierLabels = {'S', 'A', 'B', 'C', 'D'} for index=2,numberOfTiers do local currentTier = frame.args[index]:gsub("%s+", "") local tierLabel = string.match(currentTier, '/[^;]*/') -- tierLabel = tierLabel:sub(1,-2) currentTier = string.match(currentTier, ";(.*)") -- remove the tier label from the current tier data --Inject tier label if index == 2 then wikitext = wikitext .. "<div class=\"tierHeader\" style=\"background-color: #" .. colors[1] .. "; border-top-left-radius: 4px;\">" .. tierLabel .. "</div>" elseif index == numberOfTiers then wikitext = wikitext .. "<div class=\"tierHeader\" style=\"background-color: #" .. colors[index-1] .. "; border-bottom-left-radius: 4px;\">" .. tierLabel .. "</div>" else wikitext = wikitext .. "<div class=\"tierHeader\" style=\"background-color: #" .. colors[index-1] .. ";\">" .. tierLabel .. "</div>" end -- open a new tier container if index ~= numberOfTiers then wikitext = wikitext .. "<div class=\"tierGroup tierUnderline\">" else wikitext = wikitext .. "<div class=\"tierGroup\">" end -- iterate over tokens in arg, sperrated by ',' character for token in string.gmatch(currentTier, '([^,]+)') 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>" end -- close the entire tier list wikitext = wikitext .. "</div>" return wikitext end function tablelength(T) local count = 0 for _ in pairs(T) do count = count + 1 end return count end return p