diff --git a/Include/Core/Classes/DecorativeObject.hpp b/Include/Core/Classes/DecorativeObject.hpp index ef5938f..dc00005 100644 --- a/Include/Core/Classes/DecorativeObject.hpp +++ b/Include/Core/Classes/DecorativeObject.hpp @@ -18,7 +18,7 @@ namespace Internal std::int32_t GetAngle() const; std::int32_t GetFlags() const; - std::int32_t GetHash() const; + std::int64_t GetHash() const; std::int32_t GetOffsetX() const; std::int32_t GetOffsetY() const; std::int32_t GetRenderInfo() const; diff --git a/Include/Core/Classes/GameObject.hpp b/Include/Core/Classes/GameObject.hpp index 5486492..a0235c5 100644 --- a/Include/Core/Classes/GameObject.hpp +++ b/Include/Core/Classes/GameObject.hpp @@ -18,7 +18,7 @@ namespace Internal std::int32_t GetAngle() const; std::int32_t GetFlags() const; - std::int32_t GetHash() const; + std::int64_t GetHash() const; std::int32_t GetHeight() const; std::int32_t GetOffsetX() const; std::int32_t GetOffsetY() const; diff --git a/Include/Core/Classes/GroundObject.hpp b/Include/Core/Classes/GroundObject.hpp index 6255393..60cb9fb 100644 --- a/Include/Core/Classes/GroundObject.hpp +++ b/Include/Core/Classes/GroundObject.hpp @@ -16,7 +16,7 @@ namespace Internal GroundObject(const GroundObject& G); static Class GetClass(); - std::int32_t GetHash() const; + std::int64_t GetHash() const; std::int32_t GetRenderInfo() const; Renderable GetRenderable() const; std::int32_t GetX() const; diff --git a/Include/Core/Classes/WallObject.hpp b/Include/Core/Classes/WallObject.hpp index b3e3b96..96b2cc1 100644 --- a/Include/Core/Classes/WallObject.hpp +++ b/Include/Core/Classes/WallObject.hpp @@ -18,7 +18,7 @@ namespace Internal std::int32_t GetAngle() const; std::int32_t GetFlags() const; - std::int32_t GetHash() const; + std::int64_t GetHash() const; std::int32_t GetHeight() const; Renderable GetRenderable() const; std::int32_t GetX() const; diff --git a/Include/Game/Interfaces/Bank.hpp b/Include/Game/Interfaces/Bank.hpp index fd1d73a..2bbfcf6 100644 --- a/Include/Game/Interfaces/Bank.hpp +++ b/Include/Game/Interfaces/Bank.hpp @@ -57,19 +57,19 @@ class Bank static std::int32_t GetTabOf(const std::string& Name); static bool OpenTab(std::int32_t Tab); - static bool ScrollTo(std::int32_t ID, bool OpenTab = true); - static bool ScrollTo(const std::string& Name, bool OpenTab = true); + static bool ScrollTo(std::int32_t ID, bool OpenRespectiveTab = false); + static bool ScrollTo(const std::string& Name, bool OpenRespectiveTab = false); static bool InteractItemByIndex(std::int32_t ID, const std::string& Option); - static bool InteractItem(std::int32_t ID, const std::string& Option); - static bool InteractItem(const std::string& Name, const std::string& Option); + static bool InteractItem(std::int32_t ID, const std::string& Option, bool OpenRespectiveTab = false); + static bool InteractItem(const std::string& Name, const std::string& Option, bool OpenRespectiveTab = false); - static bool WithdrawXOf(std::int32_t ID, std::int32_t Amount, bool OpenTab = false); - static bool WithdrawXOf(const std::string& Name, std::int32_t Amount, bool OpenTab = false); - static bool WithdrawAllOf(std::int32_t ID, bool OpenTab = false); - static bool WithdrawAllOf(const std::string& Name, bool OpenTab = false); - static bool WithdrawAllButOneOf(std::int32_t ID, bool OpenTab = false); - static bool WithdrawAllButOneOf(const std::string& Name, bool OpenTab = false); + static bool WithdrawXOf(std::int32_t ID, std::int32_t Amount, bool OpenRespectiveTab = false); + static bool WithdrawXOf(const std::string& Name, std::int32_t Amount, bool OpenRespectiveTab = false); + static bool WithdrawAllOf(std::int32_t ID, bool OpenRespectiveTab = false); + static bool WithdrawAllOf(const std::string& Name, bool OpenRespectiveTab = false); + static bool WithdrawAllButOneOf(std::int32_t ID, bool OpenRespectiveTab = false); + static bool WithdrawAllButOneOf(const std::string& Name, bool OpenRespectiveTab = false); static bool DepositAllOf(std::int32_t ID); static bool DepositAllOf(const std::string& Name); diff --git a/Include/Game/Interfaces/Chat.hpp b/Include/Game/Interfaces/Chat.hpp index fae49c6..95df3a3 100644 --- a/Include/Game/Interfaces/Chat.hpp +++ b/Include/Game/Interfaces/Chat.hpp @@ -52,14 +52,15 @@ class Chat static Internal::MessageNode GetLastMessage(CHAT_TYPE Type); static DIALOGUE_STATE GetDialogueState(); + static bool HasDialogue(); static std::vector GetDialogueOptions(); static std::string GetDialogueTitle(); static std::string GetDialogueMessage(); - static bool ClickContinue(); + static bool ClickContinue(bool UseKeyboard = false); static bool EnterAmount(std::int32_t Amount); - static bool SelectDialogueOption(const std::string& Option); - static bool SelectDialogueOption(const std::vector& Options); - static bool SelectDialogueOption(std::uint32_t OptionIndex); + static bool SelectDialogueOption(const std::string& Option, bool UseKeyboard = false); + static bool SelectDialogueOption(const std::vector& Options, bool UseKeyboard = false); + static bool SelectDialogueOption(std::uint32_t OptionIndex, bool UseKeyboard = false); // OptionIndex has to be 1-4 }; /** @} */ diff --git a/Include/Game/Interfaces/GameTabs/Logout.hpp b/Include/Game/Interfaces/GameTabs/Logout.hpp index 5de4f1a..993410f 100644 --- a/Include/Game/Interfaces/GameTabs/Logout.hpp +++ b/Include/Game/Interfaces/GameTabs/Logout.hpp @@ -19,17 +19,14 @@ class Logout static bool IsWorldSwitcherOpen(); static bool OpenWorldSwitcher(); - static bool WorldSwitcherScrollTo(Internal::World World); + static bool WorldSwitcherScrollTo(const Internal::World& World); static bool WorldSwitcherScrollTo(std::int32_t WorldID); static bool SwitchWorld(const Internal::World& World); static bool SwitchWorld(std::int32_t WorldID); - static std::vector GetFavoriteWorlds(); - static Internal::Widget GetWorldWidget(const Internal::World& World); static Internal::Widget GetWorldWidget(std::int32_t WorldID); - static Internal::Widget GetFavoriteWorldWidget(std::int32_t WorldID); }; /** @} */ diff --git a/Include/Game/Interfaces/Menu.hpp b/Include/Game/Interfaces/Menu.hpp index 1976f4a..fb2127d 100644 --- a/Include/Game/Interfaces/Menu.hpp +++ b/Include/Game/Interfaces/Menu.hpp @@ -137,36 +137,60 @@ class Menu * * @param Index The index of the menu option to look at * @return std::tuple - * bool [0] = Found option at index was found in menu options (should be always true if something was found at index) + * std::int32_t [0] = Index of the option that was found (-1 if the option wasn't found) * std::string [1] = Action that was found at index * std::string [2] = Target that was found at index * @see Menu::IndexOf(const std::string& Option) */ - static std::tuple FindOption(std::uint32_t Index); + static std::tuple FindOption(std::uint32_t Index); /** * @brief Looks for a menu option containing the passed Option, and returns information about the found option * * @param Option Menu option to look for, the more specific, the more accurate the result will be * @return std::tuple - * bool [0] = Option was found in the Menu options + * std::int32_t [0] = Index of the option that was found (-1 if the option wasn't found) * std::string [1] = Action that was found * std::string [2] = Target that was found * @see Menu::IndexOf(const std::string& Option) */ - static std::tuple FindOption(const std::string& Option); + static std::tuple FindOption(const std::string& Option); /** * @brief Looks for a menu option containing the passed Option, and returns information about the found option * * @param Options Menu options to look for, returns on first option found, the more specific, the more accurate the result will be * @return std::tuple - * bool [0] = Option was found in the Menu options + * std::int32_t [0] = Index of the option that was found (-1 if the option wasn't found) * std::string [1] = Action that was found * std::string [2] = Target that was found * @see Menu::IndexOf(const std::string& Option) */ - static std::tuple FindOption(const std::vector& Options); + static std::tuple FindOption(const std::vector& Options); + + /** + * @brief Looks for a menu option containing the passed Option, and returns information of all options that were found + * + * @param Option Menu option to look for, the more specific, the more accurate the result will be + * @return std::vector> + * std::int32_t [0] = Index of the option that was found (-1 if the option wasn't found) + * std::string [1] = Action that was found + * std::string [2] = Target that was found + * @see Menu::IndexOf(const std::string& Option) + */ + static std::vector> FindOptions(const std::string& Option); + + /** + * @brief Looks for a menu option containing the passed Option, and returns information of all options that were found + * + * @param Options Menu options to look for, returns on first option found, the more specific, the more accurate the result will be + * @return std::vector> + * std::int32_t [0] = Index of the option that was found (-1 if the option wasn't found) + * std::string [1] = Action that was found + * std::string [2] = Target that was found + * @see Menu::IndexOf(const std::string& Option) + */ + static std::vector> FindOptions(const std::vector& Options); /** diff --git a/Library/libAlpacaLibrary.a b/Library/libAlpacaLibrary.a index 22c4b32..a84efb8 100644 Binary files a/Library/libAlpacaLibrary.a and b/Library/libAlpacaLibrary.a differ