You are on page 1of 3

Daniel R. Collins dcollins@superdan.

net

MATH FORMULAS FOR D&D


A compilation of important formulas derived from d20 System sources.

Copyright 2003-2005 Daniel R. Collins.

poorAttacks = classLevel * 1 / 2

Ability Modifers Division is rounded down.

modifier = ability / 2 5 Use the first category for Barbarians, Fighters,

Paladins, Rangers, Warriors, etc.

Division is rounded down. Use the last category for Adepts, Commoners,

Ability should be 0 or greater. Sorcerers, Wizards, etc.

(Note this is equivalent to ClassLevel should be greater than 0.

modifier = (ability 10) / 2 , round down.)

Saving Throws

Bonus Spells goodSave = classLevel / 2 + 2

bonus = (ability (spellLevel + 1) * 2) / 8 poorSave = classLevel / 3

Division is rounded down, to 0 minimum. Division is rounded down.

0-level spells receive no bonuses. ClassLevel should be greater than 0.

If the ability is less than 10+spellLevel,

no spells of that level can be cast. Skill Max Ranks

Ability should be 0 or greater. inClassMax = characterLevel + 3

SpellLevel should be between 1 and 9. crossClassMax = (characterLevel + 3) / 2

Base Attack Bonus Division is not rounded.

goodAttacks = classLevel * 1 CharacterLevel should be greater than 0.

normAttacks = classLevel * 3 / 4

MATH FORMULAS FOR D&D


Daniel R. Collins dcollins@superdan.net

that breaks any formula.)

Encumbrance

if strength 10, then:

maxLoad = strength * 10

if strength > 10, then:

Spell Cost maxLoad = 1.1487 ^ (strength - 10) * 100

cost = spellLevel * casterLevel * 10

Rounding is done to the nearest multiple of 5, 10,

0-level spells count as spell level. 20, or 40 (in steps of 5 strength).

SpellLevel should be between 1 and 9. Other modifiers may be made per the d20 System

CasterLevel should be greater than 0. for character size, number of legs, etc.

Light load is 1/3 the max load; medium load is 2/3

Treasure and Character Wealth the max load (round down).

(Note: 1.1487 approximates 104)

Neither the treasure tables, nor NPC or PC wealth Strength should be greater than 0.

tables, appear to follow a regular formula.

Movement

Speed movePerHour = speed / 10

encumberedSpeed = baseSpeed * 0.7 movePerDay = speed / 10 * 8

Rounding is done to the nearest multiple of 5. Terrain modifiers may apply to these figures.

BaseSpeed should be greater than 0. Speed should be greater than 0.

(Note: The FAQ expands movement table in way

requiredXP = level * (level 1) * 500

(Note each level requires an added level * 1000

Experience Points XP to advance through it.)

MATH FORMULAS FOR D&D


Daniel R. Collins dcollins@superdan.net

Level should be greater than 0.

No award is given if |CD| > 7.

Challenge Ratings PartyLevels of 1 or 2 are treated as 3,

Fractional CR except when the CR is 1 or 2.


1/2 1/3 1/4 1/6 1/8 1/10
(Note that the first CD is even case can be used
Integral CR
as an approximation for all cases.)
-1 -2 -3 -4 -5 -6
(The second case is basically x2/3 the first.)

(The last case is basically x3/2 the first.)


For the following formulas, fractional CRs may be
ChallengeRating should be an integer.
converted to negative integers as above.
PartyLevel should be greater than 0.
ChallengeRating should be a fraction as above.

Encounter Levels

EL = challengeRating + 2 * ln(number) / ln(2)

(Note that ln(number) / ln(2) = log2 (number).)

ChallengeRating should be an integer.

Number should be greater than 0.

Experience Awards

CD = challengeRating partyLevel

if CD is even, then:

award = partyLevel * 2 ^ (CD / 2) * 300

if CD is odd and CD < 0, then:

award = partyLevel * 2 ^ ((CD+1) / 2) * 200

if CD is odd and CD > 0, then:

award = partyLevel * 2 ^ ((CD-1) / 2) * 450

MATH FORMULAS FOR D&D

You might also like