Documentation for this module may be created at Module:ClassInfo/doc
--This module is invoked by Template:Classstat, Template:ClassPromotions
--and Template:ClassSkills
local getArgs = require('Module:Arguments').getArgs
local getColor = require('Module:Color').colorByGame
local common = require('Module:Common')
local p = {}
local games = {
fe1= '[[Fire Emblem: Shadow Dragon and the Blade of Light|FE1]]',
fe2= '[[Fire Emblem Gaiden|FE2]]',
fe3= '[[Fire Emblem: Mystery of the Emblem|FE3]]',
fe4= '[[Fire Emblem: Genealogy of the Holy War|FE4]]',
fe5= '[[Fire Emblem: Thracia 776|FE5]]',
fe6= '[[Fire Emblem: The Binding Blade|FE6]]',
fe7= '[[Fire Emblem: The Blazing Blade|FE7]]',
fe8= '[[Fire Emblem: The Sacred Stones|FE8]]',
fe9= '[[Fire Emblem: Path of Radiance|FE9]]',
fe10='[[Fire Emblem: Radiant Dawn|FE10]]',
fe11='[[Fire Emblem: Shadow Dragon|FE11]]',
fe12='[[Fire Emblem: New Mystery of the Emblem|FE12]]',
fe13='[[Fire Emblem Awakening|FE13]]',
fe14='[[Fire Emblem Fates|FE14]]',
ts= '[[TearRing Saga: Utna Heroes Saga|TS]]',
tms= '[[Tokyo Mirage Sessions ♯FE|TMS♯FE]]',
}
local function setRow(arg, game, ext)
local class = common.colorLinks(game)
local color = getColor[game]
local val
if(ext ~= nil) then
val = string.gsub(arg[game..'-'..ext], '*', '||')
else
val = '\n| '..string.gsub(arg[game], '*', '||')
end
return
'\n|style="background:'..color..'" class='..class..
'|<b>'..games[game]..'</b> '..val..
'\n|-'
end
function p.main(frame)
local args = getArgs(frame)
return p._main(args)
end
function p._main(args)
local out, cols
local rows = ''
local nP = 5 -- number of extended parameters
local nFEG = 14 -- number of FE games
-- COLUMNS
if(args.type == 'stat') then
cols =
'!![[HP]] !! [[Str]] !! [[Mag]] !! [[Skl]] !! [[Spd]]'..
'!![[Lck]] !! [[Def]] !! [[Res]] !! [[Mov]] !! [[Con]]'..
'!![[Weight (character stat)|Wt.]]'..
'!![[Weapon Rank|Wp.Rank]]'
elseif(args.type == 'promotion') then
cols = '!!Base Class !!width=50%|Promotion Method !!Promoted Class(es)'
else
cols = '!!Skill !!Requirements'
end
-- ROWS
-- FE games
for i = 1, nFEG do
if(args['fe'..i] ~= nil) then rows = rows..setRow(args, 'fe'..i) end
for j = 1, nP do
if(args['fe'..i..'-'..j] ~= nil) then
rows = rows..setRow(args, 'fe'..i, j) end
end
end
-- TearRing Saga
if(args['ts'] ~= nil) then rows = rows..setRow(args, 'ts') end
for j = 1, nP do
if(args['ts-'..j] ~= nil) then
rows = rows..setRow(args, 'ts', j) end
end
-- TMS♯FE
if(args['tms'] ~= nil) then rows = rows..setRow(args, 'tms') end
for j = 1, nP do
if(args['tms-'..j] ~= nil) then
rows = rows..setRow(args, 'tms', j) end
end
-- FINAL OUTPUT
out =
'\n{|class="wikitable" style="text-align:center"'..
'\n|-\n! '..
cols..
'\n|-'..
rows..
'\n|}'
return out
end
return p
--[[Category:Modules]]