# How do I calculate my probability of success in Vampire the Masquerade?

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:

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:

           Difficulty
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.

• Also discussed here: forums.xkcd.com/viewtopic.php?f=3&t=44359 – Ashterothi Mar 2 '12 at 21:27
• Note that the linked wiki article is dead (which is a main reason that link-only answers are discouraged on Stack Exchange; when the link dies, the answer becomes useless/devoid of content). – V2Blast Feb 24 at 10:25

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:

• Seems like this answer messed up the nWoD with 8+ being a success and oWoD, where difficulty changes and default difficulty is 6. – 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.

The definition of the roll given in Pureferret's answer is not the classic definition of an Old WoD roll; it contains a reroll on 10's (i.e. 10 gives a success and another rolled d10), which Chevy correctly points out.

I would however polish the definition given by Chevy by removing the last unreachable line, as follows:

function: owod N:n tn TN:n {
if N = 1 { result: -1 }
if N < TN { result: 0 }
result: 1
}

OWOD: [owod d10 tn 6]

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


Also, changed the target number to 6 for convenience (just change it as desired), and grouped up "negative results" (more 1:s than successes) as 0 successes. We don't distinguish botches from failures here, but that's perhaps acceptable since the focus is on the probability of succeeding.

Here's a link to the described setup on AnyDice: https://anydice.com/program/1a0e9

• Welcome to RPG.SE! Take the tour if you haven't already and see the help center or ask us here in the comments (use @ to ping someone) if you need more guidance. Good Luck and Happy Gaming! – Someone_Evil Feb 23 at 12:14