From 01e3326de8fc03cf9f61fd1b288cd4f16915484c Mon Sep 17 00:00:00 2001 From: Guillaume Melquiond Date: Mon, 13 Aug 2007 20:44:25 +0000 Subject: Implemented buy/sell handler. --- src/game-server/gamehandler.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'src/game-server/gamehandler.cpp') diff --git a/src/game-server/gamehandler.cpp b/src/game-server/gamehandler.cpp index 17ce6dee..7e860ab1 100644 --- a/src/game-server/gamehandler.cpp +++ b/src/game-server/gamehandler.cpp @@ -21,12 +21,13 @@ * $Id$ */ -#include "game-server/gamehandler.hpp" - #include #include +#include "game-server/gamehandler.hpp" + #include "game-server/accountconnection.hpp" +#include "game-server/buysell.hpp" #include "game-server/inventory.hpp" #include "game-server/item.hpp" #include "game-server/itemmanager.hpp" @@ -335,7 +336,7 @@ void GameHandler::processMessage(NetComputer *comp, MessageIn &message) } Character *q = findCharacterNear(computer.character, id); - if (!q || q->getTrading()) + if (!q || q->isBusy()) { result.writeShort(GPMSG_TRADE_CANCEL); break; @@ -366,7 +367,14 @@ void GameHandler::processMessage(NetComputer *comp, MessageIn &message) } } break; - + case PGMSG_NPC_BUYSELL: + { + BuySell *t = computer.character->getBuySell(); + if (!t) break; + int id = message.readShort(); + int amount = message.readShort(); + t->perform(id, amount); + } break; // The following messages should be handled by the chat server, not the game server. #if 0 -- cgit v1.2.3-70-g09d2