Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
complacency. The same magic that allows them to quell beasts can also bend
minds. Villainous bards Of this college can leech Off a community for
weeks, misusing their magic to turn their hosts into thralls. Heroic bards
of this college instead use this power to gladden the downtrodden and
undermine oppressors.
"""
name = "College of Glamour"
features_by_level = defaultdict(list)
features_by_level[3] = [features.MantleOfInspiration,
features.EnthrallingPerformance]
features_by_level[6] = [features.MantleOfMajesty]
features_by_level[14] = [features.UnbreakableMajesty]
class CollegeOfSwords(SubClass):
"""Bards of the College of Swords are called blades, and they entertain
through daring feats of weapon prowess. Blades perform stunts such as sword
swallowing, knife throwing and juggling, and mock combats. Though they use
their weapons to entertain, they are also highly trained and skilled
warriors in their own right.
Their talent with weapons inspires many blades to lead double lives. One
blade might use a circus troupe as cover for nefarious deeds such as
assassination, robbery, and blackmail. Other blades strike at the wicked,
bringingjustice to bear against the cruel and powerful. Most troupes are
happy to accept a blade's talent for the excitement it adds to a
performance, but few entertainers fully trust a blade in their ranks.
Blades who abandon their lives as entertainers have often run into trouble
that makes maintaining their secret activities impossible. A blade caught
stealing or engaging in vigilante justice is too great a liability for most
from collections import defaultdict
from dungeonsheets import features, weapons
from dungeonsheets.classes.classes import CharClass, SubClass
# PHB
class Champion(SubClass):
"""The archetypal Champion focuses on the development of raw physical power
honed to deadly perfection. Those who model themselves on this archetype
combine rigorous training with physical excellence to deal devastating
blows.
"""
name = "Champion"
features_by_level = defaultdict(list)
features_by_level[3] = [features.ImprovedCritical]
features_by_level[7] = [features.RemarkableAthelete]
features_by_level[10] = [features.AdditionalFightingStyle]
features_by_level[15] = [features.SuperiorCritical]
features_by_level[18] = [features.Survivor]
class BattleMaster(SubClass):
and other criminals typically follow this archetype, but so do rogues who
prefer to think of themselves as professional treasure seekers, explorers,
delvers, and investigators. In addition to improving your agility and
stealth, you learn skills useful for delving into ancient ruins, reading
unfamiliar languages, and using magic items you normally couldn't employ
"""
name = "Thief"
features_by_level = defaultdict(list)
features_by_level[3] = [features.FastHands, features.SecondStoryWork]
features_by_level[9] = [features.SupremeSneak]
features_by_level[13] = [features.UseMagicDevice]
features_by_level[17] = [features.ThiefsReflexes]
class Assassin(SubClass):
"""You focus your training on the grim art of death. Those who adhere to this
archetype are diverse: hired killers, spies, bounty hunters, and even
specially anointed priests trained to exterminate the enemies of their
deity. Stealth, poison, and disguise help you eliminate your foes with
deadly efficiency
"""
name = "Assassin"
_proficiencies_text = ('disguise kit', "poisoner's kit")
features_by_level = defaultdict(list)
features_by_level[3] = [features.Assassinate]
features_by_level[9] = [features.InfiltrationExpertise]
features_by_level[13] = [features.Imposter]
features_by_level[17] = [features.DeathStrike]
A knight prefers to lead through deeds, not words. As a knight spearheads
an attack, the knight's actions can awaken reserves of courage and
conviction in allies that they never suspected they had.
"""
name = "Purple Dragon Knight"
features_by_level = defaultdict(list)
features_by_level[3] = [features.RallyingCry]
features_by_level[7] = [features.RoyalEnvoy]
features_by_level[10] = [features.InspiringSurge]
features_by_level[15] = [features.Bulwark]
# XGTE
class ArcaneArcher(SubClass):
"""An Arcane Archer studies a unique elven method of archery that weaves magic
into attacks to produce supernatural effects. Arcane Archers are some of
the most elite warriors among the elves. They stand watch over the fringes
of elven domains, keeping a keen eye out for trespassers and using
magic-infused arrows to defeat monsters and invaders before they can reach
elven set- tlements. Over the centuries, the methods of these elf archers
have been learned by members of other races who can also balance arcane
aptitude with archery.
"""
name = "Arcane Archer"
features_by_level = defaultdict(list)
features_by_level[3] = [features.ArcaneArcherLore, features.ArcaneShot]
features_by_level[7] = [features.MagicArrow, features.CurvingShot]
features_by_level[15] = [features.EverReadyShot]
"""As a conjurer, you favor spells that produce objects and creatures out o f
thin air. You can conjure billowing clouds of killing fog or summon
creatures from elsewhere to fight on your behalf. As your mastery grows,
you learn spells of transportation and can teleport yourself across vast
distances, even to other planes of existence, in an instant
"""
name = "School of Conjuration"
features_by_level = defaultdict(list)
features_by_level[2] = [features.ConjurationSavant, features.MinorIllusion]
features_by_level[6] = [features.BenignTransposition]
features_by_level[10] = [features.FocusedConjuration]
features_by_level[14] = [features.DurableSummons]
class Divination(SubClass):
"""The counsel of a diviner is sought by royalty and commoners alike, for all
seek a clearer understanding of the past, present, and future. As a
diviner, you strive to part the veils of space, time, and consciousness so
that you can see clearly. You work to master spells of discernment, remote
viewing, supernatural knowledge, and foresight.
"""
name = "School of Divination"
features_by_level = defaultdict(list)
features_by_level[2] = [features.DivinationSavant, features.Portent]
features_by_level[6] = [features.ExpertDivination]
features_by_level[10] = [features.TheThirdEye]
features_by_level[14] = [features.GreaterPortent]
class Enchantment(SubClass):
"""Many rangers are more at home in the wilds than in civilization, to the
point where animals consider them kin. Rangers of the Beast Conclave
develop a close bond with a beast, then further strengthen that bond
through the use of magic.
"""
name = "Beast Conclave"
features_by_level = defaultdict(list)
features_by_level[3] = [features.AnimalCompanion, features.CompanionsBond]
features_by_level[5] = [features.CoordinatedAttack]
features_by_level[7] = [features.BeastsDefense]
features_by_level[11] = [features.StormOfClawsAndFangs]
features_by_level[15] = [features.SuperiorBeastsDefense]
class HunterConclave(SubClass):
"""Some rangers seek to master weapons to better protect civilization from the
terrors of the wilderness. Members of the Hunter Conclave learn specialized
fighting techniques for use against the most dire threats, from rampaging
ogres and hordes of orcs to towering giants and terrifying dragons
"""
name = "Hunter Conclave"
features_by_level = defaultdict(list)
features_by_level = defaultdict(list)
features_by_level[3] = [features.HuntersPrey]
features_by_level[5] = [features.ExtraAttackRanger]
features_by_level[7] = [features.DefensiveTactics]
features_by_level[11] = [features.MultiattackRanger]
features_by_level[15] = [features.SuperiorHuntersDefense]
__all__ = ('Monk')
from collections import defaultdict
from dungeonsheets import features, weapons
from dungeonsheets.classes.classes import CharClass, SubClass
# PHB
class OpenHandWay(SubClass):
"""Monks of the Way of the Open Hand are the ultimate masters of martial arts
combat, whether armed or unarmed. They learn techniques to push and trip
their opponents, manipulate ki to heal damage to their bodies, and practice
advanced meditation that can protect them from harm.
"""
name = "Way of the Open Hand"
features_by_level = defaultdict(list)
features_by_level[3] = [features.OpenHandTechnique]
features_by_level[6] = [features.WholenessOfBody]
features_by_level[11] = [features.Tranquility]
features_by_level[17] = [features.QuiveringPalm]
class ShadowWay(SubClass):
"""Monks of the Way of Shadow follow a tradition that values stealth and
struggles to remain viable against the dark energy that imbues your
soul. At your option, you can pick from or roll on the Shadow Sorcerer
Quirks table to create a quirk for your character
"""
name = "Shadow Magic"
features_by_level = defaultdict(list)
features_by_level[1] = [features.EyesOfTheDark,
features.SuperiorDarkvision,
features.StrengthOfTheGrave]
features_by_level[6] = [features.HoundOfIllOmen]
features_by_level[14] = [features.ShadowWalk]
features_by_level[18] = [features.UmbralForm]
class StormSorcery(SubClass):
"""Your innate magic comes from the power of elemental air. Many with this
power can trace their magic back to a near-death experience caused by the
Great Rain, but perhaps you were born during a howling gale so powerful
that folk still tell stories of it, or your lineage might include the
influence of potent air creatures such as djinn. Whatever the case, the
magic of the storm permeates your being.
Storm sorcerers are invaluable members of a ship's crew. Their magic allows
them to exert control over wind and weather in their immediate area. Their
abilities also prove useful in repelling attacks by sahuagin, pirates,
and other waterborne threats.
"""
name = "Storm Sorcery"
languages = ("primordial",)
features_by_level = defaultdict(list)
from collections import defaultdict
from dungeonsheets import features, weapons
from dungeonsheets.classes.classes import CharClass, SubClass
# Eberron Rising from the Last War
class Alchemist(SubClass):
"""An Alchemist is an expert at combining reagents to produce mystical
effects. Alchemists use their creations to give life and to leech it away.
Alchemy is the oldest of artificer traditions, and its versatility has
long been valued during times of war and peace.
"""
name = "Alchemist"
features_by_level = defaultdict(list)
features_by_level[3] = [features.AlchemistToolProficiency,
features.AlchemistSpells,
features.ExperimentalElixir]
features_by_level[5] = [features.AlchemicalSavant]
features_by_level[9] = [features.RestorativeReagents]
features_by_level[15] = [features.ChemicalMastery]
the most elite warriors among the elves. They stand watch over the fringes
of elven domains, keeping a keen eye out for trespassers and using
magic-infused arrows to defeat monsters and invaders before they can reach
elven set- tlements. Over the centuries, the methods of these elf archers
have been learned by members of other races who can also balance arcane
aptitude with archery.
"""
name = "Arcane Archer"
features_by_level = defaultdict(list)
features_by_level[3] = [features.ArcaneArcherLore, features.ArcaneShot]
features_by_level[7] = [features.MagicArrow, features.CurvingShot]
features_by_level[15] = [features.EverReadyShot]
class Cavalier(SubClass):
"""The archetypal Cavalier excels at mounted combat. Usually born among the
nobility and raised at court, a Cavalier is equally at home leading a
cavalry charge or exchanging repartee at a state dinner. Cavaliers also
learn how to guard those in their charge from harm, often serving as the
protectors of their superiors and of the weak. Compelled to right wrongs or
earn prestige, many of these fighters leave their lives of comfort to
embark on glorious adventure
"""
name = "Cavalier"
features_by_level = defaultdict(list)
features_by_level[3] = [features.BonusProficiencyCavalier,
features.BornToTheSaddle, features.UnwaveringMark]
features_by_level[7] = [features.WardingManeuver]
features_by_level[10] = [features.HoldTheLine]
features_by_level[15] = [features.FerociousCharger]