diff options
author | ariel- <ariel-@users.noreply.github.com> | 2017-06-08 12:33:10 -0300 |
---|---|---|
committer | ariel- <ariel-@users.noreply.github.com> | 2017-06-08 12:33:10 -0300 |
commit | 753e7074d84b5a2e8d3c3e92d25c54bb25ba477e (patch) | |
tree | ab31ca39142f3a2f3c78acde2512726154f348be | |
parent | e5301e2c989f9a0092aede92a38f8c75fb978b2a (diff) |
Core/Scripts: filter out corpses from Sindragosa's Fury targetlist
- This would incur in a crash after attempting to convert the Corpse object into Player
Closes #19227
Closes #19862
-rw-r--r-- | src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp index 7ae563f8341..0a1ffa55007 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp @@ -1060,13 +1060,6 @@ class spell_sindragosa_s_fury : public SpellScriptLoader { PrepareSpellScript(spell_sindragosa_s_fury_SpellScript); - public: - spell_sindragosa_s_fury_SpellScript() - { - _targetCount = 0; - } - - private: bool Load() override { // This script should execute only in Icecrown Citadel @@ -1094,8 +1087,8 @@ class spell_sindragosa_s_fury : public SpellScriptLoader { targets.remove_if([](WorldObject* obj) -> bool { - // SPELL_ATTR3_ONLY_TARGET_PLAYERS present on the spell, we can safely cast to Player - return ASSERT_NOTNULL(obj->ToPlayer())->IsGameMaster(); + // SPELL_ATTR3_ONLY_TARGET_PLAYERS present on the spell, we can safely cast to Player if not corpse + return obj->GetTypeId() == TYPEID_CORPSE || ASSERT_NOTNULL(obj->ToPlayer())->IsGameMaster(); }); _targetCount = targets.size(); @@ -1133,7 +1126,7 @@ class spell_sindragosa_s_fury : public SpellScriptLoader OnEffectHitTarget += SpellEffectFn(spell_sindragosa_s_fury_SpellScript::HandleDummy, EFFECT_1, SPELL_EFFECT_DUMMY); } - uint32 _targetCount; + uint32 _targetCount = 0; }; SpellScript* GetSpellScript() const override |