From 29f7258dc824659cb2de81c5ff3b3b3853de2a8b Mon Sep 17 00:00:00 2001 From: ariel- Date: Thu, 15 Feb 2018 17:48:25 -0300 Subject: Core/Spells: prevent creatures to focus channeled spells without SPELL_ATTR1_CHANNEL_TRACK_TARGET - Creatures stuck here wouldn't try attacking because of this - Remove one workaround in halion script, now it's unneeded Ref #11311 --- src/server/game/Spells/Spell.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/server/game/Spells/Spell.cpp') diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 3f938336a0f..b6b5c22b6e1 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -2999,7 +2999,7 @@ void Spell::prepare(SpellCastTargets const& targets, AuraEffect const* triggered // focus if not controlled creature if (m_caster->GetTypeId() == TYPEID_UNIT && !m_caster->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PLAYER_CONTROLLED)) { - if (!(m_spellInfo->IsNextMeleeSwingSpell() || IsAutoRepeat() || (_triggeredCastFlags & TRIGGERED_IGNORE_SET_FACING))) + if (!(m_spellInfo->IsNextMeleeSwingSpell() || IsAutoRepeat())) { if (m_targets.GetObjectTarget() && m_caster != m_targets.GetObjectTarget()) m_caster->ToCreature()->FocusTarget(this, m_targets.GetObjectTarget()); @@ -7024,6 +7024,11 @@ bool Spell::IsIgnoringCooldowns() const return (_triggeredCastFlags & TRIGGERED_IGNORE_SPELL_AND_CATEGORY_CD) != 0; } +bool Spell::IsFocusDisabled() const +{ + return ((_triggeredCastFlags & TRIGGERED_IGNORE_SET_FACING) || (m_spellInfo->IsChanneled() && !m_spellInfo->HasAttribute(SPELL_ATTR1_CHANNEL_TRACK_TARGET))); +} + bool Spell::IsProcDisabled() const { return (_triggeredCastFlags & TRIGGERED_DISALLOW_PROC_EVENTS) != 0; -- cgit v1.2.3