Files
fullodds.club/lib/full_odds/versions.rb
T
2026-10-25 23:19:29 -06:00

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