aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Kalimdor
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2018-01-18 13:58:40 -0300
committerShauren <shauren.trinity@gmail.com>2021-06-16 12:02:14 +0200
commit62c571076e5319c07c7222e139dbfc7c8bb4543f (patch)
tree234a3a61c51a3dec6517ab29f3904005f4cb66b8 /src/server/scripts/Kalimdor
parentea79b5569809515e680d8e38dd8126f11f5fa666 (diff)
Core/Scripts: added nullptr checks to DamageTaken hooks
Since cb9e72e521d3cc415dd15bf6912c87f89e41b92a attacker may not be in world when hook is called (cherry picked from commit 0db5c2df3fe56f42293865e87ec781cd4d41598b)
Diffstat (limited to 'src/server/scripts/Kalimdor')
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp2
-rw-r--r--src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp5
3 files changed, 5 insertions, 4 deletions
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
index 30445f19871..72fa7dcf141 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
@@ -194,7 +194,7 @@ hyjal_trashAI::hyjal_trashAI(Creature* creature) : EscortAI(creature)
void hyjal_trashAI::DamageTaken(Unit* done_by, uint32 &damage)
{
- if (done_by->GetTypeId() == TYPEID_PLAYER || done_by->IsPet())
+ if (!done_by || done_by->GetTypeId() == TYPEID_PLAYER || done_by->IsPet())
{
damageTaken += damage;
instance->SetData(DATA_RAIDDAMAGE, damage);//store raid's damage
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
index 6fa10647d47..c28cc669ba5 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
@@ -119,7 +119,7 @@ class boss_viscidus : public CreatureScript
++_hitcounter;
- if (attacker->HasUnitState(UNIT_STATE_MELEE_ATTACKING) && _hitcounter >= HITCOUNTER_EXPLODE)
+ if (attacker && attacker->HasUnitState(UNIT_STATE_MELEE_ATTACKING) && _hitcounter >= HITCOUNTER_EXPLODE)
{
Talk(EMOTE_EXPLODE);
events.Reset();
diff --git a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
index 6c96f6934d4..c5cf1f86109 100644
--- a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
+++ b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
@@ -126,8 +126,9 @@ public:
{
Damage = 0;
- if (Player* player = pDoneBy->GetCharmerOrOwnerPlayerOrPlayerItself())
- player->GroupEventHappens(QUEST_MISSING_DIPLO_PT16, me);
+ if (pDoneBy)
+ if (Player* player = pDoneBy->GetCharmerOrOwnerPlayerOrPlayerItself())
+ player->GroupEventHappens(QUEST_MISSING_DIPLO_PT16, me);
Talk(EMOTE_SURRENDER);
EnterEvadeMode();