Module:Profession info

Revision as of 21:52, 26 November 2024 by BlackHawk (talk | contribs)
Module documentation
This documentation is transcluded from Module:Profession info/doc. [edit] [history] [purge]
This module does not have any documentation. Please consider adding documentation at Module:Profession info/doc. [edit]
Module:Profession info's function main is invoked by Template:Profession info.
Module:Profession info requires Module:Edit button.
Module:Profession info requires Module:Param Parse.
Module:Profession info requires Module:Quantity box.

local p = {}
local editbutton = require('Module:Edit button')
local edit = editbutton("'''?''' (edit)")
local hc = require('Module:Param Parse').has_content
local qty = require('Module:Quantity box')._main

function p.main(frame)
	local args = frame:getParent().args
	
	local function exparg(xp)
		if xp ~= '' then
			return qty(xp)
		else
			return qty(0) .. edit
		end
	end
	
	local out = mw.html.create('table')
		:addClass('wikitable')
		:tag('tr')
			:tag('th')
				:attr{ colspan = '2' }
				:wikitext(args.name)
			:done()
		:done()
		:tag('tr')
			:tag('th')
				:wikitext('Level required')
			:done()
			:tag('td')
				:wikitext(hc(args.level) and (args.level) or edit)
			:done()
		:done()
		:tag('tr')
			:tag('th')
				:wikitext('[['..args.profession..'|'..args.profession..' XP]]')
			:done()
			:tag('td')
				:wikitext(exparg(args.exp))
			:done()
		:done()
	
	return out
end

return p