Esempio n. 1
0
    void Aggro(Unit* /*pWho*/) override
    {
        DoScriptText(SAY_EVIL_AGGRO, m_creature);

        if (m_pInstance)
            m_pInstance->SetData(TYPE_KALECGOS, IN_PROGRESS);
    }
Esempio n. 2
0
    void JustReachedHome()
    {
        if (m_pInstance)
        {
            m_pInstance->SetData(TYPE_KILJAEDEN, FAIL);

            // Reset the corrupt Sunwell aura
            if (Creature* pKiljaedenController = m_pInstance->GetSingleCreatureFromStorage(NPC_KILJAEDEN_CONTROLLER))
                pKiljaedenController->CastSpell(pKiljaedenController, SPELL_ANVEENA_DRAIN, true);

            // Respawn Anveena if necessary
            if (Creature* pAnveena = m_pInstance->GetSingleCreatureFromStorage(NPC_ANVEENA))
            {
                if (!pAnveena->isAlive())
                    pAnveena->Respawn();
            }

            // Despawn Kalec if already summoned
            if (Creature* pKalec = m_pInstance->GetSingleCreatureFromStorage(NPC_KALECGOS, true))
                pKalec->ForcedDespawn();
        }

        // Despawn on wipe
        m_creature->ForcedDespawn();
    }
Esempio n. 3
0
    void JustDied(Unit* /*pKiller*/) override
    {
        DoScriptText(SAY_DEATH, m_creature);

        if (m_pInstance)
            m_pInstance->SetData(TYPE_FELMYST, DONE);
    }
Esempio n. 4
0
    void JustDied(Unit* pKiller)
    {
        if (m_pInstance)
            m_pInstance->SetData(TYPE_MURU, DONE);

        // Despawn summoned creatures
        DespawnSummonedCreatures();
    }
Esempio n. 5
0
 void JustReachedHome() override
 {
     if (m_pInstance)
     {
         m_pInstance->DoEjectSpectralPlayers();
         m_pInstance->SetData(TYPE_KALECGOS, FAIL);
     }
 }
Esempio n. 6
0
    void Aggro(Unit* pWho)
    {
        if (m_pInstance)
            m_pInstance->SetData(TYPE_KILJAEDEN, IN_PROGRESS);

        DoScriptText(SAY_EMERGE, m_creature);
        DoCastSpellIfCan(m_creature, SPELL_BIRTH);
    }
Esempio n. 7
0
    void Aggro(Unit* /*pWho*/) override
    {
        if (m_pInstance)
            m_pInstance->SetData(TYPE_MURU, IN_PROGRESS);

        DoCastSpellIfCan(m_creature, SPELL_NEGATIVE_ENERGY, CAST_TRIGGERED);
        DoCastSpellIfCan(m_creature, SPELL_OPEN_PORTAL_PERIODIC, CAST_TRIGGERED);
    }
Esempio n. 8
0
 void JustDied(Unit* /*pKiller*/) override
 {
     if (m_pInstance)
     {
         m_pInstance->DoEjectSpectralPlayers();
         m_pInstance->SetData(TYPE_KALECGOS, FAIL);
     }
 }
Esempio n. 9
0
    void JustDied(Unit* /*pKiller*/) override
    {
        if (m_pInstance)
        { m_pInstance->SetData(TYPE_MURU, DONE); }
#if defined (CLASSIC) || defined (TBC)
        // Despawn summoned creatures
        DespawnSummonedCreatures();
#endif
    }
Esempio n. 10
0
    void Aggro(Unit* pWho) override
    {
        DoCastSpellIfCan(m_creature, SPELL_NOXIOUS_FUMES);

        if (m_pInstance)
            m_pInstance->SetData(TYPE_FELMYST, IN_PROGRESS);

        float fGroundZ = m_creature->GetMap()->GetHeight(m_creature->GetPhaseMask(), m_creature->GetPositionX(), m_creature->GetPositionY(), m_creature->GetPositionZ());
        m_creature->GetMotionMaster()->MovePoint(PHASE_TRANSITION, pWho->GetPositionX(), pWho->GetPositionY(), fGroundZ, false);
        m_creature->HandleEmote(EMOTE_ONESHOT_LAND);
    }
Esempio n. 11
0
    void JustReachedHome() override
    {
        if (m_pInstance)
        {
            m_pInstance->SetData(TYPE_MURU, FAIL);

            // respawn muru
            m_creature->SummonCreature(NPC_MURU, afMuruSpawnLoc[0], afMuruSpawnLoc[1], afMuruSpawnLoc[2], afMuruSpawnLoc[3], TEMPSUMMON_DEAD_DESPAWN, 0, true);
        }

        // despawn boss and summons for reset
        m_creature->ForcedDespawn();
    }
Esempio n. 12
0
    void MovementInform(uint32 uiMotionType, uint32 uiPointId) override
    {
        if (uiMotionType != POINT_MOTION_TYPE)
            return;

        if (uiPointId)
        {
            if (m_pInstance)
                m_pInstance->SetData(TYPE_KALECGOS, DONE);

            m_creature->ForcedDespawn(1000);
        }
    }
Esempio n. 13
0
    void JustDied(Unit* pKiller)
    {
        if (m_pInstance)
        {
            m_pInstance->SetData(TYPE_KILJAEDEN, DONE);

            // Start the outro
            if (Creature* pKiljaedenController = m_pInstance->GetSingleCreatureFromStorage(NPC_KILJAEDEN_CONTROLLER))
            {
                if (npc_kiljaeden_controllerAI* pControllerAI = dynamic_cast<npc_kiljaeden_controllerAI*>(pKiljaedenController->AI()))
                    pControllerAI->DoStartOutroDialogue();
            }
        }
    }
Esempio n. 14
0
    void JustReachedHome()
    {
        if (m_pInstance)
        {
            m_pInstance->SetData(TYPE_MURU, FAIL);

            // respawn muru
            if (Creature* pMuru = m_pInstance->GetSingleCreatureFromStorage(NPC_MURU))
                pMuru->Respawn();
        }

        // despawn boss and summons for reset
        DespawnSummonedCreatures();
        m_creature->ForcedDespawn();
    }
Esempio n. 15
0
    void JustReachedHome() override
    {
        if (m_pInstance)
        {
            m_pInstance->SetData(TYPE_MURU, FAIL);

            // respawn muru
#if defined (CLASSIC) || defined (TBC)
            if (Creature* pMuru = m_pInstance->GetSingleCreatureFromStorage(NPC_MURU))
            { pMuru->Respawn(); }
#endif
#if defined (WOTLK)
            m_creature->SummonCreature(NPC_MURU, afMuruSpawnLoc[0], afMuruSpawnLoc[1], afMuruSpawnLoc[2], afMuruSpawnLoc[3], TEMPSUMMON_DEAD_DESPAWN, 0, true);
#endif
        }

        // despawn boss and summons for reset
#if defined (CLASSIC) || defined (TBC)
        DespawnSummonedCreatures();
#endif
        m_creature->ForcedDespawn();
    }
Esempio n. 16
0
 void JustReachedHome() override
 {
     if (m_pInstance)
         m_pInstance->SetData(TYPE_FELMYST, FAIL);
 }
Esempio n. 17
0
 void JustDied(Unit* /*pKiller*/) override
 {
     if (m_pInstance)
         m_pInstance->SetData(TYPE_MURU, DONE);
 }
Esempio n. 18
0
 void JustReachedHome()
 {
     if (m_pInstance)
         m_pInstance->SetData(TYPE_MURU, FAIL);
 }
Esempio n. 19
0
 void JustReachedHome() override
 {
     if (m_pInstance)
     { m_pInstance->SetData(TYPE_MURU, FAIL); }
 }