/* * Copyright (C) 2016+ AzerothCore , released under GNU GPL v2 license, you may redistribute it and/or modify it under version 2 of the License, or (at your option), any later version. */ #ifndef _PLAYERBOT_SUGGESTWHATTODOACTION_H #define _PLAYERBOT_SUGGESTWHATTODOACTION_H #include "InventoryAction.h" class PlayerbotAI; class SuggestWhatToDoAction : public InventoryAction { public: SuggestWhatToDoAction(PlayerbotAI* botAI, std::string const name = "suggest what to do"); bool Execute(Event event) override; bool isUseful() override; protected: typedef void (SuggestWhatToDoAction::*Suggestion)(); std::vector suggestions; void instance(); void specificQuest(); void grindReputation(); void something(); void spam(std::string msg, uint8 flags = 0, bool worldChat = false, bool guild = false); std::vector GetIncompletedQuests(); private: static std::map instances; static std::map factions; }; class SuggestTradeAction : public SuggestWhatToDoAction { public: SuggestTradeAction(PlayerbotAI* botAI); bool Execute(Event event) override; bool isUseful() override { return true; } }; #endif