Module:Icons: Difference between revisions

From Sekaipedia
Content added Content deleted
m (allow any capitalization)
No edit summary
 
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, Nightcord de.'] = '25-ji, Nightcord 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

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
Cookies help us deliver our services. By using our services, you agree to our use of cookies.