From 71848623515e464f6a17484d6fcf6bb9bebd6b73 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Wed, 30 May 2018 11:48:30 +0200 Subject: [PATCH] Scripts/Deadmines: added some safety checks for some spellscripts in all boss scripts --- .../EasternKingdoms/Deadmines/boss_admiral_ripsnarl.cpp | 3 ++- .../EasternKingdoms/Deadmines/boss_captain_cookie.cpp | 3 ++- .../EasternKingdoms/Deadmines/boss_foe_reaper_5000.cpp | 6 ++++-- .../EasternKingdoms/Deadmines/boss_helix_gearbreaker.cpp | 3 ++- .../EasternKingdoms/Deadmines/boss_vanessa_van_cleef.cpp | 3 ++- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/server/scripts/EasternKingdoms/Deadmines/boss_admiral_ripsnarl.cpp b/src/server/scripts/EasternKingdoms/Deadmines/boss_admiral_ripsnarl.cpp index 27832a16585..6eb24918218 100644 --- a/src/server/scripts/EasternKingdoms/Deadmines/boss_admiral_ripsnarl.cpp +++ b/src/server/scripts/EasternKingdoms/Deadmines/boss_admiral_ripsnarl.cpp @@ -393,7 +393,8 @@ class spell_ripsnarl_go_for_the_throat_targeting : public SpellScriptLoader void HandleHit(SpellEffIndex effIndex) { - GetCaster()->CastSpell(GetHitUnit(), GetSpellInfo()->Effects[effIndex].BasePoints, true); + if (Unit* caster = GetCaster()) + caster->CastSpell(GetHitUnit(), GetSpellInfo()->Effects[effIndex].BasePoints, true); } void Register() override diff --git a/src/server/scripts/EasternKingdoms/Deadmines/boss_captain_cookie.cpp b/src/server/scripts/EasternKingdoms/Deadmines/boss_captain_cookie.cpp index bb711d91048..698db340ee7 100644 --- a/src/server/scripts/EasternKingdoms/Deadmines/boss_captain_cookie.cpp +++ b/src/server/scripts/EasternKingdoms/Deadmines/boss_captain_cookie.cpp @@ -293,7 +293,8 @@ class spell_cookie_throw_food_targeting : public SpellScriptLoader void HandleHit(SpellEffIndex effIndex) { - GetCaster()->CastSpell(GetHitUnit(), GetSpellInfo()->Effects[effIndex].BasePoints); + if (Unit* caster = GetCaster()) + caster->CastSpell(GetHitUnit(), GetSpellInfo()->Effects[effIndex].BasePoints); } void Register() override diff --git a/src/server/scripts/EasternKingdoms/Deadmines/boss_foe_reaper_5000.cpp b/src/server/scripts/EasternKingdoms/Deadmines/boss_foe_reaper_5000.cpp index c79334d26d0..047402c3304 100644 --- a/src/server/scripts/EasternKingdoms/Deadmines/boss_foe_reaper_5000.cpp +++ b/src/server/scripts/EasternKingdoms/Deadmines/boss_foe_reaper_5000.cpp @@ -469,7 +469,8 @@ class spell_foe_reaper_5000_acquire_target : public SpellScriptLoader void HandleHit(SpellEffIndex effIndex) { - GetCaster()->CastSpell(GetHitUnit(), GetSpellInfo()->Effects[effIndex].BasePoints); + if (Unit* caster = GetCaster()) + caster->CastSpell(GetHitUnit(), GetSpellInfo()->Effects[effIndex].BasePoints); } void Register() override @@ -524,7 +525,8 @@ class spell_foe_reaper_5000_fixate_targeting : public SpellScriptLoader void HandleHit(SpellEffIndex effIndex) { - GetCaster()->CastSpell(GetHitUnit(), GetSpellInfo()->Effects[effIndex].BasePoints, true); + if (Unit* caster = GetCaster()) + caster->CastSpell(GetHitUnit(), GetSpellInfo()->Effects[effIndex].BasePoints, true); } void Register() override diff --git a/src/server/scripts/EasternKingdoms/Deadmines/boss_helix_gearbreaker.cpp b/src/server/scripts/EasternKingdoms/Deadmines/boss_helix_gearbreaker.cpp index bcc70ee863c..4eb5feb4512 100644 --- a/src/server/scripts/EasternKingdoms/Deadmines/boss_helix_gearbreaker.cpp +++ b/src/server/scripts/EasternKingdoms/Deadmines/boss_helix_gearbreaker.cpp @@ -660,7 +660,8 @@ class spell_helix_oaf_grab_targeting : public SpellScriptLoader void HandleHit(SpellEffIndex effIndex) { - GetCaster()->CastSpell(GetHitUnit(), GetSpellInfo()->Effects[effIndex].BasePoints, true); + if (Unit* caster = GetCaster()) + caster->CastSpell(GetHitUnit(), GetSpellInfo()->Effects[effIndex].BasePoints, true); } void Register() override diff --git a/src/server/scripts/EasternKingdoms/Deadmines/boss_vanessa_van_cleef.cpp b/src/server/scripts/EasternKingdoms/Deadmines/boss_vanessa_van_cleef.cpp index f5407887f0c..8882db5569c 100644 --- a/src/server/scripts/EasternKingdoms/Deadmines/boss_vanessa_van_cleef.cpp +++ b/src/server/scripts/EasternKingdoms/Deadmines/boss_vanessa_van_cleef.cpp @@ -710,7 +710,8 @@ class spell_vanessa_backslash_targeting : public SpellScriptLoader void HandleHit(SpellEffIndex effIndex) { - GetCaster()->CastSpell(GetHitUnit(), GetSpellInfo()->Effects[effIndex].BasePoints, true); + if (Unit* caster = GetCaster()) + caster->CastSpell(GetHitUnit(), GetSpellInfo()->Effects[effIndex].BasePoints, true); } void FilterTargets(std::list& targets)