diff options
Diffstat (limited to 'src/server/scripts/Outland')
5 files changed, 9 insertions, 7 deletions
diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp index 6c890d8aa6d..540cbee00e4 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp @@ -703,8 +703,7 @@ struct boss_illidan_stormrage : public BossAI void DamageTaken(Unit* who, uint32 &damage) override { - - if (damage >= me->GetHealth() && who->GetGUID() != me->GetGUID()) + if (damage >= me->GetHealth() && (!who || who->GetGUID() != me->GetGUID())) { damage = me->GetHealth() - 1; if (!_dead) diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp index b1d05f81d84..f097546321b 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp @@ -275,7 +275,7 @@ struct IllidariCouncilBossAI : public BossAI void DamageTaken(Unit* who, uint32 &damage) override { - if (damage >= me->GetHealth() && who->GetGUID() != me->GetGUID()) + if (damage >= me->GetHealth() && (!who || who->GetGUID() != me->GetGUID())) damage = me->GetHealth() - 1; } diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp index b429eda5aee..4604799a890 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp @@ -129,7 +129,7 @@ public: void DamageTaken(Unit* done_by, uint32 &damage) override { - if (done_by->GetGUID() != victimGUID && done_by->GetGUID() != me->GetGUID()) + if (!done_by || (done_by->GetGUID() != victimGUID && done_by->GetGUID() != me->GetGUID())) { damage = 0; ModifyThreatByPercent(done_by, -100); diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp index aeec57dc0a2..2815084ec8b 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp @@ -573,7 +573,9 @@ class boss_kaelthas : public CreatureScript if (_phase == PHASE_NONE) { DoAction(ACTION_START_ENCOUNTER); - me->SetTarget(attacker->GetGUID()); + + if (attacker) + me->SetTarget(attacker->GetGUID()); } if (!_hasFullPower && me->HealthBelowPctDamaged(50, damage)) diff --git a/src/server/scripts/Outland/zone_terokkar_forest.cpp b/src/server/scripts/Outland/zone_terokkar_forest.cpp index eab6d460fe5..b79fcda139d 100644 --- a/src/server/scripts/Outland/zone_terokkar_forest.cpp +++ b/src/server/scripts/Outland/zone_terokkar_forest.cpp @@ -100,9 +100,10 @@ public: void DamageTaken(Unit* done_by, uint32 &damage) override { - Player* player = done_by->ToPlayer(); + if (!done_by || !me->HealthBelowPctDamaged(30, damage)) + return; - if (player && me->HealthBelowPctDamaged(30, damage)) + if (Player* player = done_by->ToPlayer()) { if (Group* group = player->GetGroup()) { |
