Module:BasicItems/infobox

--- BasicItems/infobox builds the infobox on pages of basic items.

-- @module     Basic Items -- @author FINNER --

return { --- Builds the infobox for Basic Items. --	@function		p.buildInfobox --	@param			{table} frame Frame object --	@return			{string} Wikitext of infobox buildInfobox = function(frame) local args = frame.args;--require('Dev:Arguments').getArgs(frame); local name = args['Name']; local BasicItems = {}

BasicItems = mw.loadData(Module:BasicItems/data)[name];

local infobox = mw.html.create('infobox') :tag('title') :tag('default') :tag('b'):wikitext(name):done :done :done :tag('image'):attr('source', 'Image') :tag('default'):wikitext(BasicItems.Image):done :done :tag('data'):attr('source', 'Category') :tag('label'):wikitext('Category'):done :tag('default'):wikitext(BasicItems.Category or 'Unknown'):done :done :tag('data'):attr('source', 'Tier') :tag('label'):wikitext('Tier'):done :tag('default'):wikitext(BasicItems.Tier or 'Unknown'):done :done :tag('data'):attr('source', 'Skill Level') :tag('label'):wikitext('Skill Level'):done :tag('default'):wikitext(BasicItems.SkillLevel or 'Unknown'):done :done :tag('data'):attr('source', 'Source') :tag('label'):wikitext('Source'):done :tag('default'):wikitext(BasicItems.Source or 'Unknown'):done :done :tag('data'):attr('source', 'Weight') :tag('label'):wikitext('Weight'):done :tag('default'):wikitext(BasicItems.Weight or 'Unknown'):done :done :tag('data'):attr('source', 'Buy') :tag('label'):wikitext('Buy'):done :tag('default'):wikitext(BasicItems.Buy or 'Unknown'):done :done :tag('data'):attr('source', 'Sell') :tag('label'):wikitext('Sell'):done :tag('default'):wikitext(BasicItems.Sell or 'Unknown'):done :done :tag('data'):attr('source', 'Salvageable') :tag('label'):wikitext('Salvageable'):done :tag('default'):wikitext(BasicItems.Salvageable or 'Unknown'):done :done :tag('data'):attr('source', 'Tradeable') :tag('label'):wikitext('Tradeable'):done :tag('default'):wikitext(BasicItems.Tradeable or 'Unknown'):done :done

return frame:preprocess(tostring(infobox)) end }