2023年政策修订增补工作正在进行中,欢迎参与!
  • Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

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