Script/Ulduar:

- Fix instance data loading from DB
- Return correct guid for GetData(TYPE_HODIR)

Thanks to Socolin for reporting the errors

--HG--
branch : trunk
This commit is contained in:
Machiavelli
2010-12-21 15:47:09 +01:00
parent 30c55a4a97
commit c08d04365d
@@ -238,47 +238,46 @@ public:
switch (type) switch (type)
{ {
case TYPE_LEVIATHAN: case TYPE_LEVIATHAN:
if (state == IN_PROGRESS) if (state == IN_PROGRESS)
{ for (uint8 uiI = 0; uiI < 7; ++uiI)
for (uint8 uiI = 0; uiI < 7; ++uiI) HandleGameObject(uiLeviathanDoor[uiI],false);
HandleGameObject(uiLeviathanDoor[uiI],false); else
} for (uint8 uiI = 0; uiI < 7; ++uiI)
else HandleGameObject(uiLeviathanDoor[uiI],true);
{ break;
for (uint8 uiI = 0; uiI < 7; ++uiI) case TYPE_IGNIS:
HandleGameObject(uiLeviathanDoor[uiI],true); case TYPE_RAZORSCALE:
} case TYPE_XT002:
break; case TYPE_ASSEMBLY:
case TYPE_IGNIS: case TYPE_AURIAYA:
case TYPE_RAZORSCALE: case TYPE_MIMIRON:
case TYPE_XT002: case TYPE_VEZAX:
case TYPE_ASSEMBLY: case TYPE_YOGGSARON:
case TYPE_AURIAYA: break;
case TYPE_MIMIRON: case TYPE_KOLOGARN:
case TYPE_VEZAX: if (state == DONE)
case TYPE_YOGGSARON: if (GameObject* go = instance->GetGameObject(uiKologarnChestGUID))
break; go->SetRespawnTime(go->GetRespawnDelay());
case TYPE_KOLOGARN: break;
if (state == DONE) case TYPE_HODIR:
if (GameObject* go = instance->GetGameObject(uiKologarnChestGUID)) if (state == DONE)
go->SetRespawnTime(go->GetRespawnDelay()); if (GameObject* go = instance->GetGameObject(uiHodirChestGUID))
break; go->SetRespawnTime(go->GetRespawnDelay());
case TYPE_HODIR: break;
if (state == DONE) case TYPE_THORIM:
if (GameObject* go = instance->GetGameObject(uiHodirChestGUID)) if (state == DONE)
go->SetRespawnTime(go->GetRespawnDelay()); if (GameObject* go = instance->GetGameObject(uiThorimChestGUID))
break; go->SetRespawnTime(go->GetRespawnDelay());
case TYPE_THORIM: break;
if (state == DONE) case TYPE_FREYA:
if (GameObject* go = instance->GetGameObject(uiThorimChestGUID)) if (state == DONE)
go->SetRespawnTime(go->GetRespawnDelay()); if (GameObject* go = instance->GetGameObject(uiFreyaChestGUID))
break; go->SetRespawnTime(go->GetRespawnDelay());
case TYPE_FREYA: break;
if (state == DONE) case TYPE_COLOSSUS:
if (GameObject* go = instance->GetGameObject(uiFreyaChestGUID)) SetData(type, state);
go->SetRespawnTime(go->GetRespawnDelay()); break;
break;
} }
return true; return true;
@@ -315,7 +314,7 @@ public:
case TYPE_KOLOGARN: return uiKologarnGUID; case TYPE_KOLOGARN: return uiKologarnGUID;
case TYPE_AURIAYA: return uiAuriayaGUID; case TYPE_AURIAYA: return uiAuriayaGUID;
case TYPE_MIMIRON: return uiMimironGUID; case TYPE_MIMIRON: return uiMimironGUID;
case TYPE_HODIR: return uiMimironGUID; case TYPE_HODIR: return uiHodirGUID;
case TYPE_THORIM: return uiThorimGUID; case TYPE_THORIM: return uiThorimGUID;
case TYPE_FREYA: return uiFreyaGUID; case TYPE_FREYA: return uiFreyaGUID;
case TYPE_VEZAX: return uiVezaxGUID; case TYPE_VEZAX: return uiVezaxGUID;
@@ -363,7 +362,7 @@ public:
OUT_SAVE_INST_DATA; OUT_SAVE_INST_DATA;
std::ostringstream saveStream; std::ostringstream saveStream;
saveStream << "U U " << GetBossSaveData() << " " << uiEncounter[14]; saveStream << "U U " << GetBossSaveData() << " " << GetData[TYPE_COLOSSUS];
OUT_SAVE_INST_DATA_COMPLETE; OUT_SAVE_INST_DATA_COMPLETE;
return saveStream.str(); return saveStream.str();
@@ -383,7 +382,7 @@ public:
uint32 data14; uint32 data14;
std::istringstream loadStream(strIn); std::istringstream loadStream(strIn);
loadStream >> dataHead1 >> dataHead2 >> data14; loadStream >> dataHead1 >> dataHead2;
if (dataHead1 == 'U' && dataHead2 == 'U') if (dataHead1 == 'U' && dataHead2 == 'U')
{ {
@@ -391,12 +390,12 @@ public:
{ {
uint32 tmpState; uint32 tmpState;
loadStream >> tmpState; loadStream >> tmpState;
loadStream >> uiEncounter[data14]; //colossus pre leviathan
if (tmpState == IN_PROGRESS || tmpState > SPECIAL) if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
tmpState = NOT_STARTED; tmpState = NOT_STARTED;
SetBossState(i, EncounterState(tmpState)); SetBossState(i, EncounterState(tmpState));
} }
} }
OUT_LOAD_INST_DATA_COMPLETE; OUT_LOAD_INST_DATA_COMPLETE;
} }
}; };