Module:Outfit
Jump to navigation
Jump to search
local p = {}
local data = {
test = mw.loadData('Module:Outfit/test'),
epoque = mw.loadData('Module:Outfit/epoque'),
m0011 = mw.loadData('Module:Outfit/m0011'),
t0011 = mw.loadData('Module:Outfit/t0011'),
marthe = mw.loadData('Module:Outfit/marthe'),
coral = mw.loadData('Module:Outfit/coral'),
witch = mw.loadData('Module:Outfit/witch'),
cambrian = mw.loadData('Module:Outfit/cambrian'),
icemess = mw.loadData('Module:Outfit/icemess'),
vitafield = mw.loadData('Module:Outfit/vitafield'),
pioneer = mw.loadData('Module:Outfit/pioneer'),
striker = mw.loadData('Module:Outfit/striker'),
boc = mw.loadData('Module:Outfit/boc'),
kitchen = mw.loadData('Module:Outfit/kitchen'),
dreambind = mw.loadData('Module:Outfit/dreambind'),
whistlew = mw.loadData('Module:Outfit/whistlew'),
ambsys = mw.loadData('Module:Outfit/ambsys'),
crossover = mw.loadData('Module:Outfit/crossover'),
shinsteps = mw.loadData('Module:Outfit/shinsteps'),
achivstar = mw.loadData('Module:Outfit/achivstar'),
y0011 = mw.loadData('Module:Outfit/y0011'),
iterprov = mw.loadData('Module:Outfit/iterprov'),
uod = mw.loadData('Module:Outfit/uod'),
}
local getArgs = require('Dev:Arguments').getArgs
local yesno = require('Dev:Yesno')
function p.main(frame)
local args = getArgs(frame, {
wrappers = 'Template:Outfit'
})
return p._main(args)
end
function p._main(args)
local key = args[1]
local skin
for _, m in pairs(data) do
skin = m[key]
if skin then break end
end
if not skin then
return ' <i>Outfit not found</i> ' -- no entry.
end
local name = skin.name
local model = skin.model
local num = skin.num
local link = skin.link
local attrs = {
['data-name'] = name,
['data-model'] = model,
['data-num'] = num,
['data-artist'] = skin.artist,
['data-use'] = skin.use,
['data-quote'] = skin.quote,
['data-series'] = skin.series,
['data-desc'] = skin.desc,
['data-obtain'] = skin.obtain,
}
local pagename = (link or model)..'/Gallery#'..name
local container = mw.html.create('')
local gridview = yesno(args.gridview)
if gridview then
local wrapper = container:tag('div')
:css{display='inline-block', position='relative', margin='5px'}
local a = wrapper:tag('div')
:addClass('a')
local dtooltip = a:tag('div')
:addClass('outfit-tooltip')
:attr(attrs)
:wikitext('[[File:'..model..'_Skin_'..num..'_icon.png|60x60px|link='..pagename..']]')
else
local stooltip = container:tag('span')
:addClass('outfit-tooltip')
:attr(attrs)
:wikitext('[['..pagename..'|'..name..']]')
end
return container
end
return p