• Welcome to the Kancolle Wiki!
  • If you have any questions regarding site content, account registration, etc., please visit the KanColle Wiki Discord

Difference between revisions of "Module:Seasonal"

From Kancolle Wiki
Jump to navigation Jump to search
Line 65: Line 65:
 
     ["Shibafu"] = {
 
     ["Shibafu"] = {
 
         url = "http://www.pixiv.net/member.php?id=312614",
 
         url = "http://www.pixiv.net/member.php?id=312614",
         ships = {"Akagi", "Ayanami", "Fubuki", "Hatsuyuki", "Hiryuu", "Houshou", "Hyuuga", "I-401", "Ise", "Isonami", "Kaga", "Kitakami", "Mikuma", "Miyuki", "Mogami", "Ooi", "Shikinami", "Shirayuki", "Souryuu"}
+
         ships = {"Akagi", "Ayanami", "Fubuki", "Hatsuyuki", "Hiryuu", "Houshou", "Hyuuga", "I-401", "Ise", "Isonami", "Kaga", "Kitakami", "Mikuma", "Miyuki", "Mogami", "Ooi", "Shikinami", "Shirayuki", "Souryuu", "Uranami"}
 
     },
 
     },
 
     ["Shimada Humikane"] = {
 
     ["Shimada Humikane"] = {
Line 105: Line 105:
 
     ["Chinami Hashimoto"] = {
 
     ["Chinami Hashimoto"] = {
 
         url = "http://myanimelist.net/people/27761/Chinami_Hashimoto",
 
         url = "http://myanimelist.net/people/27761/Chinami_Hashimoto",
         ships = {"Iowa", "Oyashio", },
+
         ships = {"Iowa", "Yamakaze"},
 
     },
 
     },
 
     ["Endou Aya"] = {
 
     ["Endou Aya"] = {
Line 120: Line 120:
 
     },
 
     },
 
     ["Hayasaka Kozue"] = {
 
     ["Hayasaka Kozue"] = {
         url = null,
+
         url = nil,
 
         ships = {"Akebono", "Oboro", "Sazanami", "Ushio", },
 
         ships = {"Akebono", "Oboro", "Sazanami", "Ushio", },
 
     },
 
     },
Line 126: Line 126:
 
         url = "http://myanimelist.net/people/5250/Rina_Hidaka",
 
         url = "http://myanimelist.net/people/5250/Rina_Hidaka",
 
         ships = {"Fumizuki", "Kikuzuki", "Kisaragi", "Mikazuki", "Minazuki", "Mochizuki", "Mutsuki", "Nagatsuki", "Ryuujou", "Satsuki", "Uzuki", "Yayoi", },
 
         ships = {"Fumizuki", "Kikuzuki", "Kisaragi", "Mikazuki", "Minazuki", "Mochizuki", "Mutsuki", "Nagatsuki", "Ryuujou", "Satsuki", "Uzuki", "Yayoi", },
 +
    },
 +
    ["Hondo Kaede"] = {
 +
        url = "https://myanimelist.net/people/38659/Kaede_Hondo",
 +
        ships = { "Oyashio", },
 
     },
 
     },
 
     ["Horie Yui"] = {
 
     ["Horie Yui"] = {
Line 142: Line 146:
 
         url = "http://myanimelist.net/people/28755/Shizuka_Ishigami",
 
         url = "http://myanimelist.net/people/28755/Shizuka_Ishigami",
 
         ships = {"Kawakaze", "Mizuho", "Umikaze", },
 
         ships = {"Kawakaze", "Mizuho", "Umikaze", },
 +
    },
 +
    ["Itou Shizuka"] = {
 +
        url = "https://myanimelist.net/people/93/Shizuka_Itou",
 +
        ships = { "Asakaze", "Saratoga", },
 
     },
 
     },
 
     ["Kanemoto Hisako"] = {
 
     ["Kanemoto Hisako"] = {
Line 225: Line 233:
 
     ["Tanibe Yumi"] = {
 
     ["Tanibe Yumi"] = {
 
         url = "http://myanimelist.net/people/35951",
 
         url = "http://myanimelist.net/people/35951",
         ships = {"Murasame", "Shigure", "Shiratsuyu", "Yura", "Yuudachi", },
+
         ships = {"Commandant Teste", "Murasame", "Shigure", "Shiratsuyu", "Yura", "Yuudachi", },
 
     },
 
     },
 
     ["Touyama Nao"] = {
 
     ["Touyama Nao"] = {
Line 237: Line 245:
 
     ["Uesaka Sumire"] = {
 
     ["Uesaka Sumire"] = {
 
         url = "http://myanimelist.net/people/14441/Sumire_Uesaka",
 
         url = "http://myanimelist.net/people/14441/Sumire_Uesaka",
         ships = {"Fubuki", "Hatsuyuki", "Hiryuu", "Isonami", "Miyuki", "Murakumo", "Shirayuki", "Souryuu", },
+
         ships = {"Fubuki", "Hatsuyuki", "Hiryuu", "Isonami", "Miyuki", "Murakumo", "Shirayuki", "Souryuu", "Uranami"},
 
     },
 
     },
 
     ["Yamada Yuki"] = {
 
     ["Yamada Yuki"] = {
Line 243: Line 251:
 
         ships = {"Agano", "Noshiro", "Sakawa", "Yahagi", },
 
         ships = {"Agano", "Noshiro", "Sakawa", "Yahagi", },
 
     },
 
     },
    -- [[Category:Todo]]
 
 
     ["Unknown"] = {
 
     ["Unknown"] = {
         ships = { "Asakaze", "Commandant Teste", "Saratoga", "Yamakaze" },
+
         ships = { },
 
     },
 
     },
 
}
 
}
Line 253: Line 260:
 
     index = { "Destroyers", "Light Cruisers", "Heavy Cruisers", "Battleships", "Light Carriers", "Standard Carriers", "Submarines", "Auxiliaries", "NPC", "Bosses" },
 
     index = { "Destroyers", "Light Cruisers", "Heavy Cruisers", "Battleships", "Light Carriers", "Standard Carriers", "Submarines", "Auxiliaries", "NPC", "Bosses" },
 
     ["Destroyers"] = {
 
     ["Destroyers"] = {
         ships = { "Akatsuki", "Akebono", "Akigumo", "Akizuki", "Amatsukaze", "Arare", "Arashi", "Arashio", "Asagumo", "Asakaze", "Asashimo", "Asashio", "Ayanami", "Fubuki", "Fumizuki", "Hagikaze", "Hamakaze", "Harukaze", "Harusame", "Hatsuharu", "Hatsukaze", "Hatsushimo", "Hatsuyuki", "Hatsuzuki", "Hayashimo", "Hibiki", "Верный", "Ikazuchi", "Inazuma", "Isokaze", "Isonami", "Kagerou", "Kamikaze", "Kasumi", "Kawakaze", "Kazagumo", "Kikuzuki", "Kisaragi", "Kiyoshimo", "Kuroshio", "Libeccio", "Maikaze", "Makigumo", "Michishio", "Mikazuki", "Minazuki", "Miyuki", "Mochizuki", "Murakumo", "Murasame", "Mutsuki", "Naganami", "Nagatsuki", "Nenohi", "Nowaki", "Oboro", "Okinami", "Ooshio", "Oyashio", "Samidare", "Satsuki", "Sazanami", "Shigure", "Shikinami", "Shimakaze", "Shiranui", "Shiratsuyu", "Shirayuki", "Suzukaze", "Takanami", "Tanikaze", "Teruzuki", "Tokitsukaze", "Umikaze", "Urakaze", "Ushio", "Uzuki", "Wakaba", "Yamagumo", "Yamakaze", "Yayoi", "Yukikaze", "Yuudachi", "Yuugumo", "Z1", "Z3" }
+
         ships = { "Akatsuki", "Akebono", "Akigumo", "Akizuki", "Amatsukaze", "Arare", "Arashi", "Arashio", "Asagumo", "Asakaze", "Asashimo", "Asashio", "Ayanami", "Fubuki", "Fumizuki", "Hagikaze", "Hamakaze", "Harukaze", "Harusame", "Hatsuharu", "Hatsukaze", "Hatsushimo", "Hatsuyuki", "Hatsuzuki", "Hayashimo", "Hibiki", "Верный", "Ikazuchi", "Inazuma", "Isokaze", "Isonami", "Kagerou", "Kamikaze", "Kasumi", "Kawakaze", "Kazagumo", "Kikuzuki", "Kisaragi", "Kiyoshimo", "Kuroshio", "Libeccio", "Maikaze", "Makigumo", "Michishio", "Mikazuki", "Minazuki", "Miyuki", "Mochizuki", "Murakumo", "Murasame", "Mutsuki", "Naganami", "Nagatsuki", "Nenohi", "Nowaki", "Oboro", "Okinami", "Ooshio", "Oyashio", "Samidare", "Satsuki", "Sazanami", "Shigure", "Shikinami", "Shimakaze", "Shiranui", "Shiratsuyu", "Shirayuki", "Suzukaze", "Takanami", "Tanikaze", "Teruzuki", "Tokitsukaze", "Umikaze", "Uranami", "Urakaze", "Ushio", "Uzuki", "Wakaba", "Yamagumo", "Yamakaze", "Yayoi", "Yukikaze", "Yuudachi", "Yuugumo", "Z1", "Z3" }
 
     },
 
     },
 
     ["Light Cruisers"] = {
 
     ["Light Cruisers"] = {

Revision as of 06:30, 15 December 2016

Documentation for this module may be created at Module:Seasonal/doc

local Utils = require('Module:Utils')
local getArgs = require('Module:GetArgs')

local artists = {
    type = "artists",
    index = { "Akira", "Amamiya Chiharu", "Ayaki", "bob", "drew", "Fujikawa", "hatsuko", "JiJi", "Konishi", "Kujou Ichiso", "Kusada Souta", "Kuu Ro Kuro", "Mikoto Akemi", "Parsley", "Rikka", "Shibafu", "Shimada Humikane", "Shizuma Yoshinori", "Shobon", "UGUME", "Yadokari", "Unknown" },
    ["Akira"] = {
        ships = {"Commandant Teste", "Mizuho", "Northern Princess"}
    },
    ["Amamiya Chiharu"] = {
        url = "http://www.pixiv.net/member.php?id=2095023",
        ships = {"Samidare", "Suzukaze"}
    },
    ["Ayaki"] = {
        url = "http://www.pixiv.net/member.php?id=8611",
        ships = {"Hatsuharu", "Murakumo", "Nenohi", "Tatsuta", "Tenryuu"}
    },
    ["bob"] = {
        url = "http://www.pixiv.net/member.php?id=91521",
        ships = {"Ashigara", "Chikuma", "Haguro", "Jintsuu", "Myoukou", "Nachi", "Naka", "Sendai", "Shouhou", "Tone"}
    },
    ["drew"] = {
        url = "http://www.pixiv.net/member.php?id=193293",
        ships = {"Akebono", "Oboro", "Sazanami", "Ushio"}
    },
    ["Fujikawa"] = {
        ships = {"Akashi", "Akashi NPC", "Akigumo", "Asagumo", "Asashimo", "Hayashimo", "Irako", "Kazagumo", "Kinugasa", "Kiyoshimo", "Makigumo", "Mamiya", "Naganami", "Okinami", "Ooyodo", "Ooyodo NPC", "Takanami", "Yamagumo", "Yuugumo"}
    },
    ["hatsuko"] = {
        url = "http://www.pixiv.net/member.php?id=237559",
        ships = {"Aoba"}
    },
    ["JiJi"] = {
        url = "http://www.pixiv.net/member.php?id=3911",
        ships = {"Aquila", "Libeccio", "Littorio", "Italia", "Pola", "Roma", "Zara"}
    },
    ["Konishi"] = {
        url = "http://www.pixiv.net/member.php?id=4258322",
        ships = {"Abukuma", "Agano", "Arare", "Arashi", "Arashio", "Asashio", "Hagikaze", "Haruna", "Hatsukaze", "Hayasui", "Hiei", "Kagerou", "Kasumi", "Kinu", "Kirishima", "Kongou", "Kumano", "Kuroshio", "Maikaze", "Michishio", "Noshiro", "Nowaki", "Ooshio", "Oyashio", "Sakawa", "Shiranui", "Shoukaku", "Suzuya", "Warspite", "Yahagi", "Yura", "Yuubari", "Zuihou", "Zuikaku"}
    },
    ["Kujou Ichiso"] = {
        url = "http://www.pixiv.net/member.php?id=186655",
        ships = {"Harusame", "Kawakaze", "Murasame", "Shigure", "Shiratsuyu", "Taigei", "Ryuuhou", "Umikaze", "Yamakaze", "Yuudachi"}
    },
    ["Kusada Souta"] = {
        url = "http://www.pixiv.net/member.php?id=303275",
        ships = {"Kisaragi", "Minazuki", "Mutsuki", "Uzuki", "Yayoi"}
    },
    ["Kuu Ro Kuro"] = {
        url = "http://www.pixiv.net/member.php?id=29389",
        ships = {"Akitsu Maru", "Amagi", "Chitose", "Chiyoda", "Hiyou", "I-26", "Isuzu", "Junyou", "Katsuragi", "Maruyu", "Nagara", "Natori", "Ryuujou", "Unryuu"}
    },
    ["Mikoto Akemi"] = {
        url = "http://www.pixiv.net/member.php?id=501378",
        ships = {"Atago", "Takao"}
    },
    ["Parsley"] = {
        url = "http://www.pixiv.net/member.php?id=414162",
        ships = {"Asakaze", "Choukai", "Hamakaze", "Harukaze", "Isokaze", "Kamikaze", "Kashima", "Katori", "Maya", "Tanikaze", "Urakaze"}
    },
    ["Rikka"] = {
        url = "http://www.pixiv.net/member.php?id=1926153",
        ships = {"Fusou", "Yamashiro"}
    },
    ["Shibafu"] = {
        url = "http://www.pixiv.net/member.php?id=312614",
        ships = {"Akagi", "Ayanami", "Fubuki", "Hatsuyuki", "Hiryuu", "Houshou", "Hyuuga", "I-401", "Ise", "Isonami", "Kaga", "Kitakami", "Mikuma", "Miyuki", "Mogami", "Ooi", "Shikinami", "Shirayuki", "Souryuu", "Uranami"}
    },
    ["Shimada Humikane"] = {
        url = "https://twitter.com/humikane",
        ships = {"Bismarck", "Graf Zeppelin", "Prinz Eugen", "Taihou", "U-511", "Ro-500", "Z1", "Z3"}
    },
    ["Shizuma Yoshinori"] = {
        url = "http://www.pixiv.net/member.php?id=141206",
        ships = {"Akitsushima", "Akizuki", "Amatsukaze", "Hatsuzuki", "Iowa", "Musashi", "Mutsu", "Nagato", "Saratoga", "Shimakaze", "Teruzuki", "Tokitsukaze", "Yamato", "Yukikaze"}
    },
    ["Shobon"] = {
        url = "http://www.pixiv.net/member.php?id=2572017",
        ships = {"I-19", "I-168", "I-58", "I-8"}
    },
    ["UGUME"] = {
        url = "http://www.pixiv.net/member.php?id=1457830",
        ships = {"Furutaka", "Kako", "Kiso", "Kuma", "Tama"}
    },
    ["Yadokari"] = {
        url = "http://www.pixiv.net/member.php?id=1828868",
        ships = {"Akatsuki", "Fumizuki", "Hatsushimo", "Hibiki", "Верный", "Ikazuchi", "Inazuma", "Kikuzuki", "Mikazuki", "Mochizuki", "Nagatsuki", "Satsuki", "Wakaba"}
    },
    ["Unknown"] = {
        ships = {  },
    },
}

local seiyuus = {
    type = "seiyuus",
    index = { "Akasaki Chinatsu", "Bridcut Sarah Emi", "Chinami Hashimoto", "Endou Aya", "Fujita Saki", "Hayami Saori", "Hayasaka Kozue", "Hidaka Rina", "Horie Yui", "Iguchi Yuka", "Ise Mariya", "Ishigami Shizuka", "Kanemoto Hisako", "Kawasumi Ayako", "Kayano Ai", "Kitou Akari", "Kobayashi Motoko", "Komatsu Mana", "Komatsu Mikako", "Kuno Misaki", "Misato", "Miyagawa Wakana", "Nakajima Megumi", "Nomizu Iori", "Noto Mamiko", "Ogura Yui", "Ootsubo Yuka", "Ozawa Ari", "Sakura Ayane", "Suzaki Aya", "Taketatsu Ayana", "Taneda Risa", "Tanibe Yumi", "Touyama Nao", "Uchida Shuu", "Uesaka Sumire", "Yamada Yuki", "Unknown" },
    ["Akasaki Chinatsu"] = {
        url = "http://myanimelist.net/people/12652/Chinatsu_Akasaki",
        ships = { "Aquila", "Pola", "Zara", },
    },
    ["Bridcut Sarah Emi"] = {
        url = "http://myanimelist.net/people/19371/Sarah_Emi_Bridcut",
        ships = {"Hatsukaze", "Kumano", "Maikaze", "Suzuya", "Yuubari", },
    },
    ["Chinami Hashimoto"] = {
        url = "http://myanimelist.net/people/27761/Chinami_Hashimoto",
        ships = {"Iowa", "Yamakaze"},
    },
    ["Endou Aya"] = {
        url = "http://myanimelist.net/people/54/Aya_Endou",
        ships = {"Bismarck", "Z1", "Z3", },
    },
    ["Fujita Saki"] = {
        url = "http://myanimelist.net/people/504",
        ships = {"Akagi", "Fusou", "Kagerou", "Kuroshio", "Shiranui", "Tokitsukaze", "Yamashiro", "Yukikaze", },
    },
    ["Hayami Saori"] = {
        url = "http://myanimelist.net/people/869/Saori_Hayami",
        ships = {"Graf Zeppelin", "Hagikaze", },
    },
    ["Hayasaka Kozue"] = {
        url = nil,
        ships = {"Akebono", "Oboro", "Sazanami", "Ushio", },
    },
    ["Hidaka Rina"] = {
        url = "http://myanimelist.net/people/5250/Rina_Hidaka",
        ships = {"Fumizuki", "Kikuzuki", "Kisaragi", "Mikazuki", "Minazuki", "Mochizuki", "Mutsuki", "Nagatsuki", "Ryuujou", "Satsuki", "Uzuki", "Yayoi", },
    },
    ["Hondo Kaede"] = {
        url = "https://myanimelist.net/people/38659/Kaede_Hondo",
        ships = { "Oyashio", },
    },
    ["Horie Yui"] = {
        url = "http://myanimelist.net/people/28/Yui_Horie",
        ships = {"Amagi", "Asagumo", "Irako", "Mamiya", "Yamagumo", },
    },
    ["Iguchi Yuka"] = {
        url = "http://myanimelist.net/people/885/Yuka_Iguchi",
        ships = {"Chikuma", "Isuzu", "Kaga", "Nagara", "Natori", "Tatsuta", "Tenryuu", "Tone", },
    },
    ["Ise Mariya"] = {
        url = "http://myanimelist.net/people/655/Mariya_Ise",
        ships = {"I-401", },
    },
    ["Ishigami Shizuka"] = {
        url = "http://myanimelist.net/people/28755/Shizuka_Ishigami",
        ships = {"Kawakaze", "Mizuho", "Umikaze", },
    },
    ["Itou Shizuka"] = {
        url = "https://myanimelist.net/people/93/Shizuka_Itou",
        ships = { "Asakaze", "Saratoga", },
    },
    ["Kanemoto Hisako"] = {
        url = "http://myanimelist.net/people/8555/Hisako_Kanemoto",
        ships = {"Harusame", "Hayashimo", "Kiyoshimo", },
    },
    ["Kawasumi Ayako"] = {
        url = "http://myanimelist.net/people/13/Ayako_Kawasumi",
        ships = {"Isokaze", "Kamikaze", "Ooyodo", "Unryuu", },
    },
    ["Kayano Ai"] = {
        url = "http://myanimelist.net/people/10765/",
        ships = {"Arashi", "Asashimo", "Kashima", "Katori", "Katsuragi", "U-511", "Ro-500"},
    },
    ["Kitou Akari"] = {
        url = "https://ja.wikipedia.org/wiki/%E9%AC%BC%E9%A0%AD%E6%98%8E%E9%87%8C",
        ships = {"Kazagumo", "Libeccio", "Okinami"},
    },
    ["Kobayashi Motoko"] = {
        url = "http://myanimelist.net/people/12285/Motoko_Kobayashi",
        ships = {"Hatsuharu", "Hatsushimo", "Nenohi", "Wakaba", },
    },
    ["Komatsu Mana"] = {
        url = "http://myanimelist.net/people/12941/Mana_Komatsu",
        ships = {"Hamakaze", "Tanikaze", "Urakaze", "Zuihou", },
    },
    ["Komatsu Mikako"] = {
        url = "http://myanimelist.net/people/10071/Komatsu_Mikako",
        ships = {"Akitsushima", "Teruzuki", },
    },
    ["Kuno Misaki"] = {
        url = "http://myanimelist.net/people/11641/Misaki_Kuno",
        ships = {"Littorio", "Italia", "Roma", "Takanami", },
    },
    ["Misato"] = {
        url = "http://myanimelist.net/people/12759/Misato",
        ships = {"I-19", "I-8", "Musashi", },
    },
    ["Miyagawa Wakana"] = {
        url = "http://www.animenewsnetwork.com.au/encyclopedia/people.php?id=98235",
        ships = {"Arare", "Arashio", "Asashio", "Chitose", "Chiyoda", "Kasumi", "Michishio", "Ooshio", },
    },
    ["Nakajima Megumi"] = {
        url = "http://myanimelist.net/people/1105/Megumi_Nakajima",
        ships = {"I-168", "I-58", "Hatsuzuki", "Kinugasa", "Mikuma", },
    },
    ["Nomizu Iori"] = {
        url = "http://myanimelist.net/people/8956/Iori_Nomizu",
        ships = {"Abukuma", "Hayasui", "Kinu", "Shoukaku", "Zuikaku", },
    },
    ["Noto Mamiko"] = {
        url = "http://myanimelist.net/people/40/Mamiko_Noto",
        ships = {"Akitsu Maru", "Harukaze", "Maruyu", "Taihou", },
    },
    ["Ogura Yui"] = {
        url = "http://myanimelist.net/people/10981/Yui_Ogura",
        ships = {"Amatsukaze", "I-26", "Taigei", "Ryuuhou"},
    },
    ["Ootsubo Yuka"] = {
        url = "http://myanimelist.net/people/12452/Yuka_Ootsubo",
        ships = {"Furutaka", "Hiyou", "Hyuuga", "Ise", "Junyou", "Kako", "Kitakami", "Ooi", },
    },
    ["Ozawa Ari"] = {
        url = "http://myanimelist.net/people/27395/Ari_Ozawa",
        ships = {"Akizuki", "Nowaki", "Prinz Eugen", },
    },
    ["Sakura Ayane"] = {
        url = "http://myanimelist.net/people/11622/Ayane_Sakura",
        ships = {"Jintsuu", "Kiso", "Kuma", "Mutsu", "Nagato", "Naka", "Sendai", "Shimakaze", "Tama", },
    },
    ["Suzaki Aya"] = {
        url = "http://myanimelist.net/people/19834/Aya_Suzaki",
        ships = {"Akatsuki", "Aoba", "Hibiki", "Верный", "Houshou", "Ikazuchi", "Inazuma", "Mogami", },
    },
    ["Taketatsu Ayana"] = {
        url = "http://myanimelist.net/people/6996/Ayana_Taketatsu",
        ships = {"Akigumo", "Makigumo", "Naganami", "Yamato", "Yuugumo", },
    },
    ["Taneda Risa"] = {
        url = "http://myanimelist.net/people/16135/Risa_Taneda",
        ships = {"Akashi", "Ashigara", "Haguro", "Myoukou", "Nachi", "Samidare", "Shouhou", "Suzukaze", },
    },
    ["Tanibe Yumi"] = {
        url = "http://myanimelist.net/people/35951",
        ships = {"Commandant Teste", "Murasame", "Shigure", "Shiratsuyu", "Yura", "Yuudachi", },
    },
    ["Touyama Nao"] = {
        url = "http://myanimelist.net/people/11184/Nao_Touyama",
        ships = {"Atago", "Ayanami", "Choukai", "Haruna", "Hiei", "Kirishima", "Kongou", "Maya", "Shikinami", "Takao", },
    },
    ["Uchida Shuu"] = {
        url = false,
        ships = { "Warspite" },
    },
    ["Uesaka Sumire"] = {
        url = "http://myanimelist.net/people/14441/Sumire_Uesaka",
        ships = {"Fubuki", "Hatsuyuki", "Hiryuu", "Isonami", "Miyuki", "Murakumo", "Shirayuki", "Souryuu", "Uranami"},
    },
    ["Yamada Yuki"] = {
        url = "http://myanimelist.net/people/28053/Yuki_Yamada",
        ships = {"Agano", "Noshiro", "Sakawa", "Yahagi", },
    },
    ["Unknown"] = {
        ships = {  },
    },
}

local types = {
    type = "types",
    index = { "Destroyers", "Light Cruisers", "Heavy Cruisers", "Battleships", "Light Carriers", "Standard Carriers", "Submarines", "Auxiliaries", "NPC", "Bosses" },
    ["Destroyers"] = {
        ships = { "Akatsuki", "Akebono", "Akigumo", "Akizuki", "Amatsukaze", "Arare", "Arashi", "Arashio", "Asagumo", "Asakaze", "Asashimo", "Asashio", "Ayanami", "Fubuki", "Fumizuki", "Hagikaze", "Hamakaze", "Harukaze", "Harusame", "Hatsuharu", "Hatsukaze", "Hatsushimo", "Hatsuyuki", "Hatsuzuki", "Hayashimo", "Hibiki", "Верный", "Ikazuchi", "Inazuma", "Isokaze", "Isonami", "Kagerou", "Kamikaze", "Kasumi", "Kawakaze", "Kazagumo", "Kikuzuki", "Kisaragi", "Kiyoshimo", "Kuroshio", "Libeccio", "Maikaze", "Makigumo", "Michishio", "Mikazuki", "Minazuki", "Miyuki", "Mochizuki", "Murakumo", "Murasame", "Mutsuki", "Naganami", "Nagatsuki", "Nenohi", "Nowaki", "Oboro", "Okinami", "Ooshio", "Oyashio", "Samidare", "Satsuki", "Sazanami", "Shigure", "Shikinami", "Shimakaze", "Shiranui", "Shiratsuyu", "Shirayuki", "Suzukaze", "Takanami", "Tanikaze", "Teruzuki", "Tokitsukaze", "Umikaze", "Uranami", "Urakaze", "Ushio", "Uzuki", "Wakaba", "Yamagumo", "Yamakaze", "Yayoi", "Yukikaze", "Yuudachi", "Yuugumo", "Z1", "Z3" }
    },
    ["Light Cruisers"] = {
        ships = { "Abukuma", "Agano", "Isuzu", "Jintsuu", "Kinu", "Kiso", "Kitakami", "Kuma", "Nagara", "Naka", "Natori", "Noshiro", "Ooi", "Ooyodo", "Sakawa", "Sendai", "Tama", "Tatsuta", "Tenryuu", "Yahagi", "Yura", "Yuubari" }
    },
    ["Heavy Cruisers"] = {
        ships = { "Aoba", "Ashigara", "Atago", "Chikuma", "Choukai", "Furutaka", "Haguro", "Kako", "Kinugasa", "Kumano", "Maya", "Mikuma", "Mogami", "Myoukou", "Nachi", "Pola", "Prinz Eugen", "Suzuya", "Takao", "Tone", "Zara" }
    },
    ["Battleships"] = {
        ships = { "Bismarck", "Fusou", "Haruna", "Hiei", "Hyuuga", "Iowa", "Ise", "Kirishima", "Kongou", "Littorio", "Italia", "Musashi", "Mutsu", "Nagato", "Roma", "Warspite", "Yamashiro", "Yamato" }
    },
    ["Light Carriers"] = {
        ships = { "Chitose", "Chiyoda", "Hiyou", "Houshou", "Jun'you", "Ryuuhou", "Ryuujou", "Shouhou", "Zuihou" }
    },
    ["Standard Carriers"] = {
        ships = { "Akagi", "Amagi", "Aquila", "Graf Zeppelin", "Hiryuu", "Kaga", "Katsuragi", "Saratoga", "Shoukaku", "Souryuu", "Taihou", "Unryuu", "Zuikaku" }
    },
    ["Submarines"] = {
        ships = { "I-19", "I-168", "I-58", "I-8", "I-401", "Maruyu", "U-511", "Ro-500", "I-26" }
    },
    ["Auxiliaries"] = {
        ships = { "Akashi", "Akitsu Maru", "Akitsushima", "Commandant Teste", "Hayasui", "Kashima", "Katori", "Mizuho", "Taigei" }
    },
    ["NPC"] = {
        ships = { "Akashi NPC", "Irako", "Mamiya", "Ooyodo NPC" }
    },
    ["Bosses"] = {
        ships = { "Northern Princess" }
    },
}

function find_type(ship)
    for type, data in pairs(types) do
        if data.ships and Utils.find(data.ships, ship) then
            return type
        end
    end
    return "?"
end

function gen(args, tbl, format)
    local result = ""
    local i = 0
    local n = 0
    for _, k in ipairs(tbl.index) do
        local data = tbl[k]
        local ships = Utils.filter(data.ships, function(ship) return Utils.find(args, ship) end)
        if #ships > 0 then
            i = i + 1
            n = n + #ships
            local ships_str = table.concat(Utils.map(ships, function(ship) return string.format("[[#%s|%s]]", args.art and (tbl.type == "types" and k or find_type(ship)) or ship, ship) end), ", ")
            if data.url then
                result = result .. string.format("|-\n|[%s %s]\n|%s\n", data.url, k, ships_str)
            elseif tbl.type == "types" then
                result = result .. string.format("|-\n|[[#%s|%s]] (%s)\n|%s\n", args[k] and (k .. " 2") or k, k, #ships, ships_str)
            else
                result = result .. string.format("|-\n|%s\n|%s\n", k, ships_str)
            end
        end
    end
    return format(result, i, n)
end

local Seasonal = {}

function Seasonal.toc(frame)
    local args = getArgs{frame = frame:getParent()}
    return
        gen(args, types, function(r, i, n) return string.format([===[{| class="mw-collapsible mw-collapsed wikitable typography-xl-optout" style="width:100%%"
|-
!width=20%%|Class
!%s (%s)
]===], args.text or "Ship girls", n) .. r .. "|}" end)
        .. "\n" ..
        gen(args, args.art and artists or seiyuus, function(r, i, n) return string.format([===[{| class="mw-collapsible mw-collapsed wikitable typography-xl-optout" style="width:100%%"
|-
!width=20%%|[[%s]] (%s)
!
]===], args.art and "Glossary#List_of_Vessels_by_Artist|Artist" or "Glossary#List_of_Vessels_by_Seiyuu|Seiyuu", i) .. r .. "|}" end)

end

return Seasonal