Как реализовать через скрипты следующие вещи?
1) Перестройка городов на старте игры.
Для чего: ИРМГ генерирует некрасивые карты, а стандартный ГСК генерирует все города только 2 уровня с построенной таверной.
Нужно:
- первому игроку стартовый город 4 уровня (скажем, форт, таверна и жилище-1);
- всем последующим игрокам стартовый город 4 уровня плюс, вероятно, дополнительная постройка (жилище-2) - до 5 уровня, шанс зависит от номера игрока и равен 100% для последнего игрока
- все нейтральные города получают 6 уровень (скажем, форт-цитадель, жилище-1,2,3)
Проблема:
- Как перебрать города, существующие на карте, если их имена заранее неизвестны?
Придётся ли перебирать все существующие имена городов, прописанные в ресурсах игры на предмет их наличия на карте?
2) Забор хода у героев при встрече или после боя.
Для чего: запрет цепочек, лимит боёв.
Нужно:
- Забирать у героя 50% полного хода после сыгранной битвы (как в Disciples 2), если остаток хода героя меньше - забирать весь остаток хода. В идеале забирать только в том случае, если нейтралы не были отпущены без боя.
- При встрече дружественных героев выравнивать их остаток хода по минимуму (т.е. устанавливать остаток хода обоих героев равным наименьшему остатку хода среди них). При посещении героем гарнизонов шахт обнулять его ход (в идеале - только гарнизонов, чтобы ход не терялся при захвате шахты) - запрет шахтерских цепочек.
Проблемы:
- Как отследить факт проведения битвы (что-то типа триггера)?
- Как отследить факт встречи героев или посещения гарнизона?