mirror of
https://github.com/arthur-pbty/xiao.git
synced 2026-06-23 10:02:05 +02:00
Pokemon Held Item Data
This commit is contained in:
@@ -31,6 +31,7 @@
|
|||||||
"genus": "??? Pokémon"
|
"genus": "??? Pokémon"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"held_items": [],
|
||||||
"varieties": [
|
"varieties": [
|
||||||
{
|
{
|
||||||
"is_default": true,
|
"is_default": true,
|
||||||
|
|||||||
@@ -122,6 +122,7 @@ module.exports = class PokedexCommand extends Command {
|
|||||||
const showParens = variety.name && abilitiesShown.length > 1;
|
const showParens = variety.name && abilitiesShown.length > 1;
|
||||||
return `${variety.abilities.join('/')}${showParens ? ` (${variety.name})` : ''}`;
|
return `${variety.abilities.join('/')}${showParens ? ` (${variety.name})` : ''}`;
|
||||||
}).join('\n'))
|
}).join('\n'))
|
||||||
|
.addField('❯ Held Items', data.heldItems.length ? data.heldItems.map(item => item.name).join('/') : 'None')
|
||||||
.addField('❯ Gender Rate',
|
.addField('❯ Gender Rate',
|
||||||
data.genderRate.genderless ? 'Genderless' : `♂️ ${data.genderRate.male}% ♀️ ${data.genderRate.female}%`);
|
data.genderRate.genderless ? 'Genderless' : `♂️ ${data.genderRate.male}% ♀️ ${data.genderRate.female}%`);
|
||||||
if (data.cry) {
|
if (data.cry) {
|
||||||
@@ -134,8 +135,8 @@ module.exports = class PokedexCommand extends Command {
|
|||||||
} else {
|
} else {
|
||||||
const usage = this.client.registry.commands.get('join').usage();
|
const usage = this.client.registry.commands.get('join').usage();
|
||||||
embed.setFooter(stripIndents`
|
embed.setFooter(stripIndents`
|
||||||
Join a voice channel and use ${usage} to hear the Pokémon's cry.
|
|
||||||
Use ${moveUsage} to get the Pokémon's moveset.
|
Use ${moveUsage} to get the Pokémon's moveset.
|
||||||
|
Join a voice channel and use ${usage} to hear the Pokémon's cry.
|
||||||
`);
|
`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "xiao",
|
"name": "xiao",
|
||||||
"version": "123.4.1",
|
"version": "123.4.2",
|
||||||
"description": "Your personal server companion.",
|
"description": "Your personal server companion.",
|
||||||
"main": "Xiao.js",
|
"main": "Xiao.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -28,6 +28,16 @@ module.exports = class Pokemon {
|
|||||||
this.legendary = data.is_legendary;
|
this.legendary = data.is_legendary;
|
||||||
this.mythical = data.is_mythical;
|
this.mythical = data.is_mythical;
|
||||||
this.baby = data.is_baby;
|
this.baby = data.is_baby;
|
||||||
|
this.heldItems = data.held_items
|
||||||
|
.filter(item => item.version_details.some(version => {
|
||||||
|
const inSwordShield = version.version.name === 'sword' || version.version.name === 'shield';
|
||||||
|
if (inSwordShield) return true;
|
||||||
|
if (!inSwordShield && (version.version.name === 'ultra-sun' || version.version.name === 'ultra-moon')) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}))
|
||||||
|
.map(item => ({ url: item.item.url, name: null }));
|
||||||
this.varieties = data.varieties.map(variety => {
|
this.varieties = data.varieties.map(variety => {
|
||||||
const name = firstUpperCase(variety.pokemon.name
|
const name = firstUpperCase(variety.pokemon.name
|
||||||
.replace(new RegExp(`${this.slug}-?`, 'i'), '')
|
.replace(new RegExp(`${this.slug}-?`, 'i'), '')
|
||||||
@@ -135,6 +145,7 @@ module.exports = class Pokemon {
|
|||||||
}
|
}
|
||||||
this.height = defaultBody.height * 3.94;
|
this.height = defaultBody.height * 3.94;
|
||||||
this.weight = defaultBody.weight * 0.2205;
|
this.weight = defaultBody.weight * 0.2205;
|
||||||
|
await this.fetchHeldItemNames();
|
||||||
await this.fetchChain();
|
await this.fetchChain();
|
||||||
this.gameDataCached = true;
|
this.gameDataCached = true;
|
||||||
return this;
|
return this;
|
||||||
@@ -165,4 +176,12 @@ module.exports = class Pokemon {
|
|||||||
}
|
}
|
||||||
return this.chain.data;
|
return this.chain.data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async fetchHeldItemNames() {
|
||||||
|
for (const item of this.heldItems) {
|
||||||
|
const { body } = await request.get(item.url);
|
||||||
|
item.name = body.names.find(name => name.language.name === 'en').name;
|
||||||
|
}
|
||||||
|
return this.heldItems;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user