А потом например как город захватишь можно прикратить карту открывать?
Можно. Поставьте триггер на захват объекта и переменную, которая равна 0, если объект не захвачен и 1 в противном случае. А в if IsHeroAlive('Sun') добавить тогда проверку на эту переменную, чему она равна.