void JustDied(Unit* attacker)
            {
                me->CastSpell(me, SPELL_RELEASE_SPIRIT, false);

                events.Reset();
                pInstance->SetBossState(DATA_GARAJAL, DONE);
                pInstance->SaveToDB();

                pInstance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);

                pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_VOODOO_DOLL_VISUAL);
                pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_VOODOO_DOLL_SHARE);
                pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_CLONE_VISUAL);
                pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_CROSSED_OVER);
                pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_LIFE_FRAGILE_THREAD);

                if (Creature* lorewalkerCho = GetClosestCreatureWithEntry(me, 61348, 200.0f, true))
                {
                    if (lorewalkerCho->AI())
                    {
                        {
                            lorewalkerCho->AI()->DoAction(ACTION_CONTINUE_ESCORT);
                            lorewalkerCho->AI()->DoAction(ACTION_RUN);
                        }
                    }
                }
            }
 void JustDied(Unit* /*killer*/)
 {
     events.Reset();
     if (instance)
     {
         instance->SetBossState(DATA_GADOK, DONE);
         instance->SaveToDB();
     }
 }
Exemple #3
0
 void JustDied(Unit* /*killer*/)
 {
     if (!pInstance)
         return;
     summons.DespawnAll();
     pInstance->SetBossState(DATA_MAGMAW, DONE);
     pInstance->SaveToDB();
     if (Creature* pNefarius = me->SummonCreature(NPC_LORD_VICTOR_NEFARIUS_HEROIC, 
         me->GetPositionX(),
         me->GetPositionY(),
         me->GetPositionZ(),
         0.0f))
         pNefarius->AI()->DoAction(ACTION_MAGMAW_DEATH);
 }