Spell Modeling
In addition to the standard fields for spells, Shard includes advanced modeling information so that users can perform actions from the spells. This advanced modeling can either be automatically derived from the spell details or manually input for complete control of the modeling.
Multiple Effects
Spells support a primary and alternate effect. This supports cases where the effect of a spell can vary based on circumstances or where there is an initial effect, with different successive effects. Both effects will be displayed in the spell section of the character sheet and in any chat entries created from casting or activating the effect.
Automatic vs. Manual Modeling
Spell definitions generally follow a set of basic patterns for their descriptions. In order to make it easy to import and create your own spells, Shard automatically tries to detect these patterns and set the modeling without the need for a user to specify the modeling. For more advanced cases where this default modeling doesn’t catch all of the nuances of the spell, content creators can override this modeling and manually define the modeling.
Duration
The duration text for spells typically contain more information that just the duration of a spell. In addition to the time duration of the spell, other descriptive text may be included, like “concentration”, or “up to”, or special durations like “permanent” or “instantaneous”. When computing the duration for casting the spell or for conditions like adjustments to the max HP or temp HP, the duration is parsed to try to pick just the duration from the string. Here are the rules for how that is performed:
Treat as no duration if “instantaneous” or “permanent” are specified.
Remove “concentration,” and “up to” from the duration.
Manual Casting Configuration
Save Type: indicates that there is a save for the spell. Select the ability that the target needs to use to make a save. The save DC will be calculated based on the spellcasting ability of the caster.
Spell Active Abilities: this allows setting feature abilities that will be active when the spell is active. Note: don’t set features that have abilities that the player needs to choose since there is not an option for the player to make those selections.
Show attack: if specified the spell will show an attack roll based on the spellcasting ability of the caster.
Requires concentration: marks the spell as requiring concentration.
Don’t show spell as active: even with a duration the spell will not be marked as active once cast. This is useful when the spell applies a condition that has a duration, but where the caster doesn’t need to track that the spell is still active.
Durations by level: allow setting the duration based on the level of the spell. Note: that the highest level with a value specified will be used, ignoring empty values. This is treated as exactly the duration with no special processing.
Action/Alternate Action: defines the primary and alternate actions.
Effect: defines the effect roll.
Effect Type: defines the damage type or extra effect type of the effect roll. Special Effects:
Heal: apply healing
Reduce Damage: counteract part of the damage roll from another attack.
Bonus/Penalty: perform a roll that can add or subtract from another D20 roll.
Max HP: add a condition that will adjust the maximum HP. The duration will be based on the spell duration.
Temp HP: add a condition that will set temporary hit points. The duration will be based on the spell duration.
Add Spell Modifier: will add the spell modifier of the spell casting ability to the effect.
Level modifiers: level modifiers are based on the level of the spell. Cantrips adjust based on the character level while spells of 1st level or higher vary based on the casting level of the spell.
5th, 11th, 17th level: provide different effect rolls based on the character being higher than 5th, 11th or 17th level. The highest level one with a value will be used.
Uplevel effect: Spells 1st level or higher. A value is specified for the text roll will be added spell level per the level count specified in Per Level. For example: if Per Level is Every 2 Levels then the value will be added every other additional spell level.
Extra Damage: allows setting extra effect damage rolls so that multiple damage types can be applied at once.
Apply Conditions: allows setting conditions from the cast spell. The duration is set specifically for the conditions rather than being based on the spell duration. Conditions can either be modeled conditions or one-off feature conditions. The conditions are applied individually so that players can either apply all of them or if only one applies can select the appropriate condition.
Summon Monsters: specify any monsters that should be summoned as part of casting the spell. The available monsters to choose from can be specified by spell level. If the spell has a duration then the monsters will be summoned only while the spell is active.
Auto Calculated Casting Configuration
Since spell follow common patterns in their definition and it can be time consuming to manually set casting details on spells, many of the casting fields can automatically be extracted from the spell details. Here are the details on how that automatic extraction works to make it easy for your spells to automatically have their details defined.
Save Type: if the text includes a reference to one of the ability names then the save will automatically be set based on the first ability referenced.
Show attack: will be set to true if the text contains “spell attack”.
Requires concentration: will be set to true if the duration text contains “concentration”.
Action/Alternate Action: action and alternate actions are discovered by scanning the description for bolded dice rolls. When a bolded dice roll is found the surrounding text is analyzed to determine the meaning of the dice roll.
Die roll followed by, “damage”, or “{damage type} damage”, or preceded by “base damage is” will set the effect roll. First time for the action and second time for the alternate action. If a damage type is set then the effect type will be set to the damage type.
Die roll preceded by “heal” will set the action effect to the dice roll and set the effect type to “heal”.
Die roll followed preceded by “5th level (”, “11th level (”, or “17th level (” will set the higher level casting for cantrips. If the value is followed by “or” and then another roll then the alternate action adjustment will be set.
Die roll followed by “for each slot level” will set the additional per slot level value. If there is an action and an alternate action then the code will check to see if the die type matches with the effect to match with the action or the alternate action.
Conditions: if the description contains “bonus to AC” preceded by a positive or negative number then a condition will be added to provide an AC bonus based on the number.