Bot should be more consistent at doing quest +several fixes

This commit is contained in:
Atidot3
2024-07-30 14:45:52 +02:00
parent 30a25ba13f
commit 0008d84f71
34 changed files with 986 additions and 609 deletions

View File

@@ -13,25 +13,25 @@ class WorldObject;
class TalkToQuestGiverAction : public QuestAction
{
public:
TalkToQuestGiverAction(PlayerbotAI* botAI, std::string name = "talk to quest giver") : QuestAction(botAI, name) { }
public:
TalkToQuestGiverAction(PlayerbotAI* botAI, std::string name = "talk to quest giver") : QuestAction(botAI, name) { }
protected:
void ProcessQuest(Quest const* quest, Object* questGiver) override;
void TurnInQuest(Quest const* quest, Object* questGiver, std::ostringstream& out);
protected:
bool ProcessQuest(Quest const* quest, Object* questGiver) override;
bool TurnInQuest(Quest const* quest, Object* questGiver, std::ostringstream& out);
private:
void RewardNoItem(Quest const* quest, Object* questGiver, std::ostringstream& out);
void RewardSingleItem(Quest const* quest, Object* questGiver, std::ostringstream& out);
std::set<uint32> BestRewards(Quest const* quest);
void RewardMultipleItem(Quest const* quest, Object* questGiver, std::ostringstream& out);
void AskToSelectReward(Quest const* quest, std::ostringstream& out, bool forEquip);
private:
void RewardNoItem(Quest const* quest, Object* questGiver, std::ostringstream& out);
void RewardSingleItem(Quest const* quest, Object* questGiver, std::ostringstream& out);
std::set<uint32> BestRewards(Quest const* quest);
void RewardMultipleItem(Quest const* quest, Object* questGiver, std::ostringstream& out);
void AskToSelectReward(Quest const* quest, std::ostringstream& out, bool forEquip);
};
class TurnInQueryQuestAction : public TalkToQuestGiverAction
{
public:
TurnInQueryQuestAction(PlayerbotAI* botAI) : TalkToQuestGiverAction(botAI, "turn in query quest") {}
bool Execute(Event event) override;
public:
TurnInQueryQuestAction(PlayerbotAI* botAI) : TalkToQuestGiverAction(botAI, "turn in query quest") {}
bool Execute(Event event) override;
};
#endif