aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2017-06-08 12:33:10 -0300
committerariel- <ariel-@users.noreply.github.com>2017-06-08 12:33:10 -0300
commit753e7074d84b5a2e8d3c3e92d25c54bb25ba477e (patch)
treeab31ca39142f3a2f3c78acde2512726154f348be
parente5301e2c989f9a0092aede92a38f8c75fb978b2a (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.cpp13
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