diff options
Diffstat (limited to 'src/net/eathena/partyhandler.cpp')
-rw-r--r-- | src/net/eathena/partyhandler.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/net/eathena/partyhandler.cpp b/src/net/eathena/partyhandler.cpp index 83dae97f5..265f4cc0e 100644 --- a/src/net/eathena/partyhandler.cpp +++ b/src/net/eathena/partyhandler.cpp @@ -381,4 +381,28 @@ void PartyHandler::processPartyInfo(Net::MessageIn &msg) const } } +void PartyHandler::processPartyMessage(Net::MessageIn &msg) const +{ + const int msgLength = msg.readInt16() - 8; + if (msgLength <= 0) + return; + + const int id = msg.readInt32(); + const std::string chatMsg = msg.readString(msgLength); + + if (Ea::taParty && Ea::partyTab) + { + const PartyMember *const member = Ea::taParty->getMember(id); + if (member) + { + Ea::partyTab->chatLog(member->getName(), chatMsg); + } + else + { + NotifyManager::notify(NotifyTypes::PARTY_UNKNOWN_USER_MSG, + chatMsg); + } + } +} + } // namespace EAthena |