summaryrefslogtreecommitdiff
path: root/src/gui/sell.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/sell.cpp')
-rw-r--r--src/gui/sell.cpp28
1 files changed, 27 insertions, 1 deletions
diff --git a/src/gui/sell.cpp b/src/gui/sell.cpp
index fe391636..22f56195 100644
--- a/src/gui/sell.cpp
+++ b/src/gui/sell.cpp
@@ -33,14 +33,23 @@
#include "../units.h"
#include "../net/messageout.h"
-#include "../net/protocol.h"
+#ifdef TMWSERV_SUPPORT
+#include "../net/tmwserv/gameserver/player.h"
+#else
+#include "../net/ea/protocol.h"
+#endif
#include "../utils/gettext.h"
#include "../utils/strprintf.h"
+#ifdef TMWSERV_SUPPORT
+SellDialog::SellDialog():
+ Window(_("Sell")),
+#else
SellDialog::SellDialog(Network *network):
Window(_("Sell")),
mNetwork(network),
+#endif
mMaxItems(0), mAmountItems(0)
{
setWindowName("Sell");
@@ -123,6 +132,16 @@ void SellDialog::reset()
updateButtonsAndLabels();
}
+#ifdef TMWSERV_SUPPORT
+
+void SellDialog::addItem(int item, int amount, int price)
+{
+ mShopItems->addItem(item, amount, price);
+ mShopItemList->adjustSize();
+}
+
+#else
+
void SellDialog::addItem(const Item *item, int price)
{
if (!item)
@@ -134,6 +153,8 @@ void SellDialog::addItem(const Item *item, int price)
mShopItemList->adjustSize();
}
+#endif
+
void SellDialog::action(const gcn::ActionEvent &event)
{
if (event.getId() == "quit")
@@ -177,6 +198,10 @@ void SellDialog::action(const gcn::ActionEvent &event)
else if (event.getId() == "sell" && mAmountItems > 0
&& mAmountItems <= mMaxItems)
{
+#ifdef TMWSERV_SUPPORT
+ Net::GameServer::Player::tradeWithNPC
+ (mShopItems->at(selectedItem)->getId(), mAmountItems);
+#else
// Attempt sell
MessageOut outMsg(mNetwork);
@@ -195,6 +220,7 @@ void SellDialog::action(const gcn::ActionEvent &event)
mAmountItems -= sellCount;
outMsg.writeInt16(sellCount);
}
+#endif
mPlayerMoney +=
mAmountItems * mShopItems->at(selectedItem)->getPrice();