Skip to content

Ruleset Types and What They Mean

Spell Book ships with two rule sets that define class-specific defaults for spell swapping, cantrip swapping, and ritual casting. The active rule set is selected globally and can be overridden per actor through Spell Book Settings.

Spell Book does not block spell preparation. Players always retain full control over what they prepare. The Notify GM on Spell Changes setting controls whether the GM is alerted when a player exceeds their cantrip or spell preparation limit.


The global rule set is controlled by the Default Spellcasting Rules setting (spellcastingRuleSet).

ValueLabel
legacyLegacy Rules
modernModern Rules

The effective rule set determines which class defaults _getClassDefaults applies (_applyLegacyDefaults or _applyModernDefaults) when a new spellcasting class is first initialized on an actor. Existing per-class overrides stored on the actor are preserved — changing the setting does not rewrite them.

Traditional D&D 5e rules. Key characteristics:

  • No cantrip swapping for any class (cantripSwapping = none)
  • Paladins and Rangers do not display cantrips (showCantrips = false)
  • Wizard retains ritual casting from spellbook (ritualCasting = always)
  • Cleric, Druid, and Bard have prepared-only ritual casting
  • Bard, Sorcerer, Warlock, and Ranger swap spells on level up

Updated rules. Key characteristics:

  • Cantrip swapping enabled for most classes on level up (cantripSwapping = levelUp)
  • Wizard can swap cantrips on long rest (cantripSwapping = longRest)
  • Paladin and Ranger still do not display cantrips and cannot swap cantrips
  • Ritual casting is removed by default for Cleric, Druid, and Bard (ritualCasting = none)
  • Wizard retains ritual casting from spellbook (ritualCasting = always)
  • Ranger switches to long-rest spell swapping
ClassRule SetSpell SwapCantrip SwapRitual CastingShow Cantrips
WizardLegacyLong RestNoneAlwaysYes
WizardModernLong RestLong RestAlwaysYes
ClericLegacyLong RestNonePreparedYes
ClericModernLong RestLevel UpNoneYes
DruidLegacyLong RestNonePreparedYes
DruidModernLong RestLevel UpNoneYes
PaladinLegacyLong RestNoneNoneNo
PaladinModernLong RestNoneNoneNo
RangerLegacyLevel UpNoneNoneNo
RangerModernLong RestNoneNoneNo
BardLegacyLevel UpNonePreparedYes
BardModernLevel UpLevel UpNoneYes
SorcererLegacyLevel UpNoneNoneYes
SorcererModernLevel UpLevel UpNoneYes
WarlockLegacyLevel UpNoneNoneYes
WarlockModernLevel UpLevel UpNoneYes
ArtificerLegacyLong RestNoneNoneYes
ArtificerModernLong RestLevel UpNoneYes

Spell Book Settings dialog showing per-actor and per-class rule overrides

Each character can override the global rule set through Spell Book Settings using the Rule Set Override dropdown:

ValueEffect
Use GlobalFollow the world-level spellcastingRuleSet value
LegacyApply Legacy defaults for this actor’s class initialization
ModernApply Modern defaults for this actor’s class initialization

The override is stored as the ruleSetOverride actor flag (null, "legacy", or "modern"). Individual per-class rule fields saved in Spell Book Settings still take precedence over the rule set defaults.


The world setting notifyGmOnSpellChanges (default on) controls whether GMs receive a whispered chat report when a player exceeds their cantrip or spell preparation maximum.

  • When on: exceeding a max sends a GM notification. Preparation is not blocked.
  • When off: no notification is sent. Preparation is still not blocked.

The Notify on Spell Changes checkbox in Spell Book Settings is a plain boolean. It defaults to the current value of the world setting, and saving always writes an explicit true or false to the notifyGm actor flag — there is no “Use Global” third state.


Spell swapping and cantrip swapping are configured independently per class. Both use the same three modes:

ModeValueWhen Swapping Is Allowed
NonenoneCannot swap
Level UplevelUpOnly when the class gains a level
Long RestlongRestAfter completing a long rest

Per-class setting controlling how rituals work:

ModeValueBehavior
NonenoneNo ritual casting support
PreparedpreparedCan ritual-cast only currently prepared ritual spells
AlwaysalwaysCan ritual-cast any ritual spell available to the class

When a wizard class has ritualCasting = always, ritual spells in the wizard’s spellbook are castable as rituals without being prepared, matching standard wizard ritual rules. The wizard ritual pool is tracked on the wizardRitualCasting actor flag.


Wizard-specific values are seeded from WIZARD_DEFAULTS:

FieldDefaultMeaning
startingSpells6Free spells added to the spellbook at character creation
spellsPerLevel2Free spells added to the spellbook on level up
spellLearningCostMultiplier50GP per spell level to copy a spell into the spellbook
spellLearningTimeMultiplier120Minutes per spell level to copy a spell into the spellbook
ritualCastingAlwaysWizards can ritual-cast from their spellbook

All five values can be customized per-wizard-class through Spell Book Settings.


GMs can grant extra preparation slots per class through Spell Book Settings:

  • spellPreparationBonus — Extra leveled spell preparation slots
  • cantripPreparationBonus — Extra cantrip preparation slots

Both default to 0 and stack additively on top of the class’s calculated maximum. Both clamp to the range -20..20.


SettingScopeWhere
Default Spellcasting RulesWorldModule settings
Notify GM on Spell ChangesWorldModule settings
Rule Set OverrideActorSpell Book Settings
Notify on Spell ChangesActorSpell Book Settings
Cantrip SwappingPer-classSpell Book Settings
Spell SwappingPer-classSpell Book Settings
Ritual CastingPer-classSpell Book Settings
Show CantripsPer-classSpell Book Settings
Force Wizard ModePer-classSpell Book Settings
Class Spell ListPer-classSpell Book Settings
Subclass Spell ListPer-classSpell Book Settings
Preparation BonusesPer-classSpell Book Settings
Wizard DefaultsPer-classSpell Book Settings