Core/Spells: Fixed logic related to movement while channeling

This commit is contained in:
hondacrx
2018-02-12 23:16:54 -05:00
parent da5fd47650
commit 13dcfddc83
4 changed files with 12 additions and 6 deletions
+8 -2
View File
@@ -1382,14 +1382,20 @@ namespace Game.Entities
return 0;
}
public bool CanMoveDuringChannel()
public bool IsMovementPreventedByCasting()
{
// can always move when not casting
if (!HasUnitState(UnitState.Casting))
return false;
// channeled spells during channel stage (after the initial cast timer) allow movement with a specific spell attribute
Spell spell = m_currentSpells.LookupByKey(CurrentSpellTypes.Channeled);
if (spell)
if (spell.getState() != SpellState.Finished && spell.IsChannelActive())
if (!spell.GetSpellInfo().IsMoveAllowedChannel())
if (spell.GetSpellInfo().IsMoveAllowedChannel())
return false;
// prohibit movement for all other spell casts
return true;
}