diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-03-17 23:48:23 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-03-17 23:48:23 +0300 |
commit | 823aa3ec75e3d7388bafffa5dd7d1fb36a54e7ce (patch) | |
tree | 8ceae54ede2df12e048ed86aa829550335af0154 | |
parent | 593aa06d1c7b9bd68c1d47e2967db3cac41c8368 (diff) | |
download | mv-823aa3ec75e3d7388bafffa5dd7d1fb36a54e7ce.tar.gz mv-823aa3ec75e3d7388bafffa5dd7d1fb36a54e7ce.tar.bz2 mv-823aa3ec75e3d7388bafffa5dd7d1fb36a54e7ce.tar.xz mv-823aa3ec75e3d7388bafffa5dd7d1fb36a54e7ce.zip |
eathena: add partial support for packet SMSG_AUTOSHADOW_SPELL_LIST 0x0442.
-rw-r--r-- | src/net/eathena/packets.h | 2 | ||||
-rw-r--r-- | src/net/eathena/playerhandler.cpp | 13 | ||||
-rw-r--r-- | src/net/eathena/playerhandler.h | 2 | ||||
-rw-r--r-- | src/net/eathena/protocol.h | 1 |
4 files changed, 17 insertions, 1 deletions
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 |