diff options
Diffstat (limited to 'src/net/eathena')
-rw-r--r-- | src/net/eathena/familyhandler.cpp | 12 | ||||
-rw-r--r-- | src/net/eathena/familyhandler.h | 6 | ||||
-rw-r--r-- | src/net/eathena/protocol.h | 1 |
3 files changed, 18 insertions, 1 deletions
diff --git a/src/net/eathena/familyhandler.cpp b/src/net/eathena/familyhandler.cpp index 44661a0a5..b0135a4f3 100644 --- a/src/net/eathena/familyhandler.cpp +++ b/src/net/eathena/familyhandler.cpp @@ -37,7 +37,9 @@ namespace EAthena { FamilyHandler::FamilyHandler() : - MessageHandler() + MessageHandler(), + mParent1(0), + mParent2(0) { static const uint16_t _messages[] = { @@ -77,4 +79,12 @@ void FamilyHandler::processAskForChild(Net::MessageIn &msg) msg.readString(24, "name who ask"); } +void FamilyHandler::askForChildReply(const bool accept) +{ + MessageOut outMsg(CMSG_ASK_FOR_CHILD_REPLY); + outMsg.writeInt32(mParent1, "parent1"); + outMsg.writeInt32(mParent2, "parent2"); + outMsg.writeInt32(accept ? 0: 1, "result"); +} + } // namespace EAthena diff --git a/src/net/eathena/familyhandler.h b/src/net/eathena/familyhandler.h index f96f2aeac..5d3062e22 100644 --- a/src/net/eathena/familyhandler.h +++ b/src/net/eathena/familyhandler.h @@ -41,8 +41,14 @@ class FamilyHandler final : public MessageHandler, void askForChild(const Being *const being) override final; + void askForChildReply(const bool accept) override final; + protected: void processAskForChild(Net::MessageIn &msg); + + private: + int mParent1; + int mParent2; }; } // namespace EAthena diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index c0231aa54..123db93f8 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -378,6 +378,7 @@ #define CMSG_MAIL_SEND 0x0248 #define CMSG_ASK_FOR_CHILD 0x01f9 +#define CMSG_ASK_FOR_CHILD_REPLY 0x01f7 #define SMSG_SOLVE_CHAR_NAME 0x0194 #define SMSG_SKILL_CASTING 0x07fb |