Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

L5r 4e dice Reference

Ok, so I am trying to set a macro for a roll using d10's. I want to roll 6 exploding d10's, and keep the best three. so i have this a "/roll 6d10!!k3", which works fine. When trying to add an element of re-rerolling 1's, can i incorporate it in the same roll with "/roll 6d10!!r1k3"? It rolls, but it doesnt calculate correctly, it often greys out higher numbers when totaling... Is there a way to fix it where it will re-roll one's only one time? and make it calculate the highest possible total?
1394043368

Edited 1394043426
Rerolling 1s in L5r have to be handled manually. <a href="https://app.roll20.net/forum/post/98021/dice-rolle" rel="nofollow">https://app.roll20.net/forum/post/98021/dice-rolle</a>...
1394093185
Konrad J.
Pro
API Scripter
TS said: Ok, so I am trying to set a macro for a roll using d10's. I want to roll 6 exploding d10's, and keep the best three. so i have this a "/roll 6d10!!k3", which works fine. When trying to add an element of re-rerolling 1's, can i incorporate it in the same roll with "/roll 6d10!!r1k3"? It rolls, but it doesnt calculate correctly, it often greys out higher numbers when totaling... Is there a way to fix it where it will re-roll one's only one time? and make it calculate the highest possible total? Can you point me in the direction of the dice mechanics explained somewhere? I had a quick look on the internet and only found the roll and keep explained, but couldn't find the 1's rerolled mentioned anywhere? What you explained above, is that the whole mechanics? I could probably make a script to do this for you, but you would need to be mentor. :(
1394093872
Konrad J.
Pro
API Scripter
I also noticed mention that sometime you might want to keep the lower values if you intentionally wanted to fail the roll. Does this happen a lot in the game? Would you like to see all the rolls as well as the result usually? Or just the total? Could make it an option.
The re-roll of 1's comes from an Emphasis, basically just a specialization for a skill.
1394100772
Konrad J.
Pro
API Scripter
I wrote up a very simple version of what could be possible. If reroll of 1's don't always happen then I will have to rework the script so you can give it the option. This is to show you what can be done with scripts fairly easily. Later I could make it have fancy output and more options if needed. Or someone else could improve it even more like being able to take the rolls and pass them to Roll20 properly so you get a consistant look and feel to all the rolls, but thats beyond me at the moment. I'll try and add the option to turn reroll of 1's on/off tomorrow. Gotta go to bed now. :) I'll add who rolled it as well of course. This was just a quick test. // Legend of the Five Rings 4e Dice Mechanic // // copyright pug games 2014 // please feel free to use this script, change it, add to it in any way you feel // Script created by Roll20 user Konrad J. var fwCONSTANTS = { COMMANDSEPERATOR : " ", GMIDS : ["all"], //put your Roll20 UserID# here "77736" l5r4eSCRIPTCOMMAND : "!!" }; var fwGlobal = { logToConsoleOn : false }; function fwLtC(logMsg){ if (fwGlobal.logToConsoleOn === true) { log(logMsg); } } function fwIsGM(playerid) { var player = getObj('player', playerid); var d20userid = player.get('_d20userid'); var IsGM = false; if (fwCONSTANTS.GMIDS.indexOf(d20userid) &gt;= 0 || fwCONSTANTS.GMIDS.indexOf("all") &gt;= 0) { IsGM = true; } fwLtC("Is GM: " + IsGM); return IsGM; } on("chat:message", function(msg) { // returns the chat window command entered if (msg.type != 'api') { return; } fwLtC("Chat Msg: " + msg); var chatCommand = msg.content; var script = chatCommand.substr(0, chatCommand.indexOf(fwCONSTANTS.COMMANDSEPERATOR)); chatCommand = chatCommand.replace(script + fwCONSTANTS.COMMANDSEPERATOR, ""); fwLtC("Script: " + script); fwLtC("Chat Command: " + chatCommand); switch(script) { case fwCONSTANTS.l5r4eSCRIPTCOMMAND: if (fwIsGM(msg.playerid) === true) { processL5r4eDice(chatCommand); } break; } }); function processL5r4eDice(chatCommand){ var diceToRoll = { diceQty : 0, diceKeep : 0 }; var x = chatCommand.indexOf("k"); var diceRolled = new Array(); var i = 0; var diceResult = 0; var diceRolledFull = ""; if (x &gt;= 0) { diceToRoll.diceQty = parseInt(chatCommand.slice(0,x),10); diceToRoll.diceKeep = parseInt(chatCommand.slice(x+1),10); fwLtC(diceToRoll.diceQty + "," + diceToRoll.diceKeep); } fwLtC("DiceQty", diceToRoll.diceQty.toString()); fwLtC("DiceKeep", diceToRoll.diceKeep.toString()); for (i=0, diceToRoll.diceQty;i&lt;diceToRoll.diceQty;i++){ diceRolled[i] = randomInteger(10); diceRolledFull = diceRolledFull + diceRolled[i].toString(); if (diceRolled[i] === 1) { diceRolled[i] = randomInteger(10); diceRolledFull = diceRolledFull + "(" + diceRolled[i].toString() + ")"; } if (i &lt; (diceToRoll.diceQty - 1)) { diceRolledFull = diceRolledFull + ","; } } diceRolled.sort(function(a,b){return b-a}); fwLtC(diceRolled.toString()); for (i=0, diceToRoll.diceKeep;i&lt;diceToRoll.diceKeep;i++){ diceResult = diceResult + diceRolled[i]; } sendChat(chatCommand, diceRolledFull + " = " + diceResult.toString()); }
For references, TS; you would need to have mentor level access in order to use the API script.
Thanks, doing it manually was fine by me