diff --git a/conf/individualProgression.conf.dist b/conf/individualProgression.conf.dist index f59b9e3..d32123a 100644 --- a/conf/individualProgression.conf.dist +++ b/conf/individualProgression.conf.dist @@ -263,6 +263,15 @@ IndividualProgression.DeathKnightUnlockProgression = 13 # IndividualProgression.DeathKnightStartingProgression = 13 +# IndividualProgression.RequiredZulGurubProgression +# +# Description: The progression stage at which Zul'Gurub will be available +# +# Default: 3 - Zul'Gurub unlocks after BWL (Default, Blizzlike) +# 0-12, 14-18 - Set a different required progression stage for Zul'Gurub +# +IndividualProgression.RequiredZulGurubProgression = 3 + # IndividualProgression.DisableDefaultProgression # # Description: Disable the regular progression flow, so progression must be advanced through custom creature progression entries diff --git a/src/IndividualProgression.cpp b/src/IndividualProgression.cpp index 95d1a90..aa446d5 100644 --- a/src/IndividualProgression.cpp +++ b/src/IndividualProgression.cpp @@ -624,6 +624,7 @@ private: sIndividualProgression->tbcRacesProgressionLevel = sConfigMgr->GetOption("IndividualProgression.TbcRacesUnlockProgression", 0); sIndividualProgression->deathKnightProgressionLevel = sConfigMgr->GetOption("IndividualProgression.DeathKnightUnlockProgression", 13); sIndividualProgression->deathKnightStartingProgression = sConfigMgr->GetOption("IndividualProgression.DeathKnightStartingProgression", 13); + sIndividualProgression->RequiredZulGurubProgression = sConfigMgr->GetOption("IndividualProgression.RequiredZulGurubProgression", 3); sIndividualProgression->LoadCustomProgressionEntries(sConfigMgr->GetOption("IndividualProgression.CustomProgression", "")); sIndividualProgression->earlyDungeonSet2 = sConfigMgr->GetOption("IndividualProgression.AllowEarlyDungeonSet2", false); sIndividualProgression->VanillaPvpKillRank1 = sConfigMgr->GetOption("IndividualProgression.VanillaPvpKillRequirement.Rank1", 100); diff --git a/src/IndividualProgression.h b/src/IndividualProgression.h index 10ff3cb..8e05bec 100644 --- a/src/IndividualProgression.h +++ b/src/IndividualProgression.h @@ -380,7 +380,7 @@ public: 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; - int progressionLimit, startingProgression, tbcRacesProgressionLevel, deathKnightProgressionLevel, deathKnightStartingProgression; + 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; diff --git a/src/IndividualProgressionPlayer.cpp b/src/IndividualProgressionPlayer.cpp index c6f0b8a..4f86940 100644 --- a/src/IndividualProgressionPlayer.cpp +++ b/src/IndividualProgressionPlayer.cpp @@ -41,7 +41,6 @@ public: sIndividualProgression->UpdateProgressionQuests(player); } - if (sIndividualProgression->isExcludedFromProgression(player)) { sIndividualProgression->UpdateProgressionState(player, static_cast(0)); @@ -190,10 +189,15 @@ public: return false; } } - if (mapid == MAP_ZUL_GURUB && !sIndividualProgression->hasPassedProgression(player, PROGRESSION_BLACKWING_LAIR)) - { - ChatHandler(player->GetSession()).PSendSysMessage("Progression Level Required = |cff00ffff{}|r", PROGRESSION_BLACKWING_LAIR); - return false; + if (mapid == MAP_ZUL_GURUB) + { + ProgressionState REQUIRED_ZG_PROGRESSION = static_cast(sIndividualProgression->RequiredZulGurubProgression); + + if (!sIndividualProgression->hasPassedProgression(player, REQUIRED_ZG_PROGRESSION)) + { + ChatHandler(player->GetSession()).PSendSysMessage("Progression Level Required = |cff00ffff{}|r", REQUIRED_ZG_PROGRESSION); + return false; + } } if (mapid == MAP_AHN_QIRAJ_TEMPLE && !sIndividualProgression->hasPassedProgression(player, PROGRESSION_PRE_AQ)) { @@ -1153,8 +1157,7 @@ public: class IndividualPlayerProgression_AccountScript: public AccountScript { public: - IndividualPlayerProgression_AccountScript() : AccountScript("IndividualProgression_AccountScript") - {} + IndividualPlayerProgression_AccountScript() : AccountScript("IndividualProgression_AccountScript") { } bool CanAccountCreateCharacter(uint32 accountId, uint8 charRace, uint8 charClass) override {