void Reset() { SummonImp_Timer = 5000; DoCast(me, SPELL_FEL_ARMOR, true); SetAutocast(SPELL_INCINERATE, 1900, true); Immolate_Timer = urand(8000, 12000); OOCTimer = 5000; }
void OnAuraRemove(Aura* aur, bool stackApply) { if (aur->GetId() == SPELL_SPELL_FURY) { ClearCastQueue(); SetAutocast(SPELL_FEL_FIREBALL, RAND(6300, 8300), true); } }
void OnAuraApply(Aura* aur, Unit* caster, bool stackApply) { if (aur->GetId() == SPELL_SPELL_FURY) { ClearCastQueue(); SetAutocast(SPELL_FEL_FIREBALL, 1000, true); // 1 sec GCD } }
void Reset() { events.Reset(); ClearCastQueue(); events.ScheduleEvent(EVENT_SPELL_SHIELD, 31000); events.ScheduleEvent(EVENT_BLAST_WAVE, 5000); SetAutocast(SPELL_GREATER_FIREBALL, 4000, true); }
void Reset() { events.Reset(); ClearCastQueue(); events.ScheduleEvent(EVENT_POLYMORPH, 5000); events.ScheduleEvent(EVENT_ARCANE_SHOCK, 20000); events.ScheduleEvent(EVENT_ARCANE_EXPLO, 30000); SetAutocast(SPELL_LIGHTNING_BOLT, 2200, true); }
void Reset() { events.Reset(); ClearCastQueue(); events.ScheduleEvent(EVENT_POLYMORPH, urand(10000, 20000)); //Probably too quick events.ScheduleEvent(EVENT_ARCANE_SHOCK, 20000); events.ScheduleEvent(EVENT_ARCANE_EXPLO, 30000); SetAutocast(SPELL_LIGHTNING_BOLT, 2200, true); }
void Reset() { ClearCastQueue(); m_blizzardTimer = urand(12000, 20000); m_flamestrikeTimer = 3800; m_dampenTimer = 67200; m_aexpTimer = 3000; m_immunityTimer = 60000; SetAutocast(SPELL_ARCANE_BOLT, 2000, true, CAST_TANK, 40.0f, true); m_checkTimer = 1000; }
void UpdateAI(const uint32 diff) { if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() == POINT_MOTION_TYPE) { if (me->GetSelection()) me->SetSelection(NULL); return; } if(ActivationTimer) { if(ActivationTimer <= diff) { ActivationTimer = 0; DoZoneInCombat(400); me->SetRooted(false); if(me->getVictim()) DoStartMovement(me->getVictim()); SetAutocast(SPELL_FEL_FIREBALL, RAND(6300, 8300), true); } else ActivationTimer -= diff; return; } if(!UpdateVictim()) return; if(SpellFury < diff) { ClearCastQueue(); AddSpellToCast(SPELL_SPELL_FURY, CAST_SELF); SpellFury = 60000; } else SpellFury -= diff; CastNextSpellIfAnyAndReady(diff); DoMeleeAttackIfReady(); }
void Reset() { SpecialTimer = urand(15000, 19000); PyrogenicsTimer = 15000; EnrageTimer = 360000; FlamesearTimer = urand(10000, 15000); IntroYellTimer = 500; IntroStepCounter = 10; IntroDone = false; TrashWaveDone = false; DoCast(me, SPELL_FIREFORM); if (pInstance->GetData(DATA_EREDAR_TWINS_INTRO) == DONE) me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); else me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); pInstance->SetData(DATA_EREDAR_TWINS_EVENT, NOT_STARTED); pInstance->SetData(DATA_ALYTHESS, NOT_STARTED); SetAutocast(SPELL_BLAZE, 2700, true); }
void EnterCombat(Unit *who) { SetAutocast(SPELL_WATER_BOLT, 1000, true); }
void AttackStart(Unit* who) { ScriptedAI::AttackStartNoMove(who, CHECK_TYPE_CASTER); SetAutocast(SPELL_FIREBALL, 1900, true); }