<!-- 2023-01-20-13-50-10.webp
-->

common

如何建立一个新国家。
即使是开局不存在的国家,不伏做任何修改的国家,也需要以下几个地方进行修改

country tags
countries

country tags

国家TAG
common/counttry_tags

ERA = "countries/Erea.txt"

countries

normal definition

common/countries

graphical_culture = western_european_gfx
graphical_culture_2d = western_european_2d

color = { 190  12  159 }

cosmetic.txt

国家的不同派系

common/countries/cosmetic.txt

不可追加在其它文件里。

SOV_ROME = {
    color = rgb { 128 0 128 }
    color_ui = rgb { 128 0 128 }
}


# ERA

NEPTUNE_ERA = {
    color = rgb { 190  12  159 }
    color_ui = rgb { 200  12  159 }
}

Focus

focus_tree = {
    id = Erea_Focus # focus tree id
    country = {
        factor = 0
        modifier = {
            add = 10
            tag = ERA
        }
    }
    default = no

    continuous_focus_position = { x = 50 y = 2000 }
    # 持续国策位置
# 头文件,不懂
    focus = {
        id = ERA_rebuild_share_crystal # id name
        icon = GFX_goal_neptower # icon
        cost = 10.00 # 消耗时间,实际为cost * 7天
        prerequisite = {# 前置国策,会在国策树中用线连接
            focus = ERA_southamerica_church
        }
        available = {# 在什么情况下可用,要满足所有要求
            custom_trigger_tooltip = {
                tooltip =  ERA_rebuild_share_crystal_require_tt
            }# 自定义提示。
            AND = {#要满足所有要求
                has_tech = improved_machine_tools
                has_tech = construction2
                has_tech = fuel_refining
                has_tech = oil_processing
                has_tech = computing_machine
                has_tech = decimetric_radar
                has_tech = tech_support
            }
            num_of_factories > 49
        }
        x = -1
        y = 5 # 位置
        relative_position_id = ERA_remeber_console_war
        #加上这行代码就代表相对位置
        completion_reward = {# 完成国策的效果
            custom_effect_tooltip = ERA_share_crystal_weely_add_tt
            add_to_variable = {ERA_share_crystal_weekly_grow = ERA_share_crystal_rebuild_grow}
            #set_country_flag = rebuild_share_crystal_flag
            add_timed_idea = {idea = ERA_rebuild_share_crystal_idea days = 140}
        }
    }
}
prerequisite = {
            focus = ERA_histoire_team
            focus = ERA_sister_generation
        }
        prerequisite = {
            focus = ERA_safe_place
            focus = ERA_mass_capital_attract
        }
        # 两个prerequisite都要满足,prerequisite内部只要满足一个

characters

角色

characters = {
        ERA_ram = { # id 
        name = ERA_ram # localisation
        portraits = { # 图片
            civilian = { # 
                large = GFX_portrait_Erea_Ram
            }
            army = {
                large =  GFX_portrait_Erea_Ram
                small = GFX_portrait_Erea_Ram_small
            }# small是作为顾问时的小图标
        }

        country_leader = { # 表示可以作为领导人
            ideology = ramism # 意识形态
            traits = { dictator }
            # 特质(打包带名字的效果),在特质文件中可以找到
            democratic_acceptance = 80 #单列的效果
            fascism_acceptance = 80
            expire="1965.1.1.1"
            id = -1
        }

        corps_commander={# copy from GER_erich_von_manstein
        # 表示可以作为将军,field_marshal表示是元帅
            traits={ brilliant_strategist armor_officer trickster trait_engineer }
            skill=4
            attack_skill=2
            defense_skill=4
            planning_skill=3
            logistics_skill=4
            legacy_id=5
            visible = { # 可见条件
                has_completed_focus = ERA_sister_generation
            }
        }

        advisor = {# 作为顾问
            cost = 150
            slot = political_advisor #顾问类型
            idea_token = ram
            #ledger = 
            allowed = {
                original_tag = ERA
            }

            visible = { # 可见条件
                has_completed_focus = ERA_sister_generation
            }

            available = { # 可选择条件
                has_completed_focus = ERA_sister_generation
            }

            traits = { # 特质效果(似乎不可以单列)
                appeaser
                financial_expert
            }
        }
    }
}

decisions

common/decisons/name.txt

categories

common/decisions/categories/name.txt

ERA_church= { # categories id
    priority = 17 # 序号大的排前面
    icon = generic_research
    visible = { # 整个决议分类可见性
        original_tag = ERA
    }
    allowed = { # 
        original_tag = ERA
    }
    visible_when_empty = yes
    # 没有决议可用时此分类也可见
}

continuous state decisions

common/decisions/name.txt

ERA_church = { #分类id,接上面categories
    ERA_church_core = {# 具体id
        visible = {# 决议何时可见
            NOT = {
                FROM = {
                    is_core_of = ROOT
                }
            }
            FROM = { # FROM指代来源,可以是多种对象,此处是州
                is_fully_controlled_by = ROOT
                is_owned_by = ROOT
                compliance > 50
            }
        }
        
        on_map_mode = map_only # 地图可见
        available = {  # 可用条件
            has_completed_focus = ERA_megami_banzai
            FROM = { 
                is_fully_controlled_by = ROOT
                is_owned_by = ROOT
                compliance > 50 
            }
        }
        complete_effect = {# 执行效果

        }
        modifier = { # 持续效果
            political_power_gain = -0.2         
        }
        remove_effect = { # 完成效果
            FROM = {
                add_core_of = ROOT
            }
            add_political_power = 30
        }
        state_target = yes
         # 以州为目标,存在多个目标且没做限制情况下可以同时点。
        days_remove = 30 # 决议持续时间
        days_re_enable = 1 # 冷却
        cost = 40 # 政治点数花费
        ai_will_do = { # ai行为
            factor = 10
            #modifier = { } #可以用modifier调节
        }
    }
}

mission

任务,触发式,可以在决议里写触发条件,也可以代码触发。

ERA_megami_work = {
    ERA_megami_should_showup = {
        priority = 10
        icon = generic_ignite_civil_war
        available = { # 完成条件,达到条件任务完成
            OR = {
                has_country_flag = ERA_recent_megami_showup_flag
                has_country_flag = ERA_ongoing_megami_showup_flag
            }
        }
        days_mission_timeout = ERA_megami_should_showup_time
        # 任务时长,可以用变量
        fire_only_once = no
        # 是否可以多次触发

        activation = {
            # 主动触发任务的条件,比如这里是以下两行都满足
            NOT = {has_country_flag = ERA_recent_megami_showup_flag}
            NOT = {has_country_flag = ERA_ongoing_megami_showup_flag}
        }
        
        visible = {# 可见条件
            tag = ERA
        }
        cancel_if_not_visible = yes
        is_good = no #代表这个任务是坏事件还是好事件
        timeout_effect = {# 没完成的效果
            add_stability = -0.1
            add_war_support = -0.1
            #TO DO 事件
        }
    }
}

countinuous decision ( country )

cancel_trigger & cancel_effects
决议里面有些效果是不能写在modifiers里面的,以下面5pb演出为例:

5pb一次只能去一个地方演出,这个效果只能以在演出时添加ERA_ongoing_5pb_showup_flag解决
大型演出时会增加1的信仰水晶收入,这个必须修改ERA_share_crystal_weekly_grow
其它modifier不支持的效果

对于这些效果,解决方法是在complete_effects中加上效果或者flag,再在cancel_effects和remove_effect中退回更改,比如在下面在执行时加上ERA_ongoing_5pb_showup_flag,再在决议完成或取消时删除。所以cancel_effect,cancel_trigger要能与正常完成互补。否则就会出错。

然而,target_trigger与visible中的条件要保证在决议运行时为真,比如点决议会增加flag ERA_ongoing_5pb_showup_flag,这是为了防止5pb同时进行多场演出,这种判断条件就不能写在target_visible与visible里面,必须写在available里面,不然就会导致点完决议,系统判断决议出现条件不成立,又消失。消失没有触发cancel_effects,也不算remove_effects(cancel_if_invalid没用),就会导致只有执行效果,没有取消或完成效果,某些变量或flag就不会退回更改。

其它加入cancel_trigger中的东西还有:cancel效果,完成决议时需要添加的flag(比如ERA_5pb_rest_flag),

另外,visible,或target_trigger中一此可能会中途会突然又不成立的条件(比如不处于战争)最好同时写到cancel_trigger里面。

modifier对目标国家其实没有用,不能写FROM = {},要对目标国家起作用,应该在民族精神里面加上一个有对应效果的民族精神,在执行(complete_effect)代码里面用add_ideas给对应国家加上,然后在cancel_effect 和 remove_effect里面再去掉。

ERA_5pb_performance = {
    ERA_organize_5pb_performance_large = {
        priority = 17
        icon = GFX_decision_category_generic_propaganda
        #visible = {    }
        #cancel_trigger = {  }
        fire_only_once = no
        #cost = 30
        days_remove = ERA_5pb_showup_time
        days_re_enable = ERA_5pb_decisions_re_enable_time

        available = {
            not = { has_country_flag = ERA_5pb_rest_flag}
            not = { has_country_flag = ERA_ongoing_5pb_showup_flag}
            num_of_civilian_factories_available_for_projects > 69
        }

        modifier = {
            #political_power_gain = -1.5# 
            civilian_factory_use = 70
            #consumer_goods_factor = 0.1
            #political_power_gain = 0.25
            stability_weekly = 0.005
            #war_support_weekly = 0.005
            stability_factor = 0.2
            #war_support_factor = 0.1
            weekly_manpower = 10000
        }
        complete_effect = {
            ERA_performance_crystal_complete_effect = yes

            set_country_flag = ERA_ongoing_5pb_showup_flag 
            if = {
                limit = {has_active_mission = ERA_megami_should_showup}
                add_days_mission_timeout = {
                    mission = ERA_megami_should_showup
                    days = ERA_5pb_megami_showup_delay
                }
            }
        }
        remove_effect = {
            ERA_performance_crystal_cancel_effect = yes
            
            ERA_add_industrial_complex_2 = yes
            ERA_add_industrial_complex_2 = yes
            ERA_add_industrial_complex_2 = yes
            ERA_add_industrial_complex_2 = yes
            ERA_add_industrial_complex_2 = yes
            ERA_add_industrial_complex_2 = yes
            ERA_add_industrial_complex_2 = yes
            ERA_add_industrial_complex_2 = yes
            ERA_add_industrial_complex_2 = yes
            clr_country_flag = ERA_ongoing_5pb_showup_flag
            ERA_5pb_showup_remove_flag_effect = yes
        }
        ai_will_do = {
            factor = 10
         }
    }

    ERA_5pb_call_to_war = {
        priority = 15
        icon = GFX_decision_category_generic_propaganda
        #visible = {    }
        #cancel_trigger = {  }
        fire_only_once = no
        #cost = 30
        days_remove = ERA_5pb_showup_time
        days_re_enable = ERA_5pb_decisions_re_enable_time

        available = {
            not = { has_country_flag = ERA_5pb_rest_flag}
            not = { has_country_flag = ERA_ongoing_5pb_showup_flag}
            num_of_civilian_factories_available_for_projects > 9
            has_war = yes
        }

        modifier = {
            civilian_factory_use = 10
            #consumer_goods_factor = 0.1
            #political_power_gain = 0.25
            #stability_weekly = 0.005
            war_support_weekly = 0.01
            #stability_factor = 0.2
            war_support_factor = 0.2
            weekly_manpower = 10000
        }

        complete_effect = {
            ERA_performance_crystal_complete_effect = yes
            set_country_flag = ERA_ongoing_5pb_showup_flag 
            if = {
                limit = {has_active_mission = ERA_megami_should_showup}
                add_days_mission_timeout = {
                    mission = ERA_megami_should_showup
                    days = ERA_5pb_megami_showup_delay
                }
            }
        }

        remove_effect = {
            ERA_performance_crystal_cancel_effect = yes
            ERA_add_arms_factory_2 = yes
            ERA_add_arms_factory_2 = yes
            #ERA_add_industrial_complex_1 = yes
            clr_country_flag = ERA_ongoing_5pb_showup_flag
            ERA_5pb_showup_remove_flag_effect = yes
        }
        ai_will_do = {
            factor = 10
         }
    }

    ERA_5pb_world_tour_medium = {
        priority = 3
        icon = GFX_decision_generic_nationalism
        ai_will_do = {
            factor = 10
        }
        target_trigger = {
            FROM = {
                exists = yes
                NOT = { 
                    original_tag = ERA
                    has_war_with = ROOT
                }
                is_major = yes
            }
        }
        allowed = {    original_tag = ERA    }

        available = {
            FROM = {
                has_civil_war = no
                NOT = { has_country_flag = ERA_ongoing_world_tour_flag  }
            }
            num_of_civilian_factories_available_for_projects > 14
            not = { has_country_flag = ERA_5pb_rest_flag}
            not = { has_country_flag = ERA_ongoing_5pb_showup_flag}
        }

        visible = {
            FROM = {
                exists = yes
                NOT = {    
                    has_war_with = ROOT
                }
            }
            has_completed_focus = ERA_benefit_exchange # unchangeable if true.
        }#unvisible is not cancel
        on_map_mode = map_only
        cost = 30
        fire_only_once = no
        days_remove = ERA_5pb_showup_time

        complete_effect = {
            FROM = {    
                set_country_flag = ERA_ongoing_world_tour_flag  
                add_ideas = gameindustry_5pb_world_tour_idea
            } 
            ERA_performance_crystal_complete_effect = yes
            set_country_flag = ERA_ongoing_5pb_showup_flag
        }

        cancel_trigger = {# 取消条件
            FROM = {
                OR = {
                    exists = no # TO DO
                    has_war_with = ROOT
                    has_civil_war = yes # for safety.
                }
            }
        }

        cancel_effect = {# 取消效果
            ERA_performance_crystal_cancel_effect = yes
            ERA_add_industrial_complex_1 = yes
            FROM = {    
                clr_country_flag = ERA_ongoing_world_tour_flag 
                remove_ideas = gameindustry_5pb_world_tour_idea
            } 
            clr_country_flag = ERA_ongoing_5pb_showup_flag
            set_country_flag = { flag = ERA_5pb_rest_flag value = 1 days = 30 }
        }

        modifier = {
            civilian_factory_use = 15
            weekly_manpower = 1000
        }

        remove_effect = {
            ERA_performance_crystal_cancel_effect = yes
            ERA_add_industrial_complex_2 = yes
            ERA_add_industrial_complex_2 = yes
            ERA_add_industrial_complex_2 = yes
            FROM = {    
                clr_country_flag = ERA_ongoing_world_tour_flag 
                remove_ideas = gameindustry_5pb_world_tour_idea
            } 
            clr_country_flag = ERA_ongoing_5pb_showup_flag
            set_country_flag = { flag = ERA_5pb_rest_flag value = 1 days = 30 }
        }
        cancel_if_invalid = yes
    }
}

ideas

common/ioeas/name.txt
民族精神

ideas = {

    country = {

        ERA_chaotic_society_idea_0 = {
            picture = great_depression
            #图片本来的name是 GFX_idea_people_far_from_war,但是只需要后面部分
            allowed = {
                always = no
            }# 

            allowed_civil_war = {
                always = yes
            }

            removal_cost = -1

            modifier = {
                stability_factor = -0.2
                war_support_factor = -0.3
                political_power_factor = -0.2
            }
        }
    }
}

on_actions

common/on_actions/name.txt
具体有什么代码与写法详见原版钢丝documents
common/on_actions/name.txt

on_actions = {
    on_weekly_ERA = {# on_weekly_TAG or on_monthly_TAG
        effect = {
            ERA_share_crystal_count_scripted = yes
        }
    }
}

resources

common/resources/name.txt

resources = {
    crystal = {
        icon_frame = GFX_CRYSTAL
        cic = 1
        convoys = 0.1
    }
}

一些关于resources的代码在documents 里面,比如resource_produced@crystal

buildings

common/buildings/name.txt

buildings = {
    share_crystal_tower = {
        show_on_map = 1
        base_cost = 10000
        icon_frame = 15
        local_resources_crystal = 1 # local_resources plus _resourcesname
        refinery = yes
        max_level = 1
        value = 3
    }
}

technologies

common/technologies/name.txt

不显示的科技

原版中有些科技不显示,不能研究获得,比如日本的自行车营,只能通过代码获得。

technologies = {
    crystal_tower_tech = {
        enable_building = {
            building = share_crystal_tower   
            level = 1
        }
        allow = {
            always = no
        }
        research_cost = 1
        start_year = 1937
    }
}

显示的科技

这个要去改ui,我还不会。

technology sharing

common/technology_sharing/name.txt

technology_sharing_group = {

    id = gameindustry_tech_share
    name = gameindustry_tech_share_name
    desc = gameindustry_tech_share_desc
    picture = GFX_technology_sharing_default
    research_sharing_per_country_bonus = 0.1

    available = {
        is_in_faction_with = ERA
    }
}

很容易看懂

ideologies

common/ideologies/name.txt

ideologies = {
    megamism = {# 意识形态id
        
        types = {
        
            neptunism = {#子分类
                can_be_randomly_selected = no # 不可以被随机人物选择
            }
            
            noirism = {
                can_be_randomly_selected = no
            }
            
            blancism = {
                can_be_randomly_selected = no
            }
            # 还可以写很多
        }
        
        dynamic_faction_names = {
            "FACTION_NAME_MEGAMI_1"
            "FACTION_NAME_MEGAMI_2"
            "FACTION_NAME_MEGAMI_3"
            "FACTION_NAME_MEGAMI_4"
            "FACTION_NAME_MEGAMI_5"
        }
        
        color = { 190  12  159 }
        
        war_impact_on_world_tension = 0.5        #megami much less impact
        faction_impact_on_world_tension = 0.5
        
        ai_communist = yes # uses the commie AI behaviour
        
        rules = {# 规则
            can_force_government = yes # 允许谈判界面强制输出意识形态
            can_send_volunteers = yes
            can_puppet = yes
        }
        
        can_collaborate = yes
        
        modifiers = { #效果
            puppet_cost_factor = -0.3
            civilian_intel_to_others = 5.0
            army_intel_to_others = 5.0
            navy_intel_to_others = 5.0
            airforce_intel_to_others = 5.0
            hidden_modifier = { join_faction_tension = -0.1 }
        }
        
        faction_modifiers = {
            faction_trade_opinion_factor = 0.50
        }

    }
    
}

names

我也看不懂

ERA = {
    male = {
        names = { Umio Shinji Bill Kojima Bug Kenji Kazuma Jun Watanabe
          }
    }
    female = {
        names = { Yui Anne Saki Rin Aoi Ao Ayaka Misaki Mei Yuzuki Gust Blow Atelier Asuka Falca Linkle Rio Hinata Saki Rino Natsuki Reina Ayane Hiyori Konata Izumi Hiragi Tsukasa Rorona Hanna Ranma Marvie }
    }
    surnames = { 
        Arisugawa Arichi Akiyama Araki
        Dewa
        Enomoto
        Hasegawa Honjo
        Ito Inoue Ichinohe Itagaki
        Kido Kuroda Katsura Kodama Kabayama Kawamura Kuroki Kawakami Kamimura Kataoka Kamio Kato Kanin Katsu
        Makino Muto Minami Masaki Matsudaira
        Nakamuta Nogi Nire Nozu
        Okubo Oyama Omura Oku Okada Osumi
        Saigo Suzuki Sato Sakura Shibayama Shimamura Shirakawa
        Togo Takashima Tsuboi Tachibana Terauchi Tamon Takasugi Tokugawa
        Uehara Uryu Ugaki Ueda
        Yamagata Yamamoto Yamakawa Yashiro Yui Yamashita Yamaya
    
    }
    callsigns = { Upright Arrow "The Striker" Mountain Chase "One Wing" "Gust of Wind" Nep-Nep Iffy Lightning Storm Target Hawk Fox Dog Sparrow Sunrise "Night Owl" Butcher Hawkeye Killer Mick "The Gamer" }
}

bookmarks

剧本信息,照着改就是了

bookmarks = {
    bookmark = { # bookmark 分类
        name = "GATHERING_STORM_NAME"
        desc = "GATHERING_STORM_DESC"
        date = 1936.1.1.12 # 剧本开始时间
        picture = "GFX_select_date_1936"
        default_country = "ERA" #默认国家
        default = yes # 是默认剧本
        "ERA"={
            history = "ERA_GATHERING_STORM_DESC" # localisation
            ideology = megamism #意识形态
            ideas = { # 选三个民族精神展示 
                ERA_megami_banzai_idea
                ERA_chaotic_society_idea_0
                ERA_political_struggle_idea_0
            }
            focuses = { # 选三个国策展示
                ERA_observe_world
                ERA_prepare_cornation
                ERA_benefit_exchange
            }
        }

        "---"={
            history = "OTHER_GATHERING_STORM_DESC"
        }

        "FRA"={
            minor = yes # 代表这个是不展示在第一排大框里的
            history = "FRA_GATHERING_STORM_DESC"
            ideology = democratic
            available = { NOT = { has_dlc = "La Resistance" } }
            ideas = {
                FRA_victors_of_wwi
                FRA_disjointed_government
                FRA_protected_by_the_maginot_line
            }
            focuses = {
                FRA_form_the_popular_front
                FRA_revive_the_national_bloc
                FRA_france_leads
            }
        }
    }
}

scripted effects

common/scripted_effects
脚本化的效果,只允许即时性效果。

ERA_add_industrial_complex_1 = {#脚本 id 
    random_owned_controlled_state = { # 这种代码结构请看documents
        limit = {
            free_building_slots = {
                building = industrial_complex
                size > 0
                include_locked = yes
            }
            is_core_of = prev
            # prev代表调用此脚本的对象,此处代表是prev的核心
        }
        add_extra_state_shared_building_slots = 1
        add_building_construction = {
            type = industrial_complex
            level = 1
            instant_build = yes
        }
    }
}

history

history/

history countries

国家开局的历史状态
history/countries/name.txt

capital = 299

OOB = "ERA_1936"
# 开局军队数量,工厂生产,飞机状况

# leader
recruit_character = ERA_histoire

# 参考p社的写法,第一个是领袖,后面是国家拥有的其它角色()。

# POLITICAL_ADVISORS
recruit_character = ERA_neptune
recruit_character = ERA_noire
recruit_character = ERA_blanc


# other
recruit_character = ERA_black_nepgear
recruit_character = ERA_Zephy


set_research_slots = 3 # 多少科研槽
set_stability = 0.70 # 基础稳定度
set_war_support = 0.70 # 基础战争支持度

set_technology = { # 有什么科技,科技名 = 1
    infantry_weapons = 1
    infantry_weapons1 = 1
    tech_support = 1
}

add_ideas = { # 开局民族精神
    ERA_chaotic_society_idea_0
    ERA_people_far_from_war_idea

    free_trade # 开局贸易政策
    extensive_conscription # 开局征兵政策
    #partial_economic_mobilisation #开局经济政策
}

set_politics = { # 开局政党
    name  = "Histoire" # 这一行似乎没用
    ruling_party = megamism
    last_election = "1935.9.8"
    #election_frequency = 36 # 选举频率
    elections_allowed = no # 是否允许选举
}

set_popularities = { # 开局政党支持率,加起来要是100
    democratic = 5
    fascism = 5
    communism = 5
    neutrality = 5
    megamism = 80
}

set_convoys = 700

set_variable = { ERA_add_industrial_complex_num = 1}
set_variable = { ERA_megami_should_showup_time = 45}
# 设置变量
# set_variable = { ERA_add_industrial_complex_num = 0 }
# create when use, delete when finish

country_event = { id = ERAnews.1 days = 3}
#开局事件

states

state= {
    id=2
    name="STATE_2" # Latium
    manpower = 2781971
    
    state_category = city# 城市类型

    history=
    {
        owner = ITA # 开局归谁
        add_core_of = ITA # 添加谁的核心
        victory_points = { 11846 5 }# 胜利点
        buildings = { # 有什么建筑
            infrastructure = 4 # 基建
            air_base = 8 # 机场
            arms_factory = 1 # 军工 
            industrial_complex = 4 # 民工
            11751 = {某小块地上有什么
                naval_base = 5
            }
        }
        1939.1.1 = {# 1939剧本多了什么地块
            buildings = {
                arms_factory = 2
                industrial_complex = 5
            }
        }
    }

    provinces= {
        923 6862 9794 9904 11751 11846 11882
     }# 有什么小地块

    local_supplies=0.0 #本地补给
}

units

army

division_template = {
    name = "Adventurer"    # The army belonging to the guild cannot be deleted
    is_locked = yes # 是否锁定
    regiments = {
        mountaineers = { x = 0 y = 0 }
        mountaineers = { x = 0 y = 1 }
        mountaineers = { x = 0 y = 2 }
        mountaineers = { x = 0 y = 3 }
        mountaineers = { x = 0 y = 4 }

        mountaineers = { x = 1 y = 0 }
        mountaineers = { x = 1 y = 1 }
        mountaineers = { x = 1 y = 2 }
        mountaineers = { x = 1 y = 3 }
        mountaineers = { x = 1 y = 4 }
    }
}


units = {
    division = {# 写几个就要复制几遍
        name = "Planeptune Adventurer"
        location = 12960  # 
        division_template = "Adventurer"
        start_experience_factor = 1
        start_equipment_factor = 1
    }
}

air_wings = {
    ### Bounus
    299 = {
        fighter_equipment_0 =  {
            owner = "ERA" 
            amount = 50
        }
        nav_bomber_equipment_1 = {
            owner = "ERA" 
            amount = 50
        }
    }
}


### Starting Production ###
instant_effect = {
    add_equipment_production = {
        equipment = {
            type = infantry_equipment_0
            creator = "ERA"
        }
        requested_factories = 1
        progress = 0.85
        efficiency = 100
    }
}

naval

下面是阿根挺的海军代码,看不懂

units= {

    ##### Naval OOB #####
    fleet = {
        name = "Armada Argentina"            
        naval_base = 12364 # Buenos Aires
        task_force = {
            name = "Armada Argentina"
            location = 12364 # Buenos Aires
            ship = { name = "ARA Rivadavia" pride_of_the_fleet = yes definition = battleship equipment = { ship_hull_heavy_1 = { amount = 1 owner = ARG version_name = "Rivadavia Class" } } }
            ship = { name = "ARA Moreno" definition = battleship equipment = { ship_hull_heavy_1 = { amount = 1 owner = ARG version_name = "Rivadavia Class" } } }
            ship = { name = "ARA Veinticinco de Mayo" definition = heavy_cruiser equipment = { ship_hull_cruiser_1 = { amount = 1 owner = ARG version_name = "Veinticinco de Mayo Class" } } }
            # Flotilla de Destructores nro. 2
            ship = { name = "ARA Juan de Garay" definition = destroyer equipment = { ship_hull_light_2 = { amount = 1 owner = ARG version_name = "Cervantes Class" } } }
            ship = { name = "ARA Tucumán" definition = destroyer equipment = { ship_hull_light_2 = { amount = 1 owner = ARG version_name = "Mendoza Class" } } }
        }                            
    }
}

interface

interface/
图片位置与名字写法
图片格式与大小可以去看原版的图片

_leader_portraits.gfx 角色图像

interface/_leader_portraits.gfx

注意,角色图像是不能用追加其它文件的写法的(至少目前我没学会)。必须修改此文件

spriteTypes = {
    # leaders we need to override in DLC go in this file
    # 上面官方原话
    spriteType = {
        name = GFX_portrait_Erea_Laponette
        texturefile = "gfx/leaders/ERA/Portrait_Erea_Laponette.dds"
    }# 此处地址代表从mod根目录算起

    # ERA-small

    spriteType = {
        name = GFX_portrait_Erea_neptune_small
        texturefile = "gfx/interface/ideas/idea_Erea_neptune_small.dds"
    }

}

goal 国策图片

interface/TAG_goal.gfx
并没有要求用TAG_goal的格式,但是这样方便区分。
这种类型的可以追加文件。

spriteTypes = {
    spriteType = {
        name = "GFX_goal_ryghtsf"
        texturefile = "gfx/interface/goals/ryghtsf.dds"
    }
}

ideas 民族精神图片

interface/TAG_ideas.gfx
并没有要求用TAG_ideas的格式,但是这样方便区分。
这种类型的可以追加文件。

spriteTypes = {
    spriteType = {
        name = "GFX_idea_Ereafleetbuffc"
        texturefile = "gfx/interface/ideas/idea_generic_coastal_defense_ships.dds"
    }
}

technologies 科技图片

interface/TAG_technologies
并没有要求用TAG_technologies的格式,但是这样方便区分。
这种类型的可以追加文件。

spriteTypes = {
    SpriteType = {
        name = "GFX_crystal_tower_tech_medium" #104 52
        texturefile = "gfx/interface/technologies/crystal_tower_tech.dds"
    }    
}

megamipoliticview 政党图片

interface/name.txt
模仿官方命名。
这种类型的可以追加文件。

spriteTypes = {
    spriteType = {
        name = "GFX_ideology_megamism_group"
        texturefile = "gfx/interface/ideologies/megamism_group.dds"
    }
}

eventpictures 事件图片

interface/TAG_eventpictures.gfx
并没有要求用TAG_eventpictures的格式,但是这样方便区分。
这种类型的可以追加文件。

spriteTypes = {
    spriteType = {
        name = "GFX_report_event_enep"
        texturefile = "gfx/event_pictures/enep.dds"
    }
}

gfx

除了上面有标注位置的图片外,其实还有一些图片是不标注位置的

国旗

2023-01-20-13-50-42.webp

以上格式中,medium small中的图片比外面的要小,命名方式为TAG_ideology.tga。如果有新增的意识形态,也一样。例:ERA_megamism.tga

localisation

把代码本土化,让用户看到的不是代码。

文件名格式为 filename_l_english.yml 有些localisation 是可以混写在一起的。一些不多的可以混写在一起,如果有时怎么修改都不显示可能是有问题,也可以整体复制到混写的文件里。

如果本地化要加中文,需要加入汉化字体,这个我也不会,复制的52的文件

格式:

l_english: # 每个localisation文件开头必须加,下面的例子就不加了。

 ERA_something:0 "这里是一个例子"

一定要注意' : '可能会出错,另外,那个0也可以是1或2 ,不过目前不知道具体用法。

focus localisation

localisation/TAG_countryname_focus_l_english.yml
_l_english.yml 一定需要

国策只有id,但是国策的本地化还有描述,描述在后面加上 _desc 。

格式为:

FOCUSNAME_id:0 "国策名"
FOCUSNAME_id_desc:0 "国策描述"

ERA_game_heroine:0 "游戏的主角"
ERA_game_heroine_desc:0 "妮普缇努一直是游戏的主角,她应该当选领导人。"

characters_localisation

interface/nsb_TAG_characters_l_english.yml

单独的角色是no step back加的,仿照的官方格式。

在角色文件中有一条name = 就是用在这里的。

l_english:
 #EREA
 ERA_neptune:0 "妮普缇努"

ideas_localisation

idea_name:0 "民族精神名字"
 ideaname_desc:0 "民族精神描述,可以不写。"

 FRA_political_violence:0 "Political Violence"
 FRA_political_violence_desc:0 "Communists and far-right extremist leagues are always ready to resort to violence to advance their political cause."

manufacter_localisation

Dudley_Standard_Automobile:0 "Imagine Factory"

政党名

默认政党名

TAG_ideology_party_long:0 "长名字"# 可以不写
TAG_ideology_party:0 "短名字"

ERA_fascism_party_long:0 "魔剑妮普吉雅"
 ERA_fascism_party:0 "妮普吉雅"
 ERA_neutrality_party_long:0 "伊斯特瓦尔紧急委员会"
 ERA_neutrality_party:0 "伊斯特瓦尔紧急委员会"
 ERA_megamism_party_long:0 "伊斯特瓦尔紧急委员会"
 ERA_megamism_party:0 "伊斯特瓦尔紧急委员会"
 ERA_democratic_party:0 "教会民主政府"
 ERA_democratic_party_long:0 "教会政府"
 ERA_communism_party:0 "解放神学"
 ERA_communism_party_long:0 "解放神学"

指定政党名

有时同一个意识形态的政党有几个,就可以在代码里面指定

比如:

# code above
set_party_name = {
    ideology = megamism
    long_name = ERA_leanbox_party_long
    name = ERA_leanbox_party
}
# code below
ERA_leanbox_party_long:0 "绿荫箱庭教会"
 ERA_leanbox_party:0 "绿荫箱庭"

意识形态名

意识形态

意识形态在定义时分为主分类和子分类,需要添加描述,格式也为 _desc

ideology:0 ""
ideology_desc:0 ""

那么在localisation就要注意

比如上面的megamism ideologies

megamism:0 "女神执政"
megamism_desc:0 "国家信仰一位强大的女神。"
neptunism:0 "妮普妮普"
neptunism_desc:0 "给我妮普就给你钱,妮普永远是最可爱的,在信仰争夺中妮普占了上风。。"
noirism:0 "诺瓦露"
noirism_desc:0 "傲娇帅气而又好战的诺瓦露获得了更多的信仰。"
blancism:0 "布兰"
blancism_desc:0 "谁不喜欢合法萝莉呢?只不过注意别被布兰用锤子打死了。"

其中megamism_desc localisation 不要太长因为要显示在desc里面

默认阵营名

在意识形态定义中有如下一段,也是要写localisation的

dynamic_faction_names = {
            "FACTION_NAME_MEGAMI_1"
            "FACTION_NAME_MEGAMI_2"
            "FACTION_NAME_MEGAMI_3"
            "FACTION_NAME_MEGAMI_4"
            "FACTION_NAME_MEGAMI_5"
        }

参考

FACTION_NAME_MEGAMI_1:0 "$LEADER_COUNTRY_ADJ$ Church"
 FACTION_NAME_MEGAMI_2:0 "$CONTINENT_ADJ$ Fans Club"
 FACTION_NAME_MEGAMI_3:0 "The $CONTINENT_ADJ$ Combine"
 FACTION_NAME_MEGAMI_4:0 "The $CONTINENT_ADJ$ Pact"
 FACTION_NAME_MEGAMI_5:0 "The $LEADER_COUNTRY_ADJ$ Bloc"

BOOKMARK

BOOKMARK在定义中定义了本体与描述的localisation_name。

国家名

默认国家名

TAG_ideology:0 "Planeptune State"
 TAG_ideology_ADJ:0 "Neptunian"
 TAG_ideology_DEF:0 "Planeptune"
# 例
 ERA_megamism:0 "GameIndustry"
 ERA_megamism_ADJ:0 "GameIndustrial"
 ERA_megamism_DEF:0 "GameIndustry"

ADJ = adjective # CHI_warlord_PRC_democratic_ADJ:0 "Chinese"

DEF = definition # 短名字

对于新增的国家,每个意识形态都要写一遍。

指定国家名

COSMETIC_TAG_ideology:0 ""
COSMETIC_TAG_ideology_desc:0 ""
# 还是每个意识形态要写一遍
# 例:
 ERA_UNITED_megamism:0 "GameIndustry Empire"
 ERA_UNITED_megamism_DEF:0 "GameIndustry"

_tt_localisatoin tooltip

name_tt:0 ""
# 例
era_south_america_church_argentina_require_tt:00 "需要控制阿根廷的所有地区"

decisions_localisation

决议好像也可以不写描述。

decision_name:0 ""
decision_name_desc:0 ""
# 例:
ERA_megami_work:0 "女神的工作"
ERA_megami_work_desc:0 "女神为了国民应该不断努力,女神拥有强大的力量就是为此,这就是所谓的位高者权重\n——伊斯特瓦尔"

flag_localisation

flag如果不会显示出来是可以不写localisation的。

flag_name:0

建筑

建筑除了有描述还有复数(英文)

building_name:0 ""
building_name_desc:0 ""
building_name_plural:0 ""

share_crystal_tower:0 "信仰水晶塔"
share_crystal_tower_plural:0 "信仰水晶塔"
share_crystal_tower_desc:0 "信仰水晶塔可以将国民对女神的信仰提炼成信仰水晶,工艺复杂。\n"

科技

科技有本体与描述,描述可以不写

bicycle_battalion:0 "自行车营"
 bicycle_battalion_desc:0 "绞肉机里的肉,但含有一些额外的金属。"

新闻

新闻的标题,描述,选项都是会指定名字的,所以直接写就行

其它

可以直接写的

科技分享组
阵营名称

最后修改:2023 年 01 月 20 日
如果觉得我的文章对你有用,留个言就可以了