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

[REQUEST] EON 4 Diceroller.

Our group is playing a swedish Fantasy roleplaying game called EON IV that uses a different kind of dicepool mechanic, and as my own skills are lacking i'm hoping for some help. In this system all skills and abilities have it's own dicepool of d6's with some special features. For example "Climbing 3d6+1" or "Sword 5d6+3". This is rolled against a static difficulty or someone elses roll with the highest the winner. The kicker are these rules. Every dice that rolls a "6" gets replaced by two new d6's. Example: a roll of 3d6 comes out at 3,4,6. The 6 is removed and the player rolls two extra d6's and the result adds to the total. If any of the new dice rolls a 6 the process is repeated until no more sixes are rolled. A dicepool may also have a static bonus that adds to the roll, for example the +3 in 3d6+3. However when the bonus reaches +4 it is instead converted to another d6. This is intended to give the usual d6 dicepool more granularity as you level up your skills. For every five points above the difficulty/opposing roll you gain one point of advantage, say you roll a total of 25 and the opponent rolls 10 you then have three points of advantage to spend on some fun stuff. Basic script I have had some help with a basic Api script that we use, (can be found here on  googledocs . Tell me if i should put it here), but we really would like something more "fancy". The wishlist Primary: Make the output cleaner, such as only showing the pool rolled and the total, with the seperate dice only showing if you mouseover the result as ive seen in other nicer dicerollers. Secondary: Also if it's possible to do versus rolls like 3d6+2 vs 4d6, or 3d6+3 vs 20, showing the result along with the calculated number of advantage points. Optional: Make use of the roll20 3d dice when rolling, if at all possible. Optional: Show the rollers/players name, and perhaps what ability was rolled for.
1442237290
The Aaron
Pro
API Scripter
This is definitely possible and I'll be happy to help you with it at some point in the near future. &nbsp;Right now, I'm swamped. &nbsp;=( I've got several different dice mechanics scripts that you might be able to take a look at to get closer to your ideal: ZombieDice:&nbsp; <a href="https://github.com/shdwjk/Roll20API/blob/master/Zo" rel="nofollow">https://github.com/shdwjk/Roll20API/blob/master/Zo</a>... CthulhuTechDice:&nbsp; <a href="https://github.com/shdwjk/Roll20API/blob/master/Ct" rel="nofollow">https://github.com/shdwjk/Roll20API/blob/master/Ct</a>... BashDice:&nbsp; <a href="https://github.com/shdwjk/Roll20API/blob/master/Ba" rel="nofollow">https://github.com/shdwjk/Roll20API/blob/master/Ba</a>... WildDice:&nbsp; <a href="https://github.com/shdwjk/Roll20API/blob/master/Wi" rel="nofollow">https://github.com/shdwjk/Roll20API/blob/master/Wi</a>...
Thanks The Aaron, much appreciated. Since we already have a basic roller there is no real hurry.&nbsp; As i continued to look into this i noticed most of what we want seem to be related to roll templates perhaps. Anyway i think what the group wanted was something like this. It shows who is rolling for what, the dicepool being used and, hopefully, the difficulty/opponent's roll and the number of advantage points you get. The api script we use right now looks like this. on("chat:message", function(msg) { &nbsp;&nbsp;&nbsp;if (msg.type != "api") return; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;var message = msg.content; &nbsp;&nbsp;&nbsp;var command = message.split(" ")[0]; &nbsp;&nbsp;&nbsp;var numrolls = parseInt(message.split(" ")[1]); &nbsp;&nbsp;&nbsp;var outroll = "ob" + message.split(" ")[1] + ": "; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;if(message.search(/\+/g)!=-1){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var plus = parseInt(message.split("+")[1]); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var times = 0 &nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;else if(message.search(/\*/g)!=-1){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var times = parseInt(message.split("*")[1]); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var plus = 0 &nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;else{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var plus = 0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var times = 0 &nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;if (command == "!ob") { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var count = 0; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var total = 0; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var roll = 0; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var first = true; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var output = "" + outroll + "" ; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (count &lt; numrolls) { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;roll = randomInteger(6); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (roll === 6) { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(first == true){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output = output + "[6]" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;first = false; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;numrolls = numrolls + 2; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output = output + ",[6]" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;numrolls = numrolls + 2; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;total += roll; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(first == true){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output = output + roll; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;first = false; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output = output + "," + roll; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count++; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(plus &gt; 0 && times == 0){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sendChat(msg.who, output + " = " + total + "+" + plus + " Total: " + (total+plus) + ""); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else if(plus == 0 && times &gt; 0){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sendChat(msg.who, output + " = " + total + "*" + times + " Total: " + (total*times) + ""); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sendChat(msg.who, output + " Total: " + (total) + ""); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;} }); This does the work, but looks rather bad in chat, especially with many rolls after one another, do not handle difficulties or opponents nor does it calculate advantage points.
1442306587

Edited 1442306759
That looks a lot like my code. Did you get it off Rollspel.nu? I wrote a script a while back that looks a lot like that. It was a quick hack and I have since improved on it. I think it can be found in a thread on Rollspel.nu I will have a look.
Erzrig said: That looks a lot like my code. Did you get it off Rollspel.nu? I wrote a script a while back that looks a lot like that. It was a quick hack and I have since improved on it. I think it can be found in a thread on Rollspel.nu I will have a look. If you are Spider on Rollspel.nu it is indeed that script we have been using, and still use since none in the group have any coding skills to speak of. What are the improvements that you speak of if i may ask?
Indeed I am Spider on Rollspel.nu. Its a quick hack of a scrip to be honest. The changes I have made is to make it fulfill all functions in Eon IV and work better in general. I will see if I can dig up the script for you.
1442397735

Edited 1442405357
Oden
KS Backer
Thanks.&nbsp;If you can find it that would be very useful and appreciated. It would probably also be faster than doing it from scratch. Do you have any picture of how it looks in action? Edit: Also, while we are at it. Have you made any changes to the character sheet that you posted?&nbsp;
Reactivating this request as i can't seem to contact Erzrig. Anyway, the request is the same as before with a cleaner look, showing who rolled what and the results. Any help would be appreciated. //Oden.