void JustDied(Unit* /*pKiller*/) override { DoScriptText(SAY_DEATH, m_creature); if (m_pInstance) m_pInstance->SetData(TYPE_SELIN, DONE); }
void Aggro(Unit* /*pWho*/) override { DoScriptText(SAY_AGGRO, m_creature); if (m_pInstance) m_pInstance->SetData(TYPE_SELIN, IN_PROGRESS); }
void JustDied(Unit* pKiller) { DoScriptText(SAY_DEATH, m_creature); if (!m_pInstance) return; m_pInstance->SetData(TYPE_SELIN, DONE); // Encounter complete! ShatterRemainingCrystals(); }
void Aggro(Unit* pWho) { DoScriptText(SAY_AGGRO, m_creature); if (m_pInstance) { m_pInstance->SetData(TYPE_SELIN, IN_PROGRESS); if (m_lCrystalGuids.empty()) { // Get and output crystals m_pInstance->GetFelCrystalList(m_lCrystalGuids); for (GUIDList::const_iterator itr = m_lCrystalGuids.begin(); itr != m_lCrystalGuids.end(); ++itr) debug_log("SSC: Selin: Added Fel Crystal %s to list", ObjectGuid(*itr).GetString().c_str()); } } }
void JustReachedHome() { if (m_pInstance) { m_pInstance->SetData(TYPE_SELIN, FAIL); for (GUIDList::const_iterator itr = m_lCrystalGuids.begin(); itr != m_lCrystalGuids.end(); ++itr) { if (Creature* pCrystal = m_creature->GetMap()->GetCreature(*itr)) { if (!pCrystal->isAlive()) pCrystal->Respawn(); // Let MaNGOS handle setting death state, etc. // Only need to set unselectable flag. You can't attack unselectable units so non_attackable flag is not necessary here. pCrystal->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); } } } }
void JustReachedHome() override { if (m_pInstance) m_pInstance->SetData(TYPE_SELIN, FAIL); }