To get average Mean Margin of Favor (favoring which side), you can calculate it quickly using:
( (Chance to succeed at BS>=1) + (Chance to succeed at BS>=0)) /2.
So, a value of 50% favors neither side. (even though this may favor a particular side in certain actual game contexts.)
Would probably add that as well into the calculator. But strategically, most characters would want to adopt the necessary dice to deal a positively safe/ideal BS (bonus success/margin of success), depending on what the character is trying to achieve.
Also (slightly) useful to add would be Chance for Tie Occuring:
= (Chance to succeed at BS>=1) - (Chance to succeed at BS>=0).
Had to setup a calculator like this to help in developing an AI bot for TROS/TROSLikes.
Regarding TROS/TROSlikes, I thought exploding dice is only used conditionally when rolling against TNs greater than 10 in order to stack over it's current value ? Ie. If i roll a 10, i won't get an extra dice to roll, i just re-roll back the same dice (only if necessary) to stack an additional value over it existing tenth in the hope of meeting the necessary TN for that dice. Thus, to get the probability of a single dice roll's success given a TN, it is simply a 0(1) method that can be used.
Code: Select all
public static inline function getTNSuccessProbForDie(tn:Int):Float {
return tn < 11 ? (10-tn+1) / 10 : ( 1- ( tn - Math.floor((tn)/10)*10 ) / 10 ) * Math.pow(0.1, Math.floor(tn/10) );
}
I haven't really validated this fully to see it's entirely true, but I did some tests particularly for TNs greater than 10, 20+s, 30s, etc. and the results are correct.