def __init__(self, char): BaseClass.__init__(self, char.level) MagicChr.__init__(self) cant_ct = 2 self.level = int(char.level) self.set_magic(self.level, cant_ct, "druid") self.str_mod = char.strength self.dex_mod = char.dexterity self.wis_mod = char.wisdom self.int_mod = char.intelligence self.cha_mod = char.charisma self.con_mod = char.constitution self.level_scores([3, 7, 11, 15, 18]) all_skills = list({"arcana", "animal handling", "insight", "medicine", "nature", "perception", "religion", "survival"} - set(char.race.skills)) archetype_opts = ["dreams", "land", "moon", "shepherd", "spores", "twilight"] level_features = [[1, "Wild Shape"], [17, ["Timeless Body", "Beast Spells"]], [19, "Archdruid"]] wpn_opts = [["Wooden Shield", "Any other simple weapon (please input)"], ["A Scimitar", "Any other simple melee weapon (please input)"]] self.saving_throws = ["intelligence", "wisdom"] self.magic_throw = "wisdom" self.magic_dc = 8 + self.prof_bonus + self.wis_mod utilities.append_proficiencies(self, ["light armor", "medium armor", "shields", "clubs", "daggers", "darts", "javelins", "maces", "quarterstaffs", "scimitars", "sickles", "slings", "spears", "herbalism kit"]) self.set_equip(wpn_opts, True) self.armor.append(["Leather Armor", "11"]) self.languages.append("Druidic") utilities.set_skills(self, 2, all_skills) self.init_hit_dice(8) self.init_hp(8, "constitution", 8) for item in ["explorer's pack", "druidic focus"]: self.equipment.append(item) self.level_features(level_features) if self.level > 1: arch_choice = self.init_archetype(archetype_opts) self.set_arch(arch_choice)
def __init__(self, char): BaseClass.__init__(self, char.level) MagicChr.__init__(self) cant_ct = 3 self.level = int(char.level) self.set_magic(self.level, cant_ct, "wizard") self.str_mod = char.strength self.dex_mod = char.dexterity self.wis_mod = char.wisdom self.int_mod = char.intelligence self.cha_mod = char.charisma self.con_mod = char.constitution self.level_scores([3, 7, 11, 15, 18]) all_skills = list({ "arcana", "history", "insight", "investigation", "medicine", "religion" } - set(char.race.skills)) archetype_opts = [ "Artificer", "Bladeslinging", "Lore Mastery", "School of Abjuration", "School of Conjuration", "School of Divination", "School of Enchantment", "School of Evocation", "School of Illusion", "School of Invention", "School of Necromancy", "School of Transmutation", "Technomancy", "Theurgy", "War Magic" ] level_features = [[ 0, ["Ritual Casting", "Spellcasting Focus", "Arcane Recovery"] ], [17, "Spell Mastery"], [19, "Signature Spells"]] wpn_opts = [["Quarterstaff", "Dagger"]] eqp_opts = [["Explorer's Pack", "Scholar's Pack"], ["Component Pouch", "Arcane Focus"]] self.saving_throws = ["intelligence", "wisdom"] self.magic_throw = "intelligence" self.magic_dc = 8 + self.prof_bonus + self.int_mod utilities.append_proficiencies( self, ["daggers", "darts", "slings", "quarterstaffs", "light crossbows"]) self.set_equip(wpn_opts, True) self.set_equip(eqp_opts, False) self.equipment.append("Spellbook") self.spell_master = [] self.sig_spells = [] utilities.set_skills(self, 2, all_skills) self.init_hit_dice(6) self.init_hp(6, "constitution", 6) self.level_features(level_features) if self.level > 1: arch_choice = self.init_archetype(archetype_opts) self.set_arch(arch_choice) if self.level > 17: one = utilities.get_from_list(self.one[1], 1, "mastered spell") self.spell_master.append(one) two = utilities.get_from_list(self.two[1], 1, "mastered spell") self.spell_master.append(two) if self.level > 19: three = utilities.get_from_list(self.three[1], 2, "signature spell") self.sig_spells.extend(three)
def __init__(self, char): BaseClass.__init__(self, char.level) self.level = int(char.level) self.str_mod = char.strength self.dex_mod = char.dexterity self.wis_mod = char.wisdom self.int_mod = char.intelligence self.cha_mod = char.charisma self.con_mod = char.constitution self.level_scores([3, 7, 11, 15, 18]) all_skills = list({"acrobatics", "athletics", "history", "insight", "religion", "stealth"} - set(char.race.skills)) archetype_opts = ["drunken master", "four elements", "kensei", "long death", "open hand", "shadow", "sun soul", "tranquility"] # base hotel and casino level_features = [[0, ["Unarmored Defense", "Martial Arts"]], [1, ["Ki", "Unarmored Movement"]], [2, "Deflect Missiles"], [3, "Slow Fall"], [4, "Extra Attack"], [5, "Ki-Empowered Strikes"], [6, ["Evasion", "Stillness of Mind"]], [12, "Tongue of the Sun and Moon"], [13, "Diamond Soul"], [14, "Timeless Body"]] ki_features = [[1, ["Flurry of Blows", "Patient Defense", "Step of the Wild"]], [4, "Stunning Strike"], [13, "Diamond Soul"], [17, "Empty Body"], [19, "Perfect Self"]] for item in ["disease", "poison"]: if self.level > 9: self.resistances.append(item) if self.level > 12: self.languages.append("All Languages (Monk Feature)") if self.level > 13: self.saving_throws = ["strength", "wisdom", "dexterity", "intelligence", "charisma", "constitution"] else: self.saving_throws = ["strength", "dexterity"] self.ki_features = [] self.ki_dc = 0 self.elem_feat = [] wpn_opts = [["shortsword", "any simple weapon (please input)"]] eqp_opts = [["dungeoneer's pack", "explorer's pack"]] prof = utilities.get_from_list(["artisans tools", "musical instrument"], 1, "proficiency") if prof == "musical instrument": prof = input("Which instrument do you want to be proficient in?\n") utilities.append_proficiencies(self, ["simple weapons", "shortswords", prof]) self.set_equip(wpn_opts, True) self.set_equip(eqp_opts, False) utilities.equip(self, "10 darts") utilities.set_skills(self, 2, all_skills) self.init_hit_dice(8) self.init_hp(10, "constitution", 8) self.level_features(level_features) for item in ki_features: lvl = item[0] ch = item[1] if self.level > int(lvl): if isinstance(ch, list): for feat in ch: self.ki_features.append(feat) else: self.ki_features.append(ch) if self.level > 1: self.ki_dc = 8 + self.prof_bonus + self.wis_mod arch_choice = self.init_archetype(archetype_opts) self.set_arch(arch_choice)
def __init__(self, char): BaseClass.__init__(self, char.level) MagicChr.__init__(self) cant_ct = 2 self.level = int(char.level) self.set_magic(self.level, cant_ct, "bard") self.str_mod = char.strength self.dex_mod = char.dexterity self.wis_mod = char.wisdom self.int_mod = char.intelligence self.cha_mod = char.charisma self.con_mod = char.constitution self.level_scores([3, 7, 11, 15, 18]) self.expert_skills = [] all_skills = list( set(utilities.valid_skills()) - set(char.race.skills)) archetype_opts = [ "glamour", "lore", "satire", "sword", "valor", "whisper" ] level_features = [[1, ["Jack of all Trades", "Song of Rest"]], [2, ["Expertise"]], [4, ["Font of Inspiration"]], [5, ["Countercharm"]], [9, "Magical Secrets"], [13, "Magical Secrets x2"], [17, "Magical Secrets x3"], [19, ["Superior Inspiration"]]] equip_opts = [[ "rapier", "longsword", "any other simple weapon (please input)" ]] non_wpn_equip = [["Diplomats pack", "Entertainers pack"], [ "a lute", "any other musical instrument (please input)" ]] self.saving_throws = ["dexterity", "charisma"] self.magic_throw = "charisma" self.magic_dc = 8 + self.prof_bonus + self.cha_mod utilities.append_features( self, ["Ritual Casting", "Spellcasting Focus", "Bardic Inspiration"]) utilities.append_proficiencies(self, [ "light armor", "simple weapons", "hand crossbows", "longswords", "rapiers", "shortswords" ]) self.add_instrument(3) self.set_equip(equip_opts, True) self.set_equip(non_wpn_equip, False) self.armor.append(["leather", "11"]) utilities.equip(self, "dagger") utilities.set_skills(self, 3, all_skills) self.init_hit_dice(8) self.init_hp(8, "constitution", 8) self.level_features(level_features) if self.level > 2: arch_choice = self.init_archetype(archetype_opts) self.set_arch(arch_choice, char) self.set_expertise(char, 2) if self.level > 9: self.set_expertise(char, 2)
def __init__(self, char): BaseClass.__init__(self, char.level) MagicChr.__init__(self) cant_ct = 0 self.level = int(char.level) self.set_magic(self.level, cant_ct, "ranger") self.str_mod = char.strength self.dex_mod = char.dexterity self.wis_mod = char.wisdom self.int_mod = char.intelligence self.cha_mod = char.charisma self.con_mod = char.constitution self.level_scores([3, 7, 11, 15, 18]) all_skills = list({ "animal handling", "athletics", "insight", "investigation", "nature", "perception", "stealth", "survival" } - set(char.race.skills)) archetype_opts = [ "Beast Master", "Gloom Stalker", "Horizon Walker", "Hunter", "Monster Slayer", "Primeval Guardian" ] level_features = [[0, ["Favored Enemy", "Natural Explorer"]], [1, "Spellcasting"], [2, "Primeval Awareness"], [4, "Extra Attack"], [7, "Land's Stride"], [9, "Hide in Plain Sight"], [13, "Vanish"], [17, "Feral Senses"], [19, "Foe Slayer"]] wpn_opts = [[ "Two shortswords", "Two simple martial weapons (please input)" ]] eqp_opts = [["Dungeoneer's Pack", "Explorer's Pack"]] amor = utilities.get_from_list(["Scale Mail", "Leather Armor"], 1, "armor") if amor == "Scale Mail": self.armor.append(["Scale Mail", "14"]) else: self.armor.append(["Leather Armor", "11"]) self.saving_throws = ["strength", "dexterity"] self.magic_throw = "wisdom" self.magic_dc = self.prof_bonus + self.wis_mod + 8 utilities.set_skills(self, 3, all_skills) self.init_hit_dice(10) self.init_hp(10, "constitution", 10) self.styles = [] utilities.append_proficiencies(self, [ "light armor", "medium armor", "shields", "simple weapons", "martial weapons" ]) self.set_equip(wpn_opts, True) self.set_equip(eqp_opts, False) utilities.equip(self, "Longbow and Quiver of 20 arrows") self.level_features(level_features) if self.level > 1: self.set_style() if self.level > 2: arch_choice = self.init_archetype(archetype_opts) self.set_arch(arch_choice)
def __init__(self, char): BaseClass.__init__(self, char.level) MagicChr.__init__(self) cant_ct = 4 self.level = int(char.level) self.set_magic(self.level, cant_ct, "sorcerer") self.str_mod = char.strength self.dex_mod = char.dexterity self.wis_mod = char.wisdom self.int_mod = char.intelligence self.cha_mod = char.charisma self.con_mod = char.constitution self.level_scores([3, 7, 11, 15, 18]) all_skills = list( {"arcana", "deception", "insight", "persuasion", "religion"} - set(char.race.skills)) archetype_opts = [ "Divine Soul", "Draconic Bloodline", "Giant Soul", "Phoenix Sorcery", "Sea Sorcery", "Shadow Magic", "Stone Sorcery", "Storm Sorcery", "Wild Magic", "Pyromancer" ] level_features = [[0, "Spellcasting Focus"], [1, ["Sorcery Points", "Flexible Casting"]], [2, "Metamagic"], [19, "Sorcerous Restoration"]] wpn_opts = [[ "A Light crossbow with 20 bolts", "Any simple weapon (please input)" ]] eqp_opts = [["Dungeoneer's pack", "Explorer's Pack"], ["Component Pouch", "Arcane Focus"]] self.saving_throws = ["constitution", "charisma"] self.magic_throw = "charisma" self.magic_dc = 8 + self.prof_bonus + self.cha_mod utilities.append_proficiencies( self, ["daggers", "darts", "slings", "quarterstaffs", "light crossbows"]) self.set_equip(wpn_opts, True) self.set_equip(eqp_opts, False) utilities.set_skills(self, 2, all_skills) self.init_hit_dice(6) self.init_hp(6, "constitution", 6) utilities.equip(self, "two daggers") self.level_features(level_features) self.metamagic_features = [] self.color = "" self.fly_speed = 0 for level in [2, 2, 9, 16]: if self.level > level: self.set_metamagic() if self.level > 2: self.sorcery_pts = self.level arch_choice = self.init_archetype(archetype_opts) self.set_arch(arch_choice, char)
def __init__(self, char): BaseClass.__init__(self, char.level) self.level = int(char.level) self.str_mod = char.strength self.dex_mod = char.dexterity self.wis_mod = char.wisdom self.int_mod = char.intelligence self.cha_mod = char.charisma self.con_mod = char.constitution self.level_scores([3, 7, 11, 15, 18]) all_skills = list({ "acrobatics", "athletics", "deception", "insight", "intimidation", "investigation", "perception", "performance", "persuasion", "sleight of hand", "stealth" } - set(char.race.skills)) archetype_opts = [ "Arcane Trickster", "Assassin", "Inquisitive", "Mastermind", "Scout", "Swashbuckler", "Thief" ] level_features = [[0, ["Thieves' Cant", "Sneak Attack"]], [1, "Cunning Action"], [4, "Uncanny Dodge"], [6, "Evasion"], [10, "Reliable Talent"], [13, "Blindsense"], [17, "Elusive"], [19, "Stroke of Luck"]] wpn_opts = [["Shortsword", "Shortbow and quiver of 20 arrows"], ["Shortsword", "Rapier"]] eqp_opts = [["Burglar's Pack", "Dungeoneer's Pack", "Explorer's Pack"]] self.saving_throws = ["dexterity", "intelligence"] if self.level > 15: self.saving_throws.append("wisdom") utilities.append_proficiencies(self, [ "light armor", "simple weapons", "hand crossbow", "longswords", "rapiers", "shortswords", "thieves' tools" ]) self.set_equip(wpn_opts, True) self.set_equip(eqp_opts, False) utilities.equip(self, "Two daggers") self.equipment.append("Thieves' tools") self.armor = ["Leather armor", "11"] utilities.set_skills(self, 4, all_skills) self.init_hit_dice(8) self.init_hp(8, "constitution", 8) self.sneak_dmg = 0 self.expert_skills = [] self.level_features(level_features) if self.level > 0: self.set_expertise(char, 2) if self.level > 2: arch_choice = self.init_archetype(archetype_opts) self.set_arch(arch_choice) if self.level > 5: self.set_expertise(char, 2) self.set_sneak_attack_dmg()
def __init__(self, char): BaseClass.__init__(self, char.level) self.level = int(char.level) self.str_mod = char.strength self.dex_mod = char.dexterity self.wis_mod = char.wisdom self.int_mod = char.intelligence self.cha_mod = char.charisma self.con_mod = char.constitution self.level_scores([3, 5, 7, 11, 13, 15, 18]) all_skills = list({ "acrobatics", "animal handling", "athletics", "history", "insight", "intimidation" } - set(char.race.skills)) archetype_opts = [ "arcane", "battle", "brute", "cavalier", "champion", "eldritch", "monster", "purple", "samurai", "scout", "sharpshooter" ] level_features = [[0, "Second Wind"], [1, "Action Surge"], [4, "Extra Attack"], [8, "Indomitable"]] wpn_opts = [["A martial weapon and a shield", "Two martial weapons"], ["A light crossbow and 20 bolts", "Two handaxes"]] eqp_opts = [["Dungeoneer's Pack", "Explorer's Pack"]] self.saving_throws = ["strength", "constitution"] utilities.append_proficiencies( self, ["All armors", "All shields", "All weapons"]) self.set_equip(wpn_opts, True) self.set_equip(eqp_opts, False) spnch = utilities.get_from_list( ["leather armor and longbow", "chain mail"], 1) if spnch == "leather armor and longbow": utilities.equip(self, "Longbow with 20 arrows") self.armor = ["Leather Armor", "11"] else: self.armor = ["Chain Mail", "16"] utilities.set_skills(self, 2, all_skills) self.init_hit_dice("10") self.init_hp(10, "constitution", "10") self.maneuvers = [] self.styles = [] self.sup_dice_ct = None self.sup_dice = None self.level_features(level_features) self.set_style() if self.level > 2: arch_choice = self.init_archetype(archetype_opts) self.set_arch(arch_choice, char)
def __init__(self, char): BaseClass.__init__(self, char.level) MagicChr.__init__(self) cant_ct = 3 self.level = int(char.level) self.set_magic(self.level, cant_ct, "necromancer") self.str_mod = char.strength self.dex_mod = char.dexterity self.wis_mod = char.wisdom self.int_mod = char.intelligence self.cha_mod = char.charisma self.con_mod = char.constitution self.level_scores([3, 7, 11, 15, 18]) all_skills = list({ "arcana", "deception", "history", "intimidation", "medicine", "perception", "religion" } - set(char.race.skills)) archetype_opts = ["keeper", "reaper", "undertaker"] level_features = [[0, ["Spellcasting", "Life Tap"]], [1, "Necromancer Occult"], [2, ["Soul Harvest"]], [4, ["Spontaneous Unburial"]], [6, ["Animate Major Undead"]], [13, ["Ritualistic Unburial"]], [17, ["Macabre"]], [19, ["Seance", "Grim Harvest"]]] wpn_opts = [["Crescent Scythe", "Two Daggers"]] equip_opts = [["Leather Armor", "Padded Armor"], ["Dungeoneer's Pack", "Explorer's Pack"]] self.saving_throws = ["constitution", "charisma"] self.magic_throw = "charisma" self.magic_dc = 8 + self.prof_bonus + self.cha_mod utilities.append_proficiencies(self, ["light armor", "simple weapons"]) self.set_equip(wpn_opts, True) self.set_equip(equip_opts, False) utilities.set_skills(self, 2, all_skills) self.init_hit_dice(6) self.init_hp(6, "constitution", 6) self.equipment.append("Spellcasting Focus") self.level_features(level_features) if self.level > 1: arch_choice = self.init_archetype(archetype_opts) self.set_arch(arch_choice)
def __init__(self, level): BaseRace.__init__(self, level) self.str_mod = 2 self.con_mod = 1 self.age_low = 13 self.age_high = 70 self.weight_low = 100 self.weight_high = 300 self.height_low = 58 self.height_high = 86 self.speed = 30 self.size = "medium" self.set_awh(self) self.subrace = "No Subrace" utilities.append_proficiencies(self, ["darkvision"]) self.skills.append("intimidation") features = ["Relentless Endurance", "Savage Attacks"] for item in features: self.features.append(item) utilities.transfer_languages(["common", "orcish"])
def set_subrace(self): self.subrace = input( "Which Elvish subrace do you want to be: High, Dark, or Wood?") self.subrace = self.subrace.lower() if self.subrace == "high": self.subrace = "High Elf" self.int_mod = 1 utilities.append_proficiencies( self, ["longsword", "shortsword", "shortbow", "longbow"]) utilities.transfer_languages( self, input( "High Elf Initialization: What language do you want to learn?" ), True) self.cantrips[0] += 1 self.cantrips[1].append( input( "High Elf Initialization: What wizard cantrip do you want to learn?" )) elif self.subrace == "dark": self.subrace = "Dark Elf" self.cha_mod = 1 try: self.proficiencies.remove("darkvision") except ValueError: pass utilities.append_proficiencies(self, [ "superior darkvision", "rapier", "shortsword", "hand crossbow" ]) self.disadvantages.append("wisdom saving throws") spells = [[[0, "cantrip"], ["Dancing Lights"]], [[2, "one"], ["Faerie Fire"]], [[4, "two"], ["Darkness"]]] for item in spells: self.add_spell(item, self.level) self.magic_throw = "charisma" self.magic_dc = self.cha_mod else: self.subrace = "Wood Elf" self.wis_mod = 1 utilities.append_proficiencies( self, ["longsword", "shortsword", "shortbow", "longbow"]) self.speed = 35 self.set_swim() self.features.append("Mask of the Wild")
def __init__(self, char): BaseClass.__init__(self, char.level) self.level = int(char.level) self.rage_ct = 2 self.rage_dmg = 2 self.str_mod = char.strength self.dex_mod = char.dexterity self.wis_mod = char.wisdom self.int_mod = char.intelligence self.cha_mod = char.charisma self.con_mod = char.constitution self.level_scores([3, 7, 11, 15, 18]) all_skills = list({ "animal handling", "athletics", "intimidation", "nature", "perception", "survival" } - set(char.race.skills)) archetype_opts = [ "cannibal", "ancestor", "berserker", "storm", "totem", "zealot" ] if char.race_name == "dwarf": archetype_opts.append("battlerager") level_features = [[1, ["Reckless Attack", "Danger Sense"]], [4, ["Extra Attack", "Fast Movement"]], [6, ["Feral Instinct"]], [8, ["Brutal Critical"]], [10, ["Relentless Rage"]], [14, ["Persistant Rage"]], [17, ["Indomitable Might"]], [20, ["Primal Champion"]]] utilities.append_features(self, ["Rage", "Unarmored Defense"]) utilities.append_proficiencies(self, [ "light armor", "medium armor", "shields", "simple weapons", "martial weapons" ]) equip_opts = [[ "greataxe", "any other martial melee weapon (please input)" ], ["two handaxes", "any other simple melee weapon (please input)"]] self.saving_throws = ["strength", "constitution"] if self.level > 1: self.advantages.append("Dexterity against effects you can see") if self.level > 2: arch_choice = self.init_archetype(archetype_opts) self.rage_ct = 3 self.set_arch(arch_choice) if self.level > 5: self.rage_ct = 4 if self.level > 6: self.advantages.append("Initiative rolls") if self.level > 8: self.rage_dmg = 3 if self.level > 11: self.rage_ct = 5 if self.level > 15: self.rage_dmg = 4 if self.level > 16: self.rage_ct = 6 if self.level > 19: self.str_mod += 4 self.con_mod += 4 self.rage_ct = 7 utilities.set_skills(self, 2, all_skills) self.init_hit_dice(12) self.init_hp(12, "charisma", 12) self.level_features(level_features) self.set_equip(equip_opts, True) utilities.equip(self, "Javelin x4") self.equipment.append("Explorer's Pack")
def __init__(self, char): BaseClass.__init__(self, char.level) MagicChr.__init__(self) cant_ct = 2 self.level = int(char.level) self.set_magic(self.level, cant_ct, "warlock") self.str_mod = char.strength self.dex_mod = char.dexterity self.wis_mod = char.wisdom self.int_mod = char.intelligence self.cha_mod = char.charisma self.con_mod = char.constitution self.level_scores([3, 7, 11, 15, 18]) all_skills = list({ "arcana", "deception", "history", "intimidation", "nature", "religion" } - set(char.race.skills)) archetype_opts = [ "Archfey", "Celestial", "Fiend", "Ghost in the Machine", "Great Old One", "Hexblade", "Raven Queen", "Seeker", "Undying" ] level_features = [[10, "Mystic Arcanum"], [19, "Eldritch Master"]] wpn_opts = [[ "Light crossbow with 20 bolts", "Any simple weapon (please input)" ]] eqp_opts = [["Dungeoneer's pack", "Scholar's pack"], ["Component pouch", "Arcane focus"]] self.saving_throws = ["wisdom", "charisma"] self.magic_throw = "charisma" self.magic_dc = 8 + self.prof_bonus + self.cha_mod utilities.append_proficiencies(self, ["light armor", "simple weapons"]) self.set_equip(wpn_opts, True) self.set_equip(eqp_opts, False) utilities.set_skills(self, 2, all_skills) self.init_hit_dice(8) self.init_hp(8, "constitution", 8) for item in [ "two daggers", input( "Initialization: What simple weapon do you want to have?\n" ) ]: utilities.equip(self, item) self.armor = ["leather armor", "11"] self.invocations = [] self.pact = "" self.pact_desc = [] self.level_features(level_features) arch_choice = self.init_archetype(archetype_opts) self.set_arch(arch_choice) if self.level > 1: self.set_pact() if self.level == 1: self.invocation_ct = 2 elif 2 < self.level < 11: self.invocation_ct = int(math.ceil(self.level / 2)) elif self.level > 10: self.invocation_ct = 5 elif self.level > 11: self.invocation_ct = 6 elif self.level > 14: self.invocation_ct = 7 elif self.level > 17: self.invocation_ct = 8 for x in range(0, int(self.invocation_ct)): self.choose_inv()
def __init__(self, char): BaseClass.__init__(self, char.level) MagicChr.__init__(self) cant_ct = 0 self.level = int(char.level) self.set_magic(self.level, cant_ct, "paladin") self.str_mod = char.strength self.dex_mod = char.dexterity self.wis_mod = char.wisdom self.int_mod = char.intelligence self.cha_mod = char.charisma self.con_mod = char.constitution self.level_scores([3, 7, 11, 15, 18]) all_skills = list({ "athletics", "insight", "intimidation", "medicine", "persuasion", "religion" } - set(char.race.skills)) archetype_opts = [ "ancients", "conquest", "crown", "devotion", "redemption", "vengeance" ] if "Evil" in char.alignment: archetype_opts.extend(["oathbreaker", "treachery"]) level_features = [[0, ["Divine Sense", "Lay on Hands"]], [ 1, [ "Fighting Style", "Divine Smite", "Spellcasting", "Spellcasting Focus" ] ], [2, "Divine Health"], [4, "Extra Attack"], [5, "Aura of Protection"], [9, "Aura of Courage"], [10, "Improved Divine Smite"], [13, "Cleansing Touch"]] wpn_opts = [[ "5 javelins", "any other simple melee weapon (please input)" ], ["one martial weapon and a shield", "two martial weapons"]] eqp_opts = [["Priest's Pack", "Explorer's Pack"]] self.saving_throws = ["wisdom", "charisma"] self.magic_throw = "charisma" self.magic_dc = 8 + self.prof_bonus + utilities.get_modifier( self, "charisma", True) self.styles = [] utilities.append_proficiencies( self, ["all armor", "shields", "simple weapons", "martial weapons"]) self.set_equip(wpn_opts, True) self.set_equip(eqp_opts, False) self.equipment.append(input("What holy symbol do you want to use?\n")) self.armor.append(["chain mail", "16"]) utilities.set_skills(self, 2, all_skills) self.init_hit_dice(10) self.init_hp(10, "constitution", 10) self.level_features(level_features) if self.level > 1: self.set_style() self.attack.append("Divine Smite") if self.level > 2: self.resistances.append("Immune to Disease") arch_choice = self.init_archetype(archetype_opts) self.set_arch(arch_choice) if self.level > 10: self.attack.append("Improved Divine Smite")