aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYour Name <you@example.com>2023-05-30 18:33:10 -0400
committerYour Name <you@example.com>2023-05-30 18:33:10 -0400
commite1ef3e987a1ef87fad2e44d2023e4aa50fb28c35 (patch)
treeb48a6087720d6bf69a80f0c284320320043fcdee
parentd428ae1c5b3b0ec88c1b55c56317c3750502d5f4 (diff)
downloaddmtool-e1ef3e987a1ef87fad2e44d2023e4aa50fb28c35.tar.gz
dmtool-e1ef3e987a1ef87fad2e44d2023e4aa50fb28c35.tar.bz2
dmtool-e1ef3e987a1ef87fad2e44d2023e4aa50fb28c35.zip
Changed makefiles, added parsed files
-rw-r--r--.gitignore2
-rw-r--r--Makefile99
-rwxr-xr-xconfigure101
-rw-r--r--parsed/armor/breastplate.json12
-rw-r--r--parsed/armor/chain_mail.json12
-rw-r--r--parsed/armor/chain_shirt.json12
-rw-r--r--parsed/armor/half_plate.json12
-rw-r--r--parsed/armor/hide.json12
-rw-r--r--parsed/armor/leather.json12
-rw-r--r--parsed/armor/padded.json12
-rw-r--r--parsed/armor/plate.json12
-rw-r--r--parsed/armor/ring_mail.json12
-rw-r--r--parsed/armor/scale_mail.json12
-rw-r--r--parsed/armor/shield.json12
-rw-r--r--parsed/armor/splint.json12
-rw-r--r--parsed/armor/studded_leather.json12
-rw-r--r--parsed/creatures/aboleth.json161
-rw-r--r--parsed/creatures/acolyte.json76
-rw-r--r--parsed/creatures/adult_black_dragon.json206
-rw-r--r--parsed/creatures/adult_blue_dragon.json200
-rw-r--r--parsed/creatures/adult_brass_dragon.json208
-rw-r--r--parsed/creatures/adult_bronze_dragon.json219
-rw-r--r--parsed/creatures/adult_copper_dragon.json207
-rw-r--r--parsed/creatures/adult_gold_dragon.json220
-rw-r--r--parsed/creatures/adult_green_dragon.json214
-rw-r--r--parsed/creatures/adult_red_dragon.json200
-rw-r--r--parsed/creatures/adult_silver_dragon.json214
-rw-r--r--parsed/creatures/adult_white_dragon.json206
-rw-r--r--parsed/creatures/air_elemental.json159
-rw-r--r--parsed/creatures/ancient_black_dragon.json206
-rw-r--r--parsed/creatures/ancient_blue_dragon.json200
-rw-r--r--parsed/creatures/ancient_brass_dragon.json214
-rw-r--r--parsed/creatures/ancient_bronze_dragon.json219
-rw-r--r--parsed/creatures/ancient_copper_dragon.json213
-rw-r--r--parsed/creatures/ancient_gold_dragon.json220
-rw-r--r--parsed/creatures/ancient_green_dragon.json214
-rw-r--r--parsed/creatures/ancient_red_dragon.json200
-rw-r--r--parsed/creatures/ancient_silver_dragon.json214
-rw-r--r--parsed/creatures/ancient_white_dragon.json206
-rw-r--r--parsed/creatures/androsphinx.json235
-rw-r--r--parsed/creatures/animated_armor.json134
-rw-r--r--parsed/creatures/ankheg.json87
-rw-r--r--parsed/creatures/ape.json113
-rw-r--r--parsed/creatures/archmage.json163
-rw-r--r--parsed/creatures/assassin.json96
-rw-r--r--parsed/creatures/awakened_shrub.json90
-rw-r--r--parsed/creatures/awakened_tree.json92
-rw-r--r--parsed/creatures/axe_beak.json72
-rw-r--r--parsed/creatures/azer.json121
-rw-r--r--parsed/creatures/baboon.json78
-rw-r--r--parsed/creatures/badger.json82
-rw-r--r--parsed/creatures/balor.json200
-rw-r--r--parsed/creatures/bandit.json58
-rw-r--r--parsed/creatures/bandit_captain.json78
-rw-r--r--parsed/creatures/barbed_devil.json211
-rw-r--r--parsed/creatures/basilisk.json86
-rw-r--r--parsed/creatures/bat.json86
-rw-r--r--parsed/creatures/bearded_devil.json149
-rw-r--r--parsed/creatures/behir.json140
-rw-r--r--parsed/creatures/berserker.json59
-rw-r--r--parsed/creatures/black_bear.json118
-rw-r--r--parsed/creatures/black_dragon_wyrmling.json106
-rw-r--r--parsed/creatures/black_pudding.json146
-rw-r--r--parsed/creatures/blink_dog.json87
-rw-r--r--parsed/creatures/blood_hawk.json88
-rw-r--r--parsed/creatures/blue_dragon_wyrmling.json100
-rw-r--r--parsed/creatures/boar.json84
-rw-r--r--parsed/creatures/bone_devil.json177
-rw-r--r--parsed/creatures/brass_dragon_wyrmling.json106
-rw-r--r--parsed/creatures/bronze_dragon_wyrmling.json112
-rw-r--r--parsed/creatures/brown_bear.json118
-rw-r--r--parsed/creatures/bugbear.json140
-rw-r--r--parsed/creatures/bulette.json89
-rw-r--r--parsed/creatures/camel.json72
-rw-r--r--parsed/creatures/cat.json81
-rw-r--r--parsed/creatures/centaur.json101
-rw-r--r--parsed/creatures/chain_devil.json148
-rw-r--r--parsed/creatures/chimera.json152
-rw-r--r--parsed/creatures/chuul.json110
-rw-r--r--parsed/creatures/clay_golem.json175
-rw-r--r--parsed/creatures/cloaker.json144
-rw-r--r--parsed/creatures/cloud_giant.json157
-rw-r--r--parsed/creatures/cockatrice.json76
-rw-r--r--parsed/creatures/commoner.json46
-rw-r--r--parsed/creatures/constrictor_snake.json106
-rw-r--r--parsed/creatures/copper_dragon_wyrmling.json106
-rw-r--r--parsed/creatures/couatl.json196
-rw-r--r--parsed/creatures/crab.json82
-rw-r--r--parsed/creatures/crocodile.json80
-rw-r--r--parsed/creatures/cult_fanatic.json102
-rw-r--r--parsed/creatures/cultist.json62
-rw-r--r--parsed/creatures/darkmantle.json94
-rw-r--r--parsed/creatures/death_dog.json89
-rw-r--r--parsed/creatures/deer.json72
-rw-r--r--parsed/creatures/deva.json175
-rw-r--r--parsed/creatures/dire_wolf.json87
-rw-r--r--parsed/creatures/djinni.json142
-rw-r--r--parsed/creatures/doppelganger.json114
-rw-r--r--parsed/creatures/draft_horse.json72
-rw-r--r--parsed/creatures/dragon_turtle.json165
-rw-r--r--parsed/creatures/dretch.json141
-rw-r--r--parsed/creatures/drider.json175
-rw-r--r--parsed/creatures/druid.json122
-rw-r--r--parsed/creatures/dryad.json107
-rw-r--r--parsed/creatures/duergar.json96
-rw-r--r--parsed/creatures/dust_mephit.json122
-rw-r--r--parsed/creatures/eagle.json82
-rw-r--r--parsed/creatures/earth_elemental.json143
-rw-r--r--parsed/creatures/efreeti.json167
-rw-r--r--parsed/creatures/elephant.json112
-rw-r--r--parsed/creatures/elf_drow.json99
-rw-r--r--parsed/creatures/elk.json112
-rw-r--r--parsed/creatures/erinyes.json196
-rw-r--r--parsed/creatures/ettercap.json162
-rw-r--r--parsed/creatures/ettin.json126
-rw-r--r--parsed/creatures/fire_elemental.json161
-rw-r--r--parsed/creatures/fire_giant.json129
-rw-r--r--parsed/creatures/flesh_golem.json171
-rw-r--r--parsed/creatures/flying_snake.json88
-rw-r--r--parsed/creatures/flying_sword.json101
-rw-r--r--parsed/creatures/frog.json57
-rw-r--r--parsed/creatures/frost_giant.json122
-rw-r--r--parsed/creatures/gargoyle.json158
-rw-r--r--parsed/creatures/gelatinous_cube.json117
-rw-r--r--parsed/creatures/ghast.json141
-rw-r--r--parsed/creatures/ghost.json189
-rw-r--r--parsed/creatures/ghoul.json126
-rw-r--r--parsed/creatures/giant_ape.json113
-rw-r--r--parsed/creatures/giant_badger.json118
-rw-r--r--parsed/creatures/giant_bat.json86
-rw-r--r--parsed/creatures/giant_boar.json84
-rw-r--r--parsed/creatures/giant_centipede.json76
-rw-r--r--parsed/creatures/giant_constrictor_snake.json108
-rw-r--r--parsed/creatures/giant_crab.json82
-rw-r--r--parsed/creatures/giant_crocodile.json120
-rw-r--r--parsed/creatures/giant_eagle.json118
-rw-r--r--parsed/creatures/giant_elk.json114
-rw-r--r--parsed/creatures/giant_fire_beetle.json80
-rw-r--r--parsed/creatures/giant_frog.json95
-rw-r--r--parsed/creatures/giant_goat.json84
-rw-r--r--parsed/creatures/giant_hyena.json80
-rw-r--r--parsed/creatures/giant_lizard.json74
-rw-r--r--parsed/creatures/giant_octopus.json95
-rw-r--r--parsed/creatures/giant_owl.json89
-rw-r--r--parsed/creatures/giant_poisonous_snake.json78
-rw-r--r--parsed/creatures/giant_rat.json88
-rw-r--r--parsed/creatures/giant_scorpion.json112
-rw-r--r--parsed/creatures/giant_sea_horse.json84
-rw-r--r--parsed/creatures/giant_shark.json88
-rw-r--r--parsed/creatures/giant_spider.json124
-rw-r--r--parsed/creatures/giant_toad.json98
-rw-r--r--parsed/creatures/giant_vulture.json124
-rw-r--r--parsed/creatures/giant_wasp.json74
-rw-r--r--parsed/creatures/giant_weasel.json85
-rw-r--r--parsed/creatures/giant_wolf_spider.json90
-rw-r--r--parsed/creatures/gibbering_mouther.json103
-rw-r--r--parsed/creatures/glabrezu.json190
-rw-r--r--parsed/creatures/gladiator.json150
-rw-r--r--parsed/creatures/gnoll.json105
-rw-r--r--parsed/creatures/gnome_deep_svirfneblin.json127
-rw-r--r--parsed/creatures/goat.json84
-rw-r--r--parsed/creatures/goblin.json75
-rw-r--r--parsed/creatures/gold_dragon_wyrmling.json106
-rw-r--r--parsed/creatures/gorgon.json93
-rw-r--r--parsed/creatures/gray_ooze.json138
-rw-r--r--parsed/creatures/green_dragon_wyrmling.json111
-rw-r--r--parsed/creatures/green_hag.json121
-rw-r--r--parsed/creatures/grick.json137
-rw-r--r--parsed/creatures/griffon.json120
-rw-r--r--parsed/creatures/grimlock.json107
-rw-r--r--parsed/creatures/guard.json60
-rw-r--r--parsed/creatures/guardian_naga.json185
-rw-r--r--parsed/creatures/gynosphinx.json203
-rw-r--r--parsed/creatures/half_red_dragon_veteran.json88
-rw-r--r--parsed/creatures/harpy.json91
-rw-r--r--parsed/creatures/hawk.json82
-rw-r--r--parsed/creatures/hell_hound.json105
-rw-r--r--parsed/creatures/hezrou.json169
-rw-r--r--parsed/creatures/hill_giant.json112
-rw-r--r--parsed/creatures/hippogriff.json118
-rw-r--r--parsed/creatures/hobgoblin.json73
-rw-r--r--parsed/creatures/homunculus.json96
-rw-r--r--parsed/creatures/horned_devil.json201
-rw-r--r--parsed/creatures/hunter_shark.json88
-rw-r--r--parsed/creatures/hydra.json106
-rw-r--r--parsed/creatures/hyena.json80
-rw-r--r--parsed/creatures/ice_devil.json226
-rw-r--r--parsed/creatures/ice_mephit.json142
-rw-r--r--parsed/creatures/imp.json146
-rw-r--r--parsed/creatures/invisible_stalker.json152
-rw-r--r--parsed/creatures/iron_golem.json201
-rw-r--r--parsed/creatures/jackal.json79
-rw-r--r--parsed/creatures/killer_whale.json94
-rw-r--r--parsed/creatures/knight.json86
-rw-r--r--parsed/creatures/kobold.json67
-rw-r--r--parsed/creatures/kraken.json198
-rw-r--r--parsed/creatures/lamia.json148
-rw-r--r--parsed/creatures/lemure.json113
-rw-r--r--parsed/creatures/lich.json268
-rw-r--r--parsed/creatures/lion.json125
-rw-r--r--parsed/creatures/lizard.json74
-rw-r--r--parsed/creatures/lizardfolk.json165
-rw-r--r--parsed/creatures/mage.json109
-rw-r--r--parsed/creatures/magma_mephit.json137
-rw-r--r--parsed/creatures/magmin.json112
-rw-r--r--parsed/creatures/mammoth.json112
-rw-r--r--parsed/creatures/manticore.json150
-rw-r--r--parsed/creatures/marilith.json188
-rw-r--r--parsed/creatures/mastiff.json80
-rw-r--r--parsed/creatures/medusa.json144
-rw-r--r--parsed/creatures/merfolk.json55
-rw-r--r--parsed/creatures/merrow.json150
-rw-r--r--parsed/creatures/mimic.json148
-rw-r--r--parsed/creatures/minotaur.json126
-rw-r--r--parsed/creatures/minotaur_skeleton.json131
-rw-r--r--parsed/creatures/mule.json84
-rw-r--r--parsed/creatures/mummy.json148
-rw-r--r--parsed/creatures/mummy_lord.json255
-rw-r--r--parsed/creatures/nalfeshnee.json176
-rw-r--r--parsed/creatures/night_hag.json165
-rw-r--r--parsed/creatures/nightmare.json101
-rw-r--r--parsed/creatures/noble.json63
-rw-r--r--parsed/creatures/ochre_jelly.json137
-rw-r--r--parsed/creatures/octopus.json103
-rw-r--r--parsed/creatures/ogre.json113
-rw-r--r--parsed/creatures/ogre_zombie.json92
-rw-r--r--parsed/creatures/oni.json180
-rw-r--r--parsed/creatures/orc.json69
-rw-r--r--parsed/creatures/otyugh.json132
-rw-r--r--parsed/creatures/owl.json91
-rw-r--r--parsed/creatures/owlbear.json120
-rw-r--r--parsed/creatures/panther.json119
-rw-r--r--parsed/creatures/pegasus.json78
-rw-r--r--parsed/creatures/phase_spider.json94
-rw-r--r--parsed/creatures/pit_fiend.json268
-rw-r--r--parsed/creatures/planetar.json186
-rw-r--r--parsed/creatures/plesiosaurus.json81
-rw-r--r--parsed/creatures/poisonous_snake.json76
-rw-r--r--parsed/creatures/polar_bear.json118
-rw-r--r--parsed/creatures/pony.json72
-rw-r--r--parsed/creatures/priest.json103
-rw-r--r--parsed/creatures/pseudodragon.json132
-rw-r--r--parsed/creatures/purple_worm.json122
-rw-r--r--parsed/creatures/quasit.json143
-rw-r--r--parsed/creatures/quipper.json88
-rw-r--r--parsed/creatures/rakshasa.json146
-rw-r--r--parsed/creatures/rat.json80
-rw-r--r--parsed/creatures/raven.json82
-rw-r--r--parsed/creatures/red_dragon_wyrmling.json100
-rw-r--r--parsed/creatures/reef_shark.json88
-rw-r--r--parsed/creatures/remorhaz.json102
-rw-r--r--parsed/creatures/rhinoceros.json78
-rw-r--r--parsed/creatures/riding_horse.json72
-rw-r--r--parsed/creatures/roc.json123
-rw-r--r--parsed/creatures/roper.json132
-rw-r--r--parsed/creatures/rug_of_smothering.json125
-rw-r--r--parsed/creatures/rust_monster.json92
-rw-r--r--parsed/creatures/saber_toothed_tiger.json119
-rw-r--r--parsed/creatures/sahuagin.json139
-rw-r--r--parsed/creatures/salamander.json167
-rw-r--r--parsed/creatures/satyr.json101
-rw-r--r--parsed/creatures/scorpion.json76
-rw-r--r--parsed/creatures/scout.json76
-rw-r--r--parsed/creatures/sea_hag.json98
-rw-r--r--parsed/creatures/sea_horse.json46
-rw-r--r--parsed/creatures/shadow.json182
-rw-r--r--parsed/creatures/shambling_mound.json121
-rw-r--r--parsed/creatures/shield_guardian.json131
-rw-r--r--parsed/creatures/shrieker.json67
-rw-r--r--parsed/creatures/silver_dragon_wyrmling.json106
-rw-r--r--parsed/creatures/skeleton.json73
-rw-r--r--parsed/creatures/solar.json259
-rw-r--r--parsed/creatures/specter.json173
-rw-r--r--parsed/creatures/spider.json96
-rw-r--r--parsed/creatures/spirit_naga.json152
-rw-r--r--parsed/creatures/sprite.json126
-rw-r--r--parsed/creatures/spy.json79
-rw-r--r--parsed/creatures/steam_mephit.json124
-rw-r--r--parsed/creatures/stirge.json76
-rw-r--r--parsed/creatures/stone_giant.json131
-rw-r--r--parsed/creatures/stone_golem.json159
-rw-r--r--parsed/creatures/storm_giant.json179
-rw-r--r--parsed/creatures/succubusincubus.json148
-rw-r--r--parsed/creatures/swarm_of_bats.json146
-rw-r--r--parsed/creatures/swarm_of_insects.json134
-rw-r--r--parsed/creatures/swarm_of_poisonous_snakes.json134
-rw-r--r--parsed/creatures/swarm_of_quippers.json146
-rw-r--r--parsed/creatures/swarm_of_rats.json140
-rw-r--r--parsed/creatures/swarm_of_ravens.json135
-rw-r--r--parsed/creatures/tarrasque.json278
-rw-r--r--parsed/creatures/thug.json73
-rw-r--r--parsed/creatures/tiger.json121
-rw-r--r--parsed/creatures/treant.json142
-rw-r--r--parsed/creatures/tribal_warrior.json59
-rw-r--r--parsed/creatures/triceratops.json112
-rw-r--r--parsed/creatures/troll.json126
-rw-r--r--parsed/creatures/tyrannosaurus_rex.json112
-rw-r--r--parsed/creatures/unicorn.json204
-rw-r--r--parsed/creatures/vampire.json219
-rw-r--r--parsed/creatures/vampire_spawn.json167
-rw-r--r--parsed/creatures/veteran.json74
-rw-r--r--parsed/creatures/violet_fungus.json99
-rw-r--r--parsed/creatures/vrock.json175
-rw-r--r--parsed/creatures/vulture.json88
-rw-r--r--parsed/creatures/warhorse.json78
-rw-r--r--parsed/creatures/warhorse_skeleton.json93
-rw-r--r--parsed/creatures/water_elemental.json159
-rw-r--r--parsed/creatures/weasel.json83
-rw-r--r--parsed/creatures/werebear.json157
-rw-r--r--parsed/creatures/wereboar.json129
-rw-r--r--parsed/creatures/wererat.json133
-rw-r--r--parsed/creatures/weretiger.json172
-rw-r--r--parsed/creatures/werewolf.json158
-rw-r--r--parsed/creatures/white_dragon_wyrmling.json100
-rw-r--r--parsed/creatures/wight.json148
-rw-r--r--parsed/creatures/will_o_wisp.json181
-rw-r--r--parsed/creatures/winter_wolf.json104
-rw-r--r--parsed/creatures/wolf.json89
-rw-r--r--parsed/creatures/worg.json82
-rw-r--r--parsed/creatures/wraith.json178
-rw-r--r--parsed/creatures/wyvern.json146
-rw-r--r--parsed/creatures/xorn.json142
-rw-r--r--parsed/creatures/young_black_dragon.json144
-rw-r--r--parsed/creatures/young_blue_dragon.json138
-rw-r--r--parsed/creatures/young_brass_dragon.json145
-rw-r--r--parsed/creatures/young_bronze_dragon.json151
-rw-r--r--parsed/creatures/young_copper_dragon.json145
-rw-r--r--parsed/creatures/young_gold_dragon.json152
-rw-r--r--parsed/creatures/young_green_dragon.json150
-rw-r--r--parsed/creatures/young_red_dragon.json138
-rw-r--r--parsed/creatures/young_silver_dragon.json146
-rw-r--r--parsed/creatures/young_white_dragon.json144
-rw-r--r--parsed/creatures/zombie.json92
-rw-r--r--parsed/spells/acid_arrow.json14
-rw-r--r--parsed/spells/acid_splash.json15
-rw-r--r--parsed/spells/aid.json15
-rw-r--r--parsed/spells/alarm.json15
-rw-r--r--parsed/spells/alter_self.json15
-rw-r--r--parsed/spells/animal_friendship.json16
-rw-r--r--parsed/spells/animal_messenger.json16
-rw-r--r--parsed/spells/animal_shapes.json14
-rw-r--r--parsed/spells/animate_dead.json15
-rw-r--r--parsed/spells/animate_objects.json16
-rw-r--r--parsed/spells/antilife_shell.json14
-rw-r--r--parsed/spells/antimagic_field.json15
-rw-r--r--parsed/spells/antipathysympathy.json15
-rw-r--r--parsed/spells/arcane_eye.json14
-rw-r--r--parsed/spells/arcane_hand.json14
-rw-r--r--parsed/spells/arcane_lock.json14
-rw-r--r--parsed/spells/arcane_sword.json15
-rw-r--r--parsed/spells/arcanist's_magic_aura.json14
-rw-r--r--parsed/spells/astral_projection.json16
-rw-r--r--parsed/spells/augury.json14
-rw-r--r--parsed/spells/awaken.json15
-rw-r--r--parsed/spells/bane.json15
-rw-r--r--parsed/spells/banishment.json18
-rw-r--r--parsed/spells/barkskin.json15
-rw-r--r--parsed/spells/beacon_of_hope.json14
-rw-r--r--parsed/spells/bestow_curse.json16
-rw-r--r--parsed/spells/black_tentacles.json14
-rw-r--r--parsed/spells/blade_barrier.json14
-rw-r--r--parsed/spells/bless.json15
-rw-r--r--parsed/spells/blight.json17
-rw-r--r--parsed/spells/blindnessdeafness.json17
-rw-r--r--parsed/spells/blink.json15
-rw-r--r--parsed/spells/blur.json15
-rw-r--r--parsed/spells/branding_smite.json14
-rw-r--r--parsed/spells/burning_hands.json15
-rw-r--r--parsed/spells/call_lightning.json14
-rw-r--r--parsed/spells/calm_emotions.json15
-rw-r--r--parsed/spells/chain_lightning.json15
-rw-r--r--parsed/spells/charm_person.json18
-rw-r--r--parsed/spells/chill_touch.json16
-rw-r--r--parsed/spells/circle_of_death.json16
-rw-r--r--parsed/spells/clairvoyance.json17
-rw-r--r--parsed/spells/clone.json14
-rw-r--r--parsed/spells/cloudkill.json15
-rw-r--r--parsed/spells/color_spray.json15
-rw-r--r--parsed/spells/command.json15
-rw-r--r--parsed/spells/commune.json14
-rw-r--r--parsed/spells/commune_with_nature.json15
-rw-r--r--parsed/spells/comprehend_languages.json17
-rw-r--r--parsed/spells/compulsion.json14
-rw-r--r--parsed/spells/cone_of_cold.json15
-rw-r--r--parsed/spells/confusion.json17
-rw-r--r--parsed/spells/conjure_animals.json15
-rw-r--r--parsed/spells/conjure_celestial.json14
-rw-r--r--parsed/spells/conjure_elemental.json15
-rw-r--r--parsed/spells/conjure_fey.json15
-rw-r--r--parsed/spells/conjure_minor_elementals.json15
-rw-r--r--parsed/spells/conjure_woodland_beings.json15
-rw-r--r--parsed/spells/contact_other_plane.json15
-rw-r--r--parsed/spells/contagion.json15
-rw-r--r--parsed/spells/contingency.json14
-rw-r--r--parsed/spells/continual_flame.json15
-rw-r--r--parsed/spells/control_water.json16
-rw-r--r--parsed/spells/control_weather.json16
-rw-r--r--parsed/spells/counterspell.json16
-rw-r--r--parsed/spells/create_food_and_water.json15
-rw-r--r--parsed/spells/create_or_destroy_water.json15
-rw-r--r--parsed/spells/create_undead.json16
-rw-r--r--parsed/spells/creation.json15
-rw-r--r--parsed/spells/cure_wounds.json18
-rw-r--r--parsed/spells/dancing_lights.json16
-rw-r--r--parsed/spells/darkness.json16
-rw-r--r--parsed/spells/darkvision.json17
-rw-r--r--parsed/spells/daylight.json18
-rw-r--r--parsed/spells/death_ward.json15
-rw-r--r--parsed/spells/delayed_blast_fireball.json15
-rw-r--r--parsed/spells/demiplane.json15
-rw-r--r--parsed/spells/detect_evil_and_good.json15
-rw-r--r--parsed/spells/detect_magic.json20
-rw-r--r--parsed/spells/detect_poison_and_disease.json17
-rw-r--r--parsed/spells/detect_thoughts.json16
-rw-r--r--parsed/spells/dimension_door.json17
-rw-r--r--parsed/spells/disguise_self.json16
-rw-r--r--parsed/spells/disintegrate.json15
-rw-r--r--parsed/spells/dispel_evil_and_good.json15
-rw-r--r--parsed/spells/dispel_magic.json20
-rw-r--r--parsed/spells/divination.json14
-rw-r--r--parsed/spells/divine_favor.json14
-rw-r--r--parsed/spells/divine_word.json14
-rw-r--r--parsed/spells/dominate_beast.json15
-rw-r--r--parsed/spells/dominate_monster.json17
-rw-r--r--parsed/spells/dominate_person.json16
-rw-r--r--parsed/spells/dream.json16
-rw-r--r--parsed/spells/druidcraft.json14
-rw-r--r--parsed/spells/earthquake.json16
-rw-r--r--parsed/spells/eldritch_blast.json14
-rw-r--r--parsed/spells/enhance_ability.json17
-rw-r--r--parsed/spells/enlargereduce.json15
-rw-r--r--parsed/spells/entangle.json14
-rw-r--r--parsed/spells/enthrall.json15
-rw-r--r--parsed/spells/etherealness.json18
-rw-r--r--parsed/spells/expeditious_retreat.json16
-rw-r--r--parsed/spells/eyebite.json17
-rw-r--r--parsed/spells/fabricate.json14
-rw-r--r--parsed/spells/faerie_fire.json15
-rw-r--r--parsed/spells/faithful_hound.json14
-rw-r--r--parsed/spells/false_life.json15
-rw-r--r--parsed/spells/fear.json17
-rw-r--r--parsed/spells/feather_fall.json16
-rw-r--r--parsed/spells/feeblemind.json17
-rw-r--r--parsed/spells/find_familiar.json14
-rw-r--r--parsed/spells/find_steed.json14
-rw-r--r--parsed/spells/find_the_path.json16
-rw-r--r--parsed/spells/find_traps.json16
-rw-r--r--parsed/spells/finger_of_death.json16
-rw-r--r--parsed/spells/fire_bolt.json15
-rw-r--r--parsed/spells/fire_shield.json14
-rw-r--r--parsed/spells/fire_storm.json16
-rw-r--r--parsed/spells/fireball.json15
-rw-r--r--parsed/spells/flame_blade.json14
-rw-r--r--parsed/spells/flame_strike.json14
-rw-r--r--parsed/spells/flaming_sphere.json15
-rw-r--r--parsed/spells/flesh_to_stone.json15
-rw-r--r--parsed/spells/floating_disk.json14
-rw-r--r--parsed/spells/fly.json16
-rw-r--r--parsed/spells/fog_cloud.json17
-rw-r--r--parsed/spells/forbiddance.json14
-rw-r--r--parsed/spells/forcecage.json16
-rw-r--r--parsed/spells/foresight.json17
-rw-r--r--parsed/spells/freedom_of_movement.json17
-rw-r--r--parsed/spells/freezing_sphere.json14
-rw-r--r--parsed/spells/gaseous_form.json16
-rw-r--r--parsed/spells/gate.json16
-rw-r--r--parsed/spells/geas.json18
-rw-r--r--parsed/spells/gentle_repose.json15
-rw-r--r--parsed/spells/giant_insect.json14
-rw-r--r--parsed/spells/glibness.json15
-rw-r--r--parsed/spells/globe_of_invulnerability.json15
-rw-r--r--parsed/spells/glyph_of_warding.json16
-rw-r--r--parsed/spells/goodberry.json15
-rw-r--r--parsed/spells/grease.json14
-rw-r--r--parsed/spells/greater_invisibility.json16
-rw-r--r--parsed/spells/greater_restoration.json16
-rw-r--r--parsed/spells/guardian_of_faith.json14
-rw-r--r--parsed/spells/guards_and_wards.json15
-rw-r--r--parsed/spells/guidance.json15
-rw-r--r--parsed/spells/guiding_bolt.json14
-rw-r--r--parsed/spells/gust_of_wind.json16
-rw-r--r--parsed/spells/hallow.json14
-rw-r--r--parsed/spells/hallucinatory_terrain.json17
-rw-r--r--parsed/spells/harm.json14
-rw-r--r--parsed/spells/haste.json15
-rw-r--r--parsed/spells/heal.json15
-rw-r--r--parsed/spells/healing_word.json16
-rw-r--r--parsed/spells/heat_metal.json15
-rw-r--r--parsed/spells/hellish_rebuke.json14
-rw-r--r--parsed/spells/heroes'_feast.json15
-rw-r--r--parsed/spells/heroism.json15
-rw-r--r--parsed/spells/hex.json14
-rw-r--r--parsed/spells/hideous_laughter.json15
-rw-r--r--parsed/spells/hold_monster.json17
-rw-r--r--parsed/spells/hold_person.json19
-rw-r--r--parsed/spells/holy_aura.json14
-rw-r--r--parsed/spells/hunter's_mark.json14
-rw-r--r--parsed/spells/hypnotic_pattern.json17
-rw-r--r--parsed/spells/ice_storm.json16
-rw-r--r--parsed/spells/identify.json15
-rw-r--r--parsed/spells/illusory_script.json16
-rw-r--r--parsed/spells/imprisonment.json15
-rw-r--r--parsed/spells/incendiary_cloud.json15
-rw-r--r--parsed/spells/inflict_wounds.json14
-rw-r--r--parsed/spells/insect_plague.json16
-rw-r--r--parsed/spells/instant_summons.json14
-rw-r--r--parsed/spells/invisibility.json17
-rw-r--r--parsed/spells/irresistible_dance.json15
-rw-r--r--parsed/spells/jump.json17
-rw-r--r--parsed/spells/knock.json16
-rw-r--r--parsed/spells/legend_lore.json16
-rw-r--r--parsed/spells/lesser_restoration.json18
-rw-r--r--parsed/spells/levitate.json15
-rw-r--r--parsed/spells/light.json17
-rw-r--r--parsed/spells/lightning_bolt.json15
-rw-r--r--parsed/spells/locate_animals_or_plants.json16
-rw-r--r--parsed/spells/locate_creature.json19
-rw-r--r--parsed/spells/locate_object.json19
-rw-r--r--parsed/spells/longstrider.json17
-rw-r--r--parsed/spells/mage_armor.json15
-rw-r--r--parsed/spells/mage_hand.json17
-rw-r--r--parsed/spells/magic_circle.json17
-rw-r--r--parsed/spells/magic_jar.json14
-rw-r--r--parsed/spells/magic_missile.json15
-rw-r--r--parsed/spells/magic_mouth.json15
-rw-r--r--parsed/spells/magic_weapon.json15
-rw-r--r--parsed/spells/magnificent_mansion.json15
-rw-r--r--parsed/spells/major_image.json17
-rw-r--r--parsed/spells/mass_cure_wounds.json16
-rw-r--r--parsed/spells/mass_heal.json14
-rw-r--r--parsed/spells/mass_healing_word.json14
-rw-r--r--parsed/spells/mass_suggestion.json17
-rw-r--r--parsed/spells/maze.json14
-rw-r--r--parsed/spells/meld_into_stone.json15
-rw-r--r--parsed/spells/mending.json18
-rw-r--r--parsed/spells/message.json16
-rw-r--r--parsed/spells/meteor_swarm.json15
-rw-r--r--parsed/spells/mind_blank.json15
-rw-r--r--parsed/spells/minor_illusion.json17
-rw-r--r--parsed/spells/mirage_arcane.json16
-rw-r--r--parsed/spells/mirror_image.json16
-rw-r--r--parsed/spells/mislead.json15
-rw-r--r--parsed/spells/misty_step.json16
-rw-r--r--parsed/spells/modify_memory.json15
-rw-r--r--parsed/spells/moonbeam.json14
-rw-r--r--parsed/spells/move_earth.json16
-rw-r--r--parsed/spells/nondetection.json16
-rw-r--r--parsed/spells/pass_without_trace.json15
-rw-r--r--parsed/spells/passwall.json14
-rw-r--r--parsed/spells/phantasmal_killer.json14
-rw-r--r--parsed/spells/phantom_steed.json14
-rw-r--r--parsed/spells/planar_ally.json14
-rw-r--r--parsed/spells/planar_binding.json17
-rw-r--r--parsed/spells/plane_shift.json18
-rw-r--r--parsed/spells/plant_growth.json16
-rw-r--r--parsed/spells/poison_spray.json17
-rw-r--r--parsed/spells/polymorph.json17
-rw-r--r--parsed/spells/power_word_kill.json17
-rw-r--r--parsed/spells/power_word_stun.json17
-rw-r--r--parsed/spells/prayer_of_healing.json14
-rw-r--r--parsed/spells/prestidigitation.json17
-rw-r--r--parsed/spells/prismatic_spray.json15
-rw-r--r--parsed/spells/prismatic_wall.json14
-rw-r--r--parsed/spells/private_sanctum.json14
-rw-r--r--parsed/spells/produce_flame.json14
-rw-r--r--parsed/spells/programmed_illusion.json15
-rw-r--r--parsed/spells/project_image.json15
-rw-r--r--parsed/spells/protection_from_energy.json18
-rw-r--r--parsed/spells/protection_from_evil_and_good.json17
-rw-r--r--parsed/spells/protection_from_poison.json17
-rw-r--r--parsed/spells/purify_food_and_drink.json16
-rw-r--r--parsed/spells/raise_dead.json16
-rw-r--r--parsed/spells/ray_of_enfeeblement.json15
-rw-r--r--parsed/spells/ray_of_frost.json15
-rw-r--r--parsed/spells/regenerate.json16
-rw-r--r--parsed/spells/reincarnate.json14
-rw-r--r--parsed/spells/remove_curse.json17
-rw-r--r--parsed/spells/resilient_sphere.json14
-rw-r--r--parsed/spells/resistance.json15
-rw-r--r--parsed/spells/resurrection.json15
-rw-r--r--parsed/spells/reverse_gravity.json16
-rw-r--r--parsed/spells/revivify.json15
-rw-r--r--parsed/spells/rope_trick.json14
-rw-r--r--parsed/spells/sacred_flame.json14
-rw-r--r--parsed/spells/sanctuary.json14
-rw-r--r--parsed/spells/scorching_ray.json15
-rw-r--r--parsed/spells/scrying.json18
-rw-r--r--parsed/spells/secret_chest.json14
-rw-r--r--parsed/spells/see_invisibility.json16
-rw-r--r--parsed/spells/seeming.json16
-rw-r--r--parsed/spells/sending.json16
-rw-r--r--parsed/spells/sequester.json14
-rw-r--r--parsed/spells/shapechange.json15
-rw-r--r--parsed/spells/shatter.json17
-rw-r--r--parsed/spells/shield.json15
-rw-r--r--parsed/spells/shield_of_faith.json15
-rw-r--r--parsed/spells/shillelagh.json14
-rw-r--r--parsed/spells/shocking_grasp.json15
-rw-r--r--parsed/spells/silence.json16
-rw-r--r--parsed/spells/silent_image.json16
-rw-r--r--parsed/spells/simulacrum.json14
-rw-r--r--parsed/spells/sleep.json16
-rw-r--r--parsed/spells/sleet_storm.json16
-rw-r--r--parsed/spells/slow.json15
-rw-r--r--parsed/spells/spare_the_dying.json14
-rw-r--r--parsed/spells/speak_with_animals.json16
-rw-r--r--parsed/spells/speak_with_dead.json15
-rw-r--r--parsed/spells/speak_with_plants.json16
-rw-r--r--parsed/spells/spider_climb.json16
-rw-r--r--parsed/spells/spike_growth.json15
-rw-r--r--parsed/spells/spirit_guardians.json14
-rw-r--r--parsed/spells/spiritual_weapon.json14
-rw-r--r--parsed/spells/stinking_cloud.json16
-rw-r--r--parsed/spells/stone_shape.json16
-rw-r--r--parsed/spells/stoneskin.json17
-rw-r--r--parsed/spells/storm_of_vengeance.json14
-rw-r--r--parsed/spells/suggestion.json17
-rw-r--r--parsed/spells/sunbeam.json16
-rw-r--r--parsed/spells/sunburst.json16
-rw-r--r--parsed/spells/symbol.json16
-rw-r--r--parsed/spells/tashas_hideous_laughter.json15
-rw-r--r--parsed/spells/telekinesis.json15
-rw-r--r--parsed/spells/telepathic_bond.json14
-rw-r--r--parsed/spells/teleport.json16
-rw-r--r--parsed/spells/teleportation_circle.json16
-rw-r--r--parsed/spells/thaumaturgy.json14
-rw-r--r--parsed/spells/thunderwave.json17
-rw-r--r--parsed/spells/time_stop.json15
-rw-r--r--parsed/spells/tiny_hut.json15
-rw-r--r--parsed/spells/tongues.json18
-rw-r--r--parsed/spells/transport_via_plants.json14
-rw-r--r--parsed/spells/tree_stride.json15
-rw-r--r--parsed/spells/true_polymorph.json16
-rw-r--r--parsed/spells/true_resurrection.json15
-rw-r--r--parsed/spells/true_seeing.json18
-rw-r--r--parsed/spells/true_strike.json17
-rw-r--r--parsed/spells/unseen_servant.json16
-rw-r--r--parsed/spells/vampiric_touch.json15
-rw-r--r--parsed/spells/vicious_mockery.json14
-rw-r--r--parsed/spells/wall_of_fire.json16
-rw-r--r--parsed/spells/wall_of_force.json14
-rw-r--r--parsed/spells/wall_of_ice.json14
-rw-r--r--parsed/spells/wall_of_stone.json16
-rw-r--r--parsed/spells/wall_of_thorns.json14
-rw-r--r--parsed/spells/warding_bond.json14
-rw-r--r--parsed/spells/water_breathing.json17
-rw-r--r--parsed/spells/water_walk.json17
-rw-r--r--parsed/spells/web.json15
-rw-r--r--parsed/spells/weird.json14
-rw-r--r--parsed/spells/wind_walk.json14
-rw-r--r--parsed/spells/wind_wall.json15
-rw-r--r--parsed/spells/wish.json15
-rw-r--r--parsed/spells/word_of_recall.json14
-rw-r--r--parsed/spells/zone_of_truth.json16
-rw-r--r--parsed/weapons/battleaxe.json28
-rw-r--r--parsed/weapons/blowgun.json29
-rw-r--r--parsed/weapons/club.json28
-rw-r--r--parsed/weapons/dagger.json30
-rw-r--r--parsed/weapons/dart.json29
-rw-r--r--parsed/weapons/flail.json26
-rw-r--r--parsed/weapons/glaive.json30
-rw-r--r--parsed/weapons/greataxe.json29
-rw-r--r--parsed/weapons/greatclub.json28
-rw-r--r--parsed/weapons/greatsword.json29
-rw-r--r--parsed/weapons/halberd.json30
-rw-r--r--parsed/weapons/hand_crossbow.json30
-rw-r--r--parsed/weapons/handaxe.json29
-rw-r--r--parsed/weapons/heavy_crossbow.json31
-rw-r--r--parsed/weapons/javelin.json28
-rw-r--r--parsed/weapons/lance.json30
-rw-r--r--parsed/weapons/light_crossbow.json30
-rw-r--r--parsed/weapons/light_hammer.json29
-rw-r--r--parsed/weapons/longbow.json30
-rw-r--r--parsed/weapons/longsword.json28
-rw-r--r--parsed/weapons/mace.json26
-rw-r--r--parsed/weapons/maul.json29
-rw-r--r--parsed/weapons/morningstar.json26
-rw-r--r--parsed/weapons/net.json30
-rw-r--r--parsed/weapons/pike.json30
-rw-r--r--parsed/weapons/quarterstaff.json28
-rw-r--r--parsed/weapons/rapier.json28
-rw-r--r--parsed/weapons/scimitar.json29
-rw-r--r--parsed/weapons/shortbow.json29
-rw-r--r--parsed/weapons/shortsword.json29
-rw-r--r--parsed/weapons/sickle.json28
-rw-r--r--parsed/weapons/sling.json28
-rw-r--r--parsed/weapons/spear.json29
-rw-r--r--parsed/weapons/trident.json29
-rw-r--r--parsed/weapons/war_pick.json26
-rw-r--r--parsed/weapons/warhammer.json28
-rw-r--r--parsed/weapons/whip.json29
-rw-r--r--src/armor.d3
-rw-r--r--src/cmd/cmd.d3
-rw-r--r--src/cmd/cmd_fsops.d3
-rw-r--r--src/cmd/cmd_manipulate.d6
-rw-r--r--src/cmd/cmd_query.d4
-rw-r--r--src/cmd/cmd_usage.d3
-rw-r--r--src/creature.d3
-rw-r--r--src/dice.d1
-rw-r--r--src/dmtool.d2
-rw-r--r--src/entry.d2
-rw-r--r--src/features/feature.d6
-rw-r--r--src/item.d2
-rw-r--r--src/rules.d2
-rw-r--r--src/settings.d1
-rw-r--r--src/spell.d2
-rw-r--r--src/spellcasting.d4
-rw-r--r--src/utils.d2
-rw-r--r--src/weapon.d3
709 files changed, 46381 insertions, 175 deletions
diff --git a/.gitignore b/.gitignore
index d3a0841..ae16e3f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,5 +2,3 @@ __pycache__/
*.o
test
dmtool
-out.json
-parsed/
diff --git a/Makefile b/Makefile
index f2f5416..252a8df 100644
--- a/Makefile
+++ b/Makefile
@@ -1,83 +1,38 @@
LIBS=libconfuse nlohmann_json
-override CXXFLAGS += -Wall -fPIC -std=c++20 `pkg-config $(LIBS) --cflags`
-override LDFLAGS += `pkg-config $(LIBS) --libs`
-CC=$(CXX)
-SOURCES=src/armor.cc src/cmd/cmd.cc src/cmd/cmd_fsops.cc src/cmd/cmd_manipulate.cc src/cmd/cmd_query.cc src/cmd/cmd_usage.cc src/creature.cc src/dice.cc src/dmtool.cc src/entry.cc src/features/feature.cc src/item.cc src/rules.cc src/settings.cc src/spell.cc src/spellcasting.cc src/utils.cc src/weapon.cc
-OBJECTS=$(SOURCES:.cc=.o)
-LIBRARY=
-EXECUTABLE=dmtool
-PREFIX := /usr
+export version = 1.0.0
+export soname_version = $(word 1, $(subst ., , $(version)))
+override CXXFLAGS += -MMD -Wall -std=c++20 `pkg-config $(LIBS) --cflags`
+override LDFLAGS += `pkg-config $(LIBS) --libs`
+SOURCES = $(wildcard src/*.cc) $(wildcard src/*/*.cc)
+OBJECTS = $(SOURCES:.cc=.o)
+DEPS = $(OBJECTS:.o=.d)
+EXECUTABLE = dmtool
+prefix ?= /usr
+exec_prefix ?= $(prefix)
+bindir ?= $(exec_prefix)/bin
+completions ?= `pkg-config --variable=completionsdir bash-completion`
-all: $(SOURCES) $(EXECUTABLE)
+$(EXECUTABLE): $(OBJECTS)
+ $(CXX) $(OBJECTS) -o $@ $(LDFLAGS)
+
+-include $(DEPS)
parsed: parser/scrapeToJson.py parser/utils.py parser/verified.txt
python parser/scrapeToJson.py
touch parsed/
install: $(EXECUTABLE)
- install -d $(DESTDIR)$(PREFIX)/share/dmtool/
- #cp -r parsed/* $(DESTDIR)$(PREFIX)/share/dmtool/
- install -d $(DESTDIR)$(PREFIX)/bin/
- install -m 755 $(EXECUTABLE) $(DESTDIR)$(PREFIX)/bin/
- install -m 644 files/dmtool.bash $(DESTDIR)`pkg-config --variable=completionsdir bash-completion`/dmtool
+ install -d $(DESTDIR)$(prefix)/share/dmtool/
+ cp -r parsed/* $(DESTDIR)$(prefix)/share/dmtool/
+ install -d $(DESTDIR)$(bindir)
+ install -m 755 $(EXECUTABLE) $(DESTDIR)$(bindir)
+ install -d $(DESTDIR)$(completions)
+ install -m 644 files/dmtool.bash $(DESTDIR)$(completions)/$(EXECUTABLE)
install -m 644 files/dmtool.conf $(DESTDIR)/etc/dmtool.conf
-$(EXECUTABLE): $(OBJECTS)
- $(CXX) $(OBJECTS) -o $@ $(LDFLAGS) $(LDLIBS)
-
-
-src/armor.o: src/armor.cc src/armor.h src/item.h src/entry.h \
- src/defines.h src/creature.h src/rules.h src/utils.h \
- src/features/feature.h
-src/cmd/cmd.o: src/cmd/cmd.cc src/cmd/cmd.h src/cmd/../rules.h \
- src/cmd/../utils.h src/cmd/../entry.h src/cmd/../defines.h \
- src/cmd/../settings.h
-src/cmd/cmd_fsops.o: src/cmd/cmd_fsops.cc src/cmd/cmd.h \
- src/cmd/../rules.h src/cmd/../utils.h src/cmd/../entry.h \
- src/cmd/../defines.h
-src/cmd/cmd_manipulate.o: src/cmd/cmd_manipulate.cc src/cmd/cmd.h \
- src/cmd/../rules.h src/cmd/../utils.h src/cmd/../entry.h \
- src/cmd/../defines.h src/cmd/../creature.h src/cmd/../features/feature.h \
- src/cmd/../item.h src/cmd/../spellcasting.h src/cmd/../spell.h \
- src/cmd/../settings.h src/cmd/../weapon.h src/cmd/../dice.h \
- src/cmd/../armor.h
-src/cmd/cmd_query.o: src/cmd/cmd_query.cc src/cmd/cmd.h \
- src/cmd/../rules.h src/cmd/../utils.h src/cmd/../entry.h \
- src/cmd/../defines.h src/cmd/../creature.h src/cmd/../features/feature.h \
- src/cmd/../item.h src/cmd/../dice.h src/cmd/../weapon.h
-src/cmd/cmd_usage.o: src/cmd/cmd_usage.cc src/cmd/cmd.h \
- src/cmd/../rules.h src/cmd/../utils.h src/cmd/../entry.h \
- src/cmd/../defines.h
-src/creature.o: src/creature.cc src/creature.h src/rules.h src/utils.h \
- src/entry.h src/defines.h src/features/feature.h src/item.h src/dice.h \
- src/weapon.h src/armor.h src/attack.h src/spellcasting.h src/spell.h
-src/dice.o: src/dice.cc src/dice.h
-src/dmtool.o: src/dmtool.cc src/cmd/cmd.h src/cmd/../rules.h \
- src/cmd/../utils.h src/cmd/../entry.h src/cmd/../defines.h
-src/entry.o: src/entry.cc src/entry.h src/defines.h src/utils.h \
- src/features/feature.h src/item.h src/spell.h src/creature.h src/rules.h
-src/features/feature.o: src/features/feature.cc src/features/feature.h \
- src/features/../entry.h src/features/../defines.h \
- src/features/../spellcasting.h src/features/../spell.h \
- src/features/../rules.h src/features/../utils.h src/features/../attack.h \
- src/features/../weapon.h src/features/../item.h \
- src/features/../creature.h
-src/item.o: src/item.cc src/item.h src/entry.h src/defines.h src/weapon.h \
- src/rules.h src/utils.h src/armor.h
-src/rules.o: src/rules.cc src/rules.h src/utils.h src/entry.h \
- src/defines.h
-src/settings.o: src/settings.cc src/settings.h
-src/spell.o: src/spell.cc src/spell.h src/entry.h src/defines.h \
- src/utils.h
-src/spellcasting.o: src/spellcasting.cc src/spellcasting.h \
- src/features/feature.h src/features/../entry.h src/features/../defines.h \
- src/spell.h src/rules.h src/utils.h src/defines.h src/creature.h \
- src/item.h
-src/utils.o: src/utils.cc src/utils.h src/entry.h src/defines.h \
- src/settings.h
-src/weapon.o: src/weapon.cc src/weapon.h src/item.h src/entry.h \
- src/defines.h src/rules.h src/utils.h src/creature.h \
- src/features/feature.h src/dice.h
-
+.PHONY: clean
clean:
- $(RM) $(LIBRARY) $(EXECUTABLE) $(TEST) $(OBJECTS)
+ $(RM) $(OBJECTS) $(DEPS) $(EXECUTABLE)
+
+test:
+ $(foreach var,$(.VARIABLES),$(info $(var) = $($(var))))
diff --git a/configure b/configure
deleted file mode 100755
index 61c60b2..0000000
--- a/configure
+++ /dev/null
@@ -1,101 +0,0 @@
-#!/bin/bash
-
-# These are the project-specific variables
-
-EXECUTABLE="dmtool"
-
-# e.g., foo.so
-LIBRARY=
-
-TEST=
-
-# List of libs as given to pkg-config
-LIBS="libconfuse nlohmann_json"
-
-CXXFLAGS="-Wall -fPIC -std=c++20"
-
-LDFLAGS=
-
-SOURCE_DIR="src"
-
-EXTRAS="
-parsed: parser/scrapeToJson.py parser/utils.py parser/verified.txt
- python parser/scrapeToJson.py
- touch parsed/
-"
-
-INSTALL='
-install: $(EXECUTABLE) parsed
- install -d $(DESTDIR)$(PREFIX)/share/dmtool/
- cp -r parsed/* $(DESTDIR)$(PREFIX)/share/dmtool/
- install -d $(DESTDIR)$(PREFIX)/bin/
- install -m 755 $(EXECUTABLE) $(DESTDIR)$(PREFIX)/bin/
- install -m 644 files/dmtool.bash $(DESTDIR)`pkg-config --variable=completionsdir bash-completion`/dmtool
- install -m 644 files/dmtool.conf $(DESTDIR)/etc/dmtool.conf
-'
-
-# Below here shouldn't need editing
-
-SOURCES=`find $SOURCE_DIR | grep .cc$ | tr '\n' ' '`
-
-PKG_CONFIG_CFLAGS=
-PKG_CONFIG_LIBS=
-if [ -n "$LIBS" ]; then
- PKG_CONFIG_CFLAGS='`pkg-config $(LIBS) --cflags`'
- PKG_CONFIG_LIBS='`pkg-config $(LIBS) --libs`'
-fi
-
-ALL="all: \$(SOURCES)"
-
-LIBRULE=
-if [ -n "$LIBRARY" ]; then
- LIBRULE="
-\$(LIBRARY): \$(OBJECTS)
- \$(CXX) \$(OBJECTS) -shared -o \$@ \$(LDFLAGS) \$(LDLIBS)
-"
- ALL="$ALL \$(LIBRARY)"
-fi
-
-EXERULE=
-if [ -n "$EXECUTABLE" ]; then
- EXERULE="
-\$(EXECUTABLE): \$(OBJECTS)
- \$(CXX) \$(OBJECTS) -o \$@ \$(LDFLAGS) \$(LDLIBS)
-"
- ALL="$ALL \$(EXECUTABLE)"
-fi
-
-TESTRULE=
-if [ -n "$TEST" ]; then
- TESTRULE="
-\$(TEST): \$(OBJECTS)
- \$(CXX) \$(OBJECTS) -o \$@ \$(LDFLAGS) \$(LDLIBS) -lcppunit
-
-test: \$(TEST)
- ./\$(TEST)
-"
- ALL="$ALL \$(TEST)"
-fi
-
-
-ORULES=$(for cc in `find $SOURCE_DIR | grep .cc$`; do g++ -MM -MT `cut -d'.' -f-1 <<< $cc`.o $cc; done)
-
-cat << EOF > Makefile
-LIBS=$LIBS
-override CXXFLAGS += $CXXFLAGS $PKG_CONFIG_CFLAGS
-override LDFLAGS += $LDFLAGS $PKG_CONFIG_LIBS
-CC=\$(CXX)
-SOURCES=$SOURCES
-OBJECTS=\$(SOURCES:.cc=.o)
-LIBRARY=$LIBRARY
-EXECUTABLE=$EXECUTABLE
-PREFIX := /usr
-
-$ALL
-$EXTRAS$INSTALL$LIBRULE$EXERULE$TESTRULE
-
-$ORULES
-
-clean:
- \$(RM) \$(LIBRARY) \$(EXECUTABLE) \$(TEST) \$(OBJECTS)
-EOF
diff --git a/parsed/armor/breastplate.json b/parsed/armor/breastplate.json
new file mode 100644
index 0000000..469c0bd
--- /dev/null
+++ b/parsed/armor/breastplate.json
@@ -0,0 +1,12 @@
+{
+ "entry": "item",
+ "type": "armor",
+ "name": "breastplate",
+ "cost": 40000,
+ "ac": 14,
+ "strength": 0,
+ "disadvantage": false,
+ "weight": 20.0,
+ "armor_type": "medium",
+ "text": ". Provided from PHB."
+} \ No newline at end of file
diff --git a/parsed/armor/chain_mail.json b/parsed/armor/chain_mail.json
new file mode 100644
index 0000000..25ef249
--- /dev/null
+++ b/parsed/armor/chain_mail.json
@@ -0,0 +1,12 @@
+{
+ "entry": "item",
+ "type": "armor",
+ "name": "chain mail",
+ "cost": 7500,
+ "ac": 16,
+ "strength": 13,
+ "disadvantage": true,
+ "weight": 55.0,
+ "armor_type": "heavy",
+ "text": ". Provided from PHB."
+} \ No newline at end of file
diff --git a/parsed/armor/chain_shirt.json b/parsed/armor/chain_shirt.json
new file mode 100644
index 0000000..416b438
--- /dev/null
+++ b/parsed/armor/chain_shirt.json
@@ -0,0 +1,12 @@
+{
+ "entry": "item",
+ "type": "armor",
+ "name": "chain shirt",
+ "cost": 5000,
+ "ac": 13,
+ "strength": 0,
+ "disadvantage": false,
+ "weight": 20.0,
+ "armor_type": "medium",
+ "text": ". Provided from PHB."
+} \ No newline at end of file
diff --git a/parsed/armor/half_plate.json b/parsed/armor/half_plate.json
new file mode 100644
index 0000000..be76111
--- /dev/null
+++ b/parsed/armor/half_plate.json
@@ -0,0 +1,12 @@
+{
+ "entry": "item",
+ "type": "armor",
+ "name": "half plate",
+ "cost": 75000,
+ "ac": 15,
+ "strength": 0,
+ "disadvantage": true,
+ "weight": 40.0,
+ "armor_type": "medium",
+ "text": ". Provided from PHB."
+} \ No newline at end of file
diff --git a/parsed/armor/hide.json b/parsed/armor/hide.json
new file mode 100644
index 0000000..3f4d3b6
--- /dev/null
+++ b/parsed/armor/hide.json
@@ -0,0 +1,12 @@
+{
+ "entry": "item",
+ "type": "armor",
+ "name": "hide",
+ "cost": 1000,
+ "ac": 12,
+ "strength": 0,
+ "disadvantage": false,
+ "weight": 12.0,
+ "armor_type": "medium",
+ "text": ". Provided from PHB."
+} \ No newline at end of file
diff --git a/parsed/armor/leather.json b/parsed/armor/leather.json
new file mode 100644
index 0000000..2d44dde
--- /dev/null
+++ b/parsed/armor/leather.json
@@ -0,0 +1,12 @@
+{
+ "entry": "item",
+ "type": "armor",
+ "name": "leather",
+ "cost": 1000,
+ "ac": 11,
+ "strength": 0,
+ "disadvantage": false,
+ "weight": 10.0,
+ "armor_type": "light",
+ "text": ". Provided from PHB."
+} \ No newline at end of file
diff --git a/parsed/armor/padded.json b/parsed/armor/padded.json
new file mode 100644
index 0000000..5cff6f3
--- /dev/null
+++ b/parsed/armor/padded.json
@@ -0,0 +1,12 @@
+{
+ "entry": "item",
+ "type": "armor",
+ "name": "padded",
+ "cost": 500,
+ "ac": 11,
+ "strength": 0,
+ "disadvantage": true,
+ "weight": 8.0,
+ "armor_type": "light",
+ "text": ". Provided from PHB."
+} \ No newline at end of file
diff --git a/parsed/armor/plate.json b/parsed/armor/plate.json
new file mode 100644
index 0000000..02a0921
--- /dev/null
+++ b/parsed/armor/plate.json
@@ -0,0 +1,12 @@
+{
+ "entry": "item",
+ "type": "armor",
+ "name": "plate",
+ "cost": 150000,
+ "ac": 18,
+ "strength": 15,
+ "disadvantage": true,
+ "weight": 65.0,
+ "armor_type": "heavy",
+ "text": ". Provided from PHB."
+} \ No newline at end of file
diff --git a/parsed/armor/ring_mail.json b/parsed/armor/ring_mail.json
new file mode 100644
index 0000000..b7cf691
--- /dev/null
+++ b/parsed/armor/ring_mail.json
@@ -0,0 +1,12 @@
+{
+ "entry": "item",
+ "type": "armor",
+ "name": "ring mail",
+ "cost": 3000,
+ "ac": 14,
+ "strength": 0,
+ "disadvantage": true,
+ "weight": 40.0,
+ "armor_type": "heavy",
+ "text": ". Provided from PHB."
+} \ No newline at end of file
diff --git a/parsed/armor/scale_mail.json b/parsed/armor/scale_mail.json
new file mode 100644
index 0000000..7704698
--- /dev/null
+++ b/parsed/armor/scale_mail.json
@@ -0,0 +1,12 @@
+{
+ "entry": "item",
+ "type": "armor",
+ "name": "scale mail",
+ "cost": 5000,
+ "ac": 14,
+ "strength": 0,
+ "disadvantage": true,
+ "weight": 45.0,
+ "armor_type": "medium",
+ "text": ". Provided from PHB."
+} \ No newline at end of file
diff --git a/parsed/armor/shield.json b/parsed/armor/shield.json
new file mode 100644
index 0000000..419006e
--- /dev/null
+++ b/parsed/armor/shield.json
@@ -0,0 +1,12 @@
+{
+ "entry": "item",
+ "type": "armor",
+ "name": "shield",
+ "cost": 1000,
+ "ac": 2,
+ "strength": 0,
+ "disadvantage": false,
+ "weight": 6.0,
+ "armor_type": "shield",
+ "text": ". Provided from PHB."
+} \ No newline at end of file
diff --git a/parsed/armor/splint.json b/parsed/armor/splint.json
new file mode 100644
index 0000000..216226f
--- /dev/null
+++ b/parsed/armor/splint.json
@@ -0,0 +1,12 @@
+{
+ "entry": "item",
+ "type": "armor",
+ "name": "splint",
+ "cost": 20000,
+ "ac": 17,
+ "strength": 15,
+ "disadvantage": true,
+ "weight": 60.0,
+ "armor_type": "heavy",
+ "text": ". Provided from PHB."
+} \ No newline at end of file
diff --git a/parsed/armor/studded_leather.json b/parsed/armor/studded_leather.json
new file mode 100644
index 0000000..c69ec88
--- /dev/null
+++ b/parsed/armor/studded_leather.json
@@ -0,0 +1,12 @@
+{
+ "entry": "item",
+ "type": "armor",
+ "name": "studded leather",
+ "cost": 4500,
+ "ac": 12,
+ "strength": 0,
+ "disadvantage": false,
+ "weight": 13.0,
+ "armor_type": "light",
+ "text": ". Provided from PHB."
+} \ No newline at end of file
diff --git a/parsed/creatures/aboleth.json b/parsed/creatures/aboleth.json
new file mode 100644
index 0000000..6e7f9d6
--- /dev/null
+++ b/parsed/creatures/aboleth.json
@@ -0,0 +1,161 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft., swim 40 ft.",
+ "saves": [
+ "con",
+ "int",
+ "wis"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "Deep Speech, telepathy 120 ft.",
+ "skills": {
+ "History": 2,
+ "Perception": 2
+ },
+ "hit_die_count": 18,
+ "hit_die_sides": 10,
+ "name": "Aboleth",
+ "type": "abberation",
+ "cr": 10.0,
+ "size": "Large",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 21,
+ "dex": 9,
+ "con": 15,
+ "int": 18,
+ "wis": 15,
+ "cha": 18
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The aboleth can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "mucous cloud",
+ "text": "While underwater, the aboleth is surrounded by transformative mucus. A creature that touches the aboleth or that hits it with a melee attack while within 5 feet of it must make a DC 14 Constitution saving throw. On a failure, the creature is diseased for 1d4 hours. The diseased creature can breathe only underwater.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "probing telepathy",
+ "text": "If a creature communicates telepathically with the aboleth, the aboleth learns the creature's greatest desires if the aboleth can see the creature.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The aboleth makes three tentacle attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "tentacle",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tentacle",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature, it must succeed on a DC 14 Constitution saving throw or become diseased. The disease has no effect for 1 minute and can be removed by any magic that cures disease. After 1 minute, the diseased creature's skin becomes translucent and slimy, the creature can't regain hit points unless it is underwater, and the disease can be removed only by heal or another disease-\u00ad\u2010curing spell of 6th level or higher. When the creature is outside a body of water, it takes 6 (1d12) acid damage every 10 minutes unless moisture is applied to the skin before 10 minutes have passed.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "enslave (3/day)",
+ "text": "The aboleth targets one creature it can see within 30 feet of it. The target must succeed on a DC 14 Wisdom saving throw or be magically charmed by the aboleth until the aboleth dies or until it is on a different plane of existence from the target. The charmed target is under the aboleth's control and can't take reactions, and the aboleth and the target can communicate telepathically with each other over any distance. \nWhenever the charmed target takes damage, the target can repeat the saving throw. On a success, the effect ends. No more than once every 24 hours, the target can also repeat the saving throw when it is at least 1 mile away from the aboleth.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "detect",
+ "text": "The aboleth makes a Wisdom (Perception) check.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "tail swipe",
+ "text": "The aboleth makes one tail attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "psychic drain",
+ "text": "(Costs 2 Actions). One creature charmed by the aboleth takes 10 (3d6) psychic damage, and the aboleth regains hit points equal to the damage the creature takes.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 4
+} \ No newline at end of file
diff --git a/parsed/creatures/acolyte.json b/parsed/creatures/acolyte.json
new file mode 100644
index 0000000..0f21d04
--- /dev/null
+++ b/parsed/creatures/acolyte.json
@@ -0,0 +1,76 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "any one language (usually Common)",
+ "skills": {
+ "Medicine": 1,
+ "Religion": 1
+ },
+ "hit_die_count": 2,
+ "hit_die_sides": 8,
+ "name": "Acolyte",
+ "type": "humanoid (any race)",
+ "cr": 0.25,
+ "size": "Medium",
+ "alignment": "any alignment",
+ "stats": {
+ "str": 10,
+ "dex": 10,
+ "con": 10,
+ "int": 10,
+ "wis": 14,
+ "cha": 11
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "club",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Acolytes are junior members of a clergy, usually answerable to a priest. They perform a variety of functions in a temple and are granted minor spellcasting power by their deities.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The acolyte is a 1st-level spellcaster. Its spellcasting ability is Wisdom (spell save DC 12, +4 to hit with spell attacks). The acolyte has following cleric spells prepared: \nCantrips (at will): **_light, sacred flame, thaumaturgy_** \n1st level (3 slots): **_bless, cure wounds, sanctuary_**",
+ "type": "spells",
+ "spellcasting_ability": "wis",
+ "innate": false,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "light",
+ "sacred flame",
+ "thaumaturgy"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "bless",
+ "cure wounds",
+ "sanctuary"
+ ]
+ }
+ ]
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/adult_black_dragon.json b/parsed/creatures/adult_black_dragon.json
new file mode 100644
index 0000000..e16381e
--- /dev/null
+++ b/parsed/creatures/adult_black_dragon.json
@@ -0,0 +1,206 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., fly 80 ft., swim 40 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "acid",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 60 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 17,
+ "hit_die_sides": 12,
+ "name": "Adult Black Dragon",
+ "type": "dragon",
+ "cr": 14.0,
+ "size": "Huge",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 23,
+ "dex": 14,
+ "con": 21,
+ "int": 14,
+ "wis": 13,
+ "cha": 17
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 19
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The dragon can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "legendary resistance (3/day)",
+ "text": "If the dragon fails a saving throw, it can choose to succeed instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon can use its Frightful Presence. It then makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "acid",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "frightful presence",
+ "text": "Each creature of the dragon's choice that is within 120 feet of the dragon and aware of it must succeed on a DC 16 Wisdom saving throw or become frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the dragon's Frightful Presence for the next 24 hours.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "acid breath (recharge 5\u20136)",
+ "text": "The dragon exhales acid in a 60-\u00ad\u2010foot line that is 5 feet wide. Each creature in that line must make a DC 18 Dexterity saving throw, taking 54 (12d8) acid damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "detect",
+ "text": "The dragon makes a Wisdom (Perception) check.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "tail attack",
+ "text": "The dragon makes a tail attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "wing attack (costs 2 actions)",
+ "text": "The dragon beats its wings. Each creature within 10 feet of the dragon must succeed on a DC 19 Dexterity saving throw or take 13 (2d6 + 6) bludgeoning damage and be knocked prone. The dragon can then fly up to half its flying speed.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 5
+} \ No newline at end of file
diff --git a/parsed/creatures/adult_blue_dragon.json b/parsed/creatures/adult_blue_dragon.json
new file mode 100644
index 0000000..76a9ddd
--- /dev/null
+++ b/parsed/creatures/adult_blue_dragon.json
@@ -0,0 +1,200 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., burrow 30 ft., fly 80 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "lightning",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 60 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 18,
+ "hit_die_sides": 12,
+ "name": "Adult Blue Dragon",
+ "type": "dragon",
+ "cr": 16.0,
+ "size": "Huge",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 25,
+ "dex": 10,
+ "con": 23,
+ "int": 16,
+ "wis": 15,
+ "cha": 19
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 19
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "legendary resistance (3/day)",
+ "text": "If the dragon fails a saving throw, it can choose to succeed instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon can use its Frightful Presence. It then makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "lightning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "frightful presence",
+ "text": "Each creature of the dragon's choice that is within 120 feet of the dragon and aware of it must succeed on a DC 17 Wisdom saving throw or become frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the dragon's Frightful Presence for the next 24 hours.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "lightning breath (recharge 5\u20136)",
+ "text": "The dragon exhales lightning in a 90-\u00adfoot line that is 5 feet wide. Each creature in that line must make a DC 19 Dexterity saving throw, taking 66 (12d10) lightning damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "detect",
+ "text": "The dragon makes a Wisdom (Perception) check.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "tail attack",
+ "text": "The dragon makes a tail attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "wing attack (costs 2 actions)",
+ "text": "The dragon beats its wings. Each creature within 10 feet of the dragon must succeed on a DC 20 Dexterity saving throw or take 14 (2d6 + 7) bludgeoning damage and be knocked prone. The dragon can then fly up to half its flying speed.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 5
+} \ No newline at end of file
diff --git a/parsed/creatures/adult_brass_dragon.json b/parsed/creatures/adult_brass_dragon.json
new file mode 100644
index 0000000..fe1b1fe
--- /dev/null
+++ b/parsed/creatures/adult_brass_dragon.json
@@ -0,0 +1,208 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., burrow 30 ft., fly 80 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 60 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "History": 1,
+ "Perception": 2,
+ "Persuasion": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 15,
+ "hit_die_sides": 12,
+ "name": "Adult Brass Dragon",
+ "type": "dragon",
+ "cr": 13.0,
+ "size": "Huge",
+ "alignment": "chaotic good",
+ "stats": {
+ "str": 23,
+ "dex": 10,
+ "con": 21,
+ "int": 14,
+ "wis": 13,
+ "cha": 17
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 18
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "legendary resistance (3/day)",
+ "text": "If the dragon fails a saving throw, it can choose to succeed instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon can use its Frightful Presence. It then makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "frightful presence",
+ "text": "Each creature of the dragon's choice that is within 120 feet of the dragon and aware of it must succeed on a DC 16 Wisdom saving throw or become frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the dragon's Frightful Presence for the next 24 hours.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "breath weapons (recharge 5\u20136)",
+ "text": "The dragon uses one of the following breath weapons.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "fire breath",
+ "text": "The dragon exhales fire in an 60-foot line that is 5 feet wide. Each creature in that line must make a DC 18 Dexterity saving throw, taking 45 (13d6) fire damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "sleep breath",
+ "text": "The dragon exhales sleep gas in a 60-foot cone. Each creature in that area must succeed on a DC 18 Constitution saving throw or fall unconscious for 10 minutes. This effect ends for a creature if the creature takes damage or someone uses an action to wake it.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "detect",
+ "text": "The dragon makes a Wisdom (Perception) check.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "tail attack",
+ "text": "The dragon makes a tail attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "wing attack (costs 2 actions)",
+ "text": "The dragon beats its wings. Each creature within 10 feet of the dragon must succeed on a DC 19 Dexterity saving throw or take 13 (2d6 + 6) bludgeoning damage and be knocked prone. The dragon can then fly up to half its flying speed.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 5
+} \ No newline at end of file
diff --git a/parsed/creatures/adult_bronze_dragon.json b/parsed/creatures/adult_bronze_dragon.json
new file mode 100644
index 0000000..c618ffc
--- /dev/null
+++ b/parsed/creatures/adult_bronze_dragon.json
@@ -0,0 +1,219 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., fly 80 ft., swim 40 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "lightning",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 60 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Insight": 1,
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 17,
+ "hit_die_sides": 12,
+ "name": "Adult Bronze Dragon",
+ "type": "dragon",
+ "cr": 15.0,
+ "size": "Huge",
+ "alignment": "lawful good",
+ "stats": {
+ "str": 25,
+ "dex": 10,
+ "con": 23,
+ "int": 16,
+ "wis": 15,
+ "cha": 19
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 19
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The dragon can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "legendary resistance (3/day)",
+ "text": "If the dragon fails a saving throw, it can choose to succeed instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon can use its Frightful Presence. It then makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "frightful presence",
+ "text": "Each creature of the dragon's choice that is within 120 feet of the dragon and aware of it must succeed on a DC 17 Wisdom saving throw or become frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the dragon's Frightful Presence for the next 24 hours.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "breath weapons (recharge 5\u20136)",
+ "text": "The dragon uses one of the following breath weapons.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "lightning breath",
+ "text": "The dragon exhales lightning in a 90- foot line that is 5 feet wide. Each creature in that line must make a DC 19 Dexterity saving throw, taking 66 (12d10) lightning damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "repulsion breath",
+ "text": "The dragon exhales repulsion energy in a 30-foot cone. Each creature in that area must succeed on a DC 19 Strength saving throw. On a failed save, the creature is pushed 60 feet away from the dragon.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "change shape",
+ "text": "The dragon magically polymorphs into a humanoid or beast that has a challenge rating no higher than its own, or back into its true form. It reverts to its true form if it dies. Any equipment it is wearing or carrying is absorbed or borne by the new form (the dragon's choice). \nIn a new form, the dragon retains its alignment, hit points, Hit Dice, ability to speak, proficiencies, Legendary Resistance, lair actions, and Intelligence, Wisdom, and Charisma scores, as well as this action. Its statistics and capabilities are otherwise replaced by those of the new form, except any class features or legendary actions of that form.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "detect",
+ "text": "The dragon makes a Wisdom (Perception) check.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "tail attack",
+ "text": "The dragon makes a tail attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "wing attack (costs 2 actions)",
+ "text": "The dragon beats its wings. Each creature within 10 feet of the dragon must succeed on a DC 20 Dexterity saving throw or take 14 (2d6 + 7) bludgeoning damage and be knocked prone. The dragon can then fly up to half its flying speed.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 5
+} \ No newline at end of file
diff --git a/parsed/creatures/adult_copper_dragon.json b/parsed/creatures/adult_copper_dragon.json
new file mode 100644
index 0000000..a581673
--- /dev/null
+++ b/parsed/creatures/adult_copper_dragon.json
@@ -0,0 +1,207 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., climb 40 ft., fly 80 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "acid",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 60 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Deception": 1,
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 16,
+ "hit_die_sides": 12,
+ "name": "Adult Copper Dragon",
+ "type": "dragon",
+ "cr": 14.0,
+ "size": "Huge",
+ "alignment": "chaotic good",
+ "stats": {
+ "str": 23,
+ "dex": 12,
+ "con": 21,
+ "int": 18,
+ "wis": 15,
+ "cha": 17
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 18
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "legendary resistance (3/day)",
+ "text": ") If the dragon fails a saving throw, it can choose to succeed instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon can use its Frightful Presence. It then makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "frightful presence",
+ "text": "Each creature of the dragon's choice that is within 120 feet of the dragon and aware of it must succeed on a DC 16 Wisdom saving throw or become frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the dragon's Frightful Presence for the next 24 hours.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "breath weapons (recharge 5\u20136)",
+ "text": "The dragon uses one of the following breath weapons.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "acid breath",
+ "text": "The dragon exhales acid in an 60-foot line that is 5 feet wide. Each creature in that line must make a DC 18 Dexterity saving throw, taking 54 (12d8) acid damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "slowing breath",
+ "text": "The dragon exhales gas in a 60-foot cone. Each creature in that area must succeed on a DC 18 Constitution saving throw. On a failed save, the creature can't use reactions, its speed is halved, and it can't make more than one attack on its turn. In addition, the creature can use either an action or a bonus action on its turn, but not both. These effects last for 1 minute. The creature can repeat the saving throw at the end of each of its turns, ending the effect on itself with a successful save.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "detect",
+ "text": "The dragon makes a Wisdom (Perception) check.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "tail attack",
+ "text": "The dragon makes a tail attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "wing attack (costs 2 actions)",
+ "text": "The dragon beats its wings. Each creature within 10 feet of the dragon must succeed on a DC 19 Dexterity saving throw or take 13 (2d6 + 6) bludgeoning damage and be knocked prone. The dragon can then fly up to half its flying speed.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 5
+} \ No newline at end of file
diff --git a/parsed/creatures/adult_gold_dragon.json b/parsed/creatures/adult_gold_dragon.json
new file mode 100644
index 0000000..a3a3a71
--- /dev/null
+++ b/parsed/creatures/adult_gold_dragon.json
@@ -0,0 +1,220 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., fly 80 ft., swim 40 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 60 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Insight": 1,
+ "Perception": 2,
+ "Persuasion": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 19,
+ "hit_die_sides": 12,
+ "name": "Adult Gold Dragon",
+ "type": "dragon",
+ "cr": 17.0,
+ "size": "Huge",
+ "alignment": "lawful good",
+ "stats": {
+ "str": 27,
+ "dex": 14,
+ "con": 25,
+ "int": 16,
+ "wis": 15,
+ "cha": 24
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 19
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The dragon can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "legendary resistance (3/day)",
+ "text": "If the dragon fails a saving throw, it can choose to succeed instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon can use its Frightful Presence. It then makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "frightful presence",
+ "text": "Each creature of the dragon's choice that is within 120 feet of the dragon and aware of it must succeed on a DC 21 Wisdom saving throw or become frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the dragon's Frightful Presence for the next 24 hours.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "breath weapons (recharge 5\u20136)",
+ "text": "The dragon uses one of the following breath weapons.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "fire breath",
+ "text": "The dragon exhales fire in a 60-foot cone. Each creature in that area must make a DC 21 Dexterity saving throw, taking 66 (12d10) fire damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "weakening breath",
+ "text": "The dragon exhales gas in a 60-foot cone. Each creature in that area must succeed on a DC 21 Strength saving throw or have disadvantage on Strength-based attack rolls, Strength checks, and Strength saving throws for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "change shape",
+ "text": "The dragon magically polymorphs into a humanoid or beast that has a challenge rating no higher than its own, or back into its true form. It reverts to its true form if it dies. Any equipment it is wearing or carrying is absorbed or borne by the new form (the dragon's choice). \nIn a new form, the dragon retains its alignment, hit points, Hit Dice, ability to speak, proficiencies, Legendary Resistance, lair actions, and Intelligence, Wisdom, and Charisma scores, as well as this action. Its statistics and capabilities are otherwise replaced by those of the new form, except any class features or legendary actions of that form.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "detect",
+ "text": "The dragon makes a Wisdom (Perception) check.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "tail attack",
+ "text": "The dragon makes a tail attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "wing attack (costs 2 actions)",
+ "text": "The dragon beats its wings. Each creature within 10 feet of the dragon must succeed on a DC 22 Dexterity saving throw or take 15 (2d6 + 8) bludgeoning damage and be knocked prone. The dragon can then fly up to half its flying speed.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 6
+} \ No newline at end of file
diff --git a/parsed/creatures/adult_green_dragon.json b/parsed/creatures/adult_green_dragon.json
new file mode 100644
index 0000000..5261a6d
--- /dev/null
+++ b/parsed/creatures/adult_green_dragon.json
@@ -0,0 +1,214 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., fly 80 ft., swim 40 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "blindsight 60 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Deception": 1,
+ "Insight": 1,
+ "Perception": 2,
+ "Persuasion": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 18,
+ "hit_die_sides": 12,
+ "name": "Adult Green Dragon",
+ "type": "dragon",
+ "cr": 15.0,
+ "size": "Huge",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 23,
+ "dex": 12,
+ "con": 21,
+ "int": 18,
+ "wis": 15,
+ "cha": 17
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 19
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The dragon can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "legendary resistance (3/day)",
+ "text": "If the dragon fails a saving throw, it can choose to succeed instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon can use its Frightful Presence. It then makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "poison",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "frightful presence",
+ "text": "Each creature of the dragon's choice that is within 120 feet of the dragon and aware of it must succeed on a DC 16 Wisdom saving throw or become frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the dragon's Frightful Presence for the next 24 hours.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "poison breath (recharge 5\u20136)",
+ "text": "The dragon exhales poisonous gas in a 60\u2010foot cone. Each creature in that area must make a DC 18 Constitution saving throw, taking 56 (16d6) poison damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "detect",
+ "text": "The dragon makes a Wisdom (Perception) check.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "tail attack",
+ "text": "The dragon makes a tail attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "wing attack (costs 2 actions)",
+ "text": "The dragon beats its wings. Each creature within 10 feet of the dragon must succeed on a DC 19 Dexterity saving throw or take 13 (2d6 + 6) bludgeoning damage and be knocked prone. The dragon can then fly up to half its flying speed.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 5
+} \ No newline at end of file
diff --git a/parsed/creatures/adult_red_dragon.json b/parsed/creatures/adult_red_dragon.json
new file mode 100644
index 0000000..4cc4118
--- /dev/null
+++ b/parsed/creatures/adult_red_dragon.json
@@ -0,0 +1,200 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., climb 40 ft., fly 80 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 60 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 19,
+ "hit_die_sides": 12,
+ "name": "Adult Red Dragon",
+ "type": "dragon",
+ "cr": 17.0,
+ "size": "Huge",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 27,
+ "dex": 10,
+ "con": 25,
+ "int": 16,
+ "wis": 13,
+ "cha": 21
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 19
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "legendary resistance (3/day)",
+ "text": "If the dragon fails a saving throw, it can choose to succeed instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon can use its Frightful Presence. It then makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "fire",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "frightful presence",
+ "text": "Each creature of the dragon's choice that is within 120 feet of the dragon and aware of it must succeed on a DC 19 Wisdom saving throw or become frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the dragon's Frightful Presence for the next 24 hours.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "fire breath (recharge 5\u20136)",
+ "text": "The dragon exhales fire in a 60\u2010foot cone. Each creature in that area must make a DC 21 Dexterity saving throw, taking 63 (18d6) fire damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "detect",
+ "text": "The dragon makes a Wisdom (Perception) check.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "tail attack",
+ "text": "The dragon makes a tail attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "wing attack (costs 2 actions)",
+ "text": "The dragon beats its wings. Each creature within 10 feet of the dragon must succeed on a DC 22 Dexterity saving throw or take 15 (2d6 + 8) bludgeoning damage and be knocked prone. The dragon can then fly up to half its flying speed.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 6
+} \ No newline at end of file
diff --git a/parsed/creatures/adult_silver_dragon.json b/parsed/creatures/adult_silver_dragon.json
new file mode 100644
index 0000000..ac05e20
--- /dev/null
+++ b/parsed/creatures/adult_silver_dragon.json
@@ -0,0 +1,214 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., fly 80 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 60 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Arcana": 1,
+ "History": 1,
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 18,
+ "hit_die_sides": 12,
+ "name": "Adult Silver Dragon",
+ "type": "dragon",
+ "cr": 16.0,
+ "size": "Huge",
+ "alignment": "lawful good",
+ "stats": {
+ "str": 27,
+ "dex": 10,
+ "con": 25,
+ "int": 16,
+ "wis": 13,
+ "cha": 21
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 19
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "legendary resistance (3/day)",
+ "text": "If the dragon fails a saving throw, it can choose to succeed instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon can use its Frightful Presence. It then makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "frightful presence",
+ "text": "Each creature of the dragon's choice that is within 120 feet of the dragon and aware of it must succeed on a DC 18 Wisdom saving throw or become frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the dragon's Frightful Presence for the next 24 hours.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "breath weapons (recharge 5\u20136)",
+ "text": "The dragon uses one of the following breath weapons.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "cold breath",
+ "text": "The dragon exhales an icy blast in a 60-foot cone. Each creature in that area must make a DC 20 Constitution saving throw, taking 58 (13d8) cold damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "paralyzing breath",
+ "text": "The dragon exhales paralyzing gas in a 60-foot cone. Each creature in that area must succeed on a DC 20 Constitution saving throw or be paralyzed for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "change shape",
+ "text": "The dragon magically polymorphs into a humanoid or beast that has a challenge rating no higher than its own, or back into its true form. It reverts to its true form if it dies. Any equipment it is wearing or carrying is absorbed or borne by the new form (the dragon's choice). \nIn a new form, the dragon retains its alignment, hit points, Hit Dice, ability to speak, proficiencies, Legendary Resistance, lair actions, and Intelligence, Wisdom, and Charisma scores, as well as this action. Its statistics and capabilities are otherwise replaced by those of the new form, except any class features or legendary actions of that form.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "detect",
+ "text": "The dragon makes a Wisdom (Perception) check.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "tail attack",
+ "text": "The dragon makes a tail attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "wing attack (costs 2 actions)",
+ "text": "The dragon beats its wings. Each creature within 10 feet of the dragon must succeed on a DC 21 Dexterity saving throw or take 15 (2d6 + 8) bludgeoning damage and be knocked prone. The dragon can then fly up to half its flying speed.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 5
+} \ No newline at end of file
diff --git a/parsed/creatures/adult_white_dragon.json b/parsed/creatures/adult_white_dragon.json
new file mode 100644
index 0000000..a1d96bf
--- /dev/null
+++ b/parsed/creatures/adult_white_dragon.json
@@ -0,0 +1,206 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., burrow 30 ft., fly 80 ft., swim 40 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 60 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 16,
+ "hit_die_sides": 12,
+ "name": "Adult White Dragon",
+ "type": "dragon",
+ "cr": 13.0,
+ "size": "Huge",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 22,
+ "dex": 10,
+ "con": 22,
+ "int": 8,
+ "wis": 12,
+ "cha": 12
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 18
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "ice walk",
+ "text": "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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "legendary resistance (3/day)",
+ "text": "If the dragon fails a saving throw, it can choose to succeed instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon can use its Frightful Presence. It then makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "cold",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "frightful presence",
+ "text": "Each creature of the dragon's choice that is within 120 feet of the dragon and aware of it must succeed on a DC 14 Wisdom saving throw or become frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the dragon's Frightful Presence for the next 24 hours.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "cold breath (recharge 5\u20136)",
+ "text": "The dragon exhales an icy blast in a 60-foot cone. Each creature in that area must make a DC 19 Constitution saving throw, taking 54 (12d8) cold damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "detect",
+ "text": "The dragon makes a Wisdom (Perception) check.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "tail attack",
+ "text": "The dragon makes a tail attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "wing attack (costs 2 actions)",
+ "text": "The dragon beats its wings. Each creature within 10 feet of the dragon must succeed on a DC 19 Dexterity saving throw or take 13 (2d6 + 6) bludgeoning damage and be knocked prone. The dragon can then fly up to half its flying speed.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 5
+} \ No newline at end of file
diff --git a/parsed/creatures/air_elemental.json b/parsed/creatures/air_elemental.json
new file mode 100644
index 0000000..ca91697
--- /dev/null
+++ b/parsed/creatures/air_elemental.json
@@ -0,0 +1,159 @@
+{
+ "entry": "creatures",
+ "speed": "0 ft., fly 90 ft. (hover)",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "lightning",
+ "qualifiers": []
+ },
+ {
+ "type": "thunder",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "grappled",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "petrified",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ },
+ {
+ "type": "prone",
+ "qualifiers": []
+ },
+ {
+ "type": "restrained",
+ "qualifiers": []
+ },
+ {
+ "type": "unconscious",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Auran",
+ "skills": {},
+ "hit_die_count": 12,
+ "hit_die_sides": 10,
+ "name": "Air Elemental",
+ "type": "elemental",
+ "cr": 5.0,
+ "size": "Large",
+ "alignment": "neutral",
+ "stats": {
+ "str": 14,
+ "dex": 20,
+ "con": 14,
+ "int": 6,
+ "wis": 10,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "air form",
+ "text": "The elemental can enter a hostile creature's space and stop there. It can move through a space as narrow as 1 inch wide without squeezing.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The elemental makes two slam attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "slam",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "slam",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "whirlwind (recharge 4\u20136)",
+ "text": "Each creature in the elemental's space must make a DC 13 Strength saving throw. On a failure, a target takes 15 (3d8 + 2) bludgeoning damage and is flung up 20 feet away from the elemental in a random direction and knocked prone. If a thrown target strikes an object, such as a wall or floor, the target takes 3 (1d6) bludgeoning damage for every 10 feet it was thrown. If the target is thrown at another creature, that creature must succeed on a DC 13 Dexterity saving throw or take the same damage and be knocked prone. \nIf the saving throw is successful, the target takes half the bludgeoning damage and isn't flung away or knocked prone.",
+ "type": "action"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/ancient_black_dragon.json b/parsed/creatures/ancient_black_dragon.json
new file mode 100644
index 0000000..f60e781
--- /dev/null
+++ b/parsed/creatures/ancient_black_dragon.json
@@ -0,0 +1,206 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., fly 80 ft., swim 40 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "acid",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 60 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 21,
+ "hit_die_sides": 20,
+ "name": "Ancient Black Dragon",
+ "type": "dragon",
+ "cr": 21.0,
+ "size": "Gargantuan",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 27,
+ "dex": 14,
+ "con": 25,
+ "int": 16,
+ "wis": 15,
+ "cha": 19
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 22
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The dragon can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "legendary resistance (3/day)",
+ "text": "If the dragon fails a saving throw, it can choose to succeed instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon can use its Frightful Presence. It then makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "acid",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 20,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "frightful presence",
+ "text": "Each creature of the dragon's choice that is within 120 feet of the dragon and aware of it must succeed on a DC 19 Wisdom saving throw or become frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the dragon's Frightful Presence for the next 24 hours.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "acid breath (recharge 5\u20136)",
+ "text": "The dragon exhales acid in a 90-\u00ad\u2010foot line that is 10 feet wide. Each creature in that line must make a DC 22 Dexterity saving throw, taking 67 (15d8) acid damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "detect",
+ "text": "The dragon makes a Wisdom (Perception) check.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "tail attack",
+ "text": "The dragon makes a tail attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "wing attack (costs 2 actions)",
+ "text": "The dragon beats its wings. Each creature within 15 feet of the dragon must succeed on a DC 23 Dexterity saving throw or take 15 (2d6 + 8) bludgeoning damage and be knocked prone. The dragon can then fly up to half its flying speed.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 7
+} \ No newline at end of file
diff --git a/parsed/creatures/ancient_blue_dragon.json b/parsed/creatures/ancient_blue_dragon.json
new file mode 100644
index 0000000..85c5b36
--- /dev/null
+++ b/parsed/creatures/ancient_blue_dragon.json
@@ -0,0 +1,200 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., burrow 40 ft., fly 80 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "lightning",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 60 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 26,
+ "hit_die_sides": 20,
+ "name": "Ancient Blue Dragon",
+ "type": "dragon",
+ "cr": 23.0,
+ "size": "Gargantuan",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 29,
+ "dex": 10,
+ "con": 27,
+ "int": 18,
+ "wis": 17,
+ "cha": 21
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 22
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "legendary resistance (3/day)",
+ "text": "If the dragon fails a saving throw, it can choose to succeed instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon can use its Frightful Presence. It then makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "lightning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 20,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "frightful presence",
+ "text": "Each creature of the dragon's choice that is within 120 feet of the dragon and aware of it must succeed on a DC 20 Wisdom saving throw or become frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the dragon's Frightful Presence for the next 24 hours.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "lightning breath (recharge 5\u20136)",
+ "text": "The dragon exhales lightning in a 120-\u00ad\u2010foot line that is 10 feet wide. Each creature in that line must make a DC 23 Dexterity saving throw, taking 88 (16d10) lightning damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "detect",
+ "text": "The dragon makes a Wisdom (Perception) check.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "tail attack",
+ "text": "The dragon makes a tail attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "wing attack (costs 2 actions)",
+ "text": "The dragon beats its wings. Each creature within 15 feet of the dragon must succeed on a DC 24 Dexterity saving throw or take 16 (2d6 + 9) bludgeoning damage and be knocked prone. The dragon can then fly up to half its flying speed.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 7
+} \ No newline at end of file
diff --git a/parsed/creatures/ancient_brass_dragon.json b/parsed/creatures/ancient_brass_dragon.json
new file mode 100644
index 0000000..c548b71
--- /dev/null
+++ b/parsed/creatures/ancient_brass_dragon.json
@@ -0,0 +1,214 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., burrow 40 ft., fly 80 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 60 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "History": 1,
+ "Perception": 2,
+ "Persuasion": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 17,
+ "hit_die_sides": 20,
+ "name": "Ancient Brass Dragon",
+ "type": "dragon",
+ "cr": 20.0,
+ "size": "Gargantuan",
+ "alignment": "chaotic good",
+ "stats": {
+ "str": 27,
+ "dex": 10,
+ "con": 25,
+ "int": 16,
+ "wis": 15,
+ "cha": 19
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 20
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "legendary resistance (3/day)",
+ "text": "If the dragon fails a saving throw, it can choose to succeed instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon can use its Frightful Presence. It then makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 20,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "frightful presence",
+ "text": "Each creature of the dragon's choice that is within 120 feet of the dragon and aware of it must succeed on a DC 18 Wisdom saving throw or become frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the dragon's Frightful Presence for the next 24 hours.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "breath weapons (recharge 5\u20136)",
+ "text": "The dragon uses one of the following breath weapons:",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "fire breath",
+ "text": "The dragon exhales fire in an 90-foot line that is 10 feet wide. Each creature in that line must make a DC 21 Dexterity saving throw, taking 56 (16d6) fire damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "sleep breath",
+ "text": "The dragon exhales sleep gas in a 90-foot cone. Each creature in that area must succeed on a DC 21 Constitution saving throw or fall unconscious for 10 minutes. This effect ends for a creature if the creature takes damage or someone uses an action to wake it.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "change shape",
+ "text": "The dragon magically polymorphs into a humanoid or beast that has a challenge rating no higher than its own, or back into its true form. It reverts to its true form if it dies. Any equipment it is wearing or carrying is absorbed or borne by the new form (the dragon's choice). \nIn a new form, the dragon retains its alignment, hit points, Hit Dice, ability to speak, proficiencies, Legendary Resistance, lair actions, and Intelligence, Wisdom, and Charisma scores, as well as this action. Its statistics and capabilities are otherwise replaced by those of the new form, except any class features or legendary actions of that form.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "detect",
+ "text": "The dragon makes a Wisdom (Perception) check.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "tail attack",
+ "text": "The dragon makes a tail attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "wing attack (costs 2 actions)",
+ "text": "The dragon beats its wings. Each creature within 15 feet of the dragon must succeed on a DC 22 Dexterity saving throw or take 15 (2d6 + 8) bludgeoning damage and be knocked prone. The dragon can then fly up to half its flying speed.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 6
+} \ No newline at end of file
diff --git a/parsed/creatures/ancient_bronze_dragon.json b/parsed/creatures/ancient_bronze_dragon.json
new file mode 100644
index 0000000..6039efe
--- /dev/null
+++ b/parsed/creatures/ancient_bronze_dragon.json
@@ -0,0 +1,219 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., fly 80 ft., swim 40 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "lightning",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 60 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Insight": 1,
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 24,
+ "hit_die_sides": 20,
+ "name": "Ancient Bronze Dragon",
+ "type": "dragon",
+ "cr": 22.0,
+ "size": "Gargantuan",
+ "alignment": "lawful good",
+ "stats": {
+ "str": 29,
+ "dex": 10,
+ "con": 27,
+ "int": 18,
+ "wis": 17,
+ "cha": 21
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 22
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The dragon can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "legendary resistance (3/day)",
+ "text": "If the dragon fails a saving throw, it can choose to succeed instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon can use its Frightful Presence. It then makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 20,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "frightful presence",
+ "text": "Each creature of the dragon's choice that is within 120 feet of the dragon and aware of it must succeed on a DC 20 Wisdom saving throw or become frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the dragon's Frightful Presence for the next 24 hours.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "breath weapons (recharge 5\u20136)",
+ "text": "The dragon uses one of the following breath weapons.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "lightning breath",
+ "text": "The dragon exhales lightning in a 120-foot line that is 10 feet wide. Each creature in that line must make a DC 23 Dexterity saving throw, taking 88 (16d10) lightning damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "repulsion breath",
+ "text": "The dragon exhales repulsion energy in a 30-foot cone. Each creature in that area must succeed on a DC 23 Strength saving throw. On a failed save, the creature is pushed 60 feet away from the dragon.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "change shape",
+ "text": "The dragon magically polymorphs into a humanoid or beast that has a challenge rating no higher than its own, or back into its true form. It reverts to its true form if it dies. Any equipment it is wearing or carrying is absorbed or borne by the new form (the dragon's choice). \nIn a new form, the dragon retains its alignment, hit points, Hit Dice, ability to speak, proficiencies, Legendary Resistance, lair actions, and Intelligence, Wisdom, and Charisma scores, as well as this action. Its statistics and capabilities are otherwise replaced by those of the new form, except any class features or legendary actions of that form.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "detect",
+ "text": "The dragon makes a Wisdom (Perception) check.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "tail attack",
+ "text": "The dragon makes a tail attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "wing attack (costs 2 actions)",
+ "text": "The dragon beats its wings. Each creature within 15 feet of the dragon must succeed on a DC 24 Dexterity saving throw or take 16 (2d6 + 9) bludgeoning damage and be knocked prone. The dragon can then fly up to half its flying speed.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 7
+} \ No newline at end of file
diff --git a/parsed/creatures/ancient_copper_dragon.json b/parsed/creatures/ancient_copper_dragon.json
new file mode 100644
index 0000000..fabbdda
--- /dev/null
+++ b/parsed/creatures/ancient_copper_dragon.json
@@ -0,0 +1,213 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., climb 40 ft., fly 80 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "acid",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 60 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Deception": 1,
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 20,
+ "hit_die_sides": 20,
+ "name": "Ancient Copper Dragon",
+ "type": "dragon",
+ "cr": 21.0,
+ "size": "Gargantuan",
+ "alignment": "chaotic good",
+ "stats": {
+ "str": 27,
+ "dex": 12,
+ "con": 25,
+ "int": 20,
+ "wis": 17,
+ "cha": 19
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 21
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "*legendary resistance (3/day)",
+ "text": "* If the dragon fails a saving throw, it can choose to succeed instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon can use its Frightful Presence. It then makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 20,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "frightful presence",
+ "text": "Each creature of the dragon's choice that is within 120 feet of the dragon and aware of it must succeed on a DC 19 Wisdom saving throw or become frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the dragon's Frightful Presence for the next 24 hours.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "breath weapons (recharge 5\u20136)",
+ "text": "The dragon uses one of the following breath weapons.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "acid breath",
+ "text": "The dragon exhales acid in an 90-foot line that is 10 feet wide. Each creature in that line must make a DC 22 Dexterity saving throw, taking 63 (14d8) acid damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "slowing breath",
+ "text": "The dragon exhales gas in a 90-foot cone. Each creature in that area must succeed on a DC 22 Constitution saving throw. On a failed save, the creature can't use reactions, its speed is halved, and it can't make more than one attack on its turn. In addition, the creature can use either an action or a bonus action on its turn, but not both. These effects last for 1 minute. The creature can repeat the saving throw at the end of each of its turns, ending the effect on itself with a successful save.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "change shape",
+ "text": "The dragon magically polymorphs into a humanoid or beast that has a challenge rating no higher than its own, or back into its true form. It reverts to its true form if it dies. Any equipment it is wearing or carrying is absorbed or borne by the new form (the dragon's choice). \nIn a new form, the dragon retains its alignment, hit points, Hit Dice, ability to speak, proficiencies, Legendary Resistance, lair actions, and Intelligence, Wisdom, and Charisma scores, as well as this action. Its statistics and capabilities are otherwise replaced by those of the new form, except any class features or legendary actions of that form.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "detect",
+ "text": "The dragon makes a Wisdom (Perception) check.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "tail attack",
+ "text": "The dragon makes a tail attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "wing attack (costs 2 actions)",
+ "text": "The dragon beats its wings. Each creature within 15 feet of the dragon must succeed on a DC 23 Dexterity saving throw or take 15 (2d6 + 8) bludgeoning damage and be knocked prone. The dragon can then fly up to half its flying speed.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 7
+} \ No newline at end of file
diff --git a/parsed/creatures/ancient_gold_dragon.json b/parsed/creatures/ancient_gold_dragon.json
new file mode 100644
index 0000000..6ec2660
--- /dev/null
+++ b/parsed/creatures/ancient_gold_dragon.json
@@ -0,0 +1,220 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., fly 80 ft., swim 40 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 60 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Insight": 1,
+ "Perception": 2,
+ "Persuasion": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 28,
+ "hit_die_sides": 20,
+ "name": "Ancient Gold Dragon",
+ "type": "dragon",
+ "cr": 24.0,
+ "size": "Gargantuan",
+ "alignment": "lawful good",
+ "stats": {
+ "str": 30,
+ "dex": 14,
+ "con": 29,
+ "int": 18,
+ "wis": 17,
+ "cha": 28
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 22
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The dragon can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "legendary resistance (3/day)",
+ "text": "If the dragon fails a saving throw, it can choose to succeed instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon can use its Frightful Presence. It then makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 20,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "frightful presence",
+ "text": "Each creature of the dragon's choice that is within 120 feet of the dragon and aware of it must succeed on a DC 24 Wisdom saving throw or become frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the dragon's Frightful Presence for the next 24 hours.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "breath weapons (recharge 5\u20136)",
+ "text": "The dragon uses one of the following breath weapons.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "fire breath",
+ "text": "The dragon exhales fire in a 90-foot cone. Each creature in that area must make a DC 24 Dexterity saving throw, taking 71 (13d10) fire damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "weakening breath",
+ "text": "The dragon exhales gas in a 90-foot cone. Each creature in that area must succeed on a DC 24 Strength saving throw or have disadvantage on Strength-based attack rolls, Strength checks, and Strength saving throws for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "change shape",
+ "text": "The dragon magically polymorphs into a humanoid or beast that has a challenge rating no higher than its own, or back into its true form. It reverts to its true form if it dies. Any equipment it is wearing or carrying is absorbed or borne by the new form (the dragon's choice). \nIn a new form, the dragon retains its alignment, hit points, Hit Dice, ability to speak, proficiencies, Legendary Resistance, lair actions, and Intelligence, Wisdom, and Charisma scores, as well as this action. Its statistics and capabilities are otherwise replaced by those of the new form, except any class features or legendary actions of that form.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "detect",
+ "text": "The dragon makes a Wisdom (Perception) check.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "tail attack",
+ "text": "The dragon makes a tail attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "wing attack (costs 2 actions)",
+ "text": "The dragon beats its wings. Each creature within 15 feet of the dragon must succeed on a DC 25 Dexterity saving throw or take 17 (2d6 + 10) bludgeoning damage and be knocked prone. The dragon can then fly up to half its flying speed.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 7
+} \ No newline at end of file
diff --git a/parsed/creatures/ancient_green_dragon.json b/parsed/creatures/ancient_green_dragon.json
new file mode 100644
index 0000000..1b90515
--- /dev/null
+++ b/parsed/creatures/ancient_green_dragon.json
@@ -0,0 +1,214 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., fly 80 ft., swim 40 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "blindsight 60 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Deception": 1,
+ "Insight": 1,
+ "Perception": 2,
+ "Persuasion": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 22,
+ "hit_die_sides": 20,
+ "name": "Ancient Green Dragon",
+ "type": "dragon",
+ "cr": 22.0,
+ "size": "Gargantuan",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 27,
+ "dex": 12,
+ "con": 25,
+ "int": 20,
+ "wis": 17,
+ "cha": 19
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 21
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The dragon can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "legendary resistance (3/day)",
+ "text": "If the dragon fails a saving throw, it can choose to succeed instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon can use its Frightful Presence. It then makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 6,
+ "dmg_type": "poison",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 20,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "frightful presence",
+ "text": "Each creature of the dragon's choice that is within 120 feet of the dragon and aware of it must succeed on a DC 19 Wisdom saving throw or become frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the dragon's Frightful Presence for the next 24 hours.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "poison breath (recharge 5\u20136)",
+ "text": "The dragon exhales poisonous gas in a 90-\u00ad\u2010foot cone. Each creature in that area must make a DC 22 Constitution saving throw, taking 77 (22d6) poison damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "detect",
+ "text": "The dragon makes a Wisdom (Perception) check.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "tail attack",
+ "text": "The dragon makes a tail attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "wing attack (costs 2 actions)",
+ "text": "The dragon beats its wings. Each creature within 15 feet of the dragon must succeed on a DC 23 Dexterity saving throw or take 15 (2d6 + 8) bludgeoning damage and be knocked prone. The dragon can then fly up to half its flying speed.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 7
+} \ No newline at end of file
diff --git a/parsed/creatures/ancient_red_dragon.json b/parsed/creatures/ancient_red_dragon.json
new file mode 100644
index 0000000..b222948
--- /dev/null
+++ b/parsed/creatures/ancient_red_dragon.json
@@ -0,0 +1,200 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., climb 40 ft., fly 80 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 60 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 28,
+ "hit_die_sides": 20,
+ "name": "Ancient Red Dragon",
+ "type": "dragon",
+ "cr": 24.0,
+ "size": "Gargantuan",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 30,
+ "dex": 10,
+ "con": 29,
+ "int": 18,
+ "wis": 15,
+ "cha": 23
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 22
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "*legendary resistance (3/day)",
+ "text": "If the dragon fails a saving throw, it can choose to succeed instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon can use its Frightful Presence. It then makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 6,
+ "dmg_type": "fire",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 20,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "frightful presence",
+ "text": "Each creature of the dragon's choice that is within 120 feet of the dragon and aware of it must succeed on a DC 21 Wisdom saving throw or become frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the dragon's Frightful Presence for the next 24 hours.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "fire breath (recharge 5\u20136)",
+ "text": "The dragon exhales fire in a 90\u2010foot cone. Each creature in that area must make a DC 24 Dexterity saving throw, taking 91 (26d6) fire damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "detect",
+ "text": "The dragon makes a Wisdom (Perception) check.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "tail attack",
+ "text": "The dragon makes a tail attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "wing attack (costs 2 actions)",
+ "text": "The dragon beats its wings. Each creature within 15 feet of the dragon must succeed on a DC 25 Dexterity saving throw or take 17 (2d6 + 10) bludgeoning damage and be knocked prone. The dragon can then fly up to half its flying speed.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 7
+} \ No newline at end of file
diff --git a/parsed/creatures/ancient_silver_dragon.json b/parsed/creatures/ancient_silver_dragon.json
new file mode 100644
index 0000000..7a6bead
--- /dev/null
+++ b/parsed/creatures/ancient_silver_dragon.json
@@ -0,0 +1,214 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., fly 80 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 60 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Arcana": 1,
+ "History": 1,
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 25,
+ "hit_die_sides": 20,
+ "name": "Ancient Silver Dragon",
+ "type": "dragon",
+ "cr": 23.0,
+ "size": "Gargantuan",
+ "alignment": "lawful good",
+ "stats": {
+ "str": 30,
+ "dex": 10,
+ "con": 29,
+ "int": 18,
+ "wis": 15,
+ "cha": 23
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 22
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "legendary resistance (3/day)",
+ "text": "If the dragon fails a saving throw, it can choose to succeed instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon can use its Frightful Presence. It then makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 20,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "frightful presence",
+ "text": "Each creature of the dragon's choice that is within 120 feet of the dragon and aware of it must succeed on a DC 21 Wisdom saving throw or become frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the dragon's Frightful Presence for the next 24 hours.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "breath weapons (recharge 5\u20136)",
+ "text": "The dragon uses one of the following breath weapons.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "cold breath",
+ "text": "The dragon exhales an icy blast in a 90-foot cone. Each creature in that area must make a DC 24 Constitution saving throw, taking 67 (15d8) cold damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "paralyzing breath",
+ "text": "The dragon exhales paralyzing gas in a 90-foot cone. Each creature in that area must succeed on a DC 24 Constitution saving throw or be paralyzed for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "change shape",
+ "text": "The dragon magically polymorphs into a humanoid or beast that has a challenge rating no higher than its own, or back into its true form. It reverts to its true form if it dies. Any equipment it is wearing or carrying is absorbed or borne by the new form (the dragon's choice). \nIn a new form, the dragon retains its alignment, hit points, Hit Dice, ability to speak, proficiencies, Legendary Resistance, lair actions, and Intelligence, Wisdom, and Charisma scores, as well as this action. Its statistics and capabilities are otherwise replaced by those of the new form, except any class features or legendary actions of that form.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "detect",
+ "text": "The dragon makes a Wisdom (Perception) check.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "tail attack",
+ "text": "The dragon makes a tail attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "wing attack (costs 2 actions)",
+ "text": "The dragon beats its wings. Each creature within 15 feet of the dragon must succeed on a DC 25 Dexterity saving throw or take 17 (2d6 + 10) bludgeoning damage and be knocked prone. The dragon can then fly up to half its flying speed.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 7
+} \ No newline at end of file
diff --git a/parsed/creatures/ancient_white_dragon.json b/parsed/creatures/ancient_white_dragon.json
new file mode 100644
index 0000000..473234e
--- /dev/null
+++ b/parsed/creatures/ancient_white_dragon.json
@@ -0,0 +1,206 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., burrow 40 ft., fly 80 ft., swim 40 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 60 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 18,
+ "hit_die_sides": 20,
+ "name": "Ancient White Dragon",
+ "type": "dragon",
+ "cr": 20.0,
+ "size": "Gargantuan",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 26,
+ "dex": 10,
+ "con": 26,
+ "int": 10,
+ "wis": 13,
+ "cha": 14
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 20
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "ice walk",
+ "text": "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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "legendary resistance (3/day)",
+ "text": "If the dragon fails a saving throw, it can choose to succeed instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon can use its Frightful Presence. It then makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "_Melee Weapon Attack:_ +14 to hit, reach 15 ft., one target. _Hit:_ 19 (2d10 + 8) piercing damage plus 9 (2d8) cold damage.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "cold",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "_Melee Weapon Attack:_ +14 to hit, reach 10 ft., one target. _Hit:_ 15 (2d6 + 8) slashing damage.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "_Melee Weapon Attack:_ +14 to hit, reach 20 ft., one target. _Hit:_ 17 (2d8 + 8) bludgeoning damage.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 20,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "frightful presence",
+ "text": "Each creature of the dragon's choice that is within 120 feet of the dragon and aware of it must succeed on a DC 16 Wisdom saving throw or become frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the dragon's Frightful Presence for the next 24 hours.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "cold breath (recharge 5\u20136)",
+ "text": "The dragon exhales an icy blast in a 90-foot cone. Each creature in that area must make a DC 22 Constitution saving throw, taking 72 (16d8) cold damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "detect",
+ "text": "The dragon makes a Wisdom (Perception) check.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "tail attack",
+ "text": "The dragon makes a tail attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "wing attack (costs 2 actions)",
+ "text": "The dragon beats its wings. Each creature within 15 feet of the dragon must succeed on a DC 22 Dexterity saving throw or take 15 (2d6 + 8) bludgeoning damage and be knocked prone. The dragon can then fly up to half its flying speed.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 6
+} \ No newline at end of file
diff --git a/parsed/creatures/androsphinx.json b/parsed/creatures/androsphinx.json
new file mode 100644
index 0000000..05d0531
--- /dev/null
+++ b/parsed/creatures/androsphinx.json
@@ -0,0 +1,235 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., fly 60 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "int",
+ "wis"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "psychic",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "truesight 120 ft."
+ ],
+ "langs": "Common, Sphinx",
+ "skills": {
+ "Arcana": 1,
+ "Perception": 1,
+ "Religion": 2
+ },
+ "hit_die_count": 19,
+ "hit_die_sides": 10,
+ "name": "Androsphinx",
+ "type": "monstrosity",
+ "cr": 17.0,
+ "size": "Large",
+ "alignment": "lawful neutral",
+ "stats": {
+ "str": 22,
+ "dex": 10,
+ "con": 20,
+ "int": 16,
+ "wis": 18,
+ "cha": 23
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "inscrutable",
+ "text": "The sphinx is immune to any effect that would sense its emotions or read its thoughts, as well as any divination spell that it refuses. Wisdom (Insight) checks made to ascertain the sphinx's intentions or sincerity have disadvantage.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic weapons",
+ "text": "The sphinx's weapon attacks are magical.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The sphinx is a 12th-level spellcaster. Its spellcasting ability is Wisdom (spell save DC 18, +10 to hit with spell attacks). It requires no material components to cast its spells. The sphinx has the following cleric spells prepared: \nCantrips (at will): **_sacred flame, spare the dying, thaumaturgy_** \n1st level (4 slots): **_command, detect evil and good, detect magic_** \n2nd level (3 slots): **_lesser restoration, zone of truth_** \n3rd level (3 slots): **_dispel magic, tongues_** \n4th level (3 slots): **_banishment, freedom of movement_** \n5th level (2 slots): **_flame strike, greater restoration_** \n6th level (1 slot): **_heroes' feast_**",
+ "type": "spells",
+ "spellcasting_ability": "wis",
+ "innate": false,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "sacred flame",
+ "spare the dying",
+ "thaumaturgy"
+ ]
+ },
+ {
+ "slots": 4,
+ "spells": [
+ "command",
+ "detect evil and good",
+ "detect magic"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "lesser restoration",
+ "zone of truth"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "dispel magic",
+ "tongues"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "banishment",
+ "freedom of movement"
+ ]
+ },
+ {
+ "slots": 2,
+ "spells": [
+ "flame strike",
+ "greater restoration"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "heroes' feast"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The sphinx makes two claw attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "roar (3/day)",
+ "text": "The sphinx emits a magical roar. Each time it roars before finishing a long rest, the roar is louder and the effect is different, as detailed below. Each creature within 500 feet of the sphinx and able to hear the roar must make a saving throw.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "first roar",
+ "text": "Each creature that fails a DC 18 Wisdom saving throw is frightened for 1 minute. A frightened creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "second roar",
+ "text": "Each creature that fails a DC 18 Wisdom saving throw is deafened and frightened for 1 minute. A frightened creature is paralyzed and can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "third roar",
+ "text": "Each creature makes a DC 18 Constitution saving throw. On a failed save, a creature takes 44 (8d10) thunder damage and is knocked prone. On a successful save, the creature takes half as much damage and isn't knocked prone.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "claw attack",
+ "text": "The sphinx makes one claw attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "teleport (costs 2 actions)",
+ "text": "The sphinx magically teleports, along with any equipment it is wearing or carrying, up to 120 feet to an unoccupied space it can see.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "cast a spell (costs 3 actions)",
+ "text": "The sphinx casts a spell from its list of prepared spells, using a spell slot as normal.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 6
+} \ No newline at end of file
diff --git a/parsed/creatures/animated_armor.json b/parsed/creatures/animated_armor.json
new file mode 100644
index 0000000..4157e9a
--- /dev/null
+++ b/parsed/creatures/animated_armor.json
@@ -0,0 +1,134 @@
+{
+ "entry": "creatures",
+ "speed": "25 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ },
+ {
+ "type": "psychic",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "blinded",
+ "qualifiers": []
+ },
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "deafened",
+ "qualifiers": []
+ },
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "petrified",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "blindsight 60 ft. (blind beyond this radius)"
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 6,
+ "hit_die_sides": 8,
+ "name": "Animated Armor",
+ "type": "construct",
+ "cr": 1.0,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 14,
+ "dex": 11,
+ "con": 13,
+ "int": 1,
+ "wis": 3,
+ "cha": 1
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 18
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "antimagic susceptibility",
+ "text": "The armor is incapacitated while in the area of an antimagic field. If targeted by dispel magic, the armor must succeed on a Constitution saving throw against the caster's spell save DC or fall unconscious for 1 minute.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "false appearance",
+ "text": "While the armor remains motionless, it is indistinguishable from a normal suit of armor.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The armor makes two melee attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "slam",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "slam",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/ankheg.json b/parsed/creatures/ankheg.json
new file mode 100644
index 0000000..864c06b
--- /dev/null
+++ b/parsed/creatures/ankheg.json
@@ -0,0 +1,87 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., burrow 10 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft.",
+ "tremorsense 60 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 6,
+ "hit_die_sides": 10,
+ "name": "Ankheg",
+ "type": "monstrosity",
+ "cr": 2.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 17,
+ "dex": 11,
+ "con": 13,
+ "int": 1,
+ "wis": 13,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 14
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "acid",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a Large or smaller creature, it is grappled (escape DC 13). Until this grapple ends, the ankheg can bite only the grappled creature and has advantage on attack rolls to do so.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "acid spray (recharge 6)",
+ "text": "The ankheg spits acid in a line that is 30 feet long and 5 feet wide, provided that it has no creature grappled. Each creature in that line must make a DC 13 Dexterity saving throw, taking 10 (3d6) acid damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/ape.json b/parsed/creatures/ape.json
new file mode 100644
index 0000000..9cf7743
--- /dev/null
+++ b/parsed/creatures/ape.json
@@ -0,0 +1,113 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., climb 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Athletics": 1,
+ "Perception": 1
+ },
+ "hit_die_count": 3,
+ "hit_die_sides": 8,
+ "name": "Ape",
+ "type": "beast",
+ "cr": 0.5,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 16,
+ "dex": 14,
+ "con": 14,
+ "int": 6,
+ "wis": 12,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The ape makes two fist attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "fist",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "fist",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "rock",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "rock",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 25,
+ 50
+ ],
+ "reach": 0,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": "str"
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/archmage.json b/parsed/creatures/archmage.json
new file mode 100644
index 0000000..8caa515
--- /dev/null
+++ b/parsed/creatures/archmage.json
@@ -0,0 +1,163 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [
+ "int",
+ "wis"
+ ],
+ "d_resistances": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "any six languages",
+ "skills": {
+ "Arcana": 2,
+ "History": 2
+ },
+ "hit_die_count": 18,
+ "hit_die_sides": 8,
+ "name": "Archmage",
+ "type": "humanoid (any race)",
+ "cr": 12.0,
+ "size": "Medium",
+ "alignment": "any alignment",
+ "stats": {
+ "str": 10,
+ "dex": 14,
+ "con": 12,
+ "int": 20,
+ "wis": 15,
+ "cha": 16
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "dagger",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Archmages are powerful (and usually quite old) spellcasters dedicated to the study of the arcane arts. Benevolent ones counsel kings and queens, while evil ones rule as tyrants and pursue lichdom. Those who are neither good nor evil sequester themselves in remote towers to practice their magic without interruption. An archmage typically has one or more apprentice mages, and an archmage's abode has numerous magical wards and guardians to discourage interlopers.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The archmage has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The archmage is an 18th-level spellcaster. Its spellcasting ability is Intelligence (spell save DC 17, +9 to hit with spell attacks). The archmage can cast **_disguise self_** and **_invisibility_** at will and has the following wizard spells prepared: \nCantrips (at will): **_fire bolt, light, mage hand, prestidigitation, shocking grasp_** \n1st level (4 slots): **_detect magic, identify, mage armor, magic missile_** \n2nd level (3 slots): **_detect thoughts, mirror image, misty step_** \n3rd level (3 slots): **_counterspell, fly, lightning bolt_** \n4th level (3 slots): **_banishment, fire shield, stoneskin_** \n5th level (3 slots): **_cone of cold, scrying, wall of force_** \n6th level (1 slot): **_globe of invulnerability_** \n7th level (1 slot): **_teleport_** \n8th level (1 slot): **_mind blank_** \n9th level (1 slot): **_time stop_** \n*The archmage casts **_mind blank, stoneskin and magic armor_** spells on itself before combat.",
+ "type": "spells",
+ "spellcasting_ability": "int",
+ "innate": false,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "fire bolt",
+ "light",
+ "mage hand",
+ "prestidigitation",
+ "shocking grasp"
+ ]
+ },
+ {
+ "slots": 4,
+ "spells": [
+ "detect magic",
+ "identify",
+ "mage armor",
+ "magic missile"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "detect thoughts",
+ "mirror image",
+ "misty step"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "counterspell",
+ "fly",
+ "lightning bolt"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "banishment",
+ "fire shield",
+ "stoneskin"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "cone of cold",
+ "scrying",
+ "wall of force"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "globe of invulnerability"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "teleport"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "mind blank"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "time stop"
+ ]
+ }
+ ]
+ }
+ ],
+ "prof": 4
+} \ No newline at end of file
diff --git a/parsed/creatures/assassin.json b/parsed/creatures/assassin.json
new file mode 100644
index 0000000..401f237
--- /dev/null
+++ b/parsed/creatures/assassin.json
@@ -0,0 +1,96 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [
+ "dex",
+ "int"
+ ],
+ "d_resistances": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "Thieves' cant plus any two languages",
+ "skills": {
+ "Acrobatics": 1,
+ "Deception": 1,
+ "Perception": 1,
+ "Stealth": 2
+ },
+ "hit_die_count": 12,
+ "hit_die_sides": 8,
+ "name": "Assassin",
+ "type": "humanoid (any race)",
+ "cr": 8.0,
+ "size": "Medium",
+ "alignment": "any non-good alignment",
+ "stats": {
+ "str": 11,
+ "dex": 16,
+ "con": 14,
+ "int": 13,
+ "wis": 11,
+ "cha": 10
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "studded leather",
+ "type": "armor",
+ "text": "studded leather armor"
+ },
+ {
+ "entry": "item",
+ "name": "shortsword",
+ "type": "weapons",
+ "text": ", and the target must make a DC 15 Constitution saving throw, taking 24 (7d6) poison damage on a failed save, or half as much damage on a successful one."
+ },
+ {
+ "entry": "item",
+ "name": "light crossbow",
+ "type": "weapons",
+ "text": ", and the target must make a DC 15 Constitution saving throw, taking 24 (7d6) poison damage on a failed save, or half as much damage on a successful one."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Trained in the use of poison, assassins are remorseless killers who work for nobles, guildmasters, sovereigns, and anyone else who can afford them.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "assassinate",
+ "text": "During its first turn, the assassin has advantage on attack rolls against any creature that hasn't taken a turn. Any hit the assassin scores against a surprised creature is a critical hit.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "evasion",
+ "text": "If the assassin is subjected to an effect that allows it to make a Dexterity saving throw to take only half damage, the assassin instead takes no damage if it succeeds on the saving throw, and only half damage if it fails.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "sneak attack",
+ "text": "Once per turn, the assassin deals an extra 14 (4d6) damage when it hits a target with a weapon attack and has advantage on the attack roll, or when the target is within 5 feet of an ally of the assassin that isn't incapacitated and the assassin doesn't have disadvantage on the attack roll.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The assassin makes two shortsword attacks.",
+ "type": "action"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/awakened_shrub.json b/parsed/creatures/awakened_shrub.json
new file mode 100644
index 0000000..58f0f3e
--- /dev/null
+++ b/parsed/creatures/awakened_shrub.json
@@ -0,0 +1,90 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "piercing",
+ "qualifiers": []
+ }
+ ],
+ "d_vulnerabilities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "one language known by its creator",
+ "skills": {},
+ "hit_die_count": 3,
+ "hit_die_sides": 6,
+ "name": "Awakened Shrub",
+ "type": "plant",
+ "cr": 0.0,
+ "size": "Small",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 3,
+ "dex": 8,
+ "con": 11,
+ "int": 10,
+ "wis": 0,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": true,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "An awakened shrub is an ordinary shrub given sentience and mobility by the awaken spell or similar magic.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "false appearance",
+ "text": "While the shrub remains motionless, it is indistinguishable from a normal shrub.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "rake",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "rake",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/awakened_tree.json b/parsed/creatures/awakened_tree.json
new file mode 100644
index 0000000..3d8588e
--- /dev/null
+++ b/parsed/creatures/awakened_tree.json
@@ -0,0 +1,92 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": []
+ },
+ {
+ "type": "piercing",
+ "qualifiers": []
+ }
+ ],
+ "d_vulnerabilities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "one language known by its creator",
+ "skills": {},
+ "hit_die_count": 7,
+ "hit_die_sides": 12,
+ "name": "Awakened Tree",
+ "type": "plant",
+ "cr": 2.0,
+ "size": "Huge",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 19,
+ "dex": 6,
+ "con": 15,
+ "int": 10,
+ "wis": 10,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "An awakened tree is an ordinary tree given sentience and mobility by the awaken spell or similar magic.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "false appearance",
+ "text": "While the tree remains motionless, it is indistinguishable from a normal tree.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "slam",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "slam",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/axe_beak.json b/parsed/creatures/axe_beak.json
new file mode 100644
index 0000000..29fc590
--- /dev/null
+++ b/parsed/creatures/axe_beak.json
@@ -0,0 +1,72 @@
+{
+ "entry": "creatures",
+ "speed": "50 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 3,
+ "hit_die_sides": 10,
+ "name": "Axe Beak",
+ "type": "beast",
+ "cr": 0.25,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 14,
+ "dex": 12,
+ "con": 12,
+ "int": 2,
+ "wis": 10,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "An axe beak is a tall flightless bird with strong legs and a heavy, wedge-shaped beak. It has a nasty disposition and tends to attack any unfamiliar creature that wanders too close.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "beak",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "beak",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/azer.json b/parsed/creatures/azer.json
new file mode 100644
index 0000000..ebfea99
--- /dev/null
+++ b/parsed/creatures/azer.json
@@ -0,0 +1,121 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [
+ "con"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [],
+ "langs": "Ignan",
+ "skills": {},
+ "hit_die_count": 6,
+ "hit_die_sides": 8,
+ "name": "Azer",
+ "type": "elemental",
+ "cr": 2.0,
+ "size": "Medium",
+ "alignment": "lawful neutral",
+ "stats": {
+ "str": 17,
+ "dex": 12,
+ "con": 15,
+ "int": 12,
+ "wis": 13,
+ "cha": 10
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "shield",
+ "type": "armor",
+ "text": "shield armor"
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 15
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "heated body",
+ "text": "A creature that touches the azer or hits it with a melee attack while within 5 feet of it takes 5 (1d10) fire damage.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "heated weapons",
+ "text": "When the azer hits with a metal melee weapon, it deals an extra 3 (1d6) fire damage (included in the attack).",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "illumination",
+ "text": "The azer sheds bright light in a 10-\u00adfoot radius and dim light for an additional 10 feet.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "warhammer",
+ "text": "_Melee Weapon Attack:_ +5 to hit, reach 5 ft., one target. _Hit:_ 7 (1d8 + 3) bludgeoning damage, or 8 (1d10 + 3) bludgeoning damage if used with two hands to make a melee attack, plus 3 (1d6) fire damage.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "warhammer",
+ "cost": 1500,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "fire",
+ "is_or": false
+ }
+ ],
+ "weight": 2.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "versatile"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/baboon.json b/parsed/creatures/baboon.json
new file mode 100644
index 0000000..3d32d05
--- /dev/null
+++ b/parsed/creatures/baboon.json
@@ -0,0 +1,78 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., climb 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 1,
+ "hit_die_sides": 6,
+ "name": "Baboon",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Small",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 8,
+ "dex": 14,
+ "con": 11,
+ "int": 4,
+ "wis": 12,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "pack tactics",
+ "text": "The baboon has advantage on an attack roll against a creature if at least one of the baboon's allies is within 5 feet of the creature and the ally isn't incapacitated.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/badger.json b/parsed/creatures/badger.json
new file mode 100644
index 0000000..6d51863
--- /dev/null
+++ b/parsed/creatures/badger.json
@@ -0,0 +1,82 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft., burrow 5 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 30 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 1,
+ "hit_die_sides": 4,
+ "name": "Badger",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Tiny",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 4,
+ "dex": 11,
+ "con": 12,
+ "int": 2,
+ "wis": 12,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen smell",
+ "text": "The badger has advantage on Wisdom (Perception) checks that rely on smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 1,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/balor.json b/parsed/creatures/balor.json
new file mode 100644
index 0000000..789eada
--- /dev/null
+++ b/parsed/creatures/balor.json
@@ -0,0 +1,200 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., fly 80 ft.",
+ "saves": [
+ "str",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "lightning",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "truesight 120 ft."
+ ],
+ "langs": "Abyssal, telepathy 120 ft.",
+ "skills": {},
+ "hit_die_count": 21,
+ "hit_die_sides": 12,
+ "name": "Balor",
+ "type": "fiend (demon)",
+ "cr": 19.0,
+ "size": "Huge",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 26,
+ "dex": 15,
+ "con": 22,
+ "int": 20,
+ "wis": 16,
+ "cha": 22
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 19
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "death throes",
+ "text": "When the balor dies, it explodes, and each creature within 30 feet of it must make a DC 20 Dexterity saving throw, taking 70 (20d6) fire damage on a failed save, or half as much damage on a successful one. The explosion ignites flammable objects in that area that aren't being worn or carried, and it destroys the balor's weapons.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "fire aura",
+ "text": "At the start of each of the balor's turns, each creature within 5 feet of it takes 10 (3d6) fire damage, and flammable objects in the aura that aren't being worn or carried ignite. A creature that touches the balor or hits it with a melee attack while within 5 feet of it takes 10 (3d6) fire damage.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The balor has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic weapons",
+ "text": "The balor's weapon attacks are magical.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The balor makes two attacks: one with its longsword and one with its whip.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "longsword",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "longsword",
+ "cost": 1500,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 8,
+ "dmg_type": "slashing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 8,
+ "dmg_type": "lightning",
+ "is_or": false
+ }
+ ],
+ "weight": 3.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the balor scores a critical hit, it rolls damage dice three times, instead of twice.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "whip",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "whip",
+ "cost": 200,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 6,
+ "dmg_type": "fire",
+ "is_or": false
+ }
+ ],
+ "weight": 3.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 30,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target must succeed on a DC 20 Strength saving throw or be pulled up to 25 feet toward the balor.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "teleport",
+ "text": "The balor magically teleports, along with any equipment it is wearing or carrying, up to 120 feet to an unoccupied space it can see.",
+ "type": "action"
+ }
+ ],
+ "prof": 6
+} \ No newline at end of file
diff --git a/parsed/creatures/bandit.json b/parsed/creatures/bandit.json
new file mode 100644
index 0000000..9012887
--- /dev/null
+++ b/parsed/creatures/bandit.json
@@ -0,0 +1,58 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "any one language (usually Common)",
+ "skills": {},
+ "hit_die_count": 2,
+ "hit_die_sides": 8,
+ "name": "Bandit",
+ "type": "humanoid (any race)",
+ "cr": 0.125,
+ "size": "Medium",
+ "alignment": "any non-lawful alignment",
+ "stats": {
+ "str": 11,
+ "dex": 12,
+ "con": 12,
+ "int": 10,
+ "wis": 10,
+ "cha": 10
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "leather",
+ "type": "armor",
+ "text": "leather armor"
+ },
+ {
+ "entry": "item",
+ "name": "scimitar",
+ "type": "weapons",
+ "text": "."
+ },
+ {
+ "entry": "item",
+ "name": "light crossbow",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Bandits rove in gangs and are sometimes led by thugs, veterans, or spellcasters. Not all bandits are evil. Oppression, drought, disease, or famine can often drive otherwise honest folk to a life of banditry. Pirates are bandits of the high seas. They might be freebooters interested only in treasure and murder, or they might be privateers sanctioned by the crown to attack and plunder an enemy nation's vessels.",
+ "features": [],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/bandit_captain.json b/parsed/creatures/bandit_captain.json
new file mode 100644
index 0000000..499b894
--- /dev/null
+++ b/parsed/creatures/bandit_captain.json
@@ -0,0 +1,78 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [
+ "str",
+ "dex",
+ "wis"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "any two languages",
+ "skills": {
+ "Athletics": 1,
+ "Deception": 1
+ },
+ "hit_die_count": 10,
+ "hit_die_sides": 8,
+ "name": "Bandit Captain",
+ "type": "humanoid (any race)",
+ "cr": 2.0,
+ "size": "Medium",
+ "alignment": "any non-lawful alignment",
+ "stats": {
+ "str": 15,
+ "dex": 16,
+ "con": 14,
+ "int": 14,
+ "wis": 11,
+ "cha": 14
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "studded leather",
+ "type": "armor",
+ "text": "studded leather armor"
+ },
+ {
+ "entry": "item",
+ "name": "scimitar",
+ "type": "weapons",
+ "text": "."
+ },
+ {
+ "entry": "item",
+ "name": "dagger",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "It takes a strong personality, ruthless cunning, and a silver tongue to keep a gang of bandits in line. The bandit captain has these qualities in spades. In addition to managing a crew of selfish malcontents, the pirate captain is a variation of the bandit captain, with a ship to protect and command. To keep the crew in line, the captain must mete out rewards and punishment on a regular basis. More than treasure, a bandit captain or pirate captain craves infamy. A prisoner who appeals to the captain's vanity or ego is more likely to be treated fairly than a prisoner who does not or claims not to know anything of the captain's colorful reputation.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The captain makes three melee attacks: two with its scimitar and one with its dagger. Or the captain makes two ranged attacks with its daggers.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "parry",
+ "text": "The captain adds 2 to its AC against one melee attack that would hit it. To do so, the captain must see the attacker and be wielding a melee weapon.",
+ "type": "reaction"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/barbed_devil.json b/parsed/creatures/barbed_devil.json
new file mode 100644
index 0000000..4ef8d77
--- /dev/null
+++ b/parsed/creatures/barbed_devil.json
@@ -0,0 +1,211 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [
+ "str",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "Infernal, telepathy 120 ft.",
+ "skills": {
+ "Deception": 1,
+ "Insight": 1,
+ "Perception": 2
+ },
+ "hit_die_count": 13,
+ "hit_die_sides": 8,
+ "name": "Barbed Devil",
+ "type": "fiend (devil)",
+ "cr": 5.0,
+ "size": "Medium",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 16,
+ "dex": 17,
+ "con": 18,
+ "int": 12,
+ "wis": 14,
+ "cha": 14
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 15
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "barbed hide",
+ "text": "At the start of each of its turns, the barbed devil deals 5 (1d10) piercing damage to any creature grappling it.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "devil's sight",
+ "text": "Magical darkness doesn't impede the devil's darkvision.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The devil has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The devil makes three melee attacks: one with its tail and two with its claws. Alternatively, it can use Hurl Flame twice.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "hurl flame",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "spell attack",
+ "name": "hurl flame",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 6,
+ "dmg_type": "fire",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 150,
+ 150
+ ],
+ "reach": 0,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a flammable object that isn't being worn or carried, it also catches fire.",
+ "toHitOverride": null,
+ "dmgBonusOverride": 0,
+ "abilityOverride": "wis"
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/basilisk.json b/parsed/creatures/basilisk.json
new file mode 100644
index 0000000..0d7ae9b
--- /dev/null
+++ b/parsed/creatures/basilisk.json
@@ -0,0 +1,86 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 8,
+ "hit_die_sides": 8,
+ "name": "Basilisk",
+ "type": "monstrosity",
+ "cr": 3.0,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 16,
+ "dex": 8,
+ "con": 15,
+ "int": 2,
+ "wis": 8,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 15
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "petrifying gaze",
+ "text": "If a creature starts its turn within 30 feet of the basilisk and the two of them can see each other, the basilisk can force the creature to make a DC 12 Constitution saving throw if the basilisk isn't incapacitated. On a failed save, the creature magically begins to turn to stone and is restrained. It must repeat the saving throw at the end of its next turn. On a success, the effect ends. On a failure, the creature is petrified until freed by the greater restoration spell or other magic. \nA creature that isn't surprised can avert its eyes to avoid the saving throw at the start of its turn. If it does so, it can't see the basilisk until the start of its next turn, when it can avert its eyes again. \nIf it looks at the basilisk in the meantime, it must immediately make the save. If the basilisk sees its reflection within 30 feet of it in bright light, it mistakes itself for a rival and targets itself with its gaze.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "poison",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/bat.json b/parsed/creatures/bat.json
new file mode 100644
index 0000000..ac74e79
--- /dev/null
+++ b/parsed/creatures/bat.json
@@ -0,0 +1,86 @@
+{
+ "entry": "creatures",
+ "speed": "5 ft., fly 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 60 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 1,
+ "hit_die_sides": 4,
+ "name": "Bat",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Tiny",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 2,
+ "dex": 15,
+ "con": 8,
+ "int": 2,
+ "wis": 12,
+ "cha": 4
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "echolocation",
+ "text": "The bat can't use its blindsight while deafened.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "keen hearing",
+ "text": "The bat has advantage on Wisdom (Perception) checks that rely on hearing.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 1,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": 0,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/bearded_devil.json b/parsed/creatures/bearded_devil.json
new file mode 100644
index 0000000..7516d04
--- /dev/null
+++ b/parsed/creatures/bearded_devil.json
@@ -0,0 +1,149 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [
+ "str",
+ "con",
+ "wis"
+ ],
+ "d_resistances": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "Infernal, telepathy 120 ft.",
+ "skills": {},
+ "hit_die_count": 8,
+ "hit_die_sides": 8,
+ "name": "Bearded Devil",
+ "type": "fiend (devil)",
+ "cr": 3.0,
+ "size": "Medium",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 16,
+ "dex": 15,
+ "con": 15,
+ "int": 9,
+ "wis": 11,
+ "cha": 11
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "glaive",
+ "type": "weapons",
+ "text": ". If the target is a creature other than an undead or a construct, it must succeed on a DC 12 Constitution saving throw or lose 5 (1d10) hit points at the start of each of its turns due to an infernal wound. Each time the devil hits the wounded target with this attack, the damage dealt by the wound increases by 5 (1d10). Any creature can take an action to stanch the wound with a successful DC 12 Wisdom (Medicine) check. The wound also closes if the target receives magical healing."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "devil's sight",
+ "text": "Magical darkness doesn't impede the devil's darkvision.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The devil has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "steadfast",
+ "text": "The devil can't be frightened while it can see an allied creature within 30 feet of it.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The devil makes two attacks: one with its beard and one with its glaive.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "beard",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "beard",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target must succeed on a DC 12 Constitution saving throw or be poisoned for 1 minute. While poisoned in this way, the target can't regain hit points. The target can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success.",
+ "toHitOverride": null,
+ "dmgBonusOverride": 2,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/behir.json b/parsed/creatures/behir.json
new file mode 100644
index 0000000..bfa45c0
--- /dev/null
+++ b/parsed/creatures/behir.json
@@ -0,0 +1,140 @@
+{
+ "entry": "creatures",
+ "speed": "50 ft., climb 40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "lightning",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 90 ft."
+ ],
+ "langs": "Draconic",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 16,
+ "hit_die_sides": 12,
+ "name": "Behir",
+ "type": "monstrosity",
+ "cr": 11.0,
+ "size": "Huge",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 23,
+ "dex": 16,
+ "con": 18,
+ "int": 7,
+ "wis": 14,
+ "cha": 12
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The behir makes two attacks: one with its bite and one to constrict.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "_Melee Weapon Attack:_ +10 to hit, reach 10 ft., one target. _Hit:_ 22 (3d10 + 6) piercing damage.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "constrict",
+ "text": "_Melee Weapon Attack:_ +10 to hit, reach 5 ft., one Large or smaller creature. _Hit:_ 17 (2d10 + 6) bludgeoning damage plus 17 (2d10 + 6) slashing damage. The target is grappled (escape DC 16) if the behir isn't already constricting a creature, and the target is restrained until this grapple ends.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "constrict",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "one Large or smaller creature"
+ ],
+ "weapon_type": "unknown",
+ "text": ". The target is grappled (escape DC 16) if the behir isn't already constricting a creature, and the target is restrained until this grapple ends.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "lightning breath (recharge 5\u20136)",
+ "text": "The behir exhales a line of lightning that is 20 feet long and 5 feet wide. Each creature in that line must make a DC 16 Dexterity saving throw, taking 66 (12d10) lightning damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "swallow",
+ "text": "The behir makes one bite attack against a Medium or smaller target it is grappling. If the attack hits, the target is also swallowed, and the grapple ends. While swallowed, the target is blinded and restrained, it has total cover against attacks and other effects outside the behir, and it takes 21 (6d6) acid damage at the start of each of the behir's turns. A behir can have only one creature swallowed at a time. \nIf the behir takes 30 damage or more on a single turn from the swallowed creature, the behir must succeed on a DC 14 Constitution saving throw at the end of that turn or regurgitate the creature, which falls prone in a space within 10 feet of the behir. If the behir dies, a swallowed creature is no longer restrained by it and can escape from the corpse by using 15 feet of movement, exiting prone.",
+ "type": "action"
+ }
+ ],
+ "prof": 4
+} \ No newline at end of file
diff --git a/parsed/creatures/berserker.json b/parsed/creatures/berserker.json
new file mode 100644
index 0000000..c08b2c7
--- /dev/null
+++ b/parsed/creatures/berserker.json
@@ -0,0 +1,59 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "any one language (usually Common)",
+ "skills": {},
+ "hit_die_count": 9,
+ "hit_die_sides": 8,
+ "name": "Berserker",
+ "type": "humanoid (any race)",
+ "cr": 2.0,
+ "size": "Medium",
+ "alignment": "any chaotic alignment",
+ "stats": {
+ "str": 16,
+ "dex": 12,
+ "con": 17,
+ "int": 9,
+ "wis": 11,
+ "cha": 9
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "hide",
+ "type": "armor",
+ "text": "hide armor"
+ },
+ {
+ "entry": "item",
+ "name": "greataxe",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Hailing from uncivilized lands, unpredictable berserkers come together in war parties and seek conflict wherever they can find it.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "reckless",
+ "text": "At the start of its turn, the berserker can gain advantage on all melee weapon attack rolls during that turn, but attack rolls against it have advantage until the start of its next turn.",
+ "type": "feature"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/black_bear.json b/parsed/creatures/black_bear.json
new file mode 100644
index 0000000..9166c3a
--- /dev/null
+++ b/parsed/creatures/black_bear.json
@@ -0,0 +1,118 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., climb 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 3,
+ "hit_die_sides": 8,
+ "name": "Black bear",
+ "type": "beast",
+ "cr": 0.5,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 15,
+ "dex": 10,
+ "con": 14,
+ "int": 2,
+ "wis": 12,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 11
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen smell",
+ "text": "The bear has advantage on Wisdom (Perception) checks that rely on smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The bear makes two attacks: one with its bite and one with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": 3,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 4,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": 3,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/black_dragon_wyrmling.json b/parsed/creatures/black_dragon_wyrmling.json
new file mode 100644
index 0000000..5f42c8c
--- /dev/null
+++ b/parsed/creatures/black_dragon_wyrmling.json
@@ -0,0 +1,106 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., fly 60 ft., swim 30 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "acid",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 10 ft.",
+ "darkvision 60 ft."
+ ],
+ "langs": "Draconic",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 6,
+ "hit_die_sides": 8,
+ "name": "Black Dragon Wyrmling",
+ "type": "dragon",
+ "cr": 2.0,
+ "size": "Medium",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 15,
+ "dex": 14,
+ "con": 13,
+ "int": 10,
+ "wis": 11,
+ "cha": 13
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The dragon can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "acid",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "acid breath (recharge 5\u20136)",
+ "text": "The dragon exhales acid in a 15-\u00ad\u2010foot line that is 5 feet wide. Each creature in that line must make a DC 11 Dexterity saving throw, taking 22 (5d8) acid damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/black_pudding.json b/parsed/creatures/black_pudding.json
new file mode 100644
index 0000000..4040d80
--- /dev/null
+++ b/parsed/creatures/black_pudding.json
@@ -0,0 +1,146 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft., climb 20 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "acid",
+ "qualifiers": []
+ },
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "lightning",
+ "qualifiers": []
+ },
+ {
+ "type": "slashing",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "blinded",
+ "qualifiers": []
+ },
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "deafened",
+ "qualifiers": []
+ },
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "prone",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "blindsight 60 ft. (blind beyond this radius)"
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 10,
+ "hit_die_sides": 10,
+ "name": "Black Pudding",
+ "type": "ooze",
+ "cr": 4.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 16,
+ "dex": 5,
+ "con": 16,
+ "int": 1,
+ "wis": 6,
+ "cha": 1
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amorphous",
+ "text": "The pudding can move through a space as narrow as 1 inch wide without squeezing.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "corrosive form",
+ "text": "A creature that touches the pudding or hits it with a melee attack while within 5 feet of it takes 4 (1d8) acid damage. Any nonmagical weapon made of metal or wood that hits the pudding corrodes. After dealing damage, the weapon takes a permanent and cumulative \u22121 penalty to damage rolls. If its penalty drops to \u22125, the weapon is destroyed. Nonmagical ammunition made of metal or wood that hits the pudding is destroyed after dealing damage. \nThe pudding can eat through 2-inch-thick, nonmagical wood or metal in 1 round.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spider climb",
+ "text": "The pudding can climb difficult surfaces, including upside down on ceilings, without needing to make an ability check.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "pseudopod",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "pseudopod",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 8,
+ "dmg_type": "acid",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". In addition, nonmagical armor worn by the target is partly dissolved and takes a permanent and cumulative \u22121 penalty to the AC it offers. The armor is destroyed if the penalty reduces its AC to 10.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "split",
+ "text": "When a pudding that is Medium or larger is subjected to lightning or slashing damage, it splits into two new puddings if it has at least 10 hit points. Each new pudding has hit points equal to half the original pudding's, rounded down. New puddings are one size smaller than the original pudding.",
+ "type": "reaction"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/blink_dog.json b/parsed/creatures/blink_dog.json
new file mode 100644
index 0000000..a289057
--- /dev/null
+++ b/parsed/creatures/blink_dog.json
@@ -0,0 +1,87 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "Blink Dog, understands Sylvan but can't speak it",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 4,
+ "hit_die_sides": 8,
+ "name": "Blink Dog",
+ "type": "fey",
+ "cr": 0.25,
+ "size": "Medium",
+ "alignment": "lawful good",
+ "stats": {
+ "str": 12,
+ "dex": 17,
+ "con": 12,
+ "int": 10,
+ "wis": 13,
+ "cha": 11
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "A blink dog takes its name from its ability to blink in and out of existence, a talent it uses to aid its attacks and to avoid harm.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen hearing and smell",
+ "text": "The dog has advantage on Wisdom (Perception) checks that rely on hearing or smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "teleport (recharge 4\u20136)",
+ "text": "The dog magically teleports, along with any equipment it is wearing or carrying, up to 40 feet to an unoccupied space it can see. Before or after teleporting, the dog can make one bite attack.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/blood_hawk.json b/parsed/creatures/blood_hawk.json
new file mode 100644
index 0000000..d68dc04
--- /dev/null
+++ b/parsed/creatures/blood_hawk.json
@@ -0,0 +1,88 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft., fly 60 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 2,
+ "hit_die_sides": 6,
+ "name": "Blood Hawk",
+ "type": "beast",
+ "cr": 0.125,
+ "size": "Small",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 6,
+ "dex": 14,
+ "con": 10,
+ "int": 3,
+ "wis": 14,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Taking its name from its crimson feathers and aggressive nature, the blood hawk fearlessly attacks almost any animal, stabbing it with its daggerlike beak. Blood hawks flock together in large numbers, attacking as a pack to take down prey.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen sight",
+ "text": "The hawk has advantage on Wisdom (Perception) checks that rely on sight.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "pack tactics",
+ "text": "The hawk has advantage on an attack roll against a creature if at least one of the hawk's allies is within 5 feet of the creature and the ally isn't incapacitated.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "beak",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "beak",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/blue_dragon_wyrmling.json b/parsed/creatures/blue_dragon_wyrmling.json
new file mode 100644
index 0000000..69cc07b
--- /dev/null
+++ b/parsed/creatures/blue_dragon_wyrmling.json
@@ -0,0 +1,100 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., burrow 15 ft., fly 60 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "lightning",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 10 ft.",
+ "darkvision 60 ft."
+ ],
+ "langs": "Draconic",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 8,
+ "hit_die_sides": 8,
+ "name": "Blue Dragon Wyrmling",
+ "type": "dragon",
+ "cr": 3.0,
+ "size": "Medium",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 17,
+ "dex": 10,
+ "con": 15,
+ "int": 12,
+ "wis": 11,
+ "cha": 15
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "lightning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "lightning breath (recharge 5\u20136)",
+ "text": "The dragon exhales lightning in a 30-\u00adfoot line that is 5 feet wide. Each creature in that line must make a DC 12 Dexterity saving throw, taking 22 (4d10) lightning damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/boar.json b/parsed/creatures/boar.json
new file mode 100644
index 0000000..d4b8c1f
--- /dev/null
+++ b/parsed/creatures/boar.json
@@ -0,0 +1,84 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 2,
+ "hit_die_sides": 8,
+ "name": "Boar",
+ "type": "beast",
+ "cr": 0.25,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 13,
+ "dex": 11,
+ "con": 12,
+ "int": 2,
+ "wis": 9,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 11
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "charge",
+ "text": "If the boar moves at least 20 feet straight toward a target and then hits it with a tusk attack on the same turn, the target takes an extra 3 (1d6) slashing damage. If the target is a creature, it must succeed on a DC 11 Strength saving throw or be knocked prone.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "relentless (recharges after a short or long rest)",
+ "text": "If the boar takes 7 damage or less that would reduce it to 0 hit points, it is reduced to 1 hit point instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "tusk",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tusk",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/bone_devil.json b/parsed/creatures/bone_devil.json
new file mode 100644
index 0000000..62ecadd
--- /dev/null
+++ b/parsed/creatures/bone_devil.json
@@ -0,0 +1,177 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., fly 40 ft.",
+ "saves": [
+ "int",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "Infernal, telepathy 120 ft.",
+ "skills": {
+ "Deception": 1,
+ "Insight": 1
+ },
+ "hit_die_count": 15,
+ "hit_die_sides": 10,
+ "name": "Bone Devil",
+ "type": "fiend (devil)",
+ "cr": 9.0,
+ "size": "Large",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 18,
+ "dex": 16,
+ "con": 18,
+ "int": 13,
+ "wis": 14,
+ "cha": 16
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 19
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "devil's sight",
+ "text": "Magical darkness doesn't impede the devil's darkvision.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The devil has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The devil makes three attacks: two with its claws and one with its sting.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "sting",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "sting",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 5,
+ "dmg_die_sides": 6,
+ "dmg_type": "poison",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target must succeed on a DC 14 Constitution saving throw or become 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.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 4
+} \ No newline at end of file
diff --git a/parsed/creatures/brass_dragon_wyrmling.json b/parsed/creatures/brass_dragon_wyrmling.json
new file mode 100644
index 0000000..f3f5835
--- /dev/null
+++ b/parsed/creatures/brass_dragon_wyrmling.json
@@ -0,0 +1,106 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., burrow 15 ft., fly 60 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 10 ft.",
+ "darkvision 60 ft."
+ ],
+ "langs": "Draconic",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 3,
+ "hit_die_sides": 8,
+ "name": "Brass Dragon Wyrmling",
+ "type": "dragon",
+ "cr": 1.0,
+ "size": "Medium",
+ "alignment": "chaotic good",
+ "stats": {
+ "str": 15,
+ "dex": 10,
+ "con": 13,
+ "int": 10,
+ "wis": 11,
+ "cha": 13
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 16
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "breath weapons (recharge 5\u20136)",
+ "text": "The dragon uses one of the following breath weapons.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "fire breath",
+ "text": "The dragon exhales fire in an 20-foot line that is 5 feet wide. Each creature in that line must make a DC 11 Dexterity saving throw, taking 14 (4d6) fire damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "sleep breath",
+ "text": "The dragon exhales sleep gas in a 15-foot cone. Each creature in that area must succeed on a DC 11 Constitution saving throw or fall unconscious for 1 minute. This effect ends for a creature if the creature takes damage or someone uses an action to wake it.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/bronze_dragon_wyrmling.json b/parsed/creatures/bronze_dragon_wyrmling.json
new file mode 100644
index 0000000..34ef5ef
--- /dev/null
+++ b/parsed/creatures/bronze_dragon_wyrmling.json
@@ -0,0 +1,112 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., fly 60 ft., swim 30 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "lightning",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 10 ft.",
+ "darkvision 60 ft."
+ ],
+ "langs": "Draconic",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 5,
+ "hit_die_sides": 8,
+ "name": "Bronze Dragon Wyrmling",
+ "type": "dragon",
+ "cr": 2.0,
+ "size": "Medium",
+ "alignment": "lawful good",
+ "stats": {
+ "str": 17,
+ "dex": 10,
+ "con": 15,
+ "int": 12,
+ "wis": 11,
+ "cha": 15
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The dragon can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "breath weapons (recharge 5\u20136)",
+ "text": "The dragon uses one of the following breath weapons.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "lightning breath",
+ "text": "The dragon exhales lightning in a 40-foot line that is 5 feet wide. Each creature in that line must make a DC 12 Dexterity saving throw, taking 16 (3d10) lightning damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "repulsion breath",
+ "text": "The dragon exhales repulsion energy in a 30-foot cone. Each creature in that area must succeed on a DC 12 Strength saving throw. On a failed save, the creature is pushed 30 feet away from the dragon.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/brown_bear.json b/parsed/creatures/brown_bear.json
new file mode 100644
index 0000000..563892e
--- /dev/null
+++ b/parsed/creatures/brown_bear.json
@@ -0,0 +1,118 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., climb 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 4,
+ "hit_die_sides": 10,
+ "name": "Brown Bear",
+ "type": "beast",
+ "cr": 1.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 19,
+ "dex": 10,
+ "con": 16,
+ "int": 2,
+ "wis": 13,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 11
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen smell",
+ "text": "The bear has advantage on Wisdom (Perception) checks that rely on smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The bear makes two attacks: one with its bite and one with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": 5,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": 5,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/bugbear.json b/parsed/creatures/bugbear.json
new file mode 100644
index 0000000..1981055
--- /dev/null
+++ b/parsed/creatures/bugbear.json
@@ -0,0 +1,140 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Common, Goblin",
+ "skills": {
+ "Stealth": 2,
+ "Survival": 1
+ },
+ "hit_die_count": 5,
+ "hit_die_sides": 8,
+ "name": "Bugbear",
+ "type": "humanoid",
+ "cr": 1.0,
+ "size": "Medium",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 15,
+ "dex": 14,
+ "con": 13,
+ "int": 8,
+ "wis": 11,
+ "cha": 9
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "hide",
+ "type": "armor",
+ "text": "hide armor"
+ },
+ {
+ "entry": "item",
+ "name": "shield",
+ "type": "armor",
+ "text": "shield armor"
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "brute",
+ "text": "A melee weapon deals one extra die of its damage when the bugbear hits with it (included in the attack).",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "surprise attack",
+ "text": "If the bugbear surprises a creature and hits it with an attack during the first round of combat, the target takes an extra 7 (2d6) damage from the attack.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "morningstar",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "morningstar",
+ "cost": 1500,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": 4.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "javelin",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "javelin",
+ "cost": 50,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": true
+ }
+ ],
+ "weight": 2.0,
+ "range": [
+ 30,
+ 120
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": "at range.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/bulette.json b/parsed/creatures/bulette.json
new file mode 100644
index 0000000..faf0d52
--- /dev/null
+++ b/parsed/creatures/bulette.json
@@ -0,0 +1,89 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., burrow 40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft.",
+ "tremorsense 60 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Perception": 2
+ },
+ "hit_die_count": 9,
+ "hit_die_sides": 10,
+ "name": "Bulette",
+ "type": "monstrosity",
+ "cr": 5.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 19,
+ "dex": 11,
+ "con": 21,
+ "int": 2,
+ "wis": 10,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "standing leap",
+ "text": "The bulette's long jump is up to 30 feet and its high jump is up to 15 feet, with or without a running start.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 12,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "deadly leap",
+ "text": "If the bulette jumps at least 15 feet as part of its movement, it can then use this action to land on its feet in a space that contains one or more other creatures. Each of those creatures must succeed on a DC 16 Strength or Dexterity saving throw (target's choice) or be knocked prone and take 14 (3d6 + 4) bludgeoning damage plus 14 (3d6 + 4) slashing damage. On a successful save, the creature takes only half the damage, isn't knocked prone, and is pushed 5 feet out of the bulette's space into an unoccupied space of the creature's choice. If no unoccupied space is within range, the creature instead falls prone in the bulette's space.",
+ "type": "action"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/camel.json b/parsed/creatures/camel.json
new file mode 100644
index 0000000..94c3d3a
--- /dev/null
+++ b/parsed/creatures/camel.json
@@ -0,0 +1,72 @@
+{
+ "entry": "creatures",
+ "speed": "50 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 2,
+ "hit_die_sides": 10,
+ "name": "Camel",
+ "type": "beast",
+ "cr": 0.125,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 16,
+ "dex": 8,
+ "con": 14,
+ "int": 2,
+ "wis": 8,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": 0,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/cat.json b/parsed/creatures/cat.json
new file mode 100644
index 0000000..b80ccb0
--- /dev/null
+++ b/parsed/creatures/cat.json
@@ -0,0 +1,81 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., climb 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 1,
+ "hit_die_sides": 4,
+ "name": "Cat",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Tiny",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 3,
+ "dex": 15,
+ "con": 10,
+ "int": 3,
+ "wis": 12,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen smell",
+ "text": "The cat has advantage on Wisdom (Perception) checks that rely on smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 1,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": 0,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/centaur.json b/parsed/creatures/centaur.json
new file mode 100644
index 0000000..c7a1428
--- /dev/null
+++ b/parsed/creatures/centaur.json
@@ -0,0 +1,101 @@
+{
+ "entry": "creatures",
+ "speed": "50 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "Elvish, Sylvan",
+ "skills": {
+ "Athletics": 1,
+ "Perception": 1,
+ "Survival": 1
+ },
+ "hit_die_count": 6,
+ "hit_die_sides": 10,
+ "name": "Centaur",
+ "type": "monstrosity",
+ "cr": 2.0,
+ "size": "Large",
+ "alignment": "neutral good",
+ "stats": {
+ "str": 18,
+ "dex": 14,
+ "con": 14,
+ "int": 9,
+ "wis": 13,
+ "cha": 11
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "pike",
+ "type": "weapons",
+ "text": "."
+ },
+ {
+ "entry": "item",
+ "name": "longbow",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "charge",
+ "text": "If the centaur moves at least 30 feet 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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The centaur makes two attacks: one with its pike and one with its hooves or two with its longbow.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "hooves",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "hooves",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/chain_devil.json b/parsed/creatures/chain_devil.json
new file mode 100644
index 0000000..90a4c79
--- /dev/null
+++ b/parsed/creatures/chain_devil.json
@@ -0,0 +1,148 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "Infernal, telepathy 120 ft.",
+ "skills": {},
+ "hit_die_count": 10,
+ "hit_die_sides": 8,
+ "name": "Chain Devil",
+ "type": "fiend (devil)",
+ "cr": 8.0,
+ "size": "Medium",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 18,
+ "dex": 15,
+ "con": 18,
+ "int": 11,
+ "wis": 12,
+ "cha": 14
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 16
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "devil's sight",
+ "text": "Magical darkness doesn't impede the devil's darkvision.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The devil has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The devil makes two attacks with its chains.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "chain",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "chain",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". The target is grappled (escape DC 14) if the devil isn't already grappling a creature. Until this grapple ends, the target is restrained and takes 7 (2d6) piercing damage at the start of each of its turns.",
+ "toHitOverride": 8,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "animate chains (recharges after a short or long rest)",
+ "text": "Up to four chains the devil can see within 60 feet of it magically sprout razor-\u00adedged barbs and animate under the devil's control, provided that the chains aren't being worn or carried. \nEach animated chain is an object with AC 20, 20 hit points, resistance to piercing damage, and immunity to psychic and thunder damage. When the devil uses multiattack on its turn, it can use each animated chain to make one additional chain attack. An animated chain can grapple one 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.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "unnerving mask",
+ "text": "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.",
+ "type": "reaction"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/chimera.json b/parsed/creatures/chimera.json
new file mode 100644
index 0000000..c56ca85
--- /dev/null
+++ b/parsed/creatures/chimera.json
@@ -0,0 +1,152 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., fly 60 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "understands Draconic but can't speak",
+ "skills": {
+ "Perception": 2
+ },
+ "hit_die_count": 12,
+ "hit_die_sides": 10,
+ "name": "Chimera",
+ "type": "monstrosity",
+ "cr": 6.0,
+ "size": "Large",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 19,
+ "dex": 11,
+ "con": 19,
+ "int": 3,
+ "wis": 14,
+ "cha": 10
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 14
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "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 can use the breath in place of its bite or horns.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "horns",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "horns",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 12,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "fire breath (recharge 5\u20136)",
+ "text": "The dragon head exhales fire in a 15-\u00ad\u2010foot cone. Each creature in that 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.",
+ "type": "action"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/chuul.json b/parsed/creatures/chuul.json
new file mode 100644
index 0000000..7b0b471
--- /dev/null
+++ b/parsed/creatures/chuul.json
@@ -0,0 +1,110 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., swim 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "understands Deep Speech but can't speak",
+ "skills": {
+ "Perception": 2
+ },
+ "hit_die_count": 11,
+ "hit_die_sides": 10,
+ "name": "Chuul",
+ "type": "abberation",
+ "cr": 4.0,
+ "size": "Large",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 19,
+ "dex": 10,
+ "con": 16,
+ "int": 5,
+ "wis": 11,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 16
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The chuul can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "sense magic",
+ "text": "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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The chuul makes two pincer attacks. If the chuul is grappling a creature, the chuul can also use its tentacles once.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "pincer",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "pincer",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". The target is grappled (escape DC 14) if it is a Large or smaller creature and the chuul doesn't have two other creatures grappled.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tentacles",
+ "text": "One creature grappled by the chuul must succeed on a DC 13 Constitution saving throw or be poisoned for 1 minute. Until this poison ends, the target is paralyzed. The target can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/clay_golem.json b/parsed/creatures/clay_golem.json
new file mode 100644
index 0000000..7c1aa64
--- /dev/null
+++ b/parsed/creatures/clay_golem.json
@@ -0,0 +1,175 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "acid",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ },
+ {
+ "type": "psychic",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical",
+ "non-adamantine"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical",
+ "non-adamantine"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical",
+ "non-adamantine"
+ ]
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "petrified",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "understands the languages of its creator but can't speak",
+ "skills": {},
+ "hit_die_count": 14,
+ "hit_die_sides": 10,
+ "name": "Clay Golem",
+ "type": "construct",
+ "cr": 9.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 20,
+ "dex": 9,
+ "con": 18,
+ "int": 3,
+ "wis": 8,
+ "cha": 1
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 14
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "acid absorption",
+ "text": "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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "berserk",
+ "text": "Whenever the golem starts its turn with 60 hit points or fewer, roll a d6. On a 6, the golem goes berserk. On each of its turns while berserk, the golem attacks the nearest creature it can see. If no creature is near enough to move to and attack, the golem attacks an object, with preference for an object smaller than itself. Once the golem goes berserk, it continues to do so until it is destroyed or regains all its hit points.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "immutable form",
+ "text": "The golem is immune to any spell or effect that would alter its form.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The golem has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic weapons",
+ "text": "The golem's weapon attacks are magical.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The golem makes two slam attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "slam",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "slam",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature, it must succeed on a DC 15 Constitution saving throw or have its hit point maximum reduced by an amount equal to the damage taken. The target dies if this attack reduces its hit point maximum to 0. The reduction lasts until removed by the greater restoration spell or other magic.",
+ "toHitOverride": 8,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "haste (recharge 5\u20136)",
+ "text": "Until the end of its next turn, the golem magically gains a +2 bonus to its AC, has advantage on Dexterity saving throws, and can use its slam attack as a bonus action.",
+ "type": "action"
+ }
+ ],
+ "prof": 4
+} \ No newline at end of file
diff --git a/parsed/creatures/cloaker.json b/parsed/creatures/cloaker.json
new file mode 100644
index 0000000..8b67786
--- /dev/null
+++ b/parsed/creatures/cloaker.json
@@ -0,0 +1,144 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft., fly 40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Deep Speech, Undercommon",
+ "skills": {
+ "Stealth": 1
+ },
+ "hit_die_count": 12,
+ "hit_die_sides": 10,
+ "name": "Cloaker",
+ "type": "abberation",
+ "cr": 8.0,
+ "size": "Large",
+ "alignment": "chaotic neutral",
+ "stats": {
+ "str": 17,
+ "dex": 15,
+ "con": 12,
+ "int": 13,
+ "wis": 12,
+ "cha": 14
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 14
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "damage transfer",
+ "text": "While attached to a creature, the cloaker takes only half the damage dealt to it (rounded down), and that creature takes the other half.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "false appearance",
+ "text": "While the cloaker remains motionless without its underside exposed, it is indistinguishable from a dark leather cloak.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "light sensitivity",
+ "text": "While in bright light, the cloaker has disadvantage on attack rolls and Wisdom (Perception) checks that rely on sight.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The cloaker makes two attacks: one with its bite and one with its tail.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and if the target is Large or smaller, the cloaker attaches to it. If the cloaker has advantage against the target, the cloaker attaches to the target's head, and the target is blinded and unable to breathe while the cloaker is attached. While attached, the cloaker can make this attack only against the target and has advantage on the attack roll. The cloaker can detach itself by spending 5 feet of its movement. A creature, including the target, can take its action to detach the cloaker by succeeding on a DC 16 Strength check.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "moan",
+ "text": "Each creature within 60 feet of the cloaker that can hear its moan and that isn't an aberration must succeed on a DC 13 Wisdom saving throw or become frightened until the end of the cloaker's next turn. If a creature's saving throw is successful, the creature is immune to the cloaker's moan for the next 24 hours.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "phantasms (recharges after a short or long rest)",
+ "text": "The cloaker magically creates three illusory duplicates of itself if it isn't in bright light. The duplicates move with it and mimic its actions, shifting position so as to make it impossible to track which cloaker is the real one. If the cloaker is ever in an area of bright light, the duplicates disappear. \nWhenever any creature targets the cloaker with an attack or a harmful spell while a duplicate remains, that creature rolls randomly to determine whether it targets the cloaker or one of the duplicates. A creature is unaffected by this magical effect if it can't see or if it relies on senses other than sight. \nA duplicate has the cloaker's AC and uses its saving throws. If an attack hits a duplicate, or if a duplicate fails a saving throw against an effect that deals damage, the duplicate disappears.",
+ "type": "action"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/cloud_giant.json b/parsed/creatures/cloud_giant.json
new file mode 100644
index 0000000..9dab9fc
--- /dev/null
+++ b/parsed/creatures/cloud_giant.json
@@ -0,0 +1,157 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "Common, Giant",
+ "skills": {
+ "Insight": 1,
+ "Perception": 1
+ },
+ "hit_die_count": 16,
+ "hit_die_sides": 12,
+ "name": "Cloud Giant",
+ "type": "giant",
+ "cr": 9.0,
+ "size": "Huge",
+ "alignment": "neutral good (50%) or neutral evil (50%)",
+ "stats": {
+ "str": 27,
+ "dex": 10,
+ "con": 22,
+ "int": 12,
+ "wis": 16,
+ "cha": 16
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 14
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen smell",
+ "text": "The giant has advantage on Wisdom (Perception) checks that rely on smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The giant's innate spellcasting ability is Charisma. It can innately cast the following spells, requiring no material components: \nAt will: **_detect magic_**, **_fog cloud_**, **_light_** \n3/day each: **_feather fall_**, **_fly_**, **_misty step_**, **_telekinesis_** \n1/day each: **_control weather_**, **_gaseous form_**",
+ "type": "spells",
+ "spellcasting_ability": "cha",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "detect magic",
+ "fog cloud",
+ "light"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "feather fall",
+ "fly",
+ "misty step",
+ "telekinesis"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "control weather",
+ "gaseous form"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The giant makes two morningstar attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "morningstar",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "morningstar",
+ "cost": 1500,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": 4.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "rock",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "rock",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 10,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 60,
+ 240
+ ],
+ "reach": 0,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": "str"
+ }
+ }
+ ],
+ "prof": 4
+} \ No newline at end of file
diff --git a/parsed/creatures/cockatrice.json b/parsed/creatures/cockatrice.json
new file mode 100644
index 0000000..0470f01
--- /dev/null
+++ b/parsed/creatures/cockatrice.json
@@ -0,0 +1,76 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft., fly 40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 6,
+ "hit_die_sides": 6,
+ "name": "Cockatrice",
+ "type": "monstrosity",
+ "cr": 0.5,
+ "size": "Small",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 6,
+ "dex": 12,
+ "con": 12,
+ "int": 2,
+ "wis": 13,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ", and the target must succeed on a DC 11 Constitution saving throw against being magically petrified. On a failed save, the creature begins to turn to stone and is restrained. It must repeat the saving throw at the end of its next turn. On a success, the effect ends. On a failure, the creature is petrified for 24 hours.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/commoner.json b/parsed/creatures/commoner.json
new file mode 100644
index 0000000..97976bf
--- /dev/null
+++ b/parsed/creatures/commoner.json
@@ -0,0 +1,46 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "any one language (usually Common)",
+ "skills": {},
+ "hit_die_count": 1,
+ "hit_die_sides": 8,
+ "name": "Commoner",
+ "type": "humanoid (any race)",
+ "cr": 0.0,
+ "size": "Medium",
+ "alignment": "any alignment",
+ "stats": {
+ "str": 10,
+ "dex": 10,
+ "con": 10,
+ "int": 10,
+ "wis": 10,
+ "cha": 10
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "club",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Commoners include peasants, serfs, slaves, servants, pilgrims, merchants, artisans, and hermits.",
+ "features": [],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/constrictor_snake.json b/parsed/creatures/constrictor_snake.json
new file mode 100644
index 0000000..892c0ba
--- /dev/null
+++ b/parsed/creatures/constrictor_snake.json
@@ -0,0 +1,106 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., swim 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 10 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 2,
+ "hit_die_sides": 10,
+ "name": "Constrictor Snake",
+ "type": "beast",
+ "cr": 0.25,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 15,
+ "dex": 14,
+ "con": 12,
+ "int": 1,
+ "wis": 10,
+ "cha": 3
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "constrict",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "constrict",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target is grappled (escape DC 14). Until this grapple ends, the creature is restrained, and the snake can't constrict another target.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/copper_dragon_wyrmling.json b/parsed/creatures/copper_dragon_wyrmling.json
new file mode 100644
index 0000000..851a104
--- /dev/null
+++ b/parsed/creatures/copper_dragon_wyrmling.json
@@ -0,0 +1,106 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., climb 30 ft., fly 60 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "acid",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 10 ft.",
+ "darkvision 60 ft."
+ ],
+ "langs": "Draconic",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 4,
+ "hit_die_sides": 8,
+ "name": "Copper Dragon Wyrmling",
+ "type": "dragon",
+ "cr": 1.0,
+ "size": "Medium",
+ "alignment": "chaotic good",
+ "stats": {
+ "str": 15,
+ "dex": 12,
+ "con": 13,
+ "int": 14,
+ "wis": 11,
+ "cha": 13
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 16
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "breath weapons (recharge 5\u20136)",
+ "text": "The dragon uses one of the following breath weapons.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "acid breath",
+ "text": "The dragon exhales acid in an 20-foot line that is 5 feet wide. Each creature in that line must make a DC 11 Dexterity saving throw, taking 18 (4d8) acid damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "slowing breath",
+ "text": "The dragon exhales gas in a 15-foot cone. Each creature in that area must succeed on a DC 11 Constitution saving throw. On a failed save, the creature can't use reactions, its speed is halved, and it can't make more than one attack on its turn. In addition, the creature can use either an action or a bonus action on its turn, but not both. These effects last for 1 minute. The creature can repeat the saving throw at the end of each of its turns, ending the effect on itself with a successful save.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/couatl.json b/parsed/creatures/couatl.json
new file mode 100644
index 0000000..1fdb6e9
--- /dev/null
+++ b/parsed/creatures/couatl.json
@@ -0,0 +1,196 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., fly 90 ft.",
+ "saves": [
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [
+ {
+ "type": "radiant",
+ "qualifiers": []
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "psychic",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "truesight 120 ft."
+ ],
+ "langs": "all, telepathy 120 ft.",
+ "skills": {},
+ "hit_die_count": 13,
+ "hit_die_sides": 8,
+ "name": "Couatl",
+ "type": "celestial",
+ "cr": 4.0,
+ "size": "Medium",
+ "alignment": "lawful good",
+ "stats": {
+ "str": 16,
+ "dex": 20,
+ "con": 17,
+ "int": 18,
+ "wis": 20,
+ "cha": 18
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 19
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The couatl's spellcasting ability is Charisma (spell save DC 14). It can innately cast the following spells, requiring only verbal components: \nAt will: **_detect evil and good_**, **_detect magic_**, **_detect thoughts_** \n3/day each: **_bless_**, **_create food and water_**, **_cure wounds_**, **_lesser restoration_**, **_protection from poison_**, **_sanctuary_**, **_shield_** \n1/day each: **_dream_**, **_greater restoration_**, **_scrying_**",
+ "type": "spells",
+ "spellcasting_ability": "cha",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "detect evil and good",
+ "detect magic",
+ "detect thoughts"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "bless",
+ "create food and water",
+ "cure wounds",
+ "lesser restoration",
+ "protection from poison",
+ "sanctuary",
+ "shield"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "dream",
+ "greater restoration",
+ "scrying"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "magic weapons",
+ "text": "The couatl's weapon attacks are magical.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "shielded mind",
+ "text": "The couatl is immune to scrying and to any effect that would sense its emotions, read its thoughts, or detect its location.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target must succeed on a DC 13 Constitution saving throw or be poisoned for 24 hours. Until this poison ends, the target is unconscious. Another creature can use an action to shake the target awake.",
+ "toHitOverride": 8,
+ "dmgBonusOverride": 5,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "constrict",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "constrict",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [
+ "one Medium or smaller creature"
+ ],
+ "weapon_type": "unknown",
+ "text": ", and the target is grappled (escape DC 15). Until this grapple ends, the target is restrained, and the couatl can't constrict another target.",
+ "toHitOverride": 6,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "change shape",
+ "text": "The couatl magically polymorphs into a humanoid or beast that has a challenge rating equal to or less than its own, or back into its true form. It reverts to its true form if it dies. Any equipment it is wearing or carrying is absorbed or borne by the new form (the couatl's choice). \nIn a new form, the couatl retains its game statistics and ability to speak, but its AC, movement modes, Strength, Dexterity, and other actions are replaced by those of the new form, and it gains any statistics and capabilities (except class features, legendary actions, 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.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/crab.json b/parsed/creatures/crab.json
new file mode 100644
index 0000000..1fb23d8
--- /dev/null
+++ b/parsed/creatures/crab.json
@@ -0,0 +1,82 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft., swim 20 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 30 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Stealth": 1
+ },
+ "hit_die_count": 1,
+ "hit_die_sides": 4,
+ "name": "Crab",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Tiny",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 2,
+ "dex": 11,
+ "con": 10,
+ "int": 1,
+ "wis": 8,
+ "cha": 2
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 11
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The crab can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 1,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": 0,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/crocodile.json b/parsed/creatures/crocodile.json
new file mode 100644
index 0000000..190ad41
--- /dev/null
+++ b/parsed/creatures/crocodile.json
@@ -0,0 +1,80 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft., swim 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Stealth": 1
+ },
+ "hit_die_count": 3,
+ "hit_die_sides": 10,
+ "name": "Crocodile",
+ "type": "beast",
+ "cr": 0.5,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 15,
+ "dex": 10,
+ "con": 13,
+ "int": 2,
+ "wis": 10,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 12
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "hold breath",
+ "text": "The crocodile can hold its breath for 15 minutes.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target is grappled (escape DC 12). Until this grapple ends, the target is restrained, and the crocodile can't bite another target.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/cult_fanatic.json b/parsed/creatures/cult_fanatic.json
new file mode 100644
index 0000000..6986dbc
--- /dev/null
+++ b/parsed/creatures/cult_fanatic.json
@@ -0,0 +1,102 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "any one language (usually Common)",
+ "skills": {
+ "Deception": 1,
+ "Persuasion": 1,
+ "Religion": 1
+ },
+ "hit_die_count": 6,
+ "hit_die_sides": 8,
+ "name": "Cult Fanatic",
+ "type": "humanoid (any race)",
+ "cr": 2.0,
+ "size": "Medium",
+ "alignment": "any non-good alignment",
+ "stats": {
+ "str": 11,
+ "dex": 14,
+ "con": 12,
+ "int": 10,
+ "wis": 13,
+ "cha": 14
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "leather",
+ "type": "armor",
+ "text": "leather armor"
+ },
+ {
+ "entry": "item",
+ "name": "dagger",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Fanatics are often part of a cult's leadership, using their charisma and dogma to influence and prey on those of weak will. Most are interested in personal power above all else.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "dark devotion",
+ "text": "The fanatic has advantage on saving throws against being charmed or frightened.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The fanatic is a 4th-level spellcaster. Its spellcasting ability is Wisdom (spell save DC 11, +3 to hit with spell attacks). The fanatic has the following cleric spells prepared: \nCantrips (at will): **_light, sacred flame, thaumaturgy_** \n1st level (4 slots): **_command, inflict wounds, shield of faith_** \n2nd level (3 slots): **_hold person, spiritual weapon_**",
+ "type": "spells",
+ "spellcasting_ability": "wis",
+ "innate": false,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "light",
+ "sacred flame",
+ "thaumaturgy"
+ ]
+ },
+ {
+ "slots": 4,
+ "spells": [
+ "command",
+ "inflict wounds",
+ "shield of faith"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "hold person",
+ "spiritual weapon"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The fanatic makes two melee attacks.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/cultist.json b/parsed/creatures/cultist.json
new file mode 100644
index 0000000..c6cfac0
--- /dev/null
+++ b/parsed/creatures/cultist.json
@@ -0,0 +1,62 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "any one language (usually Common)",
+ "skills": {
+ "Deception": 1,
+ "Religion": 1
+ },
+ "hit_die_count": 2,
+ "hit_die_sides": 8,
+ "name": "Cultist",
+ "type": "humanoid (any race)",
+ "cr": 0.125,
+ "size": "Medium",
+ "alignment": "any non-good alignment",
+ "stats": {
+ "str": 11,
+ "dex": 12,
+ "con": 10,
+ "int": 10,
+ "wis": 11,
+ "cha": 10
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "leather",
+ "type": "armor",
+ "text": "leather armor"
+ },
+ {
+ "entry": "item",
+ "name": "scimitar",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Cultists swear allegiance to dark powers such as elemental princes, demon lords, or archdevils. Most conceal their loyalties to avoid being ostracized, imprisoned, or executed for their beliefs. Unlike evil acolytes, cultists often show signs of insanity in their beliefs and practices.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "dark devotion",
+ "text": "The cultist has advantage on saving throws against being charmed or frightened.",
+ "type": "feature"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/darkmantle.json b/parsed/creatures/darkmantle.json
new file mode 100644
index 0000000..2c1b583
--- /dev/null
+++ b/parsed/creatures/darkmantle.json
@@ -0,0 +1,94 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft., fly 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 60 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Stealth": 1
+ },
+ "hit_die_count": 5,
+ "hit_die_sides": 6,
+ "name": "Darkmantle",
+ "type": "monstrosity",
+ "cr": 0.5,
+ "size": "Small",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 16,
+ "dex": 12,
+ "con": 13,
+ "int": 2,
+ "wis": 10,
+ "cha": 0
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "echolocation",
+ "text": "The darkmantle can't use its blindsight while deafened.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "false appearance",
+ "text": "While the darkmantle remains motionless, it is indistinguishable from a cave formation such as a stalactite or stalagmite.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "crush",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "crush",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the darkmantle attaches to the target. If the target is Medium or smaller and the darkmantle has advantage on the attack roll, it attaches by engulfing the target's head, and the target is also blinded and unable to breathe while the darkmantle is attached in this way. \nWhile attached to the target, the darkmantle can attack no other creature except the target but has advantage on its attack rolls. The darkmantle's speed also becomes 0, it can't benefit from any bonus to its speed, and it moves with the target. \nA creature can detach the darkmantle by making a successful DC 13 Strength check as an action. On its turn, the darkmantle can detach itself from the target by using 5 feet of movement.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "darkness aura (1/day)",
+ "text": "A 15-\u00ad\u2010foot radius of magical darkness extends out from the darkmantle, moves with it, and spreads around corners. The darkness lasts as long as the darkmantle maintains concentration, up to 10 minutes (as if concentrating on a spell). Darkvision can't penetrate this darkness, and no natural light can illuminate it. If any of the darkness overlaps with an area of light created by a spell of 2nd level or lower, the spell creating the light is dispelled.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/death_dog.json b/parsed/creatures/death_dog.json
new file mode 100644
index 0000000..9210acc
--- /dev/null
+++ b/parsed/creatures/death_dog.json
@@ -0,0 +1,89 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 6,
+ "hit_die_sides": 8,
+ "name": "Death Dog",
+ "type": "monstrosity",
+ "cr": 1.0,
+ "size": "Medium",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 15,
+ "dex": 14,
+ "con": 14,
+ "int": 3,
+ "wis": 13,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "A death dog is an ugly two-headed hound that roams plains, and deserts. Hate burns in a death dog's heart, and a taste for humanoid flesh drives it to attack travelers and explorers. Death dog saliva carries a foul disease that causes a victim's flesh to slowly rot off the bone.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "two-headed",
+ "text": "The dog has advantage on Wisdom (Perception) checks and on saving throws against being blinded, charmed, deafened, frightened, stunned, or knocked unconscious.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dog makes two bite attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature, it must succeed on a DC 12 Constitution saving throw against disease or become poisoned until the disease is cured. Every 24 hours that elapse, the creature must repeat the saving throw, reducing its hit point maximum by 5 (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.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/deer.json b/parsed/creatures/deer.json
new file mode 100644
index 0000000..d859584
--- /dev/null
+++ b/parsed/creatures/deer.json
@@ -0,0 +1,72 @@
+{
+ "entry": "creatures",
+ "speed": "50 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 1,
+ "hit_die_sides": 8,
+ "name": "Deer",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 11,
+ "dex": 16,
+ "con": 11,
+ "int": 2,
+ "wis": 14,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/deva.json b/parsed/creatures/deva.json
new file mode 100644
index 0000000..7457c3e
--- /dev/null
+++ b/parsed/creatures/deva.json
@@ -0,0 +1,175 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., fly 90 ft.",
+ "saves": [
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [
+ {
+ "type": "radiant",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "all, telepathy 120 ft.",
+ "skills": {
+ "Insight": 1,
+ "Perception": 1
+ },
+ "hit_die_count": 16,
+ "hit_die_sides": 8,
+ "name": "Deva",
+ "type": "celestial",
+ "cr": 10.0,
+ "size": "Medium",
+ "alignment": "lawful good",
+ "stats": {
+ "str": 18,
+ "dex": 18,
+ "con": 18,
+ "int": 17,
+ "wis": 20,
+ "cha": 20
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "angelic weapons",
+ "text": "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 attack).",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The deva's spellcasting ability is Charisma (spell save DC 17). The deva can innately cast the following spells, requiring only verbal components: \nAt will: **_detect evil and good_** \n1/day each: **_commune_**, **_raise dead_**",
+ "type": "spells",
+ "spellcasting_ability": "cha",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "detect evil and good"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "commune",
+ "raise dead"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The deva has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The deva makes two melee attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "mace",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "mace",
+ "cost": 500,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 8,
+ "dmg_type": "radiant",
+ "is_or": false
+ }
+ ],
+ "weight": 4.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "healing touch (3/day)",
+ "text": "The deva touches another creature. The target magically regains 20 (4d8 + 2) hit points and is freed from any curse, disease, poison, blindness, or deafness.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "change shape",
+ "text": "The deva magically polymorphs into a humanoid or beast that has a challenge rating equal to or less than its own, or back into its true form. It reverts to its true form if it dies. Any equipment it is wearing or carrying is absorbed or borne by the new form (the deva's choice). \nIn a new form, the deva retains its game statistics and ability to speak, but its AC, movement modes, Strength, Dexterity, and special senses are replaced by those of the new form, and it gains any statistics and capabilities (except class features, legendary actions, and lair actions) that the new form has but that it lacks.",
+ "type": "action"
+ }
+ ],
+ "prof": 4
+} \ No newline at end of file
diff --git a/parsed/creatures/dire_wolf.json b/parsed/creatures/dire_wolf.json
new file mode 100644
index 0000000..d970cc8
--- /dev/null
+++ b/parsed/creatures/dire_wolf.json
@@ -0,0 +1,87 @@
+{
+ "entry": "creatures",
+ "speed": "50 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 5,
+ "hit_die_sides": 10,
+ "name": "Dire Wolf",
+ "type": "beast",
+ "cr": 1.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 17,
+ "dex": 15,
+ "con": 15,
+ "int": 3,
+ "wis": 12,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 14
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen hearing and smell",
+ "text": "The wolf has advantage on Wisdom (Perception) checks that rely on hearing or smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "pack tactics",
+ "text": "The wolf has advantage on an attack roll against a creature if at least one of the wolf's allies is within 5 feet of the creature and the ally isn't incapacitated.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature, it must succeed on a DC 13 Strength saving throw or be knocked prone.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/djinni.json b/parsed/creatures/djinni.json
new file mode 100644
index 0000000..b80a37d
--- /dev/null
+++ b/parsed/creatures/djinni.json
@@ -0,0 +1,142 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., fly 90 ft.",
+ "saves": [
+ "dex",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "lightning",
+ "qualifiers": []
+ },
+ {
+ "type": "thunder",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "Auran",
+ "skills": {},
+ "hit_die_count": 14,
+ "hit_die_sides": 10,
+ "name": "Djinni",
+ "type": "elemental",
+ "cr": 11.0,
+ "size": "Large",
+ "alignment": "chaotic good",
+ "stats": {
+ "str": 21,
+ "dex": 15,
+ "con": 22,
+ "int": 15,
+ "wis": 16,
+ "cha": 20
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "elemental demise",
+ "text": "If the djinni dies, its body disintegrates into a warm breeze, leaving behind only equipment the djinni was wearing or carrying.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The djinni's innate spellcasting ability is Charisma (spell save DC 17, +9 to hit with spell attacks). It can innately cast the following spells, requiring no material components: \nAt will: **_detect evil and good_**, **_detect magic_**, **_thunderwave_** \n3/day each: **_create food and water_** (can create wine instead of water), **_tongues_**, **_wind walk_** \n1/day each: **_conjure elemental_** (air elemental only), **_creation_**, **_gaseous form_**, **_invisibility_**, **_major image_**, **_plane shift_**",
+ "type": "spells",
+ "spellcasting_ability": "cha",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "detect evil and good",
+ "detect magic",
+ "thunderwave"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "create food and water",
+ "tongues",
+ "wind walk"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "conjure elemental",
+ "creation",
+ "gaseous form",
+ "invisibility",
+ "major image",
+ "plane shift"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The djinni makes three scimitar attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "scimitar",
+ "text": "_Melee Weapon Attack:_ +9 to hit, reach 5 ft., one target. _Hit:_ 12 (2d6 + 5) slashing damage plus 3 (1d6) lightning or thunder damage (djinni's choice).",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "scimitar",
+ "cost": 2500,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": 3.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": "plus 3 (1d6) lightning or thunder damage (djinni's choice).",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "create whirlwind",
+ "text": "A 5-foot-radius, 30-foot-tall cylinder of swirling air magically forms on a point the djinni can see within 120 feet of it. The whirlwind lasts as long as the djinni maintains concentration (as if concentrating on a spell). Any creature but the djinni that enters the whirlwind must succeed on a DC 18 Strength saving throw or be restrained by it. The djinni can move the whirlwind up to 60 feet as an action, and creatures restrained by the whirlwind move with it. The whirlwind ends if the djinni loses sight of it. \nA creature can use its action to free a creature restrained by the whirlwind, including itself, by succeeding on a DC 18 Strength check. If the check succeeds, the creature is no longer restrained and moves to the nearest space outside the whirlwind.",
+ "type": "action"
+ }
+ ],
+ "prof": 4
+} \ No newline at end of file
diff --git a/parsed/creatures/doppelganger.json b/parsed/creatures/doppelganger.json
new file mode 100644
index 0000000..837cb92
--- /dev/null
+++ b/parsed/creatures/doppelganger.json
@@ -0,0 +1,114 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Common",
+ "skills": {
+ "Deception": 2,
+ "Insight": 1
+ },
+ "hit_die_count": 8,
+ "hit_die_sides": 8,
+ "name": "Doppelganger",
+ "type": "monstrosity",
+ "cr": 3.0,
+ "size": "Medium",
+ "alignment": "neutral",
+ "stats": {
+ "str": 11,
+ "dex": 18,
+ "con": 14,
+ "int": 11,
+ "wis": 12,
+ "cha": 14
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "shapechanger",
+ "text": "The doppelganger can use its action to polymorph into a Small or Medium humanoid it has seen, or back into its true form. Its statistics, other than its size, are the same in each form. Any equipment it is wearing or carrying isn't transformed. It reverts to its true form if it dies.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "ambusher",
+ "text": "The doppelganger has advantage on attack rolls against any creature it has surprised.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "surprise attack",
+ "text": "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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The doppelganger makes two melee attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "slam",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "slam",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "read thoughts",
+ "text": "The doppelganger magically reads the surface thoughts of one creature within 60 feet of it. The effect can penetrate barriers, but 3 feet of wood or dirt, 2 feet of stone, 2 inches of metal, or a thin sheet of lead blocks it. While the target is in range, the doppelganger can continue reading its thoughts, as long as the doppelganger's concentration isn't broken (as if concentrating on a spell). While reading the target's mind, the doppelganger has advantage on Wisdom (Insight) and Charisma (Deception, Intimidation, and Persuasion) checks against the target.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/draft_horse.json b/parsed/creatures/draft_horse.json
new file mode 100644
index 0000000..b91f543
--- /dev/null
+++ b/parsed/creatures/draft_horse.json
@@ -0,0 +1,72 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 3,
+ "hit_die_sides": 10,
+ "name": "Draft Horse",
+ "type": "beast",
+ "cr": 0.25,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 18,
+ "dex": 10,
+ "con": 12,
+ "int": 2,
+ "wis": 11,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "hooves",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "hooves",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 4,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/dragon_turtle.json b/parsed/creatures/dragon_turtle.json
new file mode 100644
index 0000000..f858205
--- /dev/null
+++ b/parsed/creatures/dragon_turtle.json
@@ -0,0 +1,165 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft., swim 40 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis"
+ ],
+ "d_resistances": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "Aquan, Draconic",
+ "skills": {},
+ "hit_die_count": 22,
+ "hit_die_sides": 20,
+ "name": "Dragon Turtle",
+ "type": "dragon",
+ "cr": 17.0,
+ "size": "Gargantuan",
+ "alignment": "neutral",
+ "stats": {
+ "str": 25,
+ "dex": 10,
+ "con": 20,
+ "int": 10,
+ "wis": 12,
+ "cha": 12
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 20
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The dragon turtle can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "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 attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 12,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 12,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature, it must succeed on a DC 20 Strength saving throw or be pushed up to 10 feet away from the dragon turtle and knocked prone.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "steam breath (recharge 5\u20136)",
+ "text": "The dragon turtle exhales scalding steam in a 60-foot cone. Each creature in that area must make a DC 18 Constitution saving throw, taking 52 (15d6) fire damage on a failed save, or half as much damage on a successful one. Being underwater doesn't grant resistance against this damage.",
+ "type": "action"
+ }
+ ],
+ "prof": 6
+} \ No newline at end of file
diff --git a/parsed/creatures/dretch.json b/parsed/creatures/dretch.json
new file mode 100644
index 0000000..a6b59b0
--- /dev/null
+++ b/parsed/creatures/dretch.json
@@ -0,0 +1,141 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "lightning",
+ "qualifiers": []
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Abyssal, telepathy 60 ft. (works only with creatures that understand Abyssal)",
+ "skills": {},
+ "hit_die_count": 4,
+ "hit_die_sides": 6,
+ "name": "Dretch",
+ "type": "fiend (demon)",
+ "cr": 0.25,
+ "size": "Small",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 11,
+ "dex": 11,
+ "con": 12,
+ "int": 5,
+ "wis": 8,
+ "cha": 3
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 11
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dretch makes two attacks: one with its bite and one with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 4,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "fetid cloud (1/day)",
+ "text": "A 10\u00ad\u2010foot radius of disgusting green gas extends out from the dretch. The gas spreads around corners, and its area is lightly obscured. It lasts for 1 minute or until a strong wind disperses it. Any creature that starts its turn in that area must succeed on a DC 11 Constitution saving throw or be poisoned until the start of its next turn. While 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.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/drider.json b/parsed/creatures/drider.json
new file mode 100644
index 0000000..1dc6d34
--- /dev/null
+++ b/parsed/creatures/drider.json
@@ -0,0 +1,175 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., climb 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "Elvish, Undercommon",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 2
+ },
+ "hit_die_count": 13,
+ "hit_die_sides": 10,
+ "name": "Drider",
+ "type": "monstrosity",
+ "cr": 6.0,
+ "size": "Large",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 16,
+ "dex": 16,
+ "con": 18,
+ "int": 13,
+ "wis": 14,
+ "cha": 12
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "longsword",
+ "type": "weapons",
+ "text": "if used with two hands."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 19
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "fey ancestry",
+ "text": "The drider has advantage on saving throws against being charmed, and magic can't put the drider to sleep.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The drider's innate spellcasting ability is Wisdom (spell save DC 13). The drider can innately cast the following spells, requiring no material components: \nAt will: **_dancing lights_** \n1/day each: **_darkness_**, **_faerie fire_**",
+ "type": "spells",
+ "spellcasting_ability": "wis",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "dancing lights"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "darkness",
+ "faerie fire"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "spider climb",
+ "text": "The drider can climb difficult surfaces, including upside down on ceilings, without needing to make an ability check. Sunlight Sensitivity. While in sunlight, the drider has disadvantage on attack rolls, as well as on Wisdom (Perception) checks that rely on sight.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "web walker",
+ "text": "The drider ignores movement restrictions caused by webbing.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The drider makes three attacks, either with its longsword or its longbow. It can replace one of those attacks with a bite attack.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "poison",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": 0,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "longbow",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "longbow",
+ "cost": 5000,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "poison",
+ "is_or": false
+ }
+ ],
+ "weight": 2.0,
+ "range": [
+ 150,
+ 600
+ ],
+ "reach": 0,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/druid.json b/parsed/creatures/druid.json
new file mode 100644
index 0000000..5d006ce
--- /dev/null
+++ b/parsed/creatures/druid.json
@@ -0,0 +1,122 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "Druidic plus any two languages",
+ "skills": {
+ "Medicine": 1,
+ "Nature": 1,
+ "Perception": 1
+ },
+ "hit_die_count": 5,
+ "hit_die_sides": 8,
+ "name": "Druid",
+ "type": "humanoid (any race)",
+ "cr": 2.0,
+ "size": "Medium",
+ "alignment": "any alignment",
+ "stats": {
+ "str": 10,
+ "dex": 12,
+ "con": 13,
+ "int": 12,
+ "wis": 15,
+ "cha": 11
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Druids dwell in forests and other secluded wilderness locations, where they protect the natural world from monsters and the encroachment of civilization. Some are tribal shamans who heal the sick, pray to animal spirits, and provide spiritual guidance.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "* 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: \nCantrips (at will): **_druidcraft, produce flame, shillelagh_** \n1st level (4 slots): **_entangle, longstrider, speak with animals, thunderwave_** \n2nd level (3 slots): **_animal messenger, barkskin_**",
+ "type": "spells",
+ "spellcasting_ability": "wis",
+ "innate": false,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "druidcraft",
+ "produce flame",
+ "shillelagh"
+ ]
+ },
+ {
+ "slots": 4,
+ "spells": [
+ "entangle",
+ "longstrider",
+ "speak with animals",
+ "thunderwave"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "animal messenger",
+ "barkskin"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "quarterstaff",
+ "text": "_Melee Weapon Attack:_ +2 to hit (+4 to hit with shillelagh), reach 5 ft., one target. _Hit:_ 3 (1d6) bludgeoning damage, 4 (1d8) bludgeoning damage if wielded with two hands, or 6 (1d8 + 2) bludgeoning damage with shillelagh.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "quarterstaff",
+ "cost": 20,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": true
+ }
+ ],
+ "weight": 4.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": "with shillelagh.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/dryad.json b/parsed/creatures/dryad.json
new file mode 100644
index 0000000..0dbd817
--- /dev/null
+++ b/parsed/creatures/dryad.json
@@ -0,0 +1,107 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Elvish, Sylvan",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 2
+ },
+ "hit_die_count": 5,
+ "hit_die_sides": 8,
+ "name": "Dryad",
+ "type": "fey",
+ "cr": 1.0,
+ "size": "Medium",
+ "alignment": "neutral",
+ "stats": {
+ "str": 10,
+ "dex": 12,
+ "con": 11,
+ "int": 14,
+ "wis": 15,
+ "cha": 18
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "club",
+ "type": "weapons",
+ "text": "with shillelagh."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The dryad's innate spellcasting ability is Charisma (spell save DC 14). The dryad can innately cast the following spells, requiring no material components: \nAt will: **_druidcraft_** \n3/day each: **_entangle_**, **_goodberry_** \n1/day each: **_barkskin_**, **_pass without trace_**, **_shillelagh_**",
+ "type": "spells",
+ "spellcasting_ability": "cha",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "druidcraft"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "entangle",
+ "goodberry"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "barkskin",
+ "pass without trace",
+ "shillelagh"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The dryad has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "speak with beasts and plants",
+ "text": "The dryad can communicate with beasts and plants as if they shared a language.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "tree stride",
+ "text": "Once on her turn, the dryad can use 10 feet of her movement to step magically into one living tree within her reach and emerge from a second living tree within 60 feet of the first tree, appearing in an unoccupied space within 5 feet of the second tree. Both trees must be Large or bigger.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "fey charm",
+ "text": "The dryad targets one humanoid or beast that she can see within 30 feet of her. If the target can see the dryad, it must succeed on a DC 14 Wisdom saving throw or be magically charmed. The charmed creature regards the dryad as a trusted friend to be heeded and protected. Although the target isn't under the dryad's control, it takes the dryad's requests or actions in the most favorable way it can. \nEach time the dryad or its allies do anything harmful to the target, it can repeat the saving throw, ending the effect on itself on a success. Otherwise, the effect lasts 24 hours or until the dryad dies, is on a different plane of existence from the target, or ends the effect as a bonus action. If a target's saving throw is successful, the target is immune to the dryad's Fey Charm for the next 24 hours. \nThe dryad can have no more than one humanoid and up to three beasts charmed at a time.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/duergar.json b/parsed/creatures/duergar.json
new file mode 100644
index 0000000..441f4b5
--- /dev/null
+++ b/parsed/creatures/duergar.json
@@ -0,0 +1,96 @@
+{
+ "entry": "creatures",
+ "speed": "25 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "Dwarvish, Undercommon",
+ "skills": {},
+ "hit_die_count": 4,
+ "hit_die_sides": 8,
+ "name": "Duergar",
+ "type": "humanoid (dwarf)",
+ "cr": 1.0,
+ "size": "Medium",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 14,
+ "dex": 11,
+ "con": 14,
+ "int": 11,
+ "wis": 10,
+ "cha": 9
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "scale mail",
+ "type": "armor",
+ "text": "scale mail armor"
+ },
+ {
+ "entry": "item",
+ "name": "shield",
+ "type": "armor",
+ "text": "shield armor"
+ },
+ {
+ "entry": "item",
+ "name": "war pick",
+ "type": "weapons",
+ "text": "while enlarged."
+ },
+ {
+ "entry": "item",
+ "name": "javelin",
+ "type": "weapons",
+ "text": "while enlarged."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "duergar resilience",
+ "text": "The duergar has advantage on saving throws against poison, spells, and illusions, as well as to resist being charmed or paralyzed.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "sunlight sensitivity",
+ "text": "While in sunlight, the duergar has disadvantage on attack rolls, as well as on Wisdom (Perception) checks that rely on sight.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "enlarge (recharges after a short or long rest)",
+ "text": "For 1 minute, the duergar magically increases in size, along with anything it is wearing or carrying. While enlarged, the duergar is Large, doubles its damage dice on Strength-based weapon attacks (included in the attacks), and makes Strength checks and Strength saving throws with advantage. If the duergar lacks the room to become Large, it attains the maximum size possible in the space available.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "invisibility (recharges after a short or long rest)",
+ "text": "The duergar magically turns invisible until it attacks, casts a spell, or uses its Enlarge, or until its concentration is broken, up to 1 hour (as if concentrating on a spell). Any equipment the duergar wears or carries is invisible with it.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/dust_mephit.json b/parsed/creatures/dust_mephit.json
new file mode 100644
index 0000000..ad7dc58
--- /dev/null
+++ b/parsed/creatures/dust_mephit.json
@@ -0,0 +1,122 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., fly 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Auran, Terran",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 5,
+ "hit_die_sides": 6,
+ "name": "Dust Mephit",
+ "type": "elemental",
+ "cr": 0.5,
+ "size": "Small",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 5,
+ "dex": 14,
+ "con": 10,
+ "int": 9,
+ "wis": 11,
+ "cha": 10
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "death burst",
+ "text": "When the mephit dies, it explodes in a burst of dust. Each creature within 5 feet of it must then succeed on a DC 10 Constitution saving throw or be blinded for 1 minute. A blinded creature can repeat the saving throw on each of its turns, ending the effect on itself on a success.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The mephit can innately cast **_sleep_**, requiring no material components. Its innate spellcasting ability is Charisma.",
+ "type": "spells",
+ "spellcasting_ability": "cha",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 1,
+ "spells": [
+ "sleep"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "blinding breath (recharge 6)",
+ "text": "The mephit exhales a 15- foot cone of blinding dust. Each creature in that area must succeed on a DC 10 Dexterity saving throw or be blinded for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/eagle.json b/parsed/creatures/eagle.json
new file mode 100644
index 0000000..482450f
--- /dev/null
+++ b/parsed/creatures/eagle.json
@@ -0,0 +1,82 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft., fly 60 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 1,
+ "hit_die_sides": 6,
+ "name": "Eagle",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Small",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 6,
+ "dex": 15,
+ "con": 10,
+ "int": 2,
+ "wis": 14,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen sight",
+ "text": "The eagle has advantage on Wisdom (Perception) checks that rely on sight.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "talons",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "talons",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/earth_elemental.json b/parsed/creatures/earth_elemental.json
new file mode 100644
index 0000000..672ef34
--- /dev/null
+++ b/parsed/creatures/earth_elemental.json
@@ -0,0 +1,143 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., burrow 30 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [
+ {
+ "type": "thunder",
+ "qualifiers": []
+ }
+ ],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "petrified",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ },
+ {
+ "type": "unconscious",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft.",
+ "tremorsense 60 ft."
+ ],
+ "langs": "Terran",
+ "skills": {},
+ "hit_die_count": 12,
+ "hit_die_sides": 10,
+ "name": "Earth Elemental",
+ "type": "elemental",
+ "cr": 5.0,
+ "size": "Large",
+ "alignment": "neutral",
+ "stats": {
+ "str": 20,
+ "dex": 8,
+ "con": 20,
+ "int": 5,
+ "wis": 10,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "earth glide",
+ "text": "The elemental can burrow through nonmagical, unworked earth and stone. While doing so, the elemental doesn't disturb the material it moves through.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "siege monster",
+ "text": "The elemental deals double damage to objects and structures.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The elemental makes two slam attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "slam",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "slam",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/efreeti.json b/parsed/creatures/efreeti.json
new file mode 100644
index 0000000..03e859c
--- /dev/null
+++ b/parsed/creatures/efreeti.json
@@ -0,0 +1,167 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., fly 60 ft.",
+ "saves": [
+ "int",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "Ignan",
+ "skills": {},
+ "hit_die_count": 16,
+ "hit_die_sides": 10,
+ "name": "Efreeti",
+ "type": "elemental",
+ "cr": 11.0,
+ "size": "Large",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 22,
+ "dex": 12,
+ "con": 24,
+ "int": 16,
+ "wis": 15,
+ "cha": 16
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "elemental demise",
+ "text": "If the efreeti dies, its body disintegrates in a flash of fire and puff of smoke, leaving behind only equipment the efreeti was wearing or carrying.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The efreeti's innate spellcasting ability is Charisma (spell save DC 15, +7 to hit with spell attacks). It can innately cast the following spells, requiring no material components: \nAt will: **_detect magic_** \n3/day: **_enlarge/reduce_**, **_tongues_** \n1/day each: **_conjure elemental_** (fire elemental only), **_gaseous form_**, **_invisibility_**, **_major image_**, **_plane shift_**, **_wall of fire_**",
+ "type": "spells",
+ "spellcasting_ability": "cha",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "detect magic"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "enlarge/reduce",
+ "tongues"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "conjure elemental",
+ "gaseous form",
+ "invisibility",
+ "major image",
+ "plane shift",
+ "wall of fire"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The efreeti makes two scimitar attacks or uses its Hurl Flame twice.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "scimitar",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "scimitar",
+ "cost": 2500,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "fire",
+ "is_or": false
+ }
+ ],
+ "weight": 3.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "hurl flame",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "spell attack",
+ "name": "hurl flame",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 5,
+ "dmg_die_sides": 6,
+ "dmg_type": "fire",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 120,
+ 120
+ ],
+ "reach": 0,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": 0,
+ "abilityOverride": "int"
+ }
+ }
+ ],
+ "prof": 4
+} \ No newline at end of file
diff --git a/parsed/creatures/elephant.json b/parsed/creatures/elephant.json
new file mode 100644
index 0000000..8ed009d
--- /dev/null
+++ b/parsed/creatures/elephant.json
@@ -0,0 +1,112 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 8,
+ "hit_die_sides": 12,
+ "name": "Elephant",
+ "type": "beast",
+ "cr": 4.0,
+ "size": "Huge",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 22,
+ "dex": 9,
+ "con": 17,
+ "int": 3,
+ "wis": 11,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 12
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "trampling charge",
+ "text": "If the elephant moves at least 20 feet 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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "gore",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "gore",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "stomp",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "stomp",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 10,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "one prone creature"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/elf_drow.json b/parsed/creatures/elf_drow.json
new file mode 100644
index 0000000..229c00c
--- /dev/null
+++ b/parsed/creatures/elf_drow.json
@@ -0,0 +1,99 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "Elvish, Undercommon",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 3,
+ "hit_die_sides": 8,
+ "name": "Elf, Drow",
+ "type": "humanoid (elf)",
+ "cr": 0.25,
+ "size": "Medium",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 10,
+ "dex": 14,
+ "con": 10,
+ "int": 11,
+ "wis": 11,
+ "cha": 12
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "chain shirt",
+ "type": "armor",
+ "text": "chain shirt armor"
+ },
+ {
+ "entry": "item",
+ "name": "shortsword",
+ "type": "weapons",
+ "text": "."
+ },
+ {
+ "entry": "item",
+ "name": "hand crossbow",
+ "type": "weapons",
+ "text": ", and the target must succeed on a DC 13 Constitution saving throw or be poisoned for 1 hour. If the saving throw fails by 5 or more, the target is also unconscious while poisoned in this way. The target wakes up if it takes damage or if another creature takes an action to shake it awake."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "fey ancestry",
+ "text": "The drow has advantage on saving throws against being charmed, and magic can't put the drow to sleep.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The drow's spellcasting ability is Charisma (spell save DC 11). It can innately cast the following spells, requiring no material components: \nAt will: **_dancing lights_** \n1/day each: **_darkness_**, **_faerie fire_**",
+ "type": "spells",
+ "spellcasting_ability": "cha",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "dancing lights"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "darkness",
+ "faerie fire"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "sunlight sensitivity",
+ "text": "While in sunlight, the drow has disadvantage on attack rolls, as well as on Wisdom (Perception) checks that rely on sight.",
+ "type": "feature"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/elk.json b/parsed/creatures/elk.json
new file mode 100644
index 0000000..b16de5d
--- /dev/null
+++ b/parsed/creatures/elk.json
@@ -0,0 +1,112 @@
+{
+ "entry": "creatures",
+ "speed": "50 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 2,
+ "hit_die_sides": 10,
+ "name": "Elk",
+ "type": "beast",
+ "cr": 0.25,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 16,
+ "dex": 10,
+ "con": 12,
+ "int": 2,
+ "wis": 10,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "charge",
+ "text": "If the elk moves at least 20 feet 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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "ram",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "ram",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "hooves",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "hooves",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 4,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "one prone creature"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/erinyes.json b/parsed/creatures/erinyes.json
new file mode 100644
index 0000000..7eefd86
--- /dev/null
+++ b/parsed/creatures/erinyes.json
@@ -0,0 +1,196 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., fly 60 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "truesight 120 ft."
+ ],
+ "langs": "Infernal, telepathy 120 ft.",
+ "skills": {},
+ "hit_die_count": 18,
+ "hit_die_sides": 8,
+ "name": "Erinyes",
+ "type": "fiend (devil)",
+ "cr": 12.0,
+ "size": "Medium",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 18,
+ "dex": 16,
+ "con": 18,
+ "int": 14,
+ "wis": 14,
+ "cha": 18
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "plate",
+ "type": "armor",
+ "text": "plate armor"
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "hellish weapons",
+ "text": "The erinyes's weapon attacks are magical and deal an extra 13 (3d8) poison damage on a hit (included in the attacks).",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The erinyes has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The erinyes makes three attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "longsword",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "longsword",
+ "cost": 1500,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "slashing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 8,
+ "dmg_type": "poison",
+ "is_or": false
+ }
+ ],
+ "weight": 3.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "versatile"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "longbow",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "longbow",
+ "cost": 5000,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 8,
+ "dmg_type": "poison",
+ "is_or": false
+ }
+ ],
+ "weight": 2.0,
+ "range": [
+ 150,
+ 600
+ ],
+ "reach": 0,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target must succeed on a DC 14 Constitution saving throw or be poisoned. The poison lasts until it is removed by the lesser restoration spell or similar magic.",
+ "toHitOverride": null,
+ "dmgBonusOverride": 3,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "parry",
+ "text": "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.",
+ "type": "reaction"
+ }
+ ],
+ "prof": 4
+} \ No newline at end of file
diff --git a/parsed/creatures/ettercap.json b/parsed/creatures/ettercap.json
new file mode 100644
index 0000000..d21371d
--- /dev/null
+++ b/parsed/creatures/ettercap.json
@@ -0,0 +1,162 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., climb 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 1,
+ "Survival": 1
+ },
+ "hit_die_count": 8,
+ "hit_die_sides": 8,
+ "name": "Ettercap",
+ "type": "monstrosity",
+ "cr": 2.0,
+ "size": "Medium",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 14,
+ "dex": 15,
+ "con": 13,
+ "int": 7,
+ "wis": 12,
+ "cha": 8
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "spider climb",
+ "text": "The ettercap can climb difficult surfaces, including upside down on ceilings, without needing to make an ability check. Web Sense. While in contact with a web, the ettercap knows the exact location of any other creature in contact with the same web.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "web walker",
+ "text": "The ettercap ignores movement restrictions caused by webbing.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The ettercap makes two attacks: one with its bite and one with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "poison",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". The target must succeed on a DC 11 Constitution saving throw or be poisoned for 1 minute. The creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 4,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "web",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "web",
+ "cost": -1,
+ "damage": [],
+ "weight": -1.0,
+ "range": [
+ 30,
+ 60
+ ],
+ "reach": 0,
+ "properties": [
+ "one Large or smaller creature",
+ "recharge 5\u20136"
+ ],
+ "weapon_type": "unknown",
+ "text": "The creature is restrained by webbing. As an action, the restrained creature can make a DC 11 Strength check, escaping from the webbing on a success. The effect also ends if the webbing is destroyed. The webbing has AC 10, 5 hit points, vulnerability to fire damage, and immunity to bludgeoning, poison, and psychic damage.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/ettin.json b/parsed/creatures/ettin.json
new file mode 100644
index 0000000..fadaec9
--- /dev/null
+++ b/parsed/creatures/ettin.json
@@ -0,0 +1,126 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Giant, Orc",
+ "skills": {
+ "Perception": 2
+ },
+ "hit_die_count": 10,
+ "hit_die_sides": 10,
+ "name": "Ettin",
+ "type": "giant",
+ "cr": 4.0,
+ "size": "Large",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 21,
+ "dex": 8,
+ "con": 17,
+ "int": 6,
+ "wis": 10,
+ "cha": 8
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 12
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "two heads",
+ "text": "The ettin has advantage on Wisdom (Perception) checks and on saving throws against being blinded, charmed, deafened, frightened, stunned, and knocked unconscious.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "wakeful",
+ "text": "When one of the ettin's heads is asleep, its other head is awake.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The ettin makes two attacks: one with its battleaxe and one with its morningstar.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "battleaxe",
+ "text": "_Melee Weapon Attack:_ +7 to hit, reach 5 ft., one target. _Hit:_ 14 (2d8 + 5) slashing damage.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "battleaxe",
+ "cost": 1000,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": 4.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "morningstar",
+ "text": "_Melee Weapon Attack:_ +7 to hit, reach 5 ft., one target. _Hit:_ 14 (2d8 + 5) piercing damage.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "morningstar",
+ "cost": 1500,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": 4.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/fire_elemental.json b/parsed/creatures/fire_elemental.json
new file mode 100644
index 0000000..2b30924
--- /dev/null
+++ b/parsed/creatures/fire_elemental.json
@@ -0,0 +1,161 @@
+{
+ "entry": "creatures",
+ "speed": "50 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "grappled",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "petrified",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ },
+ {
+ "type": "prone",
+ "qualifiers": []
+ },
+ {
+ "type": "restrained",
+ "qualifiers": []
+ },
+ {
+ "type": "unconscious",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Ignan",
+ "skills": {},
+ "hit_die_count": 12,
+ "hit_die_sides": 10,
+ "name": "Fire Elemental",
+ "type": "elemental",
+ "cr": 5.0,
+ "size": "Large",
+ "alignment": "neutral",
+ "stats": {
+ "str": 10,
+ "dex": 17,
+ "con": 16,
+ "int": 6,
+ "wis": 10,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "fire form",
+ "text": "The elemental can move through a space as narrow as 1 inch wide without squeezing. A creature that touches the elemental or hits it with a melee attack while within 5 feet of it takes 5 (1d10) fire damage. In addition, the elemental can enter a hostile creature's space and stop there. The first time it enters a creature's space on a turn, that creature takes 5 (1d10) fire damage and catches fire; until someone takes an action to douse the fire, the creature takes 5 (1d10) fire damage at the start of each of its turns.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "illumination",
+ "text": "The elemental sheds bright light in a 30-foot radius and dim light in an additional 30 feet.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "water susceptibility",
+ "text": "For every 5 feet the elemental moves in water, or for every gallon of water splashed on it, it takes 1 cold damage.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The elemental makes two touch attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "touch",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "touch",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "fire",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature or a flammable object, 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.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/fire_giant.json b/parsed/creatures/fire_giant.json
new file mode 100644
index 0000000..2b94389
--- /dev/null
+++ b/parsed/creatures/fire_giant.json
@@ -0,0 +1,129 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "Giant",
+ "skills": {
+ "Athletics": 1,
+ "Perception": 1
+ },
+ "hit_die_count": 13,
+ "hit_die_sides": 12,
+ "name": "Fire Giant",
+ "type": "giant",
+ "cr": 9.0,
+ "size": "Huge",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 25,
+ "dex": 9,
+ "con": 23,
+ "int": 10,
+ "wis": 14,
+ "cha": 13
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "plate",
+ "type": "armor",
+ "text": "plate armor"
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The giant makes two greatsword attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "greatsword",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "greatsword",
+ "cost": 5000,
+ "damage": [
+ {
+ "dmg_die_count": 6,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": 6.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "rock",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "rock",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 10,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 60,
+ 240
+ ],
+ "reach": 0,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": "str"
+ }
+ }
+ ],
+ "prof": 4
+} \ No newline at end of file
diff --git a/parsed/creatures/flesh_golem.json b/parsed/creatures/flesh_golem.json
new file mode 100644
index 0000000..5a30794
--- /dev/null
+++ b/parsed/creatures/flesh_golem.json
@@ -0,0 +1,171 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "lightning",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical",
+ "non-adamantine"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical",
+ "non-adamantine"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical",
+ "non-adamantine"
+ ]
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "petrified",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "understands the languages of its creator but can't speak",
+ "skills": {},
+ "hit_die_count": 11,
+ "hit_die_sides": 8,
+ "name": "Flesh Golem",
+ "type": "construct",
+ "cr": 5.0,
+ "size": "Medium",
+ "alignment": "neutral",
+ "stats": {
+ "str": 19,
+ "dex": 9,
+ "con": 18,
+ "int": 6,
+ "wis": 10,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "berserk",
+ "text": "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 berserk, the golem attacks the nearest creature it can see. If no creature is near enough to move to and attack, the golem attacks an object, with preference for an object smaller than itself. Once the golem goes berserk, it continues to do so until it is destroyed or regains all its hit points. \nThe golem's creator, if within 60 feet of the berserk golem, can try to calm it by speaking firmly and persuasively. The golem must be able to hear its creator, who must take an action to make a DC 15 Charisma (Persuasion) check. If the check succeeds, the golem ceases being berserk. If it takes damage while still at 40 hit points or fewer, the golem might go berserk again.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "aversion of fire",
+ "text": "If the golem takes fire damage, it has disadvantage on attack rolls and ability checks until the end of its next turn.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "immutable form",
+ "text": "The golem is immune to any spell or effect that would alter its form.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "lightning absorption",
+ "text": "Whenever the golem is subjected to lightning damage, it takes no damage and instead regains a number of hit points equal to the lightning damage dealt.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The golem has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic weapons",
+ "text": "The golem's weapon attacks are magical.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The golem makes two slam attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "slam",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "slam",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/flying_snake.json b/parsed/creatures/flying_snake.json
new file mode 100644
index 0000000..403ee80
--- /dev/null
+++ b/parsed/creatures/flying_snake.json
@@ -0,0 +1,88 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., fly 60 ft., swim 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 10 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 2,
+ "hit_die_sides": 4,
+ "name": "Flying Snake",
+ "type": "beast",
+ "cr": 0.125,
+ "size": "Tiny",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 4,
+ "dex": 18,
+ "con": 11,
+ "int": 2,
+ "wis": 12,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "A flying snake is a brightly colored, winged serpent found in remote jungles. Tribespeople and cultists sometimes domesticate flying snakes to serve as messengers that deliver scrolls wrapped in their coils.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "flyby",
+ "text": "The snake doesn't provoke opportunity attacks when it flies out of an enemy's reach.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 1,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 4,
+ "dmg_type": "poison",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/flying_sword.json b/parsed/creatures/flying_sword.json
new file mode 100644
index 0000000..1cabad6
--- /dev/null
+++ b/parsed/creatures/flying_sword.json
@@ -0,0 +1,101 @@
+{
+ "entry": "creatures",
+ "speed": "0 ft., fly 50 ft. (hover)",
+ "saves": [
+ "dex"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ },
+ {
+ "type": "psychic",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "blinded",
+ "qualifiers": []
+ },
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "deafened",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "petrified",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "blindsight 60 ft. (blind beyond this radius)"
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 5,
+ "hit_die_sides": 6,
+ "name": "Flying Sword",
+ "type": "construct",
+ "cr": 0.25,
+ "size": "Small",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 12,
+ "dex": 15,
+ "con": 11,
+ "int": 1,
+ "wis": 5,
+ "cha": 1
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "longsword",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "antimagic susceptibility",
+ "text": "The sword is incapacitated while in the area of an antimagic field. If targeted by **_dispel magic_**, the sword must succeed on a Constitution saving throw against the caster's spell save DC or fall unconscious for 1 minute.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "false appearance",
+ "text": "While the sword remains motionless and isn't flying, it is indistinguishable from a normal sword.",
+ "type": "feature"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/frog.json b/parsed/creatures/frog.json
new file mode 100644
index 0000000..2e9aef7
--- /dev/null
+++ b/parsed/creatures/frog.json
@@ -0,0 +1,57 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft., swim 20 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 30 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 1,
+ "hit_die_sides": 4,
+ "name": "Frog",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Tiny",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 1,
+ "dex": 13,
+ "con": 8,
+ "int": 1,
+ "wis": 8,
+ "cha": 3
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "A frog has no effective attacks. It feeds on small insects and typically dwells near water, in trees, or underground. The frog's statistics can also be used to represent a toad.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The frog can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "standing leap",
+ "text": "The frog's long jump is up to 10 feet and its high jump is up to 5 feet, with or without a running start.",
+ "type": "feature"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/frost_giant.json b/parsed/creatures/frost_giant.json
new file mode 100644
index 0000000..df71fe0
--- /dev/null
+++ b/parsed/creatures/frost_giant.json
@@ -0,0 +1,122 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "Giant",
+ "skills": {
+ "Athletics": 1,
+ "Perception": 1
+ },
+ "hit_die_count": 12,
+ "hit_die_sides": 12,
+ "name": "Frost Giant",
+ "type": "giant",
+ "cr": 8.0,
+ "size": "Huge",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 23,
+ "dex": 9,
+ "con": 21,
+ "int": 9,
+ "wis": 10,
+ "cha": 12
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "patchwork",
+ "bonus": 15
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The giant makes two greataxe attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "greataxe",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "greataxe",
+ "cost": 3000,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 12,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": 7.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "rock",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "rock",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 10,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 60,
+ 240
+ ],
+ "reach": 0,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": "str"
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/gargoyle.json b/parsed/creatures/gargoyle.json
new file mode 100644
index 0000000..cbc1d48
--- /dev/null
+++ b/parsed/creatures/gargoyle.json
@@ -0,0 +1,158 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., fly 60 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical",
+ "non-adamantine"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical",
+ "non-adamantine"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical",
+ "non-adamantine"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "petrified",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Terran",
+ "skills": {},
+ "hit_die_count": 7,
+ "hit_die_sides": 8,
+ "name": "Gargoyle",
+ "type": "elemental",
+ "cr": 2.0,
+ "size": "Medium",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 15,
+ "dex": 11,
+ "con": 16,
+ "int": 6,
+ "wis": 11,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 15
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "false appearance",
+ "text": "While the gargoyle remains motionless, it is indistinguishable from an inanimate statue.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The gargoyle makes two attacks: one with its bite and one with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/gelatinous_cube.json b/parsed/creatures/gelatinous_cube.json
new file mode 100644
index 0000000..204ed82
--- /dev/null
+++ b/parsed/creatures/gelatinous_cube.json
@@ -0,0 +1,117 @@
+{
+ "entry": "creatures",
+ "speed": "15 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [
+ {
+ "type": "blinded",
+ "qualifiers": []
+ },
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "deafened",
+ "qualifiers": []
+ },
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "prone",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "blindsight 60 ft. (blind beyond this radius)"
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 8,
+ "hit_die_sides": 10,
+ "name": "Gelatinous Cube",
+ "type": "ooze",
+ "cr": 2.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 14,
+ "dex": 3,
+ "con": 20,
+ "int": 1,
+ "wis": 6,
+ "cha": 1
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "ooze cube",
+ "text": "The cube takes up its entire space. Other creatures can enter the space, but a creature that does so is subjected to the cube's Engulf and has disadvantage on the saving throw. \nCreatures inside the cube can be seen but have total cover. \nA creature within 5 feet of the cube can take an action to pull a creature or object out of the cube. Doing so requires a successful DC 12 Strength check, and the creature making the attempt takes 10 (3d6) acid damage. \nThe cube can hold only one Large creature or up to four Medium or smaller creatures inside it at a time.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "transparent",
+ "text": "Even when the cube is in plain sight, it takes a successful DC 15 Wisdom (Perception) check to spot a cube that has neither moved nor attacked. A creature that tries to enter the cube's space while unaware of the cube is surprised by the cube.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "pseudopod",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "pseudopod",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 6,
+ "dmg_type": "acid",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": 0,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "engulf",
+ "text": "The cube moves up to its speed. While doing so, it can enter Large or smaller creatures' spaces. Whenever the cube enters a creature's space, the creature must make a DC 12 Dexterity saving throw. \nOn a successful save, the creature can choose to be pushed 5 feet back or to the side of the cube. A creature that chooses not to be pushed suffers the consequences of a failed saving throw. \nOn a failed save, the cube enters the creature's space, and the creature takes 10 (3d6) acid damage and is engulfed. The engulfed creature can't breathe, is restrained, and takes 21 (6d6) acid damage at the start of each of the cube's turns. When the cube moves, the engulfed creature moves with it. \nAn engulfed creature can try to escape by taking an action to make a DC 12 Strength check. On a success, the creature escapes and enters a space of its choice within 5 feet of the cube.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/ghast.json b/parsed/creatures/ghast.json
new file mode 100644
index 0000000..ec2de21
--- /dev/null
+++ b/parsed/creatures/ghast.json
@@ -0,0 +1,141 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "necrotic",
+ "qualifiers": []
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Common",
+ "skills": {},
+ "hit_die_count": 8,
+ "hit_die_sides": 8,
+ "name": "Ghast",
+ "type": "undead",
+ "cr": 2.0,
+ "size": "Medium",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 16,
+ "dex": 17,
+ "con": 10,
+ "int": 11,
+ "wis": 10,
+ "cha": 8
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "stench",
+ "text": "Any creature that starts its turn within 5 feet of the ghast must succeed on a DC 10 Constitution saving throw or be poisoned until the start of its next turn. On a successful saving throw, the creature is immune to the ghast's Stench for 24 hours.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "turning defiance",
+ "text": "The ghast and any ghouls within 30 feet of it have advantage on saving throws against effects that turn undead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": 3,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature other than an undead, it must succeed on a DC 10 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.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/ghost.json b/parsed/creatures/ghost.json
new file mode 100644
index 0000000..10f9e1d
--- /dev/null
+++ b/parsed/creatures/ghost.json
@@ -0,0 +1,189 @@
+{
+ "entry": "creatures",
+ "speed": "0 ft., fly 40 ft. (hover)",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "acid",
+ "qualifiers": []
+ },
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "lightning",
+ "qualifiers": []
+ },
+ {
+ "type": "thunder",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "necrotic",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "grappled",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "petrified",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ },
+ {
+ "type": "prone",
+ "qualifiers": []
+ },
+ {
+ "type": "restrained",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "any languages it knew in life",
+ "skills": {},
+ "hit_die_count": 10,
+ "hit_die_sides": 8,
+ "name": "Ghost",
+ "type": "undead",
+ "cr": 4.0,
+ "size": "Medium",
+ "alignment": "any alignment",
+ "stats": {
+ "str": 7,
+ "dex": 13,
+ "con": 10,
+ "int": 10,
+ "wis": 12,
+ "cha": 17
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "ethereal sight",
+ "text": "The ghost can see 60 feet into the Ethereal Plane when it is on the Material Plane, and vice versa.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "incorporeal movement",
+ "text": "The ghost can move through other creatures and objects as if they were difficult terrain. It takes 5 (1d10) force damage if it ends its turn inside an object.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "withering touch",
+ "text": "_Melee Weapon Attack:_ +5 to hit, reach 5 ft., one target. _Hit:_ 17 (4d6 + 3) necrotic damage.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "withering touch",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 6,
+ "dmg_type": "necrotic",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": 5,
+ "dmgBonusOverride": 3,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "etherealness",
+ "text": "The ghost enters the Ethereal Plane from the Material Plane, or vice versa. It is visible on the Material Plane while it is in the Border Ethereal, and vice versa, yet it can't affect or be affected by anything on the other plane.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "horrifying visage",
+ "text": "Each non-undead creature within 60 feet of the ghost that can see it must succeed on a DC 13 Wisdom saving throw or be frightened for 1 minute. If the save fails by 5 or more, the target also ages 1d4 \u00d7 10 years. A frightened target can repeat the saving throw at the end of each of its turns, ending the frightened condition on itself on a success. If a target's saving throw is successful or the effect ends for it, the target is immune to this ghost's Horrifying Visage for the next 24 hours. The aging effect can be reversed with a greater restoration spell, but only within 24 hours of it occurring.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "possession (recharge 6)",
+ "text": "One humanoid that the ghost can see within 5 feet of it must succeed on a DC 13 Charisma saving throw or be possessed by the ghost; the ghost then disappears, and the target is incapacitated and loses control of its body. The ghost now controls the body but doesn't deprive the target of awareness. The ghost can't be targeted by any attack, spell, or other effect, except ones that turn undead, and it retains its alignment, Intelligence, Wisdom, Charisma, and immunity to being charmed and frightened. It otherwise uses the possessed target's statistics, but doesn't gain access to the target's knowledge, class features, or proficiencies. \nThe possession lasts until the body drops to 0 hit points, the ghost ends it as a bonus action, or the ghost is turned or forced out by an effect like the dispel evil and good spell. When the possession ends, the ghost reappears in an unoccupied space within 5 feet of the body. The target is immune to this ghost's Possession for 24 hours after succeeding on the saving throw or after the possession ends.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/ghoul.json b/parsed/creatures/ghoul.json
new file mode 100644
index 0000000..5f92f1d
--- /dev/null
+++ b/parsed/creatures/ghoul.json
@@ -0,0 +1,126 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Common",
+ "skills": {},
+ "hit_die_count": 5,
+ "hit_die_sides": 8,
+ "name": "Ghoul",
+ "type": "undead",
+ "cr": 1.0,
+ "size": "Medium",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 13,
+ "dex": 15,
+ "con": 10,
+ "int": 7,
+ "wis": 10,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": 2,
+ "dmgBonusOverride": 2,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 4,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature other than an elf or undead, it must succeed on a DC 10 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.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_ape.json b/parsed/creatures/giant_ape.json
new file mode 100644
index 0000000..1a80bc1
--- /dev/null
+++ b/parsed/creatures/giant_ape.json
@@ -0,0 +1,113 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., climb 40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Athletics": 1,
+ "Perception": 1
+ },
+ "hit_die_count": 15,
+ "hit_die_sides": 12,
+ "name": "Giant Ape",
+ "type": "beast",
+ "cr": 7.0,
+ "size": "Huge",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 23,
+ "dex": 14,
+ "con": 18,
+ "int": 7,
+ "wis": 12,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The ape makes two fist attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "fist",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "fist",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 10,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "rock",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "rock",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 7,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 50,
+ 100
+ ],
+ "reach": 0,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": "str"
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_badger.json b/parsed/creatures/giant_badger.json
new file mode 100644
index 0000000..ca6ba6b
--- /dev/null
+++ b/parsed/creatures/giant_badger.json
@@ -0,0 +1,118 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., burrow 10 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 30 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 2,
+ "hit_die_sides": 8,
+ "name": "Giant Badger",
+ "type": "beast",
+ "cr": 0.25,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 13,
+ "dex": 10,
+ "con": 15,
+ "int": 2,
+ "wis": 12,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen smell",
+ "text": "The badger has advantage on Wisdom (Perception) checks that rely on smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The badger makes two attacks: one with its bite and one with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 4,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_bat.json b/parsed/creatures/giant_bat.json
new file mode 100644
index 0000000..ea3a64b
--- /dev/null
+++ b/parsed/creatures/giant_bat.json
@@ -0,0 +1,86 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft., fly 60 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 60 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 4,
+ "hit_die_sides": 10,
+ "name": "Giant Bat",
+ "type": "beast",
+ "cr": 0.25,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 15,
+ "dex": 16,
+ "con": 11,
+ "int": 2,
+ "wis": 12,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "echolocation",
+ "text": "The bat can't use its blindsight while deafened.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "keen hearing",
+ "text": "The bat has advantage on Wisdom (Perception) checks that rely on hearing.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_boar.json b/parsed/creatures/giant_boar.json
new file mode 100644
index 0000000..253c676
--- /dev/null
+++ b/parsed/creatures/giant_boar.json
@@ -0,0 +1,84 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 5,
+ "hit_die_sides": 10,
+ "name": "Giant Boar",
+ "type": "beast",
+ "cr": 2.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 17,
+ "dex": 10,
+ "con": 16,
+ "int": 2,
+ "wis": 7,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 12
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "charge",
+ "text": "If the boar moves at least 20 feet straight toward a target and then hits it with a tusk attack on the same turn, the target takes an extra 7 (2d6) slashing damage. If the target is a creature, it must succeed on a DC 13 Strength saving throw or be knocked prone.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "relentless (recharges after a short or long rest)",
+ "text": "If the boar takes 10 damage or less that would reduce it to 0 hit points, it is reduced to 1 hit point instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "tusk",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tusk",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_centipede.json b/parsed/creatures/giant_centipede.json
new file mode 100644
index 0000000..b855b4a
--- /dev/null
+++ b/parsed/creatures/giant_centipede.json
@@ -0,0 +1,76 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., climb 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 30 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 1,
+ "hit_die_sides": 6,
+ "name": "Giant Centipede",
+ "type": "beast",
+ "cr": 0.25,
+ "size": "Small",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 5,
+ "dex": 14,
+ "con": 12,
+ "int": 1,
+ "wis": 7,
+ "cha": 3
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ", and the target must succeed on a DC 11 Constitution saving throw or take 10 (3d6) poison damage. If the poison damage reduces the target to 0 hit points, the target is stable but poisoned for 1 hour, even after regaining hit points, and is paralyzed while poisoned in this way.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_constrictor_snake.json b/parsed/creatures/giant_constrictor_snake.json
new file mode 100644
index 0000000..186b35b
--- /dev/null
+++ b/parsed/creatures/giant_constrictor_snake.json
@@ -0,0 +1,108 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., swim 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 10 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 8,
+ "hit_die_sides": 12,
+ "name": "Giant Constrictor Snake",
+ "type": "beast",
+ "cr": 2.0,
+ "size": "Huge",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 19,
+ "dex": 14,
+ "con": 12,
+ "int": 1,
+ "wis": 10,
+ "cha": 3
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "constrict",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "constrict",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target is grappled (escape DC 16). Until this grapple ends, the creature is restrained, and the snake can't constrict another target.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_crab.json b/parsed/creatures/giant_crab.json
new file mode 100644
index 0000000..c86a385
--- /dev/null
+++ b/parsed/creatures/giant_crab.json
@@ -0,0 +1,82 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., swim 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 30 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Stealth": 1
+ },
+ "hit_die_count": 3,
+ "hit_die_sides": 8,
+ "name": "Giant Crab",
+ "type": "beast",
+ "cr": 0.125,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 13,
+ "dex": 15,
+ "con": 11,
+ "int": 1,
+ "wis": 9,
+ "cha": 3
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 15
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The crab can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target is grappled (escape DC 11). The crab has two claws, each of which can grapple only one target.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_crocodile.json b/parsed/creatures/giant_crocodile.json
new file mode 100644
index 0000000..259bbad
--- /dev/null
+++ b/parsed/creatures/giant_crocodile.json
@@ -0,0 +1,120 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., swim 50 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Stealth": 2
+ },
+ "hit_die_count": 9,
+ "hit_die_sides": 12,
+ "name": "Giant Crocodile",
+ "type": "beast",
+ "cr": 5.0,
+ "size": "Huge",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 21,
+ "dex": 9,
+ "con": 17,
+ "int": 2,
+ "wis": 10,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 14
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "hold breath",
+ "text": "The crocodile can hold its breath for 30 minutes.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The crocodile makes two attacks: one with its bite and one with its tail.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target is grappled (escape DC 16). Until this grapple ends, the target is restrained, and the crocodile can't bite another target.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [
+ "one target not grappled by the crocodile"
+ ],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature, it must succeed on a DC 16 Strength saving throw or be knocked prone.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_eagle.json b/parsed/creatures/giant_eagle.json
new file mode 100644
index 0000000..96aecc5
--- /dev/null
+++ b/parsed/creatures/giant_eagle.json
@@ -0,0 +1,118 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft., fly 80 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "Giant Eagle, understands Common and Auran but can't speak them",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 4,
+ "hit_die_sides": 10,
+ "name": "Giant Eagle",
+ "type": "beast",
+ "cr": 1.0,
+ "size": "Large",
+ "alignment": "neutral good",
+ "stats": {
+ "str": 16,
+ "dex": 17,
+ "con": 13,
+ "int": 8,
+ "wis": 14,
+ "cha": 10
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "A giant eagle is a noble creature that speaks its own language and understands speech in the Common tongue. A mated pair of giant eagles typically has up to four eggs or young in their nest (treat the young as normal eagles).",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen sight",
+ "text": "The eagle has advantage on Wisdom (Perception) checks that rely on sight.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The eagle makes two attacks: one with its beak and one with its talons.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "beak",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "beak",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "talons",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "talons",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_elk.json b/parsed/creatures/giant_elk.json
new file mode 100644
index 0000000..56650c4
--- /dev/null
+++ b/parsed/creatures/giant_elk.json
@@ -0,0 +1,114 @@
+{
+ "entry": "creatures",
+ "speed": "60 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "Giant Elk, understands Common, Elvish, and Sylvan but can't speak them",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 5,
+ "hit_die_sides": 12,
+ "name": "Giant Elk",
+ "type": "beast",
+ "cr": 2.0,
+ "size": "Huge",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 19,
+ "dex": 16,
+ "con": 14,
+ "int": 7,
+ "wis": 14,
+ "cha": 10
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 14
+ },
+ "text": "The majestic giant elk is rare to the point that its appearance is often taken as a foreshadowing of an important event, such as the birth of a king. Legends tell of gods that take the form of giant elk when visiting the Material Plane. Many cultures therefore believe that to hunt these creatures is to invite divine wrath.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "charge",
+ "text": "If the elk moves at least 20 feet 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 14 Strength saving throw or be knocked prone.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "ram",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "ram",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "hooves",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "hooves",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "one prone creature"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_fire_beetle.json b/parsed/creatures/giant_fire_beetle.json
new file mode 100644
index 0000000..49f3e9b
--- /dev/null
+++ b/parsed/creatures/giant_fire_beetle.json
@@ -0,0 +1,80 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 30 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 1,
+ "hit_die_sides": 6,
+ "name": "Giant Fire Beetle",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Small",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 8,
+ "dex": 10,
+ "con": 12,
+ "int": 1,
+ "wis": 7,
+ "cha": 3
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "A giant fire beetle is a nocturnal creature that takes its name from a pair of glowing glands that give off light. Miners and adventurers prize these creatures, for a giant fire beetle's glands continue to shed light for 1d6 days after the beetle dies. Giant fire beetles are most commonly found underground and in dark forests.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "illumination",
+ "text": "The beetle sheds bright light in a 10-foot radius and dim light for an additional 10 feet.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_frog.json b/parsed/creatures/giant_frog.json
new file mode 100644
index 0000000..fea734a
--- /dev/null
+++ b/parsed/creatures/giant_frog.json
@@ -0,0 +1,95 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., swim 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 30 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 4,
+ "hit_die_sides": 8,
+ "name": "Giant Frog",
+ "type": "beast",
+ "cr": 0.25,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 12,
+ "dex": 13,
+ "con": 11,
+ "int": 2,
+ "wis": 10,
+ "cha": 3
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The frog can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "standing leap",
+ "text": "The frog's long jump is up to 20 feet and its high jump is up to 10 feet, with or without a running start.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target is grappled (escape DC 11). Until this grapple ends, the target is restrained, and the frog can't bite another target.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "swallow",
+ "text": "The frog makes one bite attack against a Small or smaller target it is grappling. If the attack hits, the target is swallowed, and the grapple ends. The swallowed target is blinded and restrained, it has total cover against attacks and other effects outside the frog, and it takes 5 (2d4) acid damage at the start of each of the frog's turns. The frog can have only one target swallowed at a time. If the frog dies, a swallowed creature is no longer restrained by it and can escape from the corpse using 5 feet of movement, exiting prone.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_goat.json b/parsed/creatures/giant_goat.json
new file mode 100644
index 0000000..effa4c9
--- /dev/null
+++ b/parsed/creatures/giant_goat.json
@@ -0,0 +1,84 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 3,
+ "hit_die_sides": 10,
+ "name": "Giant Goat",
+ "type": "beast",
+ "cr": 0.5,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 17,
+ "dex": 11,
+ "con": 12,
+ "int": 3,
+ "wis": 12,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 11
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "charge",
+ "text": "If the goat moves at least 20 feet straight toward a target and then hits it with a ram attack on the same turn, the target takes an extra 5 (2d4) bludgeoning damage. If the target is a creature, it must succeed on a DC 13 Strength saving throw or be knocked prone.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "sure-footed",
+ "text": "The goat has advantage on Strength and Dexterity saving throws made against effects that would knock it prone.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "ram",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "ram",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 4,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_hyena.json b/parsed/creatures/giant_hyena.json
new file mode 100644
index 0000000..9f7581c
--- /dev/null
+++ b/parsed/creatures/giant_hyena.json
@@ -0,0 +1,80 @@
+{
+ "entry": "creatures",
+ "speed": "50 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 6,
+ "hit_die_sides": 10,
+ "name": "Giant Hyena",
+ "type": "beast",
+ "cr": 1.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 16,
+ "dex": 14,
+ "con": 14,
+ "int": 2,
+ "wis": 12,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "rampage",
+ "text": "When the hyena reduces a creature to 0 hit points with a melee attack on its turn, the hyena can take a bonus action to move up to half its speed and make a bite attack.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_lizard.json b/parsed/creatures/giant_lizard.json
new file mode 100644
index 0000000..a183213
--- /dev/null
+++ b/parsed/creatures/giant_lizard.json
@@ -0,0 +1,74 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., climb 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 30 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 3,
+ "hit_die_sides": 10,
+ "name": "Giant Lizard",
+ "type": "beast",
+ "cr": 0.25,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 15,
+ "dex": 12,
+ "con": 13,
+ "int": 2,
+ "wis": 10,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 12
+ },
+ "text": "A giant lizard can be ridden or used as a draft animal. Lizardfolk also keep them as pets, and subterranean giant lizards are used as mounts and pack animals by drow, duergar, and others.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_octopus.json b/parsed/creatures/giant_octopus.json
new file mode 100644
index 0000000..de6880c
--- /dev/null
+++ b/parsed/creatures/giant_octopus.json
@@ -0,0 +1,95 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft., swim 60 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 2
+ },
+ "hit_die_count": 8,
+ "hit_die_sides": 10,
+ "name": "Giant Octopus",
+ "type": "beast",
+ "cr": 1.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 17,
+ "dex": 13,
+ "con": 13,
+ "int": 4,
+ "wis": 10,
+ "cha": 4
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "hold breath",
+ "text": "While out of water, the octopus can hold its breath for 1 hour.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "underwater camouflage",
+ "text": "The octopus has advantage on Dexterity (Stealth) checks made while underwater. Water Breathing. The octopus can breathe only underwater.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "tentacles",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tentacles",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature, it is grappled (escape DC 16). Until this grapple ends, the target is restrained, and the octopus can't use its tentacles on another target.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "ink cloud (recharges after a short or long rest)",
+ "text": "A 20- foot-radius cloud of ink extends all around the octopus if it is underwater. The area is heavily obscured for 1 minute, although a significant current can disperse the ink. After releasing the ink, the octopus can use the Dash action as a bonus action.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_owl.json b/parsed/creatures/giant_owl.json
new file mode 100644
index 0000000..ffc14ea
--- /dev/null
+++ b/parsed/creatures/giant_owl.json
@@ -0,0 +1,89 @@
+{
+ "entry": "creatures",
+ "speed": "5 ft., fly 60 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "Giant Owl, understands Common, Elvish, and Sylvan but can't speak them",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 3,
+ "hit_die_sides": 10,
+ "name": "Giant Owl",
+ "type": "beast",
+ "cr": 0.25,
+ "size": "Large",
+ "alignment": "neutral",
+ "stats": {
+ "str": 13,
+ "dex": 15,
+ "con": 12,
+ "int": 8,
+ "wis": 13,
+ "cha": 10
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Giant owls often befriend fey and other sylvan creatures and are guardians of their woodland realms.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "flyby",
+ "text": "The owl doesn't provoke opportunity attacks when it flies out of an enemy's reach.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "keen hearing and sight",
+ "text": "The owl has advantage on Wisdom (Perception) checks that rely on hearing or sight.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "talons",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "talons",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_poisonous_snake.json b/parsed/creatures/giant_poisonous_snake.json
new file mode 100644
index 0000000..925973b
--- /dev/null
+++ b/parsed/creatures/giant_poisonous_snake.json
@@ -0,0 +1,78 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., swim 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 10 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 2,
+ "hit_die_sides": 8,
+ "name": "Giant Poisonous Snake",
+ "type": "beast",
+ "cr": 0.25,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 10,
+ "dex": 18,
+ "con": 13,
+ "int": 2,
+ "wis": 10,
+ "cha": 3
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ", and the target must make a DC 11 Constitution saving throw, taking 10 (3d6) poison damage on a failed save, or half as much damage on a successful one.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_rat.json b/parsed/creatures/giant_rat.json
new file mode 100644
index 0000000..3351f3e
--- /dev/null
+++ b/parsed/creatures/giant_rat.json
@@ -0,0 +1,88 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 2,
+ "hit_die_sides": 6,
+ "name": "Giant Rat",
+ "type": "beast",
+ "cr": 0.125,
+ "size": "Small",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 7,
+ "dex": 15,
+ "con": 11,
+ "int": 2,
+ "wis": 10,
+ "cha": 4
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen smell",
+ "text": "The rat has advantage on Wisdom (Perception) checks that rely on smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "pack tactics",
+ "text": "The rat has advantage on an attack roll against a creature if at least one of the rat's allies is within 5 feet of the creature and the ally isn't incapacitated.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_scorpion.json b/parsed/creatures/giant_scorpion.json
new file mode 100644
index 0000000..df45f10
--- /dev/null
+++ b/parsed/creatures/giant_scorpion.json
@@ -0,0 +1,112 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 60 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 7,
+ "hit_die_sides": 10,
+ "name": "Giant Scorpion",
+ "type": "beast",
+ "cr": 3.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 15,
+ "dex": 13,
+ "con": 15,
+ "int": 1,
+ "wis": 9,
+ "cha": 3
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 15
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The scorpion makes three attacks: two with its claws and one with its sting.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target is grappled (escape DC 12). The scorpion has two claws, each of which can grapple only one target.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "sting",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "sting",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target must make a DC 12 Constitution saving throw, taking 22 (4d10) poison damage on a failed save, or half as much damage on a successful one.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_sea_horse.json b/parsed/creatures/giant_sea_horse.json
new file mode 100644
index 0000000..6b05853
--- /dev/null
+++ b/parsed/creatures/giant_sea_horse.json
@@ -0,0 +1,84 @@
+{
+ "entry": "creatures",
+ "speed": "0 ft., swim 40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 3,
+ "hit_die_sides": 10,
+ "name": "Giant Sea Horse",
+ "type": "beast",
+ "cr": 0.5,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 12,
+ "dex": 15,
+ "con": 11,
+ "int": 2,
+ "wis": 12,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "Like their smaller kin, giant sea horses are shy, colorful fish with elongated bodies and curled tails. Aquatic elves train them as mounts.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "charge",
+ "text": "If the sea horse moves at least 20 feet straight toward a target and then hits it with a ram attack on the same turn, the target takes an extra 7 (2d6) bludgeoning damage. It the target is a creature, it must succeed on a DC 11 Strength saving throw or be knocked prone.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "water breathing",
+ "text": "The sea horse can breathe only underwater.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "ram",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "ram",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_shark.json b/parsed/creatures/giant_shark.json
new file mode 100644
index 0000000..7d20821
--- /dev/null
+++ b/parsed/creatures/giant_shark.json
@@ -0,0 +1,88 @@
+{
+ "entry": "creatures",
+ "speed": "0 ft., swim 50 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 60 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 11,
+ "hit_die_sides": 12,
+ "name": "Giant Shark",
+ "type": "beast",
+ "cr": 5.0,
+ "size": "Huge",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 23,
+ "dex": 11,
+ "con": 21,
+ "int": 1,
+ "wis": 10,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "A giant shark is 30 feet long and normally found in deep oceans. Utterly fearless, it preys on anything that crosses its path, including whales and ships.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "blood frenzy",
+ "text": "The shark has advantage on melee attack rolls against any creature that doesn't have all its hit points.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "water breathing",
+ "text": "The shark can breathe only underwater.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_spider.json b/parsed/creatures/giant_spider.json
new file mode 100644
index 0000000..e830081
--- /dev/null
+++ b/parsed/creatures/giant_spider.json
@@ -0,0 +1,124 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., climb 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 10 ft.",
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Stealth": 2
+ },
+ "hit_die_count": 4,
+ "hit_die_sides": 10,
+ "name": "Giant Spider",
+ "type": "beast",
+ "cr": 1.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 14,
+ "dex": 16,
+ "con": 12,
+ "int": 2,
+ "wis": 11,
+ "cha": 4
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 14
+ },
+ "text": "To snare its prey, a giant spider spins elaborate webs or shoots sticky strands of webbing from its abdomen. Giant spiders are most commonly found underground, making their lairs on ceilings or in dark, web-filled crevices. Such lairs are often festooned with web cocoons holding past victims.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "spider climb",
+ "text": "The spider can climb difficult surfaces, including upside down on ceilings, without needing to make an ability check.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "web sense",
+ "text": "While in contact with a web, the spider knows the exact location of any other creature in contact with the same web.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "web walker",
+ "text": "The spider ignores movement restrictions caused by webbing.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ", and the target must make a DC 11 Constitution saving throw, taking 9 (2d8) poison damage on a failed save, or half as much damage on a successful one. If the poison damage reduces the target to 0 hit points, the target is stable but poisoned for 1 hour, even after regaining hit points, and is paralyzed while poisoned in this way.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "web",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "web",
+ "cost": -1,
+ "damage": [],
+ "weight": -1.0,
+ "range": [
+ 30,
+ 60
+ ],
+ "reach": 0,
+ "properties": [
+ "recharge 5\u20136"
+ ],
+ "weapon_type": "unknown",
+ "text": "The target is restrained by webbing. As an action, the restrained target can make a DC 12 Strength check, bursting the webbing on a success. The webbing can also be attacked and destroyed (AC 10; hp 5; vulnerability to fire damage; immunity to bludgeoning, poison, and psychic damage).",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_toad.json b/parsed/creatures/giant_toad.json
new file mode 100644
index 0000000..0e0903e
--- /dev/null
+++ b/parsed/creatures/giant_toad.json
@@ -0,0 +1,98 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft., swim 40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 30 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 6,
+ "hit_die_sides": 10,
+ "name": "Giant Toad",
+ "type": "beast",
+ "cr": 1.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 15,
+ "dex": 13,
+ "con": 13,
+ "int": 2,
+ "wis": 10,
+ "cha": 3
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The toad can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "standing leap",
+ "text": "The toad's long jump is up to 20 feet and its high jump is up to 10 feet, with or without a running start.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "poison",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target is grappled (escape DC 13). Until this grapple ends, the target is restrained, and the toad can't bite another target.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "swallow",
+ "text": "The toad makes one bite attack against a Medium or smaller target it is grappling. If the attack hits, the target is swallowed, and the grapple ends. The swallowed target is blinded and restrained, it has total cover against attacks and other effects outside the toad, and it takes 10 (3d6) acid damage at the start of each of the toad's turns. The toad can have only one target swallowed at a time. If the toad dies, a swallowed creature is no longer restrained by it and can escape from the corpse using 5 feet of movement, exiting prone.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_vulture.json b/parsed/creatures/giant_vulture.json
new file mode 100644
index 0000000..a2129a5
--- /dev/null
+++ b/parsed/creatures/giant_vulture.json
@@ -0,0 +1,124 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft., fly 60 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "understands Common but can't speak",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 3,
+ "hit_die_sides": 10,
+ "name": "Giant Vulture",
+ "type": "beast",
+ "cr": 1.0,
+ "size": "Large",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 15,
+ "dex": 10,
+ "con": 15,
+ "int": 6,
+ "wis": 12,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "A giant vulture has advanced intelligence and a malevolent bent. Unlike its smaller kin, it will attack a wounded creature to hasten its end. Giant vultures have been known to haunt a thirsty, starving creature for days to enjoy its suffering.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen sight and smell",
+ "text": "The vulture has advantage on Wisdom (Perception) checks that rely on sight or smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "pack tactics",
+ "text": "The vulture has advantage on an attack roll against a creature if at least one of the vulture's allies is within 5 feet of the creature and the ally isn't incapacitated.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The vulture makes two attacks: one with its beak and one with its talons.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "beak",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "beak",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "talons",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "talons",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_wasp.json b/parsed/creatures/giant_wasp.json
new file mode 100644
index 0000000..13fea15
--- /dev/null
+++ b/parsed/creatures/giant_wasp.json
@@ -0,0 +1,74 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft., fly 50 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 3,
+ "hit_die_sides": 8,
+ "name": "Giant Wasp",
+ "type": "beast",
+ "cr": 0.5,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 10,
+ "dex": 14,
+ "con": 10,
+ "int": 1,
+ "wis": 10,
+ "cha": 3
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "sting",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "sting",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ", and the target must make a DC 11 Constitution saving throw, taking 10 (3d6) poison damage on a failed save, or half as much damage on a successful one. If the poison damage reduces the target to 0 hit points, the target is stable but poisoned for 1 hour, even after regaining hit points, and is paralyzed while poisoned in this way.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_weasel.json b/parsed/creatures/giant_weasel.json
new file mode 100644
index 0000000..414fc60
--- /dev/null
+++ b/parsed/creatures/giant_weasel.json
@@ -0,0 +1,85 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 2,
+ "hit_die_sides": 8,
+ "name": "Giant Weasel",
+ "type": "beast",
+ "cr": 0.125,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 11,
+ "dex": 16,
+ "con": 10,
+ "int": 4,
+ "wis": 12,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen hearing and smell",
+ "text": "The weasel has advantage on Wisdom (Perception) checks that rely on hearing or smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/giant_wolf_spider.json b/parsed/creatures/giant_wolf_spider.json
new file mode 100644
index 0000000..f2d2eb0
--- /dev/null
+++ b/parsed/creatures/giant_wolf_spider.json
@@ -0,0 +1,90 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., climb 40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 10 ft.",
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 2
+ },
+ "hit_die_count": 2,
+ "hit_die_sides": 8,
+ "name": "Giant Wolf Spider",
+ "type": "beast",
+ "cr": 0.25,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 12,
+ "dex": 16,
+ "con": 13,
+ "int": 3,
+ "wis": 12,
+ "cha": 4
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Smaller than a giant spider, a giant wolf spider hunts prey across open ground or hides in a burrow or crevice, or in a hidden cavity beneath debris.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "spider climb",
+ "text": "The spider can climb difficult surfaces, including upside down on ceilings, without needing to make an ability check. Web Sense. While in contact with a web, the spider knows the exact location of any other creature in contact with the same web.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "web walker",
+ "text": "The spider ignores movement restrictions caused by webbing.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target must make a DC 11 Constitution saving throw, taking 7 (2d6) poison damage on a failed save, or half as much damage on a successful one. If the poison damage reduces the target to 0 hit points, the target is stable but poisoned for 1 hour, even after regaining hit points, and is paralyzed while poisoned in this way.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/gibbering_mouther.json b/parsed/creatures/gibbering_mouther.json
new file mode 100644
index 0000000..48c1195
--- /dev/null
+++ b/parsed/creatures/gibbering_mouther.json
@@ -0,0 +1,103 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft., swim 10 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [
+ {
+ "type": "prone",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 9,
+ "hit_die_sides": 8,
+ "name": "Gibbering Mouther",
+ "type": "abberation",
+ "cr": 2.0,
+ "size": "Medium",
+ "alignment": "neutral",
+ "stats": {
+ "str": 10,
+ "dex": 8,
+ "con": 16,
+ "int": 3,
+ "wis": 10,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "aberrant ground",
+ "text": "The ground in a 10-foot radius around the mouther is doughlike difficult terrain. Each creature that starts its turn in that area must succeed on a DC 10 Strength saving throw or have its speed reduced to 0 until the start of its next turn.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "gibbering",
+ "text": "The mouther babbles incoherently while it can see any creature and isn't incapacitated. Each creature that starts its turn within 20 feet of the mouther and can hear the gibbering must succeed on a DC 10 Wisdom saving throw. On a failure, the creature can't take reactions until the start of its next turn and rolls a d8 to determine what it does during its turn. On a 1 to 4, the creature does nothing. On a 5 or 6, the creature takes no action or bonus action and uses all its movement to move in a randomly determined direction. On a 7 or 8, the creature makes a melee attack against a randomly determined creature within its reach or does nothing if it can't make such an attack.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The gibbering mouther makes one bite attack and, if it can, uses its Blinding Spittle.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "_Melee Weapon Attack:_ +2 to hit, reach 5 ft., one creature. _Hit:_ 17 (5d6) piercing damage. If the target is Medium or smaller, it must succeed on a DC 10 Strength saving throw or be knocked prone. If the target is killed by this damage, it is absorbed into the mouther.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 5,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is Medium or smaller, it must succeed on a DC 10 Strength saving throw or be knocked prone. If the target is killed by this damage, it is absorbed into the mouther.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "blinding spittle (recharge 5\u20136)",
+ "text": "The mouther spits a chemical glob at a point it can see within 15 feet of it. The glob explodes in a blinding flash of light on impact. Each creature within 5 feet of the flash must succeed on a DC 13 Dexterity saving throw or be blinded until the end of the mouther's next turn.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/glabrezu.json b/parsed/creatures/glabrezu.json
new file mode 100644
index 0000000..4181bfe
--- /dev/null
+++ b/parsed/creatures/glabrezu.json
@@ -0,0 +1,190 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [
+ "str",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "lightning",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "truesight 120 ft."
+ ],
+ "langs": "Abyssal, telepathy 120 ft.",
+ "skills": {},
+ "hit_die_count": 15,
+ "hit_die_sides": 10,
+ "name": "Glabrezu",
+ "type": "fiend (demon)",
+ "cr": 9.0,
+ "size": "Large",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 20,
+ "dex": 15,
+ "con": 21,
+ "int": 19,
+ "wis": 17,
+ "cha": 16
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The glabrezu's spellcasting ability is Intelligence (spell save DC 16). The glabrezu can innately cast the following spells, requiring no material components: \nAt will: **_darkness_**, **_detect magic_**, **_dispel magic_** \n1/day each: **_confusion_**, **_fly_**, **_power word stun_**",
+ "type": "spells",
+ "spellcasting_ability": "int",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "darkness",
+ "detect magic",
+ "dispel magic"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "confusion",
+ "fly",
+ "power word stun"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The glabrezu has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The glabrezu makes four attacks: two with its pincers and two with its fists. Alternatively, it makes two attacks with its pincers and casts one spell.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "pincer",
+ "text": "_Melee Weapon Attack:_ +9 to hit, reach 10 ft., one target. _Hit:_ 16 (2d10 + 5) bludgeoning damage. If the target is a Medium or smaller creature, it is grappled (escape DC 15). The glabrezu has two pincers, each of which can grapple only one target.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "pincer",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a Medium or smaller creature, it is grappled (escape DC 15). The glabrezu has two pincers, each of which can grapple only one target.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "fist",
+ "text": "_Melee Weapon Attack:_ +9 to hit, reach 5 ft., one target. _Hit:_ 7 (2d4 + 2) bludgeoning damage.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "fist",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 4,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": 2,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 4
+} \ No newline at end of file
diff --git a/parsed/creatures/gladiator.json b/parsed/creatures/gladiator.json
new file mode 100644
index 0000000..b14f8f4
--- /dev/null
+++ b/parsed/creatures/gladiator.json
@@ -0,0 +1,150 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [
+ "str",
+ "dex",
+ "con"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "any one language (usually Common)",
+ "skills": {
+ "Athletics": 2,
+ "Intimidation": 1
+ },
+ "hit_die_count": 15,
+ "hit_die_sides": 8,
+ "name": "Gladiator",
+ "type": "humanoid (any race)",
+ "cr": 5.0,
+ "size": "Medium",
+ "alignment": "any alignment",
+ "stats": {
+ "str": 18,
+ "dex": 15,
+ "con": 16,
+ "int": 10,
+ "wis": 12,
+ "cha": 15
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "studded leather",
+ "type": "armor",
+ "text": "studded leather armor"
+ },
+ {
+ "entry": "item",
+ "name": "shield",
+ "type": "armor",
+ "text": "shield armor"
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Gladiators battle for the entertainment of raucous crowds. Some gladiators are brutal pit fighters who treat each match as a life-or-death struggle, while others are professional duelists who command huge fees but rarely fight to the death.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "brave",
+ "text": "The gladiator has advantage on saving throws against being frightened.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "brute",
+ "text": "A melee weapon deals one extra die of its damage when the gladiator hits with it (included in the attack).",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The gladiator makes three melee attacks or two ranged attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "spear",
+ "text": "_Melee or _Ranged Weapon Attack:__ +7 to hit, reach 5 ft. and range 20/60 ft., one target. _Hit:_ 11 (2d6 + 4) piercing damage, or 13 (2d8 + 4) piercing damage if used with two hands to make a melee attack.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "spear",
+ "cost": 100,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": 3.0,
+ "range": [
+ 20,
+ 60
+ ],
+ "reach": 5,
+ "properties": [
+ "versatile"
+ ],
+ "weapon_type": "unknown",
+ "text": "if used with two hands to make a melee attack.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "shield bash",
+ "text": "_Melee Weapon Attack:_ +7 to hit, reach 5 ft., one creature. _Hit:_ 9 (2d4 + 4) bludgeoning damage. If the target is a Medium or smaller creature, it must succeed on a DC 15 Strength saving throw or be knocked prone.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "shield bash",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 4,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a Medium or smaller creature, it must succeed on a DC 15 Strength saving throw or be knocked prone.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "parry",
+ "text": "The gladiator adds 3 to its AC against one melee attack that would hit it. To do so, the gladiator must see the attacker and be wielding a melee weapon.",
+ "type": "reaction"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/gnoll.json b/parsed/creatures/gnoll.json
new file mode 100644
index 0000000..a9d4d47
--- /dev/null
+++ b/parsed/creatures/gnoll.json
@@ -0,0 +1,105 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Gnoll",
+ "skills": {},
+ "hit_die_count": 5,
+ "hit_die_sides": 8,
+ "name": "Gnoll",
+ "type": "humanoid (gnoll)",
+ "cr": 0.5,
+ "size": "Medium",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 14,
+ "dex": 12,
+ "con": 11,
+ "int": 6,
+ "wis": 10,
+ "cha": 7
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "hide",
+ "type": "armor",
+ "text": "hide armor"
+ },
+ {
+ "entry": "item",
+ "name": "shield",
+ "type": "armor",
+ "text": "shield armor"
+ },
+ {
+ "entry": "item",
+ "name": "spear",
+ "type": "weapons",
+ "text": "if used with two hands to make a melee attack."
+ },
+ {
+ "entry": "item",
+ "name": "longbow",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "rampage",
+ "text": "When the gnoll reduces a creature to 0 hit points with a melee attack on its turn, the gnoll can take a bonus action to move up to half its speed and make a bite attack.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "_Melee Weapon Attack:_ +4 to hit, reach 5 ft., one creature. _Hit:_ 4 (1d4 + 2) piercing damage.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/gnome_deep_svirfneblin.json b/parsed/creatures/gnome_deep_svirfneblin.json
new file mode 100644
index 0000000..cbd6ce9
--- /dev/null
+++ b/parsed/creatures/gnome_deep_svirfneblin.json
@@ -0,0 +1,127 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "Gnomish, Terran, Undercommon",
+ "skills": {
+ "Investigation": 1,
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 3,
+ "hit_die_sides": 6,
+ "name": "Gnome, Deep (Svirfneblin)",
+ "type": "humanoid (gnome)",
+ "cr": 0.5,
+ "size": "Small",
+ "alignment": "neutral good",
+ "stats": {
+ "str": 15,
+ "dex": 14,
+ "con": 14,
+ "int": 12,
+ "wis": 10,
+ "cha": 9
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "chain shirt",
+ "type": "armor",
+ "text": "chain shirt armor"
+ },
+ {
+ "entry": "item",
+ "name": "war pick",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "stone camouflage",
+ "text": "The gnome has advantage on Dexterity (Stealth) checks made to hide in rocky terrain.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "gnome cunning",
+ "text": "The gnome has advantage on Intelligence, Wisdom, and Charisma saving throws against magic.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The gnome's innate spellcasting ability is Intelligence (spell save DC 11). It can innately cast the following spells, requiring no material components: \nAt will: **_nondetection_** (self only) \n1/day each: **_blindness/deafness_**, **_blur_**, **_disguise self_**",
+ "type": "spells",
+ "spellcasting_ability": "int",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "nondetection"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "blindness/deafness",
+ "blur",
+ "disguise self"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "poisoned dart",
+ "text": "_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.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "poisoned dart",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 30,
+ 120
+ ],
+ "reach": 0,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", 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.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/goat.json b/parsed/creatures/goat.json
new file mode 100644
index 0000000..d14f885
--- /dev/null
+++ b/parsed/creatures/goat.json
@@ -0,0 +1,84 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 1,
+ "hit_die_sides": 8,
+ "name": "Goat",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 12,
+ "dex": 10,
+ "con": 11,
+ "int": 2,
+ "wis": 10,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "charge",
+ "text": "If the goat moves at least 20 feet straight toward a target and then hits it with a ram attack on the same turn, the target takes an extra 2 (1d4) bludgeoning damage. If the target is a creature, it must succeed on a DC 10 Strength saving throw or be knocked prone.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "sure-footed",
+ "text": "The goat has advantage on Strength and Dexterity saving throws made against effects that would knock it prone.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "ram",
+ "text": "_Melee Weapon Attack:_ +3 to hit, reach 5 ft., one target. _Hit:_ 3 (1d4 + 1) bludgeoning damage.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "ram",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/goblin.json b/parsed/creatures/goblin.json
new file mode 100644
index 0000000..607461f
--- /dev/null
+++ b/parsed/creatures/goblin.json
@@ -0,0 +1,75 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Common, Goblin",
+ "skills": {
+ "Stealth": 2
+ },
+ "hit_die_count": 2,
+ "hit_die_sides": 6,
+ "name": "Goblin",
+ "type": "humanoid (goblinoid)",
+ "cr": 0.25,
+ "size": "Small",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 8,
+ "dex": 14,
+ "con": 10,
+ "int": 10,
+ "wis": 8,
+ "cha": 8
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "leather",
+ "type": "armor",
+ "text": "leather armor"
+ },
+ {
+ "entry": "item",
+ "name": "shield",
+ "type": "armor",
+ "text": "shield armor"
+ },
+ {
+ "entry": "item",
+ "name": "scimitar",
+ "type": "weapons",
+ "text": "."
+ },
+ {
+ "entry": "item",
+ "name": "shortbow",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "nimble escape",
+ "text": "The goblin can take the Disengage or Hide action as a bonus action on each of its turns.",
+ "type": "feature"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/gold_dragon_wyrmling.json b/parsed/creatures/gold_dragon_wyrmling.json
new file mode 100644
index 0000000..d7c0b5d
--- /dev/null
+++ b/parsed/creatures/gold_dragon_wyrmling.json
@@ -0,0 +1,106 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., fly 60 ft., swim 30ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 10 ft.",
+ "darkvision 60 ft."
+ ],
+ "langs": "Draconic",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 8,
+ "hit_die_sides": 8,
+ "name": "Gold Dragon Wyrmling",
+ "type": "dragon",
+ "cr": 3.0,
+ "size": "Medium",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 19,
+ "dex": 14,
+ "con": 17,
+ "int": 14,
+ "wis": 11,
+ "cha": 16
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "_Melee Weapon Attack:_ +6 to hit, reach 5 ft., one target. _Hit:_ 9 (1d10 + 4) piercing damage.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "breath weapons (rechange 5-6)",
+ "text": "The dragon uses one of the following breath weapons.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "fire breath",
+ "text": "The dragon exhales fire in a 15-foot cone. Each creature in the area must make a DC 13 Dexterity saving throw, taking 22 (4d10) fire damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "weakening breath",
+ "text": "The dragon exhales gas in a 15-foot cone. Each creature in that area must succeed on a DC 13 Strength saving throw or have disadvantage on Strength-based attack rolls, Strength checks, and Strength saving throws for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/gorgon.json b/parsed/creatures/gorgon.json
new file mode 100644
index 0000000..20069ba
--- /dev/null
+++ b/parsed/creatures/gorgon.json
@@ -0,0 +1,93 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [
+ {
+ "type": "petrified",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 12,
+ "hit_die_sides": 10,
+ "name": "Gorgon",
+ "type": "monstrosity",
+ "cr": 5.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 20,
+ "dex": 11,
+ "con": 18,
+ "int": 2,
+ "wis": 12,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 19
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "trampling charge",
+ "text": "If the gorgon moves at least 20 feet straight toward a creature and then hits it with a gore attack on the same turn, that target must succeed on a DC 16 Strength saving throw or be knocked prone. If the target is prone, the gorgon can make one attack with its hooves against it as a bonus action.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "gore",
+ "text": "_Melee Weapon Attack:_ +8 to hit, reach 5 ft., one target. _Hit:_ 18 (2d12 + 5) piercing damage. Hooves. _Melee Weapon Attack:_ +8 to hit, reach 5 ft., one target. _Hit:_ 16 (2d10 + 5) bludgeoning damage.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "gore",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 12,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". Hooves. _Melee Weapon Attack:_ +8 to hit, reach 5 ft., one target. _Hit:_ 16 (2d10 + 5) bludgeoning damage.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "petrifying breath (recharge 5\u20136)",
+ "text": "The gorgon exhales petrifying gas in a 30-foot cone. Each creature in that area must succeed on a DC 13 Constitution saving throw. On a failed save, a target begins to turn to stone and is restrained. The restrained target must repeat the saving throw at the end of its next turn. On a success, the effect ends on the target. On a failure, the target is petrified until freed by the greater restoration spell or other magic.",
+ "type": "action"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/gray_ooze.json b/parsed/creatures/gray_ooze.json
new file mode 100644
index 0000000..ad9db9f
--- /dev/null
+++ b/parsed/creatures/gray_ooze.json
@@ -0,0 +1,138 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft., climb 10 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "acid",
+ "qualifiers": []
+ },
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [
+ {
+ "type": "blinded",
+ "qualifiers": []
+ },
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "deafened",
+ "qualifiers": []
+ },
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "prone",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "blindsight 60 ft. (blind beyond this radius)"
+ ],
+ "langs": "--",
+ "skills": {
+ "Stealth": 2
+ },
+ "hit_die_count": 3,
+ "hit_die_sides": 8,
+ "name": "Gray Ooze",
+ "type": "ooze",
+ "cr": 0.5,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 12,
+ "dex": 6,
+ "con": 16,
+ "int": 1,
+ "wis": 6,
+ "cha": 2
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amorphous",
+ "text": "The ooze can move through a space as narrow as 1 inch wide without squeezing.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "corrode metal",
+ "text": "Any nonmagical weapon made of metal that hits the ooze corrodes. After dealing damage, the weapon takes a permanent and cumulative \u22121 penalty to damage rolls. If its penalty drops to \u22125, the weapon is destroyed. Nonmagical ammunition made of metal that hits the ooze is destroyed after dealing damage. \nThe ooze can eat through 2-inch-thick, nonmagical metal in 1 round.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "false appearance",
+ "text": "While the ooze remains motionless, it is indistinguishable from an oily pool or wet rock.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "pseudopod",
+ "text": "_Melee Weapon Attack:_ +3 to hit, reach 5 ft., one target. _Hit:_ 4 (1d6 + 1) bludgeoning damage plus 7 (2d6) acid damage, and if the target is wearing nonmagical metal armor, its armor is partly corroded and takes a permanent and cumulative \u22121 penalty to the AC it offers. The armor is destroyed if the penalty reduces its AC to 10.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "pseudopod",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "acid",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and if the target is wearing nonmagical metal armor, its armor is partly corroded and takes a permanent and cumulative \u22121 penalty to the AC it offers. The armor is destroyed if the penalty reduces its AC to 10.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/green_dragon_wyrmling.json b/parsed/creatures/green_dragon_wyrmling.json
new file mode 100644
index 0000000..66c89c5
--- /dev/null
+++ b/parsed/creatures/green_dragon_wyrmling.json
@@ -0,0 +1,111 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., fly 60 ft., swim 30 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "blindsight 10 ft.",
+ "darkvision 60 ft."
+ ],
+ "langs": "Draconic",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 7,
+ "hit_die_sides": 8,
+ "name": "Green Dragon Wyrmling",
+ "type": "dragon",
+ "cr": 2.0,
+ "size": "Medium",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 15,
+ "dex": 12,
+ "con": 13,
+ "int": 14,
+ "wis": 11,
+ "cha": 13
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The dragon can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "_Melee Weapon Attack:_ +4 to hit, reach 5 ft., one target. _Hit:_ 7 (1d10 + 2) piercing damage plus 3 (1d6) poison damage.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "poison",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "poison breath (recharge 5\u20136)",
+ "text": "The dragon exhales poisonous gas in a 15\u2010foot cone. Each creature in that area must make a DC 11 Constitution saving throw, taking 21 (6d6) poison damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/green_hag.json b/parsed/creatures/green_hag.json
new file mode 100644
index 0000000..f3973e0
--- /dev/null
+++ b/parsed/creatures/green_hag.json
@@ -0,0 +1,121 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Common, Draconic, Sylvan",
+ "skills": {
+ "Arcana": 1,
+ "Deception": 1,
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 11,
+ "hit_die_sides": 8,
+ "name": "Green Hag",
+ "type": "fey",
+ "cr": 3.0,
+ "size": "Medium",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 18,
+ "dex": 12,
+ "con": 16,
+ "int": 13,
+ "wis": 14,
+ "cha": 14
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The hag can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The hag's innate spellcasting ability is Charisma (spell save DC 12). She can innately cast the following spells, requiring no material components: \nAt will: **_dancing lights_**, **_minor illusion_**, **_vicious mockery_**",
+ "type": "spells",
+ "spellcasting_ability": "cha",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "dancing lights",
+ "minor illusion",
+ "vicious mockery"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "mimicry",
+ "text": "The hag can mimic animal sounds and humanoid voices. A creature that hears the sounds can tell they are imitations with a successful DC 14 Wisdom (Insight) check.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "_Melee Weapon Attack:_ +6 to hit, reach 5 ft., one target. _Hit:_ 13 (2d8 + 4) slashing damage.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "illusory appearance",
+ "text": "The hag covers herself and anything she is wearing or carrying with a magical illusion that makes her look like another creature of her general size and humanoid shape. The illusion ends if the hag takes a bonus action to end it or if she dies. \nThe changes wrought by this effect fail to hold up to physical inspection. For example, the hag could appear to have smooth skin, but someone touching her would feel her rough flesh. Otherwise, a creature must take an action to visually inspect the illusion and succeed on a DC 20 Intelligence (Investigation) check to discern that the hag is disguised.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "invisible passage",
+ "text": "The hag magically turns invisible until she attacks or casts a spell, or until her concentration ends (as if concentrating on a spell). While invisible, she leaves no physical evidence of her passage, so she can be tracked only by magic. Any equipment she wears or carries is invisible with her.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/grick.json b/parsed/creatures/grick.json
new file mode 100644
index 0000000..4d71f86
--- /dev/null
+++ b/parsed/creatures/grick.json
@@ -0,0 +1,137 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., climb 30 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 6,
+ "hit_die_sides": 8,
+ "name": "Grick",
+ "type": "monstrosity",
+ "cr": 2.0,
+ "size": "Medium",
+ "alignment": "neutral",
+ "stats": {
+ "str": 14,
+ "dex": 14,
+ "con": 11,
+ "int": 3,
+ "wis": 14,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 14
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "stone camouflage",
+ "text": "The grick has advantage on Dexterity (Stealth) checks made to hide in rocky terrain.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The grick makes one attack with its tentacles. If that attack hits, the grick can make one beak attack against the same target.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "tentacles",
+ "text": "_Melee Weapon Attack:_ +4 to hit, reach 5 ft., one target. _Hit:_ 9 (2d6 + 2) slashing damage.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tentacles",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "beak",
+ "text": "_Melee Weapon Attack:_ +4 to hit, reach 5 ft., one target. _Hit:_ 5 (1d6 + 2) piercing damage.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "beak",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/griffon.json b/parsed/creatures/griffon.json
new file mode 100644
index 0000000..47d24b9
--- /dev/null
+++ b/parsed/creatures/griffon.json
@@ -0,0 +1,120 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., fly 80 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Perception": 2
+ },
+ "hit_die_count": 7,
+ "hit_die_sides": 10,
+ "name": "Griffon",
+ "type": "monstrosity",
+ "cr": 2.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 18,
+ "dex": 15,
+ "con": 16,
+ "int": 2,
+ "wis": 13,
+ "cha": 8
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen sight",
+ "text": "The griffon has advantage on Wisdom (Perception) checks that rely on sight.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The griffon makes two attacks: one with its beak and one with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "beak",
+ "text": "_Melee Weapon Attack:_ +6 to hit, reach 5 ft., one target. _Hit:_ 8 (1d8 + 4) piercing damage.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "beak",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "_Melee Weapon Attack:_ +6 to hit, reach 5 ft., one target. _Hit:_ 11 (2d6 + 4) slashing damage.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/grimlock.json b/parsed/creatures/grimlock.json
new file mode 100644
index 0000000..ee3d660
--- /dev/null
+++ b/parsed/creatures/grimlock.json
@@ -0,0 +1,107 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [
+ {
+ "type": "blinded",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "blindsight 30 ft. or 10 ft. while deafened (blind beyond this radius)"
+ ],
+ "langs": "Undercommon",
+ "skills": {
+ "Athletics": 1,
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 2,
+ "hit_die_sides": 8,
+ "name": "Grimlock",
+ "type": "humanoid (grimlock)",
+ "cr": 0.25,
+ "size": "Medium",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 16,
+ "dex": 12,
+ "con": 12,
+ "int": 9,
+ "wis": 8,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "blind senses",
+ "text": ". The grimlock can't use its blindsight while deafened and unable to smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "keen hearing and smell",
+ "text": "The grimlock has advantage on Wisdom (Perception) checks that rely on hearing or smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "stone camouflage",
+ "text": "The grimlock has advantage on Dexterity (Stealth) checks made to hide in rocky terrain.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spiked bone club",
+ "text": "_Melee Weapon Attack:_ +5 to hit, reach 5 ft., one target. _Hit:_ 5 (1d4 + 3) bludgeoning damage plus 2 (1d4) piercing damage.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "spiked bone club",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/guard.json b/parsed/creatures/guard.json
new file mode 100644
index 0000000..2f9c8b8
--- /dev/null
+++ b/parsed/creatures/guard.json
@@ -0,0 +1,60 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "any one language (usually Common)",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 2,
+ "hit_die_sides": 8,
+ "name": "Guard",
+ "type": "humanoid (any race)",
+ "cr": 0.125,
+ "size": "Medium",
+ "alignment": "any alignment",
+ "stats": {
+ "str": 13,
+ "dex": 12,
+ "con": 12,
+ "int": 10,
+ "wis": 11,
+ "cha": 10
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "chain shirt",
+ "type": "armor",
+ "text": "chain shirt armor"
+ },
+ {
+ "entry": "item",
+ "name": "shield",
+ "type": "armor",
+ "text": "shield armor"
+ },
+ {
+ "entry": "item",
+ "name": "spear",
+ "type": "weapons",
+ "text": "if used with two hands to make a melee attack."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Guards include members of a city watch, sentries in a citadel or fortified town, and the bodyguards of merchants and nobles.",
+ "features": [],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/guardian_naga.json b/parsed/creatures/guardian_naga.json
new file mode 100644
index 0000000..93ca144
--- /dev/null
+++ b/parsed/creatures/guardian_naga.json
@@ -0,0 +1,185 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "int",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Celestial, Common",
+ "skills": {},
+ "hit_die_count": 15,
+ "hit_die_sides": 10,
+ "name": "Guardian Naga",
+ "type": "monstrosity",
+ "cr": 10.0,
+ "size": "Large",
+ "alignment": "lawful good",
+ "stats": {
+ "str": 19,
+ "dex": 18,
+ "con": 16,
+ "int": 16,
+ "wis": 19,
+ "cha": 18
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 18
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "rejuvenation",
+ "text": "If it dies, the naga returns to life in 1d6 days and regains all its hit points. Only a wish spell can prevent this trait from functioning.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The naga is an 11th-level spellcaster. Its spellcasting ability is Wisdom (spell save DC 16, +8 to hit with spell attacks), and it needs only verbal components to cast its spells. It has the following cleric spells prepared: \nCantrips (at will): **_mending, sacred flame, thaumaturgy_** \n1st level (4 slots): **_command, cure wounds, shield of faith_** \n2nd level (3 slots): **_calm emotions, hold person_** \n3rd level (3 slots): **_bestow curse, clairvoyance_** \n4th level (3 slots): **_banishment, freedom of movement_** \n5th level (2 slots): **_flame strike, geas_** \n6th level (1 slot): **_true seeing_**",
+ "type": "spells",
+ "spellcasting_ability": "wis",
+ "innate": false,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "mending",
+ "sacred flame",
+ "thaumaturgy"
+ ]
+ },
+ {
+ "slots": 4,
+ "spells": [
+ "command",
+ "cure wounds",
+ "shield of faith"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "calm emotions",
+ "hold person"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "bestow curse",
+ "clairvoyance"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "banishment",
+ "freedom of movement"
+ ]
+ },
+ {
+ "slots": 2,
+ "spells": [
+ "flame strike",
+ "geas"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "true seeing"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "_Melee Weapon Attack:_ +8 to hit, reach 10 ft., one creature. _Hit:_ 8 (1d8 + 4) piercing damage, and the target must make a DC 15 Constitution saving throw, taking 45 (10d8) poison damage on a failed save, or half as much damage on a successful one.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target must make a DC 15 Constitution saving throw, taking 45 (10d8) poison damage on a failed save, or half as much damage on a successful one.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "spit poison",
+ "text": "_Ranged Weapon Attack:_ +8 to hit, range 15/30 ft., one creature. _Hit:_ The target must make a DC 15 Constitution saving throw, taking 45 (10d8) poison damage on a failed save, or half as much damage on a successful one.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "spit poison",
+ "cost": -1,
+ "damage": [],
+ "weight": -1.0,
+ "range": [
+ 15,
+ 30
+ ],
+ "reach": 0,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": "The target must make a DC 15 Constitution saving throw, taking 45 (10d8) poison damage on a failed save, or half as much damage on a successful one.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 4
+} \ No newline at end of file
diff --git a/parsed/creatures/gynosphinx.json b/parsed/creatures/gynosphinx.json
new file mode 100644
index 0000000..b69aff4
--- /dev/null
+++ b/parsed/creatures/gynosphinx.json
@@ -0,0 +1,203 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., fly 60 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "psychic",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "truesight 120 ft."
+ ],
+ "langs": "Common, Sphinx",
+ "skills": {
+ "Arcana": 2,
+ "History": 2,
+ "Perception": 1,
+ "Religion": 1
+ },
+ "hit_die_count": 16,
+ "hit_die_sides": 10,
+ "name": "Gynosphinx",
+ "type": "monstrosity",
+ "cr": 11.0,
+ "size": "Large",
+ "alignment": "lawful neutral",
+ "stats": {
+ "str": 18,
+ "dex": 15,
+ "con": 16,
+ "int": 18,
+ "wis": 18,
+ "cha": 18
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "inscrutable",
+ "text": "The sphinx is immune to any effect that would sense its emotions or read its thoughts, as well as any divination spell that it refuses. Wisdom (Insight) checks made to ascertain the sphinx's intentions or sincerity have disadvantage.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic weapons",
+ "text": "The sphinx's weapon attacks are magical.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The sphinx is a 9th-level spellcaster. Its spellcasting ability is Intelligence (spell save DC 16, +8 to hit with spell attacks). It requires no material components to cast its spells. The sphinx has the following wizard spells prepared: \nCantrips (at will): **_mage hand, minor illusion, prestidigitation_** \n1st level (4 slots): **_detect magic, identify, shield_** \n2nd level (3 slots): **_darkness, locate object, suggestion_** \n3rd level (3 slots): **_dispel magic, remove curse, tongues_** \n4th level (3 slots): **_banishment, greater invisibility_** \n5th level (1 slot): **_legend lore_**",
+ "type": "spells",
+ "spellcasting_ability": "int",
+ "innate": false,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "mage hand",
+ "minor illusion",
+ "prestidigitation"
+ ]
+ },
+ {
+ "slots": 4,
+ "spells": [
+ "detect magic",
+ "identify",
+ "shield"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "darkness",
+ "locate object",
+ "suggestion"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "dispel magic",
+ "remove curse",
+ "tongues"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "banishment",
+ "greater invisibility"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "legend lore"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The sphinx makes two claw attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "_Melee Weapon Attack:_ +8 to hit, reach 5 ft., one target. _Hit:_ 13 (2d8 + 4) slashing damage.",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw attack",
+ "text": "The sphinx makes one claw attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "teleport (costs 2 actions)",
+ "text": "The sphinx magically teleports, along with any equipment it is wearing or carrying, up to 120 feet to an unoccupied space it can see.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "cast a spell (costs 3 actions)",
+ "text": "The sphinx casts a spell from its list of prepared spells, using a spell slot as normal.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 4
+} \ No newline at end of file
diff --git a/parsed/creatures/half_red_dragon_veteran.json b/parsed/creatures/half_red_dragon_veteran.json
new file mode 100644
index 0000000..5ab9d29
--- /dev/null
+++ b/parsed/creatures/half_red_dragon_veteran.json
@@ -0,0 +1,88 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 10 ft.",
+ "darkvision 60 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Athletics": 1,
+ "Perception": 1
+ },
+ "hit_die_count": 10,
+ "hit_die_sides": 8,
+ "name": "Half-Red Dragon Veteran",
+ "type": "humanoid (human)",
+ "cr": 5.0,
+ "size": "Medium",
+ "alignment": "any alignment",
+ "stats": {
+ "str": 16,
+ "dex": 13,
+ "con": 14,
+ "int": 10,
+ "wis": 11,
+ "cha": 10
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "plate",
+ "type": "armor",
+ "text": "plate armor"
+ },
+ {
+ "entry": "item",
+ "name": "longsword",
+ "type": "weapons",
+ "text": "if used with two hands."
+ },
+ {
+ "entry": "item",
+ "name": "shortsword",
+ "type": "weapons",
+ "text": "."
+ },
+ {
+ "entry": "item",
+ "name": "heavy crossbow",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The veteran makes two longsword attacks. If it has a shortsword drawn, it can also make a shortsword attack.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "fire breath (recharge 5\u20136)",
+ "text": "The veteran exhales fire in a 15-foot cone. Each creature in that area 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.",
+ "type": "action"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/harpy.json b/parsed/creatures/harpy.json
new file mode 100644
index 0000000..5b6afa3
--- /dev/null
+++ b/parsed/creatures/harpy.json
@@ -0,0 +1,91 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft., fly 40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "Common",
+ "skills": {},
+ "hit_die_count": 7,
+ "hit_die_sides": 8,
+ "name": "Harpy",
+ "type": "monstrosity",
+ "cr": 1.0,
+ "size": "Medium",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 12,
+ "dex": 13,
+ "con": 12,
+ "int": 7,
+ "wis": 10,
+ "cha": 13
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "club",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The harpy makes two attacks: one with its claws and one with its club.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 4,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "luring song",
+ "text": "The harpy sings a magical melody. Every humanoid and giant within 300 feet of the harpy that can hear the song must succeed on a DC 11 Wisdom saving throw or be charmed until the song ends. The harpy must take a bonus action on its subsequent turns to continue singing. It can stop singing at any time. The song ends if the harpy is incapacitated. \nWhile charmed by the harpy, a target is incapacitated and ignores the songs of other harpies. If the charmed target is more than 5 feet away from the harpy, the target must move on its turn toward the harpy by the most direct route, trying to get within 5 feet. It doesn't avoid opportunity attacks, but before moving into damaging terrain, such as lava or a pit, and whenever it takes damage from a source other than the harpy, the target can repeat the saving throw. A charmed target can also repeat the saving throw at the end of each of its turns. If the saving throw is successful, the effect ends on it. \nA target that successfully saves is immune to this harpy's song for the next 24 hours.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/hawk.json b/parsed/creatures/hawk.json
new file mode 100644
index 0000000..223736f
--- /dev/null
+++ b/parsed/creatures/hawk.json
@@ -0,0 +1,82 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft., fly 60 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 1,
+ "hit_die_sides": 4,
+ "name": "Hawk",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Tiny",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 5,
+ "dex": 16,
+ "con": 8,
+ "int": 2,
+ "wis": 14,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen sight",
+ "text": "The hawk has advantage on Wisdom (Perception) checks that rely on sight.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "talons",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "talons",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 1,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/hell_hound.json b/parsed/creatures/hell_hound.json
new file mode 100644
index 0000000..892e63b
--- /dev/null
+++ b/parsed/creatures/hell_hound.json
@@ -0,0 +1,105 @@
+{
+ "entry": "creatures",
+ "speed": "50 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "understands Infernal but can't speak it",
+ "skills": {
+ "Perception": 2
+ },
+ "hit_die_count": 7,
+ "hit_die_sides": 8,
+ "name": "Hell Hound",
+ "type": "fiend",
+ "cr": 3.0,
+ "size": "Medium",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 17,
+ "dex": 12,
+ "con": 14,
+ "int": 6,
+ "wis": 13,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 15
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen hearing and smell",
+ "text": "The hound has advantage on Wisdom (Perception) checks that rely on hearing or smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "pack tactics",
+ "text": "The hound has advantage on an attack roll against a creature if at least one of the hound's allies is within 5 feet of the creature and the ally isn't incapacitated.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "fire",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "fire breath (recharge 5\u20136)",
+ "text": "The hound exhales fire in a 15-foot cone. Each creature in that area 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.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/hezrou.json b/parsed/creatures/hezrou.json
new file mode 100644
index 0000000..b87201d
--- /dev/null
+++ b/parsed/creatures/hezrou.json
@@ -0,0 +1,169 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [
+ "str",
+ "con",
+ "wis"
+ ],
+ "d_resistances": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "lightning",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "Abyssal, telepathy 120 ft.",
+ "skills": {},
+ "hit_die_count": 13,
+ "hit_die_sides": 10,
+ "name": "Hezrou",
+ "type": "fiend (demon)",
+ "cr": 8.0,
+ "size": "Large",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 19,
+ "dex": 17,
+ "con": 20,
+ "int": 5,
+ "wis": 12,
+ "cha": 13
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 16
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The hezrou has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "stench",
+ "text": "Any creature that starts its turn within 10 feet of the hezrou must 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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The hezrou makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/hill_giant.json b/parsed/creatures/hill_giant.json
new file mode 100644
index 0000000..cb1c939
--- /dev/null
+++ b/parsed/creatures/hill_giant.json
@@ -0,0 +1,112 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "Giant",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 10,
+ "hit_die_sides": 12,
+ "name": "Hill Giant",
+ "type": "giant",
+ "cr": 5.0,
+ "size": "Huge",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 21,
+ "dex": 8,
+ "con": 19,
+ "int": 5,
+ "wis": 9,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The giant makes two greatclub attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "greatclub",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "greatclub",
+ "cost": 20,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": 10.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "rock",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "rock",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 10,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 60,
+ 240
+ ],
+ "reach": 0,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": "str"
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/hippogriff.json b/parsed/creatures/hippogriff.json
new file mode 100644
index 0000000..92cd26d
--- /dev/null
+++ b/parsed/creatures/hippogriff.json
@@ -0,0 +1,118 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., fly 60 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 2
+ },
+ "hit_die_count": 3,
+ "hit_die_sides": 10,
+ "name": "Hippogriff",
+ "type": "monstrosity",
+ "cr": 1.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 17,
+ "dex": 13,
+ "con": 13,
+ "int": 2,
+ "wis": 12,
+ "cha": 8
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen sight",
+ "text": "The hippogriff has advantage on Wisdom (Perception) checks that rely on sight.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The hippogriff makes two attacks: one with its beak and one with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "beak",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "beak",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/hobgoblin.json b/parsed/creatures/hobgoblin.json
new file mode 100644
index 0000000..d9bf517
--- /dev/null
+++ b/parsed/creatures/hobgoblin.json
@@ -0,0 +1,73 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Common, Goblin",
+ "skills": {},
+ "hit_die_count": 2,
+ "hit_die_sides": 8,
+ "name": "Hobgoblin",
+ "type": "humanoid (goblinoid)",
+ "cr": 0.5,
+ "size": "Medium",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 13,
+ "dex": 12,
+ "con": 12,
+ "int": 10,
+ "wis": 10,
+ "cha": 9
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "chain mail",
+ "type": "armor",
+ "text": "chain mail armor"
+ },
+ {
+ "entry": "item",
+ "name": "shield",
+ "type": "armor",
+ "text": "shield armor"
+ },
+ {
+ "entry": "item",
+ "name": "longsword",
+ "type": "weapons",
+ "text": "if used with two hands."
+ },
+ {
+ "entry": "item",
+ "name": "longbow",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "martial advantage",
+ "text": "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 feet of an ally of the hobgoblin that isn't incapacitated.",
+ "type": "feature"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/homunculus.json b/parsed/creatures/homunculus.json
new file mode 100644
index 0000000..8e846d0
--- /dev/null
+++ b/parsed/creatures/homunculus.json
@@ -0,0 +1,96 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft., fly 40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "understands the languages of its creator but can't speak",
+ "skills": {},
+ "hit_die_count": 2,
+ "hit_die_sides": 4,
+ "name": "Homunculus",
+ "type": "construct",
+ "cr": 0.0,
+ "size": "Tiny",
+ "alignment": "neutral",
+ "stats": {
+ "str": 4,
+ "dex": 15,
+ "con": 11,
+ "int": 10,
+ "wis": 10,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "telepathic bond",
+ "text": "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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 1,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ", and the target must succeed on a DC 10 Constitution saving throw or be poisoned for 1 minute. If the saving throw fails by 5 or more, the target is instead poisoned for 5 (1d10) minutes and unconscious while poisoned in this way.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/horned_devil.json b/parsed/creatures/horned_devil.json
new file mode 100644
index 0000000..a4d9a7b
--- /dev/null
+++ b/parsed/creatures/horned_devil.json
@@ -0,0 +1,201 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft., fly 60 ft.",
+ "saves": [
+ "str",
+ "dex",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "Infernal, telepathy 120 ft.",
+ "skills": {},
+ "hit_die_count": 17,
+ "hit_die_sides": 10,
+ "name": "Horned Devil",
+ "type": "fiend (devil)",
+ "cr": 11.0,
+ "size": "Large",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 22,
+ "dex": 17,
+ "con": 21,
+ "int": 12,
+ "wis": 16,
+ "cha": 17
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 18
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "devil's sight",
+ "text": "Magical darkness doesn't impede the devil's darkvision.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The devil has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "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.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "fork",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "fork",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature other than an undead or a construct, it must succeed on a DC 17 Constitution saving throw or lose 10 (3d6) hit points at the start of each of its turns due to an infernal wound. Each time the devil hits the wounded target with this attack, the damage dealt by the wound increases by 10 (3d6). Any creature can take an action to stanch the wound with a successful DC 12 Wisdom (Medicine) check. The wound also closes if the target receives magical healing.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "hurl flame",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "spell attack",
+ "name": "hurl flame",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 6,
+ "dmg_type": "fire",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 150,
+ 150
+ ],
+ "reach": 0,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a flammable object that isn't being worn or carried, it also catches fire.",
+ "toHitOverride": null,
+ "dmgBonusOverride": 0,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 4
+} \ No newline at end of file
diff --git a/parsed/creatures/hunter_shark.json b/parsed/creatures/hunter_shark.json
new file mode 100644
index 0000000..d959018
--- /dev/null
+++ b/parsed/creatures/hunter_shark.json
@@ -0,0 +1,88 @@
+{
+ "entry": "creatures",
+ "speed": "0 ft., swim 40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 30 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 6,
+ "hit_die_sides": 10,
+ "name": "Hunter Shark",
+ "type": "beast",
+ "cr": 2.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 18,
+ "dex": 13,
+ "con": 15,
+ "int": 1,
+ "wis": 10,
+ "cha": 4
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 12
+ },
+ "text": "Smaller than a giant shark but larger and fiercer than a reef shark, a hunter shark haunts deep waters. It usually hunts alone, but multiple hunter sharks might feed in the same area. A fully grown hunter shark is 15 to 20 feet long.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "blood frenzy",
+ "text": "The shark has advantage on melee attack rolls against any creature that doesn't have all its hit points.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "water breathing",
+ "text": "The shark can breathe only underwater.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/hydra.json b/parsed/creatures/hydra.json
new file mode 100644
index 0000000..215fba1
--- /dev/null
+++ b/parsed/creatures/hydra.json
@@ -0,0 +1,106 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., swim 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Perception": 2
+ },
+ "hit_die_count": 15,
+ "hit_die_sides": 12,
+ "name": "Hydra",
+ "type": "monstrosity",
+ "cr": 8.0,
+ "size": "Huge",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 20,
+ "dex": 12,
+ "con": 20,
+ "int": 2,
+ "wis": 10,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 15
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "hold breath",
+ "text": "The hydra can hold its breath for 1 hour.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiple heads",
+ "text": "The hydra has five heads. While it has more than one head, the hydra has advantage on saving throws against being blinded, charmed, deafened, frightened, stunned, and knocked unconscious. \nWhenever the hydra takes 25 or more damage in a single turn, one of its heads dies. If all its heads die, the hydra dies. \nAt the end of its turn, it grows two heads for each of its heads that died since its last turn, unless it has taken fire damage since its last turn. The hydra regains 10 hit points for each head regrown in this way.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "reactive heads",
+ "text": "For each head the hydra has beyond one, it gets an extra reaction that can be used only for opportunity attacks.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "wakeful",
+ "text": "While the hydra sleeps, at least one of its heads is awake.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The hydra makes as many bite attacks as it has heads.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/hyena.json b/parsed/creatures/hyena.json
new file mode 100644
index 0000000..12e20bb
--- /dev/null
+++ b/parsed/creatures/hyena.json
@@ -0,0 +1,80 @@
+{
+ "entry": "creatures",
+ "speed": "50 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 1,
+ "hit_die_sides": 8,
+ "name": "Hyena",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 11,
+ "dex": 13,
+ "con": 12,
+ "int": 2,
+ "wis": 12,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "pack tactics",
+ "text": "The hyena has advantage on an attack roll against a creature if at least one of the hyena's allies is within 5 feet of the creature and the ally isn't incapacitated.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/ice_devil.json b/parsed/creatures/ice_devil.json
new file mode 100644
index 0000000..b270150
--- /dev/null
+++ b/parsed/creatures/ice_devil.json
@@ -0,0 +1,226 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "blindsight 60 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Infernal, telepathy 120 ft.",
+ "skills": {},
+ "hit_die_count": 19,
+ "hit_die_sides": 10,
+ "name": "Ice Devil",
+ "type": "fiend (devil)",
+ "cr": 14.0,
+ "size": "Large",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 21,
+ "dex": 14,
+ "con": 18,
+ "int": 18,
+ "wis": 15,
+ "cha": 18
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 18
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "devil's sight",
+ "text": "Magical darkness doesn't impede the devil's darkvision.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The devil has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The devil makes three attacks: one with its bite, one with its claws, and one with its tail.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 6,
+ "dmg_type": "cold",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 4,
+ "dmg_type": "slashing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 6,
+ "dmg_type": "cold",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 6,
+ "dmg_type": "cold",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "wall of ice (recharge 6)",
+ "text": "The devil magically forms an opaque wall of ice on a solid surface it can see within 60 feet of it. The wall is 1 foot thick and up to 30 feet long and 10 feet high, or it's a hemispherical dome up to 20 feet in diameter. \nWhen the wall appears, each creature in its space is pushed out of it by the shortest route. The creature chooses which side of the wall to end up on, unless the creature is incapacitated. The creature then makes a DC 17 Dexterity saving throw, taking 35 (10d6) cold damage on a failed save, or half as much damage on a successful one. \nThe wall lasts for 1 minute or until the devil is incapacitated or dies. The wall can be damaged and breached; each 10-\u00adfoot section has AC 5, 30 hit points, vulnerability to fire damage, and immunity to acid, cold, necrotic, poison, and psychic damage. If a section is destroyed, it leaves behind a sheet of frigid air in the space the wall occupied. Whenever a creature finishes moving through the frigid air on a turn, willingly or otherwise, the creature must make a DC 17 Constitution saving throw, taking 17 (5d6) cold damage on a failed save, or half as much damage on a successful one. The frigid air dissipates when the rest of the wall vanishes.",
+ "type": "action"
+ }
+ ],
+ "prof": 5
+} \ No newline at end of file
diff --git a/parsed/creatures/ice_mephit.json b/parsed/creatures/ice_mephit.json
new file mode 100644
index 0000000..be3543f
--- /dev/null
+++ b/parsed/creatures/ice_mephit.json
@@ -0,0 +1,142 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., fly 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": []
+ },
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "d_immunities": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Aquan, Auran",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 6,
+ "hit_die_sides": 6,
+ "name": "Ice Mephit",
+ "type": "elemental",
+ "cr": 0.5,
+ "size": "Small",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 7,
+ "dex": 13,
+ "con": 10,
+ "int": 9,
+ "wis": 11,
+ "cha": 12
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "death burst",
+ "text": "When the mephit dies, it explodes in a burst of jagged ice. Each creature within 5 feet of it must make a DC 10 Dexterity saving throw, taking 4 (1d8) slashing damage on a failed save, or half as much damage on a successful one.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "false appearance",
+ "text": "While the mephit remains motionless, it is indistinguishable from an ordinary shard of ice.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The mephit can innately cast **_fog cloud_**, requiring no material components. Its innate spellcasting ability is Charisma.",
+ "type": "spells",
+ "spellcasting_ability": "cha",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 1,
+ "spells": [
+ "fog cloud"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "slashing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "cold",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "frost breath (recharge 6)",
+ "text": "The mephit exhales a 15- foot cone of cold air. Each creature in that area must succeed on a DC 10 Dexterity saving throw, taking 5 (2d4) cold damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/imp.json b/parsed/creatures/imp.json
new file mode 100644
index 0000000..5543833
--- /dev/null
+++ b/parsed/creatures/imp.json
@@ -0,0 +1,146 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft., fly 40 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "Infernal, Common",
+ "skills": {
+ "Deception": 1,
+ "Insight": 1,
+ "Persuasion": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 3,
+ "hit_die_sides": 4,
+ "name": "Imp",
+ "type": "fiend (devil)",
+ "cr": 1.0,
+ "size": "Tiny",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 6,
+ "dex": 17,
+ "con": 13,
+ "int": 11,
+ "wis": 12,
+ "cha": 14
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "shapechanger",
+ "text": "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 spider (20 ft., climb 20 ft.), or back into its true form. Its statistics are the same in each form, except for the speed changes noted. Any equipment it is wearing or carrying isn't transformed. It reverts to its true form if it dies.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "devil's sight",
+ "text": "Magical darkness doesn't impede the imp's darkvision.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The imp has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "sting",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "sting",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse",
+ "bite in beast form"
+ ],
+ "weapon_type": "unknown",
+ "text": ", and the target must make on a DC 11 Constitution saving throw, taking 10 (3d6) poison damage on a failed save, or half as much damage on a successful one.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "invisibility",
+ "text": "The imp magically turns invisible until it attacks or until its concentration ends (as if concentrating on a spell). Any equipment the imp wears or carries is invisible with it.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/invisible_stalker.json b/parsed/creatures/invisible_stalker.json
new file mode 100644
index 0000000..0837d6d
--- /dev/null
+++ b/parsed/creatures/invisible_stalker.json
@@ -0,0 +1,152 @@
+{
+ "entry": "creatures",
+ "speed": "50 ft., fly 50 ft. (hover)",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "grappled",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "petrified",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ },
+ {
+ "type": "prone",
+ "qualifiers": []
+ },
+ {
+ "type": "restrained",
+ "qualifiers": []
+ },
+ {
+ "type": "unconscious",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Auran, understands Common but doesn't speak it",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 2
+ },
+ "hit_die_count": 16,
+ "hit_die_sides": 8,
+ "name": "Invisible Stalker",
+ "type": "elemental",
+ "cr": 6.0,
+ "size": "Medium",
+ "alignment": "neutral",
+ "stats": {
+ "str": 16,
+ "dex": 19,
+ "con": 14,
+ "int": 10,
+ "wis": 15,
+ "cha": 11
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "invisibility",
+ "text": "The stalker is invisible.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "faultless tracker",
+ "text": "The stalker is given a quarry by its summoner. The stalker knows the 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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The stalker makes two slam attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "slam",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "slam",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/iron_golem.json b/parsed/creatures/iron_golem.json
new file mode 100644
index 0000000..14dcc75
--- /dev/null
+++ b/parsed/creatures/iron_golem.json
@@ -0,0 +1,201 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ },
+ {
+ "type": "psychic",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical",
+ "non-adamantine"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical",
+ "non-adamantine"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical",
+ "non-adamantine"
+ ]
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "petrified",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "understands the languages of its creator but can't speak",
+ "skills": {},
+ "hit_die_count": 20,
+ "hit_die_sides": 10,
+ "name": "Iron Golem",
+ "type": "construct",
+ "cr": 16.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 24,
+ "dex": 9,
+ "con": 20,
+ "int": 3,
+ "wis": 11,
+ "cha": 1
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 20
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "fire absorption",
+ "text": "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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "immutable form",
+ "text": "The golem is immune to any spell or effect that would alter its form.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The golem has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic weapons",
+ "text": "The golem's weapon attacks are magical.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The golem makes two melee attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "slam",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "slam",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": 13,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "sword",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "sword",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 10,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": 13,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "poison breath (recharge 6)",
+ "text": "The golem exhales poisonous gas in a 15-foot cone. Each creature in that area must make a DC 19 Constitution saving throw, taking 45 (10d8) poison damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ }
+ ],
+ "prof": 5
+} \ No newline at end of file
diff --git a/parsed/creatures/jackal.json b/parsed/creatures/jackal.json
new file mode 100644
index 0000000..d2c6b56
--- /dev/null
+++ b/parsed/creatures/jackal.json
@@ -0,0 +1,79 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 1,
+ "hit_die_sides": 6,
+ "name": "Jackal",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Small",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 8,
+ "dex": 15,
+ "con": 11,
+ "int": 3,
+ "wis": 12,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen hearing and smell",
+ "text": "The jackal has advantage on Wisdom (Perception) checks that rely on hearing or smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "pack tactics",
+ "text": "The jackal has advantage on an attack roll against a creature if at least one of the jackal's allies is within 5 feet of the creature and the ally isn't incapacitated.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": "1 (1d4 \u2013 1) piercing damage.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/killer_whale.json b/parsed/creatures/killer_whale.json
new file mode 100644
index 0000000..0a89df0
--- /dev/null
+++ b/parsed/creatures/killer_whale.json
@@ -0,0 +1,94 @@
+{
+ "entry": "creatures",
+ "speed": "0 ft., swim 60 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 120 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 12,
+ "hit_die_sides": 12,
+ "name": "Killer Whale",
+ "type": "beast",
+ "cr": 3.0,
+ "size": "Huge",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 19,
+ "dex": 10,
+ "con": 13,
+ "int": 3,
+ "wis": 12,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 12
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "echolocation",
+ "text": "The whale can't use its blindsight while deafened.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "hold breath",
+ "text": "The whale can hold its breath for 30 minutes.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "keen hearing",
+ "text": "The whale has advantage on Wisdom (Perception) checks that rely on hearing.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 5,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/knight.json b/parsed/creatures/knight.json
new file mode 100644
index 0000000..518df25
--- /dev/null
+++ b/parsed/creatures/knight.json
@@ -0,0 +1,86 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [
+ "con",
+ "wis"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "any one language (usually Common)",
+ "skills": {},
+ "hit_die_count": 8,
+ "hit_die_sides": 8,
+ "name": "Knight",
+ "type": "humanoid (any race)",
+ "cr": 3.0,
+ "size": "Medium",
+ "alignment": "any alignment",
+ "stats": {
+ "str": 16,
+ "dex": 11,
+ "con": 14,
+ "int": 11,
+ "wis": 11,
+ "cha": 15
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "plate",
+ "type": "armor",
+ "text": "plate armor"
+ },
+ {
+ "entry": "item",
+ "name": "greatsword",
+ "type": "weapons",
+ "text": "."
+ },
+ {
+ "entry": "item",
+ "name": "heavy crossbow",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Knights are warriors who pledge service to rulers, religious orders, and noble causes. A knight's alignment determines the extent to which a pledge is honored. Whether undertaking a quest or patrolling a realm, a knight often travels with an entourage that includes squires and hirelings who are commoners.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "brave",
+ "text": "The knight has advantage on saving throws against being frightened.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The knight makes two melee attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "leadership (recharges after a short or long rest)",
+ "text": "For 1 minute, the knight can utter a special command or warning whenever a nonhostile creature that it can see within 30 feet of it makes an attack roll or a saving throw. The creature can add a d4 to 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.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "parry",
+ "text": "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.",
+ "type": "reaction"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/kobold.json b/parsed/creatures/kobold.json
new file mode 100644
index 0000000..fcc2e6c
--- /dev/null
+++ b/parsed/creatures/kobold.json
@@ -0,0 +1,67 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {},
+ "hit_die_count": 2,
+ "hit_die_sides": 6,
+ "name": "Kobold",
+ "type": "humanoid (kobold)",
+ "cr": 0.125,
+ "size": "Small",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 7,
+ "dex": 15,
+ "con": 9,
+ "int": 8,
+ "wis": 7,
+ "cha": 8
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "dagger",
+ "type": "weapons",
+ "text": "."
+ },
+ {
+ "entry": "item",
+ "name": "sling",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "sunlight sensitivity",
+ "text": "While in sunlight, the kobold has disadvantage on attack rolls, as well as on Wisdom (Perception) checks that rely on sight.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "pack tactics",
+ "text": "The kobold has advantage on an attack roll against a creature if at least one of the kobold's allies is within 5 feet of the creature and the ally isn't incapacitated.",
+ "type": "feature"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/kraken.json b/parsed/creatures/kraken.json
new file mode 100644
index 0000000..219986f
--- /dev/null
+++ b/parsed/creatures/kraken.json
@@ -0,0 +1,198 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft., swim 60 ft.",
+ "saves": [
+ "str",
+ "dex",
+ "con",
+ "int",
+ "wis"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "lightning",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "truesight 120 ft."
+ ],
+ "langs": "understands Abyssal, Celestial, Infernal, and Primordial but can't speak, telepathy 120 ft.",
+ "skills": {},
+ "hit_die_count": 27,
+ "hit_die_sides": 20,
+ "name": "Kraken",
+ "type": "monstrosity (titan)",
+ "cr": 23.0,
+ "size": "Gargantuan",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 30,
+ "dex": 11,
+ "con": 25,
+ "int": 22,
+ "wis": 18,
+ "cha": 20
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 18
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The kraken can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "freedom of movement",
+ "text": "The kraken ignores difficult terrain, and magical effects can't reduce its speed or cause it to be restrained. It can spend 5 feet of movement to escape from nonmagical restraints or being grappled.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "siege monster",
+ "text": "The kraken deals double damage to objects and structures.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The kraken makes three tentacle attacks, each of which it can replace with one use of Fling.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a Large or smaller creature grappled by the kraken, that creature is swallowed, and the grapple ends. While swallowed, the creature is blinded and restrained, it has total cover against attacks and other effects outside the kraken, and it takes 42 (12d6) acid damage at the start of each of the kraken's turns. \nIf the kraken takes 50 damage or more on a single turn from a creature inside it, the kraken must succeed on a DC 25 Constitution saving throw at the end of that turn or regurgitate all swallowed creatures, which fall prone in a space within 10 feet of the kraken. If the kraken dies, a swallowed creature is no longer restrained by it and can escape from the corpse using 15 feet of movement, exiting prone.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tentacle",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tentacle",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 30,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target is grappled (escape DC 18). Until this grapple ends, the target is restrained. The kraken has ten tentacles, each of which can grapple one target.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "fling",
+ "text": "One Large or smaller object held or creature grappled by the kraken is thrown up to 60 feet in a random direction and knocked prone. If a thrown target strikes a solid surface, the target takes 3 (1d6) bludgeoning damage for every 10 feet it was thrown. If the target is thrown at another creature, that creature must succeed on a DC 18 Dexterity saving throw or take the same damage and be knocked prone.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "lightning storm",
+ "text": "The kraken magically creates three bolts of lightning, each of which 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.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "tentacle attack or fling",
+ "text": "The kraken makes one tentacle attack or uses its Fling.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "lightning storm (costs 2 actions)",
+ "text": "The kraken uses Lightning Storm.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "ink cloud (costs 3 actions)",
+ "text": "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.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 7
+} \ No newline at end of file
diff --git a/parsed/creatures/lamia.json b/parsed/creatures/lamia.json
new file mode 100644
index 0000000..42c5d65
--- /dev/null
+++ b/parsed/creatures/lamia.json
@@ -0,0 +1,148 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Abyssal, Common",
+ "skills": {
+ "Deception": 2,
+ "Insight": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 13,
+ "hit_die_sides": 10,
+ "name": "Lamia",
+ "type": "monstrosity",
+ "cr": 4.0,
+ "size": "Large",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 16,
+ "dex": 13,
+ "con": 15,
+ "int": 14,
+ "wis": 15,
+ "cha": 16
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "dagger",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The lamia's innate spellcasting ability is Charisma (spell save DC 13). It can innately cast the following spells, requiring no material components. \nAt will: **_disguise self_** (any humanoid form), **_major image_** \n3/day each: **_charm person_**, **_mirror image_**, **_scrying_**, **_suggestion_** \n1/day: **_geas_**",
+ "type": "spells",
+ "spellcasting_ability": "cha",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "disguise self",
+ "major image"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "charm person",
+ "mirror image",
+ "scrying",
+ "suggestion"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "geas"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The lamia makes two attacks: one with its claws and one with its dagger or Intoxicating Touch.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "intoxicating touch",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "spell attack",
+ "name": "intoxicating touch",
+ "cost": -1,
+ "damage": [],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": "The target is magically cursed for 1 hour. Until the curse ends, the target has disadvantage on Wisdom saving throws and all ability checks.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/lemure.json b/parsed/creatures/lemure.json
new file mode 100644
index 0000000..a73749e
--- /dev/null
+++ b/parsed/creatures/lemure.json
@@ -0,0 +1,113 @@
+{
+ "entry": "creatures",
+ "speed": "15 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "understands Infernal but can't speak",
+ "skills": {},
+ "hit_die_count": 3,
+ "hit_die_sides": 8,
+ "name": "Lemure",
+ "type": "fiend (devil)",
+ "cr": 0.0,
+ "size": "Medium",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 10,
+ "dex": 5,
+ "con": 11,
+ "int": 1,
+ "wis": 11,
+ "cha": 3
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "devil's sight",
+ "text": "Magical darkness doesn't impede the lemure's darkvision.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "hellish rejuvenation",
+ "text": "A lemure that dies in the Nine Hells comes back to life with all its hit points in 1d10 days unless it is killed by a good\u2010aligned creature with a bless spell cast on that creature or its remains are sprinkled with holy water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "fist",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "fist",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": 3,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/lich.json b/parsed/creatures/lich.json
new file mode 100644
index 0000000..02eb9ff
--- /dev/null
+++ b/parsed/creatures/lich.json
@@ -0,0 +1,268 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [
+ "con",
+ "int",
+ "wis"
+ ],
+ "d_resistances": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "lightning",
+ "qualifiers": []
+ },
+ {
+ "type": "necrotic",
+ "qualifiers": []
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "truesight 120 ft."
+ ],
+ "langs": "Common plus up to five other languages",
+ "skills": {
+ "Arcana": 2,
+ "History": 1,
+ "Insight": 1,
+ "Perception": 1
+ },
+ "hit_die_count": 18,
+ "hit_die_sides": 8,
+ "name": "Lich",
+ "type": "undead",
+ "cr": 21.0,
+ "size": "Medium",
+ "alignment": "any evil alignment",
+ "stats": {
+ "str": 11,
+ "dex": 16,
+ "con": 16,
+ "int": 20,
+ "wis": 14,
+ "cha": 16
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "legendary resistance (3/day)",
+ "text": "If the lich fails a saving throw, it can choose to succeed instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "rejuvenation",
+ "text": "If it has a phylactery, a destroyed lich gains a new body in 1d10 days, regaining all its hit points and becoming active again. The new body appears within 5 feet of the phylactery.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "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: \nCantrips (at will): **_mage hand, prestidigitation, ray of frost_** \n1st level (4 slots): **_detect magic, magic missile, shield, thunderwave_** \n2nd level (3 slots): **_acid arrow, detect thoughts, invisibility, mirror image_** \n3rd level (3 slots): **_animate dead, counterspell, dispel magic, fireball_** \n4th level (3 slots): **_blight, dimension door_** \n5th level (3 slots): **_cloudkill, scrying_** \n6th level (1 slot): **_disintegrate, globe of invulnerability_** \n7th level (1 slot): **_finger of death, plane shift_** \n8th level (1 slot): **_dominate monster, power word stun_** \n9th level (1 slot): **_power word kill_**",
+ "type": "spells",
+ "spellcasting_ability": "int",
+ "innate": false,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "mage hand",
+ "prestidigitation",
+ "ray of frost"
+ ]
+ },
+ {
+ "slots": 4,
+ "spells": [
+ "detect magic",
+ "magic missile",
+ "shield",
+ "thunderwave"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "acid arrow",
+ "detect thoughts",
+ "invisibility",
+ "mirror image"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "animate dead",
+ "counterspell",
+ "dispel magic",
+ "fireball"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "blight",
+ "dimension door"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "cloudkill",
+ "scrying"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "disintegrate",
+ "globe of invulnerability"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "finger of death",
+ "plane shift"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "dominate monster",
+ "power word stun"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "power word kill"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "turn resistance",
+ "text": "The lich has advantage on saving throws against any effect that turns undead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "paralyzing touch",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "spell attack",
+ "name": "paralyzing touch",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 6,
+ "dmg_type": "cold",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". 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.",
+ "toHitOverride": 12,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "cantrip",
+ "text": "The lich casts a cantrip.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "paralyzing touch (costs 2 actions)",
+ "text": "The lich uses its Paralyzing Touch.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "frightening gaze (costs 2 actions)",
+ "text": "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.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "disrupt life (costs 3 actions)",
+ "text": "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.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 7
+} \ No newline at end of file
diff --git a/parsed/creatures/lion.json b/parsed/creatures/lion.json
new file mode 100644
index 0000000..daedee1
--- /dev/null
+++ b/parsed/creatures/lion.json
@@ -0,0 +1,125 @@
+{
+ "entry": "creatures",
+ "speed": "50 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 2
+ },
+ "hit_die_count": 4,
+ "hit_die_sides": 10,
+ "name": "Lion",
+ "type": "beast",
+ "cr": 1.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 17,
+ "dex": 15,
+ "con": 13,
+ "int": 3,
+ "wis": 12,
+ "cha": 8
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen smell",
+ "text": "The lion has advantage on Wisdom (Perception) checks that rely on smell. Pack Tactics. The lion has advantage on an attack roll against a creature if at least one of the lion's allies is within 5 feet of the creature and the ally isn't incapacitated.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "pounce",
+ "text": "If the lion moves at least 20 feet straight toward a creature and then hits it with a claw 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 lion can make one bite attack against it as a bonus action.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "running leap",
+ "text": "With a 10-foot running start, the lion can long jump up to 25 feet.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/lizard.json b/parsed/creatures/lizard.json
new file mode 100644
index 0000000..05c40da
--- /dev/null
+++ b/parsed/creatures/lizard.json
@@ -0,0 +1,74 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft., climb 20 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 30 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 1,
+ "hit_die_sides": 4,
+ "name": "Lizard",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Tiny",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 2,
+ "dex": 11,
+ "con": 10,
+ "int": 1,
+ "wis": 8,
+ "cha": 3
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 1,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": 0,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/lizardfolk.json b/parsed/creatures/lizardfolk.json
new file mode 100644
index 0000000..83f35c1
--- /dev/null
+++ b/parsed/creatures/lizardfolk.json
@@ -0,0 +1,165 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., swim 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "Draconic",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 2,
+ "Survival": 2
+ },
+ "hit_die_count": 4,
+ "hit_die_sides": 8,
+ "name": "Lizardfolk",
+ "type": "humanoid (lizardfolk)",
+ "cr": 0.5,
+ "size": "Medium",
+ "alignment": "neutral",
+ "stats": {
+ "str": 15,
+ "dex": 10,
+ "con": 13,
+ "int": 7,
+ "wis": 12,
+ "cha": 7
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "shield",
+ "type": "armor",
+ "text": "shield armor"
+ },
+ {
+ "entry": "item",
+ "name": "javelin",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "hold breath",
+ "text": "The lizardfolk can hold its breath for 15 minutes.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The lizardfolk makes two melee attacks, each one with a different weapon.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "heavy club",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "heavy club",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "spiked shield",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "spiked shield",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/mage.json b/parsed/creatures/mage.json
new file mode 100644
index 0000000..1a4aecd
--- /dev/null
+++ b/parsed/creatures/mage.json
@@ -0,0 +1,109 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [
+ "int",
+ "wis"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "any four languages",
+ "skills": {
+ "Arcana": 1,
+ "History": 1
+ },
+ "hit_die_count": 9,
+ "hit_die_sides": 8,
+ "name": "Mage",
+ "type": "humanoid (any race)",
+ "cr": 6.0,
+ "size": "Medium",
+ "alignment": "any alignment",
+ "stats": {
+ "str": 9,
+ "dex": 14,
+ "con": 11,
+ "int": 17,
+ "wis": 12,
+ "cha": 11
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "dagger",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Mages spend their lives in the study and practice of magic. Good-aligned mages offer counsel to nobles and others in power, while evil mages dwell in isolated sites to perform unspeakable experiments without interference.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "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: \nCantrips (at will): **_fire bolt, light, mage hand, prestidigitation_** \n1st level (4 slots): **_detect magic, mage armor, magic missile, shield_** \n2nd level (3 slots): **_misty step, suggestion_** \n3rd level (3 slots): **_counterspell, fireball, fly_** \n4th level (3 slots): **_greater invisibility, ice storm_** \n5th level (1 slot): **_cone of cold_**",
+ "type": "spells",
+ "spellcasting_ability": "int",
+ "innate": false,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "fire bolt",
+ "light",
+ "mage hand",
+ "prestidigitation"
+ ]
+ },
+ {
+ "slots": 4,
+ "spells": [
+ "detect magic",
+ "mage armor",
+ "magic missile",
+ "shield"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "misty step",
+ "suggestion"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "counterspell",
+ "fireball",
+ "fly"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "greater invisibility",
+ "ice storm"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "cone of cold"
+ ]
+ }
+ ]
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/magma_mephit.json b/parsed/creatures/magma_mephit.json
new file mode 100644
index 0000000..73f540d
--- /dev/null
+++ b/parsed/creatures/magma_mephit.json
@@ -0,0 +1,137 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., fly 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ }
+ ],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Ignan, Terran",
+ "skills": {
+ "Stealth": 1
+ },
+ "hit_die_count": 5,
+ "hit_die_sides": 6,
+ "name": "Magma Mephit",
+ "type": "elemental",
+ "cr": 0.5,
+ "size": "Small",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 8,
+ "dex": 12,
+ "con": 12,
+ "int": 7,
+ "wis": 10,
+ "cha": 10
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "death burst",
+ "text": "When the mephit dies, it explodes in a burst of lava. Each creature within 5 feet of it must make a DC 11 Dexterity saving throw, taking 7 (2d6) fire damage on a failed save, or half as much damage on a successful one.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "false appearance",
+ "text": "While the mephit remains motionless, it is indistinguishable from an ordinary mound of magma.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The mephit can innately cast **_heat metal_** (spell save DC 10), requiring no material components. Its innate spellcasting ability is Charisma.",
+ "type": "spells",
+ "spellcasting_ability": "cha",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 1,
+ "spells": [
+ "heat metal"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "slashing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "fire",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "fire breath (recharge 6)",
+ "text": "The mephit exhales a 15-foot cone of fire. Each creature in that area must make a DC 11 Dexterity saving throw, taking 7 (2d6) fire damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/magmin.json b/parsed/creatures/magmin.json
new file mode 100644
index 0000000..176b0a6
--- /dev/null
+++ b/parsed/creatures/magmin.json
@@ -0,0 +1,112 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Ignan",
+ "skills": {},
+ "hit_die_count": 2,
+ "hit_die_sides": 6,
+ "name": "Magmin",
+ "type": "elemental",
+ "cr": 0.5,
+ "size": "Small",
+ "alignment": "chaotic neutral",
+ "stats": {
+ "str": 7,
+ "dex": 15,
+ "con": 12,
+ "int": 8,
+ "wis": 11,
+ "cha": 10
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 14
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "death burst",
+ "text": "When the magmin dies, it explodes in a burst of fire and magma. Each creature within 10 feet of it must make a DC 11 Dexterity saving throw, taking 7 (2d6) fire damage on a failed save, or half as much damage on a successful one. Flammable objects that aren't being worn or carried in that area are ignited.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "ignited illumination",
+ "text": "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 feet.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "touch",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "touch",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "fire",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature or a flammable object, it ignites. Until a creature takes an action to douse the fire, the target takes 3 (1d6) fire damage at the end of each of its turns.",
+ "toHitOverride": null,
+ "dmgBonusOverride": 0,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/mammoth.json b/parsed/creatures/mammoth.json
new file mode 100644
index 0000000..2f7156d
--- /dev/null
+++ b/parsed/creatures/mammoth.json
@@ -0,0 +1,112 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 11,
+ "hit_die_sides": 12,
+ "name": "Mammoth",
+ "type": "beast",
+ "cr": 6.0,
+ "size": "Huge",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 24,
+ "dex": 9,
+ "con": 21,
+ "int": 3,
+ "wis": 11,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "A mammoth is an elephantine creature with thick fur and long tusks. Stockier and fiercer than normal elephants, mammoths inhabit a wide range of climes, from subarctic to subtropical.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "trampling charge",
+ "text": "If the mammoth moves at least 20 feet 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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "gore",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "gore",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "stomp",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "stomp",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 10,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "one prone creature"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/manticore.json b/parsed/creatures/manticore.json
new file mode 100644
index 0000000..5ad849b
--- /dev/null
+++ b/parsed/creatures/manticore.json
@@ -0,0 +1,150 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., fly 50 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Common",
+ "skills": {},
+ "hit_die_count": 8,
+ "hit_die_sides": 10,
+ "name": "Manticore",
+ "type": "monstrosity",
+ "cr": 3.0,
+ "size": "Large",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 17,
+ "dex": 16,
+ "con": 17,
+ "int": 7,
+ "wis": 12,
+ "cha": 8
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 14
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "tail spike regrowth",
+ "text": "The manticore has twenty-four tail spikes. Used spikes regrow when the manticore finishes a long rest.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The manticore makes three attacks: one with its bite and two with its claws or three with its tail spikes.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail spike",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail spike",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 100,
+ 200
+ ],
+ "reach": 0,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/marilith.json b/parsed/creatures/marilith.json
new file mode 100644
index 0000000..4480e61
--- /dev/null
+++ b/parsed/creatures/marilith.json
@@ -0,0 +1,188 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [
+ "str",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "lightning",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "truesight 120 ft."
+ ],
+ "langs": "Abyssal, telepathy 120 ft.",
+ "skills": {},
+ "hit_die_count": 18,
+ "hit_die_sides": 10,
+ "name": "Marilith",
+ "type": "fiend (demon)",
+ "cr": 16.0,
+ "size": "Large",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 18,
+ "dex": 20,
+ "con": 20,
+ "int": 18,
+ "wis": 16,
+ "cha": 20
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 18
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The marilith has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic weapons",
+ "text": "The marilith's weapon attacks are magical.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "reactive",
+ "text": "The marilith can take one reaction on every turn in a combat.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The marilith makes seven attacks: six with its longswords and one with its tail.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "longsword",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "longsword",
+ "cost": 1500,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": 3.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is Medium or smaller, it is grappled (escape DC 19). Until this grapple ends, the target is restrained, the marilith can automatically hit the target with its tail, and the marilith can't make tail attacks against other targets.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "teleport",
+ "text": "The marilith magically teleports, along with any equipment it is wearing or carrying, up to 120 feet to an unoccupied space it can see.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "parry",
+ "text": "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.",
+ "type": "reaction"
+ }
+ ],
+ "prof": 5
+} \ No newline at end of file
diff --git a/parsed/creatures/mastiff.json b/parsed/creatures/mastiff.json
new file mode 100644
index 0000000..6e605c7
--- /dev/null
+++ b/parsed/creatures/mastiff.json
@@ -0,0 +1,80 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 1,
+ "hit_die_sides": 8,
+ "name": "Mastiff",
+ "type": "beast",
+ "cr": 0.125,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 13,
+ "dex": 14,
+ "con": 12,
+ "int": 3,
+ "wis": 12,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Mastiffs are impressive hounds prized by humanoids for their loyalty and keen senses. Mastiffs can be trained as guard dogs, hunting dogs, and war dogs. Halflings and other Small humanoids ride them as mounts.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen hearing and smell",
+ "text": "The mastiff has advantage on Wisdom (Perception) checks that rely on hearing or smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature, it must succeed on a DC 11 Strength saving throw or be knocked prone.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/medusa.json b/parsed/creatures/medusa.json
new file mode 100644
index 0000000..db1ca11
--- /dev/null
+++ b/parsed/creatures/medusa.json
@@ -0,0 +1,144 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Common",
+ "skills": {
+ "Deception": 1,
+ "Insight": 1,
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 17,
+ "hit_die_sides": 8,
+ "name": "Medusa",
+ "type": "monstrosity",
+ "cr": 6.0,
+ "size": "Medium",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 10,
+ "dex": 15,
+ "con": 16,
+ "int": 12,
+ "wis": 13,
+ "cha": 15
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "shortsword",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 15
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "petrifying gaze",
+ "text": "When a creature that can see the medusa's eyes starts its turn within 30 feet of the medusa, the medusa can force it to make a DC 14 Constitution saving throw if the medusa isn't incapacitated and can see the creature. If the saving throw fails by 5 or more, the creature is instantly petrified. Otherwise, a creature that fails the save begins to turn to stone and is restrained. The restrained creature must repeat the saving throw at the end of its next turn, becoming petrified on a failure or ending the effect on a success. The petrification lasts until the creature is freed by the greater restoration spell or other magic. \nUnless surprised, a creature can avert its eyes to avoid the saving throw at the start of its turn. If the creature does so, it can't see the medusa until the start of its next turn, when it can avert its eyes again. If the creature looks at the medusa in the meantime, it must immediately make the save. \nIf the medusa sees itself reflected on a polished surface within 30 feet of it and in an area of bright light, the medusa is, due to its curse, affected by its own gaze.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The medusa makes either three melee attacks--one with its snake hair and two with its shortsword--or two ranged attacks with its longbow.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "snake hair",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "snake hair",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 6,
+ "dmg_type": "poison",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "longbow",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "longbow",
+ "cost": 5000,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "poison",
+ "is_or": false
+ }
+ ],
+ "weight": 2.0,
+ "range": [
+ 150,
+ 600
+ ],
+ "reach": 0,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/merfolk.json b/parsed/creatures/merfolk.json
new file mode 100644
index 0000000..a7c5a70
--- /dev/null
+++ b/parsed/creatures/merfolk.json
@@ -0,0 +1,55 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft., swim 40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "Aquan, Common",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 2,
+ "hit_die_sides": 8,
+ "name": "Merfolk",
+ "type": "humanoid (merfolk)",
+ "cr": 0.125,
+ "size": "Medium",
+ "alignment": "neutral",
+ "stats": {
+ "str": 10,
+ "dex": 13,
+ "con": 12,
+ "int": 11,
+ "wis": 11,
+ "cha": 12
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "spear",
+ "type": "weapons",
+ "text": "if used with two hands to make a melee attack."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The merfolk can breathe air and water.",
+ "type": "feature"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/merrow.json b/parsed/creatures/merrow.json
new file mode 100644
index 0000000..d886479
--- /dev/null
+++ b/parsed/creatures/merrow.json
@@ -0,0 +1,150 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft., swim 40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Abyssal, Aquan",
+ "skills": {},
+ "hit_die_count": 6,
+ "hit_die_sides": 10,
+ "name": "Merrow",
+ "type": "monstrosity",
+ "cr": 2.0,
+ "size": "Large",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 18,
+ "dex": 10,
+ "con": 15,
+ "int": 8,
+ "wis": 10,
+ "cha": 9
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The merrow can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The merrow makes two attacks: one with its bite and one with its claws or harpoon.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 4,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "harpoon",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "harpoon",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 20,
+ 60
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a Huge or smaller creature, it must succeed on a Strength contest against the merrow or be pulled up to 20 feet toward the merrow.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/mimic.json b/parsed/creatures/mimic.json
new file mode 100644
index 0000000..ffcc601
--- /dev/null
+++ b/parsed/creatures/mimic.json
@@ -0,0 +1,148 @@
+{
+ "entry": "creatures",
+ "speed": "15 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "acid",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "prone",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Stealth": 2
+ },
+ "hit_die_count": 9,
+ "hit_die_sides": 8,
+ "name": "Mimic",
+ "type": "monstrosity (shapechanger)",
+ "cr": 2.0,
+ "size": "Medium",
+ "alignment": "neutral",
+ "stats": {
+ "str": 17,
+ "dex": 12,
+ "con": 15,
+ "int": 5,
+ "wis": 13,
+ "cha": 8
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 12
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "shapechanger",
+ "text": "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. Any equipment it is wearing or carrying isn't transformed. It reverts to its true form if it dies.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "adhesive (object form only)",
+ "text": "The mimic adheres to anything that touches it. A Huge or smaller creature adhered to the mimic is also grappled by it (escape DC 13). Ability checks made to escape this grapple have disadvantage.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "false appearance (object form only)",
+ "text": "While the mimic remains motionless, it is indistinguishable from an ordinary object.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "grappler",
+ "text": "The mimic has advantage on attack rolls against any creature grappled by it.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "pseudopod",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "pseudopod",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the mimic is in object form, the target is subjected to its Adhesive trait.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "acid",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/minotaur.json b/parsed/creatures/minotaur.json
new file mode 100644
index 0000000..0d8800a
--- /dev/null
+++ b/parsed/creatures/minotaur.json
@@ -0,0 +1,126 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Abyssal",
+ "skills": {
+ "Perception": 2
+ },
+ "hit_die_count": 9,
+ "hit_die_sides": 10,
+ "name": "Minotaur",
+ "type": "monstrosity",
+ "cr": 3.0,
+ "size": "Large",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 18,
+ "dex": 11,
+ "con": 16,
+ "int": 6,
+ "wis": 16,
+ "cha": 9
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 14
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "charge",
+ "text": "If the minotaur 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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "labyrinthine recall",
+ "text": "The minotaur can perfectly recall any path it has traveled.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "reckless",
+ "text": "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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "greataxe",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "greataxe",
+ "cost": 3000,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 12,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": 7.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "gore",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "gore",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/minotaur_skeleton.json b/parsed/creatures/minotaur_skeleton.json
new file mode 100644
index 0000000..dd511b1
--- /dev/null
+++ b/parsed/creatures/minotaur_skeleton.json
@@ -0,0 +1,131 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": []
+ }
+ ],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "understands Abyssal but can't speak",
+ "skills": {},
+ "hit_die_count": 9,
+ "hit_die_sides": 10,
+ "name": "Minotaur Skeleton",
+ "type": "undead",
+ "cr": 2.0,
+ "size": "Large",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 18,
+ "dex": 11,
+ "con": 15,
+ "int": 6,
+ "wis": 8,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 12
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "charge",
+ "text": "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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "greataxe",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "greataxe",
+ "cost": 3000,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 12,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": 7.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "gore",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "gore",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/mule.json b/parsed/creatures/mule.json
new file mode 100644
index 0000000..c9e3c0d
--- /dev/null
+++ b/parsed/creatures/mule.json
@@ -0,0 +1,84 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 2,
+ "hit_die_sides": 8,
+ "name": "Mule",
+ "type": "beast",
+ "cr": 0.125,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 14,
+ "dex": 10,
+ "con": 13,
+ "int": 2,
+ "wis": 10,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "beast of burden",
+ "text": "The mule is considered to be a Large animal for the purpose of determining its carrying capacity.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "sure-footed",
+ "text": "The mule has advantage on Strength and Dexterity saving throws made against effects that would knock it prone.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "hooves",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "hooves",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": 2,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/mummy.json b/parsed/creatures/mummy.json
new file mode 100644
index 0000000..a2b862c
--- /dev/null
+++ b/parsed/creatures/mummy.json
@@ -0,0 +1,148 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft.",
+ "saves": [
+ "wis"
+ ],
+ "d_resistances": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "d_immunities": [
+ {
+ "type": "necrotic",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "the languages it knew in life",
+ "skills": {},
+ "hit_die_count": 9,
+ "hit_die_sides": 8,
+ "name": "Mummy",
+ "type": "undead",
+ "cr": 3.0,
+ "size": "Medium",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 16,
+ "dex": 8,
+ "con": 15,
+ "int": 6,
+ "wis": 10,
+ "cha": 12
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 11
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The mummy can use its Dreadful Glare and makes one attack with its rotting fist.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "rotting fist",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "rotting fist",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 6,
+ "dmg_type": "necrotic",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature, it must succeed on a DC 12 Constitution saving throw or be cursed with mummy rot. The cursed target can't regain hit points, and its hit point maximum decreases by 10 (3d6) for every 24 hours that elapse. If the curse reduces the target's hit point maximum to 0, the target dies, and its body turns to dust. The curse lasts until removed by the remove curse spell or other magic.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "dreadful glare",
+ "text": "The mummy targets one creature it can see within 60 feet of it. If the target can see the mummy, it must succeed on a DC 11 Wisdom saving throw against this magic or become frightened until the end of the mummy's next turn. If the target fails the saving throw by 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 (but not mummy lords) for the next 24 hours.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/mummy_lord.json b/parsed/creatures/mummy_lord.json
new file mode 100644
index 0000000..b6314ff
--- /dev/null
+++ b/parsed/creatures/mummy_lord.json
@@ -0,0 +1,255 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft.",
+ "saves": [
+ "con",
+ "int",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "d_immunities": [
+ {
+ "type": "necrotic",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "the languages it knew in life",
+ "skills": {
+ "History": 1,
+ "Religion": 1
+ },
+ "hit_die_count": 13,
+ "hit_die_sides": 8,
+ "name": "Mummy Lord",
+ "type": "undead",
+ "cr": 15.0,
+ "size": "Medium",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 18,
+ "dex": 10,
+ "con": 17,
+ "int": 11,
+ "wis": 18,
+ "cha": 16
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The mummy lord has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "rejuvenation",
+ "text": "A destroyed mummy lord gains a new body in 24 hours if its heart is intact, regaining all its hit points and becoming active again. The new body appears within 5 feet of the mummy lord's heart.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "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: \nCantrips (at will): **_sacred flame, thaumaturgy_** \n1st level (4 slots): **_command, guiding bolt, shield of faith_** \n2nd level (3 slots): **_hold person, silence, spiritual weapon_** \n3rd level (3 slots): **_animate dead, dispel magic_** \n4th level (3 slots): **_divination, guardian of faith_** \n5th level (2 slots): **_contagion, insect plague_** \n6th level (1 slot): **_harm_**",
+ "type": "spells",
+ "spellcasting_ability": "wis",
+ "innate": false,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "sacred flame",
+ "thaumaturgy"
+ ]
+ },
+ {
+ "slots": 4,
+ "spells": [
+ "command",
+ "guiding bolt",
+ "shield of faith"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "hold person",
+ "silence",
+ "spiritual weapon"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "animate dead",
+ "dispel magic"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "divination",
+ "guardian of faith"
+ ]
+ },
+ {
+ "slots": 2,
+ "spells": [
+ "contagion",
+ "insect plague"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "harm"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The mummy can use its Dreadful Glare and makes one attack with its rotting fist.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "rotting fist",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "rotting fist",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 6,
+ "dmg_die_sides": 6,
+ "dmg_type": "necrotic",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature, it must succeed on a DC 16 Constitution saving throw or be cursed with mummy rot. The cursed target can't regain hit points, and its hit point maximum decreases by 10 (3d6) for every 24 hours that elapse. If the curse reduces the target's hit point maximum to 0, the target dies, and its body turns to dust. The curse lasts until removed by the remove curse spell or other magic.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "dreadful glare",
+ "text": "The mummy lord targets one creature it can see within 60 feet of it. If the target can see the mummy lord, it must succeed on a DC 16 Wisdom saving throw against this magic or become frightened until the end of the mummy's next turn. If the target fails the saving throw by 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.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "attack",
+ "text": "The mummy lord makes one attack with its rotting fist or uses its Dreadful Glare.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "blinding dust",
+ "text": "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.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "blasphemous word (costs 2 actions)",
+ "text": "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.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "channel negative energy (costs 2 actions)",
+ "text": "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.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "whirlwind of sand (costs 2 actions)",
+ "text": "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.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 5
+} \ No newline at end of file
diff --git a/parsed/creatures/nalfeshnee.json b/parsed/creatures/nalfeshnee.json
new file mode 100644
index 0000000..767af1e
--- /dev/null
+++ b/parsed/creatures/nalfeshnee.json
@@ -0,0 +1,176 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft., fly 30 ft.",
+ "saves": [
+ "con",
+ "int",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "lightning",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "truesight 120 ft."
+ ],
+ "langs": "Abyssal, telepathy 120 ft.",
+ "skills": {},
+ "hit_die_count": 16,
+ "hit_die_sides": 10,
+ "name": "Nalfeshnee",
+ "type": "fiend (demon)",
+ "cr": 13.0,
+ "size": "Large",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 21,
+ "dex": 10,
+ "con": 22,
+ "int": 19,
+ "wis": 12,
+ "cha": 15
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 18
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The nalfeshnee has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The nalfeshnee uses Horror Nimbus if it can. It then makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 5,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "horror nimbus (recharge 5\u20136)",
+ "text": "The nalfeshnee magically emits scintillating, multicolored light. Each creature within 15 feet of the nalfeshnee that can see the light must succeed on a DC 15 Wisdom saving throw or be frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the nalfeshnee's Horror Nimbus for the next 24 hours.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "teleport",
+ "text": "The nalfeshnee magically teleports, along with any equipment it is wearing or carrying, up to 120 feet to an unoccupied space it can see.",
+ "type": "action"
+ }
+ ],
+ "prof": 5
+} \ No newline at end of file
diff --git a/parsed/creatures/night_hag.json b/parsed/creatures/night_hag.json
new file mode 100644
index 0000000..5c2d524
--- /dev/null
+++ b/parsed/creatures/night_hag.json
@@ -0,0 +1,165 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "Abyssal, Common, Infernal, Primordial",
+ "skills": {
+ "Deception": 1,
+ "Insight": 1,
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 15,
+ "hit_die_sides": 8,
+ "name": "Night Hag",
+ "type": "fiend",
+ "cr": 5.0,
+ "size": "Medium",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 18,
+ "dex": 15,
+ "con": 16,
+ "int": 16,
+ "wis": 14,
+ "cha": 16
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The hag's innate spellcasting ability is Charisma (spell save DC 14, +6 to hit with spell attacks). She can innately cast the following spells, requiring no material components: \nAt will: **_detect magic_**, **_magic missile_** \n2/day each: **_plane shift_** (self only), **_ray of enfeeblement_**, **_sleep_**",
+ "type": "spells",
+ "spellcasting_ability": "cha",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "detect magic",
+ "magic missile"
+ ]
+ },
+ {
+ "slots": 2,
+ "spells": [
+ "plane shift",
+ "ray of enfeeblement",
+ "sleep"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The hag has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "hag form only"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "change shape",
+ "text": "The hag magically polymorphs into a Small or Medium female humanoid, or back into her true form. Her statistics are the same in each form. Any equipment she is wearing or carrying isn't transformed. She reverts to her true form if she dies.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "etherealness",
+ "text": "The hag magically enters the Ethereal Plane from the Material Plane, or vice versa. To do so, the hag must have a heartstone in her possession.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "nightmare haunting (1/day)",
+ "text": "While on the Ethereal Plane, the hag magically touches a sleeping humanoid on the Material Plane. A protection from evil and good spell cast on the target prevents this contact, as does a magic circle. As long as the contact persists, the target has dreadful visions. If these visions last for at least 1 hour, the target gains no benefit from its rest, and its hit point maximum is reduced by 5 (1d10). If this effect reduces the target's hit point maximum to 0, the target dies, and if the target was evil, its soul is trapped in the hag's soul bag. The reduction to the target's hit point maximum lasts until removed by the greater restoration spell or similar magic.",
+ "type": "action"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/nightmare.json b/parsed/creatures/nightmare.json
new file mode 100644
index 0000000..ac533e4
--- /dev/null
+++ b/parsed/creatures/nightmare.json
@@ -0,0 +1,101 @@
+{
+ "entry": "creatures",
+ "speed": "60 ft., fly 90 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "understands Abyssal, Common, and Infernal but can't speak",
+ "skills": {},
+ "hit_die_count": 8,
+ "hit_die_sides": 10,
+ "name": "Nightmare",
+ "type": "fiend",
+ "cr": 3.0,
+ "size": "Large",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 18,
+ "dex": 15,
+ "con": 16,
+ "int": 10,
+ "wis": 13,
+ "cha": 15
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "confer fire resistance",
+ "text": "The nightmare can grant resistance to fire damage to anyone riding it.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "illumination",
+ "text": "The nightmare sheds bright light in a 10-foot radius and dim light for an additional 10 feet.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "hooves",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "hooves",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "fire",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "ethereal stride",
+ "text": "The nightmare and up to three willing creatures within 5 feet of it magically enter the Ethereal Plane from the Material Plane, or vice versa.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/noble.json b/parsed/creatures/noble.json
new file mode 100644
index 0000000..87cd1bc
--- /dev/null
+++ b/parsed/creatures/noble.json
@@ -0,0 +1,63 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "any two languages",
+ "skills": {
+ "Deception": 1,
+ "Insight": 1,
+ "Persuasion": 1
+ },
+ "hit_die_count": 2,
+ "hit_die_sides": 8,
+ "name": "Noble",
+ "type": "humanoid (any race)",
+ "cr": 0.125,
+ "size": "Medium",
+ "alignment": "any alignment",
+ "stats": {
+ "str": 11,
+ "dex": 12,
+ "con": 11,
+ "int": 12,
+ "wis": 14,
+ "cha": 16
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "breastplate",
+ "type": "armor",
+ "text": "breastplate armor"
+ },
+ {
+ "entry": "item",
+ "name": "rapier",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Nobles wield great authority and influence as members of the upper class, possessing wealth and connections that can make them as powerful as monarchs and generals. A noble often travels in the company of guards, as well as servants who are commoners. The noble's statistics can also be used to represent courtiers who aren't of noble birth.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "parry",
+ "text": "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.",
+ "type": "reaction"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/ochre_jelly.json b/parsed/creatures/ochre_jelly.json
new file mode 100644
index 0000000..6a22c4f
--- /dev/null
+++ b/parsed/creatures/ochre_jelly.json
@@ -0,0 +1,137 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft., climb 10 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "acid",
+ "qualifiers": []
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "lightning",
+ "qualifiers": []
+ },
+ {
+ "type": "slashing",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "blinded",
+ "qualifiers": []
+ },
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "deafened",
+ "qualifiers": []
+ },
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "prone",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "blindsight 60 ft. (blind beyond this radius)"
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 6,
+ "hit_die_sides": 10,
+ "name": "Ochre Jelly",
+ "type": "ooze",
+ "cr": 2.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 15,
+ "dex": 6,
+ "con": 14,
+ "int": 2,
+ "wis": 6,
+ "cha": 1
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amorphous",
+ "text": "The jelly can move through a space as narrow as 1 inch wide without squeezing.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spider climb",
+ "text": "The jelly can climb difficult surfaces, including upside down on ceilings, without needing to make an ability check.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "pseudopod",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "pseudopod",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "acid",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "split",
+ "text": "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.",
+ "type": "reaction"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/octopus.json b/parsed/creatures/octopus.json
new file mode 100644
index 0000000..2673c5e
--- /dev/null
+++ b/parsed/creatures/octopus.json
@@ -0,0 +1,103 @@
+{
+ "entry": "creatures",
+ "speed": "5 ft., swim 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 30 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 1,
+ "hit_die_sides": 6,
+ "name": "Octopus",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Small",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 4,
+ "dex": 15,
+ "con": 11,
+ "int": 3,
+ "wis": 10,
+ "cha": 4
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "hold breath",
+ "text": "While out of water, the octopus can hold its breath for 30 minutes.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "underwater camouflage",
+ "text": "The octopus has advantage on Dexterity (Stealth) checks made while underwater.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "water breathing",
+ "text": "The octopus can breathe only underwater.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "tentacles",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tentacles",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 1,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ", and the target is grappled (escape DC 10). Until this grapple ends, the octopus can't use its tentacles on another target.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "ink cloud (recharges after a short or long rest)",
+ "text": "A 5-foot-radius cloud of ink extends all around the octopus if it is underwater. The area is heavily obscured for 1 minute, although a significant current can disperse the ink. After releasing the ink, the octopus can use the Dash action as a bonus action.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/ogre.json b/parsed/creatures/ogre.json
new file mode 100644
index 0000000..540ac2b
--- /dev/null
+++ b/parsed/creatures/ogre.json
@@ -0,0 +1,113 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Common, Giant",
+ "skills": {},
+ "hit_die_count": 7,
+ "hit_die_sides": 10,
+ "name": "Ogre",
+ "type": "giant",
+ "cr": 2.0,
+ "size": "Large",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 19,
+ "dex": 8,
+ "con": 16,
+ "int": 5,
+ "wis": 7,
+ "cha": 7
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "hide",
+ "type": "armor",
+ "text": "hide armor"
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "greatclub",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "greatclub",
+ "cost": 20,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": 10.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "javelin",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "javelin",
+ "cost": 50,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": 2.0,
+ "range": [
+ 30,
+ 120
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/ogre_zombie.json b/parsed/creatures/ogre_zombie.json
new file mode 100644
index 0000000..0b0c076
--- /dev/null
+++ b/parsed/creatures/ogre_zombie.json
@@ -0,0 +1,92 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [
+ "wis"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "understands Common and Giant but can't speak",
+ "skills": {},
+ "hit_die_count": 9,
+ "hit_die_sides": 10,
+ "name": "Ogre Zombie",
+ "type": "undead",
+ "cr": 2.0,
+ "size": "Large",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 19,
+ "dex": 6,
+ "con": 18,
+ "int": 3,
+ "wis": 6,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "undead fortitude",
+ "text": "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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "morningstar",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "morningstar",
+ "cost": 1500,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": 4.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/oni.json b/parsed/creatures/oni.json
new file mode 100644
index 0000000..9a2cc0c
--- /dev/null
+++ b/parsed/creatures/oni.json
@@ -0,0 +1,180 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., fly 30 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Common, Giant",
+ "skills": {
+ "Arcana": 1,
+ "Deception": 2,
+ "Perception": 1
+ },
+ "hit_die_count": 13,
+ "hit_die_sides": 10,
+ "name": "Oni",
+ "type": "giant",
+ "cr": 7.0,
+ "size": "Large",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 19,
+ "dex": 11,
+ "con": 16,
+ "int": 14,
+ "wis": 12,
+ "cha": 15
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "chain mail",
+ "type": "armor",
+ "text": "chain mail armor"
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The oni's innate spellcasting ability is Charisma (spell save DC 13). The oni can innately cast the following spells, requiring no material components: \nAt will: **_darkness, invisibility_** \n1/day each: **_charm person, cone of cold, gaseous form, sleep_**",
+ "type": "spells",
+ "spellcasting_ability": "cha",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "darkness",
+ "invisibility"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "charm person",
+ "cone of cold",
+ "gaseous form",
+ "sleep"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "magic weapons",
+ "text": "The oni's weapon attacks are magical.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "regeneration",
+ "text": "The oni regains 10 hit points at the start of its turn if it has at least 1 hit point.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The oni makes two attacks, either with its claws or its glaive.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "oni form only"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "glaive",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "glaive",
+ "cost": 2000,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "slashing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "slashing",
+ "is_or": true
+ }
+ ],
+ "weight": 6.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": "in Small or Medium form.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "change shape",
+ "text": "The oni magically polymorphs into a Small or Medium humanoid, into a Large giant, or back into its true form. Other than its size, its statistics are the same in each form. The only equipment that is transformed is its glaive, which shrinks so that it can be wielded in humanoid form. If the oni dies, it reverts to its true form, and its glaive reverts to its normal size.",
+ "type": "action"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/orc.json b/parsed/creatures/orc.json
new file mode 100644
index 0000000..6d85c68
--- /dev/null
+++ b/parsed/creatures/orc.json
@@ -0,0 +1,69 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Common, Orc",
+ "skills": {
+ "Intimidation": 1
+ },
+ "hit_die_count": 2,
+ "hit_die_sides": 8,
+ "name": "Orc",
+ "type": "humanoid (orc)",
+ "cr": 0.5,
+ "size": "Medium",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 16,
+ "dex": 12,
+ "con": 16,
+ "int": 7,
+ "wis": 11,
+ "cha": 10
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "hide",
+ "type": "armor",
+ "text": "hide armor"
+ },
+ {
+ "entry": "item",
+ "name": "greataxe",
+ "type": "weapons",
+ "text": "."
+ },
+ {
+ "entry": "item",
+ "name": "javelin",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "aggressive",
+ "text": ". As a bonus action, the orc can move up to its speed toward a hostile creature that it can see.",
+ "type": "feature"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/otyugh.json b/parsed/creatures/otyugh.json
new file mode 100644
index 0000000..c04c6b8
--- /dev/null
+++ b/parsed/creatures/otyugh.json
@@ -0,0 +1,132 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [
+ "con"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "Otyugh",
+ "skills": {},
+ "hit_die_count": 12,
+ "hit_die_sides": 10,
+ "name": "Otyugh",
+ "type": "abberation",
+ "cr": 5.0,
+ "size": "Large",
+ "alignment": "neutral",
+ "stats": {
+ "str": 16,
+ "dex": 11,
+ "con": 19,
+ "int": 6,
+ "wis": 13,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 14
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "limited telepathy",
+ "text": "The otyugh can magically transmit simple messages and images to any creature within 120 feet of it that can understand a language. This form of telepathy doesn't allow the receiving creature to telepathically respond.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The otyugh makes three attacks: one with its bite and two with its tentacles.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature, it must succeed on a DC 15 Constitution saving throw against disease or become poisoned until the disease is cured. Every 24 hours that elapse, the target must repeat the saving throw, reducing its hit point maximum by 5 (1d10) on a failure. The disease is cured on a success. The target dies if the disease reduces its hit point maximum to 0. This reduction to the target's hit point maximum lasts until the disease is cured.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tentacle",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tentacle",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is Medium or smaller, it is grappled (escape DC 13) and restrained until the grapple ends. The otyugh has two tentacles, each of which can grapple one target.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tentacle slam",
+ "text": "The otyugh slams creatures grappled by it into each other or a solid surface. Each creature must succeed on a DC 14 Constitution saving throw or take 10 (2d6 + 3) bludgeoning damage and be stunned until the end of the otyugh's next turn. On a successful save, the target takes half the bludgeoning damage and isn't stunned.",
+ "type": "action"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/owl.json b/parsed/creatures/owl.json
new file mode 100644
index 0000000..f553a2d
--- /dev/null
+++ b/parsed/creatures/owl.json
@@ -0,0 +1,91 @@
+{
+ "entry": "creatures",
+ "speed": "5 ft., fly 60 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 1,
+ "hit_die_sides": 4,
+ "name": "Owl",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Tiny",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 3,
+ "dex": 13,
+ "con": 8,
+ "int": 2,
+ "wis": 12,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "flyby",
+ "text": "The owl doesn't provoke opportunity attacks when it flies out of an enemy's reach.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "keen hearing and sight",
+ "text": "The owl has advantage on Wisdom (Perception) checks that rely on hearing or sight.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "talons",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "talons",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 1,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/owlbear.json b/parsed/creatures/owlbear.json
new file mode 100644
index 0000000..181841d
--- /dev/null
+++ b/parsed/creatures/owlbear.json
@@ -0,0 +1,120 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 7,
+ "hit_die_sides": 10,
+ "name": "Owlbear",
+ "type": "monstrosity",
+ "cr": 3.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 20,
+ "dex": 12,
+ "con": 17,
+ "int": 3,
+ "wis": 12,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen sight and smell",
+ "text": "The owlbear has advantage on Wisdom (Perception) checks that rely on sight or smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The owlbear makes two attacks: one with its beak and one with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "beak",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "beak",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/panther.json b/parsed/creatures/panther.json
new file mode 100644
index 0000000..67416c0
--- /dev/null
+++ b/parsed/creatures/panther.json
@@ -0,0 +1,119 @@
+{
+ "entry": "creatures",
+ "speed": "50 ft., climb 40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 2
+ },
+ "hit_die_count": 3,
+ "hit_die_sides": 8,
+ "name": "Panther",
+ "type": "beast",
+ "cr": 0.25,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 14,
+ "dex": 15,
+ "con": 10,
+ "int": 3,
+ "wis": 14,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen smell",
+ "text": "The panther has advantage on Wisdom (Perception) checks that rely on smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "pounce",
+ "text": "If the panther moves at least 20 feet straight toward a creature and then hits it with a claw 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 panther can make one bite attack against it as a bonus action.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/pegasus.json b/parsed/creatures/pegasus.json
new file mode 100644
index 0000000..982fad4
--- /dev/null
+++ b/parsed/creatures/pegasus.json
@@ -0,0 +1,78 @@
+{
+ "entry": "creatures",
+ "speed": "60 ft., fly 90 ft.",
+ "saves": [
+ "dex",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "understands Celestial, Common, Elvish, and Sylvan but can't speak",
+ "skills": {
+ "Perception": 2
+ },
+ "hit_die_count": 7,
+ "hit_die_sides": 10,
+ "name": "Pegasus",
+ "type": "celestial",
+ "cr": 2.0,
+ "size": "Large",
+ "alignment": "chaotic good",
+ "stats": {
+ "str": 18,
+ "dex": 15,
+ "con": 16,
+ "int": 10,
+ "wis": 15,
+ "cha": 13
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "hooves",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "hooves",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/phase_spider.json b/parsed/creatures/phase_spider.json
new file mode 100644
index 0000000..4a759a8
--- /dev/null
+++ b/parsed/creatures/phase_spider.json
@@ -0,0 +1,94 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., climb 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Stealth": 2
+ },
+ "hit_die_count": 5,
+ "hit_die_sides": 10,
+ "name": "Phase Spider",
+ "type": "monstrosity",
+ "cr": 3.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 15,
+ "dex": 15,
+ "con": 12,
+ "int": 6,
+ "wis": 10,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "A phase spider possesses the magical ability to phase in and out of the Ethereal Plane. It seems to appear out of nowhere and quickly vanishes after attacking. Its movement on the Ethereal Plane before coming back to the Material Plane makes it seem like it can teleport.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "ethereal jaunt",
+ "text": "As a bonus action, the spider can magically shift from the Material Plane to the Ethereal Plane, or vice versa.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spider climb",
+ "text": "The spider can climb difficult surfaces, including upside down on ceilings, without needing to make an ability check.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "web walker",
+ "text": "The spider ignores movement restrictions caused by webbing.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target must make a DC 11 Constitution saving throw, taking 18 (4d8) poison damage on a failed save, or half as much damage on a successful one. If the poison damage reduces the target to 0 hit points, the target is stable but poisoned for 1 hour, even after regaining hit points, and is paralyzed while poisoned in this way.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/pit_fiend.json b/parsed/creatures/pit_fiend.json
new file mode 100644
index 0000000..1290c0e
--- /dev/null
+++ b/parsed/creatures/pit_fiend.json
@@ -0,0 +1,268 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., fly 60 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis"
+ ],
+ "d_resistances": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "truesight 120 ft."
+ ],
+ "langs": "Infernal, telepathy 120 ft.",
+ "skills": {},
+ "hit_die_count": 24,
+ "hit_die_sides": 10,
+ "name": "Pit Fiend",
+ "type": "fiend (devil)",
+ "cr": 20.0,
+ "size": "Large",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 26,
+ "dex": 14,
+ "con": 24,
+ "int": 22,
+ "wis": 18,
+ "cha": 24
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 19
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "fear aura",
+ "text": "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 the pit fiend is incapacitated. On a failed save, the creature is frightened until the start of its next turn. If a creature's saving throw is successful, the creature is immune to the pit fiend's Fear Aura for the next 24 hours.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The pit fiend has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic weapons",
+ "text": "The pit fiend's weapon attacks are magical.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The pit fiend's spellcasting ability is Charisma (spell save DC 21). The pit fiend can innately cast the following spells, requiring no material components: \nAt will: **_detect magic, fireball_**\n 3/day each: **_hold monster, wall of fire_**",
+ "type": "spells",
+ "spellcasting_ability": "cha",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "detect magic",
+ "fireball"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "hold monster",
+ "wall of fire"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The pit fiend makes four attacks: one with its bite, one with its claw, one with its mace, and one with its tail.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". The target must succeed on a DC 21 Constitution saving throw or become poisoned. While poisoned in this way, the target can't regain hit points, and it takes 21 (6d6) poison damage at the start of each of its turns. The poisoned target can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "mace",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "mace",
+ "cost": 500,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 6,
+ "dmg_die_sides": 6,
+ "dmg_type": "fire",
+ "is_or": false
+ }
+ ],
+ "weight": 4.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 10,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 6
+} \ No newline at end of file
diff --git a/parsed/creatures/planetar.json b/parsed/creatures/planetar.json
new file mode 100644
index 0000000..281a3ac
--- /dev/null
+++ b/parsed/creatures/planetar.json
@@ -0,0 +1,186 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., fly 120 ft.",
+ "saves": [
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [
+ {
+ "type": "radiant",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "truesight 120 ft."
+ ],
+ "langs": "all, telepathy 120 ft.",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 16,
+ "hit_die_sides": 10,
+ "name": "Planetar",
+ "type": "celestial",
+ "cr": 16.0,
+ "size": "Large",
+ "alignment": "lawful good",
+ "stats": {
+ "str": 24,
+ "dex": 20,
+ "con": 24,
+ "int": 19,
+ "wis": 22,
+ "cha": 25
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 19
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "angelic weapons",
+ "text": "The planetar's weapon attacks are magical. When the planetar hits with any weapon, the weapon deals an extra 5d8 radiant damage (included in the attack).",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "divine awareness",
+ "text": "The planetar knows if it hears a lie.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The planetar's spellcasting ability is Charisma (spell save DC 20). The planetar can innately cast the following spells, requiring no material components: \nAt will: **_detect evil and good_**, **_invisibility_** (self only) \n3/day each: **_blade barrier_**, **_dispel evil and good_**, **_flame strike_**, **_raise dead_** \n1/day each: **_commune_**, **_control weather_**, **_insect plague_**",
+ "type": "spells",
+ "spellcasting_ability": "cha",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "detect evil and good",
+ "invisibility"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "blade barrier",
+ "dispel evil and good",
+ "flame strike",
+ "raise dead"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "commune",
+ "control weather",
+ "insect plague"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The planetar has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The planetar makes two melee attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "greatsword",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "greatsword",
+ "cost": 5000,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 5,
+ "dmg_die_sides": 8,
+ "dmg_type": "radiant",
+ "is_or": false
+ }
+ ],
+ "weight": 6.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "healing touch",
+ "text": "(4/Day). The planetar touches another creature. The target magically regains 30 (6d8 + 3) hit points and is freed from any curse, disease, poison, blindness, or deafness.",
+ "type": "action"
+ }
+ ],
+ "prof": 5
+} \ No newline at end of file
diff --git a/parsed/creatures/plesiosaurus.json b/parsed/creatures/plesiosaurus.json
new file mode 100644
index 0000000..845220e
--- /dev/null
+++ b/parsed/creatures/plesiosaurus.json
@@ -0,0 +1,81 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft., swim 40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 8,
+ "hit_die_sides": 10,
+ "name": "Plesiosaurus",
+ "type": "beast",
+ "cr": 2.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 18,
+ "dex": 15,
+ "con": 16,
+ "int": 2,
+ "wis": 12,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "hold breath",
+ "text": "The plesiosaurus can hold its breath for 1 hour.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/poisonous_snake.json b/parsed/creatures/poisonous_snake.json
new file mode 100644
index 0000000..05b1999
--- /dev/null
+++ b/parsed/creatures/poisonous_snake.json
@@ -0,0 +1,76 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., swim 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 10 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 1,
+ "hit_die_sides": 4,
+ "name": "Poisonous Snake",
+ "type": "beast",
+ "cr": 0.125,
+ "size": "Tiny",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 2,
+ "dex": 16,
+ "con": 11,
+ "int": 1,
+ "wis": 10,
+ "cha": 3
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 1,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ", 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.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/polar_bear.json b/parsed/creatures/polar_bear.json
new file mode 100644
index 0000000..038e91d
--- /dev/null
+++ b/parsed/creatures/polar_bear.json
@@ -0,0 +1,118 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., swim 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 5,
+ "hit_die_sides": 10,
+ "name": "Polar Bear",
+ "type": "beast",
+ "cr": 2.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 20,
+ "dex": 10,
+ "con": 16,
+ "int": 2,
+ "wis": 13,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 12
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen smell",
+ "text": "The bear has advantage on Wisdom (Perception) checks that rely on smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The bear makes two attacks: one with its bite and one with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/pony.json b/parsed/creatures/pony.json
new file mode 100644
index 0000000..fdea871
--- /dev/null
+++ b/parsed/creatures/pony.json
@@ -0,0 +1,72 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 2,
+ "hit_die_sides": 8,
+ "name": "Pony",
+ "type": "beast",
+ "cr": 0.125,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 15,
+ "dex": 10,
+ "con": 13,
+ "int": 2,
+ "wis": 11,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "hooves",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "hooves",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 4,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/priest.json b/parsed/creatures/priest.json
new file mode 100644
index 0000000..ca99226
--- /dev/null
+++ b/parsed/creatures/priest.json
@@ -0,0 +1,103 @@
+{
+ "entry": "creatures",
+ "speed": "25 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "any two languages",
+ "skills": {
+ "Medicine": 2,
+ "Persuasion": 1,
+ "Religion": 2
+ },
+ "hit_die_count": 5,
+ "hit_die_sides": 8,
+ "name": "Priest",
+ "type": "humanoid (any race)",
+ "cr": 2.0,
+ "size": "Medium",
+ "alignment": "any alignment",
+ "stats": {
+ "str": 10,
+ "dex": 10,
+ "con": 12,
+ "int": 13,
+ "wis": 16,
+ "cha": 13
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "chain shirt",
+ "type": "armor",
+ "text": "chain shirt armor"
+ },
+ {
+ "entry": "item",
+ "name": "mace",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Priests bring the teachings of their gods to the common folk. They are the spiritual leaders of temples and shrines and often hold positions of influence in their communities. Evil priests might work openly under a tyrant, or they might be the leaders of religious sects hidden in the shadows of good society, overseeing depraved rites. A priest typically has one or more acolytes to help with religious ceremonies and other sacred duties.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "divine eminence",
+ "text": "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 damage to a target on a hit. This benefit lasts until the end of the turn. If the priest expends a spell slot of 2nd level or higher, the extra damage increases by 1d6 for each level above 1st.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "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: \nCantrips (at will): **_light, sacred flame, thaumaturgy_** \n1st level (4 slots): **_cure wounds, guiding bolt, sanctuary_** \n2nd level (3 slots): **_lesser restoration, spiritual weapon_** \n3rd level (2 slots): **_dispel magic, spirit guardians_**",
+ "type": "spells",
+ "spellcasting_ability": "wis",
+ "innate": false,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "light",
+ "sacred flame",
+ "thaumaturgy"
+ ]
+ },
+ {
+ "slots": 4,
+ "spells": [
+ "cure wounds",
+ "guiding bolt",
+ "sanctuary"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "lesser restoration",
+ "spiritual weapon"
+ ]
+ },
+ {
+ "slots": 2,
+ "spells": [
+ "dispel magic",
+ "spirit guardians"
+ ]
+ }
+ ]
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/pseudodragon.json b/parsed/creatures/pseudodragon.json
new file mode 100644
index 0000000..561ec84
--- /dev/null
+++ b/parsed/creatures/pseudodragon.json
@@ -0,0 +1,132 @@
+{
+ "entry": "creatures",
+ "speed": "15 ft., fly 60 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 10 ft.",
+ "darkvision 60 ft."
+ ],
+ "langs": "understands Common and Draconic but can't speak",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 2,
+ "hit_die_sides": 4,
+ "name": "Pseudodragon",
+ "type": "dragon",
+ "cr": 0.25,
+ "size": "Tiny",
+ "alignment": "neutral good",
+ "stats": {
+ "str": 6,
+ "dex": 15,
+ "con": 13,
+ "int": 10,
+ "wis": 12,
+ "cha": 10
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "senses",
+ "text": ". The pseudodragon has advantage on Wisdom (Perception) checks that rely on sight, hearing, or smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The pseudodragon has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "limited telepathy",
+ "text": "The pseudodragon can magically communicate simple ideas, emotions, and images telepathically with any creature within 100 feet of it that can understand a language.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "sting",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "sting",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ", and the target must succeed on a DC 11 Constitution saving throw or become poisoned for 1 hour. If the saving throw fails by 5 or more, the target falls unconscious for the same duration, or until it takes damage or another creature uses an action to shake it awake.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/purple_worm.json b/parsed/creatures/purple_worm.json
new file mode 100644
index 0000000..db24f7e
--- /dev/null
+++ b/parsed/creatures/purple_worm.json
@@ -0,0 +1,122 @@
+{
+ "entry": "creatures",
+ "speed": "50 ft., burrow 30 ft.",
+ "saves": [
+ "con",
+ "wis"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 30 ft.",
+ "tremorsense 60 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 15,
+ "hit_die_sides": 20,
+ "name": "Purple Worm",
+ "type": "monstrosity",
+ "cr": 15.0,
+ "size": "Gargantuan",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 28,
+ "dex": 7,
+ "con": 22,
+ "int": 1,
+ "wis": 8,
+ "cha": 4
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 18
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "tunneler",
+ "text": "The worm can burrow through solid rock at half its burrow speed and leaves a 10-foot-diameter tunnel in its wake.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The worm makes two attacks: one with its bite and one with its stinger.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a Large or smaller creature, it must succeed on a DC 19 Dexterity saving throw or be swallowed by the worm. A swallowed creature is blinded and restrained, it has total cover against attacks and other effects outside the worm, and it takes 21 (6d6) acid damage at the start of each of the worm's turns. \nIf the worm takes 30 damage or more on a single turn from a creature inside it, the worm must succeed on a DC 21 Constitution saving throw at the end of that turn or regurgitate all swallowed creatures, which fall prone in a space within 10 feet of the worm. If the worm dies, a swallowed creature is no longer restrained by it and can escape from the corpse by using 20 feet of movement, exiting prone.",
+ "toHitOverride": 9,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail stinger",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail stinger",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target must make a DC 19 Constitution saving throw, taking 42 (12d6) poison damage on a failed save, or half as much damage on a successful one.",
+ "toHitOverride": 9,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 5
+} \ No newline at end of file
diff --git a/parsed/creatures/quasit.json b/parsed/creatures/quasit.json
new file mode 100644
index 0000000..43611a0
--- /dev/null
+++ b/parsed/creatures/quasit.json
@@ -0,0 +1,143 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "lightning",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "Abyssal, Common",
+ "skills": {
+ "Stealth": 1
+ },
+ "hit_die_count": 3,
+ "hit_die_sides": 4,
+ "name": "Quasit",
+ "type": "fiend (demon)",
+ "cr": 1.0,
+ "size": "Tiny",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 5,
+ "dex": 17,
+ "con": 10,
+ "int": 7,
+ "wis": 10,
+ "cha": 10
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "shapechanger",
+ "text": "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 40 ft.), or a toad (40 ft., swim 40 ft.), or back into its true form. Its statistics are the same in each form, except for the speed changes noted. Any equipment it is wearing or carrying isn't transformed. It reverts to its true form if it dies.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The quasit has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "bite in beast form"
+ ],
+ "weapon_type": "unknown",
+ "text": ", and the target must succeed on a DC 10 Constitution saving throw or take 5 (2d4) poison damage and become 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.",
+ "toHitOverride": 4,
+ "dmgBonusOverride": 3,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "scare (1/day)",
+ "text": "One creature of the quasit's choice within 20 feet of it must succeed on a DC 10 Wisdom saving throw or be frightened for 1 minute. The target can repeat the saving throw at the end of each of its turns, with disadvantage if the quasit is within line of sight, ending the effect on itself on a success.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "invisibility",
+ "text": "The quasit magically turns invisible until it attacks or uses Scare, or until its concentration ends (as if concentrating on a spell). Any equipment the quasit wears or carries is invisible with it.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/quipper.json b/parsed/creatures/quipper.json
new file mode 100644
index 0000000..a272123
--- /dev/null
+++ b/parsed/creatures/quipper.json
@@ -0,0 +1,88 @@
+{
+ "entry": "creatures",
+ "speed": "0 ft., swim 40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 1,
+ "hit_die_sides": 4,
+ "name": "Quipper",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Tiny",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 2,
+ "dex": 16,
+ "con": 9,
+ "int": 1,
+ "wis": 7,
+ "cha": 2
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "A quipper is a carnivorous fish with sharp teeth. Quippers can adapt to any aquatic environment, including cold subterranean lakes. They frequently gather in swarms; the statistics for a swarm of quippers appear later in this appendix.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "blood frenzy",
+ "text": "The quipper has advantage on melee attack rolls against any creature that doesn't have all its hit points.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "water breathing",
+ "text": "The quipper can breathe only underwater.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 1,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/rakshasa.json b/parsed/creatures/rakshasa.json
new file mode 100644
index 0000000..6a1c755
--- /dev/null
+++ b/parsed/creatures/rakshasa.json
@@ -0,0 +1,146 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Common, Infernal",
+ "skills": {
+ "Deception": 1,
+ "Insight": 1
+ },
+ "hit_die_count": 13,
+ "hit_die_sides": 8,
+ "name": "Rakshasa",
+ "type": "fiend",
+ "cr": 13.0,
+ "size": "Medium",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 14,
+ "dex": 17,
+ "con": 18,
+ "int": 13,
+ "wis": 16,
+ "cha": 20
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 16
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "limited magic immunity",
+ "text": "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 against all other spells and magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The rakshasa's innate spellcasting ability is Charisma (spell save DC 18, +10 to hit with spell attacks). The rakshasa can innately cast the following spells, requiring no material components: \nAt will: **_detect thoughts, disguise self, mage hand, minor illusion_** \n3/day each: **_charm person, detect magic, invisibility, major image, suggestion_** \n1/day each: **_dominate person, fly, plane shift, true seeing_**",
+ "type": "spells",
+ "spellcasting_ability": "cha",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "detect thoughts",
+ "disguise self",
+ "mage hand",
+ "minor illusion"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "charm person",
+ "detect magic",
+ "invisibility",
+ "major image",
+ "suggestion"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "dominate person",
+ "fly",
+ "plane shift",
+ "true seeing"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The rakshasa makes two claw attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target is cursed if it is a creature. The magical curse takes effect whenever the target takes a short or long rest, filling the target's thoughts with horrible images and dreams. The cursed target gains no benefit from finishing a short or long rest. The curse lasts until it is lifted by a remove curse spell or similar magic.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 5
+} \ No newline at end of file
diff --git a/parsed/creatures/rat.json b/parsed/creatures/rat.json
new file mode 100644
index 0000000..46cf63d
--- /dev/null
+++ b/parsed/creatures/rat.json
@@ -0,0 +1,80 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 30 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 1,
+ "hit_die_sides": 4,
+ "name": "Rat",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Tiny",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 2,
+ "dex": 11,
+ "con": 9,
+ "int": 2,
+ "wis": 10,
+ "cha": 4
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen smell",
+ "text": "The rat has advantage on Wisdom (Perception) checks that rely on smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 1,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": 0,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/raven.json b/parsed/creatures/raven.json
new file mode 100644
index 0000000..50c7372
--- /dev/null
+++ b/parsed/creatures/raven.json
@@ -0,0 +1,82 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft., fly 50 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 1,
+ "hit_die_sides": 4,
+ "name": "Raven",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Tiny",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 2,
+ "dex": 14,
+ "con": 8,
+ "int": 2,
+ "wis": 12,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "mimicry",
+ "text": "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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "beak",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "beak",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 1,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/red_dragon_wyrmling.json b/parsed/creatures/red_dragon_wyrmling.json
new file mode 100644
index 0000000..597fafb
--- /dev/null
+++ b/parsed/creatures/red_dragon_wyrmling.json
@@ -0,0 +1,100 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., climb 30 ft., fly 60 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 10 ft.",
+ "darkvision 60 ft."
+ ],
+ "langs": "Draconic",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 10,
+ "hit_die_sides": 8,
+ "name": "Red Dragon Wyrmling",
+ "type": "dragon",
+ "cr": 4.0,
+ "size": "Medium",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 19,
+ "dex": 10,
+ "con": 17,
+ "int": 12,
+ "wis": 11,
+ "cha": 15
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "fire",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "fire breath (recharge 5\u20136)",
+ "text": "The dragon exhales fire in a 15-foot cone. Each creature in that area must make a DC 13 Dexterity saving throw, taking 24 (7d6) fire damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/reef_shark.json b/parsed/creatures/reef_shark.json
new file mode 100644
index 0000000..7c5aded
--- /dev/null
+++ b/parsed/creatures/reef_shark.json
@@ -0,0 +1,88 @@
+{
+ "entry": "creatures",
+ "speed": "0 ft., swim 40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 30 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 4,
+ "hit_die_sides": 8,
+ "name": "Reef Shark",
+ "type": "beast",
+ "cr": 0.5,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 14,
+ "dex": 13,
+ "con": 13,
+ "int": 1,
+ "wis": 10,
+ "cha": 4
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 12
+ },
+ "text": "Smaller than giant sharks and hunter sharks, reef sharks inhabit shallow waters and coral reefs, gathering in small packs to hunt. A full-grown specimen measures 6 to 10 feet long.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "pack tactics",
+ "text": "The shark has advantage on an attack roll against a creature if at least one of the shark's allies is within 5 feet of the creature and the ally isn't incapacitated.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "water breathing",
+ "text": "The shark can breathe only underwater.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/remorhaz.json b/parsed/creatures/remorhaz.json
new file mode 100644
index 0000000..d74086f
--- /dev/null
+++ b/parsed/creatures/remorhaz.json
@@ -0,0 +1,102 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., burrow 20 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft.",
+ "tremorsense 60 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 17,
+ "hit_die_sides": 12,
+ "name": "Remorhaz",
+ "type": "monstrosity",
+ "cr": 11.0,
+ "size": "Huge",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 24,
+ "dex": 13,
+ "con": 21,
+ "int": 4,
+ "wis": 10,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "heated body",
+ "text": "A creature that touches the remorhaz or hits it with a melee attack while within 5 feet of it takes 10 (3d6) fire damage.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 6,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 6,
+ "dmg_type": "fire",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature, it is grappled (escape DC 17). Until this grapple ends, the target is restrained, and the remorhaz can't bite another target.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "swallow",
+ "text": "The remorhaz makes one bite attack against a Medium or smaller creature it is grappling. If the attack hits, that creature takes the bite's damage and is swallowed, and the grapple ends. While swallowed, the creature is blinded and restrained, it has total cover against attacks and other effects outside the remorhaz, and it takes 21 (6d6) acid damage at the start of each of the remorhaz's turns. \nIf the remorhaz takes 30 damage or more on a single turn from a creature inside it, the remorhaz must succeed on a DC 15 Constitution saving throw at the end of that turn or regurgitate all swallowed creatures, which fall prone in a space within 10 feet of the remorhaz. If the remorhaz dies, a swallowed creature is no longer restrained by it and can escape from the corpse using 15 feet of movement, exiting prone.",
+ "type": "action"
+ }
+ ],
+ "prof": 4
+} \ No newline at end of file
diff --git a/parsed/creatures/rhinoceros.json b/parsed/creatures/rhinoceros.json
new file mode 100644
index 0000000..308fff6
--- /dev/null
+++ b/parsed/creatures/rhinoceros.json
@@ -0,0 +1,78 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 6,
+ "hit_die_sides": 10,
+ "name": "Rhinoceros",
+ "type": "beast",
+ "cr": 2.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 21,
+ "dex": 8,
+ "con": 15,
+ "int": 2,
+ "wis": 12,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 11
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "charge",
+ "text": "If the rhinoceros moves at least 20 feet 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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "gore",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "gore",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/riding_horse.json b/parsed/creatures/riding_horse.json
new file mode 100644
index 0000000..5b4c247
--- /dev/null
+++ b/parsed/creatures/riding_horse.json
@@ -0,0 +1,72 @@
+{
+ "entry": "creatures",
+ "speed": "60 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 2,
+ "hit_die_sides": 10,
+ "name": "Riding Horse",
+ "type": "beast",
+ "cr": 0.25,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 16,
+ "dex": 10,
+ "con": 12,
+ "int": 2,
+ "wis": 11,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "hooves",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "hooves",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 4,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/roc.json b/parsed/creatures/roc.json
new file mode 100644
index 0000000..7817c2c
--- /dev/null
+++ b/parsed/creatures/roc.json
@@ -0,0 +1,123 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft., fly 120 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 16,
+ "hit_die_sides": 20,
+ "name": "Roc",
+ "type": "monstrosity",
+ "cr": 11.0,
+ "size": "Gargantuan",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 28,
+ "dex": 10,
+ "con": 20,
+ "int": 3,
+ "wis": 10,
+ "cha": 9
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 15
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen sight",
+ "text": "The roc has advantage on Wisdom (Perception) checks that rely on sight.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The roc makes two attacks: one with its beak and one with its talons.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "beak",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "beak",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "talons",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "talons",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target is grappled (escape DC 19). Until this grapple ends, the target is restrained, and the roc can't use its talons on another target.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 4
+} \ No newline at end of file
diff --git a/parsed/creatures/roper.json b/parsed/creatures/roper.json
new file mode 100644
index 0000000..421a243
--- /dev/null
+++ b/parsed/creatures/roper.json
@@ -0,0 +1,132 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft., climb 10 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 2
+ },
+ "hit_die_count": 11,
+ "hit_die_sides": 10,
+ "name": "Roper",
+ "type": "monstrosity",
+ "cr": 5.0,
+ "size": "Large",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 18,
+ "dex": 8,
+ "con": 17,
+ "int": 7,
+ "wis": 16,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 20
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "false appearance",
+ "text": "While the roper remains motionless, it is indistinguishable from a normal cave formation, such as a stalagmite.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "grasping tendrils",
+ "text": "The roper can have up to six tendrils at a time. Each tendril can be attacked (AC 20; 10 hit points; immunity to poison and psychic damage). Destroying a tendril deals no damage to the roper, which can extrude a replacement tendril on its next turn. A tendril can also be broken if a creature takes an action and succeeds on a DC 15 Strength check against it.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spider climb",
+ "text": "The roper can climb difficult surfaces, including upside down on ceilings, without needing to make an ability check.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The roper makes four attacks with its tendrils, uses Reel, and makes one attack with its bite.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tendril",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tendril",
+ "cost": -1,
+ "damage": [],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 50,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": "The target is grappled (escape DC 15). Until the grapple ends, the target is restrained and has disadvantage on Strength checks and Strength saving throws, and the roper can't use the same tendril on another target.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "reel",
+ "text": "The roper pulls each creature grappled by it up to 25 feet straight toward it.",
+ "type": "action"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/rug_of_smothering.json b/parsed/creatures/rug_of_smothering.json
new file mode 100644
index 0000000..fd59065
--- /dev/null
+++ b/parsed/creatures/rug_of_smothering.json
@@ -0,0 +1,125 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ },
+ {
+ "type": "psychic",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "blinded",
+ "qualifiers": []
+ },
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "deafened",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "petrified",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "blindsight 60 ft. (blind beyond this radius)"
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 6,
+ "hit_die_sides": 10,
+ "name": "Rug of Smothering",
+ "type": "construct",
+ "cr": 2.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 17,
+ "dex": 14,
+ "con": 10,
+ "int": 1,
+ "wis": 3,
+ "cha": 1
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "antimagic susceptibility",
+ "text": "The rug is incapacitated while in the area of an antimagic field. If targeted by **_dispel magic_**, the rug must succeed on a Constitution saving throw against the caster's spell save DC or fall unconscious for 1 minute.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "damage transfer",
+ "text": "While it is grappling a creature, the rug takes only half the damage dealt to it, and the creature grappled by the rug takes the other half.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "false appearance",
+ "text": "While the rug remains motionless, it is indistinguishable from a normal rug.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "smother",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "smother",
+ "cost": -1,
+ "damage": [],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "one Medium or smaller creature"
+ ],
+ "weapon_type": "unknown",
+ "text": "The creature is grappled (escape DC 13). Until this grapple ends, the target is restrained, blinded, and at risk of suffocating, and the rug can't smother another target. In addition, at the start of each of the target's turns, the target takes 10 (2d6 + 3) bludgeoning damage.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/rust_monster.json b/parsed/creatures/rust_monster.json
new file mode 100644
index 0000000..01063c8
--- /dev/null
+++ b/parsed/creatures/rust_monster.json
@@ -0,0 +1,92 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 5,
+ "hit_die_sides": 8,
+ "name": "Rust Monster",
+ "type": "monstrosity",
+ "cr": 0.5,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 13,
+ "dex": 12,
+ "con": 13,
+ "int": 2,
+ "wis": 13,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 14
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "iron scent",
+ "text": "The rust monster can pinpoint, by scent, the location of ferrous metal within 30 feet of it.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "rust metal",
+ "text": "Any nonmagical weapon made of metal that hits the rust monster corrodes. After dealing damage, the weapon takes a permanent and cumulative \u22121 penalty to damage rolls. If its penalty drops to \u22125, the weapon is destroyed. Nonmagical ammunition made of metal that hits the rust monster is destroyed after dealing damage.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "antennae",
+ "text": "The rust monster corrodes a nonmagical ferrous metal object it can see within 5 feet of it. If the object isn't being worn or carried, the touch destroys a 1-foot cube of it. If the object is being worn or carried by a creature, the creature can make a DC 11 Dexterity saving throw to avoid the rust monster's touch. \nIf the object touched is either metal armor or a metal shield being worn or carried, its takes a permanent and cumulative \u22121 penalty to the AC it offers. Armor reduced to an AC of 10 or a shield that drops to a +0 bonus is destroyed. If the object touched is a held metal weapon, it rusts as described in the Rust Metal trait.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/saber_toothed_tiger.json b/parsed/creatures/saber_toothed_tiger.json
new file mode 100644
index 0000000..8ee4d71
--- /dev/null
+++ b/parsed/creatures/saber_toothed_tiger.json
@@ -0,0 +1,119 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 2
+ },
+ "hit_die_count": 7,
+ "hit_die_sides": 10,
+ "name": "Saber-Toothed Tiger",
+ "type": "beast",
+ "cr": 2.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 18,
+ "dex": 14,
+ "con": 15,
+ "int": 3,
+ "wis": 12,
+ "cha": 8
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen smell",
+ "text": "The tiger has advantage on Wisdom (Perception) checks that rely on smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "pounce",
+ "text": "If the tiger moves at least 20 feet straight toward a creature and then hits it with a claw attack on the same turn, that target must succeed on a DC 14 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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": 5,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": 5,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/sahuagin.json b/parsed/creatures/sahuagin.json
new file mode 100644
index 0000000..2163939
--- /dev/null
+++ b/parsed/creatures/sahuagin.json
@@ -0,0 +1,139 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., swim 40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "Sahuagin",
+ "skills": {
+ "Perception": 2
+ },
+ "hit_die_count": 4,
+ "hit_die_sides": 8,
+ "name": "Sahuagin",
+ "type": "humanoid (sahuagin)",
+ "cr": 0.5,
+ "size": "Medium",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 13,
+ "dex": 11,
+ "con": 12,
+ "int": 12,
+ "wis": 13,
+ "cha": 9
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "spear",
+ "type": "weapons",
+ "text": "if used with two hands to make a melee attack."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 12
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "blood frenzy",
+ "text": "The sahuagin has advantage on melee attack rolls against any creature that doesn't have all its hit points.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "limited amphibiousess",
+ "text": "The sahuagin can breathe air and water, but it needs to be submerged at least once every 4 hours to avoid suffocating.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "shark telepathy",
+ "text": "The sahuagin can magically command any shark within 120 feet of it, using a limited telepathy.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The sahuagin makes two melee attacks: one with its bite and one with its claws or spear.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/salamander.json b/parsed/creatures/salamander.json
new file mode 100644
index 0000000..71ffdd9
--- /dev/null
+++ b/parsed/creatures/salamander.json
@@ -0,0 +1,167 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ }
+ ],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Ignan",
+ "skills": {},
+ "hit_die_count": 12,
+ "hit_die_sides": 10,
+ "name": "Salamander",
+ "type": "elemental",
+ "cr": 5.0,
+ "size": "Large",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 18,
+ "dex": 14,
+ "con": 15,
+ "int": 11,
+ "wis": 10,
+ "cha": 12
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 15
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "heated body",
+ "text": "A creature that touches the salamander or hits it with a melee attack while within 5 feet of it takes 7 (2d6) fire damage.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "heated weapons",
+ "text": "Any metal melee weapon the salamander wields deals an extra 3 (1d6) fire damage on a hit (included in the attack).",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The salamander makes two attacks: one with its spear and one with its tail.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "spear",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "spear",
+ "cost": 100,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "fire",
+ "is_or": false
+ }
+ ],
+ "weight": 3.0,
+ "range": [
+ 20,
+ 20
+ ],
+ "reach": 5,
+ "properties": [
+ "versatile"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "fire",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target is grappled (escape DC 14). Until this grapple ends, the target is restrained, the salamander can automatically hit the target with its tail, and the salamander can't make tail attacks against other targets.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/satyr.json b/parsed/creatures/satyr.json
new file mode 100644
index 0000000..6fe665f
--- /dev/null
+++ b/parsed/creatures/satyr.json
@@ -0,0 +1,101 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "Common, Elvish, Sylvan",
+ "skills": {
+ "Perception": 1,
+ "Performance": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 7,
+ "hit_die_sides": 8,
+ "name": "Satyr",
+ "type": "fey",
+ "cr": 0.5,
+ "size": "Medium",
+ "alignment": "chaotic neutral",
+ "stats": {
+ "str": 12,
+ "dex": 16,
+ "con": 11,
+ "int": 12,
+ "wis": 10,
+ "cha": 14
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "leather",
+ "type": "armor",
+ "text": "leather armor"
+ },
+ {
+ "entry": "item",
+ "name": "shortsword",
+ "type": "weapons",
+ "text": "."
+ },
+ {
+ "entry": "item",
+ "name": "shortbow",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The satyr has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "ram",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "ram",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 4,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/scorpion.json b/parsed/creatures/scorpion.json
new file mode 100644
index 0000000..98845a6
--- /dev/null
+++ b/parsed/creatures/scorpion.json
@@ -0,0 +1,76 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 10 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 1,
+ "hit_die_sides": 4,
+ "name": "Scorpion",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Tiny",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 2,
+ "dex": 11,
+ "con": 8,
+ "int": 1,
+ "wis": 8,
+ "cha": 2
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 11
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "sting",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "sting",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 1,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ", and the target must make a DC 9 Constitution saving throw, taking 4 (1d8) poison damage on a failed save, or half as much damage on a successful one.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/scout.json b/parsed/creatures/scout.json
new file mode 100644
index 0000000..08a121f
--- /dev/null
+++ b/parsed/creatures/scout.json
@@ -0,0 +1,76 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "any one language (usually Common)",
+ "skills": {
+ "Nature": 2,
+ "Perception": 2,
+ "Stealth": 2,
+ "Survival": 2
+ },
+ "hit_die_count": 3,
+ "hit_die_sides": 8,
+ "name": "Scout",
+ "type": "humanoid (any race)",
+ "cr": 0.5,
+ "size": "Medium",
+ "alignment": "any alignment",
+ "stats": {
+ "str": 11,
+ "dex": 14,
+ "con": 12,
+ "int": 11,
+ "wis": 13,
+ "cha": 11
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "leather",
+ "type": "armor",
+ "text": "leather armor"
+ },
+ {
+ "entry": "item",
+ "name": "shortsword",
+ "type": "weapons",
+ "text": "."
+ },
+ {
+ "entry": "item",
+ "name": "longbow",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Scouts are skilled hunters and trackers who offer their services for a fee. Most hunt wild game, but a few work as bounty hunters, serve as guides, or provide military reconnaissance.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen hearing and sight",
+ "text": "The scout has advantage on Wisdom (Perception) checks that rely on hearing or sight.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The scout makes two melee attacks or two ranged attacks.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/sea_hag.json b/parsed/creatures/sea_hag.json
new file mode 100644
index 0000000..6697e93
--- /dev/null
+++ b/parsed/creatures/sea_hag.json
@@ -0,0 +1,98 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., swim 40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Aquan, Common, Giant",
+ "skills": {},
+ "hit_die_count": 7,
+ "hit_die_sides": 8,
+ "name": "Sea Hag",
+ "type": "fey",
+ "cr": 2.0,
+ "size": "Medium",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 16,
+ "dex": 13,
+ "con": 16,
+ "int": 12,
+ "wis": 12,
+ "cha": 13
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 14
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The hag can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "horrific appearance",
+ "text": "Any humanoid that starts its turn within 30 feet of the hag and can see the hag's true form must make a DC 11 Wisdom saving throw. On a failed save, the creature is frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, with disadvantage if the hag is within line of sight, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the hag's Horrific Appearance for the next 24 hours. \nUnless the target is surprised or the revelation of the hag's true form is sudden, the target can avert its eyes and avoid making the initial saving throw. Until the start of its next turn, a creature that averts its eyes has disadvantage on attack rolls against the hag.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "death glare",
+ "text": "The hag targets one frightened creature she can see within 30 feet of her. If the target can see the hag, it must succeed on a DC 11 Wisdom saving throw against this magic or drop to 0 hit points.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "illusory appearance",
+ "text": "The hag covers herself and anything she is wearing or carrying with a magical illusion that makes her look like an ugly creature of her general size and humanoid shape. The effect ends if the hag takes a bonus action to end it or if she dies. \nThe changes wrought by this effect fail to hold up to physical inspection. For example, the hag could appear to have no claws, but someone touching her hand might feel the claws. Otherwise, a creature must take an action to visually inspect the illusion and succeed on a DC 16 Intelligence (Investigation) check to discern that the hag is disguised.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/sea_horse.json b/parsed/creatures/sea_horse.json
new file mode 100644
index 0000000..a922ca4
--- /dev/null
+++ b/parsed/creatures/sea_horse.json
@@ -0,0 +1,46 @@
+{
+ "entry": "creatures",
+ "speed": "0 ft., swim 20 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 1,
+ "hit_die_sides": 4,
+ "name": "Sea Horse",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Tiny",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 1,
+ "dex": 12,
+ "con": 8,
+ "int": 1,
+ "wis": 10,
+ "cha": 2
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "**Water Breathing.** The sea horse can breathe only underwater.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "water breathing",
+ "text": "The sea horse can breathe only underwater.",
+ "type": "feature"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/shadow.json b/parsed/creatures/shadow.json
new file mode 100644
index 0000000..7740e86
--- /dev/null
+++ b/parsed/creatures/shadow.json
@@ -0,0 +1,182 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "acid",
+ "qualifiers": []
+ },
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "lightning",
+ "qualifiers": []
+ },
+ {
+ "type": "thunder",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [
+ {
+ "type": "radiant",
+ "qualifiers": []
+ }
+ ],
+ "d_immunities": [
+ {
+ "type": "necrotic",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "grappled",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "petrified",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ },
+ {
+ "type": "prone",
+ "qualifiers": []
+ },
+ {
+ "type": "restrained",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Stealth": 1
+ },
+ "hit_die_count": 3,
+ "hit_die_sides": 8,
+ "name": "Shadow",
+ "type": "undead",
+ "cr": 0.5,
+ "size": "Medium",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 6,
+ "dex": 14,
+ "con": 13,
+ "int": 6,
+ "wis": 10,
+ "cha": 8
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amorphous",
+ "text": "The shadow can move through a space as narrow as 1 inch wide without squeezing.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "shadow stealth",
+ "text": "While in dim light or darkness, the shadow can take the Hide action as a bonus action.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "sunlight weakness",
+ "text": "While in sunlight, the shadow has disadvantage on attack rolls, ability checks, and saving throws.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "strength drain",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "strength drain",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "necrotic",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ", and the target's Strength score is reduced by 1d4. The target dies if this reduces its Strength to 0. Otherwise, the reduction lasts until the target finishes a short or long rest. \nIf a non-evil humanoid dies from this attack, a new shadow rises from the corpse 1d4 hours later.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/shambling_mound.json b/parsed/creatures/shambling_mound.json
new file mode 100644
index 0000000..a3db889
--- /dev/null
+++ b/parsed/creatures/shambling_mound.json
@@ -0,0 +1,121 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft., swim 20 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "lightning",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "blinded",
+ "qualifiers": []
+ },
+ {
+ "type": "deafened",
+ "qualifiers": []
+ },
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "blindsight 60 ft. (blind beyond this radius)"
+ ],
+ "langs": "--",
+ "skills": {
+ "Stealth": 1
+ },
+ "hit_die_count": 16,
+ "hit_die_sides": 10,
+ "name": "Shambling Mound",
+ "type": "plant",
+ "cr": 5.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 18,
+ "dex": 8,
+ "con": 16,
+ "int": 5,
+ "wis": 10,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 15
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "lightning absorption",
+ "text": "Whenever the shambling mound is subjected to lightning damage, it takes no damage and regains a number of hit points equal to the lightning damage dealt.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The shambling mound makes two slam attacks. If both attacks hit a Medium or smaller target, the target is grappled (escape DC 14), and the shambling mound uses its Engulf on it.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "slam",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "slam",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "engulf",
+ "text": "The shambling mound engulfs a Medium or smaller creature grappled by it. The engulfed target is blinded, restrained, and unable to breathe, and it must succeed on a DC 14 Constitution saving throw at the start of each of the mound's turns or take 13 (2d8 + 4) bludgeoning damage. If the mound moves, the engulfed target moves with it. The mound can have only one creature engulfed at a time.",
+ "type": "action"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/shield_guardian.json b/parsed/creatures/shield_guardian.json
new file mode 100644
index 0000000..9ae61a8
--- /dev/null
+++ b/parsed/creatures/shield_guardian.json
@@ -0,0 +1,131 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "blindsight 10 ft.",
+ "darkvision 60 ft."
+ ],
+ "langs": "understands commands given in any language but can't speak",
+ "skills": {},
+ "hit_die_count": 15,
+ "hit_die_sides": 10,
+ "name": "Shield Guardian",
+ "type": "construct",
+ "cr": 7.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 18,
+ "dex": 8,
+ "con": 18,
+ "int": 7,
+ "wis": 10,
+ "cha": 3
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "bound",
+ "text": "The shield guardian is magically bound to an amulet. As long as the guardian and its amulet are on the same plane of existence, the amulet's wearer can telepathically call the guardian to travel to it, and the guardian knows the distance and direction to the amulet. If the guardian is within 60 feet of the amulet's wearer, half of any damage the wearer takes (rounded up) is transferred to the guardian.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "regeneration",
+ "text": "The shield guardian regains 10 hit points at the start of its turn if it has at least 1 hit point.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spell storing",
+ "text": "A spellcaster who wears the shield guardian's amulet can cause the guardian to store one spell of 4th level or lower. To do so, the wearer must cast the spell on the guardian. The spell has no effect but is stored within the guardian. When commanded to do so by the wearer or when a situation arises that was predefined by the spellcaster, the guardian casts the stored spell with any parameters set by the original caster, requiring no components. When the spell is cast or a new spell is stored, any previously stored spell is lost.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The guardian makes two fist attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "fist",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "fist",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "shield",
+ "text": "When a creature makes an attack against the wearer of the guardian's amulet, the guardian grants a +2 bonus to the wearer's AC if the guardian is within 5 feet of the wearer.",
+ "type": "reaction"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/shrieker.json b/parsed/creatures/shrieker.json
new file mode 100644
index 0000000..cfc2ebd
--- /dev/null
+++ b/parsed/creatures/shrieker.json
@@ -0,0 +1,67 @@
+{
+ "entry": "creatures",
+ "speed": "0 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [
+ {
+ "type": "blinded",
+ "qualifiers": []
+ },
+ {
+ "type": "deafened",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "blindsight 30 ft. (blind beyond this radius)"
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 3,
+ "hit_die_sides": 8,
+ "name": "Shrieker",
+ "type": "plant",
+ "cr": 0.0,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 1,
+ "dex": 1,
+ "con": 10,
+ "int": 1,
+ "wis": 3,
+ "cha": 1
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "false appearance",
+ "text": "While the shrieker remains motionless, it is indistinguishable from an ordinary fungus.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "shriek",
+ "text": "When bright light or a creature is within 30 feet of the shrieker, it emits a shriek audible within 300 feet of it. The shrieker continues to shriek until the disturbance moves out of range and for 1d4 of the shrieker's turns afterward.",
+ "type": "reaction"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/silver_dragon_wyrmling.json b/parsed/creatures/silver_dragon_wyrmling.json
new file mode 100644
index 0000000..b1015b6
--- /dev/null
+++ b/parsed/creatures/silver_dragon_wyrmling.json
@@ -0,0 +1,106 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., fly 60 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 10 ft.",
+ "darkvision 60 ft."
+ ],
+ "langs": "Draconic",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 6,
+ "hit_die_sides": 8,
+ "name": "Silver Dragon Wyrmling",
+ "type": "dragon",
+ "cr": 2.0,
+ "size": "Medium",
+ "alignment": "lawful good",
+ "stats": {
+ "str": 19,
+ "dex": 10,
+ "con": 17,
+ "int": 12,
+ "wis": 11,
+ "cha": 15
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "breath weapons (recharge 5\u20136)",
+ "text": "The dragon uses one of the following breath weapons.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "cold breath",
+ "text": "The dragon exhales an icy blast in a 15-foot cone. Each creature in that area must make a DC 13 Constitution saving throw, taking 18 (4d8) cold damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "paralyzing breath",
+ "text": "The dragon exhales paralyzing gas in a 15-foot cone. Each creature in that area must succeed on a DC 13 Constitution saving throw or be paralyzed for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/skeleton.json b/parsed/creatures/skeleton.json
new file mode 100644
index 0000000..7f7faba
--- /dev/null
+++ b/parsed/creatures/skeleton.json
@@ -0,0 +1,73 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": []
+ }
+ ],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "understands all languages it knew in life but can't speak",
+ "skills": {},
+ "hit_die_count": 2,
+ "hit_die_sides": 8,
+ "name": "Skeleton",
+ "type": "undead",
+ "cr": 0.25,
+ "size": "Medium",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 10,
+ "dex": 14,
+ "con": 15,
+ "int": 6,
+ "wis": 8,
+ "cha": 5
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "shortsword",
+ "type": "weapons",
+ "text": "."
+ },
+ {
+ "entry": "item",
+ "name": "shortbow",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "armor scraps",
+ "bonus": 13
+ },
+ "text": "",
+ "features": [],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/solar.json b/parsed/creatures/solar.json
new file mode 100644
index 0000000..a693abb
--- /dev/null
+++ b/parsed/creatures/solar.json
@@ -0,0 +1,259 @@
+{
+ "entry": "creatures",
+ "speed": "50 ft., fly 150 ft.",
+ "saves": [
+ "int",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [
+ {
+ "type": "radiant",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "necrotic",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "truesight 120 ft."
+ ],
+ "langs": "all, telepathy 120 ft.",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 18,
+ "hit_die_sides": 10,
+ "name": "Solar",
+ "type": "celestial",
+ "cr": 21.0,
+ "size": "Large",
+ "alignment": "lawful good",
+ "stats": {
+ "str": 26,
+ "dex": 22,
+ "con": 26,
+ "int": 25,
+ "wis": 25,
+ "cha": 30
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 21
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "angelic weapons",
+ "text": "The solar's weapon attacks are magical. When the solar hits with any weapon, the weapon deals an extra 6d8 radiant damage (included in the attack).",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "divine awareness",
+ "text": "The solar knows if it hears a lie.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The solar's spellcasting ability is Charisma (spell save DC 25). It can innately cast the following spells, requiring no material components: \nAt will: **_detect evil and good_**, **_invisibility_** (self only) \n3/day each: **_blade barrier_**, **_dispel evil and good_**, **_resurrection_** \n1/day each: **_commune_**, **_control weather_**",
+ "type": "spells",
+ "spellcasting_ability": "cha",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "detect evil and good",
+ "invisibility"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "blade barrier",
+ "dispel evil and good",
+ "resurrection"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "commune",
+ "control weather"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The solar has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The solar makes two greatsword attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "greatsword",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "greatsword",
+ "cost": 5000,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 6,
+ "dmg_die_sides": 8,
+ "dmg_type": "radiant",
+ "is_or": false
+ }
+ ],
+ "weight": 6.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "slaying longbow",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "slaying longbow",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 6,
+ "dmg_die_sides": 8,
+ "dmg_type": "radiant",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 150,
+ 600
+ ],
+ "reach": 0,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature that has 100 hit points or fewer, it must succeed on a DC 15 Constitution saving throw or die.",
+ "toHitOverride": null,
+ "dmgBonusOverride": 6,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "flying sword",
+ "text": "The solar releases its greatsword to hover magically in an unoccupied space within 5 feet of it. If the solar can see the sword, the solar can mentally command it as a bonus action to fly up to 50 feet and either make one attack against a target or return to the solar's hands. If the hovering sword is targeted by any effect, the solar is considered to be holding it. The hovering sword falls if the solar dies.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "healing touch (4/day)",
+ "text": "The solar touches another creature. The target magically regains 40 (8d8 + 4) hit points and is freed from any curse, disease, poison, blindness, or deafness.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "teleport",
+ "text": "The solar magically teleports, along with any equipment it is wearing or carrying, up to 120 feet to an unoccupied space it can see.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "searing burst (costs 2 actions)",
+ "text": "The solar emits magical, divine energy. Each creature of its choice in a 10-\u00ad\u2010foot radius must make a DC 23 Dexterity saving throw, taking 14 (4d6) fire damage plus 14 (4d6) radiant damage on a failed save, or half as much damage on a successful one.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "blinding gaze (costs 3 actions)",
+ "text": "The solar targets one creature it can see within 30 feet of it. If the target can see it, the target must succeed on a DC 15 Constitution saving throw or be blinded until magic such as the lesser restoration spell removes the blindness.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 7
+} \ No newline at end of file
diff --git a/parsed/creatures/specter.json b/parsed/creatures/specter.json
new file mode 100644
index 0000000..10fd187
--- /dev/null
+++ b/parsed/creatures/specter.json
@@ -0,0 +1,173 @@
+{
+ "entry": "creatures",
+ "speed": "0 ft., fly 50 ft. (hover)",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "acid",
+ "qualifiers": []
+ },
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "lightning",
+ "qualifiers": []
+ },
+ {
+ "type": "thunder",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "necrotic",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "grappled",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "petrified",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ },
+ {
+ "type": "prone",
+ "qualifiers": []
+ },
+ {
+ "type": "restrained",
+ "qualifiers": []
+ },
+ {
+ "type": "unconscious",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "understands all languages it knew in life but can't speak",
+ "skills": {},
+ "hit_die_count": 5,
+ "hit_die_sides": 8,
+ "name": "Specter",
+ "type": "undead",
+ "cr": 1.0,
+ "size": "Medium",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 1,
+ "dex": 14,
+ "con": 11,
+ "int": 10,
+ "wis": 10,
+ "cha": 11
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "incorporeal movement",
+ "text": "The specter can move through other creatures and objects as if they were difficult terrain. It takes 5 (1d10) force damage if it ends its turn inside an object.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "sunlight sensitivity",
+ "text": "While in sunlight, the specter has disadvantage on attack rolls, as well as on Wisdom (Perception) checks that rely on sight.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "life drain",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "spell attack",
+ "name": "life drain",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 6,
+ "dmg_type": "necrotic",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ". The target must succeed on a DC 10 Constitution saving throw or its hit point maximum is reduced by an amount equal to the damage taken. This reduction lasts until the creature finishes a long rest. The target dies if this effect reduces its hit point maximum to 0.",
+ "toHitOverride": null,
+ "dmgBonusOverride": 0,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/spider.json b/parsed/creatures/spider.json
new file mode 100644
index 0000000..2921dbf
--- /dev/null
+++ b/parsed/creatures/spider.json
@@ -0,0 +1,96 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft., climb 20 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 30 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Stealth": 1
+ },
+ "hit_die_count": 1,
+ "hit_die_sides": 4,
+ "name": "Spider",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Tiny",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 2,
+ "dex": 14,
+ "con": 8,
+ "int": 1,
+ "wis": 10,
+ "cha": 2
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "spider climb",
+ "text": "The spider can climb difficult surfaces, including upside down on ceilings, without needing to make an ability check.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "web sense",
+ "text": "While in contact with a web, the spider knows the exact location of any other creature in contact with the same web.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "web walker",
+ "text": "The spider ignores movement restrictions caused by webbing.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 1,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ", and the target must succeed on a DC 9 Constitution saving throw or take 2 (1d4) poison damage.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/spirit_naga.json b/parsed/creatures/spirit_naga.json
new file mode 100644
index 0000000..6b3f1ed
--- /dev/null
+++ b/parsed/creatures/spirit_naga.json
@@ -0,0 +1,152 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Abyssal, Common",
+ "skills": {},
+ "hit_die_count": 10,
+ "hit_die_sides": 10,
+ "name": "Spirit Naga",
+ "type": "monstrosity",
+ "cr": 8.0,
+ "size": "Large",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 18,
+ "dex": 17,
+ "con": 14,
+ "int": 16,
+ "wis": 15,
+ "cha": 16
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 15
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "rejuvenation",
+ "text": "If it dies, the naga returns to life in 1d6 days and regains all its hit points. Only a wish spell can prevent this trait from functioning.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The naga is a 10th-level spellcaster. Its spellcasting ability is Intelligence (spell save DC 14, +6 to hit with spell attacks), and it needs only verbal components to cast its spells. It has the following wizard spells prepared: \nCantrips (at will): **_mage hand, minor illusion, ray of frost_** \n1st level (4 slots): **_charm person, detect magic, sleep_** \n2nd level (3 slots): **_detect thoughts, hold person_** \n3rd level (3 slots): **_lightning bolt, water breathing_** \n4th level (3 slots): **_blight, dimension door_** \n5th level (2 slots): **_dominate person_**",
+ "type": "spells",
+ "spellcasting_ability": "int",
+ "innate": false,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "mage hand",
+ "minor illusion",
+ "ray of frost"
+ ]
+ },
+ {
+ "slots": 4,
+ "spells": [
+ "charm person",
+ "detect magic",
+ "sleep"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "detect thoughts",
+ "hold person"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "lightning bolt",
+ "water breathing"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "blight",
+ "dimension door"
+ ]
+ },
+ {
+ "slots": 2,
+ "spells": [
+ "dominate person"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target must make a DC 13 Constitution saving throw, taking 31 (7d8) poison damage on a failed save, or half as much damage on a successful one.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/sprite.json b/parsed/creatures/sprite.json
new file mode 100644
index 0000000..507f6b9
--- /dev/null
+++ b/parsed/creatures/sprite.json
@@ -0,0 +1,126 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft., fly 40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "Common, Elvish, Sylvan",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 2
+ },
+ "hit_die_count": 1,
+ "hit_die_sides": 4,
+ "name": "Sprite",
+ "type": "fey",
+ "cr": 0.25,
+ "size": "Tiny",
+ "alignment": "neutral good",
+ "stats": {
+ "str": 3,
+ "dex": 18,
+ "con": 10,
+ "int": 14,
+ "wis": 13,
+ "cha": 11
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "leather",
+ "type": "armor",
+ "text": "leather armor"
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "longsword",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "longsword",
+ "cost": 1500,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 1,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": 3.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": 2,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "shortbow",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "shortbow",
+ "cost": 2500,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 1,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": 2.0,
+ "range": [
+ 40,
+ 160
+ ],
+ "reach": 0,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ", and the target must succeed on a DC 10 Constitution saving throw or become poisoned for 1 minute. If its saving throw result is 5 or lower, the poisoned target falls unconscious for the same duration, or until it takes damage or another creature takes an action to shake it awake.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "heart sight",
+ "text": "The sprite touches a creature and magically knows the creature's current emotional state. If the target fails a DC 10 Charisma saving throw, the sprite also knows the creature's alignment. Celestials, fiends, and undead automatically fail the saving throw.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "invisibility",
+ "text": "The sprite magically turns invisible until it attacks or casts a spell, or until its concentration ends (as if concentrating on a spell). Any equipment the sprite wears or carries is invisible with it.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/spy.json b/parsed/creatures/spy.json
new file mode 100644
index 0000000..6f6c6fe
--- /dev/null
+++ b/parsed/creatures/spy.json
@@ -0,0 +1,79 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "any two languages",
+ "skills": {
+ "Deception": 1,
+ "Insight": 1,
+ "Investigation": 2,
+ "Perception": 2,
+ "Persuasion": 1,
+ "Sleight of Hand": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 6,
+ "hit_die_sides": 8,
+ "name": "Spy",
+ "type": "humanoid (any race)",
+ "cr": 1.0,
+ "size": "Medium",
+ "alignment": "any alignment",
+ "stats": {
+ "str": 10,
+ "dex": 15,
+ "con": 10,
+ "int": 12,
+ "wis": 14,
+ "cha": 16
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "shortsword",
+ "type": "weapons",
+ "text": "."
+ },
+ {
+ "entry": "item",
+ "name": "hand crossbow",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Rulers, nobles, merchants, guildmasters, and other wealthy individuals use spies to gain the upper hand in a world of cutthroat politics. A spy is trained to secretly gather information. Loyal spies would rather die than divulge information that could compromise them or their employers.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "cunning action",
+ "text": "On each of its turns, the spy can use a bonus action to take the Dash, Disengage, or Hide action.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "sneak attack (1/turn)",
+ "text": "The spy deals an extra 7 (2d6) damage when it hits a target with a weapon attack and has advantage on the attack roll, or when the target is within 5 feet of an ally of the spy that isn't incapacitated and the spy doesn't have disadvantage on the attack roll.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The spy makes two melee attacks.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/steam_mephit.json b/parsed/creatures/steam_mephit.json
new file mode 100644
index 0000000..5d007ee
--- /dev/null
+++ b/parsed/creatures/steam_mephit.json
@@ -0,0 +1,124 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., fly 30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Aquan, Ignan",
+ "skills": {},
+ "hit_die_count": 6,
+ "hit_die_sides": 6,
+ "name": "Steam Mephit",
+ "type": "elemental",
+ "cr": 0.25,
+ "size": "Small",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 5,
+ "dex": 11,
+ "con": 10,
+ "int": 11,
+ "wis": 10,
+ "cha": 12
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "death burst",
+ "text": "When the mephit dies, it explodes in a cloud of steam. Each creature within 5 feet of the mephit must succeed on a DC 10 Dexterity saving throw or take 4 (1d8) fire damage.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The mephit can innately cast **_blur_**, requiring no material components. Its innate spellcasting ability is Charisma.",
+ "type": "spells",
+ "spellcasting_ability": "cha",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 1,
+ "spells": [
+ "blur"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "slashing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "fire",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "steam breath (recharge 6)",
+ "text": "The mephit exhales a 15- foot cone of scalding steam. Each creature in that area must succeed on a DC 10 Dexterity saving throw, taking 4 (1d8) fire damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/stirge.json b/parsed/creatures/stirge.json
new file mode 100644
index 0000000..eb37e1a
--- /dev/null
+++ b/parsed/creatures/stirge.json
@@ -0,0 +1,76 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft., fly 40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 1,
+ "hit_die_sides": 4,
+ "name": "Stirge",
+ "type": "beast",
+ "cr": 0.125,
+ "size": "Tiny",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 4,
+ "dex": 16,
+ "con": 11,
+ "int": 2,
+ "wis": 8,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 14
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "blood drain",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "blood drain",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ", and the stirge attaches to the target. While attached, the stirge doesn't attack. Instead, at the start of each of the stirge's turns, the target loses 5 (1d4 + 3) hit points due to blood loss. \nThe stirge can detach itself by spending 5 feet of its movement. It does so after it drains 10 hit points of blood from the target or the target dies. A creature, including the target, can use its action to detach the stirge.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/stone_giant.json b/parsed/creatures/stone_giant.json
new file mode 100644
index 0000000..a926f21
--- /dev/null
+++ b/parsed/creatures/stone_giant.json
@@ -0,0 +1,131 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Giant",
+ "skills": {
+ "Athletics": 2,
+ "Perception": 1
+ },
+ "hit_die_count": 11,
+ "hit_die_sides": 12,
+ "name": "Stone Giant",
+ "type": "giant",
+ "cr": 7.0,
+ "size": "Huge",
+ "alignment": "neutral",
+ "stats": {
+ "str": 23,
+ "dex": 15,
+ "con": 20,
+ "int": 10,
+ "wis": 12,
+ "cha": 9
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "stone camouflage",
+ "text": "The giant has advantage on Dexterity (Stealth) checks made to hide in rocky terrain.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The giant makes two greatclub attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "greatclub",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "greatclub",
+ "cost": 20,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": 10.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "rock",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "rock",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 10,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 60,
+ 240
+ ],
+ "reach": 0,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature, it must succeed on a DC 17 Strength saving throw or be knocked prone.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": "str"
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "rock catching",
+ "text": "If a rock or similar object is hurled at the giant, the giant can, with a successful DC 10 Dexterity saving throw, catch the missile and take no bludgeoning damage from it.",
+ "type": "reaction"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/stone_golem.json b/parsed/creatures/stone_golem.json
new file mode 100644
index 0000000..fdd6e49
--- /dev/null
+++ b/parsed/creatures/stone_golem.json
@@ -0,0 +1,159 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ },
+ {
+ "type": "psychic",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical",
+ "non-adamantine"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical",
+ "non-adamantine"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical",
+ "non-adamantine"
+ ]
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "petrified",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "understands the languages of its creator but can't speak",
+ "skills": {},
+ "hit_die_count": 17,
+ "hit_die_sides": 10,
+ "name": "Stone Golem",
+ "type": "construct",
+ "cr": 10.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 22,
+ "dex": 9,
+ "con": 20,
+ "int": 3,
+ "wis": 11,
+ "cha": 1
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "immutable form",
+ "text": "The golem is immune to any spell or effect that would alter its form.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The golem has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic weapons",
+ "text": "The golem's weapon attacks are magical.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The golem makes two slam attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "slam",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "slam",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "slow (recharge 5\u20136)",
+ "text": "The golem targets one or more creatures it can see within 10 feet of it. Each target must make a DC 17 Wisdom saving throw against this magic. On a failed save, a target can't use reactions, its speed is halved, and it can't make more than one attack on its turn. In addition, the target can take either an action or a bonus action on its turn, not both. These effects last for 1 minute. A target can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success.",
+ "type": "action"
+ }
+ ],
+ "prof": 4
+} \ No newline at end of file
diff --git a/parsed/creatures/storm_giant.json b/parsed/creatures/storm_giant.json
new file mode 100644
index 0000000..3e99407
--- /dev/null
+++ b/parsed/creatures/storm_giant.json
@@ -0,0 +1,179 @@
+{
+ "entry": "creatures",
+ "speed": "50 ft., swim 50 ft.",
+ "saves": [
+ "str",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "lightning",
+ "qualifiers": []
+ },
+ {
+ "type": "thunder",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "Common, Giant",
+ "skills": {
+ "Arcana": 1,
+ "Athletics": 1,
+ "History": 1,
+ "Perception": 1
+ },
+ "hit_die_count": 20,
+ "hit_die_sides": 12,
+ "name": "Storm Giant",
+ "type": "giant",
+ "cr": 13.0,
+ "size": "Huge",
+ "alignment": "chaotic good",
+ "stats": {
+ "str": 29,
+ "dex": 14,
+ "con": 20,
+ "int": 16,
+ "wis": 18,
+ "cha": 18
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "scale mail",
+ "type": "armor",
+ "text": "scale mail armor"
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The giant can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The giant's innate spellcasting ability is Charisma (spell save DC 17). It can innately cast the following spells, requiring no material components: \nAt will: **_detect magic_**, **_feather fall_**, **_levitate_**, **_light_** \n3/day each: **_control weather_**, **_water breathing_**",
+ "type": "spells",
+ "spellcasting_ability": "cha",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "detect magic",
+ "feather fall",
+ "levitate",
+ "light"
+ ]
+ },
+ {
+ "slots": 3,
+ "spells": [
+ "control weather",
+ "water breathing"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The giant makes two greatsword attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "greatsword",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "greatsword",
+ "cost": 5000,
+ "damage": [
+ {
+ "dmg_die_count": 6,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": 6.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "rock",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "rock",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 12,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 60,
+ 240
+ ],
+ "reach": 0,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": "str"
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "lightning strike (recharge 5\u20136)",
+ "text": "The giant hurls a magical lightning bolt at a point it can see within 500 feet of it. Each creature within 10 feet of that point must make a DC 17 Dexterity saving throw, taking 54 (12d8) lightning damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ }
+ ],
+ "prof": 5
+} \ No newline at end of file
diff --git a/parsed/creatures/succubusincubus.json b/parsed/creatures/succubusincubus.json
new file mode 100644
index 0000000..7732ae4
--- /dev/null
+++ b/parsed/creatures/succubusincubus.json
@@ -0,0 +1,148 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., fly 60 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "lightning",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Abyssal, Common, Infernal, telepathy 60 ft.",
+ "skills": {
+ "Deception": 2,
+ "Insight": 2,
+ "Perception": 2,
+ "Persuasion": 2,
+ "Stealth": 2
+ },
+ "hit_die_count": 12,
+ "hit_die_sides": 8,
+ "name": "Succubus/Incubus",
+ "type": "fiend (shapechanger)",
+ "cr": 4.0,
+ "size": "Medium",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 8,
+ "dex": 17,
+ "con": 13,
+ "int": 15,
+ "wis": 12,
+ "cha": 20
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 15
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "telepathic bond",
+ "text": "The fiend ignores the range restriction on its telepathy when communicating with a creature it has charmed. The two don't even need to be on the same plane of existence.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "shapechanger",
+ "text": "The fiend can use its action to polymorph into a Small or Medium humanoid, or back into its true form. Without wings, the fiend loses its flying speed. Other than its size and speed, its statistics are the same in each form. Any equipment it is wearing or carrying isn't transformed. It reverts to its true form if it dies.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse",
+ "fiend form only"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "charm",
+ "text": "One humanoid the fiend can see within 30 feet of it must succeed on a DC 15 Wisdom saving throw or be magically charmed for 1 day. The charmed target obeys the fiend's verbal or telepathic commands. If the target suffers any harm or receives a suicidal command, it can repeat the saving throw, ending the effect on a success. If the target successfully saves against the effect, or if the effect on it ends, the target is immune to this fiend's Charm for the next 24 hours. \nThe fiend can have only one target charmed at a time. If it charms another, the effect on the previous target ends.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "draining kiss",
+ "text": "The fiend kisses a creature charmed by it or a willing creature. The target must make a DC 15 Constitution saving throw against this magic, taking 32 (5d10 + 5) psychic damage on a failed save, or half as much damage on a successful one. The target's hit point maximum is reduced by an amount equal to the damage taken. This reduction lasts until the target finishes a long rest. The target dies if this effect reduces its hit point maximum to 0.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "etherealness",
+ "text": "The fiend magically enters the Ethereal Plane from the Material Plane, or vice versa.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/swarm_of_bats.json b/parsed/creatures/swarm_of_bats.json
new file mode 100644
index 0000000..9ce1641
--- /dev/null
+++ b/parsed/creatures/swarm_of_bats.json
@@ -0,0 +1,146 @@
+{
+ "entry": "creatures",
+ "speed": "0 ft., fly 30 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": []
+ },
+ {
+ "type": "piercing",
+ "qualifiers": []
+ },
+ {
+ "type": "slashing",
+ "qualifiers": []
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "grappled",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "petrified",
+ "qualifiers": []
+ },
+ {
+ "type": "prone",
+ "qualifiers": []
+ },
+ {
+ "type": "restrained",
+ "qualifiers": []
+ },
+ {
+ "type": "stunned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "blindsight 60 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 5,
+ "hit_die_sides": 8,
+ "name": "Swarm of Bats",
+ "type": "swarm of Tiny beasts",
+ "cr": 0.25,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 5,
+ "dex": 15,
+ "con": 10,
+ "int": 2,
+ "wis": 12,
+ "cha": 4
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "echolocation",
+ "text": "The swarm can't use its blindsight while deafened.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "keen hearing",
+ "text": "The swarm has advantage on Wisdom (Perception) checks that rely on hearing.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "swarm",
+ "text": "The swarm can occupy another creature's space and vice versa, and the swarm can move through any opening large enough for a Tiny bat. The swarm can't regain hit points or gain temporary hit points.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": true
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 0,
+ "properties": [
+ "one creature in the swarm's space"
+ ],
+ "weapon_type": "unknown",
+ "text": "if the swarm has half of its hit points or fewer.",
+ "toHitOverride": 4,
+ "dmgBonusOverride": 0,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/swarm_of_insects.json b/parsed/creatures/swarm_of_insects.json
new file mode 100644
index 0000000..3dcee5f
--- /dev/null
+++ b/parsed/creatures/swarm_of_insects.json
@@ -0,0 +1,134 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft., climb 20 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": []
+ },
+ {
+ "type": "piercing",
+ "qualifiers": []
+ },
+ {
+ "type": "slashing",
+ "qualifiers": []
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "grappled",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "petrified",
+ "qualifiers": []
+ },
+ {
+ "type": "prone",
+ "qualifiers": []
+ },
+ {
+ "type": "restrained",
+ "qualifiers": []
+ },
+ {
+ "type": "stunned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "blindsight 10 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 5,
+ "hit_die_sides": 8,
+ "name": "Swarm of Insects",
+ "type": "swarm of Tiny beasts",
+ "cr": 0.5,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 3,
+ "dex": 13,
+ "con": 10,
+ "int": 1,
+ "wis": 7,
+ "cha": 1
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 12
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "swarm",
+ "text": "The swarm can occupy another creature's space and vice versa, and the swarm can move through any opening large enough for a Tiny insect. The swarm can't regain hit points or gain temporary hit points.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": true
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 0,
+ "properties": [
+ "one target in the swarm's space"
+ ],
+ "weapon_type": "unknown",
+ "text": "if the swarm has half of its hit points or fewer.",
+ "toHitOverride": 3,
+ "dmgBonusOverride": 0,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/swarm_of_poisonous_snakes.json b/parsed/creatures/swarm_of_poisonous_snakes.json
new file mode 100644
index 0000000..744ba0c
--- /dev/null
+++ b/parsed/creatures/swarm_of_poisonous_snakes.json
@@ -0,0 +1,134 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., swim 30 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": []
+ },
+ {
+ "type": "piercing",
+ "qualifiers": []
+ },
+ {
+ "type": "slashing",
+ "qualifiers": []
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "grappled",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "petrified",
+ "qualifiers": []
+ },
+ {
+ "type": "prone",
+ "qualifiers": []
+ },
+ {
+ "type": "restrained",
+ "qualifiers": []
+ },
+ {
+ "type": "stunned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "blindsight 10 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 8,
+ "hit_die_sides": 8,
+ "name": "Swarm of Poisonous Snakes",
+ "type": "swarm of Tiny beasts",
+ "cr": 2.0,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 8,
+ "dex": 18,
+ "con": 11,
+ "int": 1,
+ "wis": 10,
+ "cha": 3
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "swarm",
+ "text": "The swarm can occupy another creature's space and vice versa, and the swarm can move through any opening large enough for a Tiny snake. The swarm can't regain hit points or gain temporary hit points.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": true
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 0,
+ "properties": [
+ "one creature in the swarm's space"
+ ],
+ "weapon_type": "unknown",
+ "text": "if the swarm has half of its hit points or fewer. The target must make a DC 10 Constitution saving throw, taking 14 (4d6) poison damage on a failed save, or half as much damage on a successful one.",
+ "toHitOverride": 6,
+ "dmgBonusOverride": 0,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/swarm_of_quippers.json b/parsed/creatures/swarm_of_quippers.json
new file mode 100644
index 0000000..3f3f918
--- /dev/null
+++ b/parsed/creatures/swarm_of_quippers.json
@@ -0,0 +1,146 @@
+{
+ "entry": "creatures",
+ "speed": "0 ft., swim 40 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": []
+ },
+ {
+ "type": "piercing",
+ "qualifiers": []
+ },
+ {
+ "type": "slashing",
+ "qualifiers": []
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "grappled",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "petrified",
+ "qualifiers": []
+ },
+ {
+ "type": "prone",
+ "qualifiers": []
+ },
+ {
+ "type": "restrained",
+ "qualifiers": []
+ },
+ {
+ "type": "stunned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 8,
+ "hit_die_sides": 8,
+ "name": "Swarm of Quippers",
+ "type": "swarm of Tiny beasts",
+ "cr": 1.0,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 13,
+ "dex": 16,
+ "con": 9,
+ "int": 1,
+ "wis": 7,
+ "cha": 2
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "blood frenzy",
+ "text": "The swarm has advantage on melee attack rolls against any creature that doesn't have all its hit points.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "swarm",
+ "text": "The swarm can occupy another creature's space and vice versa, and the swarm can move through any opening large enough for a Tiny quipper. The swarm can't regain hit points or gain temporary hit points.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "water breathing",
+ "text": "The swarm can breathe only underwater.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": true
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 0,
+ "properties": [
+ "one creature in the swarm's space"
+ ],
+ "weapon_type": "unknown",
+ "text": "if the swarm has half of its hit points or fewer.",
+ "toHitOverride": 5,
+ "dmgBonusOverride": 0,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/swarm_of_rats.json b/parsed/creatures/swarm_of_rats.json
new file mode 100644
index 0000000..3937673
--- /dev/null
+++ b/parsed/creatures/swarm_of_rats.json
@@ -0,0 +1,140 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": []
+ },
+ {
+ "type": "piercing",
+ "qualifiers": []
+ },
+ {
+ "type": "slashing",
+ "qualifiers": []
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "grappled",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "petrified",
+ "qualifiers": []
+ },
+ {
+ "type": "prone",
+ "qualifiers": []
+ },
+ {
+ "type": "restrained",
+ "qualifiers": []
+ },
+ {
+ "type": "stunned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 30 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 7,
+ "hit_die_sides": 8,
+ "name": "Swarm of Rats",
+ "type": "swarm of Tiny beasts",
+ "cr": 0.25,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 9,
+ "dex": 11,
+ "con": 9,
+ "int": 2,
+ "wis": 10,
+ "cha": 3
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen smell",
+ "text": "The swarm has advantage on Wisdom (Perception) checks that rely on smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "swarm",
+ "text": "The swarm can occupy another creature's space and vice versa, and the swarm can move through any opening large enough for a Tiny rat. The swarm can't regain hit points or gain temporary hit points.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": true
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 0,
+ "properties": [
+ "one target in the swarm's space"
+ ],
+ "weapon_type": "unknown",
+ "text": "if the swarm has half of its hit points or fewer.",
+ "toHitOverride": 2,
+ "dmgBonusOverride": 0,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/swarm_of_ravens.json b/parsed/creatures/swarm_of_ravens.json
new file mode 100644
index 0000000..6515ed8
--- /dev/null
+++ b/parsed/creatures/swarm_of_ravens.json
@@ -0,0 +1,135 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft., fly 50 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": []
+ },
+ {
+ "type": "piercing",
+ "qualifiers": []
+ },
+ {
+ "type": "slashing",
+ "qualifiers": []
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "grappled",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "petrified",
+ "qualifiers": []
+ },
+ {
+ "type": "prone",
+ "qualifiers": []
+ },
+ {
+ "type": "restrained",
+ "qualifiers": []
+ },
+ {
+ "type": "stunned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 2
+ },
+ "hit_die_count": 7,
+ "hit_die_sides": 8,
+ "name": "Swarm of Ravens",
+ "type": "swarm of Tiny beasts",
+ "cr": 0.25,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 6,
+ "dex": 14,
+ "con": 8,
+ "int": 3,
+ "wis": 12,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "swarm",
+ "text": "The swarm can occupy another creature's space and vice versa, and the swarm can move through any opening large enough for a Tiny raven. The swarm can't regain hit points or gain temporary hit points.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "beaks",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "beaks",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": true
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse",
+ "one target in the swarm's space"
+ ],
+ "weapon_type": "unknown",
+ "text": "if the swarm has half of its hit points or fewer.",
+ "toHitOverride": null,
+ "dmgBonusOverride": 0,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/tarrasque.json b/parsed/creatures/tarrasque.json
new file mode 100644
index 0000000..e2b1030
--- /dev/null
+++ b/parsed/creatures/tarrasque.json
@@ -0,0 +1,278 @@
+{
+ "entry": "creatures",
+ "speed": "40ft",
+ "saves": [
+ "int",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "blindsight 120ft."
+ ],
+ "langs": "-",
+ "skills": {},
+ "hit_die_count": 33,
+ "hit_die_sides": 20,
+ "name": "Tarrasque",
+ "type": "monstrosity",
+ "cr": 30.0,
+ "size": "Gargantuan",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 30,
+ "dex": 11,
+ "con": 30,
+ "int": 3,
+ "wis": 11,
+ "cha": 11
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 25
+ },
+ "text": "**Attack.** The tarrasque makes one claw attack or tail attack. \n**Move.** The tarrasque moves up to half its speed. \n**Chomp (Costs 2 Actions).** The tarrasque makes one bite attack or uses its Swallow.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "legendary resistance (3/day)",
+ "text": "If the tarrasque fails a saving throw, it can choose to succeed instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The tarrasque has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "reflective carapace",
+ "text": "Any time the tarrasque is targeted by a **_magic missle_** spell, a line spell, or a spell that requires a ranged attack roll, roll a d6. On a 1 to 5, the tarrasque is unaffected. On a 6, the tarrasque is unaffected, and the effect is reflected back at the caster as though it originated from the tarrasque, turning the caster into the target.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "siege monster",
+ "text": "The tarrasque deals double damage to objects and structures.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The tarrasque can use its Frightful Presence. It then makes five attacks: one with its bite, two with its claws, one with its horns, and one with its tail. It can use its Swallow instead of its bite.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 12,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature, it is grappled (escape DC 20). Until this grapple ends, the target is restrained, and the tarrasque can't bite another target.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 8,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 15,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "horns",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "horns",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 20,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature, it must succeed on a DC 20 Strength saving throw or be knocked prone.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "frightful presence",
+ "text": "Each creature of the tarrasque's choice within 120 feet of it and aware of it must succeed on a DC 17 Wisdom saving throw or become frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, with disadvantage if the tarrasque is within line of sight, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the tarrasque's Frightful Presence for the next 24 hours.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "swallow",
+ "text": "The tarrasque makes one bite attack against a Large or smaller creature it is grappling. If the attack hits, the target takes the bite's damage, the target is swallowed, and the grapple ends. While swallowed, the creature is blinded and restrained, it has total cover against attacks and other effects outside the tarrasque, and it takes 56 (16d6) acid damage at the start of each of the tarrasque's turns. \nIf the tarrasque takes 60 damage or more on a single turn from a creature inside it, the tarrasque must succeed on a DC 20 Constitution saving throw at the end of that turn or regurgitate all swallowed creatures, which fall prone in a space within 10 feet of the 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.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "attack",
+ "text": "The tarrasque makes one claw attack or tail attack.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "move",
+ "text": "The tarrasque moves up to half its speed.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "chomp (costs 2 actions)",
+ "text": "The tarrasque makes one bite attack or uses its Swallow.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 9
+} \ No newline at end of file
diff --git a/parsed/creatures/thug.json b/parsed/creatures/thug.json
new file mode 100644
index 0000000..b79eb43
--- /dev/null
+++ b/parsed/creatures/thug.json
@@ -0,0 +1,73 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "any one language (usually Common)",
+ "skills": {
+ "Intimidation": 1
+ },
+ "hit_die_count": 5,
+ "hit_die_sides": 8,
+ "name": "Thug",
+ "type": "humanoid (any race)",
+ "cr": 0.5,
+ "size": "Medium",
+ "alignment": "any non-good alignment",
+ "stats": {
+ "str": 15,
+ "dex": 11,
+ "con": 14,
+ "int": 10,
+ "wis": 10,
+ "cha": 11
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "leather",
+ "type": "armor",
+ "text": "leather armor"
+ },
+ {
+ "entry": "item",
+ "name": "mace",
+ "type": "weapons",
+ "text": "."
+ },
+ {
+ "entry": "item",
+ "name": "heavy crossbow",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Thugs are ruthless enforcers skilled at intimidation and violence. They work for money and have few scruples.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "pack tactics",
+ "text": "The thug has advantage on an attack roll against a creature if at least one of the thug's allies is within 5 feet of the creature and the ally isn't incapacitated.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The thug makes two melee attacks.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/tiger.json b/parsed/creatures/tiger.json
new file mode 100644
index 0000000..bea8af8
--- /dev/null
+++ b/parsed/creatures/tiger.json
@@ -0,0 +1,121 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 2
+ },
+ "hit_die_count": 5,
+ "hit_die_sides": 10,
+ "name": "Tiger",
+ "type": "beast",
+ "cr": 1.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 17,
+ "dex": 15,
+ "con": 14,
+ "int": 3,
+ "wis": 12,
+ "cha": 8
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen smell",
+ "text": "The tiger has advantage on Wisdom (Perception) checks that rely on smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "pounce",
+ "text": "If the tiger moves at least 20 feet straight toward a creature and then hits it with a claw 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 tiger can make one bite attack against it as a bonus action.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/treant.json b/parsed/creatures/treant.json
new file mode 100644
index 0000000..0a8362b
--- /dev/null
+++ b/parsed/creatures/treant.json
@@ -0,0 +1,142 @@
+{
+ "entry": "creatures",
+ "speed": "30ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": []
+ },
+ {
+ "type": "piercing",
+ "qualifiers": []
+ }
+ ],
+ "d_vulnerabilities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "Common, Druidic, Elvish, Sylvan",
+ "skills": {},
+ "hit_die_count": 12,
+ "hit_die_sides": 12,
+ "name": "Treant",
+ "type": "plant",
+ "cr": 9.0,
+ "size": "Huge",
+ "alignment": "chaotic good",
+ "stats": {
+ "str": 23,
+ "dex": 8,
+ "con": 21,
+ "int": 12,
+ "wis": 16,
+ "cha": 12
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 16
+ },
+ "text": "**Multiattack.** The treant makes two slam attacks. \n**Slam.** _Melee Weapon Attack:_ +10 to hit, reach 5 ft., one target. _Hit:_ 16 (3d6 + 6) bludgeoning damage. \n**Rock.** _Ranged Weapon Attack:_ +10 to hit, range 60/180 ft., one target. _Hit:_ 28 (4d10 + 6) bludgeoning damage. \n**Animate Trees (1/Day).** The treant magically animates one or two trees it can see within 60 feet of it. These trees have the same statistics as a treant, except they have Intelligence and Charisma scores of 1, they can't speak, and they have only the Slam action option. An animated tree acts as an ally of the treant. The tree remains animate for 1 day or until it dies; until the treant dies or is more than 120 feet from the tree; or until the treant takes a bonus action to turn it back into an inanimate tree. The tree then takes root if possible.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "false appearance",
+ "text": "While the treant remains motionless, it is indistinguishable from a normal tree.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "siege monster",
+ "text": "The treant deals double damage to objects and structures.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The treant makes two slam attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "slam",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "slam",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "rock",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "rock",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 10,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 60,
+ 180
+ ],
+ "reach": 0,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": "str"
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "animate trees (1/day)",
+ "text": "The treant magically animates one or two trees it can see within 60 feet of it. These trees have the same statistics as a treant, except they have Intelligence and Charisma scores of 1, they can't speak, and they have only the Slam action option. An animated tree acts as an ally of the treant. The tree remains animate for 1 day or until it dies; until the treant dies or is more than 120 feet from the tree; or until the treant takes a bonus action to turn it back into an inanimate tree. The tree then takes root if possible.",
+ "type": "action"
+ }
+ ],
+ "prof": 4
+} \ No newline at end of file
diff --git a/parsed/creatures/tribal_warrior.json b/parsed/creatures/tribal_warrior.json
new file mode 100644
index 0000000..33becaf
--- /dev/null
+++ b/parsed/creatures/tribal_warrior.json
@@ -0,0 +1,59 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "any one language",
+ "skills": {},
+ "hit_die_count": 2,
+ "hit_die_sides": 8,
+ "name": "Tribal Warrior",
+ "type": "humanoid (any race)",
+ "cr": 0.125,
+ "size": "Medium",
+ "alignment": "any alignment",
+ "stats": {
+ "str": 13,
+ "dex": 11,
+ "con": 12,
+ "int": 8,
+ "wis": 11,
+ "cha": 8
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "hide",
+ "type": "armor",
+ "text": "hide armor"
+ },
+ {
+ "entry": "item",
+ "name": "spear",
+ "type": "weapons",
+ "text": "if used with two hands to make a melee attack."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Tribal warriors live beyond civilization, most often subsisting on fishing and hunting. Each tribe acts in accordance with the wishes of its chief, who is the greatest or oldest warrior of the tribe or a tribe member blessed by the gods.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "pack tactics",
+ "text": "The warrior has advantage on an attack roll against a creature if at least one of the warrior's allies is within 5 feet of the creature and the ally isn't incapacitated.",
+ "type": "feature"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/triceratops.json b/parsed/creatures/triceratops.json
new file mode 100644
index 0000000..9dfcc8b
--- /dev/null
+++ b/parsed/creatures/triceratops.json
@@ -0,0 +1,112 @@
+{
+ "entry": "creatures",
+ "speed": "50 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 10,
+ "hit_die_sides": 12,
+ "name": "Triceratops",
+ "type": "beast",
+ "cr": 5.0,
+ "size": "Huge",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 22,
+ "dex": 9,
+ "con": 17,
+ "int": 2,
+ "wis": 11,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "trampling charge",
+ "text": "If the triceratops moves at least 20 feet 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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "gore",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "gore",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "stomp",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "stomp",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 10,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "one prone creature"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/troll.json b/parsed/creatures/troll.json
new file mode 100644
index 0000000..ee5906b
--- /dev/null
+++ b/parsed/creatures/troll.json
@@ -0,0 +1,126 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Giant",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 8,
+ "hit_die_sides": 10,
+ "name": "Troll",
+ "type": "giant",
+ "cr": 5.0,
+ "size": "Large",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 18,
+ "dex": 13,
+ "con": 20,
+ "int": 7,
+ "wis": 9,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 15
+ },
+ "text": "**Multiattack.** The troll makes three attacks: one with its bite and two with its claws. \n**Bite.** _Melee Weapon Attack:_ +7 to hit, reach 5 ft., one target. _Hit:_ 7 (1d6 + 4) piercing damage. \n**Claw.** _Melee Weapon Attack:_ +7 to hit, reach 5 ft., one target. _Hit:_ 11 (2d6 + 4) slashing damage.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen smell",
+ "text": "The troll has advantage on Wisdom (Perception) checks that rely on smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "regeneration",
+ "text": "The troll regains 10 hit points at the start of its turn. If the troll takes acid or fire damage, this trait doesn't function at the start of the troll's next turn. The troll dies only if it starts its turn with 0 hit points and doesn't regenerate.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The troll makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/tyrannosaurus_rex.json b/parsed/creatures/tyrannosaurus_rex.json
new file mode 100644
index 0000000..06ab23d
--- /dev/null
+++ b/parsed/creatures/tyrannosaurus_rex.json
@@ -0,0 +1,112 @@
+{
+ "entry": "creatures",
+ "speed": "50 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 13,
+ "hit_die_sides": 12,
+ "name": "Tyrannosaurus Rex",
+ "type": "beast",
+ "cr": 8.0,
+ "size": "Huge",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 25,
+ "dex": 10,
+ "con": 19,
+ "int": 2,
+ "wis": 12,
+ "cha": 9
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The tyrannosaurus makes two attacks: one with its bite and one with its tail. It can't make both attacks against the same target.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 12,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a Medium or smaller creature, it is grappled (escape DC 17). Until this grapple ends, the target is restrained, and the tyrannosaurus can't bite another target.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "tail",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tail",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/unicorn.json b/parsed/creatures/unicorn.json
new file mode 100644
index 0000000..3f85b04
--- /dev/null
+++ b/parsed/creatures/unicorn.json
@@ -0,0 +1,204 @@
+{
+ "entry": "creatures",
+ "speed": "50 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Celestial, Elvish, Sylvan, telepathy 60 ft.",
+ "skills": {},
+ "hit_die_count": 9,
+ "hit_die_sides": 10,
+ "name": "Unicorn",
+ "type": "celestial",
+ "cr": 5.0,
+ "size": "Large",
+ "alignment": "lawful good",
+ "stats": {
+ "str": 18,
+ "dex": 14,
+ "con": 15,
+ "int": 11,
+ "wis": 17,
+ "cha": 16
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "charge",
+ "text": "If the unicorn moves at least 20 feet straight toward a target and then hits it with a horn 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 15 Strength saving throw or be knocked prone.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spellcasting",
+ "text": "The unicorn's innate spellcasting ability is Charisma (spell save DC 14). The unicorn can innately cast the following spells, requiring no components: \nAt will: **_detect evil and good, druidcraft, pass without trace_** \n1/day each: **_calm emotions, dispel evil and good, entangle_**",
+ "type": "spells",
+ "spellcasting_ability": "cha",
+ "innate": true,
+ "levels": [
+ {
+ "slots": 0,
+ "spells": [
+ "detect evil and good",
+ "druidcraft",
+ "pass without trace"
+ ]
+ },
+ {
+ "slots": 1,
+ "spells": [
+ "calm emotions",
+ "dispel evil and good",
+ "entangle"
+ ]
+ }
+ ]
+ },
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The unicorn has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "magic weapons",
+ "text": "The unicorn's weapon attacks are magical.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The unicorn makes two attacks: one with its hooves and one with its horn.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "hooves",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "hooves",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "horn",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "horn",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "healing touch (3/day)",
+ "text": "The unicorn touches another creature with its horn. The target magically regains 11 (2d8 + 2) hit points. In addition, the touch removes all diseases and neutralizes all poisons afflicting the target.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "teleport (1/day)",
+ "text": "The unicorn magically teleports itself and up to three willing creatures it can see within 5 feet of it, along with any equipment they are wearing or carrying, to a location the unicorn is familiar with, up to 1 mile away.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "hooves",
+ "text": "The unicorn makes one attack with its hooves.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "shimmering shield (costs 2 actions)",
+ "text": "The unicorn creates a shimmering, magical field around itself or another creature it can see within 60 feet of it. The target gains a +2 bonus to AC until the end of the unicorn's next turn.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "heal self (costs 3 actions)",
+ "text": "The unicorn magically regains 11 (2d8 + 2) hit points.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/vampire.json b/parsed/creatures/vampire.json
new file mode 100644
index 0000000..52436a0
--- /dev/null
+++ b/parsed/creatures/vampire.json
@@ -0,0 +1,219 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [
+ "dex",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [
+ {
+ "type": "necrotic",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "the languages it knew in life",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 17,
+ "hit_die_sides": 8,
+ "name": "Vampire",
+ "type": "undead (shapechanger)",
+ "cr": 13.0,
+ "size": "Medium",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 18,
+ "dex": 18,
+ "con": 18,
+ "int": 17,
+ "wis": 15,
+ "cha": 18
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 16
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "shapechanger",
+ "text": "If the vampire isn't in sunlight or running water, it can use its action to polymorph into a Tiny bat or a Medium cloud of mist, or back into its true form. \nWhile in bat form, the vampire can't speak, its walking speed is 5 feet, and it has a flying speed of 30 feet. Its statistics, other than its size and speed, are unchanged. Anything it is wearing transforms with it, but nothing it is carrying does. It reverts to its true form if it dies. \nWhile in mist form, the vampire can't take any actions, speak, or manipulate objects. It is weightless, has a flying speed of 20 feet, can hover, and can enter a hostile creature's space and stop there. In addition, if air can pass through a space, the mist can do so without squeezing, and it can't pass through water. It has advantage on Strength, Dexterity, and Constitution damage, except the damage it takes from sunlight.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "legendary resistance (3/day)",
+ "text": "If the vampire fails a saving throw, it can choose to succeed instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "misty escape",
+ "text": "When it drops to 0 hit points outside its resting place, the vampire transforms into a cloud of mist (as in the Shapechanger trait) instead of falling unconscious, provided that it isn't in sunlight or running water. If it can't transform, it is destroyed. \nWhile it has 0 hit points in mist form, it can't revert to its vampire form, and it must reach its resting place within 2 hours or be destroyed. Once in its resting place, it reverts to its vampire form. It is then paralyzed until it regains at least 1 hit point. After spending 1 hour in its resting place with 0 hit points, it regains 1 hit point.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "regeneration",
+ "text": "The vampire regains 20 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 vampire takes radiant damage or damage from holy water, this trait doesn't function at the start of the vampire's next turn.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spider climb",
+ "text": "The vampire can climb difficult surfaces, including upside down on ceilings, without needing to make an ability check.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "vampire weaknesses",
+ "text": "The vampire has the following flaws: \n_Forbiddance._ The vampire can't enter a residence without an invitation from one of the occupants. \n_Harmed by Running Water._ The vampire takes 20 acid damage if it ends its turn in running water. \n_Stake to the Heart._ If a piercing weapon made of wood is driven into the vampire's heart while the vampire is incapacitated in its resting place, the vampire is paralyzed until the stake is removed. \n_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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack. (vampire form only)",
+ "text": "The vampire makes two attacks, only one of which can be a bite attack.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "unarmed strike",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "unarmed strike",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "vampire form only"
+ ],
+ "weapon_type": "unknown",
+ "text": ". Instead of dealing damage, the vampire can grapple the target (escape DC 18).",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 6,
+ "dmg_type": "necrotic",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "one willing creature, or a creature that is grappled by the vampire, incapacitated, or restrained",
+ "bat or vampire form only"
+ ],
+ "weapon_type": "unknown",
+ "text": ". The target's hit point maximum is reduced by an amount equal to the necrotic damage taken, and the vampire regains hit points equal to that amount. The reduction lasts until the target finishes a long rest. The target dies if this effect reduces its hit point maximum to 0. A humanoid slain in this way and then buried in the ground rises the following night as a vampire spawn under the vampire's control.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "charm",
+ "text": "The vampire targets one humanoid it can see within 30 feet of it. If the target can see the vampire, the target must succeed on a DC 17 Wisdom saving throw against this magic or be charmed by the vampire. The charmed target regards the vampire as a trusted friend to be heeded and protected. Although the target isn't under the vampire's control, it takes the vampire's requests or actions in the most favorable way it can, and it is a willing target for the vampire's bite attack. \nEach time the vampire or the vampire's companions do anything harmful to the target, it can repeat the saving throw, ending the effect on itself on a success. Otherwise, the effect lasts 24 hours or until the vampire is destroyed, is on a different plane of existence than the target, or takes a bonus action to end the effect.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "children of the night (1/day)",
+ "text": "The vampire magically calls 2d4 swarms of bats or rats, provided that the sun isn't up. While outdoors, the vampire can call 3d6 wolves instead. The called creatures arrive in 1d4 rounds, acting as allies 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.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "move",
+ "text": "The vampire moves up to its speed without provoking opportunity attacks.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "unarmed strike",
+ "text": "The vampire makes one unarmed strike.",
+ "type": "legendary_action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite (costs 2 actions)",
+ "text": "The vampire makes one bite attack.",
+ "type": "legendary_action"
+ }
+ ],
+ "prof": 5
+} \ No newline at end of file
diff --git a/parsed/creatures/vampire_spawn.json b/parsed/creatures/vampire_spawn.json
new file mode 100644
index 0000000..ac3bec3
--- /dev/null
+++ b/parsed/creatures/vampire_spawn.json
@@ -0,0 +1,167 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [
+ "dex",
+ "wis"
+ ],
+ "d_resistances": [
+ {
+ "type": "necrotic",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "the languages it knew in life",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 11,
+ "hit_die_sides": 8,
+ "name": "Vampire Spawn",
+ "type": "undead",
+ "cr": 5.0,
+ "size": "Medium",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 16,
+ "dex": 16,
+ "con": 16,
+ "int": 11,
+ "wis": 10,
+ "cha": 12
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 15
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "regeneration",
+ "text": "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 vampire takes radiant damage or damage from holy water, this trait doesn't function at the start of the vampire's next turn.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "spider climb",
+ "text": "The vampire can climb difficult surfaces, including upside down on ceilings, without needing to make an ability check.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "vampire weaknesses",
+ "text": "The vampire has the following flaws: \n_Forbiddance._ The vampire can't enter a residence without an invitation from one of the occupants. \n_Harmed by Running Water._ The vampire takes 20 acid damage when it ends its turn in running water. \n_Stake to the Heart._ The vampire is destroyed if a piercing weapon made of wood is driven into its heart while it is incapacitated in its resting place. \n_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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The vampire makes two attacks, only one of which can be a bite attack.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 4,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". Instead of dealing damage, the vampire can grapple the target (escape DC 13).",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "necrotic",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "one willing creature, or a creature that is grappled by the vampire, incapacitated, or restrained"
+ ],
+ "weapon_type": "unknown",
+ "text": ". The target's hit point maximum is reduced by an amount equal to the necrotic damage taken, and the vampire regains hit points equal to that amount. The reduction lasts until the target finishes a long rest. The target dies if this effect reduces its hit point maximum to 0.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/veteran.json b/parsed/creatures/veteran.json
new file mode 100644
index 0000000..f8fb718
--- /dev/null
+++ b/parsed/creatures/veteran.json
@@ -0,0 +1,74 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "any one language (usually Common)",
+ "skills": {
+ "Athletics": 1,
+ "Perception": 1
+ },
+ "hit_die_count": 9,
+ "hit_die_sides": 8,
+ "name": "Veteran",
+ "type": "humanoid (any race)",
+ "cr": 3.0,
+ "size": "Medium",
+ "alignment": "any alignment",
+ "stats": {
+ "str": 16,
+ "dex": 13,
+ "con": 14,
+ "int": 10,
+ "wis": 11,
+ "cha": 10
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "splint",
+ "type": "armor",
+ "text": "splint armor"
+ },
+ {
+ "entry": "item",
+ "name": "longsword",
+ "type": "weapons",
+ "text": "if used with two hands."
+ },
+ {
+ "entry": "item",
+ "name": "shortsword",
+ "type": "weapons",
+ "text": "."
+ },
+ {
+ "entry": "item",
+ "name": "heavy crossbow",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "Veterans are professional fighters that take up arms for pay or to protect something they believe in or value. Their ranks include soldiers retired from long service and warriors who never served anyone but themselves.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The veteran makes two longsword attacks. If it has a shortsword drawn, it can also make a shortsword attack.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/violet_fungus.json b/parsed/creatures/violet_fungus.json
new file mode 100644
index 0000000..207943a
--- /dev/null
+++ b/parsed/creatures/violet_fungus.json
@@ -0,0 +1,99 @@
+{
+ "entry": "creatures",
+ "speed": "5 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [
+ {
+ "type": "blinded",
+ "qualifiers": []
+ },
+ {
+ "type": "deafened",
+ "qualifiers": []
+ },
+ {
+ "type": "frightened",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "blindsight 30 ft. (blind beyond this radius)"
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 4,
+ "hit_die_sides": 8,
+ "name": "Violet Fungus",
+ "type": "plant",
+ "cr": 0.25,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 3,
+ "dex": 1,
+ "con": 10,
+ "int": 1,
+ "wis": 3,
+ "cha": 1
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "false appearance",
+ "text": "While the violet fungus remains motionless, it is indistinguishable from an ordinary fungus.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The fungus makes 1d4 Rotting Touch attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "rotting touch",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "rotting touch",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "necrotic",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": 2,
+ "dmgBonusOverride": 0,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/vrock.json b/parsed/creatures/vrock.json
new file mode 100644
index 0000000..af88bbc
--- /dev/null
+++ b/parsed/creatures/vrock.json
@@ -0,0 +1,175 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., fly 60 ft.",
+ "saves": [
+ "dex",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "lightning",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "Abyssal, telepathy 120 ft.",
+ "skills": {},
+ "hit_die_count": 11,
+ "hit_die_sides": 10,
+ "name": "Vrock",
+ "type": "fiend (demon)",
+ "cr": 6.0,
+ "size": "Large",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 17,
+ "dex": 15,
+ "con": 18,
+ "int": 8,
+ "wis": 13,
+ "cha": 8
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 15
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "magic resistance",
+ "text": "The vrock has advantage on saving throws against spells and other magical effects.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The vrock makes two attacks: one with its beak and one with its talons.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "beak",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "beak",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "talons",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "talons",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "spores (recharge 6)",
+ "text": "A 15\u00ad\u2010foot\u00ad\u2010radius cloud of toxic spores extends out from the vrock. The spores spread around corners. Each creature in that area must succeed on a DC 14 Constitution saving throw or become poisoned. While poisoned in this way, a target takes 5 (1d10) poison damage at the start of each of its turns. A target can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. Emptying a vial of holy water on the target also ends the effect on it.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "stunning screech (1/day)",
+ "text": "The vrock emits a horrific screech. Each creature within 20 feet of it that can hear it and that isn't a demon must succeed on a DC 14 Constitution saving throw or be stunned until the end of the vrock's next turn.",
+ "type": "action"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/vulture.json b/parsed/creatures/vulture.json
new file mode 100644
index 0000000..2333068
--- /dev/null
+++ b/parsed/creatures/vulture.json
@@ -0,0 +1,88 @@
+{
+ "entry": "creatures",
+ "speed": "10 ft., fly 50 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 1,
+ "hit_die_sides": 8,
+ "name": "Vulture",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 7,
+ "dex": 10,
+ "con": 13,
+ "int": 2,
+ "wis": 12,
+ "cha": 4
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen sight and smell",
+ "text": "The vulture has advantage on Wisdom (Perception) checks that rely on sight or smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "pack tactics",
+ "text": "The vulture has advantage on an attack roll against a creature if at least one of the vulture's allies is within 5 feet of the creature and the ally isn't incapacitated.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "beak",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "beak",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/warhorse.json b/parsed/creatures/warhorse.json
new file mode 100644
index 0000000..6d380e3
--- /dev/null
+++ b/parsed/creatures/warhorse.json
@@ -0,0 +1,78 @@
+{
+ "entry": "creatures",
+ "speed": "60 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 3,
+ "hit_die_sides": 10,
+ "name": "Warhorse",
+ "type": "beast",
+ "cr": 0.5,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 18,
+ "dex": 12,
+ "con": 13,
+ "int": 2,
+ "wis": 12,
+ "cha": 7
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "trampling charge",
+ "text": "If the horse moves at least 20 feet straight toward a creature and then hits it with a hooves attack on the same turn, that target must succeed on a DC 14 Strength saving throw or be knocked prone. If the target is prone, the horse can make another attack with its hooves against it as a bonus action.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "hooves",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "hooves",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/warhorse_skeleton.json b/parsed/creatures/warhorse_skeleton.json
new file mode 100644
index 0000000..9b1de9a
--- /dev/null
+++ b/parsed/creatures/warhorse_skeleton.json
@@ -0,0 +1,93 @@
+{
+ "entry": "creatures",
+ "speed": "60 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": []
+ }
+ ],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {},
+ "hit_die_count": 3,
+ "hit_die_sides": 10,
+ "name": "Warhorse Skeleton",
+ "type": "undead",
+ "cr": 0.5,
+ "size": "Large",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 18,
+ "dex": 12,
+ "con": 15,
+ "int": 2,
+ "wis": 8,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "barding scraps",
+ "bonus": 13
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "hooves",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "hooves",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/water_elemental.json b/parsed/creatures/water_elemental.json
new file mode 100644
index 0000000..024006c
--- /dev/null
+++ b/parsed/creatures/water_elemental.json
@@ -0,0 +1,159 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., swim 90 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "acid",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "grappled",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "petrified",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ },
+ {
+ "type": "prone",
+ "qualifiers": []
+ },
+ {
+ "type": "restrained",
+ "qualifiers": []
+ },
+ {
+ "type": "unconscious",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Aquan",
+ "skills": {},
+ "hit_die_count": 12,
+ "hit_die_sides": 10,
+ "name": "Water Elemental",
+ "type": "elemental",
+ "cr": 5.0,
+ "size": "Large",
+ "alignment": "neutral",
+ "stats": {
+ "str": 18,
+ "dex": 14,
+ "con": 18,
+ "int": 5,
+ "wis": 10,
+ "cha": 8
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 14
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "water form",
+ "text": "The elemental can enter a hostile creature's space and stop there. It can move through a space as narrow as 1 inch wide without squeezing.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "freeze",
+ "text": "If the elemental takes cold damage, it partially freezes; its speed is reduced by 20 feet until the end of its next turn.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The elemental makes two slam attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "slam",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "slam",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "whelm (recharge 4\u20136)",
+ "text": "Each creature in the elemental's space must make a DC 15 Strength saving throw. On a failure, a target takes 13 (2d8 + 4) bludgeoning damage. If it is Large or smaller, it is also grappled (escape DC 14). Until this grapple ends, the target is restrained and unable to breathe unless it can breathe water. If the saving throw is successful, the target is pushed out of the elemental's space. \nThe elemental can grapple one Large creature or up to two Medium or smaller creatures at one time. At the start of each of the elemental's turns, each target grappled by it takes 13 (2d8 + 4) bludgeoning damage. A creature within 5 feet of the elemental can pull a creature or object out of it by taking an action to make a DC 14 Strength and succeeding.",
+ "type": "action"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/weasel.json b/parsed/creatures/weasel.json
new file mode 100644
index 0000000..59862b6
--- /dev/null
+++ b/parsed/creatures/weasel.json
@@ -0,0 +1,83 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 1,
+ "hit_die_sides": 4,
+ "name": "Weasel",
+ "type": "beast",
+ "cr": 0.0,
+ "size": "Tiny",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 3,
+ "dex": 16,
+ "con": 8,
+ "int": 2,
+ "wis": 12,
+ "cha": 3
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen hearing and smell",
+ "text": "The weasel has advantage on Wisdom (Perception) checks that rely on hearing or smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 1,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/werebear.json b/parsed/creatures/werebear.json
new file mode 100644
index 0000000..b52ea29
--- /dev/null
+++ b/parsed/creatures/werebear.json
@@ -0,0 +1,157 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft. (40 ft., climb 30 ft. in bear or hybrid form)",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ }
+ ],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "Common (can't speak in bear form)",
+ "skills": {
+ "Perception": 2
+ },
+ "hit_die_count": 18,
+ "hit_die_sides": 8,
+ "name": "Werebear",
+ "type": "humanoid (human, shapechanger)",
+ "cr": 5.0,
+ "size": "Medium",
+ "alignment": "neutral good",
+ "stats": {
+ "str": 19,
+ "dex": 10,
+ "con": 17,
+ "int": 11,
+ "wis": 12,
+ "cha": 12
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "greataxe",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 10
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "shapechanger",
+ "text": "The werebear can use its action to polymorph into a Large bear-humanoid hybrid or into a Large bear, or back into its true form, which is humanoid. Its statistics, other than its size and AC, are the same in each form. Any equipment it is wearing or carrying isn't transformed. It reverts to its true form if it dies.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "keen smell",
+ "text": "The werebear has advantage on Wisdom (Perception) checks that rely on smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "In bear form, the werebear makes two claw attacks. In humanoid form, it makes two greataxe attacks. In hybrid form, it can attack like a bear or a humanoid.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "bear or hybrid form only"
+ ],
+ "weapon_type": "unknown",
+ "text": ". If the target is a humanoid, it must succeed on a DC 14 Constitution saving throw or be cursed with werebear lycanthropy.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "bear or hybrid form only"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/wereboar.json b/parsed/creatures/wereboar.json
new file mode 100644
index 0000000..55cc558
--- /dev/null
+++ b/parsed/creatures/wereboar.json
@@ -0,0 +1,129 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft. (40 ft. in boar form)",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ }
+ ],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "Common (can't speak in boar form)",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 12,
+ "hit_die_sides": 8,
+ "name": "Wereboar",
+ "type": "humanoid (human, shapechanger)",
+ "cr": 4.0,
+ "size": "Medium",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 17,
+ "dex": 10,
+ "con": 15,
+ "int": 10,
+ "wis": 11,
+ "cha": 8
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "maul",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 10
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "shapechanger",
+ "text": "The wereboar can use its action to polymorph into a boar-humanoid hybrid or into a boar, or back into its true form, which is humanoid. Its statistics, other than its AC, are the same in each form. Any equipment it is wearing or carrying isn't transformed. It reverts to its true form if it dies.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "charge (boar or hybrid form only)",
+ "text": "If the wereboar moves at least 15 feet straight toward a target and then hits it with its tusks on the same turn, the target takes an extra 7 (2d6) slashing damage. If the target is a creature, it must succeed on a DC 13 Strength saving throw or be knocked prone.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "relentless (recharges after a short or long rest)",
+ "text": "If the wereboar takes 14 damage or less that would reduce it to 0 hit points, it is reduced to 1 hit point instead.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack (humanoid or hybrid form only)",
+ "text": "The wereboar makes two attacks, only one of which can be with its tusks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "tusks",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "tusks",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "boar or hybrid form only"
+ ],
+ "weapon_type": "unknown",
+ "text": ". If the target is a humanoid, it must succeed on a DC 12 Constitution saving throw or be cursed with wereboar lycanthropy.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/wererat.json b/parsed/creatures/wererat.json
new file mode 100644
index 0000000..bdbd570
--- /dev/null
+++ b/parsed/creatures/wererat.json
@@ -0,0 +1,133 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft. (rat form only)"
+ ],
+ "langs": "Common (can't speak in rat form)",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 6,
+ "hit_die_sides": 8,
+ "name": "Wererat",
+ "type": "humanoid (human, shapechanger)",
+ "cr": 2.0,
+ "size": "Medium",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 10,
+ "dex": 15,
+ "con": 12,
+ "int": 11,
+ "wis": 10,
+ "cha": 8
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "shortsword",
+ "type": "weapons",
+ "text": "."
+ },
+ {
+ "entry": "item",
+ "name": "hand crossbow",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "shapechanger",
+ "text": "The wererat can use its action to polymorph into a rat-humanoid hybrid or into a giant rat, or back into its true form, which is humanoid. Its statistics, other than its size, are the same in each form. Any equipment it is wearing or carrying isn't transformed. It reverts to its true form if it dies.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "keen smell",
+ "text": "The wererat has advantage on Wisdom (Perception) checks that rely on smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack (humanoid or hybrid form only)",
+ "text": "The wererat makes two attacks, only one of which can be a bite.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse",
+ "rat or hybrid form only"
+ ],
+ "weapon_type": "unknown",
+ "text": ". If the target is a humanoid, it must succeed on a DC 11 Constitution saving throw or be cursed with wererat lycanthropy.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/weretiger.json b/parsed/creatures/weretiger.json
new file mode 100644
index 0000000..8fedbb9
--- /dev/null
+++ b/parsed/creatures/weretiger.json
@@ -0,0 +1,172 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft. (40 ft. in tiger form)",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Common (can't speak in tiger form)",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 16,
+ "hit_die_sides": 8,
+ "name": "Weretiger",
+ "type": "humanoid (human, shapechanger)",
+ "cr": 4.0,
+ "size": "Medium",
+ "alignment": "neutral",
+ "stats": {
+ "str": 17,
+ "dex": 15,
+ "con": 16,
+ "int": 10,
+ "wis": 13,
+ "cha": 11
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "scimitar",
+ "type": "weapons",
+ "text": "."
+ },
+ {
+ "entry": "item",
+ "name": "longbow",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "shapechanger",
+ "text": "The weretiger can use its action to polymorph into a tiger-humanoid hybrid or into a tiger, or back into its true form, which is humanoid. Its statistics, other than its size, are the same in each form. Any equipment it is wearing or carrying isn't transformed. It reverts to its true form if it dies.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "keen hearing and smell",
+ "text": "The weretiger has advantage on Wisdom (Perception) checks that rely on hearing or smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "pounce (tiger or hybrid form only)",
+ "text": "If the weretiger moves at least 15 feet straight toward a creature and then hits it with a claw attack on the same turn, that target must succeed on a DC 14 Strength saving throw or be knocked prone. If the target is prone, the weretiger can make one bite attack against it as a bonus action.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack (humanoid or hybrid form only)",
+ "text": "In humanoid form, the weretiger makes two scimitar attacks or two longbow attacks. In hybrid form, it can attack like a humanoid or make two claw attacks.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "tiger or hybrid form only"
+ ],
+ "weapon_type": "unknown",
+ "text": ". If the target is a humanoid, it must succeed on a DC 13 Constitution saving throw or be cursed with weretiger lycanthropy.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "tiger or hybrid form only"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/werewolf.json b/parsed/creatures/werewolf.json
new file mode 100644
index 0000000..42c1cb7
--- /dev/null
+++ b/parsed/creatures/werewolf.json
@@ -0,0 +1,158 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft. (40 ft. in wolf form)",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ }
+ ],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "Common (can't speak in wolf form)",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 9,
+ "hit_die_sides": 8,
+ "name": "Werewolf",
+ "type": "humanoid (human, shapechanger)",
+ "cr": 3.0,
+ "size": "Medium",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 15,
+ "dex": 13,
+ "con": 14,
+ "int": 10,
+ "wis": 11,
+ "cha": 10
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "spear",
+ "type": "weapons",
+ "text": "if used with two hands to make a melee attack."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 11
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "shapechanger",
+ "text": "The werewolf can use its action to polymorph into a wolf-humanoid hybrid or into a wolf, or back into its true form, which is humanoid. Its statistics, other than its AC, are the same in each form. Any equipment it is wearing or carrying isn't transformed. It reverts to its true form if it dies.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "keen hearing and smell",
+ "text": "The werewolf has advantage on Wisdom (Perception) checks that rely on hearing or smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack. (humanoid or hybrid form only)",
+ "text": "The werewolf makes two attacks: one with its bite and one with its claws or spear.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "wolf or hybrid form only"
+ ],
+ "weapon_type": "unknown",
+ "text": ". If the target is a humanoid, it must succeed on a DC 12 Constitution saving throw or be cursed with werewolf lycanthropy.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 4,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "hybrid form only"
+ ],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/white_dragon_wyrmling.json b/parsed/creatures/white_dragon_wyrmling.json
new file mode 100644
index 0000000..6326dc3
--- /dev/null
+++ b/parsed/creatures/white_dragon_wyrmling.json
@@ -0,0 +1,100 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft., burrow 15 ft., fly 60 ft., swim 30 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 10 ft.",
+ "darkvision 60 ft."
+ ],
+ "langs": "Draconic",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 5,
+ "hit_die_sides": 8,
+ "name": "White Dragon Wyrmling",
+ "type": "dragon",
+ "cr": 2.0,
+ "size": "Medium",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 14,
+ "dex": 10,
+ "con": 14,
+ "int": 5,
+ "wis": 10,
+ "cha": 11
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 16
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4,
+ "dmg_type": "cold",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "cold breath (recharge 5\u20136)",
+ "text": "The dragon exhales an icy blast of hail in a 15-foot cone. Each creature in that area must make a DC 12 Constitution saving throw, taking 22 (5d8) cold damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/wight.json b/parsed/creatures/wight.json
new file mode 100644
index 0000000..ada553b
--- /dev/null
+++ b/parsed/creatures/wight.json
@@ -0,0 +1,148 @@
+{
+ "entry": "creatures",
+ "speed": "30 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "necrotic",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "the languages it knew in life",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 6,
+ "hit_die_sides": 8,
+ "name": "Wight",
+ "type": "undead",
+ "cr": 3.0,
+ "size": "Medium",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 15,
+ "dex": 14,
+ "con": 16,
+ "int": 10,
+ "wis": 13,
+ "cha": 15
+ },
+ "inventory": [
+ {
+ "entry": "item",
+ "name": "studded leather",
+ "type": "armor",
+ "text": "studded leather armor"
+ },
+ {
+ "entry": "item",
+ "name": "longsword",
+ "type": "weapons",
+ "text": "if used with two hands."
+ },
+ {
+ "entry": "item",
+ "name": "longbow",
+ "type": "weapons",
+ "text": "."
+ }
+ ],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "sunlight sensitivity",
+ "text": "While in sunlight, the wight has disadvantage on attack rolls, as well as on Wisdom (Perception) checks that rely on sight.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The wight makes two longsword attacks or two longbow attacks. It can use its Life Drain in place of one longsword attack.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "life drain",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "life drain",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "necrotic",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". The target must succeed on a DC 13 Constitution saving throw or its hit point maximum is reduced by an amount equal to the damage taken. This reduction lasts until the target finishes a long rest. The target dies if this effect reduces its hit point maximum to 0. \nA humanoid slain by this attack rises 24 hours later as a zombie under the wight's control, unless the humanoid is restored to life or its body is destroyed. The wight can have no more than twelve zombies under its control at one time.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/will_o_wisp.json b/parsed/creatures/will_o_wisp.json
new file mode 100644
index 0000000..b85504c
--- /dev/null
+++ b/parsed/creatures/will_o_wisp.json
@@ -0,0 +1,181 @@
+{
+ "entry": "creatures",
+ "speed": "0 ft., fly 50 ft. (hover)",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "acid",
+ "qualifiers": []
+ },
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "necrotic",
+ "qualifiers": []
+ },
+ {
+ "type": "thunder",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "lightning",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "grappled",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ },
+ {
+ "type": "prone",
+ "qualifiers": []
+ },
+ {
+ "type": "restrained",
+ "qualifiers": []
+ },
+ {
+ "type": "unconscious",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 120 ft."
+ ],
+ "langs": "the languages it knew in life",
+ "skills": {},
+ "hit_die_count": 9,
+ "hit_die_sides": 4,
+ "name": "Will-o'-Wisp",
+ "type": "undead",
+ "cr": 2.0,
+ "size": "Tiny",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 1,
+ "dex": 28,
+ "con": 10,
+ "int": 13,
+ "wis": 14,
+ "cha": 11
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "consume life",
+ "text": "As a bonus action, the will-o'-wisp can target one creature it can see within 5 feet of it that has 0 hit points and is still alive. The target must succeed on a DC 10 Constitution saving throw against this magic or die. If the target dies, the will-o'-wisp regains 10 (3d6) hit points.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "ephemeral",
+ "text": "The will-o'-wisp can't wear or carry anything.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "incorporeal movement",
+ "text": "The will-o'-wisp can move through other creatures and objects as if they were difficult terrain. It takes 5 (1d10) force damage if it ends its turn inside an object.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "variable illumination",
+ "text": "The will-o'-wisp sheds bright light in a 5- to 20-foot radius and dim light for an additional number of feet equal to the chosen radius. The will-o'-wisp can alter the radius as a bonus action.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "shock",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "spell attack",
+ "name": "shock",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "lightning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": 4,
+ "dmgBonusOverride": 0,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "invisibility",
+ "text": "The will-o'-wisp and its light magically become invisible until it attacks or uses its Consume Life, or until its concentration ends (as if concentrating on a spell).",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/winter_wolf.json b/parsed/creatures/winter_wolf.json
new file mode 100644
index 0000000..f5ba861
--- /dev/null
+++ b/parsed/creatures/winter_wolf.json
@@ -0,0 +1,104 @@
+{
+ "entry": "creatures",
+ "speed": "50 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "Common, Giant, Winter Wolf",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 10,
+ "hit_die_sides": 10,
+ "name": "Winter Wolf",
+ "type": "monstrosity",
+ "cr": 3.0,
+ "size": "Large",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 18,
+ "dex": 13,
+ "con": 14,
+ "int": 7,
+ "wis": 12,
+ "cha": 8
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "The arctic-dwelling winter wolf is as large as a dire wolf but has snow-white fur and pale blue eyes. Frost giants use these evil creatures as guards and hunting companions, putting the wolves' deadly breath weapon to use against their foes. Winter wolves communicate with one another using growls and barks, but they speak Common and Giant well enough to follow simple conversations.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen hearing and smell",
+ "text": "The wolf has advantage on Wisdom (Perception) checks that rely on hearing or smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "pack tactics",
+ "text": "The wolf has advantage on an attack roll against a creature if at least one of the wolf's allies is within 5 feet of the creature and the ally isn't incapacitated.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "snow camouflage",
+ "text": "The wolf has advantage on Dexterity (Stealth) checks made to hide in snowy terrain.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature, it must succeed on a DC 14 Strength saving throw or be knocked prone.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "cold breath (recharge 5\u20136)",
+ "text": "The wolf exhales a blast of freezing wind in a 15-foot cone. Each creature in that area must make a DC 12 Dexterity saving throw, taking 18 (4d8) cold damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/wolf.json b/parsed/creatures/wolf.json
new file mode 100644
index 0000000..c0ed01e
--- /dev/null
+++ b/parsed/creatures/wolf.json
@@ -0,0 +1,89 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [],
+ "langs": "--",
+ "skills": {
+ "Perception": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 2,
+ "hit_die_sides": 8,
+ "name": "Wolf",
+ "type": "beast",
+ "cr": 0.25,
+ "size": "Medium",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 12,
+ "dex": 15,
+ "con": 12,
+ "int": 3,
+ "wis": 12,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen hearing and smell",
+ "text": "The wolf has advantage on Wisdom (Perception) checks that rely on hearing or smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "pack tactics",
+ "text": "The wolf has advantage on attack rolls against a creature if at least one of the wolf's allies is within 5 feet of the creature and the ally isn't incapacitated.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 4,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature, it must succeed on a DC 11 Strength saving throw or be knocked prone.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/worg.json b/parsed/creatures/worg.json
new file mode 100644
index 0000000..931102e
--- /dev/null
+++ b/parsed/creatures/worg.json
@@ -0,0 +1,82 @@
+{
+ "entry": "creatures",
+ "speed": "50 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "Goblin, Worg",
+ "skills": {
+ "Perception": 2
+ },
+ "hit_die_count": 4,
+ "hit_die_sides": 10,
+ "name": "Worg",
+ "type": "monstrosity",
+ "cr": 0.5,
+ "size": "Large",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 16,
+ "dex": 13,
+ "con": 13,
+ "int": 7,
+ "wis": 11,
+ "cha": 8
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "A worg is an evil predator that delights in hunting and devouring creatures weaker than itself. Cunning and malevolent, worgs roam across the remote wilderness or are raised by goblins and hobgoblins. Those creatures use worgs as mounts, but a worg will turn on its rider if it feels mistreated or malnourished. Worgs speak in their own language and Goblin, and a few learn to speak Common as well.",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "keen hearing and smell",
+ "text": "The worg has advantage on Wisdom (Perception) checks that rely on hearing or smell.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". If the target is a creature, it must succeed on a DC 13 Strength saving throw or be knocked prone.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/creatures/wraith.json b/parsed/creatures/wraith.json
new file mode 100644
index 0000000..737357a
--- /dev/null
+++ b/parsed/creatures/wraith.json
@@ -0,0 +1,178 @@
+{
+ "entry": "creatures",
+ "speed": "0 ft., fly 60 ft. (hover)",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "acid",
+ "qualifiers": []
+ },
+ {
+ "type": "cold",
+ "qualifiers": []
+ },
+ {
+ "type": "fire",
+ "qualifiers": []
+ },
+ {
+ "type": "lightning",
+ "qualifiers": []
+ },
+ {
+ "type": "thunder",
+ "qualifiers": []
+ },
+ {
+ "type": "bludgeoning",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "piercing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ },
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical",
+ "non-silvered"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "necrotic",
+ "qualifiers": []
+ },
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "charmed",
+ "qualifiers": []
+ },
+ {
+ "type": "exhaustion",
+ "qualifiers": []
+ },
+ {
+ "type": "grappled",
+ "qualifiers": []
+ },
+ {
+ "type": "paralyzed",
+ "qualifiers": []
+ },
+ {
+ "type": "petrified",
+ "qualifiers": []
+ },
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ },
+ {
+ "type": "prone",
+ "qualifiers": []
+ },
+ {
+ "type": "restrained",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "the languages it knew in life",
+ "skills": {},
+ "hit_die_count": 9,
+ "hit_die_sides": 8,
+ "name": "Wraith",
+ "type": "undead",
+ "cr": 5.0,
+ "size": "Medium",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 6,
+ "dex": 16,
+ "con": 16,
+ "int": 12,
+ "wis": 14,
+ "cha": 15
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "incorporeal movement",
+ "text": "The wraith can move through other creatures and objects as if they were difficult terrain. It takes 5 (1d10) force damage if it ends its turn inside an object.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "sunlight sensitivity",
+ "text": "While in sunlight, the wraith has disadvantage on attack rolls, as well as on Wisdom (Perception) checks that rely on sight.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "life drain",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "life drain",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 4,
+ "dmg_die_sides": 8,
+ "dmg_type": "necrotic",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "unknown",
+ "text": ". The target must succeed on a DC 14 Constitution saving throw or its hit point maximum is reduced by an amount equal to the damage taken. This reduction lasts until the target finishes a long rest. The target dies if this effect reduces its hit point maximum to 0.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "create specter",
+ "text": "The wraith targets a humanoid within 10 feet of it that has been dead for no longer than 1 minute and died violently. The target's spirit rises as a specter in the space of its corpse or in the nearest unoccupied space. The specter is under the wraith's control. The wraith can have no more than seven specters under its control at one time.",
+ "type": "action"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/wyvern.json b/parsed/creatures/wyvern.json
new file mode 100644
index 0000000..2352590
--- /dev/null
+++ b/parsed/creatures/wyvern.json
@@ -0,0 +1,146 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft., fly 80 ft.",
+ "saves": [],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "--",
+ "skills": {
+ "Perception": 1
+ },
+ "hit_die_count": 13,
+ "hit_die_sides": 10,
+ "name": "Wyvern",
+ "type": "dragon",
+ "cr": 6.0,
+ "size": "Large",
+ "alignment": "unaligned",
+ "stats": {
+ "str": 19,
+ "dex": 10,
+ "con": 16,
+ "int": 5,
+ "wis": 12,
+ "cha": 6
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 13
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The wyvern makes two attacks: one with its bite and one with its stinger. While flying, it can use its claws in place of one other attack.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claws",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claws",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 8,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "stinger",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "stinger",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ". The target must make a DC 15 Constitution saving throw, taking 24 (7d6) poison damage on a failed save, or half as much damage on a successful one.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/xorn.json b/parsed/creatures/xorn.json
new file mode 100644
index 0000000..4248a08
--- /dev/null
+++ b/parsed/creatures/xorn.json
@@ -0,0 +1,142 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft., burrow 20 ft.",
+ "saves": [],
+ "d_resistances": [
+ {
+ "type": "slashing",
+ "qualifiers": [
+ "nonmagical",
+ "non-adamantine"
+ ]
+ }
+ ],
+ "d_vulnerabilities": [],
+ "d_immunities": [],
+ "c_immunities": [],
+ "senses": [
+ "darkvision 60 ft.",
+ "tremorsense 60 ft."
+ ],
+ "langs": "Terran",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 7,
+ "hit_die_sides": 8,
+ "name": "Xorn",
+ "type": "elemental",
+ "cr": 5.0,
+ "size": "Medium",
+ "alignment": "neutral",
+ "stats": {
+ "str": 17,
+ "dex": 10,
+ "con": 22,
+ "int": 11,
+ "wis": 10,
+ "cha": 11
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 19
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "earth glide",
+ "text": "The xorn can burrow through nonmagical, unworked earth and stone. While doing so, the xorn doesn't disturb the material it moves through.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "stone camouflage",
+ "text": "The xorn has advantage on Dexterity (Stealth) checks made to hide in rocky terrain.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "treasure sense",
+ "text": "The xorn can pinpoint, by scent, the location of precious metals and stones, such as coins and gems, within 60 feet of it.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The xorn makes three claw attacks and one bite attack.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 3,
+ "dmg_die_sides": 6,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/young_black_dragon.json b/parsed/creatures/young_black_dragon.json
new file mode 100644
index 0000000..0f3ee0f
--- /dev/null
+++ b/parsed/creatures/young_black_dragon.json
@@ -0,0 +1,144 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., fly 80 ft., swim 40 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "acid",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 30 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 15,
+ "hit_die_sides": 10,
+ "name": "Young Black Dragon",
+ "type": "dragon",
+ "cr": 7.0,
+ "size": "Large",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 19,
+ "dex": 14,
+ "con": 17,
+ "int": 12,
+ "wis": 11,
+ "cha": 15
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 18
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The dragon can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "acid",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "acid breath (recharge 5\u20136)",
+ "text": "The dragon exhales acid in a 30\u00ad\u2010foot line that is 5 feet wide. Each creature in that line must make a DC 14 Dexterity saving throw, taking 49 (11d8) acid damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/young_blue_dragon.json b/parsed/creatures/young_blue_dragon.json
new file mode 100644
index 0000000..68b86d0
--- /dev/null
+++ b/parsed/creatures/young_blue_dragon.json
@@ -0,0 +1,138 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., burrow 20 ft., fly 80 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "lightning",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 30 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 16,
+ "hit_die_sides": 10,
+ "name": "Young Blue Dragon",
+ "type": "dragon",
+ "cr": 9.0,
+ "size": "Large",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 21,
+ "dex": 10,
+ "con": 19,
+ "int": 14,
+ "wis": 13,
+ "cha": 17
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 18
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10,
+ "dmg_type": "lightning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "lightning breath (recharge 5\u20136)",
+ "text": "The dragon exhales lightning in an 60-\u00ad\u2010foot line that is 5 feet wide. Each creature in that line must make a DC 16 Dexterity saving throw, taking 55 (10d10) lightning damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ }
+ ],
+ "prof": 4
+} \ No newline at end of file
diff --git a/parsed/creatures/young_brass_dragon.json b/parsed/creatures/young_brass_dragon.json
new file mode 100644
index 0000000..2ae27b2
--- /dev/null
+++ b/parsed/creatures/young_brass_dragon.json
@@ -0,0 +1,145 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., burrow 20 ft., fly 80 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 30 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Perception": 2,
+ "Persuasion": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 13,
+ "hit_die_sides": 10,
+ "name": "Young Brass Dragon",
+ "type": "dragon",
+ "cr": 6.0,
+ "size": "Large",
+ "alignment": "chaotic good",
+ "stats": {
+ "str": 19,
+ "dex": 10,
+ "con": 17,
+ "int": 12,
+ "wis": 11,
+ "cha": 15
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "breath weapons (recharge 5\u20136)",
+ "text": "The dragon uses one of the following breath weapons.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "fire breath",
+ "text": "The dragon exhales fire in a 40-foot line that is 5 feet wide. Each creature in that line must make a DC 14 Dexterity saving throw, taking 42 (12d6) fire damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "sleep breath",
+ "text": "The dragon exhales sleep gas in a 30-foot cone. Each creature in that area must succeed on a DC 14 Constitution saving throw or fall unconscious for 5 minutes. This effect ends for a creature if the creature takes damage or someone uses an action to wake it.",
+ "type": "action"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/young_bronze_dragon.json b/parsed/creatures/young_bronze_dragon.json
new file mode 100644
index 0000000..dd8f568
--- /dev/null
+++ b/parsed/creatures/young_bronze_dragon.json
@@ -0,0 +1,151 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., fly 80 ft., swim 40 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "lightning",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 30 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Insight": 1,
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 15,
+ "hit_die_sides": 10,
+ "name": "Young Bronze Dragon",
+ "type": "dragon",
+ "cr": 8.0,
+ "size": "Large",
+ "alignment": "lawful good",
+ "stats": {
+ "str": 21,
+ "dex": 10,
+ "con": 19,
+ "int": 14,
+ "wis": 13,
+ "cha": 17
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 18
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The dragon can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "breath weapons (recharge 5\u20136)",
+ "text": "The dragon uses one of the following breath weapons.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "lightning breath",
+ "text": "The dragon exhales lightning in a 60- foot line that is 5 feet wide. Each creature in that line must make a DC 15 Dexterity saving throw, taking 55 (10d10) lightning damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "repulsion breath",
+ "text": "The dragon exhales repulsion energy in a 30-foot cone. Each creature in that area must succeed on a DC 15 Strength saving throw. On a failed save, the creature is pushed 40 feet away from the dragon.",
+ "type": "action"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/young_copper_dragon.json b/parsed/creatures/young_copper_dragon.json
new file mode 100644
index 0000000..3b17ede
--- /dev/null
+++ b/parsed/creatures/young_copper_dragon.json
@@ -0,0 +1,145 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., climb 40 ft., fly 80 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "acid",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 30 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Deception": 1,
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 14,
+ "hit_die_sides": 10,
+ "name": "Young Copper Dragon",
+ "type": "dragon",
+ "cr": 7.0,
+ "size": "Large",
+ "alignment": "chaotic good",
+ "stats": {
+ "str": 19,
+ "dex": 12,
+ "con": 17,
+ "int": 16,
+ "wis": 13,
+ "cha": 15
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "breath weapons (recharge 5\u20136)",
+ "text": "The dragon uses one of the following breath weapons.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "acid breath",
+ "text": "The dragon exhales acid in an 40-foot line that is 5 feet wide. Each creature in that line must make a DC 14 Dexterity saving throw, taking 40 (9d8) acid damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "slowing breath",
+ "text": "The dragon exhales gas in a 30-foot cone. Each creature in that area must succeed on a DC 14 Constitution saving throw. On a failed save, the creature can't use reactions, its speed is halved, and it can't make more than one attack on its turn. In addition, the creature can use either an action or a bonus action on its turn, but not both. These effects last for 1 minute. The creature can repeat the saving throw at the end of each of its turns, ending the effect on itself with a successful save.",
+ "type": "action"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/young_gold_dragon.json b/parsed/creatures/young_gold_dragon.json
new file mode 100644
index 0000000..828ca6e
--- /dev/null
+++ b/parsed/creatures/young_gold_dragon.json
@@ -0,0 +1,152 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., fly 80 ft., swim 40 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 30 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Insight": 1,
+ "Perception": 2,
+ "Persuasion": 1,
+ "Stealth": 1
+ },
+ "hit_die_count": 17,
+ "hit_die_sides": 10,
+ "name": "Young Gold Dragon",
+ "type": "dragon",
+ "cr": 10.0,
+ "size": "Large",
+ "alignment": "lawful good",
+ "stats": {
+ "str": 23,
+ "dex": 14,
+ "con": 21,
+ "int": 16,
+ "wis": 13,
+ "cha": 20
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 18
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The dragon can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "breath weapons (recharge 5\u20136)",
+ "text": "The dragon uses one of the following breath weapons.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "fire breath",
+ "text": "The dragon exhales fire in a 30-foot cone. Each creature in that area must make a DC 17 Dexterity saving throw, taking 55 (10d10) fire damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "weakening breath",
+ "text": "The dragon exhales gas in a 30-foot cone. Each creature in that area must succeed on a DC 17 Strength saving throw or have disadvantage on Strength-based attack rolls, Strength checks, and Strength saving throws for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success.",
+ "type": "action"
+ }
+ ],
+ "prof": 4
+} \ No newline at end of file
diff --git a/parsed/creatures/young_green_dragon.json b/parsed/creatures/young_green_dragon.json
new file mode 100644
index 0000000..650dbe6
--- /dev/null
+++ b/parsed/creatures/young_green_dragon.json
@@ -0,0 +1,150 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., fly 80 ft., swim 40 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "blindsight 30 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Deception": 1,
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 16,
+ "hit_die_sides": 10,
+ "name": "Young Green Dragon",
+ "type": "dragon",
+ "cr": 8.0,
+ "size": "Large",
+ "alignment": "lawful evil",
+ "stats": {
+ "str": 19,
+ "dex": 12,
+ "con": 17,
+ "int": 16,
+ "wis": 13,
+ "cha": 15
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 18
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "amphibious",
+ "text": "The dragon can breathe air and water.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "poison",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "poison breath (recharge 5\u20136)",
+ "text": "The dragon exhales poisonous gas in a 30\u2010foot cone. Each creature in that area must make a DC 14 Constitution saving throw, taking 42 (12d6) poison damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/young_red_dragon.json b/parsed/creatures/young_red_dragon.json
new file mode 100644
index 0000000..09890bf
--- /dev/null
+++ b/parsed/creatures/young_red_dragon.json
@@ -0,0 +1,138 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., climb 40 ft., fly 80 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "fire",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 30 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 17,
+ "hit_die_sides": 10,
+ "name": "Young Red Dragon",
+ "type": "dragon",
+ "cr": 10.0,
+ "size": "Large",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 23,
+ "dex": 10,
+ "con": 21,
+ "int": 14,
+ "wis": 11,
+ "cha": 19
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 18
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "fire",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "fire breath (recharge 5\u20136)",
+ "text": "The dragon exhales fire in a 30\u2010foot cone. Each creature in that area 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.",
+ "type": "action"
+ }
+ ],
+ "prof": 4
+} \ No newline at end of file
diff --git a/parsed/creatures/young_silver_dragon.json b/parsed/creatures/young_silver_dragon.json
new file mode 100644
index 0000000..bddd583
--- /dev/null
+++ b/parsed/creatures/young_silver_dragon.json
@@ -0,0 +1,146 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., fly 80 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 30 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Arcana": 1,
+ "History": 1,
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 16,
+ "hit_die_sides": 10,
+ "name": "Young Silver Dragon",
+ "type": "dragon",
+ "cr": 9.0,
+ "size": "Large",
+ "alignment": "lawful good",
+ "stats": {
+ "str": 23,
+ "dex": 10,
+ "con": 21,
+ "int": 14,
+ "wis": 11,
+ "cha": 19
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 18
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "breath weapons (recharge 5\u20136)",
+ "text": "The dragon uses one of the following breath weapons.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "cold breath",
+ "text": "The dragon exhales an icy blast in a 30-foot cone. Each creature in that area must make a DC 17 Constitution saving throw, taking 54 (12d8) cold damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "paralyzing breath",
+ "text": "The dragon exhales paralyzing gas in a 30-foot cone. Each creature in that area must succeed on a DC 17 Constitution saving throw or be paralyzed for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success.",
+ "type": "action"
+ }
+ ],
+ "prof": 4
+} \ No newline at end of file
diff --git a/parsed/creatures/young_white_dragon.json b/parsed/creatures/young_white_dragon.json
new file mode 100644
index 0000000..1621cbc
--- /dev/null
+++ b/parsed/creatures/young_white_dragon.json
@@ -0,0 +1,144 @@
+{
+ "entry": "creatures",
+ "speed": "40 ft., burrow 20 ft., fly 80 ft., swim 40 ft.",
+ "saves": [
+ "dex",
+ "con",
+ "wis",
+ "cha"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "cold",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [],
+ "senses": [
+ "blindsight 30 ft.",
+ "darkvision 120 ft."
+ ],
+ "langs": "Common, Draconic",
+ "skills": {
+ "Perception": 2,
+ "Stealth": 1
+ },
+ "hit_die_count": 14,
+ "hit_die_sides": 10,
+ "name": "Young White Dragon",
+ "type": "dragon",
+ "cr": 6.0,
+ "size": "Large",
+ "alignment": "chaotic evil",
+ "stats": {
+ "str": 18,
+ "dex": 10,
+ "con": 18,
+ "int": 6,
+ "wis": 11,
+ "cha": 12
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "natural",
+ "bonus": 17
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "ice walk",
+ "text": "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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "multiattack",
+ "text": "The dragon makes three attacks: one with its bite and two with its claws.",
+ "type": "action"
+ },
+ {
+ "entry": "feature",
+ "name": "bite",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "bite",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 10,
+ "dmg_type": "piercing",
+ "is_or": false
+ },
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8,
+ "dmg_type": "cold",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "claw",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "claw",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6,
+ "dmg_type": "slashing",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ },
+ {
+ "entry": "feature",
+ "name": "cold breath (recharge 5\u20136)",
+ "text": "The dragon exhales an icy blast in a 30-foot cone. Each creature in that area must make a DC 15 Constitution saving throw, taking 45 (10d8) cold damage on a failed save, or half as much damage on a successful one.",
+ "type": "action"
+ }
+ ],
+ "prof": 3
+} \ No newline at end of file
diff --git a/parsed/creatures/zombie.json b/parsed/creatures/zombie.json
new file mode 100644
index 0000000..48aa481
--- /dev/null
+++ b/parsed/creatures/zombie.json
@@ -0,0 +1,92 @@
+{
+ "entry": "creatures",
+ "speed": "20 ft.",
+ "saves": [
+ "wis"
+ ],
+ "d_resistances": [],
+ "d_vulnerabilities": [],
+ "d_immunities": [
+ {
+ "type": "poison",
+ "qualifiers": []
+ }
+ ],
+ "c_immunities": [
+ {
+ "type": "poisoned",
+ "qualifiers": []
+ }
+ ],
+ "senses": [
+ "darkvision 60 ft."
+ ],
+ "langs": "understands the languages it knew in life but can't speak",
+ "skills": {},
+ "hit_die_count": 3,
+ "hit_die_sides": 8,
+ "name": "Zombie",
+ "type": "undead",
+ "cr": 0.25,
+ "size": "Medium",
+ "alignment": "neutral evil",
+ "stats": {
+ "str": 13,
+ "dex": 6,
+ "con": 16,
+ "int": 3,
+ "wis": 6,
+ "cha": 5
+ },
+ "inventory": [],
+ "observant": false,
+ "givenName": "NAME",
+ "hpMax": -1,
+ "hp": -1,
+ "natural_armor": {
+ "name": "",
+ "bonus": 0
+ },
+ "text": "",
+ "features": [
+ {
+ "entry": "feature",
+ "name": "undead fortitude",
+ "text": "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.",
+ "type": "feature"
+ },
+ {
+ "entry": "feature",
+ "name": "slam",
+ "text": "",
+ "type": "attack",
+ "attack": {
+ "entry": "item",
+ "type": "weapons",
+ "name": "slam",
+ "cost": -1,
+ "damage": [
+ {
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6,
+ "dmg_type": "bludgeoning",
+ "is_or": false
+ }
+ ],
+ "weight": -1.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "unknown",
+ "text": ".",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+ }
+ }
+ ],
+ "prof": 2
+} \ No newline at end of file
diff --git a/parsed/spells/acid_arrow.json b/parsed/spells/acid_arrow.json
new file mode 100644
index 0000000..acaf613
--- /dev/null
+++ b/parsed/spells/acid_arrow.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "acid arrow",
+ "level": 2,
+ "type": "evocation",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "90 feet",
+ "components": "V, S, M (powdered rhubarb leaf and an adder\u2019s stomach)",
+ "duration": "Instantaneous",
+ "text": "A shimmering green arrow streaks toward a target within range and bursts in a spray of acid. Make a ranged spell attack against the target. On a hit, the target takes 4d4 acid damage immediately and 2d4 acid damage at the end of its next turn. On a miss, the arrow splashes the target with acid for half as much of the initial damage and no damage at the end of its next turn. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 3rd level or higher, the damage (both initial and later) increases by 1d4 for each slot level above 2nd."
+} \ No newline at end of file
diff --git a/parsed/spells/acid_splash.json b/parsed/spells/acid_splash.json
new file mode 100644
index 0000000..377adc6
--- /dev/null
+++ b/parsed/spells/acid_splash.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "acid splash",
+ "level": 0,
+ "type": "conjuration",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "You hurl a bubble of acid. Choose one creature within range, or choose two creatures within range that are within 5 feet of each other. A target must succeed on a Dexterity saving throw or take 1d6 acid damage. \n\nThis spell\u2019s damage increases by 1d6 when you reach 5th level (2d6), 11th level (3d6), and 17th level (4d6)."
+} \ No newline at end of file
diff --git a/parsed/spells/aid.json b/parsed/spells/aid.json
new file mode 100644
index 0000000..67414f1
--- /dev/null
+++ b/parsed/spells/aid.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "aid",
+ "level": 2,
+ "type": "abjuration",
+ "classes": [
+ "cleric",
+ "paladin"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S, M (a tiny strip of white cloth)",
+ "duration": "8 hours",
+ "text": "Your spell bolsters your allies with toughness and resolve. Choose up to three creatures within range. Each target's hit point maximum and current hit points increase by 5 for the duration. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 3rd level or higher, a target's hit points increase by an additional 5 for each slot level above 2nd."
+} \ No newline at end of file
diff --git a/parsed/spells/alarm.json b/parsed/spells/alarm.json
new file mode 100644
index 0000000..4ec6b85
--- /dev/null
+++ b/parsed/spells/alarm.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "alarm",
+ "level": 1,
+ "type": "abjuration",
+ "classes": [
+ "ranger",
+ "wizard"
+ ],
+ "casting_time": "1 minute",
+ "range": "30 feet",
+ "components": "V, S, M (a tiny bell and a piece of fine silver wire)",
+ "duration": "8 hours",
+ "text": "You set an alarm against unwanted intrusion. Choose a door, a window, or an area within range that is no larger than a 20-foot cube. Until the spell ends, an alarm alerts you whenever a Tiny or larger creature touches or enters the warded area. When you cast the spell, you can designate creatures that won't set off the alarm. You also choose whether the alarm is mental or audible. \nA mental alarm alerts you with a ping in your mind if you are within 1 mile of the warded area. This ping awakens you if you are sleeping. \nAn audible alarm produces the sound of a hand bell for 10 seconds within 60 feet."
+} \ No newline at end of file
diff --git a/parsed/spells/alter_self.json b/parsed/spells/alter_self.json
new file mode 100644
index 0000000..8b4463a
--- /dev/null
+++ b/parsed/spells/alter_self.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "alter self",
+ "level": 2,
+ "type": "transmutation",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 hour",
+ "text": "You assume a different form. When you cast the spell, choose one of the following options, the effects of which last for the duration of the spell. While the spell lasts, you can end one option as an action to gain the benefits of a different one. \n**Aquatic Adaptation.** You adapt your body to an aquatic environment, sprouting gills and growing webbing between your fingers. You can breathe underwater and gain a swimming speed equal to your walking speed. \n**Change Appearance.** You transform your appearance. You decide what you look like, including your height, weight, facial features, sound of your voice, hair length, coloration, and distinguishing characteristics, if any. You can make yourself appear as a member of another race, though none of your statistics change. You also can't appear as a creature of a different size than you, and your basic shape stays the same; if you're bipedal, you can't use this spell to become quadrupedal, for instance. At any time for the duration of the spell, you can use your action to change your appearance in this way again. \n**Natural Weapons.** You grow claws, fangs, spines, horns, or a different natural weapon of your choice. Your unarmed strikes deal 1d6 bludgeoning, piercing, or slashing damage, as appropriate to the natural weapon you chose, and you are proficient with your unarmed strikes. Finally, the natural weapon is magic and you have a +1 bonus to the attack and damage rolls you make using it."
+} \ No newline at end of file
diff --git a/parsed/spells/animal_friendship.json b/parsed/spells/animal_friendship.json
new file mode 100644
index 0000000..0a59af9
--- /dev/null
+++ b/parsed/spells/animal_friendship.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "animal friendship",
+ "level": 1,
+ "type": "enchantment",
+ "classes": [
+ "bard",
+ "druid",
+ "ranger"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S, M (a morsel of food)",
+ "duration": "24 hours",
+ "text": "This spell lets you convince a beast that you mean it no harm. Choose a beast that you can see within range. It must see and hear you. If the beast's Intelligence is 4 or higher, the spell fails. Otherwise, the beast must succeed on a Wisdom saving throw or be charmed by you for the spell's duration. If you or one of your companions harms the target, the spells ends. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 2nd level or higher, you can affect one additional beast t level above 1st."
+} \ No newline at end of file
diff --git a/parsed/spells/animal_messenger.json b/parsed/spells/animal_messenger.json
new file mode 100644
index 0000000..ead1a93
--- /dev/null
+++ b/parsed/spells/animal_messenger.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "animal messenger",
+ "level": 2,
+ "type": "enchantment",
+ "classes": [
+ "bard",
+ "druid",
+ "ranger"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S, M (a morsel of food)",
+ "duration": "24 hours",
+ "text": "By means of this spell, you use an animal to deliver a message. Choose a Tiny beast you can see within range, such as a squirrel, a blue jay, or a bat. You specify a location, which you must have visited, and a recipient who matches a general description, such as \"a man or woman dressed in the uniform of the town guard\" or \"a red-haired dwarf wearing a pointed hat.\" You also speak a message of up to twenty-five words. The target beast travels for the duration of the spell toward the specified location, covering about 50 miles per 24 hours for a flying messenger, or 25 miles for other animals. \nWhen the messenger arrives, it delivers your message to the creature that you described, replicating the sound of your voice. The messenger speaks only to a creature matching the description you gave. If the messenger doesn't reach its destination before the spell ends, the message is lost, and the beast makes its way back to where you cast this spell. \n\n**At Higher Levels.** If you cast this spell using a spell slot of 3nd level or higher, the duration of the spell increases by 48 hours for each slot level above 2nd."
+} \ No newline at end of file
diff --git a/parsed/spells/animal_shapes.json b/parsed/spells/animal_shapes.json
new file mode 100644
index 0000000..e9c27e9
--- /dev/null
+++ b/parsed/spells/animal_shapes.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "animal shapes",
+ "level": 8,
+ "type": "transmutation",
+ "classes": [
+ "druid"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 24 hours",
+ "text": "Your magic turns others into beasts. Choose any number of willing creatures that you can see within range. You transform each target into the form of a Large or smaller beast with a challenge rating of 4 or lower. On subsequent turns, you can use your action to transform affected creatures into new forms. \nThe transformation lasts for the duration for each target, or until the target drops to 0 hit points or dies. You can choose a different form for each target. A target's game statistics are replaced by the statistics of the chosen beast, though the target retains its alignment and Intelligence, Wisdom, and Charisma scores. The target assumes the hit points of its new form, and when it reverts to its normal form, it returns to the number of hit points it had before it transformed. If it reverts as a result of dropping to 0 hit points, any excess damage carries over to its normal form. As long as the excess damage doesn't reduce the creature's normal form to 0 hit points, it isn't knocked unconscious. The creature is limited in the actions it can perform by the nature of its new form, and it can't speak or cast spells. \nThe target's gear melds into the new form. The target can't activate, wield, or otherwise benefit from any of its equipment."
+} \ No newline at end of file
diff --git a/parsed/spells/animate_dead.json b/parsed/spells/animate_dead.json
new file mode 100644
index 0000000..a55c8ce
--- /dev/null
+++ b/parsed/spells/animate_dead.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "animate dead",
+ "level": 3,
+ "type": "necromancy",
+ "classes": [
+ "cleric",
+ "wizard"
+ ],
+ "casting_time": "1 minute",
+ "range": "10 feet",
+ "components": "V, S, M (a drop of blood, a piece of flesh, and a pinch of bone dust)",
+ "duration": "Instantaneous",
+ "text": "This spell creates an undead servant. Choose a pile of bones or a corpse of a Medium or Small humanoid within range. Your spell imbues the target with a foul mimicry of life, raising it as an undead creature. The target becomes a skeleton if you chose bones or a zombie if you chose a corpse (the GM has the creature's game statistics). \nOn each of your turns, you can use a bonus action to mentally command any creature you made with this spell if the creature is within 60 feet of you (if you control multiple creatures, you can command any or all of them at the same time, issuing the same command to each one). You decide what action the creature will take and where it will move during its next turn, or you can issue a general command, such as to guard a particular chamber or corridor. If you issue no commands, the creature only defends itself against hostile creatures. Once given an order, the creature continues to follow it until its task is complete. \nThe creature is under your control for 24 hours, after which it stops obeying any command you've given it. To maintain control of the creature for another 24 hours, you must cast this spell on the creature again before the current 24-hour period ends. This use of the spell reasserts your control over up to four creatures you have animated with this spell, rather than animating a new one. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 4th level or higher, you animate or reassert control over two additional undead creatures for each slot level above 3rd. Each of the creatures must come from a different corpse or pile of bones."
+} \ No newline at end of file
diff --git a/parsed/spells/animate_objects.json b/parsed/spells/animate_objects.json
new file mode 100644
index 0000000..89c605e
--- /dev/null
+++ b/parsed/spells/animate_objects.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "animate objects",
+ "level": 5,
+ "type": "transmutation",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 minute",
+ "text": "Objects come to life at your command. Choose up to ten nonmagical objects within range that are not being worn or carried. Medium targets count as two objects, Large targets count as four objects, Huge targets count as eight objects. You can't animate any object larger than Huge. Each target animates and becomes a creature under your control until the spell ends or until reduced to 0 hit points. \nAs a bonus action, you can mentally command any creature you made with this spell if the creature is within 500 feet of you (if you control multiple creatures, you can command any or all of them at the same time, issuing the same command to each one). You decide what action the creature will take and where it will move during its next turn, or you can issue a general command, such as to guard a particular chamber or corridor. If you issue no commands, the creature only defends itself against hostile creatures. Once given an order, the creature continues to follow it until its task is complete. \n\n### Animated Object Statistics \n\n| Size | HP | AC | Str | Dex | Attack |\n|--------|----|----|-----|-----|----------------------------|\n| Tiny | 20 | 18 | 4 | 18 | +8 to hit, 1d4 + 4 damage |\n| Small | 25 | 16 | 6 | 14 | +6 to hit, 1d8 + 2 damage |\n| Medium | 40 | 13 | 10 | 12 | +5 to hit, 2d6 + 1 damage |\n| Large | 50 | 10 | 14 | 10 | +6 to hit, 2d10 + 2 damage |\n| Huge | 80 | 10 | 18 | 6 | +8 to hit, 2d12 + 4 damage |\n\nAn animated object is a construct with AC, hit points, attacks, Strength, and Dexterity determined by its size. Its Constitution is 10 and its Intelligence and Wisdom are 3, and its Charisma is 1. Its speed is 30 feet; if the object lacks legs or other appendages it can use for locomotion, it instead has a flying speed of 30 feet and can hover. If the object is securely attached to a surface or a larger object, such as a chain bolted to a wall, its speed is 0. It has blindsight with a radius of 30 feet and is blind beyond that distance. When the animated object drops to 0 hit points, it reverts to its original object form, and any remaining damage carries over to its original object form. \nIf you command an object to attack, it can make a single melee attack against a creature within 5 feet of it. It makes a slam attack with an attack bonus and bludgeoning damage determined by its size. The GM might rule that a specific object inflicts slashing or piercing damage based on its form. \n\n**At Higher Levels.** If you cast this spell using a spell slot of 6th level or higher, you can animate two additional objects for each slot level above 5th."
+} \ No newline at end of file
diff --git a/parsed/spells/antilife_shell.json b/parsed/spells/antilife_shell.json
new file mode 100644
index 0000000..a99eb30
--- /dev/null
+++ b/parsed/spells/antilife_shell.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "antilife shell",
+ "level": 5,
+ "type": "abjuration",
+ "classes": [
+ "druid"
+ ],
+ "casting_time": "1 action",
+ "range": "Self (10-foot radius)",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 hour",
+ "text": "A shimmering barrier extends out from you in a 10- foot radius and moves with you, remaining centered on you and hedging out creatures other than undead and constructs. The barrier lasts for the duration. \nThe barrier prevents an affected creature from passing or reaching through. An affected creature can cast spells or make attacks with ranged or reach weapons through the barrier. \nIf you move so that an affected creature is forced to pass through the barrier, the spell ends."
+} \ No newline at end of file
diff --git a/parsed/spells/antimagic_field.json b/parsed/spells/antimagic_field.json
new file mode 100644
index 0000000..31557ab
--- /dev/null
+++ b/parsed/spells/antimagic_field.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "antimagic field",
+ "level": 8,
+ "type": "abjuration",
+ "classes": [
+ "cleric",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self (10-foot-radius sphere)",
+ "components": "V, S, M (a pinch of powdered iron or iron filings)",
+ "duration": "Concentration, up to 1 hour",
+ "text": "A 10-foot-radius invisible sphere of antimagic surrounds you. This area is divorced from the magical energy that suffuses the multiverse. Within the sphere, spells can\u0081ft be cast, summoned creatures disappear, and even magic items become mundane. Until the spell ends, the sphere moves with you, centered on you. \nSpells and other magical effects, except those created by an artifact or a deity, are suppressed in the sphere and can't protrude into it. A slot expended to cast a suppressed spell is consumed. While an effect is suppressed, it doesn't function, but the time it spends suppressed counts against its duration. \n**Targeted Effects.** Spells and other magical effects, such as **_magic missile_** and **_charm person_**, that target a creature or an object in the sphere have no effect on that target. \n**Areas of Magic.** The area of another spell or magical effect, such as **_fireball_**, can't extend into the sphere. If the sphere overlaps an area of magic, the part of the area that is covered by the sphere is suppressed. For example, the flames created by a **_wall of fire_** are suppressed within the sphere, creating a gap in the wall if the overlap is large enough. \n**Spells.** Any active spell or other magical effect on a creature or an object in the sphere is suppressed while the creature or object is in it. \n**Magic Items.** The properties and powers of magic items are suppressed in the sphere. For example, a **+1 longsword** in the sphere functions as a nonmagical longsword. \nA magic weapon's properties and powers are suppressed if it is used against a target in the sphere or wielded by an attacker in the sphere. If a magic weapon or a piece of magic ammunition fully leaves the sphere (for example, if you fire a magic arrow or throw a magic spear at a target outside the sphere), the magic of the item ceases to be suppressed as soon as it exits. \n**Magical Travel.** Teleportation and planar travel fail to work in the sphere, whether the sphere is the destination or the departure point for such magical travel. A portal to another location, world, or plane of existence, as well as an opening to an extradimensional space such as that created by the **_rope trick_** spell, temporarily closes while in the sphere. \n**Creatures and Objects.** A creature or object summoned or created by magic temporarily winks out of existence in the sphere. Such a creature instantly reappears once the space the creature occupied is no longer within the sphere. \n**Dispel Magic.** Spells and magical effects such as **_dispel magic_** have no effect on the sphere. Likewise, the spheres created by different **_antimagic field_** spells don't nullify each other."
+} \ No newline at end of file
diff --git a/parsed/spells/antipathysympathy.json b/parsed/spells/antipathysympathy.json
new file mode 100644
index 0000000..a695e42
--- /dev/null
+++ b/parsed/spells/antipathysympathy.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "antipathy/sympathy",
+ "level": 8,
+ "type": "enchantment",
+ "classes": [
+ "druid",
+ "wizard"
+ ],
+ "casting_time": "1 hour",
+ "range": "60 feet",
+ "components": "V, S, M (either a lump of alum soaked in vinegar for the **antipathy** effect or a drop of honey for the **sympathy** effect)",
+ "duration": "10 days",
+ "text": "This spell attracts or repels creatures of your choice. You target something within range, either a Huge or smaller object or creature or an area that is no larger than a 200-foot cube. Then specify a kind of intelligent creature, such as red dragons, goblins, or vampires. You invest the target with an aura that either attracts or repels the specified creatures for the duration. Choose antipathy or sympathy as the aura's effect. \n**Antipathy.** The enchantment causes creatures of the kind you designated to feel an intense urge to leave the area and avoid the target. When such a creature can see the target or comes within 60 feet of it, the creature must succeed on a Wisdom saving throw or become frightened. The creature remains frightened while it can see the target or is within 60 feet of it. While frightened by the target, the creature must use its movement to move to the nearest safe spot from which it can't see the target. If the creature moves more than 60 feet from the target and can't see it, the creature is no longer frightened, but the creature becomes frightened again if it regains sight of the target or moves within 60 feet of it. \n**Sympathy.** The enchantment causes the specified creatures to feel an intense urge to approach the target while within 60 feet of it or able to see it. When such a creature can see the target or comes within 60 feet of it, the creature must succeed on a Wisdom saving throw or use its movement on each of its turns to enter the area or move within reach of the target. When the creature has done so, it can't willingly move away from the target. \nIf the target damages or otherwise harms an affected creature, the affected creature can make a Wisdom saving throw to end the effect, as described below. \n**Ending the Effect.** If an affected creature ends its turn while not within 60 feet of the target or able to see it, the creature makes a Wisdom saving throw. On a successful save, the creature is no longer affected by the target and recognizes the feeling of repugnance or attraction as magical. In addition, a creature affected by the spell is allowed another Wisdom saving throw every 24 hours while the spell persists. \nA creature that successfully saves against this effect is immune to it for 1 minute, after which time it can be affected again."
+} \ No newline at end of file
diff --git a/parsed/spells/arcane_eye.json b/parsed/spells/arcane_eye.json
new file mode 100644
index 0000000..94174a5
--- /dev/null
+++ b/parsed/spells/arcane_eye.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "arcane eye",
+ "level": 4,
+ "type": "divination",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S, M (a bit of bat fur)",
+ "duration": "Concentration, up to 1 hour",
+ "text": "You create an invisible, magical eye within range that hovers in the air for the duration. \nYou mentally receive visual information from the eye, which has normal vision and darkvision out to 30 feet. The eye can look in every direction. \nAs an action, you can move the eye up to 30 feet in any direction. There is no limit to how far away from you the eye can move, but it can't enter another plane of existence. A solid barrier blocks the eye's movement, but the eye can pass through an opening as small as 1 inch in diameter."
+} \ No newline at end of file
diff --git a/parsed/spells/arcane_hand.json b/parsed/spells/arcane_hand.json
new file mode 100644
index 0000000..8871605
--- /dev/null
+++ b/parsed/spells/arcane_hand.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "arcane hand",
+ "level": 5,
+ "type": "evocation",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S, M (an eggshell and a snakeskin glove)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You create a Large hand of shimmering, translucent force in an unoccupied space that you can see within range. The hand lasts for the spell's duration, and it moves at your command, mimicking the movements of your own hand. \nThe hand is an object that has AC 20 and hit points equal to your hit point maximum. If it drops to 0 hit points, the spell ends. It has a Strength of 26 (+8) and a Dexterity of 10 (+0). The hand doesn't fill its space. \nWhen you cast the spell and as a bonus action on your subsequent turns, you can move the hand up to 60 feet and then cause one of the following effects with it. \n**Clenched Fist.** The hand strikes one creature or object within 5 feet of it. Make a melee spell attack for the hand using your game statistics. On a hit, the target takes 4d8 force damage. \n**Forceful Hand.** The hand attempts to push a creature within 5 feet of it in a direction you choose. Make a check with the hand's Strength contested by the Strength (Athletics) check of the target. If the target is Medium or smaller, you have advantage on the check. If you succeed, the hand pushes the target up to 5 feet plus a number of feet equal to five times your spellcasting ability modifier. The hand moves with the target to remain within 5 feet of it. \n**Grasping Hand.** The hand attempts to grapple a Huge or smaller creature within 5 feet of it. You use the hand's Strength score to resolve the grapple. If the target is Medium or smaller, you have advantage on the check. While the hand is grappling the target, you can use a bonus action to have the hand crush it. When you do so, the target takes bludgeoning damage equal to 2d6 + your spellcasting ability modifier. \n**Interposing Hand.** The hand interposes itself between you and a creature you choose until you give the hand a different command. The hand moves to stay between you and the target, providing you with half cover against the target. The target can't move through the hand's space if its Strength score is less than or equal to the hand's Strength score. If its Strength score is higher than the hand's Strength score, the target can move toward you through the hand's space, but that space is difficult terrain for the target. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 6th level or higher, the damage from the clenched fist option increases by 2d8 and the damage from the grasping hand increases by 2d6 for each slot level above 5th."
+} \ No newline at end of file
diff --git a/parsed/spells/arcane_lock.json b/parsed/spells/arcane_lock.json
new file mode 100644
index 0000000..06a615e
--- /dev/null
+++ b/parsed/spells/arcane_lock.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "arcane lock",
+ "level": 2,
+ "type": "abjuration",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (gold dust worth at least 25 gp, which the spell consumes)",
+ "duration": "Until dispelled",
+ "text": "You touch a closed door, window, gate, chest, or other entryway, and it becomes locked for the duration. You and the creatures you designate when you cast this spell can open the object normally. You can also set a password that, when spoken within 5 feet of the object, suppresses this spell for 1 minute. Otherwise, it is impassable until it is broken or the spell is dispelled or suppressed. Casting **_knock_** on the object suppresses **_arcane lock_** for 10 minutes. \nWhile affected by this spell, the object is more difficult to break or force open; the DC to break it or pick any locks on it increases by 10."
+} \ No newline at end of file
diff --git a/parsed/spells/arcane_sword.json b/parsed/spells/arcane_sword.json
new file mode 100644
index 0000000..f71efe3
--- /dev/null
+++ b/parsed/spells/arcane_sword.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "arcane sword",
+ "level": 7,
+ "type": "evocation",
+ "classes": [
+ "bard",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S, M (a miniature platinum sword with a grip and pommel of copper and zinc, worth 250 gp)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You create a sword-shaped plane of force that hovers within range. It lasts for the duration. \nWhen the sword appears, you make a melee spell attack against a target of your choice within 5 feet of the sword. On a hit, the target takes 3d10 force damage. Until the spell ends, you can use a bonus action on each of your turns to move the sword up to 20 feet to a spot you can see and repeat this attack against the same target or a different one."
+} \ No newline at end of file
diff --git a/parsed/spells/arcanist's_magic_aura.json b/parsed/spells/arcanist's_magic_aura.json
new file mode 100644
index 0000000..b596eea
--- /dev/null
+++ b/parsed/spells/arcanist's_magic_aura.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "arcanist's magic aura",
+ "level": 2,
+ "type": "illusion",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (a small square of silk)",
+ "duration": "24 hours",
+ "text": "You place an illusion on a creature or an object you touch so that divination spells reveal false information about it. The target can be a willing creature or an object that isn't being carried or worn by another creature. \nWhen you cast the spell, choose one or both of the following effects. The effect lasts for the duration. If you cast this spell on the same creature or object every day for 30 days, placing the same effect on it each time, the illusion lasts until it is dispelled. \n**False Aura.** You change the way the target appears to spells and magical effects, such as **_detect magic_**, that detect magical auras. You can make a nonmagical object appear magical, a magical object appear nonmagical, or change the object's magical aura so that it appears to belong to a specific school of magic that you choose. When you use this effect on an object, you can make the false magic apparent to any creature that handles the item. \n**Mask.** You change the way the target appears to spells and magical effects that detect creature types, such as a paladin's Divine Sense or the trigger of a **_symbol_** spell. You choose a creature type and other spells and magical effects treat the target as if it were a creature of that type or of that alignment."
+} \ No newline at end of file
diff --git a/parsed/spells/astral_projection.json b/parsed/spells/astral_projection.json
new file mode 100644
index 0000000..f7a2a0f
--- /dev/null
+++ b/parsed/spells/astral_projection.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "astral projection",
+ "level": 9,
+ "type": "necromancy",
+ "classes": [
+ "cleric",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 hour",
+ "range": "10 feet",
+ "components": "V, S, M (for each creature you affect with this spell, you must provide one jacinth worth at least 1,000 gp and one ornately carved bar of silver worth at least 100 gp, all of which the spell consumes)",
+ "duration": "Special",
+ "text": "You and up to eight willing creatures within range project your astral bodies into the Astral Plane (the spell fails and the casting is wasted if you are already on that plane). The material body you leave behind is unconscious and in a state of suspended animation; it doesn't need food or air and doesn't age. \nYour astral body resembles your mortal form in almost every way, replicating your game statistics and possessions. The principal difference is the addition of a silvery cord that extends from between your shoulder blades and trails behind you, fading to invisibility after 1 foot. This cord is your tether to your material body. As long as the tether remains intact, you can find your way home. If the cord is cut--something that can happen only when an effect specifically states that it does--your soul and body are separated, killing you instantly. \nYour astral form can freely travel through the Astral Plane and can pass through portals there leading to any other plane. If you enter a new plane or return to the plane you were on when casting this spell, your body and possessions are transported along the silver cord, allowing you to re-enter your body as you enter the new plane. Your astral form is a separate incarnation. Any damage or other effects that apply to it have no effect on your physical body, nor do they persist when you return to it. \nThe spell ends for you and your companions when you use your action to dismiss it. When the spell ends, the affected creature returns to its physical body, and it awakens. \nThe spell might also end early for you or one of your companions. A successful **_dispel magic_** spell used against an astral or physical body ends the spell for that creature. If a creature's original body or its astral form drops to 0 hit points, the spell ends for that creature. If the spell ends and the silver cord is intact, the cord pulls the creature's astral form back to its body, ending its state of suspended animation. \nIf you are returned to your body prematurely, your companions remain in their astral forms and must find their own way back to their bodies, usually by dropping to 0 hit points."
+} \ No newline at end of file
diff --git a/parsed/spells/augury.json b/parsed/spells/augury.json
new file mode 100644
index 0000000..6fb6f4d
--- /dev/null
+++ b/parsed/spells/augury.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "augury",
+ "level": 2,
+ "type": "divination",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "1 minute",
+ "range": "Self",
+ "components": "V, S, M (specially marked sticks, bones, or similar tokens worth at least 25 gp)",
+ "duration": "Instantaneous",
+ "text": "By casting gem-inlaid sticks, rolling dragon bones, laying out ornate cards, or employing some other divining tool, you receive an omen from an otherworldly entity about the results of a specific course of action that you plan to take within the next 30 minutes. The GM chooses from the following possible omens:\n\n* **Weal**, for good results\n* **Woe**, for bad results\n* **Weal and woe**, for both good and bad results\n* **Nothing**, for results that aren't especially good or bad \n\nThe spell doesn't take into account any possible circumstances that might change the outcome, such as the casting of additional spells or the loss or gain of a companion. \nIf you cast the spell two or more times before completing your next long rest, there is a cumulative 25 percent chance for each casting after the first that you get a random reading. The GM makes this roll in secret."
+} \ No newline at end of file
diff --git a/parsed/spells/awaken.json b/parsed/spells/awaken.json
new file mode 100644
index 0000000..f9fb646
--- /dev/null
+++ b/parsed/spells/awaken.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "awaken",
+ "level": 5,
+ "type": "transmutation",
+ "classes": [
+ "bard",
+ "druid"
+ ],
+ "casting_time": "8 hours",
+ "range": "Touch",
+ "components": "V, S, M (an agate worth at least 1,000 gp, which the spell consumes)",
+ "duration": "Instantaneous",
+ "text": "After spending the casting time tracing magical pathways within a precious gemstone, you touch a Huge or smaller beast or plant. The target must have either no Intelligence score or an Intelligence of 3 or less. The target gains an Intelligence of 10. The target also gains the ability to speak one language you know. If the target is a plant, it gains the ability to move its limbs, roots, vines, creepers, and so forth, and it gains senses similar to a human's. Your GM chooses statistics appropriate for the awakened plant, such as the statistics for the awakened shrub or the awakened tree. \nThe awakened beast or plant is charmed by you for 30 days or until you or your companions do anything harmful to it. When the charmed condition ends, the awakened creature chooses whether to remain friendly to you, based on how you treated it while it was charmed."
+} \ No newline at end of file
diff --git a/parsed/spells/bane.json b/parsed/spells/bane.json
new file mode 100644
index 0000000..bf57da5
--- /dev/null
+++ b/parsed/spells/bane.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "bane",
+ "level": 1,
+ "type": "enchantment",
+ "classes": [
+ "bard",
+ "cleric"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S, M (a drop of blood)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "Up to three creatures of your choice that you can see within range must make Charisma saving throws. Whenever a target that fails this saving throw makes an attack roll or a saving throw before the spell ends, the target must roll a d4 and subtract the number rolled from the attack roll or saving throw. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 2nd level or higher, you can target one additional creature for each slot level above 1st."
+} \ No newline at end of file
diff --git a/parsed/spells/banishment.json b/parsed/spells/banishment.json
new file mode 100644
index 0000000..7d47ca8
--- /dev/null
+++ b/parsed/spells/banishment.json
@@ -0,0 +1,18 @@
+{
+ "entry": "spells",
+ "name": "banishment",
+ "level": 4,
+ "type": "abjuration",
+ "classes": [
+ "paladin",
+ "cleric",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S, M (an item distasteful to the target)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You attempt to send one creature that you can see within range to another plane of existence. The target must succeed on a Charisma saving throw or be banished. \nIf the target is native to the plane of existence you're on, you banish the target to a harmless demiplane. While there, the target is incapacitated. The target remains there until the spell ends, at which point the target reappears in the space it left or in the nearest unoccupied space if that space is occupied. \nIf the target is native to a different plane of existence than the one you're on, the target is banished with a faint popping noise, returning to its home plane. If the spell ends before 1 minute has passed, the target reappears in the space it left or in the nearest unoccupied space if that space is occupied. Otherwise, the target doesn't return. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 5th level or higher, you can target one additional creature for each slot level above 4th."
+} \ No newline at end of file
diff --git a/parsed/spells/barkskin.json b/parsed/spells/barkskin.json
new file mode 100644
index 0000000..38feb7c
--- /dev/null
+++ b/parsed/spells/barkskin.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "barkskin",
+ "level": 2,
+ "type": "transmutation",
+ "classes": [
+ "druid",
+ "ranger"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (a handful of oak bark)",
+ "duration": "Concentration, up to 1 hour",
+ "text": "You touch a willing creature. Until the spell ends, the target's skin has a rough, bark-like appearance, and the target's AC can't be less than 16, regardless of what kind of armor it is wearing."
+} \ No newline at end of file
diff --git a/parsed/spells/beacon_of_hope.json b/parsed/spells/beacon_of_hope.json
new file mode 100644
index 0000000..10ac867
--- /dev/null
+++ b/parsed/spells/beacon_of_hope.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "beacon of hope",
+ "level": 3,
+ "type": "abjuration",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 minute",
+ "text": "This spell bestows hope and vitality. Choose any number of creatures within range. For the duration, each target has advantage on Wisdom saving throws and death saving throws, and regains the maximum number of hit points possible from any healing."
+} \ No newline at end of file
diff --git a/parsed/spells/bestow_curse.json b/parsed/spells/bestow_curse.json
new file mode 100644
index 0000000..5a43a97
--- /dev/null
+++ b/parsed/spells/bestow_curse.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "bestow curse",
+ "level": 3,
+ "type": "necromancy",
+ "classes": [
+ "bard",
+ "cleric",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You touch a creature, and that creature must succeed on a Wisdom saving throw or become cursed for the duration of the spell. When you cast this spell, choose the nature of the curse from the following options:\n\n* Choose one ability score. While cursed, the target has disadvantage on ability checks and saving throws made with that ability score.\n* While cursed, the target has disadvantage on attack rolls against you.\n* While cursed, the target must make a Wisdom saving throw at the start of each of its turns. If it fails, it wastes its action that turn doing nothing. \n* While the target is cursed, your attacks and spells deal an extra 1d8 necrotic damage to the target. \n\nA **_remove curse_** spell ends this effect. At the GM's option, you may choose an alternative curse effect, but it should be no more powerful than those described above. The GM has final say on such a curse's effect. \n\n**At Higher Levels.** If you cast this spell using a spell slot of 4th level or higher, the duration is concentration, up to 10 minutes. If you use a spell slot of 5th level or higher, the duration is 8 hours. If you use a spell slot of 7th level or higher, the duration is 24 hours. If you use a 9th level spell slot, the spell lasts until it is dispelled. Using a spell slot of 5th level or higher grants a duration that doesn't require concentration."
+} \ No newline at end of file
diff --git a/parsed/spells/black_tentacles.json b/parsed/spells/black_tentacles.json
new file mode 100644
index 0000000..1bac231
--- /dev/null
+++ b/parsed/spells/black_tentacles.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "black tentacles",
+ "level": 4,
+ "type": "conjuration",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "90 feet",
+ "components": "V, S, M (a piece of tentacle from a giant octopus or a giant squid)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "Squirming, ebony tentacles fill a 20-foot square on ground that you can see within range. For the duration, these tentacles turn the ground in the area into difficult terrain. \nWhen a creature enters the affected area for the first time on a turn or starts its turn there, the creature must succeed on a Dexterity saving throw or take 3d6 bludgeoning damage and be restrained by the tentacles until the spell ends. A creature that starts its turn in the area and is already restrained by the tentacles takes 3d6 bludgeoning damage. \nA creature restrained by the tentacles can use its action to make a Strength or Dexterity check (its choice) against your spell save DC. On a success, it frees itself."
+} \ No newline at end of file
diff --git a/parsed/spells/blade_barrier.json b/parsed/spells/blade_barrier.json
new file mode 100644
index 0000000..8c21b0d
--- /dev/null
+++ b/parsed/spells/blade_barrier.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "blade barrier",
+ "level": 6,
+ "type": "evocation",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "1 action",
+ "range": "90 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "You create a vertical wall of whirling, razor-sharp blades made of magical energy. The wall appears within range and lasts for the duration. You can make a straight wall up to 100 feet long, 20 feet high, and 5 feet thick, or a ringed wall up to 60 feet in diameter, 20 feet high, and 5 feet thick. The wall provides three-quarters cover to creatures behind it, and its space is difficult terrain. \nWhen a creature enters the wall's area for the first time on a turn or starts its turn there, the creature must make a Dexterity saving throw. On a failed save, the creature takes 6d10 slashing damage. On a successful save, the creature takes half as much damage."
+} \ No newline at end of file
diff --git a/parsed/spells/bless.json b/parsed/spells/bless.json
new file mode 100644
index 0000000..4854ba4
--- /dev/null
+++ b/parsed/spells/bless.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "bless",
+ "level": 1,
+ "type": "enchantment",
+ "classes": [
+ "cleric",
+ "paladin"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S, M (a sprinkling of holy water)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You bless up to three creatures of your choice within range. Whenever a target makes an attack roll or a saving throw before the spell ends, the target can roll a d4 and add the number rolled to the attack roll or saving throw. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 2nd level or higher, you can target one additional creature for each slot level above 1st."
+} \ No newline at end of file
diff --git a/parsed/spells/blight.json b/parsed/spells/blight.json
new file mode 100644
index 0000000..c102108
--- /dev/null
+++ b/parsed/spells/blight.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "blight",
+ "level": 4,
+ "type": "necromancy",
+ "classes": [
+ "druid",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "Necromantic energy washes over a creature of your choice that you can see within range, draining moisture and vitality from it. The target must make a Constitution saving throw. The target takes 8d8 necrotic damage on a failed save, or half as much damage on a successful one. This spell has no effect on undead or constructs. \nIf you target a plant creature or a magical plant, it makes the saving throw with disadvantage, and the spell deals maximum damage to it. \nIf you target a nonmagical plant that isn't a creature, such as a tree or shrub, it doesn't make a saving throw; it simply withers and dies. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 5th level or higher, the damage increases by 1d8 for each slot level above 4th."
+} \ No newline at end of file
diff --git a/parsed/spells/blindnessdeafness.json b/parsed/spells/blindnessdeafness.json
new file mode 100644
index 0000000..d7a187e
--- /dev/null
+++ b/parsed/spells/blindnessdeafness.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "blindness/deafness",
+ "level": 2,
+ "type": "necromancy",
+ "classes": [
+ "bard",
+ "cleric",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V",
+ "duration": "1 minute",
+ "text": "You can blind or deafen a foe. Choose one creature that you can see within range to make a Constitution saving throw. If it fails, the target is either blinded or deafened (your choice) for the duration. At the end of each of its turns, the target can make a Constitution saving throw. On a success, the spell ends. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 3rd level or higher, you can target one additional creature for each slot level above 2nd."
+} \ No newline at end of file
diff --git a/parsed/spells/blink.json b/parsed/spells/blink.json
new file mode 100644
index 0000000..272aad2
--- /dev/null
+++ b/parsed/spells/blink.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "blink",
+ "level": 3,
+ "type": "transmutation",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S",
+ "duration": "1 minute",
+ "text": "Roll a d20 at the end of each of your turns for the duration of the spell. On a roll of 11 or higher, you vanish from your current plane of existence and appear in the Ethereal Plane (the spell fails and the casting is wasted if you were already on that plane). At the start of your next turn, and when the spell ends if you are on the Ethereal Plane, you return to an unoccupied space of your choice that you can see within 10 feet of the space you vanished from. If no unoccupied space is available within that range, you appear in the nearest unoccupied space (chosen at random if more than one space is equally near). You can dismiss this spell as an action. \nWhile on the Ethereal Plane, you can see and hear the plane you originated from, which is cast in shades of gray, and you can't see anything there more than 60 feet away. You can only affect and be affected by other creatures on the Ethereal Plane. Creatures that aren't there can't perceive you or interact with you, unless they have the ability to do so."
+} \ No newline at end of file
diff --git a/parsed/spells/blur.json b/parsed/spells/blur.json
new file mode 100644
index 0000000..60bf3b5
--- /dev/null
+++ b/parsed/spells/blur.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "blur",
+ "level": 2,
+ "type": "illusion",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V",
+ "duration": "Concentration, up to 1 minute",
+ "text": "Your body becomes blurred, shifting and wavering to all who can see you. For the duration, any creature has disadvantage on attack rolls against you. An attacker is immune to this effect if it doesn't rely on sight, as with blindsight, or can see through illusions, as with truesight."
+} \ No newline at end of file
diff --git a/parsed/spells/branding_smite.json b/parsed/spells/branding_smite.json
new file mode 100644
index 0000000..538ab05
--- /dev/null
+++ b/parsed/spells/branding_smite.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "branding smite",
+ "level": 2,
+ "type": "evocation",
+ "classes": [
+ "paladin"
+ ],
+ "casting_time": "1 bonus action",
+ "range": "Self",
+ "components": "V",
+ "duration": "Concentration, up to 1 minute",
+ "text": "The next time you hit a creature with a weapon attack before this spell ends, the weapon gleams with astral radiance as you strike. The attack deals an extra 2d6 radiant damage to the target, which becomes visible if it's invisible, and the target sheds dim light in a 5-foot radius and can't become invisible until the spell ends.\n\n**At Higher Levels.** When you cast this spell using a spell slot of 3rd level or higher, the extra damage increases by 1d6 for each slot level above 2nd."
+} \ No newline at end of file
diff --git a/parsed/spells/burning_hands.json b/parsed/spells/burning_hands.json
new file mode 100644
index 0000000..210b20d
--- /dev/null
+++ b/parsed/spells/burning_hands.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "burning hands",
+ "level": 1,
+ "type": "evocation",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self (15-foot cone)",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "As you hold your hands with thumbs touching and fingers spread, a thin sheet of flames shoots forth from your outstretched fingertips. Each creature in a 15-foot cone must make a Dexterity saving throw. A creature takes 3d6 fire damage on a failed save, or half as much damage on a successful one. \nThe fire ignites any flammable objects in the area that aren't being worn or carried. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 2nd level or higher, the damage increases by 1d6 for each slot level above 1st."
+} \ No newline at end of file
diff --git a/parsed/spells/call_lightning.json b/parsed/spells/call_lightning.json
new file mode 100644
index 0000000..926c9b7
--- /dev/null
+++ b/parsed/spells/call_lightning.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "call lightning",
+ "level": 3,
+ "type": "conjuration",
+ "classes": [
+ "druid"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "A storm cloud appears in the shape of a cylinder that is 10 feet tall with a 60-foot radius, centered on a point you can see 100 feet directly above you. The spell fails if you can't see a point in the air where the storm cloud could appear (for example, if you are in a room that can't accommodate the cloud). \nWhen you cast the spell, choose a point you can see within range. A bolt of lightning flashes down from the cloud to that point. Each creature within 5 feet of that point must make a Dexterity saving throw. A creature takes 3d10 lightning damage on a failed save, or half as much damage on a successful one. On each of your turns until the spell ends, you can use your action to call down lightning in this way again, targeting the same point or a different one. \nIf you are outdoors in stormy conditions when you cast this spell, the spell gives you control over the existing storm instead of creating a new one. Under such conditions, the spell's damage increases by 1d10. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 4th or higher level, the damage increases by 1d10 for each slot level above 3rd."
+} \ No newline at end of file
diff --git a/parsed/spells/calm_emotions.json b/parsed/spells/calm_emotions.json
new file mode 100644
index 0000000..f7ec07b
--- /dev/null
+++ b/parsed/spells/calm_emotions.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "calm emotions",
+ "level": 2,
+ "type": "enchantment",
+ "classes": [
+ "bard",
+ "cleric"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You attempt to suppress strong emotions in a group of people. Each humanoid in a 20-foot-radius sphere centered on a point you choose within range must make a Charisma saving throw; a creature can choose to fail this saving throw if it wishes. If a creature fails its saving throw, choose one of the following two effects. \nYou can suppress any effect causing a target to be charmed or frightened. When this spell ends, any suppressed effect resumes, provided that its duration has not expired in the meantime. \nAlternatively, you can make a target indifferent about creatures of your choice that it is hostile toward. This indifference ends if the target is attacked or harmed by a spell or if it witnesses any of its friends being harmed. When the spell ends, the creature becomes hostile again, unless the GM rules otherwise."
+} \ No newline at end of file
diff --git a/parsed/spells/chain_lightning.json b/parsed/spells/chain_lightning.json
new file mode 100644
index 0000000..7e16bc3
--- /dev/null
+++ b/parsed/spells/chain_lightning.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "chain lightning",
+ "level": 6,
+ "type": "evocation",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "150 feet",
+ "components": "V, S, M (a bit of fur; a piece of amber, glass, or a crystal rod; and three silver pins)",
+ "duration": "Instantaneous",
+ "text": "You create a bolt of lightning that arcs toward a target of your choice that you can see within range. Three bolts then leap from that target to as many as three other targets, each of which must be within 30 feet of the first target. A target can be a creature or an object and can be targeted by only one of the bolts. \nA target must make a Dexterity saving throw. The target takes 10d8 lightning damage on a failed save, or half as much damage on a successful one. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 7th level or higher, one additional bolt leaps from the first target to another target for each slot level above 6th."
+} \ No newline at end of file
diff --git a/parsed/spells/charm_person.json b/parsed/spells/charm_person.json
new file mode 100644
index 0000000..b08e41e
--- /dev/null
+++ b/parsed/spells/charm_person.json
@@ -0,0 +1,18 @@
+{
+ "entry": "spells",
+ "name": "charm person",
+ "level": 1,
+ "type": "enchantment",
+ "classes": [
+ "bard",
+ "druid",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S",
+ "duration": "1 hour",
+ "text": "You attempt to charm a humanoid you can see within range. It must make a Wisdom saving throw, and does so with advantage if you or your companions are fighting it. If it fails the saving throw, it is charmed by you until the spell ends or until you or your companions do anything harmful to it. The charmed creature regards you as a friendly acquaintance. When the spell ends, the creature knows it was charmed by you. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 2nd level or higher, you can target one additional creature for each slot level above 1st. The creatures must be within 30 feet of each other when you target them."
+} \ No newline at end of file
diff --git a/parsed/spells/chill_touch.json b/parsed/spells/chill_touch.json
new file mode 100644
index 0000000..c1c4ac8
--- /dev/null
+++ b/parsed/spells/chill_touch.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "chill touch",
+ "level": 0,
+ "type": "necromancy",
+ "classes": [
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S",
+ "duration": "1 round",
+ "text": "You create a ghostly, skeletal hand in the space of a creature within range. Make a ranged spell attack against the creature to assail it with the chill of the grave. On a hit, the target takes 1d8 necrotic damage, and it can't regain hit points until the start of your next turn. Until then, the hand clings to the target. \nIf you hit an undead target, it also has disadvantage on attack rolls against you until the end of your next turn. \nThis spell's damage increases by 1d8 when you reach 5th level (2d8), 11th level (3d8), and 17th level (4d8)."
+} \ No newline at end of file
diff --git a/parsed/spells/circle_of_death.json b/parsed/spells/circle_of_death.json
new file mode 100644
index 0000000..b26e82c
--- /dev/null
+++ b/parsed/spells/circle_of_death.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "circle of death",
+ "level": 6,
+ "type": "necromancy",
+ "classes": [
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "150 feet",
+ "components": "V, S, M (the powder of a crushed black pearl worth at least 500 gp)",
+ "duration": "Instantaneous",
+ "text": "A sphere of negative energy ripples out in a 60-foot- radius sphere from a point within range. Each creature in that area must make a Constitution saving throw. A target takes 8d6 necrotic damage on a failed save, or half as much damage on a successful one. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 7th level or higher, the damage increases by 2d6 for each slot level above 6th."
+} \ No newline at end of file
diff --git a/parsed/spells/clairvoyance.json b/parsed/spells/clairvoyance.json
new file mode 100644
index 0000000..ab82230
--- /dev/null
+++ b/parsed/spells/clairvoyance.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "clairvoyance",
+ "level": 3,
+ "type": "divination",
+ "classes": [
+ "bard",
+ "cleric",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "10 minutes",
+ "range": "1 mile",
+ "components": "V, S, M (a focus worth at least 100 gp, either a jeweled horn for hearing or a glass eye for seeing)",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "You create an invisible sensor within range in a location familiar to you (a place you have visited or seen before) or in an obvious location that is unfamiliar to you (such as behind a door, around a corner, or in a grove of trees). The sensor remains in place for the duration, and it can't be attacked or otherwise interacted with. \nWhen you cast the spell, you choose seeing or hearing. You can use the chosen sense through the sensor as if you were in its space. As your action, you can switch between seeing and hearing. \nA creature that can see the sensor (such as a creature benefiting from **_see invisibility_** or truesight) sees a luminous, intangible orb about the size of your fist."
+} \ No newline at end of file
diff --git a/parsed/spells/clone.json b/parsed/spells/clone.json
new file mode 100644
index 0000000..b925611
--- /dev/null
+++ b/parsed/spells/clone.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "clone",
+ "level": 8,
+ "type": "necromancy",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 hour",
+ "range": "Touch",
+ "components": "V, S, M (a diamond worth at least 1,000 gp and at least 1 cubic inch of flesh of the creature that is to be cloned, which the spell consumes, and a vessel worth at least 2,000 gp that has a sealable lid and is large enough to hold a Medium creature, such as a huge urn, coffin, mud- filled cyst in the ground, or crystal container filled with salt water)",
+ "duration": "Instantaneous",
+ "text": "This spell grows an inert duplicate of a living creature as a safeguard against death. This clone forms inside a sealed vessel and grows to full size and maturity after 120 days; you can also choose to have the clone be a younger version of the same creature. It remains inert and endures indefinitely, as long as its vessel remains undisturbed. \nAt any time after the clone matures, if the original creature dies, its soul transfers to the clone, provided that the soul is free and willing to return. The clone is physically identical to the original and has the same personality, memories, and abilities, but none of the original's equipment. The original creature's physical remains, if they still exist, become inert and can't thereafter be restored to life, since the creature's soul is elsewhere."
+} \ No newline at end of file
diff --git a/parsed/spells/cloudkill.json b/parsed/spells/cloudkill.json
new file mode 100644
index 0000000..4bd4836
--- /dev/null
+++ b/parsed/spells/cloudkill.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "cloudkill",
+ "level": 5,
+ "type": "conjuration",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "You create a 20-foot-radius sphere of poisonous, yellow-green fog centered on a point you choose within range. The fog spreads around corners. It lasts for the duration or until strong wind disperses the fog, ending the spell. Its area is heavily obscured. \nWhen a creature enters the spell's area for the first time on a turn or starts its turn there, that creature must make a Constitution saving throw. The creature takes 5d8 poison damage on a failed save, or half as much damage on a successful one. Creatures are affected even if they hold their breath or don't need to breathe. \nThe fog moves 10 feet away from you at the start of each of your turns, rolling along the surface of the ground. The vapors, being heavier than air, sink to the lowest level of the land, even pouring down openings. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 6th level or higher, the damage increases by 1d8 for each slot level above 5th."
+} \ No newline at end of file
diff --git a/parsed/spells/color_spray.json b/parsed/spells/color_spray.json
new file mode 100644
index 0000000..2fc511d
--- /dev/null
+++ b/parsed/spells/color_spray.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "color spray",
+ "level": 1,
+ "type": "illusion",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self (15-foot cone)",
+ "components": "V, S, M (a pinch of powder or sand that is colored red, yellow, and blue)",
+ "duration": "1 round",
+ "text": "A dazzling array of flashing, colored light springs from your hand. Roll 6d10; the total is how many hit points of creatures this spell can effect. Creatures in a 15-foot cone originating from you are affected in ascending order of their current hit points (ignoring unconscious creatures and creatures that can't see). \nStarting with the creature that has the lowest current hit points, each creature affected by this spell is blinded until the spell ends. Subtract each creature's hit points from the total before moving on to the creature with the next lowest hit points. A creature's hit points must be equal to or less than the remaining total for that creature to be affected. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 2nd level or higher, roll an additional 2d10 for each slot level above 1st."
+} \ No newline at end of file
diff --git a/parsed/spells/command.json b/parsed/spells/command.json
new file mode 100644
index 0000000..5f014c4
--- /dev/null
+++ b/parsed/spells/command.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "command",
+ "level": 1,
+ "type": "enchantment",
+ "classes": [
+ "cleric",
+ "paladin"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V",
+ "duration": "1 round",
+ "text": "You speak a one-word command to a creature you can see within range. The target must succeed on a Wisdom saving throw or follow the command on its next turn. The spell has no effect if the target is undead, if it doesn't understand your language, or if your command is directly harmful to it. \nSome typical commands and their effects follow. You might issue a command other than one described here. If you do so, the GM determines how the target behaves. If the target can't follow your command, the spell ends. \n**Approach.** The target moves toward you by the shortest and most direct route, ending its turn if it moves within 5 feet of you. \n**Drop.** The target drops whatever it is holding and then ends its turn. \n**Flee.** The target spends its turn moving away from you by the fastest available means. \n**Grovel.** The target falls prone and then ends its turn. \n**Halt.** The target doesn't move and takes no actions. A flying creature stays aloft, provided that it is able to do so. If it must move to stay aloft, it flies the minimum distance needed to remain in the air. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 2nd level or higher, you can affect one additional creature for each slot level above 1st. The creatures must be within 30 feet of each other when you target them."
+} \ No newline at end of file
diff --git a/parsed/spells/commune.json b/parsed/spells/commune.json
new file mode 100644
index 0000000..f850b0b
--- /dev/null
+++ b/parsed/spells/commune.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "commune",
+ "level": 5,
+ "type": "divination",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "1 minute",
+ "range": "Self",
+ "components": "V, S, M (incense and a vial of holy or unholy water)",
+ "duration": "1 minute",
+ "text": "You contact your deity or a divine proxy and ask up to three questions that can be answered with a yes or no. You must ask your questions before the spell ends. You receive a correct answer for each question. \nDivine beings aren't necessarily omniscient, so you might receive \"unclear\" as an answer if a question pertains to information that lies beyond the deity's knowledge. In a case where a one-word answer could be misleading or contrary to the deity's interests, the GM might offer a short phrase as an answer instead. \nIf you cast the spell two or more times before finishing your next long rest, there is a cumulative 25 percent chance for each casting after the first that you get no answer. The GM makes this roll in secret."
+} \ No newline at end of file
diff --git a/parsed/spells/commune_with_nature.json b/parsed/spells/commune_with_nature.json
new file mode 100644
index 0000000..ed8e8ff
--- /dev/null
+++ b/parsed/spells/commune_with_nature.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "commune with nature",
+ "level": 5,
+ "type": "divination",
+ "classes": [
+ "druid",
+ "ranger"
+ ],
+ "casting_time": "1 minute",
+ "range": "Self",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "You briefly become one with nature and gain knowledge of the surrounding territory. In the outdoors, the spell gives you knowledge of the land within 3 miles of you. In caves and other natural underground settings, the radius is limited to 300 feet. The spell doesn't function where nature has been replaced by construction, such as in dungeons and towns. \nYou instantly gain knowledge of up to three facts of your choice about any of the following subjects as they relate to the area:\n\n* terrain and bodies of water\n* prevalent plants, minerals, animals, or peoples\n* powerful celestials, fey, fiends, elementals, or undead\n* influence from other planes of existence\n* buildings \n\nFor example, you could determine the location of powerful undead in the area, the location of major sources of safe drinking water, and the location of any nearby towns."
+} \ No newline at end of file
diff --git a/parsed/spells/comprehend_languages.json b/parsed/spells/comprehend_languages.json
new file mode 100644
index 0000000..f83df53
--- /dev/null
+++ b/parsed/spells/comprehend_languages.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "comprehend languages",
+ "level": 1,
+ "type": "divination",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S, M (a pinch of soot and salt)",
+ "duration": "1 hour",
+ "text": "For the duration, you understand the literal meaning of any spoken language that you hear. You also understand any written language that you see, but you must be touching the surface on which the words are written. It takes about 1 minute to read one page of text. \nThis spell doesn't decode secret messages in a text or a glyph, such as an arcane sigil, that isn't part of a written language."
+} \ No newline at end of file
diff --git a/parsed/spells/compulsion.json b/parsed/spells/compulsion.json
new file mode 100644
index 0000000..57740dc
--- /dev/null
+++ b/parsed/spells/compulsion.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "compulsion",
+ "level": 4,
+ "type": "enchantment",
+ "classes": [
+ "bard"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 minute",
+ "text": "Creatures of your choice that you can see within range and that can hear you must make a Wisdom saving throw. A target automatically succeeds on this saving throw if it can't be charmed. On a failed save, a target is affected by this spell. Until the spell ends, you can use a bonus action on each of your turns to designate a direction that is horizontal to you. Each affected target must use as much of its movement as possible to move in that direction on its next turn. It can take its action before it moves. After moving in this way, it can make another Wisdom saving to try to end the effect. \nA target isn't compelled to move into an obviously deadly hazard, such as a fire or pit, but it will provoke opportunity attacks to move in the designated direction."
+} \ No newline at end of file
diff --git a/parsed/spells/cone_of_cold.json b/parsed/spells/cone_of_cold.json
new file mode 100644
index 0000000..e6cce96
--- /dev/null
+++ b/parsed/spells/cone_of_cold.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "cone of cold",
+ "level": 5,
+ "type": "evocation",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self (60-foot cone)",
+ "components": "V, S, M (a small crystal or glass cone)",
+ "duration": "Instantaneous",
+ "text": "A blast of cold air erupts from your hands. Each creature in a 60-foot cone must make a Constitution saving throw. A creature takes 8d8 cold damage on a failed save, or half as much damage on a successful one. \nA creature killed by this spell becomes a frozen statue until it thaws. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 6th level or higher, the damage increases by 1d8 for each slot level above 5th."
+} \ No newline at end of file
diff --git a/parsed/spells/confusion.json b/parsed/spells/confusion.json
new file mode 100644
index 0000000..876d3a9
--- /dev/null
+++ b/parsed/spells/confusion.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "confusion",
+ "level": 4,
+ "type": "enchantment",
+ "classes": [
+ "bard",
+ "druid",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "90 feet",
+ "components": "V, S, M (three nut shells)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "This spell assaults and twists creatures' minds, spawning delusions and provoking uncontrolled action. Each creature in a 10-foot-radius sphere centered on a point you choose within range must succeed on a Wisdom saving throw when you cast this spell or be affected by it. \nAn affected target can't take reactions and must roll a d10 at the start of each of its turns to determine its behavior for that turn. \n\n| d10 | Behavior |\n|------|----------|\n| 1 | The creature uses all its movement to move in a random direction. To determine the direction, roll a d8 and assign a direction to each die face. The creature doesn't take an action this turn. |\n| 2-6 | The creature doesn't move or take actions this turn. |\n| 7-8 | The creature uses its action to make a melee attack against a randomly determined creature within its reach. If there is no creature within its reach, the creature does nothing this turn. |\n| 9-10 | The creature can act and move normally. |\n\nAt the end of each of its turns, an affected target can make a Wisdom saving throw. If it succeeds, this effect ends for that target. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 5th level or higher, the radius of the sphere increases by 5 feet for each slot level above 4th."
+} \ No newline at end of file
diff --git a/parsed/spells/conjure_animals.json b/parsed/spells/conjure_animals.json
new file mode 100644
index 0000000..22bb94f
--- /dev/null
+++ b/parsed/spells/conjure_animals.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "conjure animals",
+ "level": 3,
+ "type": "conjuration",
+ "classes": [
+ "druid",
+ "ranger"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 hour",
+ "text": "You summon fey spirits that take the form of beasts and appear in unoccupied spaces that you can see within range. Choose one of the following options for what appears: \n\n* One beast of challenge rating 2 or lower\n* Two beasts of challenge rating 1 or lower\n* Four beasts of challenge rating 1/2 or lower\n* Eight beasts of challenge rating 1/4 or lower \n\nEach beast is also considered fey, and it disappears when it drops to 0 hit points or when the spell ends. \nThe summoned creatures are friendly to you and your companions. Roll initiative for the summoned creatures as a group, which has its own turns. They obey any verbal commands that you issue to them (no action required by you). If you don't issue any commands to them, they defend themselves from hostile creatures, but otherwise take no actions. \nThe GM has the creatures' statistics. \n\n**At Higher Levels.** When you cast this spell using certain higher-level spell slots, you choose one of the summoning options above, and more creatures appear: twice as many with a 5th-level slot, three times as many with a 7th-level slot, and four times as many with a 9th-level slot."
+} \ No newline at end of file
diff --git a/parsed/spells/conjure_celestial.json b/parsed/spells/conjure_celestial.json
new file mode 100644
index 0000000..ab83b49
--- /dev/null
+++ b/parsed/spells/conjure_celestial.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "conjure celestial",
+ "level": 7,
+ "type": "conjuration",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "1 minute",
+ "range": "90 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 hour",
+ "text": "You summon a celestial of challenge rating 4 or lower, which appears in an unoccupied space that you can see within range. The celestial disappears when it drops to 0 hit points or when the spell ends. \nThe celestial is friendly to you and your companions for the duration. Roll initiative for the celestial, which has its own turns. It obeys any verbal commands that you issue to it (no action required by you), as long as they don't violate its alignment. If you don't issue any commands to the celestial, it defends itself from hostile creatures but otherwise takes no actions. \nThe GM has the celestial's statistics. \n\n**At Higher Levels.** When you cast this spell using a 9th-level spell slot, you summon a celestial of challenge rating 5 or lower."
+} \ No newline at end of file
diff --git a/parsed/spells/conjure_elemental.json b/parsed/spells/conjure_elemental.json
new file mode 100644
index 0000000..4a7f66e
--- /dev/null
+++ b/parsed/spells/conjure_elemental.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "conjure elemental",
+ "level": 5,
+ "type": "conjuration",
+ "classes": [
+ "druid",
+ "wizard"
+ ],
+ "casting_time": "1 minute",
+ "range": "90 feet",
+ "components": "V, S, M (burning incense for air, soft clay for earth, sulfur and phosphorus for fire, or water and sand for water)",
+ "duration": "Concentration, up to 1 hour",
+ "text": "You call forth an elemental servant. Choose an area of air, earth, fire, or water that fills a 10-foot cube within range. An elemental of challenge rating 5 or lower appropriate to the area you chose appears in an unoccupied space within 10 feet of it. For example, a fire elemental emerges from a bonfire, and an earth elemental rises up from the ground. The elemental disappears when it drops to 0 hit points or when the spell ends. \nThe elemental is friendly to you and your companions for the duration. Roll initiative for the elemental, which has its own turns. It obeys any verbal commands that you issue to it (no action required by you). If you don't issue any commands to the elemental, it defends itself from hostile creatures but otherwise takes no actions. \nIf your concentration is broken, the elemental doesn't disappear. Instead, you lose control of the elemental, it becomes hostile toward you and your companions, and it might attack. An uncontrolled elemental can't be dismissed by you, and it disappears 1 hour after you summoned it. The GM has the elemental's statistics. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 6th level or higher, the challenge rating increases by 1 for each slot level above 5th."
+} \ No newline at end of file
diff --git a/parsed/spells/conjure_fey.json b/parsed/spells/conjure_fey.json
new file mode 100644
index 0000000..591f49a
--- /dev/null
+++ b/parsed/spells/conjure_fey.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "conjure fey",
+ "level": 6,
+ "type": "conjuration",
+ "classes": [
+ "druid",
+ "warlock"
+ ],
+ "casting_time": "1 minute",
+ "range": "90 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 hour",
+ "text": "You summon a fey creature of challenge rating 6 or lower, or a fey spirit that takes the form of a beast of challenge rating 6 or lower. It appears in an unoccupied space that you can see within range. The fey creature disappears when it drops to 0 hit points or when the spell ends. \nThe fey creature is friendly to you and your companions for the duration. Roll initiative for the creature, which has its own turns. It obeys any verbal commands that you issue to it (no action required by you), as long as they don't violate its alignment. If you don't issue any commands to the fey creature, it defends itself from hostile creatures but otherwise takes no actions. \nIf your concentration is broken, the fey creature doesn't disappear. Instead, you lose control of the fey creature, it becomes hostile toward you and your companions, and it might attack. An uncontrolled fey creature can't be dismissed by you, and it disappears 1 hour after you summoned it. \nThe GM has the fey creature's statistics. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 7th level or higher, the challenge rating increases by 1 for each slot level above 6th."
+} \ No newline at end of file
diff --git a/parsed/spells/conjure_minor_elementals.json b/parsed/spells/conjure_minor_elementals.json
new file mode 100644
index 0000000..da289c3
--- /dev/null
+++ b/parsed/spells/conjure_minor_elementals.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "conjure minor elementals",
+ "level": 4,
+ "type": "conjuration",
+ "classes": [
+ "druid",
+ "wizard"
+ ],
+ "casting_time": "1 minute",
+ "range": "90 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 hour",
+ "text": "You summon elementals that appear in unoccupied spaces that you can see within range. You choose one the following options for what appears: \n\n* One elemental of challenge rating 2 or lower\n* Two elementals of challenge rating 1 or lower\n* Four elementals of challenge rating 1/2 or lower \n* Eight elementals of challenge rating 1/4 or lower. \n\nAn elemental summoned by this spell disappears when it drops to 0 hit points or when the spell ends. \nThe summoned creatures are friendly to you and your companions. Roll initiative for the summoned creatures as a group, which has its own turns. They obey any verbal commands that you issue to them (no action required by you). If you don't issue any commands to them, they defend themselves from hostile creatures, but otherwise take no actions. \nThe GM has the creatures' statistics. \n\n**At Higher Levels.** When you cast this spell using certain higher-level spell slots, you choose one of the summoning options above, and more creatures appear: twice as many with a 6th-level slot and three times as many with an 8th-level slot."
+} \ No newline at end of file
diff --git a/parsed/spells/conjure_woodland_beings.json b/parsed/spells/conjure_woodland_beings.json
new file mode 100644
index 0000000..12704f8
--- /dev/null
+++ b/parsed/spells/conjure_woodland_beings.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "conjure woodland beings",
+ "level": 4,
+ "type": "conjuration",
+ "classes": [
+ "druid",
+ "ranger"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S, M (one holly berry per creature summoned)",
+ "duration": "Concentration, up to 1 hour",
+ "text": "You summon fey creatures that appear in unoccupied spaces that you can see within range. Choose one of the following options for what appears:\n\n* One fey creature of challenge rating 2 or lower \n* Two fey creatures of challenge rating 1 or lower \n* Four fey creatures of challenge rating 1/2 or lower \n* Eight fey creatures of challenge rating 1/4 or lower \n\nA summoned creature disappears when it drops to 0 hit points or when the spell ends. \nThe summoned creatures are friendly to you and your companions. Roll initiative for the summoned creatures as a group, which have their own turns. They obey any verbal commands that you issue to them (no action required by you). If you don't issue any commands to them, they defend themselves from hostile creatures, but otherwise take no actions. \nThe GM has the creatures' statistics. \n\n**At Higher Levels.** When you cast this spell using certain higher-level spell slots, you choose one of the summoning options above, and more creatures appear: twice as many with a 6th-level slot and three times as many with an 8th-level slot."
+} \ No newline at end of file
diff --git a/parsed/spells/contact_other_plane.json b/parsed/spells/contact_other_plane.json
new file mode 100644
index 0000000..b762597
--- /dev/null
+++ b/parsed/spells/contact_other_plane.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "contact other plane",
+ "level": 5,
+ "type": "divination",
+ "classes": [
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 minute",
+ "range": "Self",
+ "components": "V",
+ "duration": "1 minute",
+ "text": "You mentally contact a demigod, the spirit of a long- dead sage, or some other mysterious entity from another plane. Contacting this extraplanar intelligence can strain or even break your mind. When you cast this spell, make a DC 15 Intelligence saving throw. On a failure, you take 6d6 psychic damage and are insane until you finish a long rest. While insane, you can't take actions, can't understand what other creatures say, can't read, and speak only in gibberish. A **_greater restoration_** spell cast on you ends this effect. \nOn a successful save, you can ask the entity up to five questions. You must ask your questions before the spell ends. The GM answers each question with one word, such as \"yes,\" \"no,\" \"maybe,\" \"never,\" \"irrelevant,\" or \"unclear\" (if the entity doesn't know the answer to the question). If a one-word answer would be misleading, the GM might instead offer a short phrase as an answer."
+} \ No newline at end of file
diff --git a/parsed/spells/contagion.json b/parsed/spells/contagion.json
new file mode 100644
index 0000000..4835d74
--- /dev/null
+++ b/parsed/spells/contagion.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "contagion",
+ "level": 5,
+ "type": "necromancy",
+ "classes": [
+ "cleric",
+ "druid"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S",
+ "duration": "7 days",
+ "text": "Your touch inflicts disease. Make a melee spell attack against a creature within your reach. On a hit, you afflict the creature with a disease of your choice from any of the ones described below. \nAt the end of each of the target's turns, it must make a Constitution saving throw. After failing three of these saving throws, the disease's effects last for the duration, and the creature stops making these saves. After succeeding on three of these saving throws, the creature recovers from the disease, and the spell ends. \nSince this spell induces a natural disease in its target, any effect that removes a disease or otherwise ameliorates a disease's effects apply to it. \n**Blinding Sickness.** Pain grips the creature's mind, and its eyes turn milky white. The creature has disadvantage on Wisdom checks and Wisdom saving throws and is blinded. \n**Filth Fever.** A raging fever sweeps through the creature's body. The creature has disadvantage on Strength checks, Strength saving throws, and attack rolls that use Strength. \n**Flesh Rot.** The creature's flesh decays. The creature has disadvantage on Charisma checks and vulnerability to all damage. \n**Mindfire.** The creature's mind becomes feverish. The creature has disadvantage on Intelligence checks and Intelligence saving throws, and the creature behaves as if under the effects of the **_confusion_** spell during combat. \n**Seizure.** The creature is overcome with shaking. The creature has disadvantage on Dexterity checks, Dexterity saving throws, and attack rolls that use Dexterity. \n**Slimy Doom.** The creature begins to bleed uncontrollably. The creature has disadvantage on Constitution checks and Constitution saving throws. In addition, whenever the creature takes damage, it is stunned until the end of its next turn."
+} \ No newline at end of file
diff --git a/parsed/spells/contingency.json b/parsed/spells/contingency.json
new file mode 100644
index 0000000..f713990
--- /dev/null
+++ b/parsed/spells/contingency.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "contingency",
+ "level": 6,
+ "type": "evocation",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "10 minutes",
+ "range": "Self",
+ "components": "V, S, M (a statuette of yourself carved from ivory and decorated with gems worth at least 1,500 gp)",
+ "duration": "10 days",
+ "text": "Choose a spell of 5th level or lower that you can cast, that has a casting time of 1 action, and that can target you. You cast that spell--called the contingent spell--as part of casting **_contingency_**, expending spell slots for both, but the contingent spell doesn't come into effect. Instead, it takes effect when a certain circumstance occurs. You describe that circumstance when you cast the two spells. For example, a **_contingency_** cast with **_water breathing_** might stipulate that **_water breathing_** comes into effect when you are engulfed in water or a similar liquid. \nThe contingent spell takes effect immediately after the circumstance is met for the first time, whether or not you want it to, and then **_contingency_** ends. The contingent spell takes effect only on you, even if it can normally target others. You can use only one **_contingency_** spell at a time. \nIf you cast this spell again, the effect of another **_contingency_** spell on you ends. Also, **_contingency_** ends on you if its material component is ever not on your person."
+} \ No newline at end of file
diff --git a/parsed/spells/continual_flame.json b/parsed/spells/continual_flame.json
new file mode 100644
index 0000000..edbdd50
--- /dev/null
+++ b/parsed/spells/continual_flame.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "continual flame",
+ "level": 2,
+ "type": "evocation",
+ "classes": [
+ "cleric",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (ruby dust worth 50 gp, which the spell consumes)",
+ "duration": "Until dispelled",
+ "text": "A flame, equivalent in brightness to a torch, springs forth from an object that you touch. The effect looks like a regular flame, but it creates no heat and doesn't use oxygen. A **_continual flame_** can be covered or hidden but not smothered or quenched."
+} \ No newline at end of file
diff --git a/parsed/spells/control_water.json b/parsed/spells/control_water.json
new file mode 100644
index 0000000..3f049fa
--- /dev/null
+++ b/parsed/spells/control_water.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "control water",
+ "level": 4,
+ "type": "transmutation",
+ "classes": [
+ "cleric",
+ "druid",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "300 feet",
+ "components": "V, S, M (a drop of water and a pinch of dust)",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "Until the spell ends, you control any freestanding water inside an area you choose that is a cube up to 100 feet on a side. You can choose from any of the following effects when you cast this spell. As an action on your turn, you can repeat the same effect or choose a different one. \n**Flood.** You cause the water level of all standing water in the area to rise by as much as 20 feet. If the area includes a shore, the flooding water spills over onto dry land. \nIf you choose an area in a large body of water, you instead create a 20-foot tall wave that travels from one side of the area to the other and then crashes down. Any Huge or smaller vehicles in the wave's path are carried with it to the other side. Any Huge or smaller vehicles struck by the wave have a 25 percent chance of capsizing. \nThe water level remains elevated until the spell ends or you choose a different effect. If this effect produced a wave, the wave repeats on the start of your next turn while the flood effect lasts. \n**Part Water.** You cause water in the area to move apart and create a trench. The trench extends across the spell's area, and the separated water forms a wall to either side. The trench remains until the spell ends or you choose a different effect. The water then slowly fills in the trench over the course of the next round until the normal water level is restored. \n**Redirect Flow.** You cause flowing water in the area to move in a direction you choose, even if the water has to flow over obstacles, up walls, or in other unlikely directions. The water in the area moves as you direct it, but once it moves beyond the spell's area, it resumes its flow based on the terrain conditions. The water continues to move in the direction you chose until the spell ends or you choose a different effect. \n**Whirlpool.** This effect requires a body of water at least 50 feet square and 25 feet deep. You cause a whirlpool to form in the center of the area. The whirlpool forms a vortex that is 5 feet wide at the base, up to 50 feet wide at the top, and 25 feet tall. Any creature or object in the water and within 25 feet of the vortex is pulled 10 feet toward it. A creature can swim away from the vortex by making a Strength (Athletics) check against your spell save DC. \nWhen a creature enters the vortex for the first time on a turn or starts its turn there, it must make a Strength saving throw. On a failed save, the creature takes 2d8 bludgeoning damage and is caught in the vortex until the spell ends. On a successful save, the creature takes half damage, and isn't caught in the vortex. A creature caught in the vortex can use its action to try to swim away from the vortex as described above, but has disadvantage on the Strength (Athletics) check to do so. \nThe first time each turn that an object enters the vortex, the object takes 2d8 bludgeoning damage; this damage occurs each round it remains in the vortex."
+} \ No newline at end of file
diff --git a/parsed/spells/control_weather.json b/parsed/spells/control_weather.json
new file mode 100644
index 0000000..9b2eef1
--- /dev/null
+++ b/parsed/spells/control_weather.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "control weather",
+ "level": 8,
+ "type": "transmutation",
+ "classes": [
+ "cleric",
+ "druid",
+ "wizard"
+ ],
+ "casting_time": "10 minutes",
+ "range": "Self (5-mile radius)",
+ "components": "V, S, M (burning incense and bits of earth and wood mixed in water)",
+ "duration": "Concentration, up to 8 hours",
+ "text": "You take control of the weather within 5 miles of you for the duration. You must be outdoors to cast this spell. Moving to a place where you don't have a clear path to the sky ends the spell early. \nWhen you cast the spell, you change the current weather conditions, which are determined by the GM based on the climate and season. You can change precipitation, temperature, and wind. It takes 1d4 \u00d7 10 minutes for the new conditions to take effect. Once they do so, you can change the conditions again. When the spell ends, the weather gradually returns to normal. \nWhen you change the weather conditions, find a current condition on the following tables and change its stage by one, up or down. When changing the wind, you can change its direction. \n\n### Precipitation \n| Stage | Condition |\n|-------|--------------------------------------------|\n| 1 | Clear |\n| 2 | Light clouds |\n| 3 | Overcast or ground fog |\n| 4 | Rain, hail or snow |\n| 5 | Torrential rain, driving hail, or blizzard |\n\n### Temperature \n| Stage | Condition |\n|-------|-----------------|\n| 1 | Unbearable heat |\n| 2 | Hot |\n| 3 | Warm |\n| 4 | Cool |\n| 5 | Cold |\n| 6 | Arctic cold |\n\n### Wind \n| Stage | Condition |\n|-------|---------------|\n| 1 | Calm |\n| 2 | Moderate wind |\n| 3 | Strong wind |\n| 4 | Gale |\n| 5 | Storm |"
+} \ No newline at end of file
diff --git a/parsed/spells/counterspell.json b/parsed/spells/counterspell.json
new file mode 100644
index 0000000..a921e18
--- /dev/null
+++ b/parsed/spells/counterspell.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "counterspell",
+ "level": 3,
+ "type": "abjuration",
+ "classes": [
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 reaction, which you take when you see a creature within 60 feet of you casting a spell",
+ "range": "60 feet",
+ "components": "S",
+ "duration": "Instantaneous",
+ "text": "You attempt to interrupt a creature in the process of casting a spell. If the creature is casting a spell of 3rd level or lower, its spell fails and has no effect. If it is casting a spell of 4th level or higher, make an ability check using your spellcasting ability. The DC equals 10 + the spell's level. On a success, the creature's spell fails and has no effect. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 4th level or higher, the interrupted spell has no effect if its level is less than or equal to the level of the spell slot you used."
+} \ No newline at end of file
diff --git a/parsed/spells/create_food_and_water.json b/parsed/spells/create_food_and_water.json
new file mode 100644
index 0000000..421a862
--- /dev/null
+++ b/parsed/spells/create_food_and_water.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "create food and water",
+ "level": 3,
+ "type": "conjuration",
+ "classes": [
+ "cleric",
+ "paladin"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "You create 45 pounds of food and 30 gallons of water on the ground or in containers within range, enough to sustain up to fifteen humanoids or five steeds for 24 hours. The food is bland but nourishing, and spoils if uneaten after 24 hours. The water is clean and doesn't go bad."
+} \ No newline at end of file
diff --git a/parsed/spells/create_or_destroy_water.json b/parsed/spells/create_or_destroy_water.json
new file mode 100644
index 0000000..674b851
--- /dev/null
+++ b/parsed/spells/create_or_destroy_water.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "create or destroy water",
+ "level": 1,
+ "type": "transmutation",
+ "classes": [
+ "cleric",
+ "druid"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S, M (a drop of water if creating water or a few grains of sand if destroying it)",
+ "duration": "Instantaneous",
+ "text": "You either create or destroy water. \n**Create Water.** You create up to 10 gallons of clean water within range in an open container. Alternatively, the water falls as rain in a 30-foot cube within range, extinguishing exposed flames in the area. \n**Destroy Water.** You destroy up to 10 gallons of water in an open container within range. Alternatively, you destroy fog in a 30-foot cube within range. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 2nd level or higher, you create or destroy 10 additional gallons of water, or the size of the cube increases by 5 feet, for each slot level above 1st."
+} \ No newline at end of file
diff --git a/parsed/spells/create_undead.json b/parsed/spells/create_undead.json
new file mode 100644
index 0000000..8a7364a
--- /dev/null
+++ b/parsed/spells/create_undead.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "create undead",
+ "level": 6,
+ "type": "necromancy",
+ "classes": [
+ "cleric",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 minute",
+ "range": "10 feet",
+ "components": "V, S, M (one clay pot filled with grave dirt, one clay pot filled with brackish water, and one 150 gp black onyx stone for each corpse)",
+ "duration": "Instantaneous",
+ "text": "You can cast this spell only at night. Choose up to three corpses of Medium or Small humanoids within range. Each corpse becomes a ghoul under your control. (The GM has game statistics for these creatures.) \nAs a bonus action on each of your turns, you can mentally command any creature you animated with this spell if the creature is within 120 feet of you (if you control multiple creatures, you can command any or all of them at the same time, issuing the same command to each one). You decide what action the creature will take and where it will move during its next turn, or you can issue a general command, such as to guard a particular chamber or corridor. If you issue no commands, the creature only defends itself against hostile creatures. Once given an order, the creature continues to follow it until its task is complete. \nThe creature is under your control for 24 hours, after which it stops obeying any command you have given it. To maintain control of the creature for another 24 hours, you must cast this spell on the creature before the current 24-hour period ends. This use of the spell reasserts your control over up to three creatures you have animated with this spell, rather than animating new ones. \n\n**At Higher Levels.** When you cast this spell using a 7th-level spell slot, you can animate or reassert control over four ghouls. When you cast this spell using an 8th-level spell slot, you can animate or reassert control over five ghouls or two ghasts or wights. When you cast this spell using a 9th-level spell slot, you can animate or reassert control over six ghouls, three ghasts or wights, or two mummies."
+} \ No newline at end of file
diff --git a/parsed/spells/creation.json b/parsed/spells/creation.json
new file mode 100644
index 0000000..57ebeb7
--- /dev/null
+++ b/parsed/spells/creation.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "creation",
+ "level": 5,
+ "type": "illusion",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 minute",
+ "range": "30 feet",
+ "components": "V, S, M (a tiny piece of matter of the same type of the item you plan to create)",
+ "duration": "Special",
+ "text": "You pull wisps of shadow material from the Shadowfell to create a nonliving object of vegetable matter within range: soft goods, rope, wood, or something similar. You can also use this spell to create mineral objects such as stone, crystal, or metal. The object created must be no larger than a 5-foot cube, and the object must be of a form and material that you have seen before. \nThe duration depends on the object's material. If the object is composed of multiple materials, use the shortest duration. \n\n| Material | Duration |\n|-----------------------|------------|\n| Vegetable matter | 1 day | \n| Stone or crystal | 12 hours | \n| Precious metals | 1 hour | \n| Gems | 10 minutes | \n| Adamantine or mithral | 1 minute | \n\nUsing any material created by this spell as another spell's material component causes that spell to fail. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 6th level or higher, the cube increases by 5 feet for each slot level above 5th."
+} \ No newline at end of file
diff --git a/parsed/spells/cure_wounds.json b/parsed/spells/cure_wounds.json
new file mode 100644
index 0000000..74955b9
--- /dev/null
+++ b/parsed/spells/cure_wounds.json
@@ -0,0 +1,18 @@
+{
+ "entry": "spells",
+ "name": "cure wounds",
+ "level": 1,
+ "type": "evocation",
+ "classes": [
+ "bard",
+ "cleric",
+ "druid",
+ "paladin",
+ "ranger"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "A creature you touch regains a number of hit points equal to 1d8 + your spellcasting ability modifier. This spell has no effect on undead or constructs. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 2nd level or higher, the healing increases by 1d8 for each slot level above 1st."
+} \ No newline at end of file
diff --git a/parsed/spells/dancing_lights.json b/parsed/spells/dancing_lights.json
new file mode 100644
index 0000000..0316db2
--- /dev/null
+++ b/parsed/spells/dancing_lights.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "dancing lights",
+ "level": 0,
+ "type": "evocation",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S, M (a bit of phosphorus or wychwood, or a glowworm)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You create up to four torch-sized lights within range, making them appear as torches, lanterns, or glowing orbs that hover in the air for the duration. You can also combine the four lights into one glowing vaguely humanoid form of Medium size. Whichever form you choose, each light sheds dim light in a 10- foot radius. \nAs a bonus action on your turn, you can move the lights up to 60 feet to a new spot within range. A light must be within 20 feet of another light created by this spell, and a light winks out if it exceeds the spell's range."
+} \ No newline at end of file
diff --git a/parsed/spells/darkness.json b/parsed/spells/darkness.json
new file mode 100644
index 0000000..33a2c29
--- /dev/null
+++ b/parsed/spells/darkness.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "darkness",
+ "level": 2,
+ "type": "evocation",
+ "classes": [
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, M (bat fur and a drop of pitch or piece of coal)",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "Magical darkness spreads from a point you choose within range to fill a 15-foot-radius sphere for the duration. The darkness spreads around corners. A creature with darkvision can't see through this darkness, and nonmagical light can't illuminate it. \nIf the point you choose is on an object you are holding or one that isn't being worn or carried, the darkness emanates from the object and moves with it. Completely covering the source of the darkness with an opaque object, such as a bowl or a helm, blocks the darkness. \nIf any of this spell's area overlaps with an area of light created by a spell of 2nd level or lower, the spell that created the light is dispelled."
+} \ No newline at end of file
diff --git a/parsed/spells/darkvision.json b/parsed/spells/darkvision.json
new file mode 100644
index 0000000..69042d9
--- /dev/null
+++ b/parsed/spells/darkvision.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "darkvision",
+ "level": 2,
+ "type": "transmutation",
+ "classes": [
+ "druid",
+ "ranger",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (either a pinch of dried carrot or an agate)",
+ "duration": "8 hours",
+ "text": "You touch a willing creature to grant it the ability to see in the dark. For the duration, that creature has darkvision out to a range of 60 feet."
+} \ No newline at end of file
diff --git a/parsed/spells/daylight.json b/parsed/spells/daylight.json
new file mode 100644
index 0000000..101af94
--- /dev/null
+++ b/parsed/spells/daylight.json
@@ -0,0 +1,18 @@
+{
+ "entry": "spells",
+ "name": "daylight",
+ "level": 3,
+ "type": "evocation",
+ "classes": [
+ "cleric",
+ "druid",
+ "paladin",
+ "ranger",
+ "sorcerer"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S",
+ "duration": "1 hour",
+ "text": "A 60-foot-radius sphere of light spreads out from a point you choose within range. The sphere is bright light and sheds dim light for an additional 60 feet. \nIf you chose a point on an object you are holding or one that isn't being worn or carried, the light shines from the object and moves with it. Completely covering the affected object with an opaque object, such as a bowl or a helm, blocks the light. \nIf any of this spell's area overlaps with an area of darkness created by a spell of 3rd level or lower, the spell that created the darkness is dispelled."
+} \ No newline at end of file
diff --git a/parsed/spells/death_ward.json b/parsed/spells/death_ward.json
new file mode 100644
index 0000000..68a7dfd
--- /dev/null
+++ b/parsed/spells/death_ward.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "death ward",
+ "level": 4,
+ "type": "abjuration",
+ "classes": [
+ "cleric",
+ "paladin"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S",
+ "duration": "8 hours",
+ "text": "You touch a creature and grant it a measure of protection from death. \nThe first time the target would drop to 0 hit points as a result of taking damage, the target instead drops to 1 hit point, and the spell ends. \nIf the spell is still in effect when the target is subjected to an effect that would kill it instantaneously without dealing damage, that effect is instead negated against the target, and the spell ends."
+} \ No newline at end of file
diff --git a/parsed/spells/delayed_blast_fireball.json b/parsed/spells/delayed_blast_fireball.json
new file mode 100644
index 0000000..07eb3cd
--- /dev/null
+++ b/parsed/spells/delayed_blast_fireball.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "delayed blast fireball",
+ "level": 7,
+ "type": "evocation",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "150 feet",
+ "components": "V, S, M (a tiny ball of bat guano and sulfur)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "A beam of yellow light flashes from your pointing finger, then condenses to linger at a chosen point within range as a glowing bead for the duration. When the spell ends, either because your concentration is broken or because you decide to end it, the bead blossoms with a low roar into an explosion of flame that spreads around corners. Each creature in a 20-foot-radius sphere centered on that point must make a Dexterity saving throw. A creature takes fire damage equal to the total accumulated damage on a failed save, or half as much damage on a successful one. \nThe spell's base damage is 12d6. If at the end of your turn the bead has not yet detonated, the damage increases by 1d6. \nIf the glowing bead is touched before the interval has expired, the creature touching it must make a Dexterity saving throw. On a failed save, the spell ends immediately, causing the bead to erupt in flame. On a successful save, the creature can throw the bead up to 40 feet. When it strikes a creature or a solid object, the spell ends, and the bead explodes. \nThe fire damages objects in the area and ignites flammable objects that aren't being worn or carried. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 8th level or higher, the base damage increases by 1d6 for each slot level above 7th."
+} \ No newline at end of file
diff --git a/parsed/spells/demiplane.json b/parsed/spells/demiplane.json
new file mode 100644
index 0000000..6e8357f
--- /dev/null
+++ b/parsed/spells/demiplane.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "demiplane",
+ "level": 8,
+ "type": "conjuration",
+ "classes": [
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "S",
+ "duration": "1 hour",
+ "text": "You create a shadowy door on a flat solid surface that you can see within range. The door is large enough to allow Medium creatures to pass through unhindered. When opened, the door leads to a demiplane that appears to be an empty room 30 feet in each dimension, made of wood or stone. When the spell ends, the door disappears, and any creatures or objects inside the demiplane remain trapped there, as the door also disappears from the other side. \nEach time you cast this spell, you can create a new demiplane, or have the shadowy door connect to a demiplane you created with a previous casting of this spell. Additionally, if you know the nature and contents of a demiplane created by a casting of this spell by another creature, you can have the shadowy door connect to its demiplane instead."
+} \ No newline at end of file
diff --git a/parsed/spells/detect_evil_and_good.json b/parsed/spells/detect_evil_and_good.json
new file mode 100644
index 0000000..7ab87a9
--- /dev/null
+++ b/parsed/spells/detect_evil_and_good.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "detect evil and good",
+ "level": 1,
+ "type": "divination",
+ "classes": [
+ "cleric",
+ "paladin"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "For the duration, you know if there is an aberration, celestial, elemental, fey, fiend, or undead within 30 feet of you, as well as where the creature is located. Similarly, you know if there is a place or object within 30 feet of you that has been magically consecrated or desecrated. \nThe spell can penetrate most barriers, but it is blocked by 1 foot of stone, 1 inch of common metal, a thin sheet of lead, or 3 feet of wood or dirt."
+} \ No newline at end of file
diff --git a/parsed/spells/detect_magic.json b/parsed/spells/detect_magic.json
new file mode 100644
index 0000000..15cbb09
--- /dev/null
+++ b/parsed/spells/detect_magic.json
@@ -0,0 +1,20 @@
+{
+ "entry": "spells",
+ "name": "detect magic",
+ "level": 1,
+ "type": "divination",
+ "classes": [
+ "bard",
+ "cleric",
+ "druid",
+ "paladin",
+ "ranger",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "For the duration, you sense the presence of magic within 30 feet of you. If you sense magic in this way, you can use your action to see a faint aura around any visible creature or object in the area that bears magic, and you learn its school of magic, if any. \nThe spell can penetrate most barriers, but it is blocked by 1 foot of stone, 1 inch of common metal, a thin sheet of lead, or 3 feet of wood or dirt."
+} \ No newline at end of file
diff --git a/parsed/spells/detect_poison_and_disease.json b/parsed/spells/detect_poison_and_disease.json
new file mode 100644
index 0000000..4efd059
--- /dev/null
+++ b/parsed/spells/detect_poison_and_disease.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "detect poison and disease",
+ "level": 1,
+ "type": "divination",
+ "classes": [
+ "cleric",
+ "druid",
+ "paladin",
+ "ranger"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S, M (a yew leaf)",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "For the duration, you can sense the presence and location of poisons, poisonous creatures, and diseases within 30 feet of you. You also identify the kind of poison, poisonous creature, or disease in each case. \nThe spell can penetrate most barriers, but it is blocked by 1 foot of stone, 1 inch of common metal, a thin sheet of lead, or 3 feet of wood or dirt."
+} \ No newline at end of file
diff --git a/parsed/spells/detect_thoughts.json b/parsed/spells/detect_thoughts.json
new file mode 100644
index 0000000..e3daa6b
--- /dev/null
+++ b/parsed/spells/detect_thoughts.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "detect thoughts",
+ "level": 2,
+ "type": "divination",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S, M (a copper piece)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "For the duration, you can read the thoughts of certain creatures. When you cast the spell and as your action on each turn until the spell ends, you can focus your mind on any one creature that you can see within 30 feet of you. If the creature you choose has an Intelligence of 3 or lower or doesn't speak any language, the creature is unaffected. \nYou initially learn the surface thoughts of the creature--what is most on its mind in that moment. As an action, you can either shift your attention to another creature's thoughts or attempt to probe deeper into the same creature's mind. If you probe deeper, the target must make a Wisdom saving throw. If it fails, you gain insight into its reasoning (if any), its emotional state, and something that looms large in its mind (such as something it worries over, loves, or hates). If it succeeds, the spell ends. Either way, the target knows that you are probing into its mind, and unless you shift your attention to another creature's thoughts, the creature can use its action on its turn to make an Intelligence check contested by your Intelligence check; if it succeeds, the spell ends. \nQuestions verbally directed at the target creature naturally shape the course of its thoughts, so this spell is particularly effective as part of an interrogation. \nYou can also use this spell to detect the presence of thinking creatures you can't see. When you cast the spell or as your action during the duration, you can search for thoughts within 30 feet of you. The spell can penetrate barriers, but 2 feet of rock, 2 inches of any metal other than lead, or a thin sheet of lead blocks you. You can't detect a creature with an Intelligence of 3 or lower or one that doesn't speak any language. \nOnce you detect the presence of a creature in this way, you can read its thoughts for the rest of the duration as described above, even if you can't see it, but it must still be within range."
+} \ No newline at end of file
diff --git a/parsed/spells/dimension_door.json b/parsed/spells/dimension_door.json
new file mode 100644
index 0000000..3470781
--- /dev/null
+++ b/parsed/spells/dimension_door.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "dimension door",
+ "level": 4,
+ "type": "conjuration",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "500 feet",
+ "components": "V",
+ "duration": "Instantaneous Y",
+ "text": "You teleport yourself from your current location to any other spot within range. You arrive at exactly the spot desired. It can be a place you can see, one you can visualize, or one you can describe by stating distance and direction, such as \"200 feet straight downward\" or \"upward to the northwest at a 45- degree angle, 300 feet.\" \nYou can bring along objects as long as their weight doesn't exceed what you can carry. You can also bring one willing creature of your size or smaller who is carrying gear up to its carrying capacity. The creature must be within 5 feet of you when you cast this spell. \nIf you would arrive in a place already occupied by an object or a creature, you and any creature traveling with you each take 4d6 force damage, and the spell fails to teleport you."
+} \ No newline at end of file
diff --git a/parsed/spells/disguise_self.json b/parsed/spells/disguise_self.json
new file mode 100644
index 0000000..5307339
--- /dev/null
+++ b/parsed/spells/disguise_self.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "disguise self",
+ "level": 1,
+ "type": "illusion",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S",
+ "duration": "1 hour",
+ "text": "You make yourself--including your clothing, armor, weapons, and other belongings on your person--look different until the spell ends or until you use your action to dismiss it. You can seem 1 foot shorter or taller and can appear thin, fat, or in between. You can't change your body type, so you must adopt a form that has the same basic arrangement of limbs. Otherwise, the extent of the illusion is up to you. \nThe changes wrought by this spell fail to hold up to physical inspection. For example, if you use this spell to add a hat to your outfit, objects pass through the hat, and anyone who touches it would feel nothing or would feel your head and hair. If you use this spell to appear thinner than you are, the hand of someone who reaches out to touch you would bump into you while it was seemingly still in midair. \nTo discern that you are disguised, a creature can use its action to inspect your appearance and must succeed on an Intelligence (Investigation) check against your spell save DC."
+} \ No newline at end of file
diff --git a/parsed/spells/disintegrate.json b/parsed/spells/disintegrate.json
new file mode 100644
index 0000000..6ac3d83
--- /dev/null
+++ b/parsed/spells/disintegrate.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "disintegrate",
+ "level": 6,
+ "type": "transmutation",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S, M (a lodestone and a pinch of dust)",
+ "duration": "Instantaneous",
+ "text": "A thin green ray springs from your pointing finger to a target that you can see within range. The target can be a creature, an object, or a creation of magical force, such as the wall created by **_wall of force_**. \nA creature targeted by this spell must make a Dexterity saving throw. On a failed save, the target takes 10d6 + 40 force damage. If this damage reduces the target to 0 hit points, it is disintegrated. \nA disintegrated creature and everything it is wearing and carrying, except magic items, are reduced to a pile of fine gray dust. The creature can be restored to life only by means of a **_true resurrection_** or a **_wish_** spell. \nThis spell automatically disintegrates a Large or smaller nonmagical object or a creation of magical force. If the target is a Huge or larger object or creation of force, this spell disintegrates a 10-foot- cube portion of it. A magic item is unaffected by this spell. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 7th level or higher, the damage increases by 3d6 for each slot level above 6th."
+} \ No newline at end of file
diff --git a/parsed/spells/dispel_evil_and_good.json b/parsed/spells/dispel_evil_and_good.json
new file mode 100644
index 0000000..403a77d
--- /dev/null
+++ b/parsed/spells/dispel_evil_and_good.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "dispel evil and good",
+ "level": 5,
+ "type": "abjuration",
+ "classes": [
+ "cleric",
+ "paladin"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S, M (holy water or powdered silver and iron)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "Shimmering energy surrounds and protects you from fey, undead, and creatures originating from beyond the Material Plane. For the duration, celestials, elementals, fey, fiends, and undead have disadvantage on attack rolls against you. \nYou can end the spell early by using either of the following special functions. \n**Break Enchantment.** As your action, you touch a creature you can reach that is charmed, frightened, or possessed by a celestial, an elemental, a fey, a fiend, or an undead. The creature you touch is no longer charmed, frightened, or possessed by such creatures. \n**Dismissal.** As your action, make a melee spell attack against a celestial, an elemental, a fey, a fiend, or an undead you can reach. On a hit, you attempt to drive the creature back to its home plane. The creature must succeed on a Charisma saving throw or be sent back to its home plane (if it isn't there already). If they aren't on their home plane, undead are sent to the Shadowfell, and fey are sent to the Feywild."
+} \ No newline at end of file
diff --git a/parsed/spells/dispel_magic.json b/parsed/spells/dispel_magic.json
new file mode 100644
index 0000000..ca0a75b
--- /dev/null
+++ b/parsed/spells/dispel_magic.json
@@ -0,0 +1,20 @@
+{
+ "entry": "spells",
+ "name": "dispel magic",
+ "level": 3,
+ "type": "abjuration",
+ "classes": [
+ "bard",
+ "cleric",
+ "druid",
+ "paladin",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "Choose one creature, object, or magical effect within range. Any spell of 3rd level or lower on the target ends. For each spell of 4th level or higher on the target, make an ability check using your spellcasting ability. The DC equals 10 + the spell's level. On a successful check, the spell ends. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 4th level or higher, you automatically end the effects of a spell on the target if the spell's level is equal to or less than the level of the spell slot you used."
+} \ No newline at end of file
diff --git a/parsed/spells/divination.json b/parsed/spells/divination.json
new file mode 100644
index 0000000..d2e35f7
--- /dev/null
+++ b/parsed/spells/divination.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "divination",
+ "level": 4,
+ "type": "divination",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S, M (incense and a sacrificial offering appropriate to your religion, together worth at least 25 gp, which the spell consumes)",
+ "duration": "Instantaneous",
+ "text": "Your magic and an offering put you in contact with a god or a god's servants. You ask a single question concerning a specific goal, event, or activity to occur within 7 days. The GM offers a truthful reply. The reply might be a short phrase, a cryptic rhyme, or an omen. \nThe spell doesn't take into account any possible circumstances that might change the outcome, such as the casting of additional spells or the loss or gain of a companion. \nIf you cast the spell two or more times before finishing your next long rest, there is a cumulative 25 percent chance for each casting after the first that you get a random reading. The GM makes this roll in secret."
+} \ No newline at end of file
diff --git a/parsed/spells/divine_favor.json b/parsed/spells/divine_favor.json
new file mode 100644
index 0000000..99e1736
--- /dev/null
+++ b/parsed/spells/divine_favor.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "divine favor",
+ "level": 1,
+ "type": "evocation",
+ "classes": [
+ "paladin"
+ ],
+ "casting_time": "1 bonus action",
+ "range": "Self",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 minute",
+ "text": "Your prayer empowers you with divine radiance. Until the spell ends, your weapon attacks deal an extra 1d4 radiant damage on a hit."
+} \ No newline at end of file
diff --git a/parsed/spells/divine_word.json b/parsed/spells/divine_word.json
new file mode 100644
index 0000000..91f52bc
--- /dev/null
+++ b/parsed/spells/divine_word.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "divine word",
+ "level": 7,
+ "type": "evocation",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "1 bonus action",
+ "range": "30 feet",
+ "components": "V",
+ "duration": "Instantaneous",
+ "text": "You utter a divine word, imbued with the power that shaped the world at the dawn of creation. Choose any number of creatures you can see within range. Each creature that can hear you must make a Charisma saving throw. On a failed save, a creature suffers an effect based on its current hit points:\n\n* 50 hit points or fewer: deafened for 1 minute\n* 40 hit points or fewer: deafened and blinded for 10 minutes\n* 30 hit points or fewer: blinded, deafened, and stunned for 1 hour\n* 20 hit points or fewer: killed instantly \n\nRegardless of its current hit points, a celestial, an elemental, a fey, or a fiend that fails its save is forced back to its plane of origin (if it isn't there already) and can't return to your current plane for 24 hours by any means short of a **_wish_** spell."
+} \ No newline at end of file
diff --git a/parsed/spells/dominate_beast.json b/parsed/spells/dominate_beast.json
new file mode 100644
index 0000000..2fe761a
--- /dev/null
+++ b/parsed/spells/dominate_beast.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "dominate beast",
+ "level": 4,
+ "type": "enchantment",
+ "classes": [
+ "druid",
+ "sorcerer"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You attempt to beguile a beast that you can see within range. It must succeed on a Wisdom saving throw or be charmed by you for the duration. If you or creatures that are friendly to you are fighting it, it has advantage on the saving throw. \nWhile the beast is charmed, you have a telepathic link with it as long as the two of you are on the same plane of existence. You can use this telepathic link to issue commands to the creature while you are conscious (no action required), which it does its best to obey. You can specify a simple and general course of action, such as \"Attack that creature,\" \"Run over there,\" or \"Fetch that object.\" If the creature completes the order and doesn't receive further direction from you, it defends and preserves itself to the best of its ability. \nYou can use your action to take total and precise control of the target. Until the end of your next turn, the creature takes only the actions you choose, and doesn't do anything that you don't allow it to do. During this time, you can also cause the creature to use a reaction, but this requires you to use your own reaction as well. \nEach time the target takes damage, it makes a new Wisdom saving throw against the spell. If the saving throw succeeds, the spell ends. \n\n**At Higher Levels.** When you cast this spell with a 5th-level spell slot, the duration is concentration, up to 10 minutes. When you use a 6th-level spell slot, the duration is concentration, up to 1 hour. When you use a spell slot of 7th level or higher, the duration is concentration, up to 8 hours."
+} \ No newline at end of file
diff --git a/parsed/spells/dominate_monster.json b/parsed/spells/dominate_monster.json
new file mode 100644
index 0000000..3dbad1f
--- /dev/null
+++ b/parsed/spells/dominate_monster.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "dominate monster",
+ "level": 8,
+ "type": "enchantment",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 hour",
+ "text": "You attempt to beguile a creature that you can see within range. It must succeed on a Wisdom saving throw or be charmed by you for the duration. If you or creatures that are friendly to you are fighting it, it has advantage on the saving throw. \nWhile the creature is charmed, you have a telepathic link with it as long as the two of you are on the same plane of existence. You can use this telepathic link to issue commands to the creature while you are conscious (no action required), which it does its best to obey. You can specify a simple and general course of action, such as \"Attack that creature,\" \"Run over there,\" or \"Fetch that object.\" If the creature completes the order and doesn't receive further direction from you, it defends and preserves itself to the best of its ability. \nYou can use your action to take total and precise control of the target. Until the end of your next turn, the creature takes only the actions you choose, and doesn't do anything that you don't allow it to do. During this time, you can also cause the creature to use a reaction, but this requires you to use your own reaction as well. \nEach time the target takes damage, it makes a new Wisdom saving throw against the spell. If the saving throw succeeds, the spell ends. \n\n**At Higher Levels.** When you cast this spell with a 9th-level spell slot, the duration is concentration, up to 8 hours."
+} \ No newline at end of file
diff --git a/parsed/spells/dominate_person.json b/parsed/spells/dominate_person.json
new file mode 100644
index 0000000..b40f66e
--- /dev/null
+++ b/parsed/spells/dominate_person.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "dominate person",
+ "level": 5,
+ "type": "enchantment",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You attempt to beguile a humanoid that you can see within range. It must succeed on a Wisdom saving throw or be charmed by you for the duration. If you or creatures that are friendly to you are fighting it, it has advantage on the saving throw. \nWhile the target is charmed, you have a telepathic link with it as long as the two of you are on the same plane of existence. You can use this telepathic link to issue commands to the creature while you are conscious (no action required), which it does its best to obey. You can specify a simple and general course of action, such as \"Attack that creature,\" \"Run over there,\" or \"Fetch that object.\" If the creature completes the order and doesn't receive further direction from you, it defends and preserves itself to the best of its ability. \nYou can use your action to take total and precise control of the target. Until the end of your next turn, the creature takes only the actions you choose, and doesn't do anything that you don't allow it to do. During this time you can also cause the creature to use a reaction, but this requires you to use your own reaction as well. \nEach time the target takes damage, it makes a new Wisdom saving throw against the spell. If the saving throw succeeds, the spell ends. \n\n**At Higher Levels.** When you cast this spell using a 6th-level spell slot, the duration is concentration, up to 10 minutes. When you use a 7th-level spell slot, the duration is concentration, up to 1 hour. When you use a spell slot of 8th level or higher, the duration is concentration, up to 8 hours."
+} \ No newline at end of file
diff --git a/parsed/spells/dream.json b/parsed/spells/dream.json
new file mode 100644
index 0000000..20b1a8e
--- /dev/null
+++ b/parsed/spells/dream.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "dream",
+ "level": 5,
+ "type": "illusion",
+ "classes": [
+ "bard",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 minute",
+ "range": "Special",
+ "components": "V, S, M (a handful of sand, a dab of ink, and a writing quill plucked from a sleeping bird)",
+ "duration": "8 hours",
+ "text": "This spell shapes a creature's dreams. Choose a creature known to you as the target of this spell. The target must be on the same plane of existence as you. Creatures that don't sleep, such as elves, can't be contacted by this spell. You, or a willing creature you touch, enters a trance state, acting as a messenger. While in the trance, the messenger is aware of his or her surroundings, but can't take actions or move. \nIf the target is asleep, the messenger appears in the target's dreams and can converse with the target as long as it remains asleep, through the duration of the spell. The messenger can also shape the environment of the dream, creating landscapes, objects, and other images. The messenger can emerge from the trance at any time, ending the effect of the spell early. The target recalls the dream perfectly upon waking. If the target is awake when you cast the spell, the messenger knows it, and can either end the trance (and the spell) or wait for the target to fall asleep, at which point the messenger appears in the target's dreams. \nYou can make the messenger appear monstrous and terrifying to the target. If you do, the messenger can deliver a message of no more than ten words and then the target must make a Wisdom saving throw. On a failed save, echoes of the phantasmal monstrosity spawn a nightmare that lasts the duration of the target's sleep and prevents the target from gaining any benefit from that rest. In addition, when the target wakes up, it takes 3d6 psychic damage. \nIf you have a body part, lock of hair, clipping from a nail, or similar portion of the target's body, the target makes its saving throw with disadvantage."
+} \ No newline at end of file
diff --git a/parsed/spells/druidcraft.json b/parsed/spells/druidcraft.json
new file mode 100644
index 0000000..d87a427
--- /dev/null
+++ b/parsed/spells/druidcraft.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "druidcraft",
+ "level": 0,
+ "type": "transmutation",
+ "classes": [
+ "druid"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "Whispering to the spirits of nature, you create one of the following effects within range: \n* You create a tiny, harmless sensory effect that predicts what the weather will be at your location for the next 24 hours. The effect might manifest as a golden orb for clear skies, a cloud for rain, falling snowflakes for snow, and so on. This effect persists for 1 round. \n* You instantly make a flower blossom, a seed pod open, or a leaf bud bloom. \n* You create an instantaneous, harmless sensory effect, such as falling leaves, a puff of wind, the sound of a small animal, or the faint odor of skunk. The effect must fit in a 5-foot cube. \n* You instantly light or snuff out a candle, a torch, or a small campfire."
+} \ No newline at end of file
diff --git a/parsed/spells/earthquake.json b/parsed/spells/earthquake.json
new file mode 100644
index 0000000..0c29ec1
--- /dev/null
+++ b/parsed/spells/earthquake.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "earthquake",
+ "level": 8,
+ "type": "evocation",
+ "classes": [
+ "cleric",
+ "druid",
+ "sorcerer"
+ ],
+ "casting_time": "1 action",
+ "range": "500 feet",
+ "components": "V, S, M (a pinch of dirt, a piece of rock, and a lump of clay)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You create a seismic disturbance at a point on the ground that you can see within range. For the duration, an intense tremor rips through the ground in a 100-foot-radius circle centered on that point and shakes creatures and structures in contact with the ground in that area. \nThe ground in the area becomes difficult terrain. Each creature on the ground that is concentrating must make a Constitution saving throw. On a failed save, the creature's concentration is broken. \nWhen you cast this spell and at the end of each turn you spend concentrating on it, each creature on the ground in the area must make a Dexterity saving throw. On a failed save, the creature is knocked prone. \nThis spell can have additional effects depending on the terrain in the area, as determined by the GM. \n**Fissures.** Fissures open throughout the spell's area at the start of your next turn after you cast the spell. A total of 1d6 such fissures open in locations chosen by the GM. Each is 1d10 \u00d7 10 feet deep, 10 feet wide, and extends from one edge of the spell's area to the opposite side. A creature standing on a spot where a fissure opens must succeed on a Dexterity saving throw or fall in. A creature that successfully saves moves with the fissure's edge as it opens. \nA fissure that opens beneath a structure causes it to automatically collapse (see below). \n**Structures.** The tremor deals 50 bludgeoning damage to any structure in contact with the ground in the area when you cast the spell and at the start of each of your turns until the spell ends. If a structure drops to 0 hit points, it collapses and potentially damages nearby creatures. A creature within half the distance of a structure's height must make a Dexterity saving throw. On a failed save, the creature takes 5d6 bludgeoning damage, is knocked prone, and is buried in the rubble, requiring a DC 20 Strength (Athletics) check as an action to escape. The GM can adjust the DC higher or lower, depending on the nature of the rubble. On a successful save, the creature takes half as much damage and doesn't fall prone or become buried."
+} \ No newline at end of file
diff --git a/parsed/spells/eldritch_blast.json b/parsed/spells/eldritch_blast.json
new file mode 100644
index 0000000..9d48452
--- /dev/null
+++ b/parsed/spells/eldritch_blast.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "eldritch blast",
+ "level": 0,
+ "type": "evocation",
+ "classes": [
+ "warlock"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "A beam of crackling energy streaks toward a creature within range. Make a ranged spell attack against the target. On a hit, the target takes 1d10 force damage. \nThe spell creates more than one beam when you reach higher levels: two beams at 5th level, three beams at 11th level, and four beams at 17th level. You can direct the beams at the same target or at different ones. Make a separate attack roll for each beam."
+} \ No newline at end of file
diff --git a/parsed/spells/enhance_ability.json b/parsed/spells/enhance_ability.json
new file mode 100644
index 0000000..7cd928b
--- /dev/null
+++ b/parsed/spells/enhance_ability.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "enhance ability",
+ "level": 2,
+ "type": "transmutation",
+ "classes": [
+ "bard",
+ "cleric",
+ "druid",
+ "sorcerer"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (fur or a feather from a beast)",
+ "duration": "Concentration, up to 1 hour.",
+ "text": "You touch a creature and bestow upon it a magical enhancement. Choose one of the following effects; the target gains that effect until the spell ends. \n**Bear's Endurance.** The target has advantage on Constitution checks. It also gains 2d6 temporary hit points, which are lost when the spell ends. \n**Bull's Strength.** The target has advantage on Strength checks, and his or her carrying capacity doubles. \n**Cat's Grace.** The target has advantage on Dexterity checks. It also doesn't take damage from falling 20 feet or less if it isn't incapacitated. \n**Eagle's Splendor.** The target has advantage on Charisma checks. \n**Fox's Cunning.** The target has advantage on Intelligence checks. \n**Owl's Wisdom.** The target has advantage on Wisdom checks. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 3rd level or higher, you can target one additional creature for each slot level above 2nd."
+} \ No newline at end of file
diff --git a/parsed/spells/enlargereduce.json b/parsed/spells/enlargereduce.json
new file mode 100644
index 0000000..ff28105
--- /dev/null
+++ b/parsed/spells/enlargereduce.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "enlarge/reduce",
+ "level": 2,
+ "type": "transmutation",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S, M (a pinch of powdered iron)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You cause a creature or an object you can see within range to grow larger or smaller for the duration. Choose either a creature or an object that is neither worn nor carried. If the target is unwilling, it can make a Constitution saving throw. On a success, the spell has no effect. \nIf the target is a creature, everything it is wearing and carrying changes size with it. Any item dropped by an affected creature returns to normal size at once. \n**Enlarge.** The target's size doubles in all dimensions, and its weight is multiplied by eight. This growth increases its size by one category-- from Medium to Large, for example. If there isn't enough room for the target to double its size, the creature or object attains the maximum possible size in the space available. Until the spell ends, the target also has advantage on Strength checks and Strength saving throws. The target's weapons also grow to match its new size. While these weapons are enlarged, the target's attacks with them deal 1d4 extra damage. \n**Reduce.** The target's size is halved in all dimensions, and its weight is reduced to one-eighth of normal. This reduction decreases its size by one category--from Medium to Small, for example. Until the spell ends, the target also has disadvantage on Strength checks and Strength saving throws. The target's weapons also shrink to match its new size. While these weapons are reduced, the target's attacks with them deal 1d4 less damage (this can't reduce the damage below 1)."
+} \ No newline at end of file
diff --git a/parsed/spells/entangle.json b/parsed/spells/entangle.json
new file mode 100644
index 0000000..4b6e404
--- /dev/null
+++ b/parsed/spells/entangle.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "entangle",
+ "level": 1,
+ "type": "conjuration",
+ "classes": [
+ "druid"
+ ],
+ "casting_time": "1 action",
+ "range": "90 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 minute",
+ "text": "Grasping weeds and vines sprout from the ground in a 20-foot square starting from a point within range. For the duration, these plants turn the ground in the area into difficult terrain. \nA creature in the area when you cast the spell must succeed on a Strength saving throw or be restrained by the entangling plants until the spell ends. A creature restrained by the plants can use its action to make a Strength check against your spell save DC. On a success, it frees itself. \nWhen the spell ends, the conjured plants wilt away."
+} \ No newline at end of file
diff --git a/parsed/spells/enthrall.json b/parsed/spells/enthrall.json
new file mode 100644
index 0000000..8256239
--- /dev/null
+++ b/parsed/spells/enthrall.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "enthrall",
+ "level": 2,
+ "type": "enchantment",
+ "classes": [
+ "bard",
+ "warlock"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S",
+ "duration": "1 minute",
+ "text": "You weave a distracting string of words, causing creatures of your choice that you can see within range and that can hear you to make a Wisdom saving throw. Any creature that can't be charmed succeeds on this saving throw automatically, and if you or your companions are fighting a creature, it has advantage on the save. On a failed save, the target has disadvantage on Wisdom (Perception) checks made to perceive any creature other than you until the spell ends or until the target can no longer hear you. The spell ends if you are incapacitated or can no longer speak."
+} \ No newline at end of file
diff --git a/parsed/spells/etherealness.json b/parsed/spells/etherealness.json
new file mode 100644
index 0000000..f9d9dcb
--- /dev/null
+++ b/parsed/spells/etherealness.json
@@ -0,0 +1,18 @@
+{
+ "entry": "spells",
+ "name": "etherealness",
+ "level": 7,
+ "type": "transmutation",
+ "classes": [
+ "bard",
+ "cleric",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S",
+ "duration": "Up to 8 hours",
+ "text": "You step into the border regions of the Ethereal Plane, in the area where it overlaps with your current plane. You remain in the Border Ethereal for the duration or until you use your action to dismiss the spell. During this time, you can move in any direction. If you move up or down, every foot of movement costs an extra foot. You can see and hear the plane you originated from, but everything there looks gray, and you can't see anything more than 60 feet away. \nWhile on the Ethereal Plane, you can only affect and be affected by other creatures on that plane. Creatures that aren't on the Ethereal Plane can't perceive you and can't interact with you, unless a special ability or magic has given them the ability to do so. \nYou ignore all objects and effects that aren't on the Ethereal Plane, allowing you to move through objects you perceive on the plane you originated from. \nWhen the spell ends, you immediately return to the plane you originated from in the spot you currently occupy. If you occupy the same spot as a solid object or creature when this happens, you are immediately shunted to the nearest unoccupied space that you can occupy and take force damage equal to twice the number of feet you are moved. \nThis spell has no effect if you cast it while you are on the Ethereal Plane or a plane that doesn't border it, such as one of the Outer Planes. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 8th level or higher, you can target up to three willing creatures (including you) for each slot level above 7th. The creatures must be within 10 feet of you when you cast the spell."
+} \ No newline at end of file
diff --git a/parsed/spells/expeditious_retreat.json b/parsed/spells/expeditious_retreat.json
new file mode 100644
index 0000000..804017b
--- /dev/null
+++ b/parsed/spells/expeditious_retreat.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "expeditious retreat",
+ "level": 1,
+ "type": "transmutation",
+ "classes": [
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 bonus action",
+ "range": "Self",
+ "components": "V, S",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "This spell allows you to move at an incredible pace. When you cast this spell, and then as a bonus action on each of your turns until the spell ends, you can take the Dash action."
+} \ No newline at end of file
diff --git a/parsed/spells/eyebite.json b/parsed/spells/eyebite.json
new file mode 100644
index 0000000..7f219b4
--- /dev/null
+++ b/parsed/spells/eyebite.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "eyebite",
+ "level": 6,
+ "type": "necromancy",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 minute",
+ "text": "For the spell's duration, your eyes become an inky void imbued with dread power. One creature of your choice within 60 feet of you that you can see must succeed on a Wisdom saving throw or be affected by one of the following effects of your choice for the duration. On each of your turns until the spell ends, you can use your action to target another creature but can't target a creature again if it has succeeded on a saving throw against this casting of **_eyebite_**. \n**Asleep.** The target falls unconscious. It wakes up if it takes any damage or if another creature uses its action to shake the sleeper awake. \n**Panicked.** The target is frightened of you. On each of its turns, the frightened creature must take the Dash action and move away from you by the safest and shortest available route, unless there is nowhere to move. If the target moves to a place at least 60 feet away from you where it can no longer see you, this effect ends. \n**Sickened.** The target has disadvantage on attack rolls and ability checks. At the end of each of its turns, it can make another Wisdom saving throw. If it succeeds, the effect ends."
+} \ No newline at end of file
diff --git a/parsed/spells/fabricate.json b/parsed/spells/fabricate.json
new file mode 100644
index 0000000..80ed7d6
--- /dev/null
+++ b/parsed/spells/fabricate.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "fabricate",
+ "level": 4,
+ "type": "transmutation",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "10 minutes",
+ "range": "120 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "You convert raw materials into products of the same material. For example, you can fabricate a wooden bridge from a clump of trees, a rope from a patch of hemp, and clothes from flax or wool. \nChoose raw materials that you can see within range. You can fabricate a Large or smaller object (contained within a 10-foot cube, or eight connected 5-foot cubes), given a sufficient quantity of raw material. If you are working with metal, stone, or another mineral substance, however, the fabricated object can be no larger than Medium (contained within a single 5-foot cube). The quality of objects made by the spell is commensurate with the quality of the raw materials. \nCreatures or magic items can't be created or transmuted by this spell. You also can't use it to create items that ordinarily require a high degree of craftsmanship, such as jewelry, weapons, glass, or armor, unless you have proficiency with the type of artisan's tools used to craft such objects."
+} \ No newline at end of file
diff --git a/parsed/spells/faerie_fire.json b/parsed/spells/faerie_fire.json
new file mode 100644
index 0000000..2a63a2a
--- /dev/null
+++ b/parsed/spells/faerie_fire.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "faerie fire",
+ "level": 1,
+ "type": "evocation",
+ "classes": [
+ "bard",
+ "druid"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V",
+ "duration": "Concentration, up to 1 minute",
+ "text": "Each object in a 20-foot cube within range is outlined in blue, green, or violet light (your choice). Any creature in the area when the spell is cast is also outlined in light if it fails a Dexterity saving throw. For the duration, objects and affected creatures shed dim light in a 10-foot radius. \nAny attack roll against an affected creature or object has advantage if the attacker can see it, and the affected creature or object can't benefit from being invisible."
+} \ No newline at end of file
diff --git a/parsed/spells/faithful_hound.json b/parsed/spells/faithful_hound.json
new file mode 100644
index 0000000..bf09e9c
--- /dev/null
+++ b/parsed/spells/faithful_hound.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "faithful hound",
+ "level": 4,
+ "type": "conjuration",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S, M (a tiny silver whistle, a piece of bone, and a thread)",
+ "duration": "8 hours",
+ "text": "You conjure a phantom watchdog in an unoccupied space that you can see within range, where it remains for the duration, until you dismiss it as an action, or until you move more than 100 feet away from it. \nThe hound is invisible to all creatures except you and can't be harmed. When a Small or larger creature comes within 30 feet of it without first speaking the password that you specify when you cast this spell, the hound starts barking loudly. The hound sees invisible creatures and can see into the Ethereal Plane. It ignores illusions. \nAt the start of each of your turns, the hound attempts to bite one creature within 5 feet of it that is hostile to you. The hound's attack bonus is equal to your spellcasting ability modifier + your proficiency bonus. On a hit, it deals 4d8 piercing damage."
+} \ No newline at end of file
diff --git a/parsed/spells/false_life.json b/parsed/spells/false_life.json
new file mode 100644
index 0000000..34e2e11
--- /dev/null
+++ b/parsed/spells/false_life.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "false life",
+ "level": 1,
+ "type": "necromancy",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S, M (a small amount of alcohol or distilled spirits)",
+ "duration": "1 hour",
+ "text": "Bolstering yourself with a necromantic facsimile of life, you gain 1d4 + 4 temporary hit points for the duration. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 2nd level or higher, you gain 5 additional temporary hit points for each slot level above 1st."
+} \ No newline at end of file
diff --git a/parsed/spells/fear.json b/parsed/spells/fear.json
new file mode 100644
index 0000000..99edb06
--- /dev/null
+++ b/parsed/spells/fear.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "fear",
+ "level": 3,
+ "type": "illusion",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self (30-foot cone)",
+ "components": "V, S, M (a white feather or the heart of a hen)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You project a phantasmal image of a creature's worst fears. Each creature in a 30-foot cone must succeed on a Wisdom saving throw or drop whatever it is holding and become frightened for the duration. \nWhile frightened by this spell, a creature must take the Dash action and move away from you by the safest available route on each of its turns, unless there is nowhere to move. If the creature ends its turn in a location where it doesn't have line of sight to you, the creature can make a Wisdom saving throw. On a successful save, the spell ends for that creature."
+} \ No newline at end of file
diff --git a/parsed/spells/feather_fall.json b/parsed/spells/feather_fall.json
new file mode 100644
index 0000000..a35400e
--- /dev/null
+++ b/parsed/spells/feather_fall.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "feather fall",
+ "level": 1,
+ "type": "transmutation",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 reaction, which you take when you or a creature within 60 feet of you falls",
+ "range": "60 feet",
+ "components": "V, M (a small feather or piece of down)",
+ "duration": "1 minute",
+ "text": "Choose up to five falling creatures within range. A falling creature's rate of descent slows to 60 feet per round until the spell ends. If the creature lands before the spell ends, it takes no falling damage and can land on its feet, and the spell ends for that creature."
+} \ No newline at end of file
diff --git a/parsed/spells/feeblemind.json b/parsed/spells/feeblemind.json
new file mode 100644
index 0000000..f6af024
--- /dev/null
+++ b/parsed/spells/feeblemind.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "feeblemind",
+ "level": 8,
+ "type": "enchantment",
+ "classes": [
+ "bard",
+ "druid",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "150 feet",
+ "components": "V, S, M (a handful of clay, crystal, glass, or mineral spheres)",
+ "duration": "Instantaneous",
+ "text": "You blast the mind of a creature that you can see within range, attempting to shatter its intellect and personality. The target takes 4d6 psychic damage and must make an Intelligence saving throw. \nOn a failed save, the creature's Intelligence and Charisma scores become 1. The creature can't cast spells, activate magic items, understand language, or communicate in any intelligible way. The creature can, however, identify its friends, follow them, and even protect them. \nAt the end of every 30 days, the creature can repeat its saving throw against this spell. If it succeeds on its saving throw, the spell ends. \nThe spell can also be ended by **_greater restoration_**, **_heal_**, or **_wish_**."
+} \ No newline at end of file
diff --git a/parsed/spells/find_familiar.json b/parsed/spells/find_familiar.json
new file mode 100644
index 0000000..23d6d5b
--- /dev/null
+++ b/parsed/spells/find_familiar.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "find familiar",
+ "level": 1,
+ "type": "conjuration",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 hour",
+ "range": "10 feet",
+ "components": "V, S, M (10 gp worth of charcoal, incense, and herbs that must be consumed by fire in a brass brazier)",
+ "duration": "Instantaneous",
+ "text": "You gain the service of a familiar, a spirit that takes an animal form you choose: bat, cat, crab, frog (toad), hawk, lizard, octopus, owl, poisonous snake, fish (quipper), rat, raven, sea horse, spider, or weasel. Appearing in an unoccupied space within range, the familiar has the statistics of the chosen form, though it is a celestial, fey, or fiend (your choice) instead of a beast. \nYour familiar acts independently of you, but it always obeys your commands. In combat, it rolls its own initiative and acts on its own turn. A familiar can't attack, but it can take other actions as normal. \nWhen the familiar drops to 0 hit points, it disappears, leaving behind no physical form. It reappears after you cast this spell again. \nWhile your familiar is within 100 feet of you, you can communicate with it telepathically. Additionally, as an action, you can see through your familiar's eyes and hear what it hears until the start of your next turn, gaining the benefits of any special senses that the familiar has. During this time, you are deaf and blind with regard to your own senses. \nAs an action, you can temporarily dismiss your familiar. It disappears into a pocket dimension where it awaits your summons. Alternatively, you can dismiss it forever. As an action while it is temporarily dismissed, you can cause it to reappear in any unoccupied space within 30 feet of you. \nYou can't have more than one familiar at a time. If you cast this spell while you already have a familiar, you instead cause it to adopt a new form. Choose one of the forms from the above list. Your familiar transforms into the chosen creature. \nFinally, when you cast a spell with a range of touch, your familiar can deliver the spell as if it had cast the spell. Your familiar must be within 100 feet of you, and it must use its reaction to deliver the spell when you cast it. If the spell requires an attack roll, you use your attack modifier for the roll."
+} \ No newline at end of file
diff --git a/parsed/spells/find_steed.json b/parsed/spells/find_steed.json
new file mode 100644
index 0000000..ded949b
--- /dev/null
+++ b/parsed/spells/find_steed.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "find steed",
+ "level": 2,
+ "type": "conjuration",
+ "classes": [
+ "paladin"
+ ],
+ "casting_time": "10 minutes",
+ "range": "30 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "You summon a spirit that assumes the form of an unusually intelligent, strong, and loyal steed, creating a long-lasting bond with it. Appearing in an unoccupied space within range, the steed takes on a form that you choose: a warhorse, a pony, a camel, an elk, or a mastiff. (Your GM might allow other animals to be summoned as steeds.) The steed has the statistics of the chosen form, though it is a celestial, fey, or fiend (your choice) instead of its normal type. Additionally, if your steed has an Intelligence of 5 or less, its Intelligence becomes 6, and it gains the ability to understand one language of your choice that you speak. \nYour steed serves you as a mount, both in combat and out, and you have an instinctive bond with it that allows you to fight as a seamless unit. While mounted on your steed, you can make any spell you cast that targets only you also target your steed. \nWhen the steed drops to 0 hit points, it disappears, leaving behind no physical form. You can also dismiss your steed at any time as an action, causing it to disappear. In either case, casting this spell again summons the same steed, restored to its hit point maximum. \nWhile your steed is within 1 mile of you, you can communicate with it telepathically. \nYou can't have more than one steed bonded by this spell at a time. As an action, you can release the steed from its bond at any time, causing it to disappear."
+} \ No newline at end of file
diff --git a/parsed/spells/find_the_path.json b/parsed/spells/find_the_path.json
new file mode 100644
index 0000000..cb23649
--- /dev/null
+++ b/parsed/spells/find_the_path.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "find the path",
+ "level": 6,
+ "type": "divination",
+ "classes": [
+ "bard",
+ "cleric",
+ "druid"
+ ],
+ "casting_time": "1 minute",
+ "range": "Self",
+ "components": "V, S, M (a set of divinatory tools--such as bones, ivory sticks, cards, teeth, or carved runes--worth 100 gp and an object from the location you wish to find)",
+ "duration": "Concentration, up to 1 day",
+ "text": "This spell allows you to find the shortest, most direct physical route to a specific fixed location that you are familiar with on the same plane of existence. If you name a destination on another plane of existence, a destination that moves (such as a mobile fortress), or a destination that isn't specific (such as \"a green dragon's lair\"), the spell fails. \nFor the duration, as long as you are on the same plane of existence as the destination, you know how far it is and in what direction it lies. While you are traveling there, whenever you are presented with a choice of paths along the way, you automatically determine which path is the shortest and most direct route (but not necessarily the safest route) to the destination."
+} \ No newline at end of file
diff --git a/parsed/spells/find_traps.json b/parsed/spells/find_traps.json
new file mode 100644
index 0000000..b315d78
--- /dev/null
+++ b/parsed/spells/find_traps.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "find traps",
+ "level": 2,
+ "type": "divination",
+ "classes": [
+ "cleric",
+ "druid",
+ "ranger"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "You sense the presence of any trap within range that is within line of sight. A trap, for the purpose of this spell, includes anything that would inflict a sudden or unexpected effect you consider harmful or undesirable, which was specifically intended as such by its creator. Thus, the spell would sense an area affected by the **_alarm_** spell, a **_glyph of warding_**, or a mechanical pit trap, but it would not reveal a natural weakness in the floor, an unstable ceiling, or a hidden sinkhole. \nThis spell merely reveals that a trap is present. You don't learn the location of each trap, but you do learn the general nature of the danger posed by a trap you sense."
+} \ No newline at end of file
diff --git a/parsed/spells/finger_of_death.json b/parsed/spells/finger_of_death.json
new file mode 100644
index 0000000..6d3498b
--- /dev/null
+++ b/parsed/spells/finger_of_death.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "finger of death",
+ "level": 7,
+ "type": "necromancy",
+ "classes": [
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "You send negative energy coursing through a creature that you can see within range, causing it searing pain. The target must make a Constitution saving throw. It takes 7d8 + 30 necrotic damage on a failed save, or half as much damage on a successful one. \nA humanoid killed by this spell rises at the start of your next turn as a zombie that is permanently under your command, following your verbal orders to the best of its ability."
+} \ No newline at end of file
diff --git a/parsed/spells/fire_bolt.json b/parsed/spells/fire_bolt.json
new file mode 100644
index 0000000..107840f
--- /dev/null
+++ b/parsed/spells/fire_bolt.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "fire bolt",
+ "level": 0,
+ "type": "evocation",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "You hurl a mote of fire at a creature or object within range. Make a ranged spell attack against the target. On a hit, the target takes 1d10 fire damage. A flammable object hit by this spell ignites if it isn't being worn or carried. \nThis spell's damage increases by 1d10 when you reach 5th level (2d10), 11th level (3d10), and 17th level (4d10)."
+} \ No newline at end of file
diff --git a/parsed/spells/fire_shield.json b/parsed/spells/fire_shield.json
new file mode 100644
index 0000000..ef3f586
--- /dev/null
+++ b/parsed/spells/fire_shield.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "fire shield",
+ "level": 4,
+ "type": "evocation",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S, M (a bit of phosphorus or a firefly)",
+ "duration": "10 minutes",
+ "text": "Thin and wispy flames wreathe your body for the duration, shedding bright light in a 10-foot radius and dim light for an additional 10 feet. You can end the spell early by using an action to dismiss it. \nThe flames provide you with a warm shield or a chill shield, as you choose. The warm shield grants you resistance to cold damage, and the chill shield grants you resistance to fire damage. \nIn addition, whenever a creature within 5 feet of you hits you with a melee attack, the shield erupts with flame. The attacker takes 2d8 fire damage from a warm shield, or 2d8 cold damage from a cold shield."
+} \ No newline at end of file
diff --git a/parsed/spells/fire_storm.json b/parsed/spells/fire_storm.json
new file mode 100644
index 0000000..7c34b4b
--- /dev/null
+++ b/parsed/spells/fire_storm.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "fire storm",
+ "level": 7,
+ "type": "evocation",
+ "classes": [
+ "cleric",
+ "druid",
+ "sorcerer"
+ ],
+ "casting_time": "1 action",
+ "range": "150 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "A storm made up of sheets of roaring flame appears in a location you choose within range. The area of the storm consists of up to ten 10-foot cubes, which you can arrange as you wish. Each cube must have at least one face adjacent to the face of another cube. Each creature in the area must make a Dexterity saving throw. It takes 7d10 fire damage on a failed save, or half as much damage on a successful one. \nThe fire damages objects in the area and ignites flammable objects that aren't being worn or carried. If you choose, plant life in the area is unaffected by this spell."
+} \ No newline at end of file
diff --git a/parsed/spells/fireball.json b/parsed/spells/fireball.json
new file mode 100644
index 0000000..41097e9
--- /dev/null
+++ b/parsed/spells/fireball.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "fireball",
+ "level": 3,
+ "type": "evocation",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "150 feet",
+ "components": "V, S, M (a tiny ball of bat guano and sulfur)",
+ "duration": "Instantaneous",
+ "text": "A bright streak flashes from your pointing finger to a point you choose within range and then blossoms with a low roar into an explosion of flame. Each creature in a 20-foot-radius sphere centered on that point must make a Dexterity saving throw. A target takes 8d6 fire damage on a failed save, or half as much damage on a successful one. \nThe fire spreads around corners. It ignites flammable objects in the area that aren't being worn or carried. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 4th level or higher, the damage increases by 1d6 for each slot level above 3rd."
+} \ No newline at end of file
diff --git a/parsed/spells/flame_blade.json b/parsed/spells/flame_blade.json
new file mode 100644
index 0000000..f34221d
--- /dev/null
+++ b/parsed/spells/flame_blade.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "flame blade",
+ "level": 2,
+ "type": "evocation",
+ "classes": [
+ "druid"
+ ],
+ "casting_time": "1 bonus action",
+ "range": "Self",
+ "components": "V, S, M (leaf of sumac)",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "You evoke a fiery blade in your free hand. The blade is similar in size and shape to a scimitar, and it lasts for the duration. If you let go of the blade, it disappears, but you can evoke the blade again as a bonus action. \nYou can use your action to make a melee spell attack with the fiery blade. On a hit, the target takes 3d6 fire damage. \nThe flaming blade sheds bright light in a 10-foot radius and dim light for an additional 10 feet. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 4th level or higher, the damage increases by 1d6 for every two slot levels above 2nd."
+} \ No newline at end of file
diff --git a/parsed/spells/flame_strike.json b/parsed/spells/flame_strike.json
new file mode 100644
index 0000000..f868680
--- /dev/null
+++ b/parsed/spells/flame_strike.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "flame strike",
+ "level": 5,
+ "type": "evocation",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S, M (pinch of sulfur)",
+ "duration": "Instantaneous",
+ "text": "A vertical column of divine fire roars down from the heavens in a location you specify. Each creature in a 10-foot-radius, 40-foot-high cylinder centered on a point within range must make a Dexterity saving throw. A creature takes 4d6 fire damage and 4d6 radiant damage on a failed save, or half as much damage on a successful one. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 6th level or higher, the fire damage or the radiant damage (your choice) increases by 1d6 for each slot level above 5th."
+} \ No newline at end of file
diff --git a/parsed/spells/flaming_sphere.json b/parsed/spells/flaming_sphere.json
new file mode 100644
index 0000000..f1201d7
--- /dev/null
+++ b/parsed/spells/flaming_sphere.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "flaming sphere",
+ "level": 2,
+ "type": "conjuration",
+ "classes": [
+ "druid",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S, M (a bit of tallow, a pinch of brimstone, and a dusting of powdered iron)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "A 5-foot-diameter sphere of fire appears in an unoccupied space of your choice within range and lasts for the duration. Any creature that ends its turn within 5 feet of the sphere must make a Dexterity saving throw. The creature takes 2d6 fire damage on a failed save, or half as much damage on a successful one. \nAs a bonus action, you can move the sphere up to 30 feet. If you ram the sphere into a creature, that creature must make the saving throw against the sphere's damage, and the sphere stops moving this turn. \nWhen you move the sphere, you can direct it over barriers up to 5 feet tall and jump it across pits up to 10 feet wide. The sphere ignites flammable objects not being worn or carried, and it sheds bright light in a 20-foot radius and dim light for an additional 20 feet. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 3rd level or higher, the damage increases by 1d6 for each slot level above 2nd."
+} \ No newline at end of file
diff --git a/parsed/spells/flesh_to_stone.json b/parsed/spells/flesh_to_stone.json
new file mode 100644
index 0000000..53c7624
--- /dev/null
+++ b/parsed/spells/flesh_to_stone.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "flesh to stone",
+ "level": 6,
+ "type": "transmutation",
+ "classes": [
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S, M (a pinch of lime, water, and earth)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You attempt to turn one creature that you can see within range into stone. If the target's body is made of flesh, the creature must make a Constitution saving throw. On a failed save, it is restrained as its flesh begins to harden. On a successful save, the creature isn't affected. \nA creature restrained by this spell must make another Constitution saving throw at the end of each of its turns. If it successfully saves against this spell three times, the spell ends. If it fails its saves three times, it is turned to stone and subjected to the petrified condition for the duration. The successes and failures don't need to be consecutive; keep track of both until the target collects three of a kind. \nIf the creature is physically broken while petrified, it suffers from similar deformities if it reverts to its original state. \nIf you maintain your concentration on this spell for the entire possible duration, the creature is turned to stone until the effect is removed."
+} \ No newline at end of file
diff --git a/parsed/spells/floating_disk.json b/parsed/spells/floating_disk.json
new file mode 100644
index 0000000..693d0fc
--- /dev/null
+++ b/parsed/spells/floating_disk.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "floating disk",
+ "level": 1,
+ "type": "conjuration",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S, M (a drop of mercury)",
+ "duration": "1 hour",
+ "text": "This spell creates a circular, horizontal plane of force, 3 feet in diameter and 1 inch thick, that floats 3 feet above the ground in an unoccupied space of your choice that you can see within range. The disk remains for the duration, and can hold up to 500 pounds. If more weight is placed on it, the spell ends, and everything on the disk falls to the ground. \nThe disk is immobile while you are within 20 feet of it. If you move more than 20 feet away from it, the disk follows you so that it remains within 20 feet of you. It can move across uneven terrain, up or down stairs, slopes and the like, but it can't cross an elevation change of 10 feet or more. For example, the disk can't move across a 10-foot-deep pit, nor could it leave such a pit if it was created at the bottom. \nIf you move more than 100 feet from the disk (typically because it can't move around an obstacle to follow you), the spell ends."
+} \ No newline at end of file
diff --git a/parsed/spells/fly.json b/parsed/spells/fly.json
new file mode 100644
index 0000000..cd90403
--- /dev/null
+++ b/parsed/spells/fly.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "fly",
+ "level": 3,
+ "type": "transmutation",
+ "classes": [
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (a wing feather from any bird)",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "You touch a willing creature. The target gains a flying speed of 60 feet for the duration. When the spell ends, the target falls if it is still aloft, unless it can stop the fall. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 4th level or higher, you can target one additional creature for each slot level above 3rd."
+} \ No newline at end of file
diff --git a/parsed/spells/fog_cloud.json b/parsed/spells/fog_cloud.json
new file mode 100644
index 0000000..0b4fcf2
--- /dev/null
+++ b/parsed/spells/fog_cloud.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "fog cloud",
+ "level": 1,
+ "type": "conjuration",
+ "classes": [
+ "druid",
+ "ranger",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 hour",
+ "text": "You create a 20-foot-radius sphere of fog centered on a point within range. The sphere spreads around corners, and its area is heavily obscured. It lasts for the duration or until a wind of moderate or greater speed (at least 10 miles per hour) disperses it. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 2nd level or higher, the radius of the fog increases by 20 feet for each slot level above 1st."
+} \ No newline at end of file
diff --git a/parsed/spells/forbiddance.json b/parsed/spells/forbiddance.json
new file mode 100644
index 0000000..49284c3
--- /dev/null
+++ b/parsed/spells/forbiddance.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "forbiddance",
+ "level": 6,
+ "type": "abjuration",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "10 minutes",
+ "range": "Touch",
+ "components": "V, S, M (a sprinkling of holy water, rare incense, and powdered ruby worth at least 1,000 gp)",
+ "duration": "1 day",
+ "text": "You create a ward against magical travel that protects up to 40,000 square feet of floor space to a height of 30 feet above the floor. For the duration, creatures can't teleport into the area or use portals, such as those created by the **_gate_** spell, to enter the area. The spell proofs the area against planar travel, and therefore prevents creatures from accessing the area by way of the Astral Plane, Ethereal Plane, Feywild, Shadowfell, or the **_plane shift_** spell. \nIn addition, the spell damages types of creatures that you choose when you cast it. Choose one or more of the following: celestials, elementals, fey, fiends, and undead. When a chosen creature enters the spell's area for the first time on a turn or starts its turn there, the creature takes 5d10 radiant or necrotic damage (your choice when you cast this spell). \nWhen you cast this spell, you can designate a password. A creature that speaks the password as it enters the area takes no damage from the spell. \nThe spell's area can't overlap with the area of another **_forbiddance_** spell. If you cast **_forbiddance_** every day for 30 days in the same location, the spell lasts until it is dispelled, and the material components are consumed on the last casting."
+} \ No newline at end of file
diff --git a/parsed/spells/forcecage.json b/parsed/spells/forcecage.json
new file mode 100644
index 0000000..ade70ed
--- /dev/null
+++ b/parsed/spells/forcecage.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "forcecage",
+ "level": 7,
+ "type": "evocation",
+ "classes": [
+ "bard",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "100 feet",
+ "components": "V, S, M (ruby dust worth 1,500 gp)",
+ "duration": "1 hour",
+ "text": "An immobile, invisible, cube-shaped prison composed of magical force springs into existence around an area you choose within range. The prison can be a cage or a solid box, as you choose. \nA prison in the shape of a cage can be up to 20 feet on a side and is made from 1/2-inch diameter bars spaced 1/2 inch apart. A prison in the shape of a box can be up to 10 feet on a side, creating a solid barrier that prevents any matter from passing through it and blocking any spells cast into or out from the area. \nWhen you cast the spell, any creature that is completely inside the cage's area is trapped. Creatures only partially within the area, or those too large to fit inside the area, are pushed away from the center of the area until they are completely outside the area. \nA creature inside the cage can't leave it by nonmagical means. If the creature tries to use teleportation or interplanar travel to leave the cage, it must first make a Charisma saving throw. On a success, the creature can use that magic to exit the cage. On a failure, the creature can't exit the cage and wastes the use of the spell or effect. The cage also extends into the Ethereal Plane, blocking ethereal travel. \nThis spell can't be dispelled by **_dispel magic_**."
+} \ No newline at end of file
diff --git a/parsed/spells/foresight.json b/parsed/spells/foresight.json
new file mode 100644
index 0000000..1690cf1
--- /dev/null
+++ b/parsed/spells/foresight.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "foresight",
+ "level": 9,
+ "type": "divination",
+ "classes": [
+ "bard",
+ "druid",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 minute",
+ "range": "Touch",
+ "components": "V, S, M (a hummingbird feather)",
+ "duration": "8 hours",
+ "text": "You touch a willing creature and bestow a limited ability to see into the immediate future. For the duration, the target can't be surprised and has advantage on attack rolls, ability checks, and saving throws. Additionally, other creatures have disadvantage on attack rolls against the target for the duration. \nThis spell immediately ends if you cast it again before its duration ends."
+} \ No newline at end of file
diff --git a/parsed/spells/freedom_of_movement.json b/parsed/spells/freedom_of_movement.json
new file mode 100644
index 0000000..0c277d2
--- /dev/null
+++ b/parsed/spells/freedom_of_movement.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "freedom of movement",
+ "level": 4,
+ "type": "abjuration",
+ "classes": [
+ "bard",
+ "cleric",
+ "druid",
+ "ranger"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (a leather strap, bound around the arm or a similar appendage)",
+ "duration": "1 hour",
+ "text": "You touch a willing creature. For the duration, the target's movement is unaffected by difficult terrain, and spells and other magical effects can neither reduce the target's speed nor cause the target to be paralyzed or restrained. \nThe target can also spend 5 feet of movement to automatically escape from nonmagical restraints, such as manacles or a creature that has it grappled. Finally, being underwater imposes no penalties on the target's movement or attacks."
+} \ No newline at end of file
diff --git a/parsed/spells/freezing_sphere.json b/parsed/spells/freezing_sphere.json
new file mode 100644
index 0000000..95be2ba
--- /dev/null
+++ b/parsed/spells/freezing_sphere.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "freezing sphere",
+ "level": 6,
+ "type": "evocation",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "300 feet",
+ "components": "V, S, M (a small crystal sphere)",
+ "duration": "Instantaneous",
+ "text": "A frigid globe of cold energy streaks from your fingertips to a point of your choice within range, where it explodes in a 60-foot-radius sphere. Each creature within the area must make a Constitution saving throw. On a failed save, a creature takes 10d6 cold damage. On a successful save, it takes half as much damage. \nIf the globe strikes a body of water or a liquid that is principally water (not including water-based creatures), it freezes the liquid to a depth of 6 inches over an area 30 feet square. This ice lasts for 1 minute. Creatures that were swimming on the surface of frozen water are trapped in the ice. A trapped creature can use an action to make a Strength check against your spell save DC to break free. \nYou can refrain from firing the globe after completing the spell, if you wish. A small globe about the size of a sling stone, cool to the touch, appears in your hand. At any time, you or a creature you give the globe to can throw the globe (to a range of 40 feet) or hurl it with a sling (to the sling's normal range). It shatters on impact, with the same effect as the normal casting of the spell. You can also set the globe down without shattering it. After 1 minute, if the globe hasn't already shattered, it explodes. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 7th level or higher, the damage increases by 1d6 for each slot level above 6th."
+} \ No newline at end of file
diff --git a/parsed/spells/gaseous_form.json b/parsed/spells/gaseous_form.json
new file mode 100644
index 0000000..c2e4711
--- /dev/null
+++ b/parsed/spells/gaseous_form.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "gaseous form",
+ "level": 3,
+ "type": "transmutation",
+ "classes": [
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (a bit of gauze and a wisp of smoke)",
+ "duration": "Concentration, up to 1 hour",
+ "text": "You transform a willing creature you touch, along with everything it's wearing and carrying, into a misty cloud for the duration. The spell ends if the creature drops to 0 hit points. An incorporeal creature isn't affected. \nWhile in this form, the target's only method of movement is a flying speed of 10 feet. The target can enter and occupy the space of another creature. The target has resistance to nonmagical damage, and it has advantage on Strength, Dexterity, and Constitution saving throws. The target can pass through small holes, narrow openings, and even mere cracks, though it treats liquids as though they were solid surfaces. The target can't fall and remains hovering in the air even when stunned or otherwise incapacitated. \nWhile in the form of a misty cloud, the target can't talk or manipulate objects, and any objects it was carrying or holding can't be dropped, used, or otherwise interacted with. The target can't attack or cast spells."
+} \ No newline at end of file
diff --git a/parsed/spells/gate.json b/parsed/spells/gate.json
new file mode 100644
index 0000000..5df423e
--- /dev/null
+++ b/parsed/spells/gate.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "gate",
+ "level": 9,
+ "type": "conjuration",
+ "classes": [
+ "cleric",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S, M (a diamond worth at least 5,000 gp)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You conjure a portal linking an unoccupied space you can see within range to a precise location on a different plane of existence. The portal is a circular opening, which you can make 5 to 20 feet in diameter. You can orient the portal in any direction you choose. The portal lasts for the duration. \nThe portal has a front and a back on each plane where it appears. Travel through the portal is possible only by moving through its front. Anything that does so is instantly transported to the other plane, appearing in the unoccupied space nearest to the portal. \nDeities and other planar rulers can prevent portals created by this spell from opening in their presence or anywhere within their domains. \nWhen you cast this spell, you can speak the name of a specific creature (a pseudonym, title, or nickname doesn't work). If that creature is on a plane other than the one you are on, the portal opens in the named creature's immediate vicinity and draws the creature through it to the nearest unoccupied space on your side of the portal. You gain no special power over the creature, and it is free to act as the GM deems appropriate. It might leave, attack you, or help you."
+} \ No newline at end of file
diff --git a/parsed/spells/geas.json b/parsed/spells/geas.json
new file mode 100644
index 0000000..09d596c
--- /dev/null
+++ b/parsed/spells/geas.json
@@ -0,0 +1,18 @@
+{
+ "entry": "spells",
+ "name": "geas",
+ "level": 5,
+ "type": "enchantment",
+ "classes": [
+ "bard",
+ "cleric",
+ "druid",
+ "paladin",
+ "wizard"
+ ],
+ "casting_time": "1 minute",
+ "range": "60 feet",
+ "components": "V",
+ "duration": "30 days",
+ "text": "You place a magical command on a creature that you can see within range, forcing it to carry out some service or refrain from some action or course of activity as you decide. If the creature can understand you, it must succeed on a Wisdom saving throw or become charmed by you for the duration. While the creature is charmed by you, it takes 5d10 psychic damage each time it acts in a manner directly counter to your instructions, but no more than once each day. A creature that can't understand you is unaffected by the spell. \nYou can issue any command you choose, short of an activity that would result in certain death. Should you issue a suicidal command, the spell ends. You can end the spell early by using an action to dismiss it. A **_remove curse_**, **_greater restoration_**, or **_wish_** spell also ends it. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 7th or 8th level, the duration is 1 year. When you cast this spell using a spell slot of 9th level, the spell lasts until it is ended by one of the spells mentioned above."
+} \ No newline at end of file
diff --git a/parsed/spells/gentle_repose.json b/parsed/spells/gentle_repose.json
new file mode 100644
index 0000000..cb0fb48
--- /dev/null
+++ b/parsed/spells/gentle_repose.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "gentle repose",
+ "level": 2,
+ "type": "necromancy",
+ "classes": [
+ "cleric",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (a pinch of salt and one copper piece placed on each of the corpse's eyes, which must remain there for the duration)",
+ "duration": "10 days",
+ "text": "You touch a corpse or other remains. For the duration, the target is protected from decay and can't become undead. \nThe spell also effectively extends the time limit on raising the target from the dead, since days spent under the influence of this spell don't count against the time limit of spells such as **_raise dead_**."
+} \ No newline at end of file
diff --git a/parsed/spells/giant_insect.json b/parsed/spells/giant_insect.json
new file mode 100644
index 0000000..9049a8a
--- /dev/null
+++ b/parsed/spells/giant_insect.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "giant insect",
+ "level": 4,
+ "type": "transmutation",
+ "classes": [
+ "druid"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "You transform up to ten centipedes, three spiders, five wasps, or one scorpion within range into giant versions of their natural forms for the duration. A centipede becomes a giant centipede, a spider becomes a giant spider, a wasp becomes a giant wasp, and a scorpion becomes a giant scorpion. \nEach creature obeys your verbal commands, and in combat, they act on your turn each round. The GM has the statistics for these creatures and resolves their actions and movement. \nA creature remains in its giant size for the duration, until it drops to 0 hit points, or until you use an action to dismiss the effect on it. \nThe GM might allow you to choose different targets. For example, if you transform a bee, its giant version might have the same statistics as a giant wasp."
+} \ No newline at end of file
diff --git a/parsed/spells/glibness.json b/parsed/spells/glibness.json
new file mode 100644
index 0000000..6066732
--- /dev/null
+++ b/parsed/spells/glibness.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "glibness",
+ "level": 8,
+ "type": "transmutation",
+ "classes": [
+ "bard",
+ "warlock"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V",
+ "duration": "1 hour",
+ "text": "Until the spell ends, when you make a Charisma check, you can replace the number you roll with a 15. Additionally, no matter what you say, magic that would determine if you are telling the truth indicates that you are being truthful."
+} \ No newline at end of file
diff --git a/parsed/spells/globe_of_invulnerability.json b/parsed/spells/globe_of_invulnerability.json
new file mode 100644
index 0000000..2d6188f
--- /dev/null
+++ b/parsed/spells/globe_of_invulnerability.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "globe of invulnerability",
+ "level": 6,
+ "type": "abjuration",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self (10-foot radius)",
+ "components": "V, S, M (a glass or crystal bead that shatters when the spell ends)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "An immobile, faintly shimmering barrier springs into existence in a 10-foot radius around you and remains for the duration. \nAny spell of 5th level or lower cast from outside the barrier can't affect creatures or objects within it, even if the spell is cast using a higher level spell slot. Such a spell can target creatures and objects within the barrier, but the spell has no effect on them. Similarly, the area within the barrier is excluded from the areas affected by such spells. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 7th level or higher, the barrier blocks spells of one level higher for each slot level above 6th."
+} \ No newline at end of file
diff --git a/parsed/spells/glyph_of_warding.json b/parsed/spells/glyph_of_warding.json
new file mode 100644
index 0000000..6c24347
--- /dev/null
+++ b/parsed/spells/glyph_of_warding.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "glyph of warding",
+ "level": 3,
+ "type": "abjuration",
+ "classes": [
+ "bard",
+ "cleric",
+ "wizard"
+ ],
+ "casting_time": "1 hour",
+ "range": "Touch",
+ "components": "V, S, M (incense and powdered diamond worth at least 200 gp, which the spell consumes)",
+ "duration": "Until dispelled or triggered",
+ "text": "When you cast this spell, you inscribe a glyph that harms other creatures, either upon a surface (such as a table or a section of floor or wall) or within an object that can be closed (such as a book, a scroll, or a treasure chest) to conceal the glyph. If you choose a surface, the glyph can cover an area of the surface no larger than 10 feet in diameter. If you choose an object, that object must remain in its place; if the object is moved more than 10 feet from where you cast this spell, the glyph is broken, and the spell ends without being triggered. \nThe glyph is nearly invisible and requires a successful Intelligence (Investigation) check against your spell save DC to be found. \nYou decide what triggers the glyph when you cast the spell. For glyphs inscribed on a surface, the most typical triggers include touching or standing on the glyph, removing another object covering the glyph, approaching within a certain distance of the glyph, or manipulating the object on which the glyph is inscribed. For glyphs inscribed within an object, the most common triggers include opening that object, approaching within a certain distance of the object, or seeing or reading the glyph. Once a glyph is triggered, this spell ends. \nYou can further refine the trigger so the spell activates only under certain circumstances or according to physical characteristics (such as height or weight), creature kind (for example, the ward could be set to affect aberrations or drow), or alignment. You can also set conditions for creatures that don't trigger the glyph, such as those who say a certain password. \nWhen you inscribe the glyph, choose **explosive runes** or a **spell glyph**. \n**Explosive Runes.** When triggered, the glyph erupts with magical energy in a 20-foot-radius sphere centered on the glyph. The sphere spreads around corners. Each creature in the area must make a Dexterity saving throw. A creature takes 5d8 acid, cold, fire, lightning, or thunder damage on a failed saving throw (your choice when you create the glyph), or half as much damage on a successful one. \n**Spell Glyph.** You can store a prepared spell of 3rd level or lower in the glyph by casting it as part of creating the glyph. The spell must target a single creature or an area. The spell being stored has no immediate effect when cast in this way. When the glyph is triggered, the stored spell is cast. If the spell has a target, it targets the creature that triggered the glyph. If the spell affects an area, the area is centered on that creature. If the spell summons hostile creatures or creates harmful objects or traps, they appear as close as possible to the intruder and attack it. If the spell requires concentration, it lasts until the end of its full duration. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 4th level or higher, the damage of an **explosive runes** glyph increases by 1d8 for each slot level above 3rd. If you create a **spell glyph**, you can store any spell of up to the same level as the slot you use for the **_glyph of warding_**."
+} \ No newline at end of file
diff --git a/parsed/spells/goodberry.json b/parsed/spells/goodberry.json
new file mode 100644
index 0000000..eeb5762
--- /dev/null
+++ b/parsed/spells/goodberry.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "goodberry",
+ "level": 1,
+ "type": "transmutation",
+ "classes": [
+ "druid",
+ "ranger"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (a sprig of mistletoe)",
+ "duration": "Instantaneous",
+ "text": "Up to ten berries appear in your hand and are infused with magic for the duration. A creature can use its action to eat one berry. Eating a berry restores 1 hit point, and the berry provides enough nourishment to sustain a creature for one day. \nThe berries lose their potency if they have not been consumed within 24 hours of the casting of this spell."
+} \ No newline at end of file
diff --git a/parsed/spells/grease.json b/parsed/spells/grease.json
new file mode 100644
index 0000000..df7cba2
--- /dev/null
+++ b/parsed/spells/grease.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "grease",
+ "level": 1,
+ "type": "conjuration",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S, M (a bit of pork rind or butter)",
+ "duration": "1 minute",
+ "text": "Slick grease covers the ground in a 10-foot square centered on a point within range and turns it into difficult terrain for the duration. \nWhen the grease appears, each creature standing in its area must succeed on a Dexterity saving throw or fall prone. A creature that enters the area or ends its turn there must also succeed on a Dexterity saving throw or fall prone."
+} \ No newline at end of file
diff --git a/parsed/spells/greater_invisibility.json b/parsed/spells/greater_invisibility.json
new file mode 100644
index 0000000..237a944
--- /dev/null
+++ b/parsed/spells/greater_invisibility.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "greater invisibility",
+ "level": 4,
+ "type": "illusion",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You or a creature you touch becomes invisible until the spell ends. Anything the target is wearing or carrying is invisible as long as it is on the target's person."
+} \ No newline at end of file
diff --git a/parsed/spells/greater_restoration.json b/parsed/spells/greater_restoration.json
new file mode 100644
index 0000000..8d19337
--- /dev/null
+++ b/parsed/spells/greater_restoration.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "greater restoration",
+ "level": 5,
+ "type": "abjuration",
+ "classes": [
+ "bard",
+ "cleric",
+ "druid"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (diamond dust worth at least 100 gp, which the spell consumes)",
+ "duration": "Instantaneous",
+ "text": "You imbue a creature you touch with positive energy to undo a debilitating effect. You can reduce the target's exhaustion level by one, or end one of the following effects on the target:\n\n* One effect that charmed or petrified the target\n* One curse, including the target's attunement to a cursed magic item \n* Any reduction to one of the target's ability scores\n* One effect reducing the target's hit point maximum"
+} \ No newline at end of file
diff --git a/parsed/spells/guardian_of_faith.json b/parsed/spells/guardian_of_faith.json
new file mode 100644
index 0000000..abe81ab
--- /dev/null
+++ b/parsed/spells/guardian_of_faith.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "guardian of faith",
+ "level": 4,
+ "type": "conjuration",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V",
+ "duration": "8 hours",
+ "text": "A Large spectral guardian appears and hovers for the duration in an unoccupied space of your choice that you can see within range. The guardian occupies that space and is indistinct except for a gleaming sword and shield emblazoned with the symbol of your deity. \nAny creature hostile to you that moves to a space within 10 feet of the guardian for the first time on a turn must succeed on a Dexterity saving throw. The creature takes 20 radiant damage on a failed save, or half as much damage on a successful one. The guardian vanishes when it has dealt a total of 60 damage."
+} \ No newline at end of file
diff --git a/parsed/spells/guards_and_wards.json b/parsed/spells/guards_and_wards.json
new file mode 100644
index 0000000..967cd95
--- /dev/null
+++ b/parsed/spells/guards_and_wards.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "guards and wards",
+ "level": 6,
+ "type": "abjuration",
+ "classes": [
+ "bard",
+ "wizard"
+ ],
+ "casting_time": "10 minutes",
+ "range": "Touch",
+ "components": "V, S, M (burning incense, a small measure of brimstone and oil, a knotted string, a small amount of monster blood, and a small silver rod worth at least 10 gp)",
+ "duration": "24 hours",
+ "text": "You create a ward that protects up to 2,500 square feet of floor space (an area 50 feet square, or one hundred 5-foot squares or twenty-five 10-foot squares). The warded area can be up to 20 feet tall, and shaped as you desire. You can ward several stories of a stronghold by dividing the area among them, as long as you can walk into each contiguous area while you are casting the spell. \nWhen you cast this spell, you can specify individuals that are unaffected by any or all of the effects that you choose. You can also specify a password that, when spoken aloud, makes the speaker immune to these effects. \n**_Guards and wards_** creates the following effects within the warded area. \n**Corridors.** Fog fills all the warded corridors, making them heavily obscured. In addition, at each intersection or branching passage offering a choice of direction, there is a 50 percent chance that a creature other than you will believe it is going in the opposite direction from the one it chooses. \n**Doors.** All doors in the warded area are magically locked, as if sealed by an **_arcane lock_** spell. In addition, you can cover up to ten doors with an illusion (equivalent to the illusory object function of the **_minor illusion_** spell) to make them appear as plain sections of wall. \n**Stairs.** Webs fill all stairs in the warded area from top to bottom, as the **_web_** spell. These strands regrow in 10 minutes if they are burned or torn away while **_guards and wards_** lasts. \n**Other Spell Effect.** You can place your choice of one of the following magical effects within the warded area of the stronghold.\n\n* Place **_dancing lights_** in four corridors. You can designate a simple program that the lights repeat as long as **_guards and wards_** lasts.\n* Place **_magic mouth_** in two locations.\n* Place **_stinking cloud_** in two locations. The vapors appear in the places you designate; they return within 10 minutes if dispersed by wind while **_guards and wards_** lasts.\n* Place a **_constant gust of wind_** in one corridor or room.\n* Place a **_suggestion_** in one location. You select an area of up to 5 feet square, and any creature that enters or passes through the area receives the suggestion mentally. \n\nThe whole warded area radiates magic. A **_dispel magic_** cast on a specific effect, if successful, removes only that effect. \nYou can create a permanently guarded and warded structure by casting this spell there every day for one year."
+} \ No newline at end of file
diff --git a/parsed/spells/guidance.json b/parsed/spells/guidance.json
new file mode 100644
index 0000000..60e9cab
--- /dev/null
+++ b/parsed/spells/guidance.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "guidance",
+ "level": 0,
+ "type": "divination",
+ "classes": [
+ "cleric",
+ "druid"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You touch one willing creature. Once before the spell ends, the target can roll a d4 and add the number rolled to one ability check of its choice. It can roll the die before or after making the ability check. The spell then ends."
+} \ No newline at end of file
diff --git a/parsed/spells/guiding_bolt.json b/parsed/spells/guiding_bolt.json
new file mode 100644
index 0000000..e9e5278
--- /dev/null
+++ b/parsed/spells/guiding_bolt.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "guiding bolt",
+ "level": 1,
+ "type": "evocation",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S",
+ "duration": "1 round",
+ "text": "A flash of light streaks toward a creature of your choice within range. Make a ranged spell attack against the target. On a hit, the target takes 4d6 radiant damage, and the next attack roll made against this target before the end of your next turn has advantage, thanks to the mystical dim light glittering on the target until then. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 2nd level or higher, the damage increases by 1d6 for each slot level above 1st."
+} \ No newline at end of file
diff --git a/parsed/spells/gust_of_wind.json b/parsed/spells/gust_of_wind.json
new file mode 100644
index 0000000..6c3c6f7
--- /dev/null
+++ b/parsed/spells/gust_of_wind.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "gust of wind",
+ "level": 2,
+ "type": "evocation",
+ "classes": [
+ "druid",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self (60-foot line)",
+ "components": "V, S, M (a legume seed)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "A line of strong wind 60 feet long and 10 feet wide blasts from you in a direction you choose for the spell's duration. Each creature that starts its turn in the line must succeed on a Strength saving throw or be pushed 15 feet away from you in a direction following the line. \nAny creature in the line must spend 2 feet of movement for every 1 foot it moves when moving closer to you. \nThe gust disperses gas or vapor, and it extinguishes candles, torches, and similar unprotected flames in the area. It causes protected flames, such as those of lanterns, to dance wildly and has a 50 percent chance to extinguish them. \nAs a bonus action on each of your turns before the spell ends, you can change the direction in which the line blasts from you."
+} \ No newline at end of file
diff --git a/parsed/spells/hallow.json b/parsed/spells/hallow.json
new file mode 100644
index 0000000..4867e6f
--- /dev/null
+++ b/parsed/spells/hallow.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "hallow",
+ "level": 5,
+ "type": "evocation",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "24 hours",
+ "range": "Touch",
+ "components": "V, S, M (herbs, oils, and incense worth at least 1,000 gp, which the spell consumes)",
+ "duration": "Until dispelled",
+ "text": "You touch a point and infuse an area around it with holy (or unholy) power. The area can have a radius up to 60 feet, and the spell fails if the radius includes an area already under the effect a **_hallow_** spell. The affected area is subject to the following effects. \nFirst, celestials, elementals, fey, fiends, and undead can't enter the area, nor can such creatures charm, frighten, or possess creatures within it. Any creature charmed, frightened, or possessed by such a creature is no longer charmed, frightened, or possessed upon entering the area. You can exclude one or more of those types of creatures from this effect. \nSecond, you can bind an extra effect to the area. Choose the effect from the following list, or choose an effect offered by the GM. Some of these effects apply to creatures in the area; you can designate whether the effect applies to all creatures, creatures that follow a specific deity or leader, or creatures of a specific sort, such as orcs or trolls. When a creature that would be affected enters the spell's area for the first time on a turn or starts its turn there, it can make a Charisma saving throw. On a success, the creature ignores the extra effect until it leaves the area. \n**Courage.** Affected creatures can't be frightened while in the area. \n**Darkness.** Darkness fills the area. Normal light, as well as magical light created by spells of a lower level than the slot you used to cast this spell, can't illuminate the area. \n**Daylight.** Bright light fills the area. Magical darkness created by spells of a lower level than the slot you used to cast this spell can't extinguish the light. \n**Energy Protection.** Affected creatures in the area have resistance to one damage type of your choice, except for bludgeoning, piercing, or slashing. \n**Energy Vulnerability.** Affected creatures in the area have vulnerability to one damage type of your choice, except for bludgeoning, piercing, or slashing. \n**Everlasting Rest.** Dead bodies interred in the area can't be turned into undead. \n**Extradimensional Interference.** Affected creatures can't move or travel using teleportation or by extradimensional or interplanar means. \n**Fear.** Affected creatures are frightened while in the area. \n**Silence.** No sound can emanate from within the area, and no sound can reach into it. \n**Tongues.** Affected creatures can communicate with any other creature in the area, even if they don't share a common language."
+} \ No newline at end of file
diff --git a/parsed/spells/hallucinatory_terrain.json b/parsed/spells/hallucinatory_terrain.json
new file mode 100644
index 0000000..7860c53
--- /dev/null
+++ b/parsed/spells/hallucinatory_terrain.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "hallucinatory terrain",
+ "level": 4,
+ "type": "illusion",
+ "classes": [
+ "bard",
+ "druid",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "10 minutes",
+ "range": "300 feet",
+ "components": "V, S, M (a stone, a twig, and a bit of green plant)",
+ "duration": "24 hours",
+ "text": "You make natural terrain in a 150-foot cube in range look, sound, and smell like some other sort of natural terrain. Thus, open fields or a road can be made to resemble a swamp, hill, crevasse, or some other difficult or impassable terrain. A pond can be made to seem like a grassy meadow, a precipice like a gentle slope, or a rock-strewn gully like a wide and smooth road. Manufactured structures, equipment, and creatures within the area aren't changed in appearance. \nThe tactile characteristics of the terrain are unchanged, so creatures entering the area are likely to see through the illusion. If the difference isn't obvious by touch, a creature carefully examining the illusion can attempt an Intelligence (Investigation) check against your spell save DC to disbelieve it. A creature who discerns the illusion for what it is, sees it as a vague image superimposed on the terrain."
+} \ No newline at end of file
diff --git a/parsed/spells/harm.json b/parsed/spells/harm.json
new file mode 100644
index 0000000..a590a8f
--- /dev/null
+++ b/parsed/spells/harm.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "harm",
+ "level": 6,
+ "type": "necromancy",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "You unleash a virulent disease on a creature that you can see within range. The target must make a Constitution saving throw. On a failed save, it takes 14d6 necrotic damage, or half as much damage on a successful save. The damage can't reduce the target's hit points below 1. If the target fails the saving throw, its hit point maximum is reduced for 1 hour by an amount equal to the necrotic damage it took. Any effect that removes a disease allows a creature's hit point maximum to return to normal before that time passes."
+} \ No newline at end of file
diff --git a/parsed/spells/haste.json b/parsed/spells/haste.json
new file mode 100644
index 0000000..7ca9701
--- /dev/null
+++ b/parsed/spells/haste.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "haste",
+ "level": 3,
+ "type": "transmutation",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S, M (a shaving of licorice root)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "Choose a willing creature that you can see within range. Until the spell ends, the target's speed is doubled, it gains a +2 bonus to AC, it has advantage on Dexterity saving throws, and it gains an additional action on each of its turns. That action can be used only to take the Attack (one weapon attack only), Dash, Disengage, Hide, or Use an Object action. When the spell ends, the target can't move or take actions until after its next turn, as a wave of lethargy sweeps over it."
+} \ No newline at end of file
diff --git a/parsed/spells/heal.json b/parsed/spells/heal.json
new file mode 100644
index 0000000..956c681
--- /dev/null
+++ b/parsed/spells/heal.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "heal",
+ "level": 6,
+ "type": "evocation",
+ "classes": [
+ "cleric",
+ "druid"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "Choose a creature that you can see within range. A surge of positive energy washes through the creature, causing it to regain 70 hit points. This spell also ends blindness, deafness, and any diseases affecting the target. This spell has no effect on constructs or undead. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 7th level or higher, the amount of healing increases by 10 for each slot level above 6th."
+} \ No newline at end of file
diff --git a/parsed/spells/healing_word.json b/parsed/spells/healing_word.json
new file mode 100644
index 0000000..ced547a
--- /dev/null
+++ b/parsed/spells/healing_word.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "healing word",
+ "level": 1,
+ "type": "evocation",
+ "classes": [
+ "bard",
+ "cleric",
+ "druid"
+ ],
+ "casting_time": "1 bonus action",
+ "range": "60 feet",
+ "components": "V",
+ "duration": "Instantaneous",
+ "text": "A creature of your choice that you can see within range regains hit points equal to 1d4 + your spellcasting ability modifier. This spell has no effect on undead or constructs. \n**At Higher Levels.** When you cast this spell using a spell slot of 2nd level or higher, the healing increases by 1d4 for each slot level above 1st."
+} \ No newline at end of file
diff --git a/parsed/spells/heat_metal.json b/parsed/spells/heat_metal.json
new file mode 100644
index 0000000..cccf18b
--- /dev/null
+++ b/parsed/spells/heat_metal.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "heat metal",
+ "level": 2,
+ "type": "transmutation",
+ "classes": [
+ "bard",
+ "druid"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S, M (a piece of iron and a flame)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "Choose a manufactured metal object, such as a metal weapon or a suit of heavy or medium metal armor, that you can see within range. You cause the object to glow red-hot. Any creature in physical contact with the object takes 2d8 fire damage when you cast the spell. Until the spell ends, you can use a bonus action on each of your subsequent turns to cause this damage again. \nIf a creature is holding or wearing the object and takes the damage from it, the creature must succeed on a Constitution saving throw or drop the object if it can. If it doesn't drop the object, it has disadvantage on attack rolls and ability checks until the start of your next turn. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 3rd level or higher, the damage increases by 1d8 for each slot level above 2nd."
+} \ No newline at end of file
diff --git a/parsed/spells/hellish_rebuke.json b/parsed/spells/hellish_rebuke.json
new file mode 100644
index 0000000..c61599b
--- /dev/null
+++ b/parsed/spells/hellish_rebuke.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "hellish rebuke",
+ "level": 1,
+ "type": "evocation",
+ "classes": [
+ "warlock"
+ ],
+ "casting_time": "1 reaction, which you take in response to being damaged by a creature within 60 feet of you that you can see",
+ "range": "60 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "You point your finger, and the creature that damaged you is momentarily surrounded by hellish flames. The creature must make a Dexterity saving throw. It takes 2d10 fire damage on a failed save, or half as much damage on a successful one. \n**At Higher Levels.** When you cast this spell using a spell slot of 2nd level or higher, the damage increases by 1d10 for each slot level above 1st."
+} \ No newline at end of file
diff --git a/parsed/spells/heroes'_feast.json b/parsed/spells/heroes'_feast.json
new file mode 100644
index 0000000..72b69c9
--- /dev/null
+++ b/parsed/spells/heroes'_feast.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "heroes' feast",
+ "level": 6,
+ "type": "conjuration",
+ "classes": [
+ "cleric",
+ "druid"
+ ],
+ "casting_time": "10 minutes",
+ "range": "30 feet",
+ "components": "V, S , M (a gem-encrusted bowl worth at least 1,000 gp, which the spell consumes)",
+ "duration": "Instantaneous",
+ "text": "You bring forth a great feast, including magnificent food and drink. The feast takes 1 hour to consume and disappears at the end of that time, and the beneficial effects don't set in until this hour is over. Up to twelve other creatures can partake of the feast. \nA creature that partakes of the feast gains several benefits. The creature is cured of all diseases and poison, becomes immune to poison and being frightened, and makes all Wisdom saving throws with advantage. Its hit point maximum also increases by 2d10, and it gains the same number of hit points. These benefits last for 24 hours."
+} \ No newline at end of file
diff --git a/parsed/spells/heroism.json b/parsed/spells/heroism.json
new file mode 100644
index 0000000..b810637
--- /dev/null
+++ b/parsed/spells/heroism.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "heroism",
+ "level": 1,
+ "type": "enchantment",
+ "classes": [
+ "bard",
+ "paladin"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 minute",
+ "text": "A willing creature you touch is imbued with bravery. Until the spell ends, the creature is immune to being frightened and gains temporary hit points equal to your spellcasting ability modifier at the start of each of its turns. When the spell ends, the target loses any remaining temporary hit points from this spell. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 2nd level or higher, you can target one additional creature for each slot level above 1st."
+} \ No newline at end of file
diff --git a/parsed/spells/hex.json b/parsed/spells/hex.json
new file mode 100644
index 0000000..f61066d
--- /dev/null
+++ b/parsed/spells/hex.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "hex",
+ "level": 1,
+ "type": "enchantment",
+ "classes": [
+ "warlock"
+ ],
+ "casting_time": "1 bonus action",
+ "range": "90 feet",
+ "components": "V, S, M (the petrified eye of a newt)",
+ "duration": "Concentration, up to 1 hour",
+ "text": "You place a curse on a creature that you can see within range. Until the spell ends, you deal an extra 1d6 necrotic damage to the target whenever you hit it with an attack. Also, choose one ability when you cast the spell. The target has disadvantage on ability checks made with the chosen ability.\nIf the target drops to 0 hit points before this spell ends, you can use a bonus action on a subsequent turn of yours to curse a new creature.\nA Remove Curse cast on the target ends this spell early.\nAt Higher Levels. When you cast this spell using a spell slot of 3rd or 4th level, you can maintain your concentration on the spell for up to 8 hours. When you use a spell slot of 5th level or higher, you can maintain your concentration on the spell for up to 24 hours."
+}
diff --git a/parsed/spells/hideous_laughter.json b/parsed/spells/hideous_laughter.json
new file mode 100644
index 0000000..5a5d4a8
--- /dev/null
+++ b/parsed/spells/hideous_laughter.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "hideous laughter",
+ "level": 1,
+ "type": "enchantment",
+ "classes": [
+ "bard",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S, M (tiny tarts and a feather that is waved in the air)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "A creature of your choice that you can see within range perceives everything as hilariously funny and falls into fits of laughter if this spell affects it. The target must succeed on a Wisdom saving throw or fall prone, becoming incapacitated and unable to stand up for the duration. A creature with an Intelligence score of 4 or less isn't affected. \nAt the end of each of its turns, and each time it takes damage, the target can make another Wisdom saving throw. The target has advantage on the saving throw if it's triggered by damage. On a success, the spell ends."
+} \ No newline at end of file
diff --git a/parsed/spells/hold_monster.json b/parsed/spells/hold_monster.json
new file mode 100644
index 0000000..fcd525f
--- /dev/null
+++ b/parsed/spells/hold_monster.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "hold monster",
+ "level": 5,
+ "type": "enchantment",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "90 feet",
+ "components": "V, S, M (a small, straight piece of iron)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "Choose a creature that you can see within range. The target must succeed on a Wisdom saving throw or be paralyzed for the duration. This spell has no effect on undead. At the end of each of its turns, the target can make another Wisdom saving throw. On a success, the spell ends on the target. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 6th level or higher, you can target one additional creature for each slot level above 5th. The creatures must be within 30 feet of each other when you target them."
+} \ No newline at end of file
diff --git a/parsed/spells/hold_person.json b/parsed/spells/hold_person.json
new file mode 100644
index 0000000..6c40972
--- /dev/null
+++ b/parsed/spells/hold_person.json
@@ -0,0 +1,19 @@
+{
+ "entry": "spells",
+ "name": "hold person",
+ "level": 2,
+ "type": "enchantment",
+ "classes": [
+ "bard",
+ "cleric",
+ "druid",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S, M (a small, straight piece of iron)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "Choose a humanoid that you can see within range. The target must succeed on a Wisdom saving throw or be paralyzed for the duration. At the end of each of its turns, the target can make another Wisdom saving throw. On a success, the spell ends on the target. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 3rd level or higher, you can target one additional humanoid for each slot level above 2nd. The humanoids must be within 30 feet of each other when you target them."
+} \ No newline at end of file
diff --git a/parsed/spells/holy_aura.json b/parsed/spells/holy_aura.json
new file mode 100644
index 0000000..6961c8b
--- /dev/null
+++ b/parsed/spells/holy_aura.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "holy aura",
+ "level": 8,
+ "type": "abjuration",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S, M (a tiny reliquary worth at least 1,000 gp containing a sacred relic, such as a scrap of cloth from a saint's robe or a piece of parchment from a religious text)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "Divine light washes out from you and coalesces in a soft radiance in a 30-foot radius around you. Creatures of your choice in that radius when you cast this spell shed dim light in a 5-foot radius and have advantage on all saving throws, and other creatures have disadvantage on attack rolls against them until the spell ends. In addition, when a fiend or an undead hits an affected creature with a melee attack, the aura flashes with brilliant light. The attacker must succeed on a Constitution saving throw or be blinded until the spell ends."
+} \ No newline at end of file
diff --git a/parsed/spells/hunter's_mark.json b/parsed/spells/hunter's_mark.json
new file mode 100644
index 0000000..daa7e05
--- /dev/null
+++ b/parsed/spells/hunter's_mark.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "hunter's mark",
+ "level": 1,
+ "type": "divination",
+ "classes": [
+ "ranger"
+ ],
+ "casting_time": "1 bonus action",
+ "range": "90 feet",
+ "components": "V",
+ "duration": "Concentration, up to 1 hour",
+ "text": "You choose a creature you can see within range and mystically mark it as your quarry. Until the spell ends, you deal an extra 1d6 damage to the target whenever you hit it with a weapon attack, and you have advantage on any Wisdom (Perception) or Wisdom (Survival) check you make to find it. If the target drops to 0 hit points before this spell ends, you can use a bonus action on a subsequent turn of yours to mark a new creature. \n**At Higher Levels.** When you cast this spell using a spell slot of 3rd or 4th level, you can maintain your concentration on the spell for up to 8 hours. When you use a spell slot of 5th level or higher, you can maintain your concentration on the spell for up to 24 hours."
+} \ No newline at end of file
diff --git a/parsed/spells/hypnotic_pattern.json b/parsed/spells/hypnotic_pattern.json
new file mode 100644
index 0000000..34f74f7
--- /dev/null
+++ b/parsed/spells/hypnotic_pattern.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "hypnotic pattern",
+ "level": 3,
+ "type": "illusion",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "S, M (a glowing stick of incense or a crystal vial filled with phosphorescent material)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You create a twisting pattern of colors that weaves through the air inside a 30-foot cube within range. The pattern appears for a moment and vanishes. Each creature in the area who sees the pattern must make a Wisdom saving throw. On a failed save, the creature becomes charmed for the duration. While charmed by this spell, the creature is incapacitated and has a speed of 0. \nThe spell ends for an affected creature if it takes any damage or if someone else uses an action to shake the creature out of its stupor."
+} \ No newline at end of file
diff --git a/parsed/spells/ice_storm.json b/parsed/spells/ice_storm.json
new file mode 100644
index 0000000..5a040a1
--- /dev/null
+++ b/parsed/spells/ice_storm.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "ice storm",
+ "level": 4,
+ "type": "evocation",
+ "classes": [
+ "druid",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "300 feet",
+ "components": "V, S, M (a pinch of dust and a few drops of water)",
+ "duration": "Instantaneous",
+ "text": "A hail of rock-hard ice pounds to the ground in a 20- foot-radius, 40-foot-high cylinder centered on a point within range. Each creature in the cylinder must make a Dexterity saving throw. A creature takes 2d8 bludgeoning damage and 4d6 cold damage on a failed save, or half as much damage on a successful one. \nHailstones turn the storm's area of effect into difficult terrain until the end of your next turn. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 5th level or higher, the bludgeoning damage increases by 1d8 for each slot level above 4th."
+} \ No newline at end of file
diff --git a/parsed/spells/identify.json b/parsed/spells/identify.json
new file mode 100644
index 0000000..029990d
--- /dev/null
+++ b/parsed/spells/identify.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "identify",
+ "level": 1,
+ "type": "divination",
+ "classes": [
+ "bard",
+ "wizard"
+ ],
+ "casting_time": "1 minute",
+ "range": "Touch",
+ "components": "V, S, M (a pearl worth at least 100 gp and an owl feather)",
+ "duration": "Instantaneous",
+ "text": "You choose one object that you must touch throughout the casting of the spell. If it is a magic item or some other magic-imbued object, you learn its properties and how to use them, whether it requires attunement to use, and how many charges it has, if any. You learn whether any spells are affecting the item and what they are. If the item was created by a spell, you learn which spell created it. \nIf you instead touch a creature throughout the casting, you learn what spells, if any, are currently affecting it."
+} \ No newline at end of file
diff --git a/parsed/spells/illusory_script.json b/parsed/spells/illusory_script.json
new file mode 100644
index 0000000..fa02e45
--- /dev/null
+++ b/parsed/spells/illusory_script.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "illusory script",
+ "level": 1,
+ "type": "illusion",
+ "classes": [
+ "bard",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 minute",
+ "range": "Touch",
+ "components": "S, M (a lead-based ink worth at least 10 gp, which the spell consumes)",
+ "duration": "10 days",
+ "text": "You write on parchment, paper, or some other suitable writing material and imbue it with a potent illusion that lasts for the duration. \nTo you and any creatures you designate when you cast the spell, the writing appears normal, written in your hand, and conveys whatever meaning you intended when you wrote the text. To all others, the writing appears as if it were written in an unknown or magical script that is unintelligible. Alternatively, you can cause the writing to appear to be an entirely different message, written in a different hand and language, though the language must be one you know. \nShould the spell be dispelled, the original script and the illusion both disappear. \nA creature with truesight can read the hidden message."
+} \ No newline at end of file
diff --git a/parsed/spells/imprisonment.json b/parsed/spells/imprisonment.json
new file mode 100644
index 0000000..b4d0b6c
--- /dev/null
+++ b/parsed/spells/imprisonment.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "imprisonment",
+ "level": 9,
+ "type": "abjuration",
+ "classes": [
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 minute",
+ "range": "30 feet",
+ "components": "V, S, M (a vellum depiction or a carved statuette in the likeness of the target, and a special component that varies according to the version of the spell you choose, worth at least 500 gp per Hit Die of the target)",
+ "duration": "Until dispelled",
+ "text": "You create a magical restraint to hold a creature that you can see within range. The target must succeed on a Wisdom saving throw or be bound by the spell; if it succeeds, it is immune to this spell if you cast it again. While affected by this spell, the creature doesn't need to breathe, eat, or drink, and it doesn't age. Divination spells can't locate or perceive the target. \nWhen you cast the spell, you choose one of the following forms of imprisonment. \n**Burial.** The target is entombed far beneath the earth in a sphere of magical force that is just large enough to contain the target. Nothing can pass through the sphere, nor can any creature teleport or use planar travel to get into or out of it. \nThe special component for this version of the spell is a small mithral orb. \n**Chaining.** Heavy chains, firmly rooted in the ground, hold the target in place. The target is restrained until the spell ends, and it can't move or be moved by any means until then. \nThe special component for this version of the spell is a fine chain of precious metal. \n**Hedged Prison.** The spell transports the target into a tiny demiplane that is warded against teleportation and planar travel. The demiplane can be a labyrinth, a cage, a tower, or any similar confined structure or area of your choice. \nThe special component for this version of the spell is a miniature representation of the prison made from jade. \n**Minimus Containment.** The target shrinks to a height of 1 inch and is imprisoned inside a gemstone or similar object. Light can pass through the gemstone normally (allowing the target to see out and other creatures to see in), but nothing else can pass through, even by means of teleportation or planar travel. The gemstone can't be cut or broken while the spell remains in effect. \nThe special component for this version of the spell is a large, transparent gemstone, such as a corundum, diamond, or ruby. \n**Slumber.** The target falls asleep and can't be awoken. The special component for this version of the spell consists of rare soporific herbs. \n**Ending the Spell.** During the casting of the spell, in any of its versions, you can specify a condition that will cause the spell to end and release the target. The condition can be as specific or as elaborate as you choose, but the GM must agree that the condition is reasonable and has a likelihood of coming to pass. The conditions can be based on a creature's name, identity, or deity but otherwise must be based on observable actions or qualities and not based on intangibles such as level, class, or hit points. \nA **_dispel magic_** spell can end the spell only if it is cast as a 9th-level spell, targeting either the prison or the special component used to create it. \nYou can use a particular special component to create only one prison at a time. If you cast the spell again using the same component, the target of the first casting is immediately freed from its binding."
+} \ No newline at end of file
diff --git a/parsed/spells/incendiary_cloud.json b/parsed/spells/incendiary_cloud.json
new file mode 100644
index 0000000..aa10047
--- /dev/null
+++ b/parsed/spells/incendiary_cloud.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "incendiary cloud",
+ "level": 8,
+ "type": "conjuration",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "150 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 minute",
+ "text": "A swirling cloud of smoke shot through with white- hot embers appears in a 20-foot-radius sphere centered on a point within range. The cloud spreads around corners and is heavily obscured. It lasts for the duration or until a wind of moderate or greater speed (at least 10 miles per hour) disperses it. \nWhen the cloud appears, each creature in it must make a Dexterity saving throw. A creature takes 10d8 fire damage on a failed save, or half as much damage on a successful one. A creature must also make this saving throw when it enters the spell's area for the first time on a turn or ends its turn there. \nThe cloud moves 10 feet directly away from you in a direction that you choose at the start of each of your turns."
+} \ No newline at end of file
diff --git a/parsed/spells/inflict_wounds.json b/parsed/spells/inflict_wounds.json
new file mode 100644
index 0000000..2d6010c
--- /dev/null
+++ b/parsed/spells/inflict_wounds.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "inflict wounds",
+ "level": 1,
+ "type": "necromancy",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "Make a melee spell attack against a creature you can reach. On a hit, the target takes 3d10 necrotic damage. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 2nd level or higher, the damage increases by 1d10 for each slot level above 1st."
+} \ No newline at end of file
diff --git a/parsed/spells/insect_plague.json b/parsed/spells/insect_plague.json
new file mode 100644
index 0000000..0e4cba9
--- /dev/null
+++ b/parsed/spells/insect_plague.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "insect plague",
+ "level": 5,
+ "type": "conjuration",
+ "classes": [
+ "cleric",
+ "druid",
+ "sorcerer"
+ ],
+ "casting_time": "1 action",
+ "range": "300 feet",
+ "components": "V, S, M (a few grains of sugar, some kernels of grain, and a smear of fat)",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "Swarming, biting locusts fill a 20-foot-radius sphere centered on a point you choose within range. The sphere spreads around corners. The sphere remains for the duration, and its area is lightly obscured. The sphere's area is difficult terrain. \nWhen the area appears, each creature in it must make a Constitution saving throw. A creature takes 4d10 piercing damage on a failed save, or half as much damage on a successful one. A creature must also make this saving throw when it enters the spell's area for the first time on a turn or ends its turn there. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 6th level or higher, the damage increases by 1d10 for each slot level above 5th."
+} \ No newline at end of file
diff --git a/parsed/spells/instant_summons.json b/parsed/spells/instant_summons.json
new file mode 100644
index 0000000..cf31068
--- /dev/null
+++ b/parsed/spells/instant_summons.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "instant summons",
+ "level": 6,
+ "type": "conjuration",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 minute",
+ "range": "Touch",
+ "components": "V, S, M (a sapphire worth 1,000 gp)",
+ "duration": "Until dispelled",
+ "text": "You touch an object weighing 10 pounds or less whose longest dimension is 6 feet or less. The spell leaves an invisible mark on its surface and invisibly inscribes the name of the item on the sapphire you use as the material component. Each time you cast this spell, you must use a different sapphire. \nAt any time thereafter, you can use your action to speak the item's name and crush the sapphire. The item instantly appears in your hand regardless of physical or planar distances, and the spell ends. \nIf another creature is holding or carrying the item, crushing the sapphire doesn't transport the item to you, but instead you learn who the creature possessing the object is and roughly where that creature is located at that moment. \n**_Dispel magic_** or a similar effect successfully applied to the sapphire ends this spell's effect."
+} \ No newline at end of file
diff --git a/parsed/spells/invisibility.json b/parsed/spells/invisibility.json
new file mode 100644
index 0000000..c8ee68c
--- /dev/null
+++ b/parsed/spells/invisibility.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "invisibility",
+ "level": 2,
+ "type": "illusion",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (an eyelash encased in gum arabic)",
+ "duration": "Concentration, up to 1 hour",
+ "text": "A creature you touch becomes invisible until the spell ends. Anything the target is wearing or carrying is invisible as long as it is on the target's person. The spell ends for a target that attacks or casts a spell. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 3rd level or higher, you can target one additional creature for each slot level above 2nd."
+} \ No newline at end of file
diff --git a/parsed/spells/irresistible_dance.json b/parsed/spells/irresistible_dance.json
new file mode 100644
index 0000000..7e6941e
--- /dev/null
+++ b/parsed/spells/irresistible_dance.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "irresistible dance",
+ "level": 6,
+ "type": "enchantment",
+ "classes": [
+ "bard",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V",
+ "duration": "Concentration, up to 1 minute",
+ "text": "Choose one creature that you can see within range. The target begins a comic dance in place: shuffling, tapping its feet, and capering for the duration. Creatures that can't be charmed are immune to this spell. \nA dancing creature must use all its movement to dance without leaving its space and has disadvantage on Dexterity saving throws and attack rolls. While the target is affected by this spell, other creatures have advantage on attack rolls against it. As an action, a dancing creature makes a Wisdom saving throw to regain control of itself. On a successful save, the spell ends."
+} \ No newline at end of file
diff --git a/parsed/spells/jump.json b/parsed/spells/jump.json
new file mode 100644
index 0000000..9d6d0a1
--- /dev/null
+++ b/parsed/spells/jump.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "jump",
+ "level": 1,
+ "type": "transmutation",
+ "classes": [
+ "druid",
+ "ranger",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (a grasshopper's hind leg)",
+ "duration": "1 minute",
+ "text": "You touch a creature. The creature's jump distance is tripled until the spell ends."
+} \ No newline at end of file
diff --git a/parsed/spells/knock.json b/parsed/spells/knock.json
new file mode 100644
index 0000000..28caa62
--- /dev/null
+++ b/parsed/spells/knock.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "knock",
+ "level": 2,
+ "type": "transmutation",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V",
+ "duration": "Instantaneous",
+ "text": "Choose an object that you can see within range. The object can be a door, a box, a chest, a set of manacles, a padlock, or another object that contains a mundane or magical means that prevents access. \nA target that is held shut by a mundane lock or that is stuck or barred becomes unlocked, unstuck, or unbarred. If the object has multiple locks, only one of them is unlocked. \nIf you choose a target that is held shut with **_arcane lock_**, that spell is suppressed for 10 minutes, during which time the target can be opened and shut normally. \nWhen you cast the spell, a loud knock, audible from as far away as 300 feet, emanates from the target object."
+} \ No newline at end of file
diff --git a/parsed/spells/legend_lore.json b/parsed/spells/legend_lore.json
new file mode 100644
index 0000000..769058f
--- /dev/null
+++ b/parsed/spells/legend_lore.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "legend lore",
+ "level": 5,
+ "type": "divination",
+ "classes": [
+ "bard",
+ "cleric",
+ "wizard"
+ ],
+ "casting_time": "10 minutes",
+ "range": "Self",
+ "components": "V, S, M (incense worth at least 250 gp, which the spell consumes, and four ivory strips worth at least 50 gp each)",
+ "duration": "Instantaneous",
+ "text": "Name or describe a person, place, or object. The spell brings to your mind a brief summary of the significant lore about the thing you named. The lore might consist of current tales, forgotten stories, or even secret lore that has never been widely known. If the thing you named isn't of legendary importance, you gain no information. The more information you already have about the thing, the more precise and detailed the information you receive is. \nThe information you learn is accurate but might be couched in figurative language. For example, if you have a mysterious magic axe on hand, the spell might yield this information: \u201cWoe to the evildoer whose hand touches the axe, for even the haft slices the hand of the evil ones. Only a true Child of Stone, lover and beloved of Moradin, may awaken the true powers of the axe, and only with the sacred word **Rudnogg** on the lips.\""
+} \ No newline at end of file
diff --git a/parsed/spells/lesser_restoration.json b/parsed/spells/lesser_restoration.json
new file mode 100644
index 0000000..1205548
--- /dev/null
+++ b/parsed/spells/lesser_restoration.json
@@ -0,0 +1,18 @@
+{
+ "entry": "spells",
+ "name": "lesser restoration",
+ "level": 2,
+ "type": "abjuration",
+ "classes": [
+ "bard",
+ "cleric",
+ "druid",
+ "paladin",
+ "ranger"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "You touch a creature and can end either one disease or one condition afflicting it. The condition can be blinded, deafened, paralyzed, or poisoned."
+} \ No newline at end of file
diff --git a/parsed/spells/levitate.json b/parsed/spells/levitate.json
new file mode 100644
index 0000000..fd62b23
--- /dev/null
+++ b/parsed/spells/levitate.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "levitate",
+ "level": 2,
+ "type": "transmutation",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S, M (either a small leather loop or a piece of golden wire bent into a cup shape with a long shank on one end)",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "One creature or object of your choice that you can see within range rises vertically, up to 20 feet, and remains suspended there for the duration. The spell can levitate a target that weighs up to 500 pounds. An unwilling creature that succeeds on a Constitution saving throw is unaffected. \nThe target can move only by pushing or pulling against a fixed object or surface within reach (such as a wall or a ceiling), which allows it to move as if it were climbing. You can change the target's altitude by up to 20 feet in either direction on your turn. If you are the target, you can move up or down as part of your move. Otherwise, you can use your action to move the target, which must remain within the spell's range. \nWhen the spell ends, the target floats gently to the ground if it is still aloft."
+} \ No newline at end of file
diff --git a/parsed/spells/light.json b/parsed/spells/light.json
new file mode 100644
index 0000000..a751329
--- /dev/null
+++ b/parsed/spells/light.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "light",
+ "level": 0,
+ "type": "evocation",
+ "classes": [
+ "bard",
+ "cleric",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, M (a firefly or phosphorescent moss)",
+ "duration": "1 hour",
+ "text": "You touch one object that is no larger than 10 feet in any dimension. Until the spell ends, the object sheds bright light in a 20-foot radius and dim light for an additional 20 feet. The light can be colored as you like. Completely covering the object with something opaque blocks the light. The spell ends if you cast it again or dismiss it as an action. \nIf you target an object held or worn by a hostile creature, that creature must succeed on a Dexterity saving throw to avoid the spell."
+} \ No newline at end of file
diff --git a/parsed/spells/lightning_bolt.json b/parsed/spells/lightning_bolt.json
new file mode 100644
index 0000000..33f164b
--- /dev/null
+++ b/parsed/spells/lightning_bolt.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "lightning bolt",
+ "level": 3,
+ "type": "evocation",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self (100-foot line)",
+ "components": "V, S, M (a bit of fur and a rod of amber, crystal, or glass)",
+ "duration": "Instantaneous",
+ "text": "A stroke of lightning forming a line 100 feet long and 5 feet wide blasts out from you in a direction you choose. Each creature in the line must make a Dexterity saving throw. A creature takes 8d6 lightning damage on a failed save, or half as much damage on a successful one. \nThe lightning ignites flammable objects in the area that aren't being worn or carried. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 4th level or higher, the damage increases by 1d6 for each slot level above 3rd."
+} \ No newline at end of file
diff --git a/parsed/spells/locate_animals_or_plants.json b/parsed/spells/locate_animals_or_plants.json
new file mode 100644
index 0000000..31eba86
--- /dev/null
+++ b/parsed/spells/locate_animals_or_plants.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "locate animals or plants",
+ "level": 2,
+ "type": "divination",
+ "classes": [
+ "bard",
+ "druid",
+ "ranger"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S, M (a bit of fur from a bloodhound)",
+ "duration": "Instantaneous",
+ "text": "Describe or name a specific kind of beast or plant. Concentrating on the voice of nature in your surroundings, you learn the direction and distance to the closest creature or plant of that kind within 5 miles, if any are present."
+} \ No newline at end of file
diff --git a/parsed/spells/locate_creature.json b/parsed/spells/locate_creature.json
new file mode 100644
index 0000000..8ae33bb
--- /dev/null
+++ b/parsed/spells/locate_creature.json
@@ -0,0 +1,19 @@
+{
+ "entry": "spells",
+ "name": "locate creature",
+ "level": 4,
+ "type": "divination",
+ "classes": [
+ "bard",
+ "cleric",
+ "druid",
+ "paladin",
+ "ranger",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S, M (a bit of fur from a bloodhound)",
+ "duration": "Concentration, up to 1 hour",
+ "text": "Describe or name a creature that is familiar to you. You sense the direction to the creature's location, as long as that creature is within 1,000 feet of you. If the creature is moving, you know the direction of its movement. \nThe spell can locate a specific creature known to you, or the nearest creature of a specific kind (such as a human or a unicorn), so long as you have seen such a creature up close--within 30 feet--at least once. If the creature you described or named is in a different form, such as being under the effects of a **_polymorph_** spell, this spell doesn't locate the creature. \nThis spell can't locate a creature if running water at least 10 feet wide blocks a direct path between you and the creature."
+} \ No newline at end of file
diff --git a/parsed/spells/locate_object.json b/parsed/spells/locate_object.json
new file mode 100644
index 0000000..be6b18f
--- /dev/null
+++ b/parsed/spells/locate_object.json
@@ -0,0 +1,19 @@
+{
+ "entry": "spells",
+ "name": "locate object",
+ "level": 2,
+ "type": "divination",
+ "classes": [
+ "bard",
+ "cleric",
+ "druid",
+ "paladin",
+ "ranger",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S, M (a forked twig)",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "Describe or name an object that is familiar to you. You sense the direction to the object's location, as long as that object is within 1,000 feet of you. If the object is in motion, you know the direction of its movement. \nThe spell can locate a specific object known to you, as long as you have seen it up close--within 30 feet--at least once. Alternatively, the spell can locate the nearest object of a particular kind, such as a certain kind of apparel, jewelry, furniture, tool, or weapon. \nThis spell can't locate an object if any thickness of lead, even a thin sheet, blocks a direct path between you and the object."
+} \ No newline at end of file
diff --git a/parsed/spells/longstrider.json b/parsed/spells/longstrider.json
new file mode 100644
index 0000000..9068017
--- /dev/null
+++ b/parsed/spells/longstrider.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "longstrider",
+ "level": 1,
+ "type": "transmutation",
+ "classes": [
+ "bard",
+ "druid",
+ "ranger",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (a pinch of dirt)",
+ "duration": "1 hour",
+ "text": "You touch a creature. The target's speed increases by 10 feet until the spell ends. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 2nd level or higher, you can target one additional creature for each slot level above 1st."
+} \ No newline at end of file
diff --git a/parsed/spells/mage_armor.json b/parsed/spells/mage_armor.json
new file mode 100644
index 0000000..b5ef8d5
--- /dev/null
+++ b/parsed/spells/mage_armor.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "mage armor",
+ "level": 1,
+ "type": "abjuration",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (a piece of cured leather)",
+ "duration": "8 hours",
+ "text": "You touch a willing creature who isn't wearing armor, and a protective magical force surrounds it until the spell ends. The target's base AC becomes 13 + its Dexterity modifier. The spell ends if the target dons armor or if you dismiss the spell as an action."
+} \ No newline at end of file
diff --git a/parsed/spells/mage_hand.json b/parsed/spells/mage_hand.json
new file mode 100644
index 0000000..eb092f1
--- /dev/null
+++ b/parsed/spells/mage_hand.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "mage hand",
+ "level": 0,
+ "type": "conjuration",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S",
+ "duration": "1 minute",
+ "text": "A spectral, floating hand appears at a point you choose within range. The hand lasts for the duration or until you dismiss it as an action. The hand vanishes if it is ever more than 30 feet away from you or if you cast this spell again. \nYou can use your action to control the hand. You can use the hand to manipulate an object, open an unlocked door or container, stow or retrieve an item from an open container, or pour the contents out of a vial. You can move the hand up to 30 feet each time you use it. \nThe hand can't attack, activate magic items, or carry more than 10 pounds."
+} \ No newline at end of file
diff --git a/parsed/spells/magic_circle.json b/parsed/spells/magic_circle.json
new file mode 100644
index 0000000..2c1fbbb
--- /dev/null
+++ b/parsed/spells/magic_circle.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "magic circle",
+ "level": 3,
+ "type": "abjuration",
+ "classes": [
+ "cleric",
+ "paladin",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 minute",
+ "range": "10 feet",
+ "components": "V, S, M (holy water or powdered silver and iron worth at least 100 gp, which the spell consumes)",
+ "duration": "1 hour",
+ "text": "You create a 10-foot-radius, 20-foot-tall cylinder of magical energy centered on a point on the ground that you can see within range. Glowing runes appear wherever the cylinder intersects with the floor or other surface. \nChoose one or more of the following types of creatures: celestials, elementals, fey, fiends, or undead. The circle affects a creature of the chosen type in the following ways: \n\n* The creature can't willingly enter the cylinder by nonmagical means. If the creature tries to use teleportation or interplanar travel to do so, it must first succeed on a Charisma saving throw.\n* The creature has disadvantage on attack rolls against targets within the cylinder.\n* Targets within the cylinder can't be charmed, frightened, or possessed by the creature. \n\nWhen you cast this spell, you can elect to cause its magic to operate in the reverse direction, preventing a creature of the specified type from leaving the cylinder and protecting targets outside it. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 4th level or higher, the duration increases by 1 hour for each slot level above 3rd."
+} \ No newline at end of file
diff --git a/parsed/spells/magic_jar.json b/parsed/spells/magic_jar.json
new file mode 100644
index 0000000..66d807d
--- /dev/null
+++ b/parsed/spells/magic_jar.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "magic jar",
+ "level": 6,
+ "type": "necromancy",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 minute",
+ "range": "Self",
+ "components": "V, S, M (a gem, crystal, reliquary, or some other ornamental container worth at least 500 gp)",
+ "duration": "Until dispelled",
+ "text": "Your body falls into a catatonic state as your soul leaves it and enters the container you used for the spell's material component. While your soul inhabits the container, you are aware of your surroundings as if you were in the container's space. You can't move or use reactions. The only action you can take is to project your soul up to 100 feet out of the container, either returning to your living body (and ending the spell) or attempting to possess a humanoids body. \nYou can attempt to possess any humanoid within 100 feet of you that you can see (creatures warded by a **_protection from evil and good_** or **_magic circle_** spell can't be possessed). The target must make a Charisma saving throw. On a failure, your soul moves into the target's body, and the target's soul becomes trapped in the container. On a success, the target resists your efforts to possess it, and you can't attempt to possess it again for 24 hours. \nOnce you possess a creature's body, you control it. Your game statistics are replaced by the statistics of the creature, though you retain your alignment and your Intelligence, Wisdom, and Charisma scores. You retain the benefit of your own class features. If the target has any class levels, you can't use any of its class features. \nMeanwhile, the possessed creature's soul can perceive from the container using its own senses, but it can't move or take actions at all. \nWhile possessing a body, you can use your action to return from the host body to the container if it is within 100 feet of you, returning the host creature's soul to its body. If the host body dies while you're in it, the creature dies, and you must make a Charisma saving throw against your own spellcasting DC. On a success, you return to the container if it is within 100 feet of you. Otherwise, you die. \nIf the container is destroyed or the spell ends, your soul immediately returns to your body. If your body is more than 100 feet away from you or if your body is dead when you attempt to return to it, you die. If another creature's soul is in the container when it is destroyed, the creature's soul returns to its body if the body is alive and within 100 feet. Otherwise, that creature dies. \nWhen the spell ends, the container is destroyed."
+} \ No newline at end of file
diff --git a/parsed/spells/magic_missile.json b/parsed/spells/magic_missile.json
new file mode 100644
index 0000000..bfcfb16
--- /dev/null
+++ b/parsed/spells/magic_missile.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "magic missile",
+ "level": 1,
+ "type": "evocation",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "You create three glowing darts of magical force. Each dart hits a creature of your choice that you can see within range. A dart deals 1d4 + 1 force damage to its target. The darts all strike simultaneously, and you can direct them to hit one creature or several. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 2nd level or higher, the spell creates one more dart for each slot level above 1st."
+} \ No newline at end of file
diff --git a/parsed/spells/magic_mouth.json b/parsed/spells/magic_mouth.json
new file mode 100644
index 0000000..f35ceef
--- /dev/null
+++ b/parsed/spells/magic_mouth.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "magic mouth",
+ "level": 2,
+ "type": "illusion",
+ "classes": [
+ "bard",
+ "wizard"
+ ],
+ "casting_time": "1 minute",
+ "range": "30 feet",
+ "components": "V, S, M (a small bit of honeycomb and jade dust worth at least 10 gp, which the spell consumes)",
+ "duration": "Until dispelled",
+ "text": "You implant a message within an object in range, a message that is uttered when a trigger condition is met. Choose an object that you can see and that isn't being worn or carried by another creature. Then speak the message, which must be 25 words or less, though it can be delivered over as long as 10 minutes. Finally, determine the circumstance that will trigger the spell to deliver your message. \nWhen that circumstance occurs, a magical mouth appears on the object and recites the message in your voice and at the same volume you spoke. If the object you chose has a mouth or something that looks like a mouth (for example, the mouth of a statue), the magical mouth appears there so that the words appear to come from the object's mouth. When you cast this spell, you can have the spell end after it delivers its message, or it can remain and repeat its message whenever the trigger occurs. \nThe triggering circumstance can be as general or as detailed as you like, though it must be based on visual or audible conditions that occur within 30 feet of the object. For example, you could instruct the mouth to speak when any creature moves within 30 feet of the object or when a silver bell rings within 30 feet of it."
+} \ No newline at end of file
diff --git a/parsed/spells/magic_weapon.json b/parsed/spells/magic_weapon.json
new file mode 100644
index 0000000..f5ecbeb
--- /dev/null
+++ b/parsed/spells/magic_weapon.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "magic weapon",
+ "level": 2,
+ "type": "transmutation",
+ "classes": [
+ "paladin",
+ "wizard"
+ ],
+ "casting_time": "1 bonus action",
+ "range": "Touch",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 hour",
+ "text": "You touch a nonmagical weapon. Until the spell ends, that weapon becomes a magic weapon with a +1 bonus to attack rolls and damage rolls. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 4th level or higher, the bonus increases to +2. When you use a spell slot of 6th level or higher, the bonus increases to +3."
+} \ No newline at end of file
diff --git a/parsed/spells/magnificent_mansion.json b/parsed/spells/magnificent_mansion.json
new file mode 100644
index 0000000..383176d
--- /dev/null
+++ b/parsed/spells/magnificent_mansion.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "magnificent mansion",
+ "level": 7,
+ "type": "conjuration",
+ "classes": [
+ "bard",
+ "wizard"
+ ],
+ "casting_time": "1 minute",
+ "range": "300 feet",
+ "components": "V, S, M (a miniature portal carved from ivory, a small piece of polished marble, and a tiny silver spoon, each item worth at least 5 gp)",
+ "duration": "24 hours",
+ "text": "You conjure an extradimensional dwelling in range that lasts for the duration. You choose where its one entrance is located. The entrance shimmers faintly and is 5 feet wide and 10 feet tall. You and any creature you designate when you cast the spell can enter the extradimensional dwelling as long as the portal remains open. You can open or close the portal if you are within 30 feet of it. While closed, the portal is invisible. \nBeyond the portal is a magnificent foyer with numerous chambers beyond. The atmosphere is clean, fresh, and warm. \nYou can create any floor plan you like, but the space can't exceed 50 cubes, each cube being 10 feet on each side. The place is furnished and decorated as you choose. It contains sufficient food to serve a nine-course banquet for up to 100 people. A staff of 100 near-transparent servants attends all who enter. You decide the visual appearance of these servants and their attire. They are completely obedient to your orders. Each servant can perform any task a normal human servant could perform, but they can't attack or take any action that would directly harm another creature. Thus the servants can fetch things, clean, mend, fold clothes, light fires, serve food, pour wine, and so on. The servants can go anywhere in the mansion but can't leave it. Furnishings and other objects created by this spell dissipate into smoke if removed from the mansion. When the spell ends, any creatures inside the extradimensional space are expelled into the open spaces nearest to the entrance."
+} \ No newline at end of file
diff --git a/parsed/spells/major_image.json b/parsed/spells/major_image.json
new file mode 100644
index 0000000..a87156a
--- /dev/null
+++ b/parsed/spells/major_image.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "major image",
+ "level": 3,
+ "type": "illusion",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S, M (a bit of fleece)",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "You create the image of an object, a creature, or some other visible phenomenon that is no larger than a 20-foot cube. The image appears at a spot that you can see within range and lasts for the duration. It seems completely real, including sounds, smells, and temperature appropriate to the thing depicted. You can't create sufficient heat or cold to cause damage, a sound loud enough to deal thunder damage or deafen a creature, or a smell that might sicken a creature (like a troglodyte's stench). \nAs long as you are within range of the illusion, you can use your action to cause the image to move to any other spot within range. As the image changes location, you can alter its appearance so that its movements appear natural for the image. For example, if you create an image of a creature and move it, you can alter the image so that it appears to be walking. Similarly, you can cause the illusion to make different sounds at different times, even making it carry on a conversation, for example. \nPhysical interaction with the image reveals it to be an illusion, because things can pass through it. A creature that uses its action to examine the image can determine that it is an illusion with a successful Intelligence (Investigation) check against your spell save DC. If a creature discerns the illusion for what it is, the creature can see through the image, and its other sensory qualities become faint to the creature. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 6th level or higher, the spell lasts until dispelled, without requiring your concentration."
+} \ No newline at end of file
diff --git a/parsed/spells/mass_cure_wounds.json b/parsed/spells/mass_cure_wounds.json
new file mode 100644
index 0000000..79badea
--- /dev/null
+++ b/parsed/spells/mass_cure_wounds.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "mass cure wounds",
+ "level": 5,
+ "type": "evocation",
+ "classes": [
+ "bard",
+ "cleric",
+ "druid"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "A wave of healing energy washes out from a point of your choice within range. Choose up to six creatures in a 30-foot-radius sphere centered on that point. Each target regains hit points equal to 3d8 + your spellcasting ability modifier. This spell has no effect on undead or constructs. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 6th level or higher, the healing increases by 1d8 for each slot level above 5th."
+} \ No newline at end of file
diff --git a/parsed/spells/mass_heal.json b/parsed/spells/mass_heal.json
new file mode 100644
index 0000000..b067571
--- /dev/null
+++ b/parsed/spells/mass_heal.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "mass heal",
+ "level": 9,
+ "type": "evocation",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "A flood of healing energy flows from you into injured creatures around you. You restore up to 700 hit points, divided as you choose among any number of creatures that you can see within range. Creatures healed by this spell are also cured of all diseases and any effect making them blinded or deafened. This spell has no effect on undead or constructs."
+} \ No newline at end of file
diff --git a/parsed/spells/mass_healing_word.json b/parsed/spells/mass_healing_word.json
new file mode 100644
index 0000000..4f573b3
--- /dev/null
+++ b/parsed/spells/mass_healing_word.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "mass healing word",
+ "level": 3,
+ "type": "evocation",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "1 bonus action",
+ "range": "60 feet",
+ "components": "V",
+ "duration": "Instantaneous",
+ "text": "As you call out words of restoration, up to six creatures of your choice that you can see within range regain hit points equal to 1d4 + your spellcasting ability modifier. This spell has no effect on undead or constructs. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 4th level or higher, the healing increases by 1d4 for each slot level above 3rd."
+} \ No newline at end of file
diff --git a/parsed/spells/mass_suggestion.json b/parsed/spells/mass_suggestion.json
new file mode 100644
index 0000000..b8e7404
--- /dev/null
+++ b/parsed/spells/mass_suggestion.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "mass suggestion",
+ "level": 6,
+ "type": "enchantment",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, M (a snake's tongue and either a bit of honeycomb or a drop of sweet oil)",
+ "duration": "24 hours",
+ "text": "You suggest a course of activity (limited to a sentence or two) and magically influence up to twelve creatures of your choice that you can see within range and that can hear and understand you. Creatures that can't be charmed are immune to this effect. The suggestion must be worded in such a manner as to make the course of action sound reasonable. Asking the creature to stab itself, throw itself onto a spear, immolate itself, or do some other obviously harmful act automatically negates the effect of the spell. \nEach target must make a Wisdom saving throw. On a failed save, it pursues the course of action you described to the best of its ability. The suggested course of action can continue for the entire duration. If the suggested activity can be completed in a shorter time, the spell ends when the subject finishes what it was asked to do. \nYou can also specify conditions that will trigger a special activity during the duration. For example, you might suggest that a group of soldiers give all their money to the first beggar they meet. If the condition isn't met before the spell ends, the activity isn't performed. \nIf you or any of your companions damage a creature affected by this spell, the spell ends for that creature. \n\n**At Higher Levels.** When you cast this spell using a 7th-level spell slot, the duration is 10 days. When you use an 8th-level spell slot, the duration is 30 days. When you use a 9th-level spell slot, the duration is a year and a day."
+} \ No newline at end of file
diff --git a/parsed/spells/maze.json b/parsed/spells/maze.json
new file mode 100644
index 0000000..464e41f
--- /dev/null
+++ b/parsed/spells/maze.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "maze",
+ "level": 8,
+ "type": "conjuration",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "You banish a creature that you can see within range into a labyrinthine demiplane. The target remains there for the duration or until it escapes the maze. \nThe target can use its action to attempt to escape. When it does so, it makes a DC 20 Intelligence check. If it succeeds, it escapes, and the spell ends (a minotaur or goristro demon automatically succeeds). \nWhen the spell ends, the target reappears in the space it left or, if that space is occupied, in the nearest unoccupied space."
+} \ No newline at end of file
diff --git a/parsed/spells/meld_into_stone.json b/parsed/spells/meld_into_stone.json
new file mode 100644
index 0000000..c36e254
--- /dev/null
+++ b/parsed/spells/meld_into_stone.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "meld into stone",
+ "level": 3,
+ "type": "transmutation",
+ "classes": [
+ "cleric",
+ "druid"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S",
+ "duration": "8 hours",
+ "text": "You step into a stone object or surface large enough to fully contain your body, melding yourself and all the equipment you carry with the stone for the duration. Using your movement, you step into the stone at a point you can touch. Nothing of your presence remains visible or otherwise detectable by nonmagical senses. \nWhile merged with the stone, you can't see what occurs outside it, and any Wisdom (Perception) checks you make to hear sounds outside it are made with disadvantage. You remain aware of the passage of time and can cast spells on yourself while merged in the stone. You can use your movement to leave the stone where you entered it, which ends the spell. You otherwise can't move. \nMinor physical damage to the stone doesn't harm you, but its partial destruction or a change in its shape (to the extent that you no longer fit within it) expels you and deals 6d6 bludgeoning damage to you. The stone's complete destruction (or transmutation into a different substance) expels you and deals 50 bludgeoning damage to you. If expelled, you fall prone in an unoccupied space closest to where you first entered."
+} \ No newline at end of file
diff --git a/parsed/spells/mending.json b/parsed/spells/mending.json
new file mode 100644
index 0000000..a603ad7
--- /dev/null
+++ b/parsed/spells/mending.json
@@ -0,0 +1,18 @@
+{
+ "entry": "spells",
+ "name": "mending",
+ "level": 0,
+ "type": "transmutation",
+ "classes": [
+ "bard",
+ "cleric",
+ "druid",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 minute",
+ "range": "Touch",
+ "components": "V, S, M (two lodestones)",
+ "duration": "Instantaneous",
+ "text": "This spell repairs a single break or tear in an object you touch, such as a broken chain link, two halves of a broken key, a torn cloak, or a leaking wineskin. As long as the break or tear is no larger than 1 foot in any dimension, you mend it, leaving no trace of the former damage. \nThis spell can physically repair a magic item or construct, but the spell can't restore magic to such an object."
+} \ No newline at end of file
diff --git a/parsed/spells/message.json b/parsed/spells/message.json
new file mode 100644
index 0000000..ec14bd4
--- /dev/null
+++ b/parsed/spells/message.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "message",
+ "level": 0,
+ "type": "transmutation",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S, M (a short piece of copper wire)",
+ "duration": "1 round",
+ "text": "You point your finger toward a creature within range and whisper a message. The target (and only the target) hears the message and can reply in a whisper that only you can hear. \nYou can cast this spell through solid objects if you are familiar with the target and know it is beyond the barrier. Magical silence, 1 foot of stone, 1 inch of common metal, a thin sheet of lead, or 3 feet of wood blocks the spell. The spell doesn't have to follow a straight line and can travel freely around corners or through openings."
+} \ No newline at end of file
diff --git a/parsed/spells/meteor_swarm.json b/parsed/spells/meteor_swarm.json
new file mode 100644
index 0000000..68334a4
--- /dev/null
+++ b/parsed/spells/meteor_swarm.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "meteor swarm",
+ "level": 9,
+ "type": "evocation",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "1 mile",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "Blazing orbs of fire plummet to the ground at four different points you can see within range. Each creature in a 40-foot-radius sphere centered on each point you choose must make a Dexterity saving throw. The sphere spreads around corners. A creature takes 20d6 fire damage and 20d6 bludgeoning damage on a failed save, or half as much damage on a successful one. A creature in the area of more than one fiery burst is affected only once. \nThe spell damages objects in the area and ignites flammable objects that aren't being worn or carried."
+} \ No newline at end of file
diff --git a/parsed/spells/mind_blank.json b/parsed/spells/mind_blank.json
new file mode 100644
index 0000000..bf2d396
--- /dev/null
+++ b/parsed/spells/mind_blank.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "mind blank",
+ "level": 8,
+ "type": "abjuration",
+ "classes": [
+ "bard",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S",
+ "duration": "24 hours",
+ "text": "Until the spell ends, one willing creature you touch is immune to psychic damage, any effect that would sense its emotions or read its thoughts, divination spells, and the charmed condition. The spell even **_foils_** wish spells and spells or effects of similar power used to affect the target's mind or to gain information about the target."
+} \ No newline at end of file
diff --git a/parsed/spells/minor_illusion.json b/parsed/spells/minor_illusion.json
new file mode 100644
index 0000000..ef74c09
--- /dev/null
+++ b/parsed/spells/minor_illusion.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "minor illusion",
+ "level": 0,
+ "type": "illusion",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "S, M (a bit of fleece)",
+ "duration": "1 minute",
+ "text": "You create a sound or an image of an object within range that lasts for the duration. The illusion also ends if you dismiss it as an action or cast this spell again. \nIf you create a sound, its volume can range from a whisper to a scream. It can be your voice, someone else's voice, a lion's roar, a beating of drums, or any other sound you choose. The sound continues unabated throughout the duration, or you can make discrete sounds at different times before the spell ends. \nIf you create an image of an object--such as a chair, muddy footprints, or a small chest--it must be no larger than a 5-foot cube. The image can't create sound, light, smell, or any other sensory effect. Physical interaction with the image reveals it to be an illusion, because things can pass through it. \nIf a creature uses its action to examine the sound or image, the creature can determine that it is an illusion with a successful Intelligence (Investigation) check against your spell save DC. If a creature discerns the illusion for what it is, the illusion becomes faint to the creature."
+} \ No newline at end of file
diff --git a/parsed/spells/mirage_arcane.json b/parsed/spells/mirage_arcane.json
new file mode 100644
index 0000000..90393f3
--- /dev/null
+++ b/parsed/spells/mirage_arcane.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "mirage arcane",
+ "level": 7,
+ "type": "illusion",
+ "classes": [
+ "bard",
+ "druid",
+ "wizard"
+ ],
+ "casting_time": "10 minutes",
+ "range": "Sight",
+ "components": "V, S",
+ "duration": "10 days",
+ "text": "You make terrain in an area up to 1 mile square look, sound, smell, and even feel like some other sort of terrain. The terrain's general shape remains the same, however. Open fields or a road could be made to resemble a swamp, hill, crevasse, or some other difficult or impassable terrain. A pond can be made to seem like a grassy meadow, a precipice like a gentle slope, or a rock-strewn gully like a wide and smooth road. \nSimilarly, you can alter the appearance of structures, or add them where none are present. The spell doesn't disguise, conceal, or add creatures. \nThe illusion includes audible, visual, tactile, and olfactory elements, so it can turn clear ground into difficult terrain (or vice versa) or otherwise impede movement through the area. Any piece of the illusory terrain (such as a rock or stick) that is removed from the spell's area disappears immediately. \nCreatures with truesight can see through the illusion to the terrain's true form; however, all other elements of the illusion remain, so while the creature is aware of the illusion's presence, the creature can still physically interact with the illusion."
+} \ No newline at end of file
diff --git a/parsed/spells/mirror_image.json b/parsed/spells/mirror_image.json
new file mode 100644
index 0000000..8d4612b
--- /dev/null
+++ b/parsed/spells/mirror_image.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "mirror image",
+ "level": 2,
+ "type": "illusion",
+ "classes": [
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S",
+ "duration": "1 minute",
+ "text": "Three illusory duplicates of yourself appear in your space. Until the spell ends, the duplicates move with you and mimic your actions, shifting position so it's impossible to track which image is real. You can use your action to dismiss the illusory duplicates. \nEach time a creature targets you with an attack during the spell's duration, roll a d20 to determine whether the attack instead targets one of your duplicates. \nIf you have three duplicates, you must roll a 6 or higher to change the attack's target to a duplicate. With two duplicates, you must roll an 8 or higher. With one duplicate, you must roll an 11 or higher. \nA duplicate's AC equals 10 + your Dexterity modifier. If an attack hits a duplicate, the duplicate is destroyed. A duplicate can be destroyed only by an attack that hits it. It ignores all other damage and effects. The spell ends when all three duplicates are destroyed. \nA creature is unaffected by this spell if it can't see, if it relies on senses other than sight, such as blindsight, or if it can perceive illusions as false, as with truesight."
+} \ No newline at end of file
diff --git a/parsed/spells/mislead.json b/parsed/spells/mislead.json
new file mode 100644
index 0000000..1b10c96
--- /dev/null
+++ b/parsed/spells/mislead.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "mislead",
+ "level": 5,
+ "type": "illusion",
+ "classes": [
+ "bard",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "S",
+ "duration": "Concentration, up to 1 hour",
+ "text": "You become invisible at the same time that an illusory double of you appears where you are standing. The double lasts for the duration, but the invisibility ends if you attack or cast a spell. \nYou can use your action to move your illusory double up to twice your speed and make it gesture, speak, and behave in whatever way you choose. \nYou can see through its eyes and hear through its ears as if you were located where it is. On each of your turns as a bonus action, you can switch from using its senses to using your own, or back again. While you are using its senses, you are blinded and deafened in regard to your own surroundings."
+} \ No newline at end of file
diff --git a/parsed/spells/misty_step.json b/parsed/spells/misty_step.json
new file mode 100644
index 0000000..9435a6c
--- /dev/null
+++ b/parsed/spells/misty_step.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "misty step",
+ "level": 2,
+ "type": "conjuration",
+ "classes": [
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 bonus action",
+ "range": "Self",
+ "components": "V",
+ "duration": "Instantaneous",
+ "text": "Briefly surrounded by silvery mist, you teleport up to 30 feet to an unoccupied space that you can see."
+} \ No newline at end of file
diff --git a/parsed/spells/modify_memory.json b/parsed/spells/modify_memory.json
new file mode 100644
index 0000000..90e0434
--- /dev/null
+++ b/parsed/spells/modify_memory.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "modify memory",
+ "level": 5,
+ "type": "enchantment",
+ "classes": [
+ "bard",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You attempt to reshape another creature's memories. One creature that you can see must make a Wisdom saving throw. If you are fighting the creature, it has advantage on the saving throw. On a failed save, the target becomes charmed by you for the duration. The charmed target is incapacitated and unaware of its surroundings, though it can still hear you. If it takes any damage or is targeted by another spell, this spell ends, and none of the target's memories are modified. \nWhile this charm lasts, you can affect the target's memory of an event that it experienced within the last 24 hours and that lasted no more than 10 minutes. You can permanently eliminate all memory of the event, allow the target to recall the event with perfect clarity and exacting detail, change its memory of the details of the event, or create a memory of some other event. \nYou must speak to the target to describe how its memories are affected, and it must be able to understand your language for the modified memories to take root. Its mind fills in any gaps in the details of your description. If the spell ends before you have finished describing the modified memories, the creature's memory isn't altered. Otherwise, the modified memories take hold when the spell ends. \nA modified memory doesn't necessarily affect how a creature behaves, particularly if the memory contradicts the creature's natural inclinations, alignment, or beliefs. An illogical modified memory, such as implanting a memory of how much the creature enjoyed dousing itself in acid, is dismissed, perhaps as a bad dream. The GM might deem a modified memory too nonsensical to affect a creature in a significant manner. \nA **_remove curse_** or **_greater restoration_** spell cast on the target restores the creature's true memory. \n\n**At Higher Levels.** If you cast this spell using a spell slot of 6th level or higher, you can alter the target's memories of an event that took place up to 7 days ago (6th level), 30 days ago (7th level), 1 year ago (8th level), or any time in the creature's past (9th level)."
+} \ No newline at end of file
diff --git a/parsed/spells/moonbeam.json b/parsed/spells/moonbeam.json
new file mode 100644
index 0000000..65ac558
--- /dev/null
+++ b/parsed/spells/moonbeam.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "moonbeam",
+ "level": 2,
+ "type": "evocation",
+ "classes": [
+ "druid"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S, M (several seeds of any moonseed plant and a piece of opalescent feldspar)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "A silvery beam of pale light shines down in a 5-foot- radius, 40-foot-high cylinder centered on a point within range. Until the spell ends, dim light fills the cylinder. \nWhen a creature enters the spell's area for the first time on a turn or starts its turn there, it is engulfed in ghostly flames that cause searing pain, and it must make a Constitution saving throw. It takes 2d10 radiant damage on a failed save, or half as much damage on a successful one. \nA shapechanger makes its saving throw with disadvantage. If it fails, it also instantly reverts to its original form and can't assume a different form until it leaves the spell's light. \nOn each of your turns after you cast this spell, you can use an action to move the beam 60 feet in any direction. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 3rd level or higher, the damage increases by 1d10 for each slot level above 2nd."
+} \ No newline at end of file
diff --git a/parsed/spells/move_earth.json b/parsed/spells/move_earth.json
new file mode 100644
index 0000000..e47d76a
--- /dev/null
+++ b/parsed/spells/move_earth.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "move earth",
+ "level": 6,
+ "type": "transmutation",
+ "classes": [
+ "druid",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S, M (an iron blade and a small bag containing a mixture of soils--clay, loam, and sand)",
+ "duration": "Concentration, up to 2 hours",
+ "text": "Choose an area of terrain no larger than 40 feet on a side within range. You can reshape dirt, sand, or clay in the area in any manner you choose for the duration. You can raise or lower the area's elevation, create or fill in a trench, erect or flatten a wall, or form a pillar. The extent of any such changes can't exceed half the area's largest dimension. So, if you affect a 40-foot square, you can create a pillar up to 20 feet high, raise or lower the square's elevation by up to 20 feet, dig a trench up to 20 feet deep, and so on. It takes 10 minutes for these changes to complete. \nAt the end of every 10 minutes you spend concentrating on the spell, you can choose a new area of terrain to affect. \nBecause the terrain's transformation occurs slowly, creatures in the area can't usually be trapped or injured by the ground's movement. \nThis spell can't manipulate natural stone or stone construction. Rocks and structures shift to accommodate the new terrain. If the way you shape the terrain would make a structure unstable, it might collapse. \nSimilarly, this spell doesn't directly affect plant growth. The moved earth carries any plants along with it."
+} \ No newline at end of file
diff --git a/parsed/spells/nondetection.json b/parsed/spells/nondetection.json
new file mode 100644
index 0000000..b46cce5
--- /dev/null
+++ b/parsed/spells/nondetection.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "nondetection",
+ "level": 3,
+ "type": "abjuration",
+ "classes": [
+ "bard",
+ "ranger",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (a pinch of diamond dust worth 25 gp sprinkled over the target, which the spell consumes)",
+ "duration": "8 hours",
+ "text": "For the duration, you hide a target that you touch from divination magic. The target can be a willing creature or a place or an object no larger than 10 feet in any dimension. The target can't be targeted by any divination magic or perceived through magical scrying sensors."
+} \ No newline at end of file
diff --git a/parsed/spells/pass_without_trace.json b/parsed/spells/pass_without_trace.json
new file mode 100644
index 0000000..bb3cbf8
--- /dev/null
+++ b/parsed/spells/pass_without_trace.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "pass without trace",
+ "level": 2,
+ "type": "abjuration",
+ "classes": [
+ "druid",
+ "ranger"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S, M (ashes from a burned leaf of mistletoe and a sprig of spruce)",
+ "duration": "Concentration, up to 1 hour",
+ "text": "A veil of shadows and silence radiates from you, masking you and your companions from detection. For the duration, each creature you choose within 30 feet of you (including you) has a +10 bonus to Dexterity (Stealth) checks and can't be tracked except by magical means. A creature that receives this bonus leaves behind no tracks or other traces of its passage."
+} \ No newline at end of file
diff --git a/parsed/spells/passwall.json b/parsed/spells/passwall.json
new file mode 100644
index 0000000..d7f36ec
--- /dev/null
+++ b/parsed/spells/passwall.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "passwall",
+ "level": 5,
+ "type": "transmutation",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S, M (a pinch of sesame seeds)",
+ "duration": "1 hour",
+ "text": "A passage appears at a point of your choice that you can see on a wooden, plaster, or stone surface (such as a wall, a ceiling, or a floor) within range, and lasts for the duration. You choose the opening's dimensions: up to 5 feet wide, 8 feet tall, and 20 feet deep. The passage creates no instability in a structure surrounding it. \nWhen the opening disappears, any creatures or objects still in the passage created by the spell are safely ejected to an unoccupied space nearest to the surface on which you cast the spell."
+} \ No newline at end of file
diff --git a/parsed/spells/phantasmal_killer.json b/parsed/spells/phantasmal_killer.json
new file mode 100644
index 0000000..6c9ff94
--- /dev/null
+++ b/parsed/spells/phantasmal_killer.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "phantasmal killer",
+ "level": 4,
+ "type": "illusion",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You tap into the nightmares of a creature you can see within range and create an illusory manifestation of its deepest fears, visible only to that creature. The target must make a Wisdom saving throw. On a failed save, the target becomes frightened for the duration. At the end of each of the target's turns before the spell ends, the target must succeed on a Wisdom saving throw or take 4d10 psychic damage. On a successful save, the spell ends. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 5th level or higher, the damage increases by 1d10 for each slot level above 4th."
+} \ No newline at end of file
diff --git a/parsed/spells/phantom_steed.json b/parsed/spells/phantom_steed.json
new file mode 100644
index 0000000..d678fdd
--- /dev/null
+++ b/parsed/spells/phantom_steed.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "phantom steed",
+ "level": 3,
+ "type": "illusion",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 minute",
+ "range": "30 feet",
+ "components": "V, S",
+ "duration": "1 hour",
+ "text": "A Large quasi-real, horselike creature appears on the ground in an unoccupied space of your choice within range. You decide the creature's appearance, but it is equipped with a saddle, bit, and bridle. Any of the equipment created by the spell vanishes in a puff of smoke if it is carried more than 10 feet away from the steed. \nFor the duration, you or a creature you choose can ride the steed. The creature uses the statistics for a riding horse, except it has a speed of 100 feet and can travel 10 miles in an hour, or 13 miles at a fast pace. When the spell ends, the steed gradually fades, giving the rider 1 minute to dismount. The spell ends if you use an action to dismiss it or if the steed takes any damage."
+} \ No newline at end of file
diff --git a/parsed/spells/planar_ally.json b/parsed/spells/planar_ally.json
new file mode 100644
index 0000000..21fc784
--- /dev/null
+++ b/parsed/spells/planar_ally.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "planar ally",
+ "level": 6,
+ "type": "conjuration",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "10 minutes",
+ "range": "60 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "You beseech an otherworldly entity for aid. The being must be known to you: a god, a primordial, a demon prince, or some other being of cosmic power. That entity sends a celestial, an elemental, or a fiend loyal to it to aid you, making the creature appear in an unoccupied space within range. If you know a specific creature's name, you can speak that name when you cast this spell to request that creature, though you might get a different creature anyway (GM's choice). \nWhen the creature appears, it is under no compulsion to behave in any particular way. You can ask the creature to perform a service in exchange for payment, but it isn't obliged to do so. The requested task could range from simple (fly us across the chasm, or help us fight a battle) to complex (spy on our enemies, or protect us during our foray into the dungeon). You must be able to communicate with the creature to bargain for its services. \nPayment can take a variety of forms. A celestial might require a sizable donation of gold or magic items to an allied temple, while a fiend might demand a living sacrifice or a gift of treasure. Some creatures might exchange their service for a quest undertaken by you. \nAs a rule of thumb, a task that can be measured in minutes requires a payment worth 100 gp per minute. A task measured in hours requires 1,000 gp per hour. And a task measured in days (up to 10 days) requires 10,000 gp per day. The GM can adjust these payments based on the circumstances under which you cast the spell. If the task is aligned with the creature's ethos, the payment might be halved or even waived. Nonhazardous tasks typically require only half the suggested payment, while especially dangerous tasks might require a greater gift. Creatures rarely accept tasks that seem suicidal. \nAfter the creature completes the task, or when the agreed-upon duration of service expires, the creature returns to its home plane after reporting back to you, if appropriate to the task and if possible. If you are unable to agree on a price for the creature's service, the creature immediately returns to its home plane. \nA creature enlisted to join your group counts as a member of it, receiving a full share of experience points awarded."
+} \ No newline at end of file
diff --git a/parsed/spells/planar_binding.json b/parsed/spells/planar_binding.json
new file mode 100644
index 0000000..958eac5
--- /dev/null
+++ b/parsed/spells/planar_binding.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "planar binding",
+ "level": 5,
+ "type": "abjuration",
+ "classes": [
+ "bard",
+ "cleric",
+ "druid",
+ "wizard"
+ ],
+ "casting_time": "1 hour",
+ "range": "60 feet",
+ "components": "V, S, M (a jewel worth at least 1,000 gp, which the spell consumes)",
+ "duration": "24 hours",
+ "text": "With this spell, you attempt to bind a celestial, an elemental, a fey, or a fiend to your service. The creature must be within range for the entire casting of the spell. (Typically, the creature is first summoned into the center of an inverted magic circle in order to keep it trapped while this spell is cast.) At the completion of the casting, the target must make a Charisma saving throw. On a failed save, it is bound to serve you for the duration. If the creature was summoned or created by another spell, that spell's duration is extended to match the duration of this spell. \nA bound creature must follow your instructions to the best of its ability. You might command the creature to accompany you on an adventure, to guard a location, or to deliver a message. The creature obeys the letter of your instructions, but if the creature is hostile to you, it strives to twist your words to achieve its own objectives. If the creature carries out your instructions completely before the spell ends, it travels to you to report this fact if you are on the same plane of existence. If you are on a different plane of existence, it returns to the place where you bound it and remains there until the spell ends. \n\n**At Higher Levels.** When you cast this spell using a spell slot of a higher level, the duration increases to 10 days with a 6th-level slot, to 30 days with a 7th- level slot, to 180 days with an 8th-level slot, and to a year and a day with a 9th-level spell slot."
+} \ No newline at end of file
diff --git a/parsed/spells/plane_shift.json b/parsed/spells/plane_shift.json
new file mode 100644
index 0000000..1a5898f
--- /dev/null
+++ b/parsed/spells/plane_shift.json
@@ -0,0 +1,18 @@
+{
+ "entry": "spells",
+ "name": "plane shift",
+ "level": 7,
+ "type": "conjuration",
+ "classes": [
+ "cleric",
+ "sorcerer",
+ "warlock",
+ "wizard",
+ "druid"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (a forked, metal rod worth at least 250 gp, attuned to a particular plane of existence)",
+ "duration": "Instantaneous",
+ "text": "You and up to eight willing creatures who link hands in a circle are transported to a different plane of existence. You can specify a target destination in general terms, such as the City of Brass on the Elemental Plane of Fire or the palace of Dispater on the second level of the Nine Hells, and you appear in or near that destination. If you are trying to reach the City of Brass, for example, you might arrive in its Street of Steel, before its Gate of Ashes, or looking at the city from across the Sea of Fire, at the GM's discretion. \nAlternatively, if you know the sigil sequence of a teleportation circle on another plane of existence, this spell can take you to that circle. If the teleportation circle is too small to hold all the creatures you transported, they appear in the closest unoccupied spaces next to the circle. \nYou can use this spell to banish an unwilling creature to another plane. Choose a creature within your reach and make a melee spell attack against it. On a hit, the creature must make a Charisma saving throw. If the creature fails this save, it is transported to a random location on the plane of existence you specify. A creature so transported must find its own way back to your current plane of existence."
+} \ No newline at end of file
diff --git a/parsed/spells/plant_growth.json b/parsed/spells/plant_growth.json
new file mode 100644
index 0000000..0f7f759
--- /dev/null
+++ b/parsed/spells/plant_growth.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "plant growth",
+ "level": 3,
+ "type": "transmutation",
+ "classes": [
+ "bard",
+ "druid",
+ "ranger"
+ ],
+ "casting_time": "1 action or 8 hours",
+ "range": "150 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "This spell channels vitality into plants within a specific area. There are two possible uses for the spell, granting either immediate or long-term benefits. \nIf you cast this spell using 1 action, choose a point within range. All normal plants in a 100-foot radius centered on that point become thick and overgrown. A creature moving through the area must spend 4 feet of movement for every 1 foot it moves. \nYou can exclude one or more areas of any size within the spell's area from being affected. \nIf you cast this spell over 8 hours, you enrich the land. All plants in a half-mile radius centered on a point within range become enriched for 1 year. The plants yield twice the normal amount of food when harvested."
+} \ No newline at end of file
diff --git a/parsed/spells/poison_spray.json b/parsed/spells/poison_spray.json
new file mode 100644
index 0000000..53bf3f7
--- /dev/null
+++ b/parsed/spells/poison_spray.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "poison spray",
+ "level": 0,
+ "type": "conjuration",
+ "classes": [
+ "druid",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "10 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "You extend your hand toward a creature you can see within range and project a puff of noxious gas from your palm. The creature must succeed on a Constitution saving throw or take 1d12 poison damage. \nThis spell's damage increases by 1d12 when you reach 5th level (2d12), 11th level (3d12), and 17th level (4d12)."
+} \ No newline at end of file
diff --git a/parsed/spells/polymorph.json b/parsed/spells/polymorph.json
new file mode 100644
index 0000000..c77a331
--- /dev/null
+++ b/parsed/spells/polymorph.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "polymorph",
+ "level": 4,
+ "type": "transmutation",
+ "classes": [
+ "bard",
+ "druid",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S, M (a caterpillar cocoon)",
+ "duration": "Concentration, up to 1 hour",
+ "text": "This spell transforms a creature that you can see within range into a new form. An unwilling creature must make a Wisdom saving throw to avoid the effect. The spell has no effect on a shapechanger or a creature with 0 hit points. \nThe transformation lasts for the duration, or until the target drops to 0 hit points or dies. The new form can be any beast whose challenge rating is equal to or less than the target's (or the target's level, if it doesn't have a challenge rating). The target's game statistics, including mental ability scores, are replaced by the statistics of the chosen beast. It retains its alignment and personality. \nThe target assumes the hit points of its new form. When it reverts to its normal form, the creature returns to the number of hit points it had before it transformed. If it reverts as a result of dropping to 0 hit points, any excess damage carries over to its normal form. As long as the excess damage doesn't reduce the creature's normal form to 0 hit points, it isn't knocked unconscious. \nThe creature is limited in the actions it can perform by the nature of its new form, and it can't speak, cast spells, or take any other action that requires hands or speech. \nThe target's gear melds into the new form. The creature can't activate, use, wield, or otherwise benefit from any of its equipment."
+} \ No newline at end of file
diff --git a/parsed/spells/power_word_kill.json b/parsed/spells/power_word_kill.json
new file mode 100644
index 0000000..3c08040
--- /dev/null
+++ b/parsed/spells/power_word_kill.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "power word kill",
+ "level": 9,
+ "type": "enchantment",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V",
+ "duration": "Instantaneous",
+ "text": "You utter a word of power that can compel one creature you can see within range to die instantly. If the creature you choose has 100 hit points or fewer, it dies. Otherwise, the spell has no effect."
+} \ No newline at end of file
diff --git a/parsed/spells/power_word_stun.json b/parsed/spells/power_word_stun.json
new file mode 100644
index 0000000..5fcdc86
--- /dev/null
+++ b/parsed/spells/power_word_stun.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "power word stun",
+ "level": 8,
+ "type": "enchantment",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V",
+ "duration": "Instantaneous",
+ "text": "You speak a word of power that can overwhelm the mind of one creature you can see within range, leaving it dumbfounded. If the target has 150 hit points or fewer, it is stunned. Otherwise, the spell has no effect. \nThe stunned target must make a Constitution saving throw at the end of each of its turns. On a successful save, this stunning effect ends."
+} \ No newline at end of file
diff --git a/parsed/spells/prayer_of_healing.json b/parsed/spells/prayer_of_healing.json
new file mode 100644
index 0000000..366c8b1
--- /dev/null
+++ b/parsed/spells/prayer_of_healing.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "prayer of healing",
+ "level": 2,
+ "type": "evocation",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "10 minutes",
+ "range": "30 feet",
+ "components": "V",
+ "duration": "Instantaneous",
+ "text": "Up to six creatures of your choice that you can see within range each regain hit points equal to 2d8 + your spellcasting ability modifier. This spell has no effect on undead or constructs. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 3rd level or higher, the healing increases by 1d8 for each slot level above 2nd."
+} \ No newline at end of file
diff --git a/parsed/spells/prestidigitation.json b/parsed/spells/prestidigitation.json
new file mode 100644
index 0000000..c07cd5c
--- /dev/null
+++ b/parsed/spells/prestidigitation.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "prestidigitation",
+ "level": 0,
+ "type": "transmutation",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "10 feet",
+ "components": "V, S",
+ "duration": "Up to 1 hour",
+ "text": "This spell is a minor magical trick that novice spellcasters use for practice. You create one of the following magical effects within range:\n\n* You create an instantaneous, harmless sensory effect, such as a shower of sparks, a puff of wind, faint musical notes, or an odd odor.\n* You instantaneously light or snuff out a candle, a torch, or a small campfire.\n* You instantaneously clean or soil an object no larger than 1 cubic foot. \n* You chill, warm, or flavor up to 1 cubic foot of nonliving material for 1 hour.\n* You make a color, a small mark, or a symbol appear on an object or a surface for 1 hour.\n* You create a nonmagical trinket or an illusory image that can fit in your hand and that lasts until the end of your next turn. \n\nIf you cast this spell multiple times, you can have up to three of its non-instantaneous effects active at a time, and you can dismiss such an effect as an action."
+} \ No newline at end of file
diff --git a/parsed/spells/prismatic_spray.json b/parsed/spells/prismatic_spray.json
new file mode 100644
index 0000000..f0582ad
--- /dev/null
+++ b/parsed/spells/prismatic_spray.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "prismatic spray",
+ "level": 7,
+ "type": "evocation",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self (60-foot cone)",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "Eight multicolored rays of light flash from your hand. Each ray is a different color and has a different power and purpose. Each creature in a 60-foot cone must make a Dexterity saving throw. For each target, roll a d8 to determine which color ray affects it. \n**1. Red.** The target takes 10d6 fire damage on a failed save, or half as much damage on a successful one. \n**2. Orange.** The target takes 10d6 acid damage on a failed save, or half as much damage on a successful one. \n**3. Yellow.** The target takes 10d6 lightning damage on a failed save, or half as much damage on a successful one. \n**4. Green.** The target takes 10d6 poison damage on a failed save, or half as much damage on a successful one. \n**5. Blue.** The target takes 10d6 cold damage on a failed save, or half as much damage on a successful one. \n**6. Indigo.** On a failed save, the target is restrained. It must then make a Constitution saving throw at the end of each of its turns. If it successfully saves three times, the spell ends. If it fails its save three times, it permanently turns to stone and is subjected to the petrified condition. The successes and failures don't need to be consecutive; keep track of both until the target collects three of a kind. \n**7. Violet.** On a failed save, the target is blinded. It must then make a Wisdom saving throw at the start of your next turn. A successful save ends the blindness. If it fails that save, the creature is transported to another plane of existence of the GM's choosing and is no longer blinded. (Typically, a creature that is on a plane that isn't its home plane is banished home, while other creatures are usually cast into the Astral or Ethereal planes.) \n**8. Special.** The target is struck by two rays. Roll twice more, rerolling any 8."
+} \ No newline at end of file
diff --git a/parsed/spells/prismatic_wall.json b/parsed/spells/prismatic_wall.json
new file mode 100644
index 0000000..9acf30f
--- /dev/null
+++ b/parsed/spells/prismatic_wall.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "prismatic wall",
+ "level": 9,
+ "type": "abjuration",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S",
+ "duration": "10 minutes",
+ "text": "A shimmering, multicolored plane of light forms a vertical opaque wall--up to 90 feet long, 30 feet high, and 1 inch thick--centered on a point you can see within range. Alternatively, you can shape the wall into a sphere up to 30 feet in diameter centered on a point you choose within range. The wall remains in place for the duration. If you position the wall so that it passes through a space occupied by a creature, the spell fails, and your action and the spell slot are wasted. \nThe wall sheds bright light out to a range of 100 feet and dim light for an additional 100 feet. You and creatures you designate at the time you cast the spell can pass through and remain near the wall without harm. If another creature that can see the wall moves to within 20 feet of it or starts its turn there, the creature must succeed on a Constitution saving throw or become blinded for 1 minute. \nThe wall consists of seven layers, each with a different color. When a creature attempts to reach into or pass through the wall, it does so one layer at a time through all the wall's layers. As it passes or reaches through each layer, the creature must make a Dexterity saving throw or be affected by that layer's properties as described below. \nThe wall can be destroyed, also one layer at a time, in order from red to violet, by means specific to each layer. Once a layer is destroyed, it remains so for the duration of the spell. A **rod of cancellation** destroys a **_prismatic wall_**, but an **_antimagic field_** has no effect on it. \n**1. Red.** The creature takes 10d6 fire damage on a failed save, or half as much damage on a successful one. While this layer is in place, nonmagical ranged attacks can't pass through the wall. The layer can be destroyed by dealing at least 25 cold damage to it. \n**2. Orange.** The creature takes 10d6 acid damage on a failed save, or half as much damage on a successful one. While this layer is in place, magical ranged attacks can't pass through the wall. The layer is destroyed by a strong wind. \n**3. Yellow.** The creature takes 10d6 lightning damage on a failed save, or half as much damage on a successful one. This layer can be destroyed by dealing at least 60 force damage to it. \n**4. Green.** The creature takes 10d6 poison damage on a failed save, or half as much damage on a successful one. A passwall spell, or another spell of equal or greater level that can open a portal on a solid surface, destroys this layer. \n**5. Blue.** The creature takes 10d6 cold damage on a failed save, or half as much damage on a successful one. This layer can be destroyed by dealing at least 25 fire damage to it. \n**6. Indigo.** On a failed save, the creature is restrained. It must then make a Constitution saving throw at the end of each of its turns. If it successfully saves three times, the spell ends. If it fails its save three times, it permanently turns to stone and is subjected to the petrified condition. The successes and failures don't need to be consecutive; keep track of both until the creature collects three of a kind. While this layer is in place, spells can't be cast through the wall. The layer is destroyed by bright light shed by a **_daylight_** spell or a similar spell of equal or higher level. \n**7. Violet.** On a failed save, the creature is blinded. It must then make a Wisdom saving throw at the start of your next turn. A successful save ends the blindness. If it fails that save, the creature is transported to another plane of the GM's choosing and is no longer blinded. (Typically, a creature that is on a plane that isn't its home plane is banished home, while other creatures are usually cast into the Astral or Ethereal planes.) This layer is destroyed by a **_dispel magic_** spell or a similar spell of equal or higher level that can end spells and magical effects."
+} \ No newline at end of file
diff --git a/parsed/spells/private_sanctum.json b/parsed/spells/private_sanctum.json
new file mode 100644
index 0000000..d424cc8
--- /dev/null
+++ b/parsed/spells/private_sanctum.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "private sanctum",
+ "level": 4,
+ "type": "abjuration",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "10 minutes",
+ "range": "120 feet",
+ "components": "V, S, M (a thin sheet of lead, a piece of opaque glass, a wad of cotton or cloth, and powdered chrysolite)",
+ "duration": "24 hours",
+ "text": "You make an area within range magically secure. The area is a cube that can be as small as 5 feet to as large as 100 feet on each side. The spell lasts for the duration or until you use an action to dismiss it. \nWhen you cast the spell, you decide what sort of security the spell provides, choosing any or all of the following properties:\n\n* Sound can't pass through the barrier at the edge of the warded area.\n* The barrier of the warded area appears dark and foggy, preventing vision (including darkvision) through it.\n* Sensors created by divination spells can't appear inside the protected area or pass through the barrier at its perimeter.\n* Creatures in the area can't be targeted by divination spells.\n* Nothing can teleport into or out of the warded area.\n* Planar travel is blocked within the warded area. \n\nCasting this spell on the same spot every day for a year makes this effect permanent. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 5th level or higher, you can increase the size of the cube by 100 feet for each slot level beyond 4th. Thus you could protect a cube that can be up to 200 feet on one side by using a spell slot of 5th level."
+} \ No newline at end of file
diff --git a/parsed/spells/produce_flame.json b/parsed/spells/produce_flame.json
new file mode 100644
index 0000000..2947b09
--- /dev/null
+++ b/parsed/spells/produce_flame.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "produce flame",
+ "level": 0,
+ "type": "conjuration",
+ "classes": [
+ "druid"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S",
+ "duration": "10 minutes",
+ "text": "A flickering flame appears in your hand. The flame remains there for the duration and harms neither you nor your equipment. The flame sheds bright light in a 10-foot radius and dim light for an additional 10 feet. The spell ends if you dismiss it as an action or if you cast it again. \nYou can also attack with the flame, although doing so ends the spell. When you cast this spell, or as an action on a later turn, you can hurl the flame at a creature within 30 feet of you. Make a ranged spell attack. On a hit, the target takes 1d8 fire damage. \nThis spell's damage increases by 1d8 when you reach 5th level (2d8), 11th level (3d8), and 17th level (4d8)."
+} \ No newline at end of file
diff --git a/parsed/spells/programmed_illusion.json b/parsed/spells/programmed_illusion.json
new file mode 100644
index 0000000..fbd77a9
--- /dev/null
+++ b/parsed/spells/programmed_illusion.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "programmed illusion",
+ "level": 6,
+ "type": "illusion",
+ "classes": [
+ "bard",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S, M (a bit of fleece and jade dust worth at least 25 gp)",
+ "duration": "Until dispelled",
+ "text": "You create an illusion of an object, a creature, or some other visible phenomenon within range that activates when a specific condition occurs. The illusion is imperceptible until then. It must be no larger than a 30-foot cube, and you decide when you cast the spell how the illusion behaves and what sounds it makes. This scripted performance can last up to 5 minutes. \nWhen the condition you specify occurs, the illusion springs into existence and performs in the manner you described. Once the illusion finishes performing, it disappears and remains dormant for 10 minutes. After this time, the illusion can be activated again. \nThe triggering condition can be as general or as detailed as you like, though it must be based on visual or audible conditions that occur within 30 feet of the area. For example, you could create an illusion of yourself to appear and warn off others who attempt to open a trapped door, or you could set the illusion to trigger only when a creature says the correct word or phrase. \nPhysical interaction with the image reveals it to be an illusion, because things can pass through it. A creature that uses its action to examine the image can determine that it is an illusion with a successful Intelligence (Investigation) check against your spell save DC. If a creature discerns the illusion for what it is, the creature can see through the image, and any noise it makes sounds hollow to the creature."
+} \ No newline at end of file
diff --git a/parsed/spells/project_image.json b/parsed/spells/project_image.json
new file mode 100644
index 0000000..b31f5b3
--- /dev/null
+++ b/parsed/spells/project_image.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "project image",
+ "level": 7,
+ "type": "illusion",
+ "classes": [
+ "bard",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "500 miles",
+ "components": "V, S, M (a small replica of you made from materials worth at least 5 gp)",
+ "duration": "Concentration, up to 1 day",
+ "text": "You create an illusory copy of yourself that lasts for the duration. The copy can appear at any location within range that you have seen before, regardless of intervening obstacles. The illusion looks and sounds like you but is intangible. If the illusion takes any damage, it disappears, and the spell ends. \nYou can use your action to move this illusion up to twice your speed, and make it gesture, speak, and behave in whatever way you choose. It mimics your mannerisms perfectly. \nYou can see through its eyes and hear through its ears as if you were in its space. On your turn as a bonus action, you can switch from using its senses to using your own, or back again. While you are using its senses, you are blinded and deafened in regard to your own surroundings. \nPhysical interaction with the image reveals it to be an illusion, because things can pass through it. A creature that uses its action to examine the image can determine that it is an illusion with a successful Intelligence (Investigation) check against your spell save DC. If a creature discerns the illusion for what it is, the creature can see through the image, and any noise it makes sounds hollow to the creature."
+} \ No newline at end of file
diff --git a/parsed/spells/protection_from_energy.json b/parsed/spells/protection_from_energy.json
new file mode 100644
index 0000000..dd395f1
--- /dev/null
+++ b/parsed/spells/protection_from_energy.json
@@ -0,0 +1,18 @@
+{
+ "entry": "spells",
+ "name": "protection from energy",
+ "level": 3,
+ "type": "abjuration",
+ "classes": [
+ "cleric",
+ "druid",
+ "ranger",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 hour",
+ "text": "For the duration, the willing creature you touch has resistance to one damage type of your choice: acid, cold, fire, lightning, or thunder."
+} \ No newline at end of file
diff --git a/parsed/spells/protection_from_evil_and_good.json b/parsed/spells/protection_from_evil_and_good.json
new file mode 100644
index 0000000..deb23f6
--- /dev/null
+++ b/parsed/spells/protection_from_evil_and_good.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "protection from evil and good",
+ "level": 1,
+ "type": "abjuration",
+ "classes": [
+ "cleric",
+ "paladin",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (holy water or powdered silver and iron, which the spell consumes)",
+ "duration": "Concentration up to 10 minutes",
+ "text": "Until the spell ends, one willing creature you touch is protected against certain types of creatures: aberrations, celestials, elementals, fey, fiends, and undead. \nThe protection grants several benefits. Creatures of those types have disadvantage on attack rolls against the target. The target also can't be charmed, frightened, or possessed by them. If the target is already charmed, frightened, or possessed by such a creature, the target has advantage on any new saving throw against the relevant effect."
+} \ No newline at end of file
diff --git a/parsed/spells/protection_from_poison.json b/parsed/spells/protection_from_poison.json
new file mode 100644
index 0000000..545d37d
--- /dev/null
+++ b/parsed/spells/protection_from_poison.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "protection from poison",
+ "level": 2,
+ "type": "abjuration",
+ "classes": [
+ "cleric",
+ "druid",
+ "paladin",
+ "ranger"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S",
+ "duration": "1 hour",
+ "text": "You touch a creature. If it is poisoned, you neutralize the poison. If more than one poison afflicts the target, you neutralize one poison that you know is present, or you neutralize one at random. \nFor the duration, the target has advantage on saving throws against being poisoned, and it has resistance to poison damage."
+} \ No newline at end of file
diff --git a/parsed/spells/purify_food_and_drink.json b/parsed/spells/purify_food_and_drink.json
new file mode 100644
index 0000000..336d5dd
--- /dev/null
+++ b/parsed/spells/purify_food_and_drink.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "purify food and drink",
+ "level": 1,
+ "type": "transmutation",
+ "classes": [
+ "cleric",
+ "druid",
+ "paladin"
+ ],
+ "casting_time": "1 action",
+ "range": "10 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "All nonmagical food and drink within a 5-foot-radius sphere centered on a point of your choice within range is purified and rendered free of poison and disease."
+} \ No newline at end of file
diff --git a/parsed/spells/raise_dead.json b/parsed/spells/raise_dead.json
new file mode 100644
index 0000000..3a528a8
--- /dev/null
+++ b/parsed/spells/raise_dead.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "raise dead",
+ "level": 5,
+ "type": "necromancy",
+ "classes": [
+ "bard",
+ "cleric",
+ "paladin"
+ ],
+ "casting_time": "1 hour",
+ "range": "Touch",
+ "components": "V, S, M (a diamond worth at least 500 gp, which the spell consumes)",
+ "duration": "Instantaneous",
+ "text": "You return a dead creature you touch to life, provided that it has been dead no longer than 10 days. If the creature's soul is both willing and at liberty to rejoin the body, the creature returns to life with 1 hit point. \nThis spell also neutralizes any poisons and cures nonmagical diseases that affected the creature at the time it died. This spell doesn't, however, remove magical diseases, curses, or similar effects; if these aren't first removed prior to casting the spell, they take effect when the creature returns to life. The spell can't return an undead creature to life. \nThis spell closes all mortal wounds, but it doesn't restore missing body parts. If the creature is lacking body parts or organs integral for its survival--its head, for instance--the spell automatically fails. \nComing back from the dead is an ordeal. The target takes a \u22124 penalty to all attack rolls, saving throws, and ability checks. Every time the target finishes a long rest, the penalty is reduced by 1 until it disappears."
+} \ No newline at end of file
diff --git a/parsed/spells/ray_of_enfeeblement.json b/parsed/spells/ray_of_enfeeblement.json
new file mode 100644
index 0000000..393f694
--- /dev/null
+++ b/parsed/spells/ray_of_enfeeblement.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "ray of enfeeblement",
+ "level": 2,
+ "type": "necromancy",
+ "classes": [
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 minute",
+ "text": "A black beam of enervating energy springs from your finger toward a creature within range. Make a ranged spell attack against the target. On a hit, the target deals only half damage with weapon attacks that use Strength until the spell ends. \nAt the end of each of the target's turns, it can make a Constitution saving throw against the spell. On a success, the spell ends."
+} \ No newline at end of file
diff --git a/parsed/spells/ray_of_frost.json b/parsed/spells/ray_of_frost.json
new file mode 100644
index 0000000..98f2de5
--- /dev/null
+++ b/parsed/spells/ray_of_frost.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "ray of frost",
+ "level": 0,
+ "type": "evocation",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "A frigid beam of blue-white light streaks toward a creature within range. Make a ranged spell attack against the target. On a hit, it takes 1d8 cold damage, and its speed is reduced by 10 feet until the start of your next turn. \nThe spell's damage increases by 1d8 when you reach 5th level (2d8), 11th level (3d8), and 17th level (4d8)."
+} \ No newline at end of file
diff --git a/parsed/spells/regenerate.json b/parsed/spells/regenerate.json
new file mode 100644
index 0000000..9bcad0c
--- /dev/null
+++ b/parsed/spells/regenerate.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "regenerate",
+ "level": 7,
+ "type": "transmutation",
+ "classes": [
+ "bard",
+ "cleric",
+ "druid"
+ ],
+ "casting_time": "1 minute",
+ "range": "Touch",
+ "components": "V, S, M (a prayer wheel and holy water)",
+ "duration": "1 hour",
+ "text": "You touch a creature and stimulate its natural healing ability. The target regains 4d8 + 15 hit points. For the duration of the spell, the target regains 1 hit point at the start of each of its turns (10 hit points each minute). \nThe target's severed body members (fingers, legs, tails, and so on), if any, are restored after 2 minutes. If you have the severed part and hold it to the stump, the spell instantaneously causes the limb to knit to the stump."
+} \ No newline at end of file
diff --git a/parsed/spells/reincarnate.json b/parsed/spells/reincarnate.json
new file mode 100644
index 0000000..e139e24
--- /dev/null
+++ b/parsed/spells/reincarnate.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "reincarnate",
+ "level": 5,
+ "type": "transmutation",
+ "classes": [
+ "druid"
+ ],
+ "casting_time": "1 hour",
+ "range": "Touch",
+ "components": "V, S, M (rare oils and unguents worth at least 1,000 gp, which the spell consumes)",
+ "duration": "Instantaneous",
+ "text": "You touch a dead humanoid or a piece of a dead humanoid. Provided that the creature has been dead no longer than 10 days, the spell forms a new adult body for it and then calls the soul to enter that body. If the target's soul isn't free or willing to do so, the spell fails. \nThe magic fashions a new body for the creature to inhabit, which likely causes the creature's race to change. The GM rolls a d100 and consults the following table to determine what form the creature takes when restored to life, or the GM chooses a form. \n\n| d100 | Race |\n|--------|---------------------|\n| 01-04 | Dragonborn |\n| 05-13 | Dwarf, hill |\n| 14-21 | Dwarf, mountain |\n| 22-25 | Elf, dark |\n| 26-34 | Elf, high |\n| 35-42 | Elf, wood |\n| 43-46 | Gnome, forest |\n| 47-52 | Gnome, rock |\n| 53-56 | Half-elf |\n| 57-60 | Half-orc |\n| 61-68 | Halfling, lightfoot |\n| 69-76 | Halfling, stout |\n| 77-96 | Human |\n| 97-100 | Tiefling |\n\nThe reincarnated creature recalls its former life and experiences. It retains the capabilities it had in its original form, except it exchanges its original race for the new one and changes its racial traits accordingly."
+} \ No newline at end of file
diff --git a/parsed/spells/remove_curse.json b/parsed/spells/remove_curse.json
new file mode 100644
index 0000000..961b8fa
--- /dev/null
+++ b/parsed/spells/remove_curse.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "remove curse",
+ "level": 3,
+ "type": "abjuration",
+ "classes": [
+ "cleric",
+ "paladin",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "At your touch, all curses affecting one creature or object end. If the object is a cursed magic item, its curse remains, but the spell breaks its owner's attunement to the object so it can be removed or discarded."
+} \ No newline at end of file
diff --git a/parsed/spells/resilient_sphere.json b/parsed/spells/resilient_sphere.json
new file mode 100644
index 0000000..952e4a3
--- /dev/null
+++ b/parsed/spells/resilient_sphere.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "resilient sphere",
+ "level": 4,
+ "type": "evocation",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S, M (a hemispherical piece of clear crystal and a matching hemispherical piece of gum arabic)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "A sphere of shimmering force encloses a creature or object of Large size or smaller within range. An unwilling creature must make a Dexterity saving throw. On a failed save, the creature is enclosed for the duration. \nNothing--not physical objects, energy, or other spell effects--can pass through the barrier, in or out, though a creature in the sphere can breathe there. The sphere is immune to all damage, and a creature or object inside can't be damaged by attacks or effects originating from outside, nor can a creature inside the sphere damage anything outside it. \nThe sphere is weightless and just large enough to contain the creature or object inside. An enclosed creature can use its action to push against the sphere's walls and thus roll the sphere at up to half the creature's speed. Similarly, the globe can be picked up and moved by other creatures. \nA **_disintegrate_** spell targeting the globe destroys it without harming anything inside it."
+} \ No newline at end of file
diff --git a/parsed/spells/resistance.json b/parsed/spells/resistance.json
new file mode 100644
index 0000000..da7279f
--- /dev/null
+++ b/parsed/spells/resistance.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "resistance",
+ "level": 0,
+ "type": "abjuration",
+ "classes": [
+ "cleric",
+ "druid"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (a miniature cloak)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You touch one willing creature. Once before the spell ends, the target can roll a d4 and add the number rolled to one saving throw of its choice. It can roll the die before or after making the saving throw. The spell then ends."
+} \ No newline at end of file
diff --git a/parsed/spells/resurrection.json b/parsed/spells/resurrection.json
new file mode 100644
index 0000000..cdb3ed9
--- /dev/null
+++ b/parsed/spells/resurrection.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "resurrection",
+ "level": 7,
+ "type": "necromancy",
+ "classes": [
+ "bard",
+ "cleric"
+ ],
+ "casting_time": "1 hour",
+ "range": "Touch",
+ "components": "V, S, M (a diamond worth at least 1,000 gp, which the spell consumes)",
+ "duration": "Instantaneous",
+ "text": "You touch a dead creature that has been dead for no more than a century, that didn't die of old age, and that isn't undead. If its soul is free and willing, the target returns to life with all its hit points. \nThis spell neutralizes any poisons and cures normal diseases afflicting the creature when it died. It doesn't, however, remove magical diseases, curses, and the like; if such effects aren't removed prior to casting the spell, they afflict the target on its return to life. \nThis spell closes all mortal wounds and restores any missing body parts. \nComing back from the dead is an ordeal. The target takes a \u22124 penalty to all attack rolls, saving throws, and ability checks. Every time the target finishes a long rest, the penalty is reduced by 1 until it disappears. \nCasting this spell to restore life to a creature that has been dead for one year or longer taxes you greatly. Until you finish a long rest, you can't cast spells again, and you have disadvantage on all attack rolls, ability checks, and saving throws."
+} \ No newline at end of file
diff --git a/parsed/spells/reverse_gravity.json b/parsed/spells/reverse_gravity.json
new file mode 100644
index 0000000..ba31f1e
--- /dev/null
+++ b/parsed/spells/reverse_gravity.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "reverse gravity",
+ "level": 7,
+ "type": "transmutation",
+ "classes": [
+ "druid",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "100 feet",
+ "components": "V, S, M (a lodestone and iron filings)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "This spell reverses gravity in a 50-foot-radius, 100- foot high cylinder centered on a point within range. All creatures and objects that aren't somehow anchored to the ground in the area fall upward and reach the top of the area when you cast this spell. A creature can make a Dexterity saving throw to grab onto a fixed object it can reach, thus avoiding the fall. \nIf some solid object (such as a ceiling) is encountered in this fall, falling objects and creatures strike it just as they would during a normal downward fall. If an object or creature reaches the top of the area without striking anything, it remains there, oscillating slightly, for the duration. \nAt the end of the duration, affected objects and creatures fall back down."
+} \ No newline at end of file
diff --git a/parsed/spells/revivify.json b/parsed/spells/revivify.json
new file mode 100644
index 0000000..b13e9ec
--- /dev/null
+++ b/parsed/spells/revivify.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "revivify",
+ "level": 3,
+ "type": "necromancy",
+ "classes": [
+ "cleric",
+ "paladin"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (diamonds worth 300 gp, which the spell consumes)",
+ "duration": "Instantaneous",
+ "text": "You touch a creature that has died within the last minute. That creature returns to life with 1 hit point. This spell can't return to life a creature that has died of old age, nor can it restore any missing body parts."
+} \ No newline at end of file
diff --git a/parsed/spells/rope_trick.json b/parsed/spells/rope_trick.json
new file mode 100644
index 0000000..8742704
--- /dev/null
+++ b/parsed/spells/rope_trick.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "rope trick",
+ "level": 2,
+ "type": "transmutation",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (powdered corn extract and a twisted loop of parchment)",
+ "duration": "1 hour",
+ "text": "You touch a length of rope that is up to 60 feet long. One end of the rope then rises into the air until the whole rope hangs perpendicular to the ground. At the upper end of the rope, an invisible entrance opens to an extradimensional space that lasts until the spell ends. \nThe extradimensional space can be reached by climbing to the top of the rope. The space can hold as many as eight Medium or smaller creatures. The rope can be pulled into the space, making the rope disappear from view outside the space. \nAttacks and spells can't cross through the entrance into or out of the extradimensional space, but those inside can see out of it as if through a 3-foot-by-5- foot window centered on the rope. \nAnything inside the extradimensional space drops out when the spell ends."
+} \ No newline at end of file
diff --git a/parsed/spells/sacred_flame.json b/parsed/spells/sacred_flame.json
new file mode 100644
index 0000000..a10a947
--- /dev/null
+++ b/parsed/spells/sacred_flame.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "sacred flame",
+ "level": 0,
+ "type": "evocation",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "Flame-like radiance descends on a creature that you can see within range. The target must succeed on a Dexterity saving throw or take 1d8 radiant damage. The target gains no benefit from cover for this saving throw. \nThe spell's damage increases by 1d8 when you reach 5th level (2d8), 11th level (3d8), and 17th level (4d8)."
+} \ No newline at end of file
diff --git a/parsed/spells/sanctuary.json b/parsed/spells/sanctuary.json
new file mode 100644
index 0000000..b00623a
--- /dev/null
+++ b/parsed/spells/sanctuary.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "sanctuary",
+ "level": 1,
+ "type": "abjuration",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "1 bonus action",
+ "range": "30 feet",
+ "components": "V, S, M (a small silver mirror)",
+ "duration": "1 minute",
+ "text": "You ward a creature within range against attack. Until the spell ends, any creature who targets the warded creature with an attack or a harmful spell must first make a Wisdom saving throw. On a failed save, the creature must choose a new target or lose the attack or spell. This spell doesn't protect the warded creature from area effects, such as the explosion of a fireball. \nIf the warded creature makes an attack or casts a spell that affects an enemy creature, this spell ends."
+} \ No newline at end of file
diff --git a/parsed/spells/scorching_ray.json b/parsed/spells/scorching_ray.json
new file mode 100644
index 0000000..7021083
--- /dev/null
+++ b/parsed/spells/scorching_ray.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "scorching ray",
+ "level": 2,
+ "type": "evocation",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "You create three rays of fire and hurl them at targets within range. You can hurl them at one target or several. \nMake a ranged spell attack for each ray. On a hit, the target takes 2d6 fire damage. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 3rd level or higher, you create one additional ray for each slot level above 2nd."
+} \ No newline at end of file
diff --git a/parsed/spells/scrying.json b/parsed/spells/scrying.json
new file mode 100644
index 0000000..dab2d4a
--- /dev/null
+++ b/parsed/spells/scrying.json
@@ -0,0 +1,18 @@
+{
+ "entry": "spells",
+ "name": "scrying",
+ "level": 5,
+ "type": "divination",
+ "classes": [
+ "bard",
+ "cleric",
+ "druid",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "10 minutes",
+ "range": "Self",
+ "components": "V, S, M (a focus worth at least 1,000 gp, such as a crystal ball, a silver mirror, or a font filled with holy water)",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "You can see and hear a particular creature you choose that is on the same plane of existence as you. The target must make a Wisdom saving throw, which is modified by how well you know the target and the sort of physical connection you have to it. If a target knows you're casting this spell, it can fail the saving throw voluntarily if it wants to be observed. \n\n| Knowledge | Save Modifier |\n|-------------------------------------------|---------------|\n| Secondhand (you have heard of the target) | +5 |\n| Firsthand (you have met the target) | 0 |\n| Familiar (you know the target well) | -5 |\n\n| Connection | Save Modifier |\n|---------------------------------------------------|---------------|\n| Likeness or picture | -2 |\n| Possession or garment | -4 |\n| Body part, lock of hair, bit of nail, or the like | -10 |\n\nOn a successful save, the target isn't affected, and you can't use this spell against it again for 24 hours. \nOn a failed save, the spell creates an invisible sensor within 10 feet of the target. You can see and hear through the sensor as if you were there. The sensor moves with the target, remaining within 10 feet of it for the duration. A creature that can see invisible objects sees the sensor as a luminous orb about the size of your fist. \nInstead of targeting a creature, you can choose a location you have seen before as the target of this spell. When you do, the sensor appears at that location and doesn't move."
+} \ No newline at end of file
diff --git a/parsed/spells/secret_chest.json b/parsed/spells/secret_chest.json
new file mode 100644
index 0000000..45b8211
--- /dev/null
+++ b/parsed/spells/secret_chest.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "secret chest",
+ "level": 4,
+ "type": "conjuration",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (an exquisite chest, 3 feet by 2 feet by 2 feet, constructed from rare materials worth at least 5,000 gp, and a Tiny replica made from the same materials worth at least 50 gp)",
+ "duration": "Instantaneous",
+ "text": "You hide a chest, and all its contents, on the Ethereal Plane. You must touch the chest and the miniature replica that serves as a material component for the spell. The chest can contain up to 12 cubic feet of nonliving material (3 feet by 2 feet by 2 feet). \nWhile the chest remains on the Ethereal Plane, you can use an action and touch the replica to recall the chest. It appears in an unoccupied space on the ground within 5 feet of you. You can send the chest back to the Ethereal Plane by using an action and touching both the chest and the replica. \nAfter 60 days, there is a cumulative 5 percent chance per day that the spell's effect ends. This effect ends if you cast this spell again, if the smaller replica chest is destroyed, or if you choose to end the spell as an action. If the spell ends and the larger chest is on the Ethereal Plane, it is irretrievably lost."
+} \ No newline at end of file
diff --git a/parsed/spells/see_invisibility.json b/parsed/spells/see_invisibility.json
new file mode 100644
index 0000000..b62c622
--- /dev/null
+++ b/parsed/spells/see_invisibility.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "see invisibility",
+ "level": 2,
+ "type": "divination",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S, M (a pinch of talc and a small sprinkling of powdered silver)",
+ "duration": "1 hour",
+ "text": "For the duration, you see invisible creatures and objects as if they were visible, and you can see into the Ethereal Plane. Ethereal creatures and objects appear ghostly and translucent."
+} \ No newline at end of file
diff --git a/parsed/spells/seeming.json b/parsed/spells/seeming.json
new file mode 100644
index 0000000..3cfb114
--- /dev/null
+++ b/parsed/spells/seeming.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "seeming",
+ "level": 5,
+ "type": "illusion",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S",
+ "duration": "8 hours",
+ "text": "This spell allows you to change the appearance of any number of creatures that you can see within range. You give each target you choose a new, illusory appearance. An unwilling target can make a Charisma saving throw, and if it succeeds, it is unaffected by this spell. \nThe spell disguises physical appearance as well as clothing, armor, weapons, and equipment. You can make each creature seem 1 foot shorter or taller and appear thin, fat, or in between. You can't change a target's body type, so you must choose a form that has the same basic arrangement of limbs. Otherwise, the extent of the illusion is up to you. The spell lasts for the duration, unless you use your action to dismiss it sooner. \nThe changes wrought by this spell fail to hold up to physical inspection. For example, if you use this spell to add a hat to a creature's outfit, objects pass through the hat, and anyone who touches it would feel nothing or would feel the creature's head and hair. If you use this spell to appear thinner than you are, the hand of someone who reaches out to touch you would bump into you while it was seemingly still in midair. \nA creature can use its action to inspect a target and make an Intelligence (Investigation) check against your spell save DC. If it succeeds, it becomes aware that the target is disguised."
+} \ No newline at end of file
diff --git a/parsed/spells/sending.json b/parsed/spells/sending.json
new file mode 100644
index 0000000..b918daf
--- /dev/null
+++ b/parsed/spells/sending.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "sending",
+ "level": 3,
+ "type": "evocation",
+ "classes": [
+ "bard",
+ "cleric",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Unlimited",
+ "components": "V, S, M (a short piece of fine copper wire)",
+ "duration": "1 round",
+ "text": "You send a short message of twenty-five words or less to a creature with which you are familiar. The creature hears the message in its mind, recognizes you as the sender if it knows you, and can answer in a like manner immediately. The spell enables creatures with Intelligence scores of at least 1 to understand the meaning of your message. \nYou can send the message across any distance and even to other planes of existence, but if the target is on a different plane than you, there is a 5 percent chance that the message doesn't arrive."
+} \ No newline at end of file
diff --git a/parsed/spells/sequester.json b/parsed/spells/sequester.json
new file mode 100644
index 0000000..acdfc35
--- /dev/null
+++ b/parsed/spells/sequester.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "sequester",
+ "level": 7,
+ "type": "transmutation",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (a powder composed of diamond, emerald, ruby, and sapphire dust worth at least 5,000 gp, which the spell consumes)",
+ "duration": "Until dispelled",
+ "text": "By means of this spell, a willing creature or an object can be hidden away, safe from detection for the duration. When you cast the spell and touch the target, it becomes invisible and can't be targeted by divination spells or perceived through scrying sensors created by divination spells. \nIf the target is a creature, it falls into a state of suspended animation. Time ceases to flow for it, and it doesn't grow older. \nYou can set a condition for the spell to end early. The condition can be anything you choose, but it must occur or be visible within 1 mile of the target. Examples include \"after 1,000 years\" or \"when the tarrasque awakens.\" This spell also ends if the target takes any damage."
+} \ No newline at end of file
diff --git a/parsed/spells/shapechange.json b/parsed/spells/shapechange.json
new file mode 100644
index 0000000..8891886
--- /dev/null
+++ b/parsed/spells/shapechange.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "shapechange",
+ "level": 9,
+ "type": "transmutation",
+ "classes": [
+ "druid",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S, M (a jade circlet worth at least 1,500 gp, which you must place on your head before you cast the spell)",
+ "duration": "Concentration, up to 1 hour",
+ "text": "You assume the form of a different creature for the duration. The new form can be of any creature with a challenge rating equal to your level or lower. The creature can't be a construct or an undead, and you must have seen the sort of creature at least once. You transform into an average example of that creature, one without any class levels or the Spellcasting trait. \nYour game statistics are replaced by the statistics of the chosen creature, though you retain your alignment and Intelligence, Wisdom, and Charisma scores. You also retain all of your skill and saving throw proficiencies, in addition to gaining those of the creature. If the creature has the same proficiency as you and the bonus listed in its statistics is higher than yours, use the creature's bonus in place of yours. You can't use any legendary actions or lair actions of the new form. \nYou assume the hit points and Hit Dice of the new form. When you revert to your normal form, you return to the number of hit points you had before you transformed. If you revert as a result of dropping to 0 hit points, any excess damage carries over to your normal form. As long as the excess damage doesn't reduce your normal form to 0 hit points, you aren't knocked unconscious. \nYou retain the benefit of any features from your class, race, or other source and can use them, provided that your new form is physically capable of doing so. You can't use any special senses you have (for example, darkvision) unless your new form also has that sense. You can only speak if the creature can normally speak. \nWhen you transform, you choose whether your equipment falls to the ground, merges into the new form, or is worn by it. Worn equipment functions as normal. The GM determines whether it is practical for the new form to wear a piece of equipment, based on the creature's shape and size. Your equipment doesn't change shape or size to match the new form, and any equipment that the new form can't wear must either fall to the ground or merge into your new form. Equipment that merges has no effect in that state. \nDuring this spell's duration, you can use your action to assume a different form following the same restrictions and rules for the original form, with one exception: if your new form has more hit points than your current one, your hit points remain at their current value."
+} \ No newline at end of file
diff --git a/parsed/spells/shatter.json b/parsed/spells/shatter.json
new file mode 100644
index 0000000..ef7f23d
--- /dev/null
+++ b/parsed/spells/shatter.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "shatter",
+ "level": 2,
+ "type": "evocation",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S, M (a chip of mica)",
+ "duration": "Instantaneous",
+ "text": "A sudden loud ringing noise, painfully intense, erupts from a point of your choice within range. Each creature in a 10-foot-radius sphere centered on that point must make a Constitution saving throw. A creature takes 3d8 thunder damage on a failed save, or half as much damage on a successful one. A creature made of inorganic material such as stone, crystal, or metal has disadvantage on this saving throw. \nA nonmagical object that isn't being worn or carried also takes the damage if it's in the spell's area. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 3rd level or higher, the damage increases by 1d8 for each slot level above 2nd."
+} \ No newline at end of file
diff --git a/parsed/spells/shield.json b/parsed/spells/shield.json
new file mode 100644
index 0000000..5c3a7e8
--- /dev/null
+++ b/parsed/spells/shield.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "shield",
+ "level": 1,
+ "type": "abjuration",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 reaction, which you take when you are hit by an attack or targeted by the magic missile spell",
+ "range": "Self",
+ "components": "V, S",
+ "duration": "1 round",
+ "text": "An invisible barrier of magical force appears and protects you. Until the start of your next turn, you have a +5 bonus to AC, including against the triggering attack, and you take no damage from **_magic missile_**."
+} \ No newline at end of file
diff --git a/parsed/spells/shield_of_faith.json b/parsed/spells/shield_of_faith.json
new file mode 100644
index 0000000..b7a2535
--- /dev/null
+++ b/parsed/spells/shield_of_faith.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "shield of faith",
+ "level": 1,
+ "type": "abjuration",
+ "classes": [
+ "cleric",
+ "paladin"
+ ],
+ "casting_time": "1 bonus action",
+ "range": "60 feet",
+ "components": "V, S, M (a small parchment with a bit of holy text written on it)",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "A shimmering field appears and surrounds a creature of your choice within range, granting it a +2 bonus to AC for the duration."
+} \ No newline at end of file
diff --git a/parsed/spells/shillelagh.json b/parsed/spells/shillelagh.json
new file mode 100644
index 0000000..2e4a5d9
--- /dev/null
+++ b/parsed/spells/shillelagh.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "shillelagh",
+ "level": 0,
+ "type": "transmutation",
+ "classes": [
+ "druid"
+ ],
+ "casting_time": "1 bonus action",
+ "range": "Touch",
+ "components": "V, S, M (mistletoe, a shamrock leaf, and a club or quarterstaff)",
+ "duration": "1 minute",
+ "text": "The wood of a club or quarterstaff you are holding is imbued with nature's power. For the duration, you can use your spellcasting ability instead of Strength for the attack and damage rolls of melee attacks using that weapon, and the weapon's damage die becomes a d8. The weapon also becomes magical, if it isn't already. The spell ends if you cast it again or if you let go of the weapon."
+} \ No newline at end of file
diff --git a/parsed/spells/shocking_grasp.json b/parsed/spells/shocking_grasp.json
new file mode 100644
index 0000000..9cd98bf
--- /dev/null
+++ b/parsed/spells/shocking_grasp.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "shocking grasp",
+ "level": 0,
+ "type": "evocation",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "Lightning springs from your hand to deliver a shock to a creature you try to touch. Make a melee spell attack against the target. You have advantage on the attack roll if the target is wearing armor made of metal. On a hit, the target takes 1d8 lightning damage, and it can't take reactions until the start of its next turn. \nThe spell's damage increases by 1d8 when you reach 5th level (2d8), 11th level (3d8), and 17th level (4d8)."
+} \ No newline at end of file
diff --git a/parsed/spells/silence.json b/parsed/spells/silence.json
new file mode 100644
index 0000000..23e78b3
--- /dev/null
+++ b/parsed/spells/silence.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "silence",
+ "level": 2,
+ "type": "illusion",
+ "classes": [
+ "bard",
+ "cleric",
+ "ranger"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "For the duration, no sound can be created within or pass through a 20-foot-radius sphere centered on a point you choose within range. Any creature or object entirely inside the sphere is immune to thunder damage, and creatures are deafened while entirely inside it. Casting a spell that includes a verbal component is impossible there."
+} \ No newline at end of file
diff --git a/parsed/spells/silent_image.json b/parsed/spells/silent_image.json
new file mode 100644
index 0000000..d4c7ab9
--- /dev/null
+++ b/parsed/spells/silent_image.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "silent image",
+ "level": 1,
+ "type": "illusion",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S, M (a bit of fleece)",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "You create the image of an object, a creature, or some other visible phenomenon that is no larger than a 15-foot cube. The image appears at a spot within range and lasts for the duration. The image is purely visual; it isn't accompanied by sound, smell, or other sensory effects. \nYou can use your action to cause the image to move to any spot within range. As the image changes location, you can alter its appearance so that its movements appear natural for the image. For example, if you create an image of a creature and move it, you can alter the image so that it appears to be walking. \nPhysical interaction with the image reveals it to be an illusion, because things can pass through it. A creature that uses its action to examine the image can determine that it is an illusion with a successful Intelligence (Investigation) check against your spell save DC. If a creature discerns the illusion for what it is, the creature can see through the image."
+} \ No newline at end of file
diff --git a/parsed/spells/simulacrum.json b/parsed/spells/simulacrum.json
new file mode 100644
index 0000000..d32f381
--- /dev/null
+++ b/parsed/spells/simulacrum.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "simulacrum",
+ "level": 7,
+ "type": "illusion",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "12 hours",
+ "range": "Touch",
+ "components": "V, S, M (snow or ice in quantities sufficient to made a life-size copy of the duplicated creature; some hair, fingernail clippings, or other piece of that creature's body placed inside the snow or ice; and powdered ruby worth 1,500 gp, sprinkled over the duplicate and consumed by the spell)",
+ "duration": "Until dispelled",
+ "text": "You shape an illusory duplicate of one beast or humanoid that is within range for the entire casting time of the spell. The duplicate is a creature, partially real and formed from ice or snow, and it can take actions and otherwise be affected as a normal creature. It appears to be the same as the original, but it has half the creature's hit point maximum and is formed without any equipment. Otherwise, the illusion uses all the statistics of the creature it duplicates. \nThe simulacrum is friendly to you and creatures you designate. It obeys your spoken commands, moving and acting in accordance with your wishes and acting on your turn in combat. The simulacrum lacks the ability to learn or become more powerful, so it never increases its level or other abilities, nor can it regain expended spell slots. \nIf the simulacrum is damaged, you can repair it in an alchemical laboratory, using rare herbs and minerals worth 100 gp per hit point it regains. The simulacrum lasts until it drops to 0 hit points, at which point it reverts to snow and melts instantly. \nIf you cast this spell again, any currently active duplicates you created with this spell are instantly destroyed."
+} \ No newline at end of file
diff --git a/parsed/spells/sleep.json b/parsed/spells/sleep.json
new file mode 100644
index 0000000..0b49bfd
--- /dev/null
+++ b/parsed/spells/sleep.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "sleep",
+ "level": 1,
+ "type": "enchantment",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "90 feet",
+ "components": "V, S, M (a pinch of fine sand, rose petals, or a cricket)",
+ "duration": "1 minute",
+ "text": "This spell sends creatures into a magical slumber. Roll 5d8; the total is how many hit points of creatures this spell can affect. Creatures within 20 feet of a point you choose within range are affected in ascending order of their current hit points (ignoring unconscious creatures). \nStarting with the creature that has the lowest current hit points, each creature affected by this spell falls unconscious until the spell ends, the sleeper takes damage, or someone uses an action to shake or slap the sleeper awake. Subtract each creature's hit points from the total before moving on to the creature with the next lowest hit points. A creature's hit points must be equal to or less than the remaining total for that creature to be affected. \nUndead and creatures immune to being charmed aren't affected by this spell. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 2nd level or higher, roll an additional 2d8 for each slot level above 1st."
+} \ No newline at end of file
diff --git a/parsed/spells/sleet_storm.json b/parsed/spells/sleet_storm.json
new file mode 100644
index 0000000..4ca5cc0
--- /dev/null
+++ b/parsed/spells/sleet_storm.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "sleet storm",
+ "level": 3,
+ "type": "conjuration",
+ "classes": [
+ "druid",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "150 feet",
+ "components": "V, S, M (a pinch of dust and a few drops of water)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "Until the spell ends, freezing rain and sleet fall in a 20-foot-tall cylinder with a 40-foot radius centered on a point you choose within range. The area is heavily obscured, and exposed flames in the area are doused. \nThe ground in the area is covered with slick ice, making it difficult terrain. When a creature enters the spell's area for the first time on a turn or starts its turn there, it must make a Dexterity saving throw. On a failed save, it falls prone. \nIf a creature is concentrating in the spell's area, the creature must make a successful Constitution saving throw against your spell save DC or lose concentration."
+} \ No newline at end of file
diff --git a/parsed/spells/slow.json b/parsed/spells/slow.json
new file mode 100644
index 0000000..bd77bbf
--- /dev/null
+++ b/parsed/spells/slow.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "slow",
+ "level": 3,
+ "type": "transmutation",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S, M (a drop of molasses)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You alter time around up to six creatures of your choice in a 40-foot cube within range. Each target must succeed on a Wisdom saving throw or be affected by this spell for the duration. \nAn affected target's speed is halved, it takes a \u22122 penalty to AC and Dexterity saving throws, and it can't use reactions. On its turn, it can use either an action or a bonus action, not both. Regardless of the creature's abilities or magic items, it can't make more than one melee or ranged attack during its turn. \nIf the creature attempts to cast a spell with a casting time of 1 action, roll a d20. On an 11 or higher, the spell doesn't take effect until the creature's next turn, and the creature must use its action on that turn to complete the spell. If it can't, the spell is wasted. \nA creature affected by this spell makes another Wisdom saving throw at the end of its turn. On a successful save, the effect ends for it."
+} \ No newline at end of file
diff --git a/parsed/spells/spare_the_dying.json b/parsed/spells/spare_the_dying.json
new file mode 100644
index 0000000..56df24b
--- /dev/null
+++ b/parsed/spells/spare_the_dying.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "spare the dying",
+ "level": 0,
+ "type": "necromancy",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "You touch a living creature that has 0 hit points. The creature becomes stable. This spell has no effect on undead or constructs."
+} \ No newline at end of file
diff --git a/parsed/spells/speak_with_animals.json b/parsed/spells/speak_with_animals.json
new file mode 100644
index 0000000..3c46e53
--- /dev/null
+++ b/parsed/spells/speak_with_animals.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "speak with animals",
+ "level": 1,
+ "type": "divination",
+ "classes": [
+ "bard",
+ "druid",
+ "ranger"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S",
+ "duration": "10 minutes",
+ "text": "You gain the ability to comprehend and verbally communicate with beasts for the duration. The knowledge and awareness of many beasts is limited by their intelligence, but at minimum, beasts can give you information about nearby locations and monsters, including whatever they can perceive or have perceived within the past day. You might be able to persuade a beast to perform a small favor for you, at the GM's discretion."
+} \ No newline at end of file
diff --git a/parsed/spells/speak_with_dead.json b/parsed/spells/speak_with_dead.json
new file mode 100644
index 0000000..bf0f233
--- /dev/null
+++ b/parsed/spells/speak_with_dead.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "speak with dead",
+ "level": 3,
+ "type": "necromancy",
+ "classes": [
+ "bard",
+ "cleric"
+ ],
+ "casting_time": "1 action",
+ "range": "10 feet",
+ "components": "V, S, M (burning incense)",
+ "duration": "10 minutes",
+ "text": "You grant the semblance of life and intelligence to a corpse of your choice within range, allowing it to answer the questions you pose. The corpse must still have a mouth and can't be undead. The spell fails if the corpse was the target of this spell within the last 10 days. \nUntil the spell ends, you can ask the corpse up to five questions. The corpse knows only what it knew in life, including the languages it knew. Answers are usually brief, cryptic, or repetitive, and the corpse is under no compulsion to offer a truthful answer if you are hostile to it or it recognizes you as an enemy. This spell doesn't return the creature's soul to its body, only its animating spirit. Thus, the corpse can't learn new information, doesn't comprehend anything that has happened since it died, and can't speculate about future events."
+} \ No newline at end of file
diff --git a/parsed/spells/speak_with_plants.json b/parsed/spells/speak_with_plants.json
new file mode 100644
index 0000000..2696e2e
--- /dev/null
+++ b/parsed/spells/speak_with_plants.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "speak with plants",
+ "level": 3,
+ "type": "transmutation",
+ "classes": [
+ "bard",
+ "druid",
+ "ranger"
+ ],
+ "casting_time": "1 action",
+ "range": "Self (30-foot radius)",
+ "components": "V, S",
+ "duration": "10 minutes",
+ "text": "You imbue plants within 30 feet of you with limited sentience and animation, giving them the ability to communicate with you and follow your simple commands. You can question plants about events in the spell's area within the past day, gaining information about creatures that have passed, weather, and other circumstances. \nYou can also turn difficult terrain caused by plant growth (such as thickets and undergrowth) into ordinary terrain that lasts for the duration. Or you can turn ordinary terrain where plants are present into difficult terrain that lasts for the duration, causing vines and branches to hinder pursuers, for example. \nPlants might be able to perform other tasks on your behalf, at the GM's discretion. The spell doesn't enable plants to uproot themselves and move about, but they can freely move branches, tendrils, and stalks. \nIf a plant creature is in the area, you can communicate with it as if you shared a common language, but you gain no magical ability to influence it. \nThis spell can cause the plants created by the **_entangle_** spell to release a restrained creature."
+} \ No newline at end of file
diff --git a/parsed/spells/spider_climb.json b/parsed/spells/spider_climb.json
new file mode 100644
index 0000000..f04b247
--- /dev/null
+++ b/parsed/spells/spider_climb.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "spider climb",
+ "level": 2,
+ "type": "transmutation",
+ "classes": [
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (a drop of bitumen and a spider)",
+ "duration": "Concentration, up to 1 hour",
+ "text": "Until the spell ends, one willing creature you touch gains the ability to move up, down, and across vertical surfaces and upside down along ceilings, while leaving its hands free. The target also gains a climbing speed equal to its walking speed."
+} \ No newline at end of file
diff --git a/parsed/spells/spike_growth.json b/parsed/spells/spike_growth.json
new file mode 100644
index 0000000..dc3fed8
--- /dev/null
+++ b/parsed/spells/spike_growth.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "spike growth",
+ "level": 2,
+ "type": "transmutation",
+ "classes": [
+ "druid",
+ "ranger"
+ ],
+ "casting_time": "1 action",
+ "range": "150 feet",
+ "components": "V, S, M (seven sharp thorns or seven small twigs, each sharpened to a point)",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "The ground in a 20-foot radius centered on a point within range twists and sprouts hard spikes and thorns. The area becomes difficult terrain for the duration. When a creature moves into or within the area, it takes 2d4 piercing damage for every 5 feet it travels. \nThe transformation of the ground is camouflaged to look natural. Any creature that can't see the area at the time the spell is cast must make a Wisdom (Perception) check against your spell save DC to recognize the terrain as hazardous before entering it."
+} \ No newline at end of file
diff --git a/parsed/spells/spirit_guardians.json b/parsed/spells/spirit_guardians.json
new file mode 100644
index 0000000..836f712
--- /dev/null
+++ b/parsed/spells/spirit_guardians.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "spirit guardians",
+ "level": 3,
+ "type": "conjuration",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "1 action",
+ "range": "Self (15-foot radius)",
+ "components": "V, S, M (a holy symbol)",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "You call forth spirits to protect you. They flit around you to a distance of 15 feet for the duration. If you are good or neutral, their spectral form appears angelic or fey (your choice). If you are evil, they appear fiendish. \nWhen you cast this spell, you can designate any number of creatures you can see to be unaffected by it. An affected creature's speed is halved in the area, and when the creature enters the area for the first time on a turn or starts its turn there, it must make a Wisdom saving throw. On a failed save, the creature takes 3d8 radiant damage (if you are good or neutral) or 3d8 necrotic damage (if you are evil). On a successful save, the creature takes half as much damage. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 4th level or higher, the damage increases by 1d8 for each slot level above 3rd."
+} \ No newline at end of file
diff --git a/parsed/spells/spiritual_weapon.json b/parsed/spells/spiritual_weapon.json
new file mode 100644
index 0000000..f661d45
--- /dev/null
+++ b/parsed/spells/spiritual_weapon.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "spiritual weapon",
+ "level": 2,
+ "type": "evocation",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "1 bonus action",
+ "range": "60 feet",
+ "components": "V, S",
+ "duration": "1 minute",
+ "text": "You create a floating, spectral weapon within range that lasts for the duration or until you cast this spell again. When you cast the spell, you can make a melee spell attack against a creature within 5 feet of the weapon. On a hit, the target takes force damage equal to 1d8 + your spellcasting ability modifier. \nAs a bonus action on your turn, you can move the weapon up to 20 feet and repeat the attack against a creature within 5 feet of it. \nThe weapon can take whatever form you choose. Clerics of deities who are associated with a particular weapon (as St. Cuthbert is known for his mace and Thor for his hammer) make this spell's effect resemble that weapon. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 3rd level or higher, the damage increases by 1d8 for every two slot levels above 2nd."
+} \ No newline at end of file
diff --git a/parsed/spells/stinking_cloud.json b/parsed/spells/stinking_cloud.json
new file mode 100644
index 0000000..5f330ae
--- /dev/null
+++ b/parsed/spells/stinking_cloud.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "stinking cloud",
+ "level": 3,
+ "type": "conjuration",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "90 feet",
+ "components": "V, S, M (a rotten egg or several skunk cabbage leaves)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You create a 20-foot-radius sphere of yellow, nauseating gas centered on a point within range. The cloud spreads around corners, and its area is heavily obscured. The cloud lingers in the air for the duration. \nEach creature that is completely within the cloud at the start of its turn must make a Constitution saving throw against poison. On a failed save, the creature spends its action that turn retching and reeling. Creatures that don't need to breathe or are immune to poison automatically succeed on this saving throw. \nA moderate wind (at least 10 miles per hour) disperses the cloud after 4 rounds. A strong wind (at least 20 miles per hour) disperses it after 1 round."
+} \ No newline at end of file
diff --git a/parsed/spells/stone_shape.json b/parsed/spells/stone_shape.json
new file mode 100644
index 0000000..80296fb
--- /dev/null
+++ b/parsed/spells/stone_shape.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "stone shape",
+ "level": 4,
+ "type": "transmutation",
+ "classes": [
+ "cleric",
+ "druid",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (soft clay, which must be worked into roughly the desired shape of the stone object)",
+ "duration": "Instantaneous",
+ "text": "You touch a stone object of Medium size or smaller or a section of stone no more than 5 feet in any dimension and form it into any shape that suits your purpose. So, for example, you could shape a large rock into a weapon, idol, or coffer, or make a small passage through a wall, as long as the wall is less than 5 feet thick. You could also shape a stone door or its frame to seal the door shut. The object you create can have up to two hinges and a latch, but finer mechanical detail isn't possible."
+} \ No newline at end of file
diff --git a/parsed/spells/stoneskin.json b/parsed/spells/stoneskin.json
new file mode 100644
index 0000000..bdcc24e
--- /dev/null
+++ b/parsed/spells/stoneskin.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "stoneskin",
+ "level": 4,
+ "type": "abjuration",
+ "classes": [
+ "druid",
+ "ranger",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (diamond dust worth 100 gp, which the spell consumes)",
+ "duration": "Concentration, up to 1 hour",
+ "text": "This spell turns the flesh of a willing creature you touch as hard as stone. Until the spell ends, the target has resistance to nonmagical bludgeoning, piercing, and slashing damage."
+} \ No newline at end of file
diff --git a/parsed/spells/storm_of_vengeance.json b/parsed/spells/storm_of_vengeance.json
new file mode 100644
index 0000000..02f4beb
--- /dev/null
+++ b/parsed/spells/storm_of_vengeance.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "storm of vengeance",
+ "level": 9,
+ "type": "conjuration",
+ "classes": [
+ "druid"
+ ],
+ "casting_time": "1 action",
+ "range": "Sight",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 minute",
+ "text": "A churning storm cloud forms, centered on a point you can see and spreading to a radius of 360 feet. Lightning flashes in the area, thunder booms, and strong winds roar. Each creature under the cloud (no more than 5,000 feet beneath the cloud) when it appears must make a Constitution saving throw. On a failed save, a creature takes 2d6 thunder damage and becomes deafened for 5 minutes. \nEach round you maintain concentration on this spell, the storm produces additional effects on your turn. \n**Round 2.** Acidic rain falls from the cloud. Each creature and object under the cloud takes 1d6 acid damage. \n**Round 3.** You call six bolts of lightning from the cloud to strike six creatures or objects of your choice beneath the cloud. A given creature or object can't be struck by more than one bolt. A struck creature must make a Dexterity saving throw. The creature takes 10d6 lightning damage on a failed save, or half as much damage on a successful one. \n**Round 4.** Hailstones rain down from the cloud. Each creature under the cloud takes 2d6 bludgeoning damage. \n**Round 5\u201310.** Gusts and freezing rain assail the area under the cloud. The area becomes difficult terrain and is heavily obscured. Each creature there takes 1d6 cold damage. Ranged weapon attacks in the area are impossible. The wind and rain count as a severe distraction for the purposes of maintaining concentration on spells. Finally, gusts of strong wind (ranging from 20 to 50 miles per hour) automatically disperse fog, mists, and similar phenomena in the area, whether mundane or magical."
+} \ No newline at end of file
diff --git a/parsed/spells/suggestion.json b/parsed/spells/suggestion.json
new file mode 100644
index 0000000..c36de5b
--- /dev/null
+++ b/parsed/spells/suggestion.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "suggestion",
+ "level": 2,
+ "type": "enchantment",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, M (a snake's tongue and either a bit of honeycomb or a drop of sweet oil)",
+ "duration": "Concentration, up to 8 hours",
+ "text": "You suggest a course of activity (limited to a sentence or two) and magically influence a creature you can see within range that can hear and understand you. Creatures that can't be charmed are immune to this effect. The suggestion must be worded in such a manner as to make the course of action sound reasonable. Asking the creature to stab itself, throw itself onto a spear, immolate itself, or do some other obviously harmful act ends the spell. \nThe target must make a Wisdom saving throw. On a failed save, it pursues the course of action you described to the best of its ability. The suggested course of action can continue for the entire duration. If the suggested activity can be completed in a shorter time, the spell ends when the subject finishes what it was asked to do. \nYou can also specify conditions that will trigger a special activity during the duration. For example, you might suggest that a knight give her warhorse to the first beggar she meets. If the condition isn't met before the spell expires, the activity isn't performed. \nIf you or any of your companions damage the target, the spell ends."
+} \ No newline at end of file
diff --git a/parsed/spells/sunbeam.json b/parsed/spells/sunbeam.json
new file mode 100644
index 0000000..ef80461
--- /dev/null
+++ b/parsed/spells/sunbeam.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "sunbeam",
+ "level": 6,
+ "type": "evocation",
+ "classes": [
+ "druid",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self (60-foot line)",
+ "components": "V, S, M (a magnifying glass)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "A beam of brilliant light flashes out from your hand in a 5-foot-wide, 60-foot-long line. Each creature in the line must make a Constitution saving throw. On a failed save, a creature takes 6d8 radiant damage and is blinded until your next turn. On a successful save, it takes half as much damage and isn't blinded by this spell. Undead and oozes have disadvantage on this saving throw. \nYou can create a new line of radiance as your action on any turn until the spell ends. \nFor the duration, a mote of brilliant radiance shines in your hand. It sheds bright light in a 30-foot radius and dim light for an additional 30 feet. This light is sunlight."
+} \ No newline at end of file
diff --git a/parsed/spells/sunburst.json b/parsed/spells/sunburst.json
new file mode 100644
index 0000000..edf5669
--- /dev/null
+++ b/parsed/spells/sunburst.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "sunburst",
+ "level": 8,
+ "type": "evocation",
+ "classes": [
+ "druid",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "150 feet",
+ "components": "V, S, M (fire and a piece of sunstone)",
+ "duration": "Instantaneous",
+ "text": "Brilliant sunlight flashes in a 60-foot radius centered on a point you choose within range. Each creature in that light must make a Constitution saving throw. On a failed save, a creature takes 12d6 radiant damage and is blinded for 1 minute. On a successful save, it takes half as much damage and isn't blinded by this spell. Undead and oozes have disadvantage on this saving throw. \nA creature blinded by this spell makes another Constitution saving throw at the end of each of its turns. On a successful save, it is no longer blinded. \nThis spell dispels any darkness in its area that was created by a spell."
+} \ No newline at end of file
diff --git a/parsed/spells/symbol.json b/parsed/spells/symbol.json
new file mode 100644
index 0000000..4a0f887
--- /dev/null
+++ b/parsed/spells/symbol.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "symbol",
+ "level": 7,
+ "type": "abjuration",
+ "classes": [
+ "bard",
+ "cleric",
+ "wizard"
+ ],
+ "casting_time": "1 minute",
+ "range": "Touch",
+ "components": "V, S, M (mercury, phosphorus, and powdered diamond and opal with a total value of at least 1,000 gp, which the spell consumes)",
+ "duration": "Until dispelled or triggered",
+ "text": "When you cast this spell, you inscribe a harmful glyph either on a surface (such as a section of floor, a wall, or a table) or within an object that can be closed to conceal the glyph (such as a book, a scroll, or a treasure chest). If you choose a surface, the glyph can cover an area of the surface no larger than 10 feet in diameter. If you choose an object, that object must remain in its place; if the object is moved more than 10 feet from where you cast this spell, the glyph is broken, and the spell ends without being triggered. \nThe glyph is nearly invisible, requiring an Intelligence (Investigation) check against your spell save DC to find it. \nYou decide what triggers the glyph when you cast the spell. For glyphs inscribed on a surface, the most typical triggers include touching or stepping on the glyph, removing another object covering it, approaching within a certain distance of it, or manipulating the object that holds it. For glyphs inscribed within an object, the most common triggers are opening the object, approaching within a certain distance of it, or seeing or reading the glyph. \nYou can further refine the trigger so the spell is activated only under certain circumstances or according to a creature's physical characteristics (such as height or weight), or physical kind (for example, the ward could be set to affect hags or shapechangers). You can also specify creatures that don't trigger the glyph, such as those who say a certain password. \nWhen you inscribe the glyph, choose one of the options below for its effect. Once triggered, the glyph glows, filling a 60-foot-radius sphere with dim light for 10 minutes, after which time the spell ends. Each creature in the sphere when the glyph activates is targeted by its effect, as is a creature that enters the sphere for the first time on a turn or ends its turn there. \n**Death.** Each target must make a Constitution saving throw, taking 10d10 necrotic damage on a failed save, or half as much damage on a successful save. \n**Discord.** Each target must make a Constitution saving throw. On a failed save, a target bickers and argues with other creatures for 1 minute. During this time, it is incapable of meaningful communication and has disadvantage on attack rolls and ability checks. \n**Fear.** Each target must make a Wisdom saving throw and becomes frightened for 1 minute on a failed save. While frightened, the target drops whatever it is holding and must move at least 30 feet away from the glyph on each of its turns, if able. \n**Hopelessness.** Each target must make a Charisma saving throw. On a failed save, the target is overwhelmed with despair for 1 minute. During this time, it can't attack or target any creature with harmful abilities, spells, or other magical effects. \n**Insanity.** Each target must make an Intelligence saving throw. On a failed save, the target is driven insane for 1 minute. An insane creature can't take actions, can't understand what other creatures say, can't read, and speaks only in gibberish. The GM controls its movement, which is erratic. \n**Pain.** Each target must make a Constitution saving throw and becomes incapacitated with excruciating pain for 1 minute on a failed save. \n**Sleep.** Each target must make a Wisdom saving throw and falls unconscious for 10 minutes on a failed save. A creature awakens if it takes damage or if someone uses an action to shake or slap it awake. \n**Stunning.** Each target must make a Wisdom saving throw and becomes stunned for 1 minute on a failed save."
+} \ No newline at end of file
diff --git a/parsed/spells/tashas_hideous_laughter.json b/parsed/spells/tashas_hideous_laughter.json
new file mode 100644
index 0000000..acbcf32
--- /dev/null
+++ b/parsed/spells/tashas_hideous_laughter.json
@@ -0,0 +1,15 @@
+{
+ "casting_time": "1 action",
+ "classes": [
+ "bard",
+ "wizard"
+ ],
+ "components": "V, S, M (tiny tarts and a feather that is waved in the air)",
+ "duration": "Concentration, up to 1 minute",
+ "entry": "spells",
+ "level": 1,
+ "name": "Tasha's hideous laughter",
+ "range": "30 feet",
+ "text": "A creature of your choice that you can see within range perceives everything as hilariously funny and falls into fits of laughter if this spell affects it. The target must succeed on a Wisdom saving throw or fall prone, becoming incapacitated and unable to stand up for the duration. A creature with an Intelligence score of 4 or less isn’t affected.\nAt the end of each of its turns, and each time it takes damage, the target can make another Wisdom saving throw. The target has advantage on the saving throw if it’s triggered by damage. On a success, the spell ends.",
+ "type": "enchantment"
+}
diff --git a/parsed/spells/telekinesis.json b/parsed/spells/telekinesis.json
new file mode 100644
index 0000000..d09934c
--- /dev/null
+++ b/parsed/spells/telekinesis.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "telekinesis",
+ "level": 5,
+ "type": "transmutation",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "You gain the ability to move or manipulate creatures or objects by thought. When you cast the spell, and as your action each round for the duration, you can exert your will on one creature or object that you can see within range, causing the appropriate effect below. You can affect the same target round after round, or choose a new one at any time. If you switch targets, the prior target is no longer affected by the spell. \n**Creature.** You can try to move a Huge or smaller creature. Make an ability check with your spellcasting ability contested by the creature's Strength check. If you win the contest, you move the creature up to 30 feet in any direction, including upward but not beyond the range of this spell. Until the end of your next turn, the creature is restrained in your telekinetic grip. A creature lifted upward is suspended in mid-air. \nOn subsequent rounds, you can use your action to attempt to maintain your telekinetic grip on the creature by repeating the contest. \n**Object.** You can try to move an object that weighs up to 1,000 pounds. If the object isn't being worn or carried, you automatically move it up to 30 feet in any direction, but not beyond the range of this spell. \nIf the object is worn or carried by a creature, you must make an ability check with your spellcasting ability contested by that creature's Strength check. If you succeed, you pull the object away from that creature and can move it up to 30 feet in any direction but not beyond the range of this spell. \nYou can exert fine control on objects with your telekinetic grip, such as manipulating a simple tool, opening a door or a container, stowing or retrieving an item from an open container, or pouring the contents from a vial."
+} \ No newline at end of file
diff --git a/parsed/spells/telepathic_bond.json b/parsed/spells/telepathic_bond.json
new file mode 100644
index 0000000..6618f44
--- /dev/null
+++ b/parsed/spells/telepathic_bond.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "telepathic bond",
+ "level": 5,
+ "type": "divination",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S, M (pieces of eggshell from two different kinds of creatures)",
+ "duration": "1 hour",
+ "text": "You forge a telepathic link among up to eight willing creatures of your choice within range, psychically linking each creature to all the others for the duration. Creatures with Intelligence scores of 2 or less aren't affected by this spell. \nUntil the spell ends, the targets can communicate telepathically through the bond whether or not they have a common language. The communication is possible over any distance, though it can't extend to other planes of existence."
+} \ No newline at end of file
diff --git a/parsed/spells/teleport.json b/parsed/spells/teleport.json
new file mode 100644
index 0000000..90ed997
--- /dev/null
+++ b/parsed/spells/teleport.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "teleport",
+ "level": 7,
+ "type": "conjuration",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "10 feet",
+ "components": "V",
+ "duration": "Instantaneous",
+ "text": "This spell instantly transports you and up to eight willing creatures of your choice that you can see within range, or a single object that you can see within range, to a destination you select. If you target an object, it must be able to fit entirely inside a 10-foot cube, and it can't be held or carried by an unwilling creature. \nThe destination you choose must be known to you, and it must be on the same plane of existence as you. Your familiarity with the destination determines whether you arrive there successfully. The GM rolls d100 and consults the table. \n\n| Familiarity | Mishap | Similar Area | Off Target | On Target |\n|-------------------|--------|--------------|------------|-----------|\n| Permanent circle | - | - | - | 01-100 |\n| Associated object | - | - | - | 01-100 |\n| Very familiar | 01-05 | 06-13 | 14-24 | 25-100 |\n| Seen casually | 01-33 | 34-43 | 44-53 | 54-100 |\n| Viewed once | 01-43 | 44-53 | 54-73 | 74-100 |\n| Description | 01-43 | 44-53 | 54-73 | 74-100 |\n| False destination | 01-50 | 51-100 | - | - |\n \n**Familiarity.** \"Permanent circle\" means a permanent teleportation circle whose sigil sequence you know. \"Associated object\" means that you possess an object taken from the desired destination within the last six months, such as a book from a wizard's library, bed linen from a royal suite, or a chunk of marble from a lich's secret tomb. \n\"Very familiar\" is a place you have been very often, a place you have carefully studied, or a place you can see when you cast the spell. \"Seen casually\" is someplace you have seen more than once but with which you aren't very familiar. \"Viewed once\" is a place you have seen once, possibly using magic. \"Description\" is a place whose location and appearance you know through someone else's description, perhaps from a map. \n\"False destination\" is a place that doesn't exist. Perhaps you tried to scry an enemy's sanctum but instead viewed an illusion, or you are attempting to teleport to a familiar location that no longer exists. \n**On Target.** You and your group (or the target object) appear where you want to. \n**Off Target.** You and your group (or the target object) appear a random distance away from the destination in a random direction. Distance off target is 1d10 \u00d7 1d10 percent of the distance that was to be traveled. For example, if you tried to travel 120 miles, landed off target, and rolled a 5 and 3 on the two d10s, then you would be off target by 15 percent, or 18 miles. The GM determines the direction off target randomly by rolling a d8 and designating 1 as north, 2 as northeast, 3 as east, and so on around the points of the compass. If you were teleporting to a coastal city and wound up 18 miles out at sea, you could be in trouble. \n**Similar Area.** You and your group (or the target object) wind up in a different area that's visually or thematically similar to the target area. If you are heading for your home laboratory, for example, you might wind up in another wizard's laboratory or in an alchemical supply shop that has many of the same tools and implements as your laboratory. Generally, you appear in the closest similar place, but since the spell has no range limit, you could conceivably wind up anywhere on the plane. \n**Mishap.** The spell's unpredictable magic results in a difficult journey. Each teleporting creature (or the target object) takes 3d10 force damage, and the GM rerolls on the table to see where you wind up (multiple mishaps can occur, dealing damage each time)."
+} \ No newline at end of file
diff --git a/parsed/spells/teleportation_circle.json b/parsed/spells/teleportation_circle.json
new file mode 100644
index 0000000..efdde09
--- /dev/null
+++ b/parsed/spells/teleportation_circle.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "teleportation circle",
+ "level": 5,
+ "type": "conjuration",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 minute",
+ "range": "10 feet",
+ "components": "V, M (rare chalks and inks infused with precious gems with 50 gp, which the spell consumes)",
+ "duration": "1 round",
+ "text": "As you cast the spell, you draw a 10-foot-diameter circle on the ground inscribed with sigils that link your location to a permanent teleportation circle of your choice whose sigil sequence you know and that is on the same plane of existence as you. A shimmering portal opens within the circle you drew and remains open until the end of your next turn. Any creature that enters the portal instantly appears within 5 feet of the destination circle or in the nearest unoccupied space if that space is occupied. \nMany major temples, guilds, and other important places have permanent teleportation circles inscribed somewhere within their confines. Each such circle includes a unique sigil sequence--a string of magical runes arranged in a particular pattern. When you first gain the ability to cast this spell, you learn the sigil sequences for two destinations on the Material Plane, determined by the GM. You can learn additional sigil sequences during your adventures. You can commit a new sigil sequence to memory after studying it for 1 minute. \nYou can create a permanent teleportation circle by casting this spell in the same location every day for one year. You need not use the circle to teleport when you cast the spell in this way."
+} \ No newline at end of file
diff --git a/parsed/spells/thaumaturgy.json b/parsed/spells/thaumaturgy.json
new file mode 100644
index 0000000..121bb41
--- /dev/null
+++ b/parsed/spells/thaumaturgy.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "thaumaturgy",
+ "level": 0,
+ "type": "transmutation",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V",
+ "duration": "Up to 1 minute",
+ "text": "You manifest a minor wonder, a sign of supernatural power, within range. You create one of the following magical effects within range:\n\n* Your voice booms up to three times as loud as normal for 1 minute.\n* You cause flames to flicker, brighten, dim, or change color for 1 minute.\n* You cause harmless tremors in the ground for 1 minute.\n* You create an instantaneous sound that originates from a point of your choice within range, such as a rumble of thunder, the cry of a raven, or ominous whispers.\n* You instantaneously cause an unlocked door or window to fly open or slam shut.\n* You alter the appearance of your eyes for 1 minute. \n\nIf you cast this spell multiple times, you can have up to three of its 1-minute effects active at a time, and you can dismiss such an effect as an action."
+} \ No newline at end of file
diff --git a/parsed/spells/thunderwave.json b/parsed/spells/thunderwave.json
new file mode 100644
index 0000000..5353b10
--- /dev/null
+++ b/parsed/spells/thunderwave.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "thunderwave",
+ "level": 1,
+ "type": "evocation",
+ "classes": [
+ "bard",
+ "druid",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self (15-foot cube)",
+ "components": "V, S",
+ "duration": "Instantaneous",
+ "text": "A wave of thunderous force sweeps out from you. Each creature in a 15-foot cube originating from you must make a Constitution saving throw. On a failed save, a creature takes 2d8 thunder damage and is pushed 10 feet away from you. On a successful save, the creature takes half as much damage and isn't pushed. \nIn addition, unsecured objects that are completely within the area of effect are automatically pushed 10 feet away from you by the spell's effect, and the spell emits a thunderous boom audible out to 300 feet. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 2nd level or higher, the damage increases by 1d8 for each slot level above 1st."
+} \ No newline at end of file
diff --git a/parsed/spells/time_stop.json b/parsed/spells/time_stop.json
new file mode 100644
index 0000000..e6ba8d1
--- /dev/null
+++ b/parsed/spells/time_stop.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "time stop",
+ "level": 9,
+ "type": "transmutation",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V",
+ "duration": "Instantaneous",
+ "text": "You briefly stop the flow of time for everyone but yourself. No time passes for other creatures, while you take 1d4 + 1 turns in a row, during which you can use actions and move as normal. \nThis spell ends if one of the actions you use during this period, or any effects that you create during this period, affects a creature other than you or an object being worn or carried by someone other than you. In addition, the spell ends if you move to a place more than 1,000 feet from the location where you cast it."
+} \ No newline at end of file
diff --git a/parsed/spells/tiny_hut.json b/parsed/spells/tiny_hut.json
new file mode 100644
index 0000000..d449fb5
--- /dev/null
+++ b/parsed/spells/tiny_hut.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "tiny hut",
+ "level": 3,
+ "type": "evocation",
+ "classes": [
+ "bard",
+ "wizard"
+ ],
+ "casting_time": "1 minute",
+ "range": "Self (10-foot-radius hemisphere)",
+ "components": "V, S, M (a small crystal bead)",
+ "duration": "8 hours",
+ "text": "A 10-foot-radius immobile dome of force springs into existence around and above you and remains stationary for the duration. The spell ends if you leave its area. \nNine creatures of Medium size or smaller can fit inside the dome with you. The spell fails if its area includes a larger creature or more than nine creatures. Creatures and objects within the dome when you cast this spell can move through it freely. All other creatures and objects are barred from passing through it. Spells and other magical effects can't extend through the dome or be cast through it. The atmosphere inside the space is comfortable and dry, regardless of the weather outside. \nUntil the spell ends, you can command the interior to become dimly lit or dark. The dome is opaque from the outside, of any color you choose, but it is transparent from the inside."
+} \ No newline at end of file
diff --git a/parsed/spells/tongues.json b/parsed/spells/tongues.json
new file mode 100644
index 0000000..bf661d1
--- /dev/null
+++ b/parsed/spells/tongues.json
@@ -0,0 +1,18 @@
+{
+ "entry": "spells",
+ "name": "tongues",
+ "level": 3,
+ "type": "divination",
+ "classes": [
+ "bard",
+ "cleric",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, M (a small clay model of a ziggurat)",
+ "duration": "1 hour",
+ "text": "This spell grants the creature you touch the ability to understand any spoken language it hears. Moreover, when the target speaks, any creature that knows at least one language and can hear the target understands what it says."
+} \ No newline at end of file
diff --git a/parsed/spells/transport_via_plants.json b/parsed/spells/transport_via_plants.json
new file mode 100644
index 0000000..f0df9f0
--- /dev/null
+++ b/parsed/spells/transport_via_plants.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "transport via plants",
+ "level": 6,
+ "type": "conjuration",
+ "classes": [
+ "druid"
+ ],
+ "casting_time": "1 action",
+ "range": "10 feet",
+ "components": "V, S",
+ "duration": "1 round",
+ "text": "This spell creates a magical link between a Large or larger inanimate plant within range and another plant, at any distance, on the same plane of existence. You must have seen or touched the destination plant at least once before. For the duration, any creature can step into the target plant and exit from the destination plant by using 5 feet of movement."
+} \ No newline at end of file
diff --git a/parsed/spells/tree_stride.json b/parsed/spells/tree_stride.json
new file mode 100644
index 0000000..b2a3db1
--- /dev/null
+++ b/parsed/spells/tree_stride.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "tree stride",
+ "level": 5,
+ "type": "conjuration",
+ "classes": [
+ "druid",
+ "ranger"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You gain the ability to enter a tree and move from inside it to inside another tree of the same kind within 500 feet. Both trees must be living and at least the same size as you. You must use 5 feet of movement to enter a tree. You instantly know the location of all other trees of the same kind within 500 feet and, as part of the move used to enter the tree, can either pass into one of those trees or step out of the tree you're in. You appear in a spot of your choice within 5 feet of the destination tree, using another 5 feet of movement. If you have no movement left, you appear within 5 feet of the tree you entered. \nYou can use this transportation ability once per round for the duration. You must end each turn outside a tree."
+} \ No newline at end of file
diff --git a/parsed/spells/true_polymorph.json b/parsed/spells/true_polymorph.json
new file mode 100644
index 0000000..004a4a4
--- /dev/null
+++ b/parsed/spells/true_polymorph.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "true polymorph",
+ "level": 9,
+ "type": "transmutation",
+ "classes": [
+ "bard",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S, M (a drop of mercury, a dollop of gum arabic, and a wisp of smoke)",
+ "duration": "Concentration, up to 1 hour",
+ "text": "Choose one creature or nonmagical object that you can see within range. You transform the creature into a different creature, the creature into an object, or the object into a creature (the object must be neither worn nor carried by another creature). The transformation lasts for the duration, or until the target drops to 0 hit points or dies. If you concentrate on this spell for the full duration, the transformation lasts until it is dispelled. \nThis spell has no effect on a shapechanger or a creature with 0 hit points. An unwilling creature can make a Wisdom saving throw, and if it succeeds, it isn't affected by this spell. \n**Creature into Creature.** If you turn a creature into another kind of creature, the new form can be any kind you choose whose challenge rating is equal to or less than the target's (or its level, if the target doesn't have a challenge rating). The target's game statistics, including mental ability scores, are replaced by the statistics of the new form. It retains its alignment and personality. \nThe target assumes the hit points of its new form, and when it reverts to its normal form, the creature returns to the number of hit points it had before it transformed. If it reverts as a result of dropping to 0 hit points, any excess damage carries over to its normal form. As long as the excess damage doesn't reduce the creature's normal form to 0 hit points, it isn't knocked unconscious. \nThe creature is limited in the actions it can perform by the nature of its new form, and it can't speak, cast spells, or take any other action that requires hands or speech, unless its new form is capable of such actions. \nThe target's gear melds into the new form. The creature can't activate, use, wield, or otherwise benefit from any of its equipment. \n**Object into Creature.** You can turn an object into any kind of creature, as long as the creature's size is no larger than the object's size and the creature's challenge rating is 9 or lower. The creature is friendly to you and your companions. It acts on each of your turns. You decide what action it takes and how it moves. The GM has the creature's statistics and resolves all of its actions and movement. \nIf the spell becomes permanent, you no longer control the creature. It might remain friendly to you, depending on how you have treated it. \n**Creature into Object.** If you turn a creature into an object, it transforms along with whatever it is wearing and carrying into that form. The creature's statistics become those of the object, and the creature has no memory of time spent in this form, after the spell ends and it returns to its normal form."
+} \ No newline at end of file
diff --git a/parsed/spells/true_resurrection.json b/parsed/spells/true_resurrection.json
new file mode 100644
index 0000000..3c6f2f2
--- /dev/null
+++ b/parsed/spells/true_resurrection.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "true resurrection",
+ "level": 9,
+ "type": "necromancy",
+ "classes": [
+ "cleric",
+ "druid"
+ ],
+ "casting_time": "1 hour",
+ "range": "Touch",
+ "components": "V, S, M (a sprinkle of holy water and diamonds worth at least 25,000 gp, which the spell consumes)",
+ "duration": "Instantaneous",
+ "text": "You touch a creature that has been dead for no longer than 200 years and that died for any reason except old age. If the creature's soul is free and willing, the creature is restored to life with all its hit points. \nThis spell closes all wounds, neutralizes any poison, cures all diseases, and lifts any curses affecting the creature when it died. The spell replaces damaged or missing organs and limbs. \nThe spell can even provide a new body if the original no longer exists, in which case you must speak the creature's name. The creature then appears in an unoccupied space you choose within 10 feet of you."
+} \ No newline at end of file
diff --git a/parsed/spells/true_seeing.json b/parsed/spells/true_seeing.json
new file mode 100644
index 0000000..282f932
--- /dev/null
+++ b/parsed/spells/true_seeing.json
@@ -0,0 +1,18 @@
+{
+ "entry": "spells",
+ "name": "true seeing",
+ "level": 6,
+ "type": "divination",
+ "classes": [
+ "bard",
+ "cleric",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (an ointment for the eyes that costs 25 gp; is made from mushroom powder, saffron, and fat; and is consumed by the spell)",
+ "duration": "1 hour",
+ "text": "This spell gives the willing creature you touch the ability to see things as they actually are. For the duration, the creature has truesight, notices secret doors hidden by magic, and can see into the Ethereal Plane, all out to a range of 120 feet."
+} \ No newline at end of file
diff --git a/parsed/spells/true_strike.json b/parsed/spells/true_strike.json
new file mode 100644
index 0000000..95513f9
--- /dev/null
+++ b/parsed/spells/true_strike.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "true strike",
+ "level": 0,
+ "type": "divination",
+ "classes": [
+ "bard",
+ "sorcerer",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "S",
+ "duration": "Concentration, up to 1 round",
+ "text": "You extend your hand and point a finger at a target in range. Your magic grants you a brief insight into the target's defenses. On your next turn, you gain advantage on your first attack roll against the target, provided that this spell hasn't ended."
+} \ No newline at end of file
diff --git a/parsed/spells/unseen_servant.json b/parsed/spells/unseen_servant.json
new file mode 100644
index 0000000..76c53b8
--- /dev/null
+++ b/parsed/spells/unseen_servant.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "unseen servant",
+ "level": 1,
+ "type": "conjuration",
+ "classes": [
+ "bard",
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S, M (a piece of string and a bit of wood)",
+ "duration": "1 hour",
+ "text": "This spell creates an invisible, mindless, shapeless force that performs simple tasks at your command until the spell ends. The servant springs into existence in an unoccupied space on the ground within range. It has AC 10, 1 hit point, and a Strength of 2, and it can't attack. If it drops to 0 hit points, the spell ends. \nOnce on each of your turns as a bonus action, you can mentally command the servant to move up to 15 feet and interact with an object. The servant can perform simple tasks that a human servant could do, such as fetching things, cleaning, mending, folding clothes, lighting fires, serving food, and pouring wine. Once you give the command, the servant performs the task to the best of its ability until it completes the task, then waits for your next command. \nIf you command the servant to perform a task that would move it more than 60 feet away from you, the spell ends."
+} \ No newline at end of file
diff --git a/parsed/spells/vampiric_touch.json b/parsed/spells/vampiric_touch.json
new file mode 100644
index 0000000..71572d8
--- /dev/null
+++ b/parsed/spells/vampiric_touch.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "vampiric touch",
+ "level": 3,
+ "type": "necromancy",
+ "classes": [
+ "warlock",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V, S",
+ "duration": "Concentration, up to 1 minute",
+ "text": "The touch of your shadow-wreathed hand can siphon life force from others to heal your wounds. Make a melee spell attack against a creature within your reach. On a hit, the target takes 3d6 necrotic damage, and you regain hit points equal to half the amount of necrotic damage dealt. Until the spell ends, you can make the attack again on each of your turns as an action. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 4th level or higher, the damage increases by 1d6 for each slot level above 3rd."
+} \ No newline at end of file
diff --git a/parsed/spells/vicious_mockery.json b/parsed/spells/vicious_mockery.json
new file mode 100644
index 0000000..676edf3
--- /dev/null
+++ b/parsed/spells/vicious_mockery.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "vicious mockery",
+ "level": 0,
+ "type": "enchantment",
+ "classes": [
+ "bard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V",
+ "duration": "Instantaneous",
+ "text": "You unleash a string of insults laced with subtle enchantments at a creature you can see within range. If the target can hear you (though it need not understand you), it must succeed on a Wisdom saving throw or take 1d4 psychic damage and have disadvantage on the next attack roll it makes before the end of its next turn. \nThis spell's damage increases by 1d4 when you reach 5th level (2d4), 11th level (3d4), and 17th level (4d4)."
+} \ No newline at end of file
diff --git a/parsed/spells/wall_of_fire.json b/parsed/spells/wall_of_fire.json
new file mode 100644
index 0000000..bee2525
--- /dev/null
+++ b/parsed/spells/wall_of_fire.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "wall of fire",
+ "level": 4,
+ "type": "evocation",
+ "classes": [
+ "druid",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S, M (a small piece of phosphorus)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "You create a wall of fire on a solid surface within range. You can make the wall up to 60 feet long, 20 feet high, and 1 foot thick, or a ringed wall up to 20 feet in diameter, 20 feet high, and 1 foot thick. The wall is opaque and lasts for the duration. \nWhen the wall appears, each creature within its area must make a Dexterity saving throw. On a failed save, a creature takes 5d8 fire damage, or half as much damage on a successful save. \nOne side of the wall, selected by you when you cast this spell, deals 5d8 fire damage to each creature that ends its turn within 10 feet of that side or inside the wall. A creature takes the same damage when it enters the wall for the first time on a turn or ends its turn there. The other side of the wall deals no damage. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 5th level or higher, the damage increases by 1d8 for each slot level above 4th."
+} \ No newline at end of file
diff --git a/parsed/spells/wall_of_force.json b/parsed/spells/wall_of_force.json
new file mode 100644
index 0000000..3a798f6
--- /dev/null
+++ b/parsed/spells/wall_of_force.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "wall of force",
+ "level": 5,
+ "type": "evocation",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S, M (a pinch of powder made by crushing a clear gemstone)",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "An invisible wall of force springs into existence at a point you choose within range. The wall appears in any orientation you choose, as a horizontal or vertical barrier or at an angle. It can be free floating or resting on a solid surface. You can form it into a hemispherical dome or a sphere with a radius of up to 10 feet, or you can shape a flat surface made up of ten 10-foot-by-10-foot panels. Each panel must be contiguous with another panel. In any form, the wall is 1/4 inch thick. It lasts for the duration. If the wall cuts through a creature's space when it appears, the creature is pushed to one side of the wall (your choice which side). \nNothing can physically pass through the wall. It is immune to all damage and can't be dispelled by **_dispel magic_**. A **_disintegrate_** spell destroys the wall instantly, however. The wall also extends into the Ethereal Plane, blocking ethereal travel through the wall."
+} \ No newline at end of file
diff --git a/parsed/spells/wall_of_ice.json b/parsed/spells/wall_of_ice.json
new file mode 100644
index 0000000..3c37e05
--- /dev/null
+++ b/parsed/spells/wall_of_ice.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "wall of ice",
+ "level": 6,
+ "type": "evocation",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S, M (a small piece of quartz)",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "You create a wall of ice on a solid surface within range. You can form it into a hemispherical dome or a sphere with a radius of up to 10 feet, or you can shape a flat surface made up of ten 10-foot-square panels. Each panel must be contiguous with another panel. In any form, the wall is 1 foot thick and lasts for the duration. \nIf the wall cuts through a creature's space when it appears, the creature within its area is pushed to one side of the wall and must make a Dexterity saving throw. On a failed save, the creature takes 10d6 cold damage, or half as much damage on a successful save. \nThe wall is an object that can be damaged and thus breached. It has AC 12 and 30 hit points per 10-foot section, and it is vulnerable to fire damage. Reducing a 10-foot section of wall to 0 hit points destroys it and leaves behind a sheet of frigid air in the space the wall occupied. A creature moving through the sheet of frigid air for the first time on a turn must make a Constitution saving throw. That creature takes 5d6 cold damage on a failed save, or half as much damage on a successful one. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 7th level or higher, the damage the wall deals when it appears increases by 2d6, and the damage from passing through the sheet of frigid air increases by 1d6, for each slot level above 6th."
+} \ No newline at end of file
diff --git a/parsed/spells/wall_of_stone.json b/parsed/spells/wall_of_stone.json
new file mode 100644
index 0000000..4afec2c
--- /dev/null
+++ b/parsed/spells/wall_of_stone.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "wall of stone",
+ "level": 5,
+ "type": "evocation",
+ "classes": [
+ "druid",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S, M (a small block of granite)",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "A nonmagical wall of solid stone springs into existence at a point you choose within range. The wall is 6 inches thick and is composed of ten 10-foot- by-10-foot panels. Each panel must be contiguous with at least one other panel. Alternatively, you can create 10-foot-by-20-foot panels that are only 3 inches thick. \nIf the wall cuts through a creature's space when it appears, the creature is pushed to one side of the wall (your choice). If a creature would be surrounded on all sides by the wall (or the wall and another solid surface), that creature can make a Dexterity saving throw. On a success, it can use its reaction to move up to its speed so that it is no longer enclosed by the wall. \nThe wall can have any shape you desire, though it can't occupy the same space as a creature or object. The wall doesn't need to be vertical or rest on any firm foundation. It must, however, merge with and be solidly supported by existing stone. Thus, you can use this spell to bridge a chasm or create a ramp. \nIf you create a span greater than 20 feet in length, you must halve the size of each panel to create supports. You can crudely shape the wall to create crenellations, battlements, and so on. \nThe wall is an object made of stone that can be damaged and thus breached. Each panel has AC 15 and 30 hit points per inch of thickness. Reducing a panel to 0 hit points destroys it and might cause connected panels to collapse at the GM's discretion. \nIf you maintain your concentration on this spell for its whole duration, the wall becomes permanent and can't be dispelled. Otherwise, the wall disappears when the spell ends."
+} \ No newline at end of file
diff --git a/parsed/spells/wall_of_thorns.json b/parsed/spells/wall_of_thorns.json
new file mode 100644
index 0000000..4167db4
--- /dev/null
+++ b/parsed/spells/wall_of_thorns.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "wall of thorns",
+ "level": 6,
+ "type": "conjuration",
+ "classes": [
+ "druid"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S, M (a handful of thorns)",
+ "duration": "Concentration, up to 10 minutes",
+ "text": "You create a wall of tough, pliable, tangled brush bristling with needle-sharp thorns. The wall appears within range on a solid surface and lasts for the duration. You choose to make the wall up to 60 feet long, 10 feet high, and 5 feet thick or a circle that has a 20-foot diameter and is up to 20 feet high and 5 feet thick. The wall blocks line of sight. \nWhen the wall appears, each creature within its area must make a Dexterity saving throw. On a failed save, a creature takes 7d8 piercing damage, or half as much damage on a successful save. \nA creature can move through the wall, albeit slowly and painfully. For every 1 foot a creature moves through the wall, it must spend 4 feet of movement. Furthermore, the first time a creature enters the wall on a turn or ends its turn there, the creature must make a Dexterity saving throw. It takes 7d8 slashing damage on a failed save, or half as much damage on a successful one. \n\n**At Higher Levels.** When you cast this spell using a spell slot of 7th level or higher, both types of damage increase by 1d8 for each slot level above 6th."
+} \ No newline at end of file
diff --git a/parsed/spells/warding_bond.json b/parsed/spells/warding_bond.json
new file mode 100644
index 0000000..ae81e41
--- /dev/null
+++ b/parsed/spells/warding_bond.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "warding bond",
+ "level": 2,
+ "type": "abjuration",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "1 action",
+ "range": "Touch",
+ "components": "V, S, M (a pair of platinum rings worth at least 50 gp each, which you and the target must wear for the duration)",
+ "duration": "1 hour",
+ "text": "This spell wards a willing creature you touch and creates a mystic connection between you and the target until the spell ends. While the target is within 60 feet of you, it gains a +1 bonus to AC and saving throws, and it has resistance to all damage. Also, each time it takes damage, you take the same amount of damage. \nThe spell ends if you drop to 0 hit points or if you and the target become separated by more than 60 feet. It also ends if the spell is cast again on either of the connected creatures. You can also dismiss the spell as an action."
+} \ No newline at end of file
diff --git a/parsed/spells/water_breathing.json b/parsed/spells/water_breathing.json
new file mode 100644
index 0000000..7615bd0
--- /dev/null
+++ b/parsed/spells/water_breathing.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "water breathing",
+ "level": 3,
+ "type": "transmutation",
+ "classes": [
+ "druid",
+ "ranger",
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S, M (a short reed or piece of straw)",
+ "duration": "24 hours",
+ "text": "This spell grants up to ten willing creatures you can see within range the ability to breathe underwater until the spell ends. Affected creatures also retain their normal mode of respiration."
+} \ No newline at end of file
diff --git a/parsed/spells/water_walk.json b/parsed/spells/water_walk.json
new file mode 100644
index 0000000..7319a79
--- /dev/null
+++ b/parsed/spells/water_walk.json
@@ -0,0 +1,17 @@
+{
+ "entry": "spells",
+ "name": "water walk",
+ "level": 3,
+ "type": "transmutation",
+ "classes": [
+ "cleric",
+ "druid",
+ "ranger",
+ "sorcerer"
+ ],
+ "casting_time": "1 action",
+ "range": "30 feet",
+ "components": "V, S, M (a piece of cork)",
+ "duration": "1 hour",
+ "text": "This spell grants the ability to move across any liquid surface--such as water, acid, mud, snow, quicksand, or lava--as if it were harmless solid ground (creatures crossing molten lava can still take damage from the heat). Up to ten willing creatures you can see within range gain this ability for the duration. \nIf you target a creature submerged in a liquid, the spell carries the target to the surface of the liquid at a rate of 60 feet per round."
+} \ No newline at end of file
diff --git a/parsed/spells/web.json b/parsed/spells/web.json
new file mode 100644
index 0000000..b02f652
--- /dev/null
+++ b/parsed/spells/web.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "web",
+ "level": 2,
+ "type": "conjuration",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S, M (a bit of spiderweb)",
+ "duration": "Concentration, up to 1 hour",
+ "text": "You conjure a mass of thick, sticky webbing at a point of your choice within range. The webs fill a 20- foot cube from that point for the duration. The webs are difficult terrain and lightly obscure their area. \nIf the webs aren't anchored between two solid masses (such as walls or trees) or layered across a floor, wall, or ceiling, the conjured web collapses on itself, and the spell ends at the start of your next turn. Webs layered over a flat surface have a depth of 5 feet. \nEach creature that starts its turn in the webs or that enters them during its turn must make a Dexterity saving throw. On a failed save, the creature is restrained as long as it remains in the webs or until it breaks free. \nA creature restrained by the webs can use its action to make a Strength check against your spell save DC. If it succeeds, it is no longer restrained. \nThe webs are flammable. Any 5-foot cube of webs exposed to fire burns away in 1 round, dealing 2d4 fire damage to any creature that starts its turn in the fire."
+} \ No newline at end of file
diff --git a/parsed/spells/weird.json b/parsed/spells/weird.json
new file mode 100644
index 0000000..04743af
--- /dev/null
+++ b/parsed/spells/weird.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "weird",
+ "level": 9,
+ "type": "illusion",
+ "classes": [
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S",
+ "duration": "Concentration, up to one minute",
+ "text": "Drawing on the deepest fears of a group of creatures, you create illusory creatures in their minds, visible only to them. Each creature in a 30-foot-radius sphere centered on a point of your choice within range must make a Wisdom saving throw. On a failed save, a creature becomes frightened for the duration. The illusion calls on the creature's deepest fears, manifesting its worst nightmares as an implacable threat. At the end of each of the frightened creature's turns, it must succeed on a Wisdom saving throw or take 4d10 psychic damage. On a successful save, the spell ends for that creature."
+} \ No newline at end of file
diff --git a/parsed/spells/wind_walk.json b/parsed/spells/wind_walk.json
new file mode 100644
index 0000000..d79c3aa
--- /dev/null
+++ b/parsed/spells/wind_walk.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "wind walk",
+ "level": 6,
+ "type": "transmutation",
+ "classes": [
+ "druid"
+ ],
+ "casting_time": "1 minute",
+ "range": "30 feet",
+ "components": "V, S, M (fire and holy water)",
+ "duration": "8 hours",
+ "text": "You and up to ten willing creatures you can see within range assume a gaseous form for the duration, appearing as wisps of cloud. While in this cloud form, a creature has a flying speed of 300 feet and has resistance to damage from nonmagical weapons. The only actions a creature can take in this form are the Dash action or to revert to its normal form. Reverting takes 1 minute, during which time a creature is incapacitated and can't move. Until the spell ends, a creature can revert to cloud form, which also requires the 1-minute transformation. \nIf a creature is in cloud form and flying when the effect ends, the creature descends 60 feet per round for 1 minute until it lands, which it does safely. If it can't land after 1 minute, the creature falls the remaining distance."
+} \ No newline at end of file
diff --git a/parsed/spells/wind_wall.json b/parsed/spells/wind_wall.json
new file mode 100644
index 0000000..9fe9f44
--- /dev/null
+++ b/parsed/spells/wind_wall.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "wind wall",
+ "level": 3,
+ "type": "evocation",
+ "classes": [
+ "druid",
+ "ranger"
+ ],
+ "casting_time": "1 action",
+ "range": "120 feet",
+ "components": "V, S, M (a tiny fan and a feather of exotic origin)",
+ "duration": "Concentration, up to 1 minute",
+ "text": "A wall of strong wind rises from the ground at a point you choose within range. You can make the wall up to 50 feet long, 15 feet high, and 1 foot thick. You can shape the wall in any way you choose so long as it makes one continuous path along the ground. The wall lasts for the duration. \nWhen the wall appears, each creature within its area must make a Strength saving throw. A creature takes 3d8 bludgeoning damage on a failed save, or half as much damage on a successful one. \nThe strong wind keeps fog, smoke, and other gases at bay. Small or smaller flying creatures or objects can't pass through the wall. Loose, lightweight materials brought into the wall fly upward. Arrows, bolts, and other ordinary projectiles launched at targets behind the wall are deflected upward and automatically miss. (Boulders hurled by giants or siege engines, and similar projectiles, are unaffected.) Creatures in gaseous form can't pass through it."
+} \ No newline at end of file
diff --git a/parsed/spells/wish.json b/parsed/spells/wish.json
new file mode 100644
index 0000000..80e373c
--- /dev/null
+++ b/parsed/spells/wish.json
@@ -0,0 +1,15 @@
+{
+ "entry": "spells",
+ "name": "wish",
+ "level": 9,
+ "type": "conjuration",
+ "classes": [
+ "sorcerer",
+ "wizard"
+ ],
+ "casting_time": "1 action",
+ "range": "Self",
+ "components": "V",
+ "duration": "Instantaneous",
+ "text": "**_Wish_** is the mightiest spell a mortal creature can cast. By simply speaking aloud, you can alter the very foundations of reality in accord with your desires. \nThe basic use of this spell is to duplicate any other spell of 8th level or lower. You don't need to meet any requirements in that spell, including costly components. The spell simply takes effect. \nAlternatively, you can create one of the following effects of your choice:\n* You create one object of up to 25,000 gp in value that isn't a magic item. The object can be no more than 300 feet in any dimension, and it appears in an unoccupied space you can see on the ground. \n* You allow up to twenty creatures that you can see to regain all hit points, and you end all effects on them described in the greater restoration spell.\n* You grant up to ten creatures that you can see resistance to a damage type you choose. \n* You grant up to ten creatures you can see immunity to a single spell or other magical effect for 8 hours. For instance, you could make yourself and all your companions immune to a lich's life drain attack.\n* You undo a single recent event by forcing a reroll of any roll made within the last round (including your last turn). Reality reshapes itself to accommodate the new result. For example, a **_wish_** spell could undo an opponent's successful save, a foe's critical hit, or a friend's failed save. You can force the reroll to be made with advantage or disadvantage, and you can choose whether to use the reroll or the original roll. \n\n\nYou might be able to achieve something beyond the scope of the above examples. State your wish to the GM as precisely as possible. The GM has great latitude in ruling what occurs in such an instance; the greater the wish, the greater the likelihood that something goes wrong. This spell might simply fail, the effect you desire might only be partly achieved, or you might suffer some unforeseen consequence as a result of how you worded the wish. For example, wishing that a villain were dead might propel you forward in time to a period when that villain is no longer alive, effectively removing you from the game. Similarly, wishing for a legendary magic item or artifact might instantly transport you to the presence of the item's current owner. \nThe stress of casting this spell to produce any effect other than duplicating another spell weakens you. After enduring that stress, each time you cast a spell until you finish a long rest, you take 1d10 necrotic damage per level of that spell. This damage can't be reduced or prevented in any way. In addition, your Strength drops to 3, if it isn't 3 or lower already, for 2d4 days. For each of those days that you spend resting and doing nothing more than light activity, your remaining recovery time decreases by 2 days. Finally, there is a 33 percent chance that you are unable to cast **_wish_** ever again if you suffer this stress."
+} \ No newline at end of file
diff --git a/parsed/spells/word_of_recall.json b/parsed/spells/word_of_recall.json
new file mode 100644
index 0000000..3ce5c6b
--- /dev/null
+++ b/parsed/spells/word_of_recall.json
@@ -0,0 +1,14 @@
+{
+ "entry": "spells",
+ "name": "word of recall",
+ "level": 6,
+ "type": "conjuration",
+ "classes": [
+ "cleric"
+ ],
+ "casting_time": "1 action",
+ "range": "5 feet",
+ "components": "V",
+ "duration": "Instantaneous",
+ "text": "You and up to five willing creatures within 5 feet of you instantly teleport to a previously designated sanctuary. You and any creatures that teleport with you appear in the nearest unoccupied space to the spot you designated when you prepared your sanctuary (see below). If you cast this spell without first preparing a sanctuary, the spell has no effect. \nYou must designate a sanctuary by casting this spell within a location, such as a temple, dedicated to or strongly linked to your deity. If you attempt to cast the spell in this manner in an area that isn't dedicated to your deity, the spell has no effect."
+} \ No newline at end of file
diff --git a/parsed/spells/zone_of_truth.json b/parsed/spells/zone_of_truth.json
new file mode 100644
index 0000000..8fc662f
--- /dev/null
+++ b/parsed/spells/zone_of_truth.json
@@ -0,0 +1,16 @@
+{
+ "entry": "spells",
+ "name": "zone of truth",
+ "level": 2,
+ "type": "enchantment",
+ "classes": [
+ "bard",
+ "cleric",
+ "paladin"
+ ],
+ "casting_time": "1 action",
+ "range": "60 feet",
+ "components": "V, S",
+ "duration": "10 minutes",
+ "text": "You create a magical zone that guards against deception in a 15-foot-radius sphere centered on a point of your choice within range. Until the spell ends, a creature that enters the spell's area for the first time on a turn or starts its turn there must make a Charisma saving throw. On a failed save, a creature can't speak a deliberate lie while in the radius. You know whether each creature succeeds or fails on its saving throw. \nAn affected creature is aware of the spell and can thus avoid answering questions to which it would normally respond with a lie. Such a creature can be evasive in its answers as long as it remains within the boundaries of the truth."
+} \ No newline at end of file
diff --git a/parsed/weapons/battleaxe.json b/parsed/weapons/battleaxe.json
new file mode 100644
index 0000000..31e93e7
--- /dev/null
+++ b/parsed/weapons/battleaxe.json
@@ -0,0 +1,28 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "battleaxe",
+ "cost": 1000,
+ "damage": [
+ {
+ "dmg_type": "slashing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8
+ }
+ ],
+ "weight": 4.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "versatile"
+ ],
+ "weapon_type": "martial melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/blowgun.json b/parsed/weapons/blowgun.json
new file mode 100644
index 0000000..cb233df
--- /dev/null
+++ b/parsed/weapons/blowgun.json
@@ -0,0 +1,29 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "blowgun",
+ "cost": 1000,
+ "damage": [
+ {
+ "dmg_type": "piercing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 1
+ }
+ ],
+ "weight": 1.0,
+ "range": [
+ 25,
+ 100
+ ],
+ "reach": 0,
+ "properties": [
+ "ammunition",
+ "loading"
+ ],
+ "weapon_type": "martial ranged weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/club.json b/parsed/weapons/club.json
new file mode 100644
index 0000000..13bb6f3
--- /dev/null
+++ b/parsed/weapons/club.json
@@ -0,0 +1,28 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "club",
+ "cost": 10,
+ "damage": [
+ {
+ "dmg_type": "bludgeoning",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4
+ }
+ ],
+ "weight": 2.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "light"
+ ],
+ "weapon_type": "simple melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/dagger.json b/parsed/weapons/dagger.json
new file mode 100644
index 0000000..2ce242e
--- /dev/null
+++ b/parsed/weapons/dagger.json
@@ -0,0 +1,30 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "dagger",
+ "cost": 200,
+ "damage": [
+ {
+ "dmg_type": "piercing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4
+ }
+ ],
+ "weight": 1.0,
+ "range": [
+ 20,
+ 60
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse",
+ "light",
+ "thrown"
+ ],
+ "weapon_type": "simple melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/dart.json b/parsed/weapons/dart.json
new file mode 100644
index 0000000..60c7e03
--- /dev/null
+++ b/parsed/weapons/dart.json
@@ -0,0 +1,29 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "dart",
+ "cost": 5,
+ "damage": [
+ {
+ "dmg_type": "piercing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4
+ }
+ ],
+ "weight": 0.25,
+ "range": [
+ 20,
+ 60
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse",
+ "thrown"
+ ],
+ "weapon_type": "simple ranged weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/flail.json b/parsed/weapons/flail.json
new file mode 100644
index 0000000..f0b7fac
--- /dev/null
+++ b/parsed/weapons/flail.json
@@ -0,0 +1,26 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "flail",
+ "cost": 1000,
+ "damage": [
+ {
+ "dmg_type": "bludgeoning",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8
+ }
+ ],
+ "weight": 2.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "martial melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/glaive.json b/parsed/weapons/glaive.json
new file mode 100644
index 0000000..e8690db
--- /dev/null
+++ b/parsed/weapons/glaive.json
@@ -0,0 +1,30 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "glaive",
+ "cost": 2000,
+ "damage": [
+ {
+ "dmg_type": "slashing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10
+ }
+ ],
+ "weight": 6.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [
+ "heavy",
+ "reach",
+ "two-handed"
+ ],
+ "weapon_type": "martial melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/greataxe.json b/parsed/weapons/greataxe.json
new file mode 100644
index 0000000..876e462
--- /dev/null
+++ b/parsed/weapons/greataxe.json
@@ -0,0 +1,29 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "greataxe",
+ "cost": 3000,
+ "damage": [
+ {
+ "dmg_type": "slashing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 12
+ }
+ ],
+ "weight": 7.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "heavy",
+ "two-handed"
+ ],
+ "weapon_type": "martial melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/greatclub.json b/parsed/weapons/greatclub.json
new file mode 100644
index 0000000..6ee620b
--- /dev/null
+++ b/parsed/weapons/greatclub.json
@@ -0,0 +1,28 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "greatclub",
+ "cost": 20,
+ "damage": [
+ {
+ "dmg_type": "bludgeoning",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8
+ }
+ ],
+ "weight": 10.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "two-handed"
+ ],
+ "weapon_type": "simple melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/greatsword.json b/parsed/weapons/greatsword.json
new file mode 100644
index 0000000..545552b
--- /dev/null
+++ b/parsed/weapons/greatsword.json
@@ -0,0 +1,29 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "greatsword",
+ "cost": 5000,
+ "damage": [
+ {
+ "dmg_type": "slashing",
+ "is_or": false,
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6
+ }
+ ],
+ "weight": 6.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "heavy",
+ "two-handed"
+ ],
+ "weapon_type": "martial melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/halberd.json b/parsed/weapons/halberd.json
new file mode 100644
index 0000000..9ca680d
--- /dev/null
+++ b/parsed/weapons/halberd.json
@@ -0,0 +1,30 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "halberd",
+ "cost": 2000,
+ "damage": [
+ {
+ "dmg_type": "slashing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10
+ }
+ ],
+ "weight": 6.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [
+ "heavy",
+ "reach",
+ "two-handed"
+ ],
+ "weapon_type": "martial melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/hand_crossbow.json b/parsed/weapons/hand_crossbow.json
new file mode 100644
index 0000000..4e25025
--- /dev/null
+++ b/parsed/weapons/hand_crossbow.json
@@ -0,0 +1,30 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "hand crossbow",
+ "cost": 7500,
+ "damage": [
+ {
+ "dmg_type": "piercing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6
+ }
+ ],
+ "weight": 3.0,
+ "range": [
+ 30,
+ 120
+ ],
+ "reach": 0,
+ "properties": [
+ "ammunition",
+ "light",
+ "loading"
+ ],
+ "weapon_type": "martial ranged weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/handaxe.json b/parsed/weapons/handaxe.json
new file mode 100644
index 0000000..4753f8e
--- /dev/null
+++ b/parsed/weapons/handaxe.json
@@ -0,0 +1,29 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "handaxe",
+ "cost": 500,
+ "damage": [
+ {
+ "dmg_type": "slashing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6
+ }
+ ],
+ "weight": 2.0,
+ "range": [
+ 20,
+ 60
+ ],
+ "reach": 5,
+ "properties": [
+ "light",
+ "thrown"
+ ],
+ "weapon_type": "simple melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/heavy_crossbow.json b/parsed/weapons/heavy_crossbow.json
new file mode 100644
index 0000000..8a4b398
--- /dev/null
+++ b/parsed/weapons/heavy_crossbow.json
@@ -0,0 +1,31 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "heavy crossbow",
+ "cost": 5000,
+ "damage": [
+ {
+ "dmg_type": "piercing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10
+ }
+ ],
+ "weight": 18.0,
+ "range": [
+ 100,
+ 400
+ ],
+ "reach": 0,
+ "properties": [
+ "ammunition",
+ "heavy",
+ "loading",
+ "two-handed"
+ ],
+ "weapon_type": "martial ranged weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/javelin.json b/parsed/weapons/javelin.json
new file mode 100644
index 0000000..a8b2bb3
--- /dev/null
+++ b/parsed/weapons/javelin.json
@@ -0,0 +1,28 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "javelin",
+ "cost": 50,
+ "damage": [
+ {
+ "dmg_type": "piercing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6
+ }
+ ],
+ "weight": 2.0,
+ "range": [
+ 30,
+ 120
+ ],
+ "reach": 5,
+ "properties": [
+ "thrown"
+ ],
+ "weapon_type": "simple melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/lance.json b/parsed/weapons/lance.json
new file mode 100644
index 0000000..1a9172f
--- /dev/null
+++ b/parsed/weapons/lance.json
@@ -0,0 +1,30 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "lance",
+ "cost": 1000,
+ "damage": [
+ {
+ "dmg_type": "piercing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 12
+ }
+ ],
+ "weight": 6.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [
+ "reach",
+ "special",
+ "You have disadvantage when you use a lance to attack a target within 5 feet of you. Also, a lance requires two hands to wield when you aren't mounted."
+ ],
+ "weapon_type": "martial melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/light_crossbow.json b/parsed/weapons/light_crossbow.json
new file mode 100644
index 0000000..3866a21
--- /dev/null
+++ b/parsed/weapons/light_crossbow.json
@@ -0,0 +1,30 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "light crossbow",
+ "cost": 2500,
+ "damage": [
+ {
+ "dmg_type": "piercing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8
+ }
+ ],
+ "weight": 5.0,
+ "range": [
+ 80,
+ 320
+ ],
+ "reach": 0,
+ "properties": [
+ "ammunition",
+ "loading",
+ "two-handed"
+ ],
+ "weapon_type": "simple ranged weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/light_hammer.json b/parsed/weapons/light_hammer.json
new file mode 100644
index 0000000..87c3a33
--- /dev/null
+++ b/parsed/weapons/light_hammer.json
@@ -0,0 +1,29 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "light hammer",
+ "cost": 200,
+ "damage": [
+ {
+ "dmg_type": "bludgeoning",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4
+ }
+ ],
+ "weight": 2.0,
+ "range": [
+ 20,
+ 60
+ ],
+ "reach": 5,
+ "properties": [
+ "light",
+ "thrown"
+ ],
+ "weapon_type": "simple melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/longbow.json b/parsed/weapons/longbow.json
new file mode 100644
index 0000000..e4254db
--- /dev/null
+++ b/parsed/weapons/longbow.json
@@ -0,0 +1,30 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "longbow",
+ "cost": 5000,
+ "damage": [
+ {
+ "dmg_type": "piercing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8
+ }
+ ],
+ "weight": 2.0,
+ "range": [
+ 150,
+ 600
+ ],
+ "reach": 0,
+ "properties": [
+ "ammunition",
+ "heavy",
+ "two-handed"
+ ],
+ "weapon_type": "martial ranged weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/longsword.json b/parsed/weapons/longsword.json
new file mode 100644
index 0000000..6c904b1
--- /dev/null
+++ b/parsed/weapons/longsword.json
@@ -0,0 +1,28 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "longsword",
+ "cost": 1500,
+ "damage": [
+ {
+ "dmg_type": "slashing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8
+ }
+ ],
+ "weight": 3.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "versatile"
+ ],
+ "weapon_type": "martial melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/mace.json b/parsed/weapons/mace.json
new file mode 100644
index 0000000..1127209
--- /dev/null
+++ b/parsed/weapons/mace.json
@@ -0,0 +1,26 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "mace",
+ "cost": 500,
+ "damage": [
+ {
+ "dmg_type": "bludgeoning",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6
+ }
+ ],
+ "weight": 4.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "simple melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/maul.json b/parsed/weapons/maul.json
new file mode 100644
index 0000000..742f89c
--- /dev/null
+++ b/parsed/weapons/maul.json
@@ -0,0 +1,29 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "maul",
+ "cost": 1000,
+ "damage": [
+ {
+ "dmg_type": "bludgeoning",
+ "is_or": false,
+ "dmg_die_count": 2,
+ "dmg_die_sides": 6
+ }
+ ],
+ "weight": 10.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "heavy",
+ "two-handed"
+ ],
+ "weapon_type": "martial melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/morningstar.json b/parsed/weapons/morningstar.json
new file mode 100644
index 0000000..ba4ae41
--- /dev/null
+++ b/parsed/weapons/morningstar.json
@@ -0,0 +1,26 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "morningstar",
+ "cost": 1500,
+ "damage": [
+ {
+ "dmg_type": "piercing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8
+ }
+ ],
+ "weight": 4.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "martial melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/net.json b/parsed/weapons/net.json
new file mode 100644
index 0000000..2fd2623
--- /dev/null
+++ b/parsed/weapons/net.json
@@ -0,0 +1,30 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "net",
+ "cost": 100,
+ "damage": [
+ {
+ "dmg_type": "-",
+ "is_or": false,
+ "dmg_die_count": 0,
+ "dmg_die_sides": 0
+ }
+ ],
+ "weight": 3.0,
+ "range": [
+ 5,
+ 15
+ ],
+ "reach": 5,
+ "properties": [
+ "special",
+ "thrown",
+ "A Large or smaller creature hit by a net is restrained until it is freed. A net has no effect on creatures that are formless, or creatures that are Huge or larger. A creature can use its action to make a DC 10 Strength check, freeing itself or another creature within its reach on a success. Dealing 5 slashing damage to the net (AC 10) also frees the creature without harming it, ending the effect and destroying the net."
+ ],
+ "weapon_type": "martial ranged weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/pike.json b/parsed/weapons/pike.json
new file mode 100644
index 0000000..9925c28
--- /dev/null
+++ b/parsed/weapons/pike.json
@@ -0,0 +1,30 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "pike",
+ "cost": 500,
+ "damage": [
+ {
+ "dmg_type": "piercing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 10
+ }
+ ],
+ "weight": 18.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [
+ "heavy",
+ "reach",
+ "two-handed"
+ ],
+ "weapon_type": "martial melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/quarterstaff.json b/parsed/weapons/quarterstaff.json
new file mode 100644
index 0000000..519048f
--- /dev/null
+++ b/parsed/weapons/quarterstaff.json
@@ -0,0 +1,28 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "quarterstaff",
+ "cost": 20,
+ "damage": [
+ {
+ "dmg_type": "bludgeoning",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6
+ }
+ ],
+ "weight": 4.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "versatile"
+ ],
+ "weapon_type": "simple melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/rapier.json b/parsed/weapons/rapier.json
new file mode 100644
index 0000000..4e22799
--- /dev/null
+++ b/parsed/weapons/rapier.json
@@ -0,0 +1,28 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "rapier",
+ "cost": 2500,
+ "damage": [
+ {
+ "dmg_type": "piercing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8
+ }
+ ],
+ "weight": 2.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse"
+ ],
+ "weapon_type": "martial melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/scimitar.json b/parsed/weapons/scimitar.json
new file mode 100644
index 0000000..7bc6218
--- /dev/null
+++ b/parsed/weapons/scimitar.json
@@ -0,0 +1,29 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "scimitar",
+ "cost": 2500,
+ "damage": [
+ {
+ "dmg_type": "slashing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6
+ }
+ ],
+ "weight": 3.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse",
+ "light"
+ ],
+ "weapon_type": "martial melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/shortbow.json b/parsed/weapons/shortbow.json
new file mode 100644
index 0000000..a299bc3
--- /dev/null
+++ b/parsed/weapons/shortbow.json
@@ -0,0 +1,29 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "shortbow",
+ "cost": 2500,
+ "damage": [
+ {
+ "dmg_type": "piercing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6
+ }
+ ],
+ "weight": 2.0,
+ "range": [
+ 80,
+ 320
+ ],
+ "reach": 0,
+ "properties": [
+ "ammunition",
+ "two-handed"
+ ],
+ "weapon_type": "simple ranged weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/shortsword.json b/parsed/weapons/shortsword.json
new file mode 100644
index 0000000..4fb742a
--- /dev/null
+++ b/parsed/weapons/shortsword.json
@@ -0,0 +1,29 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "shortsword",
+ "cost": 1000,
+ "damage": [
+ {
+ "dmg_type": "piercing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6
+ }
+ ],
+ "weight": 2.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "finesse",
+ "light"
+ ],
+ "weapon_type": "martial melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/sickle.json b/parsed/weapons/sickle.json
new file mode 100644
index 0000000..e7c871b
--- /dev/null
+++ b/parsed/weapons/sickle.json
@@ -0,0 +1,28 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "sickle",
+ "cost": 100,
+ "damage": [
+ {
+ "dmg_type": "slashing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4
+ }
+ ],
+ "weight": 2.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "light"
+ ],
+ "weapon_type": "simple melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/sling.json b/parsed/weapons/sling.json
new file mode 100644
index 0000000..e6153a4
--- /dev/null
+++ b/parsed/weapons/sling.json
@@ -0,0 +1,28 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "sling",
+ "cost": 10,
+ "damage": [
+ {
+ "dmg_type": "bludgeoning",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4
+ }
+ ],
+ "weight": 0.0,
+ "range": [
+ 30,
+ 120
+ ],
+ "reach": 0,
+ "properties": [
+ "ammunition"
+ ],
+ "weapon_type": "simple ranged weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/spear.json b/parsed/weapons/spear.json
new file mode 100644
index 0000000..7eaaaba
--- /dev/null
+++ b/parsed/weapons/spear.json
@@ -0,0 +1,29 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "spear",
+ "cost": 100,
+ "damage": [
+ {
+ "dmg_type": "piercing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6
+ }
+ ],
+ "weight": 3.0,
+ "range": [
+ 20,
+ 60
+ ],
+ "reach": 5,
+ "properties": [
+ "thrown",
+ "versatile"
+ ],
+ "weapon_type": "simple melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/trident.json b/parsed/weapons/trident.json
new file mode 100644
index 0000000..181408d
--- /dev/null
+++ b/parsed/weapons/trident.json
@@ -0,0 +1,29 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "trident",
+ "cost": 500,
+ "damage": [
+ {
+ "dmg_type": "piercing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 6
+ }
+ ],
+ "weight": 4.0,
+ "range": [
+ 20,
+ 60
+ ],
+ "reach": 5,
+ "properties": [
+ "thrown",
+ "versatile"
+ ],
+ "weapon_type": "martial melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/war_pick.json b/parsed/weapons/war_pick.json
new file mode 100644
index 0000000..4ebcd42
--- /dev/null
+++ b/parsed/weapons/war_pick.json
@@ -0,0 +1,26 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "war pick",
+ "cost": 500,
+ "damage": [
+ {
+ "dmg_type": "piercing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8
+ }
+ ],
+ "weight": 2.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [],
+ "weapon_type": "martial melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/warhammer.json b/parsed/weapons/warhammer.json
new file mode 100644
index 0000000..1a6ad45
--- /dev/null
+++ b/parsed/weapons/warhammer.json
@@ -0,0 +1,28 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "warhammer",
+ "cost": 1500,
+ "damage": [
+ {
+ "dmg_type": "bludgeoning",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 8
+ }
+ ],
+ "weight": 2.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 5,
+ "properties": [
+ "versatile"
+ ],
+ "weapon_type": "martial melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/parsed/weapons/whip.json b/parsed/weapons/whip.json
new file mode 100644
index 0000000..e77ca30
--- /dev/null
+++ b/parsed/weapons/whip.json
@@ -0,0 +1,29 @@
+{
+ "entry": "item",
+ "type": "weapons",
+ "name": "whip",
+ "cost": 200,
+ "damage": [
+ {
+ "dmg_type": "slashing",
+ "is_or": false,
+ "dmg_die_count": 1,
+ "dmg_die_sides": 4
+ }
+ ],
+ "weight": 3.0,
+ "range": [
+ 0,
+ 0
+ ],
+ "reach": 10,
+ "properties": [
+ "finesse",
+ "reach"
+ ],
+ "weapon_type": "martial melee weapons",
+ "text": "Provided from PHB.",
+ "toHitOverride": null,
+ "dmgBonusOverride": null,
+ "abilityOverride": null
+} \ No newline at end of file
diff --git a/src/armor.d b/src/armor.d
new file mode 100644
index 0000000..4e51d66
--- /dev/null
+++ b/src/armor.d
@@ -0,0 +1,3 @@
+src/armor.o: src/armor.cc src/armor.h src/item.h src/entry.h \
+ src/defines.h src/creature.h src/rules.h src/utils.h \
+ src/features/feature.h
diff --git a/src/cmd/cmd.d b/src/cmd/cmd.d
new file mode 100644
index 0000000..2ab74e4
--- /dev/null
+++ b/src/cmd/cmd.d
@@ -0,0 +1,3 @@
+src/cmd/cmd.o: src/cmd/cmd.cc src/cmd/cmd.h src/cmd/../rules.h \
+ src/cmd/../utils.h src/cmd/../entry.h src/cmd/../defines.h \
+ src/cmd/../settings.h
diff --git a/src/cmd/cmd_fsops.d b/src/cmd/cmd_fsops.d
new file mode 100644
index 0000000..05f40ef
--- /dev/null
+++ b/src/cmd/cmd_fsops.d
@@ -0,0 +1,3 @@
+src/cmd/cmd_fsops.o: src/cmd/cmd_fsops.cc src/cmd/cmd.h \
+ src/cmd/../rules.h src/cmd/../utils.h src/cmd/../entry.h \
+ src/cmd/../defines.h
diff --git a/src/cmd/cmd_manipulate.d b/src/cmd/cmd_manipulate.d
new file mode 100644
index 0000000..8f5a6a0
--- /dev/null
+++ b/src/cmd/cmd_manipulate.d
@@ -0,0 +1,6 @@
+src/cmd/cmd_manipulate.o: src/cmd/cmd_manipulate.cc src/cmd/cmd.h \
+ src/cmd/../rules.h src/cmd/../utils.h src/cmd/../entry.h \
+ src/cmd/../defines.h src/cmd/../creature.h src/cmd/../features/feature.h \
+ src/cmd/../item.h src/cmd/../spellcasting.h src/cmd/../spell.h \
+ src/cmd/../settings.h src/cmd/../weapon.h src/cmd/../dice.h \
+ src/cmd/../armor.h
diff --git a/src/cmd/cmd_query.d b/src/cmd/cmd_query.d
new file mode 100644
index 0000000..4d29613
--- /dev/null
+++ b/src/cmd/cmd_query.d
@@ -0,0 +1,4 @@
+src/cmd/cmd_query.o: src/cmd/cmd_query.cc src/cmd/cmd.h \
+ src/cmd/../rules.h src/cmd/../utils.h src/cmd/../entry.h \
+ src/cmd/../defines.h src/cmd/../creature.h src/cmd/../features/feature.h \
+ src/cmd/../item.h src/cmd/../dice.h src/cmd/../weapon.h
diff --git a/src/cmd/cmd_usage.d b/src/cmd/cmd_usage.d
new file mode 100644
index 0000000..9090743
--- /dev/null
+++ b/src/cmd/cmd_usage.d
@@ -0,0 +1,3 @@
+src/cmd/cmd_usage.o: src/cmd/cmd_usage.cc src/cmd/cmd.h \
+ src/cmd/../rules.h src/cmd/../utils.h src/cmd/../entry.h \
+ src/cmd/../defines.h
diff --git a/src/creature.d b/src/creature.d
new file mode 100644
index 0000000..01a7d71
--- /dev/null
+++ b/src/creature.d
@@ -0,0 +1,3 @@
+src/creature.o: src/creature.cc src/creature.h src/rules.h src/utils.h \
+ src/entry.h src/defines.h src/features/feature.h src/item.h src/dice.h \
+ src/weapon.h src/armor.h src/attack.h src/spellcasting.h src/spell.h
diff --git a/src/dice.d b/src/dice.d
new file mode 100644
index 0000000..b8f43fe
--- /dev/null
+++ b/src/dice.d
@@ -0,0 +1 @@
+src/dice.o: src/dice.cc src/dice.h
diff --git a/src/dmtool.d b/src/dmtool.d
new file mode 100644
index 0000000..006d912
--- /dev/null
+++ b/src/dmtool.d
@@ -0,0 +1,2 @@
+src/dmtool.o: src/dmtool.cc src/cmd/cmd.h src/cmd/../rules.h \
+ src/cmd/../utils.h src/cmd/../entry.h src/cmd/../defines.h
diff --git a/src/entry.d b/src/entry.d
new file mode 100644
index 0000000..1617cca
--- /dev/null
+++ b/src/entry.d
@@ -0,0 +1,2 @@
+src/entry.o: src/entry.cc src/entry.h src/defines.h src/utils.h \
+ src/features/feature.h src/item.h src/spell.h src/creature.h src/rules.h
diff --git a/src/features/feature.d b/src/features/feature.d
new file mode 100644
index 0000000..a1198a7
--- /dev/null
+++ b/src/features/feature.d
@@ -0,0 +1,6 @@
+src/features/feature.o: src/features/feature.cc src/features/feature.h \
+ src/features/../entry.h src/features/../defines.h \
+ src/features/../spellcasting.h src/features/../spell.h \
+ src/features/../rules.h src/features/../utils.h src/features/../attack.h \
+ src/features/../weapon.h src/features/../item.h \
+ src/features/../creature.h
diff --git a/src/item.d b/src/item.d
new file mode 100644
index 0000000..3d36745
--- /dev/null
+++ b/src/item.d
@@ -0,0 +1,2 @@
+src/item.o: src/item.cc src/item.h src/entry.h src/defines.h src/weapon.h \
+ src/rules.h src/utils.h src/armor.h
diff --git a/src/rules.d b/src/rules.d
new file mode 100644
index 0000000..ff3b8bb
--- /dev/null
+++ b/src/rules.d
@@ -0,0 +1,2 @@
+src/rules.o: src/rules.cc src/rules.h src/utils.h src/entry.h \
+ src/defines.h
diff --git a/src/settings.d b/src/settings.d
new file mode 100644
index 0000000..5ad3773
--- /dev/null
+++ b/src/settings.d
@@ -0,0 +1 @@
+src/settings.o: src/settings.cc src/settings.h
diff --git a/src/spell.d b/src/spell.d
new file mode 100644
index 0000000..ccee8d8
--- /dev/null
+++ b/src/spell.d
@@ -0,0 +1,2 @@
+src/spell.o: src/spell.cc src/spell.h src/entry.h src/defines.h \
+ src/utils.h
diff --git a/src/spellcasting.d b/src/spellcasting.d
new file mode 100644
index 0000000..215c7ac
--- /dev/null
+++ b/src/spellcasting.d
@@ -0,0 +1,4 @@
+src/spellcasting.o: src/spellcasting.cc src/spellcasting.h \
+ src/features/feature.h src/features/../entry.h src/features/../defines.h \
+ src/spell.h src/rules.h src/utils.h src/defines.h src/creature.h \
+ src/item.h
diff --git a/src/utils.d b/src/utils.d
new file mode 100644
index 0000000..36c39cf
--- /dev/null
+++ b/src/utils.d
@@ -0,0 +1,2 @@
+src/utils.o: src/utils.cc src/utils.h src/entry.h src/defines.h \
+ src/settings.h
diff --git a/src/weapon.d b/src/weapon.d
new file mode 100644
index 0000000..977db2c
--- /dev/null
+++ b/src/weapon.d
@@ -0,0 +1,3 @@
+src/weapon.o: src/weapon.cc src/weapon.h src/item.h src/entry.h \
+ src/defines.h src/rules.h src/utils.h src/creature.h \
+ src/features/feature.h src/dice.h