How can I calculate my chance of success given my ability + skill vs a difficulty? How is this complicated when the difficulty is rolled as well?


I would recommend using anydice.com. The creator of anydice.com has written a program on that site to calculate success probabilities for NWoD, but the dice mechanics are very similar and shouldn't need much tweaking. Here is the post. It should give you a rough idea.


I tweeted the creater of Anydice.com and he suggested this:

function: owod N:n tn TN:n {
 if N = 1 { result: -1 }
 if N < TN { result: 0 }
 if N < 10 { result: 1 }
 result: 1 + [owod d10 tn TN]

OWOD: [owod d10 tn 7]

loop N over {1..10} {
 output [highest of [lowest of NdOWOD and 10] and -4] named "[N]d"

Which gives this sort of graph:

enter image description here

  • 2
    \$\begingroup\$ I too recommend anydice.com if you actually have the time to use it; if you have players who are too lazy it's not going to work, unfortunately. \$\endgroup\$ – Kyle Willey Mar 2 '12 at 22:33
  • \$\begingroup\$ What's to use on a regular basis? The OP only wants it for some probabilities. \$\endgroup\$ – Pureferret Mar 3 '12 at 1:35
  • \$\begingroup\$ True. It also includes a dice roller, but it's kinda hard to write from scratch. \$\endgroup\$ – Kyle Willey Mar 3 '12 at 2:24
  • \$\begingroup\$ I think the "At least" graph option would be better for this answer. After all, he doesn't care about the amount of successes, only his probability of success... so he doesn't care the probability of rolling 1 success, he cares about the probability of rolling at least 1 (i.e., if the roll is successful or not). It's also not very cool that it is reusing colors for 9 and 10 that may make one think that the system is broken at first glance, but you can't do anything about it :P \$\endgroup\$ – Yandros Mar 14 '12 at 10:22
  • 1
    \$\begingroup\$ @Pureferret Awesome :D \$\endgroup\$ – Yandros Mar 16 '12 at 12:34

Using the AnyDice roller as in PureFerret's answer I've come up with these rules of thumb. You can estimate that in order to get one success it takes, on average,:

2 dice to get 1 success vs difficulty 2-5
3 dice to get 1 success vs difficulty 6
4 dice to get 1 success vs difficulty 7 
5 dice to get 1 success vs difficulty 8
10 dice to get 1 success vs difficulty 9

For multiple successes it's not linear:

Successes   4   5   6   7   8   9
1          2d   2d  3d  4d  5d  10d
2          3d   4d  5d  6d  9d  
3          5d   6d  7d  9d  14d 
4          6d   8d  9d  13d     
5          8d   10d 12d

Note that deviation is approximately +/- 1 success up to 6d and +/- 2 successes for more dice


This is a question that many WoD players have faced and tackled. Here is a good start.

Difficulty shouldn't be rolled, but set at a number (such as 6) and opposing rolls compare successes to determine victor.


A fast and dirty (and not terribly precise) method I recommend for my players of both Shadowrun and V20 is as follows:

Take what percentage of the dice is less than the target number (I.e. 4 on a six-sided die would have a 50% success chance, 6 on a 10-sided die has 50% chance).

For every die past that add half of the chance of the previous die; 1 d6 versus 4 is 50%, 2 is 75%, 3 is 87.5%, so on and so forth, and the same progress applies to d10 on oWoD dice. I'm not familiar with nWoD's system, so I can't help, but I'm assuming if you're playing Masquerade you're using the old system. This doesn't apply so much to V20 since I play with fumbles, so there needs to be a calculation (10% for each die past the first reduced similarly to the normal success chance seems a good rule). This allows them to quickly guess more complex chances, like if the target number were increased (40%; 50%; 55%). It breaks down rather quickly as you throw more dice, however, but usually isn't such a big deal, though it does work a lot better for Shadowrun than it does for V20.


Here is what I came up with. Chance of 1 success on X dice:

 1 die  2 dice  3 dice  4 dice  5 dice  6 dice  7 dice  8 dice  9 dice  10 dice
30.00%  51.00%  65.70%  75.99%  83.19%  88.24%  91.76%  94.24%  95.96%  97.18%

Someone can check my work in this spreadsheet:


  • 1
    \$\begingroup\$ Seems like this answer messed up the nWoD with 8+ being a success and oWoD, where difficulty changes and default difficulty is 6. \$\endgroup\$ – Baskakov_Dmitriy Jan 12 '17 at 4:47

I wholeheartedly agree with Pureferret about AnyDice for calculating success probabilities. A TLDR is at the bottom.

Thanks again to the creator of AnyDice for giving out a sample function for oWoD. However, there is a flaw in the function: It does not account for rolling a 10, as the line if N < 10 only includes rolls up to 9. There are two ways to fix this:

  1. Replace if N < 10 { result: 1 } with if N <= 10 { result: 1 }, or if you are a bit OCD like me...
  2. Replace if N < 10 { result: 1 } with if N >= TN { result: 1 }

Below is the function as I mainly use it - link. For those interested, I have added some comments as to what is happening within the function and noted places where changes can be made for different needs.

function: owod N:n tn TN:n {    
 if N = 1 { result: -1 }         Defines what happens on a roll of 1, a potential botch.  
 if N < TN { result: 0 }         Defines what happens on a failure, a roll over 1 but less
                                   than the target/difficulty number.  
 if N >= TN { result: 1 }        Defines what happens on a success, a roll equal to the 
                                   target/difficulty number or higher.  
 result: 1 + [owod d10 tn TN]

OWOD: [owod d10 tn 6]            Assigns the target/difficulty number, a 6 in this instance.
                                 Change as needed. 

loop N over {1..10} {            Defines the range of the dice pool, here it is 1d10 to 
                                 10d10.  Change as needed. The range can be replaced with 
                                 a single number. Examples of each:
                                   1. loop N over {3..7} - a dice pool range of 3d10 to 7d10
                                   2. loop N over {8}  - a single dice pool of 8d10

 output [highest of [lowest of NdOWOD and 10] and -4] named "[N]d"
                                 Defines the range of rolls, here it is a botch of 4 '1's 
                                 with no successes (-4), all the way up to 10 successes. 
                                 Change as needed. I recommend keeping the number of
                                 successes the same as the max dice pool used in the line
                                 above, as this will display the probability of the entire 
                                 dice pool having succeeded. In 'Graph' view, this
                                 represents the horizontal axis.

I use both Table and Graph View options, as one gives specifics (table) and one gives a more simplified view (graph). A large range of dice pools is certainly easier to see in Graph. As Yandros mentioned, the At Least Data option is what will display the percentage chance of success(es).

TLDR; Your best bet for calculating success probabilities is to use AnyDice, but there is an error in the sample function. Replace if N < 10 { result: 1 } with if N <= 10 { result: 1 }. Also, the last three lines of the function can be tailored to specific preferences.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.