diff --git a/conf/individualProgression.conf.dist b/conf/individualProgression.conf.dist index e6c6b66..6b462e7 100644 --- a/conf/individualProgression.conf.dist +++ b/conf/individualProgression.conf.dist @@ -258,3 +258,13 @@ IndividualProgression.TbcRacesUnlockProgression = 0 # IndividualProgression.DeathKnightUnlockProgression = 11 +# +# IndividualProgression.DeathKnightStartingProgression +# Description: The progression level at which Death Knight characters will begin. +# +# Default: 11 - Death Knights start at the beginning of WotLK +# 0-16 - Progression level +# +# + +IndividualProgression.DeathKnightStartingProgression = 11 diff --git a/src/IndividualProgression.cpp b/src/IndividualProgression.cpp index c42c18f..f1a203f 100644 --- a/src/IndividualProgression.cpp +++ b/src/IndividualProgression.cpp @@ -3,7 +3,6 @@ */ #include "IndividualProgression.h" -#include "Tokenize.h" IndividualProgression* IndividualProgression::instance() { @@ -235,6 +234,7 @@ private: sIndividualProgression->repeatableVanillaQuestsXp = sConfigMgr->GetOption("IndividualProgression.RepeatableVanillaQuestsXP", true); sIndividualProgression->tbcRacesProgressionLevel = sConfigMgr->GetOption("IndividualProgression.TbcRacesUnlockProgression", 0); sIndividualProgression->deathKnightProgressionLevel = sConfigMgr->GetOption("IndividualProgression.DeathKnightUnlockProgression", 11); + sIndividualProgression->deathKnightStartingProgression = sConfigMgr->GetOption("IndividualProgression.DeathKnightStartingProgression", 11); } static void LoadXpValues() diff --git a/src/IndividualProgression.h b/src/IndividualProgression.h index 65fbfbc..360051a 100644 --- a/src/IndividualProgression.h +++ b/src/IndividualProgression.h @@ -120,7 +120,7 @@ public: questXpMapType questXpMap; float vanillaPowerAdjustment, vanillaHealthAdjustment, tbcPowerAdjustment, tbcHealthAdjustment, vanillaHealingAdjustment, tbcHealingAdjustment, previousGearTuning; bool enabled, questXpFix, hunterPetLevelFix, requirePreAQQuests, enforceGroupRules, fishingFix, simpleConfigOverride, questMoneyAtLevelCap, repeatableVanillaQuestsXp; - int progressionLimit, startingProgression, tbcRacesProgressionLevel, deathKnightProgressionLevel; + int progressionLimit, startingProgression, tbcRacesProgressionLevel, deathKnightProgressionLevel, deathKnightStartingProgression; bool hasPassedProgression(Player* player, ProgressionState state) const; static bool isBeforeProgression(Player* player, ProgressionState state) ; diff --git a/src/IndividualProgressionPlayer.cpp b/src/IndividualProgressionPlayer.cpp index 5beaaf5..1d7273e 100644 --- a/src/IndividualProgressionPlayer.cpp +++ b/src/IndividualProgressionPlayer.cpp @@ -7,6 +7,10 @@ public: void OnLogin(Player* player) override { + if (sIndividualProgression->deathKnightStartingProgression && !sIndividualProgression->hasPassedProgression(player, static_cast(sIndividualProgression->deathKnightStartingProgression))) + { + sIndividualProgression->UpdateProgressionState(player, static_cast(sIndividualProgression->deathKnightStartingProgression)); + } if (sIndividualProgression->startingProgression && !sIndividualProgression->hasPassedProgression(player, static_cast(sIndividualProgression->startingProgression))) { sIndividualProgression->UpdateProgressionState(player, static_cast(sIndividualProgression->startingProgression));