void instance_molten_core::SetData(uint32 uiType, uint32 uiData) { switch (uiType) { case TYPE_LUCIFRON: m_auiEncounter[uiType] = uiData; break; case TYPE_MAGMADAR: m_auiEncounter[uiType] = uiData; break; case TYPE_GEHENNAS: m_auiEncounter[uiType] = uiData; break; case TYPE_GARR: m_auiEncounter[uiType] = uiData; break; case TYPE_SHAZZRAH: m_auiEncounter[uiType] = uiData; break; case TYPE_GEDDON: m_auiEncounter[uiType] = uiData; break; case TYPE_GOLEMAGG: m_auiEncounter[uiType] = uiData; break; case TYPE_SULFURON: m_auiEncounter[uiType] = uiData; break; case TYPE_MAJORDOMO: m_auiEncounter[uiType] = uiData; if (uiData == DONE) DoRespawnGameObject(GO_CACHE_OF_THE_FIRE_LORD, HOUR); break; case TYPE_RAGNAROS: m_auiEncounter[uiType] = uiData; break; } // Check if Majordomo can be summoned if (uiData == SPECIAL) DoSpawnMajordomoIfCan(false); if (uiData == DONE || uiData == SPECIAL) { OUT_SAVE_INST_DATA; std::ostringstream saveStream; saveStream << m_auiEncounter[0] << " " << m_auiEncounter[1] << " " << m_auiEncounter[2] << " " << m_auiEncounter[3] << " " << m_auiEncounter[4] << " " << m_auiEncounter[5] << " " << m_auiEncounter[6] << " " << m_auiEncounter[7] << " " << m_auiEncounter[8] << " " << m_auiEncounter[9]; m_strInstData = saveStream.str(); SaveToDB(); OUT_SAVE_INST_DATA_COMPLETE; } }
void instance_molten_core::OnPlayerEnter(Player* pPlayer) { // Summon Majordomo if can DoSpawnMajordomoIfCan(true); }
void instance_molten_core::SetData(uint32 uiType, uint32 uiData) { switch(uiType) { case TYPE_LUCIFRON: m_auiEncounter[uiType] = uiData; if (uiData == FAIL) DoHandleAdds(m_luiProtectorGUIDs); break; case TYPE_MAGMADAR: m_auiEncounter[uiType] = uiData; if (uiData == DONE) DoUseDoorOrButton(m_uiRuneKressGUID); break; case TYPE_GEHENNAS: m_auiEncounter[uiType] = uiData; if (uiData == DONE) { DoUseDoorOrButton(m_uiRuneMohnGUID); m_luiFlamewakerGUIDs.clear(); } if (uiData == FAIL) DoHandleAdds(m_luiFlamewakerGUIDs); break; case TYPE_GARR: m_auiEncounter[uiType] = uiData; if (uiData == DONE) { DoUseDoorOrButton(m_uiRuneBlazGUID); m_luiFireswornGUIDs.clear(); } if (uiData == FAIL) DoHandleAdds(m_luiFireswornGUIDs); break; case TYPE_SHAZZRAH: m_auiEncounter[uiType] = uiData; if (uiData == DONE) DoUseDoorOrButton(m_uiRuneMazjGUID); break; case TYPE_GEDDON: m_auiEncounter[uiType] = uiData; if (uiData == DONE) DoUseDoorOrButton(m_uiRuneZethGUID); break; case TYPE_GOLEMAGG: m_auiEncounter[uiType] = uiData; if (uiData == DONE) { DoUseDoorOrButton(m_uiRuneTheriGUID); DoHandleAdds(m_luiRagerGUIDs, false); m_luiRagerGUIDs.clear(); } if (uiData == FAIL) DoHandleAdds(m_luiRagerGUIDs); break; case TYPE_SULFURON: m_auiEncounter[uiType] = uiData; if (uiData == DONE) { DoUseDoorOrButton(m_uiRuneKoroGUID); m_luiPriestGUIDs.clear(); } if (uiData == FAIL) DoHandleAdds(m_luiPriestGUIDs); break; case TYPE_MAJORDOMO: m_auiEncounter[uiType] = uiData; if (uiData == DONE) DoRespawnGameObject(m_uiFirelordCacheGUID); break; case TYPE_RAGNAROS: m_auiEncounter[uiType] = uiData; break; } // Check if Majordomo can be summoned if (uiData == DONE) DoSpawnMajordomoIfCan(false); if (uiData == DONE) { OUT_SAVE_INST_DATA; std::ostringstream saveStream; saveStream << m_auiEncounter[0] << " " << m_auiEncounter[1] << " " << m_auiEncounter[2] << " " << m_auiEncounter[3] << " " << m_auiEncounter[4] << " " << m_auiEncounter[5] << " " << m_auiEncounter[6] << " " << m_auiEncounter[7] << " " << m_auiEncounter[8] << " " << m_auiEncounter[9]; m_strInstData = saveStream.str(); SaveToDB(); OUT_SAVE_INST_DATA_COMPLETE; } }