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...")
 
mNo edit summary
Line 1: Line 1:
local p = {}
local p = {}


local function makeSkillTable(skillName, levelData, typeName)
local function makeSkillTable(skillName, image, levelData, typeName)
local rows = {}
local rows = {}
for line in mw.text.gsplit(levelData or "", ";", true) do
for line in mw.text.gsplit(levelData or "", ";", true) do
Line 14: Line 14:
end
end


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


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


function p.main(frame)
function p.main(frame)
local args = frame:getParent().args
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 typeName = args.type or "Fellow"
local skill1 = args.skill1 or "Skill A"
local skill1 = args.skill1 or "Skill A"
Line 35: Line 33:
local levels1 = args.skill1levels or ""
local levels1 = args.skill1levels or ""
local levels2 = args.skill2levels or ""
local levels2 = args.skill2levels or ""
local img1 = args.img1 or "Placeholder.png"
local img2 = args.img2 or "Placeholder.png"


local header = string.format("'''%s'''<br>[[File:%s|25px]]", name, image)
local output = makeSkillTable(skill1, img1, levels1, typeName)
 
.. "\n\n" ..
local output = header .. "\n\n" ..
makeSkillTable(skill2, img2, levels2, typeName)
makeSkillTable(skill1, levels1, typeName) .. "\n\n" ..
makeSkillTable(skill2, levels2, typeName)


return output
return output

Revision as of 03:49, 31 July 2025

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

local p = {}

local function makeSkillTable(skillName, image, 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 header = string.format([=[
{| class="wikitable" style="text-align: center;"
|+ [[File:%s|25px]] %s Upgrade
|-
! Lv.
! Level Cap
! <abbr title="The Aptitude multiplier granted by this costume.">%s Aptitude</abbr>
]=], image or "Placeholder.png", skillName, typeName)

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

function p.main(frame)
	local args = frame:getParent().args
	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 img1 = args.img1 or "Placeholder.png"
	local img2 = args.img2 or "Placeholder.png"

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

	return output
end

return p