-
Notifications
You must be signed in to change notification settings - Fork 0
/
character_creation.py
101 lines (87 loc) · 2.83 KB
/
character_creation.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# File to create actual character
# Will fetch the html files
import requests
#import PyPDF2
#import names #Having trouble getting a library so may make my own or webscrape
# Pulls data from html files
from bs4 import BeautifulSoup
import urllib.request
import random
import array as ar
def randomizer(a,b): #Just trying to make code more conscise
return random.randint(a, b)
class physical_description:
#Will eventually balance so that either I or you the user can decide the proportion of each category
def __init__(person, name, ancestry, gender, age):
person.name = name
person.ancestry = ancestry
person.gender = gender
person.age = age
def introduction(person):
print(person.name , " is a " , person.age , " year old " , person.ancestry, person.gender ,".")
def name(gender):
if (gender == 'male'):
file = open('boy_names.txt')
elif(gender == 'female'):
file = open('girl_names.txt')
else:
print("Error")
return
random_name = randomizer(0,999)
lines = file.readlines()
return lines[random_name].rstrip("\n")
def gender():
gender = randomizer(0,2)
if (gender == 0):
return 'male'
elif (gender == 1):
return 'female'
def ancestry():
ancestry_file = open("ancestry.txt")
lines = ancestry_file.readlines()
random_ancestry = randomizer(0,len(lines))
return lines[random_ancestry].rstrip("\n")
"""
#Need to edit this still
def roles():
supported_roles = ["Rockerboy", "Solo", "Netrunner", "Techie", "Media", "Cop", "Corporate", "Fixer", "Nomad"]
url = "https://rpg.web-mage.ca/pages/roles.php"
request = urllib.request.Request(url)
response = urllib.request.urlopen(request)
soup = BeautifulSoup((response.read()), "lxml")
table = soup.findAll('table') #All tables on this website
"""
def age():
return randomizer(18,50)
def quality(sum,type):
if (sum >= 9):
if (type != 'inhuman'):
return False
elif (sum > 5):
if (type != 'trained'):
return False
elif (sum == 5):
if (type != 'average'):
return False
else:
if (type != 'subpar'):
return False
return True
def stats():
skills = ar.array('i', range(9))
skill_names = ["INTELLIGENCE","REFLEX","DEXTERITY","TECHNOLOGY","COOL","LUCK","MOVEMENT","BODY SIZE","EMPATHY"]
type = input('Enter the type of person you desire from the following: inhuman, trained, average, or subpar.\n')
x = 0
while (x < 9):
skills[x] = randomizer(0,10)
x = x +1
if (x == 9):
sum = 0
for i in skills:
sum = sum + i
if (quality(float(sum/9),type)):
continue
else:
x = 0
for x in range(0,9):
print(skill_names[x],":", skills[x])