Module:InfoboxCharacter: Difference between revisions

From Elwiki
No edit summary
No edit summary
Line 108: Line 108:
             addField2(v.id, v.localize)
             addField2(v.id, v.localize)
         else
         else
             addField(v.id, v.localize, v.double)
             addField(v.id, v.localize, v.dual)
         end
         end
     end
     end

Revision as of 12:22, 8 September 2023

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 = {
        {
            id = 'name',
            localize = args.l_name,
            dual = true
        },
        {
            id = 'class',
            localize = args.l_class
        },
        {
            id = 'classes',
            localize = args.l_classes,
            dual = true,
            special = true
        },
        {
            id = 'weapon',
            localize = args.l_weapon,
            dual = true
        },
        {
            id = 'age',
            localize = args.l_age,
            dual = true
        },
        {
            id = 'race',
            localize = args.l_race,
            dual = true
        },
        {
            id = 'Birth',
            localize = args.l_birth,
            dual = true
        },
        {
            id = 'Height',
            localize = args.l_height,
            dual = true
        },
        {
            id = 'Weight',
            localize = args.l_weight,
            dual = true
        },
        {
            id = 'Blood',
            localize = args.l_blood,
            dual = true
        },
        {
            id = 'ESP',
            localize = args.l_esp
        },
        {
            id = 'tree',
            localize = args.l_tree
        },
        {
            id = 'VA',
            localize = args.l_va,
            dual = true
        },
        {
            id = 'RD',
            localize = args.l_rd
        },
        {
            id = 'TRD',
            localize = args.l_trd
        },
        {
            id = 'MRD',
            localize = args.l_mrd
        },
        {
            id = 'theme',
            localize = args.l_theme
        },
        {
            id = 'video',
            localize = args.l_video
        },
        {
            id = 'stat',
            localize = args.l_stat
        }
    }

    for k, v in ipairs(fields) do
        if v.special then
            addField2(v.id, v.localize)
        else
            addField(v.id, v.localize, v.dual)
        end
    end
    
    return tostring(infobox);

end

return p