From 823aa3ec75e3d7388bafffa5dd7d1fb36a54e7ce Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 17 Mar 2015 23:48:23 +0300 Subject: eathena: add partial support for packet SMSG_AUTOSHADOW_SPELL_LIST 0x0442. --- src/net/eathena/packets.h | 2 +- src/net/eathena/playerhandler.cpp | 13 +++++++++++++ src/net/eathena/playerhandler.h | 2 ++ src/net/eathena/protocol.h | 1 + 4 files changed, 17 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h index 798465f2d..1c4921d16 100644 --- a/src/net/eathena/packets.h +++ b/src/net/eathena/packets.h @@ -132,7 +132,7 @@ int16_t packet_lengths[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 25, // #0x0440 - 10, 4, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 4, -1, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, diff --git a/src/net/eathena/playerhandler.cpp b/src/net/eathena/playerhandler.cpp index 500ece81e..94d974be5 100644 --- a/src/net/eathena/playerhandler.cpp +++ b/src/net/eathena/playerhandler.cpp @@ -70,6 +70,7 @@ PlayerHandler::PlayerHandler() : SMSG_PLAYER_FAME_TAEKWON, SMSG_PLAYER_READ_BOOK, SMSG_PLAYER_EQUIP_TICK_ACK, + SMSG_AUTOSHADOW_SPELL_LIST, 0 }; handledMessages = _messages; @@ -181,6 +182,10 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg) processPlayerEquipTickAck(msg); break; + case SMSG_AUTOSHADOW_SPELL_LIST: + processPlayerAutoShadowSpellList(msg); + break; + default: break; } @@ -597,4 +602,12 @@ void PlayerHandler::processPlayerEquipTickAck(Net::MessageIn &msg) msg.readInt32("flag"); } +void PlayerHandler::processPlayerAutoShadowSpellList(Net::MessageIn &msg) +{ + UNIMPLIMENTEDPACKET; + const int count = (msg.readInt16("len") - 8) / 2; + for (int f = 0; f < count; f ++) + msg.readInt16("skill id"); +} + } // namespace EAthena diff --git a/src/net/eathena/playerhandler.h b/src/net/eathena/playerhandler.h index 1ff72b067..016e9baa8 100644 --- a/src/net/eathena/playerhandler.h +++ b/src/net/eathena/playerhandler.h @@ -104,6 +104,8 @@ class PlayerHandler final : public MessageHandler, public Ea::PlayerHandler static void processPlayerReadBook(Net::MessageIn &msg); static void processPlayerEquipTickAck(Net::MessageIn &msg); + + static void processPlayerAutoShadowSpellList(Net::MessageIn &msg); }; } // namespace EAthena diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index 359583bdf..08235bbfc 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -163,6 +163,7 @@ #define SMSG_GLADIATOR_FEEL_REQUEST 0x0253 #define SMSG_BOSS_MAP_INFO 0x0293 #define SMSG_ITEM_DAMAGED 0x02bb +#define SMSG_AUTOSHADOW_SPELL_LIST 0x0442 #define SMSG_PLAYER_STATUS_CHANGE 0x0229 #define SMSG_PLAYER_STATUS_CHANGE2 0x028a -- cgit v1.2.3-70-g09d2