вообщето, после взятия в таргет цели - той, что крадетса со спины, сразу следует твоя атака, а не ожидание "когдатамбулкаубежит", что ессно приводит как минимум к развороту мастера - и перебегу булки. Или надо обязательно дожидаться, пока она забежит за твою спину (да-да, вводя в заблуждение спиной), и лишь потом атаковать?
Касаемо if dist(master-bulka)<const then exit; - а кто запрещает перед ней поставить проверку на ротацию?О_о
Но впрочем, раз вам хочется хранить массивы с оид окружения+их координатами, постоянно их обновляя, чтобы высчитывать направления - (в экшен пакете на таргет - координаты лишь мастера), а еще и делая отсев - свой\не свой там - как угодно