Skip to content

VoltCruelerz/OwlMarble-Magic

Repository files navigation

OwlMarble Magic

5E Compatible

Made on behalf of, and in collaboration with, u/TheOwlMarble to ease the import of their homebrew rules into FoundryVTT v11+ to function as the single source of truth.

Packs

Spells

Spells by Level

Appendices

  • General Rules: overall spellcasting rules.
  • Monster Stat Blocks: stat blocks of homebrew monsters that are referenced by spells.
  • Spells by Class: a list of all spells for each class once OMM is accounted for.
  • OGL: This is all just fan content, so here's Wizards' OGL.

Feats

See dedicated page.

Class Features

Rules

See dedicated page

Script Features

Player-Facing Features

  • Direct Foundry Import: parses the markdown files for spells and classes and directly injects them into Foundry compendiums.
  • Hyperlinks: Spells can now direclty reference other spells and even monsters.
  • Advanced Lookup: The Spells by Class document allows you to navigate to any spell quickly, as well as providing an easily searchable list of all spells for your class.
  • Improved Performance: Because not every spell is loaded in its entirety, the display pages are more performant, letting you find the spell you want faster.
  • Preserved Formatting: Paragraphs, lists, quotes, tables, bold, and italics are all preserved, allowing for richer imports of spells to your game.
  • Self-Versioning: Previously, all my changes were not intrinsically tracked, meaning I had to manually document when spells changed. With github, this is no longer required.

Developer-Facing Features

  • Self-Indexing: when the parser runs, it searches all its spell level markdown files for a spell or monster name surrounded by underscores like this: _Bestow Curse_. When it finds that, it will replace it with a reference to the spell if it is homebrewed. When this occurs, the parser prints a notification of the change.
  • Self-Documenting: Spells by Class.md is autogenerated, negating the requirement for me to ever have to do that myself.
  • Self-Versioning: Version control is a wonderful thing.
  • Triple Import: Supports importing from Markdown, Foundry's database files, and json.
  • Autoparsing: Parses and generates outputs, even for complex fields like areas of effect.
  • Diff Notification: When a change is made to the parser that causes the generated spells to differ, upon the next execution of the parser, a report is generated for the user reporting which fields changed.
  • SRD Comparison Testing: Autogeneration is compared to the SRD spells for validation.
  • Versioned Manual Override: For particularly odd spells, it is possible to override the default value generated for a field, but you must specify what you're changing it from so if it becomes desynced, it will alert you.

Development

Parser Execution

  1. deposit any input files you wish to parse into the relevant folders. A. spells: import/ and srd/ B. features: feats/Feats.md C. classes: classes/myclass/Myclass.md D. rules: rules/MyRule.md
  2. run npm install
  3. run node main.js.
  4. review test.log and the console for any issues.

Known Issues

See test.log to see any automatically detected issues.

Sources

This work includes material taken from the SRD 5.1, which is licensed under the CC-BY-4.0.

About

D&D 5e spell parser and exporter for FoundryVTT.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published