# 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]||=[])<