置顶公告:【置顶】关于临时开启评论区所有功能的公告(2022.10.22) | 【置顶】关于本站Widget恢复使用的公告
  • 你好~!欢迎来到萌娘百科镜像站!如需查看或编辑,请联系本站管理员注册账号。
  • 本镜像站和其他萌娘百科的镜像站无关,请注意分别。

Module:Sandbox/Ave/gauge

猛汉♂百科,万男皆可猛的百科全书!转载请标注来源页面的网页链接,并声明引自猛汉百科。内容不可商用。
跳到导航 跳到搜索
Template-info.svg 模块文档  [创建] [刷新]
local p = {}

--初始化字符串
local picoutput = ""

--主函数,先要判断输入的第1个参数是否满足
--如参数1/2填写错误,则自动忽略参数3并抛出报错
function p.gauge(frame)
	local totalHP = tonumber(frame.args[1]) --总血条数
	local remainHP = tonumber(frame.args[2]) --剩余血条数
	local currentHP = frame.args[3] --当前满血血量
	if 0 < totalHP and totalHP <= 11 and 0 <= remainHP and remainHP <= totalHP and currentHP ~= nil then --判断参数是否输入正确
		if totalHP == 1 then
			return frame:preprocess("<big>{{color|green|单血条怪物无须使用本模板}}</big>") --单血条怪物特例
		elseif totalHP == 11 then
			if remainHP == 11 then
				picoutput = "[[File:FGO_Break_10.png|link=]]" --11条血的特殊情况(如ORT)
			else
				for counter = 1, remainHP - 1 do
					picoutput = picoutput .. "[[File:FGO_Break_" .. tostring(counter) .. ".png|link=]]" --循环输出剩余血条的格子
				end
				for counter = 1, totalHP - remainHP - 1 do
					picoutput = picoutput .. "[[File:FGO_Break_Empty.png|link=]]" --按照剩余血条数置空血槽
				end
			end
		else
			for counter = 1,remainHP - 1 do
				picoutput = picoutput .. "[[File:FGO_Break_" .. tostring(counter) .. ".png|link=]]" --循环输出剩余血条的格子
			end
			for counter = 1, totalHP - remainHP do
				picoutput = picoutput .. "[[File:FGO_Break_Empty.png|link=]]" --按照剩余血条数置空血槽
			end
		end
		if tonumber(currentHP) > 0 then --检测参数3是否为0,如果为0,则同样自动忽略
			picoutput = picoutput .. frame:preprocess("<b> " .. "{{formatnum:" .. currentHP .."}}" .. "</b>")
			return picoutput
		else
			return picoutput
		end
	else	
		return frame:preprocess("<big>{{color|red|参数不正确,请重新输入}}</big>") --1/2参数错误时返回报错提示
	end
end

return p