DiceCloud Helper Equations - ThaumRystra/DiceCloud GitHub Wiki
Referenced from DiceCloud Helper Document
Some of these equations need curly braces {} around them, depending on where you paste them.
Class Equations
Miscellaneous Equations
Multiclassing Equations
Formatting Equations
Tools
These equations do not apply to multiclassing.
Artificer
Barbarian
Bard
Cleric
Druid
Fighter
Monk
Paladin
Ranger
Rogue
Sorcerer
Warlock
Wizard
Property | Tab | Equation |
---|---|---|
Maximum Magical Tinkering Objects | Features | max(intelligenceMod, 1) |
Cantrips Known | Spellbook Description |
min(max(ceil((ArtificerLevel - 9) / 4), 0), 2) + 2 |
Cantrips Known Text | Description line of Spell Container | You know **{min(max(ceil((ArtificerLevel - 9) / 4), 0), 2) + 2} cantrips.** |
Spells Known | Spellbook (Max prepared spells) | min(max(ceil((ArtificerLevel - 9) / 4), 0), 2) + 2 |
1st | Journal (Class) | 2 + min(floor(ArtificerLevel/2.5),2) |
2nd | Journal (Class) | (min(floor(ArtificerLevel/5),1) * 2) + min(floor(ArtificerLevel/7),1) |
3rd | Journal (Class) | (min(floor(ArtificerLevel/9),1) * 2) + min(floor(ArtificerLevel/11),1) |
4th | Journal (Class) | min(floor(ArtificerLevel/13),1) + min(floor(ArtificerLevel/15),1) + min(floor(ArtificerLevel/17),1) |
5th | Journal (Class) | min(floor(ArtificerLevel/17),1) + min(floor(ArtificerLevel/19),1) |
Infusions Known | Features | if (ArtificerLevel > 1, min(3 + ceil(max(ArtificerLevel - 3,0) / 3.75),8), 0) |
Infused Items | Features | if (ArtificerLevel > 1, ceil((ArtificerLevel)/ 5) + 1, 0) |
Tool Expertise:
| STR | DEX | CON | WIS | INT | CHA |
| :--: | :--: | :--: | :--: | :--: | :--: |
| +{strengthMod + (proficiencyBonus * 2)} | +{dexterityMod + (proficiencyBonus * 2)} | +{constitutionMod + (proficiencyBonus * 2)} | +{wisdomMod + (proficiencyBonus * 2)} | +{intelligenceMod + (proficiencyBonus * 2)} | +{charismaMod + (proficiencyBonus * 2)} |
Property | Tab | Equation |
---|---|---|
Barbarian Rages | Features | if (BarbarianLevel == 20,0, if (BarbarianLevel > 0, 2 + min(floor(BarbarianLevel/3),1) + min(floor(BarbarianLevel/6),1) + min(floor(BarbarianLevel/12),1) + min(floor(BarbarianLevel/17),1), 0)) |
Barbarian Rage Damage | Features (add attack) | 2 + min(floor(BarbarianLevel/9),1)+ min(floor(BarbarianLevel/16),1) |
Barbarian Crits | Features | 1 + min(floor((BarbarianLevel - 9) / 4), 2) |
Barbarian Attacks | In the damage field of a weapon's Attack: [Weapon Die Damage] + {strengthMod + rageDamage}
|
|
Storm Aura (Tundra) | Features | if (BarbarianLevel > 2, floor(BarbarianLevel / 5) + 2, 0) |
Fast Movement | Features | if (BarbarianLevel >= 5, 10, 0) |
Primal Champion | Features (in effect field) | if (BarbarianLevel >= 20, 4,0) AND if (BarbarianLevel >= 20, 24, 20) |
Spirit Shield & Vengeful Ancestors (Ancestor) | Features | {if (BarbarianLevel >= 6, "If raging, reduce hit on another you see w/in 30ft by " + min((floor((BarbarianLevel-6) / 4)) + 2, 4) + "d6.", "")}{if (BarbarianLevel >= 14, " Attacker takes same damage in force.", "")} |
Unarmored Defense | Features | 10 + constitutionMod |
Zealot Divine Fury | Features | Add 1d6 + {floor(BarbarianLevel / 2)} radiant (or necrotic) damage to one hit per turn. |
Barbarian Storm Herald (3rd and 14th) - Features Tab:
**Desert Calculation**
{if (BarbarianLevel > 2, "BA hurts everyone in 10 ft for " + (floor(BarbarianLevel / 5) + 2) + " fire dam." + if (BarbarianLevel > 13, " REA on hit, DexDC" + (8+proficiencyBonus+constitutionMod) + " or " + floor(BarbarianLevel / 2) + " fire damage.", ""))}
**Sea Calculation**
{if (BarbarianLevel > 2, "BA zap, 1 target, " + (max(floor(BarbarianLevel / 5), 1)) + "d6, DexDC" + (8 + proficiencyBonus + constitutionMod) + " for half." + if (BarbarianLevel > 13, " When you hit, REA to StrDC" + (8+proficiencyBonus+constitutionMod) + " or prone.", ""))}
**Tundra Calculation**
{if (BarbarianLevel > 2, "BA gives " + (floor(BarbarianLevel / 5) + 2) + " temp HP to chosen in 10 ft." + if (BarbarianLevel > 13, " Aura BA, target StrDC" + (8+proficiencyBonus+constitutionMod) + " or move=0 (1rd)", ""))}
Property | Tab | Equation |
---|---|---|
Cantrips Known | Spellbook (Description) | 2 + min(floor(BardLevel/4),1)+ min(floor(BardLevel/10),1) |
Cantrips Known Text | Description line of Spell Container | You know **{2 + min(floor(BardLevel/4),1)+ min(floor(BardLevel/10),1)} cantrips.** |
Spells Known | Spellbook (Max prepared spells) | if (BardLevel < 10, BardLevel + 3, 14 + min(floor(BardLevel/11),1) + min(floor(BardLevel/13),1) + (min(floor(BardLevel/14),1) * 2) + min(floor(BardLevel/15),1) + min(floor(BardLevel/17),1) + (min(floor(BardLevel/18),1) * 2)) |
1st | Journal (Class) | min(1 + BardLevel, 4) |
2nd | Journal (Class) | if (BardLevel < 3, 0, 2 + min(floor(BardLevel/4),1)) |
3rd | Journal (Class) | if (BardLevel < 5, 0, 2 + min(floor(BardLevel/6),1)) |
4th | Journal (Class) | if (BardLevel < 7, 0, 1 + min(floor(BardLevel/8),1) + min(floor(BardLevel/9),1)) |
5th | Journal (Class) | if (BardLevel < 9, 0, 1 + min(floor(BardLevel/10),1) + min(floor(BardLevel/18),1)) |
6th | Journal (Class) | if (BardLevel < 11, 0, 1 + min(floor(BardLevel/19),1)) |
7th | Journal (Class) | if (BardLevel < 13, 0, 1 + min(floor(BardLevel/20),1)) |
8th | Journal (Class) | if (BardLevel < 15, 0, 1) |
9th | Journal (Class) | if (BardLevel < 17, 0, 1) |
Bardic Inspiration | charismaMod |
|
Bardic Inspiration Die | Features | d{6+(min(floor(BardLevel/5), 3) * 2)} |
Song of Rest | Features | 1d{if (BardLevel > 8, 6 + ((ceil((BardLevel - 4)/4) -1) * 2), 6)} |
Song of Rest w/ level change | Features | **Bardic Inspiration**: Use a BA to give one creature a **d{6+(min(floor(BardLevel/5), 3) * 2)}** for saves, attacks, and skill checks. Resets on **{if (BardLevel >= 5, "Short", "Long")} Rest.** |
Magical Secrets | Features | You know **{if (BardLevel >= 10, floor((BardLevel - 2)/4)*2 - 2 ,0)}** spells or cantrips from any other class. |
Glamour Mantle Temp HP | 5 + (min(floor(BardLevel/5), 3) * 3) |
|
Whispers Psychic Blades | Features | {if (BardLevel > 14, 8, (if (BardLevel > 9, 5, (if (BardLevel > 4, 3, if (BardLevel > 2, 2, ""))))))}{if (BardLevel > 2, "d6 psychic.", "")} |
Psychic Blades Conditional Visibility:
{if (BardLevel >= 3, "On hit, use one Bardic Inspiration to deal an extra", "**You must be lvl 3 to use this.**")}
{if (BardLevel >= 3, (2 + min(floor(BardLevel/5), 1) + (min(floor(BardLevel/10), 1) 2) + (min(floor(BardLevel/15), 1) 3)), "")}
{if (BardLevel >= 3, "d6 psychic damage once per round on your turn.", "")}
Property | Tab | Equation |
---|---|---|
Cantrips Known | Spellbook (Description) | 3 + min(floor(ClericLevel/4),1) + min(floor(ClericLevel/10),1) |
Cantrips Known Text | Description line of Spell Container | You know **{3 + min(floor(ClericLevel/4),1) + min(floor(ClericLevel/10),1)} cantrips.** |
Spells Known | Spellbook (Max prepared spells) | max((wisdomMod + ClericLevel),1) |
1st | Journal (Class) | min(1 + ClericLevel, 4) |
2nd | Journal (Class) | if (ClericLevel < 3, 0, 2 + min(floor(ClericLevel/4),1)) |
3rd | Journal (Class) | if (ClericLevel < 5, 0, 2 + min(floor(ClericLevel/6),1)) |
4th | Journal (Class) | if (ClericLevel < 7, 0, 1 + min(floor(ClericLevel/8),1) + min(floor(ClericLevel/9),1)) |
5th | Journal (Class) | if (ClericLevel < 9, 0, 1 + min(floor(ClericLevel/10),1) + min(floor(ClericLevel/18),1)) |
6th | Journal (Class) | if (ClericLevel < 11, 0, 1 + min(floor(ClericLevel/19),1)) |
7th | Journal (Class) | if (ClericLevel < 13, 0, 1 + min(floor(ClericLevel/20),1)) |
8th | Journal (Class) | if (ClericLevel < 15, 0, 1) |
9th | Journal (Class) | if (ClericLevel < 17, 0, 1) |
Channel Divinity | Features | 1 + min(floor(ClericLevel/6),1)+ min(floor(ClericLevel/18),1) |
Destroy Undead CR | Features | Creatures under CR{if (ClericLevel < 8, "1/2", min(floor(ClericLevel/8),1) + min(floor(ClericLevel/11),1) + min(floor(ClericLevel/14),1) + min(floor(ClericLevel/17),1))} are destroyed |
Divine Strike | Features | {floor(ClericLevel/8)}d8 |
Property | Tab | Equation |
---|---|---|
Cantrips Known | Spellbook (Description) | 2 + min(floor(DruidLevel/4),1) + min(floor(DruidLevel/10),1) |
Cantrips Known Text | Description line of Spell Container | You know **{2 + min(floor(DruidLevel/4),1) + min(floor(DruidLevel/10),1)} cantrips.** |
Spells Known | Spellbook (Max prepared spells) | max((wisdomMod + DruidLevel),1) |
1st | Journal (Class) | min(1 + DruidLevel, 4) |
2nd | Journal (Class) | if (DruidLevel < 3, 0, 2 + min(floor(DruidLevel/4),1)) |
3rd | Journal (Class) | if (DruidLevel < 5, 0, 2 + min(floor(DruidLevel/6),1)) |
4th | Journal (Class) | if (DruidLevel < 7, 0, 1 + min(floor(DruidLevel/8),1) + min(floor(DruidLevel/9),1)) |
5th | Journal (Class) | if (DruidLevel < 9, 0, 1 + min(floor(DruidLevel/10),1) + min(floor(DruidLevel/18),1)) |
6th | Journal (Class) | if (DruidLevel < 11, 0, 1 + min(floor(DruidLevel/19),1)) |
7th | Journal (Class) | if (DruidLevel < 13, 0, 1 + min(floor(DruidLevel/20),1)) |
8th | Journal (Class) | if (DruidLevel < 15, 0, 1) |
9th | Journal (Class) | if (DruidLevel < 17, 0, 1) |
Wild Shapes | Features | {if (DruidLevel == 20, 999, 2)} |
Max CR WS | Features | {(min(floor(DruidLevel/2),1) * 0.25) + (min(floor(DruidLevel/4),1) * 0.25) + (min(floor(DruidLevel/8),1) * 0.5)} |
Max CR WS (Moon) | Features | {if (DruidLevel < 6, 1, ceil(DruidLevel/3))} |
Druid Wild Shape - Features Tab:
You can transform into a creature with a maximum CR of **{if(DruidLevel>=4, if(DruidLevel>=8, "1", "1/2"), "1/4")}**.
The creature **{if(DruidLevel>=4, "can", "cannot")}** have a swimming speed,
{if(DruidLevel<4, "and", if(DruidLevel>=8, "and", "but"))} it **{if(DruidLevel>=8, "can", "cannot")}** have a flying speed.
Circle of the Moon:
At your current level, you can transform into a creature with a maximum CR of **{max(floor(DruidLevel/3),1)}**.
The creature **{if(DruidLevel>=4, "can", "cannot")}** have a swimming speed,
{if(DruidLevel<4, "and", if(DruidLevel>=8, "and", "but"))} it **{if(DruidLevel>=8, "can", "cannot")}** have a flying speed.
Both: You can stay in a beast shape for a maximum of **{floor(DruidLevel/2)} hour{if(DruidLevel>=4,"s","")}**.
Druid Balm of the Summer - Features Tab:
{if (DruidLevel >= 2, "You have", "")}
{if (DruidLevel >= 2, "**DruidLevel**", "")}
{if (DruidLevel >= 2, "d6 dice.", "")}
{if (DruidLevel >= 2, "As a BA, spend dice equal to", "")}
{if (DruidLevel >= 2, min(DruidLevel / 2), "")}
{if (DruidLevel >= 2, "to heal a creature you can see w/in 120ft. They gain 1 add'l THP per die spent.", "")}
Druid Hearth of Shadow and Moonlight - Features Tab:
{if (DruidLevel >= 6, "During a rest, you and your allies gain +5 to Stealth & Perception checks w/in a 30ft sphere which counts as total cover.", "")}
Druid Hidden Paths - Features Tab:
{if (DruidLevel >= 10, "As a BA, teleport up to 60ft to a space you can see, or, teleport 1 willing creature you touch up to 30ft to a space you can see.", "")}
{if (DruidLevel >= 10, "You can do this up to", "")}
{if (DruidLevel >= 10, wisdomMod, "")}
{if (DruidLevel >= 10, "times per long rest.", "")}
Druid Walker in Dreams - Features Tab:
{if (DruidLevel >= 14, "When you finish a long rest, cast *dream*, *scrying*, or *teleportation circle*, without expending a spell slot or material components.", "")}
Property | Tab | Equation |
---|---|---|
Extra Attacks | min(floor(FighterLevel/5),1) + min(floor(FighterLevel/11),1) + min(floor(FighterLevel/20),1) |
|
Action Surge | {if (FighterLevel > 16,2,1)} |
|
Indomitable | {min(floor(FighterLevel/9),1) + min(floor(FighterLevel/13),1) + min(floor(FighterLevel/17),1)} |
|
Superiority Dice Die | 1d{8 + (min(floor(FighterLevel/10),1) * 2) + (min(floor(FighterLevel/18),1) * 2)} |
|
Superiority Dice | 4 + min(floor(FighterLevel/7),1) + min(floor(FighterLevel/15),1) |
|
Brute Damage Die | (4 + ((min(floor(FighterLevel/10),1) * 2) + (min(floor(FighterLevel/16),1) * 2) + (min(floor(FighterLevel/20),1) * 2))) |
|
Maneuvers | if (FighterLevel > 2, 3 + (min(floor(FighterLevel/7),1) * 2) + (min(floor(FighterLevel/10),1) * 2) + (min(floor(FighterLevel/15),1) * 2),0) |
|
Improved Critical |
{if (FighterLevel > 2, "Critical hit on a" + (if (FighterLevel > 14, "n 18,", "")) + " 19" + (if (FighterLevel > 14, ",", "")) + " or 20.", "")} Includes Superior Critical for Champion Fighter. |
|
Fighting Spirit (Samurai) | Samurai Lvl 3 | {if (FighterLeveL >2, max(min(floor(FighterLevel / 5),3),1) * 5, "")} |
Cantrips (Eldritch Knight) | Spellbook (Description) | {if (FighterLevel > 2, if (FighterLevel < 10,3,4), 0)} |
Spells Known (Eldritch Knight) | Spellbook (Max prepared spells) | {if (FighterLevel < 3, 0, 3 + min(floor(FighterLevel /4),1) + min(floor(FighterLevel /7),1) + min(floor(FighterLevel /8),1) + min(floor(FighterLevel /10),1) + min(floor(FighterLevel /11),1) + min(floor(FighterLevel /13),1) + min(floor(FighterLevel /14),1) + min(floor(FighterLevel /16),1) + min(floor(FighterLevel /19),1) + min(floor(FighterLevel /20),1))} |
1st (Eldritch Knight) | Journal (Class) | max(max(min(2, FighterLevel - 1), min(3, FighterLevel - 1), min(4, FighterLevel - 3)), 0) |
2nd (Eldritch Knight) | Journal (Class) | max(max(min(2, FighterLevel - 5), min(3, FighterLevel - 7)), 0) |
3rd (Eldritch Knight) | Journal (Class) | max(max(min(2, FighterLevel - 11), min(3, FighterLevel - 13)), 0) |
4th (Eldritch Knight) | Journal (Class) | max(min(1, FighterLevel - 18),0) |
Second Wind | Feature | BA to regain 1d10 + {FighterLevel} HP. 1/SR |
Property | Tab | Equation |
---|---|---|
Martial Arts Attack Damage |
1d{4 + (min(floor(MonkLevel/5),1) * 2) + (min(floor(MonkLevel/11),1) * 2) + (min(floor(MonkLevel/17),1) * 2)} + {dexterityMod} Useful for attack damage equations |
|
Ki Points | if (MonkLevel > 1, MonkLevel, 0) |
|
Unarmored Movement | (min(floor(MonkLevel/2),1) * 10) + (min(floor(MonkLevel/6),1) * 5) + (min(floor(MonkLevel/10),1) * 5) + (min(floor(MonkLevel/14),1) * 5) + (min(floor(MonkLevel/18),1) * 5) |
|
Ki Conditional Visibility Text | {if (MonkLevel >= 2, "**You have " + if (MonkLevel > 1, MonkLevel, 0) + " Ki points**", "")} {if (MonkLevel >= 2, "- Flurry of Blows (1 Ki pt)", "")} {if (MonkLevel >= 2, "- Patient Defense (1)", "")} {if (MonkLevel >= 2, "- Step of the Wind (1)", "")} |
|
Unarmored Movement Visibility Text | {if (MonkLevel >= 3, "**Your Unarmored Movement is +", "")} {if (MonkLevel >= 3, (min(floor(MonkLevel/2),1) * 10) + (min(floor(MonkLevel/6),1) * 5) + (min(floor(MonkLevel/10),1) * 5) + (min(floor(MonkLevel/14),1) * 5) + (min(floor(MonkLevel/18),1) * 5), "")}** |
|
Wholeness of Body | Regain **{MonkLevel * 3}** HPs - 1/LR |
Property | Tab | Equation |
---|---|---|
Lay on Hands | PaladinLevel * 5 |
|
Aura of Protection | max(1, charismaMod) |
|
Aura Size | if (PaladinLevel > 17, 30, 10) |
|
Spells Known | Spellbook (Max prepared spells) | max((charismaMod + floor(PaladinLevel / 2)),1) |
1st | Journal (Class) | (min(floor(PaladinLevel/2),1) * 2) + min(floor(PaladinLevel/3),1) + min(floor(PaladinLevel/5),1) |
2nd | Journal (Class) | (min(floor(PaladinLevel/5),1) * 2) + min(floor(PaladinLevel/7),1) |
3rd | Journal (Class) | (min(floor(PaladinLevel/9),1) * 2) + min(floor(PaladinLevel/11),1) |
4th | Journal (Class) | min(floor(PaladinLevel/13),1) + min(floor(PaladinLevel/15),1) + min(floor(PaladinLevel/17),1) |
5th | Journal (Class) | min(floor(PaladinLevel/17),1) + min(floor(PaladinLevel/19),1) |
Divine Sense uses | Features | 1 + charismaMod |
Range of Divine Smite | Features | {if (PaladinLevel > 1, "On hit, (2-", "")}{if (PaladinLevel > 1, floor((PaladinLevel - 1) / 4) + 3, "")}{if (PaladinLevel > 1, ")d8 radiant damage per spell slot (+1d8 extra for undead/fiend).", "")} |
Property | Tab | Equation |
---|---|---|
Favored Enemy Damage | if (RangerLevel > 5, 4, 2) |
|
Spells Known | Spellbook (Max prepared spells) | if (RangerLevel > 1, ceil(RangerLevel / 2) + 1, 0) |
1st | Journal (Class) | (min(floor(RangerLevel/2),1) * 2) + min(floor(RangerLevel/3),1) + min(floor(RangerLevel/5),1) |
2nd | Journal (Class) | (min(floor(RangerLevel/5),1) * 2) + min(floor(RangerLevel/7),1) |
3rd | Journal (Class) | (min(floor(RangerLevel/9),1) * 2) + min(floor(RangerLevel/11),1) |
4th | Journal (Class) | min(floor(RangerLevel/13),1) + min(floor(RangerLevel/15),1) + min(floor(RangerLevel/17),1) |
5th | Journal (Class) | min(floor(RangerLevel/17),1) + min(floor(RangerLevel/19),1) |
Planar Warrior (Horizon Walker) | Feature | {if (RangerLevel >= 11, "Choose a creature you can see w/in 30ft as a BA. Next hit is all force damage w/ extra 2d8.", (if (RangerLevel >= 3, "Choose a creature you can see w/in 30ft as a BA. Next hit is all force damage w/ extra 1d8.", "")))} |
Planar Warrior (Horizon Walker) | Attack w/in Feature tab | {if (RangerLevel >= 11, "2d8", (if (RangerLevel >=3, "1d8", "")))} |
Property | Tab | Equation |
---|---|---|
Sneak Attack | Features | {ceil(RogueLevel/2)}d6 |
Cantrips (Arcane Trickster) | Spellbook (Description) | {if (RogueLevel > 2, if (RogueLevel < 10,3,4), 0)} |
Cantrips Known Text (Arcane Trickster) | Description line of Spell Container | You know **{if (RogueLevel > 2, if (RogueLevel < 10,3,4), 0)} cantrips.** |
Spells Known (Arcane Trickster) | Spellbook (Max prepared spells) | {if (RogueLevel < 3, 0, 3 + min(floor(RogueLevel /4),1) + min(floor(RogueLevel /7),1) + min(floor(RogueLevel /8),1) + min(floor(RogueLevel /10),1) + min(floor(RogueLevel /11),1) + min(floor(RogueLevel /13),1) + min(floor(RogueLevel /14),1) + min(floor(RogueLevel /16),1) + min(floor(RogueLevel /19),1) + min(floor(RogueLevel /20),1))} |
1st (Arcane Trickster) | Journal (Class) | max(max(min(2, RogueLevel - 1), min(3, RogueLevel - 1), min(4, RogueLevel - 3)), 0) |
2nd (Arcane Trickster) | Journal (Class) | max(max(min(2, RogueLevel - 5), min(3, RogueLevel - 7)), 0) |
3rd (Arcane Trickster) | Journal (Class) | max(max(min(2, RogueLevel - 11), min(3, RogueLevel - 13)), 0) |
4th (Arcane Trickster) | Journal (Class) | max(min(1, RogueLevel - 18),0) |
Property | Tab | Equation |
---|---|---|
Sorcery Points | Feature | if (SorcererLevel < 2, 0, SorcererLevel) |
Metamagic | Feature | if (SorcererLevel > 2, 2 + min(floor(SorcererLevel/10),1) + min(floor(SorcererLevel/17),1),0) |
Cantrips | Spellbook (Description) | 4 + (min(floor(SorcererLevel/4),1)) + min(floor(SorcererLevel/10),1) |
Cantrips Known Text | Description line of Spell Container | You know **{4 + (min(floor(SorcererLevel/4),1)) + min(floor(SorcererLevel/10),1)} cantrips.** |
Spells Known | Spellbook (Max prepared spells) | if (SorcererLevel <= 9, SorcererLevel + 1, if (SorcererLevel <= 18, 6 + ceil(SorcererLevel/2),15)) |
1st | Journal (Class) | 2 + min(SorcererLevel-1, 2) |
2nd | Journal (Class) | min(max(SorcererLevel-(3-1), 0), 1)*2 + min(max(SorcererLevel-(4-1), 0), 1) |
3rd | Journal (Class) | min(max(SorcererLevel-(5-1), 0), 1)*2 + min(max(SorcererLevel-(6-1), 0), 1) |
4th | Journal (Class) | min(max(SorcererLevel-(7-1), 0), 3) |
5th | Journal (Class) | min(max(SorcererLevel-(9-1), 0), 2) + min(max(SorcererLevel-(18-1), 0), 1) |
6th | Journal (Class) | min(max(SorcererLevel-(11-1), 0), 1) + min(max(SorcererLevel-(19-1), 0), 1) |
7th | Journal (Class) | min(max(SorcererLevel-(13-1), 0), 1) + min(max(SorcererLevel-(20-1), 0), 1) |
8th | Journal (Class) | min(max(SorcererLevel-(15-1), 0), 1) |
9th | Journal (Class) | min(max(SorcererLevel-(17-1), 0), 1) |
Conditional Unearthly Recovery Text | Feature | {if (SorcererLevel >= 18, "1/LR: As a BA, with fewer than 1/2 your HPs, regain HP =", "")} {if (SorcererLevel >= 18, floor(((6 + constitutionMod) + (max(SorcererLevel - 1, 0) * (4 + constitutionMod))) * 0.5), "")} |
Max spell level | Feature (Attack) |
min(ceil(SorcererLevel/2), 9) Useful for attacks where you want to show the range of damage of an attack with higher spell slots. Fireball, for instance, could have this equation in damage: (8-{5+min(ceil(SorcererLevel/2), 9)})d6 to show (8-14)d6 when you're 20th level. |
Font of Magic Conditional Visibility Text - Features Tab:
{if (SorcererLevel > 1, "BA Points=Spell Lvl or Points for Spell:", "")}
{if (SorcererLevel > 1, "| Slot | 1st | 2nd | 3rd | 4th | 5th |", "")}
{if (SorcererLevel > 1, "| :--: | :--: | :--: | :--: | :--: | :--: | :--: |", "")}
{if (SorcererLevel > 1, "| Point | 2 | 3 | 5 | 6 | 7 |", "")}
Metamagic Conditional Visibility Text - Features Tab:
{if (SorcererLevel >= 3, "You have **" + (2 + min(floor(SorcererLevel/10),1) + min(floor(SorcererLevel/17),1)) + " **Metamagic Options", "")}
{if (SorcererLevel >= 3, "- <Insert 3rd level choice here>", "")}
{if (SorcererLevel >= 3, "- <Insert 3rd level choice here>", "")}
{if (SorcererLevel >= 10, "- <Insert 10th level choice here>", "")}
{if (SorcererLevel >= 17, "- <Insert 17th level choice here>", "")}
Metamagic Simple Text:
**1 Careful Spell** choose charismaMod people to auto succeed 1 spell save
**1 Distant Spell** 2x range, self=30ft
**1 Empowered Spell** reroll charismaMod damage dice. Must use new roll
**1 Extended Spell** double duration of 1 spell (max 24 hrs)
**3 Heightened Spell** DisADV 1 ST
**2 Quickened Spell** 1 spell as BA
**1 Subtle Spell** no V or S comps
**1-9 Twinned** 1pt/lvl, 2 targets
Property | Tab | Equation |
---|---|---|
Cantrips | Spellbook (Description) |
{(min(floor(WarlockLevel/4),1) + 2) + min(floor(WarlockLevel/10),1)} If you're using Pact of the Tome, remember to add 3 to the equation: {(min(floor(WarlockLevel/4),1) + 2) + min(floor(WarlockLevel/10),1) + 3}
|
Cantrips Known Text | Description line of Spell Container | You know **{(min(floor(WarlockLevel/4),1) + 2) + min(floor(WarlockLevel/10),1)} cantrips.** |
Spells Known | Spellbook (Max prepared spells) | if (WarlockLevel > 9, floor((WarlockLevel-9)/2) + 10, WarlockLevel + 1) |
Spell Slots | Features | You have {max (1, min (WarlockLevel, 2), min (WarlockLevel - 8, 3), min (WarlockLevel - 13, 4))} Warlock spell slot{if(WarlockLevel>1,"s","")} |
Spell Slots Level | Features | Your spell slots are level {min(ceil(WarlockLevel/2),5)} |
1st | Journal (Class) | if(WarlockLevel<3, WarlockLevel, 0) |
2nd | Journal (Class) | if(ceil(WarlockLevel/2)==2, 2, 0) |
3rd | Journal (Class) | if(ceil(WarlockLevel/2)==3,2,0) |
4th | Journal (Class) | if(ceil(WarlockLevel/2)==4,2,0) |
5th | Journal (Class) | if(WarlockLevel>=17, 4, if(WarlockLevel>=11, 3, if(WarlockLevel>=9, 2, 0))) |
6th (Myst Arcan 1/LR) | Journal (Class) | if(WarlockLevel >= 11, 1, 0) |
7th (Myst Arcan 1/LR) | Journal (Class) | if(WarlockLevel >= 13, 1, 0) |
8th (Myst Arcan 1/LR) | Journal (Class) | if(WarlockLevel >= 15, 1, 0) |
9th (Myst Arcan 1/LR) | Journal (Class) | if(WarlockLevel >= 17, 1, 0) |
Invocations Known | Features | {if (WarlockLevel < 2, 0, 2 + min(floor(WarlockLevel/5),1) + min(floor(WarlockLevel/7),1) + min(floor(WarlockLevel/9),1) + min(floor(WarlockLevel/12),1) + min(floor(WarlockLevel/15),1) + min(floor(WarlockLevel/18),1))} |
Eldritch Blast Damage | 1d10 for {if(Level >= 17, 4, if(Level >= 11, 3, if(Level >= 5, 2, 1)))} beams |
|
Eldritch Blast Damage2 | x{floor((WarlockLevel + 1) / 6) + 1} beam{if (WarlockLevel > 4, "s","")}, 1d10 + {charismaMod} |
Invocations Known (Fully Formatted) - Features Tab:
{if (WarlockLevel >= 2, "You know **" + (if (WarlockLevel < 2, 0, 2 + min(floor(WarlockLevel/5),1) + min(floor(WarlockLevel/7),1) + min(floor(WarlockLevel/9),1) + min(floor(WarlockLevel/12),1) + min(floor(WarlockLevel/15),1) + min(floor(WarlockLevel/18),1))) + "** invocations:")}
{if (WarlockLevel >= 2, "- <Insert 2nd level choice here>", "")}
{if (WarlockLevel >= 2, "- <Insert 2nd level choice here>", "")}
{if (WarlockLevel >= 5, "- <Insert 5th level choice here>", "")}
{if (WarlockLevel >= 7, "- <Insert 7th level choice here>", "")}
{if (WarlockLevel >= 9, "- <Insert 9th level choice here>", "")}
{if (WarlockLevel >= 12, "- <Insert 12th level choice here>", "")} {if (WarlockLevel >= 15, "- <Insert 15th level choice here>", "")} {if (WarlockLevel >= 18, "- <Insert 18th level choice here>", "")}
Property | Tab | Equation |
---|---|---|
Max Prepared Spells | Spellbook (Max prepared spells) | max((intelligenceMod + WizardLevel),1) |
Cantrips | Spellbook (Description) | {3 + min(floor(WizardLevel/4),1)+ min(floor(WizardLevel/10),1)} |
Cantrips Known Text | Description line of Spell Container | You know **{3 + min(floor(WizardLevel/4),1)+ min(floor(WizardLevel/10),1)} cantrips.** |
1st | Journal (Class) | 2 + min(WizardLevel-1, 2) |
2nd | Journal (Class) | min(max(WizardLevel-(3-1), 0), 1)*2 + min(max(WizardLevel-(4-1), 0), 1) |
3rd | Journal (Class) | min(max(WizardLevel-(5-1), 0), 1)*2 + min(max(WizardLevel-(6-1), 0), 1) |
4th | Journal (Class) | min(max(WizardLevel-(7-1), 0), 3) |
5th | Journal (Class) | min(max(WizardLevel-(9-1), 0), 2) + min(max(WizardLevel-(18-1), 0), 1) |
6th | Journal (Class) | min(max(WizardLevel-(11-1), 0), 1) + min(max(WizardLevel-(19-1), 0), 1) |
7th | Journal (Class) | min(max(WizardLevel-(13-1), 0), 1) + min(max(WizardLevel-(20-1), 0), 1) |
8th | Journal (Class) | min(max(WizardLevel-(15-1), 0), 1) |
9th | Journal (Class) | min(max(WizardLevel-(17-1), 0), 1) |
Arcane Recovery | Features | Recover {ceil(WizardLevel / 2)} Spell Slots up to 5th |
Max spell level | Feature (Attack) |
min(ceil(WizardLevel/2), 9) Useful for attacks where you want to show the range of damage of an attack with higher spell slots. Fireball, for instance, could have this equation in damage: (8-{5+min(ceil(WizardLevel/2), 9)})d6 to show (8-14)d6 when you're 20th level. |
Property | Tab | Equation |
---|---|---|
Ability Up Non-Enabled Modifiers | Features | If you fully level your character but don't want to Enable and Disable ability modifiers (we use this for arena characters so we can quickly level or de-level them), then put the following equation in the EFFECT window for the stat you are raising. LVL = the level it should take effect, and the # is either a 1 or 2, depending on whether you're raising one stat or two.if (ClassLevel >= LVL, #, 0)
|
Average Hitpoints | Level Window, Journal Tab | <Initial max HP for your class> + (max(ClassLevel - 1, 0) * <average HPs for your class>) |
Brave (Halfling) | Features | Feature: Brave Add effect - Wisdom save, conditional benefit: "Advantage on saves vs. frighten" This will make an asterisk appear next to the Wisdom save on the Stats page, and when you click it to expand it it will tell you that you have "advantage on saves vs. frighten". AFAIK all frighten effects are Wisdom saves, but you could add the same conditional benefit on the other saves if you thought it necessary. |
Breath Weapon Damage | Features | Attack Bonus: "Dex" + (constitutionMod + proficiencyBonus + 8) Damage: {2 + floor ((level-1)/5)}d6
|
Combining text & equations | Features | {if (WizardLevel > 2, "I'm a lovely bunch of " + (6*5) + " coconuts, dodadodo", "")} |
Great Weapon Master or Sharpshooter | Features | In your attack to hit:max(strengthMod, dexterityMod) + proficiencyBonus - if (rageDamage > 4, 5, 0) In your damage: 1dX + {max(strengthMod, dexterityMod) + if (rageDamage > 4, rageDamage + 5, rageDamage)} Use the enabled toggle on a feature to add +5 to your rageDamage The rageDamage check is in case you're also a Barbarian using a rageDamage for its real purpose (the maxiumum plus to a Barbarian's rageDamage is +4). This works for either scenario. |
Scaling Cantrip Damage | Spells |
{floor((Level+1)/6)+1}dX (replace x with the damage die of the cantrip) |
Warlock Spell Slots | Features | Your Spell Slots are currently Level {if(WarlockLevel >= 9, 5, if (WarlockLevel >= 7, 4, if(WarlockLevel >= 5, 3, if(WarlockLevel >= 3, 2, 1))))} courtesy of SuperSandwizard on Reddit |
Feats and Ability Improvement Reminders for Auto-Leveling - Features Tab:
{if (level >= 4, "**- You must increase an ability or add a feat for lvl 4.**", "")}
{if (level >= 8, "**- You must increase an ability or add a feat for lvl 8.**", "")}
{if (level >= 12, "**- You must increase an ability or add a feat for lvl 12.**", "")}
{if (level >= 16, "**- You must increase an ability or add a feat for lvl 16.**", "")}
{if (level >= 19, "**- You must increase an ability or add a feat for lvl 18.**", "")}
This is for spellcasting only. For other rules, look at page 163-164 of the PHB.
Steps | Equation |
---|---|
Add up your levels | |
Case 1 - Full Caster | {BardLevel + ClericLevel + DruidLevel + SorcererLevel + WizardLevel + (floor((PaladinLevel + RangerLevel) / 2)) + (floor((RogueLevel + FighterLevel) / 3)) } |
Full Caster (Bard, cleric, druid, sorcerer, wizard) | <Class>Level |
Partial Caster (Artificer, paladin, ranger) | (floor(<Class>Level / 2) |
Mini Caster (Rogue Arcane Trickster or Fighter Eldritch Knight) | (floor(<Class>Level / 3) |
Add lvls up with () ex: | (<Class1>Level + (floor(<Class2>Level / 2) + (floor(<Class3>Level / 3)) |
Example 1 (Wizard/Paladin) | (WizardLevel + (floor(PaladinLevel / 2))) |
Example 2 (Cleric/Ranger) | (ClericLevel + (floor(RangerLevel / 2))) |
Example 3 (Bard/Rogue (Arcane Trickster)) | (BardLevel + (floor(RogueLevel / 3))) |
Replace Equation | Replace the ReplaceMe below with your () equations |
Spell Slots | Equation |
---|---|
1st | min(1 + ReplaceMe, 4) |
2nd | if (ReplaceMe < 3, 0, 2 + min(floor(ReplaceMe/4),1)) |
3rd | if (ReplaceMe < 5, 0, 2 + min(floor(ReplaceMe/6),1)) |
4th | if (ReplaceMe < 7, 0, 1 + min(floor(ReplaceMe/8),1) + min(floor(ReplaceMe/9),1)) |
5th | if (ReplaceMe < 9, 0, 1 + min(floor(ReplaceMe/10),1) + min(floor(ReplaceMe/18),1)) |
6th | if (ReplaceMe < 11, 0, 1 + min(floor(ReplaceMe/19),1)) |
7th | if (ReplaceMe < 13, 0, 1 + min(floor(ReplaceMe/20),1)) |
8th | if (ReplaceMe < 15, 0, 1) |
9th | if (ReplaceMe < 17, 0, 1) |
Ranger/Cleric | Equation |
---|---|
Total Spell Level | (floor(RangerLevel / 2) + ClericLevel) |
1st | min(1 + (floor(RangerLevel / 2) + ClericLevel), 4) |
2nd | if ((floor(RangerLevel / 2) + ClericLevel) < 3, 0, 2 + min(floor((floor(RangerLevel / 2) + ClericLevel)/4),1)) |
3rd | if ((floor(RangerLevel / 2) + ClericLevel) < 5, 0, 2 + min(floor((floor(RangerLevel / 2) + ClericLevel)/6),1)) |
4th | if ((floor(RangerLevel / 2) + ClericLevel) < 7, 0, 1 + min(floor((floor(RangerLevel / 2) + ClericLevel)/8),1) + min(floor((floor(RangerLevel / 2) + ClericLevel)/9),1)) |
5th | if ((floor(RangerLevel / 2) + ClericLevel) < 9, 0, 1 + min(floor((floor(RangerLevel / 2) + ClericLevel)/10),1) + min(floor((floor(RangerLevel / 2) + ClericLevel)/18),1)) |
6th | if ((floor(RangerLevel / 2) + ClericLevel) < 11, 0, 1 + min(floor((floor(RangerLevel / 2) + ClericLevel)/19),1)) |
7th | if ((floor(RangerLevel / 2) + ClericLevel) < 13, 0, 1 + min(floor((floor(RangerLevel / 2) + ClericLevel)/20),1)) |
8th | if ((floor(RangerLevel / 2) + ClericLevel) < 15, 0, 1) |
9th | if ((floor(RangerLevel / 2) + ClericLevel) < 17, 0, 1) |
Property | Tab | Equation |
---|---|---|
Conditional Text Visibility | Feature | To make text appear conditionally, you need to put the following in a smart input field (the ones with the curly brackets { } icon):{if( level>=5, "Your level is 5 or more", "Your level is under 5" )} replacing level>=5 with whatever condition you want, e.g. DruidLevel>3, ki=0, etc. The strings can be changed too - the first one is displayed if the condition is true, and the second one if it is false. (NB: you'll have to put "" - an empty string - in place of one of the strings if you want it not to display at all if or unless a condition is met). You can do a similar thing in numerical effect fields - for example if you wanted to choose your 8th-level ASIs before you actually get them, you could create a Strength effect that adds if(level>=8, 2, 0) . Unfortunately, this isn't possible for Advantage/Disadvantage or Conditional Benefit effects. |
Dialog Box Visibility | Any | Using a triple dash ( --- ) creates a break in the text. Only words above the triple-dash are visible unless the window is expanded |
Google Drive Direct Link Generator: | Any | https://sites.google.com/site/gdocs2direct/ |
Image Code Front | Any | <div style="float: center; padding-left: 10px; margin-right:-5px; margin-top: -5px;"><img src=" |
Image Code Back | Any | " class="mail" alt="anything" style="max-width: 225px;"/> </div> |
Image Code Entire | Any | <div style="float: right; padding-left: 10px; margin-right:-5px; margin-top: -5px;"><img src="IMAGE URL" class="mail" alt="anything" style="max-width: 250px;"/></div> |
Alternate Image Code (centering works) | Any | <div style="text-align:center; margin-top:20px;"><img align="center" src="IMAGE LINK GOES HERE" class="mail" style="max-height:600px;"></div> |
Alternate Image Code Front | Any | <div style="text-align:center; margin-top:20px;"><img align="center" src=" |
Alternate Image Code Back | Any | " class="mail" alt="ALT TEXT GOES HERE" style="max-height:600px;"></div> |
Third Image Code | Any | ![Alt text](URL GOES HERE "Image Description on Hover") |
Linebreak | Any | Add 2 spaces after the last word in a line before going to the next line |
Header Codes | Any | |
H1 | <h1>Header</h1> |
|
H2 | <h2>Header</h2> |
|
H3 | <h3>Header</h3> |
|
H1 | # Header 1 # |
|
H2 | ## Header 2 ## |
|
H3 | ### Header 3 ### |
|
Multiple Damage Types |
2d6 + strengthMod slashing + 2d6 and then select fire for the damage type |
Table Code - Any:
| Header 1 | Header 2 |
| :----: | :----: |
| Data 1 | Data 2 |