86 lines
3.0 KiB
Ruby
86 lines
3.0 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module FO::Versions
|
|
VERSIONS_BY_GENERATION = {
|
|
generation_1: {
|
|
version_groups: ["red", "blue", "yellow"],
|
|
versions: ["red", "blue", "yellow"]
|
|
},
|
|
generation_2: {
|
|
version_groups: ["gold", "silver", "crystal"],
|
|
versions: ["gold", "silver", "crystal"]
|
|
},
|
|
generation_3: {
|
|
version_groups: ["ruby", "sapphire", "emerald", "firered", "leafgreen"],
|
|
versions: ["ruby", "sapphire", "emerald", "firered", "leafgreen"]
|
|
},
|
|
generation_4: {
|
|
version_groups: ["diamond", "pearl", "platinum", "heartgold", "soulsilver"],
|
|
versions: ["diamond", "pearl", "platinum", "heartgold", "soulsilver"]
|
|
},
|
|
generation_5: {
|
|
version_groups: ["black", "white", "black-2", "white-2"],
|
|
versions: ["black", "white", "black-2", "white-2"]
|
|
},
|
|
generation_6: {
|
|
version_groups: ["x", "y", "omega-ruby", "alpha-sapphire"],
|
|
versions: ["x", "y", "omega-ruby", "alpha-sapphire"]
|
|
},
|
|
generation_7: {
|
|
version_groups: ["sun", "moon", "ultra-sun", "ultra-moon", "lets-go-pikachu", "lets-go-eevee"],
|
|
versions: ["sun", "moon", "ultra-sun", "ultra-moon", "lets-go-pikachu", "lets-go-eevee"]
|
|
},
|
|
generation_8: {
|
|
version_groups: ["sword", "shield", "brilliant-diamond", "shining-pearl", "legends-arceus"],
|
|
versions: ["sword", "shield", "the-isle-of-armor", "the-crown-tundra", "brilliant-diamond", "shining-pearl", "legends-arceus"]
|
|
},
|
|
generation_9: {
|
|
version_groups: ["scarlet", "violet"],
|
|
versions: ["scarlet", "violet", "the-teal-mask", "the-indigo-disk"]
|
|
}
|
|
}
|
|
|
|
VERSIONS_TO_VERSION_GROUPS = {
|
|
"yellow": "yellow",
|
|
"blue": "red-blue",
|
|
"red": "red-blue",
|
|
"gold": "gold-silver",
|
|
"silver": "gold-silver",
|
|
"crystal": "crystal",
|
|
"ruby": "ruby-sapphire",
|
|
"sapphire": "ruby-sapphire",
|
|
"emerald": "emerald",
|
|
"firered": "firered-leafgreen",
|
|
"leafgreen": "firered-leafgreen",
|
|
"diamond": "diamond-pearl",
|
|
"pearl": "diamond-pearl",
|
|
"platinum": "platinum",
|
|
"heartgold": "heartgold-soulsilver",
|
|
"soulsilver": "heartgold-soulsilver",
|
|
"black": "black-white",
|
|
"white": "black-white",
|
|
"black-2": "black-white",
|
|
"white-2": "black-white",
|
|
"x": "x-y",
|
|
"y": "x-y",
|
|
"omega-ruby": "omega-ruby-alpha-sapphire",
|
|
"alpha-sapphire": "omega-ruby-alpha-sapphire",
|
|
"sun": "ultra-sun-ultra-moon",
|
|
"moon": "ultra-sun-ultra-moon",
|
|
"ultra-sun": "ultra-sun-ultra-moon",
|
|
"ultra-moon": "ultra-sun-ultra-moon",
|
|
"lets-go-eevee": "lets-go-pikachu-lets-go-eevee",
|
|
"lets-go-pikachu": "lets-go-pikachu-lets-go-eevee",
|
|
"sword": "sword-shield",
|
|
"shield": "sword-shield",
|
|
"brilliant-diamond": "brilliant-diamond-shining-pearl",
|
|
"brilliant-pearl": "brilliant-diamond-shining-pearl",
|
|
"legends-arceus": "legends-arceus",
|
|
"scarlet": "scarlet-violet",
|
|
"violet": "scarlet-violet"
|
|
}
|
|
|
|
VERSION_GROUPS_TO_VERSIONS = VERSIONS_TO_VERSION_GROUPS
|
|
.each_with_object({}){|(k,v),o|(o[v]||=[])<<k}
|
|
end
|