Those three are wrongly defined:
Code:
experienceShareLevelDifference = 2 / 3 -- Probably like 2 levels lower and 3 levels higher eg. level 100 guy can share exp with lvl 98 guy and lvl 103 guy
extraPartyExperienceLimit = 100 -- The maximum bonus percentage, in this case 100% is the max
extraPartyExperiencePercent = 25 -- Bonus percent each player in the party = Takes 4 people to get 100% exp bonus, after which it doesnt increase
experienceShareLevelDifference
- this is min level in party to enable shared exp (highest lvl in party * experienceShareLevelDifference) -> min allowed party lvl )
In your example experienceShareLevelDifference = 2/3, so.. lets take party with players of lvls 100, 120, 140. Highest lv in your pt is 140, so we will take it to calculations. 140 * (2/3) = 93.333. So in party u cannot have player with lvl lower than 93.3 (so player lvl has to be at least 94) to enable shared exp.
extraPartyExperienceLimit
- min exp to be obtained from monster to add bonus exp.
In your case extraPartyExperienceLimit = 100.
If you have enabled shared exp, and u will get less than 100exp from enemy, then you will not be rewarded by bonus exp for party sharing.
extraPartyExperiencePercent
- bonus exp percentage.
If shared exp is enabled, active, and you get more exp than extraPartyExperienceLimit, then it is increased by such percentage.
for example u have set 25% bonus.
u have 5 ppl in pt, and monster gives 1000 exp.
Each player will get 200 exp + bonus (1000 * 25% = 250) => 450 exp
Here's the part of code related to that:
C++:
double shareExperience = (experience / (double)(memberList.size() + 1));
if(experience > (double)g_config.getNumber(ConfigManager::EXTRA_PARTY_LIMIT))
shareExperience += (experience * (double)(g_config.getNumber(ConfigManager::EXTRA_PARTY_PERCENT) / 100));
src:
peonso/forgottenserver036pl1 (https://github.com/peonso/forgottenserver036pl1/blob/caf524d396542b489d8c7e22cbb329be80f5b949/src/party.cpp#L319)
Hope that I didn't mismatch anything ^^.