С подобной проблемой близ боролся во времена "танцора" нахрамаса оригинала , к моменту последней версии нахрамаса уже пофиксили.
У всех классов любые перемещения работают по одному принципу - игрок на сервере остаётся там где он был до тех пор пока не пройдёт время затраченное на расчёт конечной позиции и анимацию перемещения \ проигрывание анимации для клиента совершившего действие , после чего принимается новая позиция и происходит телепортация \ синхронизация клиента - сервер о координатах новой позиции ... в конечном итоге эту самую телепортацию \ конечный результат действий сервера видят все окружающие.
И именно по тому что фактически перемещение отсутствует с момент нажатия спела до конечной синхронизации , вам кажется что в процессе выполнения спела вас могут контролировать и сбивать вам этот процесс т.к. фактически персонаж стоит на том же самом месте где и был до нажатия спела , а так как не имеет аур имуна на весь процесс к каким либо другим противодействующим спелам ...и так же в том числе это и вызывает возврат персонажа на место предыдущей позиции , если он получил контроль т.к. сервер его никуда не перемещал , а новая позиция будет рассчитана и подчинена процессу расчёта нового наложенного спела контроля и его ключевым деталям синхронизации сервер - клиент.
1 Вариант - В общем по мне так , если так много страдально и тяжело переписывается скрипт данных перемещений , то достаточно прикрутить скрытую ауру имуна на контроль параллельно \ с момента начала исполнения скрипта спела до окончания его действия т.е. к примеру героический прыжок занимает ~0.25 сек , то и ауру наложить при нажатии и снять после приземления ... благо тригеров вагон в этом процессе.
2 Вариант - Все игроки знакомы с багом когда отображение не соответствует действительной позиции , чаще всего эта проблема преследует мобов. Так вот вариант заключается в следующем - после проверки на возможность перемещения (если возможна) перемещать фактически игрока в новое место , а потом лишь его модельку спустя время. Таким образом все эффекты контроля в области нахождения модельки не будут влиять на персонажа и он завершит полёт корректно - бред , но забавно )))
Или сделать всё же как положено , все виды контроля должны быть отсрочены до момента приземления (если разрыв между использованием спела перемещения и контроля меньше некого временного значения - что означает для близов как одновременное использование) и иметь взаимодействие с персонажем после приземления за минусом времени на полёт - этот случай достаточно редко проявляется , но имеет место быть в оригинале - это для спелов "инстанс" свойства.
В случае таких вещей как стан от молота громовержца война , то он последует за целью и при касании даст стан персонажу на другой стороне ворот варлока (к примеру) , остальные же эффекты в большинстве случаев будут проигнорированы \ заимунены на персонаже находящемся в полёте \ под воздействием спела перемещения.
[p\s] это касается всех видов перемещений
- ворота варлока
- скачок друида
- скачок мага
- прыжок за спину роги
- череда роги
- рывок война
- прыжок война
- отрыв ханта
- притягивания приста \ друида и т.д. и т.п.