summaryrefslogtreecommitdiff
path: root/src/net/ea/beinghandler.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-11-20 17:39:34 +0300
committerAndrei Karas <akaras@inbox.ru>2014-11-20 17:39:34 +0300
commitac5b6771c50c97dc667611a104acb8c87cf65231 (patch)
treebaa35ff0bf347546831e2d817c082de6961e9924 /src/net/ea/beinghandler.cpp
parent08bd81e4db25d054c49fdea16062f23b0eb69fc6 (diff)
downloadmv-ac5b6771c50c97dc667611a104acb8c87cf65231.tar.gz
mv-ac5b6771c50c97dc667611a104acb8c87cf65231.tar.bz2
mv-ac5b6771c50c97dc667611a104acb8c87cf65231.tar.xz
mv-ac5b6771c50c97dc667611a104acb8c87cf65231.zip
Move processNameResponse2 into ea namespace.
Diffstat (limited to 'src/net/ea/beinghandler.cpp')
-rw-r--r--src/net/ea/beinghandler.cpp46
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