aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Outland
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/scripts/Outland')
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_illidan.cpp3
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp2
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp8
-rw-r--r--src/server/scripts/Outland/zone_terokkar_forest.cpp5
5 files changed, 11 insertions, 9 deletions
diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
index 0eb318acc6e..6abc09dee88 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 9594465ea83..1009106b426 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 57bd9af5500..829d211fd84 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
@@ -128,7 +128,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 d6e88a17fab..7db59f845a3 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
@@ -368,7 +368,7 @@ struct advisorbase_ai : public ScriptedAI
}
}
- void DamageTaken(Unit* killer, uint32 &damage) override
+ void DamageTaken(Unit* /*killer*/, uint32 &damage) override
{
if (damage >= me->GetHealth() && !_inFakeDeath && !_hasRessurrected)
{
@@ -387,7 +387,7 @@ struct advisorbase_ai : public ScriptedAI
me->SetTarget(ObjectGuid::Empty);
me->SetStandState(UNIT_STAND_STATE_DEAD);
me->GetMotionMaster()->Clear();
- JustDied(killer);
+ JustDied(nullptr);
}
}
@@ -572,7 +572,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 590342d4a8f..4cf8b780204 100644
--- a/src/server/scripts/Outland/zone_terokkar_forest.cpp
+++ b/src/server/scripts/Outland/zone_terokkar_forest.cpp
@@ -99,9 +99,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())
{