aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortreeston <treeston.mmoc@gmail.com>2016-02-12 12:18:17 +0100
committerShauren <shauren.trinity@gmail.com>2016-04-10 14:39:32 +0200
commitdc07c24c0cc72d8fa2a17ff3bf0f98c6da07535c (patch)
tree0c87e6d8b01075e19cb32be265e870af5a9f26db
parentd0dce8c8dd062e31dd05f458829998589207dee7 (diff)
Scripts/Naxxramas: Fix an edge case crash in Gothik. Closes #16575.
(cherry picked from commit a23ccc1b83ded39501d690e288be49be8f32b539)
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
index 67602a1181d..3c899f97e52 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
@@ -369,8 +369,12 @@ class boss_gothik : public CreatureScript
_gateIsOpen = true;
for (ObjectGuid summonGuid : summons)
+ {
if (Creature* summon = ObjectAccessor::GetCreature(*me, summonGuid))
summon->AI()->DoAction(ACTION_GATE_OPENED);
+ if (summons.empty()) // ACTION_GATE_OPENED may cause an evade, despawning summons and invalidating our iterator
+ break;
+ }
}
void DamageTaken(Unit* /*who*/, uint32& damage) override