diff --git a/conf/individualProgression.conf.dist b/conf/individualProgression.conf.dist index d32123a..e5172f1 100644 --- a/conf/individualProgression.conf.dist +++ b/conf/individualProgression.conf.dist @@ -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 # diff --git a/src/IndividualProgression.cpp b/src/IndividualProgression.cpp index aa446d5..f61ff9f 100644 --- a/src/IndividualProgression.cpp +++ b/src/IndividualProgression.cpp @@ -643,6 +643,7 @@ private: sIndividualProgression->VanillaPvpKillRank14 = sConfigMgr->GetOption("IndividualProgression.VanillaPvpKillRequirement.Rank14", 24000); sIndividualProgression->VanillaPvpTitlesKeepPostVanilla = sConfigMgr->GetOption("IndividualProgression.VanillaPvpTitlesPersistAfterVanilla", true); sIndividualProgression->VanillaPvpTitlesEarnPostVanilla = sConfigMgr->GetOption("IndividualProgression.VanillaPvpEarnTitlesAfterVanilla", false); + sIndividualProgression->ExcludedAccountsEarnPvPTitles = sConfigMgr->GetOption("IndividualProgression.ExcludedAccountsEarnPvPTitles", false); sIndividualProgression->DisableRDF = sConfigMgr->GetOption("IndividualProgression.DisableRDF", false); sIndividualProgression->excludeAccounts = sConfigMgr->GetOption("IndividualProgression.ExcludeAccounts", true); sIndividualProgression->excludedAccountsRegex = sConfigMgr->GetOption("IndividualProgression.ExcludedAccountsRegex", "^RNDBOT.*"); diff --git a/src/IndividualProgression.h b/src/IndividualProgression.h index 8e05bec..2eefa8c 100644 --- a/src/IndividualProgression.h +++ b/src/IndividualProgression.h @@ -379,7 +379,7 @@ public: std::map 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; diff --git a/src/IndividualProgressionPlayer.cpp b/src/IndividualProgressionPlayer.cpp index 4f86940..7f5b891 100644 --- a/src/IndividualProgressionPlayer.cpp +++ b/src/IndividualProgressionPlayer.cpp @@ -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(sIndividualProgression->deathKnightStartingProgression))) { @@ -35,12 +35,16 @@ public: sIndividualProgression->UpdateProgressionState(player, static_cast(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(0));