void JustDied(Unit* /*killer*/) override { _JustDied(); me->PlayDirectSound(SOUND_ID_DEATH); }
void JustDied(Unit* /*killer*/) override { _JustDied(); Talk(SAY_DEATH); }
void JustDied(Unit* /*who*/) { _JustDied(); if (Creature* controller = ObjectAccessor::GetCreature(*me, instance ? instance->GetData64(DATA_RAZORSCALE_CONTROL) : 0)) controller->AI()->Reset(); }
void JustDied(Unit* /*who*/) { DoScriptText(SAY_DEATH, me); _JustDied(); }
void JustDied(Unit* /*killer*/) { _JustDied(); if (instance) instance->SetData(TYPE_NORTHREND_BEASTS, ICEHOWL_DONE); }
void JustDied(Unit* /*killer*/) { Cleanup(); _JustDied(); }
void JustDied(Unit*) { _JustDied(); DoScriptText(SAY_DEATH, me); }
void JustDied(Unit* /*killer*/) override { Talk(SAY_DIE); _JustDied(); }
void JustDied(Unit* /*killer*/) { _JustDied(); DoScriptText(SAY_DEATH, me); }
void JustDied(Unit* /*killer*/) { _JustDied(); DoScriptText(SAY_DEATH, me); instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_AURA_OF_DESPAIR); }
void JustDied(Unit* /*killer*/) { _JustDied(); if (Creature* victor = me->FindNearestCreature(NPC_LORD_VICTOR_NEFARIUS, 75.0f, true)) victor->AI()->SetData(1, 2); }
void JustDied(Unit* /*killer*/) override { _JustDied(); if (Creature* Ossirian = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_OSSIRIAN))) sCreatureTextMgr->SendChat(Ossirian, SAY_KURINAXX_DEATH, nullptr, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_ZONE); }
void JustDied(Unit* /*killer*/) override { instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me); Talk(SAY_DEATH); _JustDied(); }
void JustDied(Unit* /*killer*/) override { _JustDied(); Talk(SAY_VENOXIS_DEATH); me->RemoveAllAuras(); }
void JustDied(Unit* killer) { _JustDied(); DoScriptText(SAY_DEATH[id], me); }
void JustDied(Unit* /*killer*/) override { _JustDied(); if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetGuidData(GO_GATE_GANDLING))) gate->SetGoState(GO_STATE_ACTIVE); }
void UpdateAI(const uint32 diff) { if (instance && instance->GetBossState(BOSS_MAJORDOMO_EXECUTUS) != DONE) { if (!UpdateVictim()) return; events.Update(diff); if (!me->FindNearestCreature(NPC_FLAMEWAKER_HEALER, 100.0f) && !me->FindNearestCreature(NPC_FLAMEWAKER_ELITE, 100.0f)) { instance->UpdateEncounterState(ENCOUNTER_CREDIT_KILL_CREATURE, me->GetEntry(), me); me->setFaction(35); me->AI()->EnterEvadeMode(); Talk(SAY_DEFEAT); _JustDied(); events.ScheduleEvent(EVENT_OUTRO_1, 32000); return; } if (me->HasUnitState(UNIT_STATE_CASTING)) return; if (HealthBelowPct(50)) DoCast(me, SPELL_AEGIS_OF_RAGNAROS, true); while (uint32 eventId = events.ExecuteEvent()) { switch (eventId) { case EVENT_MAGIC_REFLECTION: DoCast(me, SPELL_MAGIC_REFLECTION); events.ScheduleEvent(EVENT_MAGIC_REFLECTION, 30000); break; case EVENT_DAMAGE_REFLECTION: DoCast(me, SPELL_DAMAGE_REFLECTION); events.ScheduleEvent(EVENT_DAMAGE_REFLECTION, 30000); break; case EVENT_BLAST_WAVE: DoCastVictim(SPELL_BLAST_WAVE); events.ScheduleEvent(EVENT_BLAST_WAVE, 10000); break; case EVENT_TELEPORT: if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1)) DoCast(target, SPELL_TELEPORT); events.ScheduleEvent(EVENT_TELEPORT, 20000); break; default: break; } } DoMeleeAttackIfReady(); } else { events.Update(diff); while (uint32 eventId = events.ExecuteEvent()) { switch (eventId) { case EVENT_OUTRO_1: me->NearTeleportTo(RagnarosTelePos.GetPositionX(), RagnarosTelePos.GetPositionY(), RagnarosTelePos.GetPositionZ(), RagnarosTelePos.GetOrientation()); me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); break; case EVENT_OUTRO_2: if (instance) instance->instance->SummonCreature(NPC_RAGNAROS, RagnarosSummonPos); break; case EVENT_OUTRO_3: Talk(SAY_ARRIVAL2_MAJ); break; default: break; } } } }
void JustDied(Unit* /*killer*/) { Talk(SAY_DEATH); _JustDied(); }
void JustDied(Unit* /*killer*/) { _JustDied(); }
void JustDied(Unit* /*victim*/) { _JustDied(); DoScriptText(SAY_DEATH, me); }
void JustDied(Unit* /*killer*/) { _JustDied(); Talk(SAY_DEATH); DoCast(me, SPELL_DEATH_SPELL, true); // we cast the spell as triggered or the summon effect does not occur }
void JustDied(Unit* /*Killer*/) { _JustDied(); Talk(SAY_DEATH); }
void JustDied(Unit* /*killer*/) override { _JustDied(); }
void JustDied(Unit* who) { _JustDied(); summons.DespawnAll(); Talk(SAY_DEATH); }
void JustDied(Unit* /*killer*/) { _JustDied(); DoPlaySoundToSet(me, SOUND_DEATH); me->CastSpell(me, SPELL_HOPELESS, true); // TODO: this may affect other creatures }
void JustDied(Unit * /*victim*/) override { _JustDied(); }
void JustDied(Unit* /*who*/) { _JustDied(); }
void JustDied(Unit* /*killer*/) override { Talk(SAY_DEATH); _JustDied(); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); }
void JustDied(Unit* killer) override { if (killer && killer != me) Talk(SAY_DIE); _JustDied(); }
void JustDied(Unit* /*killer*/) { _JustDied(); DoSendQuantumText(SAY_DEATH, me); }