diff options
author | ariel- <ariel-@users.noreply.github.com> | 2017-01-28 01:42:39 -0300 |
---|---|---|
committer | ariel- <ariel-@users.noreply.github.com> | 2017-01-28 01:42:50 -0300 |
commit | 317efd51ec2289b7e22fdcc5ecfafb7c9b05441b (patch) | |
tree | 2395609d86d1aa6beeb9db2bef03f20cbe3e2ee3 | |
parent | 6f9e8b6c9174249025562faf9ad4c56bbb642547 (diff) |
Core/Scripts: remove GMs from Sindragosa's Fury's targetlist
By Keader
Ref #18452
-rw-r--r-- | src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp index ab36b0cc9ef..6baf5f58ee8 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp @@ -1090,8 +1090,14 @@ class spell_sindragosa_s_fury : public SpellScriptLoader } } - void CountTargets(std::list<WorldObject*>& targets) + void FilterTargets(std::list<WorldObject*>& targets) { + targets.remove_if([](WorldObject* obj) -> bool + { + // SPELL_ATTR3_ONLY_TARGET_PLAYERS present on the spell, we can safely cast to Player + return obj->ToPlayer()->IsGameMaster(); + }); + _targetCount = targets.size(); } @@ -1123,7 +1129,7 @@ class spell_sindragosa_s_fury : public SpellScriptLoader void Register() override { BeforeCast += SpellCastFn(spell_sindragosa_s_fury_SpellScript::SelectDest); - OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_sindragosa_s_fury_SpellScript::CountTargets, EFFECT_1, TARGET_UNIT_DEST_AREA_ENTRY); + OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_sindragosa_s_fury_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_DEST_AREA_ENTRY); OnEffectHitTarget += SpellEffectFn(spell_sindragosa_s_fury_SpellScript::HandleDummy, EFFECT_1, SPELL_EFFECT_DUMMY); } |