Module:Item: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m (Protected "Module:Item" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 12: | Line 12: | ||
local iconPage = mw.title.makeTitle('Module', 'Data/Icon/' .. game) | local iconPage = mw.title.makeTitle('Module', 'Data/Icon/' .. game) | ||
if not itemData[item] then | if not itemData[item] then | ||
error("Item ".. item.. "not defined for "..game) | error("Item ".. item.. " not defined for "..game) | ||
end | end | ||
local iconData = {} | local iconData = {} |
Latest revision as of 21:06, 28 November 2024
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