P社允许modder在玩家的游戏简介中显示自定义的成就。Avalanche(1.12.1)版本提供了创建这些成就的能力。
成就可以在个人档案(在游戏中这一按钮叫作“本局游戏概况”)里找到,图像可以在Paradox论坛中使用。
文件结构
custom_achievements/
common/achievements/
custom_achievements_achievements.txt
gfx/achievements/
custom_achievement_test.dds
custom_achievement_test_grey.dds
custom_achievement_test_not_eligible.dds
localization/english/
custom_achievements_l_english.yml
编码语法
- unique_id - 这是你的 Mod 的自定义必要属性,它是将成就存储的 cloudsavefile 的名称。
- custom_achievement_test/custom_ribbon_test - 这是你的特定成就的唯一标志。
- possible - 这会在游戏开始时检测勋带或成就是否可以被获得。如果在游戏开始时为否(不满足其中条件),那么将无法获得这些成就和勋带。
- 这与决议或Idea的
allowed
代码类似,但是它是在游戏开始时而不是开始之前进行计算的。
- 代码示例中并未使用一些常见检测条件,例如tag检测( tag 或 original_tag)或是否为铁人模式 (
is_ironman = yes
).
- happened - 一旦满足其中条件,就可以获得成就。(通常是满足瞬间到游戏内两个小时生效)
- ribbon - (选填)这一参数只用于绶带。它允许通过RGB色值修改绶带的颜色。
unique_id = custom_achievements_123456
custom_achievement_test = {
possible = {
# classic triggers used in all vanilla achievements
difficulty > 1
has_start_date < 1936.01.02
has_any_custom_difficulty_setting = no
game_rules_allow_achievements = yes
}
happened = {
date > 1936.01.02
}
}
custom_ribbon_test = {
possible = {
difficulty > 1
has_start_date < 1936.01.02
has_any_custom_difficulty_setting = no
game_rules_allow_achievements = yes
tag = ITA
}
happened = {
date > 1936.01.02
}
ribbon = {
frames = { 1 1 1 1 }
colors = {
{ 45.0 64.0 102.0 1.0 }
{ 154.0 73.0 107.0 1.0 }
{ 238.0 189.0 96.0 1.0 }
{ 211.0 181.0 128.0 1.0 }
}
}
}
图标
成就的图片需要 3 个不同的图像,存储在gfx/achievements
文件夹中,他们不需要在interface文件夹中通过spriteType 方式进行注册。
- custom_achievement_test.dds
- custom_achievement_test_not_eligible.dds
- custom_achievement_test_grey.dds
本地化
成就的本地化需要两个本地化键。后缀NAME表示该成就的名字,而后缀DESC表示该成就的描述,可以是一些笑话,也可以是如何完成这个成就的指引,随你:)
custom_achievement_test_NAME: "Custom Achievement Title"
custom_achievement_test_DESC: "Custom Achievement Description"
References