static AMOMain() { List <string> blackTags = new List <string>() { "I", "C" }; List <ResearchProjectDef> blackProjects = new List <ResearchProjectDef>(); blackProjects.AddRange(ArmouryMain.ReseachImperial); blackProjects.AddRange(ArmouryMain.ReseachChaos); List <ResearchProjectDef> whiteProjects = new List <ResearchProjectDef>(OrkReseach); AlienRace.ThingDef_AlienRace Cybork = DefDatabase <ThingDef> .GetNamedSilentFail("OG_Alien_Cybork") as AlienRace.ThingDef_AlienRace; List <ThingDef> races = new List <ThingDef>() { AdeptusThingDefOf.OG_Alien_Ork, AdeptusThingDefOf.OG_Alien_Grot, AdeptusThingDefOf.OG_Snotling }; if (Cybork != null) { races.Add(Cybork); } List <ThingDef> animals = DefDatabase <ThingDef> .AllDefsListForReading.Where(x => x.race != null && x.race.Animal && x.isOrkoid()).ToList(); List <ThingDef> plants = new List <ThingDef>() { AdeptusThingDefOf.OG_Plant_Orkoid_Fungus, AdeptusThingDefOf.OG_Plant_Orkoid_Cocoon }; AlienRaceUtility.DoRacialRestrictionsFor(races, "O", blackTags, whiteProjects, blackProjects, whitePlants: plants, whiteAnimals: animals); }
static AMEMain() { List <string> blackTags = new List <string>() { "I", "C", "AM" }; List <ResearchProjectDef> blackProjects = new List <ResearchProjectDef>(); blackProjects.AddRange(ArmouryMain.ReseachImperial); blackProjects.AddRange(ArmouryMain.ReseachChaos); List <ResearchProjectDef> whiteProjects = EldarResearch; List <string> whiteTags = new List <string>() { "E" }; List <ThingDef> whiteApparel = DefDatabase <ThingDef> .AllDefsListForReading.FindAll(x => x.defName.Contains("OGE_Apparel_")); whiteProjects.AddRange(AeldariResearch); if (AdeptusThingDefOf.OG_Alien_DarkEldar == null) { whiteProjects.AddRange(DarkEldarResearch); whiteApparel.AddRange(DefDatabase <ThingDef> .AllDefsListForReading.FindAll(x => x.IsApparel && x.defName.Contains("OGDE_Apparel_"))); whiteTags.Add("DE"); } AlienRaceUtility.DoRacialRestrictionsFor(AdeptusThingDefOf.OG_Alien_Eldar, whiteTags, blackTags, whiteProjects, blackProjects, whiteApparel, Logging: AMAMod.Dev); }
static AMTMain() { List <string> blackTags = new List <string>() { "I", "C" }; List <ResearchProjectDef> blackProjects = new List <ResearchProjectDef>(); blackProjects.AddRange(ArmouryMain.ReseachImperial); blackProjects.AddRange(ArmouryMain.ReseachChaos); List <ResearchProjectDef> whiteProjects = new List <ResearchProjectDef>(TauReseach); AlienRaceUtility.DoRacialRestrictionsFor(AdeptusThingDefOf.OG_Alien_Tau, "T", blackTags, whiteProjects, blackProjects); }
static AMVMain() { List <string> blackTags = new List <string>() { "I", "C" }; List <ResearchProjectDef> blackProjects = new List <ResearchProjectDef>(); blackProjects.AddRange(ArmouryMain.ReseachImperial); blackProjects.AddRange(ArmouryMain.ReseachChaos); List <ResearchProjectDef> whiteProjects = new List <ResearchProjectDef>(VespidReseach); AlienRace.ThingDef_AlienRace vespid = AdeptusThingDefOf.OG_Alien_Vespid as AlienRace.ThingDef_AlienRace; AlienRaceUtility.DoRacialRestrictionsFor(vespid, "V", blackTags, whiteProjects, blackProjects); // ArmouryMain.DoRacialRestrictionsFor(vespid, "T", TauReseach); }
static AMKMain() { List <string> blackTags = new List <string>() { "I", "C" }; List <ResearchProjectDef> blackProjects = new List <ResearchProjectDef>(); blackProjects.AddRange(ArmouryMain.ReseachImperial); blackProjects.AddRange(ArmouryMain.ReseachChaos); List <ResearchProjectDef> whiteProjects = new List <ResearchProjectDef>(KrootReseach); List <ThingDef> whiteAnimals = DefDatabase <ThingDef> .AllDefsListForReading.Where(x => x.race != null && x.race.Animal && x.isKrootoid()).ToList(); AlienRaceUtility.DoRacialRestrictionsFor(AdeptusThingDefOf.OG_Alien_Kroot, "K", blackTags, whiteProjects, blackProjects, whiteAnimals: whiteAnimals); // ArmouryMain.DoRacialRestrictionsFor(kroot, "T", TauReseach); }
static ArmouryMain() { collapseTex = TexButton.Collapse; if (collapseTex == null) { Log.Error("collapseTex == null"); } expandTex = TexButton.Reveal; if (expandTex == null) { Log.Error("expandTex == null"); } humanRecipes = DefDatabase <RecipeDef> .AllDefs.Where(x => x.AllRecipeUsers.Contains(ThingDefOf.Human)); TechHediffRecipes = from x in DefDatabase <RecipeDef> .AllDefs where TechHediffItems.Any(z => x.IsIngredient(z)) && x.targetsBodyPart select x; TechHediffItems = from x in DefDatabase <ThingDef> .AllDefs where x.isTechHediff && x.BaseMarketValue > 0 select x; ReseachImperial = DefDatabase <ResearchProjectDef> .AllDefs.Where(x => x.defName.Contains("OG_Imperial_Tech_")).ToList(); ReseachMechanicus = DefDatabase <ResearchProjectDef> .AllDefs.Where(x => x.defName.Contains("OG_Mechanicus_Tech_")).ToList(); ReseachChaos = DefDatabase <ResearchProjectDef> .AllDefs.Where(x => x.defName.Contains("OG_Chaos_Tech_")).ToList(); scenariosTesting = DefDatabase <ScenarioDef> .AllDefs.Where(x => x.defName.StartsWith("OGAM_TestScenario_")).ToList(); mechanicus = DefDatabase <ThingDef> .GetNamedSilentFail("OG_Human_Mechanicus"); astartes = DefDatabase <ThingDef> .GetNamedSilentFail("OG_Human_Astartes"); ogryn = DefDatabase <ThingDef> .GetNamedSilentFail("OG_Abhuman_Ogryn"); ratlin = DefDatabase <ThingDef> .GetNamedSilentFail("OG_Abhuman_Ratling"); beastman = DefDatabase <ThingDef> .GetNamedSilentFail("OG_Abhuman_Beastman"); geneseedAstartes = DefDatabase <ThingDef> .GetNamedSilentFail("AstarteSpaceMarine"); geneseedCustodes = DefDatabase <ThingDef> .GetNamedSilentFail("AdaptusCustodes"); factionColours = DefDatabase <FactionDef> .AllDefs.Where(x => x.GetModExtensionFast <FactionDefExtension>()?.factionColor != null || x.GetModExtensionFast <FactionDefExtension>()?.factionColorTwo != null).ToList(); if (AMAMod.Dev) { Log.Message("factions with colours: " + factionColours.Count); } IEnumerable <BackstorySettings> settings = DefDatabase <BackstorySettings> .AllDefs; if (!settings.EnumerableNullOrEmpty()) { InsertTags(); } /* * Log.Message("AppDomain.CurrentDomain.GetAssemblies():\n" + System.AppDomain.CurrentDomain.GetAssemblies().Join(delimiter: "\n")); * Log.Message("GenTypes.AllActiveAssemblies:\n" + Traverse.Create(typeof(GenTypes)).Property<IEnumerable<System.Reflection.Assembly>>("AllActiveAssemblies").Value.Join(delimiter: "\n")); */ // Log.Message("ArmouryMain "); if (AMAMod.Dev && !scenariosTesting.NullOrEmpty()) { TestingScenarioUtility.SetUpTestScenarios(scenariosTesting); } HumanlikeRecipeUtility.AddHumanlikeRecipes(); if (AdeptusIntergrationUtility.enabled_AlienRaces) { AlienRaceUtility.AlienRaces(); } }