int32 Client::CalcCR() { //racial bases switch(GetBaseRace()) { case HUMAN: CR = 25; break; case BARBARIAN: CR = 35; break; case ERUDITE: CR = 25; break; case WOOD_ELF: CR = 25; break; case HIGH_ELF: CR = 25; break; case DARK_ELF: CR = 25; break; case HALF_ELF: CR = 25; break; case DWARF: CR = 25; break; case TROLL: CR = 25; break; case OGRE: CR = 25; break; case HALFLING: CR = 25; break; case GNOME: CR = 25; break; case IKSAR: CR = 15; break; case VAHSHIR: CR = 25; break; case FROGLOK: CR = 25; break; case DRAKKIN: CR = 25; break; default: CR = 25; } int c = GetClass(); if(c == RANGER) { CR += 4; int l = GetLevel(); if(l > 49) CR += l - 49; } CR += itembonuses.CR + spellbonuses.CR + aabonuses.CR; if(CR < 1) CR = 1; if(CR > GetMaxCR()) CR = GetMaxCR(); return(CR); }
int32 Client::CalcCR() { //racial bases switch (GetBaseRace()) { case HUMAN: CR = 25; break; case BARBARIAN: CR = 35; break; case ERUDITE: CR = 25; break; case WOOD_ELF: CR = 25; break; case HIGH_ELF: CR = 25; break; case DARK_ELF: CR = 25; break; case HALF_ELF: CR = 25; break; case DWARF: CR = 25; break; case TROLL: CR = 25; break; case OGRE: CR = 25; break; case HALFLING: CR = 25; break; case GNOME: CR = 25; break; case IKSAR: CR = 15; break; case VAHSHIR: CR = 25; break; case FROGLOK: CR = 25; break; case DRAKKIN: { CR = 25; if (GetDrakkinHeritage() == 4) CR += 10; else if (GetDrakkinHeritage() == 5) CR += 2; break; } default: CR = 25; } int c = GetClass(); if (c == RANGER || c == BEASTLORD) { CR += 4; int l = GetLevel(); if (l > 49) { CR += l - 49; } } CR += itembonuses.CR + spellbonuses.CR + aabonuses.CR; if (CR < 1) { CR = 1; } if (CR > GetMaxCR()) { CR = GetMaxCR(); } return (CR); }