diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-09-07 20:49:37 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-09-07 20:49:37 +0300 |
commit | 9ca0103f281a176af021197496fd2bd6f65ba05b (patch) | |
tree | a0377ea5cef505febddbbc7c359651b0dcf695f1 /src/net/tmwa | |
parent | 4c06de57e1fb092ff320ab933e7651724b757bf3 (diff) | |
download | manaplus-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.cpp | 24 | ||||
-rw-r--r-- | src/net/tmwa/partyhandler.h | 2 |
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 |