Jump to content
  • 0

Question

Posted (edited)

Ive read that when ur 15 lvls different (say ur 70, killing a 85 mob would be best) someone said it would be in pc.c but im not too sure which i gotta change to edit the lvl difference?

if anyone has done something like this, thanks.

Josh

Edited by DarkWhoteva

11 answers to this question

Recommended Posts

Posted

src/map/party.c

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;
}

The `boost' variable will carry the experience bonus.

So, if you're lv 70 and killed a mob lv 80, you get 40% extra exp.

Which is calculated by this line:

    else if ( diff <= -10 )
       boost = 40;

Posted (edited)

src/map/party.c

...

The `boost' variable will carry the experience bonus.

So, if you're lv 70 and killed a mob lv 80, you get 40% extra exp.

Which is calculated by this line:

	else if ( diff <= -10 )
	boost = 40;

and the 15 level difference bonus?

where can i find it?

#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

http://rode-r.doddlercon.com/viewpage/d/3

Edited by Snoozel

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...