summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/chat.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/gui/chat.cpp b/src/gui/chat.cpp
index 0422570d7..26b9a1c64 100644
--- a/src/gui/chat.cpp
+++ b/src/gui/chat.cpp
@@ -50,6 +50,7 @@
#include "gui/widgets/whispertab.h"
#include "net/chathandler.h"
+#include "net/playerhandler.h"
#include "net/net.h"
#include "utils/dtor.h"
@@ -803,6 +804,27 @@ void ChatWindow::event(Channels channel, const Mana::Event &event)
break;
};
}
+ else if (event.getName() == EVENT_UPDATESTAT)
+ {
+ if (!config.getBoolValue("showJobExp"))
+ return;
+
+ int id = event.getInt("id");
+ if (id == Net::getPlayerHandler()->getJobLocation())
+ {
+ std::pair<int, int> exp
+ = PlayerInfo::getStatExperience(id);
+ if (event.getInt("oldValue1") > exp.first
+ || !event.getInt("oldValue2"))
+ {
+ return;
+ }
+
+ int change = exp.first - event.getInt("oldValue1");
+ if (change != 0)
+ battleChatLog("+" + toString(change) + " job");
+ }
+ }
}
}