mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-06-28 03:34:43 +02:00
Changed experience storage from integers to floats
This will make sure no experience is lost when the server has high skill modifiers configured, or when low amounts of experience are being shared.
This commit is contained in:
@ -52,7 +52,7 @@ public final class ShareHandler {
|
||||
* @param skillType Skill being used
|
||||
* @return True is the xp has been shared
|
||||
*/
|
||||
public static boolean handleXpShare(int xp, McMMOPlayer mcMMOPlayer, SkillType skillType) {
|
||||
public static boolean handleXpShare(float xp, McMMOPlayer mcMMOPlayer, SkillType skillType) {
|
||||
Party party = mcMMOPlayer.getParty();
|
||||
|
||||
switch (party.getXpShareMode()) {
|
||||
@ -71,14 +71,13 @@ public final class ShareHandler {
|
||||
shareBonus = Config.getInstance().getPartyShareBonusCap();
|
||||
}
|
||||
|
||||
double splitXp = xp / partySize * shareBonus;
|
||||
int roundedXp = (int) Math.ceil(splitXp);
|
||||
float splitXp = (float) (xp / partySize * shareBonus);
|
||||
|
||||
for (Player member : nearMembers) {
|
||||
UserManager.getPlayer(member).beginUnsharedXpGain(skillType, roundedXp);
|
||||
UserManager.getPlayer(member).beginUnsharedXpGain(skillType, splitXp);
|
||||
}
|
||||
|
||||
mcMMOPlayer.beginUnsharedXpGain(skillType, roundedXp);
|
||||
mcMMOPlayer.beginUnsharedXpGain(skillType, splitXp);
|
||||
|
||||
return true;
|
||||
|
||||
|
Reference in New Issue
Block a user