mirror of
https://github.com/Threnklyn/dungeon-sheets.git
synced 2026-06-07 13:15:53 +02:00
Added a few spells and made spells sort by alpha order.
This commit is contained in:
@@ -124,6 +124,9 @@ class Character():
|
|||||||
# Create temporary spell
|
# Create temporary spell
|
||||||
_spells.append(spells.create_spell(name=spell_name, level=9))
|
_spells.append(spells.create_spell(name=spell_name, level=9))
|
||||||
# raise AttributeError(msg)
|
# raise AttributeError(msg)
|
||||||
|
# Sort by name
|
||||||
|
_spells.sort(key=lambda spell: spell.name)
|
||||||
|
# Save list of spells to character atribute
|
||||||
if attr == 'spells':
|
if attr == 'spells':
|
||||||
# Instantiate them all for the spells list
|
# Instantiate them all for the spells list
|
||||||
self.spells = tuple(S() for S in _spells)
|
self.spells = tuple(S() for S in _spells)
|
||||||
|
|||||||
@@ -110,7 +110,6 @@ def create_spells_pdf(character, basename, flatten=False):
|
|||||||
# # Uncomment to post field names instead:
|
# # Uncomment to post field names instead:
|
||||||
# for field in field_names:
|
# for field in field_names:
|
||||||
# fields.append((field, field))
|
# fields.append((field, field))
|
||||||
fields.append(('Check Box 3083', True))
|
|
||||||
# Make the actual pdf
|
# Make the actual pdf
|
||||||
dirname = os.path.dirname(os.path.abspath(__file__))
|
dirname = os.path.dirname(os.path.abspath(__file__))
|
||||||
src_pdf = os.path.join(dirname, 'blank-spell-sheet-default.pdf')
|
src_pdf = os.path.join(dirname, 'blank-spell-sheet-default.pdf')
|
||||||
|
|||||||
+71
-2
@@ -1325,10 +1325,33 @@ class ChillTouch(Spell):
|
|||||||
components = ('V', 'S')
|
components = ('V', 'S')
|
||||||
materials = ""
|
materials = ""
|
||||||
duration = "1 round"
|
duration = "1 round"
|
||||||
magic_school = "Necromany"
|
magic_school = "Necromancy"
|
||||||
classes = ('Sorceror', 'Warlock', 'Wizard')
|
classes = ('Sorceror', 'Warlock', 'Wizard')
|
||||||
|
|
||||||
|
|
||||||
|
class ChromaticOrb(Spell):
|
||||||
|
"""You hurl a 4-inch-diameter sphere of energy at a creature that you
|
||||||
|
can see within range. You choose acid, cold, fire, lightning,
|
||||||
|
poison, or thunder for the type of orb you create, and then make a
|
||||||
|
ranged spell attack against the target. If the attack hits, the
|
||||||
|
creature takes 3d8 damage of the type you chose.
|
||||||
|
|
||||||
|
**At Higher Levels.** When you cast this spell using a spell slot of
|
||||||
|
2nd level or higher, the damage increases by 1d8 for each slot
|
||||||
|
level above 1st.
|
||||||
|
|
||||||
|
"""
|
||||||
|
name = "Chromatic Orb"
|
||||||
|
level = 1
|
||||||
|
casting_time = "1 action"
|
||||||
|
casting_range = "90 feet"
|
||||||
|
components = ('V', 'S', 'M')
|
||||||
|
materials = "A diamond worth at least 50 gp"
|
||||||
|
duration = "Instantaneous"
|
||||||
|
magic_school = "Evocation"
|
||||||
|
classes = ('Sorceror', 'Wizard')
|
||||||
|
|
||||||
|
|
||||||
class CircleOfDeath(Spell):
|
class CircleOfDeath(Spell):
|
||||||
"""A sphere of negative energy ripples out in a 60-foot- radius sphere
|
"""A sphere of negative energy ripples out in a 60-foot- radius sphere
|
||||||
from a point within range. Each creature in that area must make a
|
from a point within range. Each creature in that area must make a
|
||||||
@@ -1347,7 +1370,7 @@ class CircleOfDeath(Spell):
|
|||||||
components = ('V', 'S', 'M')
|
components = ('V', 'S', 'M')
|
||||||
materials = "the powder of a crushed black pearl worth at least 500 gp"
|
materials = "the powder of a crushed black pearl worth at least 500 gp"
|
||||||
duration = "Instantaneous"
|
duration = "Instantaneous"
|
||||||
magic_school = "Necromany"
|
magic_school = "Necromancy"
|
||||||
classes = ('Sorceror', 'Warlock', 'Wizard')
|
classes = ('Sorceror', 'Warlock', 'Wizard')
|
||||||
|
|
||||||
|
|
||||||
@@ -3440,6 +3463,52 @@ class Passwall(Spell):
|
|||||||
classes = ('Wizard',)
|
classes = ('Wizard',)
|
||||||
|
|
||||||
|
|
||||||
|
class PhantasmalForce(Spell):
|
||||||
|
"""You craft an illusion that takes root in the mind of a creature
|
||||||
|
that you can see within range. The target must make an
|
||||||
|
Intelligence saving throw. On a failed save, you create a
|
||||||
|
phantasmal object, creature or other visible phenomenon of your
|
||||||
|
choice that is no larger than a 10-foot cube and that is
|
||||||
|
perceivable only to the target for the duration. This spell has no
|
||||||
|
effect on undead or constructs.
|
||||||
|
|
||||||
|
The phantasm includes sound, temperature, and other stimuli, also
|
||||||
|
evident only to the creature. The target can use its action to
|
||||||
|
examine the phantasm with an Intelligence (Investigation) check
|
||||||
|
against your spell save DC. If the check succeeds, the target
|
||||||
|
realizes that the phantasm is an illusion, and the spell
|
||||||
|
ends. While a target is affected by the spell, the target treats
|
||||||
|
the phantasm as if it were real. The target rationalizes any
|
||||||
|
illogical outcomes from interacting with the phantasm. For
|
||||||
|
example, a target attempting to walk across a phantasmal bridge
|
||||||
|
that spans a chasm falls once it steps onto the bridge. If the
|
||||||
|
target survives the fall, it still believes that the bridge exists
|
||||||
|
and comes up with some other explanation for its fall-it was
|
||||||
|
pushed, it slipped, or a strong wind might have knocked it off.
|
||||||
|
|
||||||
|
An affected target is so convinced of the phantasm's reality that
|
||||||
|
it can even take damage from the illusion. A phantasm created to
|
||||||
|
appear as a creature can attack the target. Similarly, a phantasm
|
||||||
|
created to appear as fire, a pool of acid, or lava can burn the
|
||||||
|
target. Each round on your turn, the phantasm can deal 1d6 psychic
|
||||||
|
damage to the target if it is in the phantasm's area or within 5
|
||||||
|
feet of the phantasm, provided that the illusion is of a creature
|
||||||
|
or hazard that could logically deal damage, such as by
|
||||||
|
attacking. The target perceives the damage as a type appropriate
|
||||||
|
to the illusion.
|
||||||
|
|
||||||
|
"""
|
||||||
|
name = "Phantasmal Force"
|
||||||
|
level = 2
|
||||||
|
casting_time = "1 action"
|
||||||
|
casting_range = "60 feet"
|
||||||
|
components = ('V', 'S', 'M')
|
||||||
|
materials = "A bit of fleece"
|
||||||
|
duration = "Concentration, up to 1 minute"
|
||||||
|
magic_school = "Illusion"
|
||||||
|
classes = ('Bard', 'Sorceror', 'Wizard')
|
||||||
|
|
||||||
|
|
||||||
class PoisonSpray(Spell):
|
class PoisonSpray(Spell):
|
||||||
"""You extend your hand toward a creature you can see within range and
|
"""You extend your hand toward a creature you can see within range and
|
||||||
project a puff of noxious gas from your palm. The creature must
|
project a puff of noxious gas from your palm. The creature must
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ def read(fname):
|
|||||||
|
|
||||||
|
|
||||||
setup(name='dungeonsheets',
|
setup(name='dungeonsheets',
|
||||||
version='0.2.1',
|
version='0.2.2',
|
||||||
description='Dungeons and Dragons 5e Character Tools',
|
description='Dungeons and Dragons 5e Character Tools',
|
||||||
long_description=read('README.rst'),
|
long_description=read('README.rst'),
|
||||||
long_description_content_type='text/x-rst',
|
long_description_content_type='text/x-rst',
|
||||||
|
|||||||
Reference in New Issue
Block a user