Перейти к содержанию
#3932

Большое спасибо за детальные комментарий ув. Долгий и ув. Jack of shadows. 

 

Проблема в том, что как я понимаю, если в хуке UnitMove я возвращаю not nil, то юнит не должен дальше перемещаться. У меня же получается ситуация, почему-то, что юнит и кастует заклинание, и делает ход, при чём ход он делает первым. Я перепроверил документацию Novik'a, там тоже написано, что UnitMove должен вызываться перед каждым ходом стека существа. 

 

То есть, ожидаемая последовательность действий:

1. Существо получает ход

2. Наступает хук UnitMove

3. В хуке я накладываю слепоту и возвращаю not nil

4. Существо остаётся на своём месте, проиграв анимацию заклинания. 

Реальная последовательность действий:

1. Существо получает ход

2. Наступакт хук UnitMove

3. Существо делает действие (бежит вперёд или атакует, если дотягивается)

4. Передаётся действие моему обработчику и существо накладывает заклинание

5. возвращается not nil

 

Можете подсказать, пожалуйста, в каком направлении я допустил ошибку? Я так понимаю, что должно сначала выполняться тело хука, а потом только действие существа, а не наоборот.