• Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

Module:无畏契约英雄契约

萌娘百科,万物皆可萌的百科全书!转载请标注来源页面的网页链接,并声明引自萌娘百科。内容不可商用。
跳转到导航 跳转到搜索
local getArgs = require('Module:Arguments').getArgs
local p = {}

function p.main(frame)
	local args = getArgs(frame)
	return p._main(frame, args)
end

function p._main(frame, args)
	if not frame then
		frame = mw.getCurrentFrame()
	end

	local agent = args["agent"]
	local img = ""
	local credits =
		{"2000", "2500", "3000", "3500", "4000", "4500", "5500", "6500", "7500", "8000"}
	local titles = {
		["t"] = "称号",
		["c"] = "卡面",
		["k"] = "王国币",
		["s"] = "-{zh-cn:喷漆;zh-tw:塗鴉;}-",
		["b"] = "-{zh-cn:挂饰;zh-tw:吊飾;}-",
		["0"] = "皮肤"
	}
	local nopicflag = false

	local function createAlt(eles)
		return frame:callParserFunction("#invoke", {"SVG Data URL", "main", svg = '<svg xmlns="http://www.w3.org/2000/svg" width="70" height="70" viewBox="0 0 24 24" fill="none" stroke="#A0A2A4" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">' .. eles .. '</svg>'})
	end

	local alts = {
		["c"] = createAlt('<path d="M3.604 7.197l7.138 -3.109a.96 .96 0 0 1 1.27 .527l4.924 11.902a1 1 0 0 1 -.514 1.304l-7.137 3.109a.96 .96 0 0 1 -1.271 -.527l-4.924 -11.903a1 1 0 0 1 .514 -1.304z" /><path d="M15 4h1a1 1 0 0 1 1 1v3.5" /><path d="M20 6c.264 .112 .52 .217 .768 .315a1 1 0 0 1 .53 1.311l-2.298 5.374" />'),
		["s"] = createAlt('<path d="M4 10m0 2a2 2 0 0 1 2 -2h4a2 2 0 0 1 2 2v7a2 2 0 0 1 -2 2h-4a2 2 0 0 1 -2 -2z" /><path d="M6 10v-4a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v4" /><path d="M15 7h.01" /><path d="M18 9h.01" /><path d="M18 5h.01" /><path d="M21 3h.01" /><path d="M21 7h.01" /><path d="M21 11h.01" /><path d="M10 7h1" />'),
		["b"] = createAlt('<path d="M12 13m-8 0a8 8 0 1 0 16 0a8 8 0 1 0 -16 0" /><path d="M11 5l1 -2l1 2" /><path d="M4.512 10.161c2.496 -1.105 4.992 -.825 7.488 .839c2.627 1.752 5.255 1.97 7.882 .653" /><path d="M4.315 15.252c2.561 -1.21 5.123 -.96 7.685 .748c2.293 1.528 4.585 1.889 6.878 1.081" />'),
		["0"] = createAlt('<path d="M14.5 14h4.5l2 -2v-6z" /><path d="M9 19h5l-11 -13v6z" />')
	}

	local container = mw.html.create():tag("div"):addClass("val-contracts")

	local function createContract(n, img, info)
		container
			:tag("div"):addClass("val-contract")
				:tag("div"):addClass("val-contract-level")
					:wikitext(n):done()
				:tag("div"):addClass("val-contract-img")
					:wikitext(img):done()
				:tag("div"):addClass("val-contract-title")
					:wikitext(args[n .. "-title"]):done()
				:tag("div"):addClass("val-contract-info")
					:wikitext(info):done()
			:allDone()
	end

	for i = 1, 10 do
		local t = args[i .. "-type"] or "0"
		local ext = args[i .. "-format"] or "png"
		local nopic = args[i .. "-nopic"] or "0"

		local imgContent = {
			["t"] = "[[File:VALORANT_Contract_Title.png|link=]]",
			["c"] = "[[File:VALORANT_Contract_" .. agent .. "_" .. i .. ".png|x180px|link=]]",
			["k"] = "[[File:VALORANT_Contract_Kingdom_Credit.png|60px|link=]]"
		}

		if nopic == "1" then
			img = alts[t]
			nopicflag = true
		else
			img = imgContent[t] or ("[[File:VALORANT_Contract_" .. agent .. "_" .. i .. "." .. ext .. "|link=]]")
		end

		if t == "k" then
			createContract(i, img, "王国币")
		else
			createContract(i, img, titles[t] .. "<br/>" .. credits[i] .. "王国币")
		end
	end

	if nopicflag then
		container:wikitext("[[Category:无畏契约英雄契约图片存在缺失的条目]]")
	end

	return container
end

return p