From 88735abcdaf6e25a008f76c9a82730e8be9773f8 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 19 Mar 2015 01:07:51 +0300 Subject: eathena: add partial support for packet SMSG_ROULETTE_GENERATE_ACK_TYPE 0x0a20. --- src/net/eathena/packets.h | 2 +- src/net/eathena/protocol.h | 1 + src/net/eathena/roulettehandler.cpp | 17 +++++++++++++++++ src/net/eathena/roulettehandler.h | 2 ++ 4 files changed, 21 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h index 4d869efc4..3ed20e5fa 100644 --- a/src/net/eathena/packets.h +++ b/src/net/eathena/packets.h @@ -261,7 +261,7 @@ int16_t packet_lengths[] = // #0x0A00 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 344, 0, 0, 7, - 0, 0, 5, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, + 21, 0, 5, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // #0x0A40 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index 547597741..5fb5b9ba0 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -453,6 +453,7 @@ #define SMSG_ROULETTE_INFO_ACK_TYPE 0x0a1c #define SMSG_ROULETTE_RECV_ITEM_ACK 0x0a22 +#define SMSG_ROULETTE_GENERATE_ACK_TYPE 0x0a20 /********************************** * Packets from client to server * diff --git a/src/net/eathena/roulettehandler.cpp b/src/net/eathena/roulettehandler.cpp index f8c330527..1f22e3f36 100644 --- a/src/net/eathena/roulettehandler.cpp +++ b/src/net/eathena/roulettehandler.cpp @@ -39,6 +39,7 @@ RouletteHandler::RouletteHandler() : { SMSG_ROULETTE_INFO_ACK_TYPE, SMSG_ROULETTE_RECV_ITEM_ACK, + SMSG_ROULETTE_GENERATE_ACK_TYPE, 0 }; handledMessages = _messages; @@ -57,6 +58,10 @@ void RouletteHandler::handleMessage(Net::MessageIn &msg) processRouletteItemAck(msg); break; + case SMSG_ROULETTE_GENERATE_ACK_TYPE: + processRouletteGenerateAckType(msg); + break; + default: break; } @@ -84,4 +89,16 @@ void RouletteHandler::processRouletteItemAck(Net::MessageIn &msg) msg.readInt16("item id"); } +void RouletteHandler::processRouletteGenerateAckType(Net::MessageIn &msg) +{ + UNIMPLIMENTEDPACKET; + msg.readUInt8("result"); + msg.readInt16("step"); + msg.readInt16("idx"); + msg.readInt16("item id"); + msg.readInt32("remain gold"); + msg.readInt32("remain silver"); + msg.readInt32("remain bronze"); +} + } // namespace EAthena diff --git a/src/net/eathena/roulettehandler.h b/src/net/eathena/roulettehandler.h index 72b497e92..66028be62 100644 --- a/src/net/eathena/roulettehandler.h +++ b/src/net/eathena/roulettehandler.h @@ -41,6 +41,8 @@ class RouletteHandler final : public MessageHandler, static void processRouletteInfoAckType(Net::MessageIn &msg); static void processRouletteItemAck(Net::MessageIn &msg); + + static void processRouletteGenerateAckType(Net::MessageIn &msg); }; } // namespace EAthena -- cgit v1.2.3-60-g2f50