Golem1988 Posted September 7, 2012 Posted September 7, 2012 (edited) Requesting to add this in SVN, cause it's workingg properly now. (I have no idea how to add this by myself ) Edit: party.c changed this: /** * 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; } to this, to get correctly working exp gain (official table): /** * 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 ) - 10 ); //-11 ~ -15: -5% boost for each starting with 140% else if( diff >= -15 && diff <= -11 ) boost = 200 - (( -diff * 5 ) + 10 ); // 40% boost if difference is < -15 else if ( diff < -15 ) 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; } Changed: boost = 100 + (( -diff * 5 ) - 15); to boost = 100 + (( -diff * 5 ) - 10 ); and else if ( diff <= -10 ) to else if ( diff < -15 ) Added: //-11 ~ -15: -5% boost for each starting with 140% else if( diff >= -15 && diff <= -11 ) boost = 200 - (( -diff * 5 ) + 10 ); Changes were made according to iRO wiki table, can be found here: http://irowiki.org/wiki/Experience Testing my formulas: lvl difference: player is 15 lvl lower than mob: boost = 200 - (( -(-15) * 5 ) + 10 ) = 200 - (75 + 10)= 200 - 85 = 115% (checking iRO wiki= 115% for 15 lvl) player is 14 lvl lower than mob: boost = 200 - (( -(-14) * 5 ) + 10 ) = 200 - (70 + 10)= 200 - 80 = 120% (checking iRO wiki= 120% for 14 lvl) player is 13 lvl lower than mob: boost = 200 - (( -(-13) * 5 ) + 10 ) = 200 - (65 + 10)= 200 - 75 = 125% (checking iRO wiki= 125% for 13 lvl) player is 12 lvl lower than mob: boost = 200 - (( -(-12) * 5 ) + 10 ) = 200 - (60 + 10)= 200 - 70 = 130% (checking iRO wiki= 130% for 12 lvl) player is 11 lvl lower than mob: boost = 200 - (( -(-11) * 5 ) + 10 ) = 200 - (55 + 10)= 200 - 65 = 135% (checking iRO wiki= 135% for 11 lvl) Edited September 8, 2012 by Golem1988 Quote
Emistry Posted September 9, 2012 Posted September 9, 2012 Please re-edit your post....this section only allow release through diff file or attachments... cannot release anything with the usage of codebox / code tag ..... if you want request this to add in rAthena..then try here.. http://rathena.org/board/forum/16-rathena-development/ Quote
Golem1988 Posted September 9, 2012 Author Posted September 9, 2012 Please re-edit your post....this section only allow release through diff file or attachments... cannot release anything with the usage of codebox / code tag ..... if you want request this to add in rAthena..then try here.. http://rathena.org/b...na-development/ I have no idea how to make a diff file Thatswhy I'm requesting someone to do this okay, will try to add this code to developement... Anyway thanks for answer Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.