Golem1988 Posted September 9, 2012 Posted September 9, 2012 (edited) 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 September 18, 2012 by Golem1988
Golem1988 Posted September 10, 2012 Author Posted September 10, 2012 Please move this topic to Renewal discussion. Posted in a wrong place (
Dia Posted September 11, 2012 Posted September 11, 2012 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; }; 1
Tepoo Posted September 11, 2012 Posted September 11, 2012 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.
Golem1988 Posted September 12, 2012 Author Posted September 12, 2012 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
Bahmut Posted September 12, 2012 Posted September 12, 2012 http://ro.doddlercon.com/wiki/index.php?title=Renewal_Changes#Experience_Points
Tepoo Posted September 12, 2012 Posted September 12, 2012 http://files.aegisdev.eu/zone/ original files like expTable, and so on.
Magnetix Posted September 13, 2012 Posted September 13, 2012 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?
Ajjwidjdneidjenw Posted September 13, 2012 Posted September 13, 2012 (edited) 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 September 13, 2012 by garet999
Golem1988 Posted September 16, 2012 Author Posted September 16, 2012 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 Good sight
Recommended Posts