Index: binaries/data/mods/public/maps/random/persian_highlands.js =================================================================== --- binaries/data/mods/public/maps/random/persian_highlands.js +++ binaries/data/mods/public/maps/random/persian_highlands.js @@ -72,8 +72,12 @@ var clRock = createTileClass(); var clMetal = createTileClass(); var clFood = createTileClass(); -var clBaseResource = createTileClass(); -var clCP = createTileClass(); +var clBaseChicken = createTileClass(); +var clBaseGrapes = createTileClass(); +var clBaseMetal = createTileClass(); +var clBaseRock = createTileClass(); +var clCentralPlateau = createTileClass(); +var clCity = createTileClass(); for (var ix = 0; ix < mapSize; ix++) { @@ -131,23 +135,24 @@ var cityRadius = 10; placer = new ClumpPlacer(PI*cityRadius*cityRadius, 0.6, 0.3, 10, ix, iz); var painter = new LayeredPainter([tCity, tCity], [3]); - createArea(placer, painter, null); + createArea(placer, [painter, paintClass(clCity)], null); // create starting units placeCivDefaultEntities(fx, fz, id); - placeDefaultChicken(fx, fz, clBaseResource); + // create chicken + placeDefaultChicken(fx, fz, clBaseChicken, avoidClasses(clBaseChicken, 15)); // create berry bushes var bbAngle = randFloat(0, TWO_PI); - var bbDist = 12; + var bbDist = 9; var bbX = round(fx + bbDist * cos(bbAngle)); var bbZ = round(fz + bbDist * sin(bbAngle)); var group = new SimpleGroup( - [new SimpleObject(oGrapesBush, 5,5, 0,3)], - true, clBaseResource, bbX, bbZ + [new SimpleObject(oGrapesBush, 5,5, 2,3)], + true, clBaseGrapes, bbX, bbZ ); - createObjectGroup(group, 0); + createObjectGroup(group, 0, avoidClasses(clBaseChicken, 1)); // create metal mine var mAngle = bbAngle; @@ -160,9 +165,9 @@ var mZ = round(fz + mDist * sin(mAngle)); group = new SimpleGroup( [new SimpleObject(oMetalLarge, 1,1, 0,0), new RandomObject(aBushes, 2,4, 0,2)], - true, clBaseResource, mX, mZ + true, clBaseMetal, mX, mZ ); - createObjectGroup(group, 0); + createObjectGroup(group, 0, avoidClasses(clBaseChicken, 1, clBaseGrapes, 1)); // create stone mines mAngle += randFloat(PI/8, PI/4); @@ -170,21 +175,9 @@ mZ = round(fz + mDist * sin(mAngle)); group = new SimpleGroup( [new SimpleObject(oStoneLarge, 1,1, 0,2), new RandomObject(aBushes, 2,4, 0,2)], - true, clBaseResource, mX, mZ + true, clBaseRock, mX, mZ ); - createObjectGroup(group, 0); - - // create starting trees - var num = 3; - var tAngle = randFloat(-PI/3, 4*PI/3); - var tDist = randFloat(11, 13); - var tX = round(fx + tDist * cos(tAngle)); - var tZ = round(fz + tDist * sin(tAngle)); - group = new SimpleGroup( - [new SimpleObject(oOak, num, num, 0,5)], - false, clBaseResource, tX, tZ - ); - createObjectGroup(group, 0, avoidClasses(clBaseResource,2)); + createObjectGroup(group, 0, avoidClasses(clBaseChicken, 1, clBaseGrapes, 1, clBaseMetal, 2)); } RMS.SetProgress(10); @@ -219,14 +212,14 @@ RMS.SetProgress(25); -// create centeral plateau -log("Creating centeral plateau..."); +// create central plateau +log("Creating central plateau..."); var halfSize = mapSize / 2; var oRadius = scaleByMapSize(18, 68); placer = new ChainPlacer(2, floor(scaleByMapSize(5, 13)), floor(scaleByMapSize(35, 200)), 1, halfSize, halfSize, 0, [floor(oRadius)]); painter = new LayeredPainter([tLakebed2, tLakebed1], [6]); var elevationPainter = new SmoothElevationPainter(ELEVATION_MODIFY, -10, 8); -createArea(placer, [painter, elevationPainter, paintClass(clCP)], avoidClasses(clPlayer, 18)); +createArea(placer, [painter, elevationPainter, paintClass(clCentralPlateau)], avoidClasses(clPlayer, 18)); RMS.SetProgress(30); @@ -242,7 +235,7 @@ floor(scaleByMapSize(3, 4)), floor(scaleByMapSize(6, 12)), floor(scaleByMapSize(4, 10)), - avoidClasses(clPlayer, 7, clCP, 5, clHill, floor(scaleByMapSize(18, 25))), + avoidClasses(clPlayer, 7, clCentralPlateau, 5, clHill, floor(scaleByMapSize(18, 25))), randIntExclusive(0, mapSize), randIntExclusive(0, mapSize), tCliff, @@ -280,7 +273,7 @@ createAreas( placer, [painter, paintClass(clForest)], - avoidClasses(clPlayer, 6, clForest, 10, clHill, 1, clCP, 1), + avoidClasses(clPlayer, 6, clForest, 10, clHill, 1, clCentralPlateau, 1), num ); } @@ -292,14 +285,14 @@ // create large stone quarries group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4), new RandomObject(aBushes, 2,4, 0,2)], true, clRock); createObjectGroups(group, 0, - [avoidClasses(clForest, 1, clPlayer, 10, clRock, 10, clHill, 1, clCP, 1)], + [avoidClasses(clForest, 1, clPlayer, 10, clRock, 10, clHill, 1, clCentralPlateau, 1)], scaleByMapSize(2,8), 100 ); // create small stone quarries group = new SimpleGroup([new SimpleObject(oStoneSmall, 2,5, 1,3), new RandomObject(aBushes, 2,4, 0,2)], true, clRock); createObjectGroups(group, 0, - [avoidClasses(clForest, 1, clPlayer, 10, clRock, 10, clHill, 1, clCP, 1)], + [avoidClasses(clForest, 1, clPlayer, 10, clRock, 10, clHill, 1, clCentralPlateau, 1)], scaleByMapSize(2,8), 100 ); @@ -307,31 +300,31 @@ // create large metal quarries group = new SimpleGroup([new SimpleObject(oMetalLarge, 1,1, 0,4), new RandomObject(aBushes, 2,4, 0,2)], true, clMetal); createObjectGroups(group, 0, - [avoidClasses(clForest, 1, clPlayer, 10, clMetal, 10, clRock, 5, clHill, 1, clCP, 1)], + [avoidClasses(clForest, 1, clPlayer, 10, clMetal, 10, clRock, 5, clHill, 1, clCentralPlateau, 1)], scaleByMapSize(2,8), 100 ); -log("Creating centeral stone mines..."); +log("Creating central stone mines..."); // create large stone quarries group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4), new RandomObject(aBushes, 2,4, 0,2)], true, clRock); createObjectGroups(group, 0, - stayClasses(clCP, 6), + stayClasses(clCentralPlateau, 6), 5*scaleByMapSize(5,30), 50 ); // create small stone quarries group = new SimpleGroup([new SimpleObject(oStoneSmall, 2,5, 1,3), new RandomObject(aBushes, 2,4, 0,2)], true, clRock); createObjectGroups(group, 0, - stayClasses(clCP, 6), + stayClasses(clCentralPlateau, 6), 5*scaleByMapSize(5,30), 50 ); -log("Creating centeral metal mines..."); +log("Creating central metal mines..."); // create large metal quarries group = new SimpleGroup([new SimpleObject(oMetalLarge, 1,1, 0,4), new RandomObject(aBushes, 2,4, 0,2)], true, clMetal); createObjectGroups(group, 0, - stayClasses(clCP, 6), + stayClasses(clCentralPlateau, 6), 5*scaleByMapSize(5,30), 50 ); @@ -351,7 +344,7 @@ RMS.SetProgress(65); -//create bushes +// create bushes log("Creating bushes..."); group = new SimpleGroup( [new SimpleObject(aBush2, 1,2, 0,1), new SimpleObject(aBush1, 1,3, 0,2)], @@ -372,7 +365,7 @@ true, clFood ); createObjectGroups(group, 0, - avoidClasses(clForest, 0, clPlayer, 1, clHill, 1, clFood, 20, clCP, 2), + avoidClasses(clForest, 0, clPlayer, 1, clHill, 1, clFood, 20, clCentralPlateau, 2, clCity, 15), 3 * numPlayers, 50 ); @@ -383,18 +376,18 @@ true, clFood ); createObjectGroups(group, 0, - avoidClasses(clForest, 0, clPlayer, 1, clHill, 1, clFood, 20, clCP, 2), + avoidClasses(clForest, 0, clPlayer, 1, clHill, 1, clFood, 20, clCentralPlateau, 2, clCity, 15), 3 * numPlayers, 50 ); // create grape bush log("Creating grape bush..."); group = new SimpleGroup( - [new SimpleObject(oGrapesBush, 5,7, 0,4)], + [new SimpleObject(oGrapesBush, 5,7, 2,3)], true, clFood ); createObjectGroups(group, 0, - avoidClasses(clForest, 0, clPlayer, 20, clHill, 1, clFood, 10, clCP, 2), + avoidClasses(clForest, 0, clPlayer, 20, clHill, 1, clFood, 10, clCentralPlateau, 2), randIntInclusive(1, 4) * numPlayers + 2, 50 ); @@ -405,7 +398,7 @@ true, clFood ); createObjectGroups(group, 0, - stayClasses(clCP, 2), + stayClasses(clCentralPlateau, 2), 3 * numPlayers, 50 ); @@ -423,7 +416,7 @@ true, clForest ); createObjectGroups(group, 0, - avoidClasses(clForest, 1, clHill, 1, clPlayer, 1, clMetal, 6, clRock, 6, clCP, 2), + avoidClasses(clForest, 1, clHill, 1, clPlayer, 1, clMetal, 6, clRock, 6, clCentralPlateau, 2, clCity, 15), num ); } Index: binaries/data/mods/public/maps/random/pompeii.js =================================================================== --- binaries/data/mods/public/maps/random/pompeii.js +++ binaries/data/mods/public/maps/random/pompeii.js @@ -9,7 +9,7 @@ log("Initializing tile classes..."); setBiome(5); initMapSettings(); -initTileClasses(["decorative"]); +initTileClasses(["decorative","volcano"]); log("Initializing environment..."); setSunColor(0.8, 0.8, 0.8); @@ -70,8 +70,10 @@ log("Copying heightmap..."); var scale = paintHeightmap(getHeightMap(), getTileMap(), getTilePallet(), (tile, x, y) => { - if (tile.indexOf("mud_slide") >= 0 || tile.indexOf("Lava") >= 0) + if (tile.indexOf("mud_slide") >= 0) addToClass(x, y, g_TileClasses.mountain); + else if (tile.indexOf("Lava") >= 0) + addToClass(x, y, g_TileClasses.volcano); }); log("Paint tile classes..."); @@ -106,6 +108,7 @@ g_TileClasses.forest, 2, g_TileClasses.mountain, 2, g_TileClasses.player, 12, + g_TileClasses.volcano, 2, g_TileClasses.water, 3 ], "sizes": ["normal"], @@ -118,6 +121,7 @@ g_TileClasses.forest, 2, g_TileClasses.mountain, 2, g_TileClasses.player, 12, + g_TileClasses.volcano, 2, g_TileClasses.water, 3 ], "sizes": ["normal"], @@ -137,6 +141,7 @@ g_TileClasses.player, 30, g_TileClasses.rock, 10, g_TileClasses.metal, 20, + g_TileClasses.volcano, 2, g_TileClasses.water, 3 ], "sizes": ["normal"], @@ -152,6 +157,7 @@ g_TileClasses.player, 30, g_TileClasses.rock, 20, g_TileClasses.metal, 10, + g_TileClasses.volcano, 2, g_TileClasses.water, 5 ], "sizes": ["normal"], @@ -186,6 +192,7 @@ g_TileClasses.mountain, 1, g_TileClasses.player, 20, g_TileClasses.rock, 2, + g_TileClasses.volcano, 10, g_TileClasses.water, 3 ], "sizes": ["normal"], @@ -212,6 +219,7 @@ g_TileClasses.mountain, 1, g_TileClasses.player, 12, g_TileClasses.rock, 2, + g_TileClasses.volcano, 1, g_TileClasses.water, 5 ], "sizes": ["normal"],