Golem1988 Posted September 7, 2012 Group: Members Topic Count: 57 Topics Per Day: 0.01 Content Count: 162 Reputation: 1 Joined: 08/08/12 Last Seen: December 10, 2023 Share 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 Link to comment Share on other sites More sharing options...
Golem1988 Posted September 9, 2012 Group: Members Topic Count: 57 Topics Per Day: 0.01 Content Count: 162 Reputation: 1 Joined: 08/08/12 Last Seen: December 10, 2023 Author Share Posted September 9, 2012 any comments? Quote Link to comment Share on other sites More sharing options...
Emistry Posted September 9, 2012 Group: Forum Moderator Topic Count: 93 Topics Per Day: 0.02 Content Count: 10018 Reputation: 2369 Joined: 10/28/11 Last Seen: Sunday at 05:32 PM Share 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 Link to comment Share on other sites More sharing options...
Golem1988 Posted September 9, 2012 Group: Members Topic Count: 57 Topics Per Day: 0.01 Content Count: 162 Reputation: 1 Joined: 08/08/12 Last Seen: December 10, 2023 Author Share 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 Link to comment Share on other sites More sharing options...
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.