Module:ChartConstantSingle

来自Arcaea中文维基
DrLee lihr讨论 | 贡献2022年7月10日 (日) 22:42的版本

可在Module:ChartConstantSingle/doc创建此模块的帮助文档

local p = {}
local chartConstantList = require("Module:LoadJson").ChartConstant()
local songlist = require("Module:LoadJson").Songlist()
local getArgs = require('Module:Arguments').getArgs


function p.main(frame)
    local args = getArgs(frame)
    local songName = args[1]
    local m = {}
    for i, k in pairs(songlist["songs"]) do
        if k["title_localized"]["en"] == songName then
            m = chartConstantList[k["id"]]
        end
    end
    local function constantFormat (a)
        if not(a) then
            return "<span style=\"font-weight:lighter; color:silver; font-style:italic;\"> - </span>"
        end
        if a["old"] == true then
            return "<span style=\"font-weight:lighter; color:silver; font-style:italic;\">" .. string.format("%.1f", a["constant"]) .. "</span>"
        else
            return string.format("%.1f", a["constant"])
        end
    end
    local arguments = {
        PST = constantFormat(m[1]),
        PRS = constantFormat(m[2]),
        FTR = constantFormat(m[3]),
    }
    if m[4] then arguments["BYD"] = constantFormat(m[4]) end
    return mw.getCurrentFrame():expandTemplate { title = '曲目定数', args = arguments }
end


return p