diff --git a/Include/Core/Debug.hpp b/Include/Core/Debug.hpp index 85ed0e1..65435be 100644 --- a/Include/Core/Debug.hpp +++ b/Include/Core/Debug.hpp @@ -11,6 +11,7 @@ class Debug static Logger Warning; static Logger Error; static Logger Fatal; + static Logger Internal; static void ShowConsole(); static void HideConsole(); diff --git a/Include/Core/Input.hpp b/Include/Core/Input.hpp index 81e6869..f81d956 100644 --- a/Include/Core/Input.hpp +++ b/Include/Core/Input.hpp @@ -55,7 +55,6 @@ void ScrollUp(); void ScrollDown(); void MouseDown(std::int32_t B); void MouseUp(std::int32_t B); -void MouseClick(std::int32_t B); void MouseMove(Point P); void MouseMove(std::int32_t X, std::int32_t Y); void KeyDown(std::int32_t K); diff --git a/Include/Game/Core.hpp b/Include/Game/Core.hpp index 420bd24..3810bf5 100644 --- a/Include/Game/Core.hpp +++ b/Include/Game/Core.hpp @@ -17,6 +17,7 @@ #include "Interfaces/Mainscreen.hpp" #include "Interfaces/Menu.hpp" #include "Interfaces/Minimap.hpp" +#include "Interfaces/Trade.hpp" #include "Interfaces/GameTabs/Clan.hpp" #include "Interfaces/GameTabs/Combat.hpp" #include "Interfaces/GameTabs/Emotes.hpp" diff --git a/Include/Game/Interactable/GroundItem.hpp b/Include/Game/Interactable/GroundItem.hpp new file mode 100644 index 0000000..2659492 --- /dev/null +++ b/Include/Game/Interactable/GroundItem.hpp @@ -0,0 +1,35 @@ +#ifndef INTERACTABLEGROUNDITEM_HPP_INCLUDED +#define INTERACTABLEGROUNDITEM_HPP_INCLUDED + +#include "../../Core/Classes/GroundItem.hpp" +#include "../../Core/Classes/ObjectInfo.hpp" +#include "../../Core/Types/Tile.hpp" +#include "../../Core/Types/Point.hpp" +#include "../../Core/Types/Convex.hpp" +#include + +namespace Interactable +{ + class GroundItem : public Internal::GroundItem + { + private: + std::int32_t X; + std::int32_t Y; + public: + GroundItem(const Internal::GroundItem& G); + GroundItem(const Internal::GroundItem& G, std::int32_t X, std::int32_t Y); + GroundItem(const GroundItem& G); + + std::int32_t GetID() const; + std::string GetName() const; + Tile GetTile() const; + Internal::ObjectInfo GetInfo() const; + std::vector GetModel() const; + Convex GetConvex() const; + + operator Internal::GroundItem() const; + }; +} + + +#endif // INTERACTABLEGROUNDITEM_HPP_INCLUDED diff --git a/Include/Game/Interactable/Player.hpp b/Include/Game/Interactable/Player.hpp index 19aa33d..fe25e5f 100644 --- a/Include/Game/Interactable/Player.hpp +++ b/Include/Game/Interactable/Player.hpp @@ -23,6 +23,7 @@ namespace Interactable Internal::Character GetInteracting() const; bool Interacting() const; bool Interacting(const Internal::Character& C) const; + bool Interact(const std::string& Option) const; operator Internal::Player() const; }; diff --git a/Include/Game/Interfaces/Menu.hpp b/Include/Game/Interfaces/Menu.hpp index 929dbc9..26f163e 100644 --- a/Include/Game/Interfaces/Menu.hpp +++ b/Include/Game/Interfaces/Menu.hpp @@ -16,6 +16,7 @@ class Menu static bool Open(); static std::int32_t GetCount(); + static std::vector GetActionsRaw(); static std::vector GetActions(); static std::vector GetTargetsRaw(); static std::vector GetTargets(); diff --git a/Include/Game/Interfaces/Trade.hpp b/Include/Game/Interfaces/Trade.hpp new file mode 100644 index 0000000..714b57c --- /dev/null +++ b/Include/Game/Interfaces/Trade.hpp @@ -0,0 +1,24 @@ +#ifndef TRADE_HPP_INCLUDED +#define TRADE_HPP_INCLUDED + +#include +#include +#include + +class Trade +{ + public: + static bool IsOpen(); + + static std::vector GetYourOfferItemIDs(); + static std::vector GetYourOfferItemNames(); + static std::vector GetYourOfferItemAmounts(); + + static std::vector GetTheirOfferItemIDs(); + static std::vector GetTheirOfferItemNames(); + static std::vector GetTheirOfferItemAmounts(); + + +}; + +#endif // TRADE_HPP_INCLUDED diff --git a/Include/Game/Tools/Widgets.hpp b/Include/Game/Tools/Widgets.hpp index 22d0fb9..ce18013 100644 --- a/Include/Game/Tools/Widgets.hpp +++ b/Include/Game/Tools/Widgets.hpp @@ -60,12 +60,12 @@ class Widgets * @brief Returns the specified Widget by Parent ID * @code std::vector BankParent = Widgets::Get(15); @endcode */ - static std::vector Get(std::int32_t Parent); + static std::vector GetAll(std::int32_t Parent); /** * @brief Returns the specified Widget by Parent, and Child ID * @code Widget BankInventory = Widgets::Get(15, 3); @endcode */ - static Internal::Widget Get(std::int32_t Parent, std::int32_t Child); + static Internal::Widget Get(std::int32_t Parent, std::int32_t Child = -1); /** * @brief Returns the specified Widget by Parent, and Child, and Grandchild ID * @code Widget BankCloseButton = Widgets::Get(12, 3, 11); @endcode @@ -78,7 +78,7 @@ class Widgets * std::vector Widgets = Widgets::Get(WTextEquals); @endcode * Will return all Widgets whose Text equals Enter Amount */ - static std::vector Get(const std::function& Filter); + static std::vector GetAll(const std::function& Filter); }; diff --git a/Library/libAlpacaLibrary.a b/Library/libAlpacaLibrary.a index 3c7e082..cf55088 100644 Binary files a/Library/libAlpacaLibrary.a and b/Library/libAlpacaLibrary.a differ