diff options
Diffstat (limited to 'src/net/eathena')
-rw-r--r-- | src/net/eathena/partyhandler.cpp | 29 | ||||
-rw-r--r-- | src/net/eathena/partyhandler.h | 2 |
2 files changed, 31 insertions, 0 deletions
diff --git a/src/net/eathena/partyhandler.cpp b/src/net/eathena/partyhandler.cpp index 3828156a5..c53654c57 100644 --- a/src/net/eathena/partyhandler.cpp +++ b/src/net/eathena/partyhandler.cpp @@ -402,4 +402,33 @@ void PartyHandler::processPartyMessage(Net::MessageIn &msg) const } } +void PartyHandler::processPartyInviteResponse(Net::MessageIn &msg) const +{ + if (!Ea::partyTab) + return; + + const std::string nick = msg.readString(24); + + switch (msg.readUInt8()) + { + case 0: + NotifyManager::notify(NotifyTypes::PARTY_INVITE_ALREADY_MEMBER, + nick); + break; + case 1: + NotifyManager::notify(NotifyTypes::PARTY_INVITE_REFUSED, nick); + break; + case 2: + NotifyManager::notify(NotifyTypes::PARTY_INVITE_DONE, nick); + break; + case 3: + NotifyManager::notify(NotifyTypes::PARTY_INVITE_PARTY_FULL, + nick); + break; + default: + NotifyManager::notify(NotifyTypes::PARTY_INVITE_ERROR, nick); + break; + } +} + } // namespace EAthena diff --git a/src/net/eathena/partyhandler.h b/src/net/eathena/partyhandler.h index 5db8a505e..100656e83 100644 --- a/src/net/eathena/partyhandler.h +++ b/src/net/eathena/partyhandler.h @@ -71,6 +71,8 @@ class PartyHandler final : public MessageHandler, public Ea::PartyHandler void processPartyInfo(Net::MessageIn &msg) const; void processPartyMessage(Net::MessageIn &msg) const; + + void processPartyInviteResponse(Net::MessageIn &msg) const; }; } // namespace EAthena |