diff options
author | Gildor <gildor55@gmail.com> | 2023-08-29 21:59:34 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-29 21:59:34 +0200 |
commit | 61eba44d4aa97ce95ef2232240dc331bc32ccf78 (patch) | |
tree | 4c4732c0314951e53216cfc7431eede8ad702e58 /src | |
parent | 8e7b6c54e469e70d2a3d817e0f9b9d0ae46cbae6 (diff) |
Scripts/Trial of the Crusader: Update Read and Write Save Data (#29293)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp | 52 |
1 files changed, 11 insertions, 41 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 ebfb82b8f51..56b4b11deab 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 @@ -573,57 +573,28 @@ class instance_trial_of_the_crusader : public InstanceMapScript void Save() { - OUT_SAVE_INST_DATA; - - std::ostringstream saveStream; - - for (uint8 i = 0; i < EncounterCount; ++i) - saveStream << GetBossState(i) << ' '; - - saveStream << TrialCounter << ' ' - << uint32(TributeToImmortalityEligible ? 1 : 0) << ' ' - << uint32(TributeToDedicatedInsanity ? 1 : 0); - SaveDataBuffer = saveStream.str(); - SaveToDB(); - OUT_SAVE_INST_DATA_COMPLETE; NeedSave = false; } - std::string GetSaveData() override + void WriteSaveDataMore(std::ostringstream& data) override { - return SaveDataBuffer; + data << TrialCounter << ' ' + << uint32(TributeToImmortalityEligible ? 1 : 0) << ' ' + << uint32(TributeToDedicatedInsanity ? 1 : 0); } - void Load(char const* strIn) override + void ReadSaveDataMore(std::istringstream& data) override { - if (!strIn) - { - OUT_LOAD_INST_DATA_FAIL; - return; - } + uint32 temp = 0; - OUT_LOAD_INST_DATA(strIn); + data >> TrialCounter; - std::istringstream loadStream(strIn); - - uint32 tmpState; - for (uint8 i = 0; i < EncounterCount; ++i) - { - loadStream >> tmpState; - if (tmpState == IN_PROGRESS || tmpState > SPECIAL) - tmpState = NOT_STARTED; - SetBossState(i, EncounterState(tmpState)); - } - - loadStream >> TrialCounter; - loadStream >> tmpState; - TributeToImmortalityEligible = tmpState != 0; - loadStream >> tmpState; - TributeToDedicatedInsanity = tmpState != 0; - EventStage = 0; + data >> temp; + TributeToImmortalityEligible = temp != 0; - OUT_LOAD_INST_DATA_COMPLETE; + data >> temp; + TributeToDedicatedInsanity = temp != 0; } bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* /*source*/, Unit const* /*target*/, uint32 /*miscvalue1*/) override @@ -671,7 +642,6 @@ class instance_trial_of_the_crusader : public InstanceMapScript uint32 Team; bool NeedSave; bool CrusadersSpecialState; - std::string SaveDataBuffer; GuidVector snoboldGUIDS; // Achievement stuff |