Module:FellowCostumeUpgradeTable: Difference between revisions

mNo edit summary
mNo edit summary
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
local p = {}
local p = {}


local function makeSkillTable(skillName, image, levelData, typeName)
function p.main(frame)
local args = frame.args
local skill = args.skill or "Unnamed Skill"
local img = args.img or "Placeholder.png"
local typeName = args.type or ""
local levels = args.levels or ""
 
local rows = {}
local rows = {}
for line in mw.text.gsplit(levelData or "", ";", true) do
for line in mw.text.gsplit(levels, ";", true) do
local parts = mw.text.split(mw.text.trim(line), ",")
local parts = mw.text.split(mw.text.trim(line), ",")
local level = parts[1] or ""
local level = parts[1] or ""
local cap = parts[2] or ""
local skillMax = parts[2] or ""
local apt = parts[3] or ""
local apt = parts[3] or ""
table.insert(rows, string.format(
table.insert(rows, string.format(
'|-\n| style="text-align: center;" | %s || %s || %s',
'|-\n| style="text-align: center;" | %s || %s || %s',
level, cap, apt
level, skillMax, apt
))
))
end
end


local header = string.format([=[
local header = string.format([=[
{| class="wikitable" style="text-align: center;"
{| class="wikitable" style="text-align: center; display: inline-block;"
|+ [[File:%s|25px]] %s Upgrade
|-
| colspan="3" | [[File:%s|25px]] %s
|-
|-
! Lv.
! Lv.
! Level Cap
! <abbr title="Excludes manual skill improvements.">Skill Level/Max</abbr>
! <abbr title="The Aptitude multiplier granted by this costume.">%s Aptitude</abbr>
! <abbr title="The total Aptitude granted by this costume.">%s Aptitude</abbr>
]=], image or "Placeholder.png", skillName, typeName)
]=], img, skill, typeName)


return header .. "\n" .. table.concat(rows, "\n") .. "\n|}"
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
end


return p
return p

Latest revision as of 04:52, 31 July 2025

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

local p = {}

function p.main(frame)
	local args = frame.args
	local skill = args.skill or "Unnamed Skill"
	local img = args.img or "Placeholder.png"
	local typeName = args.type or ""
	local levels = args.levels or ""

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

	local header = string.format([=[
{| class="wikitable" style="text-align: center; display: inline-block;"
|-
| colspan="3" | [[File:%s|25px]] %s
|-
! Lv.
! <abbr title="Excludes manual skill improvements.">Skill Level/Max</abbr>
! <abbr title="The total Aptitude granted by this costume.">%s Aptitude</abbr>
]=], img, skill, typeName)

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

return p