Module:Inventory

local p = {} local cargo= mw.ext.cargo local favilink = require'Module:Favilink'

function p.main(frame)

local frame = mw.getCurrentFrame local pv = '' local maxpv = '' local quantity = frame.args[2] or '1' local chance = frame.args[4] or '100' local weaponhtml

--[Getting query results...]

local objname local name if frame.args[1] ~= nil and frame.args[1] ~= '' then objname = mw.text.trim(frame.args[1]) --return name else error "There is no argument specified! " end

local result = cargo.query('ItemsTable=IT,GeneralData=GD', 'PlainName,Vibro,MaxPV,BasePV,Damage,GD.JoinKey=Page', { where='(GD._pageNamespace="0" OR GD._pageNamespace="10002") AND GD.ObjectID="' .. objname .. '"', default='0', limit='1', join='GD.JoinKey=IT.JoinKey'} )

if not next(result) then return  .. objname..  else name = result[1]['PlainName'] end

local favilinked = frame:expandTemplate{title='Favilink id', args={objname,'displayname-tooltip-override'}}

--[If damage, return weapon html that specifies damage, PV and max PV]--

local damage= result[1]['Damage']

if damage ~= nil and damage ~= '' then if result[1]['Vibro'] == '1' then pv = '≈' elseif result[1]['BasePV'] ~= nil then pv = result[1]['BasePV'] maxpv = result[1]['MaxPV'] end

local pvstr = ''

if maxpv ~= nil and maxpv ~= '' then pvstr = ' /' .. maxpv.. ' ' end --[Define weaponhtml] weaponhtml = mw.html.create('span') :addClass('qud-inline-weap-stats') :node(mw.html.create('span')                 :addClass('qud-inline-damage')                  :wikitext(frame:expandTemplate{title='Heart'} .. ' ' ..                     damage .. ' '..frame:expandTemplate{title='PV'} .. ' ' .. pv ..' ' .. pvstr) ) end

--[Define html...]-- local favilinkhtml = mw.html.create('div') :addClass('qud-inv-favilink-wrapper') :wikitext(favilinked) if weaponhtml ~= nil then favilinkhtml:node(weaponhtml) end

local inventoryhtml = mw.html.create('div') inventoryhtml :addClass('qud-inventory-item') :node(favilinkhtml) :node(mw.html.create('span')            :addClass('qud-item-qty')             :wikitext('x' .. quantity)            :node(mw.html.create('span') :addClass('qud-item-chance chance-' .. chance) :wikitext('(' .. chance .. '%)')))

return tostring(inventoryhtml)

end

return p