summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-03-19 01:07:51 +0300
committerAndrei Karas <akaras@inbox.ru>2015-03-19 01:07:51 +0300
commit88735abcdaf6e25a008f76c9a82730e8be9773f8 (patch)
treeaaba327ed3d78e451c0c475d857e8574e6a93ad9
parentad6e16920c66c3b10c60e000a0ebc20da570bd94 (diff)
downloadplus-88735abcdaf6e25a008f76c9a82730e8be9773f8.tar.gz
plus-88735abcdaf6e25a008f76c9a82730e8be9773f8.tar.bz2
plus-88735abcdaf6e25a008f76c9a82730e8be9773f8.tar.xz
plus-88735abcdaf6e25a008f76c9a82730e8be9773f8.zip
eathena: add partial support for packet SMSG_ROULETTE_GENERATE_ACK_TYPE 0x0a20.
-rw-r--r--src/net/eathena/packets.h2
-rw-r--r--src/net/eathena/protocol.h1
-rw-r--r--src/net/eathena/roulettehandler.cpp17
-rw-r--r--src/net/eathena/roulettehandler.h2
4 files changed, 21 insertions, 1 deletions
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