Ejemplo n.º 1
0
 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 AddPlantsWildBiomes()
        {
            foreach (ThingDef current in DefDatabase <ThingDef> .AllDefsListForReading)
            {
                if (current.plant?.wildBiomes != null)
                {
                    // to check if it's in any of these biomes already
                    if (!current.plant.wildBiomes.Any(w => w.biome.defName.Contains("ZBiome")))
                    {
                        //Sandbar
                        if (current.plant.wildBiomes.Any(b => b.biome.defName == "ExtremeDesert"))
                        {
                            PlantBiomeRecord newRecord1 = new PlantBiomeRecord();
                            newRecord1.biome       = BiomeDef.Named("ZBiome_Sandbar_NoBeach");
                            newRecord1.commonality = current.plant.wildBiomes.Where(bi => bi.biome.defName == "ExtremeDesert").FirstOrDefault().commonality;
                            current.plant.wildBiomes.Add(newRecord1);
                        }
                        else if (current.plant.wildBiomes.Any(b => b.biome.defName == "Desert"))
                        {
                            PlantBiomeRecord newRecord1 = new PlantBiomeRecord();
                            newRecord1.biome       = BiomeDef.Named("ZBiome_Sandbar_NoBeach");
                            newRecord1.commonality = current.plant.wildBiomes.Where(bi => bi.biome.defName == "Desert").FirstOrDefault().commonality;
                            current.plant.wildBiomes.Add(newRecord1);
                        }

                        else if (current.plant.wildBiomes.Any(b => b.biome.defName == "Tundra"))
                        {
                            PlantBiomeRecord newRecord1 = new PlantBiomeRecord();
                            newRecord1.biome       = BiomeDef.Named("ZBiome_GlacialShield");
                            newRecord1.commonality = current.plant.wildBiomes.Where(bi => bi.biome.defName == "Tundra").FirstOrDefault().commonality;
                            if (current.plant.IsTree)
                            {
                                newRecord1.commonality *= 1.7f;
                            }
                            if (current.plant.purpose == PlantPurpose.Beauty || current.plant.purpose == PlantPurpose.Food)
                            {
                                newRecord1.commonality *= 1.2f;
                            }


                            current.plant.wildBiomes.Add(newRecord1);
                        }


                        for (int j = 0; j < current.plant.wildBiomes.Count; j++)
                        {
                            // icebergs
                            if (current.plant.wildBiomes[j].biome.defName == "SeaIce")
                            {
                                PlantBiomeRecord newRecord1 = new PlantBiomeRecord();
                                newRecord1.biome       = BiomeDef.Named("ZBiome_Iceberg_NoBeach");
                                newRecord1.commonality = current.plant.wildBiomes[j].commonality;
                                current.plant.wildBiomes.Add(newRecord1);
                            }

                            //Meadow
                            if (current.plant.wildBiomes[j].biome.defName == "BorealForest")
                            {
                                PlantBiomeRecord newRecord1 = new PlantBiomeRecord();
                                newRecord1.biome       = BiomeDef.Named("ZBiome_AlpineMeadow");
                                newRecord1.commonality = current.plant.wildBiomes[j].commonality;
                                if (current.plant.IsTree)
                                {
                                    newRecord1.commonality *= 0.4f;
                                }
                                else if (current.plant.purpose == PlantPurpose.Beauty)
                                {
                                    newRecord1.commonality *= 2f;
                                }
                                current.plant.wildBiomes.Add(newRecord1);
                            }

                            // Grasslands
                            if (current.plant.wildBiomes[j].biome.defName == "AridShrubland")
                            {
                                PlantBiomeRecord newRecord1 = new PlantBiomeRecord();
                                newRecord1.biome       = BiomeDef.Named("ZBiome_Grasslands");
                                newRecord1.commonality = current.plant.wildBiomes[j].commonality;
                                if (current.plant.IsTree)
                                {
                                    newRecord1.commonality *= 0.4f;
                                }
                                current.plant.wildBiomes.Add(newRecord1);
                            }

                            // Dunes and Oasis
                            if (current.plant.wildBiomes[j].biome.defName == "AridShrubland")
                            {
                                if (current.plant.purpose == PlantPurpose.Food)
                                {
                                    PlantBiomeRecord newRecord1 = new PlantBiomeRecord();
                                    newRecord1.biome       = BiomeDef.Named("ZBiome_CoastalDunes");
                                    newRecord1.commonality = current.plant.wildBiomes[j].commonality;
                                    current.plant.wildBiomes.Add(newRecord1);

                                    PlantBiomeRecord newRecord2 = new PlantBiomeRecord();
                                    newRecord2.biome       = BiomeDef.Named("ZBiome_DesertOasis");
                                    newRecord2.commonality = current.plant.wildBiomes[j].commonality;
                                    current.plant.wildBiomes.Add(newRecord2);
                                }
                            }

                            if (current.plant.wildBiomes[j].biome.defName == "TropicalRainforest")
                            {
                                if (current.plant.purpose != PlantPurpose.Food)
                                {
                                    PlantBiomeRecord newRecord1 = new PlantBiomeRecord();
                                    newRecord1.biome       = BiomeDef.Named("ZBiome_CoastalDunes");
                                    newRecord1.commonality = current.plant.wildBiomes[j].commonality;
                                    current.plant.wildBiomes.Add(newRecord1);

                                    PlantBiomeRecord newRecord2 = new PlantBiomeRecord();
                                    newRecord2.biome       = BiomeDef.Named("ZBiome_DesertOasis");
                                    newRecord2.commonality = current.plant.wildBiomes[j].commonality;
                                    current.plant.wildBiomes.Add(newRecord2);
                                }

                                if (!current.plant.IsTree)
                                {
                                    PlantBiomeRecord newRecord1 = new PlantBiomeRecord();
                                    newRecord1.biome       = BiomeDef.Named("ZBiome_CloudForest");
                                    newRecord1.commonality = current.plant.wildBiomes[j].commonality;
                                    current.plant.wildBiomes.Add(newRecord1);
                                }
                            }

                            if (current.plant.wildBiomes[j].biome.defName == "TemperateForest")
                            {
                                if (current.plant.IsTree)
                                {
                                    PlantBiomeRecord newRecord1 = new PlantBiomeRecord();
                                    newRecord1.biome       = BiomeDef.Named("ZBiome_CloudForest");
                                    newRecord1.commonality = current.plant.wildBiomes[j].commonality;
                                    current.plant.wildBiomes.Add(newRecord1);
                                }

                                // Badlands
                                if (!current.plant.wildBiomes.Any(b => b.biome.defName == "TemperateSwamp"))
                                {
                                    PlantBiomeRecord newRecord1 = new PlantBiomeRecord();
                                    newRecord1.biome       = BiomeDef.Named("ZBiome_Badlands");
                                    newRecord1.commonality = current.plant.wildBiomes[j].commonality;
                                    current.plant.wildBiomes.Add(newRecord1);
                                }
                            }


                            //Marsh
                            if (current.plant.wildBiomes[j].biome.defName == "ColdBog")
                            {
                                PlantBiomeRecord newRecord1 = new PlantBiomeRecord();
                                newRecord1.biome       = BiomeDef.Named("ZBiome_Marsh");
                                newRecord1.commonality = current.plant.wildBiomes[j].commonality;
                                if (current.plant.IsTree)
                                {
                                    newRecord1.commonality *= 0.3f;
                                }
                                current.plant.wildBiomes.Add(newRecord1);
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 3
0
 private static void EditPlantDefs()
 {
     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);
                         }
                     }
                 }
             }
         }
     }
 }
 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);
                 }
             }
         }
     }
 }