gdritter repos dogs / master scripts / npcs.py
master

Tree @master (Download .tar.gz)

npcs.py @masterraw · history · blame

#!/usr/bin/env python3

import random

def d(n):
    return random.randint(1, n)

STAT_OUTCOMES = [
    [4,3,2,2],
    [4,3,3,2],
    [4,4,3,2],
    [5,4,3,2],
    [5,5,3,2],
    [4,4,4,3],
    [5,4,4,3],
    [5,5,4,3],
    [6,5,4,3],
    [6,5,5,4],
]

STATS = ['Acuity', 'Body', 'Heart', 'Will']

TRAIT_OUTCOMES = [
    '2d4',
    'd4',
    'd6',
    'd8',
    'd10',
    '2d6',
    '2d8',
    '2d10',
]

REL_OUTCOMES = [
    '2d4',
    '1d4',
    '1d6',
    '1d8',
    '1d10',
    '2d6',
    '2d8',
    '2d10',
    '3d6',
    '3d8',
]

FREE_DICE = [
    '2d4',
    '2d6',
    '4d6',
    '1d8',
    '2d8',
    '1d10',
]

def main():
    print('Name ' + '_'*12)
    outcomes = random.choice(STAT_OUTCOMES)
    random.shuffle(outcomes)
    print(end='  ')
    for (stat, value) in zip(outcomes, STATS):
        print('{0} {1}  '.format(stat, value), end='')
    print('\nTraits')
    for _ in range(4):
        print('  - {0}: ________'.format(random.choice(TRAIT_OUTCOMES)))
    print('Relationships')
    print('  - 1d6: blood')
    for _ in range(4):
        print('  - {0}: ________'.format(random.choice(REL_OUTCOMES)))
    print('Free dice')
    for _ in range(3):
        print('  - {0}: ________'.format(random.choice(FREE_DICE)))

if __name__ == '__main__':
    main()