void Reset() { ClearCastQueue(); m_harmstringTimer = urand(5000, 15000); m_arcingTimer = urand(15000, 20000); }
void Reset() { ClearCastQueue(); m_vanishTimer = urand(15000, 25000); m_checkTimer = 1000; }
void Reset() { events.Reset(); ClearCastQueue(); events.ScheduleEvent(EVENT_SHADOW_VOLLEY, 3000); events.ScheduleEvent(EVENT_CLEAVE, 5000); events.ScheduleEvent(EVENT_THUNDER_CLAP, urand(12000, 20000)); events.ScheduleEvent(EVENT_VOID_BOLT, 30000); events.ScheduleEvent(EVENT_MARKOFKAZZAK, 25000); events.ScheduleEvent(EVENT_TWIST_REFLECT, 33000); events.ScheduleEvent(EVENT_ENRAGE, 60000); QueryResultAutoPtr resultWorldBossRespawn = QueryResultAutoPtr(NULL); resultWorldBossRespawn = GameDataDatabase.PQuery("SELECT RespawnTime FROM worldboss_respawn WHERE BossEntry = %i", m_creature->GetEntry()); if (resultWorldBossRespawn) { Field* fieldsWBR = resultWorldBossRespawn->Fetch(); uint64 last_time_killed = fieldsWBR[0].GetUInt64(); last_time_killed += 259200; if (last_time_killed >= time(0)) me->DisappearAndDie(); } }
void Reset() { ClearCastQueue(); m_spreadTimer = urand(10000, 20000); m_shootTimer = 2000; }
void Reset() { ClearCastQueue(); events.Reset(); instance->SetData(DATA_THELURKERBELOWEVENT, NOT_STARTED); instance->SetData(DATA_STRANGE_POOL, NOT_STARTED); // Do not fall to the ground ;] me->AddUnitMovementFlag(MOVEFLAG_SWIMMING); me->SetLevitate(true); // Set reactstate to: Defensive me->SetReactState(REACT_DEFENSIVE); me->SetVisibility(VISIBILITY_OFF); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_ATTACKABLE_2); events.ScheduleEvent(LURKER_EVENT_SPOUT_EMOTE, 42000); events.ScheduleEvent(LURKER_EVENT_WHIRL, 18000); events.ScheduleEvent(LURKER_EVENT_GEYSER, 0); events.ScheduleEvent(LURKER_EVENT_SUBMERGE, 90000); // Timers m_checkTimer = 3000; // Bools m_rotating = false; m_submerged = false; summons.DespawnAll(); me->CastSpell(me, SPELL_SUBMERGE, false); }
void Reset() { events.Reset(); ClearCastQueue(); events.ScheduleEvent(EVENT_SHIELD, 15000); events.ScheduleEvent(EVENT_HEAL, urand(7000, 10000)); }
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_DARK_DECAY, 10000); events.ScheduleEvent(EVENT_SUMMON, 15000); events.ScheduleEvent(EVENT_DEATH_COIL, 20000); }
void Reset() { ClearCastQueue(); AmnenarsWrath_Timer = 8000; FrostBolt_Timer = 1000; Spectrals = false; summons.DespawnAll(); }
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() { ClearCastQueue(); DoubleBreath_Timer = 8000+rand()%5000; Stomp_Timer = 15000+rand()%5000; if(pInstance) pInstance->SetData(DATA_YOREVENT, NOT_STARTED); }
void Reset() { ClearCastQueue(); m_smiteTimer = 200; m_cohTimer = 20000; m_wrathTimer = urand(8000,12000); m_shieldTimer = 15000; m_checkTimer = 1000; }
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(); HealingWard_Timer = 15000; NovaTotem_Timer = 45000; LightningBolt_Timer = 10000; EarthGrab_Timer = 15000; StoneSkin_Timer = 15000; Summons.DespawnAll(); }
void UpdateAI(const uint32 diff) { if(!me->isInCombat()) { if(SummonImp_Timer < diff) { // check if still having pet ;] if(!me->GetMap()->GetCreature(SummonGUID)) SummonGUID = 0; if(!SummonGUID) DoCast(m_creature, SPELL_SUMMON_SUNBLADE_IMP, false); SummonImp_Timer = 15000; } else SummonImp_Timer -= diff; } if(!me->IsNonMeleeSpellCasted(false) && !me->isInCombat()) { if(OOCTimer < diff) { HandleOffCombatEffects(); OOCTimer = 10000; } else OOCTimer -= diff; } if(!UpdateVictim()) return; if(FelArmor_Timer < diff) { if(!me->HasAura(SPELL_FEL_ARMOR, 0)) DoCast(me, SPELL_FEL_ARMOR, true); FelArmor_Timer = 120000; } else FelArmor_Timer -= diff; if(Immolate_Timer < diff) { ClearCastQueue(); AddSpellToCast(m_creature->getVictim(), SPELL_IMMOLATE); Immolate_Timer = urand(16000, 25000); } else Immolate_Timer -= diff; CheckCasterNoMovementInRange(diff); CastNextSpellIfAnyAndReady(diff); DoMeleeAttackIfReady(); }
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() { ClearCastQueue(); m_consecrationTimer = urand(6000, 10000); m_hammerTimer = 10000; m_sealTimer = 1000; m_auraTimer = urand(3000, 30000); m_blessingTimer = urand(35000, 50000); m_judgementTimer = 16000; m_checkTimer = 1000; }
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 OnAuraApply(Aura *aur, Unit *caster, bool stackApply) { if(aur->GetId() == SPELL_BEARFORM && aur->GetEffIndex() == 0) { LaceratingSlash_Timer = 2000; // dur 18s RendFlesh_Timer = 3000; // dur 5s DeafeningRoar_Timer = 5000 + rand()%5000; // dur 2s inBearForm = true; DoScriptText(EMOTE_SHIFTEDTOBEAR, m_creature); m_creature->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_DISPLAY + 1, 0); ClearCastQueue(); } }
void Reset() { ClearCastQueue(); damageTaken = 0; SwarmTimer = 10000; SleepTimer = 60000; InfernoTimer = 60000; CheckTimer = 3000; if(pInstance && IsEvent) pInstance->SetData(DATA_ANETHERONEVENT, NOT_STARTED); }
void Reset() { events.Reset(); ClearCastQueue(); events.ScheduleEvent(EVENT_SHADOW_VOLLEY, 3000); events.ScheduleEvent(EVENT_CLEAVE, 5000); events.ScheduleEvent(EVENT_THUNDER_CLAP, urand(12000, 20000)); events.ScheduleEvent(EVENT_VOID_BOLT, 30000); events.ScheduleEvent(EVENT_MARKOFKAZZAK, 25000); events.ScheduleEvent(EVENT_TWIST_REFLECT, 33000); events.ScheduleEvent(EVENT_ENRAGE, 60000); }
void Reset() { events.Reset(); ClearCastQueue(); _phase = PHASE_ONE; instance->SetData(DATA_MAULGAREVENT, NOT_STARTED); events.ScheduleEvent(EVENT_MIGHTY_BLOW, urand(15000, 25000)); events.ScheduleEvent(EVENT_ARCING_SMASH, urand(8000, 14000)); events.ScheduleEvent(EVENT_WHIRLWIND, 30000); ForceSpellCast(me, SPELL_DUAL_WIELD); }
void OnAuraRemove(Aura *aur, bool stackRemove) { if(aur->GetId() == SPELL_BEARFORM && aur->GetEffIndex() == 0) { m_creature->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_DISPLAY + 1, 5122); DoScriptText(YELL_SHIFTEDTOTROLL, m_creature); Surge_Timer = 15000 + rand()%5000; BrutalSwipe_Timer = 7000 + rand()%5000; Mangle_Timer = 10000 + rand()%5000; ShapeShift_Timer = 45000 + rand()%5000; inBearForm = false; ClearCastQueue(); } }
void Reset() { ClearCastQueue(); events.Reset(); instance->SetData(DATA_LURKER_EVENT, NOT_STARTED); instance->SetData(DATA_LURKER_FISHING_EVENT, NOT_STARTED); // Do not fall to the ground ;] me->AddUnitMovementFlag(MOVEFLAG_SWIMMING); me->SetLevitate(true); // Set reactstate to: Defensive me->SetReactState(REACT_DEFENSIVE); me->SetVisibility(VISIBILITY_OFF); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_ATTACKABLE_2); events.ScheduleEvent(LURKER_EVENT_SPOUT_EMOTE, 42000); events.ScheduleEvent(LURKER_EVENT_WHIRL, 18000); events.ScheduleEvent(LURKER_EVENT_GEYSER, rand()%5000 + 15000); events.ScheduleEvent(LURKER_EVENT_SUBMERGE, 90000); RotType = NOROTATE; SpoutAngle = 0; SpoutAnimTimer = 1000; RotTimer = 20000; SpoutTimer = 15000; m_checkTimer = 3000; m_rotating = false; m_submerged = true; ConsecutiveSubmerge = false; //Time values here is irrelevant, they just need to be set WaitTimer = 60000; WaitTimer2 = 60000; CanStartEvent = false; summons.DespawnAll(); me->CastSpell(me, SPELL_SUBMERGE, false); }
void Reset() { ClearCastQueue(); Reflection_Timer = 10000; Impale_Timer = 7000+rand()%7000; Rage_Timer = 45000; CurrentDistiller = 0; checkTimer = 3000; std::list<Creature*> naga_distillers = FindAllCreaturesWithEntry(17954, 100); for(std::list<Creature*>::iterator it = naga_distillers.begin(); it != naga_distillers.end(); it++) { (*it)->Respawn(); (*it)->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); (*it)->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); } if (pInstance) pInstance->SetData(TYPE_WARLORD_KALITHRESH, NOT_STARTED); }
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 UpdateAI(const uint32 diff) { if(!me->IsNonMeleeSpellCasted(false) && !me->isInCombat()) { if(OOCTimer < diff) { HandleOffCombatEffects(); OOCTimer = 10000; } else OOCTimer -= diff; } if(!UpdateVictim()) return; if(Frostbolt_Timer < diff) { AddSpellToCast(me->getVictim(), SPELL_FROSTBOLT); Frostbolt_Timer = SpellMgr::GetSpellCastTime(GetSpellStore()->LookupEntry(SPELL_FROSTBOLT))-(diff+100); } else Frostbolt_Timer -= diff; if(Arcane_Nova_Timer < diff) { ClearCastQueue(); AddSpellToCast(SPELL_ARCANE_NOVA, CAST_SELF); Arcane_Nova_Timer = urand(16000, 20000); } else Arcane_Nova_Timer -= diff; CheckCasterNoMovementInRange(diff, 35.0); CastNextSpellIfAnyAndReady(); DoMeleeAttackIfReady(); }
void UpdateAI(const uint32 diff) { if(!me->IsNonMeleeSpellCasted(false) && !me->isInCombat()) { if(OOCTimer < diff) { HandleOffCombatEffects(); OOCTimer = 10000; } else OOCTimer -= diff; } if(!UpdateVictim()) return; if(Drink_Timer < diff) { ClearCastQueue(); AddSpellToCast(SPELL_DRINK_FEL_INFUSION, CAST_SELF); Drink_Timer = HeroicMode?urand(10000, 18000):urand(15000, 25000); } else Drink_Timer -= diff; if(Wretched_Cast_Timer < diff) { AddSpellToCast(m_creature->getVictim(), RAND(SPELL_WRETCHED_FIREBALL, SPELL_WRETCHED_FROSTBOLT)); Wretched_Cast_Timer = me->HasAura(SPELL_DRINK_FEL_INFUSION, 1) ? 1400 : 2900; } else Wretched_Cast_Timer -= diff; CheckCasterNoMovementInRange(diff, 35.0); CastNextSpellIfAnyAndReady(diff); DoMeleeAttackIfReady(); }
void Reset() { ClearCastQueue(); Berserk = false; NetherInfusionTimer = 540000; VoidZoneTimer = 15000; NetherbreathTimer = 3000; ExhaustCheckTimer = 1000; HandleDoors(true); DestroyPortals(); for(int i=0; i<3; ++i) { PortalGUID[i] = 0; BeamTarget[i] = 0; BeamerGUID[i] = 0; } m_creature->GetMotionMaster()->MovePath(NETHER_PATROL_PATH, true); if(pInstance && pInstance->GetData(DATA_NETHERSPITE_EVENT) != DONE) pInstance->SetData(DATA_NETHERSPITE_EVENT, NOT_STARTED); }