Национальные духи

Содержание:

  1. Структура национальных духов

  2. Условия и модификаторы

  3. Иллюстрирование национальных духов

  4. Локализация национальных духов

  5. Привязка национальных духов к стране

Национальные духи - один из тип идей, отображающийся в соответствующей панели в меню страны. Национальные духи являются одной из важнейших вещей, которую необходимо знать мододелу. В этом гайде рассмотрится их создание на примерах

Структура национальных духов

Первое что необходимо знать - файлы, в которых содержатся национальные духи. Это папка ВАШ_МОД\common\ideas или Hearts of Iron IV\common\ideas в оригинальной игре. Обычно национальные духи записываются в разных файлах. Вы можете разделять их в зависимости от страны или их функции - как вам удобно.

Так выглядит максимальный шаблон национального духа. Не факт, что вам понадобятся все эти параметры:

ideas = { #Показывает, что начинается блок идей
    country = { #слот
        test_idea = { #id идеи
            allowed = { } #При каких условиях данный дух будет появляться, а если они не выполнены - исчезать

            allowed_civil_war = { } #Какой стороне будет уходить дух при начале гражданской войны

            cancel = { } #При каких условиях идея будет исчезать

            modifier = { } #Модификаторы во время выполнения духа
            targeted_modifier = {
                tag = ENG
            } #Модификаторы во время выполнения духа, направленные на конкретную страну
            equipment_bonus = { } #Модификаторы на определённое снаряжение
            research_bonus = {
                infantry_tech = 0.1
            } #Модификаторы на исследования

            on_add = { } #Мгновенные эффекты после добавления духа

            cost = 0 #Стоимость идеи; необязательно
            removal_cost = -1 #Стоимость удаления идеи; необязательно
        }
    }    
}

Разберём основные блоки данного кода:

ideas - основной блок, показывающий что в этом файле будут идеи. Необходим в начале каждого файла. country - слот данных идей. У национальных духов - это всегда country. Подробнее о слотах в гайде о категориях идей. test_idea - идентификатор нашей идеи. Именно он объявляет новую идею и используется при локализации.

Также нельзя не упомянуть о том, что наиональные духи могут быть скрытыми, то есть невидимыми для игроков. Для того чтобы объявить блок с скрытыми идеями, вы должны использовать слот hidden_ideas вместо country.

Условия и модификаторы

Теперь разберём каждый параметр внутри самой идеи.

allowed - условие, при котором идея всё ещё будет выполняться. Допустим, при allowed = { has_war = no } национальный дух будет существовать, пока страна не находится в войне. В случае объявления войны данный дух убирается.

allowed_civil_war - используется для того, чтобы задать поведение духа во время начала гражданской войны. По умолчанию значение allowed_civil_war равно always = no, что означает исчезание национального духа во время гражданской войны. Если вы хотите давать дух обоим странам, то пишите allowed_civil_war = { always = yes }, а если только одной стороне, то условие, которое данная страна выполняет, допустим - определённая идеология правительства.

cancel - условия при котором национальный дух отменяется. Отличие от allowed состоит в том, что при выполнении противоположного условия, идея не появляется вновь.

modifier - модификаторы, которые даются стране при данном национальном фокусе. Допустим, мы хотим, чтобы у страны был бонус в 10% к атаке. Тогда мы пишем modifier = { offence = 0.1}

targeted_modifier - то же самое, что modifier однако даёт бонус не стране с данным духом, а другой, которую вы выберете. Данная страна задаётся с помощью tag. Пример:

targeted_modifier = {
    tag = ENG 
    offence = -0.1 #Даёт Великобритании дебафф к атаке -10%.
}

equipment_bonus - то же самое, что modifier, однако используется для снаряжения. Пример:

equipment_bonus = {
    submarine = { #id снаряжения
        attack = 0.25 #Даёт бонус к атаке подводным лодкам 25%.
        instant = yes #Означает, что бонус применяется ко всему снаряжению. Если instant = no (оно же по умолчанию) - то бонус даётся только к последующей изучённой технике данного типа снаряжения
    }
}

research_bonus - то же самое, что modifier, однако используется для исследований. Пример: research_bonus = { land_doctrine = 0.1 } #Даёт бонус 10% для исследования сухопутных доктрин

on_add - мгновенный эффект для страны во время добавления идеи. Пример: on_add = { set_country_flag = my_idea } #Стране выдаётся определённый флаг, который затем можно использовать

cost, removal_cost - необязательные поля для национальных духов, обозначающие стоимость и стоимость удаления идеи соответственно. У национальных духов всегда равны 0 и -1, поэтому их можно не указывать.

Иллюстрирование национальных духов

Размер иконки для национальных духов - 60 x 68 пикселей. Для того, чтобы задать её национальному духу используёте параметр picture, например picture = my_picture. О том, как задать id вашей иконке см. раздел Графика.

Локализация национальных духов

Локализация духов оригинальной игры находится в файле ideas_l_language.yml, где language - ваш язык. Идеи локализируются следующим образом: `

id_идеи:0 "Название идеи"
id_идеи_desc:0 "Описание идеи"

Подробнее о локализации см. соответсвующий раздел.

Привязка национальных духов к стране

Если вы напишите национальный дух по всем инструкциям выше, он не появится в игре. Причина в том, что его надо привязать к необходимой стране. Сделать это можно в фокусах, ивентах, файлах истории стран и других местах. Команда для привязки и отвязки идей: add_ideas = my_idea. Добавляет идею. Также можно добавить несколько идей одной командой, в таком случае add_ideas должен быть блоком.

add_timed_idea = {
    idea = my_idea
    days = 90
}

Отличие от add_ideas заключается в том, что данный национальный дух строго обозначен по времени. Также таким образом можно добавить только один дух.

remove_ideas = my_idea. Аналогично add_ideas, однако не добавляет, а удаляет дух.

swap_ideas = {
     remove_idea = my_idea
     add_idea = my_idea1
}

Позволяет заменить одну идею на другую.

Last updated