summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-07 20:49:37 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-07 20:49:37 +0300
commit9ca0103f281a176af021197496fd2bd6f65ba05b (patch)
treea0377ea5cef505febddbbc7c359651b0dcf695f1 /src/net/eathena
parent4c06de57e1fb092ff320ab933e7651724b757bf3 (diff)
downloadmanaverse-9ca0103f281a176af021197496fd2bd6f65ba05b.tar.gz
manaverse-9ca0103f281a176af021197496fd2bd6f65ba05b.tar.bz2
manaverse-9ca0103f281a176af021197496fd2bd6f65ba05b.tar.xz
manaverse-9ca0103f281a176af021197496fd2bd6f65ba05b.zip
Move processPartyMessage from ea namespace into eathena and tmwa.
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/partyhandler.cpp24
-rw-r--r--src/net/eathena/partyhandler.h2
2 files changed, 26 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
diff --git a/src/net/eathena/partyhandler.h b/src/net/eathena/partyhandler.h
index 2b7df42b1..35693af89 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 processPartyMemberInfo(Net::MessageIn &msg);
void processPartyInfo(Net::MessageIn &msg) const;
+
+ void processPartyMessage(Net::MessageIn &msg) const;
};
} // namespace EAthena