summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-01-06 13:50:52 +0300
committerAndrei Karas <akaras@inbox.ru>2015-01-06 13:50:52 +0300
commit2452dcf6d7a55fbccccfd7ea426d0e976023a52a (patch)
tree3c8a5b9456ec215208b4bef61289a08b30eb0098
parent0335e7660cd45d85cbd912510b9d2967bdba553d (diff)
downloadplus-2452dcf6d7a55fbccccfd7ea426d0e976023a52a.tar.gz
plus-2452dcf6d7a55fbccccfd7ea426d0e976023a52a.tar.bz2
plus-2452dcf6d7a55fbccccfd7ea426d0e976023a52a.tar.xz
plus-2452dcf6d7a55fbccccfd7ea426d0e976023a52a.zip
eathena: add packet CMSG_AUCTION_SET_ITEM 0x024c.
-rw-r--r--src/net/auctionhandler.h5
-rw-r--r--src/net/eathena/auctionhandler.cpp13
-rw-r--r--src/net/eathena/auctionhandler.h3
-rw-r--r--src/net/eathena/protocol.h1
-rw-r--r--src/net/tmwa/auctionhandler.cpp5
-rw-r--r--src/net/tmwa/auctionhandler.h3
6 files changed, 30 insertions, 0 deletions
diff --git a/src/net/auctionhandler.h b/src/net/auctionhandler.h
index 75da1ca2e..b449faa31 100644
--- a/src/net/auctionhandler.h
+++ b/src/net/auctionhandler.h
@@ -25,6 +25,8 @@
#include "localconsts.h"
+class Item;
+
namespace Net
{
@@ -35,6 +37,9 @@ class AuctionHandler notfinal
{ }
virtual void cancelRequest() const = 0;
+
+ virtual void setItem(const Item *const item,
+ const int amount) const = 0;
};
} // namespace Net
diff --git a/src/net/eathena/auctionhandler.cpp b/src/net/eathena/auctionhandler.cpp
index 679786bb6..bcdc94aea 100644
--- a/src/net/eathena/auctionhandler.cpp
+++ b/src/net/eathena/auctionhandler.cpp
@@ -20,6 +20,10 @@
#include "net/eathena/auctionhandler.h"
+#include "item.h"
+
+#include "net/ea/eaprotocol.h"
+
#include "net/eathena/messageout.h"
#include "net/eathena/protocol.h"
@@ -106,4 +110,13 @@ void AuctionHandler::cancelRequest() const
outMsg.writeInt16(0, "type"); // unused
}
+void AuctionHandler::setItem(const Item *const item,
+ const int amount) const
+{
+ createOutPacket(CMSG_AUCTION_SET_ITEM);
+ outMsg.writeInt16(static_cast<int16_t>(
+ item->getInvIndex() + INVENTORY_OFFSET), "index");
+ outMsg.writeInt32(amount, "amount"); // always 1
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/auctionhandler.h b/src/net/eathena/auctionhandler.h
index a4c166613..d1c4a2b53 100644
--- a/src/net/eathena/auctionhandler.h
+++ b/src/net/eathena/auctionhandler.h
@@ -38,6 +38,9 @@ class AuctionHandler final : public MessageHandler, public Net::AuctionHandler
void cancelRequest() const override final;
+ void setItem(const Item *const item,
+ const int amount) const override final;
+
protected:
static void processOpenWindow(Net::MessageIn &msg);
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index b02b6e79c..e57cfd197 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -515,5 +515,6 @@
#define CMSG_FRIENDS_DELETE_PLAYER 0x020a
#define CMSG_AUCTION_CANCEL_REQUEST 0x024b
+#define CMSG_AUCTION_SET_ITEM 0x024c
#endif // NET_EATHENA_PROTOCOL_H
diff --git a/src/net/tmwa/auctionhandler.cpp b/src/net/tmwa/auctionhandler.cpp
index e14d0d375..6197c7db8 100644
--- a/src/net/tmwa/auctionhandler.cpp
+++ b/src/net/tmwa/auctionhandler.cpp
@@ -46,4 +46,9 @@ void AuctionHandler::cancelRequest() const
{
}
+void AuctionHandler::setItem(const Item *const item A_UNUSED,
+ const int amount A_UNUSED) const
+{
+}
+
} // namespace TmwAthena
diff --git a/src/net/tmwa/auctionhandler.h b/src/net/tmwa/auctionhandler.h
index c3c624ea4..873d987e3 100644
--- a/src/net/tmwa/auctionhandler.h
+++ b/src/net/tmwa/auctionhandler.h
@@ -38,6 +38,9 @@ class AuctionHandler final : public MessageHandler, public Net::AuctionHandler
void handleMessage(Net::MessageIn &msg) override final;
void cancelRequest() const override final;
+
+ void setItem(const Item *const item,
+ const int amount) const override final;
};
} // namespace TmwAthena