コード例 #1
0
        public static void Postfix(ref TerrainDef __result, IntVec3 c, Map map)
        {
            BiomeDef biome = map.Biome;
            // General cell terrain replcement
            ModExt_Biome_Replacement extReplacement = biome.GetModExtension <ModExt_Biome_Replacement>() ?? ModExt_Biome_Replacement.Default;

            // Replace sand (mostly from beach)
            if (__result == RimWorld.TerrainDefOf.Sand)
            {
                __result = extReplacement.sandReplacement;
            }
            // Replace gravel
            if (__result == RimWorld.TerrainDefOf.Gravel)
            {
                __result = extReplacement.gravelReplacement;
            }

            // Addtitional island terrainPatchMaker by fertility
            if (biome.HasModExtension <ModExt_Biome_GenStep_Islands>())
            {
                TerrainDef newTerrain = IslandNoises.TerrainAtFromTerrainPatchMakerByFertility(c, map, __result);
                if (newTerrain != null)
                {
                    __result = newTerrain;
                }
            }

            // Post-terrain-gen terrain replacement
            // Replace filler stone
            if (__result == TerrainDefOf.FillerStone)
            {
                __result = GenStep_RocksFromGrid.RockDefAt(c).building.naturalTerrain;
            }
        }
コード例 #2
0
        public override void Generate(Map map, GenStepParams parms)
        {
            BiomeDef biome = map.Biome;

            // Add GenStep Spikes
            if (biome.HasModExtension <ModExt_Biome_GenStep_Spikes>())
            {
                SpikeNoises.WorkOnMapGenerator(map);
            }
            // Add GenStep Islands
            if (biome.HasModExtension <ModExt_Biome_GenStep_Islands>())
            {
                IslandNoises.WorkOnMapGenerator(map);
            }
            // Add GenStep Ravine
            if (biome.HasModExtension <ModExt_Biome_GenStep_Ravine>())
            {
                RavineNoises.WorkOnMapGenerator(map);
            }
        }
コード例 #3
0
 public static void Postfix(Map map)
 {
     IslandNoises.Init(map);
 }
コード例 #4
0
 public static void Postfix()
 {
     IslandNoises.Reset();
 }