Skip to content

misthero/dnd5e-spellpoints

Repository files navigation

Advanced Magic - Spell Points System 5e

GitHub Downloads (all assets, all releases) GitHub contributors GitHub last commit Forks Stargazers

Forge Installs Foundry Version

ko-fi

FoundryVTT module for using Spell Point in D&D5e.

Not using spellpoints for your games? well, you should, spellpoints are much better than slots!!

This module uses the variant rules found in the DMG to allow character to cast spells using a resource named "Spell Points". It also allow to create your custom Spell Points / Mana rules and advancement system.

Help and feature request

Changelog

https://github.com/misthero/dnd5e-spellpoints/blob/main/CHANGELOG.md

Installation Instructions

  • Copy https://github.com/misthero/dnd5e-spellpoints/releases/latest/download/module.json into the module installer inside foundry when it asks for the manifest.
  • Launch your world go to settings -> module settings and enable the module Advanced Magic - Spell Points System 5e dnd5e-spellpoints.
  • Find the spellpoints Item from the module compendium and import it.
  • Drag the item on every character or NPC that should use Spell Points.

Notice: Slots won't disappear from character sheets, but they won't be used.

Features

  • Configurable formulas. All numerical fields are powered by FoundryVTT's Roll class. This not only give you access to functions like round and kh but also data within the characters themselves such as @details.level or @abilities.cha.mod. See Data Paths as Variables for more information. The following fields are formulas:
    • SpellPointMaximum Base Formula (applied only if the character has at least one spell slot)
    • SpellPointMaximum Slot Multiplier (multiplies the cost of all spell slots the character would have). To reproduce the formula in the DMG, leave this as 1.
    • Health Penalty Multiplier (See Advanced Magic - Spell Point System 5e! for more information).
  • Optionally you can enable a variant rule to allow players to keep casting even when they run out of spellpoints using their own life with terrible consequences if you are using the Advanced Magic - Spell Point System 5e! available as "Pay what you Want" on DriveThruRPG.

DnD v3/v4 Specific Features (spellpoints Item)

  • Configurable Item Name
  • Automatic spellpoint bar on character sheet
  • Track the spellpoints directly in character sheet.
  • Configurable spellpoint bar color.
  • Per character spell points configuration and progression. Each character can have a different spell points setup overriding the configuration directly on the item.
  • Spellcaster classes configurable progression for Full, Half, Third casters.
  • Configurable SpellPoint Cost for each spell level for non-liear progression.
  • You can also share your custom spellpoints item.

spellpoints on sheet

Example Custom Formulas

DMG

By the DMG, a character will always have enough spell points to create the spell slots they would normally have. This can be calculated by starting with 0 and adding up the spell point cost of every slot they would normally have, multiplying it by 1.

  • If you adjust the Spell Point costs, character maximum spell points will adjust when they level up.
  • If you edit the spell slots a character has, their maximum spell points will adjust when they level up.

Base Formula

0

Spell Point Multiplier

1

Advanced Magic

See the Advanced Magic spell point system for why characters may not always have enough spell points to cast all of their normal spell slots.

Base Formula

ceil(
  (
    1 * @spells.spell1.max +
    2 * @spells.spell2.max +
    3 * @spells.spell3.max +
    4 * @spells.spell4.max +
    5 * @spells.spell5.max +
    6 * @spells.spell6.max +
    7 * @spells.spell7.max +
    8 * @spells.spell8.max +
    9 * @spells.spell9.max
  ) / 2
)
+
@attributes.spelldc - 8 - @attributes.prof

Spell Point Multiplier

0

Making Your Own Formula

Foundry VTT V9: Create a macro with the following script:

console.log(actor.data.data)

Foundry VTT V10+: Create a macro with the following script:

console.log(actor.getRollData())

While selecting a token, execute the macro. Then, look at the console. This will tell you all the data that is available to you when writing a formula.

You can test out a formula by rolling it in chat while selecting a token. The following formula would determine the largest modifier which are typically used for spell casting, and it would roll it in chat.

/roll { @abilities.wis.mod,  @abilities.int.mod,  @abilities.cha.mod}kh

It is also possible to add a module or create your own module that edits or adds information to actor.system. This new information will be available to the formulas with no concerns over compatibility.

To do

  • Add configurable limit to number of times a spell slot can be generated per day. This would reproduce the limit within the DMG that only allows creatures to make one 6th+ level slot per day of the same level.

Incompatibility

None at the moment but please let me know if any.