1-3) Скорее всего, невозможно.
Один из возможных топорных методов, как я думаю - дать соответствующий артефакт герою в начале сражение и забрать его в конце, но это наверное не сработает, если у героя слот под этот артефакт уже занят...
4) Можно использовать конструкциюкоторая будет ждать пока не наступит чей-либо ход.repeat sleep() until combatReadyPerson()
5) Существа могут колдовать заклинания, которые не знают, в том числе и те существа, которые не умеют колдовать вовсе. Однако маны на это заклинание должно хватать.
6) Скорее всего, нет. Но у баллисты выстрелы все равно бесконечные: после достижения 0 она продолжит стрелять, и выстрелы станут отрицательными.
7) Можно эмулировать try с помощью startThread и catch с помощью errorHook. В библиотеке lualib реализовывал функцию pcall, которая примерно это и делает.
Добавлено через 5 минут
Еще такой вопрос:
Захотел я например с помощью боевых скриптов реализовать "откат" героя после каста на 20 % меньше (т.е. на позицию 0.2 по АТВ вместо 0). С обычным случаем все сработает нормально, но как быть, например, если у героя есть чародейство? В этом случае простое задание позиции АТВ уже не будет работать правильно, и надо вычислять все умения героя и его противника?
Пробуждение зла
Нашествие из Преисподней
Смена эпох
Скачать все кампании одним архивом: Яндекс.Диск Google.Диск
You can download the set of 3 Campaigns (English version) here
Одиночные сценарии Heroes V 3.1:
Незваные гости
Красный кристалл
Синий кристалл
Закат тьмы
Мультиплеерные карты для Heroes V 3.1:
Легендарная война
Сердце вулкана
Передел мира