From a2bfeabfa7dda816daddbe113a3ae33618b32284 Mon Sep 17 00:00:00 2001 From: Yohann Ferreira Date: Thu, 29 Sep 2011 00:08:43 +0200 Subject: Fix negative XP on levelups. This used to have an issue but i just can't find it anymore. --- src/localplayer.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/localplayer.cpp b/src/localplayer.cpp index 78395438..16382adc 100644 --- a/src/localplayer.cpp +++ b/src/localplayer.cpp @@ -1031,10 +1031,17 @@ void LocalPlayer::event(Event::Channel channel, const Event &event) { if (event.getInt("id") == EXP) { - int change = event.getInt("newValue") - - event.getInt("oldValue"); + int change = 0, + oldXp = event.getInt("oldValue"), + newXp = event.getInt("newValue"); - addMessageToQueue(toString(change) + " xp"); + if (newXp < oldXp) + change = PlayerInfo::getAttribute(EXP_NEEDED) - oldXp; + else + change = newXp - oldXp; + + if (change > 0) + addMessageToQueue(toString(change) + " xp"); } } } -- cgit v1.2.3-70-g09d2