mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-02-16 00:36:07 +00:00
feat(Core/AI): convert SelectAggroTarget to enum class (#9893)
This commit is contained in:
@@ -123,7 +123,7 @@ public:
|
||||
events.RepeatEvent(2000);
|
||||
break;
|
||||
case EVENT_SPELL_SOUL:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true))
|
||||
{
|
||||
Talk(SAY_ROAR);
|
||||
me->CastSpell(target, SPELL_STOLEN_SOUL, false);
|
||||
@@ -138,7 +138,7 @@ public:
|
||||
events.RepeatEvent(urand(25000, 30000));
|
||||
break;
|
||||
case EVENT_SPELL_RIBBON:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, SPELL_RIBBON_OF_SOULS, false);
|
||||
events.RepeatEvent(urand(10000, 20000));
|
||||
break;
|
||||
|
||||
@@ -153,7 +153,7 @@ public:
|
||||
events.RepeatEvent(10000);
|
||||
break;
|
||||
case EVENT_SPELL_FOCUS_FIRE:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 60.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
{
|
||||
if (Creature* cr = me->SummonCreature(ENTRY_FOCUS_FIRE, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 7000))
|
||||
focusGUID = cr->GetGUID();
|
||||
|
||||
@@ -95,7 +95,7 @@ public:
|
||||
switch (events.ExecuteEvent())
|
||||
{
|
||||
case EVENT_VOID_BLAST:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true))
|
||||
{
|
||||
DoCast(target, SPELL_VOID_BLAST);
|
||||
++VoidBlastCounter;
|
||||
|
||||
@@ -125,7 +125,7 @@ public:
|
||||
events.RepeatEvent(urand(7000, 12000));
|
||||
break;
|
||||
case EVENT_SPELL_POLYMORPH:
|
||||
if (Unit* target = (IsHeroic() ? SelectTarget(SELECT_TARGET_RANDOM, 0) : SelectTarget(SELECT_TARGET_TOPAGGRO, 1)))
|
||||
if (Unit* target = (IsHeroic() ? SelectTarget(SelectTargetMethod::Random, 0) : SelectTarget(SelectTargetMethod::MaxThreat, 1)))
|
||||
me->CastSpell(target, SPELL_POLYMORPH_N, false);
|
||||
events.RepeatEvent(urand(15000, 17500));
|
||||
break;
|
||||
@@ -143,7 +143,7 @@ public:
|
||||
break;
|
||||
case EVENT_SPELL_BLINK:
|
||||
Talk(EMOTE_ARCANE_EXP);
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
{
|
||||
me->CastSpell(target, SPELL_BLINK, false);
|
||||
me->NearTeleportTo(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), target->GetOrientation());
|
||||
@@ -290,13 +290,13 @@ public:
|
||||
events.DelayEvents(3000);
|
||||
break;
|
||||
case EVENT_SPELL_BOMB:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 50.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true))
|
||||
me->CastSpell(target, SPELL_SPELL_BOMB, false);
|
||||
events.RepeatEvent(urand(16000, 24500));
|
||||
events.DelayEvents(3000);
|
||||
break;
|
||||
case EVENT_SPELL_CYCLONE:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 45.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 45.0f, true))
|
||||
me->CastSpell(target, SPELL_CYCLONE, false);
|
||||
events.RepeatEvent(urand(22000, 27000));
|
||||
events.DelayEvents(3000);
|
||||
|
||||
@@ -132,7 +132,7 @@ public:
|
||||
break;
|
||||
}
|
||||
case EVENT_SPELL_CHARGE:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, SPELL_CHARGE, false);
|
||||
events.RepeatEvent(urand(15000, 25000));
|
||||
break;
|
||||
|
||||
@@ -175,7 +175,7 @@ public:
|
||||
events.RepeatEvent(urand(15000, 30000));
|
||||
break;
|
||||
case EVENT_SPELL_BANISH:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 30, false))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30, false))
|
||||
me->CastSpell(target, SPELL_BANISH, false);
|
||||
events.RepeatEvent(16000);
|
||||
break;
|
||||
|
||||
@@ -117,7 +117,7 @@ public:
|
||||
me->CastSpell(me, DUNGEON_MODE(SPELL_SONIC_BOOM_EFFECT_N, SPELL_SONIC_BOOM_EFFECT_H), true);
|
||||
break;
|
||||
case EVENT_SPELL_MURMURS_TOUCH:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 80.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 80.0f, true))
|
||||
me->CastSpell(target, DUNGEON_MODE(SPELL_MURMURS_TOUCH_N, SPELL_MURMURS_TOUCH_H), false);
|
||||
events.RepeatEvent(urand(25000, 35000));
|
||||
break;
|
||||
@@ -127,7 +127,7 @@ public:
|
||||
events.RepeatEvent(5000);
|
||||
break;
|
||||
case EVENT_SPELL_MAGNETIC:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 80.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 80.0f, true))
|
||||
{
|
||||
me->CastSpell(target, SPELL_MAGNETIC_PULL, false);
|
||||
events.RepeatEvent(urand(15000, 30000));
|
||||
|
||||
@@ -164,7 +164,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_SPELL_ARCING_SMASH, 15000);
|
||||
break;
|
||||
case EVENT_SPELL_FEL_GEYSER:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 40.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 40.0f, true))
|
||||
{
|
||||
me->RemoveAurasByType(SPELL_AURA_MOD_TAUNT);
|
||||
me->CastSpell(me, SPELL_FEL_RAGE_SELF, true);
|
||||
|
||||
@@ -498,7 +498,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_SPELL_DRAW_SOUL, 40000);
|
||||
break;
|
||||
case EVENT_SPELL_PARASITIC_SHADOWFIEND:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true))
|
||||
me->CastSpell(target, SPELL_PARASITIC_SHADOWFIEND, false);
|
||||
events.ScheduleEvent(EVENT_SPELL_PARASITIC_SHADOWFIEND, 30000);
|
||||
break;
|
||||
@@ -511,7 +511,7 @@ public:
|
||||
me->CastSpell(me, SPELL_FRENZY, false);
|
||||
break;
|
||||
case EVENT_SPELL_AGONIZING_FLAMES:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true))
|
||||
me->CastSpell(target, SPELL_AGONIZING_FLAMES, false);
|
||||
break;
|
||||
case EVENT_PHASE_5_START:
|
||||
@@ -606,12 +606,12 @@ public:
|
||||
events2.ScheduleEvent(EVENT_PHASE_2_INTERRUPT, 20000);
|
||||
break;
|
||||
case EVENT_SPELL_FIREBALL:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true))
|
||||
me->CastSpell(target, SPELL_FIREBALL, false);
|
||||
events.ScheduleEvent(EVENT_SPELL_FIREBALL, 2200, GROUP_PHASE_2_ABILITY);
|
||||
break;
|
||||
case EVENT_SPELL_DARK_BARRAGE:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true))
|
||||
me->CastSpell(target, SPELL_DARK_BARRAGE, false);
|
||||
events.ScheduleEvent(EVENT_SPELL_DARK_BARRAGE, 30000, GROUP_PHASE_2_ABILITY);
|
||||
break;
|
||||
@@ -680,7 +680,7 @@ public:
|
||||
if (events.GetNextEventTime(EVENT_REMOVE_DEMON_FORM) != 0)
|
||||
{
|
||||
maiev->AI()->DoAction(ACTION_MAIEV_SET_DIST30);
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, -25.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, -25.0f, true))
|
||||
maiev->GetMotionMaster()->MoveCharge(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 7.0f, 0);
|
||||
else
|
||||
maiev->GetMotionMaster()->MoveCharge(678.04f, 378.34f, 353.0f, 7.0f, 0);
|
||||
|
||||
@@ -210,7 +210,7 @@ public:
|
||||
void Update(AuraEffect const* effect)
|
||||
{
|
||||
PreventDefaultAction();
|
||||
if (Unit* target = GetUnitOwner()->GetAI()->SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = GetUnitOwner()->GetAI()->SelectTarget(SelectTargetMethod::Random, 0))
|
||||
GetUnitOwner()->CastSpell(target, GetSpellInfo()->Effects[effect->GetEffIndex()].TriggerSpell, true);
|
||||
}
|
||||
|
||||
|
||||
@@ -111,7 +111,7 @@ public:
|
||||
if (summon->GetEntry() == NPC_SUPREMUS_PUNCH_STALKER)
|
||||
{
|
||||
summon->ToTempSummon()->InitStats(20000);
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true))
|
||||
summon->GetMotionMaster()->MoveFollow(target, 0.0f, 0.0f, MOTION_SLOT_CONTROLLED);
|
||||
}
|
||||
else
|
||||
@@ -165,7 +165,7 @@ public:
|
||||
SchedulePhase(!me->HasAura(SPELL_SNARE_SELF));
|
||||
break;
|
||||
case EVENT_SWITCH_TARGET:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100, true))
|
||||
{
|
||||
DoResetThreat();
|
||||
me->AddThreat(target, 5000000.0f);
|
||||
@@ -184,7 +184,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_CHECK_DIST, 1, EVENT_GROUP_ABILITIES);
|
||||
break;
|
||||
case EVENT_SPELL_VOLCANIC_ERUPTION:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100, true))
|
||||
{
|
||||
me->CastSpell(target, SPELL_VOLCANIC_ERUPTION, true);
|
||||
Talk(EMOTE_GROUND_CRACK);
|
||||
|
||||
@@ -149,7 +149,7 @@ public:
|
||||
switch (events.ExecuteEvent())
|
||||
{
|
||||
case EVENT_SPELL_INCINERATE:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
{
|
||||
if (roll_chance_i(50))
|
||||
Talk(SAY_INCINERATE);
|
||||
@@ -171,7 +171,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_SPELL_CRUSHING_SHADOWS, 15000);
|
||||
break;
|
||||
case EVENT_SPELL_SHADOW_OF_DEATH:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, ShadowOfDeathSelector()))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, ShadowOfDeathSelector()))
|
||||
me->CastSpell(target, SPELL_SHADOW_OF_DEATH, false);
|
||||
events.ScheduleEvent(EVENT_SPELL_SHADOW_OF_DEATH, 30000);
|
||||
break;
|
||||
|
||||
@@ -122,7 +122,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_SPELL_NEEDLE, 15000);
|
||||
break;
|
||||
case EVENT_SPELL_SPINE:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1))
|
||||
{
|
||||
me->CastSpell(target, SPELL_IMPALING_SPINE, false);
|
||||
target->CastSpell(target, SPELL_SUMMON_IMPALING_SPINE, true);
|
||||
|
||||
@@ -342,7 +342,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_SPELL_AURA, 30000);
|
||||
break;
|
||||
case EVENT_SPELL_HAMMER_OF_JUSTICE:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, HammerOfJusticeSelector(me)))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, HammerOfJusticeSelector(me)))
|
||||
{
|
||||
me->CastSpell(target, SPELL_HAMMER_OF_JUSTICE, false);
|
||||
events.ScheduleEvent(EVENT_SPELL_HAMMER_OF_JUSTICE, 20000);
|
||||
@@ -417,17 +417,17 @@ public:
|
||||
case EVENT_SPELL_FLAMESTRIKE:
|
||||
if (roll_chance_i(50))
|
||||
Talk(SAY_COUNCIL_SPECIAL);
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f))
|
||||
me->CastSpell(target, SPELL_FLAMESTRIKE, false);
|
||||
events.ScheduleEvent(EVENT_SPELL_FLAMESTRIKE, 40000);
|
||||
break;
|
||||
case EVENT_SPELL_BLIZZARD:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f))
|
||||
me->CastSpell(target, SPELL_BLIZZARD, false);
|
||||
events.ScheduleEvent(EVENT_SPELL_BLIZZARD, 40000);
|
||||
break;
|
||||
case EVENT_SPELL_ARCANE_EXPLOSION:
|
||||
if (SelectTarget(SELECT_TARGET_RANDOM, 0, 10.0f))
|
||||
if (SelectTarget(SelectTargetMethod::Random, 0, 10.0f))
|
||||
me->CastSpell(me, SPELL_ARCANE_EXPLOSION, false);
|
||||
events.ScheduleEvent(EVENT_SPELL_ARCANE_EXPLOSION, 10000);
|
||||
break;
|
||||
@@ -489,7 +489,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_SPELL_REFLECTIVE_SHIELD, 40000);
|
||||
break;
|
||||
case EVENT_SPELL_DIVINE_WRATH:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f))
|
||||
me->CastSpell(target, SPELL_DIVINE_WRATH, false);
|
||||
events.ScheduleEvent(EVENT_SPELL_DIVINE_WRATH, 20000);
|
||||
break;
|
||||
@@ -733,7 +733,7 @@ public:
|
||||
void Update(AuraEffect const* effect)
|
||||
{
|
||||
PreventDefaultAction();
|
||||
if (Unit* target = GetUnitOwner()->GetAI()->SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true))
|
||||
if (Unit* target = GetUnitOwner()->GetAI()->SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true))
|
||||
{
|
||||
GetUnitOwner()->CastSpell(target, GetSpellInfo()->Effects[effect->GetEffIndex()].TriggerSpell, true);
|
||||
GetUnitOwner()->m_Events.AddEvent(new VerasEnvenom(*GetUnitOwner(), target->GetGUID()), GetUnitOwner()->m_Events.CalculateTime(urand(1500, 3500)));
|
||||
|
||||
@@ -154,7 +154,7 @@ public:
|
||||
me->CastSpell(me, SPELL_ENRAGE, true);
|
||||
break;
|
||||
case EVENT_SPELL_CATACLYSMIC_BOLT:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, PowerUsersSelector(me, POWER_MANA, 50.0f, true)))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, PowerUsersSelector(me, POWER_MANA, 50.0f, true)))
|
||||
me->CastSpell(target, SPELL_CATACLYSMIC_BOLT, false);
|
||||
events.ScheduleEvent(EVENT_SPELL_CATACLYSMIC_BOLT, 6000);
|
||||
break;
|
||||
|
||||
@@ -268,12 +268,12 @@ public:
|
||||
events.ScheduleEvent(EVENT_SPELL_MARK_OF_CORRUPTION6, 15000, GROUP_ABILITIES);
|
||||
break;
|
||||
case EVENT_SPELL_WATER_TOMB:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 60.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
me->CastSpell(target, SPELL_WATER_TOMB, false);
|
||||
events.ScheduleEvent(EVENT_SPELL_WATER_TOMB, 7000, GROUP_ABILITIES);
|
||||
break;
|
||||
case EVENT_SPELL_VILE_SLUDGE:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 60.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
me->CastSpell(target, SPELL_VILE_SLUDGE, false);
|
||||
events.ScheduleEvent(EVENT_SPELL_VILE_SLUDGE, 15000, GROUP_ABILITIES);
|
||||
break;
|
||||
|
||||
@@ -210,7 +210,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_SPELL_SHOCK_BLAST, urand(10000, 20000));
|
||||
break;
|
||||
case EVENT_SPELL_STATIC_CHARGE:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 40.0f))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f))
|
||||
me->CastSpell(target, SPELL_STATIC_CHARGE, false);
|
||||
events.ScheduleEvent(EVENT_SPELL_STATIC_CHARGE, 20000);
|
||||
break;
|
||||
@@ -229,7 +229,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_CHECK_HEALTH, 1000);
|
||||
break;
|
||||
case EVENT_SPELL_FORKED_LIGHTNING:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 60.0f))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f))
|
||||
me->CastSpell(target, SPELL_FORKED_LIGHTNING, false);
|
||||
events.ScheduleEvent(EVENT_SPELL_FORKED_LIGHTNING, urand(2500, 5000));
|
||||
break;
|
||||
@@ -360,7 +360,7 @@ public:
|
||||
// toxic spores
|
||||
if (BoltTimer <= diff)
|
||||
{
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
{
|
||||
if (Creature* trig = me->SummonCreature(TOXIC_SPORES_TRIGGER, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 30000))
|
||||
{
|
||||
|
||||
@@ -358,7 +358,7 @@ public:
|
||||
GetCaster()->getThreatMgr().resetAllAggro();
|
||||
|
||||
if (roll_chance_i(33))
|
||||
if (Unit* target = GetCaster()->GetAI()->SelectTarget(SELECT_TARGET_RANDOM, 0, 30.0f, true))
|
||||
if (Unit* target = GetCaster()->GetAI()->SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true))
|
||||
target->CastSpell(GetCaster(), SPELL_TAUNT, true);
|
||||
}
|
||||
|
||||
|
||||
@@ -141,7 +141,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_SPELL_WHIRL, 18000);
|
||||
break;
|
||||
case EVENT_SPELL_GEYSER:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, SPELL_GEYSER, false);
|
||||
events.ScheduleEvent(EVENT_SPELL_GEYSER, 10000);
|
||||
break;
|
||||
@@ -199,7 +199,7 @@ public:
|
||||
|
||||
if (target)
|
||||
me->AttackerStateUpdate(target);
|
||||
else if ((target = SelectTarget(SELECT_TARGET_RANDOM, 0)))
|
||||
else if ((target = SelectTarget(SelectTargetMethod::Random, 0)))
|
||||
me->CastSpell(target, SPELL_WATER_BOLT, false);
|
||||
|
||||
me->resetAttackTimer();
|
||||
|
||||
@@ -217,7 +217,7 @@ public:
|
||||
break;
|
||||
|
||||
case EVENT_SPELL_COLD_SLAP:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_NEAREST, 0, 5.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::MaxDistance, 0, 5.0f, true))
|
||||
if (target->GetPositionZ() < me->GetPositionZ() + 6.0f)
|
||||
{
|
||||
int32 dmg = urand(5500, 6000);
|
||||
|
||||
@@ -96,18 +96,18 @@ public:
|
||||
{
|
||||
case EVENT_SPELL_LIGHTNING:
|
||||
for (uint8 i = 0; i < DUNGEON_MODE(1, 2); ++i)
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, SPELL_LIGHTNING_CLOUD, false);
|
||||
events.RepeatEvent(urand(15000, 25000));
|
||||
break;
|
||||
case EVENT_SPELL_LUNG:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
DoCast(target, SPELL_LUNG_BURST);
|
||||
events.RepeatEvent(urand(7000, 12000));
|
||||
break;
|
||||
case EVENT_SPELL_ENVELOPING:
|
||||
for (uint8 i = 0; i < DUNGEON_MODE(1, 2); ++i)
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, SPELL_ENVELOPING_WINDS, false);
|
||||
events.RepeatEvent(urand(10000, 15000));
|
||||
break;
|
||||
|
||||
@@ -125,14 +125,14 @@ public:
|
||||
events.RepeatEvent(20000);
|
||||
break;
|
||||
case EVENT_SPELL_SAW:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1))
|
||||
me->CastSpell(target, SPELL_SAW_BLADE, false);
|
||||
else
|
||||
me->CastSpell(me->GetVictim(), SPELL_SAW_BLADE, false);
|
||||
events.RepeatEvent(15000);
|
||||
break;
|
||||
case EVENT_SPELL_NET:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, SPELL_ELECTRIFIED_NET, false);
|
||||
events.RepeatEvent(10000);
|
||||
break;
|
||||
|
||||
@@ -105,7 +105,7 @@ public:
|
||||
events.RepeatEvent(urand(15000, 20000));
|
||||
break;
|
||||
case EVENT_SPELL_IMPALE:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 10.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 10.0f, true))
|
||||
me->CastSpell(target, SPELL_IMPALE, false);
|
||||
events.RepeatEvent(urand(7500, 12500));
|
||||
break;
|
||||
|
||||
@@ -88,7 +88,7 @@ public:
|
||||
void JustSummoned(Creature* summon) override
|
||||
{
|
||||
summons.Summon(summon);
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1))
|
||||
summon->AI()->AttackStart(target);
|
||||
else if (me->GetVictim())
|
||||
summon->AI()->AttackStart(me->GetVictim());
|
||||
@@ -129,19 +129,19 @@ public:
|
||||
events.RepeatEvent(urand(10000, 15000));
|
||||
break;
|
||||
case EVENT_SPELL_CHAIN:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, SPELL_CHAIN_LIGHTNING, false);
|
||||
events.DelayEvents(3000);
|
||||
events.RepeatEvent(9000);
|
||||
break;
|
||||
case EVENT_SPELL_STATIC:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 30, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30, true))
|
||||
me->CastSpell(target, SPELL_STATIC_CHARGE, false);
|
||||
events.RepeatEvent(10000);
|
||||
break;
|
||||
case EVENT_LEVITATE:
|
||||
events.RepeatEvent(15000);
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1))
|
||||
{
|
||||
me->CastSpell(target, SPELL_LEVITATE, false);
|
||||
lTarget = target->GetGUID();
|
||||
|
||||
@@ -114,7 +114,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_GROWTH, 30000);
|
||||
break;
|
||||
case EVENT_CAVE_IN:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, SPELL_CAVE_IN, false);
|
||||
if (_caveInTimer >= 4000)
|
||||
_caveInTimer -= 1500;
|
||||
@@ -125,7 +125,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_REVERBERATION, 22000);
|
||||
break;
|
||||
case EVENT_HURTFUL_STRIKE:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_TOPAGGRO, 1, 5.0f))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 1, 5.0f))
|
||||
{
|
||||
me->CastSpell(target, SPELL_HURTFUL_STRIKE, false);
|
||||
}
|
||||
|
||||
@@ -174,7 +174,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_ROAR, 40000);
|
||||
break;
|
||||
case EVENT_CHARGING:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1))
|
||||
me->CastSpell(target, SPELL_BERSERKER_C, false);
|
||||
events.ScheduleEvent(EVENT_CHARGING, 35000);
|
||||
break;
|
||||
@@ -262,7 +262,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_ADD_ABILITY2, 30000);
|
||||
break;
|
||||
case EVENT_ADD_ABILITY3:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, SPELL_DEATH_COIL, false);
|
||||
events.ScheduleEvent(EVENT_ADD_ABILITY3, 20000);
|
||||
break;
|
||||
@@ -327,12 +327,12 @@ public:
|
||||
switch (events.ExecuteEvent())
|
||||
{
|
||||
case EVENT_ADD_ABILITY1:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1))
|
||||
me->CastSpell(target, SPELL_GREATER_POLYMORPH, false);
|
||||
events.ScheduleEvent(EVENT_ADD_ABILITY1, 20000);
|
||||
break;
|
||||
case EVENT_ADD_ABILITY2:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1))
|
||||
me->CastSpell(target, SPELL_LIGHTNING_BOLT, false);
|
||||
events.ScheduleEvent(EVENT_ADD_ABILITY2, 15000);
|
||||
break;
|
||||
|
||||
@@ -94,7 +94,7 @@ public:
|
||||
events.RepeatEvent(urand(7000, 12000));
|
||||
break;
|
||||
case EVENT_SPELL_BOLT:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, SPELL_POISON_BOLT, false);
|
||||
events.RepeatEvent(urand(6000, 11000));
|
||||
break;
|
||||
|
||||
@@ -336,7 +336,7 @@ public:
|
||||
events.RepeatEvent(urand(6000, 7500));
|
||||
break;
|
||||
case EVENT_SPELL_MARK:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, SPELL_MARK_OF_SHADOW, false);
|
||||
events.RepeatEvent(urand(16000, 17500));
|
||||
break;
|
||||
|
||||
@@ -112,12 +112,12 @@ public:
|
||||
events.RepeatEvent(urand(15000, 23000));
|
||||
break;
|
||||
case EVENT_SPELL_EXPLODING:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, SPELL_EXPLODING_BREAKER, false);
|
||||
events.RepeatEvent(urand(7000, 11000));
|
||||
break;
|
||||
case EVENT_SPELL_DOMINATION:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, SPELL_DOMINATION, false);
|
||||
events.RepeatEvent(120000);
|
||||
break;
|
||||
|
||||
@@ -124,7 +124,7 @@ public:
|
||||
case EVENT_TREACHEROUS_AURA:
|
||||
if (roll_chance_i(33))
|
||||
Talk(SAY_CURSE);
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, SPELL_TREACHEROUS_AURA, false);
|
||||
events.ScheduleEvent(EVENT_TREACHEROUS_AURA, urand(12000, 18000));
|
||||
break;
|
||||
@@ -138,7 +138,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_DEMONIC_SHIELD, 1000);
|
||||
break;
|
||||
case EVENT_ORBITAL_STRIKE:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 15.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 15.0f, true))
|
||||
{
|
||||
_targetGUID = target->GetGUID();
|
||||
me->CastSpell(target, SPELL_ORBITAL_STRIKE, false);
|
||||
|
||||
@@ -217,7 +217,7 @@ public:
|
||||
switch (events.ExecuteEvent())
|
||||
{
|
||||
case EVENT_SPELL_FIREBALL:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, SPELL_FIREBALL, false);
|
||||
events.ScheduleEvent(EVENT_SPELL_FIREBALL, urand(4000, 6000));
|
||||
break;
|
||||
|
||||
@@ -120,7 +120,7 @@ public:
|
||||
break;
|
||||
case EVENT_SURGE:
|
||||
Talk(SAY_SURGE);
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_FARTHEST, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::MinDistance, 0))
|
||||
me->CastSpell(target, SPELL_SURGE, false);
|
||||
events.ScheduleEvent(EVENT_SURGE, 11000);
|
||||
break;
|
||||
|
||||
@@ -243,7 +243,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_DEBRIS, 20000);
|
||||
break;
|
||||
case EVENT_DEBRIS:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random))
|
||||
{
|
||||
target->CastSpell(target, SPELL_DEBRIS_VISUAL, true, nullptr, nullptr, me->GetGUID());
|
||||
me->m_Events.AddEvent(new DealDebrisDamage(*me, target->GetGUID()), me->m_Events.CalculateTime(5000));
|
||||
|
||||
@@ -215,12 +215,12 @@ public:
|
||||
switch (events.ExecuteEvent())
|
||||
{
|
||||
case EVENT_SPELL_SHADOW_FISSURE:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, SPELL_SHADOW_FISSURE, false);
|
||||
events.RescheduleEvent(EVENT_SPELL_SHADOW_FISSURE, urand(7500, 10000));
|
||||
break;
|
||||
case EVENT_SPELL_DEATH_COIL:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, DUNGEON_MODE(SPELL_DEATH_COIL_N, SPELL_DEATH_COIL_H), false);
|
||||
events.RescheduleEvent(EVENT_SPELL_DEATH_COIL, urand(15000, 20000));
|
||||
break;
|
||||
|
||||
@@ -194,7 +194,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_SPELL_THUNDER_CLAP, 25000);
|
||||
break;
|
||||
case EVENT_RESET_THREAT:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
{
|
||||
uint8 threatYell = urand(EVENT_THREAT_YELL_L_1, EVENT_THREAT_YELL_R_1);
|
||||
if (Creature* head = threatYell == EVENT_THREAT_YELL_R_1 ? GetRightHead() : GetLeftHead())
|
||||
|
||||
@@ -98,7 +98,7 @@ public:
|
||||
void JustSummoned(Creature* summon) override
|
||||
{
|
||||
if (summon->GetEntry() != NPC_SHATTERED_ASSASSIN)
|
||||
summon->AI()->AttackStart(SelectTarget(SELECT_TARGET_RANDOM, 0));
|
||||
summon->AI()->AttackStart(SelectTarget(SelectTargetMethod::Random, 0));
|
||||
|
||||
summons.Summon(summon);
|
||||
}
|
||||
|
||||
@@ -263,12 +263,12 @@ public:
|
||||
events.ScheduleEvent(EVENT_SPELL_MELT_ARMOR, 60000);
|
||||
break;
|
||||
case EVENT_SPELL_CHARGE:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 50.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true))
|
||||
me->CastSpell(target, SPELL_CHARGE, false);
|
||||
events.ScheduleEvent(EVENT_SPELL_CHARGE, 30000);
|
||||
break;
|
||||
case EVENT_SPELL_FLAME_PATCH:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 50.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true))
|
||||
me->SummonCreature(NPC_FLAME_PATCH, *target, TEMPSUMMON_TIMED_DESPAWN, 2 * MINUTE * IN_MILLISECONDS);
|
||||
events.ScheduleEvent(EVENT_SPELL_FLAME_PATCH, 30000);
|
||||
break;
|
||||
@@ -285,7 +285,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_SUMMON_DIVE_PHOENIX, 2000);
|
||||
events.ScheduleEvent(EVENT_REBIRTH_DIVE, 6000);
|
||||
events.ScheduleEvent(EVENT_FINISH_DIVE, 10000);
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 90.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 90.0f, true))
|
||||
{
|
||||
me->CastSpell(target, SPELL_DIVE_BOMB, false);
|
||||
me->SetPosition(*target);
|
||||
@@ -296,7 +296,7 @@ public:
|
||||
break;
|
||||
case EVENT_SUMMON_DIVE_PHOENIX:
|
||||
{
|
||||
Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 10.0f, true);
|
||||
Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 10.0f, true);
|
||||
me->SummonCreature(NPC_EMBER_OF_ALAR, target ? *target : *me, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 6000);
|
||||
me->SummonCreature(NPC_EMBER_OF_ALAR, target ? *target : *me, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 6000);
|
||||
break;
|
||||
|
||||
@@ -146,12 +146,12 @@ public:
|
||||
events.ScheduleEvent(EVENT_CHECK_HEALTH, 1000);
|
||||
break;
|
||||
case EVENT_SPELL_ARCANE_MISSILES:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 40.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true))
|
||||
me->CastSpell(target, SPELL_ARCANE_MISSILES, false);
|
||||
events.ScheduleEvent(EVENT_SPELL_ARCANE_MISSILES, 3000);
|
||||
break;
|
||||
case EVENT_SPELL_WRATH_OF_ASTROMANCER:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true))
|
||||
me->CastSpell(target, SPELL_WRATH_OF_THE_ASTROMANCER, false);
|
||||
events.ScheduleEvent(EVENT_SPELL_WRATH_OF_ASTROMANCER, 22000);
|
||||
break;
|
||||
|
||||
@@ -390,7 +390,7 @@ public:
|
||||
{
|
||||
advisor->SetReactState(REACT_AGGRESSIVE);
|
||||
advisor->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
advisor->AI()->AttackStart(target);
|
||||
advisor->SetInCombatWithZone();
|
||||
advisor->AI()->Talk(SAY_THALADRED_AGGRO);
|
||||
@@ -404,7 +404,7 @@ public:
|
||||
{
|
||||
advisor->SetReactState(REACT_AGGRESSIVE);
|
||||
advisor->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
advisor->AI()->AttackStart(target);
|
||||
advisor->SetInCombatWithZone();
|
||||
advisor->AI()->Talk(SAY_SANGUINAR_AGGRO);
|
||||
@@ -418,7 +418,7 @@ public:
|
||||
{
|
||||
advisor->SetReactState(REACT_AGGRESSIVE);
|
||||
advisor->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
advisor->AI()->AttackStart(target);
|
||||
advisor->SetInCombatWithZone();
|
||||
advisor->AI()->Talk(SAY_CAPERNIAN_AGGRO);
|
||||
@@ -432,7 +432,7 @@ public:
|
||||
{
|
||||
advisor->SetReactState(REACT_AGGRESSIVE);
|
||||
advisor->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
advisor->AI()->AttackStart(target);
|
||||
advisor->SetInCombatWithZone();
|
||||
advisor->AI()->Talk(SAY_TELONICUS_AGGRO);
|
||||
@@ -451,7 +451,7 @@ public:
|
||||
{
|
||||
summon->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
|
||||
summon->SetInCombatWithZone();
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
summon->AI()->AttackStart(target);
|
||||
}
|
||||
}
|
||||
@@ -474,7 +474,7 @@ public:
|
||||
summon->SetReactState(REACT_AGGRESSIVE);
|
||||
summon->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
summon->SetInCombatWithZone();
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
summon->AI()->AttackStart(target);
|
||||
}
|
||||
events2.ScheduleEvent(EVENT_PREFIGHT_PHASE71, 3 * MINUTE * IN_MILLISECONDS);
|
||||
@@ -485,7 +485,7 @@ public:
|
||||
phase = PHASE_FINAL;
|
||||
DoResetThreat();
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_DISABLE_MOVE);
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
AttackStart(target);
|
||||
|
||||
events2.Reset();
|
||||
@@ -648,7 +648,7 @@ public:
|
||||
me->CastSpell(me->GetVictim(), SPELL_PYROBLAST, false);
|
||||
break;
|
||||
case EVENT_SPELL_FLAMESTRIKE:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true))
|
||||
me->CastSpell(target, SPELL_FLAME_STRIKE, false);
|
||||
events.ScheduleEvent(EVENT_SPELL_FLAMESTRIKE, 20000);
|
||||
break;
|
||||
|
||||
@@ -102,9 +102,9 @@ public:
|
||||
events.ScheduleEvent(EVENT_SPELL_POUNDING, 15000);
|
||||
break;
|
||||
case EVENT_SPELL_ARCANEORB:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, -18.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, -18.0f, true))
|
||||
me->CastSpell(target, SPELL_ARCANE_ORB, false);
|
||||
else if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 20.0f, true))
|
||||
else if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 20.0f, true))
|
||||
me->CastSpell(target, SPELL_ARCANE_ORB, false);
|
||||
events.ScheduleEvent(EVENT_SPELL_ARCANEORB, 4000);
|
||||
break;
|
||||
|
||||
@@ -87,7 +87,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_STREAM_OF_MACHINE_FLUID, urand(12000, 14000));
|
||||
break;
|
||||
case EVENT_SAW_BLADE:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 50.0f))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f))
|
||||
me->CastSpell(target, SPELL_SAW_BLADE, false);
|
||||
Talk(SAY_SAW_BLADE);
|
||||
events.ScheduleEvent(EVENT_SAW_BLADE, 25000);
|
||||
|
||||
@@ -124,13 +124,13 @@ public:
|
||||
events.ScheduleEvent(EVENT_ARCANE_TORRENT, 15000);
|
||||
break;
|
||||
case EVENT_MANA_TAP:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, PowerUsersSelector(me, POWER_MANA, 40.0f, false)))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, PowerUsersSelector(me, POWER_MANA, 40.0f, false)))
|
||||
me->CastSpell(target, SPELL_MANA_TAP, false);
|
||||
events.ScheduleEvent(EVENT_MANA_TAP, 18000);
|
||||
break;
|
||||
case EVENT_DOMINATION:
|
||||
Talk(SAY_DOMINATION);
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 50.0f))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 50.0f))
|
||||
me->CastSpell(target, SPELL_DOMINATION, false);
|
||||
events.ScheduleEvent(EVENT_DOMINATION, 30000);
|
||||
break;
|
||||
|
||||
@@ -143,12 +143,12 @@ public:
|
||||
events.ScheduleEvent(EVENT_SUMMON_IMAGE2, 1000);
|
||||
break;
|
||||
case EVENT_SPELL_MIND_REND:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 50.0f))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f))
|
||||
me->CastSpell(target, SPELL_MIND_REND, false);
|
||||
events.ScheduleEvent(EVENT_SPELL_MIND_REND, 10000);
|
||||
break;
|
||||
case EVENT_SPELL_FEAR:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 20.0f))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 20.0f))
|
||||
{
|
||||
Talk(SAY_FEAR);
|
||||
me->CastSpell(target, SPELL_FEAR, false);
|
||||
@@ -156,7 +156,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_SPELL_FEAR, 25000);
|
||||
break;
|
||||
case EVENT_SPELL_DOMINATION:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 30.0f))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 30.0f))
|
||||
{
|
||||
Talk(SAY_MIND);
|
||||
me->CastSpell(target, SPELL_DOMINATION, false);
|
||||
@@ -164,7 +164,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_SPELL_DOMINATION, 30000);
|
||||
break;
|
||||
case EVENT_SPELL_MANA_BURN:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, PowerUsersSelector(me, POWER_MANA, 40.0f, false)))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, PowerUsersSelector(me, POWER_MANA, 40.0f, false)))
|
||||
me->CastSpell(target, SPELL_MANA_BURN, false);
|
||||
events.ScheduleEvent(EVENT_SPELL_MANA_BURN, 30000);
|
||||
break;
|
||||
|
||||
@@ -83,7 +83,7 @@ public:
|
||||
switch (events.ExecuteEvent())
|
||||
{
|
||||
case EVENT_VOID_ZONE:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 60.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 60.0f, true))
|
||||
me->CastSpell(target, SPELL_VOID_ZONE, false);
|
||||
events.ScheduleEvent(EVENT_VOID_ZONE, 15000);
|
||||
break;
|
||||
@@ -94,7 +94,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_SHADOW_NOVA, 12000);
|
||||
break;
|
||||
case EVENT_SEED_OF_CORRUPTION:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 30.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true))
|
||||
me->CastSpell(target, SPELL_SEED_OF_CORRUPTION, false);
|
||||
events.ScheduleEvent(EVENT_SEED_OF_CORRUPTION, 16000);
|
||||
break;
|
||||
|
||||
@@ -111,7 +111,7 @@ public:
|
||||
switch (events.ExecuteEvent())
|
||||
{
|
||||
case EVENT_SACRIFICE:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 0.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 0.0f, true))
|
||||
{
|
||||
Talk(SAY_CAST_SACRIFICE);
|
||||
me->CastSpell(target, SPELL_SACRIFICE, false);
|
||||
|
||||
@@ -139,7 +139,7 @@ public:
|
||||
_events.ScheduleEvent(EVENT_VOID_BOLT, urand(15000, 18000));
|
||||
break;
|
||||
case EVENT_MARK_OF_KAZZAK:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, PowerUsersSelector(me, POWER_MANA, 100.0f, true)))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, PowerUsersSelector(me, POWER_MANA, 100.0f, true)))
|
||||
DoCast(target, SPELL_MARK_OF_KAZZAK);
|
||||
_events.ScheduleEvent(EVENT_MARK_OF_KAZZAK, 20000);
|
||||
break;
|
||||
@@ -149,7 +149,7 @@ public:
|
||||
_events.ScheduleEvent(EVENT_ENRAGE, 30000);
|
||||
break;
|
||||
case EVENT_TWISTED_REFLECTION:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 0.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true))
|
||||
DoCast(target, SPELL_TWISTED_REFLECTION);
|
||||
_events.ScheduleEvent(EVENT_TWISTED_REFLECTION, 15000);
|
||||
break;
|
||||
|
||||
@@ -137,7 +137,7 @@ public:
|
||||
_events.ScheduleEvent(EVENT_QUAKE, urand(30000, 55000));
|
||||
break;
|
||||
case EVENT_CHAIN:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 0.0f, true))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 0.0f, true))
|
||||
DoCast(target, SPELL_CHAIN_LIGHTNING);
|
||||
_events.ScheduleEvent(EVENT_CHAIN, urand(7000, 27000));
|
||||
break;
|
||||
|
||||
@@ -1454,7 +1454,7 @@ public:
|
||||
{
|
||||
if (SpellTimer1 <= diff)
|
||||
{
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
{
|
||||
if (target->GetTypeId() == TYPEID_PLAYER)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user