Updated SRD monsters with proper hit dice and damage vulnerabilites/etc.

This commit is contained in:
Mark Wolfman
2021-11-04 23:27:03 -05:00
parent 8deecf8d5c
commit d6a92f326a
27 changed files with 6571 additions and 2379 deletions
-1
View File
@@ -88,7 +88,6 @@ class Monster(Creature, metaclass=SpellFactory):
saving_throws = ""
# TODO: Consider refactoring stats.Speed to consider all of these
# just like we do stats.Ability
swim_speed = 0
fly_speed = 0
climb_speed = 0
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+276 -117
View File
@@ -10,17 +10,20 @@ from dungeonsheets.stats import Ability
class Camel(Monster):
"""
# Actions
Bite.
Melee Weapon Attack: +5 to hit, reach 5 ft., one target. Hit: 2 (1d4)
bludgeoning damage.
"""
name = "Camel"
description = "Large beast, unaligned"
name = 'Camel'
description = 'Large beast, unaligned'
challenge_rating = 0.125
armor_class = 9
skills = ""
senses = "Passive Perception 9"
languages = ""
skills = ''
senses = 'Passive Perception 9'
languages = ''
strength = Ability(16)
dexterity = Ability(8)
constitution = Ability(14)
@@ -31,27 +34,36 @@ class Camel(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 15
hit_dice = "2d10"
hit_dice = '2d10 + 4'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Cat(Monster):
"""
Keen Smell.
The cat has advantage on Wisdom (Perception) checks that rely on
smell.
# Actions
Claws.
Melee Weapon Attack: +0 to hit, reach 5 ft., one target. Hit: 1
slashing damage.
"""
name = "Cat"
description = "Tiny beast, unaligned"
name = 'Cat'
description = 'Tiny beast, unaligned'
challenge_rating = 0
armor_class = 12
skills = "Perception +3, Stealth +4"
senses = "Passive Perception 13"
languages = ""
skills = 'Perception +3, Stealth +4'
senses = 'Passive Perception 13'
languages = ''
strength = Ability(3)
dexterity = Ability(15)
constitution = Ability(10)
@@ -62,17 +74,26 @@ class Cat(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 30
burrow_speed = 0
hp_max = 2
hit_dice = "1d4"
hit_dice = '1d4 + 0'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Centaur(Monster):
"""
Charge.
If the centaur moves at least 30 ft. straight toward a target and then
hits it with a pike attack on the same turn, the target takes an extra
10 (3d6) piercing damage.
# Actions
Multiattack.
The centaur makes two attacks: one with its pike and one with its
hooves or two with its longbow.
@@ -86,13 +107,13 @@ class Centaur(Monster):
Ranged Weapon Attack: +4 to hit, range 150/600 ft., one target. Hit: 6
(1d8 + 2) piercing damage.
"""
name = "Centaur"
description = "Large monstrosity, neutral good"
name = 'Centaur'
description = 'Large monstrosity, neutral good'
challenge_rating = 2
armor_class = 12
skills = "Athletics +6, Perception +3, Survival +3"
senses = "Passive Perception 13"
languages = "Elvish, Sylvan"
skills = 'Athletics +6, Perception +3, Survival +3'
senses = 'Passive Perception 13'
languages = 'Elvish, Sylvan'
strength = Ability(18)
dexterity = Ability(14)
constitution = Ability(14)
@@ -103,18 +124,27 @@ class Centaur(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 45
hit_dice = "6d10"
hit_dice = '6d10 + 12'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class ChainDevil(Monster):
"""
Devil's Sight.
Magical darkness doesn't impede the devil's darkvision.
Magic Resistance.
The devil has advantage on saving throws against spells and other
magical effects.
# Actions
Multiattack.
The devil makes two attacks with its chains.
Chain.
@@ -135,14 +165,23 @@ class ChainDevil(Monster):
creature of its own but can't make attacks while grappling. An
animated chain reverts to its inanimate state if reduced to 0 hit
points or if the devil is incapacitated or dies.
# Reactions
Unnerving Mask.
When a creature the devil can see starts its turn within 30 feet of
the devil, the devil can create the illusion that it looks like one of
the creature's departed loved ones or bitter enemies. If the creature
can see the devil, it must succeed on a DC 14 Wisdom saving throw or
be frightened until the end of its turn.
"""
name = "Chain Devil"
description = "Medium fiend, lawful evil"
name = 'Chain Devil'
description = 'Medium fiend, lawful evil'
challenge_rating = 8
armor_class = 16
skills = ""
senses = "Darkvision 120 ft., Passive Perception 11"
languages = "Infernal, telepathy 120 ft."
skills = ''
senses = 'Darkvision 120 ft., Passive Perception 11'
languages = 'Infernal, telepathy 120 ft.'
strength = Ability(18)
dexterity = Ability(15)
constitution = Ability(18)
@@ -153,13 +192,21 @@ class ChainDevil(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 85
hit_dice = "10d8"
hit_dice = '10d8 + 40'
condition_immunities = 'poisoned'
damage_immunities = 'fire, poison'
damage_resistances = 'cold'
damage_vulnerabilities = ''
spells = []
class Chimera(Monster):
"""
# Actions
Multiattack.
The chimera makes three attacks: one with its bite, one with its
horns, and one with its claws. When its fire breath is available, it
@@ -178,12 +225,12 @@ class Chimera(Monster):
area must make a DC 15 Dexterity saving throw, taking 31 (7d8) fire
damage on a failed save, or half as much damage on a successful one.
"""
name = "Chimera"
description = "Large monstrosity, chaotic evil"
name = 'Chimera'
description = 'Large monstrosity, chaotic evil'
challenge_rating = 6
armor_class = 14
skills = "Perception +8"
senses = "Darkvision 60 ft., Passive Perception 18"
skills = 'Perception +8'
senses = 'Darkvision 60 ft., Passive Perception 18'
languages = "understands Draconic but can't speak"
strength = Ability(19)
dexterity = Ability(11)
@@ -195,18 +242,27 @@ class Chimera(Monster):
swim_speed = 0
fly_speed = 60
climb_speed = 0
burrow_speed = 0
hp_max = 114
hit_dice = "12d10"
hit_dice = '12d10 + 48'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Chuul(Monster):
"""
Amphibious.
The chuul can breathe air and water.
Sense Magic.
The chuul senses magic within 120 feet of it at will. This trait
otherwise works like the detect magic spell but isn't itself magical.
# Actions
Multiattack.
The chuul makes two pincer attacks. If the chuul is grappling a
creature, the chuul can also use its tentacles once.
@@ -222,12 +278,12 @@ class Chuul(Monster):
throw at the end of each of its turns, ending the effect on itself on
a success.
"""
name = "Chuul"
description = "Large aberration, chaotic evil"
name = 'Chuul'
description = 'Large aberration, chaotic evil'
challenge_rating = 4
armor_class = 16
skills = "Perception +4"
senses = "Darkvision 60 ft., Passive Perception 14"
skills = 'Perception +4'
senses = 'Darkvision 60 ft., Passive Perception 14'
languages = "understands Deep Speech but can't speak"
strength = Ability(19)
dexterity = Ability(10)
@@ -239,13 +295,19 @@ class Chuul(Monster):
swim_speed = 30
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 93
hit_dice = "11d10"
hit_dice = '11d10 + 33'
condition_immunities = 'poisoned'
damage_immunities = 'poison'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class ClayGolem(Monster):
"""
Acid Absorption.
Whenever the golem is subjected to acid damage, it takes no damage and
instead regains a number of hit points equal to the acid damage dealt.
@@ -264,6 +326,9 @@ class ClayGolem(Monster):
magical effects.
Magic Weapons.
The golem's weapon attacks are magical.
# Actions
Multiattack.
The golem makes two slam attacks.
Slam.
@@ -278,12 +343,12 @@ class ClayGolem(Monster):
to its AC, has advantage on Dexterity saving throws, and can use its
slam attack as a bonus action.
"""
name = "Clay Golem"
description = "Large construct, unaligned"
name = 'Clay Golem'
description = 'Large construct, unaligned'
challenge_rating = 9
armor_class = 14
skills = ""
senses = "Darkvision 60 ft., Passive Perception 9"
skills = ''
senses = 'Darkvision 60 ft., Passive Perception 9'
languages = "understands the languages of its creator but can't speak"
strength = Ability(20)
dexterity = Ability(9)
@@ -295,13 +360,19 @@ class ClayGolem(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 133
hit_dice = "14d10"
hit_dice = '14d10 + 56'
condition_immunities = 'charmed, exhaustion, frightened, paralyzed, petrified, poisoned'
damage_immunities = "acid, poison, psychic, bludgeoning, piercing, and slashing from nonmagical weapons that aren't adamantine"
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Cloaker(Monster):
"""
Damage Transfer.
While attached to a creature, the cloaker takes only half the damage
dealt to it (rounded down). and that creature takes the other half.
@@ -311,6 +382,9 @@ class Cloaker(Monster):
Light Sensitivity.
While in bright light, the cloaker has disadvantage on attack rolls
and Wisdom (Perception) checks that rely on sight.
# Actions
Multiattack.
The cloaker makes two attacks: one with its bite and one with its
tail.
@@ -351,13 +425,13 @@ class Cloaker(Monster):
attack hits a duplicate, or if a duplicate fails a saving throw
against an effect that deals damage, the duplicate disappears.
"""
name = "Cloaker"
description = "Large aberration, chaotic neutral"
name = 'Cloaker'
description = 'Large aberration, chaotic neutral'
challenge_rating = 8
armor_class = 14
skills = "Stealth +5"
senses = "Darkvision 60 ft., Passive Perception 11"
languages = "Deep Speech, Undercommon"
skills = 'Stealth +5'
senses = 'Darkvision 60 ft., Passive Perception 11'
languages = 'Deep Speech, Undercommon'
strength = Ability(17)
dexterity = Ability(15)
constitution = Ability(12)
@@ -368,13 +442,19 @@ class Cloaker(Monster):
swim_speed = 0
fly_speed = 40
climb_speed = 0
burrow_speed = 0
hp_max = 78
hit_dice = "12d10"
hit_dice = '12d10 + 12'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class CloudGiant(Monster):
"""
Keen Smell.
The giant has advantage on Wisdom (Perception) checks that rely on
smell.
@@ -389,6 +469,9 @@ class CloudGiant(Monster):
3/day each: feather fall, fly, misty step, telekinesis
1/day each: control weather, gaseous form
# Actions
Multiattack.
The giant makes two morningstar attacks.
Morningstar.
@@ -398,13 +481,13 @@ class CloudGiant(Monster):
Ranged Weapon Attack: +12 to hit, range 60/240 ft., one target. Hit:
30 (4d10 + 8) bludgeoning damage.
"""
name = "Cloud Giant"
description = "Huge giant, neutral good (50%) or neutral evil (50%)"
name = 'Cloud Giant'
description = 'Huge giant, neutral good (50%) or neutral evil (50%)'
challenge_rating = 9
armor_class = 14
skills = "Insight +7, Perception +7"
senses = "Passive Perception 17"
languages = "Common, Giant"
skills = 'Insight +7, Perception +7'
senses = 'Passive Perception 17'
languages = 'Common, Giant'
strength = Ability(27)
dexterity = Ability(10)
constitution = Ability(22)
@@ -415,13 +498,21 @@ class CloudGiant(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 200
hit_dice = "16d12"
hit_dice = '16d12 + 96'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Cockatrice(Monster):
"""
# Actions
Bite.
Melee Weapon Attack: +3 to hit, reach 5 ft., one creature. Hit: 3 (1d4
+ 1) piercing damage, and the target must succeed on a DC 11
@@ -431,13 +522,13 @@ class Cockatrice(Monster):
success, the effect ends. On a failure, the creature is petrified for
24 hours.
"""
name = "Cockatrice"
description = "Small monstrosity, unaligned"
name = 'Cockatrice'
description = 'Small monstrosity, unaligned'
challenge_rating = 0.5
armor_class = 11
skills = ""
senses = "Darkvision 60 ft., Passive Perception 11"
languages = ""
skills = ''
senses = 'Darkvision 60 ft., Passive Perception 11'
languages = ''
strength = Ability(6)
dexterity = Ability(12)
constitution = Ability(12)
@@ -448,24 +539,32 @@ class Cockatrice(Monster):
swim_speed = 0
fly_speed = 40
climb_speed = 0
burrow_speed = 0
hp_max = 27
hit_dice = "6d6"
hit_dice = '6d6 + 6'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Commoner(Monster):
"""
# Actions
Club.
Melee Weapon Attack: +2 to hit, reach 5 ft., one target. Hit: 2 (1d4)
bludgeoning damage.
"""
name = "Commoner"
description = "Medium humanoid, any alignment"
name = 'Commoner'
description = 'Medium humanoid, any alignment'
challenge_rating = 0
armor_class = 10
skills = ""
senses = "Passive Perception 10"
languages = "any one language (usually Common)"
skills = ''
senses = 'Passive Perception 10'
languages = 'any one language (usually Common)'
strength = Ability(10)
dexterity = Ability(10)
constitution = Ability(10)
@@ -476,13 +575,21 @@ class Commoner(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 4
hit_dice = "1d8"
hit_dice = '1d8 + 0'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class ConstrictorSnake(Monster):
"""
# Actions
Bite.
Melee Weapon Attack: +4 to hit, reach 5 ft., one creature. Hit: 5 (1d6
+ 2) piercing damage.
@@ -492,13 +599,13 @@ class ConstrictorSnake(Monster):
Until this grapple ends, the creature is restrained, and the snake
can't constrict another target.
"""
name = "Constrictor Snake"
description = "Large beast, unaligned"
name = 'Constrictor Snake'
description = 'Large beast, unaligned'
challenge_rating = 0.25
armor_class = 12
skills = ""
senses = "Blindsight 10 ft., Passive Perception 10"
languages = ""
skills = ''
senses = 'Blindsight 10 ft., Passive Perception 10'
languages = ''
strength = Ability(15)
dexterity = Ability(14)
constitution = Ability(12)
@@ -509,13 +616,21 @@ class ConstrictorSnake(Monster):
swim_speed = 30
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 13
hit_dice = "2d10"
hit_dice = '2d10 + 2'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class CopperDragonWyrmling(Monster):
"""
# Actions
Bite.
Melee Weapon Attack: +4 to hit, reach 5 ft., one target. Hit: 7 (1d10
+ 2) piercing damage.
@@ -536,13 +651,13 @@ class CopperDragonWyrmling(Monster):
can repeat the saving throw at the end of each of its turns, ending
the effect on itself with a successful save.
"""
name = "Copper Dragon Wyrmling"
description = "Medium dragon, chaotic good"
name = 'Copper Dragon Wyrmling'
description = 'Medium dragon, chaotic good'
challenge_rating = 1
armor_class = 16
skills = "Perception +4, Stealth +3"
senses = "Blindsight 10 ft., Darkvision 60 ft., Passive Perception 14"
languages = "Draconic"
skills = 'Perception +4, Stealth +3'
senses = 'Blindsight 10 ft., Darkvision 60 ft., Passive Perception 14'
languages = 'Draconic'
strength = Ability(15)
dexterity = Ability(12)
constitution = Ability(13)
@@ -553,13 +668,19 @@ class CopperDragonWyrmling(Monster):
swim_speed = 0
fly_speed = 60
climb_speed = 30
burrow_speed = 0
hp_max = 22
hit_dice = "4d8"
hit_dice = '4d8 + 4'
condition_immunities = ''
damage_immunities = 'acid'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Couatl(Monster):
"""
Innate Spellcasting.
The couatl's spellcasting ability is Charisma (spell save DC 14). It
can innately cast the following spells, requiring only verbal
@@ -578,6 +699,9 @@ class Couatl(Monster):
Shielded Mind.
The couatl is immune to scrying and to any effect that would sense its
emotions, read its thoughts, or detect its location.
# Actions
Bite.
Melee Weapon Attack: +8 to hit, reach 5 ft., one creature. Hit: 8 (1d6
+ 5) piercing damage, and the target must succeed on a DC 13
@@ -603,13 +727,13 @@ class Couatl(Monster):
and lair actions) that the new form has but that it lacks. If the new
form has a bite attack, the couatl can use its bite in that form.
"""
name = "Couatl"
description = "Medium celestial, lawful good"
name = 'Couatl'
description = 'Medium celestial, lawful good'
challenge_rating = 4
armor_class = 19
skills = ""
senses = "Truesight 120 ft., Passive Perception 15"
languages = "all, telepathy 120 ft."
skills = ''
senses = 'Truesight 120 ft., Passive Perception 15'
languages = 'all, telepathy 120 ft.'
strength = Ability(16)
dexterity = Ability(20)
constitution = Ability(17)
@@ -620,26 +744,35 @@ class Couatl(Monster):
swim_speed = 0
fly_speed = 90
climb_speed = 0
burrow_speed = 0
hp_max = 97
hit_dice = "13d8"
hit_dice = '13d8 + 39'
condition_immunities = ''
damage_immunities = 'psychic, bludgeoning, piercing, and slashing from nonmagical weapons'
damage_resistances = 'radiant'
damage_vulnerabilities = ''
spells = []
class Crab(Monster):
"""
Amphibious.
The crab can breathe air and water.
# Actions
Claw.
Melee Weapon Attack: +0 to hit, reach 5 ft., one target. Hit: 1
bludgeoning damage.
"""
name = "Crab"
description = "Tiny beast, unaligned"
name = 'Crab'
description = 'Tiny beast, unaligned'
challenge_rating = 0
armor_class = 11
skills = "Stealth +2"
senses = "Blindsight 30 ft., Passive Perception 9"
languages = ""
skills = 'Stealth +2'
senses = 'Blindsight 30 ft., Passive Perception 9'
languages = ''
strength = Ability(2)
dexterity = Ability(11)
constitution = Ability(10)
@@ -650,28 +783,37 @@ class Crab(Monster):
swim_speed = 20
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 2
hit_dice = "1d4"
hit_dice = '1d4 + 0'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Crocodile(Monster):
"""
Hold Breath.
The crocodile can hold its breath for 15 minutes.
# Actions
Bite.
Melee Weapon Attack: +4 to hit, reach 5 ft., one creature. Hit: 7
(1d10 + 2) piercing damage, and the target is grappled (escape DC 12).
Until this grapple ends, the target is restrained, and the crocodile
can't bite another target
"""
name = "Crocodile"
description = "Large beast, unaligned"
name = 'Crocodile'
description = 'Large beast, unaligned'
challenge_rating = 0.5
armor_class = 12
skills = "Stealth +2"
senses = "Passive Perception 10"
languages = ""
skills = 'Stealth +2'
senses = 'Passive Perception 10'
languages = ''
strength = Ability(15)
dexterity = Ability(10)
constitution = Ability(13)
@@ -682,41 +824,44 @@ class Crocodile(Monster):
swim_speed = 20
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 19
hit_dice = "3d10"
hit_dice = '3d10 + 3'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class CultFanatic(Monster):
"""
Dark Devotion.
The fanatic has advantage on saving throws against being charmed or
frightened.
Spellcasting.
The fanatic is a 4th-level spellcaster. Its spell casting ability is
Wisdom (spell save DC 11, +3 to hit with spell attacks). The fanatic
has the following cleric spells prepared:
Cantrips (at will): light, sacred flame, thaumaturgy
- 1st level (4 slots): command, inflict wounds, shield of faith
- 2nd level (3 slots): hold person, spiritual weapon
The fanatic is a 4th-level spellcaster. Its spell casting ability is Wisdom (spell save DC 11, +3 to hit with spell attacks). The fanatic has the following cleric spells prepared:
Cantrips (at will): light, sacred flame, thaumaturgy
- 1st level (4 slots): command, inflict wounds, shield of faith
- 2nd level (3 slots): hold person, spiritual weapon
# Actions
Multiattack.
The fanatic makes two melee attacks.
Dagger.
Melee or Ranged Weapon Attack: +4 to hit, reach 5 ft. or range 20/60
ft., one creature. Hit: 4 (1d4 + 2) piercing damage.
"""
name = "Cult Fanatic"
description = "Medium humanoid, any non-good alignment"
name = 'Cult Fanatic'
description = 'Medium humanoid, any non-good alignment'
challenge_rating = 2
armor_class = 13
skills = "Deception +4, Persuasion +4, Religion +2"
senses = "Passive Perception 11"
languages = "any one language (usually Common)"
skills = 'Deception +4, Persuasion +4, Religion +2'
senses = 'Passive Perception 11'
languages = 'any one language (usually Common)'
strength = Ability(11)
dexterity = Ability(14)
constitution = Ability(12)
@@ -727,27 +872,36 @@ class CultFanatic(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 22
hit_dice = "6d8"
spells = ["light", "sacred flame", "thaumaturgy", "command", "inflict wounds", "shield of faith", "hold person", "spiritual weapon"]
hit_dice = '6d8 + -5'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = ['light', 'sacred flame', 'thaumaturgy', 'command', 'inflict wounds', 'shield of faith', 'hold person', 'spiritual weapon']
class Cultist(Monster):
"""
Dark Devotion.
The cultist has advantage on saving throws against being charmed or
frightened.
# Actions
Scimitar.
Melee Weapon Attack: +3 to hit, reach 5 ft., one creature. Hit: 4 (1d6
+ 1) slashing damage.
"""
name = "Cultist"
description = "Medium humanoid, any non-good alignment"
name = 'Cultist'
description = 'Medium humanoid, any non-good alignment'
challenge_rating = 0.125
armor_class = 12
skills = "Deception +2, Religion +2"
senses = "Passive Perception 10"
languages = "any one language (usually Common)"
skills = 'Deception +2, Religion +2'
senses = 'Passive Perception 10'
languages = 'any one language (usually Common)'
strength = Ability(11)
dexterity = Ability(12)
constitution = Ability(10)
@@ -758,6 +912,11 @@ class Cultist(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 9
hit_dice = "2d8"
hit_dice = '2d8 + 0'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
+267 -178
View File
@@ -42,15 +42,15 @@ class Dao(Monster):
check or be knocked prone.
"""
name = "Dao"
description = "Large elemental, neutral evil"
name = 'Dao'
description = 'Large elemental, neutral evil'
challenge_rating = 11
armor_class = 18
skills = ""
saving_throws = "Int +5, Wis +5, Cha +6"
condition_immunities = "petrified"
senses = "darkvision 120ft., passive Perception 11"
languages = "Terran"
skills = ''
saving_throws = 'Int +5, Wis +5, Cha +6'
condition_immunities = 'petrified'
senses = 'darkvision 120ft., passive Perception 11'
languages = 'Terran'
strength = Ability(23)
dexterity = Ability(12)
constitution = Ability(24)
@@ -63,21 +63,21 @@ class Dao(Monster):
climb_speed = 0
burrow_speed = 30
hp_max = 187
hit_dice = "15d10 + 105"
spells = ["detect evil and good", "detect magic", "stone shape",
"passwall", "move earth", "tongues",
"conjure elemental", "gaseous form",
"invisibility", "phantasmal killer", "plane shift",
"wall of stone"]
hit_dice = '15d10 + 105'
spells = ['detect evil and good', 'detect magic', 'stone shape', 'passwall', 'move earth', 'tongues', 'conjure elemental', 'gaseous form', 'invisibility', 'phantasmal killer', 'plane shift', 'wall of stone']
class Darkmantle(Monster):
"""
Echolocation.
The darkmantle can't use its blindsight while deafened.
False Appearance.
While the darkmantle remains motionless, it is indistinguishable from
a cave formation such as a stalactite or stalagmite.
# Actions
Crush.
Melee Weapon Attack: +5 to hit, reach 5 ft., one creature. Hit: 6 (1d6
+ 3) bludgeoning damage, and the darkmantle attaches to the target. If
@@ -103,13 +103,13 @@ class Darkmantle(Monster):
overlaps with an area of light created by a spell of 2nd level or
lower, the spell creating the light is dispelled.
"""
name = "Darkmantle"
description = "Small monstrosity, unaligned"
name = 'Darkmantle'
description = 'Small monstrosity, unaligned'
challenge_rating = 0.5
armor_class = 11
skills = "Stealth +3"
senses = "Blindsight 60 ft., Passive Perception 10"
languages = ""
skills = 'Stealth +3'
senses = 'Blindsight 60 ft., Passive Perception 10'
languages = ''
strength = Ability(16)
dexterity = Ability(12)
constitution = Ability(13)
@@ -120,17 +120,26 @@ class Darkmantle(Monster):
swim_speed = 0
fly_speed = 30
climb_speed = 0
burrow_speed = 0
hp_max = 22
hit_dice = "5d6"
hit_dice = '5d6 + 5'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class DeathDog(Monster):
"""
Two-Headed.
The dog has advantage on Wisdom (Perception) checks and on saving
throws against being blinded, charmed, deafened, frightened, stunned,
or knocked unconscious.
# Actions
Multiattack.
The dog makes two bite attacks.
Bite.
@@ -142,13 +151,13 @@ class DeathDog(Monster):
(1d10) on a failure. This reduction lasts until the disease is cured.
The creature dies if the disease reduces its hit point maximum to 0.
"""
name = "Death Dog"
description = "Medium monstrosity, neutral evil"
name = 'Death Dog'
description = 'Medium monstrosity, neutral evil'
challenge_rating = 1
armor_class = 12
skills = "Perception +5, Stealth +4"
senses = "Darkvision 120 ft., Passive Perception 15"
languages = ""
skills = 'Perception +5, Stealth +4'
senses = 'Darkvision 120 ft., Passive Perception 15'
languages = ''
strength = Ability(15)
dexterity = Ability(14)
constitution = Ability(14)
@@ -159,13 +168,19 @@ class DeathDog(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 39
hit_dice = "6d8"
hit_dice = '6d8 + 12'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class DeepGnomeSvirfneblin(Monster):
"""
Stone Camouflage.
The gnome has advantage on Dexterity (Stealth) checks made to hide in
rocky terrain.
@@ -180,6 +195,9 @@ class DeepGnomeSvirfneblin(Monster):
At will: nondetection (self only)
1/day each: blindness/deafness, blur, disguise self
# Actions
War Pick.
Melee Weapon Attack: +4 to hit, reach 5 ft., one target. Hit: 6 (1d8 +
2) piercing damage.
@@ -190,13 +208,13 @@ class DeepGnomeSvirfneblin(Monster):
repeat the saving throw at the end of each of its turns, ending the
effect on itself on a success
"""
name = "Deep Gnome (Svirfneblin)"
description = "Small humanoid, neutral good"
name = 'Deep Gnome (Svirfneblin)'
description = 'Small humanoid, neutral good'
challenge_rating = 0.5
armor_class = 15
skills = "Investigation +3, Perception +2, Stealth +4"
senses = "Darkvision 120 ft., Passive Perception 12"
languages = "Gnomish, Terran, Undercommon"
skills = 'Investigation +3, Perception +2, Stealth +4'
senses = 'Darkvision 120 ft., Passive Perception 12'
languages = 'Gnomish, Terran, Undercommon'
strength = Ability(15)
dexterity = Ability(14)
constitution = Ability(14)
@@ -207,74 +225,32 @@ class DeepGnomeSvirfneblin(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 16
hit_dice = "3d6"
hit_dice = '3d6 + 6'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class DeepGnomeSvirfneblin(Monster):
"""Stone Camouflage.
The gnome has advantage on Dexterity (Stealth) checks made to
hide in rocky terrain.
Gnome Cunning.
The gnome has advantage on Intelligence, Wisdom, and Charisma
saving throws against magic.
Innate Spellcasting.
The gnome's innate spellcasting ability is Intelligence (spell
save DC 11). It can innately cast the following spells,
requiring no material components:
- At will: nondetection (self only)
- 1/day each: blindness/deafness, blur, disguise self
War Pick
Melee Weapon Attack: +4 to hit, reach 5 ft., one target. Hit: 6
(1d8 + 2) piercing damage.
Poisoned Dart
Ranged Weapon Attack: +4 to hit, range 30/120 ft., one
creature. Hit: 4 (1d4 + 2) piercing damage, and the target must
succeed on a DC 12 Constitution saving throw or be poisoned for
1 minute. The target can repeat the saving throw at the end of
each of its turns, ending the effect on itself on a success
"""
name = "Deep Gnome (Svirfneblin)"
description = "Small humanoid, neutral good"
challenge_rating = 0.5
armor_class = 15
skills = "Investigation +3, Perception +2, Stealth +4"
senses = "Darkvision 120 ft., Passive Perception 12"
languages = "Gnomish, Terran, Undercommon"
strength = Ability(15)
dexterity = Ability(14)
constitution = Ability(14)
intelligence = Ability(12)
wisdom = Ability(10)
charisma = Ability(9)
speed = 20
swim_speed = 0
fly_speed = 0
climb_speed = 0
hp_max = 16
hit_dice = "3d6"
DeepGnome = DeepGnomeSvirfneblin
class Deer(Monster):
"""
# Actions
Bite.
Melee Weapon Attack: +2 to hit, reach 5 ft., one target. Hit: 2 (1d4)
piercing damage.
"""
name = "Deer"
description = "Medium beast, unaligned"
name = 'Deer'
description = 'Medium beast, unaligned'
challenge_rating = 0
armor_class = 13
skills = ""
senses = "Passive Perception 12"
languages = ""
skills = ''
senses = 'Passive Perception 12'
languages = ''
strength = Ability(11)
dexterity = Ability(16)
constitution = Ability(11)
@@ -285,13 +261,19 @@ class Deer(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 4
hit_dice = "1d8"
hit_dice = '1d8 + 0'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Deva(Monster):
"""
Angelic Weapons.
The deva's weapon attacks are magical. When the deva hits with any
weapon, the weapon deals an extra 4d8 radiant damage (included in the
@@ -307,6 +289,9 @@ class Deva(Monster):
Magic Resistance.
The deva has advantage on saving throws against spells and other
magical effects.
# Actions
Multiattack.
The deva makes two melee attacks.
Mace.
@@ -329,13 +314,13 @@ class Deva(Monster):
statistics and capabilities (except class features, legendary actions,
and lair actions) that the new form has but that it lacks.
"""
name = "Deva"
description = "Medium celestial, lawful good"
name = 'Deva'
description = 'Medium celestial, lawful good'
challenge_rating = 10
armor_class = 17
skills = "Insight +9, Perception +9"
senses = "Darkvision 120 ft., Passive Perception 19"
languages = "all, telepathy 120 ft."
skills = 'Insight +9, Perception +9'
senses = 'Darkvision 120 ft., Passive Perception 19'
languages = 'all, telepathy 120 ft.'
strength = Ability(18)
dexterity = Ability(18)
constitution = Ability(18)
@@ -346,13 +331,19 @@ class Deva(Monster):
swim_speed = 0
fly_speed = 90
climb_speed = 0
burrow_speed = 0
hp_max = 136
hit_dice = "16d8"
hit_dice = '16d8 + 64'
condition_immunities = 'charmed, exhaustion, frightened'
damage_immunities = ''
damage_resistances = 'radiant'
damage_vulnerabilities = ''
spells = []
class DireWolf(Monster):
"""
Keen Hearing and Smell.
The wolf has advantage on Wisdom (Perception) checks that rely on
hearing or smell.
@@ -360,18 +351,21 @@ class DireWolf(Monster):
The wolf has advantage on an attack roll against a creature if at
least one of the wolf's allies is within 5 ft. of the creature and the
ally isn't incapacitated.
# Actions
Bite.
Melee Weapon Attack: +5 to hit, reach 5 ft., one target. Hit: 10 (2d6
+ 3) piercing damage. If the target is a creature, it must succeed on
a DC 13 Strength saving throw or be knocked prone.
"""
name = "Dire Wolf"
description = "Large beast, unaligned"
name = 'Dire Wolf'
description = 'Large beast, unaligned'
challenge_rating = 1
armor_class = 14
skills = "Perception +3, Stealth +4"
senses = "Passive Perception 13"
languages = ""
skills = 'Perception +3, Stealth +4'
senses = 'Passive Perception 13'
languages = ''
strength = Ability(17)
dexterity = Ability(15)
constitution = Ability(15)
@@ -382,13 +376,19 @@ class DireWolf(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 37
hit_dice = "5d10"
hit_dice = '5d10 + 10'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Djinni(Monster):
"""
Elemental Demise.
If the djinni dies, its body disintegrates into a warm breeze, leaving
behind only equipment the djinni was wearing or carrying.
@@ -440,6 +440,9 @@ class Djinni(Monster):
nature, the genie might try to pervert the intent of the wish by
exploiting the wish's poor wording. The perversion of the wording is
usually crafted to be to the genie's benefit.
# Actions
Multiattack.
The djinni makes three scimitar attacks.
Scimitar.
@@ -461,13 +464,13 @@ class Djinni(Monster):
If the check succeeds, the creature is no longer restrained and moves
to the nearest space outside the whirlwind.
"""
name = "Djinni"
description = "Large elemental, chaotic good"
name = 'Djinni'
description = 'Large elemental, chaotic good'
challenge_rating = 11
armor_class = 17
skills = ""
senses = "Darkvision 120 ft., Passive Perception 13"
languages = "Auran"
skills = ''
senses = 'Darkvision 120 ft., Passive Perception 13'
languages = 'Auran'
strength = Ability(21)
dexterity = Ability(15)
constitution = Ability(22)
@@ -478,13 +481,19 @@ class Djinni(Monster):
swim_speed = 0
fly_speed = 90
climb_speed = 0
burrow_speed = 0
hp_max = 161
hit_dice = "14d10"
hit_dice = '14d10 + 84'
condition_immunities = ''
damage_immunities = 'lightning, thunder'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Doppelganger(Monster):
"""
Shapechanger.
The doppelganger can use its action to polymorph into a Small or
Medium humanoid it has seen, or back into its true form. Its
@@ -498,6 +507,9 @@ class Doppelganger(Monster):
If the doppelganger surprises a creature and hits it with an attack
during the first round of combat, the target takes an extra 10 (3d6)
damage from the attack.
# Actions
Multiattack.
The doppelganger makes two melee attacks.
Slam.
@@ -514,13 +526,13 @@ class Doppelganger(Monster):
(Insight) and Charisma (Deception, Intimidation, and Persuasion)
checks against the target.
"""
name = "Doppelganger"
description = "Medium monstrosity, unaligned"
name = 'Doppelganger'
description = 'Medium monstrosity, unaligned'
challenge_rating = 3
armor_class = 14
skills = "Deception +6, Insight +3"
senses = "Darkvision 60 ft., Passive Perception 11"
languages = "Common"
skills = 'Deception +6, Insight +3'
senses = 'Darkvision 60 ft., Passive Perception 11'
languages = 'Common'
strength = Ability(11)
dexterity = Ability(18)
constitution = Ability(14)
@@ -531,24 +543,32 @@ class Doppelganger(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 52
hit_dice = "8d8"
hit_dice = '8d8 + 16'
condition_immunities = 'charmed'
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class DraftHorse(Monster):
"""
# Actions
Hooves.
Melee Weapon Attack: +6 to hit, reach 5 ft., one target. Hit: 9 (2d4 +
4) bludgeoning damage.
"""
name = "Draft Horse"
description = "Large beast, unaligned"
name = 'Draft Horse'
description = 'Large beast, unaligned'
challenge_rating = 0.25
armor_class = 10
skills = ""
senses = "Passive Perception 10"
languages = ""
skills = ''
senses = 'Passive Perception 10'
languages = ''
strength = Ability(18)
dexterity = Ability(10)
constitution = Ability(12)
@@ -559,15 +579,24 @@ class DraftHorse(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 19
hit_dice = "3d10"
hit_dice = '3d10 + 3'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class DragonTurtle(Monster):
"""
Amphibious.
The dragon turtle can breathe air and water.
# Actions
Multiattack.
The dragon turtle makes three attacks: one with its bite and two with
its claws. It can make one tail attack in place of its two claw
@@ -590,13 +619,13 @@ class DragonTurtle(Monster):
on a successful one. Being underwater doesn't grant resistance against
this damage.
"""
name = "Dragon Turtle"
description = "Gargantuan dragon, neutral"
name = 'Dragon Turtle'
description = 'Gargantuan dragon, neutral'
challenge_rating = 17
armor_class = 20
skills = ""
senses = "Darkvision 120 ft., Passive Perception 11"
languages = "Aquan, Draconic"
skills = ''
senses = 'Darkvision 120 ft., Passive Perception 11'
languages = 'Aquan, Draconic'
strength = Ability(25)
dexterity = Ability(10)
constitution = Ability(20)
@@ -607,13 +636,21 @@ class DragonTurtle(Monster):
swim_speed = 40
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 341
hit_dice = "22d20"
hit_dice = '22d20 + 110'
condition_immunities = ''
damage_immunities = ''
damage_resistances = 'fire'
damage_vulnerabilities = ''
spells = []
class Dretch(Monster):
"""
# Actions
Multiattack.
The dretch makes two attacks: one with its bite and one with its
claws.
@@ -632,13 +669,13 @@ class Dretch(Monster):
poisoned in this way, the target can take either an action or a bonus
action on its turn, not both, and can't take reactions.
"""
name = "Dretch"
description = "Small fiend, chaotic evil"
name = 'Dretch'
description = 'Small fiend, chaotic evil'
challenge_rating = 0.25
armor_class = 11
skills = ""
senses = "Darkvision 60 ft., Passive Perception 9"
languages = "Abyssal, telepathy 60 ft. (works only with creatures that understand Abyssal)"
skills = ''
senses = 'Darkvision 60 ft., Passive Perception 9'
languages = 'Abyssal, telepathy 60 ft. (works only with creatures that understand Abyssal)'
strength = Ability(11)
dexterity = Ability(11)
constitution = Ability(12)
@@ -649,13 +686,19 @@ class Dretch(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 18
hit_dice = "4d6"
hit_dice = '4d6 + 4'
condition_immunities = 'poisoned'
damage_immunities = 'poison'
damage_resistances = 'cold'
damage_vulnerabilities = ''
spells = []
class Drider(Monster):
"""
Fey Ancestry.
The drider has advantage on saving throws against being charmed, and
magic can't put the drider to sleep.
@@ -675,6 +718,9 @@ class Drider(Monster):
well as on Wisdom (Perception) checks that rely on sight.
Web Walker.
The drider ignores movement restrictions caused by webbing.
# Actions
Multiattack.
The drider makes three attacks, either with its longsword or its
longbow. It can replace one of those attacks with a bite attack.
@@ -689,13 +735,13 @@ class Drider(Monster):
Ranged Weapon Attack: +6 to hit, range 150/600 ft., one target. Hit: 7
(1d8 + 3) piercing damage plus 4 (1d8) poison damage.
"""
name = "Drider"
description = "Large monstrosity, chaotic evil"
name = 'Drider'
description = 'Large monstrosity, chaotic evil'
challenge_rating = 6
armor_class = 19
skills = "Perception +5, Stealth +9"
senses = "Darkvision 120 ft., Passive Perception 15"
languages = "Elvish, Undercommon"
skills = 'Perception +5, Stealth +9'
senses = 'Darkvision 120 ft., Passive Perception 15'
languages = 'Elvish, Undercommon'
strength = Ability(16)
dexterity = Ability(16)
constitution = Ability(18)
@@ -706,13 +752,19 @@ class Drider(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 30
burrow_speed = 0
hp_max = 123
hit_dice = "13d10"
hit_dice = '13d10 + 52'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Drow(Monster):
"""
Fey Ancestry.
The drow has advantage on saving throws against being charmed, and
magic can't put the drow to sleep.
@@ -726,6 +778,9 @@ class Drow(Monster):
Sunlight Sensitivity.
While in sunlight, the drow has disadvantage on attack rolls, as well
as on Wisdom (Perception) checks that rely on sight.
# Actions
Shortsword.
Melee Weapon Attack: +4 to hit, reach 5 ft., one target. Hit: 5 (1d6 +
2) piercing damage.
@@ -737,13 +792,13 @@ class Drow(Monster):
poisoned in this way. The target wakes up if it takes damage or if
another creature takes an action to shake it awake.
"""
name = "Drow"
description = "Medium humanoid, neutral evil"
name = 'Drow'
description = 'Medium humanoid, neutral evil'
challenge_rating = 0.25
armor_class = 15
skills = "Perception +2, Stealth +4"
senses = "Darkvision 120 ft., Passive Perception 12"
languages = "Elvish, Undercommon"
skills = 'Perception +2, Stealth +4'
senses = 'Darkvision 120 ft., Passive Perception 12'
languages = 'Elvish, Undercommon'
strength = Ability(10)
dexterity = Ability(14)
constitution = Ability(10)
@@ -754,38 +809,40 @@ class Drow(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 13
hit_dice = "3d8"
hit_dice = '3d8 + 0'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Druid(Monster):
"""
Spellcasting.
The druid is a 4th-level spellcaster. Its spellcasting ability is
Wisdom (spell save DC 12, +4 to hit with spell attacks). It has the
following druid spells prepared:
- Cantrips (at will): druidcraft, produce flame, shillelagh
- 1st level (4 slots): entangle, longstrider, speak with animals,
thunderwave
- 2nd level (3 slots): animal messenger, barkskin
The druid is a 4th-level spellcaster. Its spellcasting ability is Wisdom (spell save DC 12, +4 to hit with spell attacks). It has the following druid spells prepared:
- Cantrips (at will): druidcraft, produce flame, shillelagh
- 1st level (4 slots): entangle, longstrider, speak with animals, thunderwave
- 2nd level (3 slots): animal messenger, barkskin
# Actions
Quarterstaff.
Melee Weapon Attack: +2 to hit (+4 to hit with shillelagh), reach 5
ft., one target. Hit: 3 (1d6) bludgeoning damage, or 6 (1d8 + 2)
bludgeoning damage with shillelagh or if wielded with two hands.
"""
name = "Druid"
description = "Medium humanoid, any alignment"
name = 'Druid'
description = 'Medium humanoid, any alignment'
challenge_rating = 2
armor_class = 11
skills = "Medicine +4, Nature +3, Perception +4"
senses = "Passive Perception 14"
languages = "Druidic plus any two languages"
skills = 'Medicine +4, Nature +3, Perception +4'
senses = 'Passive Perception 14'
languages = 'Druidic plus any two languages'
strength = Ability(10)
dexterity = Ability(12)
constitution = Ability(13)
@@ -796,13 +853,19 @@ class Druid(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 27
hit_dice = "5d8"
spells = ["druidcraft", "produce flame", "shillelagh", "entangle", "longstrider", "speak with animals", "thunderwave", "animal messenger", "barkskin"]
hit_dice = '5d8 + 5'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = ['druidcraft', 'produce flame', 'shillelagh', 'entangle', 'longstrider', 'speak with animals', 'thunderwave', 'animal messenger', 'barkskin']
class Dryad(Monster):
"""
Innate Spellcasting.
The dryad's innate spellcasting ability is Charisma (spell save DC
14). The dryad can innately cast the following spells, requiring no
@@ -827,6 +890,9 @@ class Dryad(Monster):
second living tree within 60 ft. of the first tree, appearing in an
unoccupied space within 5 ft. of the second tree. Both trees must be
large or bigger.
# Actions
Club.
Melee Weapon Attack: +2 to hit (+6 to hit with shillelagh), reach 5
ft., one target. Hit: 2 (1 d4) bludgeoning damage, or 8 (1d8 + 4)
@@ -849,13 +915,13 @@ class Dryad(Monster):
The dryad can have no more than one humanoid and up to three beasts
charmed at a time.
"""
name = "Dryad"
description = "Medium fey, neutral"
name = 'Dryad'
description = 'Medium fey, neutral'
challenge_rating = 1
armor_class = 11
skills = "Perception +4, Stealth +5"
senses = "Darkvision 60 ft., Passive Perception 14"
languages = "Elvish, Sylvan"
skills = 'Perception +4, Stealth +5'
senses = 'Darkvision 60 ft., Passive Perception 14'
languages = 'Elvish, Sylvan'
strength = Ability(10)
dexterity = Ability(12)
constitution = Ability(11)
@@ -866,19 +932,28 @@ class Dryad(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 22
hit_dice = "5d8"
hit_dice = '5d8 + 0'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Duergar(Monster):
"""
Duergar Resilience.
The duergar has advantage on saving throws against poison, spells, and
illusions, as well as to resist being charmed or paralyzed.
Sunlight Sensitivity.
While in sunlight, the duergar has disadvantage on attack rolls, as
well as on Wisdom (Perception) checks that rely on sight.
# Actions
Enlarge.
For 1 minute, the duergar magically increases in size, along with
anything it is wearing or carrying. While enlarged, the duergar is
@@ -899,13 +974,13 @@ class Duergar(Monster):
hour (as if concentrating on a spell). Any equipment the duergar wears
or carries is invisible with it .
"""
name = "Duergar"
description = "Medium humanoid, lawful evil"
name = 'Duergar'
description = 'Medium humanoid, lawful evil'
challenge_rating = 1
armor_class = 16
skills = ""
senses = "Darkvision 120 ft., Passive Perception 10"
languages = "Dwarvish, Undercommon"
skills = ''
senses = 'Darkvision 120 ft., Passive Perception 10'
languages = 'Dwarvish, Undercommon'
strength = Ability(14)
dexterity = Ability(11)
constitution = Ability(14)
@@ -916,13 +991,19 @@ class Duergar(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 26
hit_dice = "4d8"
hit_dice = '4d8 + 8'
condition_immunities = ''
damage_immunities = ''
damage_resistances = 'poison'
damage_vulnerabilities = ''
spells = []
class DustMephit(Monster):
"""
Death Burst.
When the mephit dies, it explodes in a burst of dust. Each creature
within 5 ft. of it must then succeed on a DC 10 Constitution saving
@@ -932,6 +1013,9 @@ class DustMephit(Monster):
Innate Spellcasting.
The mephit can innately cast sleep, requiring no material components.
Its innate spellcasting ability is Charisma.
# Actions
Claws.
Melee Weapon Attack: +4 to hit, reach 5 ft., one creature. Hit: 4 (1d4
+ 2) slashing damage.
@@ -947,13 +1031,13 @@ class DustMephit(Monster):
other mephits. It remains for 1 minute, until it or its summoner dies,
or until its summoner dismisses it as an action.
"""
name = "Dust Mephit"
description = "Small elemental, neutral evil"
name = 'Dust Mephit'
description = 'Small elemental, neutral evil'
challenge_rating = 0.5
armor_class = 12
skills = "Perception +2, Stealth +4"
senses = "Darkvision 60 ft., Passive Perception 12"
languages = "Auran, Terran"
skills = 'Perception +2, Stealth +4'
senses = 'Darkvision 60 ft., Passive Perception 12'
languages = 'Auran, Terran'
strength = Ability(5)
dexterity = Ability(14)
constitution = Ability(10)
@@ -964,6 +1048,11 @@ class DustMephit(Monster):
swim_speed = 0
fly_speed = 30
climb_speed = 0
burrow_speed = 0
hp_max = 17
hit_dice = "5d6"
hit_dice = '5d6 + 0'
condition_immunities = 'poisoned'
damage_immunities = 'poison'
damage_resistances = ''
damage_vulnerabilities = 'fire'
spells = []
+136 -57
View File
@@ -10,20 +10,24 @@ from dungeonsheets.stats import Ability
class Eagle(Monster):
"""
Keen Sight.
The eagle has advantage on Wisdom (Perception) checks that rely on
sight.
# Actions
Talons.
Melee Weapon Attack: +4 to hit, reach 5 ft., one target. Hit: 4 (1d4 +
2) slashing damage.
"""
name = "Eagle"
description = "Small beast, unaligned"
name = 'Eagle'
description = 'Small beast, unaligned'
challenge_rating = 0
armor_class = 12
skills = "Perception +4"
senses = "Passive Perception 14"
languages = ""
skills = 'Perception +4'
senses = 'Passive Perception 14'
languages = ''
strength = Ability(6)
dexterity = Ability(15)
constitution = Ability(10)
@@ -34,32 +38,41 @@ class Eagle(Monster):
swim_speed = 0
fly_speed = 60
climb_speed = 0
burrow_speed = 0
hp_max = 3
hit_dice = "1d6"
hit_dice = '1d6 + 0'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class EarthElemental(Monster):
"""
Earth Glide.
The elemental can burrow through nonmagical, unworked earth and stone.
While doing so, the elemental doesn't disturb the material it moves
through.
Siege Monster.
The elemental deals double damage to objects and structures.
# Actions
Multiattack.
The elemental makes two slam attacks.
Slam.
Melee Weapon Attack: +8 to hit, reach 10 ft., one target. Hit: 14 (2d8
+ 5) bludgeoning damage.
"""
name = "Earth Elemental"
description = "Large elemental, neutral"
name = 'Earth Elemental'
description = 'Large elemental, neutral'
challenge_rating = 5
armor_class = 17
skills = ""
senses = "Darkvision 60 ft., Tremorsense 60 ft., Passive Perception 10"
languages = "Terran"
skills = ''
senses = 'Darkvision 60 ft., Tremorsense 60 ft., Passive Perception 10'
languages = 'Terran'
strength = Ability(20)
dexterity = Ability(8)
constitution = Ability(20)
@@ -70,11 +83,16 @@ class EarthElemental(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 30
hp_max = 126
hit_dice = "12d10"
hit_dice = '12d10 + 60'
condition_immunities = 'exhaustion, paralyzed, petrified, poisoned, unconscious'
damage_immunities = 'poison'
damage_resistances = 'bludgeoning, piercing, and slashing from nonmagical weapons'
damage_vulnerabilities = 'thunder'
spells = []
# MTF
class EarthElementalMyrmidon(Monster):
"""Magic Weapons.
The myrmidon's weapon attacks are magical.
@@ -95,15 +113,15 @@ class EarthElementalMyrmidon(Monster):
creators.
"""
name = "Earth Elemental Myrmidon"
description = "Medium elemental, neutral"
name = 'Earth Elemental Myrmidon'
description = 'Medium elemental, neutral'
challenge_rating = 7
armor_class = 18
damage_resistances = "bludgeoning, piercing, and slashing from nonmagical weapons"
damage_immunities = "poison"
condition_immunities = "paralyzed, petrified, poisoned, prone"
skills = ""
senses = "Darkvision 60 ft., Passive Perception 10"
damage_resistances = 'bludgeoning, piercing, and slashing from nonmagical weapons'
damage_immunities = 'poison'
condition_immunities = 'paralyzed, petrified, poisoned, prone'
skills = ''
senses = 'Darkvision 60 ft., Passive Perception 10'
languages = "Terran, one language of its creator's choice"
strength = Ability(18)
dexterity = Ability(10)
@@ -116,11 +134,12 @@ class EarthElementalMyrmidon(Monster):
fly_speed = 0
climb_speed = 0
hp_max = 127
hit_dice = "17d8 + 51"
hit_dice = '17d8 + 51'
class Efreeti(Monster):
"""
Elemental Demise.
If the efreeti dies, its body disintegrates in a flash of fire and
puff of smoke, leaving behind only equipment the djinni was wearing or
@@ -172,6 +191,9 @@ class Efreeti(Monster):
nature, the genie might try to pervert the intent of the wish by
exploiting the wish's poor wording. The perversion of the wording is
usually crafted to be to the genie's benefit.
# Actions
Multiattack.
The efreeti makes two scimitar attacks or uses its Hurl Flame twice.
Scimitar.
@@ -181,13 +203,13 @@ class Efreeti(Monster):
Ranged Spell Attack: +7 to hit, range 120 ft., one target. Hit: 17
(5d6) fire damage.
"""
name = "Efreeti"
description = "Large elemental, lawful evil"
name = 'Efreeti'
description = 'Large elemental, lawful evil'
challenge_rating = 11
armor_class = 17
skills = ""
senses = "Darkvision 120 ft., Passive Perception 12"
languages = "Ignan"
skills = ''
senses = 'Darkvision 120 ft., Passive Perception 12'
languages = 'Ignan'
strength = Ability(22)
dexterity = Ability(12)
constitution = Ability(24)
@@ -198,19 +220,28 @@ class Efreeti(Monster):
swim_speed = 0
fly_speed = 60
climb_speed = 0
burrow_speed = 0
hp_max = 200
hit_dice = "16d10"
hit_dice = '16d10 + 112'
condition_immunities = ''
damage_immunities = 'fire'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Elephant(Monster):
"""
Trampling Charge.
If the elephant moves at least 20 ft. straight toward a creature and
then hits it with a gore attack on the same turn, that target must
succeed on a DC 12 Strength saving throw or be knocked prone. If the
target is prone, the elephant can make one stomp attack against it as
a bonus action.
# Actions
Gore.
Melee Weapon Attack: +8 to hit, reach 5 ft., one target. Hit: 19 (3d8
+ 6) piercing damage.
@@ -218,13 +249,13 @@ class Elephant(Monster):
Melee Weapon Attack: +8 to hit, reach 5 ft., one prone creature. Hit:
22 (3d10 + 6) bludgeoning damage.
"""
name = "Elephant"
description = "Huge beast, unaligned"
name = 'Elephant'
description = 'Huge beast, unaligned'
challenge_rating = 4
armor_class = 12
skills = ""
senses = "Passive Perception 10"
languages = ""
skills = ''
senses = 'Passive Perception 10'
languages = ''
strength = Ability(22)
dexterity = Ability(9)
constitution = Ability(17)
@@ -235,18 +266,27 @@ class Elephant(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 76
hit_dice = "8d12"
hit_dice = '8d12 + 24'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Elk(Monster):
"""
Charge.
If the elk moves at least 20 ft. straight toward a target and then
hits it with a ram attack on the same turn, the target takes an extra
7 (2d6) damage. If the target is a creature, it must succeed on a DC
13 Strength saving throw or be knocked prone.
# Actions
Ram.
Melee Weapon Attack: +5 to hit, reach 5 ft., one target. Hit: 6 (1d6 +
3) bludgeoning damage.
@@ -254,13 +294,13 @@ class Elk(Monster):
Melee Weapon Attack: +5 to hit, reach 5 ft., one prone creature. Hit:
8 (2d4 + 3) bludgeoning damage.
"""
name = "Elk"
description = "Large beast, unaligned"
name = 'Elk'
description = 'Large beast, unaligned'
challenge_rating = 0.25
armor_class = 10
skills = ""
senses = "Passive Perception 10"
languages = ""
skills = ''
senses = 'Passive Perception 10'
languages = ''
strength = Ability(16)
dexterity = Ability(10)
constitution = Ability(12)
@@ -271,19 +311,28 @@ class Elk(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 13
hit_dice = "2d10"
hit_dice = '2d10 + 2'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Erinyes(Monster):
"""
Hellish Weapons.
The erinyes's weapon attacks are magical and deal an extra 13 (3d8)
poison damage on a hit (included in the attacks).
Magic Resistance.
The erinyes has advantage on saving throws against spells and other
magical effects.
# Actions
Multiattack.
The erinyes makes three attacks
Longsword.
@@ -300,14 +349,21 @@ class Erinyes(Monster):
Some erinyes carry a rope of entanglement (detailed in the Dungeon
Master's Guide). When such an erinyes uses its Multiattack, the
erinyes can use the rope in place of two of the attacks.
# Reactions
Parry.
The erinyes adds 4 to its AC against one melee attack that would hit
it. To do so, the erinyes must see the attacker and be wielding a
melee weapon.
"""
name = "Erinyes"
description = "Medium fiend, lawful evil"
name = 'Erinyes'
description = 'Medium fiend, lawful evil'
challenge_rating = 12
armor_class = 18
skills = ""
senses = "Truesight 120 ft., Passive Perception 12"
languages = "Infernal, telepathy 120 ft."
skills = ''
senses = 'Truesight 120 ft., Passive Perception 12'
languages = 'Infernal, telepathy 120 ft.'
strength = Ability(18)
dexterity = Ability(16)
constitution = Ability(18)
@@ -318,13 +374,19 @@ class Erinyes(Monster):
swim_speed = 0
fly_speed = 60
climb_speed = 0
burrow_speed = 0
hp_max = 153
hit_dice = "18d8"
hit_dice = '18d8 + 72'
condition_immunities = 'poisoned'
damage_immunities = 'fire, poison'
damage_resistances = 'cold'
damage_vulnerabilities = ''
spells = []
class Ettercap(Monster):
"""
Spider Climb.
The ettercap can climb difficult surfaces, including upside down on
ceilings, without needing to make an ability check.
@@ -333,6 +395,9 @@ class Ettercap(Monster):
any other creature in contact with the same web.
Web Walker.
The ettercap ignores movement restrictions caused by webbing.
# Actions
Multiattack.
The ettercap makes two attacks: one with its bite and one with its
claws.
@@ -359,13 +424,13 @@ class Ettercap(Monster):
(escape DC 12). Until this grapple ends, the target can't breathe, and
the ettercap has advantage on attack rolls against it.
"""
name = "Ettercap"
description = "Medium monstrosity, neutral evil"
name = 'Ettercap'
description = 'Medium monstrosity, neutral evil'
challenge_rating = 2
armor_class = 13
skills = "Perception +3, Stealth +4, Survival +3"
senses = "Darkvision 60 ft., Passive Perception 13"
languages = ""
skills = 'Perception +3, Stealth +4, Survival +3'
senses = 'Darkvision 60 ft., Passive Perception 13'
languages = ''
strength = Ability(14)
dexterity = Ability(15)
constitution = Ability(13)
@@ -376,19 +441,28 @@ class Ettercap(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 30
burrow_speed = 0
hp_max = 44
hit_dice = "8d8"
hit_dice = '8d8 + 8'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Ettin(Monster):
"""
Two Heads.
The ettin has advantage on Wisdom (Perception) checks and on saving
throws against being blinded, charmed, deafened, frightened, stunned,
and knocked unconscious.
Wakeful.
When one of the ettin's heads is asleep, its other head is awake.
# Actions
Multiattack.
The ettin makes two attacks: one with its battleaxe and one with its
morningstar.
@@ -399,13 +473,13 @@ class Ettin(Monster):
Melee Weapon Attack: +7 to hit, reach 5 ft., one target. Hit: 14 (2d8
+ 5) piercing damage.
"""
name = "Ettin"
description = "Large giant, chaotic evil"
name = 'Ettin'
description = 'Large giant, chaotic evil'
challenge_rating = 4
armor_class = 12
skills = "Perception +4"
senses = "Darkvision 60 ft., Passive Perception 14"
languages = "Giant, Orc"
skills = 'Perception +4'
senses = 'Darkvision 60 ft., Passive Perception 14'
languages = 'Giant, Orc'
strength = Ability(21)
dexterity = Ability(8)
constitution = Ability(17)
@@ -416,6 +490,11 @@ class Ettin(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 85
hit_dice = "10d10"
hit_dice = '10d10 + 30'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
+99 -41
View File
@@ -10,6 +10,7 @@ from dungeonsheets.stats import Ability
class FireElemental(Monster):
"""
Fire Form.
The elemental can move through a space as narrow as 1 inch wide
without squeezing. A creature that touches the elemental or hits it
@@ -25,6 +26,9 @@ class FireElemental(Monster):
Water Susceptibility.
For every 5 ft. the elemental moves in water, or for every gallon of
water splashed on it, it takes 1 cold damage.
# Actions
Multiattack.
The elemental makes two touch attacks.
Touch.
@@ -33,13 +37,13 @@ class FireElemental(Monster):
it ignites. Until a creature takes an action to douse the fire, the
target takes 5 (1d10) fire damage at the start of each of its turns.
"""
name = "Fire Elemental"
description = "Large elemental, neutral"
name = 'Fire Elemental'
description = 'Large elemental, neutral'
challenge_rating = 5
armor_class = 13
skills = ""
senses = "Darkvision 60 ft., Passive Perception 10"
languages = "Ignan"
skills = ''
senses = 'Darkvision 60 ft., Passive Perception 10'
languages = 'Ignan'
strength = Ability(10)
dexterity = Ability(17)
constitution = Ability(16)
@@ -50,13 +54,21 @@ class FireElemental(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 102
hit_dice = "12d10"
hit_dice = '12d10 + 36'
condition_immunities = 'exhaustion, grappled, paralyzed, petrified, poisoned, prone, restrained, unconscious'
damage_immunities = 'fire, poison'
damage_resistances = 'bludgeoning, piercing, and slashing from nonmagical weapons'
damage_vulnerabilities = ''
spells = []
class FireGiant(Monster):
"""
# Actions
Multiattack.
The giant makes two greatsword attacks.
Greatsword.
@@ -66,13 +78,13 @@ class FireGiant(Monster):
Ranged Weapon Attack: +11 to hit, range 60/240 ft., one target. Hit:
29 (4d10 + 7) bludgeoning damage.
"""
name = "Fire Giant"
description = "Huge giant, lawful evil"
name = 'Fire Giant'
description = 'Huge giant, lawful evil'
challenge_rating = 9
armor_class = 18
skills = "Athletics +11, Perception +6"
senses = "Passive Perception 16"
languages = "Giant"
skills = 'Athletics +11, Perception +6'
senses = 'Passive Perception 16'
languages = 'Giant'
strength = Ability(25)
dexterity = Ability(9)
constitution = Ability(23)
@@ -83,13 +95,19 @@ class FireGiant(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 162
hit_dice = "13d12"
hit_dice = '13d12 + 78'
condition_immunities = ''
damage_immunities = 'fire'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class FleshGolem(Monster):
"""
Berserk.
Whenever the golem starts its turn with 40 hit points or fewer, roll a
d6. On a 6, the golem goes berserk. On each of its turns while
@@ -119,18 +137,21 @@ class FleshGolem(Monster):
magical effects.
Magic Weapons.
The golem's weapon attacks are magical.
# Actions
Multiattack.
The golem makes two slam attacks.
Slam.
Melee Weapon Attack: +7 to hit, reach 5 ft., one target. Hit: 13 (2d8
+ 4) bludgeoning damage.
"""
name = "Flesh Golem"
description = "Medium construct, neutral"
name = 'Flesh Golem'
description = 'Medium construct, neutral'
challenge_rating = 5
armor_class = 9
skills = ""
senses = "Darkvision 60 ft., Passive Perception 10"
skills = ''
senses = 'Darkvision 60 ft., Passive Perception 10'
languages = "understands the languages of its creator but can't speak"
strength = Ability(19)
dexterity = Ability(9)
@@ -142,27 +163,36 @@ class FleshGolem(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 93
hit_dice = "11d8"
hit_dice = '11d8 + 44'
condition_immunities = 'charmed, exhaustion, frightened, paralyzed, petrified, poisoned'
damage_immunities = "lightning, poison, bludgeoning, piercing, and slashing from nonmagical weapons that aren't adamantine"
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class FlyingSnake(Monster):
"""
Flyby.
The snake doesn't provoke opportunity attacks when it flies out of an
enemy's reach.
# Actions
Bite.
Melee Weapon Attack: +6 to hit, reach 5 ft., one target. Hit: 1
piercing damage plus 7 (3d4) poison damage.
"""
name = "Flying Snake"
description = "Tiny beast, unaligned"
name = 'Flying Snake'
description = 'Tiny beast, unaligned'
challenge_rating = 0.125
armor_class = 14
skills = ""
senses = "Blindsight 10 ft., Passive Perception 11"
languages = ""
skills = ''
senses = 'Blindsight 10 ft., Passive Perception 11'
languages = ''
strength = Ability(4)
dexterity = Ability(18)
constitution = Ability(11)
@@ -173,13 +203,19 @@ class FlyingSnake(Monster):
swim_speed = 30
fly_speed = 60
climb_speed = 0
burrow_speed = 0
hp_max = 5
hit_dice = "2d4"
hit_dice = '2d4 + 0'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class FlyingSword(Monster):
"""
Antimagic Susceptibility.
The sword is incapacitated while in the area of an antimagic field. If
targeted by dispel magic, the sword must succeed on a Constitution
@@ -188,17 +224,20 @@ class FlyingSword(Monster):
False Appearance.
While the sword remains motionless and isn't flying, it is
indistinguishable from a normal sword.
# Actions
Longsword.
Melee Weapon Attack: +3 to hit, reach 5 ft., one target. Hit: 5 (1d8 +
1) slashing damage.
"""
name = "Flying Sword"
description = "Small construct, unaligned"
name = 'Flying Sword'
description = 'Small construct, unaligned'
challenge_rating = 0.25
armor_class = 17
skills = ""
senses = "Blindsight 60 ft. (blind beyond this radius), Passive Perception 7"
languages = ""
skills = ''
senses = 'Blindsight 60 ft. (blind beyond this radius), Passive Perception 7'
languages = ''
strength = Ability(12)
dexterity = Ability(15)
constitution = Ability(11)
@@ -209,26 +248,32 @@ class FlyingSword(Monster):
swim_speed = 0
fly_speed = 50
climb_speed = 0
burrow_speed = 0
hp_max = 17
hit_dice = "5d6"
hit_dice = '5d6 + 0'
condition_immunities = 'blinded, charmed, blinded, frightened, paralyzed, petrified, poisoned'
damage_immunities = 'poison, psychic'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Frog(Monster):
"""
Amphibious.
The frog can breathe air and water
Standing Leap.
The frog's long jump is up to 10 ft. and its high jump is up to 5 ft.,
with or without a running start.
"""
name = "Frog"
description = "Tiny beast, unaligned"
name = 'Frog'
description = 'Tiny beast, unaligned'
challenge_rating = 0
armor_class = 11
skills = "Perception +1, Stealth +3"
senses = "Darkvision 30 ft., Passive Perception 11"
languages = ""
skills = 'Perception +1, Stealth +3'
senses = 'Darkvision 30 ft., Passive Perception 11'
languages = ''
strength = Ability(1)
dexterity = Ability(13)
constitution = Ability(8)
@@ -239,13 +284,21 @@ class Frog(Monster):
swim_speed = 20
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 1
hit_dice = "1d4"
hit_dice = '1d4 + -1'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class FrostGiant(Monster):
"""
# Actions
Multiattack.
The giant makes two greataxe attacks.
Greataxe.
@@ -255,13 +308,13 @@ class FrostGiant(Monster):
Ranged Weapon Attack: +9 to hit, range 60/240 ft., one target. Hit: 28
(4d10 + 6) bludgeoning damage.
"""
name = "Frost Giant"
description = "Huge giant, neutral evil"
name = 'Frost Giant'
description = 'Huge giant, neutral evil'
challenge_rating = 8
armor_class = 15
skills = "Athletics +9, Perception +3"
senses = "Passive Perception 13"
languages = "Giant"
skills = 'Athletics +9, Perception +3'
senses = 'Passive Perception 13'
languages = 'Giant'
strength = Ability(23)
dexterity = Ability(9)
constitution = Ability(21)
@@ -272,6 +325,11 @@ class FrostGiant(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 138
hit_dice = "12d12"
hit_dice = '12d12 + 60'
condition_immunities = ''
damage_immunities = 'cold'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
File diff suppressed because it is too large Load Diff
+190 -76
View File
@@ -10,6 +10,9 @@ from dungeonsheets.stats import Ability
class HalfRedDragonVeteran(Monster):
"""
# Actions
Multiattack.
The veteran makes two longsword attacks. If it has a shortsword drawn,
it can also make a shortsword attack.
@@ -28,13 +31,13 @@ class HalfRedDragonVeteran(Monster):
must make a DC 15 Dexterity saving throw, taking 24 (7d6) fire damage
on a failed save, or half as much damage on a successful one.
"""
name = "Half-Red Dragon Veteran"
description = "Medium humanoid, any alignment"
name = 'Half-Red Dragon Veteran'
description = 'Medium humanoid, any alignment'
challenge_rating = 5
armor_class = 18
skills = ""
senses = "Blindsight 10 ft., Darkvision 60 ft., Passive Perception 12"
languages = "Common, Draconic"
skills = ''
senses = 'Blindsight 10 ft., Darkvision 60 ft., Passive Perception 12'
languages = 'Common, Draconic'
strength = Ability(16)
dexterity = Ability(13)
constitution = Ability(14)
@@ -45,13 +48,21 @@ class HalfRedDragonVeteran(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 65
hit_dice = "10d8"
hit_dice = '10d8 + 20'
condition_immunities = ''
damage_immunities = ''
damage_resistances = 'fire'
damage_vulnerabilities = ''
spells = []
class Harpy(Monster):
"""
# Actions
Multiattack.
The harpy makes two attacks: one with its claws and one with its club.
Claws.
@@ -80,13 +91,13 @@ class Harpy(Monster):
A target that successfully saves is immune to this harpy's song for
the next 24 hours.
"""
name = "Harpy"
description = "Medium monstrosity, chaotic evil"
name = 'Harpy'
description = 'Medium monstrosity, chaotic evil'
challenge_rating = 1
armor_class = 11
skills = ""
senses = "Passive Perception 10"
languages = "Common"
skills = ''
senses = 'Passive Perception 10'
languages = 'Common'
strength = Ability(12)
dexterity = Ability(13)
constitution = Ability(12)
@@ -97,27 +108,36 @@ class Harpy(Monster):
swim_speed = 0
fly_speed = 40
climb_speed = 0
burrow_speed = 0
hp_max = 38
hit_dice = "7d8"
hit_dice = '7d8 + 7'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Hawk(Monster):
"""
Keen Sight.
The hawk has advantage on Wisdom (Perception) checks that rely on
sight.
# Actions
Talons.
Melee Weapon Attack: +5 to hit, reach 5 ft., one target. Hit: 1
slashing damage.
"""
name = "Hawk"
description = "Tiny beast, unaligned"
name = 'Hawk'
description = 'Tiny beast, unaligned'
challenge_rating = 0
armor_class = 13
skills = "Perception +4"
senses = "Passive Perception 14"
languages = ""
skills = 'Perception +4'
senses = 'Passive Perception 14'
languages = ''
strength = Ability(5)
dexterity = Ability(16)
constitution = Ability(8)
@@ -128,13 +148,19 @@ class Hawk(Monster):
swim_speed = 0
fly_speed = 60
climb_speed = 0
burrow_speed = 0
hp_max = 1
hit_dice = "1d4"
hit_dice = '1d4 + -1'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class HellHound(Monster):
"""
Keen Hearing and Smell.
The hound has advantage on Wisdom (Perception) checks that rely on
hearing or smell.
@@ -142,6 +168,9 @@ class HellHound(Monster):
The hound has advantage on an attack roll against a creature if at
least one of the hound's allies is within 5 ft. of the creature and
the ally isn't incapacitated.
# Actions
Bite.
Melee Weapon Attack: +5 to hit, reach 5 ft., one target. Hit: 7 (1d8 +
3) piercing damage plus 7 (2d6) fire damage.
@@ -150,12 +179,12 @@ class HellHound(Monster):
must make a DC 12 Dexterity saving throw, taking 21 (6d6) fire damage
on a failed save, or half as much damage on a successful one.
"""
name = "Hell Hound"
description = "Medium fiend, lawful evil"
name = 'Hell Hound'
description = 'Medium fiend, lawful evil'
challenge_rating = 3
armor_class = 15
skills = "Perception +5"
senses = "Darkvision 60 ft., Passive Perception 15"
skills = 'Perception +5'
senses = 'Darkvision 60 ft., Passive Perception 15'
languages = "understands Infernal but can't speak it"
strength = Ability(17)
dexterity = Ability(12)
@@ -167,13 +196,19 @@ class HellHound(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 45
hit_dice = "7d8"
hit_dice = '7d8 + 14'
condition_immunities = ''
damage_immunities = 'fire'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Hezrou(Monster):
"""
Magic Resistance.
The hezrou has advantage on saving throws against spells and other
magical effects.
@@ -182,6 +217,9 @@ class Hezrou(Monster):
succeed on a DC 14 Constitution saving throw or be poisoned until the
start of its next turn. On a successful saving throw, the creature is
immune to the hezrou's stench for 24 hours.
# Actions
Multiattack.
The hezrou makes three attacks: one with its bite and two with its
claws.
@@ -202,13 +240,13 @@ class Hezrou(Monster):
demons. It remains for 1 minute, until it or its summoner dies, or
until its summoner dismisses it as an action.
"""
name = "Hezrou"
description = "Large fiend, chaotic evil"
name = 'Hezrou'
description = 'Large fiend, chaotic evil'
challenge_rating = 8
armor_class = 16
skills = ""
senses = "Darkvision 120 ft., Passive Perception 11"
languages = "Abyssal, telepathy 120 ft."
skills = ''
senses = 'Darkvision 120 ft., Passive Perception 11'
languages = 'Abyssal, telepathy 120 ft.'
strength = Ability(19)
dexterity = Ability(17)
constitution = Ability(20)
@@ -219,13 +257,21 @@ class Hezrou(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 136
hit_dice = "13d10"
hit_dice = '13d10 + 65'
condition_immunities = 'poisoned'
damage_immunities = 'poison'
damage_resistances = 'cold'
damage_vulnerabilities = ''
spells = []
class HillGiant(Monster):
"""
# Actions
Multiattack.
The giant makes two greatclub attacks.
Greatclub.
@@ -235,13 +281,13 @@ class HillGiant(Monster):
Ranged Weapon Attack: +8 to hit, range 60/240 ft., one target. Hit: 21
(3d10 + 5) bludgeoning damage.
"""
name = "Hill Giant"
description = "Huge giant, chaotic evil"
name = 'Hill Giant'
description = 'Huge giant, chaotic evil'
challenge_rating = 5
armor_class = 13
skills = "Perception +2"
senses = "Passive Perception 12"
languages = "Giant"
skills = 'Perception +2'
senses = 'Passive Perception 12'
languages = 'Giant'
strength = Ability(21)
dexterity = Ability(8)
constitution = Ability(19)
@@ -252,16 +298,25 @@ class HillGiant(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 105
hit_dice = "10d12"
hit_dice = '10d12 + 40'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Hippogriff(Monster):
"""
Keen Sight.
The hippogriff has advantage on Wisdom (Perception) checks that rely
on sight.
# Actions
Multiattack.
The hippogriff makes two attacks: one with its beak and one with its
claws.
@@ -272,13 +327,13 @@ class Hippogriff(Monster):
Melee Weapon Attack: +5 to hit, reach 5 ft., one target. Hit: 10 (2d6
+ 3) slashing damage.
"""
name = "Hippogriff"
description = "Large monstrosity, unaligned"
name = 'Hippogriff'
description = 'Large monstrosity, unaligned'
challenge_rating = 1
armor_class = 11
skills = "Perception +5"
senses = "Passive Perception 15"
languages = ""
skills = 'Perception +5'
senses = 'Passive Perception 15'
languages = ''
strength = Ability(17)
dexterity = Ability(13)
constitution = Ability(13)
@@ -289,17 +344,26 @@ class Hippogriff(Monster):
swim_speed = 0
fly_speed = 60
climb_speed = 0
burrow_speed = 0
hp_max = 19
hit_dice = "3d10"
hit_dice = '3d10 + 3'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Hobgoblin(Monster):
"""
Martial Advantage.
Once per turn, the hobgoblin can deal an extra 7 (2d6) damage to a
creature it hits with a weapon attack if that creature is within 5 ft.
of an ally of the hobgoblin that isn't incapacitated.
# Actions
Longsword.
Melee Weapon Attack: +3 to hit, reach 5 ft., one target. Hit: 5 (1d8 +
1) slashing damage, or 6 (1d10 + 1) slashing damage if used with two
@@ -308,13 +372,13 @@ class Hobgoblin(Monster):
Ranged Weapon Attack: +3 to hit, range 150/600 ft., one target. Hit: 5
(1d8 + 1) piercing damage.
"""
name = "Hobgoblin"
description = "Medium humanoid, lawful evil"
name = 'Hobgoblin'
description = 'Medium humanoid, lawful evil'
challenge_rating = 0.5
armor_class = 18
skills = ""
senses = "Darkvision 60 ft., Passive Perception 10"
languages = "Common, Goblin"
skills = ''
senses = 'Darkvision 60 ft., Passive Perception 10'
languages = 'Common, Goblin'
strength = Ability(13)
dexterity = Ability(12)
constitution = Ability(12)
@@ -325,17 +389,26 @@ class Hobgoblin(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 11
hit_dice = "2d8"
hit_dice = '2d8 + 2'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Homunculus(Monster):
"""
Telepathic Bond.
While the homunculus is on the same plane of existence as its master,
it can magically convey what it senses to its master, and the two can
communicate telepathically.
# Actions
Bite.
Melee Weapon Attack: +4 to hit, reach 5 ft., one creature. Hit: 1
piercing damage, and the target must succeed on a DC 10 Constitution
@@ -343,12 +416,12 @@ class Homunculus(Monster):
5 or more, the target is instead poisoned for 5 (1d10) minutes and
unconscious while poisoned in this way.
"""
name = "Homunculus"
description = "Tiny construct, neutral"
name = 'Homunculus'
description = 'Tiny construct, neutral'
challenge_rating = 0
armor_class = 13
skills = ""
senses = "Darkvision 60 ft., Passive Perception 10"
skills = ''
senses = 'Darkvision 60 ft., Passive Perception 10'
languages = "understands the languages of its creator but can't speak"
strength = Ability(4)
dexterity = Ability(15)
@@ -360,18 +433,27 @@ class Homunculus(Monster):
swim_speed = 0
fly_speed = 40
climb_speed = 0
burrow_speed = 0
hp_max = 5
hit_dice = "2d4"
hit_dice = '2d4 + 0'
condition_immunities = 'charmed, poisoned'
damage_immunities = 'poison'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class HornedDevil(Monster):
"""
Devil's Sight.
Magical darkness doesn't impede the devil's darkvision.
Magic Resistance.
The devil has advantage on saving throws against spells and other
magical effects.
# Actions
Multiattack.
The devil makes three melee attacks: two with its fork and one with
its tail. It can use Hurl Flame in place of any melee attack.
@@ -393,13 +475,13 @@ class HornedDevil(Monster):
(4d6) fire damage. If the target is a flammable object that isn't
being worn or carried, it also catches fire.
"""
name = "Horned Devil"
description = "Large fiend, lawful evil"
name = 'Horned Devil'
description = 'Large fiend, lawful evil'
challenge_rating = 11
armor_class = 18
skills = ""
senses = "Darkvision 120 ft., Passive Perception 13"
languages = "Infernal, telepathy 120 ft."
skills = ''
senses = 'Darkvision 120 ft., Passive Perception 13'
languages = 'Infernal, telepathy 120 ft.'
strength = Ability(22)
dexterity = Ability(17)
constitution = Ability(21)
@@ -410,29 +492,38 @@ class HornedDevil(Monster):
swim_speed = 0
fly_speed = 60
climb_speed = 0
burrow_speed = 0
hp_max = 178
hit_dice = "17d10"
hit_dice = '17d10 + 85'
condition_immunities = 'poisoned'
damage_immunities = 'fire, poison'
damage_resistances = 'cold'
damage_vulnerabilities = ''
spells = []
class HunterShark(Monster):
"""
Blood Frenzy.
The shark has advantage on melee attack rolls against any creature
that doesn't have all its hit points.
Water Breathing.
The shark can breathe only underwater.
# Actions
Bite.
Melee Weapon Attack: +6 to hit, reach 5 ft., one target. Hit: 13 (2d8
+ 4) piercing damage.
"""
name = "Hunter Shark"
description = "Large beast, unaligned"
name = 'Hunter Shark'
description = 'Large beast, unaligned'
challenge_rating = 2
armor_class = 12
skills = "Perception +2"
senses = "Darkvision 30 ft., Passive Perception 12"
languages = ""
skills = 'Perception +2'
senses = 'Darkvision 30 ft., Passive Perception 12'
languages = ''
strength = Ability(18)
dexterity = Ability(13)
constitution = Ability(15)
@@ -443,13 +534,19 @@ class HunterShark(Monster):
swim_speed = 40
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 45
hit_dice = "6d10"
hit_dice = '6d10 + 12'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Hydra(Monster):
"""
Hold Breath.
The hydra can hold its breath for 1 hour.
Multiple Heads.
@@ -469,19 +566,22 @@ class Hydra(Monster):
can be used only for opportunity attacks.
Wakeful.
While the hydra sleeps, at least one of its heads is awake.
# Actions
Multiattack.
The hydra makes as many bite attacks as it has heads.
Bite.
Melee Weapon Attack: +8 to hit, reach 10 ft., one target. Hit: 10
(1d10 + 5) piercing damage.
"""
name = "Hydra"
description = "Huge monstrosity, unaligned"
name = 'Hydra'
description = 'Huge monstrosity, unaligned'
challenge_rating = 8
armor_class = 15
skills = "Perception +6"
senses = "Darkvision 60 ft., Passive Perception 16"
languages = ""
skills = 'Perception +6'
senses = 'Darkvision 60 ft., Passive Perception 16'
languages = ''
strength = Ability(20)
dexterity = Ability(12)
constitution = Ability(20)
@@ -492,28 +592,37 @@ class Hydra(Monster):
swim_speed = 30
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 172
hit_dice = "15d12"
hit_dice = '15d12 + 75'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Hyena(Monster):
"""
Pack Tactics.
The hyena has advantage on an attack roll against a creature if at
least one of the hyena's allies is within 5 ft. of the creature and
the ally isn't incapacitated.
# Actions
Bite.
Weapon Attack: +2 to hit, reach 5 ft., one target. Hit: 3 (1d6)
piercing damage.
"""
name = "Hyena"
description = "Medium beast, unaligned"
name = 'Hyena'
description = 'Medium beast, unaligned'
challenge_rating = 0
armor_class = 11
skills = "Perception +3"
senses = "Passive Perception 13"
languages = ""
skills = 'Perception +3'
senses = 'Passive Perception 13'
languages = ''
strength = Ability(11)
dexterity = Ability(13)
constitution = Ability(12)
@@ -524,6 +633,11 @@ class Hyena(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 5
hit_dice = "1d8"
hit_dice = '1d8 + 1'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
+73 -28
View File
@@ -10,11 +10,15 @@ from dungeonsheets.stats import Ability
class IceDevil(Monster):
"""
Devil's Sight.
Magical darkness doesn't impede the devil's darkvision.
Magic Resistance.
The devil has advantage on saving throws against spells and other
magical effects.
# Actions
Multiattack.
The devil makes three attacks: one with its bite, one with its claws,
and one with its tail.
@@ -50,13 +54,13 @@ class IceDevil(Monster):
save, or half as much damage on a successful one. The frigid air
dissipates when the rest of the wall vanishes.
"""
name = "Ice Devil"
description = "Large fiend, lawful evil"
name = 'Ice Devil'
description = 'Large fiend, lawful evil'
challenge_rating = 14
armor_class = 18
skills = ""
senses = "Blindsight 60 ft., Darkvision 120 ft., Passive Perception 12"
languages = "Infernal, telepathy 120 ft."
skills = ''
senses = 'Blindsight 60 ft., Darkvision 120 ft., Passive Perception 12'
languages = 'Infernal, telepathy 120 ft.'
strength = Ability(21)
dexterity = Ability(14)
constitution = Ability(18)
@@ -67,13 +71,19 @@ class IceDevil(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 180
hit_dice = "19d10"
hit_dice = '19d10 + 76'
condition_immunities = 'poisoned'
damage_immunities = 'fire, poison'
damage_resistances = "bludgeoning, piercing, and slashing from nonmagical weapons that aren't silvered"
damage_vulnerabilities = ''
spells = []
class IceMephit(Monster):
"""
Death Burst.
When the mephit dies, it explodes in a burst of jagged ice. Each
creature within 5 ft. of it must make a DC 10 Dexterity saving throw,
@@ -85,6 +95,9 @@ class IceMephit(Monster):
Innate Spellcasting.
The mephit can innately cast fog cloud, requiring no material
components. Its innate spellcasting ability is Charisma.
# Actions
Claws.
Melee Weapon Attack: +3 to hit, reach 5 ft., one creature. Hit: 3 (1d4
+ 1) slashing damage plus 2 (1d4) cold damage.
@@ -100,13 +113,13 @@ class IceMephit(Monster):
other mephits. It remains for 1 minute, until it or its summoner dies,
or until its summoner dismisses it as an action.
"""
name = "Ice Mephit"
description = "Small elemental, neutral evil"
name = 'Ice Mephit'
description = 'Small elemental, neutral evil'
challenge_rating = 0.5
armor_class = 11
skills = "Perception +2, Stealth +3"
senses = "Darkvision 60 ft., Passive Perception 12"
languages = "Aquan, Auran"
skills = 'Perception +2, Stealth +3'
senses = 'Darkvision 60 ft., Passive Perception 12'
languages = 'Aquan, Auran'
strength = Ability(7)
dexterity = Ability(13)
constitution = Ability(10)
@@ -117,13 +130,19 @@ class IceMephit(Monster):
swim_speed = 0
fly_speed = 30
climb_speed = 0
burrow_speed = 0
hp_max = 21
hit_dice = "6d6"
hit_dice = '6d6 + 0'
condition_immunities = 'poisoned'
damage_immunities = 'cold, poison'
damage_resistances = ''
damage_vulnerabilities = 'bludgeoning, fire'
spells = []
class Imp(Monster):
"""
Shapechanger.
The imp can use its action to polymorph into a beast form that
resembles a rat (speed 20 ft.), a raven (20 ft., fly 60 ft.), or a
@@ -144,6 +163,9 @@ class Imp(Monster):
shares the quasit's Magic Resistance trait. At any time and for any
reason, the imp can end its service as a familiar, ending the
telepathic bond.
# Actions
Sting (Bite in Beast Form).
Melee Weapon Attack: +5 to hit, reach 5 ft ., one target. Hit: 5 (1d4
+ 3) piercing damage, and the target must make on a DC 11 Constitution
@@ -154,13 +176,13 @@ class Imp(Monster):
concentration ends (as if concentrating on a spell). Any equipment the
imp wears or carries is invisible with it.
"""
name = "Imp"
description = "Tiny fiend, lawful evil"
name = 'Imp'
description = 'Tiny fiend, lawful evil'
challenge_rating = 1
armor_class = 13
skills = "Deception +4, Insight +3, Persuasion +4, Stealth +5"
senses = "Darkvision 120 ft., Passive Perception 11"
languages = "Infernal, Common"
skills = 'Deception +4, Insight +3, Persuasion +4, Stealth +5'
senses = 'Darkvision 120 ft., Passive Perception 11'
languages = 'Infernal, Common'
strength = Ability(6)
dexterity = Ability(17)
constitution = Ability(13)
@@ -171,13 +193,19 @@ class Imp(Monster):
swim_speed = 0
fly_speed = 40
climb_speed = 0
burrow_speed = 0
hp_max = 10
hit_dice = "3d4"
hit_dice = '3d4 + 3'
condition_immunities = 'poisoned'
damage_immunities = 'fire, poison'
damage_resistances = 'cold'
damage_vulnerabilities = ''
spells = []
class InvisibleStalker(Monster):
"""
Invisibility.
The stalker is invisible.
Faultless Tracker.
@@ -185,18 +213,21 @@ class InvisibleStalker(Monster):
direction and distance to its quarry as long as the two of them are on
the same plane of existence. The stalker also knows the location of
its summoner.
# Actions
Multiattack.
The stalker makes two slam attacks.
Slam.
Melee Weapon Attack: +6 to hit, reach 5 ft., one target. Hit: 10 (2d6
+ 3) bludgeoning damage.
"""
name = "Invisible Stalker"
description = "Medium elemental, neutral"
name = 'Invisible Stalker'
description = 'Medium elemental, neutral'
challenge_rating = 6
armor_class = 14
skills = "Perception +8, Stealth +10"
senses = "Darkvision 60 ft., Passive Perception 18"
skills = 'Perception +8, Stealth +10'
senses = 'Darkvision 60 ft., Passive Perception 18'
languages = "Auran, understands Common but doesn't speak it"
strength = Ability(16)
dexterity = Ability(19)
@@ -208,13 +239,19 @@ class InvisibleStalker(Monster):
swim_speed = 0
fly_speed = 50
climb_speed = 0
burrow_speed = 0
hp_max = 104
hit_dice = "16d8"
hit_dice = '16d8 + 32'
condition_immunities = 'exhaustion, grappled, paralyzed, petrified, poisoned, prone, restrained, unconscious'
damage_immunities = 'poison'
damage_resistances = 'bludgeoning, piercing, and slashing from nonmagical weapons'
damage_vulnerabilities = ''
spells = []
class IronGolem(Monster):
"""
Fire Absorption.
Whenever the golem is subjected to fire damage, it takes no damage and
instead regains a number of hit points equal to the fire damage dealt.
@@ -225,6 +262,9 @@ class IronGolem(Monster):
magical effects.
Magic Weapons.
The golem's weapon attacks are magical.
# Actions
Multiattack.
The golem makes two melee attacks.
Slam.
@@ -239,12 +279,12 @@ class IronGolem(Monster):
(l0d8) poison damage on a failed save, or half as much damage on a
successful one.
"""
name = "Iron Golem"
description = "Large construct, unaligned"
name = 'Iron Golem'
description = 'Large construct, unaligned'
challenge_rating = 16
armor_class = 20
skills = ""
senses = "Darkvision 120 ft., Passive Perception 10"
skills = ''
senses = 'Darkvision 120 ft., Passive Perception 10'
languages = "understands the languages of its creator but can't speak"
strength = Ability(24)
dexterity = Ability(9)
@@ -256,6 +296,11 @@ class IronGolem(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 210
hit_dice = "20d10"
hit_dice = '20d10 + 100'
condition_immunities = 'charmed, exhaustion, frightened, paralyzed, petrified, poisoned'
damage_immunities = "fire, poison, psychic, bludgeoning, piercing, and slashing from nonmagical weapons that aren't adamantine"
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
+15 -6
View File
@@ -10,6 +10,7 @@ from dungeonsheets.stats import Ability
class Jackal(Monster):
"""
Keen Hearing and Smell.
The jackal has advantage on Wisdom (Perception) checks that rely on
hearing or smell.
@@ -17,17 +18,20 @@ class Jackal(Monster):
The jackal has advantage on an attack roll against a creature if at
least one of the jackal's allies is within 5 ft. of the creature and
the ally isn't incapacitated.
# Actions
Bite.
Melee Weapon Attack: +1 to hit, reach 5 ft., one target. Hit: 1 (1d4 -
1) piercing damage.
"""
name = "Jackal"
description = "Small beast, unaligned"
name = 'Jackal'
description = 'Small beast, unaligned'
challenge_rating = 0
armor_class = 12
skills = "Perception +3"
senses = "Passive Perception 13"
languages = ""
skills = 'Perception +3'
senses = 'Passive Perception 13'
languages = ''
strength = Ability(8)
dexterity = Ability(15)
constitution = Ability(11)
@@ -38,6 +42,11 @@ class Jackal(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 3
hit_dice = "1d6"
hit_dice = '1d6 + 0'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
+81 -23
View File
@@ -10,6 +10,7 @@ from dungeonsheets.stats import Ability
class KillerWhale(Monster):
"""
Echolocation.
The whale can't use its blindsight while deafened.
Hold Breath.
@@ -17,17 +18,20 @@ class KillerWhale(Monster):
Keen Hearing.
The whale has advantage on Wisdom (Perception) checks that rely on
hearing.
# Actions
Bite.
Melee Weapon Attack: +6 to hit, reach 5 ft., one target. Hit: 21 (5d6
+ 4) piercing damage.
"""
name = "Killer Whale"
description = "Huge beast, unaligned"
name = 'Killer Whale'
description = 'Huge beast, unaligned'
challenge_rating = 3
armor_class = 12
skills = "Perception +3"
senses = "Blindsight 120 ft., Passive Perception 13"
languages = ""
skills = 'Perception +3'
senses = 'Blindsight 120 ft., Passive Perception 13'
languages = ''
strength = Ability(19)
dexterity = Ability(10)
constitution = Ability(13)
@@ -38,15 +42,24 @@ class KillerWhale(Monster):
swim_speed = 60
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 90
hit_dice = "12d12"
hit_dice = '12d12 + 12'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Knight(Monster):
"""
Brave.
The knight has advantage on saving throws against being frightened.
# Actions
Multiattack.
The knight makes two melee attacks.
Greatsword.
@@ -62,14 +75,21 @@ class Knight(Monster):
its roll provided it can hear and understand the knight. A creature
can benefit from only one Leadership die at a time. This effect ends
if the knight is incapacitated.
# Reactions
Parry.
The knight adds 2 to its AC against one melee attack that would hit
it. To do so, the knight must see the attacker and be wielding a melee
weapon.
"""
name = "Knight"
description = "Medium humanoid, any alignment"
name = 'Knight'
description = 'Medium humanoid, any alignment'
challenge_rating = 3
armor_class = 18
skills = ""
senses = "Passive Perception 10"
languages = "any one language (usually Common)"
skills = ''
senses = 'Passive Perception 10'
languages = 'any one language (usually Common)'
strength = Ability(16)
dexterity = Ability(11)
constitution = Ability(14)
@@ -80,13 +100,19 @@ class Knight(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 52
hit_dice = "8d8"
hit_dice = '8d8 + 16'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Kobold(Monster):
"""
Sunlight Sensitivity.
While in sunlight, the kobold has disadvantage on attack rolls, as
well as on Wisdom (Perception) checks that rely on sight.
@@ -94,6 +120,9 @@ class Kobold(Monster):
The kobold has advantage on an attack roll against a creature if at
least one of the kobold's allies is within 5 ft. of the creature and
the ally isn't incapacitated.
# Actions
Dagger.
Melee Weapon Attack: +4 to hit, reach 5 ft., one target. Hit: 4 (1d4 +
2) piercing damage.
@@ -101,13 +130,13 @@ class Kobold(Monster):
Ranged Weapon Attack: +4 to hit, range 30/120 ft., one target. Hit: 4
(1d4 + 2) bludgeoning damage.
"""
name = "Kobold"
description = "Small humanoid, lawful evil"
name = 'Kobold'
description = 'Small humanoid, lawful evil'
challenge_rating = 0.125
armor_class = 12
skills = ""
senses = "Darkvision 60 ft., Passive Perception 8"
languages = "Common, Draconic"
skills = ''
senses = 'Darkvision 60 ft., Passive Perception 8'
languages = 'Common, Draconic'
strength = Ability(7)
dexterity = Ability(15)
constitution = Ability(9)
@@ -118,13 +147,19 @@ class Kobold(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 5
hit_dice = "2d6"
hit_dice = '2d6 + -2'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Kraken(Monster):
"""
Amphibious.
The kraken can breathe air and water.
Freedom of Movement.
@@ -133,6 +168,9 @@ class Kraken(Monster):
movement to escape from nonmagical restraints or being grappled.
Siege Monster.
The kraken deals double damage to objects and structures.
# Actions
Multiattack.
The kraken makes three tentacle attacks, each of which it can replace
with one use of Fling.
@@ -167,13 +205,28 @@ class Kraken(Monster):
can strike a target the kraken can see within 120 feet of it. A target
must make a DC 23 Dexterity saving throw, taking 22 (4d10) lightning
damage on a failed save, or half as much damage on a successful one.
# Legendary Actions
Tentacle Attack or Fling.
The kraken makes one tentacle attack or uses its Fling.
Lightning Storm (Costs 2 Actions).
The kraken uses Lightning Storm.
Ink Cloud (Costs 3 Actions).
While underwater, the kraken expels an ink cloud in a 60-foot radius.
The cloud spreads around corners, and that area is heavily obscured to
creatures other than the kraken. Each creature other than the kraken
that ends its turn there must succeed on a DC 23 Constitution saving
throw, taking 16 (3d10) poison damage on a failed save, or half as
much damage on a successful one. A strong current disperses the cloud,
which otherwise disappears at the end of the kraken's next turn.
"""
name = "Kraken"
description = "Gargantuan monstrosity, chaotic evil"
name = 'Kraken'
description = 'Gargantuan monstrosity, chaotic evil'
challenge_rating = 23
armor_class = 18
skills = ""
senses = "Truesight 120 ft., Passive Perception 14"
skills = ''
senses = 'Truesight 120 ft., Passive Perception 14'
languages = "understands Abyssal, Celestial, Infernal, and Primordial but can't speak, telepathy 120 ft."
strength = Ability(30)
dexterity = Ability(11)
@@ -185,6 +238,11 @@ class Kraken(Monster):
swim_speed = 60
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 472
hit_dice = "27d20"
hit_dice = '27d20 + 189'
condition_immunities = 'frightened, paralyzed'
damage_immunities = 'lightning, bludgeoning, piercing, and slashing from nonmagical weapons'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
+120 -64
View File
@@ -10,12 +10,16 @@ from dungeonsheets.stats import Ability
class Lamia(Monster):
"""
Innate Spellcasting.
The lamia's innate spellcasting ability is Charisma (spell save DC
13). It can innately cast the following spells, requiring no material
components. At will: disguise self (any humanoid form), major image
3/day each: charm person, mirror image, scrying, suggestion 1/day:
geas
# Actions
Multiattack.
The lamia makes two attacks: one with its claws and one with its
dagger or Intoxicating Touch.
@@ -31,13 +35,13 @@ class Lamia(Monster):
target has disadvantage on Wisdom saving throws and all ability
checks.
"""
name = "Lamia"
description = "Large monstrosity, chaotic evil"
name = 'Lamia'
description = 'Large monstrosity, chaotic evil'
challenge_rating = 4
armor_class = 13
skills = "Deception +7, Insight +4, Stealth +3"
senses = "Darkvision 60 ft., Passive Perception 12"
languages = "Abyssal, Common"
skills = 'Deception +7, Insight +4, Stealth +3'
senses = 'Darkvision 60 ft., Passive Perception 12'
languages = 'Abyssal, Common'
strength = Ability(16)
dexterity = Ability(13)
constitution = Ability(15)
@@ -48,13 +52,19 @@ class Lamia(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 97
hit_dice = "13d10"
hit_dice = '13d10 + 26'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Lemure(Monster):
"""
Devil's Sight.
Magical darkness doesn't impede the lemure's darkvision.
Hellish Rejuvenation.
@@ -62,16 +72,19 @@ class Lemure(Monster):
hit points in 1d10 days unless it is killed by a good-aligned creature
with a bless spell cast on that creature or its remains are sprinkled
with holy water.
# Actions
Fist.
Melee Weapon Attack: +3 to hit, reach 5 ft., one target. Hit: 2 (1d4)
bludgeoning damage.
"""
name = "Lemure"
description = "Medium fiend, lawful evil"
name = 'Lemure'
description = 'Medium fiend, lawful evil'
challenge_rating = 0
armor_class = 7
skills = ""
senses = "Darkvision 120 ft., Passive Perception 10"
skills = ''
senses = 'Darkvision 120 ft., Passive Perception 10'
languages = "understands infernal but can't speak"
strength = Ability(10)
dexterity = Ability(5)
@@ -83,13 +96,19 @@ class Lemure(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 13
hit_dice = "3d8"
hit_dice = '3d8 + 0'
condition_immunities = 'charmed, frightened, poisoned'
damage_immunities = 'fire, poison'
damage_resistances = 'cold'
damage_vulnerabilities = ''
spells = []
class Lich(Monster):
"""
Legendary Resistance.
If the lich fails a saving throw, it can choose to succeed instead.
Rejuvenation.
@@ -97,51 +116,57 @@ class Lich(Monster):
days, regaining all its hit points and becoming active again. The new
body appears within 5 feet of the phylactery.
Spellcasting.
The lich is an 18th-level spellcaster. Its spellcasting ability is
Intelligence (spell save DC 20, +12 to hit with spell attacks). The
lich has the following wizard spells prepared:
- Cantrips (at will): mage hand, prestidigitation, ray of frost
- 1st level (4 slots): detect magic, magic missile, shield,
thunderwave
- 2nd level (3 slots): acid arrow, detect thoughts, invisibility,
mirror image
- 3rd level (3 slots): animate dead, counterspell, dispel magic,
fireball
- 4th level (3 slots): blight, dimension door
- 5th level (3 slots): cloudkill, scrying
- 6th level (1 slot): disintegrate, globe of invulnerability
- 7th level (1 slot): finger of death, plane shift
- 8th level (1 slot): dominate monster, power word stun
- 9th level (1 slot): power word kill
The lich is an 18th-level spellcaster. Its spellcasting ability is Intelligence (spell save DC 20, +12 to hit with spell attacks). The lich has the following wizard spells prepared:
- Cantrips (at will): mage hand, prestidigitation, ray of frost
- 1st level (4 slots): detect magic, magic missile, shield, thunderwave
- 2nd level (3 slots): acid arrow, detect thoughts, invisibility, mirror image
- 3rd level (3 slots): animate dead, counterspell, dispel magic, fireball
- 4th level (3 slots): blight, dimension door
- 5th level (3 slots): cloudkill, scrying
- 6th level (1 slot): disintegrate, globe of invulnerability
- 7th level (1 slot): finger of death, plane shift
- 8th level (1 slot): dominate monster, power word stun
- 9th level (1 slot): power word kill
Turn Resistance.
The lich has advantage on saving throws against any effect that turns
undead.
# Actions
Paralyzing Touch.
Melee Spell Attack: +12 to hit, reach 5 ft., one creature. Hit: 10
(3d6) cold damage. The target must succeed on a DC 18 Constitution
saving throw or be paralyzed for 1 minute. The target can repeat the
saving throw at the end of each of its turns, ending the effect on
itself on a success.
# Legendary Actions
Cantrip.
The lich casts a cantrip.
Paralyzing Touch (Costs 2 Actions).
The lich uses its Paralyzing Touch.
Frightening Gaze (Costs 2 Actions).
The lich fixes its gaze on one creature it can see within 10 feet of
it. The target must succeed on a DC 18 Wisdom saving throw against
this magic or become frightened for 1 minute. The frightened target
can repeat the saving throw at the end of each of its turns, ending
the effect on itself on a success. If a target's saving throw is
successful or the effect ends for it, the target is immune to the
lich's gaze for the next 24 hours.
Disrupt Life (Costs 3 Actions).
Each living creature within 20 feet of the lich must make a DC 18
Constitution saving throw against this magic, taking 21 (6d6) necrotic
damage on a failed save, or half as much damage on a successful one.
"""
name = "Lich"
description = "Medium undead, any evil alignment"
name = 'Lich'
description = 'Medium undead, any evil alignment'
challenge_rating = 21
armor_class = 17
skills = "Arcana +18, History +12, Insight +9, Perception +9"
senses = "Truesight 120 ft., Passive Perception 19"
languages = "Common plus up to five other languages"
skills = 'Arcana +18, History +12, Insight +9, Perception +9'
senses = 'Truesight 120 ft., Passive Perception 19'
languages = 'Common plus up to five other languages'
strength = Ability(11)
dexterity = Ability(16)
constitution = Ability(16)
@@ -152,13 +177,19 @@ class Lich(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 135
hit_dice = "18d8"
spells = ["mage hand", "prestidigitation", "ray of frost", "detect magic", "magic missile", "shield", "thunderwave", "acid arrow", "detect thoughts", "invisibility", "mirror image", "animate dead", "counterspell", "dispel magic", "fireball", "blight", "dimension door", "cloudkill", "scrying", "disintegrate", "globe of invulnerability", "finger of death", "plane shift", "dominate monster", "power word stun", "power word kill"]
hit_dice = '18d8 + 54'
condition_immunities = 'charmed, exhaustion, frightened, paralyzed, poisoned'
damage_immunities = 'poison, bludgeoning, piercing, and slashing from nonmagical weapons'
damage_resistances = 'cold'
damage_vulnerabilities = ''
spells = ['mage hand', 'prestidigitation', 'ray of frost', 'detect magic', 'magic missile', 'shield', 'thunderwave', 'acid arrow', 'detect thoughts', 'invisibility', 'mirror image', 'animate dead', 'counterspell', 'dispel magic', 'fireball', 'blight', 'dimension door', 'cloudkill', 'scrying', 'disintegrate', 'globe of invulnerability', 'finger of death', 'plane shift', 'dominate monster', 'power word stun', 'power word kill']
class Lion(Monster):
"""
Keen Smell.
The lion has advantage on Wisdom (Perception) checks that rely on
smell.
@@ -173,6 +204,9 @@ class Lion(Monster):
prone, the lion can make one bite attack against it as a bonus action.
Running Leap.
With a 10-foot running start, the lion can long jump up to 25 ft..
# Actions
Bite.
Melee Weapon Attack: +5 to hit, reach 5 ft., one target. Hit: 7 (1d8 +
3) piercing damage.
@@ -180,13 +214,13 @@ class Lion(Monster):
Melee Weapon Attack: +5 to hit, reach 5 ft., one target. Hit: 6 (1d6 +
3) slashing damage.
"""
name = "Lion"
description = "Large beast, unaligned"
name = 'Lion'
description = 'Large beast, unaligned'
challenge_rating = 1
armor_class = 12
skills = "Perception +3, Stealth +6"
senses = "Passive Perception 13"
languages = ""
skills = 'Perception +3, Stealth +6'
senses = 'Passive Perception 13'
languages = ''
strength = Ability(17)
dexterity = Ability(15)
constitution = Ability(13)
@@ -197,24 +231,32 @@ class Lion(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 26
hit_dice = "4d10"
hit_dice = '4d10 + 4'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Lizard(Monster):
"""
# Actions
Bite.
Melee Weapon Attack: +0 to hit, reach 5 ft., one target. Hit: 1
piercing damage.
"""
name = "Lizard"
description = "Tiny beast, unaligned"
name = 'Lizard'
description = 'Tiny beast, unaligned'
challenge_rating = 0
armor_class = 10
skills = ""
senses = "Darkvision 30 ft., Passive Perception 9"
languages = ""
skills = ''
senses = 'Darkvision 30 ft., Passive Perception 9'
languages = ''
strength = Ability(2)
dexterity = Ability(11)
constitution = Ability(10)
@@ -225,15 +267,24 @@ class Lizard(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 20
burrow_speed = 0
hp_max = 2
hit_dice = "1d4"
hit_dice = '1d4 + 0'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Lizardfolk(Monster):
"""
Hold Breath.
The lizardfolk can hold its breath for 15 minutes.
# Actions
Multiattack.
The lizardfolk makes two melee attacks, each one with a different
weapon.
@@ -250,13 +301,13 @@ class Lizardfolk(Monster):
Melee Weapon Attack: +4 to hit, reach 5 ft., one target. Hit: 5 (1d6 +
2) piercing damage.
"""
name = "Lizardfolk"
description = "Medium humanoid, neutral"
name = 'Lizardfolk'
description = 'Medium humanoid, neutral'
challenge_rating = 0.5
armor_class = 15
skills = "Perception +3, Stealth +4, Survival +5"
senses = "Passive Perception 13"
languages = "Draconic"
skills = 'Perception +3, Stealth +4, Survival +5'
senses = 'Passive Perception 13'
languages = 'Draconic'
strength = Ability(15)
dexterity = Ability(10)
constitution = Ability(13)
@@ -267,6 +318,11 @@ class Lizardfolk(Monster):
swim_speed = 30
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 22
hit_dice = "4d8"
hit_dice = '4d8 + 4'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
+283 -125
View File
@@ -10,35 +10,30 @@ from dungeonsheets.stats import Ability
class Mage(Monster):
"""
Spellcasting.
The mage is a 9th-level spellcaster. Its spellcasting ability is
Intelligence (spell save DC 14, +6 to hit with spell attacks). The
mage has the following wizard spells prepared:
- Cantrips (at will): fire bolt, light, mage hand, prestidigitation
- 1st level (4 slots): detect magic, mage armor, magic missile, shield
- 2nd level (3 slots): misty step, suggestion
- 3rd level (3 slots): counterspell, fireball, fly
- 4th level (3 slots): greater invisibility, ice storm
- 5th level (1 slot): cone of cold
The mage is a 9th-level spellcaster. Its spellcasting ability is Intelligence (spell save DC 14, +6 to hit with spell attacks). The mage has the following wizard spells prepared:
- Cantrips (at will): fire bolt, light, mage hand, prestidigitation
- 1st level (4 slots): detect magic, mage armor, magic missile, shield
- 2nd level (3 slots): misty step, suggestion
- 3rd level (3 slots): counterspell, fireball, fly
- 4th level (3 slots): greater invisibility, ice storm
- 5th level (1 slot): cone of cold
# Actions
Dagger.
Melee or Ranged Weapon Attack: +5 to hit, reach 5 ft. or range 20/60
ft., one target. Hit: 4 (1d4 + 2) piercing damage.
"""
name = "Mage"
description = "Medium humanoid, any alignment"
name = 'Mage'
description = 'Medium humanoid, any alignment'
challenge_rating = 6
armor_class = 12
skills = "Arcana +6, History +6"
senses = "Passive Perception 11"
languages = "any four languages"
skills = 'Arcana +6, History +6'
senses = 'Passive Perception 11'
languages = 'any four languages'
strength = Ability(9)
dexterity = Ability(14)
constitution = Ability(11)
@@ -49,13 +44,19 @@ class Mage(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 40
hit_dice = "9d8"
spells = ["fire bolt", "light", "mage hand", "prestidigitation", "detect magic", "mage armor", "magic missile", "shield", "misty step", "suggestion", "counterspell", "fireball", "fly", "greater invisibility", "ice storm", "cone of cold"]
hit_dice = '9d8 + 0'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = ['fire bolt', 'light', 'mage hand', 'prestidigitation', 'detect magic', 'mage armor', 'magic missile', 'shield', 'misty step', 'suggestion', 'counterspell', 'fireball', 'fly', 'greater invisibility', 'ice storm', 'cone of cold']
class MagmaMephit(Monster):
"""
Death Burst.
When the mephit dies, it explodes in a burst of lava. Each creature
within 5 ft. of it must make a DC 11 Dexterity saving throw, taking 7
@@ -67,6 +68,9 @@ class MagmaMephit(Monster):
Innate Spellcasting.
The mephit can innately cast heat metal (spell save DC 10), requiring
no material components. Its innate spellcasting ability is Charisma.
# Actions
Claws.
Melee Weapon Attack: +3 to hit, reach 5 ft ., one creature. Hit: 3
(1d4 + 1) slashing damage plus 2 (1d4) fire damage.
@@ -81,13 +85,13 @@ class MagmaMephit(Monster):
other mephits. It remains for 1 minute, until it or its summoner dies,
or until its summoner dismisses it as an action.
"""
name = "Magma Mephit"
description = "Small elemental, neutral evil"
name = 'Magma Mephit'
description = 'Small elemental, neutral evil'
challenge_rating = 0.5
armor_class = 11
skills = "Stealth +3"
senses = "Darkvision 60 ft., Passive Perception 10"
languages = "Ignan, Terran"
skills = 'Stealth +3'
senses = 'Darkvision 60 ft., Passive Perception 10'
languages = 'Ignan, Terran'
strength = Ability(8)
dexterity = Ability(12)
constitution = Ability(12)
@@ -98,13 +102,19 @@ class MagmaMephit(Monster):
swim_speed = 0
fly_speed = 30
climb_speed = 0
burrow_speed = 0
hp_max = 22
hit_dice = "5d6"
hit_dice = '5d6 + 5'
condition_immunities = 'poisoned'
damage_immunities = 'fire, poison'
damage_resistances = ''
damage_vulnerabilities = 'cold'
spells = []
class Magmin(Monster):
"""
Death Burst.
When the magmin dies, it explodes in a burst of fire and magma. Each
creature within 10 ft. of it must make a DC 11 Dexterity saving throw,
@@ -115,19 +125,22 @@ class Magmin(Monster):
As a bonus action, the magmin can set itself ablaze or extinguish its
flames. While ablaze, the magmin sheds bright light in a 10-foot
radius and dim light for an additional 10 ft.
# Actions
Touch.
Melee Weapon Attack: +4 to hit, reach 5 ft., one target. Hit: 7 (2d6)
fire damage. If the target is a creature or a flammable object, it
ignites. Until a target takes an action to douse the fire, the target
takes 3 (1d6) fire damage at the end of each of its turns.
"""
name = "Magmin"
description = "Small elemental, chaotic neutral"
name = 'Magmin'
description = 'Small elemental, chaotic neutral'
challenge_rating = 0.5
armor_class = 14
skills = ""
senses = "Darkvision 60 ft., Passive Perception 10"
languages = "Ignan"
skills = ''
senses = 'Darkvision 60 ft., Passive Perception 10'
languages = 'Ignan'
strength = Ability(7)
dexterity = Ability(15)
constitution = Ability(12)
@@ -138,19 +151,28 @@ class Magmin(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 9
hit_dice = "2d6"
hit_dice = '2d6 + 2'
condition_immunities = ''
damage_immunities = 'fire'
damage_resistances = 'bludgeoning, piercing, and slashing from nonmagical weapons'
damage_vulnerabilities = ''
spells = []
class Mammoth(Monster):
"""
Trampling Charge.
If the mammoth moves at least 20 ft. straight toward a creature and
then hits it with a gore attack on the same turn, that target must
succeed on a DC 18 Strength saving throw or be knocked prone. If the
target is prone, the mammoth can make one stomp attack against it as a
bonus action.
# Actions
Gore.
Melee Weapon Attack: +10 to hit, reach 10 ft., one target. Hit: 25
(4d8 + 7) piercing damage.
@@ -158,13 +180,13 @@ class Mammoth(Monster):
Melee Weapon Attack: +10 to hit, reach 5 ft., one prone creature. Hit:
29 (4d10 + 7) bludgeoning damage.
"""
name = "Mammoth"
description = "Huge beast, unaligned"
name = 'Mammoth'
description = 'Huge beast, unaligned'
challenge_rating = 6
armor_class = 13
skills = ""
senses = "Passive Perception 10"
languages = ""
skills = ''
senses = 'Passive Perception 10'
languages = ''
strength = Ability(24)
dexterity = Ability(9)
constitution = Ability(21)
@@ -175,16 +197,25 @@ class Mammoth(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 126
hit_dice = "11d12"
hit_dice = '11d12 + 55'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Manticore(Monster):
"""
Tail Spike Regrowth.
The manticore has twenty-four tail spikes. Used spikes regrow when the
manticore finishes a long rest.
# Actions
Multiattack.
The manticore makes three attacks: one with its bite and two with its
claws or three with its tail spikes.
@@ -198,13 +229,13 @@ class Manticore(Monster):
Ranged Weapon Attack: +5 to hit, range 100/200 ft., one target. Hit: 7
(1d8 + 3) piercing damage.
"""
name = "Manticore"
description = "Large monstrosity, lawful evil"
name = 'Manticore'
description = 'Large monstrosity, lawful evil'
challenge_rating = 3
armor_class = 14
skills = ""
senses = "Darkvision 60 ft., Passive Perception 11"
languages = ""
skills = ''
senses = 'Darkvision 60 ft., Passive Perception 11'
languages = ''
strength = Ability(17)
dexterity = Ability(16)
constitution = Ability(17)
@@ -215,13 +246,19 @@ class Manticore(Monster):
swim_speed = 0
fly_speed = 50
climb_speed = 0
burrow_speed = 0
hp_max = 68
hit_dice = "8d10"
hit_dice = '8d10 + 24'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Marilith(Monster):
"""
Magic Resistance.
The marilith has advantage on saving throws against spells and other
magical effects.
@@ -229,6 +266,9 @@ class Marilith(Monster):
The marilith's weapon attacks are magical.
Reactive.
The marilith can take one reaction on every turn in combat.
# Actions
Multiattack.
The marilith can make seven attacks: six with its longswords and one
with its tail.
@@ -254,14 +294,21 @@ class Marilith(Monster):
summoner, acts as an ally of its summoner, and can't summon other
demons. It remains for 1 minute, until it or its summoner dies, or
until its summoner dismisses it as an action.
# Reactions
Parry.
The marilith adds 5 to its AC against one melee attack that would hit
it. To do so, the marilith must see the attacker and be wielding a
melee weapon.
"""
name = "Marilith"
description = "Large fiend, chaotic evil"
name = 'Marilith'
description = 'Large fiend, chaotic evil'
challenge_rating = 16
armor_class = 18
skills = ""
senses = "Truesight 120 ft., Passive Perception 13"
languages = "Abyssal, telepathy 120 ft."
skills = ''
senses = 'Truesight 120 ft., Passive Perception 13'
languages = 'Abyssal, telepathy 120 ft.'
strength = Ability(18)
dexterity = Ability(20)
constitution = Ability(20)
@@ -272,28 +319,37 @@ class Marilith(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 189
hit_dice = "18d10"
hit_dice = '18d10 + 90'
condition_immunities = 'poisoned'
damage_immunities = 'poison'
damage_resistances = 'cold'
damage_vulnerabilities = ''
spells = []
class Mastiff(Monster):
"""
Keen Hearing and Smell.
The mastiff has advantage on Wisdom (Perception) checks that rely on
hearing or smell.
# Actions
Bite.
Melee Weapon Attack: +3 to hit, reach 5 ft., one target. Hit: 4 (1d6 +
1) piercing damage. If the target is a creature, it must succeed on a
DC 11 Strength saving throw or be knocked prone.
"""
name = "Mastiff"
description = "Medium beast, unaligned"
name = 'Mastiff'
description = 'Medium beast, unaligned'
challenge_rating = 0.125
armor_class = 12
skills = "Perception +3"
senses = "Passive Perception 13"
languages = ""
skills = 'Perception +3'
senses = 'Passive Perception 13'
languages = ''
strength = Ability(13)
dexterity = Ability(14)
constitution = Ability(12)
@@ -304,13 +360,19 @@ class Mastiff(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 5
hit_dice = "1d8"
hit_dice = '1d8 + 1'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Medusa(Monster):
"""
Petrifying Gaze.
When a creature that can see the medusa's eyes starts its turn within
30 ft. of the medusa, the medusa can force it to make a DC 14
@@ -332,6 +394,9 @@ class Medusa(Monster):
If the medusa sees itself reflected on a polished surface within 30
ft. of it and in an area of bright light, the medusa is, due to its
curse, affected by its own gaze.
# Actions
Multiattack.
The medusa makes either three melee attacks--one with its snake hair
and two with its shortsword--or two ranged attacks with its longbow.
@@ -345,13 +410,13 @@ class Medusa(Monster):
Ranged Weapon Attack: +5 to hit, range 150/600 ft., one target. Hit: 6
(1d8 + 2) piercing damage plus 7 (2d6) poison damage.
"""
name = "Medusa"
description = "Medium monstrosity, lawful evil"
name = 'Medusa'
description = 'Medium monstrosity, lawful evil'
challenge_rating = 6
armor_class = 15
skills = "Deception +5, Insight +4, Perception +4, Stealth +5"
senses = "Darkvision 60 ft., Passive Perception 14"
languages = "Common"
skills = 'Deception +5, Insight +4, Perception +4, Stealth +5'
senses = 'Darkvision 60 ft., Passive Perception 14'
languages = 'Common'
strength = Ability(10)
dexterity = Ability(15)
constitution = Ability(16)
@@ -362,27 +427,36 @@ class Medusa(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 127
hit_dice = "17d8"
hit_dice = '17d8 + 51'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Merfolk(Monster):
"""
Amphibious.
The merfolk can breathe air and water.
# Actions
Spear.
Melee or Ranged Weapon Attack: +2 to hit, reach 5 ft. or range 20/60
ft., one target. Hit: 3 (1d6) piercing damage, or 4 (1d8) piercing
damage if used with two hands to make a melee attack.
"""
name = "Merfolk"
description = "Medium humanoid, neutral"
name = 'Merfolk'
description = 'Medium humanoid, neutral'
challenge_rating = 0.125
armor_class = 11
skills = "Perception +2"
senses = "Passive Perception 12"
languages = "Aquan, Common"
skills = 'Perception +2'
senses = 'Passive Perception 12'
languages = 'Aquan, Common'
strength = Ability(10)
dexterity = Ability(13)
constitution = Ability(12)
@@ -393,15 +467,24 @@ class Merfolk(Monster):
swim_speed = 40
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 11
hit_dice = "2d8"
hit_dice = '2d8 + 2'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Merrow(Monster):
"""
Amphibious.
The merrow can breathe air and water.
# Actions
Multiattack.
The merrow makes two attacks: one with its bite and one with its claws
or harpoon.
@@ -417,13 +500,13 @@ class Merrow(Monster):
Huge or smaller creature, it must succeed on a Strength contest
against the merrow or be pulled up to 20 feet toward the merrow.
"""
name = "Merrow"
description = "Large monstrosity, chaotic evil"
name = 'Merrow'
description = 'Large monstrosity, chaotic evil'
challenge_rating = 2
armor_class = 13
skills = ""
senses = "Darkvision 60 ft., Passive Perception 10"
languages = "Abyssal, Aquan"
skills = ''
senses = 'Darkvision 60 ft., Passive Perception 10'
languages = 'Abyssal, Aquan'
strength = Ability(18)
dexterity = Ability(10)
constitution = Ability(15)
@@ -434,13 +517,19 @@ class Merrow(Monster):
swim_speed = 40
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 45
hit_dice = "6d10"
hit_dice = '6d10 + 12'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Mimic(Monster):
"""
Shapechanger.
The mimic can use its action to polymorph into an object or back into
its true, amorphous form. Its statistics are the same in each form.
@@ -456,6 +545,9 @@ class Mimic(Monster):
Grappler.
The mimic has advantage on attack rolls against any creature grappled
by it.
# Actions
Pseudopod.
Melee Weapon Attack: +5 to hit, reach 5 ft., one target. Hit: 7 (1d8 +
3) bludgeoning damage. If the mimic is in object form, the target is
@@ -464,13 +556,13 @@ class Mimic(Monster):
Melee Weapon Attack: +5 to hit, reach 5 ft., one target. Hit: 7 (1d8 +
3) piercing damage plus 4 (1d8) acid damage.
"""
name = "Mimic"
description = "Medium monstrosity, neutral"
name = 'Mimic'
description = 'Medium monstrosity, neutral'
challenge_rating = 2
armor_class = 12
skills = "Stealth +5"
senses = "Darkvision 60 ft., Passive Perception 11"
languages = ""
skills = 'Stealth +5'
senses = 'Darkvision 60 ft., Passive Perception 11'
languages = ''
strength = Ability(17)
dexterity = Ability(12)
constitution = Ability(15)
@@ -481,13 +573,19 @@ class Mimic(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 58
hit_dice = "9d8"
hit_dice = '9d8 + 18'
condition_immunities = 'prone'
damage_immunities = 'acid'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Minotaur(Monster):
"""
Charge.
If the minotaur moves at least 10 ft. straight toward a target and
then hits it with a gore attack on the same turn, the target takes an
@@ -500,6 +598,9 @@ class Minotaur(Monster):
At the start of its turn, the minotaur can gain advantage on all melee
weapon attack rolls it makes during that turn, but attack rolls
against it have advantage until the start of its next turn.
# Actions
Greataxe.
Melee Weapon Attack: +6 to hit, reach 5 ft., one target. Hit: 17 (2d12
+ 4) slashing damage.
@@ -507,13 +608,13 @@ class Minotaur(Monster):
Melee Weapon Attack: +6 to hit, reach 5 ft., one target. Hit: 13 (2d8
+ 4) piercing damage.
"""
name = "Minotaur"
description = "Large monstrosity, chaotic evil"
name = 'Minotaur'
description = 'Large monstrosity, chaotic evil'
challenge_rating = 3
armor_class = 14
skills = "Perception +7"
senses = "Darkvision 60 ft., Passive Perception 17"
languages = "Abyssal"
skills = 'Perception +7'
senses = 'Darkvision 60 ft., Passive Perception 17'
languages = 'Abyssal'
strength = Ability(18)
dexterity = Ability(11)
constitution = Ability(16)
@@ -524,19 +625,28 @@ class Minotaur(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 76
hit_dice = "9d10"
hit_dice = '9d10 + 27'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class MinotaurSkeleton(Monster):
"""
Charge.
If the skeleton moves at least 10 feet straight toward a target and
then hits it with a gore attack on the same turn, the target takes an
extra 9 (2d8) piercing damage. If the target is a creature, it must
succeed on a DC 14 Strength saving throw or be pushed up to 10 feet
away and knocked prone.
# Actions
Greataxe.
Melee Weapon Attack: +6 to hit, reach 5 ft., one target. Hit: 17 (2d12
+ 4) slashing damage.
@@ -544,12 +654,12 @@ class MinotaurSkeleton(Monster):
Melee Weapon Attack: +6 to hit, reach 5 ft., one target. Hit: 13 (2d8
+ 4) piercing damage.
"""
name = "Minotaur Skeleton"
description = "Large undead, lawful evil"
name = 'Minotaur Skeleton'
description = 'Large undead, lawful evil'
challenge_rating = 2
armor_class = 12
skills = ""
senses = "Darkvision 60 ft., Passive Perception 9"
skills = ''
senses = 'Darkvision 60 ft., Passive Perception 9'
languages = "understands Abyssal but can't speak"
strength = Ability(18)
dexterity = Ability(11)
@@ -561,30 +671,39 @@ class MinotaurSkeleton(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 67
hit_dice = "9d10"
hit_dice = '9d10 + 18'
condition_immunities = 'exhaustion, poisoned'
damage_immunities = 'poison'
damage_resistances = ''
damage_vulnerabilities = 'bludgeoning'
spells = []
class Mule(Monster):
"""
Beast of Burden.
The mule is considered to be a Large animal for the purpose of
determining its carrying capacity.
Sure-Footed.
The mule has advantage on Strength and Dexterity saving throws made
against effects that would knock it prone.
# Actions
Hooves.
Melee Weapon Attack: +2 to hit, reach 5 ft., one target. Hit: 4 (1d4 +
2) bludgeoning damage.
"""
name = "Mule"
description = "Medium beast, unaligned"
name = 'Mule'
description = 'Medium beast, unaligned'
challenge_rating = 0.125
armor_class = 10
skills = ""
senses = "Passive Perception 10"
languages = ""
skills = ''
senses = 'Passive Perception 10'
languages = ''
strength = Ability(14)
dexterity = Ability(10)
constitution = Ability(13)
@@ -595,13 +714,21 @@ class Mule(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 11
hit_dice = "2d8"
hit_dice = '2d8 + 2'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Mummy(Monster):
"""
# Actions
Multiattack.
The mummy can use its Dreadful Glare and makes one attack with its
rotting fist.
@@ -623,13 +750,13 @@ class Mummy(Monster):
the saving throw is immune to the Dreadful Glare of all mummies (but
not mummy lords) for the next 24 hours.
"""
name = "Mummy"
description = "Medium undead, lawful evil"
name = 'Mummy'
description = 'Medium undead, lawful evil'
challenge_rating = 3
armor_class = 11
skills = ""
senses = "Darkvision 60 ft., Passive Perception 10"
languages = "the languages it knew in life"
skills = ''
senses = 'Darkvision 60 ft., Passive Perception 10'
languages = 'the languages it knew in life'
strength = Ability(16)
dexterity = Ability(8)
constitution = Ability(15)
@@ -640,13 +767,19 @@ class Mummy(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 58
hit_dice = "9d8"
hit_dice = '9d8 + 18'
condition_immunities = 'charmed, exhaustion, frightened, paralyzed, poisoned'
damage_immunities = 'necrotic, poison'
damage_resistances = 'bludgeoning, piercing, and slashing from nonmagical weapons'
damage_vulnerabilities = 'fire'
spells = []
class MummyLord(Monster):
"""
Magic Resistance.
The mummy lord has advantage on saving throws against spells and other
magical effects.
@@ -655,25 +788,18 @@ class MummyLord(Monster):
intact, regaining all its hit points and becoming active again. The
new body appears within 5 feet of the mummy lord's heart.
Spellcasting.
The mummy lord is a 10th-level spellcaster. Its spellcasting ability
is Wisdom (spell save DC 17, +9 to hit with spell attacks). The mummy
lord has the following cleric spells prepared:
The mummy lord is a 10th-level spellcaster. Its spellcasting ability is Wisdom (spell save DC 17, +9 to hit with spell attacks). The mummy lord has the following cleric spells prepared:
- Cantrips (at will): sacred flame, thaumaturgy
- 1st level (4 slots): command, guiding bolt, shield of faith
- 2nd level (3 slots): hold person, silence, spiritual weapon
- 3rd level (3 slots): animate dead, dispel magic
- 4th level (3 slots): divination, guardian of faith
- 5th level (2 slots): contagion, insect plague
- 6th level (1 slot): harm
# Actions
Multiattack.
The mummy can use its Dreadful Glare and makes one attack with its
rotting fist.
@@ -694,14 +820,41 @@ class MummyLord(Monster):
5 or more, it is also paralyzed for the same duration. A target that
succeeds on the saving throw is immune to the Dreadful Glare of all
mummies and mummy lords for the next 24 hours.
# Legendary Actions
Attack.
The mummy lord makes one attack with its rotting fist or uses its
Dreadful Glare.
Blinding Dust.
Blinding dust and sand swirls magically around the mummy lord. Each
creature within 5 feet of the mummy lord must succeed on a DC 16
Constitution saving throw or be blinded until the end of the
creature's next turn.
Blasphemous Word (Costs 2 Actions).
The mummy lord utters a blasphemous word. Each non-undead creature
within 10 feet of the mummy lord that can hear the magical utterance
must succeed on a DC 16 Constitution saving throw or be stunned until
the end of the mummy lord's next turn.
Channel Negative Energy (Costs 2 Actions).
The mummy lord magically unleashes negative energy. Creatures within
60 feet of the mummy lord, including ones behind barriers and around
corners, can't regain hit points until the end of the mummy lord's
next turn.
Whirlwind of Sand (Costs 2 Actions).
The mummy lord magically transforms into a whirlwind of sand, moves up
to 60 feet, and reverts to its normal form. While in whirlwind form,
the mummy lord is immune to all damage, and it can't be grappled,
petrified, knocked prone, restrained, or stunned. Equipment worn or
carried by the mummy lord remain in its possession.
"""
name = "Mummy Lord"
description = "Medium undead, lawful evil"
name = 'Mummy Lord'
description = 'Medium undead, lawful evil'
challenge_rating = 15
armor_class = 17
skills = "History +5, Religion +5"
senses = "Darkvision 60 ft., Passive Perception 14"
languages = "the languages it knew in life"
skills = 'History +5, Religion +5'
senses = 'Darkvision 60 ft., Passive Perception 14'
languages = 'the languages it knew in life'
strength = Ability(18)
dexterity = Ability(10)
constitution = Ability(17)
@@ -712,6 +865,11 @@ class MummyLord(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 97
hit_dice = "13d8"
spells = ["sacred flame", "thaumaturgy", "command", "guiding bolt", "shield of faith", "hold person", "silence", "spiritual weapon", "animate dead", "dispel magic", "divination", "guardian of faith", "contagion", "insect plague", "harm"]
hit_dice = '13d8 + 39'
condition_immunities = 'charmed, exhaustion, frightened, paralyzed, poisoned'
damage_immunities = 'necrotic, poison, bludgeoning, piercing, and slashing from nonmagical weapons'
damage_resistances = ''
damage_vulnerabilities = 'fire'
spells = ['sacred flame', 'thaumaturgy', 'command', 'guiding bolt', 'shield of faith', 'hold person', 'silence', 'spiritual weapon', 'animate dead', 'dispel magic', 'divination', 'guardian of faith', 'contagion', 'insect plague', 'harm']
+71 -29
View File
@@ -10,9 +10,13 @@ from dungeonsheets.stats import Ability
class Nalfeshnee(Monster):
"""
Magic Resistance.
The nalfeshnee has advantage on saving throws against spells and other
magical effects.
# Actions
Multiattack.
The nalfeshnee uses Horror Nimbus if it can. It then makes three
attacks: one with its bite and two with its claws.
@@ -44,13 +48,13 @@ class Nalfeshnee(Monster):
demons. It remains for 1 minute, until it or its summoner dies, or
until its summoner dismisses it as an action.
"""
name = "Nalfeshnee"
description = "Large fiend, chaotic evil"
name = 'Nalfeshnee'
description = 'Large fiend, chaotic evil'
challenge_rating = 13
armor_class = 18
skills = ""
senses = "Truesight 120 ft., Passive Perception 11"
languages = "Abyssal, telepathy 120 ft."
skills = ''
senses = 'Truesight 120 ft., Passive Perception 11'
languages = 'Abyssal, telepathy 120 ft.'
strength = Ability(21)
dexterity = Ability(10)
constitution = Ability(22)
@@ -61,13 +65,19 @@ class Nalfeshnee(Monster):
swim_speed = 0
fly_speed = 30
climb_speed = 0
burrow_speed = 0
hp_max = 184
hit_dice = "16d10"
hit_dice = '16d10 + 96'
condition_immunities = 'poisoned'
damage_immunities = 'poison'
damage_resistances = 'cold'
damage_vulnerabilities = ''
spells = []
class NightHag(Monster):
"""
Innate Spellcasting.
The hag's innate spellcasting ability is Charisma (spell save DC 14,
+6 to hit with spell attacks). She can innately cast the following
@@ -96,6 +106,9 @@ class NightHag(Monster):
and only the night hag who crafted the bag can catch a soul with it.
Crafting a soul bag takes 7 days and a humanoid sacrifice (whose flesh
is used to make the bag).
# Actions
Claws (Hag Form Only).
Melee Weapon Attack: +7 to hit, reach 5 ft., one target. Hit: 13 (2d8
+ 4) slashing damage.
@@ -120,13 +133,13 @@ class NightHag(Monster):
soul bag. The reduction to the target's hit point maximum lasts until
removed by the greater restoration spell or similar magic.
"""
name = "Night Hag"
description = "Medium fiend, neutral evil"
name = 'Night Hag'
description = 'Medium fiend, neutral evil'
challenge_rating = 5
armor_class = 17
skills = "Deception +7, Insight +6, Perception +6, Stealth +6"
senses = "Darkvision 120 ft., Passive Perception 16"
languages = "Abyssal, Common, Infernal, Primordial"
skills = 'Deception +7, Insight +6, Perception +6, Stealth +6'
senses = 'Darkvision 120 ft., Passive Perception 16'
languages = 'Abyssal, Common, Infernal, Primordial'
strength = Ability(18)
dexterity = Ability(15)
constitution = Ability(16)
@@ -137,18 +150,27 @@ class NightHag(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 112
hit_dice = "15d8"
hit_dice = '15d8 + 45'
condition_immunities = 'charmed'
damage_immunities = ''
damage_resistances = 'cold'
damage_vulnerabilities = ''
spells = []
class Nightmare(Monster):
"""
Confer Fire Resistance.
The nightmare can grant resistance to fire damage to anyone riding it.
Illumination.
The nightmare sheds bright light in a 10-foot radius and dim light for
an additional 10 feet.
# Actions
Hooves.
Melee Weapon Attack: +6 to hit, reach 5 ft., one target. Hit: 13 (2d8
+ 4) bludgeoning damage plus 7 (2d6) fire damage.
@@ -157,12 +179,12 @@ class Nightmare(Monster):
magically enter the Ethereal Plane from the Material Plane, or vice
versa.
"""
name = "Nightmare"
description = "Large fiend, neutral evil"
name = 'Nightmare'
description = 'Large fiend, neutral evil'
challenge_rating = 3
armor_class = 13
skills = ""
senses = "Passive Perception 11"
skills = ''
senses = 'Passive Perception 11'
languages = "understands Abyssal, Common, and Infernal but can't speak"
strength = Ability(18)
dexterity = Ability(15)
@@ -174,24 +196,39 @@ class Nightmare(Monster):
swim_speed = 0
fly_speed = 90
climb_speed = 0
burrow_speed = 0
hp_max = 68
hit_dice = "8d10"
hit_dice = '8d10 + 24'
condition_immunities = ''
damage_immunities = 'fire'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Noble(Monster):
"""
# Actions
Rapier.
Melee Weapon Attack: +3 to hit, reach 5 ft., one target. Hit: 5 (1d8 +
1) piercing damage.
# Reactions
Parry.
The noble adds 2 to its AC against one melee attack that would hit it.
To do so, the noble must see the attacker and be wielding a melee
weapon.
"""
name = "Noble"
description = "Medium humanoid, any alignment"
name = 'Noble'
description = 'Medium humanoid, any alignment'
challenge_rating = 0.125
armor_class = 15
skills = "Deception +5, Insight +4, Persuasion +5"
senses = "Passive Perception 12"
languages = "any two languages"
skills = 'Deception +5, Insight +4, Persuasion +5'
senses = 'Passive Perception 12'
languages = 'any two languages'
strength = Ability(11)
dexterity = Ability(12)
constitution = Ability(11)
@@ -202,8 +239,13 @@ class Noble(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 9
hit_dice = "2d8"
hit_dice = '2d8 + 0'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
@@ -227,13 +269,13 @@ class Nothic(Monster):
it magically learns one fact or secret about the target. The
target automatically wins if it is immune to being charmed.
"""
name = "Nothic"
description = "Medium aberration, neutral evil"
name = 'Nothic'
description = 'Medium aberration, neutral evil'
challenge_rating = 2.0
armor_class = 15
skills = "Arcana +3, Insight +4, Perception +2, Stealth +5"
senses = "Truesight 120ft., Passive Perception 12"
languages = "Undercommon"
skills = 'Arcana +3, Insight +4, Perception +2, Stealth +5'
senses = 'Truesight 120ft., Passive Perception 12'
languages = 'Undercommon'
strength = Ability(14)
dexterity = Ability(16)
constitution = Ability(16)
@@ -245,5 +287,5 @@ class Nothic(Monster):
fly_speed = 0
climb_speed = 0
hp_max = 45
hit_dice = "6d8+18"
hit_dice = '6d8+18'
spells = []
+142 -53
View File
@@ -10,23 +10,36 @@ from dungeonsheets.stats import Ability
class OchreJelly(Monster):
"""
Amorphous.
The jelly can move through a space as narrow as 1 inch wide without
squeezing.
Spider Climb.
The jelly can climb difficult surfaces, including upside down on
ceilings, without needing to make an ability check.
# Actions
Pseudopod.
Melee Weapon Attack: +4 to hit, reach 5 ft., one target. Hit: 9 (2d6 +
2) bludgeoning damage plus 3 (1d6) acid damage.
# Reactions
Split.
When a jelly that is Medium or larger is subjected to lightning or
slashing damage, it splits into two new jellies if it has at least 10
hit points. Each new jelly has hit points equal to half the original
jelly's, rounded down. New jellies are one size smaller than the
original jelly.
"""
name = "Ochre Jelly"
description = "Large ooze, unaligned"
name = 'Ochre Jelly'
description = 'Large ooze, unaligned'
challenge_rating = 2
armor_class = 8
skills = ""
senses = "Blindsight 60 ft. (blind beyond this radius), Passive Perception 8"
languages = ""
skills = ''
senses = 'Blindsight 60 ft. (blind beyond this radius), Passive Perception 8'
languages = ''
strength = Ability(15)
dexterity = Ability(6)
constitution = Ability(14)
@@ -37,13 +50,19 @@ class OchreJelly(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 10
burrow_speed = 0
hp_max = 45
hit_dice = "6d10"
hit_dice = '6d10 + 12'
condition_immunities = 'blinded, charmed, blinded, exhaustion, frightened, prone'
damage_immunities = 'lightning, slashing'
damage_resistances = 'acid'
damage_vulnerabilities = ''
spells = []
class Octopus(Monster):
"""
Hold Breath.
While out of water, the octopus can hold its breath for 30 minutes.
Underwater Camouflage.
@@ -51,6 +70,9 @@ class Octopus(Monster):
underwater.
Water Breathing.
The octopus can breathe only underwater.
# Actions
Tentacles.
Melee Weapon Attack: +4 to hit, reach 5 ft., one target. Hit: 1
bludgeoning damage, and the target is grappled (escape DC 10). Until
@@ -62,13 +84,13 @@ class Octopus(Monster):
significant current can disperse the ink. After releasing the ink, the
octopus can use the Dash action as a bonus action.
"""
name = "Octopus"
description = "Small beast, unaligned"
name = 'Octopus'
description = 'Small beast, unaligned'
challenge_rating = 0
armor_class = 12
skills = "Perception +2, Stealth +4"
senses = "Darkvision 30 ft., Passive Perception 12"
languages = ""
skills = 'Perception +2, Stealth +4'
senses = 'Darkvision 30 ft., Passive Perception 12'
languages = ''
strength = Ability(4)
dexterity = Ability(15)
constitution = Ability(11)
@@ -79,13 +101,21 @@ class Octopus(Monster):
swim_speed = 30
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 3
hit_dice = "1d6"
hit_dice = '1d6 + 0'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Ogre(Monster):
"""
# Actions
Greatclub.
Melee Weapon Attack: +6 to hit, reach 5 ft., one target. Hit: 13 (2d8
+ 4) bludgeoning damage.
@@ -93,13 +123,13 @@ class Ogre(Monster):
Melee or Ranged Weapon Attack: +6 to hit, reach 5 ft. or range 30/120
ft., one target. Hit: 11 (2d6 + 4) piercing damage.
"""
name = "Ogre"
description = "Large giant, chaotic evil"
name = 'Ogre'
description = 'Large giant, chaotic evil'
challenge_rating = 2
armor_class = 11
skills = ""
senses = "Darkvision 60 ft., Passive Perception 8"
languages = "Common, Giant"
skills = ''
senses = 'Darkvision 60 ft., Passive Perception 8'
languages = 'Common, Giant'
strength = Ability(19)
dexterity = Ability(8)
constitution = Ability(16)
@@ -110,28 +140,37 @@ class Ogre(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 59
hit_dice = "7d10"
hit_dice = '7d10 + 21'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class OgreZombie(Monster):
"""
Undead Fortitude.
If damage reduces the zombie to 0 hit points, it must make a
Constitution saving throw with a DC of 5+the damage taken, unless the
damage is radiant or from a critical hit. On a success, the zombie
drops to 1 hit point instead.
# Actions
Morningstar.
Melee Weapon Attack: +6 to hit, reach 5 ft., one target. Hit: 13 (2d8
+ 4) bludgeoning damage.
"""
name = "Ogre Zombie"
description = "Large undead, neutral evil"
name = 'Ogre Zombie'
description = 'Large undead, neutral evil'
challenge_rating = 2
armor_class = 8
skills = ""
senses = "Darkvision 60 ft., Passive Perception 8"
skills = ''
senses = 'Darkvision 60 ft., Passive Perception 8'
languages = "understands Common and Giant but can't speak"
strength = Ability(19)
dexterity = Ability(6)
@@ -143,13 +182,19 @@ class OgreZombie(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 85
hit_dice = "9d10"
hit_dice = '9d10 + 36'
condition_immunities = 'poisoned'
damage_immunities = 'poison'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Oni(Monster):
"""
Innate Spellcasting.
The oni's innate spellcasting ability is Charisma (spell save DC 13).
The oni can innately cast the following spells, requiring no material
@@ -165,6 +210,9 @@ class Oni(Monster):
Regeneration.
The oni regains 10 hit points at the start of its turn if it has at
least 1 hit point.
# Actions
Multiattack.
The oni makes two attacks, either with its claws or its glaive.
Claw (Oni Form Only).
@@ -182,13 +230,13 @@ class Oni(Monster):
humanoid form. If the oni dies, it reverts to its true form, and its
glaive reverts to its normal size.
"""
name = "Oni"
description = "Large giant, lawful evil"
name = 'Oni'
description = 'Large giant, lawful evil'
challenge_rating = 7
armor_class = 16
skills = "Arcana +5, Deception +8, Perception +4"
senses = "Darkvision 60 ft., Passive Perception 14"
languages = "Common, Giant"
skills = 'Arcana +5, Deception +8, Perception +4'
senses = 'Darkvision 60 ft., Passive Perception 14'
languages = 'Common, Giant'
strength = Ability(19)
dexterity = Ability(11)
constitution = Ability(16)
@@ -199,16 +247,25 @@ class Oni(Monster):
swim_speed = 0
fly_speed = 30
climb_speed = 0
burrow_speed = 0
hp_max = 110
hit_dice = "13d10"
hit_dice = '13d10 + 39'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Orc(Monster):
"""
Aggressive.
As a bonus action, the orc can move up to its speed toward a hostile
creature that it can see.
# Actions
Greataxe.
Melee Weapon Attack: +5 to hit, reach 5 ft., one target. Hit: 9 (1d12
+ 3) slashing damage.
@@ -216,13 +273,13 @@ class Orc(Monster):
Melee or Ranged Weapon Attack: +5 to hit, reach 5 ft. or range 30/120
ft., one target. Hit: 6 (1d6 + 3) piercing damage.
"""
name = "Orc"
description = "Medium humanoid, chaotic evil"
name = 'Orc'
description = 'Medium humanoid, chaotic evil'
challenge_rating = 0.5
armor_class = 13
skills = "Intimidation +2"
senses = "Darkvision 60 ft., Passive Perception 10"
languages = "Common, Orc"
skills = 'Intimidation +2'
senses = 'Darkvision 60 ft., Passive Perception 10'
languages = 'Common, Orc'
strength = Ability(16)
dexterity = Ability(12)
constitution = Ability(16)
@@ -233,18 +290,27 @@ class Orc(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 15
hit_dice = "2d8"
hit_dice = '2d8 + 6'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Otyugh(Monster):
"""
Limited Telepathy.
The otyugh can magically transmit simple messages and images to any
creature within 120 ft. of it that can understand a language. This
form of telepathy doesn't allow the receiving creature to
telepathically respond.
# Actions
Multiattack.
The otyugh makes three attacks: one with its bite and two with its
tentacles.
@@ -270,13 +336,13 @@ class Otyugh(Monster):
end of the otyugh's next turn. On a successful save, the target takes
half the bludgeoning damage and isn't stunned.
"""
name = "Otyugh"
description = "Large aberration, neutral"
name = 'Otyugh'
description = 'Large aberration, neutral'
challenge_rating = 5
armor_class = 14
skills = ""
senses = "Darkvision 120 ft., Passive Perception 11"
languages = "Otyugh"
skills = ''
senses = 'Darkvision 120 ft., Passive Perception 11'
languages = 'Otyugh'
strength = Ability(16)
dexterity = Ability(11)
constitution = Ability(19)
@@ -287,30 +353,39 @@ class Otyugh(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 114
hit_dice = "12d10"
hit_dice = '12d10 + 48'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Owl(Monster):
"""
Flyby.
The owl doesn't provoke opportunity attacks when it flies out of an
enemy's reach.
Keen Hearing and Sight.
The owl has advantage on Wisdom (Perception) checks that rely on
hearing or sight.
# Actions
Talons.
Melee Weapon Attack: +3 to hit, reach 5 ft., one target. Hit: 1
slashing damage.
"""
name = "Owl"
description = "Tiny beast, unaligned"
name = 'Owl'
description = 'Tiny beast, unaligned'
challenge_rating = 0
armor_class = 11
skills = "Perception +3, Stealth +3"
senses = "Darkvision 120 ft., Passive Perception 13"
languages = ""
skills = 'Perception +3, Stealth +3'
senses = 'Darkvision 120 ft., Passive Perception 13'
languages = ''
strength = Ability(3)
dexterity = Ability(13)
constitution = Ability(8)
@@ -321,16 +396,25 @@ class Owl(Monster):
swim_speed = 0
fly_speed = 60
climb_speed = 0
burrow_speed = 0
hp_max = 1
hit_dice = "1d4"
hit_dice = '1d4 + -1'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Owlbear(Monster):
"""
Keen Sight and Smell.
The owlbear has advantage on Wisdom (Perception) checks that rely on
sight or smell.
# Actions
Multiattack.
The owlbear makes two attacks: one with its beak and one with its
claws.
@@ -341,13 +425,13 @@ class Owlbear(Monster):
Melee Weapon Attack: +7 to hit, reach 5 ft., one target. Hit: 14 (2d8
+ 5) slashing damage.
"""
name = "Owlbear"
description = "Large monstrosity, unaligned"
name = 'Owlbear'
description = 'Large monstrosity, unaligned'
challenge_rating = 3
armor_class = 13
skills = "Perception +3"
senses = "Darkvision 60 ft., Passive Perception 13"
languages = ""
skills = 'Perception +3'
senses = 'Darkvision 60 ft., Passive Perception 13'
languages = ''
strength = Ability(20)
dexterity = Ability(12)
constitution = Ability(17)
@@ -358,6 +442,11 @@ class Owlbear(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 59
hit_dice = "7d10"
hit_dice = '7d10 + 21'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
+182 -84
View File
@@ -10,6 +10,7 @@ from dungeonsheets.stats import Ability
class Panther(Monster):
"""
Keen Smell.
The panther has advantage on Wisdom (Perception) checks that rely on
smell.
@@ -19,6 +20,9 @@ class Panther(Monster):
succeed on a DC 12 Strength saving throw or be knocked prone. If the
target is prone, the panther can make one bite attack against it as a
bonus action.
# Actions
Bite.
Melee Weapon Attack: +4 to hit, reach 5 ft., one target. Hit: 5 (1d6 +
2) piercing damage.
@@ -26,13 +30,13 @@ class Panther(Monster):
Melee Weapon Attack: +4 to hit, reach 5 ft., one target. Hit: 4 (1d4 +
2) slashing damage.
"""
name = "Panther"
description = "Medium beast, unaligned"
name = 'Panther'
description = 'Medium beast, unaligned'
challenge_rating = 0.25
armor_class = 12
skills = "Perception +4, Stealth +6"
senses = "Passive Perception 14"
languages = ""
skills = 'Perception +4, Stealth +6'
senses = 'Passive Perception 14'
languages = ''
strength = Ability(14)
dexterity = Ability(15)
constitution = Ability(10)
@@ -43,23 +47,31 @@ class Panther(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 40
burrow_speed = 0
hp_max = 13
hit_dice = "3d8"
hit_dice = '3d8 + 0'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Pegasus(Monster):
"""
# Actions
Hooves.
Melee Weapon Attack: +6 to hit, reach 5 ft., one target. Hit: 11 (2d6
+ 4) bludgeoning damage.
"""
name = "Pegasus"
description = "Large celestial, chaotic good"
name = 'Pegasus'
description = 'Large celestial, chaotic good'
challenge_rating = 2
armor_class = 12
skills = "Perception +6"
senses = "Passive Perception 16"
skills = 'Perception +6'
senses = 'Passive Perception 16'
languages = "understands Celestial, Common, Elvish, and Sylvan but can't speak"
strength = Ability(18)
dexterity = Ability(15)
@@ -71,13 +83,19 @@ class Pegasus(Monster):
swim_speed = 0
fly_speed = 90
climb_speed = 0
burrow_speed = 0
hp_max = 59
hit_dice = "7d10"
hit_dice = '7d10 + 21'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class PhaseSpider(Monster):
"""
Ethereal Jaunt.
As a bonus action, the spider can magically shift from the Material
Plane to the Ethereal Plane, or vice versa.
@@ -86,6 +104,9 @@ class PhaseSpider(Monster):
ceilings, without needing to make an ability check.
Web Walker.
The spider ignores movement restrictions caused by webbing.
# Actions
Bite.
Melee Weapon Attack: +4 to hit, reach 5 ft., one creature. Hit: 7
(1d10 + 2) piercing damage, and the target must make a DC 11
@@ -95,13 +116,13 @@ class PhaseSpider(Monster):
for 1 hour, even after regaining hit points, and is paralyzed while
poisoned in this way.
"""
name = "Phase Spider"
description = "Large monstrosity, unaligned"
name = 'Phase Spider'
description = 'Large monstrosity, unaligned'
challenge_rating = 3
armor_class = 13
skills = "Stealth +6"
senses = "Darkvision 60 ft., Passive Perception 10"
languages = ""
skills = 'Stealth +6'
senses = 'Darkvision 60 ft., Passive Perception 10'
languages = ''
strength = Ability(15)
dexterity = Ability(15)
constitution = Ability(12)
@@ -112,13 +133,19 @@ class PhaseSpider(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 30
burrow_speed = 0
hp_max = 32
hit_dice = "5d10"
hit_dice = '5d10 + 5'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class PitFiend(Monster):
"""
Fear Aura.
Any creature hostile to the pit fiend that starts its turn within 20
feet of the pit fiend must make a DC 21 Wisdom saving throw, unless
@@ -139,6 +166,9 @@ class PitFiend(Monster):
At will: detect magic, fireball
3/day each: hold monster, wall of fire
# Actions
Multiattack.
The pit fiend makes four attacks: one with its bite, one with its
claw, one with its mace, and one with its tail.
@@ -160,13 +190,13 @@ class PitFiend(Monster):
Melee Weapon Attack: +14 to hit, reach 10ft., one target. Hit: 24
(3d1O + 8) bludgeoning damage.
"""
name = "Pit Fiend"
description = "Large fiend, lawful evil"
name = 'Pit Fiend'
description = 'Large fiend, lawful evil'
challenge_rating = 20
armor_class = 19
skills = ""
senses = "Truesight 120 ft., Passive Perception 14"
languages = "Infernal, telepathy 120 ft."
skills = ''
senses = 'Truesight 120 ft., Passive Perception 14'
languages = 'Infernal, telepathy 120 ft.'
strength = Ability(26)
dexterity = Ability(14)
constitution = Ability(24)
@@ -177,13 +207,19 @@ class PitFiend(Monster):
swim_speed = 0
fly_speed = 60
climb_speed = 0
burrow_speed = 0
hp_max = 300
hit_dice = "24d10"
hit_dice = '24d10 + 168'
condition_immunities = 'poisoned'
damage_immunities = 'fire, poison'
damage_resistances = 'cold'
damage_vulnerabilities = ''
spells = []
class Planetar(Monster):
"""
Angelic Weapons.
The planetar's weapon attacks are magical. When the planetar hits with
any weapon, the weapon deals an extra 5d8 radiant damage (included in
@@ -204,6 +240,9 @@ class Planetar(Monster):
Magic Resistance.
The planetar has advantage on saving throws against spells and other
magical effects.
# Actions
Multiattack.
The planetar makes two melee attacks.
Greatsword.
@@ -214,13 +253,13 @@ class Planetar(Monster):
(6d8 + 3) hit points and is freed from any curse, disease, poison,
blindness, or deafness.
"""
name = "Planetar"
description = "Large celestial, lawful good"
name = 'Planetar'
description = 'Large celestial, lawful good'
challenge_rating = 16
armor_class = 19
skills = "Perception +11"
senses = "Truesight 120 ft., Passive Perception 21"
languages = "all, telepathy 120 ft."
skills = 'Perception +11'
senses = 'Truesight 120 ft., Passive Perception 21'
languages = 'all, telepathy 120 ft.'
strength = Ability(24)
dexterity = Ability(20)
constitution = Ability(24)
@@ -231,26 +270,35 @@ class Planetar(Monster):
swim_speed = 0
fly_speed = 120
climb_speed = 0
burrow_speed = 0
hp_max = 200
hit_dice = "16d10"
hit_dice = '16d10 + 112'
condition_immunities = 'charmed, exhaustion, frightened'
damage_immunities = ''
damage_resistances = 'radiant'
damage_vulnerabilities = ''
spells = []
class Plesiosaurus(Monster):
"""
Hold Breath.
The plesiosaurus can hold its breath for 1 hour.
# Actions
Bite.
Melee Weapon Attack: +6 to hit, reach 10 ft., one target. Hit: 14 (3d6
+ 4) piercing damage.
"""
name = "Plesiosaurus"
description = "Large beast, unaligned"
name = 'Plesiosaurus'
description = 'Large beast, unaligned'
challenge_rating = 2
armor_class = 13
skills = "Perception +3, Stealth +4"
senses = "Passive Perception 13"
languages = ""
skills = 'Perception +3, Stealth +4'
senses = 'Passive Perception 13'
languages = ''
strength = Ability(18)
dexterity = Ability(15)
constitution = Ability(16)
@@ -261,26 +309,34 @@ class Plesiosaurus(Monster):
swim_speed = 40
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 68
hit_dice = "8d10"
hit_dice = '8d10 + 24'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class PoisonousSnake(Monster):
"""
# Actions
Bite.
Melee Weapon Attack: +5 to hit, reach 5 ft., one target. Hit: 1
piercing damage, and the target must make a DC 10 Constitution saving
throw, taking 5 (2d4) poison damage on a failed save, or half as much
damage on a successful one.
"""
name = "Poisonous Snake"
description = "Tiny beast, unaligned"
name = 'Poisonous Snake'
description = 'Tiny beast, unaligned'
challenge_rating = 0.125
armor_class = 13
skills = ""
senses = "Blindsight 10 ft., Passive Perception 10"
languages = ""
skills = ''
senses = 'Blindsight 10 ft., Passive Perception 10'
languages = ''
strength = Ability(2)
dexterity = Ability(16)
constitution = Ability(11)
@@ -291,16 +347,25 @@ class PoisonousSnake(Monster):
swim_speed = 30
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 2
hit_dice = "1d4"
hit_dice = '1d4 + 0'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class PolarBear(Monster):
"""
Keen Smell.
The bear has advantage on Wisdom (Perception) checks that rely on
smell.
# Actions
Multiattack.
The bear makes two attacks: one with its bite and one with its claws.
Bite.
@@ -310,13 +375,13 @@ class PolarBear(Monster):
Melee Weapon Attack: +7 to hit, reach 5 ft., one target. Hit: 12 (2d6
+ 5) slashing damage.
"""
name = "Polar Bear"
description = "Large beast, unaligned"
name = 'Polar Bear'
description = 'Large beast, unaligned'
challenge_rating = 2
armor_class = 12
skills = "Perception +3"
senses = "Passive Perception 13"
languages = ""
skills = 'Perception +3'
senses = 'Passive Perception 13'
languages = ''
strength = Ability(20)
dexterity = Ability(10)
constitution = Ability(16)
@@ -327,24 +392,32 @@ class PolarBear(Monster):
swim_speed = 30
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 42
hit_dice = "5d10"
hit_dice = '5d10 + 15'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Pony(Monster):
"""
# Actions
Hooves.
Melee Weapon Attack: +4 to hit, reach 5 ft., one target. Hit: 7 (2d4 +
2) bludgeoning damage.
"""
name = "Pony"
description = "Medium beast, unaligned"
name = 'Pony'
description = 'Medium beast, unaligned'
challenge_rating = 0.125
armor_class = 10
skills = ""
senses = "Passive Perception 10"
languages = ""
skills = ''
senses = 'Passive Perception 10'
languages = ''
strength = Ability(15)
dexterity = Ability(10)
constitution = Ability(13)
@@ -355,13 +428,19 @@ class Pony(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 11
hit_dice = "2d8"
hit_dice = '2d8 + 2'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Priest(Monster):
"""
Divine Eminence.
As a bonus action, the priest can expend a spell slot to cause its
melee weapon attacks to magically deal an extra 10 (3d6) radiant
@@ -369,30 +448,26 @@ class Priest(Monster):
turn. If the priest expends a spell slot of 2nd level or higher, the
extra damage increases by 1d6 for each level above 1st.
Spellcasting.
The priest is a 5th-level spellcaster. Its spellcasting ability is
Wisdom (spell save DC 13, +5 to hit with spell attacks). The priest
has the following cleric spells prepared:
- Cantrips (at will): light, sacred flame, thaumaturgy
- 1st level (4 slots): cure wounds, guiding bolt, sanctuary
- 2nd level (3 slots): lesser restoration, spiritual weapon
- 3rd level (2 slots): dispel magic, spirit guardians
The priest is a 5th-level spellcaster. Its spellcasting ability is Wisdom (spell save DC 13, +5 to hit with spell attacks). The priest has the following cleric spells prepared:
- Cantrips (at will): light, sacred flame, thaumaturgy
- 1st level (4 slots): cure wounds, guiding bolt, sanctuary
- 2nd level (3 slots): lesser restoration, spiritual weapon
- 3rd level (2 slots): dispel magic, spirit guardians
# Actions
Mace.
Melee Weapon Attack: +2 to hit, reach 5 ft., one target. Hit: 3 (1d6)
bludgeoning damage.
"""
name = "Priest"
description = "Medium humanoid, any alignment"
name = 'Priest'
description = 'Medium humanoid, any alignment'
challenge_rating = 2
armor_class = 13
skills = "Medicine +7, Persuasion +3, Religion +4"
senses = "Passive Perception 13"
languages = "any two languages"
skills = 'Medicine +7, Persuasion +3, Religion +4'
senses = 'Passive Perception 13'
languages = 'any two languages'
strength = Ability(10)
dexterity = Ability(10)
constitution = Ability(12)
@@ -403,13 +478,19 @@ class Priest(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 27
hit_dice = "5d8"
spells = ["light", "sacred flame", "thaumaturgy", "cure wounds", "guiding bolt", "sanctuary", "lesser restoration", "spiritual weapon", "dispel magic", "spirit guardians"]
hit_dice = '5d8 + 5'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = ['light', 'sacred flame', 'thaumaturgy', 'cure wounds', 'guiding bolt', 'sanctuary', 'lesser restoration', 'spiritual weapon', 'dispel magic', 'spirit guardians']
class Pseudodragon(Monster):
"""
Keen Senses.
The pseudodragon has advantage on Wisdom (Perception) checks that rely
on sight, hearing, or smell.
@@ -429,6 +510,9 @@ class Pseudodragon(Monster):
pseudodragon's Magic Resistance trait. At any time and for any reason,
the pseudodragon can end its service as a familiar, ending the
telepathic bond.
# Actions
Bite.
Melee Weapon Attack: +4 to hit, reach 5 ft., one target. Hit: 4 (1d4 +
2) piercing damage.
@@ -440,12 +524,12 @@ class Pseudodragon(Monster):
duration, or until it takes damage or another creature uses an action
to shake it awake.
"""
name = "Pseudodragon"
description = "Tiny dragon, neutral good"
name = 'Pseudodragon'
description = 'Tiny dragon, neutral good'
challenge_rating = 0.25
armor_class = 13
skills = "Perception +3, Stealth +4"
senses = "Blindsight 10 ft., Darkvision 60 ft., Passive Perception 13"
skills = 'Perception +3, Stealth +4'
senses = 'Blindsight 10 ft., Darkvision 60 ft., Passive Perception 13'
languages = "understands Common and Draconic but can't speak"
strength = Ability(6)
dexterity = Ability(15)
@@ -457,16 +541,25 @@ class Pseudodragon(Monster):
swim_speed = 0
fly_speed = 60
climb_speed = 0
burrow_speed = 0
hp_max = 7
hit_dice = "2d4"
hit_dice = '2d4 + 2'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class PurpleWorm(Monster):
"""
Tunneler.
The worm can burrow through solid rock at half its burrow speed and
leaves a 10-foot-diameter tunnel in its wake.
# Actions
Multiattack.
The worm makes two attacks: one with its bite and one with its
stinger.
@@ -490,13 +583,13 @@ class PurpleWorm(Monster):
Constitution saving throw, taking 42 (12d6) poison damage on a failed
save, or half as much damage on a successful one.
"""
name = "Purple Worm"
description = "Gargantuan monstrosity, unaligned"
name = 'Purple Worm'
description = 'Gargantuan monstrosity, unaligned'
challenge_rating = 15
armor_class = 18
skills = ""
senses = "Blindsight 30 ft., Tremorsense 60 ft., Passive Perception 9"
languages = ""
skills = ''
senses = 'Blindsight 30 ft., Tremorsense 60 ft., Passive Perception 9'
languages = ''
strength = Ability(28)
dexterity = Ability(7)
constitution = Ability(22)
@@ -507,6 +600,11 @@ class PurpleWorm(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 30
hp_max = 247
hit_dice = "15d20"
hit_dice = '15d20 + 90'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
+32 -12
View File
@@ -6,8 +6,11 @@ This file was autogenerated by https://github.com/stravajiaxen/5e-srd-to-py
from dungeonsheets.monsters.monsters import Monster
from dungeonsheets.stats import Ability
class Quasit(Monster):
"""
Shapechanger.
The quasit can use its action to polymorph into a beast form that
resembles a bat (speed 10 ft. fly 40 ft.), a centipede (40 ft., climb
@@ -26,6 +29,9 @@ class Quasit(Monster):
the master shares the quasit's Magic Resistance trait. At any time and
for any reason, the quasit can end its service as a familiar, ending
the telepathic bond.
# Actions
Claw (Bite in Beast Form).
Melee Weapon Attack: +4 to hit, reach 5 ft ., one target. Hit: 5 (1d4
+ 3) piercing damage, and the target must succeed on a DC 10
@@ -43,13 +49,13 @@ class Quasit(Monster):
or until its concentration ends (as if concentrating on a spell). Any
equipment the quasit wears or carries is invisible with it.
"""
name = "Quasit"
description = "Tiny fiend, chaotic evil"
name = 'Quasit'
description = 'Tiny fiend, chaotic evil'
challenge_rating = 1
armor_class = 13
skills = "Stealth +5"
senses = "Darkvision 120 ft., Passive Perception 10"
languages = "Abyssal, Common"
skills = 'Stealth +5'
senses = 'Darkvision 120 ft., Passive Perception 10'
languages = 'Abyssal, Common'
strength = Ability(5)
dexterity = Ability(17)
constitution = Ability(10)
@@ -60,29 +66,38 @@ class Quasit(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 7
hit_dice = "3d4"
hit_dice = '3d4 + 0'
condition_immunities = 'poisoned'
damage_immunities = 'poison'
damage_resistances = 'cold'
damage_vulnerabilities = ''
spells = []
class Quipper(Monster):
"""
Blood Frenzy.
The quipper has advantage on melee attack rolls against any creature
that doesn't have all its hit points.
Water Breathing.
The quipper can breathe only underwater.
# Actions
Bite.
Melee Weapon Attack: +5 to hit, reach 5 ft., one target. Hit: 1
piercing damage.
"""
name = "Quipper"
description = "Tiny beast, unaligned"
name = 'Quipper'
description = 'Tiny beast, unaligned'
challenge_rating = 0
armor_class = 13
skills = ""
senses = "Darkvision 60 ft., Passive Perception 8"
languages = ""
skills = ''
senses = 'Darkvision 60 ft., Passive Perception 8'
languages = ''
strength = Ability(2)
dexterity = Ability(16)
constitution = Ability(9)
@@ -93,6 +108,11 @@ class Quipper(Monster):
swim_speed = 40
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 1
hit_dice = "1d4"
hit_dice = '1d4 + -1'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
+178 -72
View File
@@ -10,6 +10,7 @@ from dungeonsheets.stats import Ability
class Rakshasa(Monster):
"""
Limited Magic Immunity.
The rakshasa can't be affected or detected by spells of 6th level or
lower unless it wishes to be. It has advantage on saving throws
@@ -27,6 +28,9 @@ class Rakshasa(Monster):
suggestion
1/day each: dominate person, fly, plane shift, true seeing
# Actions
Multiattack.
The rakshasa makes two claw attacks
Claw.
@@ -38,13 +42,13 @@ class Rakshasa(Monster):
rest. The curse lasts until it is lifted by a remove curse spell or
similar magic.
"""
name = "Rakshasa"
description = "Medium fiend, lawful evil"
name = 'Rakshasa'
description = 'Medium fiend, lawful evil'
challenge_rating = 13
armor_class = 16
skills = "Deception +10, Insight +8"
senses = "Darkvision 60 ft., Passive Perception 13"
languages = "Common, Infernal"
skills = 'Deception +10, Insight +8'
senses = 'Darkvision 60 ft., Passive Perception 13'
languages = 'Common, Infernal'
strength = Ability(14)
dexterity = Ability(17)
constitution = Ability(18)
@@ -55,27 +59,36 @@ class Rakshasa(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 110
hit_dice = "13d8"
hit_dice = '13d8 + 52'
condition_immunities = ''
damage_immunities = 'bludgeoning, piercing, and slashing from nonmagical weapons'
damage_resistances = ''
damage_vulnerabilities = 'piercing from magic weapons wielded by good creatures'
spells = []
class Rat(Monster):
"""
Keen Smell.
The rat has advantage on Wisdom (Perception) checks that rely on
smell.
# Actions
Bite.
Melee Weapon Attack: +0 to hit, reach 5 ft., one target. Hit: 1
piercing damage.
"""
name = "Rat"
description = "Tiny beast, unaligned"
name = 'Rat'
description = 'Tiny beast, unaligned'
challenge_rating = 0
armor_class = 10
skills = ""
senses = "Darkvision 30 ft., Passive Perception 10"
languages = ""
skills = ''
senses = 'Darkvision 30 ft., Passive Perception 10'
languages = ''
strength = Ability(2)
dexterity = Ability(11)
constitution = Ability(9)
@@ -86,29 +99,38 @@ class Rat(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 1
hit_dice = "1d4"
hit_dice = '1d4 + -1'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Raven(Monster):
"""
Mimicry.
The raven can mimic simple sounds it has heard, such as a person
whispering, a baby crying, or an animal chittering. A creature that
hears the sounds can tell they are imitations with a successful DC 10
Wisdom (Insight) check.
# Actions
Beak.
Melee Weapon Attack: +4 to hit, reach 5 ft., one target. Hit: 1
piercing damage.
"""
name = "Raven"
description = "Tiny beast, unaligned"
name = 'Raven'
description = 'Tiny beast, unaligned'
challenge_rating = 0
armor_class = 12
skills = "Perception +3"
senses = "Passive Perception 13"
languages = ""
skills = 'Perception +3'
senses = 'Passive Perception 13'
languages = ''
strength = Ability(2)
dexterity = Ability(14)
constitution = Ability(8)
@@ -119,13 +141,21 @@ class Raven(Monster):
swim_speed = 0
fly_speed = 50
climb_speed = 0
burrow_speed = 0
hp_max = 1
hit_dice = "1d4"
hit_dice = '1d4 + -1'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class RedDragonWyrmling(Monster):
"""
# Actions
Bite.
Melee Weapon Attack: +6 to hit, reach 5 ft., one target. Hit: 9 (1d10
+ 4) piercing damage plus 3 (1d6) fire damage.
@@ -134,13 +164,13 @@ class RedDragonWyrmling(Monster):
must make a DC l3 Dexterity saving throw, taking 24 (7d6) fire damage
on a failed save, or half as much damage on a successful one.
"""
name = "Red Dragon Wyrmling"
description = "Medium dragon, chaotic evil"
name = 'Red Dragon Wyrmling'
description = 'Medium dragon, chaotic evil'
challenge_rating = 4
armor_class = 17
skills = "Perception +4, Stealth +2"
senses = "Blindsight 10 ft., Darkvision 60 ft., Passive Perception 14"
languages = "Draconic"
skills = 'Perception +4, Stealth +2'
senses = 'Blindsight 10 ft., Darkvision 60 ft., Passive Perception 14'
languages = 'Draconic'
strength = Ability(19)
dexterity = Ability(10)
constitution = Ability(17)
@@ -151,30 +181,39 @@ class RedDragonWyrmling(Monster):
swim_speed = 0
fly_speed = 60
climb_speed = 30
burrow_speed = 0
hp_max = 75
hit_dice = "10d8"
hit_dice = '10d8 + 30'
condition_immunities = ''
damage_immunities = 'fire'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class ReefShark(Monster):
"""
Pack Tactics.
The shark has advantage on an attack roll against a creature if at
least one of the shark's allies is within 5 ft. of the creature and
the ally isn't incapacitated.
Water Breathing.
The shark can breathe only underwater.
# Actions
Bite.
Melee Weapon Attack: +4 to hit, reach 5 ft., one target. Hit: 6 (1d8 +
2) piercing damage.
"""
name = "Reef Shark"
description = "Medium beast, unaligned"
name = 'Reef Shark'
description = 'Medium beast, unaligned'
challenge_rating = 0.5
armor_class = 12
skills = "Perception +2"
senses = "Blindsight 30 ft., Passive Perception 12"
languages = ""
skills = 'Perception +2'
senses = 'Blindsight 30 ft., Passive Perception 12'
languages = ''
strength = Ability(14)
dexterity = Ability(13)
constitution = Ability(13)
@@ -185,16 +224,25 @@ class ReefShark(Monster):
swim_speed = 40
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 22
hit_dice = "4d8"
hit_dice = '4d8 + 4'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Remorhaz(Monster):
"""
Heated Body.
A creature that touches the remorhaz or hits it with a melee attack
while within 5 feet of it takes 10 (3d6) fire damage.
# Actions
Bite.
Melee Weapon Attack: +11 to hit, reach 10 ft., one target. Hit: 40
(6d10 + 7) piercing damage plus 10 (3d6) fire damage. If the target is
@@ -216,13 +264,13 @@ class Remorhaz(Monster):
it and can escape from the corpse using 15 feet of movement, exiting
prone.
"""
name = "Remorhaz"
description = "Huge monstrosity, unaligned"
name = 'Remorhaz'
description = 'Huge monstrosity, unaligned'
challenge_rating = 11
armor_class = 17
skills = ""
senses = "Darkvision 60 ft., Tremorsense 60 ft., Passive Perception 10"
languages = ""
skills = ''
senses = 'Darkvision 60 ft., Tremorsense 60 ft., Passive Perception 10'
languages = ''
strength = Ability(24)
dexterity = Ability(13)
constitution = Ability(21)
@@ -233,29 +281,38 @@ class Remorhaz(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 20
hp_max = 195
hit_dice = "17d12"
hit_dice = '17d12 + 85'
condition_immunities = ''
damage_immunities = 'cold, fire'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Rhinoceros(Monster):
"""
Charge.
If the rhinoceros moves at least 20 ft. straight toward a target and
then hits it with a gore attack on the same turn, the target takes an
extra 9 (2d8) bludgeoning damage. If the target is a creature, it must
succeed on a DC 15 Strength saving throw or be knocked prone.
# Actions
Gore.
Melee Weapon Attack: +7 to hit, reach 5 ft., one target. Hit: 14 (2d8
+ 5) bludgeoning damage.
"""
name = "Rhinoceros"
description = "Large beast, unaligned"
name = 'Rhinoceros'
description = 'Large beast, unaligned'
challenge_rating = 2
armor_class = 11
skills = ""
senses = "Passive Perception 11"
languages = ""
skills = ''
senses = 'Passive Perception 11'
languages = ''
strength = Ability(21)
dexterity = Ability(8)
constitution = Ability(15)
@@ -266,24 +323,32 @@ class Rhinoceros(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 45
hit_dice = "6d10"
hit_dice = '6d10 + 12'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class RidingHorse(Monster):
"""
# Actions
Hooves.
Melee Weapon Attack: +5 to hit, reach 5 ft., one target. Hit: 8 (2d4 +
3) bludgeoning damage.
"""
name = "Riding Horse"
description = "Large beast, unaligned"
name = 'Riding Horse'
description = 'Large beast, unaligned'
challenge_rating = 0.25
armor_class = 10
skills = ""
senses = "Passive Perception 10"
languages = ""
skills = ''
senses = 'Passive Perception 10'
languages = ''
strength = Ability(16)
dexterity = Ability(10)
constitution = Ability(12)
@@ -294,16 +359,25 @@ class RidingHorse(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 13
hit_dice = "2d10"
hit_dice = '2d10 + 2'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Roc(Monster):
"""
Keen Sight.
The roc has advantage on Wisdom (Perception) checks that rely on
sight.
# Actions
Multiattack.
The roc makes two attacks: one with its beak and one with its talons.
Beak.
@@ -315,13 +389,13 @@ class Roc(Monster):
this grapple ends, the target is restrained, and the roc can't use its
talons on another target.
"""
name = "Roc"
description = "Gargantuan monstrosity, unaligned"
name = 'Roc'
description = 'Gargantuan monstrosity, unaligned'
challenge_rating = 11
armor_class = 15
skills = "Perception +4"
senses = "Passive Perception 14"
languages = ""
skills = 'Perception +4'
senses = 'Passive Perception 14'
languages = ''
strength = Ability(28)
dexterity = Ability(10)
constitution = Ability(20)
@@ -332,13 +406,19 @@ class Roc(Monster):
swim_speed = 0
fly_speed = 120
climb_speed = 0
burrow_speed = 0
hp_max = 248
hit_dice = "16d20"
hit_dice = '16d20 + 80'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Roper(Monster):
"""
False Appearance.
While the roper remains motionless, it is indistinguishable from a
normal cave formation, such as a stalagmite.
@@ -352,6 +432,9 @@ class Roper(Monster):
Spider Climb.
The roper can climb difficult surfaces, including upside down on
ceilings, without needing to make an ability check.
# Actions
Multiattack.
The roper makes four attacks with its tendrils, uses Reel, and makes
one attack with its bite.
@@ -368,13 +451,13 @@ class Roper(Monster):
The roper pulls each creature grappled by it up to 25 ft. straight
toward it.
"""
name = "Roper"
description = "Large monstrosity, neutral evil"
name = 'Roper'
description = 'Large monstrosity, neutral evil'
challenge_rating = 5
armor_class = 20
skills = "Perception +6, Stealth +5"
senses = "Darkvision 60 ft., Passive Perception 16"
languages = ""
skills = 'Perception +6, Stealth +5'
senses = 'Darkvision 60 ft., Passive Perception 16'
languages = ''
strength = Ability(18)
dexterity = Ability(8)
constitution = Ability(17)
@@ -385,13 +468,19 @@ class Roper(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 10
burrow_speed = 0
hp_max = 93
hit_dice = "11d10"
hit_dice = '11d10 + 33'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class RugofSmothering(Monster):
"""
Antimagic Susceptibility.
The rug is incapacitated while in the area of an antimagic field. If
targeted by dispel magic, the rug must succeed on a Constitution
@@ -404,6 +493,9 @@ class RugofSmothering(Monster):
False Appearance.
While the rug remains motionless, it is indistinguishable from a
normal rug.
# Actions
Smother.
Melee Weapon Attack: +5 to hit, reach 5 ft., one Medium or smaller
creature. Hit: The creature is grappled (escape DC 13). Until this
@@ -412,13 +504,13 @@ class RugofSmothering(Monster):
the start of each of the target's turns, the target takes 10 (2d6 + 3)
bludgeoning damage.
"""
name = "Rug of Smothering"
description = "Large construct, unaligned"
name = 'Rug of Smothering'
description = 'Large construct, unaligned'
challenge_rating = 2
armor_class = 12
skills = ""
senses = "Blindsight 60 ft. (blind beyond this radius), Passive Perception 6"
languages = ""
skills = ''
senses = 'Blindsight 60 ft. (blind beyond this radius), Passive Perception 6'
languages = ''
strength = Ability(17)
dexterity = Ability(14)
constitution = Ability(10)
@@ -429,13 +521,19 @@ class RugofSmothering(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 33
hit_dice = "6d10"
hit_dice = '6d10 + 0'
condition_immunities = 'blinded, charmed, blinded, frightened, paralyzed, petrified, poisoned'
damage_immunities = 'poison, psychic'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class RustMonster(Monster):
"""
Iron Scent.
The rust monster can pinpoint, by scent, the location of ferrous metal
within 30 feet of it.
@@ -445,6 +543,9 @@ class RustMonster(Monster):
cumulative -1 penalty to damage rolls. If its penalty drops to -5, the
weapon is destroyed. Non magical ammunition made of metal that hits
the rust monster is destroyed after dealing damage.
# Actions
Bite.
Melee Weapon Attack: +3 to hit, reach 5 ft., one target. Hit: 5 (1d8 +
1) piercing damage.
@@ -461,13 +562,13 @@ class RustMonster(Monster):
to a bonus is destroyed. If the object touched is a held metal weapon,
it rusts as described in the Rust Metal trait.
"""
name = "Rust Monster"
description = "Medium monstrosity, unaligned"
name = 'Rust Monster'
description = 'Medium monstrosity, unaligned'
challenge_rating = 0.5
armor_class = 14
skills = ""
senses = "Darkvision 60 ft., Passive Perception 11"
languages = ""
skills = ''
senses = 'Darkvision 60 ft., Passive Perception 11'
languages = ''
strength = Ability(13)
dexterity = Ability(12)
constitution = Ability(13)
@@ -478,6 +579,11 @@ class RustMonster(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 27
hit_dice = "5d8"
hit_dice = '5d8 + 5'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
File diff suppressed because it is too large Load Diff
+128 -48
View File
@@ -10,6 +10,7 @@ from dungeonsheets.stats import Ability
class Tarrasque(Monster):
"""
Legendary Resistance.
If the tarrasque fails a saving throw, it can choose to succeed
instead.
@@ -24,6 +25,9 @@ class Tarrasque(Monster):
it originated from the tarrasque, turning the caster into the target.
Siege Monster.
The tarrasque deals double damage to objects and structures.
# Actions
Multiattack.
The tarrasque can use its Frightful Presence. It then makes five
attacks: one with its bite, two with its claws, one with its horns,
@@ -67,14 +71,23 @@ class Tarrasque(Monster):
tarrasque. If the tarrasque dies, a swallowed creature is no longer
restrained by it and can escape from the corpse by using 30 feet of
movement, exiting prone.
# Legendary Actions
Attack.
The tarrasque makes one claw attack or tail attack.
Move.
The tarrasque moves up to half its speed.
Chomp (Costs 2 Actions).
The tarrasque makes one bite attack or uses its Swallow.
"""
name = "Tarrasque"
description = "Gargantuan monstrosity, unaligned"
name = 'Tarrasque'
description = 'Gargantuan monstrosity, unaligned'
challenge_rating = 30
armor_class = 25
skills = ""
senses = "Blindsight 120 ft., Passive Perception 10"
languages = ""
skills = ''
senses = 'Blindsight 120 ft., Passive Perception 10'
languages = ''
strength = Ability(30)
dexterity = Ability(11)
constitution = Ability(30)
@@ -85,17 +98,26 @@ class Tarrasque(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 676
hit_dice = "33d20"
hit_dice = '33d20 + 330'
condition_immunities = 'charmed, frightened, paralyzed, poisoned'
damage_immunities = 'fire, poison, bludgeoning, piercing, and slashing from nonmagical weapons'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Thug(Monster):
"""
Pack Tactics.
The thug has advantage on an attack roll against a creature if at
least one of the thug's allies is within 5 ft. of the creature and the
ally isn't incapacitated.
# Actions
Multiattack.
The thug makes two melee attacks.
Mace.
@@ -105,13 +127,13 @@ class Thug(Monster):
Ranged Weapon Attack: +2 to hit, range 100/400 ft., one target. Hit: 5
(1d10) piercing damage.
"""
name = "Thug"
description = "Medium humanoid, any non-good alignment"
name = 'Thug'
description = 'Medium humanoid, any non-good alignment'
challenge_rating = 0.5
armor_class = 11
skills = "Intimidation +2"
senses = "Passive Perception 10"
languages = "any one language (usually Common)"
skills = 'Intimidation +2'
senses = 'Passive Perception 10'
languages = 'any one language (usually Common)'
strength = Ability(15)
dexterity = Ability(11)
constitution = Ability(14)
@@ -122,13 +144,19 @@ class Thug(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 32
hit_dice = "5d8"
hit_dice = '5d8 + 10'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Tiger(Monster):
"""
Keen Smell.
The tiger has advantage on Wisdom (Perception) checks that rely on
smell.
@@ -138,6 +166,9 @@ class Tiger(Monster):
on a DC 13 Strength saving throw or be knocked prone. If the target is
prone, the tiger can make one bite attack against it as a bonus
action.
# Actions
Bite.
Melee Weapon Attack: +5 to hit, reach 5 ft., one target. Hit: 8 (1d10
+ 3) piercing damage.
@@ -145,13 +176,13 @@ class Tiger(Monster):
Melee Weapon Attack: +5 to hit, reach 5 ft., one target. Hit: 7 (1d8 +
3) slashing damage.
"""
name = "Tiger"
description = "Large beast, unaligned"
name = 'Tiger'
description = 'Large beast, unaligned'
challenge_rating = 1
armor_class = 12
skills = "Perception +3, Stealth +6"
senses = "Darkvision 60 ft., Passive Perception 13"
languages = ""
skills = 'Perception +3, Stealth +6'
senses = 'Darkvision 60 ft., Passive Perception 13'
languages = ''
strength = Ability(17)
dexterity = Ability(15)
constitution = Ability(14)
@@ -162,18 +193,27 @@ class Tiger(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 37
hit_dice = "5d10"
hit_dice = '5d10 + 10'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Treant(Monster):
"""
False Appearance.
While the treant remains motionless, it is indistinguishable from a
normal tree.
Siege Monster.
The treant deals double damage to objects and structures.
# Actions
Multiattack.
The treant makes two slam attacks.
Slam.
@@ -192,13 +232,13 @@ class Treant(Monster):
until the treant takes a bonus action to turn it back into an
inanimate tree. The tree then takes root if possible.
"""
name = "Treant"
description = "Huge plant, chaotic good"
name = 'Treant'
description = 'Huge plant, chaotic good'
challenge_rating = 9
armor_class = 16
skills = ""
senses = "Passive Perception 13"
languages = "Common, Druidic, Elvish, Sylvan"
skills = ''
senses = 'Passive Perception 13'
languages = 'Common, Druidic, Elvish, Sylvan'
strength = Ability(23)
dexterity = Ability(8)
constitution = Ability(21)
@@ -209,29 +249,38 @@ class Treant(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 138
hit_dice = "12d12"
hit_dice = '12d12 + 60'
condition_immunities = ''
damage_immunities = ''
damage_resistances = 'bludgeoning'
damage_vulnerabilities = 'fire'
spells = []
class TribalWarrior(Monster):
"""
Pack Tactics.
The warrior has advantage on an attack roll against a creature if at
least one of the warrior's allies is within 5 ft. of the creature and
the ally isn't incapacitated.
# Actions
Spear.
Melee or Ranged Weapon Attack: +3 to hit, reach 5 ft. or range 20/60
ft., one target. Hit: 4 (1d6 + 1) piercing damage, or 5 (1d8 + 1)
piercing damage if used with two hands to make a melee attack.
"""
name = "Tribal Warrior"
description = "Medium humanoid, any alignment"
name = 'Tribal Warrior'
description = 'Medium humanoid, any alignment'
challenge_rating = 0.125
armor_class = 12
skills = ""
senses = "Passive Perception 10"
languages = "any one language"
skills = ''
senses = 'Passive Perception 10'
languages = 'any one language'
strength = Ability(13)
dexterity = Ability(11)
constitution = Ability(12)
@@ -242,19 +291,28 @@ class TribalWarrior(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 11
hit_dice = "2d8"
hit_dice = '2d8 + 2'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Triceratops(Monster):
"""
Trampling Charge.
If the triceratops moves at least 20 ft. straight toward a creature
and then hits it with a gore attack on the same turn, that target must
succeed on a DC 13 Strength saving throw or be knocked prone. If the
target is prone, the triceratops can make one stomp attack against it
as a bonus action.
# Actions
Gore.
Melee Weapon Attack: +9 to hit, reach 5 ft., one target. Hit: 24 (4d8
+ 6) piercing damage.
@@ -262,13 +320,13 @@ class Triceratops(Monster):
Melee Weapon Attack: +9 to hit, reach 5 ft., one prone creature. Hit:
22 (3d10 + 6) bludgeoning damage
"""
name = "Triceratops"
description = "Huge beast, unaligned"
name = 'Triceratops'
description = 'Huge beast, unaligned'
challenge_rating = 5
armor_class = 13
skills = ""
senses = "Passive Perception 10"
languages = ""
skills = ''
senses = 'Passive Perception 10'
languages = ''
strength = Ability(22)
dexterity = Ability(9)
constitution = Ability(17)
@@ -279,13 +337,19 @@ class Triceratops(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 95
hit_dice = "10d12"
hit_dice = '10d12 + 30'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Troll(Monster):
"""
Keen Smell.
The troll has advantage on Wisdom (Perception) checks that rely on
smell.
@@ -329,6 +393,9 @@ class Troll(Monster):
legs, it falls prone. If it has both arms, it can crawl. With only one
arm, it can still crawl, but its speed is halved. With no arms or
legs, its speed is 0, and it can't benefit from bonuses to speed.
# Actions
Multiattack.
The troll makes three attacks: one with its bite and two with its
claws.
@@ -339,13 +406,13 @@ class Troll(Monster):
Melee Weapon Attack: +7 to hit, reach 5 ft., one target. Hit: 11 (2d6
+ 4) slashing damage.
"""
name = "Troll"
description = "Large giant, chaotic evil"
name = 'Troll'
description = 'Large giant, chaotic evil'
challenge_rating = 5
armor_class = 15
skills = "Perception +2"
senses = "Darkvision 60 ft., Passive Perception 12"
languages = "Giant"
skills = 'Perception +2'
senses = 'Darkvision 60 ft., Passive Perception 12'
languages = 'Giant'
strength = Ability(18)
dexterity = Ability(13)
constitution = Ability(20)
@@ -356,13 +423,21 @@ class Troll(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 84
hit_dice = "8d10"
hit_dice = '8d10 + 40'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class TyrannosaurusRex(Monster):
"""
# Actions
Multiattack.
The tyrannosaurus makes two attacks: one with its bite and one with
its tail. It can't make both attacks against the same target.
@@ -375,13 +450,13 @@ class TyrannosaurusRex(Monster):
Melee Weapon Attack: +10 to hit, reach 10 ft., one target. Hit: 20
(3d8 + 7) bludgeoning damage.
"""
name = "Tyrannosaurus Rex"
description = "Huge beast, unaligned"
name = 'Tyrannosaurus Rex'
description = 'Huge beast, unaligned'
challenge_rating = 8
armor_class = 13
skills = "Perception +4"
senses = "Passive Perception 14"
languages = ""
skills = 'Perception +4'
senses = 'Passive Perception 14'
languages = ''
strength = Ability(25)
dexterity = Ability(10)
constitution = Ability(19)
@@ -392,6 +467,11 @@ class TyrannosaurusRex(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 136
hit_dice = "13d12"
hit_dice = '13d12 + 52'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
+26 -6
View File
@@ -10,6 +10,7 @@ from dungeonsheets.stats import Ability
class Unicorn(Monster):
"""
Charge.
If the unicorn moves at least 20 ft. straight toward a target and then
hits it with a horn attack on the same turn, the target takes an extra
@@ -30,6 +31,9 @@ class Unicorn(Monster):
magical effects.
Magic Weapons.
The unicorn's weapon attacks are magical.
# Actions
Multiattack.
The unicorn makes two attacks: one with its hooves and one with its
horn.
@@ -49,14 +53,25 @@ class Unicorn(Monster):
creatures it can see within 5 ft. of it, along with any equipment they
are wearing or carrying, to a location the unicorn is familiar with,
up to 1 mile away.
# Legendary Actions
Hooves.
The unicorn makes one attack with its hooves.
Shimmering Shield (Costs 2 Actions).
The unicorn creates a shimmering, magical field around itself or
another creature it can see within 60 ft. of it. The target gains a +2
bonus to AC until the end of the unicorn's next turn.
Heal Self (Costs 3 Actions).
The unicorn magically regains 11 (2d8 + 2) hit points.
"""
name = "Unicorn"
description = "Large celestial, lawful good"
name = 'Unicorn'
description = 'Large celestial, lawful good'
challenge_rating = 5
armor_class = 12
skills = ""
senses = "Darkvision 60 ft., Passive Perception 13"
languages = "Celestial, Elvish, Sylvan, telepathy 60 ft."
skills = ''
senses = 'Darkvision 60 ft., Passive Perception 13'
languages = 'Celestial, Elvish, Sylvan, telepathy 60 ft.'
strength = Ability(18)
dexterity = Ability(14)
constitution = Ability(15)
@@ -67,6 +82,11 @@ class Unicorn(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 67
hit_dice = "9d10"
hit_dice = '9d10 + 18'
condition_immunities = 'charmed, paralyzed, poisoned'
damage_immunities = 'poison'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
+99 -36
View File
@@ -10,6 +10,7 @@ from dungeonsheets.stats import Ability
class Vampire(Monster):
"""
Shapechanger.
If the vampire isn't in sun light or running water, it can use its
action to polymorph into a Tiny bat or a Medium cloud of mist, or back
@@ -66,6 +67,9 @@ class Vampire(Monster):
Sunlight Hypersensitivity. The vampire takes 20 radiant damage when it
starts its turn in sunlight. While in sunlight, it has disadvantage on
attack rolls and ability checks.
# Actions
Multiattack (Vampire Form Only).
The vampire makes two attacks, only one of which can be a bite attack.
Unarmed Strike (Vampire Form Only).
@@ -104,14 +108,24 @@ class Vampire(Monster):
of the vampire and obeying its spoken commands. The beasts remain for
1 hour, until the vampire dies, or until the vampire dismisses them as
a bonus action.
# Legendary Actions
Move.
The vampire moves up to its speed without provoking opportunity
attacks.
Unarmed Strike.
The vampire makes one unarmed strike.
Bite (Costs 2 Actions).
The vampire makes one bite attack.
"""
name = "Vampire"
description = "Medium undead, lawful evil"
name = 'Vampire'
description = 'Medium undead, lawful evil'
challenge_rating = 13
armor_class = 16
skills = "Perception +7, Stealth +9"
senses = "Darkvision 120 ft., Passive Perception 17"
languages = "the languages it knew in life"
skills = 'Perception +7, Stealth +9'
senses = 'Darkvision 120 ft., Passive Perception 17'
languages = 'the languages it knew in life'
strength = Ability(18)
dexterity = Ability(18)
constitution = Ability(18)
@@ -122,13 +136,19 @@ class Vampire(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 144
hit_dice = "17d8"
hit_dice = '17d8 + 68'
condition_immunities = ''
damage_immunities = ''
damage_resistances = 'necrotic'
damage_vulnerabilities = ''
spells = []
class VampireSpawn(Monster):
"""
Regeneration.
The vampire regains 10 hit points at the start of its turn if it has
at least 1 hit point and isn't in sunlight or running water. If the
@@ -153,6 +173,9 @@ class VampireSpawn(Monster):
Sunlight Hypersensitivity. The vampire takes 20 radiant damage when it
starts its turn in sunlight. While in sunlight, it has disadvantage on
attack rolls and ability checks.
# Actions
Multiattack.
The vampire makes two attacks, only one of which can be a bite attack.
Bite.
@@ -169,13 +192,13 @@ class VampireSpawn(Monster):
+ 3) slashing damage. Instead of dealing damage, the vampire can
grapple the target (escape DC 13).
"""
name = "Vampire Spawn"
description = "Medium undead, neutral evil"
name = 'Vampire Spawn'
description = 'Medium undead, neutral evil'
challenge_rating = 5
armor_class = 15
skills = "Perception +3, Stealth +6"
senses = "Darkvision 60 ft., Passive Perception 13"
languages = "the languages it knew in life"
skills = 'Perception +3, Stealth +6'
senses = 'Darkvision 60 ft., Passive Perception 13'
languages = 'the languages it knew in life'
strength = Ability(16)
dexterity = Ability(16)
constitution = Ability(16)
@@ -186,13 +209,21 @@ class VampireSpawn(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 82
hit_dice = "11d8"
hit_dice = '11d8 + 33'
condition_immunities = ''
damage_immunities = ''
damage_resistances = 'necrotic'
damage_vulnerabilities = ''
spells = []
class Veteran(Monster):
"""
# Actions
Multiattack.
The veteran makes two longsword attacks. If it has a shortsword drawn,
it can also make a shortsword attack.
@@ -207,13 +238,13 @@ class Veteran(Monster):
Ranged Weapon Attack: +3 to hit, range 100/400 ft., one target. Hit: 6
(1d10 + 1) piercing damage.
"""
name = "Veteran"
description = "Medium humanoid, any alignment"
name = 'Veteran'
description = 'Medium humanoid, any alignment'
challenge_rating = 3
armor_class = 17
skills = "Athletics +5, Perception +2"
senses = "Passive Perception 12"
languages = "any one language (usually Common)"
skills = 'Athletics +5, Perception +2'
senses = 'Passive Perception 12'
languages = 'any one language (usually Common)'
strength = Ability(16)
dexterity = Ability(13)
constitution = Ability(14)
@@ -224,29 +255,38 @@ class Veteran(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 58
hit_dice = "9d8"
hit_dice = '9d8 + 18'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class VioletFungus(Monster):
"""
False Appearance.
While the violet fungus remains motionless, it is indistinguishable
from an ordinary fungus.
# Actions
Multiattack.
The fungus makes 1d4 Rotting Touch attacks.
Rotting Touch.
Melee Weapon Attack: +2 to hit, reach 10 ft., one creature. Hit: 4
(1d8) necrotic damage.
"""
name = "Violet Fungus"
description = "Medium plant, unaligned"
name = 'Violet Fungus'
description = 'Medium plant, unaligned'
challenge_rating = 0.25
armor_class = 5
skills = ""
senses = "Blindsight 30 ft. (blind beyond this radius), Passive Perception 6"
languages = ""
skills = ''
senses = 'Blindsight 30 ft. (blind beyond this radius), Passive Perception 6'
languages = ''
strength = Ability(3)
dexterity = Ability(1)
constitution = Ability(10)
@@ -257,16 +297,25 @@ class VioletFungus(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 18
hit_dice = "4d8"
hit_dice = '4d8 + 0'
condition_immunities = 'blinded, blinded, frightened'
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class Vrock(Monster):
"""
Magic Resistance.
The vrock has advantage on saving throws against spells and other
magical effects.
# Actions
Multiattack.
The vrock makes two attacks: one with its beak and one with its
talons.
@@ -301,13 +350,13 @@ class Vrock(Monster):
demons. It remains for 1 minute, until it or its summoner dies, or
until its summoner dismisses it as an action.
"""
name = "Vrock"
description = "Large fiend, chaotic evil"
name = 'Vrock'
description = 'Large fiend, chaotic evil'
challenge_rating = 6
armor_class = 15
skills = ""
senses = "Darkvision 120 ft., Passive Perception 11"
languages = "Abyssal, telepathy 120 ft."
skills = ''
senses = 'Darkvision 120 ft., Passive Perception 11'
languages = 'Abyssal, telepathy 120 ft.'
strength = Ability(17)
dexterity = Ability(15)
constitution = Ability(18)
@@ -318,13 +367,19 @@ class Vrock(Monster):
swim_speed = 0
fly_speed = 60
climb_speed = 0
burrow_speed = 0
hp_max = 104
hit_dice = "11d10"
hit_dice = '11d10 + 44'
condition_immunities = 'poisoned'
damage_immunities = 'poison'
damage_resistances = 'cold'
damage_vulnerabilities = ''
spells = []
class Vulture(Monster):
"""
Keen Sight and Smell.
The vulture has advantage on Wisdom (Perception) checks that rely on
sight or smell.
@@ -332,17 +387,20 @@ class Vulture(Monster):
The vulture has advantage on an attack roll against a creature if at
least one of the vulture's allies is within 5 ft. of the creature and
the ally isn't incapacitated.
# Actions
Beak.
Melee Weapon Attack: +2 to hit, reach 5 ft., one target. Hit: 2 (1d4)
piercing damage.
"""
name = "Vulture"
description = "Medium beast, unaligned"
name = 'Vulture'
description = 'Medium beast, unaligned'
challenge_rating = 0
armor_class = 10
skills = "Perception +3"
senses = "Passive Perception 13"
languages = ""
skills = 'Perception +3'
senses = 'Passive Perception 13'
languages = ''
strength = Ability(7)
dexterity = Ability(10)
constitution = Ability(13)
@@ -353,6 +411,11 @@ class Vulture(Monster):
swim_speed = 0
fly_speed = 50
climb_speed = 0
burrow_speed = 0
hp_max = 5
hit_dice = "1d8"
hit_dice = '1d8 + 1'
condition_immunities = ''
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
File diff suppressed because it is too large Load Diff
+15 -6
View File
@@ -10,6 +10,7 @@ from dungeonsheets.stats import Ability
class Xorn(Monster):
"""
Earth Glide.
The xorn can burrow through nonmagical, unworked earth and stone.
While doing so, the xorn doesn't disturb the material it moves
@@ -20,6 +21,9 @@ class Xorn(Monster):
Treasure Sense.
The xorn can pinpoint, by scent, the location of precious metals and
stones, such as coins and gems, within 60 ft. of it.
# Actions
Multiattack.
The xorn makes three claw attacks and one bite attack.
Bite.
@@ -29,13 +33,13 @@ class Xorn(Monster):
Melee Weapon Attack: +6 to hit, reach 5 ft., one target. Hit: 6 (1d6 +
3) slashing damage.
"""
name = "Xorn"
description = "Medium elemental, neutral"
name = 'Xorn'
description = 'Medium elemental, neutral'
challenge_rating = 5
armor_class = 19
skills = "Perception +6, Stealth +3"
senses = "Darkvision 60 ft., Tremorsense 60 ft., Passive Perception 16"
languages = "Terran"
skills = 'Perception +6, Stealth +3'
senses = 'Darkvision 60 ft., Tremorsense 60 ft., Passive Perception 16'
languages = 'Terran'
strength = Ability(17)
dexterity = Ability(10)
constitution = Ability(22)
@@ -46,6 +50,11 @@ class Xorn(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 20
hp_max = 73
hit_dice = "7d8"
hit_dice = '7d8 + 42'
condition_immunities = ''
damage_immunities = ''
damage_resistances = "piercing and slashing from nonmagical weapons that aren't adamantine"
damage_vulnerabilities = ''
spells = []
+145 -60
View File
@@ -10,8 +10,12 @@ from dungeonsheets.stats import Ability
class YoungBlackDragon(Monster):
"""
Amphibious.
The dragon can breathe air and water.
# Actions
Multiattack.
The dragon makes three attacks: one with its bite and two with its
claws.
@@ -27,13 +31,13 @@ class YoungBlackDragon(Monster):
49 (11d8) acid damage on a failed save, or half as much damage on a
successful one.
"""
name = "Young Black Dragon"
description = "Large dragon, chaotic evil"
name = 'Young Black Dragon'
description = 'Large dragon, chaotic evil'
challenge_rating = 7
armor_class = 18
skills = "Perception +6, Stealth +5"
senses = "Blindsight 30 ft., Darkvision 120 ft., Passive Perception 16"
languages = "Common, Draconic"
skills = 'Perception +6, Stealth +5'
senses = 'Blindsight 30 ft., Darkvision 120 ft., Passive Perception 16'
languages = 'Common, Draconic'
strength = Ability(19)
dexterity = Ability(14)
constitution = Ability(17)
@@ -44,13 +48,21 @@ class YoungBlackDragon(Monster):
swim_speed = 40
fly_speed = 80
climb_speed = 0
burrow_speed = 0
hp_max = 127
hit_dice = "15d10"
hit_dice = '15d10 + 45'
condition_immunities = ''
damage_immunities = 'acid'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class YoungBlueDragon(Monster):
"""
# Actions
Multiattack.
The dragon makes three attacks: one with its bite and two with its
claws.
@@ -66,13 +78,13 @@ class YoungBlueDragon(Monster):
taking 55 (10d10) lightning damage on a failed save, or half as much
damage on a successful one.
"""
name = "Young Blue Dragon"
description = "Large dragon, lawful evil"
name = 'Young Blue Dragon'
description = 'Large dragon, lawful evil'
challenge_rating = 9
armor_class = 18
skills = "Perception +9, Stealth +4"
senses = "Blindsight 30 ft., Darkvision 120 ft., Passive Perception 19"
languages = "Common, Draconic"
skills = 'Perception +9, Stealth +4'
senses = 'Blindsight 30 ft., Darkvision 120 ft., Passive Perception 19'
languages = 'Common, Draconic'
strength = Ability(21)
dexterity = Ability(10)
constitution = Ability(19)
@@ -83,13 +95,21 @@ class YoungBlueDragon(Monster):
swim_speed = 0
fly_speed = 80
climb_speed = 0
burrow_speed = 40
hp_max = 152
hit_dice = "16d10"
hit_dice = '16d10 + 64'
condition_immunities = ''
damage_immunities = 'lightning'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class YoungBrassDragon(Monster):
"""
# Actions
Multiattack.
The dragon makes three attacks: one with its bite and two with its
claws.
@@ -113,13 +133,13 @@ class YoungBrassDragon(Monster):
creature if the creature takes damage or someone uses an action to
wake it.
"""
name = "Young Brass Dragon"
description = "Large dragon, chaotic good"
name = 'Young Brass Dragon'
description = 'Large dragon, chaotic good'
challenge_rating = 6
armor_class = 17
skills = "Perception +6, Persuasion +5, Stealth +3"
senses = "Blindsight 30 ft., Darkvision 120 ft., Passive Perception 16"
languages = "Common, Draconic"
skills = 'Perception +6, Persuasion +5, Stealth +3'
senses = 'Blindsight 30 ft., Darkvision 120 ft., Passive Perception 16'
languages = 'Common, Draconic'
strength = Ability(19)
dexterity = Ability(10)
constitution = Ability(17)
@@ -130,15 +150,24 @@ class YoungBrassDragon(Monster):
swim_speed = 0
fly_speed = 80
climb_speed = 0
burrow_speed = 20
hp_max = 110
hit_dice = "13d10"
hit_dice = '13d10 + 39'
condition_immunities = ''
damage_immunities = 'fire'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class YoungBronzeDragon(Monster):
"""
Amphibious.
The dragon can breathe air and water.
# Actions
Multiattack.
The dragon makes three attacks: one with its bite and two with its
claws.
@@ -161,13 +190,13 @@ class YoungBronzeDragon(Monster):
saving throw. On a failed save, the creature is pushed 40 feet away
from the dragon.
"""
name = "Young Bronze Dragon"
description = "Large dragon, lawful good"
name = 'Young Bronze Dragon'
description = 'Large dragon, lawful good'
challenge_rating = 8
armor_class = 18
skills = "Insight +4, Perception +7, Stealth +3"
senses = "Blindsight 30 ft., Darkvision 120 ft., Passive Perception 17"
languages = "Common, Draconic"
skills = 'Insight +4, Perception +7, Stealth +3'
senses = 'Blindsight 30 ft., Darkvision 120 ft., Passive Perception 17'
languages = 'Common, Draconic'
strength = Ability(21)
dexterity = Ability(10)
constitution = Ability(19)
@@ -178,13 +207,21 @@ class YoungBronzeDragon(Monster):
swim_speed = 40
fly_speed = 80
climb_speed = 0
burrow_speed = 0
hp_max = 142
hit_dice = "15d10"
hit_dice = '15d10 + 60'
condition_immunities = ''
damage_immunities = 'lightning'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class YoungCopperDragon(Monster):
"""
# Actions
Multiattack.
The dragon makes three attacks: one with its bite and two with its
claws.
@@ -211,13 +248,13 @@ class YoungCopperDragon(Monster):
can repeat the saving throw at the end of each of its turns, ending
the effect on itself with a successful save.
"""
name = "Young Copper Dragon"
description = "Large dragon, chaotic good"
name = 'Young Copper Dragon'
description = 'Large dragon, chaotic good'
challenge_rating = 7
armor_class = 17
skills = "Deception +5, Perception +7, Stealth +4"
senses = "Blindsight 30 ft., Darkvision 120 ft., Passive Perception 17"
languages = "Common, Draconic"
skills = 'Deception +5, Perception +7, Stealth +4'
senses = 'Blindsight 30 ft., Darkvision 120 ft., Passive Perception 17'
languages = 'Common, Draconic'
strength = Ability(19)
dexterity = Ability(12)
constitution = Ability(17)
@@ -228,15 +265,24 @@ class YoungCopperDragon(Monster):
swim_speed = 0
fly_speed = 80
climb_speed = 40
burrow_speed = 0
hp_max = 119
hit_dice = "14d10"
hit_dice = '14d10 + 42'
condition_immunities = ''
damage_immunities = 'acid'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class YoungGoldDragon(Monster):
"""
Amphibious.
The dragon can breathe air and water.
# Actions
Multiattack.
The dragon makes three attacks: one with its bite and two with its
claws.
@@ -261,13 +307,13 @@ class YoungGoldDragon(Monster):
throw at the end of each of its turns, ending the effect on itself on
a success.
"""
name = "Young Gold Dragon"
description = "Large dragon, lawful good"
name = 'Young Gold Dragon'
description = 'Large dragon, lawful good'
challenge_rating = 10
armor_class = 18
skills = "Insight +5, Perception +9, Persuasion +9, Stealth +6"
senses = "Blindsight 30 ft., Darkvision 120 ft., Passive Perception 19"
languages = "Common, Draconic"
skills = 'Insight +5, Perception +9, Persuasion +9, Stealth +6'
senses = 'Blindsight 30 ft., Darkvision 120 ft., Passive Perception 19'
languages = 'Common, Draconic'
strength = Ability(23)
dexterity = Ability(14)
constitution = Ability(21)
@@ -278,15 +324,24 @@ class YoungGoldDragon(Monster):
swim_speed = 40
fly_speed = 80
climb_speed = 0
burrow_speed = 0
hp_max = 178
hit_dice = "17d10"
hit_dice = '17d10 + 85'
condition_immunities = ''
damage_immunities = 'fire'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class YoungGreenDragon(Monster):
"""
Amphibious.
The dragon can breathe air and water.
# Actions
Multiattack.
The dragon makes three attacks: one with its bite and two with its
claws.
@@ -302,13 +357,13 @@ class YoungGreenDragon(Monster):
(12d6) poison damage on a failed save, or half as much damage on a
successful one.
"""
name = "Young Green Dragon"
description = "Large dragon, lawful evil"
name = 'Young Green Dragon'
description = 'Large dragon, lawful evil'
challenge_rating = 8
armor_class = 18
skills = "Deception +5, Perception +7, Stealth +4"
senses = "Blindsight 30 ft., Darkvision 120 ft., Passive Perception 17"
languages = "Common, Draconic"
skills = 'Deception +5, Perception +7, Stealth +4'
senses = 'Blindsight 30 ft., Darkvision 120 ft., Passive Perception 17'
languages = 'Common, Draconic'
strength = Ability(19)
dexterity = Ability(12)
constitution = Ability(17)
@@ -319,13 +374,21 @@ class YoungGreenDragon(Monster):
swim_speed = 40
fly_speed = 80
climb_speed = 0
burrow_speed = 0
hp_max = 136
hit_dice = "16d10"
hit_dice = '16d10 + 48'
condition_immunities = 'poisoned'
damage_immunities = 'poison'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class YoungRedDragon(Monster):
"""
# Actions
Multiattack.
The dragon makes three attacks: one with its bite and two with its
claws.
@@ -340,13 +403,13 @@ class YoungRedDragon(Monster):
must make a DC 17 Dexterity saving throw, taking 56 (16d6) fire damage
on a failed save, or half as much damage on a successful one.
"""
name = "Young Red Dragon"
description = "Large dragon, chaotic evil"
name = 'Young Red Dragon'
description = 'Large dragon, chaotic evil'
challenge_rating = 10
armor_class = 18
skills = "Perception +8, Stealth +4"
senses = "Blindsight 30 ft., Darkvision 120 ft., Passive Perception 18"
languages = "Common, Draconic"
skills = 'Perception +8, Stealth +4'
senses = 'Blindsight 30 ft., Darkvision 120 ft., Passive Perception 18'
languages = 'Common, Draconic'
strength = Ability(23)
dexterity = Ability(10)
constitution = Ability(21)
@@ -357,13 +420,21 @@ class YoungRedDragon(Monster):
swim_speed = 0
fly_speed = 80
climb_speed = 40
burrow_speed = 0
hp_max = 178
hit_dice = "17d10"
hit_dice = '17d10 + 85'
condition_immunities = ''
damage_immunities = 'fire'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class YoungSilverDragon(Monster):
"""
# Actions
Multiattack.
The dragon makes three attacks: one with its bite and two with its
claws.
@@ -387,13 +458,13 @@ class YoungSilverDragon(Monster):
saving throw at the end of each of its turns, ending the effect on
itself on a success.
"""
name = "Young Silver Dragon"
description = "Large dragon, lawful good"
name = 'Young Silver Dragon'
description = 'Large dragon, lawful good'
challenge_rating = 9
armor_class = 18
skills = "Arcana +6, History +6, Perception +8, Stealth +4"
senses = "Blindsight 30 ft., Darkvision 120 ft., Passive Perception 18"
languages = "Common, Draconic"
skills = 'Arcana +6, History +6, Perception +8, Stealth +4'
senses = 'Blindsight 30 ft., Darkvision 120 ft., Passive Perception 18'
languages = 'Common, Draconic'
strength = Ability(23)
dexterity = Ability(10)
constitution = Ability(21)
@@ -404,17 +475,26 @@ class YoungSilverDragon(Monster):
swim_speed = 0
fly_speed = 80
climb_speed = 0
burrow_speed = 0
hp_max = 168
hit_dice = "16d10"
hit_dice = '16d10 + 80'
condition_immunities = ''
damage_immunities = 'cold'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
class YoungWhiteDragon(Monster):
"""
Ice Walk.
The dragon can move across and climb icy surfaces without needing to
make an ability check. Additionally, difficult terrain composed of ice
or snow doesn't cost it extra moment.
# Actions
Multiattack.
The dragon makes three attacks: one with its bite and two with its
claws.
@@ -430,13 +510,13 @@ class YoungWhiteDragon(Monster):
(10d8) cold damage on a failed save, or half as much damage on a
successful one.
"""
name = "Young White Dragon"
description = "Large dragon, chaotic evil"
name = 'Young White Dragon'
description = 'Large dragon, chaotic evil'
challenge_rating = 6
armor_class = 17
skills = "Perception +6, Stealth +3"
senses = "Blindsight 30 ft., Darkvision 120 ft., Passive Perception 16"
languages = "Common, Draconic"
skills = 'Perception +6, Stealth +3'
senses = 'Blindsight 30 ft., Darkvision 120 ft., Passive Perception 16'
languages = 'Common, Draconic'
strength = Ability(18)
dexterity = Ability(10)
constitution = Ability(18)
@@ -447,6 +527,11 @@ class YoungWhiteDragon(Monster):
swim_speed = 40
fly_speed = 80
climb_speed = 0
burrow_speed = 20
hp_max = 133
hit_dice = "14d10"
hit_dice = '14d10 + 56'
condition_immunities = ''
damage_immunities = 'cold'
damage_resistances = ''
damage_vulnerabilities = ''
spells = []
+14 -5
View File
@@ -10,21 +10,25 @@ from dungeonsheets.stats import Ability
class Zombie(Monster):
"""
Undead Fortitude.
If damage reduces the zombie to 0 hit points, it must make a
Constitution saving throw with a DC of 5+the damage taken, unless the
damage is radiant or from a critical hit. On a success, the zombie
drops to 1 hit point instead.
# Actions
Slam.
Melee Weapon Attack: +3 to hit, reach 5 ft., one target. Hit: 4 (1d6 +
1) bludgeoning damage.
"""
name = "Zombie"
description = "Medium undead, neutral evil"
name = 'Zombie'
description = 'Medium undead, neutral evil'
challenge_rating = 0.25
armor_class = 8
skills = ""
senses = "Darkvision 60 ft., Passive Perception 8"
skills = ''
senses = 'Darkvision 60 ft., Passive Perception 8'
languages = "understands all languages it spoke in life but can't speak"
strength = Ability(13)
dexterity = Ability(6)
@@ -36,6 +40,11 @@ class Zombie(Monster):
swim_speed = 0
fly_speed = 0
climb_speed = 0
burrow_speed = 0
hp_max = 22
hit_dice = "3d8"
hit_dice = '3d8 + 9'
condition_immunities = 'poisoned'
damage_immunities = ''
damage_resistances = ''
damage_vulnerabilities = ''
spells = []