diff options
Diffstat (limited to 'src/server/scripts/EasternKingdoms')
4 files changed, 7 insertions, 7 deletions
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp index 462a40687c4..e26faff6449 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp @@ -168,7 +168,7 @@ public: void DamageTaken(Unit* done_by, uint32 &damage) override { - if (done_by->GetGUID() != malchezaar) + if (!done_by || done_by->GetGUID() != malchezaar) damage = 0; } diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index b873b71e03b..f2b86da5adc 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -526,7 +526,7 @@ public: void DamageTaken(Unit* pDoneBy, uint32 &uiDamage) override { - if (m_bIsDuelInProgress && pDoneBy->IsControlledByPlayer()) + if (m_bIsDuelInProgress && pDoneBy && pDoneBy->IsControlledByPlayer()) { if (pDoneBy->GetGUID() != m_uiDuelerGUID && pDoneBy->GetOwnerGUID() != m_uiDuelerGUID) // other players cannot help uiDamage = 0; diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp index f360a25a6be..69ca2d31843 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp @@ -204,7 +204,7 @@ struct boss_kalecgos : 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 = 0; } @@ -372,7 +372,7 @@ struct boss_kalecgos_human : public ScriptedAI void DamageTaken(Unit* who, uint32 &damage) override { - if (who->GetGUID() != _sathGUID) + if (!who || who->GetGUID() != _sathGUID) damage = 0; if (HealthBelowPct(75) && _events.IsInPhase(PHASE_SAY_ONE)) @@ -484,7 +484,7 @@ struct boss_sathrovarr : 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 = 0; } diff --git a/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp b/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp index c3b2ca8dcd1..c6939561f3b 100644 --- a/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp +++ b/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp @@ -75,8 +75,8 @@ public: //Take 0 damage uiDamage = 0; - if (Player* player = pDoneBy->ToPlayer()) - player->AreaExploredOrEventHappens(QUEST_BEAT); + if (pDoneBy && pDoneBy->GetTypeId() == TYPEID_PLAYER) + pDoneBy->ToPlayer()->AreaExploredOrEventHappens(QUEST_BEAT); EnterEvadeMode(); } } |
