全站通知:

模块:Description

来自星露谷物语维基
跳到导航 跳到搜索

本模块用于模板:Description,替代了曾用的 #switch 写法,提高了运行的效率。

大部分数据均由游戏中导出,如需手动添加,请补至页面模块:Description/data/overrides的末尾。

[ 查看 | 编辑 | 历史 | 刷新 ]上述文档的内容来自模块:Description/doc
local utils = require("Module:Utils")

local en_name_lower_to_id = mw.loadData("Module:Items/en/name/ids")
local zh_id_to_name = mw.loadData("Module:Items/zh/ids/name")
local data2 = mw.loadData("Module:Items/zh/name/desc")
local data3 = mw.loadData("Module:Items/zh/id/desc")
local overrides = mw.loadData("Module:Description/data/overrides")

local p = {}

function p.getDesc(input)
    local text = utils.getArg(input)
    if not text then
        return ""
    end
    
    local normalizedText = text:lower():gsub("_", " ")
    
    if overrides[normalizedText] then
        local overrideDesc = overrides[normalizedText]
        if overrideDesc then
            return overrideDesc
        end
    end
    
    if data2[normalizedText] then
        return data2[normalizedText]
    end
    
    local id = en_name_lower_to_id[normalizedText]
    if id then
        local zhName = zh_id_to_name[id]
        if zhName and data2[zhName] then
            return data2[zhName]
        end
    end
    
    if data3[normalizedText] then
        return data3[normalizedText]
    end
    
    return ""
end

function p.debug2()
	local results = {}
	for key, _ in pairs(overrides) do
		local test = key:lower()
		if test ~= key then table.insert(results, "大小写不一致:" .. key) end
		local tmp = p.getDesc(key)
		if tmp ~= "" then
			tmp = key .. '=' ..tmp
	    	table.insert(results, tmp)
    	end
	end
	return table.concat(results, "\n")
end

p.description = p.getDesc

return p