Module:Character icon/data

From Sekaipedia

Documentation for this module may be created at Module:Character icon/data/doc

local VS    = 'VIRTUAL SINGER'
local LN    = 'Leo/need'
local MMJ   = 'MORE MORE JUMP!'
local VBS   = 'Vivid BAD SQUAD'
local WXS   = 'Wonderlands×Showtime'
local NIIGO = '25-ji, Nightcord de.'

local CHARACTERS = mw.loadData('Module:Characters')

local ICONS = {
	-- VIRTUAL SINGER
	['Hatsune Miku']  = 'Miku-chibi-circle.png',
	['Kagamine Rin']  = 'Rin-chibi-circle.png',
	['Kagamine Len']  = 'Len-chibi-circle.png',
	['Megurine Luka'] = 'Luka-chibi-circle.png',
	['MEIKO'] = 'Meiko-chibi-circle.png',
	['KAITO'] = 'Kaito-chibi-circle.png',
	
	['Hatsune Miku (' .. VS .. ')']  = 'Miku-chibi-circle.png',
	['Kagamine Rin (' .. VS .. ')']  = 'Rin-chibi-circle.png',
	['Kagamine Len (' .. VS .. ')']  = 'Len-chibi-circle.png',
	['Megurine Luka (' .. VS .. ')'] = 'Luka-chibi-circle.png',
	['MEIKO (' .. VS .. ')'] = 'Meiko-chibi-circle.png',
	['KAITO (' .. VS .. ')'] = 'Kaito-chibi-circle.png',

	-- Leo/need
	['Hoshino Ichika']   = 'Ichika-chibi-circle.png',
	['Tenma Saki']       = 'Saki-chibi-circle.png',
	['Mochizuki Honami'] = 'Honami-chibi-circle.png',
	['Hinomori Shiho']   = 'Shiho-chibi-circle.png',
	['Hatsune Miku (' .. LN .. ')']  = 'Leoneed-miku-chibi-circle.png',
	['Kagamine Rin (' .. LN .. ')']  = 'Leoneed-rin-chibi-circle.png',
	['Kagamine Len (' .. LN .. ')']  = 'Leoneed-len-chibi-circle.png',
	['Megurine Luka (' .. LN .. ')'] = 'Leoneed-luka-chibi-circle.png',
	['MEIKO (' .. LN .. ')']         = 'Leoneed-meiko-chibi-circle.png',
	['KAITO (' .. LN .. ')']         = 'Leoneed-kaito-chibi-circle.png',

	-- MORE MORE JUMP!
	['Hanasato Minori']  = 'Minori-chibi-circle.png',
	['Kiritani Haruka']  = 'Haruka-chibi-circle.png',
	['Momoi Airi']       = 'Airi-chibi-circle.png',
	['Hinomori Shizuku'] = 'Shizuku-chibi-circle.png',
	['Hatsune Miku (' .. MMJ .. ')']  = 'Mmj-miku-chibi-circle.png',
	['Kagamine Rin (' .. MMJ .. ')']  = 'Mmj-rin-chibi-circle.png',
	['Kagamine Len (' .. MMJ .. ')']  = 'Mmj-len-chibi-circle.png',
	['Megurine Luka (' .. MMJ .. ')'] = 'Mmj-luka-chibi-circle.png',
	['MEIKO (' .. MMJ .. ')']         = 'Mmj-meiko-chibi-circle.png',
	['KAITO (' .. MMJ .. ')']         = 'Mmj-kaito-chibi-circle.png',
	
	-- Vivid BAD SQUAD
	['Azusawa Kohane']  = 'Kohane-chibi-circle.png',
	['Shiraishi An']    = 'An-chibi-circle.png',
	['Shinonome Akito'] = 'Akito-chibi-circle.png',
	['Aoyagi Toya']     = 'Toya-chibi-circle.png',
	['Hatsune Miku (' .. VBS .. ')']  = 'Vbs-miku-chibi-circle.png',
	['Kagamine Rin (' .. VBS .. ')']  = 'Vbs-rin-chibi-circle.png',
	['Kagamine Len (' .. VBS .. ')']  = 'Vbs-len-chibi-circle.png',
	['Megurine Luka (' .. VBS .. ')'] = 'Vbs-luka-chibi-circle.png',
	['MEIKO (' .. VBS .. ')']         = 'Vbs-meiko-chibi-circle.png',
	['KAITO (' .. VBS .. ')']         = 'Vbs-kaito-chibi-circle.png',
	
	-- Wonderlands×Showtime
	['Tenma Tsukasa'] = 'Tsukasa-chibi-circle.png',
	['Otori Emu']     = 'Emu-chibi-circle.png',
	['Kusanagi Nene'] = 'Nene-chibi-circle.png',
	['Kamishiro Rui'] = 'Rui-chibi-circle.png',
	['Hatsune Miku (' .. WXS .. ')']  = 'Wxs-miku-chibi-circle.png',
	['Kagamine Rin (' .. WXS .. ')']  = 'Wxs-rin-chibi-circle.png',
	['Kagamine Len (' .. WXS .. ')']  = 'Wxs-len-chibi-circle.png',
	['Megurine Luka (' .. WXS .. ')'] = 'Wxs-luka-chibi-circle.png',
	['MEIKO (' .. WXS .. ')']         = 'Wxs-meiko-chibi-circle.png',
	['KAITO (' .. WXS .. ')']         = 'Wxs-kaito-chibi-circle.png',
	
	-- 25-ji, Night Code de.
	['Yoisaki Kanade'] = 'Kanade-chibi-circle.png',
	['Asahina Mafuyu'] = 'Mafuyu-chibi-circle.png',
	['Shinonome Ena']  = 'Ena-chibi-circle.png',
	['Akiyama Mizuki'] = 'Mizuki-chibi-circle.png',
	['Hatsune Miku (' .. NIIGO .. ')']  = '25ji-miku-chibi-circle.png',
	['Kagamine Rin (' .. NIIGO .. ')']  = '25ji-rin-chibi-circle.png',
	['Kagamine Len (' .. NIIGO .. ')']  = '25ji-len-chibi-circle.png',
	['Megurine Luka (' .. NIIGO .. ')'] = '25ji-luka-chibi-circle.png',
	['MEIKO (' .. NIIGO .. ')']         = '25ji-meiko-chibi-circle.png',
	['KAITO (' .. NIIGO .. ')']         = '25ji-kaito-chibi-circle.png',
}

local LINKS = {
	-- Leo/need
	['Hatsune Miku (' .. LN .. ')']  = 'Hatsune Miku',
	['Kagamine Rin (' .. LN .. ')']  = 'Kagamine Rin',
	['Kagamine Len (' .. LN .. ')']  = 'Kagamine Len',
	['Megurine Luka (' .. LN .. ')'] = 'Megurine Luka',
	['MEIKO (' .. LN .. ')']         = 'MEIKO',
	['KAITO (' .. LN .. ')']         = 'KAITO',
	
	-- MORE MORE JUMP!
	['Hatsune Miku (' .. MMJ .. ')']  = 'Hatsune Miku',
	['Kagamine Rin (' .. MMJ .. ')']  = 'Kagamine Rin',
	['Kagamine Len (' .. MMJ .. ')']  = 'Kagamine Len',
	['Megurine Luka (' .. MMJ .. ')'] = 'Megurine Luka',
	['MEIKO (' .. MMJ .. ')']         = 'MEIKO',
	['KAITO (' .. MMJ .. ')']         = 'KAITO',
	
	-- Vivid BAD SQUAD
	['Hatsune Miku (' .. VBS .. ')']  = 'Hatsune Miku',
	['Kagamine Rin (' .. VBS .. ')']  = 'Kagamine Rin',
	['Kagamine Len (' .. VBS .. ')']  = 'Kagamine Len',
	['Megurine Luka (' .. VBS .. ')'] = 'Megurine Luka',
	['MEIKO (' .. VBS .. ')']         = 'MEIKO',
	['KAITO (' .. VBS .. ')']         = 'KAITO',
	
	-- Wonderlands×Showtime
	['Hatsune Miku (' .. WXS .. ')']  = 'Hatsune Miku',
	['Kagamine Rin (' .. WXS .. ')']  = 'Kagamine Rin',
	['Kagamine Len (' .. WXS .. ')']  = 'Kagamine Len',
	['Megurine Luka (' .. WXS .. ')'] = 'Megurine Luka',
	['MEIKO (' .. WXS .. ')']         = 'MEIKO',
	['KAITO (' .. WXS .. ')']         = 'KAITO',
	
	-- 25-ji, Night Code de.
	['Hatsune Miku (' .. NIIGO .. ')']  = 'Hatsune Miku',
	['Kagamine Rin (' .. NIIGO .. ')']  = 'Kagamine Rin',
	['Kagamine Len (' .. NIIGO .. ')']  = 'Kagamine Len',
	['Megurine Luka (' .. NIIGO .. ')'] = 'Megurine Luka',
	['MEIKO (' .. NIIGO .. ')']         = 'MEIKO',
	['KAITO (' .. NIIGO .. ')']         = 'KAITO',
}

local function getIconMapping()
	local mapping = {}

	for k,v in pairs(CHARACTERS) do
		mapping[k] = ICONS[v]
	end
	
	return mapping
end

local function getLinkMapping()
	local mapping = {}

	for k,v in pairs(CHARACTERS) do
		mapping[k] = LINKS[v] or v
	end
	
	return mapping
end

return {
	icons = getIconMapping(),
	links = getLinkMapping()
}
Cookies help us deliver our services. By using our services, you agree to our use of cookies.