MentMoveHero -- хитрая вообще такая вещь. Он может не работать, если точка предназначения у героя находится на "зелёной" клетке. Пример: в Гномании не получилось заставить с помощью этой функции напасть героями на гарнизон. Делал так: посылал на соседнюю клетку, а там стоит регион, и для него прописан триггер:
function Gar(hero)
if hero=="bla-bla" then
MakeHeroInteractWithObject("bla-bla","Garnison");
end;
end;
А эта функция работает только если герой находится рядом с объектом?
Если нет, то можно даже не ставить регион и триггер.