aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-05-02 16:15:28 +0200
committerShauren <shauren.trinity@gmail.com>2022-05-02 16:15:28 +0200
commit8a219b7e397f4c31a0e40d582ff9bbcd94f1a6e1 (patch)
tree4ea5f04d7ea0d46b29294928519b045a476db8d9
parentd818add0e20fcf2c86ef46b5cd94f942488511a0 (diff)
Core/Spells: Corrected implementation of SPELL_ATTR5_ALLOW_ACTIONS_DURING_CHANNEL - it allows casting other spells while channeling, not allows movement while channeling
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 6a5ab4627f7..3d695465a33 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -2834,7 +2834,8 @@ void Unit::SetCurrentCastSpell(Spell* pSpell)
case CURRENT_GENERIC_SPELL:
{
// generic spells always break channeled not delayed spells
- InterruptSpell(CURRENT_CHANNELED_SPELL, false);
+ if (m_currentSpells[CURRENT_CHANNELED_SPELL] && !m_currentSpells[CURRENT_CHANNELED_SPELL]->GetSpellInfo()->HasAttribute(SPELL_ATTR5_ALLOW_ACTIONS_DURING_CHANNEL))
+ InterruptSpell(CURRENT_CHANNELED_SPELL, false);
// autorepeat breaking
if (m_currentSpells[CURRENT_AUTOREPEAT_SPELL])