summaryrefslogtreecommitdiff
path: root/src/server/game/AI/CreatureAI.cpp
diff options
context:
space:
mode:
authorUltraNix <80540499+UltraNix@users.noreply.github.com>2022-04-02 16:46:27 +0200
committerGitHub <noreply@github.com>2022-04-02 11:46:27 -0300
commitff654397e810a6e69b9b36c319fafa7363c1faca (patch)
tree16bdd41024ed7e57d8854cf321d41bb1752a2519 /src/server/game/AI/CreatureAI.cpp
parent23e4dc9503f2cb1403cf9ca210b5f5023b10fd78 (diff)
fix(Core/Creatures): Properly reset encounter if boss despawns on evade. (#11251)
Fixes #8167
Diffstat (limited to 'src/server/game/AI/CreatureAI.cpp')
-rw-r--r--src/server/game/AI/CreatureAI.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/server/game/AI/CreatureAI.cpp b/src/server/game/AI/CreatureAI.cpp
index 17cf85115b..2b06355b90 100644
--- a/src/server/game/AI/CreatureAI.cpp
+++ b/src/server/game/AI/CreatureAI.cpp
@@ -219,6 +219,12 @@ void CreatureAI::EnterEvadeMode()
}
}
+ Reset();
+ if (me->IsVehicle()) // use the same sequence of addtoworld, aireset may remove all summons!
+ {
+ me->GetVehicleKit()->Reset(true);
+ }
+
// despawn bosses at reset - only verified tbc/woltk bosses with this reset type - add bosses in last line respectively (dungeon/raid) and increase array limit
CreatureTemplate const* cInfo = sObjectMgr->GetCreatureTemplate(me->GetEntry());
if (cInfo && cInfo->HasFlagsExtra(CREATURE_FLAG_EXTRA_HARD_RESET))
@@ -226,14 +232,6 @@ void CreatureAI::EnterEvadeMode()
me->DespawnOnEvade();
me->m_Events.AddEvent(new PhasedRespawn(*me), me->m_Events.CalculateTime(20000));
}
- else // bosses will run back to the spawnpoint at reset
- {
- Reset();
- if (me->IsVehicle()) // use the same sequence of addtoworld, aireset may remove all summons!
- {
- me->GetVehicleKit()->Reset(true);
- }
- }
}
/*void CreatureAI::AttackedBy(Unit* attacker)