summaryrefslogtreecommitdiff
path: root/src/net/tmwserv
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/tmwserv')
-rw-r--r--src/net/tmwserv/inventoryhandler.cpp3
-rw-r--r--src/net/tmwserv/playerhandler.cpp3
-rw-r--r--src/net/tmwserv/tradehandler.cpp2
3 files changed, 7 insertions, 1 deletions
diff --git a/src/net/tmwserv/inventoryhandler.cpp b/src/net/tmwserv/inventoryhandler.cpp
index d78c8318..8110fdd2 100644
--- a/src/net/tmwserv/inventoryhandler.cpp
+++ b/src/net/tmwserv/inventoryhandler.cpp
@@ -100,6 +100,9 @@ void InventoryHandler::unequipItem(const Item *item)
MessageOut msg(PGMSG_UNEQUIP);
msg.writeInt8(item->getInvIndex());
Net::GameServer::connection->send(msg);
+
+ // Tidy equipment directly to avoid weapon still shown bug, for instance
+ player_node->mEquipment->setEquipment(item->getInvIndex(), 0);
}
void InventoryHandler::useItem(const Item *item)
diff --git a/src/net/tmwserv/playerhandler.cpp b/src/net/tmwserv/playerhandler.cpp
index c7769ede..b697e8a8 100644
--- a/src/net/tmwserv/playerhandler.cpp
+++ b/src/net/tmwserv/playerhandler.cpp
@@ -29,6 +29,7 @@
#include "net/messagein.h"
#include "net/messageout.h"
+#include "net/net.h"
#include "effectmanager.h"
#include "engine.h"
@@ -81,7 +82,7 @@ namespace {
{
void action(const gcn::ActionEvent &event)
{
- player_node->revive();
+ Net::getPlayerHandler()->respawn();
deathNotice = NULL;
buyDialog->setVisible(false);
sellDialog->setVisible(false);
diff --git a/src/net/tmwserv/tradehandler.cpp b/src/net/tmwserv/tradehandler.cpp
index 4c462a3f..74789a34 100644
--- a/src/net/tmwserv/tradehandler.cpp
+++ b/src/net/tmwserv/tradehandler.cpp
@@ -167,6 +167,8 @@ void TradeHandler::request(Being *being)
void TradeHandler::respond(bool accept)
{
// TODO
+ if (!accept)
+ player_node->setTrading(false);
}
void TradeHandler::addItem(Item *item, int amount)