ZG required progression config option (#876)

This commit is contained in:
Grimfeather
2025-11-23 06:54:52 +01:00
committed by GitHub
parent 4389e7b92a
commit 6f97c348c0
4 changed files with 21 additions and 8 deletions

View File

@@ -263,6 +263,15 @@ IndividualProgression.DeathKnightUnlockProgression = 13
# #
IndividualProgression.DeathKnightStartingProgression = 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 # IndividualProgression.DisableDefaultProgression
# #
# Description: Disable the regular progression flow, so progression must be advanced through custom creature progression entries # Description: Disable the regular progression flow, so progression must be advanced through custom creature progression entries

View File

@@ -624,6 +624,7 @@ private:
sIndividualProgression->tbcRacesProgressionLevel = sConfigMgr->GetOption<uint8>("IndividualProgression.TbcRacesUnlockProgression", 0); sIndividualProgression->tbcRacesProgressionLevel = sConfigMgr->GetOption<uint8>("IndividualProgression.TbcRacesUnlockProgression", 0);
sIndividualProgression->deathKnightProgressionLevel = sConfigMgr->GetOption<uint8>("IndividualProgression.DeathKnightUnlockProgression", 13); sIndividualProgression->deathKnightProgressionLevel = sConfigMgr->GetOption<uint8>("IndividualProgression.DeathKnightUnlockProgression", 13);
sIndividualProgression->deathKnightStartingProgression = sConfigMgr->GetOption<uint8>("IndividualProgression.DeathKnightStartingProgression", 13); sIndividualProgression->deathKnightStartingProgression = sConfigMgr->GetOption<uint8>("IndividualProgression.DeathKnightStartingProgression", 13);
sIndividualProgression->RequiredZulGurubProgression = sConfigMgr->GetOption<uint8>("IndividualProgression.RequiredZulGurubProgression", 3);
sIndividualProgression->LoadCustomProgressionEntries(sConfigMgr->GetOption<std::string>("IndividualProgression.CustomProgression", "")); sIndividualProgression->LoadCustomProgressionEntries(sConfigMgr->GetOption<std::string>("IndividualProgression.CustomProgression", ""));
sIndividualProgression->earlyDungeonSet2 = sConfigMgr->GetOption<bool>("IndividualProgression.AllowEarlyDungeonSet2", false); sIndividualProgression->earlyDungeonSet2 = sConfigMgr->GetOption<bool>("IndividualProgression.AllowEarlyDungeonSet2", false);
sIndividualProgression->VanillaPvpKillRank1 = sConfigMgr->GetOption<uint32>("IndividualProgression.VanillaPvpKillRequirement.Rank1", 100); sIndividualProgression->VanillaPvpKillRank1 = sConfigMgr->GetOption<uint32>("IndividualProgression.VanillaPvpKillRequirement.Rank1", 100);

View File

@@ -380,7 +380,7 @@ public:
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, 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; uint32 VanillaPvpKillRank1, VanillaPvpKillRank2, VanillaPvpKillRank3, VanillaPvpKillRank4, VanillaPvpKillRank5, VanillaPvpKillRank6, VanillaPvpKillRank7, VanillaPvpKillRank8, VanillaPvpKillRank9, VanillaPvpKillRank10, VanillaPvpKillRank11, VanillaPvpKillRank12, VanillaPvpKillRank13, VanillaPvpKillRank14;
std::string excludedAccountsRegex; std::string excludedAccountsRegex;

View File

@@ -41,7 +41,6 @@ public:
sIndividualProgression->UpdateProgressionQuests(player); sIndividualProgression->UpdateProgressionQuests(player);
} }
if (sIndividualProgression->isExcludedFromProgression(player)) if (sIndividualProgression->isExcludedFromProgression(player))
{ {
sIndividualProgression->UpdateProgressionState(player, static_cast<ProgressionState>(0)); sIndividualProgression->UpdateProgressionState(player, static_cast<ProgressionState>(0));
@@ -190,11 +189,16 @@ public:
return false; return false;
} }
} }
if (mapid == MAP_ZUL_GURUB && !sIndividualProgression->hasPassedProgression(player, PROGRESSION_BLACKWING_LAIR)) if (mapid == MAP_ZUL_GURUB)
{ {
ChatHandler(player->GetSession()).PSendSysMessage("Progression Level Required = |cff00ffff{}|r", PROGRESSION_BLACKWING_LAIR); ProgressionState REQUIRED_ZG_PROGRESSION = static_cast<ProgressionState>(sIndividualProgression->RequiredZulGurubProgression);
if (!sIndividualProgression->hasPassedProgression(player, REQUIRED_ZG_PROGRESSION))
{
ChatHandler(player->GetSession()).PSendSysMessage("Progression Level Required = |cff00ffff{}|r", REQUIRED_ZG_PROGRESSION);
return false; return false;
} }
}
if (mapid == MAP_AHN_QIRAJ_TEMPLE && !sIndividualProgression->hasPassedProgression(player, PROGRESSION_PRE_AQ)) if (mapid == MAP_AHN_QIRAJ_TEMPLE && !sIndividualProgression->hasPassedProgression(player, PROGRESSION_PRE_AQ))
{ {
ChatHandler(player->GetSession()).PSendSysMessage("Progression Level Required = |cff00ffff{}|r", PROGRESSION_PRE_AQ); ChatHandler(player->GetSession()).PSendSysMessage("Progression Level Required = |cff00ffff{}|r", PROGRESSION_PRE_AQ);
@@ -1153,8 +1157,7 @@ public:
class IndividualPlayerProgression_AccountScript: public AccountScript class IndividualPlayerProgression_AccountScript: public AccountScript
{ {
public: public:
IndividualPlayerProgression_AccountScript() : AccountScript("IndividualProgression_AccountScript") IndividualPlayerProgression_AccountScript() : AccountScript("IndividualProgression_AccountScript") { }
{}
bool CanAccountCreateCharacter(uint32 accountId, uint8 charRace, uint8 charClass) override bool CanAccountCreateCharacter(uint32 accountId, uint8 charRace, uint8 charClass) override
{ {