diff --git a/conf/playerbots.conf.dist b/conf/playerbots.conf.dist index 4365cf95..5acf71ea 100644 --- a/conf/playerbots.conf.dist +++ b/conf/playerbots.conf.dist @@ -566,6 +566,34 @@ AiPlayerbot.AutoGearScoreLimit = 0 # Default: food, taxi, and raid are enabled AiPlayerbot.BotCheats = "food,taxi,raid" +# Attunement quests (comma-separated list of quest IDs) +# Default: +# Caverns of Time - Part 1 +# - 10279, To The Master's Lair +# - 10277, The Caverns of Time +# +# Caverns of Time - Part 2 (Escape from Durnholde Keep) +# - 10282, Old Hillsbrad +# - 10283, Taretha's Diversion +# - 10284, Escape from Durnholde +# - 10285, Return to Andormu +# +# Caverns of Time - Part 2 (The Black Morass) +# - 10296, The Black Morass +# - 10297, The Opening of the Dark Portal +# - 10298, Hero of the Brood +# +# Magister's Terrace Attunement +# - 11481, Crisis at the Sunwell +# - 11482, Duty Calls +# - 11488, Magisters' Terrace +# - 11490, The Scryer's Scryer +# - 11492, Hard to Kill +# +# Serpentshrine Cavern +# - 10901, The Cudgel of Kar'desh +AiPlayerbot.AttunementQuests = 10279,10277,10282,10283,10284,10285,10296,10297,10298,11481,11482,11488,11490,11492,10901 + # # # diff --git a/src/Bot/Factory/PlayerbotFactory.cpp b/src/Bot/Factory/PlayerbotFactory.cpp index f5026057..279f749b 100644 --- a/src/Bot/Factory/PlayerbotFactory.cpp +++ b/src/Bot/Factory/PlayerbotFactory.cpp @@ -4739,38 +4739,13 @@ void PlayerbotFactory::InitAttunementQuests() uint32 currentXP = bot->GetUInt32Value(PLAYER_XP); - // List of attunement quest IDs - std::list attunementQuestsTBC = { - // Caverns of Time - Part 1 - 10279, // To The Master's Lair - 10277, // The Caverns of Time - - // Caverns of Time - Part 2 (Escape from Durnholde Keep) - 10282, // Old Hillsbrad - 10283, // Taretha's Diversion - 10284, // Escape from Durnholde - 10285, // Return to Andormu - - // Caverns of Time - Part 2 (The Black Morass) - 10296, // The Black Morass - 10297, // The Opening of the Dark Portal - 10298, // Hero of the Brood - - // Magister's Terrace Attunement - 11481, // Crisis at the Sunwell - 11482, // Duty Calls - 11488, // Magisters' Terrace - 11490, // The Scryer's Scryer - 11492 // Hard to Kill - }; - // Complete all level-appropriate attunement quests for the bot if (level >= 60) { std::list questsToComplete; // Check each quest status before adding to the completion list - for (uint32 questId : attunementQuestsTBC) + for (uint32 questId : sPlayerbotAIConfig.attunementQuests) { QuestStatus questStatus = bot->GetQuestStatus(questId); diff --git a/src/PlayerbotAIConfig.cpp b/src/PlayerbotAIConfig.cpp index 0a43be71..c3aee910 100644 --- a/src/PlayerbotAIConfig.cpp +++ b/src/PlayerbotAIConfig.cpp @@ -179,6 +179,9 @@ bool PlayerbotAIConfig::Initialize() "179490,141596,160836,160845,179516,176224,181085,176112,128308,128403," "165739,165738,175245,175970,176325,176327,123329,2560"), disallowedGameObjects); + LoadSet>( + sConfigMgr->GetOption("AiPlayerbot.AttunementQuests", "10279,10277,10282,10283,10284,10285,10296,10297,10298,11481,11482,11488,11490,11492,10901"), + attunementQuests); botAutologin = sConfigMgr->GetOption("AiPlayerbot.BotAutologin", false); randomBotAutologin = sConfigMgr->GetOption("AiPlayerbot.RandomBotAutologin", true); minRandomBots = sConfigMgr->GetOption("AiPlayerbot.MinRandomBots", 500); diff --git a/src/PlayerbotAIConfig.h b/src/PlayerbotAIConfig.h index e190aa47..970bbd50 100644 --- a/src/PlayerbotAIConfig.h +++ b/src/PlayerbotAIConfig.h @@ -98,6 +98,7 @@ public: std::set aoeAvoidSpellWhitelist; bool tellWhenAvoidAoe; std::set disallowedGameObjects; + std::set attunementQuests; uint32 openGoSpell; bool randomBotAutologin;