static BlueprintFeature CreateKnowledgeOfTheAges()
        {
            var feat = Helpers.CreateFeature("MysteryTimeKnowledgeOfTheAges", "Knowledge of the Ages",
                                             "You can search through time to recall some bit of forgotten lore or information. If this ability is active, you automatically retry any Knowledge skill check you fail, gaining an insight bonus on the check equal to your Charisma modifier. You can use this ability a number times per day equal to your Charisma modifier.",
                                             "4b2c7a1b5cd74658a88283c02fa0bb3e",
                                             Helpers.GetIcon("3adf9274a210b164cb68f472dc1e4544"), // human skilled
                                             FeatureGroup.None);
            var resource = Helpers.CreateAbilityResource($"{feat.name}Resource", "", "", "9f085ecd82a545a09ad60749a6b8b303", null);

            resource.SetIncreasedByStat(0, StatType.Charisma);

            var buff = Helpers.CreateBuff($"{feat.name}Buff", feat.Name, feat.Description, "5ef4fc0b57dc4e0cb9918d1d9cc875d3",
                                          null, null,
                                          Helpers.CreateContextRankConfig(ContextRankBaseValueType.StatBonus, ContextRankProgression.AsIs,
                                                                          AbilityRankType.StatBonus, stat: StatType.Charisma),
                                          RetrySkillCheckLogic.Create(resource, Helpers.CreateContextValueRank(AbilityRankType.StatBonus),
                                                                      StatType.SkillKnowledgeArcana, StatType.SkillKnowledgeWorld,
                                                                      StatType.SkillLoreNature, StatType.SkillLoreReligion));

            buff.SetBuffFlags(BuffFlags.HiddenInUi);

            var ability = Helpers.CreateActivatableAbility($"{feat.name}ToggleAbility", feat.Name, feat.Description,
                                                           "f8d5e8bc11fb4d079f40d2baacc733eb", feat.Icon, buff, AbilityActivationType.Immediately, CommandType.Free, null,
                                                           resource.CreateActivatableResourceLogic(ResourceSpendType.Never));

            ability.IsOnByDefault = true;

            feat.SetComponents(resource.CreateAddAbilityResource(), ability.CreateAddFact());
            return(feat);
        }
        static BlueprintFeature CreateKnowledgeOfTheAges()
        {
            var feat = Helpers.CreateFeature("MysteryTimeKnowledgeOfTheAges", "岁月学识",
                                             "你搜寻时间,并寻找有关传奇或信息的遗漏片段。激活此技能时,你将自动重投你失败的任何知识检定,并得到相当于你魅力修正的洞察加值。每日你可以使用此能力的次数相当于你的魅力修正。",
                                             "4b2c7a1b5cd74658a88283c02fa0bb3e",
                                             Helpers.GetIcon("3adf9274a210b164cb68f472dc1e4544"), // human skilled
                                             FeatureGroup.None);
            var resource = Helpers.CreateAbilityResource($"{feat.name}Resource", "", "", "9f085ecd82a545a09ad60749a6b8b303", null);

            resource.SetIncreasedByStat(0, StatType.Charisma);

            var buff = Helpers.CreateBuff($"{feat.name}Buff", feat.Name, feat.Description, "5ef4fc0b57dc4e0cb9918d1d9cc875d3",
                                          null, null,
                                          Helpers.CreateContextRankConfig(ContextRankBaseValueType.StatBonus, ContextRankProgression.AsIs,
                                                                          AbilityRankType.StatBonus, stat: StatType.Charisma),
                                          RetrySkillCheckLogic.Create(resource, Helpers.CreateContextValueRank(AbilityRankType.StatBonus),
                                                                      StatType.SkillKnowledgeArcana, StatType.SkillKnowledgeWorld,
                                                                      StatType.SkillLoreNature, StatType.SkillLoreReligion));

            buff.SetBuffFlags(BuffFlags.HiddenInUi);

            var ability = Helpers.CreateActivatableAbility($"{feat.name}ToggleAbility", feat.Name, feat.Description,
                                                           "f8d5e8bc11fb4d079f40d2baacc733eb", feat.Icon, buff, AbilityActivationType.Immediately, CommandType.Free, null,
                                                           resource.CreateActivatableResourceLogic(ResourceSpendType.Never));

            ability.IsOnByDefault = true;

            feat.SetComponents(resource.CreateAddAbilityResource(), ability.CreateAddFact());
            return(feat);
        }