diff --git a/binaries/data/mods/public/maps/random/gear.js b/binaries/data/mods/public/maps/random/gear.js index 9f788c8ec2..ef7c7f8d26 100644 --- a/binaries/data/mods/public/maps/random/gear.js +++ b/binaries/data/mods/public/maps/random/gear.js @@ -46,8 +46,8 @@ const aRockMedium = rBiomeA6(); const aBushMedium = rBiomeA7(); const aBushSmall = rBiomeA8(); -const pForestD = [tForestFloor2 + TERRAIN_SEPARATOR + oTree1, tForestFloor2 + TERRAIN_SEPARATOR + oTree2, tForestFloor2]; -const pForestP = [tForestFloor1 + TERRAIN_SEPARATOR + oTree4, tForestFloor1 + TERRAIN_SEPARATOR + oTree5, tForestFloor1]; +const pForest1 = [tForestFloor2 + TERRAIN_SEPARATOR + oTree1, tForestFloor2 + TERRAIN_SEPARATOR + oTree2, tForestFloor2]; +const pForest2 = [tForestFloor1 + TERRAIN_SEPARATOR + oTree4, tForestFloor1 + TERRAIN_SEPARATOR + oTree5, tForestFloor1]; const BUILDING_ANGlE = -PI/4; @@ -414,268 +414,119 @@ for (var i = 0; i < numPlayers; i++) } // create hills -log("Creating hills..."); -placer = new ClumpPlacer(scaleByMapSize(20, 150), 0.2, 0.1, 1); -terrainPainter = new LayeredPainter( - [tMainTerrain, tCliff, tHill], // terrains - [1, 2] // widths -); -elevationPainter = new SmoothElevationPainter(ELEVATION_SET, 18, 2); -createAreas( - placer, - [terrainPainter, elevationPainter, paintClass(clHill)], - avoidClasses(clPlayer, 20, clHill, 15, clWater, 2), - scaleByMapSize(1, 4) * numPlayers -); - - -// calculate desired number of trees for map (based on size) -if (random_terrain == 6) -{ - var MIN_TREES = 200; - var MAX_TREES = 1250; - var P_FOREST = 0.02; -} -else if (random_terrain == 7) -{ - var MIN_TREES = 1000; - var MAX_TREES = 6000; - var P_FOREST = 0.6; -} +if (randInt(1,2) == 1) + createHills([tMainTerrain, tCliff, tHill], avoidClasses(clPlayer, 20, clHill, 15, clWater, 2), clHill, scaleByMapSize(1, 4) * numPlayers); else -{ - var MIN_TREES = 500; - var MAX_TREES = 3000; - var P_FOREST = 0.7; -} -var totalTrees = scaleByMapSize(MIN_TREES, MAX_TREES); -var numForest = totalTrees * P_FOREST; -var numStragglers = totalTrees * (1.0 - P_FOREST); + createMountains(tCliff, avoidClasses(clPlayer, 20, clHill, 15, clWater, 2), clHill, scaleByMapSize(1, 4) * numPlayers); // create forests -log("Creating forests..."); -var types = [ - [[tForestFloor2, tMainTerrain, pForestD], [tForestFloor2, pForestD]], - [[tForestFloor1, tMainTerrain, pForestP], [tForestFloor1, pForestP]] -]; // some variation - -if (random_terrain == 6) -{ - var size = numForest / (0.5 * scaleByMapSize(2,8) * numPlayers); -} -else -{ - var size = numForest / (scaleByMapSize(2,8) * numPlayers); -} -var num = floor(size / types.length); -for (var i = 0; i < types.length; ++i) -{ - placer = new ClumpPlacer(numForest / num, 0.1, 0.1, 1); - painter = new LayeredPainter( - types[i], // terrains - [2] // widths - ); - createAreas( - placer, - [painter, paintClass(clForest)], - avoidClasses(clPlayer, 20, clForest, 10, clHill, 0, clWater, 2), - num - ); -} +createForests( + [tMainTerrain, tForestFloor1, tForestFloor2, pForest1, pForest2], + avoidClasses(clPlayer, 20, clForest, 17, clHill, 0, clWater, 2), + clForest, + 1.0, + random_terrain +); RMS.SetProgress(50); // create dirt patches log("Creating dirt patches..."); -var sizes = [scaleByMapSize(3, 48), scaleByMapSize(5, 84), scaleByMapSize(8, 128)]; -for (var i = 0; i < sizes.length; i++) -{ - placer = new ClumpPlacer(sizes[i], 0.3, 0.06, 0.5); - painter = new LayeredPainter( - [[tMainTerrain,tTier1Terrain],[tTier1Terrain,tTier2Terrain], [tTier2Terrain,tTier3Terrain]], // terrains - [1,1] // widths - ); - createAreas( - placer, - [painter, paintClass(clDirt)], - avoidClasses(clWater, 3, clForest, 0, clHill, 0, clDirt, 5, clPlayer, 12), - scaleByMapSize(15, 45) - ); -} +createLayeredPatches( + [scaleByMapSize(3, 6), scaleByMapSize(5, 10), scaleByMapSize(8, 21)], + [[tMainTerrain,tTier1Terrain],[tTier1Terrain,tTier2Terrain], [tTier2Terrain,tTier3Terrain]], + [1,1], + avoidClasses(clWater, 3, clForest, 0, clHill, 0, clDirt, 5, clPlayer, 12) +); // create grass patches log("Creating grass patches..."); -var sizes = [scaleByMapSize(2, 32), scaleByMapSize(3, 48), scaleByMapSize(5, 80)]; -for (var i = 0; i < sizes.length; i++) -{ - placer = new ClumpPlacer(sizes[i], 0.3, 0.06, 0.5); - painter = new TerrainPainter(tTier4Terrain); - createAreas( - placer, - painter, - avoidClasses(clWater, 3, clForest, 0, clHill, 0, clDirt, 5, clPlayer, 12), - scaleByMapSize(15, 45) - ); -} +createPatches( + [scaleByMapSize(2, 4), scaleByMapSize(3, 7), scaleByMapSize(5, 15)], + tTier4Terrain, + avoidClasses(clWater, 3, clForest, 0, clHill, 0, clDirt, 5, clPlayer, 12) +); + RMS.SetProgress(55); - log("Creating stone mines..."); -// create large stone quarries -group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)], true, clRock); -createObjectGroups(group, 0, - avoidClasses(clWater, 3, clForest, 1, clPlayer, 20, clRock, 10, clHill, 1), - scaleByMapSize(4,16), 100 -); - -// create small stone quarries -group = new SimpleGroup([new SimpleObject(oStoneSmall, 2,5, 1,3)], true, clRock); -createObjectGroups(group, 0, - avoidClasses(clWater, 3, clForest, 1, clPlayer, 20, clRock, 10, clHill, 1), - scaleByMapSize(4,16), 100 -); +// create stone quarries +createMines( + [ + [new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)], + [new SimpleObject(oStoneSmall, 2,5, 1,3)] + ], + avoidClasses(clWater, 3, clForest, 1, clPlayer, 20, clRock, 10, clHill, 1) +) log("Creating metal mines..."); // create large metal quarries -group = new SimpleGroup([new SimpleObject(oMetalLarge, 1,1, 0,4)], true, clMetal); -createObjectGroups(group, 0, - avoidClasses(clWater, 3, clForest, 1, clPlayer, 20, clMetal, 10, clRock, 5, clHill, 1), - scaleByMapSize(4,16), 100 -); +createMines( + [ + [new SimpleObject(oMetalLarge, 1,1, 0,4)] + ], + avoidClasses(clWater, 3, clForest, 1, clPlayer, 20, clMetal, 10, clRock, 5, clHill, 1), + clMetal +) RMS.SetProgress(65); -// create small decorative rocks -log("Creating small decorative rocks..."); -group = new SimpleGroup( - [new SimpleObject(aRockMedium, 1,3, 0,1)], - true -); -createObjectGroups( - group, 0, - avoidClasses(clWater, 0, clForest, 0, clPlayer, 0, clHill, 0), - scaleByMapSize(16, 262), 50 -); +// create decoration +var planetm = 1; +if (random_terrain==7) + planetm = 8; -// create large decorative rocks -log("Creating large decorative rocks..."); -group = new SimpleGroup( - [new SimpleObject(aRockLarge, 1,2, 0,1), new SimpleObject(aRockMedium, 1,3, 0,2)], - true -); -createObjectGroups( - group, 0, - avoidClasses(clWater, 0, clForest, 0, clPlayer, 0, clHill, 0), - scaleByMapSize(8, 131), 50 +createDecoration +( + [[new SimpleObject(aRockMedium, 1,3, 0,1)], + [new SimpleObject(aRockLarge, 1,2, 0,1), new SimpleObject(aRockMedium, 1,3, 0,2)], + [new SimpleObject(aGrassShort, 1,2, 0,1, -PI/8,PI/8)], + [new SimpleObject(aGrass, 2,4, 0,1.8, -PI/8,PI/8), new SimpleObject(aGrassShort, 3,6, 1.2,2.5, -PI/8,PI/8)], + [new SimpleObject(aBushMedium, 1,2, 0,2), new SimpleObject(aBushSmall, 2,4, 0,2)] + ], + [ + scaleByMapSize(16, 262), + scaleByMapSize(8, 131), + planetm * scaleByMapSize(13, 200), + planetm * scaleByMapSize(13, 200), + planetm * scaleByMapSize(13, 200) + ], + avoidClasses(clWater, 0, clForest, 0, clPlayer, 0, clHill, 0) ); RMS.SetProgress(70); -// create deer -log("Creating deer..."); -group = new SimpleGroup( - [new SimpleObject(oMainHuntableAnimal, 5,7, 0,4)], - true, clFood -); -createObjectGroups(group, 0, - avoidClasses(clWater, 3, clForest, 0, clPlayer, 20, clHill, 1, clFood, 20), - 3 * numPlayers, 50 -); - -RMS.SetProgress(75); - -// create sheep -log("Creating sheep..."); -group = new SimpleGroup( - [new SimpleObject(oSecondaryHuntableAnimal, 2,3, 0,2)], - true, clFood -); -createObjectGroups(group, 0, - avoidClasses(clWater, 3, clForest, 0, clPlayer, 20, clHill, 1, clFood, 20), - 3 * numPlayers, 50 +// create animals +createFood +( + [ + [new SimpleObject(oMainHuntableAnimal, 5,7, 0,4)], + [new SimpleObject(oSecondaryHuntableAnimal, 2,3, 0,2)] + ], + [ + 3 * numPlayers, + 3 * numPlayers + ], + avoidClasses(clWater, 3, clForest, 0, clPlayer, 20, clHill, 1, clFood, 20) ); // create fruits -log("Creating fruits..."); -group = new SimpleGroup( - [new SimpleObject(oFruitBush, 5,7, 0,4)], - true, clFood -); -createObjectGroups(group, 0, - avoidClasses(clWater, 3, clForest, 0, clPlayer, 20, clHill, 1, clFood, 10), - 3 * numPlayers, 50 +createFood +( + [ + [new SimpleObject(oFruitBush, 5,7, 0,4)] + ], + [ + 3 * numPlayers + ], + avoidClasses(clWater, 3, clForest, 0, clPlayer, 20, clHill, 1, clFood, 10) ); // create straggler trees -log("Creating straggler trees..."); var types = [oTree1, oTree2, oTree4, oTree3]; // some variation -var num = floor(numStragglers / types.length); -for (var i = 0; i < types.length; ++i) -{ - group = new SimpleGroup( - [new SimpleObject(types[i], 1,1, 0,3)], - true, clForest - ); - createObjectGroups(group, 0, - avoidClasses(clWater, 5, clForest, 1, clHill, 1, clPlayer, 12, clMetal, 1, clRock, 1), - num - ); -} +createStragglerTrees(types, avoidClasses(clWater, 5, clForest, 7, clHill, 1, clPlayer, 12, clMetal, 1, clRock, 1)); -var planetm = 1; -if (random_terrain==7) -{ - planetm = 8; -} -//create small grass tufts -log("Creating small grass tufts..."); -group = new SimpleGroup( - [new SimpleObject(aGrassShort, 1,2, 0,1, -PI/8,PI/8)] -); -createObjectGroups(group, 0, - avoidClasses(clWater, 2, clHill, 2, clPlayer, 2, clDirt, 0), - planetm * scaleByMapSize(13, 200) -); - -RMS.SetProgress(90); - -// create large grass tufts -log("Creating large grass tufts..."); -group = new SimpleGroup( - [new SimpleObject(aGrass, 2,4, 0,1.8, -PI/8,PI/8), new SimpleObject(aGrassShort, 3,6, 1.2,2.5, -PI/8,PI/8)] -); -createObjectGroups(group, 0, - avoidClasses(clWater, 3, clHill, 2, clPlayer, 2, clDirt, 1, clForest, 0), - planetm * scaleByMapSize(13, 200) -); - -RMS.SetProgress(95); - -// create bushes -log("Creating bushes..."); -group = new SimpleGroup( - [new SimpleObject(aBushMedium, 1,2, 0,2), new SimpleObject(aBushSmall, 2,4, 0,2)] -); -createObjectGroups(group, 0, - avoidClasses(clWater, 2, clHill, 1, clPlayer, 1, clDirt, 1), - planetm * scaleByMapSize(13, 200), 50 -); - - -random_terrain = randInt(1,3) -if (random_terrain==1){ - setSkySet("cirrus"); -} -else if (random_terrain ==2){ - setSkySet("cumulus"); -} -else if (random_terrain ==3){ - setSkySet("sunny"); -} -setSunRotation(randFloat(0, TWO_PI)); -setSunElevation(randFloat(PI/ 5, PI / 3)); // Export map data - ExportMap(); \ No newline at end of file diff --git a/binaries/data/mods/public/maps/random/guadalquivir_river.js b/binaries/data/mods/public/maps/random/guadalquivir_river.js index 34fda380d4..0cf0dc5c6e 100644 --- a/binaries/data/mods/public/maps/random/guadalquivir_river.js +++ b/binaries/data/mods/public/maps/random/guadalquivir_river.js @@ -33,7 +33,7 @@ const oMetalLarge = "gaia/geology_metal_mediterranean_slabs"; const aGrass = "actor|props/flora/grass_soft_large_tall.xml"; const aGrassShort = "actor|props/flora/grass_soft_large.xml"; const aReeds = "actor|props/flora/reeds_pond_lush_a.xml"; -const aLillies = "actor|props/flora/pond_lillies_large.xml"; +const aLillies = "actor|props/flora/water_lillies.xml"; const aRockLarge = "actor|geology/stone_granite_large.xml"; const aRockMedium = "actor|geology/stone_granite_med.xml"; const aBushMedium = "actor|props/flora/bush_medit_me.xml"; @@ -70,17 +70,14 @@ var clSettlement = createTileClass(); var clLand = createTileClass(); var clUpperLand = createTileClass(); var clRiver = createTileClass(); +var clShallow = createTileClass(); + //Create the continent body - - - var fx = fractionToTiles(0.5); var fz = fractionToTiles(0.7); var ix = round(fx); var iz = round(fz); -RectPlacer - var placer = new RectPlacer(0, floor(mapSize * 0.70), mapSize - 1, mapSize - 1); var terrainPainter = new LayeredPainter( [tWater, tShore, tGrass], // terrains @@ -93,9 +90,9 @@ var elevationPainter = new SmoothElevationPainter( ); createArea(placer, [terrainPainter, elevationPainter, paintClass(clUpperLand)], null); -var placer = new ClumpPlacer(mapArea * 0.65, 0.75, 0.08, 10, ix, iz); +var placer = new ChainPlacer(2, floor(scaleByMapSize(5, 12)), floor(scaleByMapSize(60, 700)), 1, ix, iz, 0, [floor(mapSize * 0.49)]); var terrainPainter = new LayeredPainter( - [tWater, tShore, tGrass], // terrains + [tGrass, tGrass, tGrass], // terrains [4, 2] // widths ); var elevationPainter = new SmoothElevationPainter( @@ -155,7 +152,7 @@ for (var i = 0; i < numPlayers; i++) createArea(placer, painter, null); // create starting units - placeCivDefaultEntities(fx, fz, id, BUILDING_ANGlE); + placeCivDefaultEntities(fx, fz, id, BUILDING_ANGlE, {'iberWall' : false}); // create animals for (var j = 0; j < 2; ++j) @@ -268,6 +265,7 @@ for (var ix = 0; ix < mapSize; ix++) if ((((zk>0.3)&&(zk<0.4))||((zk>0.5)&&(zk<0.6))||((zk>0.7)&&(zk<0.8)))&&(h<-1.5)) { h=-1.5; + addToClass(ix, iz, clShallow); } } @@ -277,12 +275,14 @@ for (var ix = 0; ix < mapSize; ix++) if ((((zk>0.3)&&(zk<0.4))||((zk>0.5)&&(zk<0.6))||((zk>0.7)&&(zk<0.8)))&&(h<-1.5)) { h=-1.5; + addToClass(ix, iz, clShallow); } } else { if (((zk>0.3)&&(zk<0.4))||((zk>0.5)&&(zk<0.6))||((zk>0.7)&&(zk<0.8))){ h = -1.5; + addToClass(ix, iz, clShallow); } else { @@ -297,204 +297,134 @@ for (var ix = 0; ix < mapSize; ix++) } } -// create shore jaggedness -log("Creating shore jaggedness..."); -placer = new ClumpPlacer(scaleByMapSize(20, 150), 0.2, 0.1, 1); -terrainPainter = new LayeredPainter( - [tCliff, tHill], // terrains - [2] // widths -); -elevationPainter = new SmoothElevationPainter(ELEVATION_SET, -5, 4); -createAreas( - placer, - [terrainPainter, elevationPainter, unPaintClass(clLand)], - [avoidClasses(clPlayer, 20, clRiver, 3, clUpperLand, 15), borderClasses(clLand, 7, 7)], - scaleByMapSize(7, 130), 150 -); - paintTerrainBasedOnHeight(1, 3, 0, tShore); paintTerrainBasedOnHeight(-8, 1, 2, tWater); // create bumps -log("Creating bumps..."); -placer = new ClumpPlacer(scaleByMapSize(20, 50), 0.3, 0.06, 1); -painter = new SmoothElevationPainter(ELEVATION_MODIFY, 2, 2); -createAreas( - placer, - painter, - [avoidClasses(clWater, 2, clPlayer, 20, clRiver, 1), stayClasses(clLand, 3)], - scaleByMapSize(100, 200) -); - - -// calculate desired number of trees for map (based on size) - -var MIN_TREES = 500; -var MAX_TREES = 3000; -var P_FOREST = 0.7; - -var totalTrees = scaleByMapSize(MIN_TREES, MAX_TREES); -var numForest = totalTrees * P_FOREST; -var numStragglers = totalTrees * (1.0 - P_FOREST); +createBumps([avoidClasses(clWater, 2, clPlayer, 20, clRiver, 1), stayClasses(clLand, 3)]); // create forests -log("Creating forests..."); -var types = [ - [[tForestFloorP, tGrass, pForestP], [tForestFloorP, pForestP]], - [[tForestFloorC, tGrass, pForestC], [tForestFloorC, pForestC]] -]; // some variation - - -var size = numForest / (scaleByMapSize(2,8) * numPlayers); - -var num = floor(size / types.length); -for (var i = 0; i < types.length; ++i) -{ - placer = new ClumpPlacer(numForest / num, 0.1, 0.1, 1); - painter = new LayeredPainter( - types[i], // terrains - [2] // widths - ); - createAreas( - placer, - [painter, paintClass(clForest)], - [avoidClasses(clPlayer, 20, clForest, 10, clHill, 0, clRiver, 1), stayClasses(clLand, 7)], - num - ); -} +createForests( + [tGrass, tForestFloorP, tForestFloorC, pForestC, pForestP], + [avoidClasses(clPlayer, 20, clForest, 17, clHill, 0, clRiver, 1), stayClasses(clLand, 7)], + clForest, + 1.0, + 0 +); RMS.SetProgress(50); + // create dirt patches log("Creating dirt patches..."); -var sizes = [scaleByMapSize(5, 48), scaleByMapSize(8, 84), scaleByMapSize(13, 128)]; -for (var i = 0; i < sizes.length; i++) -{ - placer = new ClumpPlacer(sizes[i], 0.3, 0.06, 0.5); - painter = new LayeredPainter( - [[tGrass,tGrassA],[tGrassA,tGrassB], [tGrassB,tGrassC]], // terrains - [1,1] // widths - ); - createAreas( - placer, - [painter, paintClass(clDirt)], - [avoidClasses(clForest, 0, clHill, 0, clDirt, 3, clPlayer, 8, clRiver, 1), stayClasses(clLand, 7)], - scaleByMapSize(15, 45) - ); -} +createLayeredPatches( + [scaleByMapSize(3, 6), scaleByMapSize(5, 10), scaleByMapSize(8, 21)], + [[tGrass,tGrassA],[tGrassA,tGrassB], [tGrassB,tGrassC]], + [1,1], + [avoidClasses(clForest, 0, clHill, 0, clDirt, 3, clPlayer, 8, clRiver, 1), stayClasses(clLand, 7)] +); // create grass patches log("Creating grass patches..."); -var sizes = [scaleByMapSize(3, 32), scaleByMapSize(6, 48), scaleByMapSize(9, 80)]; -for (var i = 0; i < sizes.length; i++) -{ - placer = new ClumpPlacer(sizes[i], 0.3, 0.06, 0.5); - painter = new TerrainPainter(tGrassPatch); - createAreas( - placer, - painter, - [avoidClasses(clForest, 0, clHill, 0, clDirt, 3, clPlayer, 8, clRiver, 1), stayClasses(clLand, 7)], - scaleByMapSize(15, 45) - ); -} +createPatches( + [scaleByMapSize(2, 4), scaleByMapSize(3, 7), scaleByMapSize(5, 15)], + tGrassPatch, + [avoidClasses(clForest, 0, clHill, 0, clDirt, 3, clPlayer, 8, clRiver, 1), stayClasses(clLand, 7)] +); + RMS.SetProgress(55); - log("Creating stone mines..."); -// create large stone quarries -group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)], true, clRock); -createObjectGroups(group, 0, - [avoidClasses(clForest, 1, clPlayer, 20, clRock, 10, clHill, 1, clRiver, 1), stayClasses(clLand, 5)], - scaleByMapSize(4,16), 100 -); - -// create small stone quarries -group = new SimpleGroup([new SimpleObject(oStoneSmall, 2,5, 1,3)], true, clRock); -createObjectGroups(group, 0, - [avoidClasses(clForest, 1, clPlayer, 20, clRock, 10, clHill, 1, clRiver, 1), stayClasses(clLand, 5)], - scaleByMapSize(4,16), 100 -); +// create stone quarries +createMines( + [ + [new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)], + [new SimpleObject(oStoneSmall, 2,5, 1,3)] + ], + [avoidClasses(clForest, 1, clPlayer, 20, clRock, 10, clHill, 1, clRiver, 1), stayClasses(clLand, 5)] +) log("Creating metal mines..."); // create large metal quarries -group = new SimpleGroup([new SimpleObject(oMetalLarge, 1,1, 0,4)], true, clMetal); -createObjectGroups(group, 0, - [avoidClasses(clForest, 1, clPlayer, 20, clMetal, 10, clRock, 5, clHill, 1, clRiver, 1), stayClasses(clLand, 5)], - scaleByMapSize(4,16), 100 -); +createMines( + [ + [new SimpleObject(oMetalLarge, 1,1, 0,4)] + ], + [avoidClasses(clForest, 1, clPlayer, 20, clMetal, 10, clRock, 5, clHill, 1, clRiver, 1), stayClasses(clLand, 5)], + clMetal +) RMS.SetProgress(65); -// create small decorative rocks -log("Creating small decorative rocks..."); -group = new SimpleGroup( - [new SimpleObject(aRockMedium, 1,3, 0,1)], - true -); -createObjectGroups( - group, 0, - [avoidClasses(clWater, 0, clForest, 0, clPlayer, 0, clHill, 0, clRiver, 1), stayClasses(clLand, 5)], - scaleByMapSize(16, 262), 50 +// create decoration +createDecoration +( + [[new SimpleObject(aRockMedium, 1,3, 0,1)], + [new SimpleObject(aRockLarge, 1,2, 0,1), new SimpleObject(aRockMedium, 1,3, 0,2)], + [new SimpleObject(aGrassShort, 1,2, 0,1, -PI/8,PI/8)], + [new SimpleObject(aGrass, 2,4, 0,1.8, -PI/8,PI/8), new SimpleObject(aGrassShort, 3,6, 1.2,2.5, -PI/8,PI/8)], + [new SimpleObject(aBushMedium, 1,2, 0,2), new SimpleObject(aBushSmall, 2,4, 0,2)] + ], + [ + scaleByMapSize(16, 262), + scaleByMapSize(8, 131), + scaleByMapSize(13, 200), + scaleByMapSize(13, 200), + scaleByMapSize(13, 200) + ], + [avoidClasses(clWater, 1, clHill, 1, clPlayer, 1, clDirt, 1, clRiver, 1), stayClasses(clLand, 6)] ); - -// create large decorative rocks -log("Creating large decorative rocks..."); -group = new SimpleGroup( - [new SimpleObject(aRockLarge, 1,2, 0,1), new SimpleObject(aRockMedium, 1,3, 0,2)], - true -); -createObjectGroups( - group, 0, - [avoidClasses(clWater, 0, clForest, 0, clPlayer, 0, clHill, 0, clRiver, 1), stayClasses(clLand, 5)], - scaleByMapSize(8, 131), 50 +// create water decoration in the shallow parts +createDecoration +( + [[new SimpleObject(aReeds, 1,3, 0,1)], + [new SimpleObject(aLillies, 1,2, 0,1)] + ], + [ + scaleByMapSize(800, 12800), + scaleByMapSize(800, 12800) + ], + stayClasses(clShallow, 0) ); RMS.SetProgress(70); -// create deer -log("Creating deer..."); -group = new SimpleGroup( - [new SimpleObject(oDeer, 5,7, 0,4)], - true, clFood -); -createObjectGroups(group, 0, - [avoidClasses(clWater, 0, clForest, 0, clPlayer, 20, clHill, 1, clFood, 20, clRiver, 1), stayClasses(clLand, 3)], - 3 * numPlayers, 50 +// create animals +createFood +( + [ + [new SimpleObject(oDeer, 5,7, 0,4)], + [new SimpleObject(oSheep, 2,3, 0,2)] + ], + [ + 3 * numPlayers, + 3 * numPlayers + ], + [avoidClasses(clWater, 0, clForest, 0, clPlayer, 20, clHill, 1, clFood, 20, clRiver, 1), stayClasses(clLand, 3)] ); -RMS.SetProgress(75); - -// create sheep -log("Creating sheep..."); -group = new SimpleGroup( - [new SimpleObject(oSheep, 2,3, 0,2)], - true, clFood -); -createObjectGroups(group, 0, - [avoidClasses(clWater, 0, clForest, 0, clPlayer, 20, clHill, 1, clFood, 20, clRiver, 1), stayClasses(clLand, 3)], - 3 * numPlayers, 50 +// create fruits +createFood +( + [ + [new SimpleObject(oBerryBush, 5,7, 0,4)] + ], + [ + randInt(1, 4) * numPlayers + 2 + ], + [avoidClasses(clWater, 0, clForest, 0, clPlayer, 20, clHill, 1, clFood, 10, clRiver, 1), stayClasses(clLand, 3)] ); // create fish -log("Creating fish..."); -group = new SimpleGroup( - [new SimpleObject(oFish, 2,3, 0,2)], - true, clFood -); -createObjectGroups(group, 0, - avoidClasses(clLand, 2, clForest, 0, clPlayer, 0, clHill, 0, clFood, 20, clRiver, 1), - 5 * numPlayers, 60 -); - -// create berries -log("Creating berries..."); -group = new SimpleGroup( - [new SimpleObject(oBerryBush, 5,7, 0,4)], - true, clFood -); -createObjectGroups(group, 0, - [avoidClasses(clWater, 2, clForest, 0, clPlayer, 20, clHill, 1, clFood, 10, clRiver, 2), stayClasses(clLand, 4)], - 3 * numPlayers, 50 +createFood +( + [ + [new SimpleObject(oFish, 2,3, 0,2)] + ], + [ + 25 * numPlayers + ], + avoidClasses(clLand, 2, clRiver, 1) ); RMS.SetProgress(85); @@ -503,61 +433,23 @@ RMS.SetProgress(85); // create straggler trees log("Creating straggler trees..."); var types = [oPoplar, oCarob, oApple]; // some variation -var num = floor(numStragglers / types.length); -for (var i = 0; i < types.length; ++i) -{ - group = new SimpleGroup( - [new SimpleObject(types[i], 1,1, 0,3)], - true, clForest - ); - createObjectGroups(group, 0, - [avoidClasses(clWater, 1, clForest, 1, clHill, 1, clPlayer, 9, clMetal, 1, clRock, 1, clRiver, 1), stayClasses(clLand, 7)], - num - ); -} - - -//create small grass tufts -log("Creating small grass tufts..."); -group = new SimpleGroup( - [new SimpleObject(aGrassShort, 1,2, 0,1, -PI/8,PI/8)] -); -createObjectGroups(group, 0, - [avoidClasses(clWater, 2, clHill, 2, clPlayer, 2, clDirt, 0, clRiver, 1), stayClasses(clLand, 6)], - scaleByMapSize(13, 200) -); - -RMS.SetProgress(90); - -// create large grass tufts -log("Creating large grass tufts..."); -group = new SimpleGroup( - [new SimpleObject(aGrass, 2,4, 0,1.8, -PI/8,PI/8), new SimpleObject(aGrassShort, 3,6, 1.2,2.5, -PI/8,PI/8)] -); -createObjectGroups(group, 0, - [avoidClasses(clWater, 3, clHill, 2, clPlayer, 2, clDirt, 1, clForest, 0, clRiver, 1), stayClasses(clLand, 6)], - scaleByMapSize(13, 200) -); - -RMS.SetProgress(95); - -// create bushes -log("Creating bushes..."); -group = new SimpleGroup( - [new SimpleObject(aBushMedium, 1,2, 0,2), new SimpleObject(aBushSmall, 2,4, 0,2)] -); -createObjectGroups(group, 0, - [avoidClasses(clWater, 1, clHill, 1, clPlayer, 1, clDirt, 1, clRiver, 1), stayClasses(clLand, 6)], - scaleByMapSize(13, 200), 50 -); +createStragglerTrees(types, [avoidClasses(clWater, 1, clForest, 1, clHill, 1, clPlayer, 9, clMetal, 1, clRock, 1, clRiver, 1), stayClasses(clLand, 7)]); setSkySet("cumulus"); setWaterColour(0.443,0.412,0.322); setWaterTint(0.647,0.82,0.949); setWaterReflectionTint(0.286,0.58,0.855); -setWaterWaviness(2.5); +setWaterWaviness(10); setWaterMurkiness(0.70); setWaterReflectionTintStrength(0.25); +setFogFactor(0.3); +setFogThickness(0.25); + +setPPEffect("hdr"); +setPPContrast(0.62); +setPPSaturation(0.51); +setPPBloom(0.12); + // Export map data ExportMap(); diff --git a/binaries/data/mods/public/maps/random/lake.js b/binaries/data/mods/public/maps/random/lake.js index f6784a33eb..11555aaad6 100644 --- a/binaries/data/mods/public/maps/random/lake.js +++ b/binaries/data/mods/public/maps/random/lake.js @@ -248,7 +248,6 @@ createAreas( paintTerrainBasedOnHeight(2.4, 3.4, 3, tMainTerrain); paintTerrainBasedOnHeight(1, 2.4, 0, tShore); paintTerrainBasedOnHeight(-8, 1, 2, tWater); - paintTileClassBasedOnHeight(-6, 0, 1, clWater) for (var i = 0; i < numPlayers; ++i) @@ -398,5 +397,4 @@ createStragglerTrees(types, avoidClasses(clWater, 5, clForest, 7, clHill, 1, clP setWaterWaviness(10); // Export map data - ExportMap(); diff --git a/binaries/data/mods/public/maps/random/rmgen/randombiome.js b/binaries/data/mods/public/maps/random/rmgen/randombiome.js index 14952ace05..d50ea03727 100644 --- a/binaries/data/mods/public/maps/random/rmgen/randombiome.js +++ b/binaries/data/mods/public/maps/random/rmgen/randombiome.js @@ -1 +1 @@ -///////////////////////////////////////////////////////////////////////////////////////////// // definitions ///////////////////////////////////////////////////////////////////////////////////////////// var biomeID = 1; var rbt1 = ["temp_grass_long_b"]; var rbt2 = "temp_forestfloor_pine"; var rbt3 = "temp_plants_bog"; var rbt4 = ["temp_cliff_a", "temp_cliff_b"]; var rbt5 = "temp_grass_d"; var rbt6 = "temp_grass_c"; var rbt7 = "temp_grass_clovers_2"; var rbt8 = ["temp_dirt_gravel", "temp_dirt_gravel_b"]; var rbt9 = ["temp_dirt_gravel", "temp_dirt_gravel_b"]; var rbt10 = "temp_road"; var rbt11 = "temp_road_overgrown"; var rbt12 = "temp_grass_plants"; var rbt13 = "temp_mud_plants"; var rbt14 = "sand_grass_25"; var rbt15 = "medit_sand_wet"; // gaia entities var rbe1 = "gaia/flora_tree_oak"; var rbe2 = "gaia/flora_tree_oak_large"; var rbe3 = "gaia/flora_tree_apple"; var rbe4 = "gaia/flora_tree_pine"; var rbe5 = "gaia/flora_tree_aleppo_pine"; var rbe6 = "gaia/flora_bush_berry"; var rbe7 = "gaia/fauna_chicken"; var rbe8 = "gaia/fauna_deer"; var rbe9 = "gaia/fauna_fish"; var rbe10 = "gaia/fauna_sheep"; var rbe11 = "gaia/geology_stonemine_medit_quarry"; var rbe12 = "gaia/geology_stone_mediterranean"; var rbe13 = "gaia/geology_metal_mediterranean_slabs"; // decorative props var rba1 = "actor|props/flora/grass_soft_large_tall.xml"; var rba2 = "actor|props/flora/grass_soft_large.xml"; var rba3 = "actor|props/flora/reeds_pond_lush_a.xml"; var rba4 = "actor|props/flora/pond_lillies_large.xml"; var rba5 = "actor|geology/stone_granite_large.xml"; var rba6 = "actor|geology/stone_granite_med.xml"; var rba7 = "actor|props/flora/bush_medit_me.xml"; var rba8 = "actor|props/flora/bush_medit_sm.xml"; var rba9 = "actor|flora/trees/oak.xml"; ///////////////////////////////////////////////////////////////////////////////////////////// // randomizeBiome: randomizes the biomeID and returns the value ///////////////////////////////////////////////////////////////////////////////////////////// function randomizeBiome() { var random_sky = randInt(1,3) if (random_sky==1) setSkySet("cirrus"); else if (random_sky ==2) setSkySet("cumulus"); else if (random_sky ==3) setSkySet("sunny"); setSunRotation(randFloat(0, TWO_PI)); setSunElevation(randFloat(PI/ 5, PI / 3)); setUnitsAmbientColour(0.57, 0.58, 0.55); setTerrainAmbientColour(0.447059, 0.509804, 0.54902); biomeID = randInt(1,8); //temperate if (biomeID == 1){ // temperate ocean blue, a bit too deep and saturated perhaps but it looks nicer. // this assumes ocean settings, maps that aren't oceans should reset. setWaterColour(0.114, 0.192, 0.463); setWaterTint(0.255, 0.361, 0.651); setWaterReflectionTint(0.255, 0.361, 0.651); setWaterWaviness(5.5); setWaterMurkiness(0.83); setWaterReflectionTintStrength(0.05); setFogThickness(0.25); setFogFactor(0.4); setPPEffect("hdr"); setPPSaturation(0.62); setPPContrast(0.62); setPPBloom(0.3); if (randInt(2)) { rbt1 = "alpine_grass"; rbt2 = "temp_forestfloor_pine"; rbt3 = "temp_grass_clovers_2"; rbt5 = "alpine_grass_a"; rbt6 = "alpine_grass_b"; rbt7 = "alpine_grass_c"; rbt12 = "temp_grass_mossy"; } else { rbt1 = "temp_grass_long_b"; rbt2 = "temp_forestfloor_pine"; rbt3 = "temp_plants_bog"; rbt5 = "temp_grass_d"; rbt6 = "temp_grass_c"; rbt7 = "temp_grass_clovers_2"; rbt12 = "temp_grass_plants"; } rbt4 = ["temp_cliff_a", "temp_cliff_b"]; rbt8 = ["temp_dirt_gravel", "temp_dirt_gravel_b"]; rbt9 = ["temp_dirt_gravel", "temp_dirt_gravel_b"]; rbt10 = "temp_road"; rbt11 = "temp_road_overgrown"; rbt13 = "temp_mud_plants"; rbt14 = "sand_grass_25"; rbt15 = "medit_sand_wet"; // gaia entities var random_trees = randInt(3); if (random_trees == 0) { rbe1 = "gaia/flora_tree_oak"; rbe2 = "gaia/flora_tree_oak_large"; } else if (random_trees == 1) { rbe1 = "gaia/flora_tree_poplar"; rbe2 = "gaia/flora_tree_poplar"; } else { rbe1 = "gaia/flora_tree_euro_beech"; rbe2 = "gaia/flora_tree_euro_beech"; } rbe3 = "gaia/flora_tree_apple"; random_trees = randInt(3); if (random_trees == 0) { rbe4 = "gaia/flora_tree_pine"; rbe5 = "gaia/flora_tree_aleppo_pine"; } else if (random_trees == 1) { rbe4 = "gaia/flora_tree_pine"; rbe5 = "gaia/flora_tree_pine"; } else { rbe4 = "gaia/flora_tree_aleppo_pine"; rbe5 = "gaia/flora_tree_aleppo_pine"; } rbe6 = "gaia/flora_bush_berry"; rbe7 = "gaia/fauna_chicken"; rbe8 = "gaia/fauna_deer"; rbe9 = "gaia/fauna_fish"; rbe10 = "gaia/fauna_sheep"; rbe11 = "gaia/geology_stonemine_temperate_quarry"; rbe12 = "gaia/geology_stone_temperate"; rbe13 = "gaia/geology_metal_temperate_slabs"; // decorative props rba1 = "actor|props/flora/grass_soft_large_tall.xml"; rba2 = "actor|props/flora/grass_soft_large.xml"; rba3 = "actor|props/flora/reeds_pond_lush_a.xml"; rba4 = "actor|props/flora/water_lillies.xml"; rba5 = "actor|geology/stone_granite_large.xml"; rba6 = "actor|geology/stone_granite_med.xml"; rba7 = "actor|props/flora/bush_medit_me.xml"; rba8 = "actor|props/flora/bush_medit_sm.xml"; rba9 = "actor|flora/trees/oak.xml"; } //snowy else if (biomeID == 2) { setSunColour(0.550, 0.601, 0.644); // a little darker // Water is a semi-deep blue, fairly wavy, fairly murky for an ocean. // this assumes ocean settings, maps that aren't oceans should reset. setWaterColour(0.067, 0.212, 0.361); setWaterTint(0.4, 0.486, 0.765); setWaterReflectionTint(0.482, 0.824, 0.925); setWaterWaviness(5.5); setWaterMurkiness(0.83); setWaterReflectionTintStrength(0.15); rbt1 = ["polar_snow_b", "snow grass 75", "snow rocks", "snow forest"]; rbt2 = "polar_tundra_snow"; rbt3 = "polar_tundra_snow"; rbt4 = ["alpine_cliff_a", "alpine_cliff_b"]; rbt5 = "polar_snow_a"; rbt6 = "polar_ice_snow"; rbt7 = "polar_ice"; rbt8 = ["polar_snow_rocks", "polar_cliff_snow"]; rbt9 = "snow grass 2"; rbt10 = "new_alpine_citytile"; rbt11 = "polar_ice_cracked"; rbt12 = "snow grass 2"; rbt13 = "polar_ice"; rbt14 = "alpine_shore_rocks_icy"; rbt15 = "alpine_shore_rocks"; // gaia entities rbe1 = "gaia/flora_tree_pine_w"; rbe2 = "gaia/flora_tree_pine_w"; rbe3 = "gaia/flora_tree_pine_w"; rbe4 = "gaia/flora_tree_pine_w"; rbe5 = "gaia/flora_tree_pine"; rbe6 = "gaia/flora_bush_berry"; rbe7 = "gaia/fauna_chicken"; rbe8 = "gaia/fauna_muskox"; rbe9 = "gaia/fauna_fish_tuna"; rbe10 = "gaia/fauna_walrus"; rbe11 = "gaia/geology_stonemine_alpine_quarry"; rbe12 = "gaia/geology_stone_alpine_a"; rbe13 = "gaia/geology_metal_alpine_slabs"; // decorative props rba1 = "actor|props/flora/grass_soft_dry_small_tall.xml"; rba2 = "actor|props/flora/grass_soft_dry_large.xml"; rba3 = "actor|props/flora/reeds_pond_dry.xml"; rba4 = "actor|geology/stone_granite_large.xml"; rba5 = "actor|geology/stone_granite_large.xml"; rba6 = "actor|geology/stone_granite_med.xml"; rba7 = "actor|props/flora/bush_desert_dry_a.xml"; rba8 = "actor|props/flora/bush_desert_dry_a.xml"; rba9 = "actor|flora/trees/pine_w.xml"; setFogFactor(0.6); setFogThickness(0.21); setPPSaturation(0.37); setPPEffect("hdr"); } //desert else if (biomeID == 3) { setSunColour(0.733, 0.746, 0.574); // Went for a very clear, slightly blue-ish water in this case, basically no waves. setWaterColour(0, 0.227, 0.843); setWaterTint(0, 0.545, 0.859); setWaterReflectionTint(1, 1, 1); setWaterWaviness(1); setWaterMurkiness(0.22); setWaterReflectionTintStrength(0.0); setFogFactor(0.5); setFogThickness(0.0); setFogColor(0.852, 0.746, 0.493); setPPEffect("hdr"); setPPContrast(0.67); setPPSaturation(0.42); setPPBloom(0.23); rbt1 = ["desert_dirt_rough", "desert_dirt_rough_2", "desert_sand_dunes_50", "desert_sand_smooth"]; rbt2 = "forestfloor_dirty"; rbt3 = "desert_forestfloor_palms"; rbt4 = ["desert_cliff_1", "desert_cliff_2", "desert_cliff_3", "desert_cliff_4", "desert_cliff_5"]; rbt5 = "desert_dirt_rough"; rbt6 = "desert_dirt_rocks_1"; rbt7 = "desert_dirt_rocks_2"; rbt8 = ["desert_dirt_rocks_1", "desert_dirt_rocks_2", "desert_dirt_rocks_3"]; rbt9 = ["desert_lakebed_dry", "desert_lakebed_dry_b"]; rbt10 = "desert_city_tile"; rbt11 = "desert_city_tile"; rbt12 = "desert_dirt_rough"; rbt13 = "desert_shore_stones"; rbt14 = "desert_sand_smooth"; rbt15 = "desert_sand_wet"; // gaia entities if (randInt(2)) { rbe1 = "gaia/flora_tree_cretan_date_palm_short"; rbe2 = "gaia/flora_tree_cretan_date_palm_tall"; } else { rbe1 = "gaia/flora_tree_date_palm"; rbe2 = "gaia/flora_tree_date_palm"; } rbe3 = "gaia/flora_tree_fig"; if (randInt(2)) { rbe4 = "gaia/flora_tree_tamarix"; rbe5 = "gaia/flora_tree_tamarix"; } else { rbe4 = "gaia/flora_tree_senegal_date_palm"; rbe5 = "gaia/flora_tree_senegal_date_palm"; } rbe6 = "gaia/flora_bush_grapes"; rbe7 = "gaia/fauna_chicken"; rbe8 = "gaia/fauna_camel"; rbe9 = "gaia/fauna_fish"; rbe10 = "gaia/fauna_gazelle"; rbe11 = "gaia/geology_stonemine_desert_quarry"; rbe12 = "gaia/geology_stone_desert_small"; rbe13 = "gaia/geology_metal_desert_slabs"; // decorative props rba1 = "actor|props/flora/grass_soft_dry_small_tall.xml"; rba2 = "actor|props/flora/grass_soft_dry_large.xml"; rba3 = "actor|props/flora/reeds_pond_lush_a.xml"; rba4 = "actor|props/flora/reeds_pond_lush_b.xml"; rba5 = "actor|geology/stone_desert_med.xml"; rba6 = "actor|geology/stone_desert_med.xml"; rba7 = "actor|props/flora/bush_desert_dry_a.xml"; rba8 = "actor|props/flora/bush_desert_dry_a.xml"; rba9 = "actor|flora/trees/palm_date.xml"; } //alpine else if (biomeID == 4) { // simulates an alpine lake, fairly deep. // this is not intended for a clear running river, or even an ocean. setWaterColour(0.0, 0.047, 0.286); // dark majestic blue setWaterTint(0.471, 0.776, 0.863); // light blue setWaterReflectionTint(0.0, 0.047, 0.286); setWaterMurkiness(0.82); setWaterWaviness(2); setWaterReflectionTintStrength(0.15); setFogThickness(0.26); setFogFactor(0.4); setPPEffect("hdr"); setPPSaturation(0.48); setPPContrast(0.53); setPPBloom(0.12); rbt1 = ["alpine_dirt_grass_50"]; rbt2 = "alpine_forrestfloor"; rbt3 = "alpine_forrestfloor"; rbt4 = ["alpine_cliff_a", "alpine_cliff_b", "alpine_cliff_c"]; rbt5 = "alpine_dirt"; rbt6 = ["alpine_grass_snow_50", "alpine_dirt_snow", "alpine_dirt_snow"]; rbt7 = ["alpine_snow_a", "alpine_snow_b"]; rbt8 = "alpine_cliff_snow"; rbt9 = ["alpine_dirt", "alpine_grass_d"]; rbt10 = "new_alpine_citytile"; rbt11 = "new_alpine_citytile"; rbt12 = "new_alpine_grass_a"; rbt13 = "alpine_shore_rocks"; rbt14 = "alpine_shore_rocks_grass_50"; rbt15 = "alpine_shore_rocks"; // gaia entities rbe1 = "gaia/flora_tree_pine"; rbe2 = "gaia/flora_tree_pine"; rbe3 = "gaia/flora_tree_pine"; rbe4 = "gaia/flora_tree_pine"; rbe5 = "gaia/flora_tree_pine"; rbe6 = "gaia/flora_bush_berry"; rbe7 = "gaia/fauna_chicken"; rbe8 = "gaia/fauna_goat"; rbe9 = "gaia/fauna_fish_tuna"; rbe10 = "gaia/fauna_deer"; rbe11 = "gaia/geology_stonemine_alpine_quarry"; rbe12 = "gaia/geology_stone_alpine_a"; rbe13 = "gaia/geology_metal_alpine_slabs"; // decorative props rba1 = "actor|props/flora/grass_soft_small_tall.xml"; rba2 = "actor|props/flora/grass_soft_large.xml"; rba3 = "actor|props/flora/reeds_pond_dry.xml"; rba4 = "actor|geology/stone_granite_large.xml"; rba5 = "actor|geology/stone_granite_large.xml"; rba6 = "actor|geology/stone_granite_med.xml"; rba7 = "actor|props/flora/bush_desert_a.xml"; rba8 = "actor|props/flora/bush_desert_a.xml"; rba9 = "actor|flora/trees/pine.xml"; } //medit else if (biomeID == 5) { // Guess what, this is based on the colors of the mediterranean sea. setWaterColour(0.024,0.212,0.024); setWaterTint(0.133, 0.725,0.855); setWaterReflectionTint(0.31,0.769,0.894); setWaterWaviness(3); setWaterMurkiness(0.8); setWaterReflectionTintStrength(0.1); setFogFactor(0.3); setFogThickness(0.25); setPPEffect("hdr"); setPPContrast(0.62); setPPSaturation(0.51); setPPBloom(0.12); rbt1 = ["medit_grass_field_a", "medit_grass_field_b"]; rbt2 = "medit_grass_field"; rbt3 = "medit_grass_shrubs"; rbt4 = ["medit_cliff_grass", "medit_cliff_greek", "medit_cliff_greek_2", "medit_cliff_aegean", "medit_cliff_italia", "medit_cliff_italia_grass"]; rbt5 = "medit_grass_field_b"; rbt6 = "medit_grass_field_brown"; rbt7 = "medit_grass_field_dry"; rbt8 = ["medit_rocks_grass_shrubs", "medit_rocks_shrubs"]; rbt9 = ["medit_dirt", "medit_dirt_b"]; rbt10 = "medit_city_tile"; rbt11 = "medit_city_tile"; rbt12 = "medit_grass_wild"; rbt13 = "medit_sand"; rbt14 = "sand_grass_25"; rbt15 = "medit_sand_wet"; // gaia entities var random_trees = randInt(3); if (random_trees == 0) { rbe1 = "gaia/flora_tree_cretan_date_palm_short"; rbe2 = "gaia/flora_tree_cretan_date_palm_tall"; } else if (random_trees == 1) { rbe1 = "gaia/flora_tree_carob"; rbe2 = "gaia/flora_tree_carob"; } else { rbe1 = "gaia/flora_tree_medit_fan_palm"; rbe2 = "gaia/flora_tree_medit_fan_palm"; } if (randInt(2)) { rbe3 = "gaia/flora_tree_apple"; } else { rbe3 = "gaia/flora_tree_poplar_lombardy"; } if (randInt(2)) { rbe4 = "gaia/flora_tree_cypress"; rbe5 = "gaia/flora_tree_cypress"; } else { rbe4 = "gaia/flora_tree_aleppo_pine"; rbe5 = "gaia/flora_tree_aleppo_pine"; } if (randInt(2)) rbe6 = "gaia/flora_bush_berry"; else rbe6 = "gaia/flora_bush_grapes"; rbe7 = "gaia/fauna_chicken"; rbe8 = "gaia/fauna_deer"; rbe9 = "gaia/fauna_fish"; rbe10 = "gaia/fauna_sheep"; rbe11 = "gaia/geology_stonemine_medit_quarry"; rbe12 = "gaia/geology_stone_mediterranean"; rbe13 = "gaia/geology_metal_mediterranean_slabs"; // decorative props rba1 = "actor|props/flora/grass_soft_large_tall.xml"; rba2 = "actor|props/flora/grass_soft_large.xml"; rba3 = "actor|props/flora/reeds_pond_lush_b.xml"; rba4 = "actor|props/flora/water_lillies.xml"; rba5 = "actor|geology/stone_granite_large.xml"; rba6 = "actor|geology/stone_granite_med.xml"; rba7 = "actor|props/flora/bush_medit_me.xml"; rba8 = "actor|props/flora/bush_medit_sm.xml"; rba9 = "actor|flora/trees/palm_cretan_date.xml"; } //savanah else if (biomeID == 6) { // Using the Malawi as a reference, in parts where it's not too murky from a river nearby. setWaterColour(0.055,0.176,0.431); setWaterTint(0.227,0.749,0.549); setWaterReflectionTint(1,1,1); setWaterWaviness(1.5); setWaterMurkiness(0.77); setWaterReflectionTintStrength(0.0); setFogFactor(0.25); setFogThickness(0.15); setFogColor(0.847059, 0.737255, 0.482353); setPPEffect("hdr"); setPPContrast(0.57031); setPPBloom(0.34); rbt1 = ["savanna_grass_a", "savanna_grass_b"]; rbt2 = "savanna_forestfloor_a"; rbt3 = "savanna_forestfloor_b"; rbt4 = ["savanna_cliff_a", "savanna_cliff_b"]; rbt5 = "savanna_shrubs_a"; rbt6 = "savanna_dirt_rocks_b"; rbt7 = "savanna_dirt_rocks_a"; rbt8 = ["savanna_grass_a", "savanna_grass_b"]; rbt9 = ["savanna_dirt_rocks_b", "dirt_brown_e"]; rbt10 = "savanna_tile_a"; rbt11 = "savanna_tile_a"; rbt12 = "savanna_grass_a"; rbt13 = "savanna_riparian"; rbt14 = "savanna_riparian_bank"; rbt15 = "savanna_riparian_wet"; // gaia entities rbe1 = "gaia/flora_tree_baobab"; rbe2 = "gaia/flora_tree_baobab"; rbe3 = "gaia/flora_tree_baobab"; rbe4 = "gaia/flora_tree_baobab"; rbe5 = "gaia/flora_tree_baobab"; rbe6 = "gaia/flora_bush_grapes"; rbe7 = "gaia/fauna_chicken"; var rts = randInt(1,4); if (rts==1){ rbe8 = "gaia/fauna_wildebeest"; } else if (rts==2) { rbe8 = "gaia/fauna_zebra"; } else if (rts==3) { rbe8 = "gaia/fauna_giraffe"; } else if (rts==4) { rbe8 = "gaia/fauna_elephant_african_bush"; } rbe9 = "gaia/fauna_fish"; rbe10 = "gaia/fauna_gazelle"; rbe11 = "gaia/geology_stonemine_desert_quarry"; rbe12 = "gaia/geology_stone_savanna_small"; rbe13 = "gaia/geology_metal_savanna_slabs"; // decorative props rba1 = "actor|props/flora/grass_savanna.xml"; rba2 = "actor|props/flora/grass_medit_field.xml"; rba3 = "actor|props/flora/reeds_pond_lush_a.xml"; rba4 = "actor|props/flora/reeds_pond_lush_b.xml"; rba5 = "actor|geology/stone_savanna_med.xml"; rba6 = "actor|geology/stone_savanna_med.xml"; rba7 = "actor|props/flora/bush_desert_dry_a.xml"; rba8 = "actor|props/flora/bush_dry_a.xml"; rba9 = "actor|flora/trees/baobab.xml"; } //tropic else if (biomeID == 7) { // Bora-Bora ish. Quite transparent, not wavy. // Mostly for shallow maps. Maps where the water level goes deeper should use a much darker Water Colour to simulate deep water holes. setWaterColour(0.584,0.824,0.929); setWaterTint(0.569,0.965,0.945); setWaterReflectionTint(1,1,1); setWaterWaviness(1.5); setWaterMurkiness(0.35); setWaterReflectionTintStrength(0.0); setFogFactor(0.4); setFogThickness(0.2); setPPEffect("hdr"); setPPContrast(0.67); setPPSaturation(0.62); setPPBloom(0.6); rbt1 = ["tropic_grass_c", "tropic_grass_c", "tropic_grass_c", "tropic_grass_c", "tropic_grass_plants", "tropic_plants", "tropic_plants_b"]; rbt2 = "tropic_plants_c"; rbt3 = "tropic_plants_c"; rbt4 = ["tropic_cliff_a", "tropic_cliff_a", "tropic_cliff_a", "tropic_cliff_a_plants"]; rbt5 = "tropic_grass_c"; rbt6 = "tropic_grass_plants"; rbt7 = "tropic_plants"; rbt8 = ["tropic_cliff_grass"]; rbt9 = ["tropic_dirt_a", "tropic_dirt_a_plants"]; rbt10 = "tropic_citytile_a"; rbt11 = "tropic_citytile_plants"; rbt12 = "tropic_plants_b"; rbt13 = "temp_mud_plants"; rbt14 = "tropic_beach_dry_plants"; rbt15 = "tropic_beach_dry"; // gaia entities rbe1 = "gaia/flora_tree_toona"; rbe2 = "gaia/flora_tree_toona"; rbe3 = "gaia/flora_tree_palm_tropic"; rbe4 = "gaia/flora_tree_palm_tropic"; rbe5 = "gaia/flora_tree_palm_tropic"; rbe6 = "gaia/flora_bush_berry"; rbe7 = "gaia/fauna_chicken"; rbe8 = "gaia/fauna_peacock"; rbe9 = "gaia/fauna_fish"; rbe10 = "gaia/fauna_tiger"; rbe11 = "gaia/geology_stonemine_tropic_quarry"; rbe12 = "gaia/geology_stone_tropic_a"; rbe13 = "gaia/geology_metal_tropic_slabs"; // decorative props rba1 = "actor|props/flora/plant_tropic_a.xml"; rba2 = "actor|props/flora/plant_lg.xml"; rba3 = "actor|props/flora/reeds_pond_lush_b.xml"; rba4 = "actor|props/flora/water_lillies.xml"; rba5 = "actor|geology/stone_granite_large.xml"; rba6 = "actor|geology/stone_granite_med.xml"; rba7 = "actor|props/flora/plant_tropic_large.xml"; rba8 = "actor|props/flora/plant_tropic_large.xml"; rba9 = "actor|flora/trees/tree_tropic.xml"; } //autumn else if (biomeID == 8) { // basically temperate with a reddish twist in the reflection and the tint. Also less wavy. // this assumes ocean settings, maps that aren't oceans should reset. setWaterColour(0.157, 0.149, 0.443); setWaterTint(0.443,0.42,0.824); setWaterReflectionTint(0.863,0.667,0.608); setWaterWaviness(2.5); setWaterMurkiness(0.83); setWaterReflectionTintStrength(0.35); setFogFactor(0.35); setFogThickness(0.22); setFogColor(0.82,0.82, 0.73); setPPSaturation(0.56); setPPContrast(0.56); setPPBloom(0.38); setPPEffect("hdr"); rbt1 = ["temp_grass_aut", "temp_grass_aut", "temp_grass_d_aut"]; rbt2 = "temp_plants_bog_aut"; rbt3 = "temp_forestfloor_aut"; rbt4 = ["temp_cliff_a", "temp_cliff_b"]; rbt5 = "temp_grass_plants_aut"; rbt6 = ["temp_grass_b_aut", "temp_grass_c_aut"]; rbt7 = ["temp_grass_b_aut", "temp_grass_long_b_aut"]; rbt8 = "temp_highlands_aut"; rbt9 = ["temp_cliff_a", "temp_cliff_b"]; rbt10 = "temp_road_aut"; rbt11 = "temp_road_overgrown_aut"; rbt12 = "temp_grass_plants_aut"; rbt13 = "temp_grass_plants_aut"; rbt14 = "temp_forestfloor_pine"; rbt15 = "medit_sand_wet"; // gaia entities rbe1 = "gaia/flora_tree_euro_beech_aut"; rbe2 = "gaia/flora_tree_euro_beech_aut"; rbe3 = "gaia/flora_tree_pine"; rbe4 = "gaia/flora_tree_oak_aut"; rbe5 = "gaia/flora_tree_oak_aut"; rbe6 = "gaia/flora_bush_berry"; rbe7 = "gaia/fauna_chicken"; rbe8 = "gaia/fauna_deer"; rbe9 = "gaia/fauna_fish"; rbe10 = "gaia/fauna_rabbit"; rbe11 = "gaia/geology_stonemine_temperate_quarry"; rbe12 = "gaia/geology_stone_temperate"; rbe13 = "gaia/geology_metal_temperate_slabs"; // decorative props rba1 = "actor|props/flora/grass_soft_dry_small_tall.xml"; rba2 = "actor|props/flora/grass_soft_dry_large.xml"; rba3 = "actor|props/flora/reeds_pond_dry.xml"; rba4 = "actor|geology/stone_granite_large.xml"; rba5 = "actor|geology/stone_granite_large.xml"; rba6 = "actor|geology/stone_granite_med.xml"; rba7 = "actor|props/flora/bush_desert_dry_a.xml"; rba8 = "actor|props/flora/bush_desert_dry_a.xml"; rba9 = "actor|flora/trees/european_beech_aut.xml"; } return biomeID; } ///////////////////////////////////////////////////////////////////////////////////////////// // These functions return the values needed for a randomized biome ///////////////////////////////////////////////////////////////////////////////////////////// function rBiomeT1() { return rbt1; } function rBiomeT2() { return rbt2; } function rBiomeT3() { return rbt3; } function rBiomeT4() { return rbt4; } function rBiomeT5() { return rbt5; } function rBiomeT6() { return rbt6; } function rBiomeT7() { return rbt7; } function rBiomeT8() { return rbt8; } function rBiomeT9() { return rbt9; } function rBiomeT10() { return rbt10; } function rBiomeT11() { return rbt11; } function rBiomeT12() { return rbt12; } function rBiomeT13() { return rbt13; } function rBiomeT14() { return rbt14; } function rBiomeT15() { return rbt15; } function rBiomeE1() { return rbe1; } function rBiomeE2() { return rbe2; } function rBiomeE3() { return rbe3; } function rBiomeE4() { return rbe4; } function rBiomeE5() { return rbe5; } function rBiomeE6() { return rbe6; } function rBiomeE7() { return rbe7; } function rBiomeE8() { return rbe8; } function rBiomeE9() { return rbe9; } function rBiomeE10() { return rbe10; } function rBiomeE11() { return rbe11; } function rBiomeE12() { return rbe12; } function rBiomeE13() { return rbe13; } function rBiomeA1() { return rba1; } function rBiomeA2() { return rba2; } function rBiomeA3() { return rba3; } function rBiomeA4() { return rba4; } function rBiomeA5() { return rba5; } function rBiomeA6() { return rba6; } function rBiomeA7() { return rba7; } function rBiomeA8() { return rba8; } function rBiomeA9() { return rba9; } \ No newline at end of file +///////////////////////////////////////////////////////////////////////////////////////////// // definitions ///////////////////////////////////////////////////////////////////////////////////////////// var biomeID = 1; var rbt1 = ["temp_grass_long_b"]; var rbt2 = "temp_forestfloor_pine"; var rbt3 = "temp_plants_bog"; var rbt4 = ["temp_cliff_a", "temp_cliff_b"]; var rbt5 = "temp_grass_d"; var rbt6 = "temp_grass_c"; var rbt7 = "temp_grass_clovers_2"; var rbt8 = ["temp_dirt_gravel", "temp_dirt_gravel_b"]; var rbt9 = ["temp_dirt_gravel", "temp_dirt_gravel_b"]; var rbt10 = "temp_road"; var rbt11 = "temp_road_overgrown"; var rbt12 = "temp_grass_plants"; var rbt13 = "temp_mud_plants"; var rbt14 = "sand_grass_25"; var rbt15 = "medit_sand_wet"; // gaia entities var rbe1 = "gaia/flora_tree_oak"; var rbe2 = "gaia/flora_tree_oak_large"; var rbe3 = "gaia/flora_tree_apple"; var rbe4 = "gaia/flora_tree_pine"; var rbe5 = "gaia/flora_tree_aleppo_pine"; var rbe6 = "gaia/flora_bush_berry"; var rbe7 = "gaia/fauna_chicken"; var rbe8 = "gaia/fauna_deer"; var rbe9 = "gaia/fauna_fish"; var rbe10 = "gaia/fauna_sheep"; var rbe11 = "gaia/geology_stonemine_medit_quarry"; var rbe12 = "gaia/geology_stone_mediterranean"; var rbe13 = "gaia/geology_metal_mediterranean_slabs"; // decorative props var rba1 = "actor|props/flora/grass_soft_large_tall.xml"; var rba2 = "actor|props/flora/grass_soft_large.xml"; var rba3 = "actor|props/flora/reeds_pond_lush_a.xml"; var rba4 = "actor|props/flora/pond_lillies_large.xml"; var rba5 = "actor|geology/stone_granite_large.xml"; var rba6 = "actor|geology/stone_granite_med.xml"; var rba7 = "actor|props/flora/bush_medit_me.xml"; var rba8 = "actor|props/flora/bush_medit_sm.xml"; var rba9 = "actor|flora/trees/oak.xml"; ///////////////////////////////////////////////////////////////////////////////////////////// // randomizeBiome: randomizes the biomeID and returns the value ///////////////////////////////////////////////////////////////////////////////////////////// function randomizeBiome() { var random_sky = randInt(1,3) if (random_sky==1) setSkySet("cirrus"); else if (random_sky ==2) setSkySet("cumulus"); else if (random_sky ==3) setSkySet("sunny"); setSunRotation(randFloat(0, TWO_PI)); setSunElevation(randFloat(PI/ 6, PI / 3)); setUnitsAmbientColour(0.57, 0.58, 0.55); setTerrainAmbientColour(0.447059, 0.509804, 0.54902); biomeID = randInt(1,8); //temperate if (biomeID == 1){ // temperate ocean blue, a bit too deep and saturated perhaps but it looks nicer. // this assumes ocean settings, maps that aren't oceans should reset. setWaterColour(0.114, 0.192, 0.463); setWaterTint(0.255, 0.361, 0.651); setWaterReflectionTint(0.255, 0.361, 0.651); setWaterWaviness(5.5); setWaterMurkiness(0.83); setWaterReflectionTintStrength(0.05); setFogThickness(0.25); setFogFactor(0.4); setPPEffect("hdr"); setPPSaturation(0.62); setPPContrast(0.62); setPPBloom(0.3); if (randInt(2)) { rbt1 = "alpine_grass"; rbt2 = "temp_forestfloor_pine"; rbt3 = "temp_grass_clovers_2"; rbt5 = "alpine_grass_a"; rbt6 = "alpine_grass_b"; rbt7 = "alpine_grass_c"; rbt12 = "temp_grass_mossy"; } else { rbt1 = "temp_grass_long_b"; rbt2 = "temp_forestfloor_pine"; rbt3 = "temp_plants_bog"; rbt5 = "temp_grass_d"; rbt6 = "temp_grass_c"; rbt7 = "temp_grass_clovers_2"; rbt12 = "temp_grass_plants"; } rbt4 = ["temp_cliff_a", "temp_cliff_b"]; rbt8 = ["temp_dirt_gravel", "temp_dirt_gravel_b"]; rbt9 = ["temp_dirt_gravel", "temp_dirt_gravel_b"]; rbt10 = "temp_road"; rbt11 = "temp_road_overgrown"; rbt13 = "temp_mud_plants"; rbt14 = "sand_grass_25"; rbt15 = "medit_sand_wet"; // gaia entities var random_trees = randInt(3); if (random_trees == 0) { rbe1 = "gaia/flora_tree_oak"; rbe2 = "gaia/flora_tree_oak_large"; } else if (random_trees == 1) { rbe1 = "gaia/flora_tree_poplar"; rbe2 = "gaia/flora_tree_poplar"; } else { rbe1 = "gaia/flora_tree_euro_beech"; rbe2 = "gaia/flora_tree_euro_beech"; } rbe3 = "gaia/flora_tree_apple"; random_trees = randInt(3); if (random_trees == 0) { rbe4 = "gaia/flora_tree_pine"; rbe5 = "gaia/flora_tree_aleppo_pine"; } else if (random_trees == 1) { rbe4 = "gaia/flora_tree_pine"; rbe5 = "gaia/flora_tree_pine"; } else { rbe4 = "gaia/flora_tree_aleppo_pine"; rbe5 = "gaia/flora_tree_aleppo_pine"; } rbe6 = "gaia/flora_bush_berry"; rbe7 = "gaia/fauna_chicken"; rbe8 = "gaia/fauna_deer"; rbe9 = "gaia/fauna_fish"; rbe10 = "gaia/fauna_sheep"; rbe11 = "gaia/geology_stonemine_temperate_quarry"; rbe12 = "gaia/geology_stone_temperate"; rbe13 = "gaia/geology_metal_temperate_slabs"; // decorative props rba1 = "actor|props/flora/grass_soft_large_tall.xml"; rba2 = "actor|props/flora/grass_soft_large.xml"; rba3 = "actor|props/flora/reeds_pond_lush_a.xml"; rba4 = "actor|props/flora/water_lillies.xml"; rba5 = "actor|geology/stone_granite_large.xml"; rba6 = "actor|geology/stone_granite_med.xml"; rba7 = "actor|props/flora/bush_medit_me.xml"; rba8 = "actor|props/flora/bush_medit_sm.xml"; rba9 = "actor|flora/trees/oak.xml"; } //snowy else if (biomeID == 2) { setSunColour(0.550, 0.601, 0.644); // a little darker // Water is a semi-deep blue, fairly wavy, fairly murky for an ocean. // this assumes ocean settings, maps that aren't oceans should reset. setWaterColour(0.067, 0.212, 0.361); setWaterTint(0.4, 0.486, 0.765); setWaterReflectionTint(0.482, 0.824, 0.925); setWaterWaviness(5.5); setWaterMurkiness(0.83); setWaterReflectionTintStrength(0.15); rbt1 = ["polar_snow_b", "snow grass 75", "snow rocks", "snow forest"]; rbt2 = "polar_tundra_snow"; rbt3 = "polar_tundra_snow"; rbt4 = ["alpine_cliff_a", "alpine_cliff_b"]; rbt5 = "polar_snow_a"; rbt6 = "polar_ice_snow"; rbt7 = "polar_ice"; rbt8 = ["polar_snow_rocks", "polar_cliff_snow"]; rbt9 = "snow grass 2"; rbt10 = "new_alpine_citytile"; rbt11 = "polar_ice_cracked"; rbt12 = "snow grass 2"; rbt13 = "polar_ice"; rbt14 = "alpine_shore_rocks_icy"; rbt15 = "alpine_shore_rocks"; // gaia entities rbe1 = "gaia/flora_tree_pine_w"; rbe2 = "gaia/flora_tree_pine_w"; rbe3 = "gaia/flora_tree_pine_w"; rbe4 = "gaia/flora_tree_pine_w"; rbe5 = "gaia/flora_tree_pine"; rbe6 = "gaia/flora_bush_berry"; rbe7 = "gaia/fauna_chicken"; rbe8 = "gaia/fauna_muskox"; rbe9 = "gaia/fauna_fish_tuna"; rbe10 = "gaia/fauna_walrus"; rbe11 = "gaia/geology_stonemine_alpine_quarry"; rbe12 = "gaia/geology_stone_alpine_a"; rbe13 = "gaia/geology_metal_alpine_slabs"; // decorative props rba1 = "actor|props/flora/grass_soft_dry_small_tall.xml"; rba2 = "actor|props/flora/grass_soft_dry_large.xml"; rba3 = "actor|props/flora/reeds_pond_dry.xml"; rba4 = "actor|geology/stone_granite_large.xml"; rba5 = "actor|geology/stone_granite_large.xml"; rba6 = "actor|geology/stone_granite_med.xml"; rba7 = "actor|props/flora/bush_desert_dry_a.xml"; rba8 = "actor|props/flora/bush_desert_dry_a.xml"; rba9 = "actor|flora/trees/pine_w.xml"; setFogFactor(0.6); setFogThickness(0.21); setPPSaturation(0.37); setPPEffect("hdr"); } //desert else if (biomeID == 3) { setSunColour(0.733, 0.746, 0.574); // Went for a very clear, slightly blue-ish water in this case, basically no waves. setWaterColour(0, 0.227, 0.843); setWaterTint(0, 0.545, 0.859); setWaterReflectionTint(1, 1, 1); setWaterWaviness(1); setWaterMurkiness(0.22); setWaterReflectionTintStrength(0.0); setFogFactor(0.5); setFogThickness(0.0); setFogColor(0.852, 0.746, 0.493); setPPEffect("hdr"); setPPContrast(0.67); setPPSaturation(0.42); setPPBloom(0.23); rbt1 = ["desert_dirt_rough", "desert_dirt_rough_2", "desert_sand_dunes_50", "desert_sand_smooth"]; rbt2 = "forestfloor_dirty"; rbt3 = "desert_forestfloor_palms"; rbt4 = ["desert_cliff_1", "desert_cliff_2", "desert_cliff_3", "desert_cliff_4", "desert_cliff_5"]; rbt5 = "desert_dirt_rough"; rbt6 = "desert_dirt_rocks_1"; rbt7 = "desert_dirt_rocks_2"; rbt8 = ["desert_dirt_rocks_1", "desert_dirt_rocks_2", "desert_dirt_rocks_3"]; rbt9 = ["desert_lakebed_dry", "desert_lakebed_dry_b"]; rbt10 = "desert_city_tile"; rbt11 = "desert_city_tile"; rbt12 = "desert_dirt_rough"; rbt13 = "desert_shore_stones"; rbt14 = "desert_sand_smooth"; rbt15 = "desert_sand_wet"; // gaia entities if (randInt(2)) { rbe1 = "gaia/flora_tree_cretan_date_palm_short"; rbe2 = "gaia/flora_tree_cretan_date_palm_tall"; } else { rbe1 = "gaia/flora_tree_date_palm"; rbe2 = "gaia/flora_tree_date_palm"; } rbe3 = "gaia/flora_tree_fig"; if (randInt(2)) { rbe4 = "gaia/flora_tree_tamarix"; rbe5 = "gaia/flora_tree_tamarix"; } else { rbe4 = "gaia/flora_tree_senegal_date_palm"; rbe5 = "gaia/flora_tree_senegal_date_palm"; } rbe6 = "gaia/flora_bush_grapes"; rbe7 = "gaia/fauna_chicken"; rbe8 = "gaia/fauna_camel"; rbe9 = "gaia/fauna_fish"; rbe10 = "gaia/fauna_gazelle"; rbe11 = "gaia/geology_stonemine_desert_quarry"; rbe12 = "gaia/geology_stone_desert_small"; rbe13 = "gaia/geology_metal_desert_slabs"; // decorative props rba1 = "actor|props/flora/grass_soft_dry_small_tall.xml"; rba2 = "actor|props/flora/grass_soft_dry_large.xml"; rba3 = "actor|props/flora/reeds_pond_lush_a.xml"; rba4 = "actor|props/flora/reeds_pond_lush_b.xml"; rba5 = "actor|geology/stone_desert_med.xml"; rba6 = "actor|geology/stone_desert_med.xml"; rba7 = "actor|props/flora/bush_desert_dry_a.xml"; rba8 = "actor|props/flora/bush_desert_dry_a.xml"; rba9 = "actor|flora/trees/palm_date.xml"; } //alpine else if (biomeID == 4) { // simulates an alpine lake, fairly deep. // this is not intended for a clear running river, or even an ocean. setWaterColour(0.0, 0.047, 0.286); // dark majestic blue setWaterTint(0.471, 0.776, 0.863); // light blue setWaterReflectionTint(0.0, 0.047, 0.286); setWaterMurkiness(0.82); setWaterWaviness(2); setWaterReflectionTintStrength(0.15); setFogThickness(0.26); setFogFactor(0.4); setPPEffect("hdr"); setPPSaturation(0.48); setPPContrast(0.53); setPPBloom(0.12); rbt1 = ["alpine_dirt_grass_50"]; rbt2 = "alpine_forrestfloor"; rbt3 = "alpine_forrestfloor"; rbt4 = ["alpine_cliff_a", "alpine_cliff_b", "alpine_cliff_c"]; rbt5 = "alpine_dirt"; rbt6 = ["alpine_grass_snow_50", "alpine_dirt_snow", "alpine_dirt_snow"]; rbt7 = ["alpine_snow_a", "alpine_snow_b"]; rbt8 = "alpine_cliff_snow"; rbt9 = ["alpine_dirt", "alpine_grass_d"]; rbt10 = "new_alpine_citytile"; rbt11 = "new_alpine_citytile"; rbt12 = "new_alpine_grass_a"; rbt13 = "alpine_shore_rocks"; rbt14 = "alpine_shore_rocks_grass_50"; rbt15 = "alpine_shore_rocks"; // gaia entities rbe1 = "gaia/flora_tree_pine"; rbe2 = "gaia/flora_tree_pine"; rbe3 = "gaia/flora_tree_pine"; rbe4 = "gaia/flora_tree_pine"; rbe5 = "gaia/flora_tree_pine"; rbe6 = "gaia/flora_bush_berry"; rbe7 = "gaia/fauna_chicken"; rbe8 = "gaia/fauna_goat"; rbe9 = "gaia/fauna_fish_tuna"; rbe10 = "gaia/fauna_deer"; rbe11 = "gaia/geology_stonemine_alpine_quarry"; rbe12 = "gaia/geology_stone_alpine_a"; rbe13 = "gaia/geology_metal_alpine_slabs"; // decorative props rba1 = "actor|props/flora/grass_soft_small_tall.xml"; rba2 = "actor|props/flora/grass_soft_large.xml"; rba3 = "actor|props/flora/reeds_pond_dry.xml"; rba4 = "actor|geology/stone_granite_large.xml"; rba5 = "actor|geology/stone_granite_large.xml"; rba6 = "actor|geology/stone_granite_med.xml"; rba7 = "actor|props/flora/bush_desert_a.xml"; rba8 = "actor|props/flora/bush_desert_a.xml"; rba9 = "actor|flora/trees/pine.xml"; } //medit else if (biomeID == 5) { // Guess what, this is based on the colors of the mediterranean sea. setWaterColour(0.024,0.212,0.024); setWaterTint(0.133, 0.725,0.855); setWaterReflectionTint(0.31,0.769,0.894); setWaterWaviness(3); setWaterMurkiness(0.8); setWaterReflectionTintStrength(0.1); setFogFactor(0.3); setFogThickness(0.25); setPPEffect("hdr"); setPPContrast(0.62); setPPSaturation(0.51); setPPBloom(0.12); rbt1 = ["medit_grass_field_a", "medit_grass_field_b"]; rbt2 = "medit_grass_field"; rbt3 = "medit_grass_shrubs"; rbt4 = ["medit_cliff_grass", "medit_cliff_greek", "medit_cliff_greek_2", "medit_cliff_aegean", "medit_cliff_italia", "medit_cliff_italia_grass"]; rbt5 = "medit_grass_field_b"; rbt6 = "medit_grass_field_brown"; rbt7 = "medit_grass_field_dry"; rbt8 = ["medit_rocks_grass_shrubs", "medit_rocks_shrubs"]; rbt9 = ["medit_dirt", "medit_dirt_b"]; rbt10 = "medit_city_tile"; rbt11 = "medit_city_tile"; rbt12 = "medit_grass_wild"; rbt13 = "medit_sand"; rbt14 = "sand_grass_25"; rbt15 = "medit_sand_wet"; // gaia entities var random_trees = randInt(3); if (random_trees == 0) { rbe1 = "gaia/flora_tree_cretan_date_palm_short"; rbe2 = "gaia/flora_tree_cretan_date_palm_tall"; } else if (random_trees == 1) { rbe1 = "gaia/flora_tree_carob"; rbe2 = "gaia/flora_tree_carob"; } else { rbe1 = "gaia/flora_tree_medit_fan_palm"; rbe2 = "gaia/flora_tree_medit_fan_palm"; } if (randInt(2)) { rbe3 = "gaia/flora_tree_apple"; } else { rbe3 = "gaia/flora_tree_poplar_lombardy"; } if (randInt(2)) { rbe4 = "gaia/flora_tree_cypress"; rbe5 = "gaia/flora_tree_cypress"; } else { rbe4 = "gaia/flora_tree_aleppo_pine"; rbe5 = "gaia/flora_tree_aleppo_pine"; } if (randInt(2)) rbe6 = "gaia/flora_bush_berry"; else rbe6 = "gaia/flora_bush_grapes"; rbe7 = "gaia/fauna_chicken"; rbe8 = "gaia/fauna_deer"; rbe9 = "gaia/fauna_fish"; rbe10 = "gaia/fauna_sheep"; rbe11 = "gaia/geology_stonemine_medit_quarry"; rbe12 = "gaia/geology_stone_mediterranean"; rbe13 = "gaia/geology_metal_mediterranean_slabs"; // decorative props rba1 = "actor|props/flora/grass_soft_large_tall.xml"; rba2 = "actor|props/flora/grass_soft_large.xml"; rba3 = "actor|props/flora/reeds_pond_lush_b.xml"; rba4 = "actor|props/flora/water_lillies.xml"; rba5 = "actor|geology/stone_granite_large.xml"; rba6 = "actor|geology/stone_granite_med.xml"; rba7 = "actor|props/flora/bush_medit_me.xml"; rba8 = "actor|props/flora/bush_medit_sm.xml"; rba9 = "actor|flora/trees/palm_cretan_date.xml"; } //savanah else if (biomeID == 6) { // Using the Malawi as a reference, in parts where it's not too murky from a river nearby. setWaterColour(0.055,0.176,0.431); setWaterTint(0.227,0.749,0.549); setWaterReflectionTint(1,1,1); setWaterWaviness(1.5); setWaterMurkiness(0.77); setWaterReflectionTintStrength(0.0); setFogFactor(0.25); setFogThickness(0.15); setFogColor(0.847059, 0.737255, 0.482353); setPPEffect("hdr"); setPPContrast(0.57031); setPPBloom(0.34); rbt1 = ["savanna_grass_a", "savanna_grass_b"]; rbt2 = "savanna_forestfloor_a"; rbt3 = "savanna_forestfloor_b"; rbt4 = ["savanna_cliff_a", "savanna_cliff_b"]; rbt5 = "savanna_shrubs_a"; rbt6 = "savanna_dirt_rocks_b"; rbt7 = "savanna_dirt_rocks_a"; rbt8 = ["savanna_grass_a", "savanna_grass_b"]; rbt9 = ["savanna_dirt_rocks_b", "dirt_brown_e"]; rbt10 = "savanna_tile_a"; rbt11 = "savanna_tile_a"; rbt12 = "savanna_grass_a"; rbt13 = "savanna_riparian"; rbt14 = "savanna_riparian_bank"; rbt15 = "savanna_riparian_wet"; // gaia entities rbe1 = "gaia/flora_tree_baobab"; rbe2 = "gaia/flora_tree_baobab"; rbe3 = "gaia/flora_tree_baobab"; rbe4 = "gaia/flora_tree_baobab"; rbe5 = "gaia/flora_tree_baobab"; rbe6 = "gaia/flora_bush_grapes"; rbe7 = "gaia/fauna_chicken"; var rts = randInt(1,4); if (rts==1){ rbe8 = "gaia/fauna_wildebeest"; } else if (rts==2) { rbe8 = "gaia/fauna_zebra"; } else if (rts==3) { rbe8 = "gaia/fauna_giraffe"; } else if (rts==4) { rbe8 = "gaia/fauna_elephant_african_bush"; } rbe9 = "gaia/fauna_fish"; rbe10 = "gaia/fauna_gazelle"; rbe11 = "gaia/geology_stonemine_desert_quarry"; rbe12 = "gaia/geology_stone_savanna_small"; rbe13 = "gaia/geology_metal_savanna_slabs"; // decorative props rba1 = "actor|props/flora/grass_savanna.xml"; rba2 = "actor|props/flora/grass_medit_field.xml"; rba3 = "actor|props/flora/reeds_pond_lush_a.xml"; rba4 = "actor|props/flora/reeds_pond_lush_b.xml"; rba5 = "actor|geology/stone_savanna_med.xml"; rba6 = "actor|geology/stone_savanna_med.xml"; rba7 = "actor|props/flora/bush_desert_dry_a.xml"; rba8 = "actor|props/flora/bush_dry_a.xml"; rba9 = "actor|flora/trees/baobab.xml"; } //tropic else if (biomeID == 7) { // Bora-Bora ish. Quite transparent, not wavy. // Mostly for shallow maps. Maps where the water level goes deeper should use a much darker Water Colour to simulate deep water holes. setWaterColour(0.584,0.824,0.929); setWaterTint(0.569,0.965,0.945); setWaterReflectionTint(1,1,1); setWaterWaviness(1.5); setWaterMurkiness(0.35); setWaterReflectionTintStrength(0.0); setFogFactor(0.4); setFogThickness(0.2); setPPEffect("hdr"); setPPContrast(0.67); setPPSaturation(0.62); setPPBloom(0.6); rbt1 = ["tropic_grass_c", "tropic_grass_c", "tropic_grass_c", "tropic_grass_c", "tropic_grass_plants", "tropic_plants", "tropic_plants_b"]; rbt2 = "tropic_plants_c"; rbt3 = "tropic_plants_c"; rbt4 = ["tropic_cliff_a", "tropic_cliff_a", "tropic_cliff_a", "tropic_cliff_a_plants"]; rbt5 = "tropic_grass_c"; rbt6 = "tropic_grass_plants"; rbt7 = "tropic_plants"; rbt8 = ["tropic_cliff_grass"]; rbt9 = ["tropic_dirt_a", "tropic_dirt_a_plants"]; rbt10 = "tropic_citytile_a"; rbt11 = "tropic_citytile_plants"; rbt12 = "tropic_plants_b"; rbt13 = "temp_mud_plants"; rbt14 = "tropic_beach_dry_plants"; rbt15 = "tropic_beach_dry"; // gaia entities rbe1 = "gaia/flora_tree_toona"; rbe2 = "gaia/flora_tree_toona"; rbe3 = "gaia/flora_tree_palm_tropic"; rbe4 = "gaia/flora_tree_palm_tropic"; rbe5 = "gaia/flora_tree_palm_tropic"; rbe6 = "gaia/flora_bush_berry"; rbe7 = "gaia/fauna_chicken"; rbe8 = "gaia/fauna_peacock"; rbe9 = "gaia/fauna_fish"; rbe10 = "gaia/fauna_tiger"; rbe11 = "gaia/geology_stonemine_tropic_quarry"; rbe12 = "gaia/geology_stone_tropic_a"; rbe13 = "gaia/geology_metal_tropic_slabs"; // decorative props rba1 = "actor|props/flora/plant_tropic_a.xml"; rba2 = "actor|props/flora/plant_lg.xml"; rba3 = "actor|props/flora/reeds_pond_lush_b.xml"; rba4 = "actor|props/flora/water_lillies.xml"; rba5 = "actor|geology/stone_granite_large.xml"; rba6 = "actor|geology/stone_granite_med.xml"; rba7 = "actor|props/flora/plant_tropic_large.xml"; rba8 = "actor|props/flora/plant_tropic_large.xml"; rba9 = "actor|flora/trees/tree_tropic.xml"; } //autumn else if (biomeID == 8) { // basically temperate with a reddish twist in the reflection and the tint. Also less wavy. // this assumes ocean settings, maps that aren't oceans should reset. setWaterColour(0.157, 0.149, 0.443); setWaterTint(0.443,0.42,0.824); setWaterReflectionTint(0.863,0.667,0.608); setWaterWaviness(2.5); setWaterMurkiness(0.83); setWaterReflectionTintStrength(0.35); setFogFactor(0.35); setFogThickness(0.22); setFogColor(0.82,0.82, 0.73); setPPSaturation(0.56); setPPContrast(0.56); setPPBloom(0.38); setPPEffect("hdr"); rbt1 = ["temp_grass_aut", "temp_grass_aut", "temp_grass_d_aut"]; rbt2 = "temp_plants_bog_aut"; rbt3 = "temp_forestfloor_aut"; rbt4 = ["temp_cliff_a", "temp_cliff_b"]; rbt5 = "temp_grass_plants_aut"; rbt6 = ["temp_grass_b_aut", "temp_grass_c_aut"]; rbt7 = ["temp_grass_b_aut", "temp_grass_long_b_aut"]; rbt8 = "temp_highlands_aut"; rbt9 = ["temp_cliff_a", "temp_cliff_b"]; rbt10 = "temp_road_aut"; rbt11 = "temp_road_overgrown_aut"; rbt12 = "temp_grass_plants_aut"; rbt13 = "temp_grass_plants_aut"; rbt14 = "temp_forestfloor_pine"; rbt15 = "medit_sand_wet"; // gaia entities rbe1 = "gaia/flora_tree_euro_beech_aut"; rbe2 = "gaia/flora_tree_euro_beech_aut"; rbe3 = "gaia/flora_tree_pine"; rbe4 = "gaia/flora_tree_oak_aut"; rbe5 = "gaia/flora_tree_oak_aut"; rbe6 = "gaia/flora_bush_berry"; rbe7 = "gaia/fauna_chicken"; rbe8 = "gaia/fauna_deer"; rbe9 = "gaia/fauna_fish"; rbe10 = "gaia/fauna_rabbit"; rbe11 = "gaia/geology_stonemine_temperate_quarry"; rbe12 = "gaia/geology_stone_temperate"; rbe13 = "gaia/geology_metal_temperate_slabs"; // decorative props rba1 = "actor|props/flora/grass_soft_dry_small_tall.xml"; rba2 = "actor|props/flora/grass_soft_dry_large.xml"; rba3 = "actor|props/flora/reeds_pond_dry.xml"; rba4 = "actor|geology/stone_granite_large.xml"; rba5 = "actor|geology/stone_granite_large.xml"; rba6 = "actor|geology/stone_granite_med.xml"; rba7 = "actor|props/flora/bush_desert_dry_a.xml"; rba8 = "actor|props/flora/bush_desert_dry_a.xml"; rba9 = "actor|flora/trees/european_beech_aut.xml"; } return biomeID; } ///////////////////////////////////////////////////////////////////////////////////////////// // These functions return the values needed for a randomized biome ///////////////////////////////////////////////////////////////////////////////////////////// function rBiomeT1() { return rbt1; } function rBiomeT2() { return rbt2; } function rBiomeT3() { return rbt3; } function rBiomeT4() { return rbt4; } function rBiomeT5() { return rbt5; } function rBiomeT6() { return rbt6; } function rBiomeT7() { return rbt7; } function rBiomeT8() { return rbt8; } function rBiomeT9() { return rbt9; } function rBiomeT10() { return rbt10; } function rBiomeT11() { return rbt11; } function rBiomeT12() { return rbt12; } function rBiomeT13() { return rbt13; } function rBiomeT14() { return rbt14; } function rBiomeT15() { return rbt15; } function rBiomeE1() { return rbe1; } function rBiomeE2() { return rbe2; } function rBiomeE3() { return rbe3; } function rBiomeE4() { return rbe4; } function rBiomeE5() { return rbe5; } function rBiomeE6() { return rbe6; } function rBiomeE7() { return rbe7; } function rBiomeE8() { return rbe8; } function rBiomeE9() { return rbe9; } function rBiomeE10() { return rbe10; } function rBiomeE11() { return rbe11; } function rBiomeE12() { return rbe12; } function rBiomeE13() { return rbe13; } function rBiomeA1() { return rba1; } function rBiomeA2() { return rba2; } function rBiomeA3() { return rba3; } function rBiomeA4() { return rba4; } function rBiomeA5() { return rba5; } function rBiomeA6() { return rba6; } function rBiomeA7() { return rba7; } function rBiomeA8() { return rba8; } function rBiomeA9() { return rba9; } \ No newline at end of file