Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/maps/random/northern_lights.js
Show First 20 Lines • Show All 202 Lines • ▼ Show 20 Lines | |||||
// create islands | // create islands | ||||
log("Creating islands..."); | log("Creating islands..."); | ||||
placer = new ChainPlacer(1, floor(scaleByMapSize(4, 6)), floor(scaleByMapSize(16, 40)), 0.1); | placer = new ChainPlacer(1, floor(scaleByMapSize(4, 6)), floor(scaleByMapSize(16, 40)), 0.1); | ||||
var terrainPainter = new LayeredPainter( | var terrainPainter = new LayeredPainter( | ||||
[tSnowA, tSnowA], // terrains | [tSnowA, tSnowA], // terrains | ||||
[3] // widths | [3] // widths | ||||
); | ); | ||||
var elevationPainter = new SmoothElevationPainter(ELEVATION_SET, 3, 3); | var elevationPainter = new SmoothElevationPainter(ELEVATION_SET, 3, 3); | ||||
createAreas( | createAreasDeprecated( | ||||
placer, | placer, | ||||
[terrainPainter, elevationPainter, unPaintClass(clWater)], | [terrainPainter, elevationPainter, unPaintClass(clWater)], | ||||
stayClasses(clWater, 7), | stayClasses(clWater, 7), | ||||
scaleByMapSize(10, 80) | scaleByMapSize(10, 80) | ||||
); | ); | ||||
paintTerrainBasedOnHeight(-6, 1, 1, tWater); | paintTerrainBasedOnHeight(-6, 1, 1, tWater); | ||||
// create lakes | // create lakes | ||||
log("Creating lakes..."); | log("Creating lakes..."); | ||||
var numLakes = round(scaleByMapSize(1,4) * numPlayers); | var numLakes = round(scaleByMapSize(1,4) * numPlayers); | ||||
var placer = new ChainPlacer(1, floor(scaleByMapSize(5, 7)), floor(scaleByMapSize(20, 50)), 0.1); | var placer = new ChainPlacer(1, floor(scaleByMapSize(5, 7)), floor(scaleByMapSize(20, 50)), 0.1); | ||||
var terrainPainter = new LayeredPainter( | var terrainPainter = new LayeredPainter( | ||||
[tShoreBlend, tShore, tWater], // terrains | [tShoreBlend, tShore, tWater], // terrains | ||||
[1,1] // widths | [1,1] // widths | ||||
); | ); | ||||
var elevationPainter = new SmoothElevationPainter(ELEVATION_SET, -4, 3); | var elevationPainter = new SmoothElevationPainter(ELEVATION_SET, -4, 3); | ||||
var waterAreas = createAreas( | var waterAreas = createAreasDeprecated( | ||||
placer, | placer, | ||||
[terrainPainter, elevationPainter, paintClass(clWater)], | [terrainPainter, elevationPainter, paintClass(clWater)], | ||||
avoidClasses(clPlayer, 20, clWater, 20), | avoidClasses(clPlayer, 20, clWater, 20), | ||||
numLakes | numLakes | ||||
); | ); | ||||
paintTerrainBasedOnHeight(1, 2.8, 1, tShoreBlend); | paintTerrainBasedOnHeight(1, 2.8, 1, tShoreBlend); | ||||
paintTileClassBasedOnHeight(-6, 0.5, 1, clWater); | paintTileClassBasedOnHeight(-6, 0.5, 1, clWater); | ||||
RMS.SetProgress(45); | RMS.SetProgress(45); | ||||
// create hills | // create hills | ||||
log("Creating hills..."); | log("Creating hills..."); | ||||
placer = new ChainPlacer(1, floor(scaleByMapSize(4, 6)), floor(scaleByMapSize(16, 40)), 0.1); | placer = new ChainPlacer(1, floor(scaleByMapSize(4, 6)), floor(scaleByMapSize(16, 40)), 0.1); | ||||
var terrainPainter = new LayeredPainter( | var terrainPainter = new LayeredPainter( | ||||
[tCliff, tSnowA], // terrains | [tCliff, tSnowA], // terrains | ||||
[3] // widths | [3] // widths | ||||
); | ); | ||||
var elevationPainter = new SmoothElevationPainter(ELEVATION_SET, 25, 3); | var elevationPainter = new SmoothElevationPainter(ELEVATION_SET, 25, 3); | ||||
createAreas( | createAreasDeprecated( | ||||
placer, | placer, | ||||
[terrainPainter, elevationPainter, paintClass(clHill)], | [terrainPainter, elevationPainter, paintClass(clHill)], | ||||
avoidClasses(clPlayer, 20, clHill, 15, clWater, 2, clBaseResource, 2), | avoidClasses(clPlayer, 20, clHill, 15, clWater, 2, clBaseResource, 2), | ||||
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 19 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 ChainPlacer(1, floor(scaleByMapSize(3, 5)), numForest / (num * floor(scaleByMapSize(2,4))), 1); | placer = new ChainPlacer(1, floor(scaleByMapSize(3, 5)), numForest / (num * floor(scaleByMapSize(2,4))), 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, 20, clHill, 0, clWater, 8), | avoidClasses(clPlayer, 20, clForest, 20, clHill, 0, clWater, 8), | ||||
num | num | ||||
); | ); | ||||
} | } | ||||
log("Creating iceberg..."); | log("Creating iceberg..."); | ||||
// create iceberg | // create iceberg | ||||
group = new SimpleGroup([new SimpleObject(aIceberg, 0,2, 0,4)], true, clRock); | group = new SimpleGroup([new SimpleObject(aIceberg, 0,2, 0,4)], true, clRock); | ||||
createObjectGroups(group, 0, | createObjectGroupsDeprecated(group, 0, | ||||
[avoidClasses(clRock, 6), stayClasses(clWater, 4)], | [avoidClasses(clRock, 6), stayClasses(clWater, 4)], | ||||
scaleByMapSize(4,16), 100 | scaleByMapSize(4,16), 100 | ||||
); | ); | ||||
RMS.SetProgress(70); | RMS.SetProgress(70); | ||||
// create dirt patches | // create dirt patches | ||||
log("Creating dirt patches..."); | log("Creating dirt patches..."); | ||||
var sizes = [scaleByMapSize(3, 6), scaleByMapSize(5, 10), scaleByMapSize(8, 21)]; | var sizes = [scaleByMapSize(3, 6), scaleByMapSize(5, 10), scaleByMapSize(8, 21)]; | ||||
for (var i = 0; i < sizes.length; i++) | for (var i = 0; i < sizes.length; i++) | ||||
{ | { | ||||
placer = new ChainPlacer(1, floor(scaleByMapSize(3, 5)), sizes[i], 0.5); | placer = new ChainPlacer(1, floor(scaleByMapSize(3, 5)), sizes[i], 0.5); | ||||
painter = new LayeredPainter( | painter = new LayeredPainter( | ||||
[tSnowD,tSnowB,tSnowC], // terrains | [tSnowD,tSnowB,tSnowC], // terrains | ||||
[2,1] // widths | [2,1] // widths | ||||
); | ); | ||||
createAreas( | createAreasDeprecated( | ||||
placer, | placer, | ||||
[painter, paintClass(clDirt)], | [painter, paintClass(clDirt)], | ||||
avoidClasses(clWater, 8, clForest, 0, clHill, 0, clPlayer, 20, clDirt, 16), | avoidClasses(clWater, 8, clForest, 0, clHill, 0, clPlayer, 20, clDirt, 16), | ||||
scaleByMapSize(20, 80) | scaleByMapSize(20, 80) | ||||
); | ); | ||||
} | } | ||||
var sizes = [scaleByMapSize(2, 4), scaleByMapSize(3, 7), scaleByMapSize(5, 15)]; | var sizes = [scaleByMapSize(2, 4), scaleByMapSize(3, 7), scaleByMapSize(5, 15)]; | ||||
for (var i = 0; i < sizes.length; i++) | for (var i = 0; i < sizes.length; i++) | ||||
{ | { | ||||
placer = new ChainPlacer(1, floor(scaleByMapSize(3, 5)), sizes[i], 0.5); | placer = new ChainPlacer(1, floor(scaleByMapSize(3, 5)), sizes[i], 0.5); | ||||
painter = new LayeredPainter( | painter = new LayeredPainter( | ||||
[tSnowE,tSnowE], // terrains | [tSnowE,tSnowE], // terrains | ||||
[1] // widths | [1] // widths | ||||
); | ); | ||||
createAreas( | createAreasDeprecated( | ||||
placer, | placer, | ||||
[painter, paintClass(clDirt)], | [painter, paintClass(clDirt)], | ||||
avoidClasses(clWater, 8, clForest, 0, clHill, 0, clPlayer, 20, clDirt, 16), | avoidClasses(clWater, 8, clForest, 0, clHill, 0, clPlayer, 20, clDirt, 16), | ||||
scaleByMapSize(20, 80) | scaleByMapSize(20, 80) | ||||
); | ); | ||||
} | } | ||||
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(8,32), 100 | scaleByMapSize(8,32), 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(8,32), 100 | scaleByMapSize(8,32), 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(8,32), 100 | scaleByMapSize(8,32), 100 | ||||
); | ); | ||||
RMS.SetProgress(95); | RMS.SetProgress(95); | ||||
// create straggler trees | // create straggler trees | ||||
log("Creating straggler trees..."); | log("Creating straggler trees..."); | ||||
var types = [oPine]; // some variation | var types = [oPine]; // 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 | ||||
); | ); | ||||
} | } | ||||
// create deer | // create deer | ||||
log("Creating deer..."); | log("Creating deer..."); | ||||
group = new SimpleGroup( | group = new SimpleGroup( | ||||
[new SimpleObject(oWalrus, 5,7, 0,4)], | [new SimpleObject(oWalrus, 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), | ||||
3 * numPlayers, 50 | 3 * numPlayers, 50 | ||||
); | ); | ||||
RMS.SetProgress(75); | RMS.SetProgress(75); | ||||
// create sheep | // create sheep | ||||
log("Creating sheep..."); | log("Creating sheep..."); | ||||
group = new SimpleGroup( | group = new SimpleGroup( | ||||
[new SimpleObject(oWolf, 2,3, 0,2)], | [new SimpleObject(oWolf, 2,3, 0,2)], | ||||
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), | ||||
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 | ||||
); | ); | ||||
setSunColor(0.6, 0.6, 0.6); | setSunColor(0.6, 0.6, 0.6); | ||||
setSunElevation(PI/ 6); | setSunElevation(PI/ 6); | ||||
setWaterColor(0.02, 0.17, 0.52); | setWaterColor(0.02, 0.17, 0.52); | ||||
Show All 12 Lines |
Wildfire Games · Phabricator