Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/maps/random/sahel_watering_holes.js
Show First 20 Lines • Show All 249 Lines • ▼ Show 20 Lines | |||||
} | } | ||||
paintTerrainBasedOnHeight(-6, 2, 1, tWater); | paintTerrainBasedOnHeight(-6, 2, 1, tWater); | ||||
// create bumps | // create bumps | ||||
log("Creating bumps..."); | log("Creating bumps..."); | ||||
placer = new ClumpPlacer(scaleByMapSize(20, 50), 0.3, 0.06, 1); | placer = new ClumpPlacer(scaleByMapSize(20, 50), 0.3, 0.06, 1); | ||||
painter = new SmoothElevationPainter(ELEVATION_MODIFY, 2, 2); | painter = new SmoothElevationPainter(ELEVATION_MODIFY, 2, 2); | ||||
createAreas( | createAreasDeprecated( | ||||
placer, | placer, | ||||
painter, | painter, | ||||
avoidClasses(clWater, 2, clPlayer, 20), | avoidClasses(clWater, 2, clPlayer, 20), | ||||
scaleByMapSize(100, 200) | scaleByMapSize(100, 200) | ||||
); | ); | ||||
// create hills | // create hills | ||||
log("Creating hills..."); | log("Creating hills..."); | ||||
placer = new ClumpPlacer(scaleByMapSize(20, 150), 0.2, 0.1, 1); | placer = new ClumpPlacer(scaleByMapSize(20, 150), 0.2, 0.1, 1); | ||||
terrainPainter = new LayeredPainter( | terrainPainter = new LayeredPainter( | ||||
[tGrass, tCliff, tHill], // terrains | [tGrass, tCliff, tHill], // terrains | ||||
[1, 2] // widths | [1, 2] // widths | ||||
); | ); | ||||
elevationPainter = new SmoothElevationPainter(ELEVATION_SET, 35, 3); | elevationPainter = new SmoothElevationPainter(ELEVATION_SET, 35, 3); | ||||
createAreas( | createAreasDeprecated( | ||||
placer, | placer, | ||||
[terrainPainter, elevationPainter, paintClass(clHill)], | [terrainPainter, elevationPainter, paintClass(clHill)], | ||||
avoidClasses(clPlayer, 20, clHill, 15, clWater, 3), | avoidClasses(clPlayer, 20, clHill, 15, clWater, 3), | ||||
scaleByMapSize(1, 4) * numPlayers | scaleByMapSize(1, 4) * numPlayers | ||||
); | ); | ||||
// calculate desired number of trees for map (based on size) | // calculate desired number of trees for map (based on size) | ||||
Show All 16 Lines | |||||
var num = floor(size / types.length); | var num = floor(size / types.length); | ||||
for (var i = 0; i < types.length; ++i) | for (var i = 0; i < types.length; ++i) | ||||
{ | { | ||||
placer = new ClumpPlacer(numForest / num, 0.1, 0.1, 1); | placer = new ClumpPlacer(numForest / num, 0.1, 0.1, 1); | ||||
painter = new LayeredPainter( | painter = new LayeredPainter( | ||||
types[i], // terrains | types[i], // terrains | ||||
[2] // widths | [2] // widths | ||||
); | ); | ||||
createAreas( | createAreasDeprecated( | ||||
placer, | placer, | ||||
[painter, paintClass(clForest)], | [painter, paintClass(clForest)], | ||||
avoidClasses(clPlayer, 20, clForest, 10, clHill, 0, clWater, 2), | avoidClasses(clPlayer, 20, clForest, 10, clHill, 0, clWater, 2), | ||||
num | num | ||||
); | ); | ||||
} | } | ||||
RMS.SetProgress(50); | RMS.SetProgress(50); | ||||
// create dirt patches | // create dirt patches | ||||
log("Creating dirt patches..."); | log("Creating dirt 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,tDirtRocksA],[tDirtRocksA,tDirtRocksB], [tDirtRocksB,tDirtRocksC]], // terrains | [[tGrass,tDirtRocksA],[tDirtRocksA,tDirtRocksB], [tDirtRocksB,tDirtRocksC]], // terrains | ||||
[1,1] // widths | [1,1] // widths | ||||
); | ); | ||||
createAreas( | createAreasDeprecated( | ||||
placer, | placer, | ||||
[painter, paintClass(clDirt)], | [painter, paintClass(clDirt)], | ||||
avoidClasses(clWater, 3, clForest, 0, clHill, 0, clPlayer, 20), | avoidClasses(clWater, 3, clForest, 0, clHill, 0, clPlayer, 20), | ||||
scaleByMapSize(15, 45) | scaleByMapSize(15, 45) | ||||
); | ); | ||||
} | } | ||||
// create grass patches | // create grass patches | ||||
log("Creating grass patches..."); | log("Creating grass patches..."); | ||||
var sizes = [scaleByMapSize(2, 32), scaleByMapSize(3, 48), scaleByMapSize(5, 80)]; | var sizes = [scaleByMapSize(2, 32), scaleByMapSize(3, 48), scaleByMapSize(5, 80)]; | ||||
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(tGrassPatch); | painter = new TerrainPainter(tGrassPatch); | ||||
createAreas( | createAreasDeprecated( | ||||
placer, | placer, | ||||
painter, | painter, | ||||
avoidClasses(clWater, 3, clForest, 0, clHill, 0, clPlayer, 20), | avoidClasses(clWater, 3, clForest, 0, clHill, 0, clPlayer, 20), | ||||
scaleByMapSize(15, 45) | scaleByMapSize(15, 45) | ||||
); | ); | ||||
} | } | ||||
RMS.SetProgress(55); | RMS.SetProgress(55); | ||||
log("Creating stone mines..."); | log("Creating stone mines..."); | ||||
// create large stone quarries | // create large stone quarries | ||||
group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)], true, clRock); | group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)], true, clRock); | ||||
createObjectGroups(group, 0, | createObjectGroupsDeprecated(group, 0, | ||||
avoidClasses(clWater, 3, clForest, 1, clPlayer, 20, clRock, 10, clHill, 1), | avoidClasses(clWater, 3, clForest, 1, clPlayer, 20, clRock, 10, clHill, 1), | ||||
scaleByMapSize(4,16), 100 | scaleByMapSize(4,16), 100 | ||||
); | ); | ||||
// 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); | ||||
createObjectGroups(group, 0, | createObjectGroupsDeprecated(group, 0, | ||||
avoidClasses(clWater, 3, clForest, 1, clPlayer, 20, clRock, 10, clHill, 1), | avoidClasses(clWater, 3, clForest, 1, clPlayer, 20, clRock, 10, clHill, 1), | ||||
scaleByMapSize(4,16), 100 | scaleByMapSize(4,16), 100 | ||||
); | ); | ||||
log("Creating metal mines..."); | log("Creating metal mines..."); | ||||
// create large metal quarries | // create large metal quarries | ||||
group = new SimpleGroup([new SimpleObject(oMetalLarge, 1,1, 0,4)], true, clMetal); | group = new SimpleGroup([new SimpleObject(oMetalLarge, 1,1, 0,4)], true, clMetal); | ||||
createObjectGroups(group, 0, | createObjectGroupsDeprecated(group, 0, | ||||
avoidClasses(clWater, 3, clForest, 1, clPlayer, 20, clMetal, 10, clRock, 5, clHill, 1), | avoidClasses(clWater, 3, clForest, 1, clPlayer, 20, clMetal, 10, clRock, 5, clHill, 1), | ||||
scaleByMapSize(4,16), 100 | scaleByMapSize(4,16), 100 | ||||
); | ); | ||||
RMS.SetProgress(65); | RMS.SetProgress(65); | ||||
// create small decorative rocks | // create small decorative rocks | ||||
log("Creating small decorative rocks..."); | log("Creating small decorative rocks..."); | ||||
group = new SimpleGroup( | group = new SimpleGroup( | ||||
[new SimpleObject(aRockMedium, 1,3, 0,1)], | [new SimpleObject(aRockMedium, 1,3, 0,1)], | ||||
true | true | ||||
); | ); | ||||
createObjectGroups( | createObjectGroupsDeprecated( | ||||
group, 0, | group, 0, | ||||
avoidClasses(clWater, 0, clForest, 0, clPlayer, 0, clHill, 0), | avoidClasses(clWater, 0, clForest, 0, clPlayer, 0, clHill, 0), | ||||
scaleByMapSize(16, 262), 50 | scaleByMapSize(16, 262), 50 | ||||
); | ); | ||||
// create large decorative rocks | // create large decorative rocks | ||||
log("Creating large decorative rocks..."); | log("Creating large decorative rocks..."); | ||||
group = new SimpleGroup( | group = new SimpleGroup( | ||||
[new SimpleObject(aRockLarge, 1,2, 0,1), new SimpleObject(aRockMedium, 1,3, 0,2)], | [new SimpleObject(aRockLarge, 1,2, 0,1), new SimpleObject(aRockMedium, 1,3, 0,2)], | ||||
true | true | ||||
); | ); | ||||
createObjectGroups( | createObjectGroupsDeprecated( | ||||
group, 0, | group, 0, | ||||
avoidClasses(clWater, 0, clForest, 0, clPlayer, 0, clHill, 0), | avoidClasses(clWater, 0, clForest, 0, clPlayer, 0, clHill, 0), | ||||
scaleByMapSize(8, 131), 50 | scaleByMapSize(8, 131), 50 | ||||
); | ); | ||||
RMS.SetProgress(70); | RMS.SetProgress(70); | ||||
// create wildebeest | // create wildebeest | ||||
log("Creating wildebeest..."); | log("Creating wildebeest..."); | ||||
group = new SimpleGroup( | group = new SimpleGroup( | ||||
[new SimpleObject(oWildebeest, 5,7, 0,4)], | [new SimpleObject(oWildebeest, 5,7, 0,4)], | ||||
true, clFood | true, clFood | ||||
); | ); | ||||
createObjectGroups(group, 0, | createObjectGroupsDeprecated(group, 0, | ||||
avoidClasses(clWater, 3, clForest, 0, clPlayer, 20, clHill, 1, clFood, 5), | avoidClasses(clWater, 3, clForest, 0, clPlayer, 20, clHill, 1, clFood, 5), | ||||
3 * numPlayers, 50 | 3 * numPlayers, 50 | ||||
); | ); | ||||
RMS.SetProgress(75); | RMS.SetProgress(75); | ||||
// create gazelle | // create gazelle | ||||
log("Creating gazelle..."); | log("Creating gazelle..."); | ||||
group = new SimpleGroup( | group = new SimpleGroup( | ||||
[new SimpleObject(oGazelle, 2,3, 0,2)], | [new SimpleObject(oGazelle, 2,3, 0,2)], | ||||
true, clFood | true, clFood | ||||
); | ); | ||||
createObjectGroups(group, 0, | createObjectGroupsDeprecated(group, 0, | ||||
avoidClasses(clWater, 3, clForest, 0, clPlayer, 20, clHill, 1, clFood, 5), | avoidClasses(clWater, 3, clForest, 0, clPlayer, 20, clHill, 1, clFood, 5), | ||||
3 * numPlayers, 50 | 3 * numPlayers, 50 | ||||
); | ); | ||||
// create elephant | // create elephant | ||||
log("Creating elephant..."); | log("Creating elephant..."); | ||||
group = new SimpleGroup( | group = new SimpleGroup( | ||||
[new SimpleObject(oElephant, 2,3, 0,2)], | [new SimpleObject(oElephant, 2,3, 0,2)], | ||||
true, clFood | true, clFood | ||||
); | ); | ||||
createObjectGroups(group, 0, | createObjectGroupsDeprecated(group, 0, | ||||
avoidClasses(clWater, 3, clForest, 0, clPlayer, 20, clHill, 1, clFood, 5), | avoidClasses(clWater, 3, clForest, 0, clPlayer, 20, clHill, 1, clFood, 5), | ||||
3 * numPlayers, 50 | 3 * numPlayers, 50 | ||||
); | ); | ||||
// create giraffe | // create giraffe | ||||
log("Creating giraffe..."); | log("Creating giraffe..."); | ||||
group = new SimpleGroup( | group = new SimpleGroup( | ||||
[new SimpleObject(oGiraffe, 2,3, 0,2)], | [new SimpleObject(oGiraffe, 2,3, 0,2)], | ||||
true, clFood | true, clFood | ||||
); | ); | ||||
createObjectGroups(group, 0, | createObjectGroupsDeprecated(group, 0, | ||||
avoidClasses(clWater, 3, clForest, 0, clPlayer, 20, clHill, 1, clFood, 5), | avoidClasses(clWater, 3, clForest, 0, clPlayer, 20, clHill, 1, clFood, 5), | ||||
3 * numPlayers, 50 | 3 * numPlayers, 50 | ||||
); | ); | ||||
// create zebra | // create zebra | ||||
log("Creating zebra..."); | log("Creating zebra..."); | ||||
group = new SimpleGroup( | group = new SimpleGroup( | ||||
[new SimpleObject(oZebra, 2,3, 0,2)], | [new SimpleObject(oZebra, 2,3, 0,2)], | ||||
true, clFood | true, clFood | ||||
); | ); | ||||
createObjectGroups(group, 0, | createObjectGroupsDeprecated(group, 0, | ||||
avoidClasses(clWater, 3, clForest, 0, clPlayer, 20, clHill, 1, clFood, 5), | avoidClasses(clWater, 3, clForest, 0, clPlayer, 20, clHill, 1, clFood, 5), | ||||
3 * numPlayers, 50 | 3 * numPlayers, 50 | ||||
); | ); | ||||
// create fish | // create fish | ||||
log("Creating fish..."); | log("Creating fish..."); | ||||
group = new SimpleGroup( | group = new SimpleGroup( | ||||
[new SimpleObject(oFish, 2,3, 0,2)], | [new SimpleObject(oFish, 2,3, 0,2)], | ||||
true, clFood | true, clFood | ||||
); | ); | ||||
createObjectGroups(group, 0, | createObjectGroupsDeprecated(group, 0, | ||||
[avoidClasses(clFood, 20), stayClasses(clWater, 6)], | [avoidClasses(clFood, 20), stayClasses(clWater, 6)], | ||||
25 * numPlayers, 60 | 25 * numPlayers, 60 | ||||
); | ); | ||||
// 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, 10), | avoidClasses(clWater, 3, clForest, 0, clPlayer, 20, clHill, 1, clFood, 10), | ||||
randIntInclusive(1, 4) * numPlayers + 2, 50 | randIntInclusive(1, 4) * numPlayers + 2, 50 | ||||
); | ); | ||||
RMS.SetProgress(85); | RMS.SetProgress(85); | ||||
// create straggler trees | // create straggler trees | ||||
log("Creating straggler trees..."); | log("Creating straggler trees..."); | ||||
var types = [oBaobab, oBaobab, oBaobab, oFig]; // some variation | var types = [oBaobab, oBaobab, oBaobab, oFig]; // 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 | ||||
); | ); | ||||
createObjectGroups(group, 0, | createObjectGroupsDeprecated(group, 0, | ||||
avoidClasses(clWater, 5, clForest, 1, clHill, 1, clPlayer, 12, clMetal, 6, clRock, 6), | avoidClasses(clWater, 5, clForest, 1, clHill, 1, clPlayer, 12, clMetal, 6, clRock, 6), | ||||
num | num | ||||
); | ); | ||||
} | } | ||||
var planetm = 4; | var planetm = 4; | ||||
//create small grass tufts | //create small grass tufts | ||||
log("Creating small grass tufts..."); | log("Creating small grass tufts..."); | ||||
group = new SimpleGroup( | group = new SimpleGroup( | ||||
[new SimpleObject(aGrassShort, 1,2, 0,1, -PI/8,PI/8)] | [new SimpleObject(aGrassShort, 1,2, 0,1, -PI/8,PI/8)] | ||||
); | ); | ||||
createObjectGroups(group, 0, | createObjectGroupsDeprecated(group, 0, | ||||
avoidClasses(clWater, 2, clHill, 2, clPlayer, 2), | avoidClasses(clWater, 2, clHill, 2, clPlayer, 2), | ||||
planetm * scaleByMapSize(13, 200) | planetm * scaleByMapSize(13, 200) | ||||
); | ); | ||||
RMS.SetProgress(90); | RMS.SetProgress(90); | ||||
// create large grass tufts | // create large grass tufts | ||||
log("Creating large grass tufts..."); | log("Creating large grass tufts..."); | ||||
group = new SimpleGroup( | group = new SimpleGroup( | ||||
[new SimpleObject(aGrass, 2,4, 0,1.8, -PI/8,PI/8), new SimpleObject(aGrassShort, 3,6, 1.2,2.5, -PI/8,PI/8)] | [new SimpleObject(aGrass, 2,4, 0,1.8, -PI/8,PI/8), new SimpleObject(aGrassShort, 3,6, 1.2,2.5, -PI/8,PI/8)] | ||||
); | ); | ||||
createObjectGroups(group, 0, | createObjectGroupsDeprecated(group, 0, | ||||
avoidClasses(clWater, 3, clHill, 2, clPlayer, 2, clForest, 0), | avoidClasses(clWater, 3, clHill, 2, clPlayer, 2, clForest, 0), | ||||
planetm * scaleByMapSize(13, 200) | planetm * scaleByMapSize(13, 200) | ||||
); | ); | ||||
RMS.SetProgress(95); | RMS.SetProgress(95); | ||||
// create bushes | // create bushes | ||||
log("Creating bushes..."); | log("Creating bushes..."); | ||||
group = new SimpleGroup( | group = new SimpleGroup( | ||||
[new SimpleObject(aBushMedium, 1,2, 0,2), new SimpleObject(aBushSmall, 2,4, 0,2)] | [new SimpleObject(aBushMedium, 1,2, 0,2), new SimpleObject(aBushSmall, 2,4, 0,2)] | ||||
); | ); | ||||
createObjectGroups(group, 0, | createObjectGroupsDeprecated(group, 0, | ||||
avoidClasses(clWater, 2, clHill, 1, clPlayer, 1), | avoidClasses(clWater, 2, clHill, 1, clPlayer, 1), | ||||
planetm * scaleByMapSize(13, 200), 50 | planetm * scaleByMapSize(13, 200), 50 | ||||
); | ); | ||||
setSkySet("sunny"); | setSkySet("sunny"); | ||||
setSunRotation(randFloat(0, TWO_PI)); | setSunRotation(randFloat(0, TWO_PI)); | ||||
Show All 10 Lines |
Wildfire Games · Phabricator