-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcharacter_generator.py
executable file
·90 lines (80 loc) · 4.26 KB
/
character_generator.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
# -*- coding: utf-8 -*-
from load_json import Import
import dice, os
import_file = Import()
extension = ".json"
class Character():
def generate_ancestry(self, ancestry):
if os.name == "posix":
attribute_list = import_file.json_file("./ancestries" + "/" +
ancestry + "/" + ancestry + extension)
else:
attribute_list = import_file.json_file(".\\ancestries" + "\\" +
ancestry + "\\" + ancestry + extension)
return attribute_list
def generate_random(self, ancestry, list_type, rolling):
number = str(int(dice.roll(rolling)))
try:
if os.name == "posix":
background = import_file.json_file("./ancestries" + "/" +
ancestry + "/" + ancestry + list_type + extension)[number]
else:
background = import_file.json_file(".\\ancestries" + "\\" +
ancestry + "\\" + ancestry + list_type + extension)[number]
except (SyntaxError, IOError):
return ""
else:
return background#.encode("utf-8")
def generate_profession(self):
type_number = str(int(dice.roll("1d6")))
profession_number = str(int(dice.roll("1d20")))
professions_dict = {"1": "academic", "2": "common", "3": "criminal", "4": "martial", "5": "religious", "6": "wilderness"}
try:
if os.name == "posix":
profession_type = import_file.json_file("./professions/profession_type.json")[type_number]
profession = import_file.json_file("./professions/" + professions_dict[type_number] + ".json")[profession_number]
else:
profession_type = import_file.json_file(".\\professions\\profession_type.json")[type_number]
profession = import_file.json_file(".\\professions\\" + professions_dict[type_number] + ".json")[profession_number]
except ():
return ""
else:
return profession_type, profession
def generate_wealth(self):
number = str(int(dice.roll("3d6")))
try:
if os.name == "posix":
wealth = import_file.json_file("./wealth/wealth.json")[number]
else:
wealth = import_file.json_file(".\\wealth\\wealth.json")[number]
except ():
return ""
else:
return wealth#.encode("utf-8")
def generate_interesting_things(self):
table_number = str(int(dice.roll("1d6")))
json_file = "table_" + table_number + ".json"
interesting_things_number = str(int(dice.roll("1d20")))
try:
if os.name == "posix":
interesting_thing = import_file.json_file("./interesting_things/table_" + table_number + ".json")[interesting_things_number]
else:
interesting_thing = import_file.json_file(".\\interesting_things\\table_" + table_number + ".json")[interesting_things_number]
except ():
return ""
else:
return interesting_thing#.encode("utf-8")
def generate_personality_traits(self):
positive_number_a = str(int(dice.roll("1d20")))
positive_number_b = positive_number_a
while positive_number_a == positive_number_b: positive_number_b = str(int(dice.roll("1d20")))
negative_number = str(int(dice.roll("1d20")))
if os.name == "posix":
positive_trait_a = import_file.json_file("./personality_traits/positive_personality_traits.json")[positive_number_a]
positive_trait_b = import_file.json_file("./personality_traits/positive_personality_traits.json")[positive_number_b]
negative_trait = import_file.json_file("./personality_traits/negative_personality_traits.json")[negative_number]
else:
positive_trait_a = import_file.json_file(".\\personality_traits\\positive_personality_traits.json")[positive_number_a]
positive_trait_b = import_file.json_file(".\\personality_traits\\positive_personality_traits.json")[positive_number_b]
negative_trait = import_file.json_file(".\\personality_traits\\negative_personality_traits.json")[negative_number]
return positive_trait_a, positive_trait_b, negative_trait