Module:Skill types

From Blue Archive Wiki
Revision as of 07:55, 27 May 2024 by PetraMagna (talk | contribs) (Created page with "local getArgs = require('Module:Arguments').getArgs local p = {} function p.main(frame) local args = getArgs(frame) return p._main(args) end function p.make_cat(skill) return "Category:Characters with " .. skill .. " skills" end function p.make_link(skill) return "" .. skill .. " skills" end function p._main(args) local length = 0 for k, v in pairs(args) do length = length + 1 end local result = "" i...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Documentation for this module may be created at Module:Skill types/doc

local getArgs = require('Module:Arguments').getArgs
local p = {}

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

function p.make_cat(skill)
	return "[[Category:Characters with " .. skill .. " skills]]"
end

function p.make_link(skill)
	return "[[:Category:Characters with " .. skill .. " skills|" .. skill .. " skills]]"
end

function p._main(args)
	local length = 0
	for k, v in pairs(args) do
		length = length + 1
	end
	local result = ""
	if length == 1 then
		result = p.make_link(args[1])
	elseif length == 2 then
		result = p.make_link(args[1]) .. " and " .. p.make_link(args[2])
	else
		for key, value in pairs(args) do
			result = result .. p.make_link(value)
			if key == length - 1 then
				result = result .. ", and "
			elseif key ~= length then
				result = result .. ", "
			end
		end
	end
	
	local cats = ""
	for key, value in pairs(args) do
		cats = cats .. p.make_cat(value)
	end

	return result .. cats
end

return p