Experience Formula

Let's see... I've got a "QuickStats Spreadsheet" at the bottom of this page -- www.superdan.net/dnddocs.html -- which includes a combat notes sheet and an XP-calculator.

The pattern quoted from the Epic handbook is mistaken. It would be correct if the end of the second sentence were fixed as follows. (Even so, the DMG tables have a few deviations from the pattern which I presume are typographical errors.)

...if the CR is equal to the party level + 1 the experience point award is 450 X party level, if the CR is equal to Party level -1 then the experience point award is 200 X party level


The simplest formula which gives results effectively close to the DMG table is this (in the following, CD = CR - average party level [i.e., "challenge difference"]):

XP = (300*CR) * 2^(CD/2)

If you want to precisely replicate the DMG tables (ignoring the typos) then you've got to use this:

If CD is even, then XP = (300*CR) * 2^(CD/2) [note: as above]
If CD is odd and CD > 0, then XP = (300*CR) * 3/2 * 2^((CD-1)/2)
If CD is odd and CD < 0, then XP = (300*CR) * 2/3 * 2^((CD+1)/2)
 

log in or register to remove this ad

Try using something like this.
Code:
ExpAwd = 300

If Cr = Pl Then
  Mod = 1
ElseIf Cr < Pl
   Mod =  (Pl - Cr)/2
   Mod = Cint(Mod)
Else
   Mod = (Cr-Pl)/2
   Mod = Cint(Mod)
End If


If Cr < Pl
  Do While Mod > 0 
    ExpAwd = ExpAwd * 2
    Mod = Mod - 1
  Loop
ElseIf Cr > Pl
  Do WHILE MOD > 0
    ExpAwd = ExpAwd * 2
    Mod = Mod - 1
  Loop
End If

It's must less convuluted and will work in more cases then your select statement method. Though this just beggs for recursion.
 

Remove ads

Top