Skip to content

Commit 4fd9221

Browse files
committed
AI: Fix creature interaction with spell cast and melee flee flag
1 parent 57a165c commit 4fd9221

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

src/game/AI/BaseAI/CreatureAI.cpp

-6
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,6 @@ void CreatureAI::Reset()
5656
void CreatureAI::EnterCombat(Unit* enemy)
5757
{
5858
UnitAI::EnterCombat(enemy);
59-
// TODO: Monitor this condition to see if it conflicts with any pets
60-
if (m_creature->GetSettings().HasFlag(CreatureStaticFlags::NO_MELEE_FLEE) && !m_creature->IsRooted() && !m_creature->IsInPanic() && !m_creature->IsNonMeleeSpellCasted(false) && enemy && enemy->IsPlayerControlled())
61-
{
62-
DoFlee(30000);
63-
SetAIOrder(ORDER_CRITTER_FLEE); // mark as critter flee for custom handling
64-
}
6559
if (enemy && (m_creature->IsGuard() || m_creature->IsCivilian()))
6660
{
6761
// Send Zone Under Attack message to the LocalDefense and WorldDefense Channels

src/game/Entities/Unit.cpp

+7
Original file line numberDiff line numberDiff line change
@@ -8330,6 +8330,13 @@ void Unit::SetInCombatState(bool PvP, Unit* enemy)
83308330
if (creature->AI())
83318331
creature->AI()->EnterCombat(enemy);
83328332

8333+
// can be overriden by spellcast on Aggro hook, hence must be done after EnterCombat hook
8334+
if (!creature->GetCreatedBySpellId() && creature->GetSettings().HasFlag(CreatureStaticFlags::NO_MELEE_FLEE) && !creature->IsRooted() && !creature->IsInPanic() && !creature->IsNonMeleeSpellCasted(false) && enemy && enemy->IsPlayerControlled())
8335+
{
8336+
creature->AI()->DoFlee(30000);
8337+
creature->AI()->SetAIOrder(ORDER_CRITTER_FLEE); // mark as critter flee for custom handling
8338+
}
8339+
83338340
// Some bosses are set into combat with zone
83348341
if (GetMap()->IsDungeon() && (creature->GetCreatureInfo()->ExtraFlags & CREATURE_EXTRA_FLAG_AGGRO_ZONE) && enemy && enemy->IsControlledByPlayer())
83358342
creature->SetInCombatWithZone();

0 commit comments

Comments
 (0)