Module:Face: Difference between revisions

From Elwiki
No edit summary
No edit summary
Line 56: Line 56:
             height = 60 * scale
             height = 60 * scale
         })
         })
         :wikitext("[[File:Character Face " .. CHARACTER_ID[character] .. "-FACE " .. pathIndex .. jobIndex .. transString .. ".png|link=" .. link .. lang .. "]]")
         :wikitext("[[File:Character Face " .. charId .. "-FACE " .. pathIndex .. jobIndex .. transString .. ".png|link=" .. link .. lang .. "]]")


     return tostring(image)
     return tostring(image)

Revision as of 01:08, 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
    local charId = string.len(CHARACTER_ID[character]) == 1 and ("0" .. CHARACTER_ID[character]) or CHARACTER_ID[character]

    if data == "base" then
        jobIndex = "NO_OCCUPATION"
    elseif data ~= "base" then
        local arr = split(data, "x");
        if not #arr then
            arr[1] = 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 " .. charId .. "-FACE " .. pathIndex .. jobIndex .. transString .. ".png|link=" .. link .. lang .. "]]")

    return tostring(image)
end

return p