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