Nice! With the fix to the diceroller, my homemade Anydice program ( http://anydice.com/program/4e6d ) now matches the averaged results of the Monte Carlo simulation. Which means the code is (most likely) right !
I made it to predict the chance to BE hit by an enemy [Nemesis] at a given range with different defense values, whether or not I activate the Sense Power defensive "commit", or when I use Dodge/Defensive Stance/Sidestep. It also calculates the odds of the enemy having advantages (and thus doing bad stuff to YOU), versus you canceling those with Threats.
All in all, a very good program to get an idea of how likely the Force and Destiny Reflect power is to activate (since it requires 3 Threats or 1 Despair from an opponent's dicepool)
NPROF: 3 \Nemesis Proficiency Dice\
NABIL: 2 \Nemesis Ability Dice\
MYDEF: 5 \Character's Defense Score\
MYSENSE: 1 \Two Difficulty Dice Upgrades from Sense Force Power\
MYTALENT: 1 \Any Talent that Upgrades Difficulty at least once\
MISDIRECT: 0 \Misdirect's committed dice automatic threats on enemies\
output (NABILd{0, 1, 1, 2, 0, 0, 1, 0}+NPROFd{0, 1, 1, 2, 2, 0, 1, 1, 1, 0, 0, 1})-(MYDEFd{0, 0, 1, 1, 0, 0}+MYSENSEd{0, 1, 1, 2, 2, 0, 0, 1, 1, 0, 0, 1}+MYTALENTd{0, 1, 2, 0, 0, 0, 0, 1}) named "Success: Nemesis versus high defense character"
output (NABILd{0, 0, 0, 0, 1, 1, 1, 2}+NPROFd{0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 0})-(MYDEFd{0, 0, 0, 0, 1, 1}+MYSENSEd{0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 0}+MYTALENTd{0, 0, 0, 1, 1, 1, 2, 1}+MISDIRECT) named "Advantage: Nemesis versus high defense character"
output NPROFd{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1} named "Nemesis Proficiency Triumphs"
output MYSENSEd{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1} named "The Despairs I cause to my Nemesis"
\output NPROFd{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1} named "Nemesis Proficiency Triumphs"\
\output -2d{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1} named "Nemesis Challenge Despair"\
\output -8d{0, 0, 1, 1, 0, 0} named "Eight Setback dice"\
\For reference:
output Xd{0, 0, 0, 0, 1, 1} named "Boost Successes"
output Xd{0, 0, 1, 1, 0, 0} named "Setback Failures"
output Xd{0, 1, 1, 2, 0, 0, 1, 0} named "Ability Successes"
output Xd{0, 1, 2, 0, 0, 0, 0, 1} named "Difficulty Failures"
output Xd{0, 1, 1, 2, 2, 0, 1, 1, 1, 0, 0, 1} named "Proficiency Successes"
output Xd{0, 1, 1, 2, 2, 0, 0, 1, 1, 0, 0, 1} named "Challenge Failures"
output Xd{0, 0, 2, 1, 1, 0} named "Boost Advantages"
output Xd{0, 0, 0, 0, 1, 1} named "Setback Threats"
output Xd{0, 0, 0, 0, 1, 1, 1, 2} named "Ability Advantages"
output Xd{0, 0, 0, 1, 1, 1, 2, 1} named "Difficulty Threats"
output Xd{0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 0} named "Proficiency Advantages"
output Xd{0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 0} named "Challenge Threats"\