Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/maps/random/rmgen2/gaia.js
Show First 20 Lines • Show All 337 Lines • ▼ Show 20 Lines | var counts = [ | ||||
baseCount * scaleByMapSize(13, 200), | baseCount * scaleByMapSize(13, 200), | ||||
baseCount * scaleByMapSize(13, 200) | baseCount * scaleByMapSize(13, 200) | ||||
]; | ]; | ||||
for (var i = 0; i < decorations.length; ++i) | for (var i = 0; i < decorations.length; ++i) | ||||
{ | { | ||||
var decorCount = Math.floor(counts[i] * fill); | var decorCount = Math.floor(counts[i] * fill); | ||||
var group = new SimpleGroup(decorations[i], true); | var group = new SimpleGroup(decorations[i], true); | ||||
createObjectGroups(group, 0, constraint, decorCount, 5); | createObjectGroupsDeprecated(group, 0, constraint, decorCount, 5); | ||||
} | } | ||||
} | } | ||||
/** | /** | ||||
* Create varying elevations. | * Create varying elevations. | ||||
* | * | ||||
* @param {Array} constraint - avoid/stay-classes | * @param {Array} constraint - avoid/stay-classes | ||||
* | * | ||||
▲ Show 20 Lines • Show All 126 Lines • ▼ Show 20 Lines | addElements([ | ||||
"stay": [g_TileClasses.water, 7], | "stay": [g_TileClasses.water, 7], | ||||
"sizes": g_AllSizes, | "sizes": g_AllSizes, | ||||
"mixes": g_AllMixes, | "mixes": g_AllMixes, | ||||
"amounts": ["normal", "many", "tons"] | "amounts": ["normal", "many", "tons"] | ||||
} | } | ||||
]); | ]); | ||||
var group = new SimpleGroup([new SimpleObject(g_Decoratives.rockMedium, 1, 3, 1, 3)], true, g_TileClasses.dirt); | var group = new SimpleGroup([new SimpleObject(g_Decoratives.rockMedium, 1, 3, 1, 3)], true, g_TileClasses.dirt); | ||||
createObjectGroups(group, 0, [stayClasses(g_TileClasses.water, 1), borderClasses(g_TileClasses.water, 4, 3)], 1000, 100); | createObjectGroupsDeprecated(group, 0, [stayClasses(g_TileClasses.water, 1), borderClasses(g_TileClasses.water, 4, 3)], 1000, 100); | ||||
group = new SimpleGroup([new SimpleObject(g_Decoratives.reeds, 10, 15, 1, 3), new SimpleObject(g_Decoratives.rockMedium, 1, 3, 1, 3)], true, g_TileClasses.dirt); | group = new SimpleGroup([new SimpleObject(g_Decoratives.reeds, 10, 15, 1, 3), new SimpleObject(g_Decoratives.rockMedium, 1, 3, 1, 3)], true, g_TileClasses.dirt); | ||||
createObjectGroups(group, 0, [stayClasses(g_TileClasses.water, 2), borderClasses(g_TileClasses.water, 4, 3)], 1000, 100); | createObjectGroupsDeprecated(group, 0, [stayClasses(g_TileClasses.water, 2), borderClasses(g_TileClasses.water, 4, 3)], 1000, 100); | ||||
} | } | ||||
/** | /** | ||||
* Universal function to create layered patches. | * Universal function to create layered patches. | ||||
*/ | */ | ||||
function addLayeredPatches(constraint, size, deviation, fill) | function addLayeredPatches(constraint, size, deviation, fill) | ||||
{ | { | ||||
deviation = deviation || g_DefaultDeviation; | deviation = deviation || g_DefaultDeviation; | ||||
▲ Show 20 Lines • Show All 172 Lines • ▼ Show 20 Lines | var counts = [ | ||||
baseCount * scaleByMapSize(13, 200) | baseCount * scaleByMapSize(13, 200) | ||||
]; | ]; | ||||
// Add small props | // Add small props | ||||
for (var i = 0; i < props.length; ++i) | for (var i = 0; i < props.length; ++i) | ||||
{ | { | ||||
var propCount = Math.floor(counts[i] * fill); | var propCount = Math.floor(counts[i] * fill); | ||||
var group = new SimpleGroup(props[i], true); | var group = new SimpleGroup(props[i], true); | ||||
createObjectGroups(group, 0, constraint, propCount, 5); | createObjectGroupsDeprecated(group, 0, constraint, propCount, 5); | ||||
} | } | ||||
// Add decorative trees | // Add decorative trees | ||||
var trees = new SimpleObject(g_Decoratives.tree, 5 * offset, 30 * offset, 2, 3 * offset + 10); | var trees = new SimpleObject(g_Decoratives.tree, 5 * offset, 30 * offset, 2, 3 * offset + 10); | ||||
createObjectGroups(new SimpleGroup([trees], true), 0, constraint, counts[0] * 5 * fill, 5); | createObjectGroupsDeprecated(new SimpleGroup([trees], true), 0, constraint, counts[0] * 5 * fill, 5); | ||||
} | } | ||||
/** | /** | ||||
* Create valleys. | * Create valleys. | ||||
*/ | */ | ||||
function addValleys(constraint, size, deviation, fill) | function addValleys(constraint, size, deviation, fill) | ||||
{ | { | ||||
if (g_MapInfo.mapHeight < 6) | if (g_MapInfo.mapHeight < 6) | ||||
▲ Show 20 Lines • Show All 59 Lines • ▼ Show 20 Lines | var animals = [ | ||||
[new SimpleObject(g_Gaia.secondaryHuntableAnimal, 2 * groupOffset, 3 * groupOffset, 0, 2 * groupOffset)] | [new SimpleObject(g_Gaia.secondaryHuntableAnimal, 2 * groupOffset, 3 * groupOffset, 0, 2 * groupOffset)] | ||||
]; | ]; | ||||
var counts = [scaleByMapSize(30, 30) * fill, scaleByMapSize(30, 30) * fill]; | var counts = [scaleByMapSize(30, 30) * fill, scaleByMapSize(30, 30) * fill]; | ||||
for (var i = 0; i < animals.length; ++i) | for (var i = 0; i < animals.length; ++i) | ||||
{ | { | ||||
var group = new SimpleGroup(animals[i], true, g_TileClasses.animals); | var group = new SimpleGroup(animals[i], true, g_TileClasses.animals); | ||||
createObjectGroups(group, 0, constraint, Math.floor(counts[i]), 50); | createObjectGroupsDeprecated(group, 0, constraint, Math.floor(counts[i]), 50); | ||||
} | } | ||||
} | } | ||||
/** | /** | ||||
* Create fruits. | * Create fruits. | ||||
*/ | */ | ||||
function addBerries(constraint, size, deviation, fill) | function addBerries(constraint, size, deviation, fill) | ||||
{ | { | ||||
deviation = deviation || g_DefaultDeviation; | deviation = deviation || g_DefaultDeviation; | ||||
size = size || 1; | size = size || 1; | ||||
fill = fill || 1; | fill = fill || 1; | ||||
var groupOffset = getRandomDeviation(size, deviation); | var groupOffset = getRandomDeviation(size, deviation); | ||||
var count = scaleByMapSize(50, 50) * fill; | var count = scaleByMapSize(50, 50) * fill; | ||||
var berries = [[new SimpleObject(g_Gaia.fruitBush, 5 * groupOffset, 5 * groupOffset, 0, 3 * groupOffset)]]; | var berries = [[new SimpleObject(g_Gaia.fruitBush, 5 * groupOffset, 5 * groupOffset, 0, 3 * groupOffset)]]; | ||||
for (var i = 0; i < berries.length; ++i) | for (var i = 0; i < berries.length; ++i) | ||||
{ | { | ||||
var group = new SimpleGroup(berries[i], true, g_TileClasses.berries); | var group = new SimpleGroup(berries[i], true, g_TileClasses.berries); | ||||
createObjectGroups(group, 0, constraint, Math.floor(count), 40); | createObjectGroupsDeprecated(group, 0, constraint, Math.floor(count), 40); | ||||
} | } | ||||
} | } | ||||
/** | /** | ||||
* Create fish. | * Create fish. | ||||
*/ | */ | ||||
function addFish(constraint, size, deviation, fill) | function addFish(constraint, size, deviation, fill) | ||||
{ | { | ||||
deviation = deviation || g_DefaultDeviation; | deviation = deviation || g_DefaultDeviation; | ||||
size = size || 1; | size = size || 1; | ||||
fill = fill || 1; | fill = fill || 1; | ||||
var groupOffset = getRandomDeviation(size, deviation); | var groupOffset = getRandomDeviation(size, deviation); | ||||
var fish = [ | var fish = [ | ||||
[new SimpleObject(g_Gaia.fish, 1 * groupOffset, 2 * groupOffset, 0, 2 * groupOffset)], | [new SimpleObject(g_Gaia.fish, 1 * groupOffset, 2 * groupOffset, 0, 2 * groupOffset)], | ||||
[new SimpleObject(g_Gaia.fish, 2 * groupOffset, 4 * groupOffset, 10 * groupOffset, 20 * groupOffset)] | [new SimpleObject(g_Gaia.fish, 2 * groupOffset, 4 * groupOffset, 10 * groupOffset, 20 * groupOffset)] | ||||
]; | ]; | ||||
var counts = [scaleByMapSize(40, 40) * fill, scaleByMapSize(40, 40) * fill]; | var counts = [scaleByMapSize(40, 40) * fill, scaleByMapSize(40, 40) * fill]; | ||||
for (var i = 0; i < fish.length; ++i) | for (var i = 0; i < fish.length; ++i) | ||||
{ | { | ||||
var group = new SimpleGroup(fish[i], true, g_TileClasses.fish); | var group = new SimpleGroup(fish[i], true, g_TileClasses.fish); | ||||
createObjectGroups(group, 0, constraint, floor(counts[i]), 50); | createObjectGroupsDeprecated(group, 0, constraint, floor(counts[i]), 50); | ||||
} | } | ||||
} | } | ||||
/** | /** | ||||
* Create dense forests. | * Create dense forests. | ||||
*/ | */ | ||||
function addForests(constraint, size, deviation, fill) | function addForests(constraint, size, deviation, fill) | ||||
{ | { | ||||
▲ Show 20 Lines • Show All 46 Lines • ▼ Show 20 Lines | function addMetal(constraint, size, deviation, fill) | ||||
var offset = getRandomDeviation(size, deviation); | var offset = getRandomDeviation(size, deviation); | ||||
var count = 1 + scaleByMapSize(20, 20) * fill; | var count = 1 + scaleByMapSize(20, 20) * fill; | ||||
var mines = [[new SimpleObject(g_Gaia.metalLarge, 1 * offset, 1 * offset, 0, 4 * offset)]]; | var mines = [[new SimpleObject(g_Gaia.metalLarge, 1 * offset, 1 * offset, 0, 4 * offset)]]; | ||||
for (var i = 0; i < mines.length; ++i) | for (var i = 0; i < mines.length; ++i) | ||||
{ | { | ||||
var group = new SimpleGroup(mines[i], true, g_TileClasses.metal); | var group = new SimpleGroup(mines[i], true, g_TileClasses.metal); | ||||
createObjectGroups(group, 0, constraint, count, 100); | createObjectGroupsDeprecated(group, 0, constraint, count, 100); | ||||
} | } | ||||
} | } | ||||
function addSmallMetal(constraint, size, mixes, amounts) | function addSmallMetal(constraint, size, mixes, amounts) | ||||
{ | { | ||||
let deviation = getRandomDeviation(size || 1, mixes || g_DefaultDeviation); | let deviation = getRandomDeviation(size || 1, mixes || g_DefaultDeviation); | ||||
let count = 1 + scaleByMapSize(20, 20) * (amounts || 1); | let count = 1 + scaleByMapSize(20, 20) * (amounts || 1); | ||||
let mines = [[new SimpleObject(g_Gaia.metalSmall, 2 * deviation, 5 * deviation, 1 * deviation, 3 * deviation)]]; | let mines = [[new SimpleObject(g_Gaia.metalSmall, 2 * deviation, 5 * deviation, 1 * deviation, 3 * deviation)]]; | ||||
for (let i = 0; i < mines.length; ++i) | for (let i = 0; i < mines.length; ++i) | ||||
{ | { | ||||
let group = new SimpleGroup(mines[i], true, g_TileClasses.metal); | let group = new SimpleGroup(mines[i], true, g_TileClasses.metal); | ||||
createObjectGroups(group, 0, constraint, count, 100); | createObjectGroupsDeprecated(group, 0, constraint, count, 100); | ||||
} | } | ||||
} | } | ||||
/** | /** | ||||
* Create stone mines. | * Create stone mines. | ||||
*/ | */ | ||||
function addStone(constraint, size, deviation, fill) | function addStone(constraint, size, deviation, fill) | ||||
{ | { | ||||
Show All 11 Lines | var mines = [ | ||||
[ | [ | ||||
new SimpleObject(g_Gaia.stoneSmall, 2 * offset, 5 * offset, 1 * offset, 3 * offset) | new SimpleObject(g_Gaia.stoneSmall, 2 * offset, 5 * offset, 1 * offset, 3 * offset) | ||||
] | ] | ||||
]; | ]; | ||||
for (var i = 0; i < mines.length; ++i) | for (var i = 0; i < mines.length; ++i) | ||||
{ | { | ||||
var group = new SimpleGroup(mines[i], true, g_TileClasses.rock); | var group = new SimpleGroup(mines[i], true, g_TileClasses.rock); | ||||
createObjectGroups(group, 0, constraint, count, 100); | createObjectGroupsDeprecated(group, 0, constraint, count, 100); | ||||
} | } | ||||
} | } | ||||
/** | /** | ||||
* Create straggler trees. | * Create straggler trees. | ||||
*/ | */ | ||||
function addStragglerTrees(constraint, size, deviation, fill) | function addStragglerTrees(constraint, size, deviation, fill) | ||||
{ | { | ||||
Show All 38 Lines | for (var i = 0; i < trees.length; ++i) | ||||
// Don't clump fruit trees | // Don't clump fruit trees | ||||
if (i == 2 && (g_MapInfo.biome == g_BiomeDesert || g_MapInfo.biome == g_BiomeMediterranean)) | if (i == 2 && (g_MapInfo.biome == g_BiomeDesert || g_MapInfo.biome == g_BiomeMediterranean)) | ||||
treesMax = 1; | treesMax = 1; | ||||
min = Math.min(min, treesMax); | min = Math.min(min, treesMax); | ||||
var group = new SimpleGroup([new SimpleObject(trees[i], min, treesMax, minDist, maxDist)], true, g_TileClasses.forest); | var group = new SimpleGroup([new SimpleObject(trees[i], min, treesMax, minDist, maxDist)], true, g_TileClasses.forest); | ||||
createObjectGroups(group, 0, constraint, count); | createObjectGroupsDeprecated(group, 0, constraint, count); | ||||
} | } | ||||
} | } | ||||
/////////// | /////////// | ||||
// Terrain Helpers | // Terrain Helpers | ||||
/////////// | /////////// | ||||
/** | /** | ||||
▲ Show 20 Lines • Show All 350 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator