summaryrefslogtreecommitdiff
path: root/src/net/tmwa
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/tmwa
parent4c06de57e1fb092ff320ab933e7651724b757bf3 (diff)
downloadmanaplus-9ca0103f281a176af021197496fd2bd6f65ba05b.tar.gz
manaplus-9ca0103f281a176af021197496fd2bd6f65ba05b.tar.bz2
manaplus-9ca0103f281a176af021197496fd2bd6f65ba05b.tar.xz
manaplus-9ca0103f281a176af021197496fd2bd6f65ba05b.zip
Move processPartyMessage from ea namespace into eathena and tmwa.
Diffstat (limited to 'src/net/tmwa')
-rw-r--r--src/net/tmwa/partyhandler.cpp24
-rw-r--r--src/net/tmwa/partyhandler.h2
2 files changed, 26 insertions, 0 deletions
diff --git a/src/net/tmwa/partyhandler.cpp b/src/net/tmwa/partyhandler.cpp
index c5564c94b..813726b6d 100644
--- a/src/net/tmwa/partyhandler.cpp
+++ b/src/net/tmwa/partyhandler.cpp
@@ -332,4 +332,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 TmwAthena
diff --git a/src/net/tmwa/partyhandler.h b/src/net/tmwa/partyhandler.h
index f731fa32a..9ee694775 100644
--- a/src/net/tmwa/partyhandler.h
+++ b/src/net/tmwa/partyhandler.h
@@ -67,6 +67,8 @@ class PartyHandler final : public MessageHandler, public Ea::PartyHandler
void processPartySettings(Net::MessageIn &msg);
void processPartyInfo(Net::MessageIn &msg) const;
+
+ void processPartyMessage(Net::MessageIn &msg) const;
};
} // namespace TmwAthena