static void FixBloodlinePrerequisites(BlueprintArchetype crossblooded)//blodlinfukup { // Fix sorcerer bonus feats. //Log.Write("started sosfeatselection"); var sorcererFeatSelection = library.Get <BlueprintFeatureSelection>("3a60f0c0442acfb419b0c03b584e1394"); sorcererFeatSelection.AllFeatures.ForEach(FixBloodlinePrerequisite); //Log.Write("started bloodofdragonselection"); // Fix blood of dragon selection: add draconic crossbloodlines.///////da48f9d7f697ae44ca891bfc50727988 var bloodOfDragonsSelection = library.Get <BlueprintFeatureSelection>("da48f9d7f697ae44ca891bfc50727988"); var NoBloodrager = bloodOfDragonsSelection.AllFeatures.ToArray(); //Log.Write("started looping bloodofdragonselection"); var draconicBloodlines = new BlueprintFeature[10]; //var otherBloodlines = new BlueprintFeature[NoBloodrager.Length-10]; string bloodragerTester; int x = 0; //int y = 0; foreach (var bloodlinethingy in NoBloodrager) { bloodragerTester = bloodlinethingy.GetName(); if (x < 10) { //draconicBloodlines.AddToArray<BlueprintFeature>(bloodlinethingy); draconicBloodlines[x] = bloodlinethingy; //Log.Write(bloodlinethingy.GetName()); //Log.Write("hekll"); x++; } else { //otherBloodlines[y] = bloodlinethingy; //y++; //Log.Write(bloodlinethingy.GetName()); //bloodlinethingy. } //Log.Write("draconic=" + x.ToString() + " rager= " + y.ToString()); } BlueprintProgression[] draconicCrossbloods = draconicBloodlines.Select(f => crossbloodForBloodline[f as BlueprintProgression]).ToArray(); //bloodOfDragonsSelection.SetFeatures(draconicBloodlines.Concat(draconicCrossbloods)); //bloodOfDragonsSelection.SetFeatures(draconicBloodlines.Concat(draconicCrossbloods)); bloodOfDragonsSelection.AllFeatures = bloodOfDragonsSelection.AllFeatures.AddToArray(draconicCrossbloods); //bloodOfDragonsSelection.SetFeatures(draconicBloodlines.Concat(draconicCrossbloods)); //NoBloodrager.SetFeatures(draconicBloodlines.Concat(draconicCrossbloods)); //Log.Write("started draconic"); foreach (var draconic in draconicCrossbloods) { // Ensure the crossblood ones can only be chosen if this is a crossblooded sorcerer. //Log.Write("draconic in draconicCrosbloods1"); draconic.AddComponent(Helpers.Create <PrerequisiteArchetypeLevel>(p => { p.CharacterClass = sorcererClass; p.Archetype = crossblooded; p.Level = 1; })); } // Fix dragon disciple features. var dragonDiscipleProgression = library.Get <BlueprintProgression>("69fc2bad2eb331346a6c777423e0d0f7"); foreach (var entry in dragonDiscipleProgression.LevelEntries) { foreach (var feat in entry.Features.OfType <BlueprintFeature>()) { FixDragonDisciple(feat, draconicBloodlines); } } }