diff --git a/src/protocolgame.cpp b/src/protocolgame.cpp index d0a4a23..60b7057 100644 --- a/src/protocolgame.cpp +++ b/src/protocolgame.cpp @@ -415,6 +415,7 @@ void ProtocolGame::parsePacket(NetworkMessage& msg) case 0xA5: parseRevokePartyInvite(msg); break; case 0xA6: parsePassPartyLeadership(msg); break; case 0xA7: addGameTask(&Game::playerLeaveParty, player->getID()); break; + case 0xA8: parseEnableSharedPartyExperience(msg); break; case 0xAA: addGameTask(&Game::playerCreatePrivateChannel, player->getID()); break; case 0xAB: parseChannelInvite(msg); break; case 0xAC: parseChannelExclude(msg); break; @@ -965,6 +966,12 @@ void ProtocolGame::parsePassPartyLeadership(NetworkMessage& msg) addGameTask(&Game::playerPassPartyLeadership, player->getID(), targetId); } +void ProtocolGame::parseEnableSharedPartyExperience(NetworkMessage& msg) +{ + bool sharedExpActive = msg.getByte() == 1; + addGameTask(&Game::playerEnableSharedPartyExperience, player->getID(), sharedExpActive); +} + void ProtocolGame::parseQuestLine(NetworkMessage& msg) { uint16_t questId = msg.get(); diff --git a/src/protocolgame.h b/src/protocolgame.h index 1d5f637..f457d39 100644 --- a/src/protocolgame.h +++ b/src/protocolgame.h @@ -119,6 +119,7 @@ class ProtocolGame final : public Protocol void parseJoinParty(NetworkMessage& msg); void parseRevokePartyInvite(NetworkMessage& msg); void parsePassPartyLeadership(NetworkMessage& msg); + void parseEnableSharedPartyExperience(NetworkMessage& msg); void parseSeekInContainer(NetworkMessage& msg);