苏莹白焕-墨
2027833
当时我就念了两句诗:喵喵喵喵喵喵喵,喵喵喵喵喵喵喵
关注数: 52
粉丝数: 52
发帖数: 11,526
关注贴吧数: 26
「HOI4修改-关于国家设计商源码的简析」 前言: 许久没有接触hoi4叻,偶遇旧友兴致所致,发现多了设计商这么个系统,然后试着找找源码解析,结果发现似乎没得人发,于是自己简单做了一下这个工作,并没有太多内容。但一想到自己以前研究AI逻辑时候的折磨x,还是决定抛砖引玉,发出来给想要修改的朋友分享一下喵~1.文件位置 .\common\military_industrial_organization\organizations 2.通用设计商 通用设计商保存于00_generic_organization.txt内,用于定义通用ai设计商,重点部分如下所示: ``` # 用于定义顶格的文字描述 tree_header_text = { text = mio_header_equipment_and_specialization x = 7 } # 用于定义初始加成 initial_trait = { name = generic_mio_initial_trait_standardized_production equipment_bonus = { armor_value = -0.05 defense =-0.05 build_cost_ic = -0.03 } } # 用于创建新特质,注意:如果在国家特有设计商内覆写同名trait,则可以覆盖掉默认trait效果。 trait = { token = generic_mio_trait_simplified_suspension name = generic_mio_trait_simplified_suspension icon = GFX_generic_mio_trait_icon_reliability position = { x=1 y=0 } equipment_bonus = { reliability = 0.05 } } ``` 3.特有特质简析 部分国家的特有设计商并不是完全独立设计的,而是以通用设计商模板为父类,在此基础上通过add_trait这一属性进行添加。 其中,简单解析: ``` # 名称 ENG_vickers_armstrong_eng_organization = { # 父类 include = generic_medium_tank_organization # 图标 icon = GFX_idea_vickers_armstrong_eng # 不赘述 allowed = { } visible = { } available = { } add_trait = { # token - name可以视作该特质的id,其中之一应该是用于汉化 token = ENG_mio_trait_expanded_turret_capacity name = ENG_mio_trait_expanded_turret_capacity # icon 图标 icon = GFX_generic_mio_department_icon_tank_medium_tank_engine # 暂未发现用途 special_trait_background = yes # 该特质的位置-结合trait可知,当存在relative_position_id时该位置为相对位置,参考对象为relative_position_id # 注意,位置是:正右负左,正下负上 position = { x=1 y=1 } relative_position_id = generic_mio_trait_all_round_cupola # 标定父级特质--此处 generic_mio_trait_all_round_cupola 为父类模板内所包含的特质 # any_parent 满足该父类字典内任意特质即可解锁 any_parent = { generic_mio_trait_all_round_cupola } # all_parents 点亮全部父类特质时方可解锁 all_parents = { generic_mio_trait_anti_air_layout generic_mio_trait_secondary_battery_layout } # 用于其他地方 limit_to_equipment_type = { mio_cat_eq_all_medium_tank } # 与目标特质互斥 mutually_exclusive = { generic_mio_trait_advanced_hydrodynamic_design } # 加成 equipment_bonus = { reliability = 0.05 armor_value = 0.05 breakthrough = 0.05 } } ``` 4. 如何为单个国家设计商增加初始特质等级 写在history/countries内: ``` # every_country 可以替换为国家tag every_country = { limit = { always = yes } every_military_industrial_organization = { add_mio_size = 4 } } ```
1
下一页