diff options
-rw-r--r-- | src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp index 0ca52584c76..e3015b4db35 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp @@ -127,9 +127,16 @@ class boss_hakkar : public CreatureScript // events.ScheduleEvent(EVENT_CAUSE_INSANITY, 35s, 45s); break; case EVENT_WILL_OF_HAKKAR: - DoCast(SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true), SPELL_WILL_OF_HAKKAR); + { + // Mind Control is only triggered when there is more than one unit currently fighting Hakkar, including pets/guardians + // But it is only actually cast on the player with the highest threat + std::list<Unit*> unitList; + SelectTargetList(unitList, 2, SELECT_TARGET_MAXTHREAT, 0, 0.0f, false); + if (unitList.size() > 1) + DoCast(SelectTarget(SELECT_TARGET_MAXTHREAT, 0, 100, true), SPELL_WILL_OF_HAKKAR); events.ScheduleEvent(EVENT_WILL_OF_HAKKAR, 25s, 35s); break; + } case EVENT_ENRAGE: if (!me->HasAura(SPELL_ENRAGE)) DoCast(me, SPELL_ENRAGE); |