Documentation for this module may be created at Module:ShipIterator/doc
local Iterator = require('Module:Iterator')
local ShipIterator = {}
ShipIterator.allForms = {
"Mutsuki/",
"Kisaragi/",
"Nagatsuki/",
"Mikazuki/",
"Fubuki/",
"Shirayuki/",
"Miyuki/",
"Isonami/",
"Ayanami/",
"Shikinami/",
"Akebono/",
"Ushio/",
"Kagerou/",
"Shiranui/",
"Kuroshio/",
"Yukikaze/",
"Nagara/",
"Isuzu/",
"Yura/",
"Ooi/",
"Kitakami/",
"Fusou/",
"Yamashiro/",
"Satsuki/",
"Fumizuki/",
"Kikuzuki/",
"Mochizuki/",
"Hatsuyuki/",
"Murakumo/",
"Akatsuki/",
"Hibiki/",
"Ikazuchi/",
"Inazuma/",
"Hatsuharu/",
"Nenohi/",
"Wakaba/",
"Hatsushimo/",
"Shiratsuyu/",
"Shigure/",
"Murasame/",
"Yuudachi/",
"Samidare/",
"Suzukaze/",
"Arare/",
"Kasumi/",
"Shimakaze/",
"Tenryuu/",
"Tatsuta/",
"Natori/",
"Sendai/",
"Jintsuu/",
"Naka/",
"Ooi/Kai",
"Kitakami/Kai",
"Furutaka/",
"Kako/",
"Aoba/",
"Myoukou/",
"Nachi/",
"Ashigara/",
"Haguro/",
"Takao/",
"Atago/",
"Maya/",
"Choukai/",
"Mogami/",
"Tone/",
"Chikuma/",
"Mogami/Kai",
"Shouhou/",
"Hiyou/",
"Ryuujou/",
"Ise/",
"Kongou/",
"Haruna/",
"Nagato/",
"Mutsu/",
"Ise/Kai",
"Akagi/",
"Kaga/",
"Kirishima/",
"Hiei/",
"Hyuuga/",
"Hyuuga/Kai",
"Houshou/",
"Souryuu/",
"Hiryuu/",
"Junyou/",
"Oboro/",
"Sazanami/",
"Asashio/",
"Ooshio/",
"Michishio/",
"Arashio/",
"Kuma/",
"Tama/",
"Kiso/",
"Chitose/",
"Chiyoda/",
"Chitose/Kai",
"Chiyoda/Kai",
"Chitose/A",
"Chiyoda/A",
"Chitose/Carrier",
"Chiyoda/Carrier",
"Shoukaku/",
"Zuikaku/",
"Zuikaku/Kai",
"Kinu/",
"Abukuma/",
"Yuubari/",
"Zuihou/",
"Zuihou/Kai",
"Ooi/Kai Ni",
"Kitakami/Kai Ni",
"Mikuma/",
"Mikuma/Kai",
"Maikaze/",
"Kinugasa/",
"Suzuya/",
"Kumano/",
"I-168/",
"I-58/",
"I-8/",
"Suzuya/Kai",
"Kumano/Kai",
"Yamato/",
"Akigumo/",
"Yuugumo/",
"Makigumo/",
"Naganami/",
"Yamato/Kai",
"Agano/",
"Noshiro/",
"Yahagi/",
"Sakawa/",
"Isuzu/Kai Ni",
"Kinugasa/Kai Ni",
"Musashi/",
"Yuudachi/Kai Ni",
"Shigure/Kai Ni",
"Kiso/Kai Ni",
"Verniy/",
"Musashi/Kai",
"Kongou/Kai Ni",
"Hiei/Kai Ni",
"Haruna/Kai Ni",
"Kirishima/Kai Ni",
"Taihou/",
"Katori/",
"I-401/",
"Taihou/Kai",
"Ryuujou/Kai Ni",
"Sendai/Kai Ni",
"Jintsuu/Kai Ni",
"Naka/Kai Ni",
"Akitsu Maru/",
"Kamoi/",
"Maruyu/",
"Yayoi/",
"Uzuki/",
"Akitsu Maru/Kai",
"Isokaze/",
"Urakaze/",
"Tanikaze/",
"Hamakaze/",
"Bismarck/",
"Bismarck/Kai",
"Bismarck/zwei",
"Z1/",
"Z3/",
"Prinz Eugen/",
"Prinz Eugen/Kai",
"Bismarck/drei",
"Z1/zwei",
"Z3/zwei",
"Amatsukaze/",
"Akashi/",
"Ooyodo/",
"Taigei/",
"Ryuuhou/",
"Tokitsukaze/",
"Akashi/Kai",
"Tone/Kai Ni",
"Chikuma/Kai Ni",
"Hatsukaze/",
"I-19/",
"Nachi/Kai Ni",
"Ashigara/Kai Ni",
"Haguro/Kai Ni",
"Ayanami/Kai Ni",
"Hiryuu/Kai Ni",
"Souryuu/Kai Ni",
"Ooshio/Kai Ni",
"Abukuma/Kai Ni",
"Fubuki/Kai",
"Shirayuki/Kai",
"Hatsuyuki/Kai",
"Miyuki/Kai",
"Murakumo/Kai",
"Isonami/Kai",
"Ayanami/Kai",
"Shikinami/Kai",
"Kongou/Kai",
"Hiei/Kai",
"Haruna/Kai",
"Kirishima/Kai",
"Tenryuu/Kai",
"Tatsuta/Kai",
"Kuma/Kai",
"Tama/Kai",
"Kiso/Kai",
"Nagara/Kai",
"Isuzu/Kai",
"Yura/Kai",
"Natori/Kai",
"Sendai/Kai",
"Jintsuu/Kai",
"Naka/Kai",
"Kagerou/Kai",
"Shiranui/Kai",
"Kuroshio/Kai",
"Yukikaze/Kai",
"Shimakaze/Kai",
"Oboro/Kai",
"Akebono/Kai",
"Sazanami/Kai",
"Ushio/Kai",
"Akatsuki/Kai",
"Hibiki/Kai",
"Ikazuchi/Kai",
"Inazuma/Kai",
"Hatsuharu/Kai",
"Nenohi/Kai",
"Wakaba/Kai",
"Hatsushimo/Kai",
"Shiratsuyu/Kai",
"Shigure/Kai",
"Murasame/Kai",
"Yuudachi/Kai",
"Samidare/Kai",
"Suzukaze/Kai",
"Asashio/Kai",
"Ooshio/Kai",
"Michishio/Kai",
"Arashio/Kai",
"Arare/Kai",
"Kasumi/Kai",
"Mutsuki/Kai",
"Kisaragi/Kai",
"Satsuki/Kai",
"Fumizuki/Kai",
"Nagatsuki/Kai",
"Kikuzuki/Kai",
"Mikazuki/Kai",
"Mochizuki/Kai",
"Furutaka/Kai",
"Kako/Kai",
"Aoba/Kai",
"Myoukou/Kai",
"Nachi/Kai",
"Ashigara/Kai",
"Haguro/Kai",
"Takao/Kai",
"Atago/Kai",
"Maya/Kai",
"Choukai/Kai",
"Tone/Kai",
"Chikuma/Kai",
"Nagato/Kai",
"Mutsu/Kai",
"Akagi/Kai",
"Kaga/Kai",
"Souryuu/Kai",
"Hiryuu/Kai",
"Ryuujou/Kai",
"Shouhou/Kai",
"Hiyou/Kai",
"Junyou/Kai",
"Houshou/Kai",
"Fusou/Kai",
"Yamashiro/Kai",
"Shoukaku/Kai",
"Kinu/Kai",
"Abukuma/Kai",
"Chitose/Carrier Kai",
"Chiyoda/Carrier Kai",
"Yuubari/Kai",
"Maikaze/Kai",
"Kinugasa/Kai",
"Chitose/Carrier Kai Ni",
"Chiyoda/Carrier Kai Ni",
"Hatsukaze/Kai",
"Akigumo/Kai",
"Yuugumo/Kai",
"Makigumo/Kai",
"Naganami/Kai",
"Agano/Kai",
"Noshiro/Kai",
"Yahagi/Kai",
"Yayoi/Kai",
"Uzuki/Kai",
"Z1/Kai",
"Z3/Kai",
"Hamakaze/Kai",
"Tanikaze/Kai",
"Sakawa/Kai",
"Amatsukaze/Kai",
"Urakaze/Kai",
"Ryuuhou/Kai",
"Myoukou/Kai Ni",
"Isokaze/Kai",
"Ooyodo/Kai",
"Tokitsukaze/Kai",
"Harusame/Kai",
"Hayashimo/Kai",
"Kiyoshimo/Kai",
"Hatsuharu/Kai Ni",
"Asagumo/Kai",
"Yamagumo/Kai",
"Nowaki/Kai",
"Akizuki/Kai",
"Amagi/",
"Katsuragi/",
"U-511/Kai",
"Katori/Kai",
"Asashimo/Kai",
"Takanami/Kai",
"Teruzuki/Kai",
"Libeccio/Kai",
"Mizuho/Kai",
"Kazagumo/Kai",
"Umikaze/Kai",
"Kawakaze/Kai",
"Hayasui/Kai",
"Graf Zeppelin/Kai",
"Arashi/Kai",
"Hagikaze/Kai",
"Kashima/Kai",
"Hatsuzuki/Kai",
"Zara/Kai",
"Okinami/Kai",
"Iowa/Kai",
"Pola/Kai",
"Oyashio/Kai",
"Harukaze/Kai",
"Warspite/Kai",
"Aquila/Kai",
"Minazuki/Kai",
"I-26/Kai",
"Uranami/Kai",
"Yamakaze/Kai",
"Asakaze/Kai",
"Matsukaze/Kai",
"Commandant Teste/Kai",
"Fujinami/Kai",
"I-13/Kai",
"I-14/Kai",
"Shimushu/Kai",
"Kunashiri/Kai",
"Taiyou/Kai",
"Etorofu/Kai",
"I-168/Kai",
"I-58/Kai",
"I-8/Kai",
"I-19/Kai",
"Maruyu/Kai",
"I-401/Kai",
"Unryuu/",
"Harusame/",
"Unryuu/Kai",
"Ushio/Kai Ni",
"Junyou/Kai Ni",
"Hayashimo/",
"Kiyoshimo/",
"Fusou/Kai Ni",
"Yamashiro/Kai Ni",
"Asagumo/",
"Yamagumo/",
"Nowaki/",
"Furutaka/Kai Ni",
"Kako/Kai Ni",
"Satsuki/Kai Ni",
"Hatsushimo/Kai Ni",
"Murakumo/Kai Ni",
"Akizuki/",
"Teruzuki/",
"Hatsuzuki/",
"Takanami/",
"Asashimo/",
"Fubuki/Kai Ni",
"Choukai/Kai Ni",
"Maya/Kai Ni",
"Amagi/Kai",
"Katsuragi/Kai",
"U-511/",
"Graf Zeppelin/",
"Saratoga/",
"Mutsuki/Kai Ni",
"Kisaragi/Kai Ni",
"Ro-500/",
"Akatsuki/Kai Ni",
"Saratoga/Kai",
"Warspite/",
"Iowa/",
"Littorio/",
"Roma/",
"Libeccio/",
"Aquila/",
"Akitsushima/",
"Italia/",
"Roma/Kai",
"Zara/",
"Pola/",
"Akitsushima/Kai",
"Mizuho/",
"Okinami/",
"Kazagumo/",
"Arashi/",
"Hagikaze/",
"Oyashio/",
"Yamakaze/",
"Umikaze/",
"Kawakaze/",
"Hayasui/",
"Shoukaku/Kai Ni",
"Zuikaku/Kai Ni",
"Asashio/Kai Ni",
"Kasumi/Kai Ni",
"Kashima/",
"Shoukaku/Kai Ni A",
"Zuikaku/Kai Ni A",
"Asashio/Kai Ni D",
"Kawakaze/Kai Ni",
"Kasumi/Kai Ni B",
"Kamikaze/",
"Asakaze/",
"Harukaze/",
"Matsukaze/",
"Kamikaze/Kai",
"Minazuki/",
"I-26/",
"Fujinami/",
"Uranami/",
"Kinu/Kai Ni",
"Arashio/Kai Ni",
"Commandant Teste/",
"I-13/",
"I-14/",
"Zara/due",
"Kamoi/Kai",
"Kamoi/Kai Bo",
"Suzuya/Kai Ni",
"Kumano/Kai Ni",
"Suzuya/Carrier Kai Ni",
"Kumano/Carrier Kai Ni",
"Gangut/",
"Oktyabrskaya Revolyutsiya/",
"Gangut/dva",
"Shimushu/",
"Kunashiri/",
"Kasuga Maru/",
"Etorofu/",
"Taiyou/",
"Taiyou/Kai Ni",
"Nagato/Kai Ni",
}
ShipIterator.baseForms = {
"Abukuma",
"Agano",
"Akagi",
"Akashi",
"Akatsuki",
"Akebono",
"Akigumo",
"Akitsu Maru",
"Akitsushima",
"Akizuki",
"Amagi",
"Amatsukaze",
"Aoba",
"Aquila",
"Arare",
"Arashi",
"Arashio",
"Asagumo",
"Asakaze",
"Asashimo",
"Asashio",
"Ashigara",
"Atago",
"Ayanami",
"Bismarck",
"Chikuma",
"Chitose",
"Chiyoda",
"Choukai",
"Commandant Teste",
"Etorofu",
"Fubuki",
"Fujinami",
"Fumizuki",
"Furutaka",
"Fusou",
"Gangut",
"Graf Zeppelin",
"Hagikaze",
"Haguro",
"Hamakaze",
"Harukaze",
"Haruna",
"Harusame",
"Hatsuharu",
"Hatsukaze",
"Hatsushimo",
"Hatsuyuki",
"Hatsuzuki",
"Hayashimo",
"Hayasui",
"Hibiki",
"Hiei",
"Hiryuu",
"Hiyou",
"Houshou",
"Hyuuga",
"I-13",
"I-14",
"I-168",
"I-19",
"I-26",
"I-401",
"I-58",
"I-8",
"Ikazuchi",
"Inazuma",
"Iowa",
"Ise",
"Isokaze",
"Isonami",
"Isuzu",
"Jintsuu",
"Junyou",
"Kaga",
"Kagerou",
"Kako",
"Kamikaze",
"Kamoi",
"Kashima",
"Kasuga Maru",
"Kasumi",
"Katori",
"Katsuragi",
"Kawakaze",
"Kazagumo",
"Kikuzuki",
"Kinu",
"Kinugasa",
"Kirishima",
"Kisaragi",
"Kiso",
"Kitakami",
"Kiyoshimo",
"Kongou",
"Kuma",
"Kumano",
"Kunashiri",
"Kuroshio",
"Libeccio",
"Littorio",
"Maikaze",
"Makigumo",
"Maruyu",
"Matsukaze",
"Maya",
"Michishio",
"Mikazuki",
"Mikuma",
"Minazuki",
"Miyuki",
"Mizuho",
"Mochizuki",
"Mogami",
"Murakumo",
"Murasame",
"Musashi",
"Mutsu",
"Mutsuki",
"Myoukou",
"Nachi",
"Naganami",
"Nagara",
"Nagato",
"Nagatsuki",
"Naka",
"Natori",
"Nenohi",
"Noshiro",
"Nowaki",
"Oboro",
"Okinami",
"Ooi",
"Ooshio",
"Ooyodo",
"Oyashio",
"Pola",
"Prinz Eugen",
"Roma",
"Ryuujou",
"Sakawa",
"Samidare",
"Saratoga",
"Satsuki",
"Sazanami",
"Sendai",
"Shigure",
"Shikinami",
"Shimakaze",
"Shimushu",
"Shiranui",
"Shiratsuyu",
"Shirayuki",
"Shouhou",
"Shoukaku",
"Souryuu",
"Suzukaze",
"Suzuya",
"Taigei",
"Taihou",
"Takanami",
"Takao",
"Tama",
"Tanikaze",
"Tatsuta",
"Tenryuu",
"Teruzuki",
"Tokitsukaze",
"Tone",
"U-511",
"Umikaze",
"Unryuu",
"Urakaze",
"Uranami",
"Ushio",
"Uzuki",
"Wakaba",
"Warspite",
"Yahagi",
"Yamagumo",
"Yamakaze",
"Yamashiro",
"Yamato",
"Yayoi",
"Yukikaze",
"Yura",
"Yuubari",
"Yuudachi",
"Yuugumo",
"Z1",
"Z3",
"Zara",
"Zuihou",
"Zuikaku",
}
ShipIterator.base = Iterator.array(ShipIterator.baseForms)
return ShipIterator