Die Roller for Rune Master

This utility is for rolling dice, in particular for Rune Master, though it will work for most dice rolling applications. It supports arbitrary dice rolls, e.g., (1d6)d20 or 1d11^2 with operators +-*/^ and functions d, s, adj, pot, and adjSTR.

Functions

d
indicates a die roll using standard gaming notation. That is, 1d4 indicates the roll of a single four-sided die and 3d6 indicates the the sum of rolling 1d6 three times.
s
indicates a 'scaled die' using the Rune Master convention. It mirrors the 'd' notation so 3s10 indicates the sum of rolling 1d10 three times, with each roll being interpreted for the scale.
adj
interprets the following number as an "adjusted scale" per the Rune Master rules. It takes and returns non-negative integers.
pt
is the inverse of the 'adj' function. This is primarily useful to find the lowest input number that will provide a desired output. pt(adj(11)) returns 10.
adjSTR
rolls the dice for the indicated adjSTR, a Rune Master convention for representing damage potential. Currently it only supports integers which limits its usefulness, but it does allow math. For example, adjSTR(5*2) will roll 1d10.

Interface

The user interface has two panels. The left panel is used to roll sets of dice and the right panel is used to resolve sets of skill rolls.

Dice Sets

There can be one or more sets of dice to be rolled. Each set can be rolled individually, or all sets can be rolled at once. A set of dice consists of one or more rolls of the indicated dice, the result of each roll being shown separately. This could be used, for example, to roll 3d6 ten times and show each result separately.

There are three columns: Number, Dice and Result.

Number
This specifies the number of times to roll the dice in the set. Hitting enter in this field causes that dice set to be evaluated and rolled.
Dice
This specifies the dice to be rolled in the set and actually consists of arbitrary math as outlined previously. For example, (1s20)d(adjSTR(1d5^2)) is a legal specification for a die roll, regardless of how strange and unlikely it is. Hitting enter in this field causes that dice set to be evaluated and rolled.
Result
This uneditable field is where the result of a die roll is displayed.

There are three buttons: Roll All, Add Set and Del Set.

Roll All
Rolls all dice sets
Add Set
Adds another set of dice to the bottom
Del Set
Removes the last set of dice

Skill Sets

There can be one or more sets of skills to be rolled. Each set can be rolled individually, or all sets can be rolled at once. A set of skill rolls consists of seven columns: Number, Score, Difficulty, adj, Chance, Roll and Result.

Number
The number of times the indicated skill roll should be resolved with each result being displayed separately
Score
The skill score being used. This supports arbitrary math as for the dice field. Typically this would be the skill score plus bonuses, as in 12+3+6, but it is completely arbitrary and 3d10 is a legal skill score entry.
Difficulty
The difficulty score being used. This supports arbitrary math and is typically the base difficulty plus penalties, as in 13+5, but it is completely arbitrary and 1d10^2 is a legal difficulty entry.
adj
This is the percentage adjustment to apply to the final percent chance of success. As with the others it allows arbitrary math.
Chance
This is the percent chance of success as calculated from the score, difficulty and percent adjustment. It is an uneditable field.
Roll
This is always a roll of 1d100. However, it is an editable field and the topmost entry in a set can be overridden using arbitrary math to generate any value. Note that only values 1 through 100 will produce valid results. Overriding the roll is primarily useful if the actual die roll is made separately.
Result
This is the interpretation of the roll given the calculated chance of success and is an uneditable field. Currently double criticals and the like are indicated by a trailing digit rather than the appropriate superscript.

There are three buttons: Roll All, Add Set and Del Set.

Roll All
Rolls all skill sets
Add Set
Adds another set of skill rolls to the bottom
Del Set
Removes the last set of skill rolls