mirror of
https://github.com/Threnklyn/dungeon-sheets.git
synced 2026-05-30 09:28:28 +02:00
782 lines
29 KiB
Python
782 lines
29 KiB
Python
from .features import Feature
|
||
from .. import spells
|
||
|
||
|
||
# Cleric Features
|
||
class ChannelDivinity(Feature):
|
||
"""At 2nd level, you gain the ability to channel divine energy directly from
|
||
your deity, using that energy to fuel magical effects. You start with two
|
||
such effects: Turn Undead and an effect determined by your domain. Some
|
||
domains grant you additional effects as you advance in levels, as noted in
|
||
the domain description.
|
||
|
||
When you use your Channel Divinity, you choose which effect to create. You
|
||
must then finish a short or long rest to use your Channel Divinity again.
|
||
|
||
Some Channel Divinity effects require saving throws. When you use such an
|
||
effect from this class, the DC equals your cleric spell save DC.
|
||
|
||
Beginning at 6th level, you can use your Channel Divinity twice between
|
||
rests, and beginning at 18th level you can use it three times between
|
||
rests. When you finish a short or long rest, you regain your expended uses.
|
||
|
||
"""
|
||
_name = "Channel Divinity"
|
||
source = "Cleric"
|
||
|
||
@property
|
||
def name(self):
|
||
level = self.owner.Cleric.level
|
||
if level < 6:
|
||
return "Channel Divinity (1x/SR)"
|
||
elif level < 18:
|
||
return "Channel Divinity (2x/SR)"
|
||
else:
|
||
return "Channel Divinity (3x/SR)"
|
||
|
||
|
||
class TurnUndead(Feature):
|
||
"""As an action, you present your holy symbol and speak a prayer censuring the
|
||
undead. Each undead that can see or hear you within 30 feet of you must
|
||
make a Wisdom saving throw. If the creature fails its saving throw, it is
|
||
turned for 1 minute or until it takes any damage.
|
||
|
||
A turned creature must spend its turns trying to move as far away from you
|
||
as it can, and it can’t willingly move to a space within 30 feet of you. It
|
||
also can’t take reactions. For its action, it can use only the Dash action
|
||
or try to escape from an effect that prevents it from moving. If there’s
|
||
nowhere to move, the creature can use the Dodge action.
|
||
|
||
"""
|
||
name = "Channel Divinity: Turn Undead"
|
||
source = "Cleric"
|
||
|
||
|
||
class DestroyUndead(Feature):
|
||
"""Starting at 5th level, when an undead fails its saving throw against your
|
||
Turn Undead feature, the creature is instantly destroyed if its challenge
|
||
rating is at or below a certain threshold, as shown in the Destroy Undead
|
||
table.
|
||
|
||
"""
|
||
_name = "Destroy Undead"
|
||
source = "Cleric"
|
||
|
||
@property
|
||
def name(self):
|
||
level = self.owner.Cleric.level
|
||
name = self._name + ' (CR 1/2)'
|
||
if level >= 8:
|
||
name = self._name + ' (CR 1)'
|
||
if level >= 11:
|
||
name = self._name + ' (CR 2)'
|
||
if level >= 14:
|
||
name = self._name + ' (CR 3)'
|
||
if level >= 17:
|
||
name = self._name + ' (CR 4)'
|
||
return name
|
||
|
||
|
||
class DivineIntervention(Feature):
|
||
"""Beginning at 10th level, you can call on your deity to intervene on your
|
||
behalf when your need is great.
|
||
|
||
Imploring your deity’s aid requires you to use your action. Describe the
|
||
assistance you seek, and roll percentile dice. If you roll a number equal
|
||
to or lower than your cleric level, your deity intervenes. The DM chooses
|
||
the nature of the intervention; the effect of any cleric spell or cleric
|
||
domain spell would be appropriate.
|
||
|
||
If your deity intervenes, you can’t use this feature again for 7
|
||
days. Otherwise, you can use it again after you finish a long rest.
|
||
|
||
At 20th level, your call for intervention succeeds automatically, no roll
|
||
required.
|
||
|
||
"""
|
||
name = "Divine Intervention"
|
||
source = "Cleric"
|
||
|
||
|
||
class DivineStrike(Feature):
|
||
"""
|
||
Generic Divine Strike
|
||
"""
|
||
_name = "Divine Strike"
|
||
source = "Cleric"
|
||
|
||
@property
|
||
def name(self):
|
||
level = self.owner.Cleric.level
|
||
damage = ' (1d8)'
|
||
if level >= 14:
|
||
damage = ' (2d8)'
|
||
return self._name + damage
|
||
|
||
|
||
# Knowledge Domain
|
||
class BlessingsOfKnowledge(Feature):
|
||
"""At 1st level, you learn two languages of your choice. You also become
|
||
proficient in your choice o f two of the following skills: Arcana, History,
|
||
Nature, or Religion. Your proficiency bonus is doubled for any ability
|
||
check you make that uses either of those skills.
|
||
|
||
"""
|
||
name = "Blessings of Knowledge"
|
||
source = "Cleric (Knowledge Domain)"
|
||
|
||
|
||
class KnowledgeOfTheAncients(DivineIntervention):
|
||
"""Starting at 2nd level, you can use your Channel Divinity to tap into a
|
||
divine well o f knowledge. As an action, you choose one skill or tool. For
|
||
10 minutes, you have proficiency with the chosen skill or tool.
|
||
|
||
"""
|
||
name = "Divine Intervention: Knowledge of the Ancients"
|
||
source = "Cleric (Knowledge Domain)"
|
||
|
||
|
||
class ReadThoughts(DivineIntervention):
|
||
"""At 6th level, you can use your Channel Divinity to read a creature’s
|
||
thoughts. You can then use your access to the creature’s mind to command
|
||
it. As an action, choose one creature that you can see within 60 feet of
|
||
you. That creature must make a Wisdom saving throw. If the creature
|
||
succeeds on the saving throw, you can’t use this feature on it again until
|
||
you finish a long rest.
|
||
|
||
If the creature fails its save, you can read its surface thoughts (those
|
||
foremost in its mind, reflecting its current emotions and what it is
|
||
actively thinking about) when it is within 60 feet of you. This effect
|
||
lasts for 1 minute. During that time, you can use your action to end this
|
||
effect and cast the suggestion spell on the creature without expending a
|
||
spell slot. The target automatically fails its saving throw against the
|
||
spell.
|
||
|
||
"""
|
||
name = "Divine Intervention: Read Thoughts"
|
||
source = "Cleric (Knowledge Domain)"
|
||
|
||
|
||
class PotentSpellcasting(Feature):
|
||
"""Starting at 8th level, you add your W isdom modifier to the damage you deal
|
||
with any cleric cantrip.
|
||
|
||
"""
|
||
name = "Potent Spellcasting"
|
||
source = "Cleric"
|
||
|
||
|
||
class VisionsOfThePast(Feature):
|
||
"""Starting at 17th level, you can call up visions of the past that relate to
|
||
an object you hold or your immediate surroundings. You spend at least 1
|
||
minute in meditation and prayer, then receive dreamlike, shadowy glimpses
|
||
of recent events. You can meditate in this way for a number of minutes
|
||
equal to your Wisdom score and must maintain concentration during that
|
||
time, as if you were casting a spell. Once you use this feature, you can’t
|
||
use it again until you finish a short or long rest.
|
||
|
||
**Object Reading**: Holding an object as you meditate, you can see visions
|
||
of the object’s previous owner. After meditating for 1 minute, you learn
|
||
how the owner acquired and lost the object, as well as the most recent
|
||
significant event involving the object and that owner. If the object was
|
||
owned by another creature in the recent past (within a number of days equal
|
||
to your Wisdom score), you can spend 1 additional minute for each owner to
|
||
learn the same information about that creature.
|
||
|
||
**Area Reading**: As you meditate, you see visions of recent events in your
|
||
immediate vicinity (a room, street, tunnel, clearing, or the like, up to a
|
||
50-foot cube), going back a number of days equal to your Wisdom score. For
|
||
each minute you meditate, you learn about one significant event, beginning
|
||
with the most recent. Significant events typically involve powerful
|
||
emotions, such as battles and betrayals, marriages and murders, births and
|
||
funerals. However, they might also include more mundane events that are
|
||
nevertheless important in your current situation.
|
||
|
||
"""
|
||
name = "Visions of the Past"
|
||
source = "Cleric (Knowledge Domain)"
|
||
|
||
|
||
# Life Domain
|
||
class DiscipleOfLife(Feature):
|
||
"""Also starting at 1st level, your healing spells are more
|
||
effective. Whenever you use a spell of 1st level or higher to restore hit
|
||
points to a creature, the creature regains additional hit points equal to 2
|
||
+ the spell’s level
|
||
|
||
"""
|
||
name = "Disciple of Life"
|
||
source = "Cleric (Life Domain)"
|
||
|
||
|
||
class PreserveLife(ChannelDivinity):
|
||
"""Starting at 2nd level, you can use your Channel Divinity to heal the badly
|
||
injured. As an action, you present your holy symbol and evoke healing
|
||
energy that can restore a number of hit points equal to five times your
|
||
cleric level. Choose any creatures within 30 feet of you, and divide those
|
||
hit points among them. This feature can restore a creature to no more than
|
||
half of its hit point maximum. You can’t use this feature on an undead or a
|
||
construct.
|
||
|
||
"""
|
||
name = "Channel Divinity: Preserve Life"
|
||
source = "Cleric (Life Domain)"
|
||
|
||
|
||
class BlessedHealer(Feature):
|
||
"""Beginning at 6th level, the healing spells you cast on others heal you as
|
||
well. When you cast a spell of 1st level or higher that restores hit points
|
||
to a creature other than you, you regain hit points equal to 2 + the
|
||
spell’s level.
|
||
|
||
"""
|
||
name = "Blessed Healer"
|
||
source = "Cleric (Life Domain)"
|
||
|
||
|
||
class DivineStrikeLife(DivineStrike):
|
||
"""At 8th level, you gain the ability to infuse your weapon strikes with
|
||
divine energy. Once on each o f your turns when you hit a creature with a
|
||
weapon attack, you can cause the attack to deal an extra 1d8 radiant damage
|
||
to the target. When you reach 14th level, the extra damage increases to
|
||
2d8.
|
||
|
||
"""
|
||
source = "Cleric (Life Domain)"
|
||
|
||
|
||
class SupremeHealing(Feature):
|
||
"""Starting at 17th level, when you would normally roll one or more dice to
|
||
restore hit points with a spell, you instead use the highest number
|
||
possible for each die. For example, instead of restoring 2d6 hit points to
|
||
a creature, you restore 12.
|
||
|
||
"""
|
||
name = "Supreme Healing"
|
||
source = "Cleric (Life Domain)"
|
||
|
||
|
||
# Light Domain
|
||
class WardingFlare(Feature):
|
||
"""At 1st level, you can interpose divine light between yourself and an
|
||
attacking enemy. When you are attacked by a creature within 30 feet of you
|
||
that you can see, you can use your reaction to impose disadvantage on the
|
||
attack roll, causing light to flare before the attacker before it hits or
|
||
misses. An attacker that can’t be blinded is immune to this feature. You
|
||
can use this feature a number of times equal to your Wisdom modifier (a
|
||
minimum of once). You regain all expended uses when you finish a long rest
|
||
|
||
"""
|
||
_name = "Warding Flare"
|
||
source = "Cleric (Light Domain)"
|
||
|
||
@property
|
||
def name(self):
|
||
times = max(1, self.owner.wisdom.modifier)
|
||
return self._name + " ({:d}x/LR)".format(times)
|
||
|
||
|
||
class RadianceOfTheDawn(ChannelDivinity):
|
||
"""Starting at 2nd level, you can use your Channel Divinity to harness
|
||
sunlight, banishing darkness and dealing radiant damage to your foes. As an
|
||
action, you present your holy symbol, and any magical darkness within 30
|
||
feet of you is dispelled.
|
||
|
||
Additionally, each hostile creature within 30 feet of you must make a
|
||
Constitution saving throw. A creature takes radiant damage equal to 2d10 +
|
||
your cleric level on a failed saving throw, and half as much damage on a
|
||
successful one. A creature that has total cover from you is not affected.
|
||
|
||
"""
|
||
name = "Channel Divinity: Radiance of the Dawn"
|
||
source = "Cleric (Light Domain)"
|
||
|
||
|
||
class ImprovedFlare(Feature):
|
||
"""Starting at 6th level, you can also use your Warding Flare feature when a
|
||
creature that you can see within 30 feet o f you attacks a creature other
|
||
than you.
|
||
|
||
"""
|
||
name = "Improved Flare"
|
||
source = "Cleric (Light Domain)"
|
||
|
||
|
||
class CoronaOfLight(Feature):
|
||
"""Starting at 17th level, you can use your action to activate an aura of
|
||
sunlight that lasts for 1 minute or until you dismiss it using another
|
||
action. You emit bright light in a 60-foot radius and dim light 30 feet
|
||
beyond that. Your enemies in the bright light have disadvantage on saving
|
||
throws against any spell that deals fire or radiant damage
|
||
|
||
"""
|
||
name = "Corona of Light"
|
||
source = "Cleric (Light Domain)"
|
||
|
||
|
||
# Nature Domain
|
||
class AcolyteOfNature(Feature):
|
||
"""At 1st level, you learn one druid cantrip of your choice. You also gain
|
||
proficiency in one of the following skills of your choice: Animal Handling,
|
||
Nature, or Survival.
|
||
|
||
"""
|
||
name = "Acolyte of Nature"
|
||
source = "Cleric (Nature Domain)"
|
||
|
||
|
||
class CharmAnimalsAndPlants(ChannelDivinity):
|
||
"""Starting at 2nd level, you can use your Channel Divinity to charm animals
|
||
and plants. As an action, you present your holy symbol and invoke the name
|
||
of your deity. Each beast or plant creature that can see you within 30 feet
|
||
of you must make a Wisdom saving throw.
|
||
|
||
If the creature fails its saving throw, it is charmed by you for 1 minute
|
||
or until it takes damage. While it is charmed by you, it is friendly to you
|
||
and other creatures you designate.
|
||
|
||
"""
|
||
name = "Channel Divinity: Charm Animals and Plants"
|
||
source = "Cleric (Nature Domain)"
|
||
|
||
|
||
class DampenElements(Feature):
|
||
"""Starting at 6th level, when you or a creature within 30 feet of you takes
|
||
acid, cold, fire, lightning, or thunder damage, you can use your reaction
|
||
to grant resistance to the creature against that instance of the damage.
|
||
|
||
"""
|
||
name = "Dampen Elements"
|
||
source = "Cleric (Nature Domain)"
|
||
|
||
|
||
class DivineStrikeNature(DivineStrike):
|
||
"""At 8th level, you gain the ability to infuse your weapon strikes with
|
||
divine energy. Once on each of your turns when you hit a creature with a
|
||
weapon attack, you can cause the attack to deal an extra 1d8 cold, fire, or
|
||
lightning damage (your choice) to the target. When you reach 14th level,
|
||
the extra damage increases to 2d8.
|
||
|
||
"""
|
||
source = "Cleric (Nature Domain)"
|
||
|
||
|
||
class MasterOfNature(Feature):
|
||
"""At 17th level, you gain the ability to command animals and plant
|
||
creatures. While creatures are charmed by your Charm Animals and Plants
|
||
feature, you can take a bonus action on your turn to verbally command what
|
||
each of those creatures will do on its next turn.
|
||
|
||
"""
|
||
name = "Master of Nature"
|
||
source = "Cleric (Nature Domain)"
|
||
|
||
|
||
# Tempest Domain
|
||
class WrathOfTheStorm(Feature):
|
||
"""Also at 1st level, you can thunderously rebuke attackers. When a creature
|
||
within 5 feet of you that you can see hits you with an attack, you can use
|
||
your reaction to cause the creature to make a Dexterity saving throw. The
|
||
creature takes 2d8 lightning or thunder damage (your choice) on a failed
|
||
saving throw, and half as much damage on a successful one.
|
||
|
||
You can use this feature a number of times equal to your Wisdom modifier (a
|
||
minimum of once). You regain all expended uses when you finish a long rest.
|
||
|
||
"""
|
||
_name = "Wrath of the Storm"
|
||
source = "Cleric (Tempest Domain)"
|
||
|
||
@property
|
||
def name(self):
|
||
num_uses = max(1, self.owner.wisdom.modifier)
|
||
return self._name + ' ({:d}x/LR)'.format(num_uses)
|
||
|
||
|
||
class DestructiveWrath(ChannelDivinity):
|
||
"""Starting at 2nd level, you can use your Channel Divinity to wield the power
|
||
of the storm with unchecked ferocity.
|
||
|
||
When you roll lightning or thunder damage, you can use your Channel
|
||
Divinity to deal maximum damage, instead of rolling.
|
||
|
||
"""
|
||
name = "Channel Divinity: Destructive Wrath"
|
||
source = "Cleric (Tempest Domain)"
|
||
|
||
|
||
class ThunderboltStrike(Feature):
|
||
"""At 6th level, when you deal lightning damage to a Large or smaller
|
||
creature, you can also push it up to 10 feet away from you.
|
||
|
||
"""
|
||
name = "Thunderbolt Strike"
|
||
source = "Cleric (Tempest Domain)"
|
||
|
||
|
||
class DivineStrikeTempest(DivineStrike):
|
||
"""At 8th level, you gain the ability to infuse your weapon strikes with
|
||
divine energy. Once on each of your turns when you hit a creature with a
|
||
weapon attack, you can cause the attack to deal an extra 1d8 thunder damage
|
||
to the target. When you reach 14th level, the extra damage increases to
|
||
2d8.
|
||
|
||
"""
|
||
source = "Cleric (Tempest Domain)"
|
||
|
||
|
||
class Stormborn(Feature):
|
||
"""At 17th level, you have a flying speed equal to your current walking speed
|
||
whenever you are not underground or indoors.
|
||
|
||
"""
|
||
name = "Stormborn"
|
||
source = "Cleric (Tempest Domain)"
|
||
|
||
|
||
# Trickery Domain
|
||
class BlessingOfTheTrickster(Feature):
|
||
"""Starting when you choose this domain at 1st level, you can use your action
|
||
to touch a willing creature other than yourself to give it advantage on
|
||
Dexterity (Stealth) checks. This blessing lasts for 1 hour or until you use
|
||
this feature again
|
||
|
||
"""
|
||
name = "Blessing of the Trickster"
|
||
source = "Cleric (Trickery Domain)"
|
||
|
||
|
||
class InvokeDuplicity(ChannelDivinity):
|
||
"""Starting at 2nd level, you can use your Channel Divinity to create an
|
||
illusory duplicate o f yourself. As an action, you create a perfect
|
||
illusion of yourself that lasts for 1 minute, or until you lose your
|
||
concentration (as if you were concentrating on a spell). The illusion
|
||
appears in an unoccupied space that you can see within 30 feet of you. As a
|
||
bonus action on your turn, you can move the illusion up to 30 feet to a
|
||
space you can see, but it must remain within 120 feet of you.
|
||
|
||
For the duration, you can cast spells as though you were in the illusion’s
|
||
space, but you must use your own senses. Additionally, when both you and
|
||
your illusion are within 5 feet of a creature that can see the illusion,
|
||
you have advantage on attack rolls against that creature, given how
|
||
distracting the illusion is to the target.
|
||
|
||
"""
|
||
name = "Channel Divinity: Invoke Duplicity"
|
||
source = "Cleric (Trickery Domain)"
|
||
|
||
|
||
class CloakOfShadows(ChannelDivinity):
|
||
"""Starting at 6th level, you can use your Channel Divinity to vanish. As an
|
||
action, you become invisible until the end of your next turn. You become
|
||
visible if you attack or cast a spell.
|
||
|
||
"""
|
||
name = "Channel Divinity: Cloak of Shadows"
|
||
source = "Cleric (Trickery Domain)"
|
||
|
||
|
||
class DivineStrikeTrickery(DivineStrike):
|
||
"""At 8th level, you gain the ability to infuse your weapon strikes with
|
||
poison—a gift from your deity. Once on each of your turns when you hit a
|
||
creature with a weapon attack, you can cause the attack to deal an extra
|
||
1d8 poison damage to the target. When you reach 14th level, the extra
|
||
damage increases to 2d8.
|
||
|
||
"""
|
||
source = "Cleric (Trickery Domain)"
|
||
|
||
|
||
class ImprovedDuplicity(Feature):
|
||
"""At 17th level, you can create up to four duplicates of yourself, instead of
|
||
one, when you use Invoke Duplicity. As a bonus action on your turn, you can
|
||
move any number of them up to 30 feet, to a maximum range of 120 feet.
|
||
|
||
"""
|
||
name = "Improved Duplicity"
|
||
source = "Cleric (Trickery Domain)"
|
||
|
||
|
||
# War Domain
|
||
class WarPriest(Feature):
|
||
"""From 1st level, your god delivers bolts of inspiration to you while you are
|
||
engaged in battle. When you use the Attack action, you can make one weapon
|
||
attack as a bonus action. You can use this feature a number of times equal
|
||
to your Wisdom modifier (a minimum of once). You regain all expended uses
|
||
when you finish a long rest
|
||
|
||
"""
|
||
_name = "War Priest"
|
||
source = "Cleric (War Domain)"
|
||
|
||
@property
|
||
def name(self):
|
||
num = max(1, self.owner.wisdom.modifier)
|
||
return self._name + " ({:d}x/LR)".format(num)
|
||
|
||
|
||
class GuidedStrike(ChannelDivinity):
|
||
"""Starting at 2nd level, you can use your Channel Divinity to strike with
|
||
supernatural accuracy. When you make an attack roll, you can use your
|
||
Channel Divinity to gain a +10 bonus to the roll. You make this choice
|
||
after you see the roll, but before the DM says whether the attack hits or
|
||
misses
|
||
|
||
"""
|
||
name = "Channel Divinity: Guided Strike"
|
||
source = "Cleric (War Domain)"
|
||
|
||
|
||
class WarGodsBlessing(ChannelDivinity):
|
||
"""At 6th level, when a creature within 30 feet of you makes an attack roll,
|
||
you can use your reaction to grant that creature a +10 bonus to the roll,
|
||
using your Channel Divinity. You make this choice after you see the roll,
|
||
but before the DM says whether the attack hits or misses.
|
||
|
||
"""
|
||
name = "Channel Divinity: War Gods Blessing"
|
||
source = "Cleric (War Domain)"
|
||
|
||
|
||
class DivineStrikeWar(DivineStrike):
|
||
"""At 8th level, you gain the ability to infuse your weapon strikes with
|
||
divine energy. Once on each of your turns when you hit a creature with a
|
||
weapon attack, you can cause the attack to deal an extra 1d8 damage of the
|
||
same type dealt by the weapon to the target. When you reach 14th level, the
|
||
extra damage increases to 2d8.
|
||
"""
|
||
source = "Cleric (War Domain)"
|
||
|
||
|
||
class AvatarOfBattle(Feature):
|
||
"""At 17th level, you gain resistance to bludgeoning, piercing, and slashing
|
||
damage from nonmagical weapons.
|
||
|
||
"""
|
||
name = "Avatar of Battle"
|
||
source = "Cleric (War Domain)"
|
||
|
||
|
||
# Arcana Domain
|
||
class ArcaneInitiate(Feature):
|
||
"""When you choose this domain at 1st level, you gain proficiency in the
|
||
Arcana skill, and you gain two cantrips of your choice from the wizard
|
||
spell list. For you, these cantrips count as cleric cantrips
|
||
|
||
"""
|
||
name = "Arcane Initiate"
|
||
source = "Cleric (Arcana Domain)"
|
||
|
||
|
||
class ArcaneAbjuration(ChannelDivinity):
|
||
"""Starting at 2nd level, you can use your Channel Divinity to abjure
|
||
otherworldly creatures. As an action, you present your holy symbol, and one
|
||
celestial, elemental, fey, or fiend of your choice that is within 30 feet
|
||
of you must make a Wisdom saving throw, provided that the creature can see
|
||
or hear you. If the creature fails its saving throw, it is turned for 1
|
||
minute or until it takes any damage.
|
||
|
||
A turned creature must spend its turns trying to move as far away from you
|
||
as it can, and it can't willingly end its move in a space within 30 feet of
|
||
you. It also can't take reactions. For its action, it can only use the Dash
|
||
action or try to escape from an effect that prevents it from moving. If
|
||
there's nowhere to move, the creature can use the Dodge action.
|
||
|
||
After you reach 5th level, when a creature fails its saving throw against
|
||
your Arcane Abjuration feature, the creature is banished for 1 minute (as
|
||
in the banishment spell, no concentration required) if it isn't on its
|
||
plane of origin and its challenge rating is at or below a certain
|
||
threshold, as shown on the Arcane Banishment table.
|
||
|
||
5th level : CR 1/2
|
||
8th level : CR 1
|
||
11th level : CR 2
|
||
14th level : CR 3
|
||
17th level : CR 4
|
||
|
||
"""
|
||
name = "Channel Divinity: Arcane Abjuration"
|
||
source = "Cleric (Arcana Domain)"
|
||
|
||
|
||
class SpellBreaker(Feature):
|
||
"""Starting at 6th level, when you restore hit points to an ally with a spell
|
||
of 1st level or higher, you can also end one spell of your choice on that
|
||
creature. The level of the spell you end must be equal to or lower than the
|
||
level of the spell slot you use to cast the healing spell
|
||
|
||
"""
|
||
name = "Spell Breaker"
|
||
source = "Cleric (Arcana Domain)"
|
||
|
||
|
||
class ArcaneMastery(Feature):
|
||
"""At 17th level, you choose four spells from the wizard spell list, one from
|
||
each of the following levels: 6th, 7th, 8th, and 9th. You add them to your
|
||
list of domain spells. Like your other domain spells, they are always
|
||
prepared and count as cleric spells for you.
|
||
|
||
"""
|
||
name = "Arcane Mastery"
|
||
source = "Cleric (Arcana Domain)"
|
||
|
||
|
||
# Forge Domain
|
||
class BlessingOfTheForge(Feature):
|
||
"""At 1st level, you gain the ability to imbue magic into a weapon or
|
||
armor. At the end of a long rest, you can touch one nonmagical object that
|
||
is a suit of armor or a simple or martial weapon. Until the end of your
|
||
next long rest or until you die, the object becomes a magic item, granting
|
||
a +1 bonus to AC if it’s armor or a +1 bo— nus to attack and damage rolls
|
||
if it’s a weapon. Once you use this feature, you can’t use it again until
|
||
you finish a long rest
|
||
|
||
"""
|
||
name = "Blessing of the Forge"
|
||
source = "Cleric (Forge Domain)"
|
||
|
||
|
||
class ArtisansBlessing(Feature):
|
||
"""Starting at 2nd level, you can use your Channel Divinity to create simple
|
||
items. You conduct an hour—long ritual that crafts a nonmagi— cal item that
|
||
must include some metal: a simple or martial weapon, a suit of armor, ten
|
||
pieces of ammunition, a set of tools, or another metal Object (see chapter
|
||
5, “Equipment,” in the Player’s Handbook for examples of these items). The
|
||
creation is completed at the end of the hour, coalescing in an unoccupied
|
||
space of your choice on a surface within 5 feet of you. The thing you
|
||
create can be something that is worth no more than 100 gp.
|
||
|
||
As part of this ritual, you must lay out metal, which can include coins,
|
||
with a value equal to the creation. The metal irretrievably coalesces and
|
||
transforms into the creation at the ritual’s end, magically forming even
|
||
nonmetal parts of the creation. The ritual can create a duplicate of a
|
||
nonmagical item that contains metal, such as a key, if you possess the
|
||
original during the ritual.
|
||
|
||
"""
|
||
name = "Channel Divinity: Artisans Blessing"
|
||
source = "Cleric (Forge Domain)"
|
||
|
||
|
||
class SoulOfTheForge(Feature):
|
||
"""Starting at 6th level, your mastery of the forge grants you special
|
||
abilities:
|
||
|
||
-- You gain resistance to fire damage.
|
||
|
||
-- While wearing heavy armor, you gain a +1 bonus to AC.
|
||
|
||
"""
|
||
name = "Soul of the Forge"
|
||
source = "Cleric (Forge Domain)"
|
||
|
||
|
||
class DivineStrikeForge(DivineStrike):
|
||
"""At 8th level, you gain the ability to infuse your weapon strikes with the
|
||
fiery power of the forge. Once on each ofyour turns when you hit a creature
|
||
with a weapon attack, you can cause the attack to deal an extra 1d8 fire
|
||
damage to the target. When you reach 14th level, the extra damage
|
||
increases to 2d8
|
||
|
||
"""
|
||
source = "Cleric (Forge Domain)"
|
||
|
||
|
||
class SaintOfForgeAndFire(Feature):
|
||
"""At 17th level, your blessed affinity with fire and metal becomes more
|
||
powerful:
|
||
|
||
-- You gain immunity to fire damage.
|
||
|
||
-- While wearing heavy armor, you have resistance to bludgeoning, piercing,
|
||
and slashing damage from non-magical attacks
|
||
|
||
"""
|
||
name = "Saint of Forge and Fire"
|
||
source = "Cleric (Forge Domain)"
|
||
|
||
|
||
# Grave Domain
|
||
class CircleOfMortality(Feature):
|
||
"""At 1st level, you gain the ability to manipulate the line between life and
|
||
death. When you would normally roll one or more dice to restore hit points
|
||
with a spell to a creature at 0 hit points, you instead use the highest
|
||
number possible for each die. In addition, you learn the spare the dying
|
||
cantrip, which doesn’t count against the number of cleric cantrips you
|
||
know. For you, it has a range of 30 feet, and you can cast it as a bonus
|
||
action
|
||
|
||
"""
|
||
spells_known = (spells.SpareTheDying,)
|
||
spells_prepared = (spells.SpareTheDying,)
|
||
name = "Circle of Mortality"
|
||
source = "Cleric (Grave Domain)"
|
||
|
||
|
||
class EyesOfTheGrave(Feature):
|
||
"""At lst level, you gain the ability to occasionally sense the presence of the
|
||
undead, whose existence is an insult to the natural cycle of life. As an
|
||
action, you can open your awareness to magically detect undead. Until the
|
||
end ofyour next turn, you know the location of any undead within 60 feet of
|
||
you that isn’t behind total cover and that isn’t protected from divination
|
||
magic.
|
||
|
||
This sense doesn’t tell you anything about a creature's capabilities or
|
||
identity. You can use this feature a number of times equal to your Wisdom
|
||
modifier (minimum Of once). You regain all expended uses when you finish a
|
||
long rest
|
||
|
||
"""
|
||
_name = "Eyes of the Grave"
|
||
source = "Cleric (Grave Domain)"
|
||
|
||
@property
|
||
def name(self):
|
||
num = max(1, self.owner.wisdom.modifier)
|
||
return self._name + " ({:d}x/LR)".format(num)
|
||
|
||
|
||
class PathToTheGrave(ChannelDivinity):
|
||
"""Starting at 2nd level, you can use your Channel Divinity to mark another
|
||
creature’s life force for termination. As an action, you choose one
|
||
creature you can see within 30 feet of you, cursing it until the end Of
|
||
your next turn. The next time you or an ally Ofyours hits the cursed
|
||
creature with an attack, the creature has vulnerability tO all of that
|
||
attack's damage, and then the curse ends
|
||
|
||
"""
|
||
name = "Channel Divinity: Path to the Grave"
|
||
source = "Cleric (Grave Domain)"
|
||
|
||
|
||
class SentinelAtDeathsDoor(Feature):
|
||
"""At 6th level, you gain the ability to impede death’s progress. As a
|
||
reaction when you or a creature you can see within 30 feet of you suffers a
|
||
critical hit, you can turn that hit into a normal hit. Any effects
|
||
triggered by a critical hit are canceled. You can use this feature a
|
||
number of times equal to your Wisdom modifier (minimum of once). You regain
|
||
all expended uses when you finish a long rest.
|
||
|
||
"""
|
||
_name = "Sentinel at Death's Door"
|
||
source = "Cleric (Grave Domain)"
|
||
|
||
@property
|
||
def name(self):
|
||
num = max(1, self.owner.wisdom.modifier)
|
||
return self._name + " ({:d}x/LR)".format(num)
|
||
|
||
|
||
class KeeperOfSouls(Feature):
|
||
"""Starting at 17th level. you can seize a trace of vitality from a parting
|
||
soul and use it to heal the living. When an enemy you can see dies within
|
||
60 feet of you, you or one creature of your choice that is within 60 feet
|
||
of you regains hit points equal to the enemy’s number of Hit Dice. You can
|
||
use this feature only if you aren’t incapacitated. Once you use it, you
|
||
can't do so again until the start ofyour next turn.
|
||
|
||
"""
|
||
name = "Keeper of Souls"
|
||
source = "Cleric (Grave Domain)"
|
||
|