diff options
| author | Keader <keader.android@gmail.com> | 2018-02-08 10:05:08 -0300 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2021-06-19 23:33:24 +0200 |
| commit | ad5b0fa9cd6c5e6f3a0b5975c50b1bfc2a1f32de (patch) | |
| tree | ca6801eee7da7e076cd7427f5011961de2197a45 /src/server/scripts/Kalimdor | |
| parent | 4ae29e38eee94c6dcfee3355cbab7099ffc93bc3 (diff) | |
Core/Scripts: Fixed possible crashs related with JustDied
(cherry picked from commit 5bef3e426aea37b0e7555f146037c58e7be6352d)
Diffstat (limited to 'src/server/scripts/Kalimdor')
4 files changed, 12 insertions, 5 deletions
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp index aa915223ee2..3c3e5f78fc3 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp @@ -441,12 +441,12 @@ public: { Talk(SAY_TH_RANDOM_KILL); } - void JustDied(Unit* slayer) override + void JustDied(Unit* killer) override { instance->SetData(TYPE_THRALL_EVENT, FAIL); // Don't do a yell if he kills self (if player goes too far or at the end). - if (slayer == me) + if (killer == me) return; Talk(SAY_TH_RANDOM_DIE); diff --git a/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp b/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp index d83e071d564..d93def8252f 100644 --- a/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp +++ b/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp @@ -136,7 +136,7 @@ public: Talk(SAY_ATTACKED, who); } - void JustDied(Unit* /*slayer*/) override + void JustDied(Unit* /*killer*/) override { instance->SetData(TYPE_NARALEX_EVENT, FAIL); instance->SetData(TYPE_NARALEX_PART1, FAIL); diff --git a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp index 9d45eb42a69..156756960ea 100644 --- a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp +++ b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp @@ -67,6 +67,9 @@ public: void JustDied(Unit* killer) override { + if (!killer) + return; + uint32 spawnCreatureID = 0; switch (urand(0, 2)) @@ -261,6 +264,10 @@ public: { me->SetObjectScale(1.0f); _events.Reset(); + + if (!killer) + return; + if (Creature* legoso = me->FindNearestCreature(NPC_LEGOSO, SIZE_OF_GRIDS)) { Group* group = me->GetLootRecipientGroup(); diff --git a/src/server/scripts/Kalimdor/zone_silithus.cpp b/src/server/scripts/Kalimdor/zone_silithus.cpp index 7e20bb9410f..5f7c1745a22 100644 --- a/src/server/scripts/Kalimdor/zone_silithus.cpp +++ b/src/server/scripts/Kalimdor/zone_silithus.cpp @@ -697,7 +697,7 @@ public: } void JustEngagedWith(Unit* /*who*/) override { } - void JustDied(Unit* /*slayer*/) override; + void JustDied(Unit* /*killer*/) override; void UpdateAI(uint32 diff) override { @@ -933,7 +933,7 @@ public: }; -void npc_qiraj_war_spawn::npc_qiraj_war_spawnAI::JustDied(Unit* /*slayer*/) +void npc_qiraj_war_spawn::npc_qiraj_war_spawnAI::JustDied(Unit* /*killer*/) { me->DespawnOrUnsummon(); |
