Module:Face: Difference between revisions

From Elwiki
No edit summary
No edit summary
Line 40: Line 40:
             arr[1] = data
             arr[1] = data
         end
         end
         if string.len(pathIndex) == 1 then
         if string.len(data) == 1 then
             arr[1] = "0" .. data
             arr[1] = "0" .. data
         end
         end

Revision as of 01:00, 29 January 2024

Documentation for this module may be created at Module:Face/doc

require('Module:CommonFunctions')
local getArgs = require('Module:Arguments').getArgs
local p = {}

function p.main(frame)
    local args = getArgs(frame);

    local CHARACTER_ID = {
        Elsword = 1,
        Aisha = 2,
        Rena = 3,
        Raven = 4,
        Eve = 5,
        Chung = 6,
        Ara = 7,
        Elesis = 8,
        Add = 9,
        LuCiel = 10,
        Rose = 11,
        Ain = 12,
        Laby = 13,
        Noah = 14,
        Lithia = 15
    }

    local character = args[1]
    local data = args[2]
    local pathIndex = ""
    local jobIndex = ""
    local transString = ""
    local link = args.link and (data == "base" and character or args.link) or ""
    local lang = args.link and args.lang and ("/" .. args.lang) or ""
    local scale = args.scale or 1

    if data == "base" then
        jobIndex = "NO_OCCUPATION"
    elseif data ~= "base" then
        local arr = split(data, "x");
        if not #arr then
            arr[1] = data
        end
        if string.len(data) == 1 then
            arr[1] = "0" .. data
        end
        pathIndex = arr[1] .. "LINE_"
        if string.find(pathIndex, "t") then
            transString = "_T"
            pathIndex = pathIndex:gsub("t", "")
            arr[2] = "2"
        end
        jobIndex = arr[2] and ("0" .. arr[2]) or ""
    end

    local image = mw.html.create('div'):addClass('image-cropped')
    image:tag('div'):addClass('image-wrap')
        :attr({
            width = 116 * scale,
            height = 60 * scale
        })
        :wikitext("[[File:Character Face " .. CHARACTER_ID[character] .. "-FACE " .. pathIndex .. jobIndex .. transString .. ".png|link=" .. link .. lang .. "]]")

    return tostring(image)
end

return p