Module:Item
Documentation
Designed to be part of a template like so:
{{#invoke:Item|main|{{{1}}}|{{{2}}}}}
Parameter 1 is the game abbreviation and parameter 2 is the item name. This module will output the item icon and name together. If parameter 2 is an emdash, it outputs an emdash.
See also: Template:Item/Documentation
local getArgs = require('Module:Arguments').getArgs local p = {} function p.main(frame) local args = getArgs(frame) local game = args[1]:lower() local item = args[2]:lower() if item == "—" then return item end local itemData = require('Module:Data/Item/' .. game).item local iconPage = mw.title.makeTitle('Module', 'Data/Icon/' .. game) if not itemData[item] then error("Item ".. item.. "not defined for "..game) end local iconData = {} if iconPage.exists then iconData = require('Module:Data/Icon/' .. game)["icon"] end local link = "" local itemIcon = "" local gap = " " if game == "desum" then gap = "<small> </small>" end if itemData[item]["icon"] then itemIcon = itemData[item]["icon"] end if iconData[itemIcon] then link = iconData[itemIcon] .. gap end if itemData[item]["link"] then link = link .. "[[" .. itemData[item]["link"] .. "|" .. itemData[item]["name"] .. "]]" else link = link .. "[[" .. itemData[item]["name"] .. "]]" end return link end return p