Module:Infobox Item: Difference between revisions
From Guinea Isles Wiki
No edit summary |
No edit summary |
||
| (43 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 | ||
local ret = infobox.main(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 | 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