commit
17a4129393
7 changed files with 8907 additions and 0 deletions
@ -0,0 +1,226 @@ |
|||||||
|
{ |
||||||
|
"Acolyte": { |
||||||
|
"Skills": [ |
||||||
|
"insight", |
||||||
|
"religion" |
||||||
|
], |
||||||
|
"Additional Proficiencies": { |
||||||
|
"Languages": 0, |
||||||
|
"Tools": 0, |
||||||
|
"Specific Tools": "", |
||||||
|
"Gaming Set": 0, |
||||||
|
"Instrument": 0, |
||||||
|
"Artisan's Tool": 0 |
||||||
|
} |
||||||
|
}, |
||||||
|
"Charlatan": { |
||||||
|
"Skills": [ |
||||||
|
"deception", |
||||||
|
"sleight_of_hand" |
||||||
|
], |
||||||
|
"Additional Proficiencies": { |
||||||
|
"Languages": 0, |
||||||
|
"Tools": 0, |
||||||
|
"Specific Tools": "", |
||||||
|
"Gaming Set": 0, |
||||||
|
"Instrument": 0, |
||||||
|
"Artisan's Tool": 0 |
||||||
|
} |
||||||
|
}, |
||||||
|
"Criminal / Spy": { |
||||||
|
"Skills": [ |
||||||
|
"deception", |
||||||
|
"stealth" |
||||||
|
], |
||||||
|
"Additional Proficiencies": { |
||||||
|
"Languages": 0, |
||||||
|
"Tools": 0, |
||||||
|
"Specific Tools": "", |
||||||
|
"Gaming Set": 0, |
||||||
|
"Instrument": 0, |
||||||
|
"Artisan's Tool": 0 |
||||||
|
} |
||||||
|
}, |
||||||
|
"Entertainer": { |
||||||
|
"Skills": [ |
||||||
|
"acrobatics", |
||||||
|
"performance" |
||||||
|
], |
||||||
|
"Additional Proficiencies": { |
||||||
|
"Languages": 0, |
||||||
|
"Tools": 0, |
||||||
|
"Specific Tools": "", |
||||||
|
"Gaming Set": 0, |
||||||
|
"Instrument": 0, |
||||||
|
"Artisan's Tool": 0 |
||||||
|
} |
||||||
|
}, |
||||||
|
"Folk Hero": { |
||||||
|
"Skills": [ |
||||||
|
"animal_handling", |
||||||
|
"survival" |
||||||
|
], |
||||||
|
"Additional Proficiencies": { |
||||||
|
"Languages": 0, |
||||||
|
"Tools": 0, |
||||||
|
"Specific Tools": "", |
||||||
|
"Gaming Set": 0, |
||||||
|
"Instrument": 0, |
||||||
|
"Artisan's Tool": 0 |
||||||
|
} |
||||||
|
}, |
||||||
|
"Gladiator": { |
||||||
|
"Skills": [ |
||||||
|
"acrobatics", |
||||||
|
"performance" |
||||||
|
], |
||||||
|
"Additional Proficiencies": { |
||||||
|
"Languages": 0, |
||||||
|
"Tools": 0, |
||||||
|
"Specific Tools": "", |
||||||
|
"Gaming Set": 0, |
||||||
|
"Instrument": 0, |
||||||
|
"Artisan's Tool": 0 |
||||||
|
} |
||||||
|
}, |
||||||
|
"Guild Artisan / Guild Merchant": { |
||||||
|
"Skills": [ |
||||||
|
"insight", |
||||||
|
"persuasion" |
||||||
|
], |
||||||
|
"Additional Proficiencies": { |
||||||
|
"Languages": 0, |
||||||
|
"Tools": 0, |
||||||
|
"Specific Tools": "", |
||||||
|
"Gaming Set": 0, |
||||||
|
"Instrument": 0, |
||||||
|
"Artisan's Tool": 0 |
||||||
|
} |
||||||
|
}, |
||||||
|
"Hermit": { |
||||||
|
"Skills": [ |
||||||
|
"medicine", |
||||||
|
"religion" |
||||||
|
], |
||||||
|
"Additional Proficiencies": { |
||||||
|
"Languages": 0, |
||||||
|
"Tools": 0, |
||||||
|
"Specific Tools": "", |
||||||
|
"Gaming Set": 0, |
||||||
|
"Instrument": 0, |
||||||
|
"Artisan's Tool": 0 |
||||||
|
} |
||||||
|
}, |
||||||
|
"Knight": { |
||||||
|
"Skills": [ |
||||||
|
"history", |
||||||
|
"persuasion" |
||||||
|
], |
||||||
|
"Additional Proficiencies": { |
||||||
|
"Languages": 0, |
||||||
|
"Tools": 0, |
||||||
|
"Specific Tools": "", |
||||||
|
"Gaming Set": 0, |
||||||
|
"Instrument": 0, |
||||||
|
"Artisan's Tool": 0 |
||||||
|
} |
||||||
|
}, |
||||||
|
"Noble": { |
||||||
|
"Skills": [ |
||||||
|
"persuasion", |
||||||
|
"history" |
||||||
|
], |
||||||
|
"Additional Proficiencies": { |
||||||
|
"Languages": 0, |
||||||
|
"Tools": 0, |
||||||
|
"Specific Tools": "", |
||||||
|
"Gaming Set": 0, |
||||||
|
"Instrument": 0, |
||||||
|
"Artisan's Tool": 0 |
||||||
|
} |
||||||
|
}, |
||||||
|
"Outlander": { |
||||||
|
"Skills": [ |
||||||
|
"athletics", |
||||||
|
"survival" |
||||||
|
], |
||||||
|
"Additional Proficiencies": { |
||||||
|
"Languages": 0, |
||||||
|
"Tools": 0, |
||||||
|
"Specific Tools": "", |
||||||
|
"Gaming Set": 0, |
||||||
|
"Instrument": 0, |
||||||
|
"Artisan's Tool": 0 |
||||||
|
} |
||||||
|
}, |
||||||
|
"Pirate": { |
||||||
|
"Skills": [ |
||||||
|
"athletics", |
||||||
|
"perception" |
||||||
|
], |
||||||
|
"Additional Proficiencies": { |
||||||
|
"Languages": 0, |
||||||
|
"Tools": 0, |
||||||
|
"Specific Tools": "", |
||||||
|
"Gaming Set": 0, |
||||||
|
"Instrument": 0, |
||||||
|
"Artisan's Tool": 0 |
||||||
|
} |
||||||
|
}, |
||||||
|
"Sage": { |
||||||
|
"Skills": [ |
||||||
|
"arcana", |
||||||
|
"history" |
||||||
|
], |
||||||
|
"Additional Proficiencies": { |
||||||
|
"Languages": 0, |
||||||
|
"Tools": 0, |
||||||
|
"Specific Tools": "", |
||||||
|
"Gaming Set": 0, |
||||||
|
"Instrument": 0, |
||||||
|
"Artisan's Tool": 0 |
||||||
|
} |
||||||
|
}, |
||||||
|
"Sailor": { |
||||||
|
"Skills": [ |
||||||
|
"athletics", |
||||||
|
"perception" |
||||||
|
], |
||||||
|
"Additional Proficiencies": { |
||||||
|
"Languages": 0, |
||||||
|
"Tools": 0, |
||||||
|
"Specific Tools": "", |
||||||
|
"Gaming Set": 0, |
||||||
|
"Instrument": 0, |
||||||
|
"Artisan's Tool": 0 |
||||||
|
} |
||||||
|
}, |
||||||
|
"Soldier": { |
||||||
|
"Skills": [ |
||||||
|
"athletics", |
||||||
|
"intimidation" |
||||||
|
], |
||||||
|
"Additional Proficiencies": { |
||||||
|
"Languages": 0, |
||||||
|
"Tools": 0, |
||||||
|
"Specific Tools": "", |
||||||
|
"Gaming Set": 0, |
||||||
|
"Instrument": 0, |
||||||
|
"Artisan's Tool": 0 |
||||||
|
} |
||||||
|
}, |
||||||
|
"Urchin": { |
||||||
|
"Skills": [ |
||||||
|
"sleight_of_hand", |
||||||
|
"stealth" |
||||||
|
], |
||||||
|
"Additional Proficiencies": { |
||||||
|
"Languages": 0, |
||||||
|
"Tools": 0, |
||||||
|
"Specific Tools": "", |
||||||
|
"Gaming Set": 0, |
||||||
|
"Instrument": 0, |
||||||
|
"Artisan's Tool": 0 |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,197 @@ |
|||||||
|
import random |
||||||
|
import json |
||||||
|
|
||||||
|
#TODO 1 Languages |
||||||
|
#TODO 2 Tool Proficiencies |
||||||
|
#TODO 3 Weapon Proficiencies |
||||||
|
#TODO 4 Rogue Expertise |
||||||
|
#TODO 5 AC? Or Gold Start no AC? |
||||||
|
#TODO 6 Sub Classes? |
||||||
|
|
||||||
|
VOWELS = ["A","E","I","O","U"] |
||||||
|
|
||||||
|
SKILL_LIST = ["acrobatics", "animal_handling", "arcana", "athletics", "deception", "history", "insight", "intimidation", |
||||||
|
"investigation", "medicine", "nature", "perception", "performance", "persuasion", "religion", |
||||||
|
"sleight_of_hand", "stealth", "survival"] |
||||||
|
|
||||||
|
ATTRIBUTE_LIST = ["strength", "dexterity", "wisdom", "constitution", "intelligence", "charisma"] |
||||||
|
|
||||||
|
CLASS_LIST = ["Artificer","Barbarian","Bard","Cleric","Druid","Fighter","Monk","Paladin", |
||||||
|
"Ranger","Rogue","Sorcerer","Warlock","Wizard","Blood Hunter"] |
||||||
|
|
||||||
|
BACKGROUND_LIST = ["Acolyte", "Charlatan", "Criminal / Spy", "Entertainer", "Folk Hero", "Gladiator", |
||||||
|
"Guild Artisan / Guild Merchant", "Hermit", "Knight", "Noble", "Outlander", "Pirate", "Sage", |
||||||
|
"Sailor", "Soldier", "Urchin",] |
||||||
|
|
||||||
|
class HeroCreation: |
||||||
|
def __init__(self): |
||||||
|
self.name_generation() |
||||||
|
self.race_selection() |
||||||
|
self.race = self.race_string["Race"] |
||||||
|
#'job' is used in place of 'class' to avoid a function conflict |
||||||
|
self.job = random.choice(CLASS_LIST) |
||||||
|
self.job_characteristics() |
||||||
|
self.background = random.choice(BACKGROUND_LIST) |
||||||
|
self.stat_rolls() |
||||||
|
self.racial_bonuses() |
||||||
|
self.article = self.grammar() |
||||||
|
self.skill_generation() |
||||||
|
self.skill_proficiency() |
||||||
|
self.apply_skill_modifiers("dexterity","initiative") |
||||||
|
self.whoami = (f"Your new character is {self.name}, {self.article} {self.race} {self.job}, with the " |
||||||
|
f"{self.background} background.\n") |
||||||
|
self.stat_block = (f"Stat Block\n----------\nCharisma: {self.charisma}\nConstitution: {self.constitution}\n" |
||||||
|
f"Dexterity: {self.dexterity}\nIntelligence: {self.intelligence}\n" |
||||||
|
f"Strength: {self.strength}\nWisdom: {self.wisdom}\n") |
||||||
|
self.additional_stats = (f"Additional Stats\n----------\nStarting HP: {self.starting_hp}\nHit Die: {self.hit_die}\n" |
||||||
|
f"Initiative Bonus: {self.initiative}\n") |
||||||
|
self.skill_bonuses = (f"Skill Bonuses\n----------\nAcrobatics: {self.acrobatics}\nAnimal Handling: {self.animal_handling}" |
||||||
|
f"\nArcana: {self.arcana}\nAthletics: {self.athletics}\nDeception: {self.deception}" |
||||||
|
f"\nHistory: {self.history}\nInsight: {self.insight}\nIntimidation: {self.intimidation}" |
||||||
|
f"\nInvestigation: {self.investigation}\nMedicine: {self.medicine}\nNature: {self.nature}" |
||||||
|
f"\nPerception: {self.perception}\nPerformance: {self.performance}\nPersuasion: {self.persuasion}" |
||||||
|
f"\nReligion: {self.religion}\nSleight of Hand: {self.sleight_of_hand}" |
||||||
|
f"\nStealth: {self.stealth}\nSurvival: {self.survival}") |
||||||
|
|
||||||
|
#Assign the correct a/an article in the 'whoami' attr |
||||||
|
def grammar(self): |
||||||
|
if self.race[0] in VOWELS: |
||||||
|
return "an" |
||||||
|
else: |
||||||
|
return "a" |
||||||
|
|
||||||
|
def race_selection(self): |
||||||
|
with open('races.json') as json_file: |
||||||
|
race_data = json.load(json_file) |
||||||
|
chosen_race = random.choice(race_data) |
||||||
|
setattr(self,"race_string",chosen_race) |
||||||
|
|
||||||
|
def stat_rolls(self): |
||||||
|
# Configured to "Re-roll" 1s |
||||||
|
# To include 1s, increase the randint range to 1,6 |
||||||
|
for attribute in ATTRIBUTE_LIST: |
||||||
|
roll_list = [] |
||||||
|
for each in range(4): |
||||||
|
roll_list.append(random.randint(2, 6)) |
||||||
|
roll_list.remove(min(roll_list)) |
||||||
|
stat_total = sum(roll_list) |
||||||
|
setattr(self,f"{attribute}", stat_total) |
||||||
|
|
||||||
|
#Assign racial stat bonuses |
||||||
|
def racial_bonuses(self): |
||||||
|
self.charisma += self.race_string["Charisma"] |
||||||
|
self.constitution += self.race_string["Constitution"] |
||||||
|
self.dexterity += self.race_string["Dexterity"] |
||||||
|
self.intelligence += self.race_string["Intelligence"] |
||||||
|
self.strength += self.race_string["Strength"] |
||||||
|
self.wisdom += self.race_string["Wisdom"] |
||||||
|
|
||||||
|
def name_generation(self): |
||||||
|
with open("names.txt","r") as f: |
||||||
|
name_list = f.read().splitlines() |
||||||
|
first_name = random.choice(name_list) |
||||||
|
sur_name = random.choice(name_list) |
||||||
|
combined_name = f"{first_name} {sur_name}" |
||||||
|
setattr(self,"name",combined_name) |
||||||
|
|
||||||
|
#Created skill attributes with a base value of +0 to the roll |
||||||
|
def skill_generation(self): |
||||||
|
for skill in SKILL_LIST: |
||||||
|
setattr(self, skill, 0) |
||||||
|
if skill == "athletics": |
||||||
|
self.apply_skill_modifiers("strength",skill) |
||||||
|
elif skill in ["acrobatics", "sleight_of_hand", "stealth"]: |
||||||
|
self.apply_skill_modifiers("dexterity",skill) |
||||||
|
elif skill in ["arcana", "history", "investigation", "nature", "religion"]: |
||||||
|
self.apply_skill_modifiers("intelligence",skill) |
||||||
|
elif skill in ["animal_handling", "insight", "medicine", "perception", "survival"]: |
||||||
|
self.apply_skill_modifiers("wisdom",skill) |
||||||
|
elif skill in ["deception", "intimidation", "performance", "persuasion"]: |
||||||
|
self.apply_skill_modifiers("charisma",skill) |
||||||
|
|
||||||
|
def apply_skill_modifiers(self,attribute_name,skill_name): |
||||||
|
attribute = getattr(self,attribute_name) |
||||||
|
if attribute == 1: |
||||||
|
modifier = -5 |
||||||
|
elif attribute in [2, 3]: |
||||||
|
modifier = -4 |
||||||
|
elif attribute in [4, 5]: |
||||||
|
modifier = -3 |
||||||
|
elif attribute in [6, 7]: |
||||||
|
modifier = -2 |
||||||
|
elif attribute in [8, 9]: |
||||||
|
modifier = -1 |
||||||
|
elif attribute in [10, 11]: |
||||||
|
modifier = 0 |
||||||
|
elif attribute in [12, 13]: |
||||||
|
modifier = 1 |
||||||
|
elif attribute in [14, 15]: |
||||||
|
modifier = 2 |
||||||
|
elif attribute in [16, 17]: |
||||||
|
modifier = 3 |
||||||
|
elif attribute in [18, 19]: |
||||||
|
modifier = 4 |
||||||
|
elif attribute in [20, 21]: |
||||||
|
modifier = 5 |
||||||
|
else: |
||||||
|
modifier = 0 |
||||||
|
setattr(self,skill_name,modifier) |
||||||
|
|
||||||
|
def skill_proficiency(self): |
||||||
|
with open('backgrounds.json') as json_file: |
||||||
|
background_data = json.load(json_file) |
||||||
|
# Is this actually a dict? |
||||||
|
background_dict = background_data[self.background]["Skills"] |
||||||
|
for skill in background_dict: |
||||||
|
current_score = getattr(self, skill) |
||||||
|
new_score = str(current_score + 2) |
||||||
|
setattr(self, skill, f"{new_score} (Prof)") |
||||||
|
with open('jobs.json') as json_file: |
||||||
|
job_data = json.load(json_file) |
||||||
|
# Is this actually a dict? |
||||||
|
job_dict = job_data[self.job] |
||||||
|
proficiencies = job_dict["Proficiencies"] |
||||||
|
job_skill_list = job_dict["Skills"] |
||||||
|
for skill in background_dict: |
||||||
|
if skill in job_skill_list: |
||||||
|
job_skill_list.remove(skill) |
||||||
|
for each in range(proficiencies): |
||||||
|
proficient_skill = random.choice(job_skill_list) |
||||||
|
job_skill_list.remove(proficient_skill) |
||||||
|
current_score = getattr(self,proficient_skill) |
||||||
|
new_score = str(current_score + 2) |
||||||
|
setattr(self,proficient_skill,f"{new_score} (Prof)") |
||||||
|
|
||||||
|
def job_characteristics(self): |
||||||
|
with open('jobs.json') as json_file: |
||||||
|
job_data = json.load(json_file) |
||||||
|
hit_die_value = job_data[self.job]["Hit Die"] |
||||||
|
setattr(self,"hit_die",hit_die_value) |
||||||
|
starting_hp_value = job_data[self.job]["Starting HP"] |
||||||
|
setattr(self,"starting_hp",starting_hp_value) |
||||||
|
|
||||||
|
#Used for interactively moving around stats in case of a bad allocation. |
||||||
|
#Disabling for now, as this project is intended to be one-command and self-contained |
||||||
|
# def stat_moves(self): |
||||||
|
# finished = False |
||||||
|
# while not finished: |
||||||
|
# move_request = input("Would you like to move any of these stats around? (y/n)").lower() |
||||||
|
# if move_request == "y": |
||||||
|
# stat_1 = input("What is the first stat you would like to move? Please enter the full stat name.").lower() |
||||||
|
# stat_2 = input("What is the second stat you would like to move? Please enter the full stat name.").lower() |
||||||
|
# if hasattr(self, stat_1) and hasattr(self, stat_2): |
||||||
|
# stat_1_value = getattr(self, stat_1) |
||||||
|
# stat_2_value = getattr(self, stat_2) |
||||||
|
# setattr(self, stat_1, stat_2_value) |
||||||
|
# setattr(self, stat_2, stat_1_value) |
||||||
|
# self.update_stat_block() |
||||||
|
# print(self.whoami) |
||||||
|
# print(self.stat_block) |
||||||
|
# elif move_request == "n": |
||||||
|
# finished = True |
||||||
|
|
||||||
|
#Currently only used for the stat_moves functionality. Disabling for now |
||||||
|
# def update_stat_block(self): |
||||||
|
# self.stat_block = (f"Stat Block\n---------\nCharisma: {self.charisma}\nConstitution: {self.constitution}\n" |
||||||
|
# f"Dexterity: {self.dexterity}\nIntelligence: {self.intelligence}\n" |
||||||
|
# f"Strength: {self.strength}\nWisdom: {self.wisdom}") |
@ -0,0 +1,212 @@ |
|||||||
|
{ |
||||||
|
"Artificer": { |
||||||
|
"Proficiencies": 2, |
||||||
|
"Skills": [ |
||||||
|
"arcana", |
||||||
|
"history", |
||||||
|
"investigation", |
||||||
|
"medicine", |
||||||
|
"nature", |
||||||
|
"perception", |
||||||
|
"sleight_of_hand" |
||||||
|
], |
||||||
|
"Hit Die": "1d8", |
||||||
|
"Starting HP": 8 |
||||||
|
}, |
||||||
|
"Barbarian": { |
||||||
|
"Proficiencies": 2, |
||||||
|
"Skills": [ |
||||||
|
"animal_handling", |
||||||
|
"athletics", |
||||||
|
"intimidation", |
||||||
|
"nature", |
||||||
|
"perception", |
||||||
|
"survival" |
||||||
|
], |
||||||
|
"Hit Die": "1d12", |
||||||
|
"Starting HP": 12 |
||||||
|
}, |
||||||
|
"Bard": { |
||||||
|
"Proficiencies": 3, |
||||||
|
"Skills": [ |
||||||
|
"acrobatics", |
||||||
|
"animal_handling", |
||||||
|
"arcana", |
||||||
|
"athletics", |
||||||
|
"deception", |
||||||
|
"history", |
||||||
|
"insight", |
||||||
|
"intimidation", |
||||||
|
"investigation", |
||||||
|
"medicine", |
||||||
|
"nature", |
||||||
|
"perception", |
||||||
|
"performance", |
||||||
|
"persuasion", |
||||||
|
"religion", |
||||||
|
"sleight_of_hand", |
||||||
|
"stealth", |
||||||
|
"survival" |
||||||
|
], |
||||||
|
"Hit Die": "1d8", |
||||||
|
"Starting HP": 8 |
||||||
|
}, |
||||||
|
"Cleric": { |
||||||
|
"Proficiencies": 2, |
||||||
|
"Skills": [ |
||||||
|
"history", |
||||||
|
"insight", |
||||||
|
"medicine", |
||||||
|
"persuasion", |
||||||
|
"religion" |
||||||
|
], |
||||||
|
"Hit Die": "1d8", |
||||||
|
"Starting HP": 8 |
||||||
|
}, |
||||||
|
"Druid": { |
||||||
|
"Proficiencies": 2, |
||||||
|
"Skills": [ |
||||||
|
"animal_handling", |
||||||
|
"arcana", |
||||||
|
"insight", |
||||||
|
"medicine", |
||||||
|
"nature", |
||||||
|
"perception", |
||||||
|
"performance", |
||||||
|
"persuasion", |
||||||
|
"religion", |
||||||
|
"survival" |
||||||
|
], |
||||||
|
"Hit Die": "1d8", |
||||||
|
"Starting HP": 8 |
||||||
|
}, |
||||||
|
"Fighter": { |
||||||
|
|
||||||
|
"Proficiencies": 2, |
||||||
|
"Skills": [ |
||||||
|
"acrobatics", |
||||||
|
"animal_handling", |
||||||
|
"athletics", |
||||||
|
"history", |
||||||
|
"insight", |
||||||
|
"intimidation", |
||||||
|
"perception", |
||||||
|
"survival" |
||||||
|
], |
||||||
|
"Hit Die": "1d10", |
||||||
|
"Starting HP": 10 |
||||||
|
}, |
||||||
|
"Monk": { |
||||||
|
"Proficiencies": 2, |
||||||
|
"Skills": [ |
||||||
|
"acrobatics", |
||||||
|
"athletics", |
||||||
|
"history", |
||||||
|
"insight", |
||||||
|
"religion" |
||||||
|
], |
||||||
|
"Hit Die": "1d8", |
||||||
|
"Starting HP": 8 |
||||||
|
}, |
||||||
|
"Paladin": { |
||||||
|
"Proficiencies": 2, |
||||||
|
"Skills": [ |
||||||
|
"athletics", |
||||||
|
"insight", |
||||||
|
"intimidation", |
||||||
|
"medicine", |
||||||
|
"persuasion", |
||||||
|
"religion" |
||||||
|
], |
||||||
|
"Hit Die": "1d10", |
||||||
|
"Starting HP": 10 |
||||||
|
}, |
||||||
|
"Ranger": { |
||||||
|
"Proficiencies": 3, |
||||||
|
"Skills": [ |
||||||
|
"animal_handling", |
||||||
|
"athletics", |
||||||
|
"insight", |
||||||
|
"investigation", |
||||||
|
"nature", |
||||||
|
"perception", |
||||||
|
"stealth", |
||||||
|
"survival" |
||||||
|
], |
||||||
|
"Hit Die": "1d10", |
||||||
|
"Starting HP": 10 |
||||||
|
}, |
||||||
|
"Rogue": { |
||||||
|
"Proficiencies": 4, |
||||||
|
"Skills": [ |
||||||
|
"acrobatics", |
||||||
|
"athletics", |
||||||
|
"deception", |
||||||
|
"insight", |
||||||
|
"intimidation", |
||||||
|
"investigation", |
||||||
|
"perception", |
||||||
|
"performance", |
||||||
|
"persuasion", |
||||||
|
"sleight_of_hand", |
||||||
|
"stealth" |
||||||
|
], |
||||||
|
"Hit Die": "1d8", |
||||||
|
"Starting HP": 8 |
||||||
|
}, |
||||||
|
"Sorcerer": { |
||||||
|
"Proficiencies": 2, |
||||||
|
"Skills": [ |
||||||
|
"arcana", |
||||||
|
"deception", |
||||||
|
"insight", |
||||||
|
"intimidation", |
||||||
|
"persuasion", |
||||||
|
"religion" |
||||||
|
], |
||||||
|
"Hit Die": "1d6", |
||||||
|
"Starting HP": 6 |
||||||
|
}, |
||||||
|
"Warlock": { |
||||||
|
"Proficiencies": 2, |
||||||
|
"Skills": [ |
||||||
|
"arcana", |
||||||
|
"deception", |
||||||
|
"history", |
||||||
|
"intimidation", |
||||||
|
"investigation", |
||||||
|
"nature", |
||||||
|
"religion" |
||||||
|
], |
||||||
|
"Hit Die": "1d8", |
||||||
|
"Starting HP": 8 |
||||||
|
}, |
||||||
|
"Wizard": { |
||||||
|
"Proficiencies": 2, |
||||||
|
"Skills": [ |
||||||
|
"arcana", |
||||||
|
"history", |
||||||
|
"insight", |
||||||
|
"investigation", |
||||||
|
"medicine", |
||||||
|
"religion" |
||||||
|
], |
||||||
|
"Hit Die": "1d6", |
||||||
|
"Starting HP": 6 |
||||||
|
}, |
||||||
|
"Blood Hunter": { |
||||||
|
"Proficiencies": 3, |
||||||
|
"Skills": [ |
||||||
|
"acrobatics", |
||||||
|
"arcana", |
||||||
|
"athletics", |
||||||
|
"history", |
||||||
|
"insight", |
||||||
|
"investigation", |
||||||
|
"religion", |
||||||
|
"survival" |
||||||
|
], |
||||||
|
"Hit Die": "1d8", |
||||||
|
"Starting HP": 8 |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,10 @@ |
|||||||
|
import creation_engine |
||||||
|
|
||||||
|
hero = creation_engine.HeroCreation() |
||||||
|
|
||||||
|
print(hero.whoami) |
||||||
|
print(hero.stat_block) |
||||||
|
print(hero.additional_stats) |
||||||
|
print(hero.skill_bonuses) |
||||||
|
|
||||||
|
|
@ -0,0 +1,803 @@ |
|||||||
|
[ |
||||||
|
{ |
||||||
|
"Race": "Aarakocra", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 2, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 1, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Aasimar", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 1, |
||||||
|
"Charisma": 2 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Aasimar (Fallen)", |
||||||
|
"Strength": 1, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 2 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Aasimar (Protector)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 1, |
||||||
|
"Charisma": 2 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Aasimar (Scourge)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 1, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 2 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Alseid", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 2, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 1, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Aven (Hawk)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 2, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 2, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Aven (Ibis)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 2, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 1, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Bugbear", |
||||||
|
"Strength": 2, |
||||||
|
"Dexterity": 1, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Centaur", |
||||||
|
"Strength": 2, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 1, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Dwarf (Duergar)", |
||||||
|
"Strength": 1, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 2, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Dwarf (Hill)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 2, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 1, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Dwarf (Kaladesh)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 2, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 1, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Dwarf (Mountain)", |
||||||
|
"Strength": 2, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 2, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Dragonborn", |
||||||
|
"Strength": 2, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 1 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Dragonkin (Edjet/Soldier)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 1, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 2 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Dragonkin (Flame/Fire)", |
||||||
|
"Strength": 1, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 2 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Dragonkin (Stone/Cave)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 1, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 2 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Dragonkin (Wave/Tide)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 1, |
||||||
|
"Charisma": 2 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Dragonkin (Wind/Storm)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 1, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 2 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Elf (Drow)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 2, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 1 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Elf (Eladrin, High)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 2, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 1, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Elf (Kaladesh)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 2, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 1, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Elf (Sea, Shadar-Kai)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 2, |
||||||
|
"Constitution": 1, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Elf (Shadow Fey)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 2, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 1 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Elf (Wood)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 2, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 1, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Elf (Zendikar Joraga)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 1, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 2, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Elf (Zendikar Mul Daya)", |
||||||
|
"Strength": 1, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 2, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Elf (Zendikar Tajuru)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 2, |
||||||
|
"Charisma": 1 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Firbolg", |
||||||
|
"Strength": 1, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 2, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Genasi (Air)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 1, |
||||||
|
"Constitution": 2, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Genasi (Earth)", |
||||||
|
"Strength": 1, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 2, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Genasi (Fire)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 2, |
||||||
|
"Intelligence": 1, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Genasi (Water)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 2, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 1, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Githyanki", |
||||||
|
"Strength": 2, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 1, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Githzerai", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 1, |
||||||
|
"Wisdom": 2, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Gnoll (Civilized)", |
||||||
|
"Strength": 2, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 1, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Gnoll (Savage)", |
||||||
|
"Strength": 2, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 1, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Gnome (Deep, Forest)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 1, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 2, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Gnome (Rock)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 1, |
||||||
|
"Intelligence": 2, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Goblin", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 2, |
||||||
|
"Constitution": 1, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Goblin (Ixalan, Zendikar)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 2, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Goliath", |
||||||
|
"Strength": 2, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 1, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Halfling (Lightfoot)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 2, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 1 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Halfling (Stout)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 2, |
||||||
|
"Constitution": 1, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Half-Orc", |
||||||
|
"Strength": 2, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 1, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Hobgoblin", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 2, |
||||||
|
"Intelligence": 1, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Human", |
||||||
|
"Strength": 1, |
||||||
|
"Dexterity": 1, |
||||||
|
"Constitution": 1, |
||||||
|
"Intelligence": 1, |
||||||
|
"Wisdom": 1, |
||||||
|
"Charisma": 1 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Kenku", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 2, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 1, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Khenra", |
||||||
|
"Strength": 1, |
||||||
|
"Dexterity": 2, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Kobold", |
||||||
|
"Strength": -2, |
||||||
|
"Dexterity": 2, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Kobold (Midgard)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 2, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 1, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Kor", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 2, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 1, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Lizardfolk (Southlands)", |
||||||
|
"Strength": 2, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 1, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Lizardfolk (Volo’s)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 2, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 1, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Merfolk (Cosi/Trickster)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 1, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 2 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Merfolk (Emeria/Wind)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 2, |
||||||
|
"Charisma": 1 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Merfolk (Ula/Water)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 2, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 1 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Merfolk (Ixalan Blue)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 2, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 1 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Merfolk (Ixalan Green)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 2, |
||||||
|
"Charisma": 1 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Minotaur (Amonkhet)", |
||||||
|
"Strength": 2, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 1, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Minotaur (Midgard, Southlands)", |
||||||
|
"Strength": 2, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 1, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Naga", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 2, |
||||||
|
"Intelligence": 1, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Orc", |
||||||
|
"Strength": 2, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 1, |
||||||
|
"Intelligence": -2, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Orc (Ixalan)", |
||||||
|
"Strength": 2, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 1, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Ravenfolk", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 1, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 1 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Shifter (Beasthide)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 1, |
||||||
|
"Constitution": 2, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Shifter (Longtooth)", |
||||||
|
"Strength": 2, |
||||||
|
"Dexterity": 1, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Shifter (Swiftstride)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 2, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 1 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Shifter (Wildhunt)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 1, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 2, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Siren", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 2 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Tabaxi", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 2, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 1 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Tiefling", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 1, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 2 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Tiefling (Dispater, Glasya)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 1, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 2 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Tiefling (Feral Variant)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 2, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 1, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Tiefling (Fierna)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 1, |
||||||
|
"Charisma": 2 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Tiefling (Levistus)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 1, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 2 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Tiefling (Zariel)", |
||||||
|
"Strength": 1, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 2 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Tiefling (all other MTF)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 1, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 2 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Triton", |
||||||
|
"Strength": 1, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 1, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 1 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Trollkin (Night Whisper)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 2, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 1, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Trollkin (Stonehide)", |
||||||
|
"Strength": 1, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 2, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Vedalken", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 2, |
||||||
|
"Wisdom": 1, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Werelion", |
||||||
|
"Strength": 1, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 2, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Vampire (Ixalan)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 1, |
||||||
|
"Charisma": 2 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Vampire (Zendikar)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 1, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 2 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Warforged (Juggernaut)", |
||||||
|
"Strength": 2, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 1, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Warforged (Skirmisher)", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 2, |
||||||
|
"Constitution": 1, |
||||||
|
"Intelligence": 0, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 0 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"Race": "Yuan-Ti Pureblood", |
||||||
|
"Strength": 0, |
||||||
|
"Dexterity": 0, |
||||||
|
"Constitution": 0, |
||||||
|
"Intelligence": 1, |
||||||
|
"Wisdom": 0, |
||||||
|
"Charisma": 2 |
||||||
|
} |
||||||
|
] |
Loading…
Reference in new issue