From 4bedbcda743759e9e4859d382b772e447f260ace Mon Sep 17 00:00:00 2001 From: Dragon Fire Date: Tue, 21 Apr 2020 18:49:41 -0400 Subject: [PATCH] Horse Race Command --- README.md | 10 +- assets/fonts/Paladins-nl8P.otf | Bin 0 -> 16852 bytes assets/images/horse-race/horse.png | Bin 0 -> 10499 bytes assets/images/horse-race/leaderboard.png | Bin 0 -> 27524 bytes assets/json/horse-race.json | 182 +++++++++++++++++++++++ commands/edit-image/apple-engraving.js | 2 +- commands/edit-image/newspaper.js | 2 +- commands/games-sp/horse-race.js | 109 ++++++++++++++ commands/random-img/light-novel-cover.js | 2 +- commands/random-res/roll.js | 4 +- commands/readme/generate-commands.js | 2 +- commands/readme/generate-credit.js | 2 +- commands/readme/generate-process-env.js | 2 +- package.json | 2 +- 14 files changed, 309 insertions(+), 10 deletions(-) create mode 100644 assets/fonts/Paladins-nl8P.otf create mode 100644 assets/images/horse-race/horse.png create mode 100644 assets/images/horse-race/leaderboard.png create mode 100644 assets/json/horse-race.json create mode 100644 commands/games-sp/horse-race.js diff --git a/README.md b/README.md index ccf50e22..088897ac 100644 --- a/README.md +++ b/README.md @@ -132,7 +132,7 @@ in the appropriate channel's topic to use it. ## Commands -Total: 398 +Total: 399 ### Utility: @@ -375,6 +375,7 @@ Total: 398 * **fishy:** Go fishing. * **google-feud:** Attempt to determine the top suggestions for a Google search. * **hangman:** Prevent a man from being hanged by guessing a word as fast as you can. +* **horse-race:** Bet on the fastest horse in a 6-horse race. * **hunger-games:** Simulate a Hunger Games match with up to 24 tributes. * **lottery:** Attempt to win the lottery with 6 numbers. * **mad-libs:** Choose words that fill in the blanks to create a crazy story! @@ -640,6 +641,8 @@ here. * hollywood-star ([Hollywood Star Font](https://alexeystar.com/hollywood-star-font/)) - [Alpha Vantage](https://www.alphavantage.co/) * stocks (API) +- [Ambition](https://ambition.com/) + * horse-race ([Image](https://help.ambition.com/hc/en-us/articles/360005048011-How-do-I-set-up-a-Leaderboard-Slide-)) - [Andrew Tyler](https://www.dafont.com/andrew-tyler.d2526) * achievement ([Minecraftia Font](https://www.dafont.com/minecraftia.font)) - [AniList](https://anilist.co/) @@ -740,6 +743,8 @@ here. * flickr ([API](https://www.flickr.com/services/api/)) - [Foreign exchange rates API](https://exchangeratesapi.io/) * currency (API) +- [Free SVG](https://freesvg.org/) + * horse-race ([Image](https://freesvg.org/race-horse)) - [freeiconspng.com](https://www.freeiconspng.com/) * hat ([Birthday Hat Image](https://www.freeiconspng.com/img/43917)) - [Frinkiac](https://frinkiac.com/) @@ -811,6 +816,7 @@ here. - [Humble Bundle](https://www.humblebundle.com/) * humble-bundle ([API](https://www.humblebundle.com/developer)) - [Iconian Fonts](https://www.fontspace.com/iconian-fonts) + * horse-race ([Paladins Font](https://www.fontspace.com/paladins-font-f32777)) * rip ([Coffin Stone Font](https://www.fontspace.com/coffin-stone-font-f40998)) - [iCrawl](https://github.com/iCrawl) * butt ([Code, Concept](https://github.com/iCrawl/Tohru/blob/master/src/commands/fun/butts.js)) @@ -1077,6 +1083,8 @@ here. * sora-selfie ([Original "Kingdom Hearts" Game](https://www.kingdomhearts.com/home/us/)) - [Stack Exchange](https://stackexchange.com/) * stack-overflow ([API](https://api.stackexchange.com/docs)) +- [Stadium Talk](https://www.stadiumtalk.com/) + * horse-race ([Horse Name Data](https://www.stadiumtalk.com/s/best-racehorse-names-be7b8ad6b49a42df)) - [Star Wars](https://www.starwars.com/) * lando (Original Movie) - [Steam](https://store.steampowered.com/) diff --git a/assets/fonts/Paladins-nl8P.otf b/assets/fonts/Paladins-nl8P.otf new file mode 100644 index 0000000000000000000000000000000000000000..544628c8cec3e0ce99952b3c59d87419e6d608dd GIT binary patch literal 16852 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 literal 0 HcmV?d00001 diff --git a/assets/images/horse-race/leaderboard.png b/assets/images/horse-race/leaderboard.png new file mode 100644 index 0000000000000000000000000000000000000000..4e1fd9534413367956b0771dbdd9d0871a9e9379 GIT binary patch literal 27524 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 WI#$$RtHc9iPzL9I$v `**${i + 1}.** ${horse.name}`).join('\n')} + `); + const filter = res => { + if (res.author.id !== msg.author.id) return false; + const num = Number.parseInt(res.content, 10); + if (!num) return false; + return num > 0 && num <= chosenHorses.length; + }; + const msgs = await msg.channel.awaitMessages(filter, { + max: 1, + time: 30000 + }); + if (!msgs.size) return msg.reply('Sorry, can\'t have a race with no bets!'); + const pick = chosenHorses[Number.parseInt(msgs.first().content, 10) - 1]; + const results = []; + for (const horse of chosenHorses) { + results.push({ + name: horse.name, + time: randomRange(horse.minTime, horse.minTime + 15) + Math.random() + }); + } + results = results.sort((a, b) => b.time - a.time); + const leaderboard = await this.generateLeaderboard(chosenHorses, results); + const win = results[0].name === pick.name; + return msg.reply(win ? `Nice job! Your horse won!` : 'Better luck next time!', { files: [leaderboard] }); + } + + async generateLeaderboard(horses, results) { + const lb = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'horse-race', 'leaderboard.png')); + const horseImg = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'horse-race', 'horse.png')); + const canvas = createCanvas(lb.width, lb.height); + const ctx = canvas.getContext('2d'); + ctx.drawImage(base, 0, 0); + ctx.font = '34px Paladins'; + ctx.textAlign = 'center'; + ctx.textBaseline = 'middle'; + for (let i = 0; i < horses.length; i++) { + const horse = horses[i]; + const result = results.find(result => horse.name === result.name).time; + drawImageWithTint(ctx, horseImg, horse.color, 37 * i, 114, 49, 49); + ctx.fillText(this.formatTime(result), 138 * i, 755); + ctx.fillText(horse.name, 138 * 1, 251); + } + return { attachment: canvas.toBuffer(), name: 'leaderboard.png' }; + } + + formatTime(time) { + const min = Math.floor(time / 60); + const sec = Math.floor(time - (min * 60)); + const ms = time - sec - (min * 60); + return `${min}:${sec}.${ms.toFixed(4).slice(2)}`; + } +}; diff --git a/commands/random-img/light-novel-cover.js b/commands/random-img/light-novel-cover.js index e4808df7..65b89a38 100644 --- a/commands/random-img/light-novel-cover.js +++ b/commands/random-img/light-novel-cover.js @@ -26,7 +26,7 @@ module.exports = class LightNovelCoverCommand extends Command { const { text } = await request.get('https://salty-salty-studios.com/shiz/lncovers.php'); const $ = cheerio.load(text); const cover = $('img').first(); - return msg.channel.send(cover.attr('alt'), { + return msg.say(cover.attr('alt'), { files: [`https://salty-salty-studios.com/shiz/${cover.attr('src')}`] }); } catch (err) { diff --git a/commands/random-res/roll.js b/commands/random-res/roll.js index 30c69d0d..dc8b7a9c 100644 --- a/commands/random-res/roll.js +++ b/commands/random-res/roll.js @@ -34,8 +34,8 @@ module.exports = class RollCommand extends Command { run(msg, { maxValue, minValue }) { let result; - if (!minValue) result = Math.floor(Math.random() * maxValue) + 1; - else result = randomRange(minValue, maxValue); + if (minValue) result = randomRange(minValue, maxValue); + else result = Math.floor(Math.random() * maxValue) + 1; return msg.say(`You rolled a ${formatNumber(result)}.`); } }; diff --git a/commands/readme/generate-commands.js b/commands/readme/generate-commands.js index c403d2a0..0a92ff5e 100644 --- a/commands/readme/generate-commands.js +++ b/commands/readme/generate-commands.js @@ -32,6 +32,6 @@ module.exports = class GenerateCommandsCommand extends Command { }).join('\n')}`; }); const text = `Total: ${this.client.registry.commands.size}\n${list.join('\n')}`; - return msg.channel.send({ files: [{ attachment: Buffer.from(text), name: 'commands.txt' }] }); + return msg.say({ files: [{ attachment: Buffer.from(text), name: 'commands.txt' }] }); } }; diff --git a/commands/readme/generate-credit.js b/commands/readme/generate-credit.js index 4ac513ae..19a0a49b 100644 --- a/commands/readme/generate-credit.js +++ b/commands/readme/generate-credit.js @@ -47,6 +47,6 @@ module.exports = class GenerateCreditCommand extends Command { if (!cmd.reasonURL) return ` * ${cmd.name} (${cmd.reason})`; return ` * ${cmd.name} (${embedURL(cmd.reason, cmd.reasonURL || '', false)})`; }).join('\n')}`); - return msg.channel.send({ files: [{ attachment: Buffer.from(mapped.join('\n')), name: 'credit.txt' }] }); + return msg.say({ files: [{ attachment: Buffer.from(mapped.join('\n')), name: 'credit.txt' }] }); } }; diff --git a/commands/readme/generate-process-env.js b/commands/readme/generate-process-env.js index 27365ec3..5a027dc8 100644 --- a/commands/readme/generate-process-env.js +++ b/commands/readme/generate-process-env.js @@ -24,6 +24,6 @@ module.exports = class GenerateProcessEnvCommand extends Command { line = line.replace('=', ''); return `${line}="${process.env[line] || ''}"`; }).join('\n'); - return msg.channel.send({ files: [{ attachment: Buffer.from(list), name: 'process.env.txt' }] }); + return msg.say({ files: [{ attachment: Buffer.from(list), name: 'process.env.txt' }] }); } }; diff --git a/package.json b/package.json index 33f7f9da..46d78972 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "xiao", - "version": "113.12.2", + "version": "113.13.0", "description": "Your personal server companion.", "main": "Xiao.js", "scripts": {