static BlueprintFeature CreateBloodlinePower(BlueprintProgression bloodline, int level, BlueprintProgression crossbloodline) { var power = EldritchHeritage.GetBloodlinePower(bloodline, level); var entries = EldritchHeritage.CollectLevelEntries(level, power, bloodline); if (entries.Count == 1) { return(CreateCrossbloodedFeature(entries[0].Item2, crossbloodline)); } var name = power.name; if (name.EndsWith("1")) { name = name.Substring(0, power.name.Length - 1); } var feature = Helpers.CreateFeature($"{name}Cross", power.Name, power.Description, Helpers.MergeIds(power.AssetGuid, "3b983f0653914618844275e20d9fe561"), power.Icon, FeatureGroup.None); var components = new List <BlueprintComponent> { crossbloodline.PrerequisiteFeature() }; for (int i = 0; i < entries.Count; i++) { var e = entries[i]; components.Add(AddFactOnBloodlineLevel.Create(e.Item2, $"${i}", e.Item1)); } feature.SetComponents(components); return(feature); }
//here we make bloodline mutations static BlueprintFeature CreateMutateBloodlinePower(BlueprintProgression bloodline, int level, BlueprintProgression crossbloodline) { var power = EldritchHeritage.GetBloodlinePower(bloodline, level); var entries = EldritchHeritage.CollectLevelEntries(level, power, bloodline); /* * if (entries.Count == 1) * { * return CreateCrossbloodedFeature(entries[0].Item2, crossbloodline); * }*/ var spellFocus = library.Get <BlueprintParametrizedFeature>("16fa59cc9a72a6043b566b49184f53fe"); var name = power.name; if (name.EndsWith("1")) { name = name.Substring(0, power.name.Length - 1); } name += " Mutation Havoc"; var feature = Helpers.CreateFeature($"{name}CrossMutate", "Blood Havoc Mutation(" + bloodline.Name + ")", "A bloodrager need not be in a bloodrage to use her bloodline mutation powers. Alternatively, a bloodrager or sorcerer can select a bloodline mutation in place of a bloodline bonus feat, provided her class level is at least equal to the level of the bloodline ability the mutation normally replaces.\n" + "Bloodline Mutation: Blood havoc\n" + "Whenever you cast a bloodrager or sorcerer spell that deals damage, add 1 point of damage per die rolled. ", Helpers.MergeIds(power.AssetGuid, "2b983f0653914618844275e20d9fe562"), Helpers.NiceIcons(28), FeatureGroup.None); var components = new List <BlueprintComponent> { crossbloodline.PrerequisiteFeature(), spellFocus.PrerequisiteFeature(), Helpers.Create <OrcBloodlineArcana>() }; /* * for (int i = 0; i < entries.Count; i++) * { * var e = entries[i]; * components.Add(AddFactOnBloodlineLevel.Create(e.Item2, $"${i}", e.Item1)); * } */ feature.SetComponents(components); return(feature); }
//here we make bloodline mutations static BlueprintFeature CreateMutateBloodlinePower(BlueprintProgression bloodline, int level, BlueprintProgression crossbloodline) { var power = EldritchHeritage.GetBloodlinePower(bloodline, level); var entries = EldritchHeritage.CollectLevelEntries(level, power, bloodline); /* * if (entries.Count == 1) * { * return CreateCrossbloodedFeature(entries[0].Item2, crossbloodline); * }*/ var spellFocus = library.Get <BlueprintParametrizedFeature>("16fa59cc9a72a6043b566b49184f53fe"); var name = power.name; if (name.EndsWith("1")) { name = name.Substring(0, power.name.Length - 1); } name += " Mutation Havoc"; var feature = Helpers.CreateFeature($"{name}CrossMutate", string.Format(RES.BloodHavocMutationFeatureName_info, bloodline.Name), RES.BloodHavocMutationFeatureDescription_info, Helpers.MergeIds(power.AssetGuid, "2b983f0653914618844275e20d9fe562"), Helpers.NiceIcons(28), FeatureGroup.None); var components = new List <BlueprintComponent> { crossbloodline.PrerequisiteFeature(), spellFocus.PrerequisiteFeature(), Helpers.Create <OrcBloodlineArcana>() }; /* * for (int i = 0; i < entries.Count; i++) * { * var e = entries[i]; * components.Add(AddFactOnBloodlineLevel.Create(e.Item2, $"${i}", e.Item1)); * } */ feature.SetComponents(components); return(feature); }