View Full Version : Creating a exploding dice variant?
Boldtaar
April 27th, 2020, 18:18
Hi,
I thinking about using Fantasy Ground Unity and coreRPG for creating EonIII (old Swedish RPG) campaign.
The game uses a d6 unlimited dice system it similar to a exploding but not the same. For every 6 on a d6 you reroll that dice with 2d6
Is it possible for me to create that dice in Fantasy Ground?
LordEntrails
April 27th, 2020, 18:24
Yes. See here; https://fantasygroundsunity.atlassian.net/wiki/spaces/FGU/pages/688330/Rolling+Dice#Supported-Dice-Expressions
Boldtaar
April 27th, 2020, 18:44
The closed thing I find on that page is exploding dice. Example /die 3d6e
But that doesn't reroll a 6 with 2d6 it just adds another d6
I need to combine a reroll and a exploding dice.
I tried "/die 3d6re" and "/die 3d6er" but I doesn't work
LordEntrails
April 27th, 2020, 20:59
Oh, well I'm sure it could be coded. MoreCore ruleset probably has the most complex dice coding capabilities so I would direct you to look into that. https://www.fantasygrounds.com/forums/showthread.php?34860-MoreCore-Ruleset
Gaglug
April 27th, 2020, 21:13
Morecore has an exploding die string, just use "edie 3d6" or whatever you want to roll. I tested it, verified it rolls the extra dice and adds the second value to the first.
A quick glance into the Morecore set and I see that there's a custom_explode script, you could probably take a look in there if you wanted to create similar functionality elsewhere.
damned
April 28th, 2020, 08:04
Use /explode over /edie
Boldtaar
April 29th, 2020, 13:40
Use /explode over /edie
That just the same as a normal exploding die. Like I said I need to reroll a 6 with 2d6 and NOT keep the 6.
In the RGP it is called a ObD6
Ob= obegränsad (Swedish for unlimited)
Exampel: roll ob3d6 = 4 3 6 = 4 3 2d6 = 4 3 6 5 = 4 3 2d6 5 = 4 3 3 1 5 = 16
here is a roll20 script for the dice
on("chat:message", function(msg) {
if (msg.type != "api") return;
var message = msg.content;
var command = message.split(" ")[0];
var numrolls = parseInt(message.split(" ")[1]);
var outroll = "ob" + message.split(" ")[1] + ": ";
if(message.search(/\+/g)!=-1){
var plus = parseInt(message.split("+")[1]);
var times = 0
}
else if(message.search(/\*/g)!=-1){
var times = parseInt(message.split("*")[1]);
var plus = 0
}
else{
var plus = 0
var times = 0
}
if (command == "!ob") {
var count = 0;
var total = 0;
var roll = 0;
var first = true;
var output = "" + outroll + "" ;
while (count < numrolls) {
roll = randomInteger(6);
if (roll === 6) {
if(first == true){
output = output + "[6]"
first = false;
numrolls = numrolls + 2;
}
else{
output = output + ",[6]"
numrolls = numrolls + 2;
}
} else {
total += roll;
if(first == true){
output = output + roll;
first = false;
}
else{
output = output + "," + roll;
}
}
count++;
}
if(plus > 0 && times == 0){
sendChat(msg.who, output + " = " + total + "+" + plus + " Total: " + (total+plus) + "");
}
else if(plus == 0 && times > 0){
sendChat(msg.who, output + " = " + total + "*" + times + " Total: " + (total*times) + "");
}
else{
sendChat(msg.who, output + "Total: " + (total) + "");
}
}
});
Valatar
April 29th, 2020, 16:30
I think that's the first time I've ever seen a die explode that doesn't include the original die in it somehow. I expect you're going to have to do some custom script to make that work, since I doubt any pre-written dice rules will take that 'drop the first die' bit into account.
Powered by vBulletin® Version 4.2.1 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.