mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-23 21:56:22 +00:00
feat(Core/AI): convert SelectAggroTarget to enum class (#9893)
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user