Skip to content

Instantly share code, notes, and snippets.

@sma
Created October 24, 2009 12:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sma/217505 to your computer and use it in GitHub Desktop.
Save sma/217505 to your computer and use it in GitHub Desktop.
compute probabilities of Savage Worlds deaths
import random
def d(n):
r = random.randint(1, n)
return r if r < n else r + d(n)
def dw(n):
return max(d(n), d(6))
def old_rules(n):
for vigor in 4, 6, 8, 10, 12:
dead = 0
for i in xrange(n):
while True:
r = dw(vigor) - 3
if r <= 1:
dead += 1
break
if r >= 4:
break
print vigor, dead * 100 / n
def new_rules(spirit, n):
for vigor in 4, 6, 8, 10, 12:
dead = 0
for i in xrange(n):
if dw(spirit) - 3 < 4 or dw(vigor) - 3 < 4:
dead += 1
print vigor, dead * 100 / n
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment