Jump to content
  • 0

Where can I find the line for exp in src file?


Meister

Question


  • Group:  Members
  • Topic Count:  280
  • Topics Per Day:  0.06
  • Content Count:  841
  • Reputation:   17
  • Joined:  04/16/12
  • Last Seen:  

Cause I want to have a fix exp value for lvl 140-150. Where can I find it? Thanks.

Link to comment
Share on other sites

4 answers to this question

Recommended Posts


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10018
  • Reputation:   2371
  • Joined:  10/28/11
  • Last Seen:  

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  280
  • Topics Per Day:  0.06
  • Content Count:  841
  • Reputation:   17
  • Joined:  04/16/12
  • Last Seen:  

No. what i mean the source file. where.. if the player is 140 above their exp gain will automatically multiplied by 25x .. not on the exp tables..

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10018
  • Reputation:   2371
  • Joined:  10/28/11
  • Last Seen:  

you mean this ?

trunk/src/map/party.c

#ifdef RENEWAL_EXP
/**
* Renewal Experience Earning Mode
**/
void party_renewal_exp_mod(unsigned int *base_exp, unsigned int *job_exp, int lvl, int moblvl) {
int diff = lvl - moblvl, boost = 0;
//-2 ~ +5: 100%
if( diff >= -2 && diff <= 5 )
 return;//we don't change anything, it's 100% boost
//-3 ~ -10: +5% boost for each
if( diff >= -10 && diff <= -3 )
 boost = 100 + (( -diff * 5 ) - 15 );
// 40% boost if difference is <= -10
else if ( diff <= -10 )
 boost = 40;
else {
 boost = ( diff > 5 && diff < 11 ) ? 95 :
   ( diff > 10 && diff < 16 ) ? 90 :
   ( diff > 15 && diff < 21 ) ? 85 :
   ( diff > 20 && diff < 26 ) ? 60 :
   ( diff > 25 && diff < 31 ) ? 35 :
   10;
}
if( *base_exp )
 *base_exp = (unsigned int)cap_value(*base_exp * boost / 100, 1, UINT_MAX);
if( *job_exp )
 *job_exp  = (unsigned int)cap_value(*job_exp  * boost / 100, 1, UINT_MAX);
return;
}
#endif

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  280
  • Topics Per Day:  0.06
  • Content Count:  841
  • Reputation:   17
  • Joined:  04/16/12
  • Last Seen:  

you mean this ?

trunk/src/map/party.c

#ifdef RENEWAL_EXP
/**
* Renewal Experience Earning Mode
**/
void party_renewal_exp_mod(unsigned int *base_exp, unsigned int *job_exp, int lvl, int moblvl) {
int diff = lvl - moblvl, boost = 0;
//-2 ~ +5: 100%
if( diff >= -2 && diff <= 5 )
 return;//we don't change anything, it's 100% boost
//-3 ~ -10: +5% boost for each
if( diff >= -10 && diff <= -3 )
 boost = 100 + (( -diff * 5 ) - 15 );
// 40% boost if difference is <= -10
else if ( diff <= -10 )
 boost = 40;
else {
 boost = ( diff > 5 && diff < 11 ) ? 95 :
( diff > 10 && diff < 16 ) ? 90 :
( diff > 15 && diff < 21 ) ? 85 :
( diff > 20 && diff < 26 ) ? 60 :
( diff > 25 && diff < 31 ) ? 35 :
10;
}
if( *base_exp )
 *base_exp = (unsigned int)cap_value(*base_exp * boost / 100, 1, UINT_MAX);
if( *job_exp )
 *job_exp  = (unsigned int)cap_value(*job_exp  * boost / 100, 1, UINT_MAX);
return;
}
#endif

This is it. I thought this is only for party :(

How to let 140 not receive exp?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...