Delete good old paintClass and unPaintClass proxies and create the painters directly, like we do with the other painters too.

This was SVN commit r21001.
This commit is contained in:
elexis
2018-01-24 05:11:52 +00:00
parent 2177a2dca7
commit f27743348e
64 changed files with 252 additions and 268 deletions
@@ -171,7 +171,7 @@ createAreas(
[
new LayeredPainter([tShoreLower, tShoreUpper, tHill], [2 ,1]),
new SmoothElevationPainter(ELEVATION_SET, heightIsland, 4),
paintClass(clIsland)
new TileClassPainter(clIsland)
],
[avoidClasses(clPlayer, 8, clForest, 1, clIsland, 15), stayClasses (clWater, 6)],
scaleByMapSize(1, 4) * numPlayers
@@ -102,7 +102,7 @@ createAreas(
[
new LayeredPainter([tShore, tWater], [1]),
new SmoothElevationPainter(ELEVATION_SET, heightSeaGround, 7),
paintClass(clWater)
new TileClassPainter(clWater)
],
avoidClasses(clPlayer, 22, clWater, 8, clHill, 2),
scaleByMapSize(2, 5));
@@ -138,7 +138,7 @@ createAreas(
[
new LayeredPainter([tShore, tWater, tWater], [1, 3]),
new SmoothElevationPainter(ELEVATION_SET, heightSeaGround, 5),
paintClass(clWater)
new TileClassPainter(clWater)
],
avoidClasses(clPlayer, 20, clWater, 8),
scaleByMapSize(5, 16),
@@ -332,7 +332,7 @@ new MountainRangeBuilder({
"painters":[
new LayeredPainter([tCliff, tPrimary], [3]),
new SmoothElevationPainter(ELEVATION_SET, heightMountain, 2),
paintClass(clHill)
new TileClassPainter(clHill)
],
"constraint": avoidClasses(clPlayer, 20),
"passageWidth": scaleByMapSize(10, 15),
@@ -367,7 +367,7 @@ createAreas(
[
new LayeredPainter([tCliff, tSnowLimited], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightMountain, 2),
paintClass(clHill)
new TileClassPainter(clHill)
],
avoidClasses(clPlayer, 20, clHill, 14),
scaleByMapSize(10, 80) * numPlayers
@@ -388,7 +388,7 @@ for (let type of types)
new ClumpPlacer(forestTrees / num, 0.1, 0.1, 1),
[
new LayeredPainter(type, [2]),
paintClass(clForest)
new TileClassPainter(clForest)
],
avoidClasses(clPlayer, 12, clForest, 10, clHill, 0),
num);
@@ -400,7 +400,7 @@ for (let size of [scaleByMapSize(3, 48), scaleByMapSize(5, 84), scaleByMapSize(8
new ClumpPlacer(size, 0.3, 0.06, 0.5),
[
new LayeredPainter([[tDirt, tHalfSnow], [tHalfSnow, tSnowLimited]], [2]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(clForest, 0, clHill, 0, clDirt, 5, clPlayer, 12),
scaleByMapSize(15, 45));
@@ -12,7 +12,7 @@ initTileClasses();
createArea(
new MapBoundsPlacer(),
paintClass(g_TileClasses.land));
new TileClassPainter(g_TileClasses.land));
Engine.SetProgress(10);
@@ -91,7 +91,7 @@ for (let type of types)
new ChainPlacer(1, Math.floor(scaleByMapSize(2, 3)), 4, 1),
[
new LayeredPainter(type, [2]),
paintClass(clForest)
new TileClassPainter(clForest)
],
avoidClasses(clPlayer, 13, clForest, 20, clHill, 1),
num);
@@ -89,7 +89,7 @@ createAreas(
scaleByMapSize(30, 70)),
[
new SmoothElevationPainter(ELEVATION_SET, heightLand, 4),
paintClass(clLand)
new TileClassPainter(clLand)
],
null,
scaleByMapSize(1, 5) * randIntInclusive(5, 10));
@@ -108,7 +108,7 @@ placePlayerBases({
"innerTerrain": tRoad,
"radius": islandRadius / 3,
"painters": [
paintClass(clPlayer)
new TileClassPainter(clPlayer)
]
},
"Chicken": {
@@ -116,7 +116,7 @@ createAreas(
[
new LayeredPainter([tShore, tWater, tWater], [1, 3]),
new SmoothElevationPainter(ELEVATION_SET, heightSeaGround, 5),
paintClass(clWater)
new TileClassPainter(clWater)
],
avoidClasses(clPlayer, 15),
scaleByMapSize(1, 20));
@@ -162,7 +162,7 @@ log("Marking player territory larger than the city patch...");
for (let i = 0; i < numPlayers; ++i)
createArea(
new ClumpPlacer(250, 0.95, 0.3, 0.1, playerPosition[i]),
paintClass(clPlayer));
new TileClassPainter(clPlayer));
Engine.SetProgress(30);
@@ -174,7 +174,7 @@ for (let size of [scaleByMapSize(50, 800), scaleByMapSize(50, 400), scaleByMapSi
[
new LayeredPainter([tCliff, [tForestFloor, tForestFloor, tCliff]], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightHill, size < 50 ? 2 : 4),
paintClass(clHill)
new TileClassPainter(clHill)
],
avoidClasses(clPlayer, 8, clBaseResource, 2, clHill, 5),
scaleByMapSize(1, 4));
@@ -196,7 +196,7 @@ for (let size of [scaleByMapSize(50, 800), scaleByMapSize(50, 400), scaleByMapSi
[
new LayeredPainter([tCliff, tForestFloor], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightRavineValley, 2),
paintClass(clHill)
new TileClassPainter(clHill)
],
avoidClasses(clPlayer, 6, clBaseResource, 2, clHill, 5),
scaleByMapSize(1, 3));
@@ -241,7 +241,7 @@ for (let size of [scaleByMapSize(50, 800), scaleByMapSize(50, 400), scaleByMapSi
[
new LayeredPainter([tCliff, tForestFloor], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightRavineHill, 2),
paintClass(clHill)
new TileClassPainter(clHill)
],
[avoidClasses(clHillDeco, 2), borderClasses(clHill, 15, 1)],
ravine.length * 2,
@@ -300,7 +300,7 @@ createAreasInAreas(
new ClumpPlacer(forestTrees / num, 0.1, 0.1, 1),
[
new TerrainPainter(pForest),
paintClass(clForest)
new TileClassPainter(clForest)
],
avoidClasses(clPlayer, 5, clBaseResource, 4, clForest, 6, clHill, 4),
num,
@@ -313,8 +313,8 @@ createAreasInAreas(
new ClumpPlacer(forestTreesJoin / num, 0.1, 0.1, 1),
[
new TerrainPainter(pForest),
paintClass(clForest),
paintClass(clForestJoin)
new TileClassPainter(clForest),
new TileClassPainter(clForestJoin)
],
[avoidClasses(clPlayer, 5, clBaseResource, 4, clForestJoin, 5, clHill, 4), borderClasses(clForest, 1, 4)],
num,
@@ -104,7 +104,7 @@ createAreas(
[
new LayeredPainter([tCliff, tHill], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightHill, 2),
paintClass(clHill)
new TileClassPainter(clHill)
],
avoidClasses(clPlayer, 20, clHill, 15, clWater, 0),
scaleByMapSize(1, 4) * numPlayers * 3);
@@ -116,7 +116,7 @@ for (let i = 0; i < 2; ++i)
[
new LayeredPainter([tShoreBlend, tShore, tWater], [1, 1]),
new SmoothElevationPainter(ELEVATION_SET, heightMarsh, 3),
paintClass(clWater)
new TileClassPainter(clWater)
],
avoidClasses(clPlayer, 25, clWater, Math.round(scaleByMapSize(7, 16) * randFloat(0.8, 1.35))),
scaleByMapSize(4, 20));
@@ -149,7 +149,7 @@ for (let size of [scaleByMapSize(3, 6), scaleByMapSize(5, 10), scaleByMapSize(8,
new ChainPlacer(2, Math.floor(scaleByMapSize(3, 6)), size, 1),
[
new LayeredPainter([tGrassA, tGrassB, tMud], [1, 1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(clWater, 1, clHill, 0, clDirt, 5, clPlayer, 8),
scaleByMapSize(15, 45));
@@ -21,7 +21,7 @@ function placeRandomPathToHeight(
let painters = [new TerrainPainter(texture)];
if (tileClass !== undefined)
painters.push(paintClass(tileClass));
painters.push(new TileClassPainter(tileClass));
createArea(
new ClumpPlacer(diskArea(0.3 * width), 1, 1, 1, position),
@@ -138,7 +138,7 @@ function placeGrove(point)
new ClumpPlacer(5, 1, 1, 1, position),
[
new TerrainPainter("temp_grass_plants"),
paintClass(clGrove)
new TileClassPainter(clGrove)
]);
}
}
@@ -189,7 +189,7 @@ function placeStartLocationResources(point, foodEntities = ["gaia/flora_bush_ber
new ClumpPlacer(5, 1, 1, 1, woodPosition),
[
new TerrainPainter("temp_grass_plants"),
paintClass(clGrove)
new TileClassPainter(clGrove)
]);
currentAngle += dAngle;
}
@@ -73,7 +73,7 @@ for (let i = 0; i < numPlayers; ++i)
[
new LayeredPainter([tCliff, tHill], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightHill, 2),
paintClass(clPlayer)
new TileClassPainter(clPlayer)
]);
let angle = playerAngle[i] + Math.PI * (1 + randFloat(-1, 1) / 8);
@@ -126,7 +126,7 @@ var waterAreas = createAreas(
[
new LayeredPainter([tShoreBlend, tShore, tWater], [1, 1]),
new SmoothElevationPainter(ELEVATION_SET, heightSeaGround, 6),
paintClass(clWater)
new TileClassPainter(clWater)
],
avoidClasses(clPlayer, 2, clWater, 20),
numLakes
@@ -72,7 +72,7 @@ for (let i = 0; i < numPlayers; ++i)
[
new LayeredPainter([tMainTerrain, tMainTerrain], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, 2),
paintClass(j == 1 || isNomad() ? clLand : clPlayer)
new TileClassPainter(j == 1 || isNomad() ? clLand : clPlayer)
]);
log("Creating center area...");
@@ -81,12 +81,12 @@ createArea(
[
new LayeredPainter([tMainTerrain, tMainTerrain], [3]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, 3),
paintClass(clLand)
new TileClassPainter(clLand)
]);
createArea(
new ClumpPlacer(150, 0.6, 0.3, 10, mapCenter),
paintClass(clHill));
new TileClassPainter(clHill));
log("Creating hills...");
for (let i = 0; i < scaleByMapSize(9, 16); ++i)
@@ -101,7 +101,7 @@ for (let i = 0; i < scaleByMapSize(9, 16); ++i)
0),
[
new SmoothElevationPainter(ELEVATION_SET, heightHill, 3),
paintClass(clHill2)
new TileClassPainter(clHill2)
],
avoidClasses(clPlayer, 6, clHill2, 3, clHill, 2));
@@ -114,7 +114,7 @@ for (let g = 0; g < scaleByMapSize(5, 30); ++g)
[
new LayeredPainter([tMainTerrain, tMainTerrain], [3]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, 3),
paintClass(clLand)
new TileClassPainter(clLand)
],
avoidClasses(clLand, 6));
@@ -152,7 +152,7 @@ for (let g = 0; g < scaleByMapSize(5, 30); ++g)
[
new LayeredPainter([tMainTerrain, tMainTerrain], [3]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, 3),
paintClass(clLand)
new TileClassPainter(clLand)
]);
}
}
@@ -174,8 +174,8 @@ for (let i = 0; i < numPlayers; ++i)
[
new LayeredPainter([tRoadWild, tRoad], [1]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, 2),
paintClass(clLand),
paintClass(clHill)
new TileClassPainter(clLand),
new TileClassPainter(clHill)
]);
}
@@ -71,7 +71,7 @@ createArea(
[Math.floor(fractionToTiles(0.33))]),
[
new SmoothElevationPainter(ELEVATION_SET, heightLand, 4),
paintClass(clLand)
new TileClassPainter(clLand)
]);
var [playerIDs, playerPosition] = playerPlacementCircle(fractionToTiles(0.25));
@@ -89,7 +89,7 @@ for (let i = 0; i < numPlayers; ++i)
[Math.floor(scaleByMapSize(23, 50))]),
[
new SmoothElevationPainter(ELEVATION_SET, heightLand, 4),
paintClass(clLand)
new TileClassPainter(clLand)
]);
Engine.SetProgress(20);
@@ -93,7 +93,7 @@ for (let island = 0; island < 2; ++island)
[
new LayeredPainter([tCliffs, tGrass], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightMain, 0),
paintClass(clIsland)
new TileClassPainter(clIsland)
]);
log("Creating subislands...");
@@ -106,7 +106,7 @@ for (let island = 0; island < 2; ++island)
[
new LayeredPainter([tCliffs, tGrass], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightMain, 1),
paintClass(clIsland)
new TileClassPainter(clIsland)
]);
}
@@ -120,7 +120,7 @@ for (let island = 0; island < 2; ++island)
[
new TerrainPainter(tSteepCliffs),
new SmoothElevationPainter(ELEVATION_SET, heightCreeks, 0),
paintClass(clCreek)
new TileClassPainter(clCreek)
]);
}
@@ -224,7 +224,7 @@ placePlayerBases({
"coherence": 0.8,
"radius": 6,
"painters": [
paintClass(clSettlement)
new TileClassPainter(clSettlement)
]
},
"Chicken": {
@@ -366,7 +366,7 @@ createAreas(
new ClumpPlacer(20, 0.3, 0.06, 0.5),
[
new TerrainPainter(tLushGrass),
paintClass(clForest)
new TileClassPainter(clForest)
],
avoidClasses(
clWater, 1,
@@ -93,7 +93,7 @@ function createCycladicArchipelagoIsland(position, tileClass, radius, coralRadiu
new ClumpPlacer(diskArea(radius + coralRadius), 0.7, 0.1, 10, position),
[
new LayeredPainter([tOceanRockDeep, tOceanCoral], [5]),
paintClass(clCoral)
new TileClassPainter(clCoral)
],
avoidClasses(clCoral, 0, clPlayer, 0));
@@ -104,7 +104,7 @@ function createCycladicArchipelagoIsland(position, tileClass, radius, coralRadiu
[
new LayeredPainter([tOceanCoral, tBeachWet, tBeachDry, tBeach, tBeachBlend, tGrass], [1, 3, 1, 1, 2]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, 5),
paintClass(tileClass)
new TileClassPainter(tileClass)
],
avoidClasses(clPlayer, 0)));
}
@@ -135,7 +135,7 @@ placePlayerBases({
"outerTerrain": tGrass,
"innerTerrain": tCity,
"painters": [
paintClass(clCity)
new TileClassPainter(clCity)
]
},
"Chicken": {
@@ -173,7 +173,7 @@ createAreasInAreas(
[
new LayeredPainter([tCliff, tCliffShrubs], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightHill, 2),
paintClass(clHill)
new TileClassPainter(clHill)
],
avoidClasses(clCity, 15, clHill, 15),
scaleByMapSize(5, 30), 15,
@@ -196,7 +196,7 @@ for (let type of forestTypes)
new ClumpPlacer(randIntInclusive(6, 17), 0.1, 0.1, 1),
[
new LayeredPainter(type, [2]),
paintClass(clForest)
new TileClassPainter(clForest)
],
avoidClasses(clCity, 1, clWater, 3, clForest, 3, clHill, 1, clBaseResource, 4),
scaleByMapSize(10, 64),
@@ -234,7 +234,7 @@ for (let size of [scaleByMapSize(2, 32), scaleByMapSize(3, 48), scaleByMapSize(5
new ClumpPlacer(size, 0.3, 0.06, 0.5),
[
new LayeredPainter([tBeachBlend, tGrassShrubs], [1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(clWater, 3, clHill, 0, clDirt, 6, clCity, 0, clBaseResource, 4),
scaleByMapSize(4, 16),
@@ -248,7 +248,7 @@ for (let size of [scaleByMapSize(2, 32), scaleByMapSize(3, 48), scaleByMapSize(5
new ClumpPlacer(size, 0.3, 0.06, 0.5),
[
new LayeredPainter([tGrassDry], []),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(clWater, 3, clHill, 0, clDirt, 6, clCity, 0, clBaseResource, 4),
scaleByMapSize(4, 16),
@@ -236,7 +236,7 @@ if (gallicCC)
[
new LayeredPainter([tShore, tRoad, tRoad], [1, 3]),
new SmoothElevationPainter(ELEVATION_SET, heightPath, 4),
paintClass(clPath)
new TileClassPainter(clPath)
]);
// Create the meeting place near the shoreline at the end of the path
@@ -244,8 +244,8 @@ if (gallicCC)
new ClumpPlacer(diskArea(mRadius), 0.6, 0.3, 10, meetingPlacePosition),
[
new TerrainPainter(tShore),
paintClass(clPath),
paintClass(clRitualPlace)
new TileClassPainter(clPath),
new TileClassPainter(clRitualPlace)
]);
placeObject(meetingPlacePosition.x, meetingPlacePosition.y, aCampfire, 0, randomAngle());
@@ -265,7 +265,7 @@ if (gallicCC)
new ClumpPlacer(diskArea(gaulCityRadius), 0.6, 0.3, 10, civicCenterPosition),
[
new TerrainPainter(tShore),
paintClass(clGauls)
new TileClassPainter(clGauls)
]);
// Place palisade fortress and some city buildings
@@ -434,7 +434,7 @@ createAreas(
[
new LayeredPainter([tWater, tShore, tIsland], [2, 1]),
new SmoothElevationPainter(ELEVATION_SET, heightIsland, 4),
paintClass(clIsland)
new TileClassPainter(clIsland)
],
[avoidClasses(clIsland, 30), stayClasses (clWater, 10)],
scaleByMapSize(1, 4) * numPlayers
@@ -75,7 +75,7 @@ placePlayerBases({
"smoothness": 1/8,
"painters": [
new LayeredPainter([terrainBaseBorder, terrainBase, terrainBaseCenter], [baseRadius/4, baseRadius/4]),
paintClass(clPlayer)
new TileClassPainter(clPlayer)
]
},
"Chicken": {
@@ -116,7 +116,7 @@ for (let i = 0; i < numPlayers + (pathBlending ? 1 : 0); ++i)
[
new TerrainPainter(terrainPath),
new SmoothElevationPainter(ELEVATION_SET, heightPath, 2, heightOffsetRandomPath),
paintClass(clPath)
new TileClassPainter(clPath)
],
avoidClasses(clHill, 0, clBaseResource, 4));
}
@@ -141,7 +141,7 @@ for (let i = 0; i < numPlayers; ++i)
[
new LayeredPainter([terrainHillBorder, terrainHill], [1]),
new ElevationPainter(randFloat(1, 2)),
paintClass(clHill)
new TileClassPainter(clHill)
]);
}
Engine.SetProgress(60);
@@ -156,7 +156,7 @@ createArea(
[
new LayeredPainter([terrainHillBorder, terrainHill], [radiusEC/4]),
new ElevationPainter(randFloat(1, 2)),
paintClass(clHill)
new TileClassPainter(clHill)
]);
// Woods and general hight map
@@ -185,7 +185,7 @@ for (var x = 0; x < mapSize; x++)
[
new TerrainPainter(border ? terrainWoodBorder : terrainWood),
new ElevationPainter(randFloat(0, 1)),
paintClass(clForest)
new TileClassPainter(clForest)
],
avoidClasses(clPath, 1, clHill, border ? 0 : 1));
}
@@ -10,7 +10,7 @@ initTileClasses();
createArea(
new MapBoundsPlacer(),
paintClass(g_TileClasses.land));
new TileClassPainter(g_TileClasses.land));
Engine.SetProgress(10);
@@ -101,7 +101,7 @@ if (!isNomad())
[
new LayeredPainter([tHillVeryDark, tHillMedium1], [playerMountainSize]),
new SmoothElevationPainter(ELEVATION_SET, heightPlayerHill, playerMountainSize),
paintClass(clPlayer)
new TileClassPainter(clPlayer)
]);
}
@@ -143,7 +143,7 @@ createAreas(
[
new LayeredPainter([tShoreBlend, tShore, tWater], [1, 1]),
new SmoothElevationPainter(ELEVATION_SET, heightSeaGround, 3),
paintClass(clWater)
new TileClassPainter(clWater)
],
avoidClasses(clPlayer, 0, clHill, 2, clWater, 12),
Math.round(scaleByMapSize(6, 12)));
@@ -159,7 +159,7 @@ createAreas(
[
new LayeredPainter([tHillDark, tHillDark, tHillDark], [2, 2]),
new SmoothElevationPainter(ELEVATION_SET, heightHill, 2),
paintClass(clHill)
new TileClassPainter(clHill)
],
avoidClasses(clPlayer, 0, clHill, 15, clWater, 2, clBaseResource, 2),
scaleByMapSize(2, 8) * numPlayers);
@@ -178,7 +178,7 @@ for (let type of types)
new ClumpPlacer(forestTrees / num, 0.1, 0.1, 1),
[
new LayeredPainter(type, [2]),
paintClass(clForest)
new TileClassPainter(clForest)
],
avoidClasses(
clPlayer, 4,
@@ -195,7 +195,7 @@ for (let size of [scaleByMapSize(3, 48), scaleByMapSize(5, 84), scaleByMapSize(8
new ClumpPlacer(size, 0.3, 0.06, 0.5),
[
new LayeredPainter(type, [1]),
paintClass(clGrass)
new TileClassPainter(clGrass)
],
avoidClasses(
clWater, 3,
@@ -75,7 +75,7 @@ for (let i = 0; i < numPlayers; ++i)
[
new LayeredPainter([tShore, tMainTerrain], [shoreRadius]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, shoreRadius),
paintClass(clHill)
new TileClassPainter(clHill)
]);
placePlayerBases({
@@ -123,7 +123,7 @@ createArea(
[
new LayeredPainter([tShore, tMainTerrain], [shoreRadius, 100]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, shoreRadius),
paintClass(clHill)
new TileClassPainter(clHill)
],
avoidClasses(clPlayer, 40));
@@ -142,7 +142,7 @@ for (let m = 0; m < randIntInclusive(20, 34); ++m)
[
new LayeredPainter([tDirt, tHill], [Math.floor(elevRand / 3), 40]),
new SmoothElevationPainter(ELEVATION_SET, elevRand, Math.floor(elevRand / 3)),
paintClass(clHill)
new TileClassPainter(clHill)
],
[avoidClasses(clBaseResource, 2, clPlayer, 40), stayClasses(clHill, 6)]);
}
@@ -162,7 +162,7 @@ for (let m = 0; m < randIntInclusive(8, 17); ++m)
[
new LayeredPainter([tCliff, tForestFloor2], [Math.floor(elevRand / 3), 40]),
new SmoothElevationPainter(ELEVATION_MODIFY, elevRand, Math.floor(elevRand / 3)),
paintClass(clMountain)
new TileClassPainter(clMountain)
],
[avoidClasses(clBaseResource, 2, clPlayer, 40), stayClasses(clHill, 6)]);
}
@@ -218,7 +218,7 @@ for (let size of [scaleByMapSize(3, 6), scaleByMapSize(5, 10), scaleByMapSize(8,
new ChainPlacer(1, Math.floor(scaleByMapSize(3, 5)), size, 0.5),
[
new LayeredPainter([[tMainTerrain, tTier1Terrain], [tTier1Terrain, tTier2Terrain], [tTier2Terrain, tTier3Terrain]], [1, 1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(clForest, 0, clMountain, 0, clDirt, 5, clPlayer, 10),
numb * scaleByMapSize(15, 45));
@@ -142,7 +142,7 @@ var waterAreas = createAreas(
[
new LayeredPainter([tShore, tWater, tWater], [1, 1]),
new SmoothElevationPainter(ELEVATION_SET, heightSeaGround, 3),
paintClass(clWater)
new TileClassPainter(clWater)
],
avoidClasses(clPlayer, 7, clWater, 20),
numLakes);
@@ -193,7 +193,7 @@ for (let type of types)
new ChainPlacer(1, Math.floor(scaleByMapSize(3, 5)), forestTrees / num, 0.5),
[
new LayeredPainter(type, [2]),
paintClass(clForest)
new TileClassPainter(clForest)
],
avoidClasses(clPlayer, 5, clWater, 3, clForest, 15, clHill, 1),
num);
@@ -14,7 +14,7 @@ var g_Map = new RandomMap(randElevation, g_Terrains.mainTerrain);
initTileClasses();
createArea(
new MapBoundsPlacer(),
paintClass(g_TileClasses.land));
new TileClassPainter(g_TileClasses.land));
Engine.SetProgress(20);
@@ -74,7 +74,7 @@ createArea(
[
new LayeredPainter([tGrass, tGrass, tGrass], [4, 2]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, 4),
paintClass(clLand)
new TileClassPainter(clLand)
]);
var playerPosition = playerPlacementCustomAngle(
@@ -209,7 +209,7 @@ for (let gulfLake of gulfLakePositions)
[
new LayeredPainter([tPrimary, tPrimary, tPrimary, tPrimary], [1, 4, 2]),
new SmoothElevationPainter(ELEVATION_SET, heightSeaGround, 4),
paintClass(clWater)
new TileClassPainter(clWater)
],
avoidClasses(clPlayer,scaleByMapSize(20, 28)));
}
@@ -16,7 +16,7 @@ setFogFactor(0.04);
createArea(
new MapBoundsPlacer(),
paintClass(g_TileClasses.land));
new TileClassPainter(g_TileClasses.land));
Engine.SetProgress(10);
@@ -312,7 +312,7 @@ function addCenterLake()
[1, 100]
),
new SmoothElevationPainter(ELEVATION_SET, heightSeaGround, 10),
paintClass(g_TileClasses.water)
new TileClassPainter(g_TileClasses.water)
],
avoidClasses(g_TileClasses.player, 20)
);
@@ -332,7 +332,7 @@ function addHarbors(players)
[
new LayeredPainter([g_Terrains.shore, g_Terrains.water], [2]),
new SmoothElevationPainter(ELEVATION_MODIFY, heightOffsetHarbor, 3),
paintClass(g_TileClasses.water)
new TileClassPainter(g_TileClasses.water)
],
avoidClasses(
g_TileClasses.player, 15,
@@ -376,7 +376,7 @@ function addSpines()
[
new LayeredPainter([g_Terrains.cliff, spineTile], [3]),
new SmoothElevationPainter(ELEVATION_MODIFY, heightOffsetSpine, 3),
paintClass(g_TileClasses.spine)
new TileClassPainter(g_TileClasses.spine)
],
avoidClasses(g_TileClasses.player, 5)
);
@@ -15,7 +15,7 @@ const mapCenter = g_Map.getCenter();
createArea(
new MapBoundsPlacer(),
paintClass(g_TileClasses.land));
new TileClassPainter(g_TileClasses.land));
Engine.SetProgress(10);
@@ -291,7 +291,7 @@ function placeBarriers()
[
new LayeredPainter([g_Terrains.cliff, spineTerrain], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightBarrier, 2),
paintClass(g_TileClasses.spine)
new TileClassPainter(g_TileClasses.spine)
],
avoidClasses(g_TileClasses.player, 5, g_TileClasses.baseResource, 5));
}
@@ -147,7 +147,7 @@ createAreas(
[
new LayeredPainter([tCliff, tHill], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightHill, 2),
paintClass(clHill)
new TileClassPainter(clHill)
],
avoidClasses(clPlayer, 20, clWater, 5, clHill, 15, clHighlands, 5),
scaleByMapSize(1, 4) * numPlayers);
@@ -166,7 +166,7 @@ for (let type of types)
new ClumpPlacer(forestTrees / num, 0.1, 0.1, 1),
[
new LayeredPainter(type, [2]),
paintClass(clForest)
new TileClassPainter(clForest)
],
avoidClasses(clPlayer, 20, clWater, 3, clForest, 10, clHill, 0, clBaseResource, 3),
num);
@@ -183,7 +183,7 @@ for (let type of types)
new ClumpPlacer(forestTrees / num, 0.1, 0.1, 1),
[
new LayeredPainter(type, [2]),
paintClass(clForest)
new TileClassPainter(clForest)
],
avoidClasses(clPlayer, 20, clWater, 3, clForest, 2, clHill, 0),
num);
@@ -195,7 +195,7 @@ for (let size of [scaleByMapSize(3, 48), scaleByMapSize(5, 84), scaleByMapSize(8
new ClumpPlacer(size, 0.3, 0.06, 0.5),
[
new LayeredPainter([[tGrass, tGrassA], [tGrassA, tGrassB], [tGrassB, tGrassC]], [1, 1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(clWater, 1, clForest, 0, clHill, 0, clDirt, 5, clPlayer, 4),
scaleByMapSize(15, 45));
@@ -95,7 +95,7 @@ createArea(
[Math.floor(scaleByMapSize(15, 40))]),
[
new SmoothElevationPainter(ELEVATION_SET, heightSeaGround, 4),
paintClass(clWater)
new TileClassPainter(clWater)
],
avoidClasses(clPlayer, 2));
@@ -104,7 +104,7 @@ createAreas(
new ChainPlacer(2, Math.floor(scaleByMapSize(4, 6)), 3, 1),
[
new SmoothElevationPainter(ELEVATION_SET, heightShore, 4),
unPaintClass(clWater)
new TileClassUnPainter(clWater)
],
borderClasses(clWater, 4, 7),
scaleByMapSize(12, 130) * 2, 150
@@ -93,7 +93,7 @@ for (let i = 0; i < teams.length; ++i)
[
new LayeredPainter([tMainTerrain, tMainTerrain, tMainTerrain], [1, 6]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, 6),
paintClass(clLand)
new TileClassPainter(clLand)
]);
placeCivDefaultStartingEntities(playerPosition[p], teams[i][p], false);
@@ -181,7 +181,7 @@ createAreas(
[
new LayeredPainter([tMainTerrain, tMainTerrain], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, 6),
paintClass(clLand)
new TileClassPainter(clLand)
],
avoidClasses(clLand, 3, clPlayer, 3),
scaleByMapSize(4, 14) * (isNomad() ? 2 : 1),
@@ -193,7 +193,7 @@ createAreas(
[
new LayeredPainter([tMainTerrain, tMainTerrain], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, 6),
paintClass(clLand)
new TileClassPainter(clLand)
],
avoidClasses(clLand, 3, clPlayer, 3),
scaleByMapSize(6, 55),
@@ -242,7 +242,7 @@ createAreas(
[
new LayeredPainter([tCliff, tHill], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightHill, 2),
paintClass(clHill)
new TileClassPainter(clHill)
],
[avoidClasses(clBaseResource, 20, clHill, 15, clRock, 6, clMetal, 6), stayClasses(clLand, 0)],
scaleByMapSize(4, 13)
@@ -298,7 +298,7 @@ for (let size of [scaleByMapSize(3, 6), scaleByMapSize(5, 10), scaleByMapSize(8,
new ChainPlacer(1, Math.floor(scaleByMapSize(3, 5)), size, 0.5),
[
new LayeredPainter([[tMainTerrain, tTier1Terrain], [tTier1Terrain, tTier2Terrain], [tTier2Terrain, tTier3Terrain]], [1, 1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
[avoidClasses(clForest, 0, clHill, 0, clDirt, 5, clPlayer, 0), stayClasses(clLand, 4)],
numb*scaleByMapSize(15, 45));
@@ -79,8 +79,8 @@ if (!isNomad())
[
new LayeredPainter([tMainTerrain , tMainTerrain, tMainTerrain], [1, 6]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, 6),
paintClass(clLand),
paintClass(clPlayer)
new TileClassPainter(clLand),
new TileClassPainter(clPlayer)
]);
let dockLocation = findLocationInDirectionBasedOnHeight(playerPosition[i], mapCenter, -3 , heightLand - 0.5, heightLand);
@@ -98,7 +98,7 @@ createAreas(
[
new LayeredPainter([tMainTerrain, tMainTerrain], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, 6),
paintClass(clLand)
new TileClassPainter(clLand)
],
avoidClasses(clLand, scaleByMapSize(8, 12)),
scaleByMapSize(4, 14));
@@ -113,7 +113,7 @@ createAreas(
[
new LayeredPainter([tMainTerrain, tMainTerrain], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, 6),
paintClass(clLand)
new TileClassPainter(clLand)
],
avoidClasses(clLand, scaleByMapSize(8, 12)),
scaleByMapSize(6, 54));
@@ -172,7 +172,7 @@ createAreas(
[
new LayeredPainter([tCliff, tHill], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightHill, 2),
paintClass(clHill)
new TileClassPainter(clHill)
],
[avoidClasses(clPlayer, 2, clHill, 15), stayClasses(clLand, 0)],
scaleByMapSize(4, 13));
@@ -193,7 +193,7 @@ if (currentBiome() != "savanna")
new ChainPlacer(1, Math.floor(scaleByMapSize(3, 5)), forestTrees / (num * Math.floor(scaleByMapSize(2, 5))), 0.5),
[
new LayeredPainter(type, [2]),
paintClass(clForest)
new TileClassPainter(clForest)
],
[avoidClasses(clPlayer, 0, clForest, 10, clHill, 0), stayClasses(clLand, 6)],
num);
@@ -207,7 +207,7 @@ for (let size of [scaleByMapSize(3, 6), scaleByMapSize(5, 10), scaleByMapSize(8,
new ChainPlacer(1, Math.floor(scaleByMapSize(3, 5)), size, 0.5),
[
new LayeredPainter([[tMainTerrain, tTier1Terrain], [tTier1Terrain, tTier2Terrain], [tTier2Terrain, tTier3Terrain]], [1, 1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
[avoidClasses(clForest, 0, clHill, 0, clDirt, 5, clPlayer, 0), stayClasses(clLand, 6)],
numberOfPatches);
@@ -122,7 +122,7 @@ for (let i = 0; i < scaleByMapSize(20, 120); ++i)
[
new LayeredPainter([tGrass, tGrass], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, 3),
unPaintClass(clWater)
new TileClassUnPainter(clWater)
]);
}
@@ -139,7 +139,7 @@ createAreas(
[
new LayeredPainter([tCliff, tGrass], [3]),
new SmoothElevationPainter(ELEVATION_SET, heightHill, 3),
paintClass(clHill)
new TileClassPainter(clHill)
],
[avoidClasses(clPlayer, 20, clHill, 5, clWater, 2, clBaseResource, 2), stayClasses(clMountains, 0)],
scaleByMapSize(5, 40) * numPlayers);
@@ -161,7 +161,7 @@ for (let type of types)
0.5),
[
new LayeredPainter(type, [2]),
paintClass(clForest)
new TileClassPainter(clForest)
],
avoidClasses(clPlayer, 20, clForest, 10, clHill, 0, clWater, 8),
num);
@@ -174,7 +174,7 @@ for (let size of [scaleByMapSize(3, 6), scaleByMapSize(5, 10), scaleByMapSize(8,
new ChainPlacer(1, Math.floor(scaleByMapSize(3, 5)), size, 0.5),
[
new LayeredPainter([tGrassC, tGrassA, tGrassB], [2, 1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(clWater, 8, clForest, 0, clHill, 0, clPlayer, 12, clDirt, 16),
scaleByMapSize(20, 80));
@@ -184,7 +184,7 @@ for (let size of [scaleByMapSize(2, 4), scaleByMapSize(3, 7), scaleByMapSize(5,
new ChainPlacer(1, Math.floor(scaleByMapSize(3, 5)), size, 0.5),
[
new LayeredPainter([tPlants, tPlants], [1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(clWater, 8, clForest, 0, clHill, 0, clPlayer, 12, clDirt, 16),
scaleByMapSize(20, 80));
@@ -77,7 +77,7 @@ createArea(
[Math.floor(fractionToTiles(0.2))]),
[
new SmoothElevationPainter(ELEVATION_SET, heightSeaGround, 4),
paintClass(clWater)
new TileClassPainter(clWater)
],
avoidClasses(clPlayer, 20));
@@ -86,7 +86,7 @@ createAreas(
new ChainPlacer(2, Math.floor(scaleByMapSize(4, 6)), 3, 1),
[
new LayeredPainter([tCliff, tHill], [2]),
unPaintClass(clWater)
new TileClassUnPainter(clWater)
],
borderClasses(clWater, 4, 7),
scaleByMapSize(12, 130) * 2,
@@ -20,7 +20,7 @@ const startAngle = randomAngle();
initTileClasses(["step"]);
createArea(
new MapBoundsPlacer(),
paintClass(g_TileClasses.land));
new TileClassPainter(g_TileClasses.land));
Engine.SetProgress(10);
@@ -486,7 +486,7 @@ function createSunkenTerrain()
[
new LayeredPainter([g_Terrains.cliff, lower], [3]),
new SmoothElevationPainter(ELEVATION_SET, heightValley, 3),
paintClass(g_TileClasses.valley)
new TileClassPainter(g_TileClasses.valley)
]);
log("Creating central hill...");
@@ -495,7 +495,7 @@ function createSunkenTerrain()
[
new LayeredPainter([g_Terrains.cliff, topTerrain], [3]),
new SmoothElevationPainter(ELEVATION_SET, heightHill, 3),
paintClass(g_TileClasses.mountain)
new TileClassPainter(g_TileClasses.mountain)
]);
let getCoords = (distance, playerID, playerIDOffset) => {
@@ -514,7 +514,7 @@ function createSunkenTerrain()
[
new LayeredPainter([g_Terrains.cliff, middle, road], [3, 4]),
new SmoothElevationPainter(ELEVATION_SET, heightPath, 3),
paintClass(g_TileClasses.step)
new TileClassPainter(g_TileClasses.step)
]);
log("Creating path from player to the neighbor...");
@@ -527,7 +527,7 @@ function createSunkenTerrain()
[
new LayeredPainter([g_Terrains.cliff, middle, road], [3, 6]),
new SmoothElevationPainter(ELEVATION_SET, heightPath, 3),
paintClass(g_TileClasses.step)
new TileClassPainter(g_TileClasses.step)
]);
}
@@ -537,7 +537,7 @@ function createSunkenTerrain()
[
new LayeredPainter([g_Terrains.cliff, base], [3]),
new SmoothElevationPainter(ELEVATION_SET, heightDen, 3),
paintClass(g_TileClasses.valley)
new TileClassPainter(g_TileClasses.valley)
]);
log("Creating the expansion of the player...");
@@ -546,7 +546,7 @@ function createSunkenTerrain()
[
new LayeredPainter([g_Terrains.cliff, base], [3]),
new SmoothElevationPainter(ELEVATION_SET, heightDen, 3),
paintClass(g_TileClasses.settlement)
new TileClassPainter(g_TileClasses.settlement)
],
[avoidClasses(g_TileClasses.settlement, 2)]);
}
@@ -560,7 +560,7 @@ function createSunkenTerrain()
[
new LayeredPainter([g_Terrains.cliff, lower], [3]),
new SmoothElevationPainter(ELEVATION_SET, heightValley, 3),
paintClass(g_TileClasses.settlement)
new TileClassPainter(g_TileClasses.settlement)
]);
}
}
@@ -72,7 +72,7 @@ placePlayerBases({
"outerTerrain": tRoadWild,
"innerTerrain": tRoad,
"painters": [
paintClass(clPlayer)
new TileClassPainter(clPlayer)
]
},
"Chicken": {
@@ -176,7 +176,7 @@ for (let size of [scaleByMapSize(3, 6), scaleByMapSize(5, 10), scaleByMapSize(8,
new ChainPlacer(1, Math.floor(scaleByMapSize(3, 5)), size, 0.5),
[
new LayeredPainter([[tGrass,tGrassA], tGrassB, [tGrassB,tGrassC]], [1, 1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(clWater, 1, clForest, 0, clHill, 0, clDirt, 5, clPlayer, 6),
scaleByMapSize(15, 45)
@@ -79,8 +79,8 @@ for (let i = 0; i < numPlayers; ++i)
[
new LayeredPainter([tWater, tShore, tMainTerrain], [1, 4]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, 4),
paintClass(clIsland),
paintClass(isNomad() ? clLand : clPlayer)
new TileClassPainter(clIsland),
new TileClassPainter(isNomad() ? clLand : clPlayer)
]);
if (isNomad())
@@ -133,7 +133,7 @@ createArea(
[
new LayeredPainter([tWater, tShore, tMainTerrain], [4, 2]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, 4),
paintClass(clLand)
new TileClassPainter(clLand)
],
avoidClasses(clIsland, 8));
Engine.SetProgress(20);
@@ -144,7 +144,7 @@ createAreas(
[
new LayeredPainter([tMainTerrain, tMainTerrain], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, 4),
paintClass(clLand)
new TileClassPainter(clLand)
],
[
borderClasses(clLand, 6, 3),
@@ -172,7 +172,7 @@ createAreas(
[
new LayeredPainter([tCliff, tHill], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightHill, 2),
paintClass(clHill)
new TileClassPainter(clHill)
],
[avoidClasses(clIsland, 10, clHill, 15), stayClasses(clLand, 7)],
scaleByMapSize(1, 4) * numPlayers
@@ -195,7 +195,7 @@ for (let type of types)
new ClumpPlacer(forestTrees / num, 0.1, 0.1, 1),
[
new LayeredPainter(type, [2]),
paintClass(clForest)
new TileClassPainter(clForest)
],
[avoidClasses(clPlayer, 6, clForest, 10, clHill, 0), stayClasses(clLand, 7)],
num);
@@ -209,7 +209,7 @@ for (let size of [scaleByMapSize(3, 48), scaleByMapSize(5, 84), scaleByMapSize(8
new LayeredPainter(
[[tMainTerrain, tTier1Terrain], [tTier1Terrain, tTier2Terrain], [tTier2Terrain, tTier3Terrain]],
[1, 1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
[
avoidClasses(
@@ -69,7 +69,7 @@ if (!isNomad())
for (let i = 0; i < numPlayers; ++i)
createArea(
new ClumpPlacer(diskArea(defaultPlayerBaseRadius()), 0.9, 0.5, 10, playerPosition[i]),
paintClass(clPlayer));
new TileClassPainter(clPlayer));
placePlayerBases({
"PlayerPlacement": [playerIDs, playerPosition],
@@ -104,7 +104,7 @@ createAreas(
new ClumpPlacer(scaleByMapSize(40, 150), 0.2, 0.1, 0),
[
new TerrainPainter(tDunes),
paintClass(clPatch)
new TileClassPainter(clPatch)
],
avoidClasses(clPatch, 2, clPlayer, 0),
scaleByMapSize(5, 20));
@@ -115,7 +115,7 @@ createAreas(
new ClumpPlacer(scaleByMapSize(25, 100), 0.2, 0.1, 0),
[
new TerrainPainter([tSand, tFineSand]),
paintClass(clPatch)
new TileClassPainter(clPatch)
],
avoidClasses(clPatch, 2, clPlayer, 0),
scaleByMapSize(15, 50));
@@ -126,7 +126,7 @@ createAreas(
new ClumpPlacer(scaleByMapSize(25, 100), 0.2, 0.1, 0),
[
new TerrainPainter([tDirt]),
paintClass(clPatch)
new TileClassPainter(clPatch)
],
avoidClasses(clPatch, 2, clPlayer, 0),
scaleByMapSize(15, 50));
@@ -138,7 +138,7 @@ createArea(
[
new LayeredPainter([[tSand, pForest], [tGrassSand25, pForestOasis], tGrassSand25, tShore, tWaterDeep], [2, 3, 1, 1]),
new SmoothElevationPainter(ELEVATION_MODIFY, heightOffsetOasis, 8),
paintClass(clOasis)
new TileClassPainter(clOasis)
]);
Engine.SetProgress(30);
@@ -195,7 +195,7 @@ var hillAreas = createAreas(
[
new LayeredPainter([tCliff, tSand], [1]),
new SmoothElevationPainter(ELEVATION_MODIFY, heightOffsetHill1, 1),
paintClass(clHill1)
new TileClassPainter(clHill1)
],
avoidClasses(clOasis, 3, clPlayer, 0, clHill1, 10),
scaleByMapSize(10,20), 100
@@ -209,7 +209,7 @@ hillAreas = hillAreas.concat(
[
new LayeredPainter([tCliff, tSand], [1]),
new SmoothElevationPainter(ELEVATION_MODIFY, heightOffsetHill2, 1),
paintClass(clHill1)
new TileClassPainter(clHill1)
],
avoidClasses(clOasis, 3, clPlayer, 0, clHill1, 3),
scaleByMapSize(15,25),
@@ -273,7 +273,7 @@ createAreas(
new ClumpPlacer(forestTrees / num, 0.15, 0.1, 0.5),
[
new TerrainPainter([tSand, pForest]),
paintClass(clForest)
new TileClassPainter(clForest)
],
avoidClasses(clPlayer, 1, clOasis, 10, clForest, 10, clHill1, 1),
num,
@@ -102,7 +102,7 @@ for (let i = 0; i < scaleByMapSize(20, 120); ++i)
[
new LayeredPainter([tSnowA, tSnowA], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, 3),
unPaintClass(clWater)
new TileClassUnPainter(clWater)
]);
}
@@ -112,8 +112,8 @@ createAreas(
[
new LayeredPainter([tSnowA, tSnowA], [3]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, 3),
paintClass(clIsland),
unPaintClass(clWater)
new TileClassPainter(clIsland),
new TileClassUnPainter(clWater)
],
stayClasses(clWater, 7),
scaleByMapSize(10, 80));
@@ -126,7 +126,7 @@ createAreas(
[
new LayeredPainter([tShoreBlend, tShore, tWater], [1, 1]),
new SmoothElevationPainter(ELEVATION_SET, heightLake, 3),
paintClass(clWater)
new TileClassPainter(clWater)
],
avoidClasses(clPlayer, 20, clWater, 20),
Math.round(scaleByMapSize(1, 4) * numPlayers));
@@ -142,7 +142,7 @@ createAreas(
[
new LayeredPainter([tCliff, tSnowA], [3]),
new SmoothElevationPainter(ELEVATION_SET, heightHill, 3),
paintClass(clHill)
new TileClassPainter(clHill)
],
avoidClasses(clPlayer, 20, clHill, 15, clWater, 2, clBaseResource, 2),
scaleByMapSize(1, 4) * numPlayers
@@ -163,7 +163,7 @@ for (let type of types)
new ChainPlacer(1, Math.floor(scaleByMapSize(3, 5)), forestTrees / (num * Math.floor(scaleByMapSize(2, 4))), 1),
[
new LayeredPainter(type, [2]),
paintClass(clForest)
new TileClassPainter(clForest)
],
avoidClasses(clPlayer, 20, clForest, 20, clHill, 0, clWater, 8),
num);
@@ -183,7 +183,7 @@ for (let size of [scaleByMapSize(3, 6), scaleByMapSize(5, 10), scaleByMapSize(8,
new ChainPlacer(1, Math.floor(scaleByMapSize(3, 5)), size, 0.5),
[
new LayeredPainter([tSnowD, tSnowB, tSnowC], [2, 1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(
clWater, 8,
@@ -198,7 +198,7 @@ for (let size of [scaleByMapSize(2, 4), scaleByMapSize(3, 7), scaleByMapSize(5,
new ChainPlacer(1, Math.floor(scaleByMapSize(3, 5)), size, 0.5),
[
new LayeredPainter([tSnowE, tSnowE], [1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(
clWater, 8,
@@ -80,7 +80,7 @@ for (let i = 0; i < numPlayers; ++i)
new ClumpPlacer(70, 1, 0.5, 10, forestPosition),
[
new LayeredPainter([tForestFloor, pForestMain], [0]),
paintClass(clBaseResource)
new TileClassPainter(clBaseResource)
],
avoidClasses(clBaseResource, 0)));
@@ -129,7 +129,7 @@ placePlayerBases({
"outerTerrain": tRoadWild,
"innerTerrain": tRoad,
"painters": [
paintClass(clPlayer)
new TileClassPainter(clPlayer)
]
},
"Chicken": {
@@ -157,7 +157,7 @@ createArea(
[
new LayeredPainter([pOasisForestLight, tWater], [forestDistance]),
new SmoothElevationPainter(ELEVATION_SET, heightSeaGround, forestDistance + shoreDistance),
paintClass(clOasis)
new TileClassPainter(clOasis)
]);
Engine.SetProgress(40);
@@ -198,7 +198,7 @@ if (mapSize > 150 && randBool())
[
new TerrainPainter(tSand),
new SmoothElevationPainter(ELEVATION_SET, heightOasisPath, 5),
paintClass(clPassage)
new TileClassPainter(clPassage)
]);
}
log("Creating some straggler trees around the passage...");
@@ -73,7 +73,7 @@ placePlayerBases({
"outerTerrain": tCity,
"innerTerrain": tCity,
"painters": [
paintClass(clPlayer)
new TileClassPainter(clPlayer)
]
},
"Chicken": {
@@ -101,7 +101,7 @@ createAreas(
new ChainPlacer(1, Math.floor(scaleByMapSize(3, 6)), Math.floor(scaleByMapSize(20, 45)), 0),
[
new TerrainPainter(tRocky),
paintClass(clPatch)
new TileClassPainter(clPatch)
],
avoidClasses(clPatch, 2, clPlayer, 0),
scaleByMapSize(5, 20));
@@ -112,7 +112,7 @@ createAreas(
new ChainPlacer(1, Math.floor(scaleByMapSize(3, 5)), Math.floor(scaleByMapSize(15, 40)), 0),
[
new TerrainPainter([tRocky, tRocks]),
paintClass(clPatch)
new TileClassPainter(clPatch)
],
avoidClasses(clPatch, 2, clPlayer, 4),
scaleByMapSize(15, 50));
@@ -127,7 +127,7 @@ createAreas(
0),
[
new TerrainPainter([tGrass]),
paintClass(clPatch)
new TileClassPainter(clPatch)
],
avoidClasses(clPatch, 2, clPlayer, 4),
scaleByMapSize(15, 50));
@@ -146,7 +146,7 @@ createArea(
[
new LayeredPainter([tLakebed2, tLakebed1], [6]),
new SmoothElevationPainter(ELEVATION_MODIFY, heightOffsetValley, 8),
paintClass(clCP)
new TileClassPainter(clCP)
],
avoidClasses(clPlayer, 18));
Engine.SetProgress(30);
@@ -183,7 +183,7 @@ for (let type of types)
1),
[
new LayeredPainter(type, [2]),
paintClass(clForest)
new TileClassPainter(clForest)
],
avoidClasses(
clPlayer, 6,
@@ -131,7 +131,7 @@ createAreas(
[
new LayeredPainter([tCliff, tHill], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightHill, 2),
paintClass(clHill)
new TileClassPainter(clHill)
],
avoidClasses(clPlayer, 20, clForest, 1, clHill, 15, clWater, 0),
scaleByMapSize(1, 4) * numPlayers * 3);
@@ -143,7 +143,7 @@ createAreas(
new ChainPlacer(1, Math.floor(scaleByMapSize(3, 5)), forestTrees / (num * Math.floor(scaleByMapSize(2, 5))), 0.5),
[
new TerrainPainter([tForestFloor, pForest]),
paintClass(clForest)
new TileClassPainter(clForest)
],
avoidClasses(clPlayer, 20, clForest, 10, clWater, 1, clHill, 1, clBaseResource, 3),
num,
@@ -158,7 +158,7 @@ for (let size of [scaleByMapSize(3, 6), scaleByMapSize(5, 10), scaleByMapSize(8,
new LayeredPainter(
[[tGrass, tRocksShrubs], [tRocksShrubs, tRocksGrass], [tRocksGrass, tGrass]],
[1, 1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(clForest, 0, clGrass, 5, clPlayer, 10, clWater, 4, clDirt, 5, clHill, 1),
scaleByMapSize(15, 45));
@@ -172,7 +172,7 @@ for (let size of [scaleByMapSize(3, 6), scaleByMapSize(5, 10), scaleByMapSize(8,
new LayeredPainter(
[[tDirt, tDirtB], [tDirt, tMainDirt], [tDirtB, tMainDirt]],
[1, 1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(clForest, 0, clDirt, 5, clPlayer, 10, clWater, 4, clGrass, 5, clHill, 1),
scaleByMapSize(15, 45));
@@ -184,8 +184,8 @@ createAreas(
[
new LayeredPainter([tShore, tHill], [12]),
new SmoothElevationPainter(ELEVATION_SET, heightIsland, 8),
paintClass(clIsland),
unPaintClass(clWater)
new TileClassPainter(clIsland),
new TileClassUnPainter(clWater)
],
[stayClasses (clWater, 8)],
1,
@@ -101,7 +101,7 @@ createArea(
[
new LayeredPainter([tShore, tWater, tWater, tWater], [1, 4, 2]),
new SmoothElevationPainter(ELEVATION_SET, heightSeaGround, 4),
paintClass(clWater)
new TileClassPainter(clWater)
],
avoidClasses(clPlayer, 20));
@@ -113,7 +113,7 @@ createAreas(
[
new LayeredPainter([tShore, tWater, tWater], [1, 3]),
new SmoothElevationPainter(ELEVATION_SET, heightSeaGround, 5),
paintClass(clWater)
new TileClassPainter(clWater)
],
avoidClasses(clPlayer, 20),
scaleByMapSize(10, 16),
@@ -294,7 +294,7 @@ for (let ocean of distributePointsOnCircle(2, oceanAngle, fractionToTiles(0.48),
new ClumpPlacer(diskArea(fractionToTiles(0.18)), 0.9, 0.05, 10, ocean),
[
new ElevationPainter(heightOcean),
paintClass(clWater)
new TileClassPainter(clWater)
]);
log("Smoothing around the water...");
@@ -327,7 +327,7 @@ createAreas(
[
new SmoothElevationPainter(ELEVATION_MODIFY, heightOffsetHill, 4, heightOffsetHillRandom),
new TerrainPainter(tGrassSpecific),
paintClass(clHill)
new TileClassPainter(clHill)
],
avoidClasses(clWater, 5, clPlayer, 20, clBaseResource, 6, clPyrenneans, 2), scaleByMapSize(5, 35));
@@ -340,7 +340,7 @@ for (let type of types)
new ClumpPlacer(size, 0.2, 0.1, 1),
[
new LayeredPainter(type, [scaleByMapSize(1, 2), scaleByMapSize(3, 6), scaleByMapSize(3, 6)]),
paintClass(clForest)
new TileClassPainter(clForest)
],
avoidClasses(clPlayer, 20, clPyrenneans,0, clForest, 7, clWater, 2),
num);
@@ -391,7 +391,7 @@ for (let size of [scaleByMapSize(3, 20), scaleByMapSize(5, 40), scaleByMapSize(8
new ClumpPlacer(size, 0.3, 0.06, 0.5),
[
new TerrainPainter(tDirtyGrass),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(clWater, 3, clForest, 0, clPyrenneans,5, clHill, 0, clDirt, 5, clPlayer, 6),
scaleByMapSize(15, 45));
@@ -94,7 +94,7 @@ for (let i = 0; i < 7; ++i)
[
new LayeredPainter([tShoreBlend, tShore, tWater], [1, 1]),
new SmoothElevationPainter(ELEVATION_SET, heightMarsh, 3),
paintClass(clWater)
new TileClassPainter(clWater)
],
avoidClasses(clPlayer, 20, clWater, Math.round(scaleByMapSize(7,16)*randFloat(0.8,1.35))),
scaleByMapSize(4,20));
@@ -127,7 +127,7 @@ for (let type of types)
new ChainPlacer(1, Math.floor(scaleByMapSize(3, 5)), forestTrees / (num * Math.floor(scaleByMapSize(2, 4))), 1),
[
new LayeredPainter(type, [2]),
paintClass(clForest)
new TileClassPainter(clForest)
],
avoidClasses(clPlayer, 20, clWater, 0, clForest, 10),
num);
@@ -139,7 +139,7 @@ for (let size of [scaleByMapSize(3, 6), scaleByMapSize(5, 10), scaleByMapSize(8,
new ChainPlacer(1, Math.floor(scaleByMapSize(3, 5)), size, 1),
[
new LayeredPainter([tGrassA, tGrassB, tMud], [1, 1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(clWater, 1, clForest, 0, clDirt, 5, clPlayer, 8),
scaleByMapSize(15, 45));
@@ -99,7 +99,7 @@ for (let i = 0; i < stripWidths.length; ++i)
[
new LayeredPainter([tGrass, tGrass], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, 3),
paintClass(clStrip[i])
new TileClassPainter(clStrip[i])
]);
}
}
@@ -118,7 +118,7 @@ for (let i = 0; i < numPlayers; ++i)
[
new LayeredPainter([tGrass, tGrass, tGrass], [1, 4]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, 4),
paintClass(clPlayerTerritory)
new TileClassPainter(clPlayerTerritory)
]);
placePlayerBases({
@@ -192,7 +192,7 @@ createAreas(
[
new LayeredPainter([tCliff, tGrass], [3]),
new SmoothElevationPainter(ELEVATION_SET, heightHill, 3),
paintClass(clHill)
new TileClassPainter(clHill)
],
[
avoidClasses(
@@ -225,7 +225,7 @@ for (let type of types)
0.5),
[
new LayeredPainter(type, [2]),
paintClass(clForest)
new TileClassPainter(clForest)
],
avoidClasses(
clPlayer, 12,
@@ -257,7 +257,7 @@ for (let size of [scaleByMapSize(3, 6), scaleByMapSize(5, 10), scaleByMapSize(8,
new ChainPlacer(1, Math.floor(scaleByMapSize(3, 5)), size, 0.5),
[
new LayeredPainter([tGrassC, tGrassA, tGrassB], [2, 1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(
clWater, 8,
@@ -274,7 +274,7 @@ for (let size of [scaleByMapSize(2, 4), scaleByMapSize(3, 7), scaleByMapSize(5,
new ChainPlacer(1, Math.floor(scaleByMapSize(3, 5)), size, 0.5),
[
new LayeredPainter([tPlants, tPlants], [1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(
clWater, 8,
@@ -103,7 +103,7 @@ createArea(
[
new LayeredPainter([tShore, tWater, tWater, tWater], [1, 4, 2]),
new SmoothElevationPainter(ELEVATION_SET, heightSeaGround, 4),
paintClass(clWater)
new TileClassPainter(clWater)
]);
log("Creating rivers between opponents...");
@@ -42,7 +42,7 @@ function createForests(terrainSet, constraint, tileClass, treeCount)
new ChainPlacer(1, Math.floor(scaleByMapSize(3, 5)), treeCount / numberOfForests, 0.5),
[
new LayeredPainter([forestVariant.borderTerrains, forestVariant.interiorTerrains], [2]),
paintClass(tileClass)
new TileClassPainter(tileClass)
],
constraint,
numberOfForests);
@@ -34,7 +34,7 @@ function createHills(terrainset, constraint, tileClass, count, minSize, maxSize,
[
new LayeredPainter(terrainset, [1, elevationSmoothing]),
new SmoothElevationPainter(ELEVATION_SET, elevation, elevationSmoothing),
paintClass(tileClass)
new TileClassPainter(tileClass)
],
constraint,
count || scaleByMapSize(1, 4) * getNumPlayers());
@@ -259,7 +259,7 @@ function createVolcano(position, tileClass, terrainTexture, lavaTextures, smoke,
[
layers[i].painter || new LayeredPainter([terrainTexture, terrainTexture], [3]),
new SmoothElevationPainter(elevationType, layers[i].elevation, layers[i].steepness),
paintClass(layers[i].tileClass)
new TileClassPainter(layers[i].tileClass)
],
i == 0 ? null : stayClasses(layers[i - 1].tileClass, 1));
@@ -288,7 +288,7 @@ function createPatches(sizes, terrain, constraint, count, tileClass, failFracti
new ChainPlacer(1, Math.floor(scaleByMapSize(3, 5)), size, failFraction),
[
new TerrainPainter(terrain),
paintClass(tileClass)
new TileClassPainter(tileClass)
],
constraint,
count);
@@ -304,7 +304,7 @@ function createLayeredPatches(sizes, terrains, terrainWidths, constraint, count,
new ChainPlacer(1, Math.floor(scaleByMapSize(3, 5)), size, failFraction),
[
new LayeredPainter(terrains, terrainWidths),
paintClass(tileClass)
new TileClassPainter(tileClass)
],
constraint,
count);
@@ -488,7 +488,7 @@ function createTributaryRivers(riverAngle, riverCount, riverWidth, heightRiverbe
new PathPlacer(start, end, riverWidth, waviness, smoothness, offset, tapering),
[
new SmoothElevationPainter(ELEVATION_SET, heightRiverbed, 4),
paintClass(tributaryRiverTileClass)
new TileClassPainter(tributaryRiverTileClass)
],
new AndConstraint([constraint, riverConstraint])))
continue;
@@ -273,22 +273,6 @@ function removeFromClass(x, z, id)
tileClass.remove(x, z);
}
/**
* Create a painter for the given class
*/
function paintClass(id)
{
return new TileClassPainter(getTileClass(id));
}
/**
* Create a painter for the given class
*/
function unPaintClass(id)
{
return new TileClassUnPainter(getTileClass(id));
}
/**
* Create an avoid constraint for the given classes by the given distances
*/
@@ -6,9 +6,9 @@
/**
* Marks the affected area with the given tileclass.
*/
function TileClassPainter(tileClass)
function TileClassPainter(tileClassID)
{
this.tileClass = tileClass;
this.tileClass = getTileClass(tileClassID);
}
TileClassPainter.prototype.paint = function(area)
@@ -20,9 +20,9 @@ TileClassPainter.prototype.paint = function(area)
/**
* Removes the given tileclass from a given area.
*/
function TileClassUnPainter(tileClass)
function TileClassUnPainter(tileClassID)
{
this.tileClass = tileClass;
this.tileClass = getTileClass(tileClass);
}
TileClassUnPainter.prototype.paint = function(area)
@@ -41,7 +41,7 @@ function addBluffs(constraint, size, deviation, fill, baseHeight)
[
new LayeredPainter([g_Terrains.cliff, g_Terrains.mainTerrain, constrastTerrain], [2, 3]),
new SmoothElevationPainter(ELEVATION_MODIFY, Math.floor(elevation * offset), 2),
paintClass(g_TileClasses.bluff)
new TileClassPainter(g_TileClasses.bluff)
],
constraint,
1);
@@ -400,7 +400,7 @@ function addElevation(constraint, el)
[
new LayeredPainter(el.painter, [widths.concat(pSmooth)]),
new SmoothElevationPainter(elType, pElevation, pSmooth),
paintClass(el.class)
new TileClassPainter(el.class)
],
constraint,
1);
@@ -514,7 +514,7 @@ function addLayeredPatches(constraint, size, deviation, fill)
[g_Terrains.tier4Terrain]
],
[1, 1]),
paintClass(g_TileClasses.dirt)
new TileClassPainter(g_TileClasses.dirt)
],
constraint,
count * offset);
@@ -581,7 +581,7 @@ function addPlateaus(constraint, size, deviation, fill)
[
new LayeredPainter([plateauTile, plateauTile], [3]),
new SmoothElevationPainter(ELEVATION_MODIFY, hillElevation, hillElevation - 2),
paintClass(g_TileClasses.hill)
new TileClassPainter(g_TileClasses.hill)
],
[
avoidClasses(g_TileClasses.hill, 7),
@@ -802,7 +802,7 @@ function addForests(constraint, size, deviation, fill)
new ChainPlacer(1, Math.floor(scaleByMapSize(3, 5) * offset), Math.floor(50 * offset), 0.5),
[
new LayeredPainter(forestType, [2]),
paintClass(g_TileClasses.forest)
new TileClassPainter(g_TileClasses.forest)
],
constraint,
10 * fill);
@@ -158,7 +158,7 @@ function createBase(player, walls = true)
"outerTerrain": g_Terrains.roadWild,
"innerTerrain": g_Terrains.road,
"painters": [
paintClass(g_TileClasses.player)
new TileClassPainter(g_TileClasses.player)
]
},
"Chicken": {
@@ -94,7 +94,7 @@ for (let i = 0; i < numPlayers; ++i)
[tSLush ,[tLush, pForest], [tLush, pForest], tShore, tShore, tWaterDeep],
[2, 2, 1, 3, 1]),
new SmoothElevationPainter(ELEVATION_MODIFY, heightOffsetOasis, 10),
paintClass(clWater)
new TileClassPainter(clWater)
]);
}
Engine.SetProgress(50);
@@ -108,7 +108,7 @@ for (let size of [scaleByMapSize(3, 48), scaleByMapSize(5, 84), scaleByMapSize(8
[[tDirt1, tSandDunes], [tSandDunes, tDirt2], [tDirt2, tDirt1]],
[1, 1]
),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(clForest, 0, clPlayer, 0, clWater, 1, clDirt, 5),
scaleByMapSize(15, 45));
@@ -123,7 +123,7 @@ for (let size of [scaleByMapSize(3, 48), scaleByMapSize(5, 84), scaleByMapSize(8
[[tDirt2, tDirtCracks], [tDirt2, tFineSand], [tDirtCracks, tFineSand]],
[1, 1]
),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(clForest, 0, clDirt, 5, clPlayer, 0, clWater, 1),
scaleByMapSize(15, 45));
@@ -102,7 +102,7 @@ createAreas(
[
new LayeredPainter([tShore, tWater], [1]),
new SmoothElevationPainter(ELEVATION_SET, heightSeaGround, 7),
paintClass(clWater)
new TileClassPainter(clWater)
],
avoidClasses(clPlayer, 24),
scaleByMapSize(1, 3));
@@ -102,7 +102,7 @@ for (let i = 0; i < numPlayers; ++i)
new ClumpPlacer(diskArea(scaleByMapSize(5, 30)), 0.95, 0.6, 10, riverStart[i]),
[
new SmoothElevationPainter(ELEVATION_SET, heightSeaGround, 4),
paintClass(clWater)
new TileClassPainter(clWater)
],
avoidClasses(clPlayer, 5));
@@ -112,7 +112,7 @@ for (let i = 0; i < numPlayers; ++i)
[
new LayeredPainter([tShore, tWater, tWater], [1, 3]),
new SmoothElevationPainter(ELEVATION_SET, heightSeaGround, 4),
paintClass(clWater)
new TileClassPainter(clWater)
],
avoidClasses(clPlayer, 5));
@@ -121,7 +121,7 @@ for (let i = 0; i < numPlayers; ++i)
new ClumpPlacer(diskArea(scaleByMapSize(5, 22)), 0.95, 0.6, 10, riverEnd[i]),
[
new SmoothElevationPainter(ELEVATION_SET, heightSeaGround, 4),
paintClass(clWater)
new TileClassPainter(clWater)
],
avoidClasses(clPlayer, 5));
@@ -170,7 +170,7 @@ createAreas(
[
new LayeredPainter([tGrass, tCliff, tHill], [1, 2]),
new SmoothElevationPainter(ELEVATION_SET, heightHill, 3),
paintClass(clHill)
new TileClassPainter(clHill)
],
avoidClasses(clPlayer, 20, clHill, 15, clWater, 3),
scaleByMapSize(1, 4) * numPlayers);
@@ -188,7 +188,7 @@ for (let type of types)
new ClumpPlacer(forestTrees / num, 0.1, 0.1, 1),
[
new LayeredPainter(type, [2]),
paintClass(clForest)
new TileClassPainter(clForest)
],
avoidClasses(clPlayer, 20, clForest, 10, clHill, 0, clWater, 2),
num
@@ -203,7 +203,7 @@ for (let size of [scaleByMapSize(3, 48), scaleByMapSize(5, 84), scaleByMapSize(8
new LayeredPainter(
[[tGrass, tDirtRocksA], [tDirtRocksA, tDirtRocksB], [tDirtRocksB, tDirtRocksC]],
[1, 1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(clWater, 3, clForest, 0, clHill, 0, clPlayer, 20),
scaleByMapSize(15, 45));
@@ -157,7 +157,7 @@ placePlayerBases({
"smoothness": 1/8,
"painters": [
new TerrainPainter([baseTex], [baseRadius/4, baseRadius/4]),
paintClass(clPlayer)
new TileClassPainter(clPlayer)
]
},
// No chicken
@@ -227,7 +227,7 @@ for (let i = 0; i < numPlayers + (pathBlending ? 1 : 0); ++i)
[
new TerrainPainter(terrainPath),
new SmoothElevationPainter(ELEVATION_MODIFY, heightOffsetPath, 1),
paintClass(clPath)
new TileClassPainter(clPath)
],
avoidClasses(clPath, 0, clOpen, 0 ,clWater, 4, clBaseResource, 4));
}
@@ -306,7 +306,7 @@ for (var x = 0; x < mapSize; x++)
new RectPlacer(x, z, x, z),
[
new TerrainPainter(border ? terrainWoodBorder : terrainWood),
paintClass(clForest)
new TileClassPainter(clForest)
],
border ?
avoidClasses(clPath, 1, clOpen, 2, clWater, 3, clMetal, 4, clRock, 4) :
@@ -85,7 +85,7 @@ function createIsland(islandID, size, tileClass)
[
new LayeredPainter([tCliff, tHill], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightIsland, 2),
paintClass(tileClass)
new TileClassPainter(tileClass)
]);
}
@@ -282,7 +282,7 @@ for (let type of types)
new ClumpPlacer(forestTrees / num, 0.1, 0.1, 1),
[
new LayeredPainter(type, [2]),
paintClass(clForest)
new TileClassPainter(clForest)
],
[avoidClasses(clPlayer, 6, clForest, 10), stayClasses(clLand, 4)],
num);
@@ -316,7 +316,7 @@ for (let size of [scaleByMapSize(3, 48), scaleByMapSize(5, 84), scaleByMapSize(8
new ClumpPlacer(size, 0.3, 0.06, 0.5),
[
new LayeredPainter([[tMainTerrain, tTier1Terrain],[tTier1Terrain, tTier2Terrain], [tTier2Terrain, tTier3Terrain]], [1, 1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
[avoidClasses(clForest, 0, clDirt, 5, clPlayer, 12), stayClasses(clLand, 5)],
scaleByMapSize(15, 45));
@@ -12,7 +12,7 @@ initTileClasses();
createArea(
new MapBoundsPlacer(),
paintClass(g_TileClasses.land));
new TileClassPainter(g_TileClasses.land));
Engine.SetProgress(20);
@@ -62,7 +62,7 @@ createArea(
[
new LayeredPainter([tMainTerrain, tMainTerrain], [3]),
new SmoothElevationPainter(ELEVATION_SET, heightLand, 3),
paintClass(clLand)
new TileClassPainter(clLand)
]);
Engine.SetProgress(10);
@@ -57,7 +57,7 @@ for (let i = 0; i < numPlayers; ++i)
if (!isNomad())
createArea(
new ClumpPlacer(diskArea(defaultPlayerBaseRadius()), 0.9, 0.5, 10, playerPosition[i]),
paintClass(clPlayer));
new TileClassPainter(clPlayer));
log("Creating big grass patches surrounding the city patches...");
createArea(
@@ -71,7 +71,7 @@ for (let i = 0; i < numPlayers; ++i)
[Math.floor(scaleByMapSize(16, 30))]),
[
new LayeredPainter([tGrassSands, tGrass], [3]),
paintClass(clGrass)
new TileClassPainter(clGrass)
]);
}
Engine.SetProgress(10);
@@ -119,7 +119,7 @@ createAreas(
[
new LayeredPainter([tCliff, tHill], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightHill, 2),
paintClass(clHill)
new TileClassPainter(clHill)
],
avoidClasses(clPlayer, 3, clGrass, 1, clHill, 10),
scaleByMapSize(1, 3) * numPlayers * 3);
@@ -143,7 +143,7 @@ for (let type of types)
0.5),
[
new LayeredPainter(type, [2]),
paintClass(clForest)
new TileClassPainter(clForest)
],
avoidClasses(clPlayer, 1, clGrass, 1, clForest, 10, clHill, 1),
num);
@@ -188,7 +188,7 @@ var waterAreas = createAreas(
[
new LayeredPainter([tShore, tShore, tShore], [1, 1]),
new SmoothElevationPainter(ELEVATION_SET, heightPonds, 4),
paintClass(clPond)
new TileClassPainter(clPond)
],
avoidClasses(clPlayer, 25, clWater, 20, clPond, 10),
numLakes);
@@ -218,7 +218,7 @@ createAreas(
new ClumpPlacer(forestTrees / num, 0.15, 0.1, 0.5),
[
new TerrainPainter([pForest, tForestFloor]),
paintClass(clForest)
new TileClassPainter(clForest)
],
avoidClasses(clPlayer, 19, clForest, 4, clWater, 1, clDesert, 5, clPond, 2, clBaseResource, 3),
num,
@@ -234,7 +234,7 @@ for (let size of [scaleByMapSize(3, 48), scaleByMapSize(5, 84), scaleByMapSize(8
new LayeredPainter(
[[tGrass, tGrassSand50], [tGrassSand50, tGrassSand25], [tGrassSand25, tGrass]],
[1, 1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(clForest, 0, clGrass, 5, clPlayer, 10, clWater, 1, clDirt, 5, clShore, 1, clPond, 1),
scaleByMapSize(15, 45));
@@ -248,7 +248,7 @@ for (let size of [scaleByMapSize(3, 48), scaleByMapSize(5, 84), scaleByMapSize(8
new LayeredPainter(
[[tDirt, tDirtCracks], [tDirt, tFineSand], [tDirtCracks, tFineSand]],
[1, 1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(clForest, 0, clDirt, 5, clPlayer, 10, clWater, 1, clGrass, 5, clShore, 1, clPond, 1),
scaleByMapSize(15, 45));
@@ -156,7 +156,7 @@ function unknownArchipelago()
new ClumpPlacer(islandSize * randFloat(0.8, 1.2), 0.8, 0.1, 10),
[
landElevationPainter,
paintClass(clLand)
new TileClassPainter(clLand)
],
null,
scaleByMapSize(2, 5) * randIntInclusive(8, 14));
@@ -166,7 +166,7 @@ function unknownArchipelago()
new ClumpPlacer(scaleByMapSize(15, 80), 0.2, 0.1, 1),
[
new SmoothElevationPainter(ELEVATION_SET, heightLand, 4),
paintClass(clLand)
new TileClassPainter(clLand)
],
borderClasses(clLand, 6, 3),
scaleByMapSize(12, 130) * 2,
@@ -179,7 +179,7 @@ function unknownArchipelago()
new ClumpPlacer(islandSize * randFloat(0.6, 1.4), 0.8, 0.1, randFloat(0.0, 0.2)),
[
landElevationPainter,
paintClass(clLand)
new TileClassPainter(clLand)
],
avoidClasses(clLand, 3, clPlayerTerritory, 3),
scaleByMapSize(6, 10) * randIntInclusive(8, 14));
@@ -189,7 +189,7 @@ function unknownArchipelago()
new ClumpPlacer(islandSize * randFloat(0.3, 0.7), 0.8, 0.1, 0.07),
[
new SmoothElevationPainter(ELEVATION_SET, heightLand, 6),
paintClass(clLand)
new TileClassPainter(clLand)
],
avoidClasses(clLand, 3, clPlayerTerritory, 3),
scaleByMapSize(2, 6) * randIntInclusive(6, 15),
@@ -202,7 +202,7 @@ function unknownArchipelago()
new ClumpPlacer(islandSize * randFloat(0.8, 1.2), 0.8, 0.1, 10),
[
landElevationPainter,
paintClass(clLand)
new TileClassPainter(clLand)
],
avoidClasses(clLand, randIntInclusive(8, 16), clPlayerTerritory, 3),
scaleByMapSize(2, 5) * randIntInclusive(8, 14));
@@ -234,7 +234,7 @@ function unknownContinent()
[Math.floor(scaleByMapSize(23, 50))]),
[
landElevationPainter,
paintClass(clLand)
new TileClassPainter(clLand)
]);
}
@@ -243,7 +243,7 @@ function unknownContinent()
new ClumpPlacer(diskArea(fractionToTiles(0.38)), 0.9, 0.09, 10, mapCenter),
[
landElevationPainter,
paintClass(clLand)
new TileClassPainter(clLand)
]);
if (randBool(1/3))
@@ -255,14 +255,14 @@ function unknownContinent()
new ClumpPlacer(diskArea(fractionToTiles(0.38)), 0.9, 0.09, 10, peninsulaPosition1),
[
landElevationPainter,
paintClass(clLand)
new TileClassPainter(clLand)
]);
log("Remembering to not paint shorelines into the peninsula...");
let peninsulaPosition2 = Vector2D.add(mapCenter, new Vector2D(fractionToTiles(0.35), 0).rotate(-angle));
createArea(
new ClumpPlacer(diskArea(fractionToTiles(0.33)), 0.9, 0.01, 10, peninsulaPosition2),
paintClass(clPeninsulaSteam));
new TileClassPainter(clPeninsulaSteam));
}
createShoreJaggedness(waterHeight, clLand, 7);
@@ -321,8 +321,8 @@ function unknownCentralSea()
0.01),
[
landElevationPainter,
paintClass(clLand),
unPaintClass(clWater)
new TileClassPainter(clLand),
new TileClassUnPainter(clWater)
]);
}
@@ -423,7 +423,7 @@ function unknownRiversAndLake()
new ClumpPlacer(diskArea(fractionToTiles(0.17)), 0.7, 0.1, 10, mapCenter),
[
new SmoothElevationPainter(ELEVATION_SET, waterHeight, 4),
paintClass(clWater)
new TileClassPainter(clWater)
]);
createShoreJaggedness(waterHeight, clWater, 3);
@@ -439,7 +439,7 @@ function unknownRiversAndLake()
new PathPlacer(mapCenter, river, scaleByMapSize(14, 24), 0.4, 3 * scaleByMapSize(1, 3), 0.2, 0.05),
[
new SmoothElevationPainter(ELEVATION_SET, waterHeight, 4),
paintClass(clWater)
new TileClassPainter(clWater)
],
avoidClasses(clPlayer, 5));
@@ -447,7 +447,7 @@ function unknownRiversAndLake()
new ClumpPlacer(diskArea(scaleByMapSize(4, 22)), 0.95, 0.6, 10, river),
[
new SmoothElevationPainter(ELEVATION_SET, waterHeight, 0),
paintClass(clWater)
new TileClassPainter(clWater)
],
avoidClasses(clPlayer, 5));
}
@@ -457,7 +457,7 @@ function unknownRiversAndLake()
new ClumpPlacer(diskArea(fractionToTiles(0.04)), 0.7, 0.1, 10, mapCenter),
[
new SmoothElevationPainter(ELEVATION_SET, waterHeight, 4),
paintClass(clWater)
new TileClassPainter(clWater)
]);
}
@@ -468,7 +468,7 @@ function unknownRiversAndLake()
new ClumpPlacer(diskArea(fractionToTiles(0.05)), 0.7, 0.1, 10, mapCenter),
[
landElevationPainter,
paintClass(clWater)
new TileClassPainter(clWater)
]);
}
}
@@ -549,7 +549,7 @@ function unknownGulf()
new ClumpPlacer(diskArea(gulfPart.radius), 0.7, 0.05, 10, position),
[
new SmoothElevationPainter(ELEVATION_SET, waterHeight, 4),
paintClass(clWater)
new TileClassPainter(clWater)
],
avoidClasses(clPlayerTerritory, defaultPlayerBaseRadius()));
}
@@ -577,7 +577,7 @@ function unknownLakes()
new ClumpPlacer(scaleByMapSize(160, 700), 0.2, 0.1, 1),
[
new SmoothElevationPainter(ELEVATION_SET, waterHeight, 5),
paintClass(clWater)
new TileClassPainter(clWater)
],
[avoidClasses(clPlayerTerritory, 12), randBool() ? avoidClasses(clWater, 8) : new NullConstraint()],
scaleByMapSize(5, 16));
@@ -613,7 +613,7 @@ function unknownPasses()
[
// More smoothing than this often results in the mountainrange becoming passable to one player.
new SmoothElevationPainter(ELEVATION_SET, heightMountain, 1),
paintClass(clWater)
new TileClassPainter(clWater)
],
avoidClasses(clPlayer, 5));
@@ -647,7 +647,7 @@ function unknownPasses()
new ClumpPlacer(diskArea(fractionToTiles(0.1)), 0.7, 0.1, 10, mapCenter),
[
new SmoothElevationPainter(ELEVATION_SET, waterHeight, 3),
paintClass(clWater)
new TileClassPainter(clWater)
]);
}
else
@@ -657,7 +657,7 @@ function unknownPasses()
new ClumpPlacer(diskArea(fractionToTiles(0.05)), 0.7, 0.1, 10, mapCenter),
[
new SmoothElevationPainter(ELEVATION_SET, heightMountain, 4),
paintClass(clWater)
new TileClassPainter(clWater)
]);
}
}
@@ -700,7 +700,7 @@ function unknownLowlands()
new ClumpPlacer(diskArea(scaleByMapSize(18, 32)), 0.65, 0.1, 10, valley),
[
new SmoothElevationPainter(ELEVATION_SET, heightLand, 2),
paintClass(clLand)
new TileClassPainter(clLand)
]);
log("Creating passes from player areas to the center...");
@@ -708,7 +708,7 @@ function unknownLowlands()
new PathPlacer(mapCenter, valley, scaleByMapSize(14, 24), 0.4, 3 * scaleByMapSize(1, 3), 0.2, 0.05),
[
landElevationPainter,
paintClass(clWater)
new TileClassPainter(clWater)
]);
}
@@ -717,7 +717,7 @@ function unknownLowlands()
new ClumpPlacer(diskArea(fractionToTiles(0.18)), 0.7, 0.1, 10, mapCenter),
[
landElevationPainter,
paintClass(clWater)
new TileClassPainter(clWater)
]);
}
@@ -754,7 +754,7 @@ function createShoreJaggedness(waterHeight, borderClass, shoreDist, inwards = tr
new ChainPlacer(2, Math.floor(scaleByMapSize(4, 6)), 15, 1),
[
new SmoothElevationPainter(ELEVATION_SET, i ? heightLand : waterHeight, 4),
i ? paintClass(clLand) : unPaintClass(clLand)
i ? new TileClassPainter(clLand) : new TileClassUnPainter(clLand)
],
[
avoidClasses(clPlayer, 20, clPeninsulaSteam, 20),
@@ -775,7 +775,7 @@ function createExtensionsOrIslands()
new ClumpPlacer(Math.square(randIntInclusive(scaleByMapSize(8, 15), scaleByMapSize(15, 23))), 0.8, 0.1, randFloat(0, 0.2)),
[
landElevationPainter,
paintClass(clLand)
new TileClassPainter(clLand)
],
avoidClasses(clLand, 3, clPlayer, 3),
scaleByMapSize(2, 5) * randIntInclusive(8, 14));
@@ -787,7 +787,7 @@ function createExtensionsOrIslands()
new ChainPlacer(Math.floor(scaleByMapSize(4, 7)), Math.floor(scaleByMapSize(7, 10)), Math.floor(scaleByMapSize(16, 40)), 0.07),
[
landElevationPainter,
paintClass(clLand)
new TileClassPainter(clLand)
],
null,
scaleByMapSize(2, 5) * randIntInclusive(8, 14));
@@ -806,7 +806,7 @@ function markPlayerArea(size)
if (size == "large")
createArea(
new ClumpPlacer(diskArea(scaleByMapSize(17, 29) / 3), 0.6, 0.3, 10, playerPosition[i]),
paintClass(clPlayerTerritory));
new TileClassPainter(clPlayerTerritory));
}
}
@@ -843,7 +843,7 @@ function createUnknownObjects()
[
new LayeredPainter([tCliff, tHill], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightHill, 2),
paintClass(clHill)
new TileClassPainter(clHill)
],
[avoidClasses(clPlayer, 15, clHill, randIntInclusive(6, 18)), stayClasses(clLand, 0)],
randIntInclusive(0, scaleByMapSize(4, 8))*randIntInclusive(1, scaleByMapSize(4, 9))
@@ -864,7 +864,7 @@ function createUnknownObjects()
new ClumpPlacer(numForest / num, 0.1, 0.1, 1),
[
new LayeredPainter(type, [2]),
paintClass(clForest)
new TileClassPainter(clForest)
],
[avoidClasses(clPlayer, 20, clForest, randIntInclusive(5, 15), clHill, 2), stayClasses(clLand, 4)],
num);
@@ -877,7 +877,7 @@ function createUnknownObjects()
new ClumpPlacer(size, 0.3, 0.06, 0.5),
[
new LayeredPainter([[tMainTerrain, tTier1Terrain], [tTier1Terrain, tTier2Terrain], [tTier2Terrain, tTier3Terrain]], [1, 1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
[avoidClasses(clForest, 0, clHill, 2, clDirt, 5, clPlayer, 7), stayClasses(clLand, 4)],
patchCount);
@@ -1028,7 +1028,7 @@ function createUnknownPlayerBases()
"outerTerrain": tRoadWild,
"innerTerrain": tRoad,
"painters": [
paintClass(clPlayer)
new TileClassPainter(clPlayer)
]
},
"Chicken": {
@@ -69,7 +69,7 @@ createAreas(
[
new LayeredPainter([tCliff, tGrass], [2]),
new SmoothElevationPainter(ELEVATION_SET, heightHill, 2),
paintClass(clHill)
new TileClassPainter(clHill)
],
avoidClasses(clPlayer, 12, clHill, 15, clBaseResource, 2),
scaleByMapSize(2, 8) * numPlayers
@@ -88,7 +88,7 @@ for (let type of types)
new ClumpPlacer(forestTrees / num, 0.1, 0.1, 1),
[
new LayeredPainter(type, [2]),
paintClass(clForest)
new TileClassPainter(clForest)
],
avoidClasses(clPlayer, 12, clForest, 10, clHill, 0, clBaseResource, 6),
num);
@@ -101,7 +101,7 @@ for (let size of [scaleByMapSize(3, 48), scaleByMapSize(5, 84), scaleByMapSize(8
new ClumpPlacer(size, 0.3, 0.06, 0.5),
[
new LayeredPainter([tGrassA, tGrassA], [1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(clForest, 0, clHill, 0, clPlayer, 12),
scaleByMapSize(20, 80));
@@ -111,7 +111,7 @@ for (let size of [scaleByMapSize(3, 48), scaleByMapSize(5, 84), scaleByMapSize(8
new ClumpPlacer(size, 0.3, 0.06, 0.5),
[
new LayeredPainter([tGrassB, tGrassB], [1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(clForest, 0, clHill, 0, clPlayer, 12),
scaleByMapSize(20, 80));
@@ -121,7 +121,7 @@ for (let size of [scaleByMapSize(3, 48), scaleByMapSize(5, 84), scaleByMapSize(8
new ClumpPlacer(size, 0.3, 0.06, 0.5),
[
new LayeredPainter([tGrassC, tGrassC], [1]),
paintClass(clDirt)
new TileClassPainter(clDirt)
],
avoidClasses(clForest, 0, clHill, 0, clPlayer, 12),
scaleByMapSize(20, 80)
@@ -254,7 +254,7 @@ function placeGrove(point,
let painters = [new TerrainPainter(groveTerrainTexture)];
if (groveTileClass)
painters.push(paintClass(groveTileClass));
painters.push(new TileClassPainter(groveTileClass));
createArea(
new ClumpPlacer(5, 1, 1, 1, position),
@@ -383,7 +383,7 @@ function placeStartLocationResources(
new ClumpPlacer(5, 1, 1, 1, position),
[
new TerrainPainter(groveTerrainTexture),
paintClass(clGrove)
new TileClassPainter(clGrove)
]);
currentAngle += dAngle;