void JustDied(Unit* /*pKiller*/) { DoScriptText(SAY_DEATH, m_creature); if (m_pInstance) m_pInstance->SetData(TYPE_GOTHIK, DONE); }
void JustReachedHome() override { if (m_pInstance) m_pInstance->SetData(TYPE_GLUTH, FAIL); DoCastSpellIfCan(m_creature, SPELL_DOUBLE_ATTACK, CAST_TRIGGERED | CAST_AURA_NOT_PRESENT); }
void Aggro(Unit* /*pWho*/) override { DoCastSpellIfCan(m_creature, m_bIsRegularMode ? SPELL_FROST_AURA : SPELL_FROST_AURA_H); if (m_pInstance) m_pInstance->SetData(TYPE_SAPPHIRON, IN_PROGRESS); }
void JustDied(Unit* /*pKiller*/) override { DoScriptText(SAY_DEATH, m_creature); if (m_pInstance) m_pInstance->SetData(TYPE_FAERLINA, DONE); }
void JustReachedHome() override { if (m_pInstance) { m_pInstance->SetData(TYPE_MAEXXNA, FAIL); } }
void Aggro(Unit* /*pWho*/) override { DoScriptText(urand(0, 1) ? SAY_AGGRO1 : SAY_AGGRO2, m_creature); if (m_pInstance) m_pInstance->SetData(TYPE_PATCHWERK, IN_PROGRESS); }
void Aggro(Unit* /*pWho*/) override { if (m_pInstance) { m_pInstance->SetData(TYPE_MAEXXNA, IN_PROGRESS); } }
void JustDied(Unit* /*pKiller*/) override { if (m_pInstance) { m_pInstance->SetData(TYPE_MAEXXNA, DONE); } }
void JustDied(Unit* /*pKiller*/) override { DoScriptText(SAY_DEATH, m_creature); DespawnAdds(); if (m_pInstance) m_pInstance->SetData(TYPE_KELTHUZAD, DONE); }
void ProcessCentralDoor() { if (IsCentralDoorClosed()) { m_pInstance->SetData(TYPE_GOTHIK, SPECIAL); DoScriptText(EMOTE_GATE, m_creature); } }
void Aggro(Unit* /*pWho*/) override { DoScriptText(SAY_AGGRO_1, m_creature); if (m_pInstance) m_pInstance->SetData(TYPE_FAERLINA, IN_PROGRESS); }
void JustReachedHome() override { DespawnIntroCreatures(); DespawnAdds(); if (m_pInstance) m_pInstance->SetData(TYPE_KELTHUZAD, NOT_STARTED); }
void JustDied(Unit* /*pKiller*/) override { DoScriptText(SAY_DEATH, m_creature); DoCastSpellIfCan(m_creature, SPELL_HOPELESS, CAST_TRIGGERED); if (m_pInstance) m_pInstance->SetData(TYPE_RAZUVIOUS, DONE); }
void Aggro(Unit* /*pWho*/) override { switch (urand(0, 2)) { case 0: DoScriptText(SAY_AGGRO1, m_creature); break; case 1: DoScriptText(SAY_AGGRO2, m_creature); break; case 2: DoScriptText(SAY_AGGRO3, m_creature); break; } if (m_pInstance) m_pInstance->SetData(TYPE_ANUB_REKHAN, IN_PROGRESS); }
void Aggro(Unit* /*pWho*/) { if (!m_pInstance) return; m_pInstance->SetData(TYPE_GOTHIK, IN_PROGRESS); // Make immune m_creature->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_ALL, true); m_pInstance->SetGothTriggers(); PrepareSummonPlaces(); }
void Aggro(Unit* /*pWho*/) override { switch (urand(0, 3)) { case 0: DoScriptText(SAY_AGGRO_1, m_creature); break; case 1: DoScriptText(SAY_AGGRO_2, m_creature); break; case 2: DoScriptText(SAY_AGGRO_3, m_creature); break; case 3: DoScriptText(SAY_AGGRO_4, m_creature); break; } if (m_pInstance) m_pInstance->SetData(TYPE_FAERLINA, IN_PROGRESS); }
void Aggro(Unit* pWho) { m_creature->SetInCombatWithZone(); DoScriptText(SAY_SPEECH_1, m_creature); if (!m_pInstance) return; m_pInstance->SetData(TYPE_GOTHIK, IN_PROGRESS); m_pInstance->SetGothTriggers(); }
void Aggro(Unit* pWho) override { if (!m_pInstance) return; m_pInstance->SetData(TYPE_THADDIUS, IN_PROGRESS); if (Creature* pOtherAdd = GetOtherAdd()) { if (!pOtherAdd->isInCombat()) pOtherAdd->AI()->AttackStart(pWho); } }
void JustDied(Unit* /*pKiller*/) override { DoScriptText(SAY_DEATH, m_creature); if (m_pInstance) { m_pInstance->SetData(TYPE_THADDIUS, DONE); // Force Despawn of Adds Creature* pFeugen = m_pInstance->GetSingleCreatureFromStorage(NPC_FEUGEN); Creature* pStalagg = m_pInstance->GetSingleCreatureFromStorage(NPC_STALAGG); if (pFeugen) pFeugen->ForcedDespawn(); if (pStalagg) pStalagg->ForcedDespawn(); } }
void Aggro(Unit* pWho) { m_creature->SetInCombatWithZone(); switch (urand(0, 2)) { case 0: DoScriptText(SAY_AGGRO1, m_creature); break; case 1: DoScriptText(SAY_AGGRO2, m_creature); break; case 2: DoScriptText(SAY_AGGRO3, m_creature); break; } if (m_pInstance) m_pInstance->SetData(TYPE_NOTH, IN_PROGRESS); }
void JustReachedHome() override { if (m_pInstance) { m_pInstance->SetData(TYPE_THADDIUS, FAIL); // Respawn Adds: Creature* pFeugen = m_pInstance->GetSingleCreatureFromStorage(NPC_FEUGEN); Creature* pStalagg = m_pInstance->GetSingleCreatureFromStorage(NPC_STALAGG); if (pFeugen) { pFeugen->ForcedDespawn(); pFeugen->Respawn(); } if (pStalagg) { pStalagg->ForcedDespawn(); pStalagg->Respawn(); } } }
void JustReachedHome() override { if (!m_pInstance) return; if (Creature* pOther = GetOtherAdd()) { if (boss_thaddiusAddsAI* pOtherAI = dynamic_cast<boss_thaddiusAddsAI*>(pOther->AI())) { if (pOtherAI->IsCountingDead()) { pOther->ForcedDespawn(); pOther->Respawn(); } } } // Reapply Chains if needed if (!m_creature->HasAura(SPELL_FEUGEN_CHAIN) && !m_creature->HasAura(SPELL_STALAGG_CHAIN)) JustRespawned(); m_pInstance->SetData(TYPE_THADDIUS, FAIL); }
void JustReachedHome() override { if (m_pInstance) m_pInstance->SetData(TYPE_FAERLINA, FAIL); }
void JustReachedHome() override { if (m_pInstance) m_pInstance->SetData(TYPE_SAPPHIRON, FAIL); }
void JustReachedHome() override { if (m_pInstance) m_pInstance->SetData(TYPE_LOATHEB, NOT_STARTED); }
void JustDied(Unit* /*pKiller*/) override { if (m_pInstance) m_pInstance->SetData(TYPE_LOATHEB, DONE); }
void Aggro(Unit* /*pWho*/) override { if (m_pInstance) m_pInstance->SetData(TYPE_LOATHEB, IN_PROGRESS); }
void JustReachedHome() { if (m_pInstance) m_pInstance->SetData(TYPE_GOTHIK, FAIL); }
void JustDied(Unit* /*pKiller*/) override { if (m_pInstance) m_pInstance->SetData(TYPE_ANUB_REKHAN, DONE); }
void JustReachedHome() override { if (m_pInstance) m_pInstance->SetData(TYPE_ANUB_REKHAN, FAIL); }