欢迎来到气球塔防6 BWIKI!除特殊说明外,本站内容采用CC BY-NC-SA 4.0协议。
欢迎各位到留言板留言或者加入QQ群:950568164

全站通知:

模块:TowerUtility

来自气球塔防6WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

此模块包含关于防御塔的各种实用函数(大概)。

使用方法

升级价格

{{#invoke:TowerUtility|upgrade|防御塔(英文名称)|升级路线(1-3)|阶数(1-5)}}

白板价格

{{#invoke:TowerUtility|base|防御塔(英文名称)}}

模范价格

{{#invoke:TowerUtility|paragon|防御塔(英文名称)}}

升级分支路线内容清洗

{{#invoke:TowerUtility|cleanCrossPath|XXXXX}}

例如:

{{#invoke:TowerUtility|cleanCrossPath|
;0-1-5
这是一架大飞机
;0-2-5
这就是一架大飞机}}

输出结果:

0-1-5:这是一架大飞机
0-2-5:这就是一架大飞机


-- 本模块包含各种与防御塔相关的实用函数
local p = {}

-- 升级价格,{{#invoke:TowerUtility|upgrade|防御塔(英文名称)|升级路线(1-3)|阶数(1-5)}}
p.upgrade = function(frame)
	local prices = mw.text.jsonDecode(mw.title.new("Prices.json"):getContent())
	local tower = frame.args[1]
	local path = tonumber(frame.args[2])
	local tier = tonumber(frame.args[3])
	return prices[tower][path][tier]
end

-- 白板价格,{{#invoke:TowerUtility|base|防御塔(英文名称)}}
p.base = function(frame)
	local prices = mw.text.jsonDecode(mw.title.new("Prices.json"):getContent())
	local tower = frame.args[1]
	return prices[tower]["base"]
end

-- 模范价格,{{#invoke:TowerUtility|paragon|防御塔(英文名称)}}
p.paragon = function(frame)
	local prices = mw.text.jsonDecode(mw.title.new("Prices.json"):getContent())
	local tower = frame.args[1]
	return prices[tower]["paragon"]
end

-- 升级分支路线描述内容整理和清洗
p.cleanCrossPath = function(frame)
	local xPaths = mw.text.split(frame.args[1], ';')
	local result = {}
	for k, v in ipairs(xPaths) do
		local xPathStats = mw.text.trim(v)
		if xPathStats ~= '' then
			local lines = mw.text.split(xPathStats, '\n')
			if #lines <= 1 then
				error("details not provided")
			end
			local resultLine = string.format("'''%s''':%s", lines[1], lines[2])
			table.insert(result, resultLine)
		end
	end
	return table.concat(result, '<br>')
end

return p