aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGildor <gildor55@gmail.com>2022-04-07 19:56:20 +0200
committerShauren <shauren.trinity@gmail.com>2022-06-10 15:30:24 +0200
commitb8e7892bd050a7f685786500c39bedd40ed3aaa9 (patch)
treeca9930cba3d85e90ded209f036e417d7a29c09a5
parentb52ce8e65e8998df1b243b854129d359ee2d25ae (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.cpp14
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