Given that you're pro, you could also use an API script... Here's an example of one I cobbled together for this type of thing... var Fright = Fright || (function() { 'use strict'; var version = 0.1, HandleInput = function(msg) { var args,frmod,text='<div style="padding:1px 3px;border: 1px solid #8B4513;background: #460701; color: white; font-size: 80%;">'; var fright_result,fright_total; var fright_table = [ 'List', 'Of', 'Effects', 'as', 'many', 'as you', 'like' ]; if (msg.type !== "api") { return; } args = msg.content.split(" "); switch(args[0]) { case '!fright': if(args.length > 2 || args.length === 2 && isNaN(args[1])) { sendChat(msg.who,'Too many or wrong type of input. !fright should have at most one integer.'); break; } else { frmod = Number(args[1]) || 0; //fright_result = Math.floor((Math.random() * 20) + 1); fright_result = randomInteger(20); //Generates a random number between 1 and 20 fright_total = fright_result+frmod; //Takes the random number adds the optional modifier to it text += '<p><strong>Die Result</strong>: ' +fright_result+'</p><p><strong>Modifier</strong>: ' +frmod+ '</p><p><strong>Result</strong>: ' +fright_total +'</p><p>'; //Get the Table Result if (fright_total<5) { text += fright_table[0]; } else if (fright_total<9) { text += fright_table[1]; } else if (fright_total<13) { text += fright_table[2]; } else if (fright_total<17) { text += fright_table[3]; } else if (fright_total<19) { text += fright_table[4]; } else if (fright_total<21) { text += fright_table[5]; } else { text += fright_table[6]; } text += '</p></div>' //sendChat(msg.who,text); sendChat(msg.who+"- Fright Table",text); break; } } }, RegisterEventHandlers = function() { on('chat:message', HandleInput); }; return { RegisterEventHandlers: RegisterEventHandlers }; }()); on("ready",function() { 'use strict'; Fright.RegisterEventHandlers(); }); A couple ways to call that would be: !fright !fright 2 !fright -3 The first example is a straight up roll; the second adds two to the result, giving a range of 3-22; the third subtracts 3, giving a range of -2 to 17. The modifier must always be an integer, though and it can take only one modifier in the call.