Load&save gothik's door state on instancedata load&save

Partial fix for issue #1244

--HG--
branch : trunk
This commit is contained in:
Tartalo
2010-06-26 20:11:34 +02:00
parent ce94851015
commit 3614f7b089
@@ -128,6 +128,8 @@ struct instance_naxxramas : public InstanceData
uint64 uiKelthuzadTrigger; uint64 uiKelthuzadTrigger;
uint64 uiPortals[4]; uint64 uiPortals[4];
GOState gothikDoorState;
time_t minHorsemenDiedTime; time_t minHorsemenDiedTime;
time_t maxHorsemenDiedTime; time_t maxHorsemenDiedTime;
@@ -171,7 +173,9 @@ struct instance_naxxramas : public InstanceData
pSapphiron->AI()->DoAction(DATA_SAPPHIRON_BIRTH); pSapphiron->AI()->DoAction(DATA_SAPPHIRON_BIRTH);
return; 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: HorsemenChestGUID = add ? pGo->GetGUID() : 0; break;
case GO_HORSEMEN_CHEST_HERO: 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; case GO_KELTHUZAD_PORTAL01: uiPortals[0] = pGo->GetGUID(); break;
@@ -194,6 +198,7 @@ struct instance_naxxramas : public InstanceData
case DATA_GOTHIK_GATE: case DATA_GOTHIK_GATE:
if (GameObject *pGothikGate = instance->GetGameObject(GothikGateGUID)) if (GameObject *pGothikGate = instance->GetGameObject(GothikGateGUID))
pGothikGate->SetGoState(GOState(value)); pGothikGate->SetGoState(GOState(value));
gothikDoorState = GOState(value);
break; break;
case DATA_HORSEMEN0: case DATA_HORSEMEN0:
@@ -307,6 +312,21 @@ struct instance_naxxramas : public InstanceData
} }
return false; 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) InstanceData* GetInstanceData_instance_naxxramas(Map* pMap)