Вот решил выложить информацию о найме и апгрэйде юнитов от комрада nnn900.
Зависимость найма от технологии указывается в таблице
db/unit_required_technology_junctions_tables клонируете строку и в одной колонке вписываете юнита, которого надо закрыть до исследования, в другой закрывающую его технологию.
Если юнит прописан несколькми фракциям и нужно, чтобы он у всех был закрыт, то нужно проверить, у всех ли фракций есть такая технология, если у какой то нет - то делаете еще одну строчку в unit_required_technology_junctions_tables, где указываете еще раз этого юнита и технологию этой фракции.
Переобучение юнитов назначается в db/technology_unit_upgrades_tables там указываете в одной колонке исходного юнита, в другой в кого он превратиться (в зависимости от версии ПФМ колонки по разному расставляются, но всегда можно сориентироваться по юнитам, о которых знаете кто в кого апгрейдится, технологию, по которой происходит апгрейд и цену апгрейда.
В случае с одним юнитом у нескольких фракций так же надо проверить наличие технологии и у них и так же поступать, как при закрытии технологией юнита.
Далее при прописке апгрейдов есть важный момент - несколько юнитов могут превращаться в одного по апгрейду, а вот обратно это не работает, так чтобы один юнит например у разных фракций в разные виды войск апгрейдился сделать нельзя. Он тогда просто пропадет из найма. Так же, если вы делаете цепочку апгрейдов, то учитывайте, что последующие юниты автоматом прописываются после апгрейда во все здания, куда был прописан начальный юнит.
Таблицы в которых юниты приписаны к фракциям.
"units_to_groupings_military_permissions_tables" и "units_to_exclusive_faction_permissions_tables". В этих таблицах юниты приписаны к фракциям, в принципе можно юнит одной фракции передать для найма другой. Я так приписал Этрусских юнитов, для найма при игре за Рим.
Например в таблице "units_to_groupings_military_permissions_tables" - Ita_Spiar_for Roman, Ita_Sword_Six Roman.
В таблице "units_custom_battle_permissions_tables" - rom_rome Ita_Spiar_for Roman, rom_rome Ita_Sword_Six Roman.
Потом эти юниты нужно приписать к постройке, в таблице "building_units_allowed_tables".