The Alchemist Code Wiki

READ MORE

The Alchemist Code Wiki
No edit summary
Jcriquet (talk | contribs)
No edit summary
Line 32: Line 32:
 
end
 
end
 
 
return render.icon(unpack(renderArgs))
+
return '.'..render.icon(unpack(renderArgs))..'.'
 
end
 
end
   

Revision as of 23:21, 2 March 2019

Documentation for this module may be created at Module:Render/Item/doc

local render = require('Module:Render')
local model  = require('Module:Data').model

local p = {}

function p.icon(frame)
  if frame:getParent():getTitle() == 'Template:Item/Icon' then frame = frame:getParent() end
  local iname = frame.args[1]
  local data = model.query('Item','_pageName,server,rare,type,icon',{where='iname="'..iname..'"'})
  data = data[1] -- TODO Get the correct server
  local renderArgs = {
    'ItemIcon,'..data.icon,
    model.getLoc(data._pageName, 'name'),
    frame.args['link'] ~= 'none' and (mw.ext.cargo.query('Pages','_pageName',{where='type="Item" and iname="'..iname..'"'})[1] or {_pageName = model.getLoc(data._pageName, 'name')})._pageName or nil,
    data.rare,
    (data.type == 1 or data.type == 11) and 1 or 0,
    128,
    frame.args['count'] ~= '' and frame.args['count'] or nil,
    frame.args['classes'],
    nil,
  }

--    if (item == nil) then return ('Invalid Item: '..iname) end
  
  local name = frame.args['name'] ~= 'none' and ('[['..(renderArgs[3] and (renderArgs[3]..'|') or '')..renderArgs[2]..']]') or nil
  
  if (frame.args['size'] == 'small') then
    renderArgs[6] = 24
    renderArgs[9] = name and '<span>'..name..'</span>'
  else
    renderArgs[9] = name and '<div>'..name..'</div>'
  end
  
  return '.'..render.icon(unpack(renderArgs))..'.'
end

return p