summaryrefslogtreecommitdiff
path: root/src/net/eathena/partyhandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena/partyhandler.cpp')
-rw-r--r--src/net/eathena/partyhandler.cpp24
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