diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 78a832ca6..e2c636f86 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -3959,6 +3959,16 @@ void Unit::SetCurrentCastedSpell(Spell* pSpell) InterruptSpell(CURRENT_AUTOREPEAT_SPELL); m_AutoRepeatFirstCast = true; } + + // melee spells breaking + if (m_currentSpells[CURRENT_MELEE_SPELL]) + { + // break melee spells if cast time + if (pSpell->GetCastTime() > 0) + { + InterruptSpell(CURRENT_MELEE_SPELL); + } + } if (pSpell->GetCastTime() > 0) AddUnitState(UNIT_STATE_CASTING);