diff options
author | Andrei Karas <akaras@inbox.ru> | 2011-03-10 20:17:29 +0200 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2011-03-11 00:48:34 +0200 |
commit | c030596364968f86f88546d3890e5b45929db47a (patch) | |
tree | 859f4e8bb525d8c2d5ec2569f1da498d8c14706f /src/net/tmwa/partyhandler.cpp | |
parent | a1d38a0ab4095c192390dbf10bca949454fc4b59 (diff) | |
download | manaplus-c030596364968f86f88546d3890e5b45929db47a.tar.gz manaplus-c030596364968f86f88546d3890e5b45929db47a.tar.bz2 manaplus-c030596364968f86f88546d3890e5b45929db47a.tar.xz manaplus-c030596364968f86f88546d3890e5b45929db47a.zip |
Show message if some one join your party.
Diffstat (limited to 'src/net/tmwa/partyhandler.cpp')
-rw-r--r-- | src/net/tmwa/partyhandler.cpp | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/src/net/tmwa/partyhandler.cpp b/src/net/tmwa/partyhandler.cpp index 77fbde20e..bd9766c4b 100644 --- a/src/net/tmwa/partyhandler.cpp +++ b/src/net/tmwa/partyhandler.cpp @@ -87,11 +87,23 @@ void PartyHandler::handleMessage(Net::MessageIn &msg) break; case SMSG_PARTY_INFO: { + bool oldParty = false; + std::set<std::string> names; if (!taParty) { logger->log1("error: party empty in SMSG_PARTY_INFO"); taParty = Party::getParty(1); } + if (taParty) + { + if (taParty->getNumberOfElements() > 1) + { + oldParty = true; + + taParty->getNamesSet(names); + } + } + if (!player_node) logger->log1("error: player_node==0 in SMSG_PARTY_INFO"); @@ -119,7 +131,19 @@ void PartyHandler::handleMessage(Net::MessageIn &msg) if (taParty) { - PartyMember *member = taParty->addMember(id, nick); + PartyMember *member = 0; + if (oldParty) + { + //member = taParty->getMember(id); + if (partyTab && names.find(nick) == names.end()) + { + partyTab->chatLog(strprintf( + _("%s has join your party."), + nick.c_str()), BY_SERVER); + } + } + member = taParty->addMember(id, nick); + if (member) { member->setLeader(leader); |