Esempio n. 1
0
 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);
                 }
             }
         }
     }
 }
Esempio n. 2
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 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);
                 }
             }
         }
     }
 }