Fractional CRs and XP

-Eä-

First Post
Due to the fact that I (and a couple of other people) am using fractional and transcendental CRs, I have devised a formula and an algorithm on how to calculate XP based on such numbers. The system also lies in the Immortal's Handbook thread, but I guess all of you don
t read that thread, so here it is.



I recommend looking at Upper Krust's revised CR rules at Immortal's Handbook. I think the revised system is on page 14 or something. I use a very similar system, but not exactly that one.



Well...anyhow: Here's my algorithm and formulae:

I think the latter algorithm is better, but it comes not in one formula.

Base=300*l*(3/2)^(floor((cr+1)/2))*(4/3)^(floor(cr/2))

where floor is the floor function. ie. floor(4.9)=4, floor(34.1)=34

PCR=(1/12*cos(Pi*cr+Pi)+17/12)^(cr-floor(cr))

XP formula one:
XP=Base*PCR

XP algorithm two:
xp2:=proc(l,cr)
if (type(floor(cr),even)=true)
then Base*(cr/2-floor(cr)/2+1)
else Base*((cr)/3-floor(cr)/3+1)
end if
end proc;

This is a Maple procedure, so if you have that programme, just define Base and copy the algorithm. I never thought it was so easy... But that's what happens when one delves in some mysterious sequence formulae involoving infinite series (which actually did work, but provided me no easy formula).
 

log in or register to remove this ad


-Eä- said:

Base=300*l*(3/2)^(floor((cr+1)/2))*(4/3)^(floor(cr/2))

where floor is the floor function. ie. floor(4.9)=4, floor(34.1)=34

PCR=(1/12*cos(Pi*cr+Pi)+17/12)^(cr-floor(cr))

XP formula one:
XP=Base*PCR

XP algorithm two:
xp2:=proc(l,cr)
if (type(floor(cr),even)=true)
then Base*(cr/2-floor(cr)/2+1)
else Base*((cr)/3-floor(cr)/3+1)
end if
end proc;

Proof positive that one should not make house rules when drunk. :D

BTW, this guy does it MUCH BETTER than you:

C++'s HYBRID RPG
 

Re: Re: Fractional CRs and XP

hong said:


Proof positive that one should not make house rules when drunk. :D

BTW, this guy does it MUCH BETTER than you:

C++'s HYBRID RPG


That Hybrid RPG was really something! I think I will have to learn those rules by heart (-;

Seriously, though, I have need for calculating XP from fractional CRs, since I don't use the normal limitation of CR + or - 8. Given a CR of 10.5 should not be rounded to 11 in these cases, and personally, I don't round CRs of 7.6 and such either, for the XP difference between 7.6 and 8 is quite large in my opinion.
 

Upper_Krust said:
Hi Eä mate! :)

I appreciate the support - though I must say I don't understand your formula in the slightest. :confused:

Good luck with it though.


Let me provide an example on how the algorithm functions.


Let's say you have a party which averages ECL 18 which faces a threat of CR+5.6.

First you calculate the Base:

floor((5.6+1)/2)=3
floor(5.6/2)=2

Base=18*300*(3/2)^3*(4/3)^2=32400

Then you ask if floor(5.6)=5 is an even number. 5 is not an even number, therefore you use procedure two:

Base*((cr)/3-floor(cr)/3+1)=32400*((cr)/3-floor(cr)/3+1)

((cr)/3-floor(cr)/3+1)=5.6/3-5/3+1=1.2

XP=Base*1.2=32400*1.2=38880



If the number was 6.6 instead of 5.6, which means that floor(6.6)=6 is even, then you would just use
XP=Base*(cr/2-floor(cr)/2+1)
 

If you're willing to undo Wizards' rounding errors, the formula becomes much simpler:
XP = 300 * ECL * 2 ^ (CR - ECL)

I've been using this for a while, since it lets me use fractional CR as well as ECL. For example, I have an ECL 3.76 character in the group.
 


CRGreathouse said:
If you're willing to undo Wizards' rounding errors, the formula becomes much simpler:
XP = 300 * ECL * 2 ^ (CR - ECL)

I've been using this for a while, since it lets me use fractional CR as well as ECL. For example, I have an ECL 3.76 character in the group.

I found the numbers in the XP table to be a little unintuitive in portions, are there really rounding errors in the table? Meaning, are some of the numbers I see in the table wrong or unintentional? Have they been fixed or errata posted?
 

Remove ads

Top