Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/binaries/data/mods/public/maps/random/unknown_nomad.js
RMS.LoadLibrary("rmgen"); | RMS.LoadLibrary("rmgen"); | ||||
TILE_CENTERED_HEIGHT_MAP = true; | TILE_CENTERED_HEIGHT_MAP = true; | ||||
//random terrain textures | |||||
var rt = randomizeBiome(); | setSelectedBiome(); | ||||
var tGrass = rBiomeT1(); | var tGrass = rBiomeT1(); | ||||
var tGrassPForest = rBiomeT2(); | var tGrassPForest = rBiomeT2(); | ||||
var tGrassDForest = rBiomeT3(); | var tGrassDForest = rBiomeT3(); | ||||
var tCliff = rBiomeT4(); | var tCliff = rBiomeT4(); | ||||
var tGrassA = rBiomeT5(); | var tGrassA = rBiomeT5(); | ||||
var tGrassB = rBiomeT6(); | var tGrassB = rBiomeT6(); | ||||
var tGrassC = rBiomeT7(); | var tGrassC = rBiomeT7(); | ||||
▲ Show 20 Lines • Show All 1,382 Lines • ▼ Show 20 Lines | createAreas( | ||||
placer, | placer, | ||||
[terrainPainter, elevationPainter, paintClass(clHill)], | [terrainPainter, elevationPainter, paintClass(clHill)], | ||||
[avoidClasses(clPlayer, 15, clHill, randIntInclusive(6, 18)), stayClasses(clLand, 0)], | [avoidClasses(clPlayer, 15, clHill, randIntInclusive(6, 18)), stayClasses(clLand, 0)], | ||||
randIntInclusive(0, scaleByMapSize(4, 8))*randIntInclusive(1, scaleByMapSize(4, 9)) | randIntInclusive(0, scaleByMapSize(4, 8))*randIntInclusive(1, scaleByMapSize(4, 9)) | ||||
); | ); | ||||
var multiplier = sqrt(randFloat(0.5,1.2)*randFloat(0.5,1.2)); | var multiplier = sqrt(randFloat(0.5,1.2)*randFloat(0.5,1.2)); | ||||
// calculate desired number of trees for map (based on size) | // calculate desired number of trees for map (based on size) | ||||
if (rt == 6) | if (currentBiome() == g_BiomeSavanna) | ||||
{ | { | ||||
var MIN_TREES = floor(200*multiplier); | var MIN_TREES = floor(200*multiplier); | ||||
var MAX_TREES = floor(1250*multiplier); | var MAX_TREES = floor(1250*multiplier); | ||||
var P_FOREST = randFloat(0.02, 0.05); | var P_FOREST = randFloat(0.02, 0.05); | ||||
} | } | ||||
else if (rt == 7) | else if (currentBiome() == g_BiomeTropic) | ||||
{ | { | ||||
var MIN_TREES = floor(1000*multiplier); | var MIN_TREES = floor(1000*multiplier); | ||||
var MAX_TREES = floor(6000*multiplier); | var MAX_TREES = floor(6000*multiplier); | ||||
var P_FOREST = randFloat(0.5, 0.7); | var P_FOREST = randFloat(0.5, 0.7); | ||||
} | } | ||||
else | else | ||||
{ | { | ||||
var MIN_TREES = floor(500*multiplier); | var MIN_TREES = floor(500*multiplier); | ||||
var MAX_TREES = floor(3000*multiplier); | var MAX_TREES = floor(3000*multiplier); | ||||
var P_FOREST = randFloat(0.5,0.8); | var P_FOREST = randFloat(0.5,0.8); | ||||
} | } | ||||
var totalTrees = scaleByMapSize(MIN_TREES, MAX_TREES); | var totalTrees = scaleByMapSize(MIN_TREES, MAX_TREES); | ||||
var numForest = totalTrees * P_FOREST; | var numForest = totalTrees * P_FOREST; | ||||
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 types = [ | var types = [ | ||||
[[tGrassDForest, tGrass, pForestD], [tGrassDForest, pForestD]], | [[tGrassDForest, tGrass, pForestD], [tGrassDForest, pForestD]], | ||||
[[tGrassPForest, tGrass, pForestP], [tGrassPForest, pForestP]] | [[tGrassPForest, tGrass, pForestP], [tGrassPForest, pForestP]] | ||||
]; // some variation | ]; // some variation | ||||
if (rt == 6) | if (currentBiome() == g_BiomeSavanna) | ||||
{ | { | ||||
var size = numForest / (0.5 * scaleByMapSize(2,8) * numPlayers); | var size = numForest / (0.5 * scaleByMapSize(2,8) * numPlayers); | ||||
} | } | ||||
else | else | ||||
{ | { | ||||
var size = numForest / (scaleByMapSize(2,8) * numPlayers); | var size = numForest / (scaleByMapSize(2,8) * numPlayers); | ||||
} | } | ||||
var num = floor(size / types.length); | var num = floor(size / types.length); | ||||
Show All 12 Lines | for (var i = 0; i < types.length; ++i) | ||||
); | ); | ||||
} | } | ||||
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)]; | ||||
var numb = 1; | var numb = 1; | ||||
if (rt == 6) | if (currentBiome() == g_BiomeSavanna) | ||||
numb = 3; | numb = 3; | ||||
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,tGrassA],[tGrassA,tGrassB], [tGrassB,tGrassC]], // terrains | [[tGrass,tGrassA],[tGrassA,tGrassB], [tGrassB,tGrassC]], // terrains | ||||
[1,1] // widths | [1,1] // widths | ||||
); | ); | ||||
▲ Show 20 Lines • Show All 197 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator