aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp
index 3006b905673..5d720ad8721 100644
--- a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp
@@ -128,6 +128,8 @@ struct instance_naxxramas : public InstanceData
uint64 uiKelthuzadTrigger;
uint64 uiPortals[4];
+ GOState gothikDoorState;
+
time_t minHorsemenDiedTime;
time_t maxHorsemenDiedTime;
@@ -171,7 +173,9 @@ struct instance_naxxramas : public InstanceData
pSapphiron->AI()->DoAction(DATA_SAPPHIRON_BIRTH);
return;
}
- case GO_GOTHIK_GATE: GothikGateGUID = add ? pGo->GetGUID() : 0; break;
+ case GO_GOTHIK_GATE:
+ GothikGateGUID = add ? pGo->GetGUID() : 0;
+ break;
case GO_HORSEMEN_CHEST: HorsemenChestGUID = add ? pGo->GetGUID() : 0; break;
case GO_HORSEMEN_CHEST_HERO: HorsemenChestGUID = add ? pGo->GetGUID() : 0; break;
case GO_KELTHUZAD_PORTAL01: uiPortals[0] = pGo->GetGUID(); break;
@@ -194,6 +198,7 @@ struct instance_naxxramas : public InstanceData
case DATA_GOTHIK_GATE:
if (GameObject *pGothikGate = instance->GetGameObject(GothikGateGUID))
pGothikGate->SetGoState(GOState(value));
+ gothikDoorState = GOState(value);
break;
case DATA_HORSEMEN0:
@@ -307,6 +312,21 @@ struct instance_naxxramas : public InstanceData
}
return false;
}
+
+ std::string GetSaveData()
+ {
+ std::ostringstream saveStream;
+ saveStream << GetBossSaveData() << gothikDoorState;
+ return saveStream.str();
+ }
+
+ void Load(const char * data)
+ {
+ std::istringstream loadStream(LoadBossState(data));
+ uint32 buff;
+ loadStream >> buff;
+ gothikDoorState = GOState(buff);
+ }
};
InstanceData* GetInstanceData_instance_naxxramas(Map* pMap)