Disable RDF and LFG Config Options

This commit is contained in:
Dinkledork
2023-09-25 22:53:39 -06:00
committed by GitHub
parent ee0c46480c
commit 483405aa52

View File

@@ -347,20 +347,41 @@ public:
}
void OnQueueRandomDungeon(Player* player, uint32& rDungeonId) override
{
if (!sIndividualProgression->hasPassedProgression(player, PROGRESSION_NAXX40))
{
rDungeonId = RDF_CLASSIC;
}
else if (rDungeonId == RDF_WRATH_OF_THE_LICH_KING && !sIndividualProgression->hasPassedProgression(player, PROGRESSION_TBC_TIER_5))
{
rDungeonId = RDF_THE_BURNING_CRUSADE;
}
else if (rDungeonId == RDF_WRATH_OF_THE_LICH_KING_HEROIC && !sIndividualProgression->hasPassedProgression(player, PROGRESSION_TBC_TIER_5))
{
rDungeonId = RDF_THE_BURNING_CRUSADE_HEROIC;
}
}
{
// Check if RDF is disabled in the context of Individual Progression
if (sConfigMgr->GetOption<bool>("IndividualProgression.DisableRDF", false))
{
// Notify the player
player->GetSession()->SendNotification("The Random Dungeon feature is currently disabled by the Individual Progression module.");
rDungeonId = 1000; // Set dungeon ID to an invalid value to cancel the queuing
return;
}
if (!sIndividualProgression->hasPassedProgression(player, PROGRESSION_NAXX40))
{
rDungeonId = RDF_CLASSIC;
}
else if (rDungeonId == RDF_WRATH_OF_THE_LICH_KING && !sIndividualProgression->hasPassedProgression(player, PROGRESSION_TBC_TIER_5))
{
rDungeonId = RDF_THE_BURNING_CRUSADE;
}
else if (rDungeonId == RDF_WRATH_OF_THE_LICH_KING_HEROIC && !sIndividualProgression->hasPassedProgression(player, PROGRESSION_TBC_TIER_5))
{
rDungeonId = RDF_THE_BURNING_CRUSADE_HEROIC;
}
}
bool CanJoinLfg(Player* player, uint8 roles, lfg::LfgDungeonSet& dungeons, const std::string& comment) override
{
// Check if LFG is disabled in the context of Individual Progression
if (sConfigMgr->GetOption<bool>("IndividualProgression.DisableLFG", false))
{
player->GetSession()->SendNotification("The Looking For Group feature is currently disabled by the Individual Progression module.");
return false; // Prevent the player from joining LFG
}
return true;
}
bool CanEquipItem(Player* player, uint8 /*slot*/, uint16& /*dest*/, Item* pItem, bool /*swap*/, bool /*not_loading*/) override
{