import { audioPath } from "./path.js"; const spriteClassBase = "pokesprite pokemon "; let favorites = [ { className: "bulbasaur" }, { className: "ivysaur" }, { className: "venusaur" }, { className: "charmander" }, { className: "charmeleon" }, { className: "charizard" }, { className: "squirtle" }, { className: "wartortle" }, { className: "blastoise" }, { className: "beedrill" }, { className: "pikachu" }, { className: "raichu" }, { className: "sandslash" }, { className: "nidoran-f", title: "Female Nidoran" }, { className: "nidorina" }, { className: "nidoqueen" }, { className: "nidoran-m", title: "Male Nidoran" }, { className: "nidorino" }, { className: "nidoking" }, { className: "vulpix" }, { className: "ninetales" }, { className: "meowth" }, { className: "growlithe" }, { className: "arcanine" }, { className: "slowpoke" }, { className: "magnemite" }, { className: "magneton" }, { className: "dewgong" }, { className: "shellder" }, { className: "gastly" }, { className: "haunter" }, { className: "gengar" }, { className: "drowzee" }, { className: "cubone" }, { className: "rhydon" }, { className: "kangaskhan" }, { className: "lapras" }, { className: "eevee" }, { className: "vaporeon" }, { className: "jolteon" }, { className: "flareon" }, { className: "porygon" }, { className: "omanyte" }, { className: "dratini" }, { className: "dragonair" }, { className: "dragonite" }, { className: "mewtwo" }, { className: "mew" }, { className: "cyndaquil" }, { className: "quilava" }, { className: "typhlosion" }, { className: "totodile" }, { className: "croconaw" }, { className: "feraligatr" }, { className: "furret" }, { className: "ledian" }, { className: "spinarak" }, { className: "pichu" }, { className: "togepi" }, { className: "togetic" }, { className: "natu" }, { className: "xatu" }, { className: "mareep" }, { className: "flaaffy" }, { className: "ampharos" }, { className: "bellossom" }, { className: "marill" }, { className: "azumarill" }, { className: "hoppip" }, { className: "aipom" }, { className: "wooper" }, { className: "quagsire" }, { className: "espeon" }, { className: "umbreon" }, { className: "murkrow" }, { className: "misdreavus" }, { className: "girafarig" }, { className: "wobbuffet" }, { className: "dunsparce" }, { className: "scizor" }, { className: "shuckle" }, { className: "sneasel" }, { className: "teddiursa" }, { className: "slugma" }, { className: "corsola" }, { className: "delibird" }, { className: "skarmory" }, { className: "houndour" }, { className: "houndoom" }, { className: "phanpy" }, { className: "porygon2" }, { className: "smeargle" }, { className: "miltank" }, { className: "suicune" }, { className: "tyranitar" }, { className: "lugia" }, { className: "ho-oh" }, { className: "celebi" }, { className: "treecko" }, { className: "grovyle" }, { className: "sceptile" }, { className: "torchic" }, { className: "blaziken" }, { className: "mudkip" }, { className: "swampert" }, { className: "poochyena" }, { className: "mightyena" }, { className: "zigzagoon" }, { className: "wurmple" }, { className: "nuzleaf" }, { className: "ralts" }, { className: "kirlia" }, { className: "gardevoir" }, { className: "breloom" }, { className: "slakoth" }, { className: "azurill" }, { className: "skitty" }, { className: "delcatty" }, { className: "sableye" }, { className: "mawile" }, { className: "aron" }, { className: "aggron" }, { className: "plusle" }, { className: "minun" }, { className: "roselia" }, { className: "numel" }, { className: "spinda" }, { className: "trapinch" }, { className: "vibrava" }, { className: "flygon" }, { className: "altaria" }, { className: "zangoose" }, { className: "seviper" }, { className: "lunatone" }, { className: "solrock" }, { className: "milotic" }, { className: "kecleon" }, { className: "banette" }, { className: "absol" }, { className: "wynaut" }, { className: "spheal" }, { className: "salamence" }, { className: "latias" }, { className: "latios" }, { className: "rayquaza" }, { className: "jirachi" }, { className: "turtwig" }, { className: "torterra" }, { className: "piplup" }, { className: "shinx" }, { className: "luxio" }, { className: "luxray" }, { className: "roserade" }, { className: "buizel" }, { className: "floatzel" }, { className: "gastrodon" }, { className: "ambipom" }, { className: "buneary" }, { className: "lopunny" }, { className: "mismagius" }, { className: "honchkrow" }, { className: "glameow" }, { className: "purugly" }, { className: "garchomp" }, { className: "riolu" }, { className: "lucario" }, { className: "croagunk" }, { className: "weavile" }, { className: "togekiss" }, { className: "leafeon" }, { className: "glaceon" }, { className: "porygon-z" }, { className: "gallade" }, { className: "froslass" }, { className: "uxie" }, { className: "mesprit" }, { className: "azelf" }, { className: "giratina" }, { className: "cresselia" }, { className: "manaphy" }, { className: "shaymin-land", title: "Land Forme Shaymin" }, { className: "shaymin-sky", title: "Sky Forme Shaymin" }, { className: "arceus" }, { className: "victini" }, { className: "snivy" }, { className: "servine" }, { className: "serperior" }, { className: "tepig" }, { className: "oshawott" }, { className: "dewott" }, { className: "samurott" }, { className: "purrloin" }, { className: "liepard" }, { className: "panpour" }, { className: "simipour" }, { className: "drilbur" }, { className: "excadrill" }, { className: "audino" }, { className: "sewaddle" }, { className: "swadloon" }, { className: "leavanny" }, { className: "scolipede" }, { className: "cottonee" }, { className: "whimsicott" }, { className: "petilil" }, { className: "lilligant" }, { className: "maractus" }, { className: "scraggy" }, { className: "scrafty" }, { className: "archen" }, { className: "archeops" }, { className: "zorua" }, { className: "zoroark" }, { className: "minccino" }, { className: "cinccino" }, { className: "solosis" }, { className: "duosion" }, { className: "reuniclus" }, { className: "ducklett" }, { className: "deerling" }, { className: "emolga" }, { className: "joltik" }, { className: "haxorus" }, { className: "shelmet" }, { className: "mienfoo" }, { className: "mienshao" }, { className: "deino" }, { className: "zweilous" }, { className: "volcarona" }, { className: "cobalion" }, { className: "virizion" }, { className: "reshiram" }, { className: "zekrom" }, { className: "keldeo" }, { className: "meloetta" }, { className: "venusaur-mega", title: "Mega Venusaur" }, { className: "charizard-mega-x", title: "Mega Charizard X" }, { className: "charizard-mega-y", title: "Mega Charizard Y" }, { className: "blastoise-mega", title: "Mega Blastoise" }, { className: "beedrill-mega", title: "Mega Beedrill" }, { className: "kangaskhan-mega", title: "Mega Kangaskhan" }, { className: "mewtwo-mega-x", title: "Mega Mewtwo X" }, { className: "mewtwo-mega-y", title: "Mega Mewtwo Y" }, { className: "ampharos-mega", title: "Mega Ampharos" }, { className: "scizor-mega", title: "Mega Scizor" }, { className: "houndoom-mega", title: "Mega Houndoom" }, { className: "tyranitar-mega", title: "Mega Tyranitar" }, { className: "sceptile-mega", title: "Mega Sceptile" }, { className: "blaziken-mega", title: "Mega Blaziken" }, { className: "swampert-mega", title: "Mega Swampert" }, { className: "gardevoir-mega", title: "Mega Gardevoir" }, { className: "sableye-mega", title: "Mega Sableye" }, { className: "aggron-mega", title: "Mega Aggron" }, { className: "altaria-mega", title: "Mega Altaria" }, { className: "banette-mega", title: "Mega Banette" }, { className: "absol-mega", title: "Mega Absol" }, { className: "salamence-mega", title: "Mega Salamence" }, { className: "lopunny-mega", title: "Mega Lopunny" }, { className: "garchomp-mega", title: "Mega Garchomp" }, { className: "lucario-mega", title: "Mega Lucario" }, { className: "gallade-mega", title: "Mega Gallade" }, { className: "audino-mega", title: "Mega Audino" }, { className: "chespin" }, { className: "quilladin" }, { className: "chesnaught" }, { className: "fennekin" }, { className: "braixen" }, { className: "delphox" }, { className: "froakie" }, { className: "frogadier" }, { className: "greninja" }, { className: "pancham" }, { className: "furfrou" }, { className: "espurr" }, { className: "meowstic" }, { className: "meowstic-female", title: "Female Meowstic" }, { className: "helioptile" }, { className: "heliolisk" }, { className: "aurorus" }, { className: "sylveon" }, { className: "hawlucha" }, { className: "goomy" }, { className: "sliggoo" }, { className: "goodra" }, { className: "phantump" }, { className: "noibat" }, { className: "noivern" }, { className: "xerneas" }, { className: "yveltal" }, { className: "rowlet" }, { className: "dartrix" }, { className: "decidueye" }, { className: "litten" }, { className: "torracat" }, { className: "popplio" }, { className: "brionne" }, { className: "primarina" }, { className: "pikipek" }, { className: "ribombee" }, { className: "rockruff" }, { className: "lycanroc" }, { className: "lycanroc-dusk", title: "Dusk Form Lycanroc" }, { className: "lycanroc-midnight", title: "Midnight Form Lycanroc" }, { className: "mareanie" }, { className: "toxapex" }, { className: "fomantis" }, { className: "lurantis" }, { className: "salandit" }, { className: "salazzle" }, { className: "stufful" }, { className: "bewear" }, { className: "steenee" }, { className: "tsareena" }, { className: "pyukumuku" }, { className: "komala" }, { className: "mimikyu" }, { className: "jangmo-o" }, { className: "kommo-o" }, { className: "tapu-lele" }, { className: "cosmog" }, { className: "solgaleo" }, { className: "lunala" }, { className: "celesteela" }, { className: "marshadow" }, { className: "poipole" }, { className: "zeraora" }, { className: "grookey" }, { className: "scorbunny" }, { className: "raboot" }, { className: "cinderace" }, { className: "sobble" }, { className: "drizzile" }, { className: "inteleon" }, { className: "corviknight" }, { className: "nickit" }, { className: "thievul" }, { className: "wooloo" }, { className: "yamper" }, { className: "hatterene" }, { className: "impidimp" }, { className: "obstagoon" }, { className: "alcremie" }, { className: "falinks" }, { className: "snom" }, { className: "indeedee" }, { className: "indeedee-female", title: "Female Indeedee" }, { className: "dragapult" } ]; function capitalizeFirstLetter(string) { return string.charAt(0).toUpperCase() + string.slice(1); } function getClassName(favorite) { return favorite.title ? favorite.title : favorite.className; } function getRandomUniquePkmn(pkmnArray, count) { const uniquePkmn = new Set(); const totalPkmn = pkmnArray.length; while (uniquePkmn.size < count && uniquePkmn.size < totalPkmn) { const randomIndex = Math.floor(Math.random() * totalPkmn); uniquePkmn.add(pkmnArray[randomIndex]); } return Array.from(uniquePkmn).slice(0, count); } const party = getRandomUniquePkmn(favorites, 6); party.forEach((pkmnData) => { const critter = document.createElement("span"); critter.className = `${spriteClassBase}${pkmnData.className}`; critter.title = capitalizeFirstLetter(getClassName(pkmnData)); document.getElementById("pkmn").appendChild(critter); critter.addEventListener("mouseover", () => { const select = document.createElement("audio"); select.src = `${audioPath}select.ogg`; select.play(); }); });