Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
hostile creature, that creature must succeed on a Dexterity saving throw to
avoid the spell.
"""
name = "Light"
level = 0
casting_time = "1 action"
casting_range = "Touch"
components = ('V', 'M')
materials = """A firefly or phosphorescent moss"""
duration = "1 hour"
ritual = False
magic_school = "Evocation"
classes = ('Bard', 'Cleric', 'Sorcerer', 'Wizard')
class LightningArrow(Spell):
"""The next time you make a ranged weapon attack during the spell's duration, the
weapon's ammunition, or the weapon itself if it's a thrown weapon, transforms
into a bolt of lightning. Make the attack roll as normal, The target takes 4d8
lightning damage on a hit, or half as much damage on a miss, instead of the
weapon's normal damage.
Whether you hit or miss, each creature within 10 feet
of the target must make a Dexterity saving throw. Each of these creatures takes
2d8 lightning damage on a failed save, or half as much damage on a successful
one.
The piece of ammunition or weapon then returns to its normal form.
At
Higher Levels: When you cast this spell using a spell slot of 4th level or
higher, the damage for both effects of the spell increases by 1d8 for each slot
shut. The object you create can have up to two hinges and a latch, but finer
mechanical detail isn’t possible.
"""
name = "Stone Shape"
level = 4
casting_time = "1 action"
casting_range = "Touch"
components = ('V', 's', 'm')
materials = """Soft clay, which must be worked into roughly the desired shape of the stone object"""
duration = "Instantaneous"
ritual = False
magic_school = "Transmutation"
classes = ('Cleric', 'Druid', 'Wizard')
class Stoneskin(Spell):
"""This spell turns the flesh of a willing creature you touch as hard as stone.
Until the spell ends, the target has resistance to nonmagical bludgeoning,
piercing, and slashing damage.
"""
name = "Stoneskin"
level = 4
casting_time = "1 action"
casting_range = "Touch"
components = ('V', 's', 'm')
materials = """Diamond dust worth 100 gp, which the spell consumes"""
duration = "Concentration, up to 1 hour"
ritual = False
magic_school = "Abjuration"
classes = ('Druid', 'Ranger', 'Sorcerer', 'Wizard')
doors hidden by magic, and can see into the Ethereal Plane, all out to a range
of 120 feet.
"""
name = "True Seeing"
level = 6
casting_time = "1 action"
casting_range = "Touch"
components = ('V', 'S', 'M')
materials = """An ointment for the eyes that costs 25 gp; is made from mushroom powder, saffron, and fat; and is consumed by the spell"""
duration = "1 hour"
ritual = False
magic_school = "Divination"
classes = ('Bard', 'Cleric', 'Sorcerer', 'Warlock', 'Wizard')
class TrueStrike(Spell):
"""You extend your hand and point a finger at a target in range. Your magic grants
you a brief insight into the target's defenses. On your next turn, you gain
advantage on your first attack roll against the target, provided that this spell
hasn't ended.
"""
name = "True Strike"
level = 0
casting_time = "1 action"
casting_range = "30 feet"
components = ('S',)
materials = """"""
duration = "Concentration, up to 1 round"
ritual = False
magic_school = "Divination"
classes = ('Bard', 'Sorcerer', 'Warlock', 'Wizard')
cast wish ever again if you suffer this stress.
"""
name = "Wish"
level = 9
casting_time = "1 action"
casting_range = "Self"
components = ('V',)
materials = """"""
duration = "Instantaneous"
ritual = False
magic_school = "Conjuration"
classes = ('Sorcerer', 'Wizard')
class WitchBolt(Spell):
"""A beam of crackling, blue energy lances out toward a creature within range,
forming a sustained arc of lightning between you and the target.
Make a ranged spell attack against that creature. On a hit, the
target takes 1d12 lightning damage, and on each of your turns for
the duration, you can use your action to deal 1d12 lightning
damage to the target automatically. The spell ends if you use your
action to do anything else. The spell also ends if the target is
ever outside the spell's range or if it has total cover from you.
**At Higher Levels:** When you cast this spell using a spell slot
of 2nd level or higher, the initial damage increases by 1d12 for
each slot level above 1st.
"""
name = "Witch Bolt"
If you target a creature submerged in a liquid, the spell carries the target to
the surface of the liquid at a rate of 60 feet per round.
"""
name = "Water Walk"
level = 3
casting_time = "1 action"
casting_range = "30 feet"
components = ('V', 'S', 'M')
materials = """A piece of cork"""
duration = "1 hour"
ritual = True
magic_school = "Transmutation"
classes = ('Cleric', 'Druid', 'Ranger', 'Sorcerer')
class WaterySphere(Spell):
"""You conjure up a sphere of water with a 5-foot radius on a point
you can see within range. The sphere can hover in the air, but no
more than 10 feet off the ground. The sphere remains for the
spell's duration.
Any creature in the sphere's space must make a Strength saving
throw. On a successful save, a creature is ejected from that space
to the nearest unoccupied space outside it. A Huge or larger
creature succeeds on the saving throw automatically. On a failed
save, a creature is restrained by the sphere and is engulfed by
the water. At the end of each of its turns, a restrained target
can repeat the saving throw.
The sphere can restrain a maximum of four Medium or smaller
creatures or one Large creature. If the sphere restrains a
creature in excess of these numbers, a random creature that was
For the
duration, that creature has darkvision out to a range of 60 feet.
"""
name = "Darkvision"
level = 2
casting_time = "1 action"
casting_range = "Touch"
components = ('V', 'S', 'M')
materials = """Either a pinch of dried carrot or an agate"""
duration = "8 hours"
ritual = False
magic_school = "Transmutation"
classes = ('Sorcerer', 'Wizard', 'Druid', 'Ranger')
class Dawn(Spell):
"""The light of dawn shines down on a location you specify within range. Until the
spell ends, a 30-foot-radius.40-foot-high cylinder of bright light glimmers
there. This light is sunlight. When the cylinder appears, each creature in it
must make a Constitution saving throw, taking 4d10 radiant damage on a failed
save, or half as much damage on a successful one. A creature must also make this
saving throw whenever it ends its turn in the cylinder. If you're within 60
feet of the cylinder, you can move it up to 60 feet as a bonus action on your
turn.
"""
name = "Dawn"
level = 5
casting_time = "1 action"
casting_range = "60 feet"
components = ('V', 'S', 'M')
materials = """A sunburst pendant worth at least 100 gp"""
duration = "Concentration, up to 1 minute"
Dispel magic or a similar
effect successfully applied to the sapphire ends this spell's effect.
"""
name = "Drawmijs Instant Summons"
level = 6
casting_time = "1 minute"
casting_range = "Touch"
components = ('V', 'S', 'M')
materials = """A sapphire worth 1,000 gp"""
duration = "Until dispelled"
ritual = True
magic_school = "Conjuration"
classes = ('Wizard',)
class Dream(Spell):
"""This spell shapes a creature's dreams. Choose a creature known to you
as the target of this spell. The target must be on the same plane of
existence as you. Creatures that don't sleep, such as elves, can't be
contacted by this spell. You, or a willing creature you touch, enters
a trance state, acting as a messenger. While in the trance, the
messenger is aware of his or her surroundings, but can't take actions
or move.
If the target is asleep, the messenger appears in the
target's dreams and can converse with the target as long as it remains
asleep, through the duration of the spell. The messenger can also
shape the environment of the dream, creating landscapes, objects, and
other images. The messenger can emerge from the trance at any time,
ending the effect of the spell early. The target recalls the dream
perfectly upon waking. If the target is awake when you cast the spell,
the messenger knows it, and can either end the trance (and the spell)
most barriers, but it is blocked by 1 foot of stone, 1 inch of common metal, a
thin sheet of lead, or 3 feet of wood or dirt.
"""
name = "Detect Evil And Good"
level = 1
casting_time = "1 action"
casting_range = "Self"
components = ('V', 'S')
materials = """"""
duration = "Concentration, up to 10 minutes"
ritual = False
magic_school = "Divination"
classes = ('Cleric', 'Paladin')
class DetectMagic(Spell):
"""For the duration, you sense the presence of magic within 30 feet of you. If you
sense magic in this way, you can use your action to see a faint aura around any
visible creature or object in the area that bears magic, and you learn its
school of magic, if any.
The spell can penetrate most barriers, but is blocked
by 1 foot of stone, 1 inch of common metal, a thin sheet of lead, or 3 feet of
wood or dirt.
"""
name = "Detect Magic"
level = 1
casting_time = "1 action"
casting_range = "Self"
components = ('V', 'S')
materials = """"""
duration = "Concentration, up to 10 minutes"
from .spells import Spell
class Earthquake(Spell):
"""You create a seismic disturbance at a point on the ground that you
can see within range. For the duration, an intense tremor rips
through the ground in a 100-foot-radius circle centered on that
point and shakes creatures and structures in contact with the
ground in that area. The ground in the area becomes difficult
terrain. Each creature on the ground that is concentrating must
make a Constitution saving throw. On a failed save, the creature’s
concentration is broken. When you cast this spell and at the end
of each turn you spend concentrating on it, each creature on the
ground in the area must make a Dexterity saving throw. On a failed
save, the creature is knocked prone. This spell can have
additional effects depending on the terrain in the area, as
determined by the DM. Fissures. Fissures open throughout the
spell’s area at the start of your next turn after you cast the
spell. A total of 1d6 such fissures open in locations chosen by
the DM. Each is 1d10 × 10 feet deep, 10 feet wide, and extends
special component to create only one prison at a time. If you cast
the spell again using the same component, the target of the first
casting is immediately freed from its binding.
"""
name = "Imprisonment"
level = 9
casting_time = "1 minute"
components = ('V', 'S', 'M')
materials = "a vellum depiction or a carved statuette in the likeness of the target, and a special component that varies according to the version of the spell you choose, worth at least 500 gp per Hit Die of the target"
duration = "Until dispelled"
magic_school = "Abjuration"
classes = ()
class InflictWounds(Spell):
"""Make a melee spell attack against a creature you can reach. On a
hit, the target takes 3d10 necrotic damage. At Higher Levels. When
you cast this spell using a spell slot of 2nd level or higher, the
damage increases by 1d10 for each slot level above 1st.
"""
name = "Inflict Wounds"
level = 1
casting_time = "1 action"
components = ('V', 'S')
materials = ""
duration = "Instantaneous"
magic_school = "Necromancy"
classes = ()