From 6d5ce1357e2fcde41511b2c20b86e4c95d47587c Mon Sep 17 00:00:00 2001 From: TfT_02 Date: Mon, 4 Feb 2013 17:20:45 +0100 Subject: [PATCH] More party members = more XP share bonus Sorry, broke your party settings in config.yml. So now when there are more party members near, the party share bonus is increased. :) --- src/main/java/com/gmail/nossr50/config/Config.java | 4 +++- src/main/java/com/gmail/nossr50/party/ShareHandler.java | 6 +++++- src/main/resources/config.yml | 4 +++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/config/Config.java b/src/main/java/com/gmail/nossr50/config/Config.java index 27c4e57b4..29159225b 100644 --- a/src/main/java/com/gmail/nossr50/config/Config.java +++ b/src/main/java/com/gmail/nossr50/config/Config.java @@ -84,7 +84,9 @@ public class Config extends ConfigLoader { /* PARTY SETTINGS */ public boolean getExpShareEnabled() { return config.getBoolean("Party.Sharing.ExpShare_enabled", true); } - public double getPartyShareBonus() { return config.getDouble("Party.Sharing.ExpShare_bonus", 1.1); } + public double getPartyShareBonusBase() { return config.getDouble("Party.Sharing.ExpShare_bonus_base", 1.1); } + public double getPartyShareBonusIncrease() { return config.getDouble("Party.Sharing.ExpShare_bonus_increase", 0.05); } + public double getPartyShareBonusCap() { return config.getDouble("Party.Sharing.ExpShare_bonus_cap", 1.5); } public boolean getItemShareEnabled() { return config.getBoolean("Party.Sharing.ItemShare_enabled", true); } public double getPartyShareRange() { return config.getDouble("Party.Sharing.Range", 75.0); } diff --git a/src/main/java/com/gmail/nossr50/party/ShareHandler.java b/src/main/java/com/gmail/nossr50/party/ShareHandler.java index 79f50c43e..04bf4e560 100644 --- a/src/main/java/com/gmail/nossr50/party/ShareHandler.java +++ b/src/main/java/com/gmail/nossr50/party/ShareHandler.java @@ -50,7 +50,11 @@ public final class ShareHandler { } double partySize = nearMembers.size() + 1; - double splitXp = xp / partySize * Config.getInstance().getPartyShareBonus(); + double shareBonus = Config.getInstance().getPartyShareBonusBase() + partySize * Config.getInstance().getPartyShareBonusIncrease(); + if (shareBonus > Config.getInstance().getPartyShareBonusCap()) { + shareBonus = Config.getInstance().getPartyShareBonusCap(); + } + double splitXp = xp / partySize * shareBonus; int roundedXp = (int) Math.ceil(splitXp); for (Player member : nearMembers) { diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index abafdac1f..44e9876d7 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -71,7 +71,9 @@ Items: Party: Sharing: ExpShare_enabled: true - ExpShare_bonus: 1.1 + ExpShare_bonus_base: 1.1 + ExpShare_bonus_increase: 1.05 + ExpShare_bonus_cap: 1.5 ItemShare_enabled: true Range: 75.0