Да, все правильно, скрипт проверяет наличие героев на карте, при этом в замке, это для него как за её пределами.
Вообще, скорее всего все-равно скрипт дал сбой, точнее, остановился на ошибке, просто разблокировка гарнизона шла после удаления Эллайны, но перед ошибкой с Peop1. Таким образом, все, что в скриптовой функции шло после Peop1 скорее всего уже не сработает.