Module:Infobox Item: Difference between revisions
From Guinea Isles Wiki
No edit summary |
No edit summary |
||
| (17 intermediate revisions by the same user not shown) | |||
| Line 9: | Line 9: | ||
local defaults = { | local defaults = { | ||
item_name = "Item", | item_name = "Item", | ||
value = 1, | |||
stack_size = 100, | stack_size = 100, | ||
sellable = true, | sellable = true, | ||
discoverable = true, | discoverable = true, | ||
donatable = false | donatable = false | ||
} | } | ||
function cleanse_defaults(args) | |||
for k,v in pairs(defaults) do | |||
for k, v in pairs( | if defaults[k] ~= nil and args[k] == nil then | ||
if | |||
args[k] = defaults[k] | args[k] = defaults[k] | ||
end | end | ||
| Line 31: | Line 26: | ||
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"]) | ||
if args["category"] ~= nil then | |||
ret:addWikitext( "'''" .. args["category"] .. "'''" ) | |||
end | |||
if args["image"] ~= nil then | if args["image"] ~= nil then | ||
ret:addWikitext( "[[File:" .. args["image"] .. "|48x48px]]" ) | ret:addWikitext( "[[File:" .. args["image"] .. "|48x48px]]" ) | ||
| Line 45: | Line 43: | ||
-- Properties section | -- Properties section | ||
ret:addHeader( "Properties" ) | ret:addHeader( "Properties" ) | ||
ret:addRow( " | 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( "Sellable", boolToYesNo(args["sellable"])) | ret:addRow( "Sellable", boolToYesNo(args["sellable"])) | ||
ret:addRow( "Discoverable", boolToYesNo(args["discoverable"])) | ret:addRow( "Discoverable", boolToYesNo(args["discoverable"])) | ||
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