Module:Infobox Item: Difference between revisions

From Guinea Isles Wiki
No edit summary
Tag: Reverted
No edit summary
 
(29 intermediate revisions by the same user not shown)
Line 6: Line 6:


local p = {}
local p = {}
local defaults = {
item_name = "Item",
value = 1,
stack_size = 100,
sellable = true,
discoverable = true,
donatable = false
}
function cleanse_defaults(args)
for k,v in pairs(defaults) do
if defaults[k] ~= nil and args[k] == nil then
args[k] = defaults[k]
end
end
end


function p.main(frame)
function p.main(frame)
local args = frame:getParent().args
local args = frame:getParent().args
cleanse_defaults(args)
local ret = infobox.main(frame)
local ret = infobox.main(frame)
-- Header section
-- Header section
ret:addHeader( args["item_name"] )
ret:addHeader( args["item_name"])
ret:addImage( "[[File:" .. args["image"] .. "|48x48px]]" )
if args["category"] ~= nil then
ret:addWikitext( "'''" .. args["category"] .. "'''" )
end
if args["image"] ~= nil then
ret:addWikitext( "[[File:" .. args["image"] .. "|48x48px]]" )
end
if args["desc"] ~= nil then
if args["desc"] ~= nil then
ret:addRow(args["desc"])
ret:addWikitext('"' .. args["desc"] .. '"')
end
end
-- Properties section
-- Properties section
ret:addHeader( "Properties" )
ret:addHeader( "Properties" )
ret:addRow( "Category", args["category"])
ret:addRow( "Value", frame:preprocess("{{Gold|amount=" .. args["value"] .. "}}"))
ret:addRow( "Stack Size", args["stack_size"])
ret:addRow( "Stack Size", args["stack_size"])
ret:addRow( "Value", args["value"])
ret:addRow( "Sellable", boolToYesNo(args["sellable"]))
ret:addRow( "Sellable", args["sellable"])
ret:addRow( "Discoverable", boolToYesNo(args["discoverable"]))
ret:addRow( "Discoverable", args["discoverable"])
ret:addRow( "Donatable", boolToYesNo(args["donatable"]))
ret:addRow( "Donatable", args["donatable"])
return ret
return ret

Latest revision as of 09:19, 20 September 2025

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

--------------------------
-- Module for [[Template:Infobox Item]]
------------------------
local infobox = require('Module:Infobox')
local capiunto = require 'capiunto'

local p = {}

local defaults = {
	item_name = "Item",
	value = 1,
	stack_size = 100,
	sellable = true,
	discoverable = true,
	donatable = false
}

function cleanse_defaults(args)
	for k,v in pairs(defaults) do
		if defaults[k] ~= nil and args[k] == nil then
			args[k] = defaults[k]
		end
	end
end

function p.main(frame)
	local args = frame:getParent().args
	cleanse_defaults(args)
	local ret = infobox.main(frame)
	
	-- Header section
	ret:addHeader( args["item_name"])
	if args["category"] ~= nil then
		ret:addWikitext( "'''" .. args["category"] .. "'''" )
	end
	if args["image"] ~= nil then
		ret:addWikitext( "[[File:" .. args["image"] .. "|48x48px]]" )
	end
	if args["desc"] ~= nil then
		ret:addWikitext('"' .. args["desc"] .. '"')
	end
	
	-- Properties section
	ret:addHeader( "Properties" )
	ret:addRow( "Value", frame:preprocess("{{Gold|amount=" .. args["value"] .. "}}"))
	ret:addRow( "Stack Size", args["stack_size"])
	ret:addRow( "Sellable", boolToYesNo(args["sellable"]))
	ret:addRow( "Discoverable", boolToYesNo(args["discoverable"]))
	ret:addRow( "Donatable", boolToYesNo(args["donatable"]))
	
	return ret
end

return p