diff --git a/assets/border.afdesign b/assets/overlays/border.afdesign similarity index 100% rename from assets/border.afdesign rename to assets/overlays/border.afdesign diff --git a/assets/border.svg b/assets/overlays/border.svg similarity index 100% rename from assets/border.svg rename to assets/overlays/border.svg diff --git a/commands/drop.js b/commands/drop.js index 5201fe4..f16a398 100644 --- a/commands/drop.js +++ b/commands/drop.js @@ -28,11 +28,11 @@ module.exports = { //get number of characters in database const characterId = Math.floor(Math.random() * await CardUtils.getCharacterCount()) + 1; console.log(`characterId: ${characterId}`); - + //random number between 1 and 6 let newCard = await Card.create({ characterId: characterId, identifier: CardUtils.generateIdentifier(), - quality: 1, + quality: Math.floor(Math.random() * 6) + 1, printNr: await CardUtils.getNextPrintNumber(characterId), }); diff --git a/util/rendering.js b/util/rendering.js index f7bdfcb..4323baa 100644 --- a/util/rendering.js +++ b/util/rendering.js @@ -3,6 +3,15 @@ const crypto = require('crypto'); const fs = require('fs'); const { Character } = require('../models'); +const QualityColors = { + 1: {r: 0, g: 0, b: 0}, //bad + 2: {r: 150, g: 150, b: 50}, //ok + 3: {r: 0, g: 255, b: 0}, //good + 4: {r: 0, g: 255, b: 255}, //great + 5: {r: 0, g: 0, b: 255}, //epic + 6: {r: 255, g: 255, b: 0} //shiny +} + //TODO: Handle missing images module.exports = { name: "Rendering", @@ -48,7 +57,7 @@ module.exports = { return './assets/cards/card_cover.png'; } - let hash = crypto.createHash('md5').update(character.imageIdentifier).digest('hex'); + let hash = crypto.createHash('md5').update(character.imageIdentifier + card.quality).digest('hex'); //TODO: Add switch to turn off or bypass caching if (fs.existsSync(`./assets/image_cache/${hash}.gif`)) { return `./assets/image_cache/${hash}.gif`; @@ -56,7 +65,7 @@ module.exports = { console.log(`Rendering card ${hash}`); - let border = await sharp(`./assets/border.svg`).toBuffer(); + let border = await sharp(`./assets/overlays/border.svg`).tint(QualityColors[card.quality]).toBuffer(); //BUGBUG: Custom fonts not loading let label = Buffer.from(`