修改单位
游戏中的所有单位都存放在/Europa Universalis IV/common/units/。
陆军单位
要添加新的历史陆军单位(例如 halberd_infantry),请在/Europa Universalis IV/common/units/目录下创建一个文件,格式如下:
type = <internal type> # 内部类型之一
unit_type = <technology group> # 可选。该单位出现的科技组。省略则该单位对所有科技组显示。
maneuver = <int> # 步兵和炮兵为 1,骑兵为 2
offensive_morale = <int>
defensive_morale = <int>
offensive_fire = <int>
defensive_fire = <int>
offensive_shock = <int>
defensive_shock = <int>
manpower = <float> # 可选。覆盖该单位的人力成本和团规模。1 代表 1000 名士兵。小数前请补 0(0.1),否则无效。
# 可选,满足触发条件时将该单位作为可选项显示。
trigger = {
<triggers>
}
陆军单位可以属于以下三种内部类型之一:
infantry cavalry artillery
注 1:修改单位的 manpower 不会改变战斗公式,这意味着规模较小的团在战斗中表现会很差。
注 2:unitsize 属性已被移除,因为它似乎没有任何作用。manpower 属性同时影响人力成本和团的实际规模。
海军单位
要添加新的历史海军单位(例如 barque),请在/Europa Universalis IV/common/units/目录下创建一个文件,格式如下:
type = <internal type> # 内部类型之一
unit_type = <technology group> # 可选。该单位出现的科技组。省略则该单位对所有科技组显示。
hull_size = <int>
base_cannons = <int>
sail_speed = <int>
blockade = <int>
trade_power = <float> # 可选。该舰船在保护贸易时提供的贸易力量。
sprite_level = <int> # 可选。舰船的贴图等级(1 到 5)
manpower = <float> # 可选。覆盖该单位的人力成本。1 相当于 1 名水手。
# 可选,满足触发条件时将该单位作为可选项显示。
trigger = {
<triggers>
}
海军单位可以属于以下四种内部类型之一:
heavy_ship light_ship galley transport
内部类型
内部类型的功能无法修改。例如,你无法移除 cavalry 类型单位的骑兵侧翼包抄机制,也无法将其添加到其他内部类型上。
文件中的其他部分(如 defines 和修正)会引用这些类型(例如 ARTILLERY_SPEED 或 infantry_power),并改变所有使用该内部类型的单位。
科技
单位要想出现,必须在某项科技中启用。在科技中添加以下语句即可启用某个单位:
enable = <unit>
注:陆军单位只能在 MIL 类型的科技中启用,而海军单位只能在 DIP 类型的科技中启用。
本地化
单位的本地化格式如下:
<unit>: "单位名称" <unit>DESCR: "描述"
特殊单位类型
| 请协助改进本条目或本章节,补充内容。 |
旗军、射击军和耶尼切里等特殊单位混合了硬编码与软编码的元素,具体取决于单位本身。目前无法制作完全自定义的特殊单位。
旗军
|
|
仅在启用天命 DLC 时可用。 |
旗军是一类单位,有三种启用方式:通过文化、修正或政府。
旗军可以通过定义在/Europa Universalis IV/common/cultures中的文化启用,代码如下:
manchu_new = {
country = { has_banners = yes}
province = { local_has_banners = yes}
primary = MCH
dynasty_names = {}
male_names = {}
female_names = {}
}
旗军可以在/Europa Universalis IV/common/government_reforms中的政府改革里启用,代码如下:
great_mongol_state_reform = {
icon = "horde_riding"
potential = {}
modifiers = {}
conditional = {
allow = { has_dlc = "Mandate of Heaven" }
allow_banners = yes
}
}
旗军也可以通过/Europa Universalis IV/common/event_modifiers中的修正启用。该修正可以应用在任何接受国家修正的地方,例如国家理念。
enable_banners_modifier = {
has_banners = 1
}
旗军的兵力上限通过修正 local_amount_of_banners 计算。默认情况下,它在/Europa Universalis IV/common/static_modifiers中被定义为每点发展度 0.066,大约相当于每 15 点发展度对应 1 面旗军。
development = {
local_amount_of_banners = 0.066 # * 每点发展度
}
影响旗军的修正可以在/Europa Universalis IV/common/static_modifiers中找到:
banner_regiment = {
discipline = 0.05
land_maintenance_modifier = -0.5
reinforce_speed = -0.5
regiment_manpower_usage = -0.75
}
更多配置可以在/Europa Universalis IV/common/defines.lua中找到:
CORRUPTION_FROM_BANNERS = 5, --雇佣旗军所增加的腐败 BANNER_AGE_MULTIPLIER = 0.50, --每进入一个时代,旗军兵力上限增加多少 BANNER_STARTING_STRENGTH = 0.1, --旗军单位被雇佣时的团兵力。0.1 = 100 人 BANNER_USES_CONSTRUCTION = 0, --旗军是否需要时间招募。0 = 立即招募
自1.33 补丁起,也可以在/Europa Universalis IV/common/event_modifiers中为旗军应用独特修正,写法如下:
the_green_standard_army = {
reinforce_speed = 0.5
is_banner_modifier = yes
}
适用于旗军的本地化文本格式如下:
REGCAT_banner:0 "旗军" BANNER_NAME:0 "$HOME$的第$NUM$$ORDER$旗军"
哥萨克
|
|
仅在启用哥萨克 DLC 时可用。 |
哥萨克可以通过以下效果在某个省份中生成:
capital_scope = {
cossack_cavalry = ROOT
}
如果你想用自定义的方式创建这些单位,例如通过阶层特权、决议或事件,这会很有用。
你可以创建一个启用哥萨克的阶层特权,只需添加这一行
mechanics = {
enables_cossack_regiments
}
影响哥萨克的修正位于/Europa Universalis IV/common/defines:
COSSACKS_SHOCK_DAMAGE_BONUS = 0.1
自1.33 补丁起,也可以在/Europa Universalis IV/common/event_modifiers中使用以下方法为哥萨克团应用自定义修正: 注:该修正的本地化目前存在问题,但效果仍然会生效。
#国家修正
fear_tactics = {
cavalry_shock = 1
is_cossack_modifier = yes
}
适用于哥萨克的本地化文本格式如下:
REGCAT_cossacks:0 "哥萨克" COSSACKS_NAME:0 "$HOME$的第$NUM$$ORDER$哥萨克" COSSACKS_REGIMENT:0 "哥萨克团\n冲击伤害加成:$VAL$"
耶尼切里
|
|
仅在启用文明的摇篮 DLC 时可用。 |
耶尼切里与/Europa Universalis IV/common/government_reforms中的 has_pashas = yes 语句绑定。目前没有手动生成耶尼切里的效果,且单位界面是硬编码的,因此只能在对当前国家而言信仰异端宗教的省份中招募。耶尼切里的修正在/Europa Universalis IV/common/static_modifiers中指定:
janissary_regiment = {
fire_damage_received = -0.1
shock_damage_received = -0.1
reinforce_cost_modifier = 1.0
drill_gain_modifier = 1.0
}
/Europa Universalis IV/common/defines中与耶尼切里有关的代码包括:
CREATE_JANISSARIES_MIL_COST = 10, -- 创建耶尼切里的成本(每个单位) JANISSARIES_USES_CONSTRUCTION = 0,
也可以在/Europa Universalis IV/common/event_modifiers中为耶尼切里应用独特修正,写法如下:
loyal_to_sultan = {
infantry_power = 0.1
is_janissary_modifier = yes
}
适用于耶尼切里的本地化文本:
REGCAT_janissaries:0 "耶尼切里" STATE_JANISSARIES_MIL_POWER:0 "花费 $AMOUNT|Y$ £mil£" CREATEJANISSARIES_TEXT:0 "$EFFECT$" STATE_JANISSARIES_CREATED_REGIMENTS:0 "$NUM|Y$ 个耶尼切里将在 $PROV|Y$ 生成" STATE_JANISSARIES_HEATHEN_PROVINCES:1 "国家需要至少 $AMOUNT|Y$ 点完全由你核心化并控制的异端信仰发展度。" STATE_JANISSARIES_BATTLE_OR_SIEGE:0 "你无法在正在进行战斗或围攻的省份中征召耶尼切里。" STATE_JANISSARIES_NO_REGIMENTS:0 "$STATE|Y$的异端人口过少,无法提供任何耶尼切里。" CREATE_JANISSARIES_BUTTON:1 "征召耶尼切里" CREATEJANISSARIES:1 "征召耶尼切里" JANISSARIES_REGIMENT:0 "耶尼切里团\n$EFFECT$" ONLY_JANISSARY_MODIFIER:0 "§Y仅影响耶尼切里团§!" STATE_JANISSARIES_GOVERNMENT_ALLOWS:0 "只有奥斯曼政府的国家才能征召耶尼切里。" STATE_JANISSARIES_COOLDOWN:0 "可在 $DATE|Y$ 招募更多耶尼切里。" STATE_JANISSARIES_NEED_MIL_POWER:0 "你需要 $AMOUNT|Y$ £mil£ 来征召耶尼切里" STATE_JANISSARIES_TITLE:0 "§Y征召耶尼切里§!" STATE_JANISSARIES_DESC:2 "在§Y奥斯曼政府§!下,我们能够在异端省份中招募耶尼切里。异端发展度越高,我们能从中征召的耶尼切里就越多。" JANISSARY_FORCELIMIT:1 "由于我们只能从异端省份中招募耶尼切里,因此我们最多可以将兵力上限 $FL$ 的 $VAL|%Y$ 招募为§G耶尼切里§!。\n" JANISSARY_LIMIT_RELIGION:0 "$PROVINCE$是$RELIGION$省份,因此无法在此招募耶尼切里。" JANISSARY_NAME:0 "$HOME$的第$NUM$$ORDER$耶尼切里" janissary_regiment:0 "耶尼切里" JANISSARIES_REGIMENT_TYPE:0 "耶尼切里" HAVE_LESS_JANISSARIES_THAN:0 "耶尼切里团少于 $VALUE|Y$ 个。\n" HAVE_AT_LEAST_JANISSARIES_THAN:0 "至少拥有 $VALUE|Y$ 个耶尼切里团。\n"
还有一些可用于修改耶尼切里的内容:
射击军
|
|
仅在启用第三罗马 DLC 时可用。 |
通过俄罗斯政府创建射击军单位,与/Europa Universalis IV/common/government_reforms中的
has_russian_abilities = yes
语句绑定。“俄罗斯能力”机制是硬编码的,因此无法只保留生成射击军的按钮。
幸运的是,射击军也可以通过以下效果在某个省份中生成:
capital_scope = {
streltsy_infantry = ROOT
}
射击军影响稳定度成本的修正可以在/Europa Universalis IV/common/static_modifiers中找到。
streltsy_modifier = {
stability_cost_modifier = 1.0
}
该修正反映的是兵力上限完全由射击军填满时的情形。它可以完全替换为另一个修正或另一组修正。
影响射击军的修正可以在/Europa Universalis IV/common/defines中找到:
STRELTSY_FIRE_DAMAGE_BONUS = 0.1
自1.33 补丁起,也可以在/Europa Universalis IV/common/event_modifiers中为射击军应用独特修正,写法如下:
注:该修正的本地化目前存在问题,但效果仍然会生效。
army_reforms = {
discipline = 0.05
is_janissary_modifier = yes
}
适用于射击军的本地化文本格式如下:
REGCAT_streltsy:0 "射击军" STRELTSY_NAME:0 "$HOME$的第$NUM$$ORDER$射击军团" STRELTSY_REGIMENT:0 "射击军团\n火力伤害加成:$VAL$"
| 文档 | 效果 • 触发条件 • 修正列表 • 作用域 • 变量 • 本地化 • 可自定义本地化 • 运行文件 • 事件图片列表 |
| 脚本 | 脚本函数 • 顾问 • 时代 • 开局设定 • 建筑 • 宣战理由 • 殖民区域 • 国家创建 • 文化 • 决议 • Defines • 外交行动 • 灾难 • 中华帝国 • 阶层 • 事件 • 派系 • 政府 • 政府互动 • 伟大工程 • 历史 • 神圣罗马帝国 • 理念组 • 思潮 • 佣兵 • 任务树 • 修正 • On Actions • 议会 • 和约 • 君主性格 • 政策 • 叛军类型 • 宗教 • 附属国类型 • 科技 • 贸易公司 • 商品 • 单位 |
| 地图 | 地图 • 地图修改速查 • 随机新世界 • 贸易节点 |
| 图形 | 模型 • 界面 • 贴图库 • 字体 • 单位模型 |
| 音频 | 音乐 • 音效 |
| 其他 | 控制台命令 • 校验和 • 模组结构 • 故障排查 • 运行文件 |
| 工具 | 克劳塞维茨开局编辑器 • EU4模组编辑工具 • JoroDox模组制作工具 • The Validator |
| 指南 | 省份 • 地图修改速查 • 存档编辑 • 脚本教程 |