diff options
author | Andrei Karas <akaras@inbox.ru> | 2017-10-15 18:14:19 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2017-10-18 16:21:43 +0300 |
commit | a499c34b05b70a72572d8e43572def558403338e (patch) | |
tree | 2322f00723e6ebe5a53e8bfc08851ac3babbd475 /src/net/eathena/playerrecv.cpp | |
parent | e05956bcbefba4f846f90e7f5c9c05c4931b3a26 (diff) | |
download | manaplus-a499c34b05b70a72572d8e43572def558403338e.tar.gz manaplus-a499c34b05b70a72572d8e43572def558403338e.tar.bz2 manaplus-a499c34b05b70a72572d8e43572def558403338e.tar.xz manaplus-a499c34b05b70a72572d8e43572def558403338e.zip |
Add packet SMSG_PLAYER_GET_EXP2 0x0acc.
Diffstat (limited to 'src/net/eathena/playerrecv.cpp')
-rw-r--r-- | src/net/eathena/playerrecv.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/net/eathena/playerrecv.cpp b/src/net/eathena/playerrecv.cpp index 03290d48d..6b90d8a8e 100644 --- a/src/net/eathena/playerrecv.cpp +++ b/src/net/eathena/playerrecv.cpp @@ -212,6 +212,26 @@ void PlayerRecv::processPlayerGetExp(Net::MessageIn &msg) // need show particle depend on isQuest flag, for now ignored } +void PlayerRecv::processPlayerGetExp2(Net::MessageIn &msg) +{ + if (localPlayer == nullptr) + return; + const BeingId id = msg.readBeingId("player id"); + const int64_t exp = msg.readInt64("exp amount"); + const int stat = msg.readInt16("exp type"); + const bool fromQuest = msg.readInt16("is from quest") != 0; + if (!fromQuest && id == localPlayer->getId()) + { + if (stat == 1) + localPlayer->addXpMessage(exp); + else if (stat == 2) + localPlayer->addJobMessage(exp); + else + UNIMPLEMENTEDPACKETFIELD(stat); + } + // need show particle depend on isQuest flag, for now ignored +} + void PlayerRecv::processWalkResponse(Net::MessageIn &msg) { BLOCK_START("PlayerRecv::processWalkResponse") |