mirror of
https://github.com/Threnklyn/dungeon-sheets.git
synced 2026-05-30 01:18:28 +02:00
523 lines
19 KiB
Python
523 lines
19 KiB
Python
from .features import Feature
|
||
from .. import spells
|
||
|
||
|
||
# PHB
|
||
class FontOfMagic(Feature):
|
||
"""At 2nd level, you tap into a deep wellspring of magic within yourself. This
|
||
wellspring is represented by sorcery points, which allow you to create a
|
||
variety of magical effects.
|
||
|
||
**Sorcery Points**: You have sorcery points equal to your Sorceror
|
||
Level. You can never have more sorcery points than shown on the table for
|
||
your level. You regain all spent sorcery points when you finish a long
|
||
rest.
|
||
|
||
**Flexible Casting**: You can use your sorcery points to gain additional
|
||
spell slots, or sacrifice spell slots to gain additional sorcery
|
||
points. You learn other ways to use your sorcery points as you reach higher
|
||
levels. You can transform unexpended sorcery points into one spell slot as
|
||
a bonus action on your turn. The Creating Spell Slots table shows the cost
|
||
of creating a spell slot of a given level. You can create spell slots no
|
||
higher in level than 5th. As a bonus action on your turn, you can expend
|
||
one spell slot and gain a number of sorcery points equal to the slot’s
|
||
level.
|
||
|
||
1st Level Slot <--> 2 sorcery points
|
||
|
||
2nd Level Slot <--> 3 sorcery points
|
||
|
||
3rd Level Slot <--> 5 sorcery points
|
||
|
||
4th Level Slot <--> 6 sorcery points
|
||
|
||
5th Level Slot <--> 7 sorcery points
|
||
|
||
"""
|
||
name = "Font of Magic"
|
||
source = "Sorceror"
|
||
|
||
|
||
class Metamagic(Feature):
|
||
"""At 3rd level, you gain the ability to twist your spells to suit your
|
||
needs. You gain two of the following Metamagic options of your choice. You
|
||
gain another one at 10th and 17th level. You can use only one Metamagic
|
||
option on a spell when you cast it, unless otherwise noted
|
||
|
||
"""
|
||
name = "Metamagic"
|
||
source = "Sorceror (Metamagic)"
|
||
|
||
|
||
class SorcerousRestoration(Feature):
|
||
"""At 20th level, you regain 4 expended sorcery points whenever you finish a
|
||
short rest.
|
||
|
||
"""
|
||
name = "Sorcerous Restoration"
|
||
source = "Sorceror"
|
||
|
||
|
||
# Metamagic
|
||
class CarefulSpell(Metamagic):
|
||
"""When you cast a spell that forces other creatures to make a saving throw,
|
||
you can protect some of those creatures from the spell’s full force. To do
|
||
so, you spend 1 sorcery point and choose a number o f those creatures up to
|
||
your Charisma modifier (minimum of one creature). A chosen creature
|
||
automatically succeeds on its saving throw against the spell.
|
||
|
||
"""
|
||
name = "Careful Spell"
|
||
|
||
|
||
class DistantSpell(Metamagic):
|
||
"""When you cast a spell that has a range of 5 feet or greater, you can spend
|
||
1 sorcery point to double the range of the spell. When you cast a spell
|
||
that has a range of touch, you can spend 1 sorcery point to make the range
|
||
of the spell 30 feet
|
||
|
||
"""
|
||
name = "Distant Spell"
|
||
|
||
|
||
class EmpoweredSpell(Metamagic):
|
||
"""When you roll damage for a spell, you can spend 1 sorcery point to reroll a
|
||
number of the damage dice up to your Charisma modifier (minimum of
|
||
one). You must use the new rolls. You can use Empowered Spell even if you
|
||
have already used a different Metamagic option during the casting of the
|
||
spell.
|
||
|
||
"""
|
||
name = "Empowered Spell"
|
||
|
||
|
||
class ExtendedSpell(Metamagic):
|
||
"""When you cast a spell that has a duration of 1 minute or longer, you can
|
||
spend 1 sorcery point to double its duration, to a maximum duration of 24
|
||
hours.
|
||
|
||
"""
|
||
name = "Extended Spell"
|
||
|
||
|
||
class HeightenedSpell(Metamagic):
|
||
"""When you cast a spell that forces a creature to make a saving throw to
|
||
resist its effects, you can spend 3 sorcery points to give one target of
|
||
the spell disadvantage on its first saving throw made against the spell
|
||
|
||
"""
|
||
name = "Heightened Spell"
|
||
|
||
|
||
class QuickenedSpell(Metamagic):
|
||
"""When you cast a spell that has a casting time of 1 action, you can spend 2
|
||
sorcery points to change the casting time to 1 bonus action for this
|
||
casting.
|
||
|
||
"""
|
||
name = "Quickened Spell"
|
||
|
||
|
||
class SubtleSpell(Metamagic):
|
||
"""When you cast a spell, you can spend 1 sorcery point to cast it without any
|
||
somatic or verbal components.
|
||
|
||
"""
|
||
name = "Subtle Spell"
|
||
|
||
|
||
class TwinnedSpell(Metamagic):
|
||
"""When you cast a spell that targets only one creature and doesn’t have a
|
||
range of self, you can spend a number of sorcery points equal to the
|
||
spell’s level to target a second creature in range with the same spell (1
|
||
sorcery point if the spell is a cantrip)
|
||
|
||
"""
|
||
name = "Twinned Spell"
|
||
|
||
|
||
# Wild Magic
|
||
class WildMagicSurge(Feature):
|
||
"""Starting when you choose this origin at 1st level, your spellcasting can
|
||
unleash surges of untamed magic. Immediately after you cast a sorcerer
|
||
spell of 1st level or higher, the DM can have you roll a d20. If you roll a
|
||
1, roll on the Wild Magic Surge table to create a random magical effect.
|
||
|
||
"""
|
||
name = "Wild Magic Surge"
|
||
source = "Sorceror (Wild Magic)"
|
||
|
||
|
||
class TidesOfChaos(Feature):
|
||
"""Starting at 1st level, you can manipulate the forces of chance and chaos to
|
||
gain advantage on one attack roll, ability check, or saving throw. Once you
|
||
do so, you must finish a long rest before you can use this feature again.
|
||
|
||
Any time before you regain the use of this feature, the DM can have you
|
||
roll on the Wild Magic Surge table immediately after you cast a sorcerer
|
||
spell of 1st level or higher. You then regain the use of this feature.
|
||
|
||
"""
|
||
name = "Tides of Chaos"
|
||
source = "Sorceror (Wild Magic)"
|
||
|
||
|
||
class BendLuck(Feature):
|
||
"""Starting at 6th level, you have the ability to twist fate using your wild
|
||
magic. When another creature you can see makes an attack roll, an ability
|
||
check, or a saving throw, you can use your reaction and spend 2 sorcery
|
||
points to roll 1d4 and apply the number rolled as a bonus or penalty (your
|
||
choice) to the creature’s roll. You can do so after the creature rolls but
|
||
before any effects of the roll occur.
|
||
|
||
"""
|
||
name = 'Bend Luck'
|
||
source = 'Sorceror (Wild Magic)'
|
||
|
||
|
||
class ControlledChaos(Feature):
|
||
"""At 14th level, you gain a modicum of control over the surges of your wild
|
||
magic. Whenever you roll on the Wild Magic Surge table, you can roll twice
|
||
and use either number.
|
||
|
||
"""
|
||
name = 'Controlled Chaos'
|
||
source = "Sorceror (Wild Magic)"
|
||
|
||
|
||
class SpellBombardment(Feature):
|
||
"""Beginning at 18th level, the harmful energy of your spells
|
||
intensifies. When you roll damage for a spell and roll the highest number
|
||
possible on any of the dice, choose one of those dice, roll it again and
|
||
add that roll to the damage. You can use the feature only once per turn.
|
||
|
||
"""
|
||
name = "Spell Bombardment"
|
||
source = "Sorceror (Wild Magic)"
|
||
|
||
|
||
# Draconic Ancestry
|
||
class DraconicResilience(Feature):
|
||
"""As magic flows through your body, it causes physical traits of your dragon
|
||
ancestors to emerge. At 1st level, your hit point maximum increases by 1
|
||
and increases by 1 again whenever you gain a level in this class.
|
||
|
||
Additionally, parts of your skin are covered by a thin sheen of dragon-like
|
||
scales. When you aren’t wearing armor, your AC equals 13 + your Dexterity
|
||
modifier.
|
||
|
||
This bonus is computed in the AC given on the Character Sheet above.
|
||
|
||
"""
|
||
name = "Draconic Resilience"
|
||
source = "Sorceror (Draconic Bloodline)"
|
||
|
||
|
||
class DragonAncestor(Feature):
|
||
"""At 1st level, you choose one type of dragon as your ancestor. The damage
|
||
type associated with each dragon is used by features you gain later
|
||
|
||
Dragon : Damage
|
||
|
||
Black : Acid
|
||
|
||
Blue : Lightning
|
||
|
||
Brass : Fire
|
||
|
||
Bronze : Lightning
|
||
|
||
Copper : Acid
|
||
|
||
Gold : Fire
|
||
|
||
Green : Poison
|
||
|
||
Red : Fire
|
||
|
||
Silver : Cold
|
||
|
||
White : Cold
|
||
|
||
You can speak, read, and write Draconic. Additionally, whenever you make a
|
||
Charisma check when interacting with dragons, your proficiency bonus is
|
||
doubled if it applies to the check.
|
||
|
||
"""
|
||
name = "Dragon Ancestor"
|
||
source = "Sorceror (Draconic Bloodline)"
|
||
|
||
|
||
class ElementalAffinity(Feature):
|
||
"""Starting at 6th level, when you cast a spell that deals damage of the type
|
||
associated with your draconic ancestry, add your Charisma modifier to that
|
||
damage. At the same time, you can spend 1 sorcery point to gain resistance
|
||
to that damage type for 1 hour
|
||
|
||
"""
|
||
name = "Elemental Affinity"
|
||
source = "Sorceror (Draconic Bloodline)"
|
||
|
||
|
||
class DragonWings(Feature):
|
||
"""At 14th level, you gain the ability to sprout a pair of dragon wings from
|
||
your back, gaining a flying speed equal to your current speed. You can
|
||
create these wings as a bonus action on your turn. They last until you
|
||
dismiss them as a bonus action on your turn. You can’t manifest your wings
|
||
while wearing armor unless the armor is made to accommodate them, and
|
||
clothing not made to accommodate your wings might be destroyed when you
|
||
manifest them
|
||
|
||
"""
|
||
name = "Dragon Wings"
|
||
source = "Sorceror (Draconic Bloodline)"
|
||
|
||
|
||
class DraconicPresence(Feature):
|
||
"""Beginning at 18th level, you can channel the dread presence of your dragon
|
||
ancestor, causing those around you to become awestruck or frightened. As an
|
||
action, you can spend 5 sorcery points to draw on this power and exude an
|
||
aura of awe or fear (your choice) to a distance of 60 feet. For 1 minute or
|
||
until you lose your concentration (as if you were casting a concentration
|
||
spell), each hostile creature that starts its turn in this aura must
|
||
succeed on a Wisdom saving throw or be charmed (if you chose awe) or
|
||
frightened (if you chose fear) until the aura ends. A creature that
|
||
succeeds on this saving throw is immune to your aura for 24 hours.
|
||
|
||
"""
|
||
name = "Draconic Presence"
|
||
source = "Sorceror (Draconic Bloodline)"
|
||
|
||
|
||
# Divine Soul
|
||
class DivineMagic(Feature):
|
||
"""Your link to the divine allows you to learn spells from the cleric
|
||
class. When your Spellcasting feature lets you learn or replace a sorcerer
|
||
cantrip or a sorcerer spell of 1st level or higher, you can choose the new
|
||
spell from the cleric spell list or the sorcerer spell list. You must
|
||
otherwise obey all the restrictions for selecting the spell, and it becomes
|
||
a sorcerer spell for you.
|
||
|
||
In addition, choose an affinity for the source of your divine power: good,
|
||
evil, law, chaos, or neutrality. You learn an additional spell based on
|
||
that affinity, as shown below. It is a sorcerer spell for you, but it
|
||
doesn’t count against your number of sorcerer spells known. If you later
|
||
replace this spell, you must replace it with a Spell from the cleric spell
|
||
list
|
||
|
||
Good : Cure Wounds
|
||
|
||
Evil : Inflict Wounds
|
||
|
||
Law : Bless
|
||
|
||
Chaos : Bane
|
||
|
||
Neutrality : Protection from Evil and Good
|
||
|
||
"""
|
||
name = "Divine Magic"
|
||
source = "Sorceror (Divine Soul)"
|
||
|
||
|
||
class FavoredByTheGods(Feature):
|
||
"""Starting at 1st level, divine power guards your destiny. If you fail a
|
||
saving throw or miss with an attack roll, you can roll 2d4 and add it to
|
||
the total, possibly changing
|
||
|
||
"""
|
||
name = "Favored by the Gods"
|
||
source = "Sorceror (Divine Soul)"
|
||
|
||
|
||
class EmpoweredHealing(Feature):
|
||
"""Starting at 6th level, the divine energy coursing through you can empower
|
||
healing spells. Whenever you or an ally within 5 feet of you rolls dice to
|
||
determine the number of hit points a spell restores, you can spend 1
|
||
sorcery point to reroll any number of those dice once, provided you aren't
|
||
incapacitated. You can use this feature only once per turn.
|
||
|
||
"""
|
||
name = "Empowered Healing"
|
||
source = "Sorceror (Divine Soul)"
|
||
|
||
|
||
class OtherworldlyWings(Feature):
|
||
"""Starting at 14th level, you can use a bonus action to manifest a pair of
|
||
spectral wings from your back. While the wings are present, you have a
|
||
flying speed of 30 feet. The wings last until you're incapacitated, you
|
||
die, or you dismiss them as a bonus action. The affinity you chose for your
|
||
Divine Magic feature determines the appearance of the spectral wings: eagle
|
||
wings for good or law, bat wings for evil or chaos, and dragonfly wings for
|
||
neutrality
|
||
|
||
"""
|
||
name = "Otherworldly Wings"
|
||
source = "Sorceror (Divine Soul)"
|
||
|
||
|
||
class UnearthlyRecovery(Feature):
|
||
"""At 18th level, you gain the ability to overcome grievous injuries. As a
|
||
bonus action when you have fewer than half of your hit points remaining,
|
||
you can regain a number of hit points equal to half your hit point
|
||
maximum. Once you use this feature, you can’t use it again until you finish
|
||
a long rest
|
||
|
||
"""
|
||
name = "Unearthly Recovery"
|
||
source = "Sorceror (Divine Soul)"
|
||
|
||
|
||
class EyesOfTheDark(Feature):
|
||
"""Starting at lst level, you have darkvision with a range of 120 feet. When
|
||
you reach 3rd level in this class, you learn the darkness spell, which
|
||
doesn’t count against your number of sorcerer spells known. In addition,
|
||
you can cast it by spending 2 sorcery points or by expending a spell
|
||
slot. If you cast it with sorcery points, you can see through the darkness
|
||
created by the spell.
|
||
|
||
"""
|
||
name = "Eyes of the Dark"
|
||
source = "Sorceror (Shadow Magic)"
|
||
spells_known = (spells.Darkness,)
|
||
spells_prepared = (spells.Darkness,)
|
||
|
||
|
||
class StrengthOfTheGrave(Feature):
|
||
"""Starting at lst level, your existence in a twilight state between life
|
||
and death makes you difficult to defeat. When damage reduces you to 0 hit
|
||
points, you can make a Charisma saving throw (DC 5 + the damage taken). On
|
||
a success, you instead drop to 1 hit point. You can’t use this feature if
|
||
you are reduced to 0 hit points by radiant damage or by a critical
|
||
hit. After the saving throw succeeds, you can’t use this feature again
|
||
until you finish a long rest
|
||
|
||
"""
|
||
name = "Strength of the Grave"
|
||
source = "Sorceror (Shadow Magic)"
|
||
|
||
|
||
class HoundOfIllOmen(Feature):
|
||
"""At 6th level, you gain the ability to call forth a howling creature of
|
||
darkness to harass your foes. As a bonus action, you can spend 3 sorcery
|
||
points to magically summon a hound of ill omen to target one creature you
|
||
can see within 120 feet of you. The hound uses the dire wolf’s statistics
|
||
(see the Monster Manual or appendix C in the Player’s Handbook), with the
|
||
following changes:
|
||
|
||
-- The hound is size Medium, not Large, and it counts as a monstrosity, not
|
||
a beast.
|
||
|
||
-- It appears with a number of temporary hit points equal to half your
|
||
sorcerer level.
|
||
|
||
-- It can move through other creatures and objects as if they were
|
||
difficult terrain. The bound takes 5 force damage if it ends its turn
|
||
inside an object.
|
||
|
||
-- At the start of its turn, the hound automatically knows its target's
|
||
location. If the target was hidden, it is no longer hidden from the hound.
|
||
|
||
The hound appears in an unoccupied space of your choice within 30 feet of
|
||
the target. Roll initiative for the hound. On its turn, it can move only
|
||
toward its target by the most direct route, and it can use its action only
|
||
to attack its target. The hound can make opportunity attacks but only
|
||
against its target. Additionally, while the hound is within 5 feet of the
|
||
target, the target has disadvantage on saving throws against any spell you
|
||
cast. The hound disappears if it is reduced to 0 hit points, if its target
|
||
is reduced to 0 hit points, or after 5 minutes.
|
||
|
||
"""
|
||
name = "Hound of Ill Omen"
|
||
source = "Sorceror (Shadow Magic)"
|
||
|
||
|
||
class ShadowWalk(Feature):
|
||
"""At 14th level, you gain the ability to step from one shadow into
|
||
another. When you are in dim light or darkness, as a bonus action, you
|
||
can magically teleport up to 120 feet to an unoccupied space you can see
|
||
that is also in dim light or darkness
|
||
|
||
"""
|
||
name = "Shadow Walk"
|
||
source = "Sorceror (Shadow Magic)"
|
||
|
||
|
||
class UmbralForm(Feature):
|
||
"""Starting at 18th level, you can spend 6 sorcery points as a bonus action to
|
||
magically transform yourself into a shadowy form. In this form, you have
|
||
resistance to all damage except force and radiant damage, and you can move
|
||
through other creatures and objects as if they were difficult terrain. You
|
||
take 5 force damage if you end your turn inside an object. You remain in
|
||
this form for 1 minute. It ends early if you are incapacitated, if you die,
|
||
or if you dismiss it as a bonus action.
|
||
|
||
"""
|
||
name = "Umbral Form"
|
||
source = "Sorceror (Shadow Magic)"
|
||
|
||
|
||
# Storm Sorcery
|
||
class TempestuousMagic(Feature):
|
||
"""Starting at 1st level, you can use a bonus action on your turn to cause
|
||
whirling gusts of elemental air to briefly surround you, immediately before
|
||
or after you cast a spell of 1st level or higher. Doing so allows you to
|
||
fly up to 10 feet without provoking opportunity attacks
|
||
|
||
"""
|
||
name = "Tempestuous Magic"
|
||
source = "Sorceror (Storm Sorcery)"
|
||
|
||
|
||
class HeartOfTheStorm(Feature):
|
||
"""At 6th level, you gain resistance to lightning and thunder damage. In
|
||
addition, whenever you start casting a spell of 1st level or higher that
|
||
deals lightning or thunder damage, stormy magic erupts from you. This
|
||
eruption causes creatures ofyour choice that you can see within 10 feet of
|
||
you to take lightning or thunder damage (choose each time this ability
|
||
activates) equal to half your sorcerer level.
|
||
|
||
"""
|
||
name = "Heart of the Storm"
|
||
source = "Sorceror (Storm Sorcery)"
|
||
|
||
|
||
class StormGuide(Feature):
|
||
"""At 6th level, you gain the ability to subtly control the weather around
|
||
you. Ifit is raining, you can use an action to cause the rain to stop
|
||
falling in a 20-foot—radius sphere centered on you. You can end this effect
|
||
as a bonus action. If it is windy, you can use a bonus action each round to
|
||
choose the direction that the wind blows in a IOO-foot-radius sphere
|
||
centered on you. The wind blows in that direction until the end ofyour next
|
||
turn. This feature doesn't alter the speed of the wind.
|
||
|
||
"""
|
||
name = "Storm Guide"
|
||
source = "Sorceror (Storm Sorcery)"
|
||
|
||
|
||
class StormsFury(Feature):
|
||
"""Starting at 14th level, when you are hit by a melee attack, you can use
|
||
your reaction to deal lightning damage to the attacker. The damage equals
|
||
your sorcerer level. The attacker must also make a Strength saving throw
|
||
against your sorcerer spell save DC. On a failed save, the attacker is
|
||
pushed in a straight line up to 20 feet away from you.
|
||
|
||
"""
|
||
name = "Storm's Fury"
|
||
source = "Sorceror (Storm Sorcery)"
|
||
|
||
|
||
class WindSoul(Feature):
|
||
"""At 18th level, you gain immunity to lightning and thunder damage. You also
|
||
gain a magical flying speed of 60 feet. As an action. you can reduce your
|
||
flying speed to 30 feet for 1 hour and choose a number of creatures within
|
||
30 feet ofyou equal to 3 + your Charisma modifier. The chosen creatures
|
||
gain a magical flying speed of 30 feet for 1 hour. Once you reduce your
|
||
flying speed in this way, you can’t do so again until you finish a short or
|
||
long rest
|
||
|
||
"""
|
||
name = "Wind Soul"
|
||
source = "Sorceror (Storm Sorcery)"
|