Группировки (factions)

Материал из xrWiki
Перейти к: навигация, поиск

Создание базы группировки (sim_faction)

Для создания базы группировки необходимо в LevelEditor поставить объект Spawn Element -> ai -> sim_faction. В его Properties -> Custom data нужно прописать следующее:

[faction]

name = имя_группировки
base_smart = имя_smart_terrain
settings = имя_файла_настроек
Параметр Описание
name Имя группировки, которой принадлежит эта база. Можно взять из файла game_relations.ltx.
base_smart Имя smart_terrain типа base, в котором будут появляться новые отряды группировки. Этот smart_terrain желательно ставить примерно в центре базы, для красивого отображения на карте.
settings Имя .ltx-файла, в котором содержатся настройки группировки. Путь к файлу задаётся относительно папки локальная_папка_аддона\gamedata\configs\. Подробнее – в разделе #Настройка группировки.
Важно!

Точка sim_faction в дебаговом режиме отображается на карте символом, из подсказки которого можно получить много полезной информации, поэтому желательно эту точку не ставить поверх smart_terrain’а, иначе они будут друг друга перекрывать.


В игре не может быть двух баз с одним и тем же именем группировки, даже на разных уровнях (если они связаны между собой). Если же такое произойдёт – последствия непредсказуемы.


Настройка группировки

После создания объекта группировки Spawn Element -> ai -> sim_faction, в его Properties -> Custom data, в секцию [faction] добавляется ключ settings, значением которого является путь к .ltx-файлу настроек группировки (см. #Создание базы группировки). Такие файлы желательно создавать как локальная_папка_аддона\gamedata\configs\misc\faction_имя_группировки.ltx. Содержимое такого файла выглядит примерно так:

[settings]

resource_0 = спаун-секция_представителя_группировки, удельный_вес_при_подспауне, спаун-секция_представителя_группировки...
resource_1 = спаун-секция_представителя_группировки, удельный_вес_при_подспауне, спаун-секция_представителя_группировки...
resource_2 = спаун-секция_представителя_группировки, удельный_вес_при_подспауне, спаун-секция_представителя_группировки...
resource_3 = спаун-секция_представителя_группировки, удельный_вес_при_подспауне, спаун-секция_представителя_группировки...

glory_0 = дополнительное_количество_отрядов
glory_1 = дополнительное_количество_отрядов
glory_2 = дополнительное_количество_отрядов
glory_3 = дополнительное_количество_отрядов
glory_4 = дополнительное_количество_отрядов
glory_5 = дополнительное_количество_отрядов


[expansion_0] ; нулевой уровень экспансии

base_squad_number = базовое_количество_отрядов
precondition_power =
sim_prior = название_секции_приоритетов


[expansion_1] ; первый уровень экспансии

base_squad_number = базовое_количество_отрядов
precondition_power =
sim_prior = название_секции_приоритетов


[expansion_2] ; второй уровень экспансии

base_squad_number = базовое_количество_отрядов
precondition_power =
sim_prior = название_секции_приоритетов


[prior_0]

тип_лагерей_или_название_лагеря = прибавка_к_относительной_ценности_лагеря_или_типа_лагерей, коэффициент_прибавки_параметра_sim_value
тип_лагерей_или_название_лагеря = прибавка_к_относительной_ценности_лагеря_или_типа_лагерей, коэффициент_прибавки_параметра_sim_value



[prior_1]

тип_лагерей_или_название_лагеря = прибавка_к_относительной_ценности_лагеря_или_типа_лагерей, коэффициент_прибавки_параметра_sim_value
тип_лагерей_или_название_лагеря = прибавка_к_относительной_ценности_лагеря_или_типа_лагерей, коэффициент_прибавки_параметра_sim_value



[prior_2]

тип_лагерей_или_название_лагеря = прибавка_к_относительной_ценности_лагеря_или_типа_лагерей, коэффициент_прибавки_параметра_sim_value
тип_лагерей_или_название_лагеря = прибавка_к_относительной_ценности_лагеря_или_типа_лагерей, коэффициент_прибавки_параметра_sim_value

            

[start_position]

идентификатор_отряда = имя_смарта
идентификатор_отряда = имя_смарта
идентификатор_отряда = имя_смарта


Описание параметров

Параметр Описание
[settings] Секция настроек уровней науки и богатства.
resource_0

resource_1
...

Значение каждого ключа resource_N – это параметры появления новых отрядов при количестве ресурсов N. Количество ресурсов повышается с захватом лагерей типа resource. Через запятую указываются: спаун-секция (из файла spawn_sections.ltx) бойца в новом отряде, вероятность его появления в виде удельного веса, спаун-секция, вероятность появления в виде удельного веса, спаун-секция, вероятность появления в виде удельного веса, и т.д. Например, если указаны две спаун-секции, и у первой удельный вес – 40, а у второй – 30, то с вероятностью 40 из 70 появится боец первой спаун-секции, а с вероятностью 30 из 70 появится боец второй спаун-секции.
glory_0

glory_1
...

Значение каждого ключа glory_N – это количество дополнительных отрядов, которые появляются у группировки при уровне славы N. Уровень славы повышается с захватом лагерей типа territory.
[expansion_0]

[expansion_1]

Секции настроек уровней экспансии. На каждом уровне задаётся определённое количество отрядов и приоритеты группировки.
base_squad_number Базовое количество отрядов группировки на данном уровне экспансии. Общее количество отрядов равно этому числу плюс количество дополнительных отрядов, зависящее от уровня богатства группировки.
precondition_power Условие переключения на другой уровень экспансии.
sim_prior Название секции приоритетов, в которой описаны приоритеты группировки на этом уровне экспансии.
[prior_0]

[prior_1]

Секции приоритетов группировки. Используются для искусственного поднятия ценности определённых лагерей в списке приоритетов группировки, что заставляет группировку в первую очередь захватывать и удерживать именно такие лагеря. В секции задаются ключи, которые являются типом лагерей или именем конкретного лагеря, а после знака «равно» через запятую задаются прибавка к относительной ценности лагеря и коэффициент прибавки параметра sim_value соответствующего лагеря. Например:
[prior_0]
science = 100, 0.1

smart_1 = 150, 0

В этом примере для группировки к стандартной ценности каждого лагеря типа science прибавляется 100 + 0.1 * sim_value этого лагеря, что обеспечивает общее поднятие научно-технологических лагерей в системе приоритетов группировки, тем не менее сохраняя различия ценности таких лагерей относительно друг-друга.

[start_position] Секция стартового расположения отрядов. Используется, чтобы заспаунить отряды в определённых лагерях в начале игры. В секции задаются ключи, которые являются идентификаторами отрядов. Значение ключа – это имя лагеря, в котором должен появиться этот отряд.