summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-03-12 18:04:15 +0300
committerAndrei Karas <akaras@inbox.ru>2015-03-12 18:04:15 +0300
commit841c5a9c5fdba7c9607a3fcd9a2bf40e20bcca7f (patch)
treeec2c8e6db9352fa4bf7245716d3a319c1fb950fa
parent2c08eba0c8abd2eb3c09b1a916a5f6693c6ae7c0 (diff)
downloadplus-841c5a9c5fdba7c9607a3fcd9a2bf40e20bcca7f.tar.gz
plus-841c5a9c5fdba7c9607a3fcd9a2bf40e20bcca7f.tar.bz2
plus-841c5a9c5fdba7c9607a3fcd9a2bf40e20bcca7f.tar.xz
plus-841c5a9c5fdba7c9607a3fcd9a2bf40e20bcca7f.zip
eathena: add partial support for packet SMSG_BOSS_MAP_INFO 0x0293.
-rw-r--r--src/net/eathena/beinghandler.cpp19
-rw-r--r--src/net/eathena/beinghandler.h2
-rw-r--r--src/net/eathena/packets.h2
-rw-r--r--src/net/eathena/protocol.h1
4 files changed, 23 insertions, 1 deletions
diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp
index 3d17e8cfc..aaac021ab 100644
--- a/src/net/eathena/beinghandler.cpp
+++ b/src/net/eathena/beinghandler.cpp
@@ -131,6 +131,7 @@ BeingHandler::BeingHandler(const bool enableSync) :
SMSG_TAEKWON_RANKS_LIST,
SMSG_PK_RANKS_LIST,
SMSG_GLADIATOR_FEEL_REQUEST,
+ SMSG_BOSS_MAP_INFO,
0
};
handledMessages = _messages;
@@ -383,6 +384,10 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
processGladiatorFeelRequest(msg);
break;
+ case SMSG_BOSS_MAP_INFO:
+ processBossMapInfo(msg);
+ break;
+
default:
break;
}
@@ -1830,4 +1835,18 @@ void BeingHandler::processGladiatorFeelRequest(Net::MessageIn &msg)
msg.readUInt8("which");
}
+void BeingHandler::processBossMapInfo(Net::MessageIn &msg)
+{
+ UNIMPLIMENTEDPACKET;
+
+ msg.readUInt8("info type");
+ msg.readInt32("x");
+ msg.readInt32("y");
+ msg.readInt16("min hours");
+ msg.readInt16("min minutes");
+ msg.readInt16("max hours");
+ msg.readInt16("max minutes");
+ msg.readString(24, "monster name"); // really can be used 51 byte?
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/beinghandler.h b/src/net/eathena/beinghandler.h
index 791f6a81e..b11553b09 100644
--- a/src/net/eathena/beinghandler.h
+++ b/src/net/eathena/beinghandler.h
@@ -150,6 +150,8 @@ class BeingHandler final : public MessageHandler, public Ea::BeingHandler
static void processPkRanksList(Net::MessageIn &msg);
static void processGladiatorFeelRequest(Net::MessageIn &msg);
+
+ static void processBossMapInfo(Net::MessageIn &msg);
};
} // namespace EAthena
diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h
index 980bd1e7a..a7d355560 100644
--- a/src/net/eathena/packets.h
+++ b/src/net/eathena/packets.h
@@ -94,7 +94,7 @@ int16_t packet_lengths[] =
0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// #0x0280
0, 0, 0, 6, 14, 0, 0, -1, 0, 12, 18, 0, 0, 0, 4, 0,
- 4, 4, 0, 0, 0, 0, 0, 0, 8, 6, 0, 80, 0, -1, 0, 0,
+ 4, 4, 0, 70, 0, 0, 0, 0, 8, 6, 0, 80, 0, -1, 0, 0,
0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, -1, -1, 107, 6, -1, 0, 7, 22, 191, 0, 0, 0, 0, 0, 0,
// #0x02C0
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index bb8b8bfa0..353278842 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -157,6 +157,7 @@
#define SMSG_IGNORE_NICK_ACK 0x00d1
#define SMSG_STARS_KILL 0x020e
#define SMSG_GLADIATOR_FEEL_REQUEST 0x0253
+#define SMSG_BOSS_MAP_INFO 0x0293
#define SMSG_PLAYER_STATUS_CHANGE 0x0229
#define SMSG_PLAYER_STATUS_CHANGE2 0x028a