成就修改

本页面所适用的版本可能已经过时,最后更新于1.12

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检测( tagoriginal_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