Module:FellowCostumeUpgradeTable: Difference between revisions

From The Unofficial Isekai:Slow Life Wiki
Jump to navigation Jump to search
(Created page with "local p = {} local function makeSkillTable(skillName, levelData, typeName) local rows = {} for line in mw.text.gsplit(levelData or "", ";", true) do local parts = mw.text.split(mw.text.trim(line), ",") local level = parts[1] or "" local cap = parts[2] or "" local apt = parts[3] or "" table.insert(rows, string.format( '|-\n| style="text-align: center;" | %s || %s || %s', level, cap, apt )) end local tableHeader = string.format([=[ {| class="wikitab...")
(No difference)

Revision as of 03:43, 31 July 2025

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

local p = {}

local function makeSkillTable(skillName, levelData, typeName)
	local rows = {}
	for line in mw.text.gsplit(levelData or "", ";", true) do
		local parts = mw.text.split(mw.text.trim(line), ",")
		local level = parts[1] or ""
		local cap = parts[2] or ""
		local apt = parts[3] or ""
		table.insert(rows, string.format(
			'|-\n| style="text-align: center;" | %s || %s || %s',
			level, cap, apt
		))
	end

	local tableHeader = string.format([=[
{| class="wikitable"
|+ %s Upgrade
|-
! style="text-align: center;" | Lv.
! Level Cap
! <abbr title="The Aptitude multiplier granted by this costume.">%s Aptitude</abbr>
]=], skillName, typeName)

	return tableHeader .. "\n" .. table.concat(rows, "\n") .. "\n|}"
end

function p.main(frame)
	local args = frame:getParent().args
	local name = args.name or "Unnamed Costume"
	local image = args.image or "Placeholder.png"
	local typeName = args.type or "Fellow"
	local skill1 = args.skill1 or "Skill A"
	local skill2 = args.skill2 or "Skill B"
	local levels1 = args.skill1levels or ""
	local levels2 = args.skill2levels or ""

	local header = string.format("'''%s'''<br>[[File:%s|25px]]", name, image)

	local output = header .. "\n\n" ..
		makeSkillTable(skill1, levels1, typeName) .. "\n\n" ..
		makeSkillTable(skill2, levels2, typeName)

	return output
end

return p