aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGildor <gildor55@gmail.com>2023-08-29 21:59:34 +0200
committerGitHub <noreply@github.com>2023-08-29 21:59:34 +0200
commit61eba44d4aa97ce95ef2232240dc331bc32ccf78 (patch)
tree4c4732c0314951e53216cfc7431eede8ad702e58 /src
parent8e7b6c54e469e70d2a3d817e0f9b9d0ae46cbae6 (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.cpp52
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