L2JMobius

High Five XP party Calc

vert · 4 · 6681

Offline vert

  • Knight
  • ***
    • Posts: 70
Hello, i'm in a project with a friend and we are dev in mobius HighFive, i already have dev in a shared source of JSunrise (for study purpose), i love dev and in my free time, i dev for l2 and make some gameplays in highfive;
In the last gameplay i've made, i build a low rate gameplay, when i test the xp in party, i realized that calc are wrong and not fixed in most private sources (sunrise inclused);

I have your 4331 source, when i see the code, you guys doesn't have implemented this correction, i've implemented him in another project with my friend, he knows this correction.

Let's go to the code:

Your code:
Quote
   private double getExpBonus(int membersCount)
   {
      return (membersCount < 2) ? getBaseExpSpBonus(membersCount) : (getBaseExpSpBonus(membersCount) * Config.RATE_PARTY_XP);
   }
   
   private double getSpBonus(int membersCount)
   {
      return (membersCount < 2) ? getBaseExpSpBonus(membersCount) : (getBaseExpSpBonus(membersCount) * Config.RATE_PARTY_SP);
   }

Fixed code:
Quote
    private double getExpBonus(int membersCount)
    {
        return (membersCount < 2) ? (getBaseExpSpBonus(membersCount)) : (getBaseExpSpBonus(membersCount) * Config.RATE_PARTY_XP * membersCount);
    }
    private double getSpBonus(int membersCount)
    {
        return (membersCount < 2) ? (getBaseExpSpBonus(membersCount)) : (getBaseExpSpBonus(membersCount) * Config.RATE_PARTY_SP * membersCount);
    }

After the fixed code implemented, if we have a party, members will receive the correctly value and now its pay of play together with friends;

The variable:
Quote
# Experience multiplier (Party)
RatePartyXp = 1

Now works correctly because 1x = 1x normal; if you want give 10% bonus when players in party, just up to 1.1 in config because the calc are correctly now;


Online Mobius

  • Distinguished King
  • *****
    • Posts: 15988
This will multiply the exp for each additional member.
I do not think this is correct.


Offline vert

  • Knight
  • ***
    • Posts: 70
Why you will enter in a party with your friends to lvl up if solo you receive more XP ?

a Mob gives to you 100k xp

100k / 7 members = 14,2k

if you want to raise up the amount of xp in party without the code:
XP: 20x
XP Party: 100x

Now, why up solo or with another 6 players if with just one more in party its possible to up a lot of more ?

Do you understand what i want to mean?

This logic have no sense Mobius, you think the official work like this ? I really think this need to be balanced


Offline Iris

  • Distinguished King
  • *****
    • Posts: 1239
Why you will enter in a party with your friends to lvl up if solo you receive more XP ?

Because being in a party makes you kill things faster? :P

Also, keep in mind that there's a party exp/sp bonus depending on how many members you have in party.

If you have 9 members in your party, the mob gives 120% more experience in High Five. Which means, that mob that gave you 100k experience when you were farming solo, will give 220k experience, which then is divided amongst the 9 party members. So each particular mob is worth more experience, the greater your party is.

Edit: here is the full table if you want (this is when using the XP party setting as x1)

Solo kill -> 100% exp/sp
2 members in party -> 110% exp/sp
3 members in party -> 120% exp/sp
4 members in party -> 130% exp/sp
5 members in party -> 140% exp/sp
6 members in party -> 150% exp/sp
7 members in party -> 200% exp/sp
8 members in party -> 210% exp/sp
9 members in party -> 220% exp/sp