diff --git a/binaries/data/mods/public/maps/random/ambush.js b/binaries/data/mods/public/maps/random/ambush.js index aa4d6f822f..28ab7af48d 100644 --- a/binaries/data/mods/public/maps/random/ambush.js +++ b/binaries/data/mods/public/maps/random/ambush.js @@ -131,9 +131,9 @@ addElements(shuffleArray([ g_TileClasses.rock, 10, g_TileClasses.water, 3 ], - "sizes": ["tiny"], + "sizes": ["normal"], "mixes": ["same"], - "amounts": ["scarce"] + "amounts": ["normal"] }, { "func": addAnimals, @@ -142,13 +142,13 @@ addElements(shuffleArray([ g_TileClasses.forest, 2, g_TileClasses.metal, 2, g_TileClasses.mountain, 1, - g_TileClasses.player, 20, + g_TileClasses.player, 12, g_TileClasses.rock, 2, g_TileClasses.water, 3 ], - "sizes": ["tiny"], + "sizes": ["small", "normal"], "mixes": ["same"], - "amounts": ["scarce"] + "amounts": ["normal", "many"] }, { "func": addStragglerTrees, diff --git a/binaries/data/mods/public/maps/random/empire.json b/binaries/data/mods/public/maps/random/empire.json index 8636b8b06b..cafb5b8ea3 100644 --- a/binaries/data/mods/public/maps/random/empire.json +++ b/binaries/data/mods/public/maps/random/empire.json @@ -5,7 +5,7 @@ "Description" : "A neighboring province has pledged alegiance to your rule. It's up to you to command them to victory.", "BaseTerrain" : ["medit_sea_depths"], "BaseHeight" : 2, - "Keywords": ["demo"], + "Keywords": [], "Preview" : "empire.png", "CircularMap" : true } diff --git a/binaries/data/mods/public/maps/random/lions_den.json b/binaries/data/mods/public/maps/random/lions_den.json index f5e6f890ea..abc3970c15 100644 --- a/binaries/data/mods/public/maps/random/lions_den.json +++ b/binaries/data/mods/public/maps/random/lions_den.json @@ -6,7 +6,7 @@ "BaseTerrain" : ["medit_sea_depths"], "BaseHeight" : 50, "Preview" : "lions_den.png", - "Keywords": ["demo"], + "Keywords": [], "CircularMap" : true } } diff --git a/binaries/data/mods/public/maps/random/rmgen/setup.js b/binaries/data/mods/public/maps/random/rmgen/setup.js index 5192e0182c..f803dfdfd1 100644 --- a/binaries/data/mods/public/maps/random/rmgen/setup.js +++ b/binaries/data/mods/public/maps/random/rmgen/setup.js @@ -210,25 +210,9 @@ function createBase(player, walls) var painter = new LayeredPainter([g_Terrains.roadWild, g_Terrains.road], [1]); createArea(placer, painter, null); - // Custom base terrain function - - // Create animals - for (var j = 0; j < 2; ++j) - { - var aAngle = randFloat(0, TWO_PI); - var aDist = 7; - var aX = round(fx + aDist * cos(aAngle)); - var aZ = round(fz + aDist * sin(aAngle)); - var group = new SimpleGroup( - [new SimpleObject(g_Gaia.chicken, 5, 5, 0, 2)], - true, g_TileClasses.baseResource, aX, aZ - ); - createObjectGroup(group, 0, avoidClasses(g_TileClasses.baseResource, 2)); - } - - // Create berry bushes + // Create initial berry bushes at random angle var bbAngle = randFloat(0, TWO_PI); - var bbDist = 12; + var bbDist = 10; var bbX = round(fx + bbDist * cos(bbAngle)); var bbZ = round(fz + bbDist * sin(bbAngle)); group = new SimpleGroup( @@ -237,7 +221,7 @@ function createBase(player, walls) ); createObjectGroup(group, 0, avoidClasses(g_TileClasses.baseResource, 2)); - // Create metal mine + // Create metal mine at a different angle var mAngle = bbAngle; while(abs(mAngle - bbAngle) < PI / 3) mAngle = randFloat(0, TWO_PI); @@ -251,7 +235,7 @@ function createBase(player, walls) ); createObjectGroup(group, 0, avoidClasses(g_TileClasses.baseResource, 2)); - // Create stone mines + // Create stone mine beside metal mAngle += randFloat(PI / 8, PI / 4); mX = round(fx + mDist * cos(mAngle)); mZ = round(fz + mDist * sin(mAngle)); @@ -261,20 +245,45 @@ function createBase(player, walls) ); createObjectGroup(group, 0, avoidClasses(g_TileClasses.baseResource, 2)); + // Create initial chicken + for (var j = 0; j < 2; ++j) + { + for (var tries = 0; tries < 10; ++tries) + { + var aAngle = randFloat(0, TWO_PI); + var aDist = 9; + var aX = round(fx + aDist * cos(aAngle)); + var aZ = round(fz + aDist * sin(aAngle)); + + var group = new SimpleGroup( + [new SimpleObject(g_Gaia.chicken, 5, 5, 0, 2)], + true, g_TileClasses.baseResource, aX, aZ + ); + + if (createObjectGroup(group, 0, avoidClasses(g_TileClasses.baseResource, 4))) + break; + } + } + var hillSize = PI * g_MapInfo.mapRadius * g_MapInfo.mapRadius; // Create starting trees - var num = 5; - var tAngle = randFloat(0, TWO_PI); - var tDist = randFloat(12, 13); - var tX = round(fx + tDist * cos(tAngle)); - var tZ = round(fz + tDist * sin(tAngle)); + var num = 25; + for (var tries = 0; tries < 10; ++tries) + { + var tAngle = randFloat(0, TWO_PI); + var tDist = randFloat(12, 13); + var tX = round(fx + tDist * cos(tAngle)); + var tZ = round(fz + tDist * sin(tAngle)); + + group = new SimpleGroup( + [new SimpleObject(g_Gaia.tree1, num, num, 0, 3)], + false, g_TileClasses.baseResource, tX, tZ + ); - group = new SimpleGroup( - [new SimpleObject(g_Gaia.tree1, num, num, 0, 3)], - false, g_TileClasses.baseResource, tX, tZ - ); - createObjectGroup(group, 0, avoidClasses(g_TileClasses.baseResource, 2)); + if (createObjectGroup(group, 0, avoidClasses(g_TileClasses.baseResource, 4))) + break; + } // Create grass tufts var num = hillSize / 250; @@ -288,7 +297,7 @@ function createBase(player, walls) [new SimpleObject(g_Decoratives.grassShort, 2, 5, 0, 1, -PI / 8, PI / 8)], false, g_TileClasses.baseResource, gX, gZ ); - createObjectGroup(group, 0, avoidClasses(g_TileClasses.baseResource, 2)); + createObjectGroup(group, 0, avoidClasses(g_TileClasses.baseResource, 4)); } }