diff --git a/src/ui/game/CGTradeInfo.cpp b/src/ui/game/CGTradeInfo.cpp new file mode 100644 index 0000000..6eb5e49 --- /dev/null +++ b/src/ui/game/CGTradeInfo.cpp @@ -0,0 +1,12 @@ +#include "ui/game/CGTradeInfo.hpp" + +uint32_t CGTradeInfo::s_playerMoney; +WOWGUID CGTradeInfo::s_tradingPlayer; + +uint32_t CGTradeInfo::GetPlayerTradeMoney() { + return CGTradeInfo::s_playerMoney; +} + +WOWGUID CGTradeInfo::GetTradePartner() { + return CGTradeInfo::s_tradingPlayer; +} diff --git a/src/ui/game/CGTradeInfo.hpp b/src/ui/game/CGTradeInfo.hpp new file mode 100644 index 0000000..5ae17b5 --- /dev/null +++ b/src/ui/game/CGTradeInfo.hpp @@ -0,0 +1,19 @@ +#ifndef UI_GAME_C_G_TRADE_INFO_HPP +#define UI_GAME_C_G_TRADE_INFO_HPP + +#include "util/GUID.hpp" +#include + +class CGTradeInfo { + public: + // Public static functions + static uint32_t GetPlayerTradeMoney(); + static WOWGUID GetTradePartner(); + + private: + // Private static variables + static uint32_t s_playerMoney; + static WOWGUID s_tradingPlayer; +}; + +#endif diff --git a/src/ui/game/TradeInfoScript.cpp b/src/ui/game/TradeInfoScript.cpp index 6de2d43..185c95d 100644 --- a/src/ui/game/TradeInfoScript.cpp +++ b/src/ui/game/TradeInfoScript.cpp @@ -1,5 +1,7 @@ #include "ui/game/TradeInfoScript.hpp" #include "ui/FrameScript.hpp" +#include "ui/game/CGTradeInfo.hpp" +#include "util/Lua.hpp" #include "util/Unimplemented.hpp" namespace { @@ -41,7 +43,13 @@ int32_t Script_CancelTradeAccept(lua_State* L) { } int32_t Script_GetPlayerTradeMoney(lua_State* L) { - WHOA_UNIMPLEMENTED(0); + if (CGTradeInfo::GetTradePartner()) { + lua_pushnumber(L, CGTradeInfo::GetPlayerTradeMoney()); + } else { + lua_pushnumber(L, 0); + } + + return 1; } int32_t Script_GetTargetTradeMoney(lua_State* L) {