summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/tradehandler.cpp25
-rw-r--r--src/net/eathena/tradehandler.h2
2 files changed, 27 insertions, 0 deletions
diff --git a/src/net/eathena/tradehandler.cpp b/src/net/eathena/tradehandler.cpp
index f73584deb..4de0ee779 100644
--- a/src/net/eathena/tradehandler.cpp
+++ b/src/net/eathena/tradehandler.cpp
@@ -26,6 +26,8 @@
#include "being/playerinfo.h"
+#include "gui/windows/tradewindow.h"
+
#include "net/eathena/messageout.h"
#include "net/eathena/protocol.h"
@@ -166,4 +168,27 @@ void TradeHandler::processTradeResponse2(Net::MessageIn &msg) const
msg.readInt16("base level");
}
+void TradeHandler::processTradeItemAdd(Net::MessageIn &msg)
+{
+ const int amount = msg.readInt32();
+ const int type = msg.readInt16();
+ const uint8_t identify = msg.readUInt8(); // identified flag
+ msg.readUInt8(); // attribute
+ const uint8_t refine = msg.readUInt8(); // refine
+ msg.skip(8); // card (4 shorts)
+
+ if (tradeWindow)
+ {
+ if (type == 0)
+ {
+ tradeWindow->setMoney(amount);
+ }
+ else
+ {
+ tradeWindow->addItem2(type, false, amount,
+ refine, identify, false);
+ }
+ }
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/tradehandler.h b/src/net/eathena/tradehandler.h
index f112c8426..929b48ced 100644
--- a/src/net/eathena/tradehandler.h
+++ b/src/net/eathena/tradehandler.h
@@ -58,6 +58,8 @@ class TradeHandler final : public MessageHandler, public Ea::TradeHandler
void processTradeRequest(Net::MessageIn &msg) const;
void processTradeResponse2(Net::MessageIn &msg) const;
+
+ static void processTradeItemAdd(Net::MessageIn &msg);
};
} // namespace EAthena