Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #3  
Old 06-01-2008, 04:09 AM
AndMetal
Developer
 
Join Date: Mar 2007
Location: Ohio
Posts: 648
Default

This information can also be found in the wiki & inferred from the source:
Code:
   29 //experience modifiers based on race and class, used if USE_RACE_CLASS_XP_MODS is defined
   30 //                            hum     bar     eru     elf     hie     def     hef     dwa     tro     ogr     hal    gno     iks,    vah     frog
   31 float  race_modifiers[15] = { 100.0f, 105.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 100.0f, 120.0f, 115.0f, 95.0f, 100.0f, 120.0f, 100.0f, 100.0f}; // Quagmire - Guessed on iks and vah
   32 
   33 //                            war   cle    pal    ran    shd    dru    mnk    brd    rog    shm    nec    wiz    mag    enc    bst    bes
   34 float class_modifiers[16] = { 9.0f, 10.0f, 14.0f, 14.0f, 14.0f, 10.0f, 12.0f, 14.0f, 9.05f, 10.0f, 11.0f, 11.0f, 11.0f, 11.0f, 10.0f, 10.0f};

  327 uint32 Client::GetEXPForLevel(int16 check_level)
  328 {
  329 
  330 	int16 check_levelm1 = check_level-1;
  331 	float mod;
  332 	if (check_level < 31)
  333 		mod = 1.0;
  334 	else if (check_level < 36)
  335 		mod = 1.1;
  336 	else if (check_level < 41)
  337 		mod = 1.2;
  338 	else if (check_level < 46)
  339 		mod = 1.3;
  340 	else if (check_level < 52)
  341 		mod = 1.4;
  342 	else if (check_level < 53)
  343 		mod = 1.5;
  344 	else if (check_level < 54)
  345 		mod = 1.6;
  346 	else if (check_level < 55)
  347 		mod = 1.7;
  348 	else if (check_level < 56)
  349 		mod = 1.9;
  350 	else if (check_level < 57)
  351 		mod = 2.1;
  352 	else if (check_level < 58)
  353 		mod = 2.3;
  354 	else if (check_level < 59)
  355 		mod = 2.5;
  356 	else if (check_level < 60)
  357 		mod = 2.7;
  358 	else if (check_level < 61)
  359 		mod = 3.0;
  360 	else
  361 		mod = 3.1;
  362 
  363 	float base = (check_levelm1)*(check_levelm1)*(check_levelm1);
  364 
  365 #ifdef USE_RACE_CLASS_XP_MODS
  366 	int16 tmprace = GetBaseRace();
  367 	if (tmprace == IKSAR) // Quagmire, set these up so they read from array right
  368 		tmprace = 12;
  369 	else if (tmprace == VAHSHIR)
  370 		tmprace = 13;
  371 	else if ((tmprace == FROGLOK) || (tmprace == FROGLOK2))
  372 		tmprace = 14;
  373 	else
  374 		tmprace--;
  375 
  376 	if (tmprace >= sizeof(race_modifiers) || GetClass() < 1 || GetClass() - 1 >= PLAYER_CLASS_COUNT)
  377 		return 0xFFFFFFFF;
  378 
  379 	mod *= class_modifiers[GetClass()-1]*race_modifiers[tmprace];
  380 #else
  381 	mod *= 1000;
  382 #endif
  383 
  384 	return(uint32(base * mod));
  385 }
The bigger question you're going to need to ask is what also modifies experience requirements (class and race mainly).

In any case, hope this helps.
__________________
GM-Impossible of 'A work in progress'
A non-legit PEQ DB server
How to create your own non-legit server

My Contributions to the Wiki
Reply With Quote
 

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 12:04 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3