summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-15 21:11:10 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-15 21:11:10 +0300
commitc259c8285f394a56a42fb07eb2aa2e033b346954 (patch)
tree2c8343800fbc8201a127f011fc6f3379d67b6ab8 /src/net/eathena
parentd276f218f8b1b06d088fe83ae5e11ab11deaa259 (diff)
downloadmanaplus-c259c8285f394a56a42fb07eb2aa2e033b346954.tar.gz
manaplus-c259c8285f394a56a42fb07eb2aa2e033b346954.tar.bz2
manaplus-c259c8285f394a56a42fb07eb2aa2e033b346954.tar.xz
manaplus-c259c8285f394a56a42fb07eb2aa2e033b346954.zip
eathena: add partial support for packet SMSG_ASK_FOR_CHILD 0x01f6.
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/familyhandler.cpp12
-rw-r--r--src/net/eathena/familyhandler.h3
-rw-r--r--src/net/eathena/protocol.h2
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
/**********************************