generated from Jaysyn/ModuleTemplate
1523 lines
54 KiB
Plaintext
1523 lines
54 KiB
Plaintext
// HCR v3.2.0 - Included formulas for epic level XP progression. - Thx CatScan.
|
|
//::////////////////////////////////////////////////////////////////////////////
|
|
//:: FileName: HC_Inc_Exp
|
|
//::////////////////////////////////////////////////////////////////////////////
|
|
/*
|
|
|
|
*/
|
|
//::////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
#include "crr_subrace_hc_i"
|
|
|
|
|
|
// * FUNCTION PROTOTYPES
|
|
|
|
|
|
int UseXPTable(int nBaseExp, float fCR, int nLevel);
|
|
|
|
|
|
// Hands out the custom XP rewards (to oKiller) for killing creatures (OBJECT_SELF).
|
|
// (The code was stripped from the default death script so that other scripts
|
|
// can access it. And so that when it gets cleaned up, it only needs to be
|
|
// cleaned up once.)
|
|
void AwardKillXP(object oKiller);
|
|
|
|
// * FUNCTION DEFINITIONS
|
|
|
|
|
|
//::////////////////////////////////////////////////////////////////////////////
|
|
int UseXPTable(int nBaseExp, float fCR, int nLevel)
|
|
{
|
|
|
|
int nCR;
|
|
int nExp;
|
|
nCR = FloatToInt(fCR);
|
|
float fPow;
|
|
if (nCR > 40)
|
|
fPow = (fCR - 39.0);
|
|
if (nCR <= 1){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 6)
|
|
nExp = nBaseExp;
|
|
else if (nLevel == 7)
|
|
nExp = FloatToInt(nBaseExp * 0.8767);
|
|
else if (nLevel == 8)
|
|
nExp = FloatToInt(nBaseExp * 0.6667);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 2){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 4)
|
|
nExp = nBaseExp * 2;
|
|
else if (nLevel == 5)
|
|
nExp = FloatToInt(nBaseExp * 1.6667);
|
|
else if (nLevel == 6)
|
|
nExp = FloatToInt(nBaseExp * 1.5);
|
|
else if (nLevel == 7)
|
|
nExp = FloatToInt(nBaseExp * 1.3134);
|
|
else if (nLevel == 8)
|
|
nExp = nBaseExp;
|
|
else if (nLevel == 9)
|
|
nExp = FloatToInt(nBaseExp * 0.75);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 3){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 3)
|
|
nExp = FloatToInt(nBaseExp * 3.0);
|
|
else if (nLevel == 4)
|
|
nExp = FloatToInt(nBaseExp * 2.6667);
|
|
else if (nLevel == 5)
|
|
nExp = FloatToInt(nBaseExp * 2.5);
|
|
else if (nLevel == 6)
|
|
nExp = FloatToInt(nBaseExp * 2.0);
|
|
else if (nLevel == 7)
|
|
nExp = FloatToInt(nBaseExp * 1.75);
|
|
else if (nLevel == 8)
|
|
nExp = FloatToInt(nBaseExp * 1.5);
|
|
else if (nLevel == 9)
|
|
nExp = FloatToInt(nBaseExp * 1.1267);
|
|
else if (nLevel == 10)
|
|
nExp = FloatToInt(nBaseExp * 0.8334);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 4){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 3)
|
|
nExp = FloatToInt(nBaseExp * 4.5);
|
|
else if (nLevel == 4)
|
|
nExp = FloatToInt(nBaseExp * 4.0);
|
|
else if (nLevel == 5)
|
|
nExp = FloatToInt(nBaseExp * 3.3334);
|
|
else if (nLevel == 6)
|
|
nExp = FloatToInt(nBaseExp * 3.0);
|
|
else if (nLevel == 7)
|
|
nExp = FloatToInt(nBaseExp * 2.3334);
|
|
else if (nLevel == 8)
|
|
nExp = FloatToInt(nBaseExp * 2.0);
|
|
else if (nLevel == 9)
|
|
nExp = FloatToInt(nBaseExp * 1.6867);
|
|
else if (nLevel == 10)
|
|
nExp = FloatToInt(nBaseExp * 1.25);
|
|
else if (nLevel == 11)
|
|
nExp = FloatToInt(nBaseExp * 0.9167);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 5){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 3)
|
|
nExp = FloatToInt(nBaseExp * 6.0);
|
|
else if (nLevel == 4)
|
|
nExp = FloatToInt(nBaseExp * 5.3334);
|
|
else if (nLevel == 5)
|
|
nExp = FloatToInt(nBaseExp * 5.0);
|
|
else if (nLevel == 6)
|
|
nExp = FloatToInt(nBaseExp * 4.0);
|
|
else if (nLevel == 7)
|
|
nExp = FloatToInt(nBaseExp * 3.5);
|
|
else if (nLevel == 8)
|
|
nExp = FloatToInt(nBaseExp * 2.6667);
|
|
else if (nLevel == 9)
|
|
nExp = FloatToInt(nBaseExp * 2.25);
|
|
else if (nLevel == 10)
|
|
nExp = FloatToInt(nBaseExp * 1.8767);
|
|
else if (nLevel == 11)
|
|
nExp = FloatToInt(nBaseExp * 1.3767);
|
|
else if (nLevel == 12)
|
|
nExp = FloatToInt(nBaseExp * 1.0);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 6){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 3)
|
|
nExp = FloatToInt(nBaseExp * 9.0);
|
|
else if (nLevel == 4)
|
|
nExp = FloatToInt(nBaseExp * 8.0);
|
|
else if (nLevel == 5)
|
|
nExp = FloatToInt(nBaseExp * 7.5);
|
|
else if (nLevel == 6)
|
|
nExp = FloatToInt(nBaseExp * 6.0);
|
|
else if (nLevel == 7)
|
|
nExp = FloatToInt(nBaseExp * 4.6667);
|
|
else if (nLevel == 8)
|
|
nExp = FloatToInt(nBaseExp * 4.0);
|
|
else if (nLevel == 9)
|
|
nExp = FloatToInt(nBaseExp * 3.0);
|
|
else if (nLevel == 10)
|
|
nExp = FloatToInt(nBaseExp * 2.5);
|
|
else if (nLevel == 11)
|
|
nExp = FloatToInt(nBaseExp * 2.0634);
|
|
else if (nLevel == 12)
|
|
nExp = FloatToInt(nBaseExp * 1.5);
|
|
else if (nLevel == 13)
|
|
nExp = FloatToInt(nBaseExp * 1.0834);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 7){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 3)
|
|
nExp = FloatToInt(nBaseExp * 12.0);
|
|
else if (nLevel == 4)
|
|
nExp = FloatToInt(nBaseExp * 10.6667);
|
|
else if (nLevel == 5)
|
|
nExp = FloatToInt(nBaseExp * 10.0);
|
|
else if (nLevel == 6)
|
|
nExp = FloatToInt(nBaseExp * 9.0);
|
|
else if (nLevel == 7)
|
|
nExp = FloatToInt(nBaseExp * 7.0);
|
|
else if (nLevel == 8)
|
|
nExp = FloatToInt(nBaseExp * 5.3334);
|
|
else if (nLevel == 9)
|
|
nExp = FloatToInt(nBaseExp * 4.5);
|
|
else if (nLevel == 10)
|
|
nExp = FloatToInt(nBaseExp * 3.3334);
|
|
else if (nLevel == 11)
|
|
nExp = FloatToInt(nBaseExp * 2.75);
|
|
else if (nLevel == 12)
|
|
nExp = FloatToInt(nBaseExp * 2.25);
|
|
else if (nLevel == 13)
|
|
nExp = FloatToInt(nBaseExp * 1.6267);
|
|
else if (nLevel == 14)
|
|
nExp = FloatToInt(nBaseExp * 1.1667);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 8){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 3)
|
|
nExp = FloatToInt(nBaseExp * 18.0);
|
|
else if (nLevel == 4)
|
|
nExp = FloatToInt(nBaseExp * 16.0);
|
|
else if (nLevel == 5)
|
|
nExp = FloatToInt(nBaseExp * 15.0);
|
|
else if (nLevel == 6)
|
|
nExp = FloatToInt(nBaseExp * 12.0);
|
|
else if (nLevel == 7)
|
|
nExp = FloatToInt(nBaseExp * 10.5);
|
|
else if (nLevel == 8)
|
|
nExp = FloatToInt(nBaseExp * 8.0);
|
|
else if (nLevel == 9)
|
|
nExp = FloatToInt(nBaseExp * 6.0);
|
|
else if (nLevel == 10)
|
|
nExp = FloatToInt(nBaseExp * 5.0);
|
|
else if (nLevel == 11)
|
|
nExp = FloatToInt(nBaseExp * 3.6667);
|
|
else if (nLevel == 12)
|
|
nExp = FloatToInt(nBaseExp * 3.0);
|
|
else if (nLevel == 13)
|
|
nExp = FloatToInt(nBaseExp * 2.4367);
|
|
else if (nLevel == 14)
|
|
nExp = FloatToInt(nBaseExp * 1.75);
|
|
else if (nLevel == 15)
|
|
nExp = FloatToInt(nBaseExp * 1.25);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 9){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 3)
|
|
nExp = FloatToInt(nBaseExp * 24.0);
|
|
else if (nLevel == 4)
|
|
nExp = FloatToInt(nBaseExp * 21.3334);
|
|
else if (nLevel == 5)
|
|
nExp = FloatToInt(nBaseExp * 20.0);
|
|
else if (nLevel == 6)
|
|
nExp = FloatToInt(nBaseExp * 18.0);
|
|
else if (nLevel == 7)
|
|
nExp = FloatToInt(nBaseExp * 14.0);
|
|
else if (nLevel == 8)
|
|
nExp = FloatToInt(nBaseExp * 12.0);
|
|
else if (nLevel == 9)
|
|
nExp = FloatToInt(nBaseExp * 9.0);
|
|
else if (nLevel == 10)
|
|
nExp = FloatToInt(nBaseExp * 6.6667);
|
|
else if (nLevel == 11)
|
|
nExp = FloatToInt(nBaseExp * 5.5);
|
|
else if (nLevel == 12)
|
|
nExp = FloatToInt(nBaseExp * 4.0);
|
|
else if (nLevel == 13)
|
|
nExp = FloatToInt(nBaseExp * 3.25);
|
|
else if (nLevel == 14)
|
|
nExp = FloatToInt(nBaseExp * 2.6267);
|
|
else if (nLevel == 15)
|
|
nExp = FloatToInt(nBaseExp * 1.8767);
|
|
else if (nLevel == 16)
|
|
nExp = FloatToInt(nBaseExp * 1.3334);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 10){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 3)
|
|
nExp = FloatToInt(nBaseExp * 36.0);
|
|
else if (nLevel == 4)
|
|
nExp = FloatToInt(nBaseExp * 32.0);
|
|
else if (nLevel == 5)
|
|
nExp = FloatToInt(nBaseExp * 30.0);
|
|
else if (nLevel == 6)
|
|
nExp = FloatToInt(nBaseExp * 24.0);
|
|
else if (nLevel == 7)
|
|
nExp = FloatToInt(nBaseExp * 21.0);
|
|
else if (nLevel == 8)
|
|
nExp = FloatToInt(nBaseExp * 16.0);
|
|
else if (nLevel == 9)
|
|
nExp = FloatToInt(nBaseExp * 13.5);
|
|
else if (nLevel == 10)
|
|
nExp = FloatToInt(nBaseExp * 10.0);
|
|
else if (nLevel == 11)
|
|
nExp = FloatToInt(nBaseExp * 7.3334);
|
|
else if (nLevel == 12)
|
|
nExp = FloatToInt(nBaseExp * 6.0);
|
|
else if (nLevel == 13)
|
|
nExp = FloatToInt(nBaseExp * 4.3334);
|
|
else if (nLevel == 14)
|
|
nExp = FloatToInt(nBaseExp * 3.5);
|
|
else if (nLevel == 15)
|
|
nExp = FloatToInt(nBaseExp * 2.8134);
|
|
else if (nLevel == 16)
|
|
nExp = FloatToInt(nBaseExp * 2.0);
|
|
else if (nLevel == 17)
|
|
nExp = FloatToInt(nBaseExp * 1.4167);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 11){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 4)
|
|
nExp = FloatToInt(nBaseExp * 42.6667);
|
|
else if (nLevel == 5)
|
|
nExp = FloatToInt(nBaseExp * 40.0);
|
|
else if (nLevel == 6)
|
|
nExp = FloatToInt(nBaseExp * 36.0);
|
|
else if (nLevel == 7)
|
|
nExp = FloatToInt(nBaseExp * 28.0);
|
|
else if (nLevel == 8)
|
|
nExp = FloatToInt(nBaseExp * 24.0);
|
|
else if (nLevel == 9)
|
|
nExp = FloatToInt(nBaseExp * 18.0);
|
|
else if (nLevel == 10)
|
|
nExp = FloatToInt(nBaseExp * 15.0);
|
|
else if (nLevel == 11)
|
|
nExp = FloatToInt(nBaseExp * 11.0);
|
|
else if (nLevel == 12)
|
|
nExp = FloatToInt(nBaseExp * 8.0);
|
|
else if (nLevel == 13)
|
|
nExp = FloatToInt(nBaseExp * 6.5);
|
|
else if (nLevel == 14)
|
|
nExp = FloatToInt(nBaseExp * 4.6667);
|
|
else if (nLevel == 15)
|
|
nExp = FloatToInt(nBaseExp * 3.75);
|
|
else if (nLevel == 16)
|
|
nExp = FloatToInt(nBaseExp * 3.0);
|
|
else if (nLevel == 17)
|
|
nExp = FloatToInt(nBaseExp * 2.1267);
|
|
else if (nLevel == 18)
|
|
nExp = FloatToInt(nBaseExp * 1.5);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 12){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 5)
|
|
nExp = FloatToInt(nBaseExp * 60.0);
|
|
else if (nLevel == 6)
|
|
nExp = FloatToInt(nBaseExp * 48.0);
|
|
else if (nLevel == 7)
|
|
nExp = FloatToInt(nBaseExp * 42.0);
|
|
else if (nLevel == 8)
|
|
nExp = FloatToInt(nBaseExp * 32.0);
|
|
else if (nLevel == 9)
|
|
nExp = FloatToInt(nBaseExp * 27.0);
|
|
else if (nLevel == 10)
|
|
nExp = FloatToInt(nBaseExp * 20.0);
|
|
else if (nLevel == 11)
|
|
nExp = FloatToInt(nBaseExp * 16.5);
|
|
else if (nLevel == 12)
|
|
nExp = FloatToInt(nBaseExp * 12.0);
|
|
else if (nLevel == 13)
|
|
nExp = FloatToInt(nBaseExp * 8.6667);
|
|
else if (nLevel == 14)
|
|
nExp = FloatToInt(nBaseExp * 7.0);
|
|
else if (nLevel == 15)
|
|
nExp = FloatToInt(nBaseExp * 5.0);
|
|
else if (nLevel == 16)
|
|
nExp = FloatToInt(nBaseExp * 4.0);
|
|
else if (nLevel == 17)
|
|
nExp = FloatToInt(nBaseExp * 3.1867);
|
|
else if (nLevel == 18)
|
|
nExp = FloatToInt(nBaseExp * 2.25);
|
|
else if (nLevel == 19)
|
|
nExp = FloatToInt(nBaseExp * 1.5834);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 13){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 6)
|
|
nExp = FloatToInt(nBaseExp * 72.0);
|
|
else if (nLevel == 7)
|
|
nExp = FloatToInt(nBaseExp * 56.0);
|
|
else if (nLevel == 8)
|
|
nExp = FloatToInt(nBaseExp * 48.0);
|
|
else if (nLevel == 9)
|
|
nExp = FloatToInt(nBaseExp * 36.0);
|
|
else if (nLevel == 10)
|
|
nExp = FloatToInt(nBaseExp * 30.0);
|
|
else if (nLevel == 11)
|
|
nExp = FloatToInt(nBaseExp * 22.0);
|
|
else if (nLevel == 12)
|
|
nExp = FloatToInt(nBaseExp * 18.0);
|
|
else if (nLevel == 13)
|
|
nExp = FloatToInt(nBaseExp * 13.0);
|
|
else if (nLevel == 14)
|
|
nExp = FloatToInt(nBaseExp * 9.3334);
|
|
else if (nLevel == 15)
|
|
nExp = FloatToInt(nBaseExp * 7.5);
|
|
else if (nLevel == 16)
|
|
nExp = FloatToInt(nBaseExp * 5.3334);
|
|
else if (nLevel == 17)
|
|
nExp = FloatToInt(nBaseExp * 4.25);
|
|
else if (nLevel == 18)
|
|
nExp = FloatToInt(nBaseExp * 3.3767);
|
|
else if (nLevel == 19)
|
|
nExp = FloatToInt(nBaseExp * 2.3767);
|
|
else if (nLevel == 20)
|
|
nExp = FloatToInt(nBaseExp * 1.6667);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 14){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 7)
|
|
nExp = FloatToInt(nBaseExp * 84.0);
|
|
else if (nLevel == 8)
|
|
nExp = FloatToInt(nBaseExp * 64.0);
|
|
else if (nLevel == 9)
|
|
nExp = FloatToInt(nBaseExp * 60.0);
|
|
else if (nLevel == 10)
|
|
nExp = FloatToInt(nBaseExp * 40.0);
|
|
else if (nLevel == 11)
|
|
nExp = FloatToInt(nBaseExp * 33.0);
|
|
else if (nLevel == 12)
|
|
nExp = FloatToInt(nBaseExp * 24.0);
|
|
else if (nLevel == 13)
|
|
nExp = FloatToInt(nBaseExp * 19.5);
|
|
else if (nLevel == 14)
|
|
nExp = FloatToInt(nBaseExp * 14.0);
|
|
else if (nLevel == 15)
|
|
nExp = FloatToInt(nBaseExp * 10.0);
|
|
else if (nLevel == 16)
|
|
nExp = FloatToInt(nBaseExp * 8.0);
|
|
else if (nLevel == 17)
|
|
nExp = FloatToInt(nBaseExp * 5.6667);
|
|
else if (nLevel == 18)
|
|
nExp = FloatToInt(nBaseExp * 4.5);
|
|
else if (nLevel == 19)
|
|
nExp = FloatToInt(nBaseExp * 3.5634);
|
|
else if (nLevel == 20)
|
|
nExp = FloatToInt(nBaseExp * 2.5);
|
|
else if (nLevel == 21)
|
|
nExp = FloatToInt(nBaseExp * 1.74);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 15){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 8)
|
|
nExp = FloatToInt(nBaseExp * 96.0);
|
|
else if (nLevel == 9)
|
|
nExp = FloatToInt(nBaseExp * 72.0);
|
|
else if (nLevel == 10)
|
|
nExp = FloatToInt(nBaseExp * 60.0);
|
|
else if (nLevel == 11)
|
|
nExp = FloatToInt(nBaseExp * 44.0);
|
|
else if (nLevel == 12)
|
|
nExp = FloatToInt(nBaseExp * 36.0);
|
|
else if (nLevel == 13)
|
|
nExp = FloatToInt(nBaseExp * 26.0);
|
|
else if (nLevel == 14)
|
|
nExp = FloatToInt(nBaseExp * 21.0);
|
|
else if (nLevel == 15)
|
|
nExp = FloatToInt(nBaseExp * 15.0);
|
|
else if (nLevel == 16)
|
|
nExp = FloatToInt(nBaseExp * 10.6667);
|
|
else if (nLevel == 17)
|
|
nExp = FloatToInt(nBaseExp * 8.5);
|
|
else if (nLevel == 18)
|
|
nExp = FloatToInt(nBaseExp * 6.0);
|
|
else if (nLevel == 19)
|
|
nExp = FloatToInt(nBaseExp * 4.75);
|
|
else if (nLevel == 20)
|
|
nExp = FloatToInt(nBaseExp * 3.3334);
|
|
else if (nLevel == 21)
|
|
nExp = FloatToInt(nBaseExp * 2.6267);
|
|
else if (nLevel == 22)
|
|
nExp = FloatToInt(nBaseExp * 1.8333);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 16){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 9)
|
|
nExp = FloatToInt(nBaseExp * 108.0);
|
|
else if (nLevel == 10)
|
|
nExp = FloatToInt(nBaseExp * 80.0);
|
|
else if (nLevel == 11)
|
|
nExp = FloatToInt(nBaseExp * 66.0);
|
|
else if (nLevel == 12)
|
|
nExp = FloatToInt(nBaseExp * 48.0);
|
|
else if (nLevel == 13)
|
|
nExp = FloatToInt(nBaseExp * 39.0);
|
|
else if (nLevel == 14)
|
|
nExp = FloatToInt(nBaseExp * 28.0);
|
|
else if (nLevel == 15)
|
|
nExp = FloatToInt(nBaseExp * 22.5);
|
|
else if (nLevel == 16)
|
|
nExp = FloatToInt(nBaseExp * 16.0);
|
|
else if (nLevel == 17)
|
|
nExp = FloatToInt(nBaseExp * 11.3334);
|
|
else if (nLevel == 18)
|
|
nExp = FloatToInt(nBaseExp * 9.0);
|
|
else if (nLevel == 19)
|
|
nExp = FloatToInt(nBaseExp * 6.3334);
|
|
else if (nLevel == 20)
|
|
nExp = FloatToInt(nBaseExp * 5.0);
|
|
else if (nLevel == 21)
|
|
nExp = FloatToInt(nBaseExp * 3.5);
|
|
else if (nLevel == 22)
|
|
nExp = FloatToInt(nBaseExp * 2.75);
|
|
else if (nLevel == 23)
|
|
nExp = FloatToInt(nBaseExp * 1.1967);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 17){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 10)
|
|
nExp = FloatToInt(nBaseExp * 120.0);
|
|
else if (nLevel == 11)
|
|
nExp = FloatToInt(nBaseExp * 88.0);
|
|
else if (nLevel == 12)
|
|
nExp = FloatToInt(nBaseExp * 72.0);
|
|
else if (nLevel == 13)
|
|
nExp = FloatToInt(nBaseExp * 52.0);
|
|
else if (nLevel == 14)
|
|
nExp = FloatToInt(nBaseExp * 42.0);
|
|
else if (nLevel == 15)
|
|
nExp = FloatToInt(nBaseExp * 30.0);
|
|
else if (nLevel == 16)
|
|
nExp = FloatToInt(nBaseExp * 24.0);
|
|
else if (nLevel == 17)
|
|
nExp = FloatToInt(nBaseExp * 17.0);
|
|
else if (nLevel == 18)
|
|
nExp = FloatToInt(nBaseExp * 12.0);
|
|
else if (nLevel == 19)
|
|
nExp = FloatToInt(nBaseExp * 9.5);
|
|
else if (nLevel == 20)
|
|
nExp = FloatToInt(nBaseExp * 6.6667);
|
|
else if (nLevel == 21)
|
|
nExp = FloatToInt(nBaseExp * 5.25);
|
|
else if (nLevel == 22)
|
|
nExp = FloatToInt(nBaseExp * 3.6667);
|
|
else if (nLevel == 23)
|
|
nExp = FloatToInt(nBaseExp * 2.8767);
|
|
else if (nLevel == 24)
|
|
nExp = FloatToInt(nBaseExp * 2.0);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 18){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 11)
|
|
nExp = FloatToInt(nBaseExp * 132.0);
|
|
else if (nLevel == 12)
|
|
nExp = FloatToInt(nBaseExp * 96.0);
|
|
else if (nLevel == 13)
|
|
nExp = FloatToInt(nBaseExp * 78.0);
|
|
else if (nLevel == 14)
|
|
nExp = FloatToInt(nBaseExp * 60.0);
|
|
else if (nLevel == 15)
|
|
nExp = FloatToInt(nBaseExp * 45.0);
|
|
else if (nLevel == 16)
|
|
nExp = FloatToInt(nBaseExp * 32.0);
|
|
else if (nLevel == 17)
|
|
nExp = FloatToInt(nBaseExp * 25.5);
|
|
else if (nLevel == 18)
|
|
nExp = FloatToInt(nBaseExp * 18.0);
|
|
else if (nLevel == 19)
|
|
nExp = FloatToInt(nBaseExp * 12.6667);
|
|
else if (nLevel == 20)
|
|
nExp = FloatToInt(nBaseExp * 10.0);
|
|
else if (nLevel == 21)
|
|
nExp = FloatToInt(nBaseExp * 7.0);
|
|
else if (nLevel == 22)
|
|
nExp = FloatToInt(nBaseExp * 5.5);
|
|
else if (nLevel == 23)
|
|
nExp = FloatToInt(nBaseExp * 3.8333);
|
|
else if (nLevel == 24)
|
|
nExp = FloatToInt(nBaseExp * 3.0);
|
|
else if (nLevel == 25)
|
|
nExp = FloatToInt(nBaseExp * 2.0833);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 19){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 12)
|
|
nExp = FloatToInt(nBaseExp * 144.0);
|
|
else if (nLevel == 13)
|
|
nExp = FloatToInt(nBaseExp * 104.0);
|
|
else if (nLevel == 14)
|
|
nExp = FloatToInt(nBaseExp * 84.0);
|
|
else if (nLevel == 15)
|
|
nExp = FloatToInt(nBaseExp * 60.0);
|
|
else if (nLevel == 16)
|
|
nExp = FloatToInt(nBaseExp * 48.0);
|
|
else if (nLevel == 17)
|
|
nExp = FloatToInt(nBaseExp * 34.0);
|
|
else if (nLevel == 18)
|
|
nExp = FloatToInt(nBaseExp * 27.0);
|
|
else if (nLevel == 19)
|
|
nExp = FloatToInt(nBaseExp * 19.0);
|
|
else if (nLevel == 20)
|
|
nExp = FloatToInt(nBaseExp * 13.3334);
|
|
else if (nLevel == 21)
|
|
nExp = FloatToInt(nBaseExp * 10.5);
|
|
else if (nLevel == 22)
|
|
nExp = FloatToInt(nBaseExp * 7.3333);
|
|
else if (nLevel == 23)
|
|
nExp = FloatToInt(nBaseExp * 5.75);
|
|
else if (nLevel == 24)
|
|
nExp = FloatToInt(nBaseExp * 4.0);
|
|
else if (nLevel == 25)
|
|
nExp = FloatToInt(nBaseExp * 3.1267);
|
|
else if (nLevel == 26)
|
|
nExp = FloatToInt(nBaseExp * 2.1667);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 20){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 13)
|
|
nExp = FloatToInt(nBaseExp * 156.0);
|
|
else if (nLevel == 14)
|
|
nExp = FloatToInt(nBaseExp * 112.0);
|
|
else if (nLevel == 15)
|
|
nExp = FloatToInt(nBaseExp * 90.0);
|
|
else if (nLevel == 16)
|
|
nExp = FloatToInt(nBaseExp * 64.0);
|
|
else if (nLevel == 17)
|
|
nExp = FloatToInt(nBaseExp * 51.0);
|
|
else if (nLevel == 18)
|
|
nExp = FloatToInt(nBaseExp * 36.0);
|
|
else if (nLevel == 19)
|
|
nExp = FloatToInt(nBaseExp * 28.5);
|
|
else if (nLevel == 20)
|
|
nExp = FloatToInt(nBaseExp * 20.0);
|
|
else if (nLevel == 21)
|
|
nExp = FloatToInt(nBaseExp * 14.0);
|
|
else if (nLevel == 22)
|
|
nExp = FloatToInt(nBaseExp * 11.00);
|
|
else if (nLevel == 23)
|
|
nExp = FloatToInt(nBaseExp * 7.6667);
|
|
else if (nLevel == 24)
|
|
nExp = FloatToInt(nBaseExp * 6.0);
|
|
else if (nLevel == 25)
|
|
nExp = FloatToInt(nBaseExp * 4.1667);
|
|
else if (nLevel == 26)
|
|
nExp = FloatToInt(nBaseExp * 3.25);
|
|
else if (nLevel == 27)
|
|
nExp = FloatToInt(nBaseExp * 2.25);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 21){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 14)
|
|
nExp = FloatToInt(nBaseExp * 168.0);
|
|
else if (nLevel == 15)
|
|
nExp = FloatToInt(nBaseExp * 120.0);
|
|
else if (nLevel == 16)
|
|
nExp = FloatToInt(nBaseExp * 96.0);
|
|
else if (nLevel == 17)
|
|
nExp = FloatToInt(nBaseExp * 68.0);
|
|
else if (nLevel == 18)
|
|
nExp = FloatToInt(nBaseExp * 54.0);
|
|
else if (nLevel == 19)
|
|
nExp = FloatToInt(nBaseExp * 38.0);
|
|
else if (nLevel == 20)
|
|
nExp = FloatToInt(nBaseExp * 30.0);
|
|
else if (nLevel == 21)
|
|
nExp = FloatToInt(nBaseExp * 21.0);
|
|
else if (nLevel == 22)
|
|
nExp = FloatToInt(nBaseExp * 14.6667);
|
|
else if (nLevel == 23)
|
|
nExp = FloatToInt(nBaseExp * 11.5);
|
|
else if (nLevel == 24)
|
|
nExp = FloatToInt(nBaseExp * 7.6667);
|
|
else if (nLevel == 25)
|
|
nExp = FloatToInt(nBaseExp * 8.0);
|
|
else if (nLevel == 26)
|
|
nExp = FloatToInt(nBaseExp * 6.25);
|
|
else if (nLevel == 27)
|
|
nExp = FloatToInt(nBaseExp * 4.3333);
|
|
else if (nLevel == 28)
|
|
nExp = FloatToInt(nBaseExp * 3.3767);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 22){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 15)
|
|
nExp = FloatToInt(nBaseExp * 180.0);
|
|
else if (nLevel == 16)
|
|
nExp = FloatToInt(nBaseExp * 128.0);
|
|
else if (nLevel == 17)
|
|
nExp = FloatToInt(nBaseExp * 102.0);
|
|
else if (nLevel == 18)
|
|
nExp = FloatToInt(nBaseExp * 72.0);
|
|
else if (nLevel == 19)
|
|
nExp = FloatToInt(nBaseExp * 57.0);
|
|
else if (nLevel == 20)
|
|
nExp = FloatToInt(nBaseExp * 40.0);
|
|
else if (nLevel == 21)
|
|
nExp = FloatToInt(nBaseExp * 28.0); // Discrepency between DMG and ELHB
|
|
else if (nLevel == 22)
|
|
nExp = FloatToInt(nBaseExp * 22.0);
|
|
else if (nLevel == 23)
|
|
nExp = FloatToInt(nBaseExp * 15.3333);
|
|
else if (nLevel == 24)
|
|
nExp = FloatToInt(nBaseExp * 12.0);
|
|
else if (nLevel == 25)
|
|
nExp = FloatToInt(nBaseExp * 8.3333);
|
|
else if (nLevel == 26)
|
|
nExp = FloatToInt(nBaseExp * 6.5);
|
|
else if (nLevel == 27)
|
|
nExp = FloatToInt(nBaseExp * 4.5);
|
|
else if (nLevel == 28)
|
|
nExp = FloatToInt(nBaseExp * 3.5);
|
|
else if (nLevel == 29)
|
|
nExp = FloatToInt(nBaseExp * 2.4167);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 23){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 16)
|
|
nExp = FloatToInt(nBaseExp * 192.0);
|
|
else if (nLevel == 17)
|
|
nExp = FloatToInt(nBaseExp * 136.0);
|
|
else if (nLevel == 18)
|
|
nExp = FloatToInt(nBaseExp * 108.0);
|
|
else if (nLevel == 19)
|
|
nExp = FloatToInt(nBaseExp * 76.0);
|
|
else if (nLevel == 20)
|
|
nExp = FloatToInt(nBaseExp * 60.0);
|
|
else if (nLevel == 21)
|
|
nExp = FloatToInt(nBaseExp * 42.0);
|
|
else if (nLevel == 22)
|
|
nExp = FloatToInt(nBaseExp * 29.3333);
|
|
else if (nLevel == 23)
|
|
nExp = FloatToInt(nBaseExp * 23.0);
|
|
else if (nLevel == 24)
|
|
nExp = FloatToInt(nBaseExp * 16.0);
|
|
else if (nLevel == 25)
|
|
nExp = FloatToInt(nBaseExp * 12.5);
|
|
else if (nLevel == 26)
|
|
nExp = FloatToInt(nBaseExp * 8.6667);
|
|
else if (nLevel == 27)
|
|
nExp = FloatToInt(nBaseExp * 6.75);
|
|
else if (nLevel == 28)
|
|
nExp = FloatToInt(nBaseExp * 4.6667);
|
|
else if (nLevel == 29)
|
|
nExp = FloatToInt(nBaseExp * 3.6267);
|
|
else if (nLevel == 30)
|
|
nExp = FloatToInt(nBaseExp * 2.5);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 24){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 17)
|
|
nExp = FloatToInt(nBaseExp * 204.0);
|
|
else if (nLevel == 18)
|
|
nExp = FloatToInt(nBaseExp * 144.0);
|
|
else if (nLevel == 19)
|
|
nExp = FloatToInt(nBaseExp * 114.0);
|
|
else if (nLevel == 20)
|
|
nExp = FloatToInt(nBaseExp * 80.0);
|
|
else if (nLevel == 21)
|
|
nExp = FloatToInt(nBaseExp * 56.0); // Discrepency between DMG and ELHB
|
|
else if (nLevel == 22)
|
|
nExp = FloatToInt(nBaseExp * 44.0);
|
|
else if (nLevel == 23)
|
|
nExp = FloatToInt(nBaseExp * 30.6667);
|
|
else if (nLevel == 24)
|
|
nExp = FloatToInt(nBaseExp * 24.0);
|
|
else if (nLevel == 25)
|
|
nExp = FloatToInt(nBaseExp * 16.6667);
|
|
else if (nLevel == 26)
|
|
nExp = FloatToInt(nBaseExp * 13.0);
|
|
else if (nLevel == 27)
|
|
nExp = FloatToInt(nBaseExp * 9.0);
|
|
else if (nLevel == 28)
|
|
nExp = FloatToInt(nBaseExp * 7.0);
|
|
else if (nLevel == 29)
|
|
nExp = FloatToInt(nBaseExp * 4.8333);
|
|
else if (nLevel == 30)
|
|
nExp = FloatToInt(nBaseExp * 3.75);
|
|
else if (nLevel == 31)
|
|
nExp = FloatToInt(nBaseExp * 2.5833);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 25){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 18)
|
|
nExp = FloatToInt(nBaseExp * 216.0);
|
|
else if (nLevel == 19)
|
|
nExp = FloatToInt(nBaseExp * 152.0);
|
|
else if (nLevel == 20)
|
|
nExp = FloatToInt(nBaseExp * 120.0);
|
|
else if (nLevel == 21)
|
|
nExp = FloatToInt(nBaseExp * 84.0);
|
|
else if (nLevel == 22)
|
|
nExp = FloatToInt(nBaseExp * 58.6667);
|
|
else if (nLevel == 23)
|
|
nExp = FloatToInt(nBaseExp * 46.0);
|
|
else if (nLevel == 24)
|
|
nExp = FloatToInt(nBaseExp * 32.0);
|
|
else if (nLevel == 25)
|
|
nExp = FloatToInt(nBaseExp * 25.0);
|
|
else if (nLevel == 26)
|
|
nExp = FloatToInt(nBaseExp * 17.3333);
|
|
else if (nLevel == 27)
|
|
nExp = FloatToInt(nBaseExp * 13.5);
|
|
else if (nLevel == 28)
|
|
nExp = FloatToInt(nBaseExp * 9.3333);
|
|
else if (nLevel == 29)
|
|
nExp = FloatToInt(nBaseExp * 7.25);
|
|
else if (nLevel == 30)
|
|
nExp = FloatToInt(nBaseExp * 5.0);
|
|
else if (nLevel == 31)
|
|
nExp = FloatToInt(nBaseExp * 3.8767);
|
|
else if (nLevel == 32)
|
|
nExp = FloatToInt(nBaseExp * 2.6667);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 26){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 19)
|
|
nExp = FloatToInt(nBaseExp * 228.0);
|
|
else if (nLevel == 20)
|
|
nExp = FloatToInt(nBaseExp * 160.0);
|
|
else if (nLevel == 21)
|
|
nExp = FloatToInt(nBaseExp * 112.0); // Discrepency between DMG and ELHB
|
|
else if (nLevel == 22)
|
|
nExp = FloatToInt(nBaseExp * 88.0);
|
|
else if (nLevel == 23)
|
|
nExp = FloatToInt(nBaseExp * 61.3333);
|
|
else if (nLevel == 24)
|
|
nExp = FloatToInt(nBaseExp * 48.0);
|
|
else if (nLevel == 25)
|
|
nExp = FloatToInt(nBaseExp * 33.3333);
|
|
else if (nLevel == 26)
|
|
nExp = FloatToInt(nBaseExp * 26.0);
|
|
else if (nLevel == 27)
|
|
nExp = FloatToInt(nBaseExp * 18.0);
|
|
else if (nLevel == 28)
|
|
nExp = FloatToInt(nBaseExp * 14.0);
|
|
else if (nLevel == 29)
|
|
nExp = FloatToInt(nBaseExp * 9.6667);
|
|
else if (nLevel == 30)
|
|
nExp = FloatToInt(nBaseExp * 7.5);
|
|
else if (nLevel == 31)
|
|
nExp = FloatToInt(nBaseExp * 5.1667);
|
|
else if (nLevel == 32)
|
|
nExp = FloatToInt(nBaseExp * 4.0);
|
|
else if (nLevel == 33)
|
|
nExp = FloatToInt(nBaseExp * 2.75);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 27){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 20)
|
|
nExp = FloatToInt(nBaseExp * 240.0);
|
|
else if (nLevel == 21)
|
|
nExp = FloatToInt(nBaseExp * 168.0);
|
|
else if (nLevel == 22)
|
|
nExp = FloatToInt(nBaseExp * 117.3333);
|
|
else if (nLevel == 23)
|
|
nExp = FloatToInt(nBaseExp * 92.0);
|
|
else if (nLevel == 24)
|
|
nExp = FloatToInt(nBaseExp * 64.0);
|
|
else if (nLevel == 25)
|
|
nExp = FloatToInt(nBaseExp * 50.0);
|
|
else if (nLevel == 26)
|
|
nExp = FloatToInt(nBaseExp * 34.6667);
|
|
else if (nLevel == 27)
|
|
nExp = FloatToInt(nBaseExp * 27.0);
|
|
else if (nLevel == 28)
|
|
nExp = FloatToInt(nBaseExp * 18.6667);
|
|
else if (nLevel == 29)
|
|
nExp = FloatToInt(nBaseExp * 14.5);
|
|
else if (nLevel == 30)
|
|
nExp = FloatToInt(nBaseExp * 10.0);
|
|
else if (nLevel == 31)
|
|
nExp = FloatToInt(nBaseExp * 7.75);
|
|
else if (nLevel == 32)
|
|
nExp = FloatToInt(nBaseExp * 5.3333);
|
|
else if (nLevel == 33)
|
|
nExp = FloatToInt(nBaseExp * 4.1267);
|
|
else if (nLevel == 34)
|
|
nExp = FloatToInt(nBaseExp * 2.8333);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 28){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 21)
|
|
nExp = FloatToInt(nBaseExp * 224.0); // Discrepency between DMG and ELHB
|
|
else if (nLevel == 22)
|
|
nExp = FloatToInt(nBaseExp * 176.0);
|
|
else if (nLevel == 23)
|
|
nExp = FloatToInt(nBaseExp * 122.6667);
|
|
else if (nLevel == 24)
|
|
nExp = FloatToInt(nBaseExp * 96.0);
|
|
else if (nLevel == 25)
|
|
nExp = FloatToInt(nBaseExp * 66.6667);
|
|
else if (nLevel == 26)
|
|
nExp = FloatToInt(nBaseExp * 52.0);
|
|
else if (nLevel == 27)
|
|
nExp = FloatToInt(nBaseExp * 36.0);
|
|
else if (nLevel == 28)
|
|
nExp = FloatToInt(nBaseExp * 28.0);
|
|
else if (nLevel == 29)
|
|
nExp = FloatToInt(nBaseExp * 19.3333);
|
|
else if (nLevel == 30)
|
|
nExp = FloatToInt(nBaseExp * 15.0);
|
|
else if (nLevel == 31)
|
|
nExp = FloatToInt(nBaseExp * 10.3333);
|
|
else if (nLevel == 32)
|
|
nExp = FloatToInt(nBaseExp * 8.0);
|
|
else if (nLevel == 33)
|
|
nExp = FloatToInt(nBaseExp * 5.5);
|
|
else if (nLevel == 34)
|
|
nExp = FloatToInt(nBaseExp * 4.25);
|
|
else if (nLevel == 35)
|
|
nExp = FloatToInt(nBaseExp * 2.9167);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 29){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 22)
|
|
nExp = FloatToInt(nBaseExp * 234.6667);
|
|
else if (nLevel == 23)
|
|
nExp = FloatToInt(nBaseExp * 184.0);
|
|
else if (nLevel == 24)
|
|
nExp = FloatToInt(nBaseExp * 128.0);
|
|
else if (nLevel == 25)
|
|
nExp = FloatToInt(nBaseExp * 100.0);
|
|
else if (nLevel == 26)
|
|
nExp = FloatToInt(nBaseExp * 69.3333);
|
|
else if (nLevel == 27)
|
|
nExp = FloatToInt(nBaseExp * 54.0);
|
|
else if (nLevel == 28)
|
|
nExp = FloatToInt(nBaseExp * 37.3333);
|
|
else if (nLevel == 29)
|
|
nExp = FloatToInt(nBaseExp * 29.0);
|
|
else if (nLevel == 30)
|
|
nExp = FloatToInt(nBaseExp * 20.0);
|
|
else if (nLevel == 31)
|
|
nExp = FloatToInt(nBaseExp * 15.5);
|
|
else if (nLevel == 32)
|
|
nExp = FloatToInt(nBaseExp * 10.6667);
|
|
else if (nLevel == 33)
|
|
nExp = FloatToInt(nBaseExp * 8.25);
|
|
else if (nLevel == 34)
|
|
nExp = FloatToInt(nBaseExp * 5.6667);
|
|
else if (nLevel == 35)
|
|
nExp = FloatToInt(nBaseExp * 3.3767);
|
|
else if (nLevel == 36)
|
|
nExp = FloatToInt(nBaseExp * 3.0);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 30){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 23)
|
|
nExp = FloatToInt(nBaseExp * 245.3333);
|
|
else if (nLevel == 24)
|
|
nExp = FloatToInt(nBaseExp * 192.0);
|
|
else if (nLevel == 25)
|
|
nExp = FloatToInt(nBaseExp * 133.3333);
|
|
else if (nLevel == 26)
|
|
nExp = FloatToInt(nBaseExp * 104.0);
|
|
else if (nLevel == 27)
|
|
nExp = FloatToInt(nBaseExp * 72.0);
|
|
else if (nLevel == 28)
|
|
nExp = FloatToInt(nBaseExp * 56.0);
|
|
else if (nLevel == 29)
|
|
nExp = FloatToInt(nBaseExp * 38.6667);
|
|
else if (nLevel == 30)
|
|
nExp = FloatToInt(nBaseExp * 30.0);
|
|
else if (nLevel == 31)
|
|
nExp = FloatToInt(nBaseExp * 20.6667);
|
|
else if (nLevel == 32)
|
|
nExp = FloatToInt(nBaseExp * 16.0);
|
|
else if (nLevel == 33)
|
|
nExp = FloatToInt(nBaseExp * 11.0);
|
|
else if (nLevel == 34)
|
|
nExp = FloatToInt(nBaseExp * 8.5);
|
|
else if (nLevel == 35)
|
|
nExp = FloatToInt(nBaseExp * 5.8333);
|
|
else if (nLevel == 36)
|
|
nExp = FloatToInt(nBaseExp * 4.5);
|
|
else if (nLevel == 37)
|
|
nExp = FloatToInt(nBaseExp * 3.0833);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 31){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 24)
|
|
nExp = FloatToInt(nBaseExp * 256.00);
|
|
else if (nLevel == 25)
|
|
nExp = FloatToInt(nBaseExp * 200.0);
|
|
else if (nLevel == 26)
|
|
nExp = FloatToInt(nBaseExp * 138.6667);
|
|
else if (nLevel == 27)
|
|
nExp = FloatToInt(nBaseExp * 108.0);
|
|
else if (nLevel == 28)
|
|
nExp = FloatToInt(nBaseExp * 74.6667);
|
|
else if (nLevel == 29)
|
|
nExp = FloatToInt(nBaseExp * 58.0);
|
|
else if (nLevel == 30)
|
|
nExp = FloatToInt(nBaseExp * 40.0);
|
|
else if (nLevel == 31)
|
|
nExp = FloatToInt(nBaseExp * 31.0);
|
|
else if (nLevel == 32)
|
|
nExp = FloatToInt(nBaseExp * 21.3333);
|
|
else if (nLevel == 33)
|
|
nExp = FloatToInt(nBaseExp * 16.5);
|
|
else if (nLevel == 34)
|
|
nExp = FloatToInt(nBaseExp * 11.3333);
|
|
else if (nLevel == 35)
|
|
nExp = FloatToInt(nBaseExp * 8.75);
|
|
else if (nLevel == 36)
|
|
nExp = FloatToInt(nBaseExp * 6.0);
|
|
else if (nLevel == 37)
|
|
nExp = FloatToInt(nBaseExp * 4.6267);
|
|
else if (nLevel == 38)
|
|
nExp = FloatToInt(nBaseExp * 3.1667);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 32){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 25)
|
|
nExp = FloatToInt(nBaseExp * 266.6667);
|
|
else if (nLevel == 26)
|
|
nExp = FloatToInt(nBaseExp * 208.0);
|
|
else if (nLevel == 27)
|
|
nExp = FloatToInt(nBaseExp * 144.0);
|
|
else if (nLevel == 28)
|
|
nExp = FloatToInt(nBaseExp * 112.0);
|
|
else if (nLevel == 29)
|
|
nExp = FloatToInt(nBaseExp * 77.3333);
|
|
else if (nLevel == 30)
|
|
nExp = FloatToInt(nBaseExp * 60.0);
|
|
else if (nLevel == 31)
|
|
nExp = FloatToInt(nBaseExp * 41.3333);
|
|
else if (nLevel == 32)
|
|
nExp = FloatToInt(nBaseExp * 32.0);
|
|
else if (nLevel == 33)
|
|
nExp = FloatToInt(nBaseExp * 22.0);
|
|
else if (nLevel == 34)
|
|
nExp = FloatToInt(nBaseExp * 17.0);
|
|
else if (nLevel == 35)
|
|
nExp = FloatToInt(nBaseExp * 11.6667);
|
|
else if (nLevel == 36)
|
|
nExp = FloatToInt(nBaseExp * 9.0);
|
|
else if (nLevel == 37)
|
|
nExp = FloatToInt(nBaseExp * 6.1667);
|
|
else if (nLevel == 38)
|
|
nExp = FloatToInt(nBaseExp * 4.75);
|
|
else if (nLevel == 39)
|
|
nExp = FloatToInt(nBaseExp * 3.25);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 33){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 26)
|
|
nExp = FloatToInt(nBaseExp * 273.3333);
|
|
else if (nLevel == 27)
|
|
nExp = FloatToInt(nBaseExp * 216.0);
|
|
else if (nLevel == 28)
|
|
nExp = FloatToInt(nBaseExp * 149.3333);
|
|
else if (nLevel == 29)
|
|
nExp = FloatToInt(nBaseExp * 116.0);
|
|
else if (nLevel == 30)
|
|
nExp = FloatToInt(nBaseExp * 80.0);
|
|
else if (nLevel == 31)
|
|
nExp = FloatToInt(nBaseExp * 62.0);
|
|
else if (nLevel == 32)
|
|
nExp = FloatToInt(nBaseExp * 42.6667);
|
|
else if (nLevel == 33)
|
|
nExp = FloatToInt(nBaseExp * 33.0);
|
|
else if (nLevel == 34)
|
|
nExp = FloatToInt(nBaseExp * 22.6667);
|
|
else if (nLevel == 35)
|
|
nExp = FloatToInt(nBaseExp * 17.5);
|
|
else if (nLevel == 36)
|
|
nExp = FloatToInt(nBaseExp * 12.0);
|
|
else if (nLevel == 37)
|
|
nExp = FloatToInt(nBaseExp * 9.25);
|
|
else if (nLevel == 37)
|
|
nExp = FloatToInt(nBaseExp * 6.3333);
|
|
else if (nLevel == 38)
|
|
nExp = FloatToInt(nBaseExp * 4.8767);
|
|
else if (nLevel == 40)
|
|
nExp = FloatToInt(nBaseExp * 3.3333);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 34){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 27)
|
|
nExp = FloatToInt(nBaseExp * 288.0);
|
|
else if (nLevel == 28)
|
|
nExp = FloatToInt(nBaseExp * 224.0);
|
|
else if (nLevel == 29)
|
|
nExp = FloatToInt(nBaseExp * 154.66667);
|
|
else if (nLevel == 30)
|
|
nExp = FloatToInt(nBaseExp * 120.0);
|
|
else if (nLevel == 31)
|
|
nExp = FloatToInt(nBaseExp * 82.6667);
|
|
else if (nLevel == 32)
|
|
nExp = FloatToInt(nBaseExp * 64.0);
|
|
else if (nLevel == 33)
|
|
nExp = FloatToInt(nBaseExp * 44.0);
|
|
else if (nLevel == 34)
|
|
nExp = FloatToInt(nBaseExp * 34.0);
|
|
else if (nLevel == 35)
|
|
nExp = FloatToInt(nBaseExp * 23.3333);
|
|
else if (nLevel == 36)
|
|
nExp = FloatToInt(nBaseExp * 18.0);
|
|
else if (nLevel == 37)
|
|
nExp = FloatToInt(nBaseExp * 12.3333);
|
|
else if (nLevel == 38)
|
|
nExp = FloatToInt(nBaseExp * 9.5);
|
|
else if (nLevel == 39)
|
|
nExp = FloatToInt(nBaseExp * 6.5);
|
|
else if (nLevel == 40)
|
|
nExp = FloatToInt(nBaseExp * 5.0);
|
|
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 35){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 28)
|
|
nExp = FloatToInt(nBaseExp * 298.6667);
|
|
else if (nLevel == 29)
|
|
nExp = FloatToInt(nBaseExp * 232.0);
|
|
else if (nLevel == 30)
|
|
nExp = FloatToInt(nBaseExp * 160.0);
|
|
else if (nLevel == 31)
|
|
nExp = FloatToInt(nBaseExp * 124.0);
|
|
else if (nLevel == 32)
|
|
nExp = FloatToInt(nBaseExp * 85.333);
|
|
else if (nLevel == 33)
|
|
nExp = FloatToInt(nBaseExp * 66.0);
|
|
else if (nLevel == 34)
|
|
nExp = FloatToInt(nBaseExp * 45.3333);
|
|
else if (nLevel == 35)
|
|
nExp = FloatToInt(nBaseExp * 35.0);
|
|
else if (nLevel == 36)
|
|
nExp = FloatToInt(nBaseExp * 24.0);
|
|
else if (nLevel == 37)
|
|
nExp = FloatToInt(nBaseExp * 18.5);
|
|
else if (nLevel == 38)
|
|
nExp = FloatToInt(nBaseExp * 12.6667);
|
|
else if (nLevel == 39)
|
|
nExp = FloatToInt(nBaseExp * 9.75);
|
|
else if (nLevel == 40)
|
|
nExp = FloatToInt(nBaseExp * 6.6667);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 36){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 29)
|
|
nExp = FloatToInt(nBaseExp * 309.3333);
|
|
else if (nLevel == 30)
|
|
nExp = FloatToInt(nBaseExp * 240.0);
|
|
else if (nLevel == 31)
|
|
nExp = FloatToInt(nBaseExp * 165.3333);
|
|
else if (nLevel == 32)
|
|
nExp = FloatToInt(nBaseExp * 128.0);
|
|
else if (nLevel == 33)
|
|
nExp = FloatToInt(nBaseExp * 88.0);
|
|
else if (nLevel == 34)
|
|
nExp = FloatToInt(nBaseExp * 68.0);
|
|
else if (nLevel == 35)
|
|
nExp = FloatToInt(nBaseExp * 46.6667);
|
|
else if (nLevel == 36)
|
|
nExp = FloatToInt(nBaseExp * 36.0);
|
|
else if (nLevel == 37)
|
|
nExp = FloatToInt(nBaseExp * 24.6667);
|
|
else if (nLevel == 38)
|
|
nExp = FloatToInt(nBaseExp * 19.0);
|
|
else if (nLevel == 39)
|
|
nExp = FloatToInt(nBaseExp * 13.0);
|
|
else if (nLevel == 40)
|
|
nExp = FloatToInt(nBaseExp * 10.0);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 37){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 30)
|
|
nExp = FloatToInt(nBaseExp * 320.0);
|
|
else if (nLevel == 31)
|
|
nExp = FloatToInt(nBaseExp * 248.0);
|
|
else if (nLevel == 32)
|
|
nExp = FloatToInt(nBaseExp * 170.6667);
|
|
else if (nLevel == 33)
|
|
nExp = FloatToInt(nBaseExp * 132.0);
|
|
else if (nLevel == 34)
|
|
nExp = FloatToInt(nBaseExp * 90.6667);
|
|
else if (nLevel == 35)
|
|
nExp = FloatToInt(nBaseExp * 70.0);
|
|
else if (nLevel == 36)
|
|
nExp = FloatToInt(nBaseExp * 48.0);
|
|
else if (nLevel == 37)
|
|
nExp = FloatToInt(nBaseExp * 37.0);
|
|
else if (nLevel == 38)
|
|
nExp = FloatToInt(nBaseExp * 25.3333);
|
|
else if (nLevel == 39)
|
|
nExp = FloatToInt(nBaseExp * 19.5);
|
|
else if (nLevel == 40)
|
|
nExp = FloatToInt(nBaseExp * 13.3333);
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 38){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 31)
|
|
nExp = FloatToInt(nBaseExp * 330.6667);
|
|
else if (nLevel == 32)
|
|
nExp = FloatToInt(nBaseExp * 256.0);
|
|
else if (nLevel == 33)
|
|
nExp = FloatToInt(nBaseExp * 176.0);
|
|
else if (nLevel == 34)
|
|
nExp = FloatToInt(nBaseExp * 136.0);
|
|
else if (nLevel == 35)
|
|
nExp = FloatToInt(nBaseExp * 93.3333);
|
|
else if (nLevel == 36)
|
|
nExp = FloatToInt(nBaseExp * 72.0);
|
|
else if (nLevel == 37)
|
|
nExp = FloatToInt(nBaseExp * 49.3333);
|
|
else if (nLevel == 38)
|
|
nExp = FloatToInt(nBaseExp * 38.0);
|
|
else if (nLevel == 39)
|
|
nExp = FloatToInt(nBaseExp * 26.0);
|
|
else if (nLevel == 40)
|
|
nExp = FloatToInt(nBaseExp * 20.0);
|
|
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 39){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 32)
|
|
nExp = FloatToInt(nBaseExp * 341.3333);
|
|
else if (nLevel == 33)
|
|
nExp = FloatToInt(nBaseExp * 264.0);
|
|
else if (nLevel == 34)
|
|
nExp = FloatToInt(nBaseExp * 181.3333);
|
|
else if (nLevel == 35)
|
|
nExp = FloatToInt(nBaseExp * 140.0);
|
|
else if (nLevel == 36)
|
|
nExp = FloatToInt(nBaseExp * 96.0);
|
|
else if (nLevel == 37)
|
|
nExp = FloatToInt(nBaseExp * 74.0);
|
|
else if (nLevel == 38)
|
|
nExp = FloatToInt(nBaseExp * 50.6667);
|
|
else if (nLevel == 39)
|
|
nExp = FloatToInt(nBaseExp * 39.0);
|
|
else if (nLevel == 40)
|
|
nExp = FloatToInt(nBaseExp * 26.6667);
|
|
|
|
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR == 40){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 33)
|
|
nExp = FloatToInt(nBaseExp * 352.0);
|
|
else if (nLevel == 34)
|
|
nExp = FloatToInt(nBaseExp * 272.0);
|
|
else if (nLevel == 35)
|
|
nExp = FloatToInt(nBaseExp * 186.6667);
|
|
else if (nLevel == 36)
|
|
nExp = FloatToInt(nBaseExp * 144.0);
|
|
else if (nLevel == 37)
|
|
nExp = FloatToInt(nBaseExp * 98.6667);
|
|
else if (nLevel == 38)
|
|
nExp = FloatToInt(nBaseExp * 76.0);
|
|
else if (nLevel == 39)
|
|
nExp = FloatToInt(nBaseExp * 52.0);
|
|
else if (nLevel == 40)
|
|
nExp = FloatToInt(nBaseExp * 40.0);
|
|
|
|
|
|
else nExp = 0;
|
|
}
|
|
|
|
|
|
else if (nCR > 40 && IntToFloat(nCR)/2.0 != IntToFloat(nCR/2)){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 32)
|
|
nExp = FloatToInt((nBaseExp * 341.3333) * fPow);
|
|
else if (nLevel == 33)
|
|
nExp = FloatToInt((nBaseExp * 264.0) * fPow);
|
|
else if (nLevel == 34)
|
|
nExp = FloatToInt((nBaseExp * 181.3333) * fPow);
|
|
else if (nLevel == 35)
|
|
nExp = FloatToInt((nBaseExp * 140.0) * fPow);
|
|
else if (nLevel == 36)
|
|
nExp = FloatToInt((nBaseExp * 96.0) * fPow);
|
|
else if (nLevel == 37)
|
|
nExp = FloatToInt((nBaseExp * 74.0) * fPow);
|
|
else if (nLevel == 38)
|
|
nExp = FloatToInt((nBaseExp * 50.6667) * fPow);
|
|
else if (nLevel == 39)
|
|
nExp = FloatToInt((nBaseExp * 39.0) * fPow);
|
|
else if (nLevel == 40)
|
|
nExp = FloatToInt((nBaseExp * 26.6667) * fPow);
|
|
|
|
|
|
else nExp = 0;
|
|
}
|
|
else if (nCR > 40){
|
|
if (nLevel >= 1 &&
|
|
nLevel <= 33)
|
|
nExp = FloatToInt((nBaseExp * 352.0) * fPow);
|
|
else if (nLevel == 34)
|
|
nExp = FloatToInt((nBaseExp * 272.0) * fPow);
|
|
else if (nLevel == 35)
|
|
nExp = FloatToInt((nBaseExp * 186.6667) * fPow);
|
|
else if (nLevel == 36)
|
|
nExp = FloatToInt((nBaseExp * 144.0) * fPow);
|
|
else if (nLevel == 37)
|
|
nExp = FloatToInt((nBaseExp * 98.6667) * fPow);
|
|
else if (nLevel == 38)
|
|
nExp = FloatToInt((nBaseExp * 76.0) * fPow);
|
|
else if (nLevel == 39)
|
|
nExp = FloatToInt((nBaseExp * 52.0) * fPow);
|
|
else if (nLevel == 40)
|
|
nExp = FloatToInt((nBaseExp * 40.0) * fPow);
|
|
|
|
|
|
else nExp = 0;
|
|
}
|
|
else nExp = 0;
|
|
|
|
return nExp;
|
|
}
|
|
//::////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
// I took this out of the default death script (nw_c2_default7) so that it would
|
|
// exist in one central location accessible from custom death scripts. --TK
|
|
|
|
void AwardKillXP(object oKiller)
|
|
{
|
|
object oMod = GetModule();
|
|
// Declare major variables for XP Gen.
|
|
object oPC;
|
|
object oHench;
|
|
int bIsDm;
|
|
int nAdd;
|
|
int nPCHD;
|
|
int nHenHD;
|
|
int nMonsterXP;
|
|
int nPartyMembers;
|
|
int nPartyLevelSum;
|
|
int nHenchmen = 0;
|
|
int nHighLevel = 0;
|
|
|
|
// If XP System is turned off. Dont generate any XP.
|
|
if (!GetLocalInt(oMod, "HCREXP")) { return; }
|
|
|
|
// Dont give XP if killer was a DM.
|
|
if (GetIsDM(oKiller)) { return; }
|
|
|
|
// Dont give XP for Summoned Creatures, Animal Companions or Familiars.
|
|
object oMaster = GetMaster();
|
|
if (GetIsObjectValid(oMaster))
|
|
{
|
|
object oAni = GetAssociate(ASSOCIATE_TYPE_ANIMALCOMPANION, oMaster);
|
|
if (oAni == OBJECT_SELF) { return; }
|
|
object oFam = GetAssociate(ASSOCIATE_TYPE_FAMILIAR, oMaster);
|
|
if (oFam == OBJECT_SELF) { return; }
|
|
object oSum = GetAssociate(ASSOCIATE_TYPE_SUMMONED, oMaster);
|
|
if (oSum == OBJECT_SELF) { return; }
|
|
}
|
|
|
|
// If tag has "_NXP", then dont give XP.
|
|
if (FindSubString(GetTag(OBJECT_SELF), "_NXP") > -1)
|
|
{
|
|
SendMessageToPC(oKiller, "You gain no experience from this kill!");
|
|
return;
|
|
}
|
|
|
|
// Search through all PC faction members.
|
|
oPC = GetFirstFactionMember(oKiller);
|
|
while (GetIsObjectValid(oPC))
|
|
{
|
|
// Advance the party count.
|
|
nPartyMembers++;
|
|
|
|
// If not a DM. Check for Henchmen.
|
|
bIsDm = GetIsDM(oPC);
|
|
if (!bIsDm)
|
|
{
|
|
oHench = GetHenchman(oPC);
|
|
while (GetIsObjectValid(oHench))
|
|
{
|
|
nHenchmen++;
|
|
nPartyMembers++;
|
|
nHenHD = GetHitDice(oHench);
|
|
nPartyLevelSum += nHenHD;
|
|
if (nHenHD > nHighLevel)
|
|
{ nHighLevel = nHenHD; }
|
|
oHench = GetHenchman(oHench);
|
|
}
|
|
}
|
|
|
|
// Adjust levels if they are more than 4 apart.
|
|
nAdd = 0;
|
|
nPCHD = GetHitDice(oPC);
|
|
if (nPCHD > nHighLevel)
|
|
{ nHighLevel = nPCHD; }
|
|
else if ((nHighLevel - nPCHD) > 4)
|
|
{ nAdd = nHighLevel; }
|
|
|
|
if (bIsDm)
|
|
{ nPartyMembers--; }
|
|
else if (nAdd == 0)
|
|
{ nPartyLevelSum += nPCHD; }
|
|
else
|
|
{ nPartyLevelSum += nAdd; }
|
|
|
|
oPC = GetNextFactionMember(oKiller);
|
|
}
|
|
|
|
// If no PC's was found, exit out.
|
|
if (nPartyMembers == 0) { return; }
|
|
|
|
// Compute XP based on average party level and monster CR using the XP table.
|
|
// Note: Bonus XP is added AFTER the XP is computed from the table.
|
|
int nBaseExp = GetLocalInt(oMod, "BASEXP");
|
|
float fCR = GetChallengeRating(OBJECT_SELF);
|
|
float fPLAvg = (IntToFloat(nPartyLevelSum)/IntToFloat(nPartyMembers));
|
|
int nLevel = FloatToInt(fPLAvg);
|
|
nMonsterXP = UseXPTable(nBaseExp, fCR, nLevel);
|
|
nMonsterXP += GetLocalInt(oMod, "BONUSXP");
|
|
int nCharXP = (nMonsterXP/nPartyMembers);
|
|
|
|
// If CR is less than 1, multiply XP by CR.
|
|
if (fCR < 1.0)
|
|
{ nCharXP = FloatToInt(nCharXP * fCR); }
|
|
|
|
// HCR - Fix for henchmen getting only 3/4 xp for kills rest goes to party.
|
|
if (nHenchmen > 0)
|
|
{
|
|
int nHenchmenbonus = ((nCharXP*nHenchmen)/8) / (nPartyMembers-nHenchmen);
|
|
nCharXP = nCharXP + nHenchmenbonus;
|
|
}
|
|
|
|
// Loop through the faction again, this time to give out the adjusted XP.
|
|
object oMyArea = GetArea(OBJECT_SELF);
|
|
int bLvlTrain = GetLocalInt(oMod, "LEVELTRAINER");
|
|
int bSubraces = GetLocalInt(oMod, "SUBRACES");
|
|
int nHenchmenbonus;
|
|
int nSCharXP;
|
|
int nCR;
|
|
|
|
oPC = GetFirstFactionMember(oKiller);
|
|
while (GetIsObjectValid(oPC))
|
|
{
|
|
if (!GetIsDM(oPC) && oMyArea == GetArea(oPC))
|
|
{
|
|
// Discourages grouping of higher levels with lower levels to get XP.
|
|
nLevel = GetHitDice(oPC);
|
|
nMonsterXP = UseXPTable(nBaseExp, fCR, nLevel);
|
|
nMonsterXP += GetLocalInt(oMod, "BONUSXP");
|
|
nSCharXP = nMonsterXP / nPartyMembers;
|
|
|
|
// If CR is less than 1, multiply XP by CR.
|
|
if (fCR < 1.0)
|
|
{ nSCharXP = FloatToInt(nSCharXP * fCR); }
|
|
|
|
// Fix for henchmen getting only 3/4 xp for kills rest goes to party.
|
|
if (nHenchmen > 0)
|
|
{
|
|
nHenchmenbonus = ((nSCharXP*nHenchmen)/8)/(nPartyMembers-nHenchmen);
|
|
nSCharXP = (nSCharXP + nHenchmenbonus);
|
|
}
|
|
|
|
// Party XP should never be more than Single XP.
|
|
if (nCharXP > nSCharXP && nPartyMembers > 1)
|
|
{ nCharXP = nSCharXP; }
|
|
|
|
// Should never get XP if 8+ CR levels above CR.
|
|
nCR = 0;
|
|
if (fCR < 1.0)
|
|
{ nCR = 1; }
|
|
else
|
|
{ nCR = FloatToInt(fCR); }
|
|
|
|
if ((GetHitDice(oPC) - nCR) >= (8 + nCR))
|
|
{ nCharXP = 0; }
|
|
|
|
int nCurLvl = GetHitDice(oPC);
|
|
string sID = GetName(oPC) + GetPCPlayerName(oPC);
|
|
int nExpPen = GetLocalInt(oMod, "REZPEN" + sID);
|
|
int nNxtLvl = ((((nCurLvl + 1) * nCurLvl) / 2 * 1000) - 1);
|
|
|
|
// Adjust experience by ECL if using the CRR subrace system.
|
|
if (bSubraces)
|
|
{ nCharXP = crr_SubraceHCR_XPbyECL(oPC, nCharXP); }
|
|
|
|
int nXP = GetXP(oPC);
|
|
if (!bLvlTrain)
|
|
{
|
|
if (nCharXP > 0)
|
|
{ GiveXPToCreature(oPC, nCharXP); }
|
|
else
|
|
{
|
|
if (nPartyMembers == 1)
|
|
{ SendMessageToPC(oPC, "You learn nothing from this kill. You are too far advanced in level."); }
|
|
else
|
|
{ SendMessageToPC(oPC, "You learn nothing from this kill. Your party is too far advanced in level."); }
|
|
}
|
|
}
|
|
else if (nExpPen)
|
|
{
|
|
if (nCharXP > nExpPen)
|
|
{
|
|
SendMessageToPC(oPC, "You have paid off your exp penalty.");
|
|
DeleteLocalInt(oMod, "REZPEN" + sID);
|
|
}
|
|
else
|
|
{
|
|
nExpPen = (nExpPen - nCharXP);
|
|
SendMessageToPC(oPC, "Remaining exp penalty is: " + IntToString(nExpPen));
|
|
SetLocalInt(oMod, "REZPEN" + sID, nExpPen);
|
|
}
|
|
}
|
|
else if ((nXP + nCharXP) > nNxtLvl)
|
|
{
|
|
if (nNxtLvl <= GetXP(oPC))
|
|
{ SendMessageToPC(oPC, "You learn nothing from this kill. Perhaps you should seek out training."); }
|
|
else
|
|
{
|
|
SetXP(oPC, nNxtLvl);
|
|
SendMessageToPC(oPC, "You learn little from this kill. Perhaps you should seek out training.");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (nCharXP > 0)
|
|
{ GiveXPToCreature(oPC, nCharXP); }
|
|
else
|
|
{
|
|
if (nPartyMembers == 1)
|
|
{ SendMessageToPC(oPC, "You learn nothing from this kill. You are too far advanced in level."); }
|
|
else
|
|
{ SendMessageToPC(oPC, "You learn nothing from this kill. Your party is too far advanced in level."); }
|
|
}
|
|
}
|
|
}
|
|
oPC = GetNextFactionMember(oKiller);
|
|
}
|
|
}
|
|
|