diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-11-20 17:39:34 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-11-20 17:39:34 +0300 |
commit | ac5b6771c50c97dc667611a104acb8c87cf65231 (patch) | |
tree | baa35ff0bf347546831e2d817c082de6961e9924 /src/net/ea/beinghandler.cpp | |
parent | 08bd81e4db25d054c49fdea16062f23b0eb69fc6 (diff) | |
download | plus-ac5b6771c50c97dc667611a104acb8c87cf65231.tar.gz plus-ac5b6771c50c97dc667611a104acb8c87cf65231.tar.bz2 plus-ac5b6771c50c97dc667611a104acb8c87cf65231.tar.xz plus-ac5b6771c50c97dc667611a104acb8c87cf65231.zip |
Move processNameResponse2 into ea namespace.
Diffstat (limited to 'src/net/ea/beinghandler.cpp')
-rw-r--r-- | src/net/ea/beinghandler.cpp | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/net/ea/beinghandler.cpp b/src/net/ea/beinghandler.cpp index da6ace767..5f835047d 100644 --- a/src/net/ea/beinghandler.cpp +++ b/src/net/ea/beinghandler.cpp @@ -446,4 +446,50 @@ void BeingHandler::processPvpSet(Net::MessageIn &msg) BLOCK_END("BeingHandler::processPvpSet") } +void BeingHandler::processNameResponse2(Net::MessageIn &msg) +{ + BLOCK_START("BeingHandler::processNameResponse2") + if (!actorManager || !localPlayer) + { + BLOCK_END("BeingHandler::processNameResponse2") + return; + } + + const int len = msg.readInt16("len"); + const int beingId = msg.readInt32("account ic"); + const std::string str = msg.readString(len - 8, "name"); + Being *const dstBeing = actorManager->findBeing(beingId); + if (dstBeing) + { + if (beingId == localPlayer->getId()) + { + localPlayer->pingResponse(); + } + else + { + dstBeing->setName(str); + dstBeing->updateGuild(); + dstBeing->addToCache(); + + if (dstBeing->getType() == ActorType::Player) + dstBeing->updateColors(); + + if (localPlayer) + { + const Party *const party = localPlayer->getParty(); + if (party && party->isMember(dstBeing->getId())) + { + PartyMember *const member = party->getMember( + dstBeing->getId()); + + if (member) + member->setName(dstBeing->getName()); + } + localPlayer->checkNewName(dstBeing); + } + } + } + BLOCK_END("BeingHandler::processNameResponse2") +} + } // namespace Ea |