protected override void PrepareProtoTile(Settings settings) { settings.AmbientSoundProvider = new TileForestAmbientSoundProvider( daySoundPresetPlains: new AmbientSoundPreset(new SoundResource("Ambient/TropicalPlains")), daySoundPresetForest: new AmbientSoundPreset(new SoundResource("Ambient/TropicalForest")), nightSoundPresetPlains: new AmbientSoundPreset(new SoundResource("Ambient/TropicalPlainsNight")), nightSoundPresetForest: new AmbientSoundPreset(new SoundResource("Ambient/TropicalForestNight"))); var groundTextureForest3 = new ProtoTileGroundTexture( texture: GroundTextureAtlas3, blendMaskTexture: BlendMaskTextureSprayRough, noiseSelector: null); var groundTextureForest2 = new ProtoTileGroundTexture( texture: GroundTexture2, blendMaskTexture: BlendMaskTextureSprayRough, noiseSelector: new NoiseSelector(from: 0.5, to: 0.7, noise: new PerlinNoise(seed: 23402375, scale: 4, octaves: 5, persistance: 0.6, lacunarity: 1.8))); var groundTextureForest1 = new ProtoTileGroundTexture( texture: GroundTexture1, blendMaskTexture: BlendMaskTextureSprayRough, noiseSelector: new NoiseSelector(from: 0.4, to: 0.55, noise: new PerlinNoise(seed: 219461235, scale: 5, octaves: 5, persistance: 0.6, lacunarity: 1.6))); settings.AddGroundTexture(groundTextureForest3); settings.AddGroundTexture(groundTextureForest2); settings.AddGroundTexture(groundTextureForest1); // add JungleGrass1 decal var jungleGrass1Textures = ProtoTileDecal.CollectTextures("Terrain/ForestTropical/JungleGrass1_*"); var jungleGrass1NoiseSelector = new CombinedNoiseSelector( new NoiseSelector( from: 0.5, to: 0.57, noise: new PerlinNoise(seed: 75432132, scale: 5, octaves: 5, persistance: 0.8, lacunarity: 2)), new NoiseSelector( from: 0.73, to: 0.8, noise: new PerlinNoise(seed: 1232165326, scale: 7, octaves: 5, persistance: 0.8, lacunarity: 2))); settings.AddDecal( new ProtoTileDecal(jungleGrass1Textures, size: (2, 2), drawOrder: DrawOrder.GroundDecalsUnder, hidingSetting: DecalHidingSetting.AnyObject, noiseSelector: jungleGrass1NoiseSelector)); settings.AddDecal( new ProtoTileDecal(jungleGrass1Textures, size: (2, 2), offset: (1, 1), drawOrder: DrawOrder.GroundDecalsUnder, hidingSetting: DecalHidingSetting.AnyObject, noiseSelector: jungleGrass1NoiseSelector)); // add JungleGrass2 decal var jungleGrass2Textures = ProtoTileDecal.CollectTextures("Terrain/ForestTropical/JungleGrass2_*"); var jungleGrass2NoiseSelector = new CombinedNoiseSelector( new NoiseSelector( from: 0.5, to: 0.57, noise: new PerlinNoise(seed: 634231492, scale: 5, octaves: 5, persistance: 0.8, lacunarity: 2)), new NoiseSelector( from: 0.73, to: 0.8, noise: new PerlinNoise(seed: 19831263, scale: 7, octaves: 5, persistance: 0.8, lacunarity: 2))); settings.AddDecal( new ProtoTileDecal(jungleGrass2Textures, size: (2, 2), drawOrder: DrawOrder.GroundDecalsUnder, hidingSetting: DecalHidingSetting.AnyObject, noiseSelector: jungleGrass2NoiseSelector)); settings.AddDecal( new ProtoTileDecal(jungleGrass2Textures, size: (2, 2), offset: (1, 1), drawOrder: DrawOrder.GroundDecalsUnder, hidingSetting: DecalHidingSetting.AnyObject, noiseSelector: jungleGrass2NoiseSelector)); // add fern decal settings.AddDecal( new ProtoTileDecal("Terrain/ForestTropical/Fern*", size: (1, 1), drawOrder: DrawOrder.GroundDecalsOver, hidingSetting: DecalHidingSetting.AnyObject, noiseSelector: new CombinedNoiseSelector( new NoiseSelector( from: 0.99, to: 1, noise: new WhiteNoise(seed: 854712138)), new NoiseSelector( from: 0.99, to: 1, noise: new WhiteNoise(seed: 907512642)), new NoiseSelector( from: 0.99, to: 1, noise: new WhiteNoise(seed: 893146123))))); // add flower decal settings.AddDecal( new ProtoTileDecal("Terrain/ForestTropical/JungleFlower*", size: (1, 1), drawOrder: DrawOrder.GroundDecalsOver, hidingSetting: DecalHidingSetting.AnyObject, noiseSelector: new CombinedNoiseSelector( new NoiseSelector( from: 0.99, to: 1, noise: new WhiteNoise(seed: 654352413)), new NoiseSelector( from: 0.99, to: 1, noise: new WhiteNoise(seed: 219301646)), new NoiseSelector( from: 0.99, to: 1, noise: new WhiteNoise(seed: 1283912642)), new NoiseSelector( from: 0.99, to: 1, noise: new WhiteNoise(seed: 1283917341)), new NoiseSelector( from: 0.99, to: 1, noise: new WhiteNoise(seed: 858366412))))); }
protected override void PrepareProtoTile(Settings settings) { settings.AmbientSoundProvider = new TileForestAmbientSoundProvider( daySoundPresetPlains: new AmbientSoundPreset(new SoundResource("Ambient/BorealPlains")), daySoundPresetForest: new AmbientSoundPreset(new SoundResource("Ambient/BorealForest")), nightSoundPresetPlains: new AmbientSoundPreset(new SoundResource("Ambient/BorealPlainsNight")), nightSoundPresetForest: new AmbientSoundPreset(new SoundResource("Ambient/BorealForestNight"))); var groundTextureForest3 = new ProtoTileGroundTexture( texture: GroundTextureAtlas3, blendMaskTexture: BlendMaskTextureSprayRough, noiseSelector: null); var groundTextureForest2 = new ProtoTileGroundTexture( texture: GroundTexture2, blendMaskTexture: BlendMaskTextureSprayRough, noiseSelector: new NoiseSelector(from: 0.5, to: 1, noise: new PerlinNoise(seed: 392721487, scale: 15, octaves: 5, persistance: 0.6, lacunarity: 1.4))); var groundTextureForest1 = new ProtoTileGroundTexture( texture: GroundTexture1, blendMaskTexture: BlendMaskTextureSprayRough, noiseSelector: new NoiseSelector(from: 0.4, to: 0.65, noise: new PerlinNoise(seed: 498651212, scale: 23, octaves: 5, persistance: 0.5, lacunarity: 1.4))); settings.AddGroundTexture(groundTextureForest3); settings.AddGroundTexture(groundTextureForest2); settings.AddGroundTexture(groundTextureForest1); // add smallBushes decals var smallBushesTextures = ProtoTileDecal.CollectTextures("Terrain/ForestBoreal/SmallBushes*"); var smallBushesDrawOrder = DrawOrder.GroundDecalsUnder; var smallBushesSize = new Vector2Ushort(2, 2); var smallBushesNoiseSelector = new CombinedNoiseSelector( new NoiseSelector( from: 0.8, to: 0.97, noise: new PerlinNoise(seed: 209123674, scale: 10, octaves: 3, persistance: 0.7, lacunarity: 1.5)), new NoiseSelector( from: 0.85, to: 1, noise: new PerlinNoise(seed: 129308572, scale: 11, octaves: 3, persistance: 0.7, lacunarity: 3))); // add smallBushes decals with a four different offsets (to avoid empty space between neighbor smallBushes sprites) for (ushort x = 0; x <= 1; x++) { for (ushort y = 0; y <= 1; y++) { settings.AddDecal( new ProtoTileDecal(smallBushesTextures, size: smallBushesSize, offset: (x, y), drawOrder: smallBushesDrawOrder, canFlipHorizontally: false, noiseSelector: smallBushesNoiseSelector)); } } // some random small bushes settings.AddDecal( new ProtoTileDecal(smallBushesTextures, size: smallBushesSize, drawOrder: smallBushesDrawOrder, canFlipHorizontally: false, noiseSelector: new NoiseSelector( from: 0.85, to: 1, noise: new WhiteNoise(seed: 643613342)))); // add WhiteFlowers decals var whiteFlowersTextures = ProtoTileDecal.CollectTextures("Terrain/ForestBoreal/WhiteFlowers*"); var whiteFlowersSize = new Vector2Ushort(2, 2); var whiteFlowersNoiseSelector = new NoiseSelector( from: 0.6, to: 0.65, noise: new PerlinNoise(seed: 25343634, scale: 8, octaves: 3, persistance: 0.6, lacunarity: 1.7)); settings.AddDecal( new ProtoTileDecal(whiteFlowersTextures, size: whiteFlowersSize, noiseSelector: whiteFlowersNoiseSelector, requiredGroundTextures: new[] { groundTextureForest1, groundTextureForest3 })); // add the same whiteFlowers but with a little offset (to make a more dense diagonal placement) settings.AddDecal( new ProtoTileDecal(whiteFlowersTextures, size: whiteFlowersSize, offset: Vector2Ushort.One, noiseSelector: whiteFlowersNoiseSelector, requiredGroundTextures: new[] { groundTextureForest1, groundTextureForest3 })); // add VioletFlowers decals var violetFlowersTextures = ProtoTileDecal.CollectTextures("Terrain/ForestBoreal/VioletFlowers*"); var violetFlowersSize = new Vector2Ushort(2, 2); var violetFlowersNoiseSelector = new NoiseSelector( from: 0.55, to: 0.65, noise: new PerlinNoise(seed: 245751427, scale: 5, octaves: 3, persistance: 0.6, lacunarity: 1.7)); settings.AddDecal( new ProtoTileDecal(violetFlowersTextures, size: violetFlowersSize, noiseSelector: violetFlowersNoiseSelector)); // add the same violetFlowers but with a little offset (to make a more dense diagonal placement) settings.AddDecal( new ProtoTileDecal(violetFlowersTextures, size: violetFlowersSize, offset: Vector2Ushort.One, noiseSelector: violetFlowersNoiseSelector)); // add clover bush decal settings.AddDecal( new ProtoTileDecal("Terrain/ForestBoreal/CloverBush01*", size: Vector2Ushort.One, drawOrder: DrawOrder.GroundDecalsOver, hidingSetting: DecalHidingSetting.AnyObject, noiseSelector: new NoiseSelector( from: 0.985, to: 1, noise: new WhiteNoise(seed: 982356342)))); // add fungi decal settings.AddDecal( new ProtoTileDecal("Terrain/ForestBoreal/Fungi01*", size: Vector2Ushort.One, drawOrder: DrawOrder.GroundDecalsOver, hidingSetting: DecalHidingSetting.AnyObject, noiseSelector: new NoiseSelector( from: 0.985, to: 1, noise: new WhiteNoise(seed: 474631892)))); }
protected override void PrepareProtoTile(Settings settings) { settings.AmbientSoundProvider = new TileForestAmbientSoundProvider( daySoundPresetPlains: new AmbientSoundPreset(new SoundResource("Ambient/TemperatePlains")), daySoundPresetForest: new AmbientSoundPreset(new SoundResource("Ambient/TemperateForest")), nightSoundPresetPlains: new AmbientSoundPreset(new SoundResource("Ambient/TemperatePlainsNight")), nightSoundPresetForest: new AmbientSoundPreset(new SoundResource("Ambient/TemperateForestNight"))); // add ground texture for pebbles ground var groundTextureForest3 = new ProtoTileGroundTexture( texture: GroundTextureAtlas3, blendMaskTexture: BlendMaskTextureSprayRough, noiseSelector: null); settings.AddGroundTexture(groundTextureForest3); // add ground texture for dry leaves settings.AddGroundTexture( new ProtoTileGroundTexture( texture: GroundTexture2, blendMaskTexture: BlendMaskTextureSprayRough, noiseSelector: new NoiseSelector(from: 0.5, to: 1, noise: new PerlinNoise(seed: 2010709225, scale: 15, octaves: 5, persistance: 0.6, lacunarity: 1.4)))); // add ground texture for dry twigs settings.AddGroundTexture( new ProtoTileGroundTexture( texture: GroundTexture1, blendMaskTexture: BlendMaskTextureSprayRough, noiseSelector: new NoiseSelector(from: 0.4, to: 0.65, noise: new PerlinNoise(seed: 1059426846, scale: 23, octaves: 5, persistance: 0.5, lacunarity: 1.4)))); // add moss decals var mossTextures = ProtoTileDecal.CollectTextures("Terrain/ForestTemperate/Moss*"); var mossDrawOrder = DrawOrder.GroundDecalsUnder; var mossSize = new Vector2Ushort(2, 2); var mossNoiseSelector = new CombinedNoiseSelector( new NoiseSelector( from: 0.8, to: 0.97, noise: new PerlinNoise(seed: 1298138103, scale: 10, octaves: 3, persistance: 0.7, lacunarity: 1.5)), new NoiseSelector( from: 0.85, to: 1, noise: new PerlinNoise(seed: 38602111, scale: 11, octaves: 3, persistance: 0.7, lacunarity: 3))); // add moss decals with a four different offsets (to avoid empty space between neighbor moss sprites) for (ushort x = 0; x <= 1; x++) { for (ushort y = 0; y <= 1; y++) { settings.AddDecal( new ProtoTileDecal(mossTextures, size: mossSize, offset: (x, y), drawOrder: mossDrawOrder, noiseSelector: mossNoiseSelector)); } } // some random moss settings.AddDecal( new ProtoTileDecal(mossTextures, size: mossSize, drawOrder: mossDrawOrder, noiseSelector: new NoiseSelector( from: 0.85, to: 1, noise: new WhiteNoise(seed: 306721460)))); // add clover decals var cloverTextures = ProtoTileDecal.CollectTextures("Terrain/ForestTemperate/GrassClover*"); var cloverSize = new Vector2Ushort(2, 2); var cloverNoiseSelector = new CombinedNoiseSelector( new NoiseSelector( from: 0.5, to: 0.65, noise: new PerlinNoise(seed: 503902084, scale: 5, octaves: 3, persistance: 0.6, lacunarity: 1.7)), new NoiseSelector( from: 0.55, to: 0.65, noise: new PerlinNoise(seed: 1884332513, scale: 8, octaves: 3, persistance: 0.6, lacunarity: 1.7))); settings.AddDecal( new ProtoTileDecal(cloverTextures, size: cloverSize, noiseSelector: cloverNoiseSelector)); // add the same clover but with a little offset (to make a more dense diagonal placement) settings.AddDecal( new ProtoTileDecal(cloverTextures, size: cloverSize, offset: (1, 1), noiseSelector: cloverNoiseSelector)); // add bush decal settings.AddDecal( new ProtoTileDecal("Terrain/ForestTemperate/BushGreen*", size: (1, 1), drawOrder: DrawOrder.GroundDecalsOver, hidingSetting: DecalHidingSetting.AnyObject, noiseSelector: new NoiseSelector( from: 0.975, to: 1, noise: new WhiteNoise(seed: 1092163963)))); }