aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/EasternKingdoms
diff options
context:
space:
mode:
authorKeader <keader.android@gmail.com>2018-02-08 10:05:08 -0300
committerKeader <keader.android@gmail.com>2018-02-08 10:05:08 -0300
commit5bef3e426aea37b0e7555f146037c58e7be6352d (patch)
treeab3822ce2e0e1c3e7d883e6f942f3a9973f91e3b /src/server/scripts/EasternKingdoms
parentb490d3f5ad6ccdfd103c8f756d2912f05b1741a0 (diff)
Core/Scripts: Fixed possible crashs related with JustDied
Diffstat (limited to 'src/server/scripts/EasternKingdoms')
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp2
8 files changed, 12 insertions, 10 deletions
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp
index 0005338c231..2a2145f9423 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp
@@ -436,7 +436,7 @@ public:
Talk(SAY_RANDOM);
}
- void JustDied(Unit* /*Killer*/) override
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
index 5c2d712776f..5c4a3f25884 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
@@ -199,13 +199,13 @@ public:
}
}
- void JustDied(Unit* killer) override
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
if (Unit* midnight = ObjectAccessor::GetUnit(*me, _midnightGUID))
midnight->KillSelf();
- BossAI::JustDied(killer);
+ _JustDied();
}
void SetGUID(ObjectGuid const& guid, int32 id) override
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
index 24a6631b028..d6b913063e3 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
@@ -208,7 +208,8 @@ class npc_pure_energy : public CreatureScript
void JustDied(Unit* killer) override
{
- killer->CastSpell(killer, SPELL_ENERGY_FEEDBACK, true);
+ if (killer)
+ killer->CastSpell(killer, SPELL_ENERGY_FEEDBACK, true);
me->RemoveAurasDueToSpell(SPELL_PURE_ENERGY_PASSIVE);
}
};
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
index f2b86da5adc..7a5e35e9ed8 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
@@ -866,7 +866,7 @@ public:
void JustDied(Unit* killer) override
{
Creature* deathcharger = me->FindNearestCreature(28782, 30);
- if (!deathcharger)
+ if (!deathcharger || !killer)
return;
if (killer->GetTypeId() == TYPEID_PLAYER && deathcharger->GetTypeId() == TYPEID_UNIT && deathcharger->IsVehicle())
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
index ee2c7d70bfe..9a9a0e00938 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
@@ -550,7 +550,8 @@ public:
void JustDied(Unit* killer) override
{
Talk(SAY_VALROTH_DEATH);
- killer->CastSpell(me, SPELL_SUMMON_VALROTH_REMAINS, true);
+ if (killer)
+ killer->CastSpell(me, SPELL_SUMMON_VALROTH_REMAINS, true);
}
};
diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp
index 628d6345ece..9778c0ad40d 100644
--- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp
+++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp
@@ -319,7 +319,7 @@ class npc_apothecary_frye : public CreatureScript
{
npc_apothecary_fryeAI(Creature* creature) : npc_apothecary_genericAI(creature, FryeMovePos) { }
- void JustDied(Unit* /*who*/) override
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_FRYE_DEATH);
}
@@ -347,7 +347,7 @@ class npc_apothecary_baxter : public CreatureScript
_events.ScheduleEvent(EVENT_CHAIN_REACTION, Seconds(12));
}
- void JustDied(Unit* /*who*/) override
+ void JustDied(Unit* /*killer*/) override
{
_events.Reset();
Talk(SAY_BAXTER_DEATH);
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp
index cb11ad95966..9bc3b72c3ef 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp
@@ -130,7 +130,7 @@ public:
break;
}
- if (instance->GetData(TYPE_SH_QUEST))
+ if (killer && instance->GetData(TYPE_SH_QUEST))
{
if (Player* player = killer->ToPlayer())
player->KilledMonsterCredit(SH_QUEST_CREDIT);
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp b/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp
index 03c36ccfc1a..7234ab0926f 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp
+++ b/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp
@@ -376,7 +376,7 @@ class npc_stonekeepers : public CreatureScript
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*attacker*/) override
+ void JustDied(Unit* /*killer*/) override
{
DoCast (me, SPELL_SELF_DESTRUCT, true);
instance->SetData(DATA_STONE_KEEPERS, IN_PROGRESS); // activate next stonekeeper