Jump to content

Suggestion: Official renewal exp gane formulas


Golem1988

Recommended Posts


  • Group:  Members
  • Topic Count:  57
  • Topics Per Day:  0.01
  • Content Count:  162
  • Reputation:   1
  • Joined:  08/08/12
  • Last Seen:  

Posted about my modification in exp gain* formula, that is fully acorded with iRO exp gain table... Original post here: http://rathena.org/b...newal-exp-gain/

What I want to suggest to implement is this code instead of the old one, that was incorrect:

So, the correct code for iRO exp table is:

/**
* 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
   //changed -15 to -10 (c) Golem1988
if( diff >= -10 && diff <= -3 )
	boost = 100 + (( -diff * 5 ) - 10 );
//-11 ~ -15: -5% boost for each starting with 140% (c) Golem1988
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;
}

How to apply this, iRO formula: go to party.c and replace old formula with this one. Recompile. Use and smile.

Have no idea how to make diff files :) Please, someone place this code in the rAthena svn, cause this formula is 100% correct. Thanks, waiting for answers and comments...

And I would appreciate if there would be some <c> Golem1988 in this code, if it will be implement. ^^

Edited by Golem1988
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  57
  • Topics Per Day:  0.01
  • Content Count:  162
  • Reputation:   1
  • Joined:  08/08/12
  • Last Seen:  

Please move this topic to Renewal discussion. Posted in a wrong place (

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  155
  • Topics Per Day:  0.03
  • Content Count:  647
  • Reputation:   16
  • Joined:  11/21/11
  • Last Seen:  

i think rathena uses kRO mechanics.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  51
  • Reputation:   12
  • Joined:  12/07/11
  • Last Seen:  

How about making it configurable like AEGIS did?

levelPenalty.lua

-- 이파일은 lua 문법에 따라 작성해야 합니다.
-- 레벨차에 의한 페널티를 설정하는 파일입니다.
-- 타겟-플레이어 레벨 입니다.
-- 레벨차에 의한 경험치 페널티를 설정합니다.
Exp={--일반
[16]=40;
[15]=115;
[14]=120;
[13]=125;
[12]=130;
[11]=135;
[10]=140;
[9]=135;
[8]=130;
[7]=125;
[6]=120;
[5]=115;
[4]=110;
[3]=105;
[0]=100;
[-1]=100;
[-6]=95;
[-11]=90;
[-16]=85;
[-21]=60;
[-26]=35;
[-31]=10;
};
MvpExp={--보스형
[0]=100;
};
-- 레벨차에 의한 아이템드롭률 패널티를 설정합니다.
ItemDrop={--일반
[16]=50;
[13]=60;
[10]=70;
[7]=80;
[4]=90;
[0]=100;
[-4]=90;
[-7]=80;
[-10]=70;
[-13]=60;
[-16]=50;
};
MvpItemDrop={--보스형
[0]=100;
};

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  554
  • Reputation:   70
  • Joined:  04/04/12
  • Last Seen:  

@scriptor

+1

:meow:

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  104
  • Reputation:   4
  • Joined:  02/06/12
  • Last Seen:  

i would prefer the aegis official script from scriptor too.

we want to be kro based, and also rathena wants to stay as close as possible on aegis.

rathena should use the aegis penality logic, with one little adjustment, we should be able to active them seperatly.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  57
  • Topics Per Day:  0.01
  • Content Count:  162
  • Reputation:   1
  • Joined:  08/08/12
  • Last Seen:  

i would prefer the aegis official script from scriptor too.

we want to be kro based, and also rathena wants to stay as close as possible on aegis.

rathena should use the aegis penality logic, with one little adjustment, we should be able to active them seperatly.

please, give me link to kRO exp penalty/increase table :)

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  17
  • Topics Per Day:  0.00
  • Content Count:  382
  • Reputation:   38
  • Joined:  01/17/12
  • Last Seen:  


  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  439
  • Reputation:   29
  • Joined:  12/08/11
  • Last Seen:  

This is an emulator for Ragnarok. It is only appropriate to follow kRO mechanics since everything started from them. If more players request or need

the same mod as what the TS posted, we can add additional configuration don't we?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  15
  • Topics Per Day:  0.00
  • Content Count:  161
  • Reputation:   31
  • Joined:  12/06/11
  • Last Seen:  

How about making it configurable like AEGIS did?

levelPenalty.lua

-- 이파일은 lua 문법에 따라 작성해야 합니다.
-- 레벨차에 의한 페널티를 설정하는 파일입니다.
-- 타겟-플레이어 레벨 입니다.
-- 레벨차에 의한 경험치 페널티를 설정합니다.
Exp={--일반
[16]=40;
[15]=115;
[14]=120;
[13]=125;
[12]=130;
[11]=135;
[10]=140;
[9]=135;
[8]=130;
[7]=125;
[6]=120;
[5]=115;
[4]=110;
[3]=105;
[0]=100;
[-1]=100;
[-6]=95;
[-11]=90;
[-16]=85;
[-21]=60;
[-26]=35;
[-31]=10;
};
MvpExp={--보스형
[0]=100;
};
-- 레벨차에 의한 아이템드롭률 패널티를 설정합니다.
ItemDrop={--일반
[16]=50;
[13]=60;
[10]=70;
[7]=80;
[4]=90;
[0]=100;
[-4]=90;
[-7]=80;
[-10]=70;
[-13]=60;
[-16]=50;
};
MvpItemDrop={--보스형
[0]=100;
};

That is the same table as iRO uses if I recall correctly.

Edited by garet999
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  57
  • Topics Per Day:  0.01
  • Content Count:  162
  • Reputation:   1
  • Joined:  08/08/12
  • Last Seen:  

How about making it configurable like AEGIS did?

levelPenalty.lua

-- 이파일은 lua 문법에 따라 작성해야 합니다.
-- 레벨차에 의한 페널티를 설정하는 파일입니다.
-- 타겟-플레이어 레벨 입니다.
-- 레벨차에 의한 경험치 페널티를 설정합니다.
Exp={--일반
[16]=40;
[15]=115;
[14]=120;
[13]=125;
[12]=130;
[11]=135;
[10]=140;
[9]=135;
[8]=130;
[7]=125;
[6]=120;
[5]=115;
[4]=110;
[3]=105;
[0]=100;
[-1]=100;
[-6]=95;
[-11]=90;
[-16]=85;
[-21]=60;
[-26]=35;
[-31]=10;
};
MvpExp={--보스형
[0]=100;
};
-- 레벨차에 의한 아이템드롭률 패널티를 설정합니다.
ItemDrop={--일반
[16]=50;
[13]=60;
[10]=70;
[7]=80;
[4]=90;
[0]=100;
[-4]=90;
[-7]=80;
[-10]=70;
[-13]=60;
[-16]=50;
};
MvpItemDrop={--보스형
[0]=100;
};

That is the same table as iRO uses if I recall correctly.

Exactly :D Good sight /no1

Link to comment
Share on other sites

  • 1 month later...

  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  554
  • Reputation:   70
  • Joined:  04/04/12
  • Last Seen:  

Fixed and implemented @ r16842

:meow:

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  57
  • Topics Per Day:  0.01
  • Content Count:  162
  • Reputation:   1
  • Joined:  08/08/12
  • Last Seen:  

nice, glad to see that /no1

Link to comment
Share on other sites

×
×
  • Create New...