diff --git a/NarrativesUnlimitedD10/OpenEndedD10.js b/NarrativesUnlimitedD10/OpenEndedD10.js new file mode 100644 index 0000000000..f21c92ebc9 --- /dev/null +++ b/NarrativesUnlimitedD10/OpenEndedD10.js @@ -0,0 +1,40 @@ +/* Openended D10 roll script +This script attempts to check for any openended rolls and provide a calculated openended roll. +*/ +on("chat:message", function(msg) { + if (msg.type == 'rollresult' || msg.type == 'gmrollresult') { + var content = JSON.parse(msg.content); + var userwho = msg.who; + var total = content.total -10; + log(total); + if (content.rolls[0].results[0]['v'] == 10) { + sendChat(msg.who,'Open Ended Roll...') + rerolls = 0; + finalroll = 0; + while (rerolls < 4 && finalroll == 0) { + rerolls++; + roll = randomInteger(10); + if (roll !== 10){ + finalroll = roll; + } + } + sendChat(msg.who, '' + rerolls + ' aditional rolls
final roll of ' + finalroll +'

') + if (isEven(finalroll)) { + finalresult = 10 + (rerolls * 10) + finalroll; + log(finalresult); + } + else + { + finalresult = 0 - ((rerolls -1) *10) - finalroll; + } + + sendChat(userwho, 'The roll had a value of ' + finalresult + '') + overall = finalresult + total; + sendChat(userwho, 'for a net roll of ' + overall + '') + + } + } + function isEven(n) { + return n == parseFloat(n)? !(n%2) : void 0; + } +});