Content added Content deleted
mNo edit summary |
No edit summary |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
local getArgs = require('Module:Arguments').getArgs |
local getArgs = require('Module:Arguments').getArgs |
||
local constants = require('Module:Constants') |
local constants = require('Module:Constants') |
||
local data = mw.loadData('Module:Icons/data') |
|||
local p = {} |
local p = {} |
||
local icons = { |
|||
-- Characters |
|||
-- VIRTUAL SINGER |
|||
['vs miku'] = 'Miku-chibi-circle.png', |
|||
['vs rin'] = 'Rin-chibi-circle.png', |
|||
['vs len'] = 'Len-chibi-circle.png', |
|||
['vs luka'] = 'Luka-chibi-circle.png', |
|||
['vs meiko'] = 'Meiko-chibi-circle.png', |
|||
['vs kaito'] = 'Kaito-chibi-circle.png', |
|||
-- Leo/need |
|||
['ichika'] = 'Ichika-chibi-circle.png', |
|||
['saki'] = 'Saki-chibi-circle.png', |
|||
['honami'] = 'Honami-chibi-circle.png', |
|||
['shiho'] = 'Shiho-chibi-circle.png', |
|||
['l/n miku'] = 'Leoneed-miku-chibi-circle.png', |
|||
['l/n luka'] = 'Leoneed-luka-chibi-circle.png', |
|||
-- MORE MORE JUMP! |
|||
['minori'] = 'Minori-chibi-circle.png', |
|||
['haruka'] = 'Haruka-chibi-circle.png', |
|||
['airi'] = 'Airi-chibi-circle.png', |
|||
['shizuku'] = 'Shizuku-chibi-circle.png', |
|||
['mmj miku'] = 'Mmj-miku-chibi-circle.png', |
|||
['mmj rin'] = 'Mmj-rin-chibi-circle.png', |
|||
-- Vivid BAD SQUAD |
|||
['kohane'] = 'Kohane-chibi-circle.png', |
|||
['an'] = 'An-chibi-circle.png', |
|||
['akito'] = 'Akito-chibi-circle.png', |
|||
['toya'] = 'Toya-chibi-circle.png', |
|||
['vbs miku'] = 'Vbs-miku-chibi-circle.png', |
|||
['vbs len'] = 'Vbs-len-chibi-circle.png', |
|||
['vbs meiko'] = 'Vbs-meiko-chibi-circle.png', |
|||
-- Wonderlands×Showtime |
|||
['tsukasa'] = 'Tsukasa-chibi-circle.png', |
|||
['emu'] = 'Emu-chibi-circle.png', |
|||
['nene'] = 'Nene-chibi-circle.png', |
|||
['rui'] = 'Rui-chibi-circle.png', |
|||
['wxs miku'] = 'Wxs-miku-chibi-circle.png', |
|||
['wxs kaito'] = 'Wxs-kaito-chibi-circle.png', |
|||
-- 25-ji, Night Code de. |
|||
['kanade'] = 'Kanade-chibi-circle.png', |
|||
['mafuyu'] = 'Mafuyu-chibi-circle.png', |
|||
['ena'] = 'Ena-chibi-circle.png', |
|||
['mizuki'] = 'Mizuki-chibi-circle.png', |
|||
['25ji miku'] = '25ji-miku-chibi-circle.png', |
|||
-- Unit |
|||
['VIRTUAL SINGER'] = 'VIRTUAL SINGER icon.svg', |
|||
['Leo/need'] = 'Leoneed icon.svg', |
|||
['MORE MORE JUMP!'] = 'MORE MORE JUMP! icon.svg', |
|||
['Vivid BAD SQUAD'] = 'Vivid BAD SQUAD icon.svg', |
|||
['Wonderlands×Showtime'] = 'Wonderlands×Showtime icon.svg', |
|||
['25-ji, Night Code de.'] = '25-ji, Night Code de. icon.svg', |
|||
-- Game |
|||
-- Attributes |
|||
['cool'] = 'Icon attribute cool.png', |
|||
['cute'] = 'Icon attribute cute.png', |
|||
['happy'] = 'Icon attribute happy.png', |
|||
['mysterious'] = 'Icon attribute mysterious.png', |
|||
['pure'] = 'Icon attribute pure.png', |
|||
-- Card Stats |
|||
['technique'] = 'Icon technique.png', |
|||
['stamina'] = 'Icon stamina.png', |
|||
['performance'] = 'Icon performance.png', |
|||
-- Stars |
|||
['star'] = 'Gold star.png', |
|||
['star trained'] = 'Rainbow star.png' |
|||
} |
|||
local links = { |
|||
-- VIRTUAL SINGER |
|||
['vs miku'] = 'Hatsune Miku', |
|||
['vs rin'] = 'Kagamine Rin', |
|||
['vs len'] = 'Kagamine Len', |
|||
['vs luka'] = 'Megurine Luka', |
|||
['vs meiko'] = 'MEIKO', |
|||
['vs kaito'] = 'KAITO', |
|||
-- Leo/need |
|||
['ichika'] = 'Hoshino Ichika', |
|||
['saki'] = 'Tenma Saki', |
|||
['honami'] = 'Mochizuki Honami', |
|||
['shiho'] = 'Hinomori Shiho', |
|||
['l/n miku'] = 'Hatsune Miku', |
|||
['l/n luka'] = 'Megurine Luka', |
|||
-- MORE MORE JUMP! |
|||
['minori'] = 'Hanasato Minori', |
|||
['haruka'] = 'Kiritani Haruka', |
|||
['airi'] = 'Momoi Airi', |
|||
['shizuku'] = 'Hinomori Shizuku', |
|||
['mmj miku'] = 'Hatsune Miku', |
|||
['mmj rin'] = 'Kagamine Rin', |
|||
-- Vivid BAD SQUAD |
|||
['kohane'] = 'Azusawa Kohane', |
|||
['an'] = 'Shiraishi An', |
|||
['akito'] = 'Shinonome Akito', |
|||
['toya'] = 'Aoyagi Toya', |
|||
['vbs miku'] = 'Hatsune Miku', |
|||
['vbs len'] = 'Kagamine Len', |
|||
['vbs meiko'] = 'MEIKO', |
|||
-- Wonderlands×Showtime |
|||
['tsukasa'] = 'Tenma Tsukasa', |
|||
['emu'] = 'Otori Emu', |
|||
['nene'] = 'Kusanagi Nene', |
|||
['rui'] = 'Kamishiro Rui', |
|||
['wxs miku'] = 'Hatsune Miku', |
|||
['wxs kaito'] = 'KAITO', |
|||
-- 25-ji, Night Code de. |
|||
['kanade'] = 'Yoisaki Kanade', |
|||
['mafuyu'] = 'Asahina Mafuyu', |
|||
['ena'] = 'Shinonome Ena', |
|||
['mizuki'] = 'Akiyama Mizuki', |
|||
['25ji miku'] = 'Hatsune Miku' |
|||
} |
|||
function p.main(frame) |
function p.main(frame) |
||
Line 137: | Line 13: | ||
local icon = args[1] |
local icon = args[1] |
||
local size = args['size'] or '30px' |
local size = args['size'] or '30px' |
||
local icons = data.icons |
|||
local links = data.links |
|||
if icon then |
if icon then |
||
if icons[icon] then |
if icons[string.lower(icon)] then |
||
local tmp_icon = string.lower(icon) |
|||
return string.format('[[File:%s|%s|link=%s]]', icons[icon], size, links[icon] or '') |
|||
return string.format('[[File:%s|x%s|link=%s]]', icons[tmp_icon], size, links[tmp_icon] or '') |
|||
-- units |
|||
elseif icons[constants.get_unit(icon)] then |
elseif icons[constants.get_unit(icon)] then |
||
return string.format('[[File:%s|%s|link=%s]]', icons[constants.get_unit(icon)], size, links[icon] or '') |
return string.format('[[File:%s|x%s|link=%s]]', icons[constants.get_unit(icon)], size, links[icon] or '') |
||
-- rarities |
|||
elseif string.find(icon, "^[1-5] star$") or string.find(icon, "^[1-5] star trained") then |
|||
elseif string.find(icon, "^[1-5] star$") or string.find(icon, "^[1-5] star trained$") then |
|||
local count = tonumber(string.match(icon, "[1-5]")) |
local count = tonumber(string.match(icon, "[1-5]")) |
||
local star_icon = string.match("star trained") or string.match(icon, "star") |
local star_icon = string.match(icon, "star trained") or string.match(icon, "star") |
||
local ret = '' |
local ret = '' |
||
for i=1,count do |
for i=1,count do |
||
ret = ret .. string.format('[[File%s|%s|link=]]', icons[star_icon], size) |
ret = ret .. string.format('[[File:%s|x%s|link=]] ', icons[star_icon], size) |
||
end |
end |
||
return ret |
return ret |
Latest revision as of 20:24, 16 August 2021
Documentation for this module may be created at Module:Icons/doc
local getArgs = require('Module:Arguments').getArgs
local constants = require('Module:Constants')
local data = mw.loadData('Module:Icons/data')
local p = {}
function p.main(frame)
local args = getArgs(frame)
return p._main(args)
end
function p._main(args)
local icon = args[1]
local size = args['size'] or '30px'
local icons = data.icons
local links = data.links
if icon then
if icons[string.lower(icon)] then
local tmp_icon = string.lower(icon)
return string.format('[[File:%s|x%s|link=%s]]', icons[tmp_icon], size, links[tmp_icon] or '')
-- units
elseif icons[constants.get_unit(icon)] then
return string.format('[[File:%s|x%s|link=%s]]', icons[constants.get_unit(icon)], size, links[icon] or '')
-- rarities
elseif string.find(icon, "^[1-5] star$") or string.find(icon, "^[1-5] star trained$") then
local count = tonumber(string.match(icon, "[1-5]"))
local star_icon = string.match(icon, "star trained") or string.match(icon, "star")
local ret = ''
for i=1,count do
ret = ret .. string.format('[[File:%s|x%s|link=]] ', icons[star_icon], size)
end
return ret
end
end
return nil
end
return p