diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-11-13 00:43:30 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-11-13 00:43:30 +0300 |
commit | 50ff01c7d46090e15e6f7fbf1828234dd43cf5fa (patch) | |
tree | 630ea30956ac52cc7d9316f28c85d4d37f076124 /src/net/eathena/beingrecv.cpp | |
parent | 2300cbef216ff22275854e7fe76752a31a947bdc (diff) | |
download | manaplus-50ff01c7d46090e15e6f7fbf1828234dd43cf5fa.tar.gz manaplus-50ff01c7d46090e15e6f7fbf1828234dd43cf5fa.tar.bz2 manaplus-50ff01c7d46090e15e6f7fbf1828234dd43cf5fa.tar.xz manaplus-50ff01c7d46090e15e6f7fbf1828234dd43cf5fa.zip |
Impliment packet SMSG_GRAFFITI_VISIBLE.
Diffstat (limited to 'src/net/eathena/beingrecv.cpp')
-rw-r--r-- | src/net/eathena/beingrecv.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/net/eathena/beingrecv.cpp b/src/net/eathena/beingrecv.cpp index a18af6b11..f80b16c54 100644 --- a/src/net/eathena/beingrecv.cpp +++ b/src/net/eathena/beingrecv.cpp @@ -1716,6 +1716,27 @@ void BeingRecv::processSolveCharName(Net::MessageIn &msg) actorManager->addChar(id, name); } +void BeingRecv::processGraffiti(Net::MessageIn &msg) +{ + const BeingId id = msg.readBeingId("graffiti id"); + msg.readBeingId("creator id"); + const int x = msg.readInt16("x"); + const int y = msg.readInt16("y"); + const int job = msg.readUInt8("job"); + msg.readUInt8("visible"); + msg.readUInt8("is content"); + const std::string text = msg.readString(80, "text"); + + Being *const dstBeing = createBeing2(msg, id, job, BeingType::SKILL); + if (!dstBeing) + return; + + dstBeing->setAction(BeingAction::STAND, 0); + dstBeing->setTileCoords(x, y); + dstBeing->setShowName(true); + dstBeing->setName(text); +} + void BeingRecv::applyPlayerAction(Net::MessageIn &msg, Being *const being, const uint8_t type) |