diff options
Diffstat (limited to 'src/net')
-rw-r--r-- | src/net/eathena/familyhandler.cpp | 12 | ||||
-rw-r--r-- | src/net/eathena/familyhandler.h | 3 | ||||
-rw-r--r-- | src/net/eathena/protocol.h | 2 |
3 files changed, 17 insertions, 0 deletions
diff --git a/src/net/eathena/familyhandler.cpp b/src/net/eathena/familyhandler.cpp index 3c5892aa1..44661a0a5 100644 --- a/src/net/eathena/familyhandler.cpp +++ b/src/net/eathena/familyhandler.cpp @@ -41,6 +41,7 @@ FamilyHandler::FamilyHandler() : { static const uint16_t _messages[] = { + SMSG_ASK_FOR_CHILD, 0 }; handledMessages = _messages; @@ -51,6 +52,10 @@ void FamilyHandler::handleMessage(Net::MessageIn &msg) { switch (msg.getId()) { + case SMSG_ASK_FOR_CHILD: + processAskForChild(msg); + break; + default: break; } @@ -65,4 +70,11 @@ void FamilyHandler::askForChild(const Being *const being) outMsg.writeInt32(being->getId()); } +void FamilyHandler::processAskForChild(Net::MessageIn &msg) +{ + msg.readInt32("account id who ask"); + msg.readInt32("acoount id for other parent"); + msg.readString(24, "name who ask"); +} + } // namespace EAthena diff --git a/src/net/eathena/familyhandler.h b/src/net/eathena/familyhandler.h index 170ca6351..f96f2aeac 100644 --- a/src/net/eathena/familyhandler.h +++ b/src/net/eathena/familyhandler.h @@ -40,6 +40,9 @@ class FamilyHandler final : public MessageHandler, void handleMessage(Net::MessageIn &msg) override final; void askForChild(const Being *const being) override final; + + protected: + void processAskForChild(Net::MessageIn &msg); }; } // namespace EAthena diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index 1be6d93ed..c0231aa54 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -212,6 +212,8 @@ #define SMSG_MAIL_OPEN_WINDOW 0x0260 +#define SMSG_ASK_FOR_CHILD 0x01f6 + #define SMSG_PET_MESSAGE 0x01aa /********************************** |