private static void EditAnimalDefs() { foreach (PawnKindDef current in DefDatabase <PawnKindDef> .AllDefs) { if (current.RaceProps.wildBiomes != null && current.defName != "Cobra") { for (int j = 0; j < current.RaceProps.wildBiomes.Count; j++) { if (current.RaceProps.wildBiomes[j].biome.defName == "Tundra") { AnimalBiomeRecord newRecord = new AnimalBiomeRecord(); newRecord.biome = BiomeDef.Named("RRP_Permafrost"); newRecord.commonality = current.RaceProps.wildBiomes[j].commonality / 2; current.RaceProps.wildBiomes.Add(newRecord); } if (current.RaceProps.wildBiomes[j].biome.defName == "TemperateForest") { AnimalBiomeRecord newRecord = new AnimalBiomeRecord(); newRecord.biome = BiomeDef.Named("RRP_Grassland"); newRecord.commonality = current.RaceProps.wildBiomes[j].commonality / 2; current.RaceProps.wildBiomes.Add(newRecord); } if (current.RaceProps.wildBiomes[j].biome.defName == "BorealForest") { AnimalBiomeRecord newRecord = new AnimalBiomeRecord(); newRecord.biome = BiomeDef.Named("RRP_Steppes"); newRecord.commonality = current.RaceProps.wildBiomes[j].commonality / 2; current.RaceProps.wildBiomes.Add(newRecord); } if (current.RaceProps.wildBiomes[j].biome.defName == "AridShrubland") { AnimalBiomeRecord newRecord = new AnimalBiomeRecord(); newRecord.biome = BiomeDef.Named("RRP_Savanna"); newRecord.commonality = current.RaceProps.wildBiomes[j].commonality / 2; current.RaceProps.wildBiomes.Add(newRecord); } if (current.RaceProps.wildBiomes[j].biome.defName == "Desert") { AnimalBiomeRecord newRecord = new AnimalBiomeRecord(); newRecord.biome = BiomeDef.Named("RRP_TemperateDesert"); newRecord.commonality = current.RaceProps.wildBiomes[j].commonality / 2; current.RaceProps.wildBiomes.Add(newRecord); AnimalBiomeRecord newRecord2 = new AnimalBiomeRecord(); newRecord2.biome = BiomeDef.Named("RRP_Oasis"); newRecord2.commonality = current.RaceProps.wildBiomes[j].commonality; current.RaceProps.wildBiomes.Add(newRecord2); } } } } }
static RPF_Initializer() { foreach (ThingDef current in DefDatabase <ThingDef> .AllDefsListForReading) { if (current.plant != null) { if (current.plant.wildBiomes != null) { for (int j = 0; j < current.plant.wildBiomes.Count; j++) { if (current.plant.wildBiomes[j].biome.defName == "Tundra") { PlantBiomeRecord newRecord = new PlantBiomeRecord(); newRecord.biome = BiomeDef.Named("Permafrost"); newRecord.commonality = current.plant.wildBiomes[j].commonality / 2; current.plant.wildBiomes.Add(newRecord); } } } } } foreach (PawnKindDef current in DefDatabase <PawnKindDef> .AllDefs) { if (current.RaceProps.wildBiomes != null) { for (int j = 0; j < current.RaceProps.wildBiomes.Count; j++) { if (current.RaceProps.wildBiomes[j].biome.defName == "Tundra") { AnimalBiomeRecord newRecord = new AnimalBiomeRecord(); newRecord.biome = BiomeDef.Named("Permafrost"); newRecord.commonality = current.RaceProps.wildBiomes[j].commonality / 2; current.RaceProps.wildBiomes.Add(newRecord); } } } } }
// adapted from RF-Archipelagos private static void AddAnimalsWildBiomes() { foreach (PawnKindDef current in DefDatabase <PawnKindDef> .AllDefs) { if (current.RaceProps?.wildBiomes != null) { // to check if it's in any of these biomes already if (!current.RaceProps.wildBiomes.Any(w => w.biome.defName.Contains("ZBiome"))) { //Dunes, Oasis if (current.RaceProps.wildBiomes.Any(b => b.biome.defName == "Desert")) { AnimalBiomeRecord newRecord1 = new AnimalBiomeRecord(); newRecord1.biome = BiomeDef.Named("ZBiome_CoastalDunes"); newRecord1.commonality = current.RaceProps.wildBiomes.Where(bi => bi.biome.defName == "Desert").FirstOrDefault().commonality; current.RaceProps.wildBiomes.Add(newRecord1); AnimalBiomeRecord newRecord2 = new AnimalBiomeRecord(); newRecord2.biome = BiomeDef.Named("ZBiome_DesertOasis"); newRecord2.commonality = current.RaceProps.wildBiomes.Where(bi => bi.biome.defName == "Desert").FirstOrDefault().commonality; current.RaceProps.wildBiomes.Add(newRecord2); } else if (current.RaceProps.wildBiomes.Any(b => b.biome.defName == "ExtremeDesert")) { AnimalBiomeRecord newRecord1 = new AnimalBiomeRecord(); newRecord1.biome = BiomeDef.Named("ZBiome_CoastalDunes"); newRecord1.commonality = current.RaceProps.wildBiomes.Where(bi => bi.biome.defName == "ExtremeDesert").FirstOrDefault().commonality; current.RaceProps.wildBiomes.Add(newRecord1); AnimalBiomeRecord newRecord2 = new AnimalBiomeRecord(); newRecord2.biome = BiomeDef.Named("ZBiome_DesertOasis"); newRecord2.commonality = current.RaceProps.wildBiomes.Where(bi => bi.biome.defName == "ExtremeDesert").FirstOrDefault().commonality; current.RaceProps.wildBiomes.Add(newRecord2); } //Cloud Forest if (current.RaceProps.wildBiomes.Any(b => b.biome.defName == "TropicalRainforest")) { AnimalBiomeRecord newRecord1 = new AnimalBiomeRecord(); newRecord1.biome = BiomeDef.Named("ZBiome_CloudForest"); newRecord1.commonality = current.RaceProps.wildBiomes.Where(bi => bi.biome.defName == "TropicalRainforest").FirstOrDefault().commonality; current.RaceProps.wildBiomes.Add(newRecord1); } else if (current.RaceProps.baseBodySize <= 0.5f && current.RaceProps.wildBiomes.Any(b => b.biome.defName == "TemperateForest")) { AnimalBiomeRecord newRecord1 = new AnimalBiomeRecord(); newRecord1.biome = BiomeDef.Named("ZBiome_CloudForest"); newRecord1.commonality = current.RaceProps.wildBiomes.Where(bi => bi.biome.defName == "TemperateForest").FirstOrDefault().commonality; current.RaceProps.wildBiomes.Add(newRecord1); } //Badlands if (current.RaceProps.wildBiomes.Any(b => b.biome.defName == "TemperateForest")) { if (!current.RaceProps.wildBiomes.Any(b => b.biome.defName == "TemperateSwamp")) { AnimalBiomeRecord newRecord1 = new AnimalBiomeRecord(); newRecord1.biome = BiomeDef.Named("ZBiome_Badlands"); newRecord1.commonality = current.RaceProps.wildBiomes.Where(bi => bi.biome.defName == "TemperateForest").FirstOrDefault().commonality; if (!current.RaceProps.predator && current.RaceProps.baseBodySize > 1.0) // less large herbivores { newRecord1.commonality *= 0.5f; } current.RaceProps.wildBiomes.Add(newRecord1); } else if (current.RaceProps.wildBiomes.Any(b => b.biome.defName == "AridShrubland")) { AnimalBiomeRecord newRecord1 = new AnimalBiomeRecord(); newRecord1.biome = BiomeDef.Named("ZBiome_Badlands"); newRecord1.commonality = current.RaceProps.wildBiomes.Where(bi => bi.biome.defName == "TemperateForest").FirstOrDefault().commonality; newRecord1.commonality *= 0.5f; if (!current.RaceProps.predator && current.RaceProps.baseBodySize > 1.0) // less large herbivores { newRecord1.commonality *= 0.5f; } current.RaceProps.wildBiomes.Add(newRecord1); } } // Glacial Shield if (current.RaceProps.wildBiomes.Any(b => b.biome.defName == "Tundra")) { AnimalBiomeRecord newRecord1 = new AnimalBiomeRecord(); newRecord1.biome = BiomeDef.Named("ZBiome_GlacialShield"); newRecord1.commonality = current.RaceProps.wildBiomes.Where(bi => bi.biome.defName == "Tundra").FirstOrDefault().commonality; current.RaceProps.wildBiomes.Add(newRecord1); } else if (current.RaceProps.wildBiomes.Any(b => b.biome.defName == "IceSheet")) { AnimalBiomeRecord newRecord1 = new AnimalBiomeRecord(); newRecord1.biome = BiomeDef.Named("ZBiome_GlacialShield"); newRecord1.commonality = current.RaceProps.wildBiomes.Where(bi => bi.biome.defName == "IceSheet").FirstOrDefault().commonality; current.RaceProps.wildBiomes.Add(newRecord1); } else if (current.RaceProps.wildBiomes.Any(b => b.biome.defName == "BorealForest")) { if (!current.RaceProps.wildBiomes.Any(b => b.biome.defName == "TemperateForest")) { AnimalBiomeRecord newRecord1 = new AnimalBiomeRecord(); newRecord1.biome = BiomeDef.Named("ZBiome_GlacialShield"); newRecord1.commonality = current.RaceProps.wildBiomes.Where(bi => bi.biome.defName == "BorealForest").FirstOrDefault().commonality; newRecord1.commonality *= 0.5f; current.RaceProps.wildBiomes.Add(newRecord1); } } for (int j = 0; j < current.RaceProps.wildBiomes.Count; j++) { //Iceberg if (current.RaceProps.wildBiomes[j].biome.defName == "SeaIce") { AnimalBiomeRecord newRecord1 = new AnimalBiomeRecord(); newRecord1.biome = BiomeDef.Named("ZBiome_Iceberg_NoBeach"); newRecord1.commonality = current.RaceProps.wildBiomes[j].commonality; current.RaceProps.wildBiomes.Add(newRecord1); } //Meadow if (current.RaceProps.wildBiomes[j].biome.defName == "BorealForest") { AnimalBiomeRecord newRecord1 = new AnimalBiomeRecord(); newRecord1.biome = BiomeDef.Named("ZBiome_AlpineMeadow"); newRecord1.commonality = current.RaceProps.wildBiomes[j].commonality; if (current.RaceProps.predator && current.RaceProps.maxPreyBodySize >= 0.9f) { newRecord1.commonality *= 0.5f; } current.RaceProps.wildBiomes.Add(newRecord1); } //Grasslands if (current.RaceProps.wildBiomes[j].biome.defName == "AridShrubland") { AnimalBiomeRecord newRecord1 = new AnimalBiomeRecord(); newRecord1.biome = BiomeDef.Named("ZBiome_Grasslands"); newRecord1.commonality = current.RaceProps.wildBiomes[j].commonality; if (current.RaceProps.herdAnimal) { newRecord1.commonality *= 1.5f; } else { newRecord1.commonality *= 0.5f; } current.RaceProps.wildBiomes.Add(newRecord1); } //Sandbar if (current.RaceProps.wildBiomes[j].biome.defName == "ExtremeDesert") { AnimalBiomeRecord newRecord3 = new AnimalBiomeRecord(); newRecord3.biome = BiomeDef.Named("ZBiome_Sandbar_NoBeach"); newRecord3.commonality = current.RaceProps.wildBiomes[j].commonality; current.RaceProps.wildBiomes.Add(newRecord3); } //Marsh if (current.RaceProps.wildBiomes[j].biome.defName == "ColdBog") { AnimalBiomeRecord newRecord1 = new AnimalBiomeRecord(); newRecord1.biome = BiomeDef.Named("ZBiome_Marsh"); newRecord1.commonality = current.RaceProps.wildBiomes[j].commonality; current.RaceProps.wildBiomes.Add(newRecord1); } } } } } }
static Archi_Initializer() { foreach (ThingDef current in DefDatabase <ThingDef> .AllDefsListForReading) { if (current.plant != null) { if (current.plant.wildBiomes != null) { for (int j = 0; j < current.plant.wildBiomes.Count; j++) { if (current.plant.wildBiomes[j].biome.defName == "AridShrubland") { PlantBiomeRecord newRecord1 = new PlantBiomeRecord(); PlantBiomeRecord newRecord2 = new PlantBiomeRecord(); newRecord1.biome = BiomeDef.Named("DesertArchipelago"); newRecord2.biome = BiomeDef.Named("DesertArchipelago_Fresh"); newRecord1.commonality = current.plant.wildBiomes[j].commonality; newRecord2.commonality = current.plant.wildBiomes[j].commonality; current.plant.wildBiomes.Add(newRecord1); current.plant.wildBiomes.Add(newRecord2); } if (current.plant.wildBiomes[j].biome.defName == "BorealForest") { PlantBiomeRecord newRecord1 = new PlantBiomeRecord(); PlantBiomeRecord newRecord2 = new PlantBiomeRecord(); newRecord1.biome = BiomeDef.Named("BorealArchipelago"); newRecord2.biome = BiomeDef.Named("BorealArchipelago_Fresh"); newRecord1.commonality = current.plant.wildBiomes[j].commonality; newRecord2.commonality = current.plant.wildBiomes[j].commonality; current.plant.wildBiomes.Add(newRecord1); current.plant.wildBiomes.Add(newRecord2); } if (current.plant.wildBiomes[j].biome.defName == "ColdBog") { PlantBiomeRecord newRecord1 = new PlantBiomeRecord(); PlantBiomeRecord newRecord2 = new PlantBiomeRecord(); newRecord1.biome = BiomeDef.Named("ColdBogArchipelago"); newRecord2.biome = BiomeDef.Named("ColdBogArchipelago_Fresh"); newRecord1.commonality = current.plant.wildBiomes[j].commonality; newRecord2.commonality = current.plant.wildBiomes[j].commonality; current.plant.wildBiomes.Add(newRecord1); current.plant.wildBiomes.Add(newRecord2); } if (current.plant.wildBiomes[j].biome.defName == "TemperateForest") { PlantBiomeRecord newRecord1 = new PlantBiomeRecord(); PlantBiomeRecord newRecord2 = new PlantBiomeRecord(); newRecord1.biome = BiomeDef.Named("TemperateArchipelago"); newRecord2.biome = BiomeDef.Named("TemperateArchipelago_Fresh"); newRecord1.commonality = current.plant.wildBiomes[j].commonality; newRecord2.commonality = current.plant.wildBiomes[j].commonality; current.plant.wildBiomes.Add(newRecord1); current.plant.wildBiomes.Add(newRecord2); } if (current.plant.wildBiomes[j].biome.defName == "TemperateSwamp") { PlantBiomeRecord newRecord1 = new PlantBiomeRecord(); PlantBiomeRecord newRecord2 = new PlantBiomeRecord(); newRecord1.biome = BiomeDef.Named("TemperateSwampArchipelago"); newRecord2.biome = BiomeDef.Named("TemperateSwampArchipelago_Fresh"); newRecord1.commonality = current.plant.wildBiomes[j].commonality; newRecord2.commonality = current.plant.wildBiomes[j].commonality; current.plant.wildBiomes.Add(newRecord1); current.plant.wildBiomes.Add(newRecord2); } if (current.plant.wildBiomes[j].biome.defName == "TropicalRainforest") { PlantBiomeRecord newRecord1 = new PlantBiomeRecord(); PlantBiomeRecord newRecord2 = new PlantBiomeRecord(); newRecord1.biome = BiomeDef.Named("TropicalArchipelago"); newRecord2.biome = BiomeDef.Named("TropicalArchipelago_Fresh"); newRecord1.commonality = current.plant.wildBiomes[j].commonality; newRecord2.commonality = current.plant.wildBiomes[j].commonality; current.plant.wildBiomes.Add(newRecord1); current.plant.wildBiomes.Add(newRecord2); } if (current.plant.wildBiomes[j].biome.defName == "TropicalSwamp") { PlantBiomeRecord newRecord1 = new PlantBiomeRecord(); PlantBiomeRecord newRecord2 = new PlantBiomeRecord(); newRecord1.biome = BiomeDef.Named("TropicalSwampArchipelago"); newRecord2.biome = BiomeDef.Named("TropicalSwampArchipelago_Fresh"); newRecord1.commonality = current.plant.wildBiomes[j].commonality; newRecord2.commonality = current.plant.wildBiomes[j].commonality; current.plant.wildBiomes.Add(newRecord1); current.plant.wildBiomes.Add(newRecord2); } if (current.plant.wildBiomes[j].biome.defName == "Tundra") { PlantBiomeRecord newRecord1 = new PlantBiomeRecord(); PlantBiomeRecord newRecord2 = new PlantBiomeRecord(); newRecord1.biome = BiomeDef.Named("TundraArchipelago"); newRecord2.biome = BiomeDef.Named("TundraArchipelago_Fresh"); newRecord1.commonality = current.plant.wildBiomes[j].commonality; newRecord2.commonality = current.plant.wildBiomes[j].commonality; current.plant.wildBiomes.Add(newRecord1); current.plant.wildBiomes.Add(newRecord2); } } } } } foreach (PawnKindDef current in DefDatabase <PawnKindDef> .AllDefs) { if (current.RaceProps.wildBiomes != null && current.defName != "Cobra") { for (int j = 0; j < current.RaceProps.wildBiomes.Count; j++) { if (current.RaceProps.wildBiomes[j].biome.defName == "AridShrubland") { AnimalBiomeRecord newRecord1 = new AnimalBiomeRecord(); AnimalBiomeRecord newRecord2 = new AnimalBiomeRecord(); newRecord1.biome = BiomeDef.Named("DesertArchipelago"); newRecord2.biome = BiomeDef.Named("DesertArchipelago_Fresh"); newRecord1.commonality = current.RaceProps.wildBiomes[j].commonality; newRecord2.commonality = current.RaceProps.wildBiomes[j].commonality; current.RaceProps.wildBiomes.Add(newRecord1); current.RaceProps.wildBiomes.Add(newRecord2); } if (current.RaceProps.wildBiomes[j].biome.defName == "BorealForest") { AnimalBiomeRecord newRecord1 = new AnimalBiomeRecord(); AnimalBiomeRecord newRecord2 = new AnimalBiomeRecord(); newRecord1.biome = BiomeDef.Named("BorealArchipelago"); newRecord2.biome = BiomeDef.Named("BorealArchipelago_Fresh"); newRecord1.commonality = current.RaceProps.wildBiomes[j].commonality; newRecord2.commonality = current.RaceProps.wildBiomes[j].commonality; current.RaceProps.wildBiomes.Add(newRecord1); current.RaceProps.wildBiomes.Add(newRecord2); } if (current.RaceProps.wildBiomes[j].biome.defName == "ColdBog") { AnimalBiomeRecord newRecord1 = new AnimalBiomeRecord(); AnimalBiomeRecord newRecord2 = new AnimalBiomeRecord(); newRecord1.biome = BiomeDef.Named("ColdBogArchipelago"); newRecord2.biome = BiomeDef.Named("ColdBogArchipelago_Fresh"); newRecord1.commonality = current.RaceProps.wildBiomes[j].commonality; newRecord2.commonality = current.RaceProps.wildBiomes[j].commonality; current.RaceProps.wildBiomes.Add(newRecord1); current.RaceProps.wildBiomes.Add(newRecord2); } if (current.RaceProps.wildBiomes[j].biome.defName == "TemperateForest") { AnimalBiomeRecord newRecord1 = new AnimalBiomeRecord(); AnimalBiomeRecord newRecord2 = new AnimalBiomeRecord(); newRecord1.biome = BiomeDef.Named("TemperateArchipelago"); newRecord2.biome = BiomeDef.Named("TemperateArchipelago_Fresh"); newRecord1.commonality = current.RaceProps.wildBiomes[j].commonality; newRecord2.commonality = current.RaceProps.wildBiomes[j].commonality; current.RaceProps.wildBiomes.Add(newRecord1); current.RaceProps.wildBiomes.Add(newRecord2); } if (current.RaceProps.wildBiomes[j].biome.defName == "TemperateSwamp") { AnimalBiomeRecord newRecord1 = new AnimalBiomeRecord(); AnimalBiomeRecord newRecord2 = new AnimalBiomeRecord(); newRecord1.biome = BiomeDef.Named("TemperateSwampArchipelago"); newRecord2.biome = BiomeDef.Named("TemperateSwampArchipelago_Fresh"); newRecord1.commonality = current.RaceProps.wildBiomes[j].commonality; newRecord2.commonality = current.RaceProps.wildBiomes[j].commonality; current.RaceProps.wildBiomes.Add(newRecord1); current.RaceProps.wildBiomes.Add(newRecord2); } if (current.RaceProps.wildBiomes[j].biome.defName == "TropicalRainforest") { AnimalBiomeRecord newRecord1 = new AnimalBiomeRecord(); AnimalBiomeRecord newRecord2 = new AnimalBiomeRecord(); newRecord1.biome = BiomeDef.Named("TropicalArchipelago"); newRecord2.biome = BiomeDef.Named("TropicalArchipelago_Fresh"); newRecord1.commonality = current.RaceProps.wildBiomes[j].commonality; newRecord2.commonality = current.RaceProps.wildBiomes[j].commonality; current.RaceProps.wildBiomes.Add(newRecord1); current.RaceProps.wildBiomes.Add(newRecord2); } if (current.RaceProps.wildBiomes[j].biome.defName == "TropicalSwamp") { AnimalBiomeRecord newRecord1 = new AnimalBiomeRecord(); AnimalBiomeRecord newRecord2 = new AnimalBiomeRecord(); newRecord1.biome = BiomeDef.Named("TropicalSwampArchipelago"); newRecord2.biome = BiomeDef.Named("TropicalSwampArchipelago_Fresh"); newRecord1.commonality = current.RaceProps.wildBiomes[j].commonality; newRecord2.commonality = current.RaceProps.wildBiomes[j].commonality; current.RaceProps.wildBiomes.Add(newRecord1); current.RaceProps.wildBiomes.Add(newRecord2); } if (current.RaceProps.wildBiomes[j].biome.defName == "Tundra") { AnimalBiomeRecord newRecord1 = new AnimalBiomeRecord(); AnimalBiomeRecord newRecord2 = new AnimalBiomeRecord(); newRecord1.biome = BiomeDef.Named("TundraArchipelago"); newRecord2.biome = BiomeDef.Named("TundraArchipelago_Fresh"); newRecord1.commonality = current.RaceProps.wildBiomes[j].commonality; newRecord2.commonality = current.RaceProps.wildBiomes[j].commonality; current.RaceProps.wildBiomes.Add(newRecord1); current.RaceProps.wildBiomes.Add(newRecord2); } } } } }
static Planets_Initializer() { if (ModsConfig.ActiveModsInLoadOrder.Any(mod => mod.Name.Contains("My Little Planet"))) { Controller.Settings.usingMLP = true; } if (ModsConfig.ActiveModsInLoadOrder.Any(mod => mod.Name.Contains("Faction Control"))) { Controller.Settings.usingFactionControl = true; } if (ModsConfig.ActiveModsInLoadOrder.Any(mod => mod.Name.Contains("Nature's Pretty Sweet"))) { Controller.Settings.otherGrassland = true; Controller.Settings.otherSavanna = true; } if (ModsConfig.ActiveModsInLoadOrder.Any(mod => mod.Name.Contains("Terra Project (Core)"))) { Controller.Settings.otherSavanna = true; } if (ModsConfig.ActiveModsInLoadOrder.Any(mod => mod.Name.Contains("Advanced Biomes"))) { Controller.Settings.otherSavanna = true; } foreach (ThingDef current in DefDatabase <ThingDef> .AllDefsListForReading) { if (current.plant != null) { if (current.plant.wildBiomes != null) { for (int j = 0; j < current.plant.wildBiomes.Count; j++) { if (current.plant.wildBiomes[j].biome.defName == "Tundra") { PlantBiomeRecord newRecord = new PlantBiomeRecord(); newRecord.biome = BiomeDef.Named("RRP_Permafrost"); newRecord.commonality = current.plant.wildBiomes[j].commonality / 2; current.plant.wildBiomes.Add(newRecord); } if (current.plant.wildBiomes[j].biome.defName == "TemperateForest") { if (!current.defName.Contains("Tree")) { PlantBiomeRecord newRecord = new PlantBiomeRecord(); newRecord.biome = BiomeDef.Named("RRP_Grassland"); newRecord.commonality = current.plant.wildBiomes[j].commonality / 2; current.plant.wildBiomes.Add(newRecord); } } if (current.plant.wildBiomes[j].biome.defName == "BorealForest") { if (!current.defName.Contains("Tree")) { PlantBiomeRecord newRecord = new PlantBiomeRecord(); newRecord.biome = BiomeDef.Named("RRP_Steppes"); newRecord.commonality = current.plant.wildBiomes[j].commonality / 2; current.plant.wildBiomes.Add(newRecord); } } if (current.plant.wildBiomes[j].biome.defName == "AridShrubland") { if (!current.defName.Contains("Acacia")) { PlantBiomeRecord newRecord = new PlantBiomeRecord(); newRecord.biome = BiomeDef.Named("RRP_Savanna"); newRecord.commonality = current.plant.wildBiomes[j].commonality / 2; current.plant.wildBiomes.Add(newRecord); } } if (current.plant.wildBiomes[j].biome.defName == "Desert") { if (!current.defName.Contains("Acacia")) { PlantBiomeRecord newRecord = new PlantBiomeRecord(); newRecord.biome = BiomeDef.Named("RRP_TemperateDesert"); newRecord.commonality = current.plant.wildBiomes[j].commonality / 2; current.plant.wildBiomes.Add(newRecord); PlantBiomeRecord newRecord2 = new PlantBiomeRecord(); newRecord2.biome = BiomeDef.Named("RRP_Oasis"); newRecord2.commonality = current.plant.wildBiomes[j].commonality; current.plant.wildBiomes.Add(newRecord2); } } } } } } foreach (PawnKindDef current in DefDatabase <PawnKindDef> .AllDefs) { if (current.RaceProps.wildBiomes != null && current.defName != "Cobra") { for (int j = 0; j < current.RaceProps.wildBiomes.Count; j++) { if (current.RaceProps.wildBiomes[j].biome.defName == "Tundra") { AnimalBiomeRecord newRecord = new AnimalBiomeRecord(); newRecord.biome = BiomeDef.Named("RRP_Permafrost"); newRecord.commonality = current.RaceProps.wildBiomes[j].commonality / 2; current.RaceProps.wildBiomes.Add(newRecord); } if (current.RaceProps.wildBiomes[j].biome.defName == "TemperateForest") { AnimalBiomeRecord newRecord = new AnimalBiomeRecord(); newRecord.biome = BiomeDef.Named("RRP_Grassland"); newRecord.commonality = current.RaceProps.wildBiomes[j].commonality / 2; current.RaceProps.wildBiomes.Add(newRecord); } if (current.RaceProps.wildBiomes[j].biome.defName == "BorealForest") { AnimalBiomeRecord newRecord = new AnimalBiomeRecord(); newRecord.biome = BiomeDef.Named("RRP_Steppes"); newRecord.commonality = current.RaceProps.wildBiomes[j].commonality / 2; current.RaceProps.wildBiomes.Add(newRecord); } if (current.RaceProps.wildBiomes[j].biome.defName == "AridShrubland") { AnimalBiomeRecord newRecord = new AnimalBiomeRecord(); newRecord.biome = BiomeDef.Named("RRP_Savanna"); newRecord.commonality = current.RaceProps.wildBiomes[j].commonality / 2; current.RaceProps.wildBiomes.Add(newRecord); } if (current.RaceProps.wildBiomes[j].biome.defName == "Desert") { AnimalBiomeRecord newRecord = new AnimalBiomeRecord(); newRecord.biome = BiomeDef.Named("RRP_TemperateDesert"); newRecord.commonality = current.RaceProps.wildBiomes[j].commonality / 2; current.RaceProps.wildBiomes.Add(newRecord); AnimalBiomeRecord newRecord2 = new AnimalBiomeRecord(); newRecord2.biome = BiomeDef.Named("RRP_Oasis"); newRecord2.commonality = current.RaceProps.wildBiomes[j].commonality; current.RaceProps.wildBiomes.Add(newRecord2); } } } } }