Excluded accounts earn pvp titles config option (#877)

This commit is contained in:
Grimfeather
2025-11-23 07:13:14 +01:00
committed by GitHub
parent 380de0cdce
commit 155e5340bd
4 changed files with 25 additions and 12 deletions

View File

@@ -180,6 +180,16 @@ IndividualProgression.FishingFix = 1
# #
IndividualProgression.SimpleConfigOverride = 1 IndividualProgression.SimpleConfigOverride = 1
# IndividualProgression.DisableRDF
#
# Description: Enable or disable the Random Dungeon Finder feature within the context of Individual Progression.
# Queuing for specific dungeons and Holiday Events will still be possible. (Use DungeonFinder.OptionsMask in worldserver.conf to completely disable the LFG tool.)
#
# Default: 0 - RDF Enabled
# 1 - RDF Disabled
#
IndividualProgression.DisableRDF = 0
# IndividualProgression.ProgressionLimit # IndividualProgression.ProgressionLimit
# #
# Description: If enabled, players will not be able to proceed beyond this progression stage. # Description: If enabled, players will not be able to proceed beyond this progression stage.
@@ -342,15 +352,14 @@ IndividualProgression.VanillaPvpTitlesPersistAfterVanilla = 1
# #
IndividualProgression.VanillaPvpEarnTitlesAfterVanilla = 0 IndividualProgression.VanillaPvpEarnTitlesAfterVanilla = 0
# IndividualProgression.DisableRDF # IndividualProgression.ExcludedAccountsEarnPvPTitles
# #
# Description: Enable or disable the Random Dungeon Finder feature within the context of Individual Progression. # Description: Enable / Disable excluded accounts earning pvp titles. This includes playerbots.
# Queuing for specific dungeons and Holiday Events will still be possible. (Use DungeonFinder.OptionsMask in worldserver.conf to completely disable the LFG tool.)
# #
# Default: 0 - RDF Enabled # Default: 0 - Disabled
# 1 - RDF Disabled # 1 - Enabled
# #
IndividualProgression.DisableRDF = 0 IndividualProgression.ExcludedAccountsEarnPvPTitles = 0
# IndividualProgression.ExcludeAccounts # IndividualProgression.ExcludeAccounts
# #

View File

@@ -643,6 +643,7 @@ private:
sIndividualProgression->VanillaPvpKillRank14 = sConfigMgr->GetOption<uint32>("IndividualProgression.VanillaPvpKillRequirement.Rank14", 24000); sIndividualProgression->VanillaPvpKillRank14 = sConfigMgr->GetOption<uint32>("IndividualProgression.VanillaPvpKillRequirement.Rank14", 24000);
sIndividualProgression->VanillaPvpTitlesKeepPostVanilla = sConfigMgr->GetOption<bool>("IndividualProgression.VanillaPvpTitlesPersistAfterVanilla", true); sIndividualProgression->VanillaPvpTitlesKeepPostVanilla = sConfigMgr->GetOption<bool>("IndividualProgression.VanillaPvpTitlesPersistAfterVanilla", true);
sIndividualProgression->VanillaPvpTitlesEarnPostVanilla = sConfigMgr->GetOption<bool>("IndividualProgression.VanillaPvpEarnTitlesAfterVanilla", false); sIndividualProgression->VanillaPvpTitlesEarnPostVanilla = sConfigMgr->GetOption<bool>("IndividualProgression.VanillaPvpEarnTitlesAfterVanilla", false);
sIndividualProgression->ExcludedAccountsEarnPvPTitles = sConfigMgr->GetOption<bool>("IndividualProgression.ExcludedAccountsEarnPvPTitles", false);
sIndividualProgression->DisableRDF = sConfigMgr->GetOption<bool>("IndividualProgression.DisableRDF", false); sIndividualProgression->DisableRDF = sConfigMgr->GetOption<bool>("IndividualProgression.DisableRDF", false);
sIndividualProgression->excludeAccounts = sConfigMgr->GetOption<bool>("IndividualProgression.ExcludeAccounts", true); sIndividualProgression->excludeAccounts = sConfigMgr->GetOption<bool>("IndividualProgression.ExcludeAccounts", true);
sIndividualProgression->excludedAccountsRegex = sConfigMgr->GetOption<std::string>("IndividualProgression.ExcludedAccountsRegex", "^RNDBOT.*"); sIndividualProgression->excludedAccountsRegex = sConfigMgr->GetOption<std::string>("IndividualProgression.ExcludedAccountsRegex", "^RNDBOT.*");

View File

@@ -379,7 +379,7 @@ public:
std::map<uint32, uint8> customProgressionMap; std::map<uint32, uint8> customProgressionMap;
questXpMapType questXpMap; questXpMapType questXpMap;
float vanillaPowerAdjustment, vanillaHealthAdjustment, tbcPowerAdjustment, tbcHealthAdjustment, vanillaHealingAdjustment, tbcHealingAdjustment; float vanillaPowerAdjustment, vanillaHealthAdjustment, tbcPowerAdjustment, tbcHealthAdjustment, vanillaHealingAdjustment, tbcHealingAdjustment;
bool enabled, questXpFix, hunterPetLevelFix, enforceGroupRules, fishingFix, simpleConfigOverride, questMoneyAtLevelCap, repeatableVanillaQuestsXp, disableDefaultProgression, earlyDungeonSet2, requireNaxxStrath, DisableRDF, excludeAccounts, VanillaPvpTitlesKeepPostVanilla, VanillaPvpTitlesEarnPostVanilla; bool enabled, questXpFix, enforceGroupRules, fishingFix, simpleConfigOverride, questMoneyAtLevelCap, repeatableVanillaQuestsXp, disableDefaultProgression, earlyDungeonSet2, requireNaxxStrath, DisableRDF, excludeAccounts, VanillaPvpTitlesKeepPostVanilla, VanillaPvpTitlesEarnPostVanilla, ExcludedAccountsEarnPvPTitles;
int progressionLimit, startingProgression, tbcRacesProgressionLevel, deathKnightProgressionLevel, deathKnightStartingProgression, RequiredZulGurubProgression; int progressionLimit, startingProgression, tbcRacesProgressionLevel, deathKnightProgressionLevel, deathKnightStartingProgression, RequiredZulGurubProgression;
uint32 VanillaPvpKillRank1, VanillaPvpKillRank2, VanillaPvpKillRank3, VanillaPvpKillRank4, VanillaPvpKillRank5, VanillaPvpKillRank6, VanillaPvpKillRank7, VanillaPvpKillRank8, VanillaPvpKillRank9, VanillaPvpKillRank10, VanillaPvpKillRank11, VanillaPvpKillRank12, VanillaPvpKillRank13, VanillaPvpKillRank14; uint32 VanillaPvpKillRank1, VanillaPvpKillRank2, VanillaPvpKillRank3, VanillaPvpKillRank4, VanillaPvpKillRank5, VanillaPvpKillRank6, VanillaPvpKillRank7, VanillaPvpKillRank8, VanillaPvpKillRank9, VanillaPvpKillRank10, VanillaPvpKillRank11, VanillaPvpKillRank12, VanillaPvpKillRank13, VanillaPvpKillRank14;
std::string excludedAccountsRegex; std::string excludedAccountsRegex;
@@ -389,7 +389,6 @@ public:
void UpdateProgressionState(Player* player, ProgressionState newState) const; void UpdateProgressionState(Player* player, ProgressionState newState) const;
static void ForceUpdateProgressionState(Player* player, ProgressionState newState); static void ForceUpdateProgressionState(Player* player, ProgressionState newState);
void CheckAdjustments(Player* player) const; void CheckAdjustments(Player* player) const;
void ApplyGearStatsTuning(Player* player, float& computedAdjustment, ItemTemplate const* item) const;
void AdjustVanillaStats(Player* player) const; void AdjustVanillaStats(Player* player) const;
void AdjustTBCStats(Player* player) const; void AdjustTBCStats(Player* player) const;
void AdjustWotLKStats(Player* player) const; void AdjustWotLKStats(Player* player) const;

View File

@@ -35,12 +35,16 @@ public:
sIndividualProgression->UpdateProgressionState(player, static_cast<ProgressionState>(sIndividualProgression->startingProgression)); sIndividualProgression->UpdateProgressionState(player, static_cast<ProgressionState>(sIndividualProgression->startingProgression));
} }
sIndividualProgression->AwardEarnedVanillaPvpTitles(player);
sIndividualProgression->CleanUpVanillaPvpTitles(player);
sIndividualProgression->checkIPProgression(player); sIndividualProgression->checkIPProgression(player);
sIndividualProgression->UpdateProgressionQuests(player); sIndividualProgression->UpdateProgressionQuests(player);
} }
if (sIndividualProgression->ExcludedAccountsEarnPvPTitles || !sIndividualProgression->isExcludedFromProgression(player))
{
sIndividualProgression->AwardEarnedVanillaPvpTitles(player);
sIndividualProgression->CleanUpVanillaPvpTitles(player);
}
if (sIndividualProgression->isExcludedFromProgression(player)) if (sIndividualProgression->isExcludedFromProgression(player))
{ {
sIndividualProgression->UpdateProgressionState(player, static_cast<ProgressionState>(0)); sIndividualProgression->UpdateProgressionState(player, static_cast<ProgressionState>(0));