Module:Inventory: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
No edit summary |
||
Line 12: | Line 12: | ||
local quantity = frame.args[2] or '1' | local quantity = frame.args[2] or '1' | ||
local chance = frame.args[4] or '100' | local chance = frame.args[4] or '100' | ||
local weaponhtml | |||
--[Getting query results...] | --[Getting query results...] | ||
Line 27: | Line 28: | ||
local result = cargo.query('ItemsTable,GeneralData', | local result = cargo.query('ItemsTable,GeneralData', | ||
'PlainName,Vibro,MaxPV,BasePV,Damage,GeneralData._pageName=Page', | 'PlainName,Vibro,MaxPV,BasePV,Damage,GeneralData._pageName=Page', | ||
{ where='GeneralData._pageNamespace="0" AND GeneralData._pageName="'.. name ..' | { where='GeneralData._pageNamespace="0" AND GeneralData._pageName="'.. name .. '"', | ||
default='0', | default='0', | ||
limit='1', | limit='1', | ||
Line 38: | Line 39: | ||
end | end | ||
local favilinked = frame:expandTemplate{title='Favilink page', args={name,'displayname-tooltip-override'}} | |||
--local favilinked = 'favilink' | |||
local damage= result[1]['Damage'] | |||
if damage ~= nil or damage ~= '' then | |||
if result[1]['Vibro'] == '1' then | if result[1]['Vibro'] == '1' then | ||
pv = '≈' | pv = '≈' | ||
Line 44: | Line 52: | ||
maxpv = result[1]['MaxPV'] | maxpv = result[1]['MaxPV'] | ||
end | end | ||
local pvstr = '' | local pvstr = '' | ||
Line 55: | Line 59: | ||
end | end | ||
weaponhtml = mw.html.create('span') | |||
:addClass('qud-inline-weap-stats') | :addClass('qud-inline-weap-stats') | ||
:node(mw.html.create('span') | :node(mw.html.create('span') | ||
:addClass('qud-inline-damage') | :addClass('qud-inline-damage') | ||
:wikitext(frame:expandTemplate{title='Heart'} .. '<span class="qud-inline-damage">' .. damage .. '</span>'..frame:expandTemplate{title='PV'} .. '<span class="qud-inline-pv">' .. pv ..'</span>' .. pvstr) ) | :wikitext(frame:expandTemplate{title='Heart'} .. '<span class="qud-inline-damage">' .. damage .. '</span>'..frame:expandTemplate{title='PV'} .. '<span class="qud-inline-pv">' .. pv ..'</span>' .. pvstr) ) | ||
end | |||
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') | local inventoryhtml = mw.html.create('div') | ||
inventoryhtml | inventoryhtml | ||
:addClass('qud-inventory-item') | :addClass('qud-inventory-item') | ||
:node( | :node(favilinkhtml) | ||
:node(mw.html.create('span') | :node(mw.html.create('span') | ||
:addClass('qud-item-qty') | :addClass('qud-item-qty') |
Revision as of 16:24, 15 September 2019
local p = {}
local cargo= mw.ext.cargo
local htmlparse = require'Module:HTMLParse'
local colorparse = require'Module:ColorParse'
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 name
if frame.args[1] ~= nil and frame.args[1] ~= '' then
name = mw.text.trim(frame.args[1])
--return name
else
error "There is no argument specified! [[Category:pages with inventory errors]]"
end
local result = cargo.query('ItemsTable,GeneralData',
'PlainName,Vibro,MaxPV,BasePV,Damage,GeneralData._pageName=Page',
{ where='GeneralData._pageNamespace="0" AND GeneralData._pageName="'.. name .. '"',
default='0',
limit='1',
join='ItemsTable._pageName=GeneralData._pageName'} )
if not next(result) then
return '[[' .. name.. ']][[Category:pages with inventory errors]]'
else
name = result[1]['Page']
end
local favilinked = frame:expandTemplate{title='Favilink page', args={name,'displayname-tooltip-override'}}
--local favilinked = 'favilink'
local damage= result[1]['Damage']
if damage ~= nil or 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 or maxpv ~= '' then
pvstr = '<span style="color:#155352;">/' .. maxpv.. '</span>'
end
weaponhtml = mw.html.create('span')
:addClass('qud-inline-weap-stats')
:node(mw.html.create('span')
:addClass('qud-inline-damage')
:wikitext(frame:expandTemplate{title='Heart'} .. '<span class="qud-inline-damage">' .. damage .. '</span>'..frame:expandTemplate{title='PV'} .. '<span class="qud-inline-pv">' .. pv ..'</span>' .. pvstr) )
end
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