diff options
author | Gildor <gildor55@gmail.com> | 2022-04-07 19:56:20 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-06-10 15:30:24 +0200 |
commit | b8e7892bd050a7f685786500c39bedd40ed3aaa9 (patch) | |
tree | ca9930cba3d85e90ded209f036e417d7a29c09a5 | |
parent | b52ce8e65e8998df1b243b854129d359ee2d25ae (diff) |
Scripts/Trial of the Crusader: Fix achievement A Tribute to Immortality (#27903)
* now instance achievement status will be saved into DB
* also add support to save instance achievement status of A Tribute to Dedicated Insanity (NYI)
(cherry picked from commit 4f24a28b9ef3acbe6d83ee7c56902846653fa271)
-rw-r--r-- | src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp index 780ce3df11a..8caf0140d3a 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp @@ -120,6 +120,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript TributeToImmortalityEligible = true; NeedSave = false; CrusadersSpecialState = false; + TributeToDedicatedInsanity = false; // NYI, set to true when implement it } void OnPlayerEnter(Player* player) override @@ -579,7 +580,9 @@ class instance_trial_of_the_crusader : public InstanceMapScript for (uint8 i = 0; i < EncounterCount; ++i) saveStream << GetBossState(i) << ' '; - saveStream << TrialCounter; + saveStream << TrialCounter << ' ' + << uint32(TributeToImmortalityEligible ? 1 : 0) << ' ' + << uint32(TributeToDedicatedInsanity ? 1 : 0); SaveDataBuffer = saveStream.str(); SaveToDB(); @@ -604,9 +607,9 @@ class instance_trial_of_the_crusader : public InstanceMapScript std::istringstream loadStream(strIn); + uint32 tmpState; for (uint8 i = 0; i < EncounterCount; ++i) { - uint32 tmpState; loadStream >> tmpState; if (tmpState == IN_PROGRESS || tmpState > SPECIAL) tmpState = NOT_STARTED; @@ -614,6 +617,10 @@ class instance_trial_of_the_crusader : public InstanceMapScript } loadStream >> TrialCounter; + loadStream >> tmpState; + TributeToImmortalityEligible = tmpState != 0; + loadStream >> tmpState; + TributeToDedicatedInsanity = tmpState != 0; EventStage = 0; OUT_LOAD_INST_DATA_COMPLETE; @@ -648,7 +655,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript case A_TRIBUTE_TO_IMMORTALITY_ALLIANCE: return TrialCounter == 50 && TributeToImmortalityEligible; case A_TRIBUTE_TO_DEDICATED_INSANITY: - return false/*uiGrandCrusaderAttemptsLeft == 50 && !bHasAtAnyStagePlayerEquippedTooGoodItem*/; + return false/*TrialCounter == 50 && TributeToDedicatedInsanity*/; default: break; } @@ -674,6 +681,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript uint8 MistressOfPainCount; uint8 NorthrendBeastsCount; bool TributeToImmortalityEligible; + bool TributeToDedicatedInsanity; }; InstanceScript* GetInstanceScript(InstanceMap* map) const override |