From 5d4fb756f73f751b0227314cea8e90220f7af0a4 Mon Sep 17 00:00:00 2001 From: Mads Boddum Date: Thu, 31 Mar 2016 10:03:22 +0200 Subject: [PATCH] Fixed an issue where applying a buff to a player would bomb the player with PLAY09 deltas --- src/resources/objects/player/PlayerObject.java | 11 ++++++----- src/services/galaxy/ConnectionService.java | 6 +----- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/resources/objects/player/PlayerObject.java b/src/resources/objects/player/PlayerObject.java index e22fa52bb..a3798c035 100644 --- a/src/resources/objects/player/PlayerObject.java +++ b/src/resources/objects/player/PlayerObject.java @@ -155,11 +155,12 @@ public class PlayerObject extends IntangibleObject { sendDelta(3, 7, title, StringType.ASCII); } + /** + * Calling this method will update the playTime field. + * @return the amount of time this PlayerObject has played. + */ public int getPlayTime() { - int startTime = getStartPlayTime(); - int deltaTime = (int) ((System.currentTimeMillis()) - startTime); - setPlayTime((int) TimeUnit.MILLISECONDS.toSeconds(deltaTime)); // Set new time and send delta - + playTime = (int) TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis() - getStartPlayTime()); // Set new time and send delta return playTime; } @@ -167,7 +168,7 @@ public class PlayerObject extends IntangibleObject { this.playTime = playTime; sendDelta(3, 9, playTime); } - + public int getGcwPoints() { return gcwPoints; } diff --git a/src/services/galaxy/ConnectionService.java b/src/services/galaxy/ConnectionService.java index df8e68833..ab9d8c1c4 100644 --- a/src/services/galaxy/ConnectionService.java +++ b/src/services/galaxy/ConnectionService.java @@ -258,11 +258,7 @@ public class ConnectionService extends Service { if (playerObject == null) return; - int currentTime = playerObject.getPlayTime(); - int startTime = playerObject.getStartPlayTime(); - int deltaTime = (int) ((System.currentTimeMillis()) - startTime); - int newTotalTime = currentTime + (int) TimeUnit.MILLISECONDS.toSeconds(deltaTime); - playerObject.setPlayTime(newTotalTime); + playerObject.setPlayTime(playerObject.getPlayTime()); } private static class DisappearPlayer {