From 77ad98cc8ea07e1b915dca5677081dfb479384a0 Mon Sep 17 00:00:00 2001 From: Dragon Fire Date: Mon, 25 Mar 2024 01:03:43 -0400 Subject: [PATCH] More Scarlet/Violet support --- assets/json/pokedex-location.json | 4 +++- commands/pokedex/pokedex-moveset.js | 3 ++- commands/pokedex/pokedex-stats.js | 2 +- structures/pokemon/Pokemon.js | 16 +++++++++------- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/assets/json/pokedex-location.json b/assets/json/pokedex-location.json index 175b61af..9b082c89 100644 --- a/assets/json/pokedex-location.json +++ b/assets/json/pokedex-location.json @@ -28,5 +28,7 @@ "ultra-sun": "Ultra Sun", "ultra-moon": "Ultra Moon", "sword": "Sword", - "shield": "Shield" + "shield": "Shield", + "scarlet": "Scarlet", + "violet": "Violet" } diff --git a/commands/pokedex/pokedex-moveset.js b/commands/pokedex/pokedex-moveset.js index 32d7c9f3..d37168f6 100644 --- a/commands/pokedex/pokedex-moveset.js +++ b/commands/pokedex/pokedex-moveset.js @@ -3,7 +3,8 @@ const { MessageEmbed } = require('discord.js'); const versions = { 'red-blue': 'Red and Blue', 'ultra-sun-ultra-moon': 'Ultra Sun and Ultra Moon', - 'sword-shield': 'Sword and Shield' + 'sword-shield': 'Sword and Shield', + 'scarlet-violet': 'Scarlet and Violet' }; module.exports = class PokedexMovesetCommand extends Command { diff --git a/commands/pokedex/pokedex-stats.js b/commands/pokedex/pokedex-stats.js index 0e6f0094..f8bfe3a0 100644 --- a/commands/pokedex/pokedex-stats.js +++ b/commands/pokedex/pokedex-stats.js @@ -80,7 +80,7 @@ module.exports = class PokedexCommand extends Command { pokemon.serebiiURL ) .setThumbnail(pokemon.formSpriteImageURL(variety.id)) - .addField(`❯ Base Stats (${variety.name || 'Base'} Form)`, stripIndents` + .addField(`❯ Base Stats (${variety.name || 'Normal'} Form)`, stripIndents` \`HP: [${'█'.repeat(repeat.hp)}${' '.repeat(20 - repeat.hp)}]\` **${variety.stats.hp}** \`Attack: [${'█'.repeat(repeat.atk)}${' '.repeat(20 - repeat.atk)}]\` **${variety.stats.atk}** \`Defense: [${'█'.repeat(repeat.def)}${' '.repeat(20 - repeat.def)}]\` **${variety.stats.def}** diff --git a/structures/pokemon/Pokemon.js b/structures/pokemon/Pokemon.js index 0902db24..e8dd5966 100644 --- a/structures/pokemon/Pokemon.js +++ b/structures/pokemon/Pokemon.js @@ -203,7 +203,9 @@ module.exports = class Pokemon { defaultVariety.gameDataCached = true; const inSwordShield = defaultBody.moves .some(move => move.version_group_details.some(mve => mve.version_group.name === 'sword-shield')); - this.moveSetVersion = inSwordShield ? 'sword-shield' : 'ultra-sun-ultra-moon'; + const inScarletViolet = defaultBody.moves + .some(move => move.version_group_details.some(mve => mve.version_group.name === 'scarlet-violet')); + this.moveSetVersion = inScarletViolet ? 'scarlet-violet' : inSwordShield ? 'sword-shield' : 'ultra-sun-ultra-moon'; this.height = defaultBody.height * 3.94; this.weight = defaultBody.weight * 0.2205; this.encountersURL = defaultBody.location_area_encounters; @@ -230,12 +232,12 @@ module.exports = class Pokemon { spd: body.stats.find(stat => stat.stat.name === 'speed').base_stat }; const baseStats = defaultVariety.stats; - variety.statsDiffer = baseStats.hp !== variety.stats.hp - || baseStats.atk !== variety.stats.atk - || baseStats.def !== variety.stats.def - || baseStats.sAtk !== variety.stats.sAtk - || baseStats.sDef !== variety.stats.sDef - || baseStats.spd !== variety.stats.spd; + variety.statsDiffer = !(baseStats.hp === variety.stats.hp + && baseStats.atk === variety.stats.atk + && baseStats.def === variety.stats.def + && baseStats.sAtk === variety.stats.sAtk + && baseStats.sDef === variety.stats.sDef + && baseStats.spd === variety.stats.spd); for (const ability of body.abilities) { const abilityData = await this.store.abilities.fetch(ability.ability.name); variety.abilities.push(abilityData);