Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Warlock Patrons from TCE (Fathomless, Genie) #135

Merged
merged 3 commits into from
Jan 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 48 additions & 1 deletion dungeonsheets/classes/warlock.py
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,52 @@ class Hexblade(SubClass):
features_by_level[14] = [features.MasterOfHexes]


# TCE
class Fathomless(SubClass):
"""You have plunged into a pact with the deeps. An entity of the ocean, the
Elemental Plane of Water, or another otherworldly sea now allows you to draw on
its thalassic power. Is it merely using you to learn about terrestrial realms,
or does it want you to open cosmic floodgates and drown the world?

Perhaps you were born into a generational cult that venerates the Fathomless
and its spawn. Or you might have been shipwrecked and on the brink of drowning
when your patron's grasp offered you a chance at life. Whatever the reason
for your pact, the sea and its unknown depths call to you.

Entities of the deep that might empower a warlock include krakens,
ancient water elementals, godlike hallucinations dreamed into being by
kuo-toa, merfolk demigods, and sea hag covens.

"""

name = "The Fathomless Patron"
features_by_level = defaultdict(list)
features_by_level[1] = [features.TentacleOfTheDeeps, features.GiftOfTheSea]
features_by_level[6] = [features.OceanicSoul, features.GuardianCoil]
features_by_level[10] = [features.GraspingTentacles]
features_by_level[16] = [features.FathomlessPlunge]


class Genie(SubClass):
"""You have made a pact with one of the rarest kinds of genie, a noble genie.
Such entities rule vast fiefs on the Elemental Planes and have great influence over
lesser genies and elemental creatures. Noble genies are varied in their motivations,
but most are arrogant and wield power that rivals that of lesser deities.
They delight in turning the table on mortals, who often bind genies into servitude,
and readily enter into pacts that expand their reach.

You choose your patron's kind or determine it randomly, using the Genie Kind table.

"""

name = "The Genie Patron"
features_by_level = defaultdict(list)
features_by_level[1] = [features.GeniesVessel]
features_by_level[6] = [features.ElementalGift]
features_by_level[10] = [features.SanctuaryVessel]
features_by_level[16] = [features.LimitedWish]


class Warlock(CharClass):
name = "Warlock"
hit_dice_faces = 8
Expand All @@ -174,9 +220,10 @@ class Warlock(CharClass):
features_by_level = defaultdict(list)
features_by_level[2] = [features.EldritchInvocation]
features_by_level[3] = [features.PactBoon]
features_by_level[4] = [features.EldritchVersatility]
features_by_level[11] = [features.MysticArcanum]
features_by_level[20] = [features.EldritchMaster]
subclasses_available = (Archfey, Fiend, GreatOldOne, Undying, Celestial, Hexblade)
subclasses_available = (Archfey, Fiend, GreatOldOne, Undying, Celestial, Hexblade, Fathomless, Genie)
spellcasting_ability = "charisma"
spell_slots_by_level = {
1: (2, 1, 0, 0, 0, 0, 0, 0, 0, 0),
Expand Down
2 changes: 1 addition & 1 deletion dungeonsheets/features/barbarian.py
Original file line number Diff line number Diff line change
Expand Up @@ -513,7 +513,7 @@ class BattleragerArmor(Feature):
armor (see the "Spiked Armor" sidebar in SCAG) as a weapon. While you are
wearing spiked armor and are raging, you can use a bonus action to make one
melee weapon attack with your armor spikes against a target within 5 feet
of you. If the attack hits , the spikes deal ld4 piercing damage. You use
of you. If the attack hits , the spikes deal 1d4 piercing damage. You use
your Strength modifier for the attack and damage rolls. Additionally, when
you use the Attack action to grapple a creature, the target takes 3
piercing damage if your grapple check succeeds.
Expand Down
2 changes: 1 addition & 1 deletion dungeonsheets/features/cleric.py
Original file line number Diff line number Diff line change
Expand Up @@ -762,7 +762,7 @@ class CircleOfMortality(Feature):


class EyesOfTheGrave(Feature):
"""At lst level, you gain the ability to occasionally sense the presence of the
"""At 1st 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
Expand Down
2 changes: 1 addition & 1 deletion dungeonsheets/features/fighter.py
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,7 @@ def name(self):
class WardingManeuver(Feature):
"""At 7th level, you learn to fend off strikes directed at you, your mount, or
other creatures nearby. If you or a creature you can see within 5 feet
of you is hit by an attack, you can roll ld8 as a reaction if you're
of you is hit by an attack, you can roll 1d8 as a reaction if you're
wielding a melee weapon or a shield. Roll the die, and add the number
rolled to the target's AC against that attack. If the attack still hits,
the target has resistance against the attack's damage.
Expand Down
2 changes: 1 addition & 1 deletion dungeonsheets/features/races.py
Original file line number Diff line number Diff line change
Expand Up @@ -569,7 +569,7 @@ class CunningArtisan(Feature):
"""As part of a short rest, you can harvest bone and hide from a slain
beast, construct, dragon, monstrosity, or plant creature of size Small or
larger to create one of the following items: a shield, a club, a javelin,
or ld4 darts or blowgun needles. To use this trait, you need a blade, such
or 1d4 darts or blowgun needles. To use this trait, you need a blade, such
as a dagger, or appropriate artisan's tools, such as leatherworker's
tools.

Expand Down
4 changes: 2 additions & 2 deletions dungeonsheets/features/sorceror.py
Original file line number Diff line number Diff line change
Expand Up @@ -409,7 +409,7 @@ class UnearthlyRecovery(Feature):


class EyesOfTheDark(Feature):
"""Starting at lst level, you have darkvision with a range of 120 feet. When
"""Starting at 1st 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
Expand All @@ -425,7 +425,7 @@ class EyesOfTheDark(Feature):


class StrengthOfTheGrave(Feature):
"""Starting at lst level, your existence in a twilight state between life
"""Starting at 1st 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
Expand Down
Loading