diff options
| author | Keader <keader.android@gmail.com> | 2018-02-08 10:05:08 -0300 |
|---|---|---|
| committer | Keader <keader.android@gmail.com> | 2018-02-08 10:05:08 -0300 |
| commit | 5bef3e426aea37b0e7555f146037c58e7be6352d (patch) | |
| tree | ab3822ce2e0e1c3e7d883e6f942f3a9973f91e3b /src/server/scripts/Outland | |
| parent | b490d3f5ad6ccdfd103c8f756d2912f05b1741a0 (diff) | |
Core/Scripts: Fixed possible crashs related with JustDied
Diffstat (limited to 'src/server/scripts/Outland')
6 files changed, 13 insertions, 4 deletions
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp index 358297abb44..d1e38acc9ef 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp @@ -312,6 +312,9 @@ class npc_shadowmoon_channeler : public CreatureScript void JustDied(Unit* killer) override { + if (!killer) + return; + if (Creature* Kelidan = me->FindNearestCreature(ENTRY_KELIDAN, 100)) ENSURE_AI(boss_kelidan_the_breaker::boss_kelidan_the_breakerAI, Kelidan->AI())->ChannelerDied(killer); } diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp index b37dfeb3268..d8444986830 100644 --- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp @@ -487,6 +487,9 @@ class npc_hellfire_sentry : public CreatureScript void JustDied(Unit* killer) override { + if (!killer) + return; + if (Creature* herald = me->FindNearestCreature(NPC_VAZRUDEN_HERALD, 150)) ENSURE_AI(boss_vazruden_the_herald::boss_vazruden_the_heraldAI, herald->AI())->SentryDownBy(killer); } diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.cpp index 96001562d10..a9f21b9e7f2 100644 --- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.cpp @@ -103,7 +103,7 @@ class boss_shattered_executioner : public CreatureScript void JustSummoned(Creature*) override { } // avoid despawn of prisoners on death/reset - void JustDied(Unit*) override + void JustDied(Unit* /*killer*/) override { _JustDied(); diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp index 2815084ec8b..2ed16192e5d 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp @@ -654,10 +654,10 @@ class boss_kaelthas : public CreatureScript } } - void JustDied(Unit* killer) override + void JustDied(Unit* /*killer*/) override { Talk(SAY_DEATH); - BossAI::JustDied(killer); + _JustDied(); } void UpdateAI(uint32 diff) override diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_mechano_lord_capacitus.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_mechano_lord_capacitus.cpp index 65233e36cd7..c8f1a3666aa 100644 --- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_mechano_lord_capacitus.cpp +++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_mechano_lord_capacitus.cpp @@ -94,7 +94,7 @@ class boss_mechano_lord_capacitus : public CreatureScript Talk(YELL_KILL); } - void JustDied(Unit* /*victim*/) override + void JustDied(Unit* /*killer*/) override { _JustDied(); Talk(YELL_DEATH); diff --git a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp index b317bda4e0e..c140c34b3d9 100644 --- a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp +++ b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp @@ -973,6 +973,9 @@ public: void JustDied(Unit* killer) override { + if (!killer) + return; + switch (killer->GetTypeId()) { case TYPEID_UNIT: |
