Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/maps/random/ardennes_forest.js
Show First 20 Lines • Show All 249 Lines • ▼ Show 20 Lines | var painter = new LayeredPainter( | ||||
[2] // widths | [2] // widths | ||||
); | ); | ||||
var elevationPainter = new SmoothElevationPainter( | var elevationPainter = new SmoothElevationPainter( | ||||
ELEVATION_SET, | ELEVATION_SET, | ||||
50, | 50, | ||||
sizes[i] < 50 ? 2 : 4 | sizes[i] < 50 ? 2 : 4 | ||||
); | ); | ||||
var mountains = createAreas( | var mountains = createAreasDeprecated( | ||||
placer, | placer, | ||||
[painter, paintClass(clHill), elevationPainter], | [painter, paintClass(clHill), elevationPainter], | ||||
avoidClasses(clPlayer, 8, clBaseResource, 2, clHill, 5), | avoidClasses(clPlayer, 8, clBaseResource, 2, clHill, 5), | ||||
scaleByMapSize(1, 4) | scaleByMapSize(1, 4) | ||||
); | ); | ||||
if(sizes[i] > 100 && mountains.length > 0) | if(sizes[i] > 100 && mountains.length > 0) | ||||
{ | { | ||||
var placer = new ClumpPlacer(sizes[i] * 0.3, 0.94, 0.05, 0.1); | var placer = new ClumpPlacer(sizes[i] * 0.3, 0.94, 0.05, 0.1); | ||||
var elevationPainter = new SmoothElevationPainter( | var elevationPainter = new SmoothElevationPainter( | ||||
ELEVATION_MODIFY, | ELEVATION_MODIFY, | ||||
10, | 10, | ||||
3 | 3 | ||||
); | ); | ||||
var painter = new LayeredPainter( | var painter = new LayeredPainter( | ||||
[tCliff, tForestFloor], // terrains | [tCliff, tForestFloor], // terrains | ||||
[2] // widths | [2] // widths | ||||
); | ); | ||||
createAreasInAreas( | createAreasInAreasDeprecated( | ||||
placer, | placer, | ||||
[painter, elevationPainter], | [painter, elevationPainter], | ||||
stayClasses(clHill, 4), | stayClasses(clHill, 4), | ||||
mountains.length * 2, | mountains.length * 2, | ||||
20, | 20, | ||||
mountains | mountains | ||||
); | ); | ||||
} | } | ||||
var placer = new ClumpPlacer(sizes[i], 0.1, 0.2, 0.1); | var placer = new ClumpPlacer(sizes[i], 0.1, 0.2, 0.1); | ||||
var elevationPainter = new SmoothElevationPainter( | var elevationPainter = new SmoothElevationPainter( | ||||
ELEVATION_SET, | ELEVATION_SET, | ||||
10, | 10, | ||||
2 | 2 | ||||
); | ); | ||||
var ravine = createAreas( | var ravine = createAreasDeprecated( | ||||
placer, | placer, | ||||
[painter, paintClass(clHill), elevationPainter], | [painter, paintClass(clHill), elevationPainter], | ||||
avoidClasses(clPlayer, 6, clBaseResource, 2, clHill, 5), | avoidClasses(clPlayer, 6, clBaseResource, 2, clHill, 5), | ||||
scaleByMapSize(1, 3) | scaleByMapSize(1, 3) | ||||
); | ); | ||||
if(sizes[i] > 150 && ravine.length > 0) | if(sizes[i] > 150 && ravine.length > 0) | ||||
{ | { | ||||
// Place huts in ravines | // Place huts in ravines | ||||
var group = new RandomGroup( | var group = new RandomGroup( | ||||
[ | [ | ||||
new SimpleObject(aCeltHouse, 0,1, 4,5), | new SimpleObject(aCeltHouse, 0,1, 4,5), | ||||
new SimpleObject(aCeltLongHouse, 1,1, 4,5) | new SimpleObject(aCeltLongHouse, 1,1, 4,5) | ||||
], true, clHillDeco); | ], true, clHillDeco); | ||||
createObjectGroupsByAreas( | createObjectGroupsByAreasDeprecated( | ||||
group, 0, | group, 0, | ||||
[avoidClasses(clHillDeco, 3), stayClasses(clHill, 3)], | [avoidClasses(clHillDeco, 3), stayClasses(clHill, 3)], | ||||
ravine.length * 5, 20, | ravine.length * 5, 20, | ||||
ravine | ravine | ||||
); | ); | ||||
var group = new RandomGroup( | var group = new RandomGroup( | ||||
[ | [ | ||||
new SimpleObject(aCeltHomestead, 1,1, 1,1) | new SimpleObject(aCeltHomestead, 1,1, 1,1) | ||||
], true, clHillDeco); | ], true, clHillDeco); | ||||
createObjectGroupsByAreas( | createObjectGroupsByAreasDeprecated( | ||||
group, 0, | group, 0, | ||||
[avoidClasses(clHillDeco, 5), stayClasses(clHill, 4)], | [avoidClasses(clHillDeco, 5), stayClasses(clHill, 4)], | ||||
ravine.length * 2, 100, | ravine.length * 2, 100, | ||||
ravine | ravine | ||||
); | ); | ||||
// Place noise | // Place noise | ||||
var placer = new ClumpPlacer(sizes[i] * 0.3, 0.94, 0.05, 0.1); | var placer = new ClumpPlacer(sizes[i] * 0.3, 0.94, 0.05, 0.1); | ||||
var elevationPainter = new SmoothElevationPainter( | var elevationPainter = new SmoothElevationPainter( | ||||
ELEVATION_SET, | ELEVATION_SET, | ||||
2, | 2, | ||||
2 | 2 | ||||
); | ); | ||||
var painter = new LayeredPainter( | var painter = new LayeredPainter( | ||||
[tCliff, tForestFloor], // terrains | [tCliff, tForestFloor], // terrains | ||||
[2] // widths | [2] // widths | ||||
); | ); | ||||
createAreasInAreas( | createAreasInAreasDeprecated( | ||||
placer, | placer, | ||||
[painter, elevationPainter], | [painter, elevationPainter], | ||||
[avoidClasses(clHillDeco, 2), stayClasses(clHill, 0)], | [avoidClasses(clHillDeco, 2), stayClasses(clHill, 0)], | ||||
ravine.length * 2, | ravine.length * 2, | ||||
20, | 20, | ||||
ravine | ravine | ||||
); | ); | ||||
var placer = new ClumpPlacer(sizes[i] * 0.1, 0.3, 0.05, 0.1); | var placer = new ClumpPlacer(sizes[i] * 0.1, 0.3, 0.05, 0.1); | ||||
var elevationPainter = new SmoothElevationPainter( | var elevationPainter = new SmoothElevationPainter( | ||||
ELEVATION_SET, | ELEVATION_SET, | ||||
40, | 40, | ||||
2 | 2 | ||||
); | ); | ||||
var painter = new LayeredPainter( | var painter = new LayeredPainter( | ||||
[tCliff, tForestFloor], // terrains | [tCliff, tForestFloor], // terrains | ||||
[2] // widths | [2] // widths | ||||
); | ); | ||||
createAreasInAreas( | createAreasInAreasDeprecated( | ||||
placer, | placer, | ||||
[painter, paintClass(clHill), elevationPainter], | [painter, paintClass(clHill), elevationPainter], | ||||
[avoidClasses(clHillDeco, 2), borderClasses(clHill, 15, 1)], | [avoidClasses(clHillDeco, 2), borderClasses(clHill, 15, 1)], | ||||
ravine.length * 2, | ravine.length * 2, | ||||
50, | 50, | ||||
ravine | ravine | ||||
); | ); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 59 Lines • ▼ Show 20 Lines | |||||
var numForestJoin = totalTrees * P_FOREST * P_FOREST_JOIN; | var numForestJoin = totalTrees * P_FOREST * P_FOREST_JOIN; | ||||
var numStragglers = totalTrees * (1.0 - P_FOREST); | var numStragglers = totalTrees * (1.0 - P_FOREST); | ||||
// create forests | // create forests | ||||
log("Creating forests..."); | log("Creating forests..."); | ||||
var num = numForest / (scaleByMapSize(6,16) * numPlayers); | var num = numForest / (scaleByMapSize(6,16) * numPlayers); | ||||
placer = new ClumpPlacer(numForest / num, 0.1, 0.1, 1); | placer = new ClumpPlacer(numForest / num, 0.1, 0.1, 1); | ||||
painter = new TerrainPainter(pForest); | painter = new TerrainPainter(pForest); | ||||
createAreasInAreas( | createAreasInAreasDeprecated( | ||||
placer, | placer, | ||||
[painter, paintClass(clForest)], | [painter, paintClass(clForest)], | ||||
avoidClasses(clPlayer, 5, clBaseResource, 4, clForest, 6, clHill, 4), | avoidClasses(clPlayer, 5, clBaseResource, 4, clForest, 6, clHill, 4), | ||||
num, | num, | ||||
100, | 100, | ||||
[explorableArea] | [explorableArea] | ||||
); | ); | ||||
var num = numForestJoin / (scaleByMapSize(4,6) * numPlayers); | var num = numForestJoin / (scaleByMapSize(4,6) * numPlayers); | ||||
placer = new ClumpPlacer(numForestJoin / num, 0.1, 0.1, 1); | placer = new ClumpPlacer(numForestJoin / num, 0.1, 0.1, 1); | ||||
painter = new TerrainPainter(pForest); | painter = new TerrainPainter(pForest); | ||||
createAreasInAreas( | createAreasInAreasDeprecated( | ||||
placer, | placer, | ||||
[painter, paintClass(clForest), paintClass(clForestJoin)], | [painter, paintClass(clForest), paintClass(clForestJoin)], | ||||
[avoidClasses(clPlayer, 5, clBaseResource, 4, clForestJoin, 5, clHill, 4), borderClasses(clForest, 1, 4)], | [avoidClasses(clPlayer, 5, clBaseResource, 4, clForestJoin, 5, clHill, 4), borderClasses(clForest, 1, 4)], | ||||
num, | num, | ||||
100, | 100, | ||||
[explorableArea] | [explorableArea] | ||||
); | ); | ||||
RMS.SetProgress(70); | RMS.SetProgress(70); | ||||
// create grass patches | // create grass patches | ||||
log("Creating grass patches..."); | log("Creating grass patches..."); | ||||
var sizes = [scaleByMapSize(3, 48), scaleByMapSize(5, 84), scaleByMapSize(8, 128)]; | var sizes = [scaleByMapSize(3, 48), scaleByMapSize(5, 84), scaleByMapSize(8, 128)]; | ||||
for (var i = 0; i < sizes.length; i++) | for (var i = 0; i < sizes.length; i++) | ||||
{ | { | ||||
placer = new ClumpPlacer(sizes[i], 0.3, 0.06, 0.5); | placer = new ClumpPlacer(sizes[i], 0.3, 0.06, 0.5); | ||||
painter = new LayeredPainter( | painter = new LayeredPainter( | ||||
[[tGrass,tGrassPatch],[tGrassPatch,tGrass], [tGrass,tGrassPatch]], // terrains | [[tGrass,tGrassPatch],[tGrassPatch,tGrass], [tGrass,tGrassPatch]], // terrains | ||||
[1,1] // widths | [1,1] // widths | ||||
); | ); | ||||
createAreas( | createAreasDeprecated( | ||||
placer, | placer, | ||||
painter, | painter, | ||||
avoidClasses(clForest, 0, clHill, 2, clPlayer, 5), | avoidClasses(clForest, 0, clHill, 2, clPlayer, 5), | ||||
scaleByMapSize(15, 45) | scaleByMapSize(15, 45) | ||||
); | ); | ||||
} | } | ||||
// create chopped forest patches | // create chopped forest patches | ||||
log("Creating chopped forest patches..."); | log("Creating chopped forest patches..."); | ||||
var sizes = [scaleByMapSize(20, 120)]; | var sizes = [scaleByMapSize(20, 120)]; | ||||
for (var i = 0; i < sizes.length; i++) | for (var i = 0; i < sizes.length; i++) | ||||
{ | { | ||||
placer = new ClumpPlacer(sizes[i], 0.3, 0.06, 0.5); | placer = new ClumpPlacer(sizes[i], 0.3, 0.06, 0.5); | ||||
painter = new TerrainPainter(tForestFloor); | painter = new TerrainPainter(tForestFloor); | ||||
createAreas( | createAreasDeprecated( | ||||
placer, | placer, | ||||
painter, | painter, | ||||
avoidClasses(clForest, 1, clHill, 2, clPlayer, 5), | avoidClasses(clForest, 1, clHill, 2, clPlayer, 5), | ||||
scaleByMapSize(4, 12) | scaleByMapSize(4, 12) | ||||
); | ); | ||||
} | } | ||||
RMS.SetProgress(75); | RMS.SetProgress(75); | ||||
log("Creating stone mines..."); | log("Creating stone mines..."); | ||||
// create stone quarries | // create stone quarries | ||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 1,2, 0,4), new SimpleObject(oStoneLarge, 0,1, 0,4)], true, clRock); | var group = new SimpleGroup([new SimpleObject(oStoneSmall, 1,2, 0,4), new SimpleObject(oStoneLarge, 0,1, 0,4)], true, clRock); | ||||
createObjectGroupsByAreas(group, 0, | createObjectGroupsByAreasDeprecated(group, 0, | ||||
[avoidClasses(clHill, 4, clForest, 2, clPlayer, 20, clRock, 10)], | [avoidClasses(clHill, 4, clForest, 2, clPlayer, 20, clRock, 10)], | ||||
scaleByMapSize(6,20), 100, | scaleByMapSize(6,20), 100, | ||||
[explorableArea] | [explorableArea] | ||||
); | ); | ||||
// create small stone quarries | // create small stone quarries | ||||
group = new SimpleGroup([new SimpleObject(oStoneSmall, 2,5, 1,3)], true, clRock); | group = new SimpleGroup([new SimpleObject(oStoneSmall, 2,5, 1,3)], true, clRock); | ||||
createObjectGroupsByAreas(group, 0, | createObjectGroupsByAreasDeprecated(group, 0, | ||||
[avoidClasses(clHill, 4, clForest, 2, clPlayer, 20, clRock, 10)], | [avoidClasses(clHill, 4, clForest, 2, clPlayer, 20, clRock, 10)], | ||||
scaleByMapSize(6,20), 100, | scaleByMapSize(6,20), 100, | ||||
[explorableArea] | [explorableArea] | ||||
); | ); | ||||
log("Creating metal mines..."); | log("Creating metal mines..."); | ||||
// create metal quarries | // create metal quarries | ||||
group = new SimpleGroup([new SimpleObject(oMetalSmall, 1,2, 0,4), new SimpleObject(oMetalLarge, 0,1, 0,4)], true, clMetal); | group = new SimpleGroup([new SimpleObject(oMetalSmall, 1,2, 0,4), new SimpleObject(oMetalLarge, 0,1, 0,4)], true, clMetal); | ||||
createObjectGroupsByAreas(group, 0, | createObjectGroupsByAreasDeprecated(group, 0, | ||||
[avoidClasses(clHill, 4, clForest, 2, clPlayer, 20, clMetal, 10, clRock, 5)], | [avoidClasses(clHill, 4, clForest, 2, clPlayer, 20, clMetal, 10, clRock, 5)], | ||||
scaleByMapSize(6,20), 100, | scaleByMapSize(6,20), 100, | ||||
[explorableArea] | [explorableArea] | ||||
); | ); | ||||
RMS.SetProgress(80); | RMS.SetProgress(80); | ||||
// create wildlife | // create wildlife | ||||
log("Creating wildlife..."); | log("Creating wildlife..."); | ||||
group = new SimpleGroup( | group = new SimpleGroup( | ||||
[new SimpleObject(oDeer, 5,7, 0,4)], | [new SimpleObject(oDeer, 5,7, 0,4)], | ||||
true, clFood | true, clFood | ||||
); | ); | ||||
createObjectGroupsByAreas(group, 0, | createObjectGroupsByAreasDeprecated(group, 0, | ||||
avoidClasses(clHill, 2, clForest, 0, clPlayer, 0, clBaseResource, 20), | avoidClasses(clHill, 2, clForest, 0, clPlayer, 0, clBaseResource, 20), | ||||
3 * numPlayers, 100, | 3 * numPlayers, 100, | ||||
[explorableArea] | [explorableArea] | ||||
); | ); | ||||
group = new SimpleGroup( | group = new SimpleGroup( | ||||
[new SimpleObject(oBoar, 2,3, 0,5)], | [new SimpleObject(oBoar, 2,3, 0,5)], | ||||
true, clFood | true, clFood | ||||
); | ); | ||||
createObjectGroupsByAreas(group, 0, | createObjectGroupsByAreasDeprecated(group, 0, | ||||
avoidClasses(clHill, 2, clForest, 0, clPlayer, 0, clBaseResource, 15), | avoidClasses(clHill, 2, clForest, 0, clPlayer, 0, clBaseResource, 15), | ||||
numPlayers, 50, | numPlayers, 50, | ||||
[explorableArea] | [explorableArea] | ||||
); | ); | ||||
group = new SimpleGroup( | group = new SimpleGroup( | ||||
[new SimpleObject(oBear, 1,1, 0,4)], | [new SimpleObject(oBear, 1,1, 0,4)], | ||||
false, clFood | false, clFood | ||||
); | ); | ||||
createObjectGroupsByAreas(group, 0, | createObjectGroupsByAreasDeprecated(group, 0, | ||||
avoidClasses(clHill, 2, clForest, 0, clPlayer, 20), | avoidClasses(clHill, 2, clForest, 0, clPlayer, 20), | ||||
scaleByMapSize(3, 12), 200, | scaleByMapSize(3, 12), 200, | ||||
[explorableArea] | [explorableArea] | ||||
); | ); | ||||
RMS.SetProgress(85); | RMS.SetProgress(85); | ||||
// create berry bush | // create berry bush | ||||
log("Creating berry bush..."); | log("Creating berry bush..."); | ||||
group = new SimpleGroup( | group = new SimpleGroup( | ||||
[new SimpleObject(oBerryBush, 5,7, 0,4)], | [new SimpleObject(oBerryBush, 5,7, 0,4)], | ||||
true, clFood | true, clFood | ||||
); | ); | ||||
createObjectGroups(group, 0, | createObjectGroupsDeprecated(group, 0, | ||||
avoidClasses(clWater, 3, clForest, 0, clPlayer, 20, clHill, 1, clFood, 20), | avoidClasses(clWater, 3, clForest, 0, clPlayer, 20, clHill, 1, clFood, 20), | ||||
randIntInclusive(3, 12) * numPlayers + 2, 50 | randIntInclusive(3, 12) * numPlayers + 2, 50 | ||||
); | ); | ||||
log("Creating decorative props..."); | log("Creating decorative props..."); | ||||
group = new SimpleGroup( | group = new SimpleGroup( | ||||
[ | [ | ||||
new SimpleObject(aWoodA, 1,2, 0,1), | new SimpleObject(aWoodA, 1,2, 0,1), | ||||
new SimpleObject(aWoodB, 1,3, 0,1), | new SimpleObject(aWoodB, 1,3, 0,1), | ||||
new SimpleObject(aWheel, 0,2, 0,1), | new SimpleObject(aWheel, 0,2, 0,1), | ||||
new SimpleObject(aWoodLarge, 0,1, 0,1), | new SimpleObject(aWoodLarge, 0,1, 0,1), | ||||
new SimpleObject(aBarrel, 0,2, 0,1) | new SimpleObject(aBarrel, 0,2, 0,1) | ||||
], | ], | ||||
true | true | ||||
); | ); | ||||
createObjectGroupsByAreas( | createObjectGroupsByAreasDeprecated( | ||||
group, 0, | group, 0, | ||||
avoidClasses(clForest, 0), | avoidClasses(clForest, 0), | ||||
scaleByMapSize(5, 50), 50, | scaleByMapSize(5, 50), 50, | ||||
[explorableArea] | [explorableArea] | ||||
); | ); | ||||
RMS.SetProgress(90); | RMS.SetProgress(90); | ||||
// create straggler trees | // create straggler trees | ||||
log("Creating straggler trees..."); | log("Creating straggler trees..."); | ||||
var types = [oOak, oOakLarge, oPine, oAleppoPine]; // some variation | var types = [oOak, oOakLarge, oPine, oAleppoPine]; // some variation | ||||
var num = floor(numStragglers / types.length); | var num = floor(numStragglers / types.length); | ||||
for (var i = 0; i < types.length; ++i) | for (var i = 0; i < types.length; ++i) | ||||
{ | { | ||||
group = new SimpleGroup( | group = new SimpleGroup( | ||||
[new SimpleObject(types[i], 1,1, 0,3)], | [new SimpleObject(types[i], 1,1, 0,3)], | ||||
true, clForest | true, clForest | ||||
); | ); | ||||
createObjectGroupsByAreas(group, 0, | createObjectGroupsByAreasDeprecated(group, 0, | ||||
avoidClasses(clForest, 4, clHill, 5, clPlayer, 10, clBaseResource, 2, clMetal, 5, clRock, 5), | avoidClasses(clForest, 4, clHill, 5, clPlayer, 10, clBaseResource, 2, clMetal, 5, clRock, 5), | ||||
num, 20, | num, 20, | ||||
[explorableArea] | [explorableArea] | ||||
); | ); | ||||
} | } | ||||
RMS.SetProgress(95); | RMS.SetProgress(95); | ||||
// create grass tufts | // create grass tufts | ||||
log("Creating grass tufts..."); | log("Creating grass tufts..."); | ||||
group = new SimpleGroup( | group = new SimpleGroup( | ||||
[new SimpleObject(aGrassLarge, 1,2, 0,1, -PI/8,PI/8)] | [new SimpleObject(aGrassLarge, 1,2, 0,1, -PI/8,PI/8)] | ||||
); | ); | ||||
createObjectGroupsByAreas(group, 0, | createObjectGroupsByAreasDeprecated(group, 0, | ||||
avoidClasses(clHill, 2, clPlayer, 2), | avoidClasses(clHill, 2, clPlayer, 2), | ||||
scaleByMapSize(50, 300), 20, | scaleByMapSize(50, 300), 20, | ||||
[explorableArea] | [explorableArea] | ||||
); | ); | ||||
setTerrainAmbientColor(0.44,0.51,0.56); | setTerrainAmbientColor(0.44,0.51,0.56); | ||||
setUnitsAmbientColor(0.44,0.51,0.56); | setUnitsAmbientColor(0.44,0.51,0.56); | ||||
// Export map data | // Export map data | ||||
ExportMap(); | ExportMap(); |
Wildfire Games · Phabricator