mirror of
https://github.com/ProjectSWGCore/Holocore.git
synced 2026-09-12 22:45:18 -04:00
Merge pull request #732 from madsboddum/Holocore-730
XP flytext not showing the multiplied XP correctly
This commit is contained in:
+11
-11
@@ -38,12 +38,20 @@ public class ExperiencePointService extends Service {
|
||||
SWGObject flytextTarget = ei.getFlytextTarget();
|
||||
boolean xpMultiplied = ei.isXpMultiplied();
|
||||
|
||||
awardExperience(creatureObject, flytextTarget, playerObject, xpType, experienceGained, xpMultiplied);
|
||||
if (xpMultiplied) {
|
||||
experienceGained *= xpMultiplier;
|
||||
}
|
||||
|
||||
awardExperience(creatureObject, flytextTarget, playerObject, xpType, experienceGained);
|
||||
}
|
||||
}
|
||||
|
||||
private void awardExperience(CreatureObject creatureObject, SWGObject flytextTarget, PlayerObject playerObject, String xpType, int xpGained, boolean xpMultiplied) {
|
||||
incrementExperience(creatureObject, playerObject, xpType, xpGained, xpMultiplied);
|
||||
private void awardExperience(CreatureObject creatureObject, SWGObject flytextTarget, PlayerObject playerObject, String xpType, int xpGained) {
|
||||
int currentXp = playerObject.getExperiencePoints(xpType);
|
||||
int newXpTotal = currentXp + xpGained;
|
||||
|
||||
playerObject.setExperiencePoints(xpType, newXpTotal);
|
||||
Log.d("%s gained %d %s XP", creatureObject, xpGained, xpType);
|
||||
|
||||
if (!Objects.equals("combat_general", xpType)) {
|
||||
showFlytext(creatureObject, flytextTarget, xpGained);
|
||||
@@ -58,14 +66,6 @@ public class ExperiencePointService extends Service {
|
||||
SystemMessageIntent.broadcastPersonal(creatureObject.getOwner(), message, ChatSystemMessage.SystemChatType.CHAT_BOX);
|
||||
}
|
||||
|
||||
private void incrementExperience(CreatureObject creatureObject, PlayerObject playerObject, String xpType, int xpGained, boolean xpMultiplied) {
|
||||
int currentXp = playerObject.getExperiencePoints(xpType);
|
||||
int newXpTotal = xpMultiplied ? (currentXp + (int) (xpGained * xpMultiplier)) : (currentXp + xpGained);
|
||||
|
||||
playerObject.setExperiencePoints(xpType, newXpTotal);
|
||||
Log.d("%s gained %d %s XP", creatureObject, xpGained, xpType);
|
||||
}
|
||||
|
||||
private void showFlytext(CreatureObject creatureObject, SWGObject flytextTarget, int xpGained) {
|
||||
OutOfBandPackage message = new OutOfBandPackage(new ProsePackage(new StringId("base_player", "prose_flytext_xp"), "DI", xpGained));
|
||||
ShowFlyText packet = new ShowFlyText(flytextTarget.getObjectId(), message, Scale.MEDIUM, SWGColor.Violets.INSTANCE.getMagenta());
|
||||
|
||||
Reference in New Issue
Block a user