Module:InfoboxCharacter

From Elwiki
Revision as of 15:37, 1 September 2022 by Ritsu (talk | contribs)

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

    -- addField2('name', args.l_name);
    -- addField('class', args.l_class);
    -- addField2('classes', args.l_classes);
    -- addField('weapon', args.l_weapon, true);
    -- addField('age', args.l_age, true);
    -- addField('race', args.l_race, true);
    -- addField('Birth', args.l_birth, true);
    -- addField('Height', args.l_height, true);
    -- addField('Weight', args.l_weight, true);
    -- addField('Blood', args.l_blood, true);
    -- addField('ESP', args.l_esp);
    -- addField('tree', args.l_tree);
    -- addField('VA', args.l_va, true);
    -- addField('RD', args.l_rd);
    -- addField('TRD', args.l_trd);
    -- addField('MRD', args.l_mrd);
    -- addField('theme', args.l_theme);
    -- addField('video', args.l_video);
    -- addField('stat', args.l_stat);
    
    return tostring(infobox);

end

return p