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.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
#
# 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.DisableRDF
# IndividualProgression.ExcludedAccountsEarnPvPTitles
#
# 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.)
# Description: Enable / Disable excluded accounts earning pvp titles. This includes playerbots.
#
# Default: 0 - RDF Enabled
# 1 - RDF Disabled
# Default: 0 - Disabled
# 1 - Enabled
#
IndividualProgression.DisableRDF = 0
IndividualProgression.ExcludedAccountsEarnPvPTitles = 0
# IndividualProgression.ExcludeAccounts
#

View File

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

View File

@@ -379,7 +379,7 @@ public:
std::map<uint32, uint8> customProgressionMap;
questXpMapType questXpMap;
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;
uint32 VanillaPvpKillRank1, VanillaPvpKillRank2, VanillaPvpKillRank3, VanillaPvpKillRank4, VanillaPvpKillRank5, VanillaPvpKillRank6, VanillaPvpKillRank7, VanillaPvpKillRank8, VanillaPvpKillRank9, VanillaPvpKillRank10, VanillaPvpKillRank11, VanillaPvpKillRank12, VanillaPvpKillRank13, VanillaPvpKillRank14;
std::string excludedAccountsRegex;
@@ -389,7 +389,6 @@ public:
void UpdateProgressionState(Player* player, ProgressionState newState) const;
static void ForceUpdateProgressionState(Player* player, ProgressionState newState);
void CheckAdjustments(Player* player) const;
void ApplyGearStatsTuning(Player* player, float& computedAdjustment, ItemTemplate const* item) const;
void AdjustVanillaStats(Player* player) const;
void AdjustTBCStats(Player* player) const;
void AdjustWotLKStats(Player* player) const;

View File

@@ -24,7 +24,7 @@ public:
return;
}
if (!sIndividualProgression->isExcludedFromProgression(player))
if (!sIndividualProgression->isExcludedFromProgression(player))
{
if (player->getClass() == CLASS_DEATH_KNIGHT && sIndividualProgression->deathKnightStartingProgression && !sIndividualProgression->hasPassedProgression(player, static_cast<ProgressionState>(sIndividualProgression->deathKnightStartingProgression)))
{
@@ -35,12 +35,16 @@ public:
sIndividualProgression->UpdateProgressionState(player, static_cast<ProgressionState>(sIndividualProgression->startingProgression));
}
sIndividualProgression->AwardEarnedVanillaPvpTitles(player);
sIndividualProgression->CleanUpVanillaPvpTitles(player);
sIndividualProgression->checkIPProgression(player);
sIndividualProgression->UpdateProgressionQuests(player);
}
}
if (sIndividualProgression->ExcludedAccountsEarnPvPTitles || !sIndividualProgression->isExcludedFromProgression(player))
{
sIndividualProgression->AwardEarnedVanillaPvpTitles(player);
sIndividualProgression->CleanUpVanillaPvpTitles(player);
}
if (sIndividualProgression->isExcludedFromProgression(player))
{
sIndividualProgression->UpdateProgressionState(player, static_cast<ProgressionState>(0));