diff --git a/src/otclient/core/game.cpp b/src/otclient/core/game.cpp index 93e415ec..dd29eb7d 100644 --- a/src/otclient/core/game.cpp +++ b/src/otclient/core/game.cpp @@ -384,9 +384,14 @@ void Game::processCloseNpcTrade() g_lua.callGlobalField("g_game", "onCloseNpcTrade"); } -void Game::processOpenTrade(const std::string& name, const std::vector& items) +void Game::processOwnTrade(const std::string& name, const std::vector& items) { - g_lua.callGlobalField("g_game", "onOpenTrade", name, items); + g_lua.callGlobalField("g_game", "onOwnTrade", name, items); +} + +void Game::processCounterTrade(const std::string& name, const std::vector& items) +{ + g_lua.callGlobalField("g_game", "onCounterTrade", name, items); } void Game::processCloseTrade() diff --git a/src/otclient/core/game.h b/src/otclient/core/game.h index fc9e32c0..a2b93277 100644 --- a/src/otclient/core/game.h +++ b/src/otclient/core/game.h @@ -110,7 +110,8 @@ protected: void processCloseNpcTrade(); // player trade - void processOpenTrade(const std::string& name, const std::vector& items); + void processOwnTrade(const std::string& name, const std::vector& items); + void processCounterTrade(const std::string& name, const std::vector& items); void processCloseTrade(); // edit text/list diff --git a/src/otclient/core/spritemanager.cpp b/src/otclient/core/spritemanager.cpp index 5aca9b29..c0816cd6 100644 --- a/src/otclient/core/spritemanager.cpp +++ b/src/otclient/core/spritemanager.cpp @@ -26,7 +26,6 @@ #include #include #include -#include SpriteManager g_sprites; diff --git a/src/otclient/core/spritemanager.h b/src/otclient/core/spritemanager.h index e2780804..34fdc37f 100644 --- a/src/otclient/core/spritemanager.h +++ b/src/otclient/core/spritemanager.h @@ -25,7 +25,6 @@ #include #include -#include class SpriteManager { diff --git a/src/otclient/net/protocolgame.h b/src/otclient/net/protocolgame.h index 2aa89027..7a6867e4 100644 --- a/src/otclient/net/protocolgame.h +++ b/src/otclient/net/protocolgame.h @@ -168,7 +168,8 @@ private: void parseRuleViolationRemove(InputMessage& msg); void parseRuleViolationCancel(InputMessage& msg); void parseRuleViolationLock(InputMessage& msg); - void parseOpenTrade(InputMessage& msg); + void parseOwnTrade(InputMessage& msg); + void parseCounterTrade(InputMessage& msg); void parseCloseTrade(InputMessage&); void parseTextMessage(InputMessage& msg); void parseCancelWalk(InputMessage& msg); diff --git a/src/otclient/net/protocolgameparse.cpp b/src/otclient/net/protocolgameparse.cpp index 06336520..53e57e45 100644 --- a/src/otclient/net/protocolgameparse.cpp +++ b/src/otclient/net/protocolgameparse.cpp @@ -123,10 +123,10 @@ void ProtocolGame::parseMessage(InputMessage& msg) parseCloseNpcTrade(msg); break; case Proto::GameServerOwnTrade: - parseOpenTrade(msg); + parseOwnTrade(msg); break; case Proto::GameServerCounterTrade: - parseOpenTrade(msg); + parseCounterTrade(msg); break; case Proto::GameServerCloseTrade: parseCloseTrade(msg); @@ -545,7 +545,7 @@ void ProtocolGame::parseCloseNpcTrade(InputMessage&) g_game.processCloseNpcTrade(); } -void ProtocolGame::parseOpenTrade(InputMessage& msg) +void ProtocolGame::parseOwnTrade(InputMessage& msg) { std::string name = msg.getString(); int count = msg.getU8(); @@ -554,7 +554,19 @@ void ProtocolGame::parseOpenTrade(InputMessage& msg) for(int i = 0; i < count; i++) items[i] = internalGetItem(msg); - g_game.processOpenTrade(name, items); + g_game.processOwnTrade(name, items); +} + +void ProtocolGame::parseCounterTrade(InputMessage& msg) +{ + std::string name = msg.getString(); + int count = msg.getU8(); + + std::vector items(count); + for(int i = 0; i < count; i++) + items[i] = internalGetItem(msg); + + g_game.processCounterTrade(name, items); } void ProtocolGame::parseCloseTrade(InputMessage&)