Module:Item Page Creator

Revision as of 15:24, 8 December 2025 by imported>JarlHiemas
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Documentation for this module may be created at Module:Item Page Creator/doc

local p = {}

function p.main(frame)
	local args = require('Module:Arguments').getArgs(frame, {
		parentFirst = true,
		wrapper = { 'Template:Item_Page_Creator' }
	})

	local infoBoxArgsString = ''
	for arg, value in pairs(args) do
		if not (arg == 'lootable') then
			infoBoxArgsString = infoBoxArgsString..'|'..arg..'='..value
		end
	end
	local outputString = '<nowiki>'
	local tradingTitlePlaceholderString = '=== Trading ==='

	local infoBoxString = '{{Item Infobox'..infoBoxArgsString..'}}'
	local introString = "[[{{PAGENAME}}]] is an item in '''[[Misery]]'''"

	local usageTitleString = '== Usage =='
	local usageTradingTitleString = ''
	local usageTradingString = ''
	local craftUsageInputString = '{{Craft Usage|mode=input}}'
	local obtainingTitleString = '== Obtaining =='
	local obtainingTradingTitleString = ''
	local obtainingTradingString = ''
	local craftObtainingInputString = '{{Craft Usage|mode=output}}'
	local seeAlsoTitleString = '== See Also =='
	local itemCategoryString = '[[Category:Items]]'
	
	if args.vendor then
		if args['sell-value'] then
			usageTradingTitleString = tradingTitlePlaceholderString
			usageTradingString = 'The item is bought by the '..args.vendor..' for '..args['sell-value']..'r'	
		end
		if args['buy-value'] then
			obtainingTradingTitleString = tradingTitlePlaceholderString
			obtainingTradingString = 'The item is bought by the '..args.vendor..' for '..args['buy-value']..'r'	
		end
	end
	outputString = '<nowiki>'..infoBoxString..introString..usageTitleString..usageTradingTitleString..usageTradingString..craftUsageInputString..obtainingTitleString..obtainingTradingTitleString..obtainingTradingString..craftObtainingInputString..seeAlsoTitleString..itemCategoryString..'</nowiki>'
	return outputString
end

return p;