Module:Infobox Item: Difference between revisions

From Guinea Isles Wiki
No edit summary
No edit summary
Line 39: Line 39:
-- Header section
-- Header section
ret:addHeader( args["item_name"] )
--ret:addHeader( args["item_name"] )
if args["image"] ~= nil then
if args["image"] ~= nil then
ret:addWikitext( "[[File:" .. args["image"] .. "|48x48px]]" )
ret:addWikitext( "[[File:" .. args["image"] .. "|48x48px]]" )

Revision as of 07:56, 19 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",
	image = nil,
	desc = nil,
	category = "None",
	stack_size = 100,
	value = 1,
	sellable = true,
	discoverable = true,
	donatable = false,
	
}

-- Helper funciton which ensures infobox item has default parameters
local function ensure_default_args(args)
	local ret_arr = {}
	for k, v in pairs(args) do
		if v == nil then
			ret_arr[k] = defaults[k]
		else
			ret_arr[k] = v
		end
	end
	
	return ret_arr
end

function p.main(frame)
	local args = ensure_default_args(frame:getParent().args)
	local ret = infobox.main(frame)
	
	-- Header section
	--ret:addHeader( args["item_name"] )
	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( "Category", args["category"])
	ret:addRow( "Stack Size", args["stack_size"])
	ret:addRow( "Value", args["value"])
	ret:addRow( "Sellable", boolToYesNo(args["sellable"]))
	ret:addRow( "Discoverable", boolToYesNo(args["discoverable"]))
	ret:addRow( "Donatable", boolToYesNo(args["donatable"]))
	
	return ret
end

return p