◆42Lab是非盈利性、非官方的云图计划维基百科。
◆诚邀指挥官们加入编辑部共同建设wiki。点这里加入42Lab
如果您发现某些内容错误/空缺,请勇于修正/添加!参与进来其实很容易!
◆有任何意见、建议、纠错,欢迎在任意评论区评论
◆编辑讨论QQ群741423564 微博@GFwiki少前百科 欢迎您

模块:DollPage/Attr

来自42LAB

可在模块:DollPage/Attr/doc创建此模块的帮助文档

local p = {}
local data = {}
local extract = function(idx)
	return function(str)
		local arr = mw.text.split(str, ',%s*')
		return tonumber(arr[idx])
	end
end
local extracts = {['基础'] = extract(10), ['成长'] = extract(10), ['潜能'] = extract(6)}

local function calc(attr)
	local base = math.floor(data['基础'][attr] + data['成长'][attr]*11557/1e5 + data['潜能'][attr])
	return base + math.floor(base*61/100)
end

function p.main(frame)
	local args = frame:getParent().args
	local attrs = {'生命', '攻击', '算力', '物防'}
	local columns = {'基础', '成长', '潜能'}
	for _, column in ipairs(columns) do
		data[column] = {}
		for _, attr in ipairs(attrs) do
			data[column][attr] = extracts[column](args[attr .. column])
		end
	end
	return frame:callParserFunction('#set', {'',
		['最大生命'] = calc('生命'),
		['攻击力'] = calc('攻击'),
		['算力'] = calc('算力'),
		['物理防御'] = calc('物防')})
end
return p