Module:InfoboxCharacter
From Elwiki
Documentation for this module may be created at Module:InfoboxCharacter/doc
require('Module:CommonFunctions')
require('Module:InfoboxProto');
local getArgs = require('Module:Arguments').getArgs
local p = {}
-- Main process
function p.main(frame)
local args = getArgs(frame);
local infobox = require('Module:InfoboxProto').main(frame, args.class);
infobox:addClass('infobox-character');
if (args.name1 == nil and args.name2 == nil) then
addField('name', args.l_name);
end
local fields = {
{
'name',
args.l_name,
nil,
true
},
{
'class',
args.l_class
},
{
'classes',
args.l_classes,
true,
true
},
{
'weapon',
args.l_weapon,
true
},
{
'age',
args.l_age,
true
},
{
'race',
args.l_race,
true
},
{
'Birth',
args.l_birth,
true
},
{
'Height',
args.l_height,
true
},
{
'Weight',
args.l_weight,
true
},
{
'Blood',
args.l_blood,
true
},
{
'ESP',
args.l_esp
},
{
'tree',
args.l_tree
},
{
'VA',
args.l_va,
true
},
{
'RD',
args.l_rd
},
{
'TRD',
args.l_trd
},
{
'MRD',
args.l_mrd
},
{
'theme',
args.l_theme
},
{
'video',
args.l_video
},
{
'stat',
args.l_stat
}
}
for k, v in ipairs(fields) do
local use_double = v[4]
if (v[4] == true) then
addField2(v[1], v[2])
else
addField(v[1], v[2], use_double)
end
end
return tostring(infobox);
end
return p