summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-12-24 15:22:18 +0300
committerAndrei Karas <akaras@inbox.ru>2014-12-24 15:22:18 +0300
commit1f7122e76f28ec851ef7d9361396575dde381287 (patch)
treecd77ab798b0f525b8870acb9c3bd87ee3ca62ab7
parent8f49aa549ba451768c6748ca0ffb2d5bdb5a0eaf (diff)
downloadmv-1f7122e76f28ec851ef7d9361396575dde381287.tar.gz
mv-1f7122e76f28ec851ef7d9361396575dde381287.tar.bz2
mv-1f7122e76f28ec851ef7d9361396575dde381287.tar.xz
mv-1f7122e76f28ec851ef7d9361396575dde381287.zip
eathena: add partial support for packet SMSG_NPC_CASH_BUY_ACK 0x0289.
-rw-r--r--src/net/eathena/cashshophandler.cpp12
-rw-r--r--src/net/eathena/cashshophandler.h2
-rw-r--r--src/net/eathena/packets.h2
-rw-r--r--src/net/eathena/protocol.h1
4 files changed, 16 insertions, 1 deletions
diff --git a/src/net/eathena/cashshophandler.cpp b/src/net/eathena/cashshophandler.cpp
index 56e7bac25..2ae0c67be 100644
--- a/src/net/eathena/cashshophandler.cpp
+++ b/src/net/eathena/cashshophandler.cpp
@@ -36,6 +36,7 @@ CashShopHandler::CashShopHandler() :
static const uint16_t _messages[] =
{
SMSG_NPC_CASH_SHOP_OPEN,
+ SMSG_NPC_CASH_BUY_ACK,
0
};
handledMessages = _messages;
@@ -50,6 +51,10 @@ void CashShopHandler::handleMessage(Net::MessageIn &msg)
processCashShopOpen(msg);
break;
+ case SMSG_NPC_CASH_BUY_ACK:
+ processCashShopBuyAck(msg);
+ break;
+
default:
break;
}
@@ -69,6 +74,13 @@ void CashShopHandler::processCashShopOpen(Net::MessageIn &msg)
}
}
+void CashShopHandler::processCashShopBuyAck(Net::MessageIn &msg)
+{
+ msg.readInt32("cash points");
+ msg.readInt32("kafra points");
+ msg.readInt16("error");
+}
+
void CashShopHandler::buy(const int points,
const int itemId,
const unsigned char color A_UNUSED,
diff --git a/src/net/eathena/cashshophandler.h b/src/net/eathena/cashshophandler.h
index fa781f74a..00f272d69 100644
--- a/src/net/eathena/cashshophandler.h
+++ b/src/net/eathena/cashshophandler.h
@@ -44,6 +44,8 @@ class CashShopHandler final : public MessageHandler,
protected:
static void processCashShopOpen(Net::MessageIn &msg);
+
+ static void processCashShopBuyAck(Net::MessageIn &msg);
};
} // namespace EAthena
diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h
index 336f1311c..8b88eeb8c 100644
--- a/src/net/eathena/packets.h
+++ b/src/net/eathena/packets.h
@@ -93,7 +93,7 @@ int16_t packet_lengths[] =
6, 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,
// #0x0280
- 0, 0, 0, 6, 14, 0, 0, -1, 0, 0, 18, 0, 0, 0, 4, 0,
+ 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,
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,
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 53214e876..c7237187d 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -152,6 +152,7 @@
#define SMSG_NPC_MARKET_OPEN 0x09d5
#define SMSG_NPC_MARKET_BUY_ACK 0x09d7
#define SMSG_NPC_CASH_SHOP_OPEN 0x0287
+#define SMSG_NPC_CASH_BUY_ACK 0x0289
#define SMSG_PLAYER_CHAT 0x008e /**< Player talks */
#define SMSG_WHISPER 0x0097 /**< Whisper Recieved */