Log in

View Full Version : Group Lvl and Xp


SoTRichard
08-09-2007, 01:44 PM
what in the database controls the lvl of people you are allowed to group with? on live it was 2/3 your lvl or your lvl multiplied by 1.5 is maximum you can group with. on my server ive noticed that it's only 8 levels up or down...
thanks

techguy84
08-10-2007, 04:14 AM
Dont think this is DB, but more hard-coded into the emulator itself. Have to go through source to find it.

BWStripes
08-13-2007, 03:21 AM
Piqued my interest too, it seems hardcoded to 8, exp.cpp, line 457+:

sint16 diff = cmember->GetLevel() - maxlevel;
if (diff >= -8) { /*Instead of person who killed the mob, the person who has the highest level in the group*/
uint32 tmp = (cmember->GetLevel()+3) * (cmember->GetLevel()+3) * 75 * 35 / 10;
uint32 tmp2 = groupexp / membercount;
cmember->AddEXP( tmp < tmp2 ? tmp : tmp2, conlevel );


Just change the diff comparrison, or better still, replace it with the formula.

This (probably) isn't valid C code, but I would guess something like:
sint16 expforjoo = (cmember->Getlevel() / 2)+(cmember->Getlevel() +1);
if (expforjoo >= maxlevel)
--etc.

Meaning L46 can gain exp with a L70, L51 with L75 as per live I think...its been a while

Irreverent
09-11-2007, 05:42 AM
That would be a snazy addition to the code, since we all love twink plvling.