var BasePlugin = require('./base.js') class Dice extends BasePlugin { constructor (config) { super(config) this.name = 'Dice' } help () { // | Command | Description return '.heita | .heitä 1d4 Heitä noppaa. Esim. 1d4' } test (input) { if (input.match(/^\.heit(a|ä) ([0-9]+)d([0-9]+)( ([ \w])*)*$/i)) { return true } if (input.match(/^\.heit(a|ä) voltti homo$/i)) { return true } return false } getDiceString (numThrows, sides) { var total = 0 var totalThrows = [] numThrows = Number(numThrows) sides = Number(sides) if (numThrows === 0 || sides === 0) { return 'Tyhjää ei voi heittää' } if (numThrows > 100) { return 'Ei jaksa...' } for (var a = 0; a < numThrows; a++) { var t = Math.floor(Math.random() * sides) + 1 totalThrows.push(t) total += t } var resultString = '' totalThrows.forEach(function (value) { resultString += value + ', ' }) resultString = resultString.substring(0, resultString.length - 2) resultString += ' (yhteensä: ' + total + '. ' + (total / numThrows).toFixed(2) + ' per heitto)' return resultString } result (input) { // Different cases let res = null res = input.match(/^\.heit(a|ä) ([0-9]+)d([0-9]+)( ([ \w])*)*$/i) if (res !== null) { var th = this.getDiceString(res[2], res[3]) return 'Heitettiin: ' + th } if (input.match(/^\.heit(a|ä) voltti homo$/i)) { return 'steam://run/1250' } } } module.exports = Dice