Delete _kali's Alpha 21 maps since it is not certain that they are not derived works, refs D957, 33e3e6c2ab, 34c26767ca, f61f051d74, c70975b116, a68881dd0f, 64b1da0ddf, 127ca4e177, #4226.

Keep now unused, yet unalteredly useful paintHeightmap JS function
(until CMapReader::LoadRandomMap can load PMP files, refs #4816),
bicubicInterpolation and randomPlayerPlacementAt.

This was SVN commit r20362.
This commit is contained in:
elexis 2017-10-27 19:26:46 +00:00
parent 24f02d97eb
commit f5375cbcb9
36 changed files with 0 additions and 3513 deletions

View file

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e9b822e2c07c945a631c59acb104cbbf38f3d2d25888319b46aedfc85b14f309
size 143052

View file

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9a2817ef3afaaff9636bd26c5e9d240e183e06a889c9ac7c22df09fad2c32852
size 104975

View file

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:eb5d243a1c71ab37d9ee780c2c093f442930ebbb98e1c5945ba887bd8c6c3ecc
size 96699

View file

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:97d09b25ecb296c9cd85c5984955cafa7fdb1f8c6e4c732e55f8163aabd02f89
size 121830

View file

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:092522b2cebd7f980a4ff5a52848ea85476c9eccd6e5177f87557d64506d7697
size 126394

View file

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8ffab06ac77168894da9c447145814136f5502b22b511fb86c51dc793f2dfbf2
size 163703

View file

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6ffb516d5fd8d7360076ecb792bd0e5288cfe864682f2d2afd65594a46404139
size 116421

View file

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:531d667a5465751515f8126ff5576c13edfaf5b325771417bddc9ebde0286886
size 138800

View file

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:383e1c4a20a368329115a58c4bfdc7c04cf62f9d19f2a6f4260bbdcbcfb1b546
size 147664

View file

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a91b10363be1ec8872cd2f22a3d2de838b9bfa301863a6621e4e31043c2f4ada
size 507630

View file

@ -1,270 +0,0 @@
// Coordinates: 0.138050, -50.466245
// Map Width: 200km
RMS.LoadLibrary("rmgen");
RMS.LoadLibrary("rmgen2");
RMS.LoadLibrary("rmbiome");
InitMap();
log("Initializing tile classes...");
setBiome("tropic");
initTileClasses();
log("Initializing environment...");
setSunColor(0.733, 0.746, 0.574);
setWaterTint(0.576, 0.541, 0.322);
setWaterColor(0.521, 0.475, 0.322);
setWaterWaviness(8);
setWaterMurkiness(0.87);
setWaterType("lake");
setTerrainAmbientColor(0.521, 0.475, 0.322);
setSunRotation(-1 * PI);
setSunElevation(PI / 6.25);
setFogFactor(0);
setFogThickness(0);
setFogColor(0.69, 0.616, 0.541);
setPPEffect("hdr");
setPPContrast(0.67);
setPPSaturation(0.42);
setPPBloom(0.23);
log("Initializing biome...");
g_Terrains.mainTerrain = "tropic_dirt_a_plants";
g_Terrains.forestFloor1 = "tropic_grass_c";
g_Terrains.forestFloor2 = "tropic_grass_c";
g_Terrains.tier1Terrain = "tropic_dirt_a";
g_Terrains.tier2Terrain = "tropic_plants";
g_Terrains.tier3Terrain = "tropic_grass_plants";
g_Terrains.tier4Terrain = "tropic_dirt_a_plants";
g_Terrains.roadWild = "road_rome_a";
g_Terrains.road = "road_stones";
g_Gaia.mainHuntableAnimal = "gaia/fauna_peacock";
g_Gaia.secondaryHuntableAnimal = "gaia/fauna_crocodile";
g_Gaia.fish = "gaia/fauna_fish_tilapia";
g_Gaia.tree1 = "gaia/flora_tree_palm_tropical";
g_Gaia.tree2 = "gaia/flora_tree_date_palm";
g_Gaia.tree3 = "gaia/flora_tree_date_palm";
g_Gaia.tree4 = "gaia/flora_tree_palm_tropical";
g_Gaia.tree5 = "gaia/flora_tree_date_palm";
g_Gaia.fruitBush = "gaia/flora_bush_berry";
g_Decoratives.grass = "actor|props/flora/grass_tropical.xml";
g_Decoratives.grassShort = "actor|props/flora/grass_soft_tuft_a.xml";
g_Decoratives.rockLarge = "actor|geology/stone_savanna_med.xml";
g_Decoratives.rockMedium = "actor|geology/stone_savanna_med.xml";
g_Decoratives.bushMedium = "actor|props/flora/bush_tropic_a.xml";
g_Decoratives.bushSmall = "actor|props/flora/bush_tropic_b.xml";
RMS.SetProgress(5);
log("Resetting terrain...");
resetTerrain(g_Terrains.mainTerrain, g_TileClasses.land, getMapBaseHeight());
RMS.SetProgress(10);
log("Copying heightmap...");
var scale = paintHeightmap("amazon");
RMS.SetProgress(30);
log("Paint tile classes...");
paintTileClassBasedOnHeight(-100, -1, 3, g_TileClasses.water);
RMS.SetProgress(40);
log("Placing players...");
//Coordinate system of the heightmap
var singleBases = [
[90, 115],
[240, 157],
[35, 155],
[140, 25],
[260, 75],
[160, 285],
[105, 220],
[185, 90]
];
var strongholdBases = [
[80, 240],
[190, 60]
];
randomPlayerPlacementAt(getTeamsArray(), singleBases, strongholdBases, scale, 0.06);
RMS.SetProgress(50);
addElements([
{
"func": addLayeredPatches,
"avoid": [
g_TileClasses.bluff, 2,
g_TileClasses.dirt, 5,
g_TileClasses.forest, 2,
g_TileClasses.mountain, 2,
g_TileClasses.plateau, 2,
g_TileClasses.player, 12,
g_TileClasses.water, 3
],
"sizes": ["normal"],
"mixes": ["normal"],
"amounts": ["many"]
},
{
"func": addDecoration,
"avoid": [
g_TileClasses.bluff, 2,
g_TileClasses.forest, 2,
g_TileClasses.mountain, 2,
g_TileClasses.plateau, 2,
g_TileClasses.player, 12,
g_TileClasses.water, 3
],
"sizes": ["normal"],
"mixes": ["normal"],
"amounts": ["many"]
}
]);
RMS.SetProgress(60);
addElements(shuffleArray([
{
"func": addMetal,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 2,
g_TileClasses.plateau, 2,
g_TileClasses.player, 30,
g_TileClasses.rock, 10,
g_TileClasses.metal, 20,
g_TileClasses.water, 3
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["normal", "many"]
},
{
"func": addStone,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 2,
g_TileClasses.plateau, 2,
g_TileClasses.player, 30,
g_TileClasses.rock, 20,
g_TileClasses.metal, 10,
g_TileClasses.water, 3
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["normal", "many"]
},
{
"func": addForests,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 18,
g_TileClasses.metal, 3,
g_TileClasses.mountain, 5,
g_TileClasses.plateau, 5,
g_TileClasses.player, 20,
g_TileClasses.rock, 3,
g_TileClasses.water, 2
],
"sizes": ["normal"],
"mixes": ["similar"],
"amounts": ["tons"]
}
]));
RMS.SetProgress(70);
addElements(shuffleArray([
{
"func": addBerries,
"avoid": [
g_TileClasses.berries, 30,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 5,
g_TileClasses.metal, 10,
g_TileClasses.mountain, 2,
g_TileClasses.plateau, 2,
g_TileClasses.player, 20,
g_TileClasses.rock, 10,
g_TileClasses.water, 3
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["normal", "many"]
},
{
"func": addAnimals,
"avoid": [
g_TileClasses.animals, 20,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 2,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 1,
g_TileClasses.plateau, 2,
g_TileClasses.player, 20,
g_TileClasses.rock, 2,
g_TileClasses.water, 3
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["many"]
},
{
"func": addFish,
"avoid": [
g_TileClasses.fish, 12,
g_TileClasses.player, 8
],
"stay": [g_TileClasses.water, 4],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["many"]
},
{
"func": addStragglerTrees,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 7,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 1,
g_TileClasses.plateau, 2,
g_TileClasses.player, 12,
g_TileClasses.rock, 2,
g_TileClasses.water, 5
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["many"]
}
]));
RMS.SetProgress(80);
log("Adding lillies...");
createObjectGroupsDeprecated(
new SimpleGroup(
[
new SimpleObject(g_Decoratives.lillies, 5, 12, 1, 4),
new SimpleObject(g_Decoratives.rockMedium, 1, 2, 1, 5)
],
true,
g_TileClasses.dirt
),
0,
[
stayClasses(g_TileClasses.water, 1),
borderClasses(g_TileClasses.water, scaleByMapSize(2,8), scaleByMapSize(2,5))
],
scaleByMapSize(100, 5000),
500
);
RMS.SetProgress(90);
ExportMap();

View file

@ -1,12 +0,0 @@
{
"settings" : {
"Name" : "Amazon",
"Script" : "amazon.js",
"Description" : "Players are transported into the tropics to the mouth of the great Amazon, which is arguably the longest and largest river in the world. Will you triumph and take control of this tropical paradise, or will you be trampled into the dust by ruthless and ambitious enemies?",
"BaseTerrain" : ["medit_sea_depths"],
"BaseHeight" : 1,
"Keywords": [],
"Preview" : "amazon.png",
"CircularMap" : false
}
}

View file

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5930d037dad11dfccc3fb8978fc677e6020ed5e5c16675c133b5615710aba68a
size 697898

View file

@ -1,433 +0,0 @@
// Coordinates: 25.574723, 50.670750
// Map Width: 180km
RMS.LoadLibrary("rmgen");
RMS.LoadLibrary("rmgen2");
RMS.LoadLibrary("rmbiome");
InitMap();
setBiome("desert");
initTileClasses(["island"]);
log("Initializing environment...");
setSunColor(0.733, 0.746, 0.574);
setSkySet("cloudless");
setWaterTint(0.37, 0.67, 0.73);
setWaterColor(0.24, 0.44, 0.56);
setWaterWaviness(9);
setWaterMurkiness(0.8);
setWaterType("lake");
setTerrainAmbientColor(0.521, 0.475, 0.322);
setSunRotation(-1 * PI);
setSunElevation(PI / 6.25);
setFogFactor(0);
setFogThickness(0);
setFogColor(0.69, 0.616, 0.541);
setPPEffect("hdr");
setPPContrast(0.67);
setPPSaturation(0.42);
setPPBloom(0.23);
log("Initializing biome...");
g_Terrains.mainTerrain = "desert_dirt_rough_2";
g_Terrains.forestFloor1 = "grass_dead";
g_Terrains.forestFloor2 = "desert_dirt_persia_1";
g_Terrains.tier1Terrain = "desert_sand_dunes_stones";
g_Terrains.tier2Terrain = "desert_sand_scrub";
g_Terrains.tier3Terrain = "desert_plants_b";
g_Terrains.tier4Terrain = "medit_dirt_dry";
g_Terrains.roadWild = "desert_city_tile_pers_dirt";
g_Terrains.road = "desert_city_tile_pers";
g_Gaia.mainHuntableAnimal = "gaia/fauna_camel";
g_Gaia.secondaryHuntableAnimal = "gaia/fauna_gazelle";
g_Gaia.fish = "gaia/fauna_fish";
g_Gaia.tree1 = "gaia/flora_tree_cretan_date_palm_tall";
g_Gaia.tree2 = "gaia/flora_tree_cretan_date_palm_short";
g_Gaia.tree3 = "gaia/flora_tree_cretan_date_palm_patch";
g_Gaia.tree4 = "gaia/flora_tree_cretan_date_palm_tall";
g_Gaia.tree5 = "gaia/flora_tree_cretan_date_palm_short";
g_Gaia.fruitBush = "gaia/flora_bush_grapes";
g_Decoratives.grass = "actor|props/flora/grass_field_parched_short.xml";
g_Decoratives.grassShort = "actor|props/flora/grass_field_parched_short.xml";
g_Decoratives.rockLarge = "actor|geology/stone_savanna_med.xml";
g_Decoratives.rockMedium = "actor|geology/stone_granite_greek_small.xml";
g_Decoratives.bushMedium = "actor|props/flora/bush_desert_dry_a.xml";
g_Decoratives.bushSmall = "actor|props/flora/bush_medit_la_dry";
RMS.SetProgress(5);
log("Resetting terrain...");
resetTerrain(g_Terrains.mainTerrain, g_TileClasses.land, getMapBaseHeight());
RMS.SetProgress(10);
log("Copying heightmap...");
var scale = paintHeightmap("bahrain", (tile, x, y) => {
if (tile == "sand")
addToClass(x, y, g_TileClasses.island);
});
RMS.SetProgress(20);
log("Paint tile classes...");
paintTileClassBasedOnHeight(-100, -1, 3, g_TileClasses.water);
RMS.SetProgress(40);
log("Placing players...");
const numPlayers = getNumPlayers();
const teamsArray = getTeamsArray();
//Coordinate system of the heightmap
var singleBases = [
[30, 220],
[230, 30],
[75, 130],
[120, 35],
[210, 110],
[240, 220]
];
if (numPlayers > singleBases.length)
singleBases.push(
[40, 55],
[280, 150]
);
var strongholdBases = [
[75, 55],
[250, 55]
];
if (teamsArray.length > strongholdBases.length)
strongholdBases.push(
[45, 180],
[260, 195]
);
randomPlayerPlacementAt(teamsArray, singleBases, strongholdBases, scale, 0.06);
RMS.SetProgress(50);
log("Render mainland...");
addElements([
{
"func": addLayeredPatches,
"avoid": [
g_TileClasses.dirt, 5,
g_TileClasses.forest, 2,
g_TileClasses.mountain, 2,
g_TileClasses.player, 12,
g_TileClasses.water, 3,
g_TileClasses.island, 2
],
"sizes": ["normal"],
"mixes": ["normal"],
"amounts": ["many"]
},
{
"func": addDecoration,
"avoid": [
g_TileClasses.forest, 2,
g_TileClasses.mountain, 2,
g_TileClasses.player, 12,
g_TileClasses.water, 3,
g_TileClasses.island, 2
],
"sizes": ["small"],
"mixes": ["same"],
"amounts": ["many"]
}
]);
addElements(shuffleArray([
{
"func": addMetal,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 2,
g_TileClasses.player, 30,
g_TileClasses.rock, 20,
g_TileClasses.metal, 30,
g_TileClasses.water, 3,
g_TileClasses.island, 2
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["normal"]
},
{
"func": addStone,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 3,
g_TileClasses.player, 30,
g_TileClasses.rock, 30,
g_TileClasses.metal, 20,
g_TileClasses.water, 3,
g_TileClasses.island, 2
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["normal"]
}
]));
addElements([
{
"func": addForests,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 35,
g_TileClasses.metal, 3,
g_TileClasses.player, 20,
g_TileClasses.rock, 3,
g_TileClasses.water, 2,
g_TileClasses.island, 2
],
"sizes": ["big"],
"mixes": ["similar"],
"amounts": ["few"]
},
{
"func": addForests,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 18,
g_TileClasses.metal, 3,
g_TileClasses.player, 20,
g_TileClasses.rock, 3,
g_TileClasses.water, 2,
g_TileClasses.island, 2
],
"sizes": ["normal"],
"mixes": ["similar"],
"amounts": ["many"]
},
]);
addElements(shuffleArray([
{
"func": addBerries,
"avoid": [
g_TileClasses.berries, 30,
g_TileClasses.forest, 5,
g_TileClasses.metal, 10,
g_TileClasses.player, 20,
g_TileClasses.rock, 10,
g_TileClasses.water, 3,
g_TileClasses.island, 2
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["few"]
},
{
"func": addAnimals,
"avoid": [
g_TileClasses.animals, 20,
g_TileClasses.forest, 2,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 1,
g_TileClasses.player, 20,
g_TileClasses.rock, 2,
g_TileClasses.water, 3,
g_TileClasses.island, 2
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["tons"]
},
{
"func": addFish,
"avoid": [
g_TileClasses.fish, 12,
g_TileClasses.player, 8
],
"stay": [g_TileClasses.water, 4],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["many"]
},
{
"func": addStragglerTrees,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 7,
g_TileClasses.metal, 2,
g_TileClasses.player, 12,
g_TileClasses.rock, 2,
g_TileClasses.water, 5,
g_TileClasses.island, 2
],
"sizes": ["small"],
"mixes": ["same"],
"amounts": ["normal"]
}
]));
RMS.SetProgress(65);
g_Terrains.mainTerrain = "sand";
g_Terrains.forestFloor1 = "desert_wave";
g_Terrains.forestFloor2 = "desert_sahara";
g_Terrains.tier1Terrain = "sand_scrub_25";
g_Terrains.tier2Terrain = "sand_scrub_75";
g_Terrains.tier3Terrain = "sand_scrub_50";
g_Terrains.tier4Terrain = "sand";
log("Render island...");
addElements([
{
"func": addLayeredPatches,
"avoid": [
g_TileClasses.dirt, 5,
g_TileClasses.forest, 2,
g_TileClasses.player, 12,
g_TileClasses.water, 3
],
"stay": [g_TileClasses.island, 2],
"sizes": ["normal"],
"mixes": ["normal"],
"amounts": ["few"]
},
{
"func": addDecoration,
"avoid": [
g_TileClasses.forest, 2,
g_TileClasses.player, 12,
g_TileClasses.water, 3
],
"stay": [g_TileClasses.island, 2],
"sizes": ["tiny"],
"mixes": ["same"],
"amounts": ["scarce"]
}
]);
addElements(shuffleArray([
{
"func": addMetal,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 3,
g_TileClasses.player, 30,
g_TileClasses.rock, 7,
g_TileClasses.metal, 7,
g_TileClasses.water, 3
],
"stay": [g_TileClasses.island, 2],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["tons"]
},
{
"func": addStone,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 3,
g_TileClasses.player, 30,
g_TileClasses.rock, 7,
g_TileClasses.metal, 7,
g_TileClasses.water, 3
],
"stay": [g_TileClasses.island, 2],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["tons"]
}
]));
addElements(shuffleArray([
{
"func": addForests,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 10,
g_TileClasses.metal, 3,
g_TileClasses.player, 20,
g_TileClasses.rock, 3,
g_TileClasses.water, 2
],
"stay": [g_TileClasses.island, 2],
"sizes": ["normal"],
"mixes": ["similar"],
"amounts": ["normal"]
},
{
"func": addStragglerTrees,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 7,
g_TileClasses.metal, 2,
g_TileClasses.player, 12,
g_TileClasses.rock, 2,
g_TileClasses.water, 5
],
"stay": [g_TileClasses.island, 2],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["many"]
}
]));
RMS.SetProgress(80);
log("Adding more decoratives...");
createObjectGroupsDeprecated(
new SimpleGroup(
[
new SimpleObject("actor|props/special/eyecandy/awning_wood_small.xml", 1, 1, 1, 7),
new SimpleObject("actor|props/special/eyecandy/barrels_buried.xml", 1, 2, 1, 7)
],
true,
g_TileClasses.dirt
),
0,
avoidClasses(
g_TileClasses.water, 2,
g_TileClasses.player, 10,
g_TileClasses.mountain, 2,
g_TileClasses.forest, 2
),
2 * scaleByMapSize(1, 4),
200
);
RMS.SetProgress(85);
log("Creating food treasures...");
for (let treasure of ["wood", "food_bin"])
{
createObjectGroupsDeprecated(
new SimpleGroup(
[new SimpleObject("gaia/special_treasure_" + treasure, 1, 1, 0, 2)],
true
),
0,
avoidClasses(
g_TileClasses.water, 2,
g_TileClasses.player, 25,
g_TileClasses.forest, 2
),
3 * numPlayers,
200
);
}
RMS.SetProgress(90);
log("Creating shipwrecks...");
createObjectGroupsDeprecated(
new SimpleGroup(
[new SimpleObject("other/special_treasure_shipwreck_sail_boat_cut", 1, 1, 0, 1)],
true
),
0,
stayClasses(g_TileClasses.water, 2),
numPlayers,
200
);
RMS.SetProgress(95);
ExportMap();

View file

@ -1,12 +0,0 @@
{
"settings" : {
"Name" : "Bahrain",
"Script" : "bahrain.js",
"Description" : "Bahrain, centre of the Dilmun civilization which fell in 800BC, was in turn controlled by Sumerians, Assyrians, Babylonians, Persians and other later peoples. An island strategically placed in the Sinus Persicus (Persian Gulf) and also centre of pearl trading due to its magnificent pearl fisheries, Bahrain is never left unoccupied for long. But now, with the previous occupants gone, the land prepares for war. Will you be the next Ruler of Bahrain?",
"BaseTerrain" : ["medit_sea_depths"],
"BaseHeight" : 1,
"Keywords": ["naval"],
"Preview" : "bahrain.png",
"CircularMap" : false
}
}

View file

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bc84416ba3d1c6aaa2eda98f5bd33f68d79c8b1541150b76466e17a0c48803f5
size 740922

View file

@ -1,412 +0,0 @@
// Coordinates: 49.545673, -123.309144
// Map Width: 50km
RMS.LoadLibrary("rmgen");
RMS.LoadLibrary("rmgen2");
RMS.LoadLibrary("rmbiome");
InitMap();
setBiome("snowy");
initTileClasses(["island"]);
log("Initializing environment...");
setSunColor(0.733, 0.746, 0.574);
setSkySet("stratus");
setWaterTint(0.388, 0.650, 0.661);
setWaterColor(0.388, 0.650, 0.661);
setWaterWaviness(8);
setWaterMurkiness(0.8);
setWaterType("lake");
setTerrainAmbientColor(0.349, 0.514, 0.671);
setSunRotation(PI * -0.5);
setSunElevation(PI/9);
setFogFactor(0.08);
setFogThickness(0);
setFogColor(0.75, 0.75, 0.75);
setPPEffect("hdr");
setPPContrast(0.67);
setPPSaturation(0.42);
setPPBloom(0.23);
log("Initializing biome...");
g_Terrains.mainTerrain = "snow rough";
g_Terrains.forestFloor1 = "snow grass 2";
g_Terrains.forestFloor2 = "snow 50";
g_Terrains.tier1Terrain = "snow grass 100";
g_Terrains.tier2Terrain = "snow rocks";
g_Terrains.tier3Terrain = "snow rough";
g_Terrains.tier4Terrain = "snow grass 75";
g_Terrains.roadWild = "path a";
g_Terrains.road = "road_flat";
g_Gaia.mainHuntableAnimal = "gaia/fauna_muskox";
g_Gaia.secondaryHuntableAnimal = "gaia/fauna_wolf_snow";
g_Gaia.fish = "gaia/fauna_fish";
g_Gaia.tree1 = "gaia/flora_tree_pine_w";
g_Gaia.tree2 = "gaia/flora_tree_pine_w";
g_Gaia.tree3 = "gaia/flora_tree_pine_w";
g_Gaia.tree4 = "gaia/flora_tree_dead";
g_Gaia.tree5 = "gaia/flora_tree_pine_w";
g_Gaia.metalSmall = "gaia/geology_metal_temperate";
g_Gaia.fruitBush = "gaia/flora_bush_berry";
g_Decoratives.grass = "actor|props/flora/grass_soft_dry_tuft_a.xml";
g_Decoratives.grassShort = "actor|props/flora/grass_field_bloom_short.xml";
g_Decoratives.rockLarge = "actor|props/special/eyecandy/standing_stones.xml";
g_Decoratives.rockMedium = "actor|geology/stone_granite_small.xml";
g_Decoratives.bushMedium = "actor|props/flora/bush_medit_me_dry.xml";
g_Decoratives.bushSmall = "actor|props/flora/bush_medit_sm_dry.xml";
RMS.SetProgress(5);
log("Resetting terrain...");
resetTerrain(g_Terrains.mainTerrain, g_TileClasses.land, getMapBaseHeight());
RMS.SetProgress(10);
log("Copying heightmap...");
var scale = paintHeightmap("howe_sound", (tile, x, y) => {
if (tile.indexOf("polar_ice_cracked") >= 0)
addToClass(x, y, g_TileClasses.island);
});
log("Paint tile classes...");
paintTileClassBasedOnHeight(-100, -1, 3, g_TileClasses.water);
RMS.SetProgress(40);
log("Placing players...");
//Coordinate system of the heightmap
var singleBases = [
[40, 85],
[230, 40],
[280, 110],
[240, 180],
[50, 170],
[100, 240],
[280, 280],
[170, 280]
];
var strongholdBases = [
[90, 210],
[255, 120]
];
randomPlayerPlacementAt(getTeamsArray(), singleBases, strongholdBases, scale, 0.06);
RMS.SetProgress(50);
log("Render mainland...");
addElements([
{
"func": addLayeredPatches,
"avoid": [
g_TileClasses.bluff, 2,
g_TileClasses.dirt, 5,
g_TileClasses.forest, 2,
g_TileClasses.mountain, 2,
g_TileClasses.plateau, 2,
g_TileClasses.player, 12,
g_TileClasses.water, 3,
g_TileClasses.island, 2
],
"sizes": ["normal"],
"mixes": ["normal"],
"amounts": ["many"]
},
{
"func": addDecoration,
"avoid": [
g_TileClasses.bluff, 2,
g_TileClasses.forest, 2,
g_TileClasses.mountain, 2,
g_TileClasses.plateau, 2,
g_TileClasses.player, 12,
g_TileClasses.water, 3,
g_TileClasses.island, 2
],
"sizes": ["normal"],
"mixes": ["normal"],
"amounts": ["few"]
}
]);
addElements(shuffleArray([
{
"func": addMetal,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 2,
g_TileClasses.plateau, 2,
g_TileClasses.player, 30,
g_TileClasses.rock, 20,
g_TileClasses.metal, 30,
g_TileClasses.water, 3,
g_TileClasses.island, 2
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["normal", "many"]
},
{
"func": addSmallMetal,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 2,
g_TileClasses.plateau, 2,
g_TileClasses.player, 30,
g_TileClasses.rock, 20,
g_TileClasses.metal, 30,
g_TileClasses.water, 3,
g_TileClasses.island, 2
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["normal", "many"]
},
{
"func": addStone,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 2,
g_TileClasses.plateau, 2,
g_TileClasses.player, 30,
g_TileClasses.rock, 30,
g_TileClasses.metal, 20,
g_TileClasses.water, 3,
g_TileClasses.island, 2
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["normal", "many"]
},
{
"func": addForests,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 15,
g_TileClasses.metal, 3,
g_TileClasses.mountain, 5,
g_TileClasses.plateau, 5,
g_TileClasses.player, 20,
g_TileClasses.rock, 3,
g_TileClasses.water, 2,
g_TileClasses.island, 2
],
"sizes": ["normal"],
"mixes": ["similar"],
"amounts": ["tons"]
}
]));
addElements(shuffleArray([
{
"func": addBerries,
"avoid": [
g_TileClasses.berries, 30,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 5,
g_TileClasses.metal, 10,
g_TileClasses.mountain, 2,
g_TileClasses.plateau, 2,
g_TileClasses.player, 20,
g_TileClasses.rock, 10,
g_TileClasses.water, 3,
g_TileClasses.island, 2
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["normal", "many"]
},
{
"func": addAnimals,
"avoid": [
g_TileClasses.animals, 20,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 2,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 1,
g_TileClasses.plateau, 2,
g_TileClasses.player, 20,
g_TileClasses.rock, 2,
g_TileClasses.water, 3,
g_TileClasses.island, 2
],
"sizes": ["normal"],
"mixes": ["similar"],
"amounts": ["many"]
},
{
"func": addFish,
"avoid": [
g_TileClasses.fish, 12,
g_TileClasses.player, 8
],
"stay": [g_TileClasses.water, 4],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["many"]
},
{
"func": addStragglerTrees,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 7,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 1,
g_TileClasses.plateau, 2,
g_TileClasses.player, 12,
g_TileClasses.rock, 2,
g_TileClasses.water, 5,
g_TileClasses.island, 2
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["many"]
}
]));
RMS.SetProgress(65);
g_Gaia.mainHuntableAnimal = "gaia/fauna_bear";
g_Gaia.secondaryHuntableAnimal = "gaia/fauna_wolf_snow";
log("Render islands...");
addElements(shuffleArray([
{
"func": addMetal,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 2,
g_TileClasses.plateau, 2,
g_TileClasses.player, 30,
g_TileClasses.rock, 10,
g_TileClasses.metal, 10,
g_TileClasses.water, 3
],
"stay": [g_TileClasses.island, 2],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["many"]
},
{
"func": addSmallMetal,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 2,
g_TileClasses.plateau, 2,
g_TileClasses.player, 30,
g_TileClasses.rock, 10,
g_TileClasses.metal, 10,
g_TileClasses.water, 3
],
"stay": [g_TileClasses.island, 2],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["tons"]
},
{
"func": addStone,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 2,
g_TileClasses.plateau, 2,
g_TileClasses.player, 30,
g_TileClasses.rock, 10,
g_TileClasses.metal, 10,
g_TileClasses.water, 3
],
"stay": [g_TileClasses.island, 2],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["many"]
}
]));
addElements(shuffleArray([
{
"func": addAnimals,
"avoid": [
g_TileClasses.animals, 20,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 2,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 1,
g_TileClasses.plateau, 2,
g_TileClasses.player, 20,
g_TileClasses.rock, 2,
g_TileClasses.water, 3
],
"stay": [g_TileClasses.island, 2],
"sizes": ["huge"],
"mixes": ["similar"],
"amounts": ["many"]
},
{
"func": addForests,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 8,
g_TileClasses.metal, 3,
g_TileClasses.mountain, 5,
g_TileClasses.plateau, 5,
g_TileClasses.player, 20,
g_TileClasses.rock, 3,
g_TileClasses.water, 2
],
"stay": [g_TileClasses.island, 2],
"sizes": ["small"],
"mixes": ["similar"],
"amounts": ["tons"]
},
{
"func": addStragglerTrees,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 5,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 1,
g_TileClasses.plateau, 2,
g_TileClasses.player, 12,
g_TileClasses.rock, 2,
g_TileClasses.water, 5
],
"stay": [g_TileClasses.island, 2],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["tons"]
}
]));
RMS.SetProgress(80);
log("Placing whale...");
g_Gaia.fish = "gaia/fauna_whale_fin";
addElements([
{
"func": addFish,
"avoid": [
g_TileClasses.fish, 2,
],
"stay": [g_TileClasses.water, 7],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["few"]
}
]);
RMS.SetProgress(90);
ExportMap();

View file

@ -1,12 +0,0 @@
{
"settings" : {
"Name" : "Howe Sound",
"Script" : "howe_sound.js",
"Description" : "Howe Sound is a roughly triangular network of fjords located directly northwest of present-day Vancouver, on the West Coast of today's Canada. The waters teem with whales and fish, while on land herds of muskox dig through deep snow to get at mushrooms and last summer's roots. Mines and forests also abound in this cold haven.",
"BaseTerrain" : ["medit_sea_depths"],
"BaseHeight" : 1,
"Keywords": [],
"Preview" : "howe_sound.png",
"CircularMap" : false
}
}

View file

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9a5e8c4b75211d88180d43b6b1f440a0f1bfa3a91f6eabb7b5d878e6fe9b22de
size 581440

View file

@ -1,300 +0,0 @@
// Coordinates: 40.879820, 28.306729
// Map Width: 400km
RMS.LoadLibrary("rmgen");
RMS.LoadLibrary("rmgen2");
RMS.LoadLibrary("rmbiome");
InitMap();
log("Initializing tile classes...");
setBiome("mediterranean");
initTileClasses();
log("Initializing environment...");
setSunColor(0.753, 0.586, 0.584);
setSkySet("sunset");
setWaterHeight(18);
setWaterTint(0.25, 0.67, 0.65);
setWaterColor(0.18, 0.36, 0.39);
setWaterWaviness(8);
setWaterMurkiness(0.99);
setWaterType("lake");
setTerrainAmbientColor(0.521, 0.475, 0.322);
setSunRotation(PI * .85);
setSunElevation(PI / 14);
setFogFactor(0.15);
setFogThickness(0);
setFogColor(0.64, 0.5, 0.35);
setPPEffect("hdr");
setPPContrast(0.67);
setPPSaturation(0.42);
setPPBloom(0.23);
log("Initializing biome...");
g_Terrains.mainTerrain = "grass_mediterranean_dry_1024test";
g_Terrains.forestFloor1 = "steppe_grass_dirt_66";
g_Terrains.forestFloor2 = "steppe_dirt_a";
g_Terrains.tier1Terrain = "medit_grass_field_b";
g_Terrains.tier2Terrain = "medit_grass_field_dry";
g_Terrains.tier3Terrain = "medit_shrubs_golden";
g_Terrains.tier4Terrain = "steppe_dirt_b";
g_Terrains.roadWild = "road_med_a";
g_Terrains.road = "road2";
g_Gaia.mainHuntableAnimal = "gaia/fauna_horse";
g_Gaia.secondaryHuntableAnimal = "gaia/fauna_boar";
g_Gaia.fish = "gaia/fauna_fish";
g_Gaia.tree1 = "gaia/flora_tree_carob";
g_Gaia.tree2 = "gaia/flora_tree_poplar_lombardy";
g_Gaia.tree3 = "gaia/flora_tree_dead";
g_Gaia.tree4 = "gaia/flora_tree_dead";
g_Gaia.tree5 = "gaia/flora_tree_carob";
g_Gaia.fruitBush = "gaia/flora_bush_grapes";
g_Gaia.metalSmall = "gaia/geology_metal_desert_small";
g_Decoratives.grass = "actor|props/special/eyecandy/block_limestone.xml";
g_Decoratives.grassShort = "actor|props/special/eyecandy/blocks_sandstone_pile_a.xml";
g_Decoratives.rockLarge = "actor|geology/stone_savanna_med.xml";
g_Decoratives.rockMedium = "actor|geology/stone_granite_small.xml";
g_Decoratives.bushMedium = "actor|props/flora/bush_medit_me_dry.xml";
g_Decoratives.bushSmall = "actor|props/flora/bush_medit_sm_dry.xml";
g_Decoratives.reeds = "actor|props/flora/reeds_pond_lush_a.xml";
RMS.SetProgress(5);
log("Resetting terrain...");
resetTerrain(g_Terrains.mainTerrain, g_TileClasses.land, getMapBaseHeight());
RMS.SetProgress(10);
log("Copying heightmap...");
var scale = paintHeightmap("marmara", (tile, x, y) => {
if (tile.indexOf("cliff") >= 0)
addToClass(x, y, g_TileClasses.mountain);
});
RMS.SetProgress(30);
log("Paint tile classes...");
paintTileClassBasedOnHeight(-100, -1, 3, g_TileClasses.water);
RMS.SetProgress(40);
log("Placing players...");
// Coordinate system of the heightmap
var singleBases = [
[40, 175],
[80, 280],
[120, 40],
[285, 165],
[200, 50]
];
if (getMapSize() >= 320 || getNumPlayers() > singleBases.length)
singleBases.push(
[45, 70],
[280, 80],
[125, 205]
);
var strongholdBases = [
[265, 65],
[60, 220],
[105, 60]
];
randomPlayerPlacementAt(getTeamsArray(), singleBases, strongholdBases, scale, 0.06);
RMS.SetProgress(50);
addElements([
{
"func": addLayeredPatches,
"avoid": [
g_TileClasses.bluff, 2,
g_TileClasses.dirt, 5,
g_TileClasses.forest, 2,
g_TileClasses.mountain, 2,
g_TileClasses.plateau, 2,
g_TileClasses.player, 12,
g_TileClasses.water, 3
],
"sizes": ["normal"],
"mixes": ["normal"],
"amounts": ["many"]
},
{
"func": addDecoration,
"avoid": [
g_TileClasses.bluff, 2,
g_TileClasses.forest, 2,
g_TileClasses.mountain, 2,
g_TileClasses.plateau, 2,
g_TileClasses.player, 12,
g_TileClasses.water, 3
],
"sizes": ["normal"],
"mixes": ["normal"],
"amounts": ["many"]
}
]);
RMS.SetProgress(60);
addElements(shuffleArray([
{
"func": addMetal,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 2,
g_TileClasses.plateau, 2,
g_TileClasses.player, 30,
g_TileClasses.rock, 20,
g_TileClasses.metal, 30,
g_TileClasses.water, 3
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["normal", "many"]
},
{
"func": addSmallMetal,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 2,
g_TileClasses.plateau, 2,
g_TileClasses.player, 30,
g_TileClasses.rock, 20,
g_TileClasses.metal, 30,
g_TileClasses.water, 3
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["normal", "many"]
},
{
"func": addStone,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 2,
g_TileClasses.plateau, 2,
g_TileClasses.player, 30,
g_TileClasses.rock, 30,
g_TileClasses.metal, 20,
g_TileClasses.water, 3
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["normal", "many"]
},
{
"func": addForests,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 10,
g_TileClasses.metal, 3,
g_TileClasses.mountain, 5,
g_TileClasses.plateau, 5,
g_TileClasses.player, 20,
g_TileClasses.rock, 3,
g_TileClasses.water, 2
],
"sizes": ["normal"],
"mixes": ["similar"],
"amounts": ["tons"]
}
]));
RMS.SetProgress(70);
addElements(shuffleArray([
{
"func": addBerries,
"avoid": [
g_TileClasses.berries, 30,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 5,
g_TileClasses.metal, 10,
g_TileClasses.mountain, 2,
g_TileClasses.plateau, 2,
g_TileClasses.player, 20,
g_TileClasses.rock, 10,
g_TileClasses.water, 3
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["normal", "many"]
},
{
"func": addAnimals,
"avoid": [
g_TileClasses.animals, 20,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 2,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 1,
g_TileClasses.plateau, 2,
g_TileClasses.player, 20,
g_TileClasses.rock, 2,
g_TileClasses.water, 3
],
"sizes": ["huge"],
"mixes": ["unique"],
"amounts": ["tons"]
},
{
"func": addFish,
"avoid": [
g_TileClasses.fish, 12,
g_TileClasses.player, 8
],
"stay": [g_TileClasses.water, 4],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["tons"]
},
{
"func": addStragglerTrees,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.bluff, 5,
g_TileClasses.forest, 5,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 1,
g_TileClasses.plateau, 2,
g_TileClasses.player, 12,
g_TileClasses.rock, 2,
g_TileClasses.water, 5
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["tons"]
}
]));
RMS.SetProgress(80);
log("Adding reeds...");
createObjectGroupsDeprecated(
new SimpleGroup(
[
new SimpleObject(g_Decoratives.reeds, 5, 12, 1, 2),
new SimpleObject(g_Decoratives.rockMedium, 1, 2, 1, 3)
],
true,
g_TileClasses.dirt
),
0,
[
stayClasses(g_TileClasses.water, 0),
borderClasses(g_TileClasses.water, scaleByMapSize(2,8), scaleByMapSize(2,8))
],
scaleByMapSize(1000, 4000),
500
);
RMS.SetProgress(85);
ExportMap();

View file

@ -1,12 +0,0 @@
{
"settings" : {
"Name" : "Marmara",
"Script" : "marmara.js",
"Description" : "The Propontis (Sea of Marmara) connects the Pontus Euxinus (Black Sea) to the Aegean Sea, and seperates Asia Minor from Thrace. To the south-west lies the Hellespont (Dardanelles), at the entrance of which the ancient city of Ilium (Troy) once stood. To the north-east lies the Bosporus Thraciae (Bosporus strait) where in time the Greek city of Byzantium would be founded, later to become the capital of the great Byzantine Empire under the new name of Constantinople. Players start on fertile land with adequate resources.",
"BaseTerrain" : ["medit_sea_depths"],
"BaseHeight" : 1,
"Keywords": [],
"Preview" : "marmara.png",
"CircularMap" : false
}
}

View file

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fb03e3835246e575f590546cf5315fc4942491e0da200e79ec9e199c8c940944
size 773169

View file

@ -1,502 +0,0 @@
// Coordinates: 49.665548, 10.541500
// Map Width: 5000km
RMS.LoadLibrary("rmgen");
RMS.LoadLibrary("rmgen2");
RMS.LoadLibrary("rmbiome");
InitMap();
log("Initializing environment...");
setBiome("temperate");
initTileClasses(["autumn", "desert", "medit", "polar", "steppe", "temp"]);
setSunColor(0.733, 0.746, 0.574);
setWindAngle(-0.589049);
setWaterTint(0.556863, 0.615686, 0.643137);
setWaterColor(0.494118, 0.639216, 0.713726);
setWaterWaviness(8);
setWaterMurkiness(0.87);
setWaterType("ocean");
setTerrainAmbientColor(0.72, 0.72, 0.82);
setSunRotation(PI * 0.95);
setSunElevation(PI / 6);
setSkySet("cumulus");
setFogFactor(0);
setFogThickness(0);
setFogColor(0.69, 0.616, 0.541);
setPPEffect("hdr");
setPPContrast(0.67);
setPPSaturation(0.42);
setPPBloom(0.23);
log("Resetting terrain...");
resetTerrain(g_Terrains.mainTerrain, g_TileClasses.land, getMapBaseHeight());
RMS.SetProgress(10);
var biomes = {
"autumn": {
// terrains
"mainTerrain": "temp_grass_d_aut",
"forestFloor1": "temp_grass_long_b_aut",
"forestFloor2": "temp_grass_long_b_aut",
"roadWild": "road_rome_a",
"road": "road_muddy",
// gaia
"tree1": "gaia/flora_tree_oak_aut_new",
"tree2": "gaia/flora_tree_oak_dead",
"tree3": "gaia/flora_tree_apple",
"tree4": "gaia/flora_tree_euro_beech_aut",
"tree5": "gaia/flora_tree_pine",
"fruitBush": "gaia/flora_bush_berry",
"mainHuntableAnimal": "gaia/fauna_sheep",
"secondaryHuntableAnimal": "gaia/fauna_wolf",
"stoneLarge": "gaia/geology_stonemine_temperate_quarry",
"stoneSmall": "gaia/geology_stone_temperate",
"metalLarge": "gaia/geology_metal_temperate_slabs",
"metalSmall": "gaia/geology_metal_temperate",
// decoratives
"grass": "actor|props/flora/grass_soft_dry_small.xml",
"grassShort": "actor|props/flora/grass_soft_dry_tuft_a.xml",
"rockLarge": "actor|geology/stone_granite_med.xml",
"rockMedium": "actor|geology/stone_granite_small.xml",
"bushMedium": "actor|props/flora/bush_medit_me_dry.xml",
"bushSmall": "actor|props/flora/bush_medit_sm_dry.xml",
},
"desert": {
// terrains
"mainTerrain": "sand_scrub_100",
"forestFloor1": "sand_scrub_25",
"forestFloor2": "sand_scrub_25",
"roadWild": "desert_city_tile_pers",
"road": "desert_city_tile_pers_dirt",
// gaia
"tree1": "gaia/flora_tree_cretan_date_palm_short",
"tree2": "gaia/flora_tree_senegal_date_palm",
"tree3": "gaia/flora_tree_date_palm",
"tree4": "gaia/flora_tree_cretan_date_palm_tall",
"tree5": "gaia/flora_tree_date_palm",
"fruitBush": "gaia/flora_bush_grapes",
"mainHuntableAnimal": "gaia/fauna_camel",
"secondaryHuntableAnimal": "gaia/fauna_gazelle",
"stoneLarge": "gaia/geology_stonemine_desert_quarry",
"stoneSmall": "gaia/geology_stone_desert_small",
"metalLarge": "gaia/geology_metal_desert_slabs",
"metalSmall": "gaia/geology_metal_desert_small",
// decoratives
"grass": "actor|props/flora/grass_field_parched_tall.xml",
"grassShort": "actor|props/flora/grass_soft_dry_tuft_a.xml",
"rockLarge": "actor|structures/gravestone.xml",
"rockMedium": "actor|geology/stone_desert_med.xml",
"bushMedium": "actor|props/flora/bush_desert_dry_a.xml",
"bushSmall": "actor|props/flora/plant_desert_a.xml",
},
"medit": {
// terrains
"mainTerrain": "medit_grass_field_a",
"forestFloor1": "medit_grass_wild",
"forestFloor2": "medit_grass_wild",
"roadWild": "road_rome_a",
"road": "road_muddy",
// gaia
"tree1": "gaia/flora_tree_poplar_lombardy",
"tree2": "gaia/flora_tree_cypress",
"tree3": "gaia/flora_tree_olive",
"tree4": "gaia/flora_tree_carob",
"tree5": "gaia/flora_tree_tamarix",
"fruitBush": "gaia/flora_bush_grapes",
"mainHuntableAnimal": "gaia/fauna_deer",
"secondaryHuntableAnimal": "gaia/fauna_goat",
"stoneLarge": "gaia/geology_stonemine_medit_quarry",
"stoneSmall": "gaia/geology_stone_mediterranean",
"metalLarge": "gaia/geology_metal_mediterranean_slabs",
"metalSmall": "gaia/geology_metal_greek",
// decoratives
"grass": "actor|props/flora/grass_soft_small_tall.xml",
"grassShort": "actor|props/flora/grass_soft_small.xml",
"rockLarge": "actor|geology/stone_granite_greek_large.xml",
"rockMedium": "actor|geology/stone_granite_greek_med.xml",
"bushMedium": "actor|props/flora/bush_medit_underbrush.xml",
"bushSmall": "actor|props/flora/bush_medit_me_lush.xml",
},
"polar": {
// terrains
"mainTerrain": "polar_tundra_snow",
"forestFloor1": "ice_dirt",
"forestFloor2": "ice_dirt",
"roadWild": "road_flat",
"road": "road1",
// gaia
"tree1": "gaia/flora_tree_pine_w",
"tree2": "gaia/flora_tree_dead",
"tree3": "gaia/flora_tree_dead",
"tree4": "gaia/flora_tree_pine_w",
"tree5": "gaia/flora_tree_pine_w",
"fruitBush": "gaia/fauna_wolf_snow",
"mainHuntableAnimal": "gaia/fauna_muskox",
"secondaryHuntableAnimal": "gaia/fauna_wolf",
"stoneLarge": "gaia/geology_stonemine_alpine_quarry",
"stoneSmall": "gaia/geology_stone_alpine_a",
"metalLarge": "gaia/geology_metal_alpine_slabs",
"metalSmall": "gaia/geology_metal_alpine",
// decoratives
"grass": "actor|props/flora/grass_field_parched_short.xml",
"grassShort": "actor|props/flora/grass_soft_dry_tuft_a.xml",
"rockLarge": "actor|geology/stone_granite_med.xml",
"rockMedium": "actor|geology/stone_granite_small.xml",
"bushMedium": "actor|props/flora/bush_highlands.xml",
"bushSmall": "actor|props/flora/bush_medit_sm.xml",
},
"steppe": {
// terrains
"mainTerrain": "steppe_grass_a",
"forestFloor1": "steppe_grass_c",
"forestFloor2": "steppe_grass_c",
"roadWild": "road2",
"road": "medit_city_tile_dirt",
// gaia
"tree1": "gaia/flora_tree_poplar",
"tree2": "gaia/flora_tree_toona",
"tree3": "gaia/flora_tree_dead",
"tree4": "gaia/flora_tree_acacia",
"tree5": "gaia/flora_tree_poplar_lombardy",
"fruitBush": "gaia/flora_bush_grapes",
"mainHuntableAnimal": "gaia/fauna_deer",
"secondaryHuntableAnimal": "gaia/fauna_horse",
"stoneLarge": "gaia/geology_stonemine_alpine_quarry",
"stoneSmall": "gaia/geology_stone_alpine_a",
"metalLarge": "gaia/geology_metal_alpine_slabs",
"metalSmall": "gaia/geology_metal_alpine",
// decoratives
"grass": "actor|props/flora/grass_medit_flowering_tall.xml",
"grassShort": "actor|props/flora/grass_field_bloom_short.xml",
"rockLarge": "actor|geology/stone_granite_greek_med.xml",
"rockMedium": "actor|geology/stone_granite_greek_small.xml",
"bushMedium": "actor|props/flora/bush_dry_a.xml",
"bushSmall": "actor|props/flora/bush_highlands.xml",
},
"temp": {
// terrains
"mainTerrain": "temp_grass_long",
"forestFloor1": "temp_grass_clovers_2",
"forestFloor2": "temp_grass_clovers_2",
"roadWild": "temp_road_overgrown",
"road": "temp_road",
// gaia
"tree1": "gaia/flora_tree_oak_new",
"tree2": "gaia/flora_tree_oak_dead",
"tree3": "gaia/flora_tree_apple",
"tree4": "gaia/flora_tree_euro_beech",
"tree5": "gaia/flora_tree_oak_large",
"fruitBush": "gaia/flora_bush_berry",
"mainHuntableAnimal": "gaia/fauna_pig",
"secondaryHuntableAnimal": "gaia/fauna_boar",
"stoneLarge": "gaia/geology_stonemine_temperate_quarry",
"stoneSmall": "gaia/geology_stone_temperate",
"metalLarge": "gaia/geology_metal_temperate_slabs",
"metalSmall": "gaia/geology_metal_temperate",
// decoratives
"grass": "actor|props/flora/grass_soft_large_tall.xml",
"grassShort": "actor|props/flora/grass_soft_large.xml",
"rockLarge": "actor|geology/stone_granite_large.xml",
"rockMedium": "actor|geology/stone_granite_med.xml",
"bushMedium": "actor|props/flora/bush_tempe_b.xml",
"bushSmall": "actor|props/flora/bush_tempe_underbrush.xml",
}
};
log("Copying heightmap...");
var scale = paintHeightmap("mediterranean", (tile, x, y) => {
if (tile.indexOf("cliff") >= 0)
addToClass(x, y, g_TileClasses.mountain);
if (tile.indexOf("desert") >= 0)
addToClass(x, y, g_TileClasses.desert);
if (tile.indexOf("medit") >= 0 && tile.indexOf("sand") < 0)
addToClass(x, y, g_TileClasses.medit);
if (tile.indexOf("polar") >= 0)
addToClass(x, y, g_TileClasses.polar);
if (tile.indexOf("steppe") >= 0)
addToClass(x, y, g_TileClasses.steppe);
if (tile.indexOf("temp") >= 0)
addToClass(x, y, g_TileClasses.temp);
if (tile.indexOf("aut") >= 0)
addToClass(x, y, g_TileClasses.autumn);
});
RMS.SetProgress(30);
log("Rendering water...");
paintTileClassBasedOnHeight(-100, -1, 3, g_TileClasses.water);
RMS.SetProgress(40);
log("Placing player bases...");
// Coordinate system of the heightmap
var singleBases = [
[70,30],
[90,180],
[270,75],
[240,280],
[160,180]
];
if (getMapSize() >= 320 || getNumPlayers() > singleBases.length)
singleBases.push(
[140,60],
[170,250],
[210, 35],
[300,155],
[50,105]
);
var strongholdBases = [
[110,50],
[180,260],
[260,55]
];
randomPlayerPlacementAt(getTeamsArray(), singleBases, strongholdBases, scale, 0.06, (tileX, tileY) => {
for (let biome in biomes)
if (checkIfInClass(tileX, tileY, g_TileClasses[biome]))
{
setLocalBiome(biomes[biome]);
break;
}
});
RMS.SetProgress(50);
function setLocalBiome(b)
{
g_Terrains.mainTerrain = b.mainTerrain;
g_Terrains.forestFloor1 = b.forestFloor1;
g_Terrains.forestFloor2 = b.forestFloor2;
g_Terrains.roadWild = b.roadWild;
g_Terrains.road = b.road;
g_Gaia.tree1 = b.tree1;
g_Gaia.tree2 = b.tree2;
g_Gaia.tree3 = b.tree3;
g_Gaia.tree4 = b.tree4;
g_Gaia.tree5 = b.tree5;
g_Gaia.fruitBush = b.fruitBush;
g_Gaia.mainHuntableAnimal = b.mainHuntableAnimal;
g_Gaia.secondaryHuntableAnimal = b.secondaryHuntableAnimal;
g_Gaia.stoneLarge = b.stoneLarge;
g_Gaia.stoneSmall = b.stoneSmall;
g_Gaia.metalLarge = b.metalLarge;
g_Gaia.metalSmall = b.metalSmall;
g_Decoratives.grass = b.grass;
g_Decoratives.grassShort = b.grassShort;
g_Decoratives.rockLarge = b.rockLarge;
g_Decoratives.rockMedium = b.rockMedium;
g_Decoratives.bushMedium = b.bushMedium;
g_Decoratives.bushSmall = b.bushSmall;
}
log("Placing fish...");
g_Gaia.fish = "gaia/fauna_fish";
addElements([
{
"func": addFish,
"avoid": [
g_TileClasses.fish, 10,
],
"stay": [g_TileClasses.water, 4],
"sizes": ["normal"],
"mixes": ["similar"],
"amounts": ["many"]
}
]);
RMS.SetProgress(60);
log("Placing whale...");
g_Gaia.fish = "gaia/fauna_whale_fin";
addElements([
{
"func": addFish,
"avoid": [
g_TileClasses.fish, 2,
g_TileClasses.desert, 50,
g_TileClasses.steppe, 50
],
"stay": [g_TileClasses.water, 7],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["scarce"]
}
]);
RMS.SetProgress(70);
log("Rendering local biomes...");
for (let biome in biomes)
{
setLocalBiome(biomes[biome]);
let localAvoid = g_TileClasses[biome == "temp" ? "plateau" : "autumn"];
addElements([
{
"func": addMetal,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 2,
g_TileClasses.player, 30,
g_TileClasses.rock, 10,
g_TileClasses.metal, 25,
g_TileClasses.water, 4,
localAvoid, 2
],
"stay": [g_TileClasses[biome], 0],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["many"]
},
{
"func": addStone,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 2,
g_TileClasses.player, 30,
g_TileClasses.rock, 10,
g_TileClasses.metal, 25,
g_TileClasses.water, 4,
localAvoid, 2
],
"stay": [g_TileClasses[biome], 0],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["many"]
},
{
"func": addForests,
"avoid": [
g_TileClasses.berries, 3,
g_TileClasses.forest, 15,
g_TileClasses.metal, 3,
g_TileClasses.mountain, 2,
g_TileClasses.player, 12,
g_TileClasses.rock, 2,
g_TileClasses.water, 2,
localAvoid, 2
],
"stay": [g_TileClasses[biome], 0],
"sizes": ["normal"],
"mixes": ["normal"],
"amounts": ["normal"]
},
{
"func": addSmallMetal,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 2,
g_TileClasses.player, 30,
g_TileClasses.rock, 10,
g_TileClasses.metal, 15,
g_TileClasses.water, 4,
localAvoid, 2
],
"stay": [g_TileClasses[biome], 0],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["few", "normal", "many"]
},
{
"func": addBerries,
"avoid": [
g_TileClasses.berries, 30,
g_TileClasses.forest, 2,
g_TileClasses.metal, 4,
g_TileClasses.mountain, 2,
g_TileClasses.player, 20,
g_TileClasses.rock, 4,
g_TileClasses.water, 2,
localAvoid, 2
],
"stay": [g_TileClasses[biome], 0],
"sizes": ["normal"],
"mixes": ["normal"],
"amounts": ["tons"]
},
{
"func": addAnimals,
"avoid": [
g_TileClasses.animals, 10,
g_TileClasses.forest, 1,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 1,
g_TileClasses.player, 15,
g_TileClasses.rock, 2,
g_TileClasses.water, 1,
localAvoid, 2
],
"stay": [g_TileClasses[biome], 0],
"sizes": ["normal"],
"mixes": ["normal"],
"amounts": ["tons"]
},
{
"func": addAnimals,
"avoid": [
g_TileClasses.animals, 10,
g_TileClasses.forest, 1,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 1,
g_TileClasses.player, 15,
g_TileClasses.rock, 2,
g_TileClasses.water, 1,
localAvoid, 2
],
"stay": [g_TileClasses[biome], 0],
"sizes": ["small"],
"mixes": ["normal"],
"amounts": ["tons"]
},
{
"func": addStragglerTrees,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 5,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 1,
g_TileClasses.player, 12,
g_TileClasses.rock, 2,
g_TileClasses.water, 3,
localAvoid, 2
],
"stay": [g_TileClasses[biome], 0],
"sizes": ["normal"],
"mixes": ["normal"],
"amounts": ["some"]
},
{
"func": addDecoration,
"avoid": [
g_TileClasses.forest, 2,
g_TileClasses.mountain, 2,
g_TileClasses.player, 12,
g_TileClasses.water, 4,
localAvoid, 2
],
"stay": [g_TileClasses[biome], 0],
"sizes": ["small"],
"mixes": ["same"],
"amounts": ["normal"]
}
]);
}
RMS.SetProgress(90);
ExportMap();

View file

@ -1,12 +0,0 @@
{
"settings" : {
"Name" : "Mediterranean",
"Script" : "mediterranean.js",
"Description" : "The Mediterranean, home to the Phoenicians, Greeks, Egyptians and later on Romans. They took the rudimentary knowledge and principles of organisation from Mesopotamia and forged it into something more, thereby shifting the centre of learning and knowledge to the Mediterranean Coast, thus laying the foundations of civilization as we know it today. The Mediterranean Sea is almost completely enclosed by land: on the north by Gallia Transalpina (Transalpine Gaul), Italia, Greece (Graecia) and Anatolia, on the east by Syria, on the south by Libya and Mauritania, and on the west by Iberia. The name Mediterranean is derived from Latin, but the Romans themselves preferred the term 'Mare Internum' or even 'Mare Nostrum'.",
"BaseTerrain" : ["medit_sea_depths"],
"BaseHeight" : 1,
"Keywords": [],
"Preview" : "mediterranean.png",
"CircularMap" : false
}
}

View file

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6dfec852ea87f91b95818bc63493d77275f908f67a0be51457da7524118101f4
size 727186

View file

@ -1,488 +0,0 @@
// Coordinates: -3.177437, 35.574687
// Map Width: 120km
RMS.LoadLibrary("rmgen");
RMS.LoadLibrary("rmgen2");
RMS.LoadLibrary("rmbiome");
InitMap();
setBiome("savanna");
initTileClasses(["eden", "highlands"]);
log("Initializing environment...");
setSunColor(0.733, 0.746, 0.574);
setWaterHeight(18);
setWaterTint(0.576, 0.541, 0.322);
setWaterColor(0.521, 0.475, 0.322);
setWaterWaviness(8);
setWaterMurkiness(0.87);
setWaterType("lake");
setTerrainAmbientColor(0.521, 0.475, 0.322);
setSunRotation(-1 * PI);
setSunElevation(PI / 6.25);
setFogFactor(0);
setFogThickness(0);
setFogColor(0.69, 0.616, 0.541);
setPPEffect("hdr");
setPPContrast(0.67);
setPPSaturation(0.42);
setPPBloom(0.23);
log("Initializing biome...");
g_Terrains.mainTerrain = "savanna_riparian_bank";
g_Terrains.tier1Terrain = "savanna_dirt_rocks_a";
g_Terrains.tier2Terrain = "savanna_grass_a";
g_Terrains.tier3Terrain = "savanna_grass_b";
g_Terrains.tier4Terrain = "savanna_forest_floor_a";
g_Terrains.roadWild = "savanna_riparian_dry";
g_Terrains.road = "road2";
g_Gaia.mainHuntableAnimal = "gaia/fauna_giraffe";
g_Gaia.secondaryHuntableAnimal = "gaia/fauna_zebra";
g_Gaia.metalLarge = "gaia/geology_metal_savanna_slabs";
g_Gaia.metalSmall = "gaia/geology_metal_tropic";
g_Gaia.fish = "gaia/fauna_fish_tilapia";
g_Gaia.tree1 = "gaia/flora_tree_baobab";
g_Gaia.tree2 = "gaia/flora_tree_baobab";
g_Gaia.tree3 = "gaia/flora_tree_baobab";
g_Gaia.tree4 = "gaia/flora_tree_baobab";
g_Gaia.tree5 = "gaia/flora_tree_baobab";
g_Decoratives.grass = "actor|props/flora/grass_savanna.xml";
g_Decoratives.grassShort = "actor|props/flora/grass_soft_dry_tuft_a.xml";
g_Decoratives.rockLarge = "actor|geology/stone_savanna_med.xml";
g_Decoratives.rockMedium = "actor|geology/stone_savanna_med.xml";
g_Decoratives.bushMedium = "actor|props/flora/bush_desert_dry_a.xml";
g_Decoratives.bushSmall = "actor|props/flora/bush_dry_a.xml";
RMS.SetProgress(5);
log("Resetting terrain...");
resetTerrain(g_Terrains.mainTerrain, g_TileClasses.land, getMapBaseHeight());
RMS.SetProgress(10);
log("Copying heightmap...");
var scale = paintHeightmap("ngorongoro", (tile, x, y) => {
if (tile.indexOf("grass1") >= 0 || tile.indexOf("savanna_wash") >= 0)
addToClass(x, y, g_TileClasses.mountain);
if (tile.indexOf("new_savanna") >= 0)
addToClass(x, y, g_TileClasses.eden);
else if (tile.indexOf("savanna_shrubs") >= 0 || tile.indexOf("savanna_grass") >= 0 || tile.indexOf("peat_temp") >= 0 || tile.indexOf("grass_field") >= 0 || tile.indexOf("grass b") >= 0)
addToClass(x, y, g_TileClasses.highlands);
});
RMS.SetProgress(30);
log("Paint tile classes...");
paintTileClassBasedOnHeight(-100, -1, 3, g_TileClasses.water);
RMS.SetProgress(40);
log("Placing players...");
//Coordinate system of the heightmap
var singleBases = [
[75, 275],
[35, 210],
[150, 285],
[100, 35],
[200, 35],
[260, 110],
[230,260],
[45,135]
];
var strongholdBases = [
[80, 250],
[205, 65]
];
randomPlayerPlacementAt(getTeamsArray(), singleBases, strongholdBases, scale, 0.06);
RMS.SetProgress(50);
log("Render lowlands...");
addElements([
{
"func": addLayeredPatches,
"avoid": [
g_TileClasses.dirt, 5,
g_TileClasses.forest, 2,
g_TileClasses.mountain, 2,
g_TileClasses.player, 12,
g_TileClasses.water, 3,
g_TileClasses.eden, 2,
g_TileClasses.highlands, 2
],
"sizes": ["normal"],
"mixes": ["normal"],
"amounts": ["many"]
},
{
"func": addDecoration,
"avoid": [
g_TileClasses.forest, 2,
g_TileClasses.mountain, 2,
g_TileClasses.player, 12,
g_TileClasses.water, 3,
g_TileClasses.eden, 2,
g_TileClasses.highlands, 2
],
"sizes": ["normal"],
"mixes": ["normal"],
"amounts": ["many"]
}
]);
addElements(shuffleArray([
{
"func": addSmallMetal,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 6,
g_TileClasses.player, 30,
g_TileClasses.rock, 20,
g_TileClasses.metal, 10,
g_TileClasses.water, 3,
g_TileClasses.eden, 2,
g_TileClasses.highlands, 2
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["few"]
},
{
"func": addStone,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 6,
g_TileClasses.player, 30,
g_TileClasses.rock, 20,
g_TileClasses.metal, 10,
g_TileClasses.water, 3,
g_TileClasses.eden, 2,
g_TileClasses.highlands, 2
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["scarce"]
}
]));
addElements(shuffleArray([
{
"func": addAnimals,
"avoid": [
g_TileClasses.animals, 20,
g_TileClasses.forest, 2,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 6,
g_TileClasses.player, 20,
g_TileClasses.rock, 2,
g_TileClasses.water, 3,
g_TileClasses.eden, 2,
g_TileClasses.highlands, 2
],
"sizes": ["big"],
"mixes": ["similar"],
"amounts": ["tons"]
},
{
"func": addAnimals,
"avoid": [
g_TileClasses.animals, 20,
g_TileClasses.forest, 2,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 6,
g_TileClasses.player, 20,
g_TileClasses.rock, 2,
g_TileClasses.water, 3,
g_TileClasses.eden, 2,
g_TileClasses.highlands, 2
],
"sizes": ["normal"],
"mixes": ["unique"],
"amounts": ["tons"]
},
{
"func": addFish,
"avoid": [
g_TileClasses.fish, 12,
g_TileClasses.player, 8
],
"stay": [g_TileClasses.water, 4],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["tons"]
},
{
"func": addStragglerTrees,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 4,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 6,
g_TileClasses.player, 12,
g_TileClasses.rock, 2,
g_TileClasses.water, 5,
g_TileClasses.eden, 2,
g_TileClasses.highlands, 2
],
"sizes": ["big"],
"mixes": ["same"],
"amounts": ["many"]
}
]));
RMS.SetProgress(60);
g_Gaia.mainHuntableAnimal = "gaia/fauna_lioness";
g_Gaia.secondaryHuntableAnimal = "gaia/fauna_lion";
g_Terrains.mainTerrain = "savanna_grass_a_wetseason";
g_Terrains.tier1Terrain = "savanna_grass_a_wetseason";
g_Terrains.tier2Terrain = "savanna_grass_b_wetseason";
g_Terrains.tier3Terrain = "savanna_shrubs_a_wetseason";
g_Terrains.tier4Terrain = "savanna_shrubs_b";
log("Render highlands...");
addElements([
{
"func": addLayeredPatches,
"avoid": [
g_TileClasses.forest, 2,
g_TileClasses.mountain, 2,
g_TileClasses.player, 12,
g_TileClasses.water, 3
],
"stay": [g_TileClasses.highlands, 2],
"sizes": ["normal"],
"mixes": ["normal"],
"amounts": ["many"]
},
{
"func": addDecoration,
"avoid": [
g_TileClasses.forest, 2,
g_TileClasses.mountain, 2,
g_TileClasses.player, 12,
g_TileClasses.water, 3
],
"stay": [g_TileClasses.highlands, 2],
"sizes": ["normal"],
"mixes": ["normal"],
"amounts": ["many"]
}
]);
addElements(shuffleArray([
{
"func": addSmallMetal,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 3,
g_TileClasses.player, 30,
g_TileClasses.rock, 10,
g_TileClasses.metal, 20,
g_TileClasses.water, 3
],
"stay": [g_TileClasses.highlands, 2],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["many"]
},
{
"func": addStone,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 3,
g_TileClasses.player, 30,
g_TileClasses.rock, 20,
g_TileClasses.metal, 10,
g_TileClasses.water, 3
],
"stay": [g_TileClasses.highlands, 2],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["many"]
}
]));
addElements(shuffleArray([
{
"func": addAnimals,
"avoid": [
g_TileClasses.animals, 20,
g_TileClasses.forest, 2,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 3,
g_TileClasses.player, 20,
g_TileClasses.rock, 2,
g_TileClasses.water, 3
],
"stay": [g_TileClasses.highlands, 2],
"sizes": ["huge"],
"mixes": ["same"],
"amounts": ["tons"]
},
{
"func": addStragglerTrees,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 2,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 3,
g_TileClasses.player, 12,
g_TileClasses.rock, 2,
g_TileClasses.water, 5
],
"stay": [g_TileClasses.highlands, 2],
"sizes": ["huge"],
"mixes": ["same"],
"amounts": ["tons"]
}
]));
RMS.SetProgress(70);
g_Gaia.mainHuntableAnimal = "gaia/fauna_rhino";
g_Gaia.secondaryHuntableAnimal = "gaia/fauna_elephant_african_bush";
log("Render eden...");
addElements([
{
"func": addLayeredPatches,
"avoid": [
g_TileClasses.dirt, 5,
g_TileClasses.forest, 2,
g_TileClasses.mountain, 2,
g_TileClasses.player, 12,
g_TileClasses.water, 3
],
"stay": [g_TileClasses.eden, 2],
"sizes": ["normal"],
"mixes": ["normal"],
"amounts": ["many"]
},
{
"func": addDecoration,
"avoid": [
g_TileClasses.forest, 2,
g_TileClasses.mountain, 2,
g_TileClasses.player, 12,
g_TileClasses.water, 3
],
"stay": [g_TileClasses.eden, 2],
"sizes": ["normal"],
"mixes": ["normal"],
"amounts": ["many"]
}
]);
addElements(shuffleArray([
{
"func": addMetal,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 2,
g_TileClasses.player, 20,
g_TileClasses.rock, 3,
g_TileClasses.metal, 3,
g_TileClasses.water, 3
],
"stay": [g_TileClasses.eden, 2],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["tons"]
},
{
"func": addMetal,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 2,
g_TileClasses.player, 20,
g_TileClasses.rock, 3,
g_TileClasses.metal, 3,
g_TileClasses.water, 3
],
"stay": [g_TileClasses.eden, 2],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["tons"]
},
{
"func": addSmallMetal,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 2,
g_TileClasses.player, 20,
g_TileClasses.rock, 3,
g_TileClasses.metal, 3,
g_TileClasses.water, 3
],
"stay": [g_TileClasses.eden, 2],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["tons"]
},
{
"func": addStone,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 2,
g_TileClasses.player, 30,
g_TileClasses.rock, 3,
g_TileClasses.metal, 3,
g_TileClasses.water, 3
],
"stay": [g_TileClasses.eden, 2],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["few"]
}
]));
addElements(shuffleArray([
{
"func": addAnimals,
"avoid": [
g_TileClasses.animals, 2,
g_TileClasses.forest, 2,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 3,
g_TileClasses.player, 20,
g_TileClasses.rock, 2,
g_TileClasses.water, 3
],
"stay": [g_TileClasses.eden, 2],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["many"]
},
{
"func": addStragglerTrees,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 2,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 8,
g_TileClasses.player, 12,
g_TileClasses.rock, 2,
g_TileClasses.water, 5
],
"stay": [g_TileClasses.eden, 2],
"sizes": ["huge"],
"mixes": ["same"],
"amounts": ["scarce"]
}
]));
RMS.SetProgress(80);
ExportMap();

View file

@ -1,12 +0,0 @@
{
"settings" : {
"Name" : "Ngorongoro",
"Script" : "ngorongoro.js",
"Description" : "Ngorongoro Crater is the world's largest intact volcanic caldera and is one of the Seven Natural Wonders of Africa. Due to it's climate, biodiversity and history, Ngorongoro is believed by some to be Africa's Garden of Eden and the birthplace of mankind.",
"BaseTerrain" : ["medit_sea_depths"],
"BaseHeight" : 1,
"Keywords": [],
"Preview" : "ngorongoro.png",
"CircularMap" : false
}
}

View file

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0fd7e530796e267bc8301175a196786db225785915ad95c47f73fcd7adb8020e
size 627123

View file

@ -1,364 +0,0 @@
// Location: 40.942707, 14.370705
// Map Width: 80km
RMS.LoadLibrary("rmgen");
RMS.LoadLibrary("rmgen2");
RMS.LoadLibrary("rmbiome");
InitMap();
log("Initializing tile classes...");
setBiome("mediterranean");
initTileClasses(["decorative", "lava"]);
log("Initializing environment...");
setSunColor(0.8, 0.8, 0.8);
setWaterTint(0.5, 0.5, 0.5);
setWaterColor(0.3, 0.3, 0.3);
setWaterWaviness(8);
setWaterMurkiness(0.87);
setWaterType("lake");
setTerrainAmbientColor(0.3, 0.3, 0.3);
setUnitsAmbientColor(0.3, 0.3, 0.3);
setSunRotation(-1 * PI);
setSunElevation(PI / 6.25);
setFogFactor(0);
setFogThickness(0);
setFogColor(0.69, 0.616, 0.541);
setSkySet("stormy");
setPPEffect("hdr");
setPPContrast(0.67);
setPPSaturation(0.42);
setPPBloom(0.23);
log("Initializing biome...");
g_Terrains.mainTerrain = "ocean_rock_a";
g_Terrains.forestFloor1 = "dirt_burned";
g_Terrains.forestFloor2 = "shoreline_stoney_a";
g_Terrains.tier1Terrain = "rock_metamorphic";
g_Terrains.tier2Terrain = "fissures";
g_Terrains.tier3Terrain = "LavaTest06";
g_Terrains.tier4Terrain = "ocean_rock_b";
g_Terrains.roadWild = "road1";
g_Terrains.road = "road1";
g_Gaia.mainHuntableAnimal = "gaia/fauna_goat";
g_Gaia.secondaryHuntableAnimal = "gaia/fauna_hawk";
g_Gaia.fruitBush = "gaia/fauna_chicken";
g_Gaia.fish = "gaia/fauna_fish";
g_Gaia.tree1 = "gaia/flora_tree_dead";
g_Gaia.tree2 = "gaia/flora_tree_oak_dead";
g_Gaia.tree3 = "gaia/flora_tree_dead";
g_Gaia.tree4 = "gaia/flora_tree_oak_dead";
g_Gaia.tree5 = "gaia/flora_tree_dead";
g_Gaia.stoneSmall = "gaia/geology_stone_alpine_a";
g_Decoratives.grass = "actor|props/flora/grass_field_parched_short.xml";
g_Decoratives.grassShort = "actor|props/flora/grass_soft_dry_tuft_a.xml";
g_Decoratives.bushMedium = "actor|props/special/eyecandy/barrels_buried.xml";
g_Decoratives.bushSmall = "actor|props/special/eyecandy/handcart_1_broken.xml";
RMS.SetProgress(5);
log("Resetting terrain...");
resetTerrain(g_Terrains.mainTerrain, g_TileClasses.land, getMapBaseHeight());
RMS.SetProgress(10);
log("Copying heightmap...");
var scale = paintHeightmap("pompeii", (tile, x, y) => {
if (tile.indexOf("mud_slide") >= 0)
addToClass(x, y, g_TileClasses.mountain);
else if (tile.indexOf("Lava") >= 0)
addToClass(x, y, g_TileClasses.lava);
});
log("Paint tile classes...");
paintTileClassBasedOnHeight(-100, -1, 3, g_TileClasses.water);
RMS.SetProgress(30);
log("Placing players...");
//Coordinate system of the heightmap
var singleBases = [
[220,80],
[70,140],
[180,270],
[280,280],
[50,270]
];
if (getMapSize() >= 320 || getNumPlayers() > singleBases.length)
singleBases.push(
[50,200],
[125,190],
[180,140]
);
randomPlayerPlacementAt(getTeamsArray(), singleBases, [], scale, 0.06);
RMS.SetProgress(40);
addElements([
{
"func": addLayeredPatches,
"avoid": [
g_TileClasses.dirt, 5,
g_TileClasses.forest, 2,
g_TileClasses.mountain, 2,
g_TileClasses.player, 12,
g_TileClasses.lava, 2,
g_TileClasses.water, 3
],
"sizes": ["normal"],
"mixes": ["normal"],
"amounts": ["normal"]
},
{
"func": addDecoration,
"avoid": [
g_TileClasses.forest, 2,
g_TileClasses.mountain, 2,
g_TileClasses.player, 12,
g_TileClasses.lava, 2,
g_TileClasses.water, 3
],
"sizes": ["normal"],
"mixes": ["normal"],
"amounts": ["normal"]
}
]);
RMS.SetProgress(50);
addElements(shuffleArray([
{
"func": addMetal,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 2,
g_TileClasses.player, 30,
g_TileClasses.rock, 10,
g_TileClasses.metal, 20,
g_TileClasses.lava, 5,
g_TileClasses.water, 3
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["few"]
},
{
"func": addStone,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 2,
g_TileClasses.player, 30,
g_TileClasses.rock, 20,
g_TileClasses.metal, 10,
g_TileClasses.lava, 5,
g_TileClasses.water, 5
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["few"]
},
{
"func": addForests,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 18,
g_TileClasses.metal, 3,
g_TileClasses.mountain, 5,
g_TileClasses.player, 20,
g_TileClasses.rock, 3,
//g_TileClasses.lava, 10,
g_TileClasses.water, 2
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["many"]
}
]));
RMS.SetProgress(60);
addElements(shuffleArray([
{
"func": addAnimals,
"avoid": [
g_TileClasses.animals, 20,
g_TileClasses.forest, 2,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 1,
g_TileClasses.player, 20,
g_TileClasses.rock, 2,
g_TileClasses.lava, 10,
g_TileClasses.water, 3
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["few"]
},
{
"func": addFish,
"avoid": [
g_TileClasses.fish, 12,
g_TileClasses.player, 8
],
"stay": [g_TileClasses.water, 4],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["few"]
},
{
"func": addStragglerTrees,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 7,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 1,
g_TileClasses.player, 12,
g_TileClasses.rock, 2,
g_TileClasses.lava, 5,
g_TileClasses.water, 5
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["tons"]
}
]));
RMS.SetProgress(65);
log("Adding smoke...");
var smokeActors = [
new Entity("actor|particle/smoke_volcano.xml", 0, 178, 112, 0),
new Entity("actor|particle/smoke_volcano.xml", 0, 179, 112, 0),
new Entity("actor|particle/smoke_volcano.xml", 0, 180, 111, 0),
new Entity("actor|particle/smoke_volcano.xml", 0, 177, 111, 0),
new Entity("actor|particle/smoke_curved.xml", 0, 176, 111, 0),
new Entity("actor|particle/smoke_volcano.xml", 0, 177, 112, 0),
new Entity("actor|particle/smoke_curved.xml", 0, 181, 111, 0),
new Entity("actor|particle/smoke_volcano.xml", 0, 180, 112, 0),
];
for (let smoke of smokeActors)
{
smoke.position.x = Math.floor(smoke.position.x / scale);
smoke.position.z = Math.floor(smoke.position.z / scale);
g_Map.addObject(smoke);
}
RMS.SetProgress(70);
log("Adding gatherable stone ruins...");
createObjectGroupsDeprecated(
new SimpleGroup(
[new SimpleObject("gaia/special_ruins_stone_statues_roman", 1, 1, 1, 4)],
true,
g_TileClasses.metal
),
0,
avoidClasses(
g_TileClasses.water, 2,
g_TileClasses.player, 20,
g_TileClasses.mountain, 3,
g_TileClasses.forest, 2,
g_TileClasses.lava, 5,
g_TileClasses.metal, 20
),
5 * scaleByMapSize(1, 4),
500
);
RMS.SetProgress(75);
log("Adding stone ruins...");
createObjectGroupsDeprecated(
new SimpleGroup(
[
new SimpleObject("other/unfinished_greek_temple", 0, 1, 1, 4),
new SimpleObject("gaia/special_ruins_column_doric", 1, 1, 1, 4)
],
true,
g_TileClasses.decorative
),
0,
avoidClasses(
g_TileClasses.water, 2,
g_TileClasses.player, 20,
g_TileClasses.mountain, 5,
g_TileClasses.forest, 2,
g_TileClasses.lava, 5,
g_TileClasses.decorative, 20
),
10 * scaleByMapSize(1, 4),
200
);
RMS.SetProgress(80);
log("Adding shipwrecks...");
var shipwrecks = [
"shipwreck_hull",
"shipwreck_ram_side",
"shipwreck_sail_boat",
"shipwreck_sail_boat_cut",
"barrels_floating"
].map(shipwreck => new SimpleObject("actor|props/special/eyecandy/" + shipwreck + ".xml", 0, 1, 1, 20));
createObjectGroupsDeprecated(
new SimpleGroup(shipwrecks, true, g_TileClasses.decorative),
0,
[
avoidClasses(g_TileClasses.decorative, 20),
stayClasses(g_TileClasses.water, 0)
],
6 * scaleByMapSize(1, 4),
200
);
RMS.SetProgress(85);
log("Adding more ruins...");
var ruins = [
"statue_aphrodite_huge",
"sele_colonnade",
"well_1_b",
"anvil",
"wheel_laying",
"vase_rome_a"
].map(ruin => new SimpleObject("actor|props/special/eyecandy/" + ruin + ".xml", 0, 1, 1, 20));
createObjectGroupsDeprecated(
new SimpleGroup(ruins, true, g_TileClasses.decorative),
0,
avoidClasses(
g_TileClasses.water, 2,
g_TileClasses.player, 20,
g_TileClasses.mountain, 2,
g_TileClasses.forest, 2,
g_TileClasses.lava, 5,
g_TileClasses.decorative, 20
),
10 * scaleByMapSize(1, 4),
200
);
RMS.SetProgress(90);
log("Adding bodies...");
createObjectGroupsDeprecated(
new SimpleGroup(
[new SimpleObject("actor|props/special/eyecandy/skeleton.xml", 3, 10, 1, 7)],
true,
g_TileClasses.dirt
),
0,
avoidClasses(
g_TileClasses.water, 2,
g_TileClasses.player, 10,
g_TileClasses.mountain, 2,
g_TileClasses.forest, 2,
g_TileClasses.decorative, 2
),
30 * scaleByMapSize(1, 4),
200
);
RMS.SetProgress(95);
ExportMap();

View file

@ -1,12 +0,0 @@
{
"settings" : {
"Name" : "Pompeii",
"Script" : "pompeii.js",
"Description" : "Pompeii was an ancient Roman coastal city, in the Campania region of Italy. Pompeii, along with much of the surrounding area, was mostly destroyed and buried under 4 to 6 meters of volcanic ash and pumice in the eruption of Mount Vesuvius in AD 79.",
"BaseTerrain" : ["medit_sea_depths"],
"Keywords": [],
"BaseHeight" : 1,
"Preview" : "pompeii.png",
"CircularMap" : false
}
}

View file

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:64f506f73e362e794d87d9e44d83c762d7bc3900b7446f1055dada95d8c03149
size 740180

View file

@ -1,287 +0,0 @@
// Location: 49.337248, 1.106107
// Map Width: 80km
RMS.LoadLibrary("rmgen");
RMS.LoadLibrary("rmgen2");
RMS.LoadLibrary("rmbiome");
InitMap();
log("Initializing tile classes...");
setBiome("alpine");
initTileClasses(["shallowWater"]);
log("Initializing environment...");
setSunColor(0.733, 0.746, 0.574);
setWaterTint(0.224, 0.271, 0.270);
setWaterColor(0.224, 0.271, 0.270);
setWaterWaviness(8);
setWaterMurkiness(0.87);
setWaterType("lake");
setTerrainAmbientColor(0.521, 0.475, 0.322);
setSunRotation(-1 * PI);
setSunElevation(PI / 6.25);
setFogFactor(0);
setFogThickness(0);
setFogColor(0.69, 0.616, 0.541);
setPPEffect("hdr");
setPPContrast(0.67);
setPPSaturation(0.42);
setPPBloom(0.23);
log("Initializing biome...");
g_Terrains.mainTerrain = "new_alpine_grass_d";
g_Terrains.forestFloor1 = "alpine_grass_d";
g_Terrains.forestFloor2 = "alpine_grass_c";
g_Terrains.tier1Terrain = "new_alpine_grass_c";
g_Terrains.tier2Terrain = "new_alpine_grass_b";
g_Terrains.tier3Terrain = "alpine_grass_a";
g_Terrains.tier4Terrain = "new_alpine_grass_e";
g_Terrains.roadWild = "new_alpine_citytile";
g_Terrains.road = "new_alpine_citytile";
g_Gaia.mainHuntableAnimal = "gaia/fauna_deer";
g_Gaia.secondaryHuntableAnimal = "gaia/fauna_pig";
g_Gaia.metalLarge = "gaia/geology_metal_alpine_slabs";
g_Gaia.metalSmall = "gaia/geology_metal_alpine";
g_Gaia.fish = "gaia/fauna_fish_tilapia";
g_Gaia.tree1 = "gaia/flora_tree_poplar";
g_Gaia.tree2 = "gaia/flora_tree_toona";
g_Gaia.tree3 = "gaia/flora_tree_apple";
g_Gaia.tree4 = "gaia/flora_tree_acacia";
g_Gaia.tree5 = "gaia/flora_tree_carob";
g_Decoratives.grass = "actor|props/flora/grass_soft_large.xml";
g_Decoratives.grassShort = "actor|props/flora/grass_tufts_a.xml";
g_Decoratives.rockLarge = "actor|geology/stone_granite_med.xml";
g_Decoratives.rockMedium = "actor|geology/stone_granite_small.xml";
g_Decoratives.bushMedium = "actor|props/flora/bush_tempe_a.xml";
g_Decoratives.bushSmall = "actor|props/flora/bush_tempe_b.xml";
g_Decoratives.reeds = "actor|props/flora/reeds_pond_lush_a.xml";
g_Decoratives.lillies = "actor|props/flora/water_lillies.xml";
RMS.SetProgress(5);
log("Resetting terrain...");
resetTerrain(g_Terrains.mainTerrain, g_TileClasses.land, getMapBaseHeight());
RMS.SetProgress(10);
log("Copying heightmap...");
var scale = paintHeightmap("ratumacos", (tile, x, y) => {
if (tile.indexOf("mud_temp") >= 0)
addToClass(x, y, g_TileClasses.mountain);
});
RMS.SetProgress(30);
log("Paint tile classes...");
paintTileClassBasedOnHeight(-3, -1, 3, g_TileClasses.shallowWater);
paintTileClassBasedOnHeight(-100, -3, 3, g_TileClasses.water);
RMS.SetProgress(40);
log("Placing players...");
//Coordinate system of the heightmap
var singleBases = [
[100, 265],
[180, 260],
[245, 220],
[275, 145],
[40, 165],
[70, 95],
[130, 50],
[205, 45]
];
var strongholdBases = [
[65, 140],
[180, 60],
[260, 190],
[120, 270]
];
randomPlayerPlacementAt(getTeamsArray(), singleBases, strongholdBases, scale, 0.06);
RMS.SetProgress(50);
log("Render gaia...");
addElements([
{
"func": addLayeredPatches,
"avoid": [
g_TileClasses.dirt, 5,
g_TileClasses.forest, 2,
g_TileClasses.mountain, 2,
g_TileClasses.player, 12,
g_TileClasses.water, 3,
g_TileClasses.shallowWater, 3
],
"sizes": ["normal"],
"mixes": ["normal"],
"amounts": ["many"]
},
{
"func": addDecoration,
"avoid": [
g_TileClasses.forest, 2,
g_TileClasses.mountain, 2,
g_TileClasses.player, 12,
g_TileClasses.water, 3,
g_TileClasses.shallowWater, 3
],
"sizes": ["normal"],
"mixes": ["normal"],
"amounts": ["many"]
}
]);
addElements(shuffleArray([
{
"func": addSmallMetal,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 6,
g_TileClasses.player, 30,
g_TileClasses.rock, 20,
g_TileClasses.metal, 30,
g_TileClasses.water, 3,
g_TileClasses.shallowWater, 3
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["few"]
},
{
"func": addMetal,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 6,
g_TileClasses.player, 30,
g_TileClasses.rock, 30,
g_TileClasses.metal, 20,
g_TileClasses.water, 3,
g_TileClasses.shallowWater, 3
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["normal"]
},
{
"func": addStone,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 6,
g_TileClasses.player, 30,
g_TileClasses.rock, 30,
g_TileClasses.metal, 20,
g_TileClasses.water, 3,
g_TileClasses.shallowWater, 3
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["normal"]
},
{
"func": addForests,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 8,
g_TileClasses.metal, 3,
g_TileClasses.mountain, 6,
g_TileClasses.player, 20,
g_TileClasses.rock, 3,
g_TileClasses.water, 2,
g_TileClasses.shallowWater, 2
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["many"]
}
]));
addElements(shuffleArray([
{
"func": addAnimals,
"avoid": [
g_TileClasses.animals, 20,
g_TileClasses.forest, 2,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 6,
g_TileClasses.player, 20,
g_TileClasses.rock, 2,
g_TileClasses.water, 3,
g_TileClasses.shallowWater, 3
],
"sizes": ["huge"],
"mixes": ["similar"],
"amounts": ["tons"]
},
{
"func": addAnimals,
"avoid": [
g_TileClasses.animals, 20,
g_TileClasses.forest, 2,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 6,
g_TileClasses.player, 20,
g_TileClasses.rock, 2,
g_TileClasses.water, 3,
g_TileClasses.shallowWater, 3
],
"sizes": ["huge"],
"mixes": ["similar"],
"amounts": ["tons"]
},
{
"func": addBerries,
"avoid": [
g_TileClasses.berries, 30,
g_TileClasses.forest, 5,
g_TileClasses.metal, 10,
g_TileClasses.mountain, 2,
g_TileClasses.player, 20,
g_TileClasses.rock, 10,
g_TileClasses.water, 3,
g_TileClasses.shallowWater, 3
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["many"]
},
{
"func": addStragglerTrees,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 4,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 6,
g_TileClasses.player, 12,
g_TileClasses.rock, 2,
g_TileClasses.water, 5,
g_TileClasses.shallowWater, 3
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["tons"]
}
]));
RMS.SetProgress(80);
log("Adding lillies...");
createDecoration(
[
[new SimpleObject(g_Decoratives.reeds, 1,3, 0,1)],
[new SimpleObject(g_Decoratives.lillies, 1,2, 0,1)]
],
[
200 * Math.square(scaleByMapSize(3, 12)),
100 * Math.square(scaleByMapSize(3, 12))
],
stayClasses(g_TileClasses.shallowWater, 0)
);
RMS.SetProgress(90);
ExportMap();

View file

@ -1,12 +0,0 @@
{
"settings" : {
"Name" : "Ratumacos",
"Script" : "ratumacos.js",
"Description" : "Players start on the banks of the River Sequana (Seine) in Northern Gaul near the settlement of Ratumacos. Destined to become one of the largest and most prosperous cities of Medieval Europe and one of the Anglo-Norman dynasty capitals under the new name of Rouen, Ratumacos is still a peaceful land - but not for long.",
"BaseTerrain" : ["medit_sea_depths"],
"BaseHeight" : 1,
"Keywords": [],
"Preview" : "ratumacos.png",
"CircularMap" : true
}
}

View file

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:06fc257487b5ce11ce754b225721286c4e1272a277db486728a41af7e8070002
size 663282

View file

@ -1,295 +0,0 @@
// Coordinates: 21.824205, 40.289810
// Map Width: 2900km
RMS.LoadLibrary("rmgen");
RMS.LoadLibrary("rmgen2");
RMS.LoadLibrary("rmbiome");
InitMap();
setBiome("desert");
initTileClasses();
setSunColor(0.733, 0.746, 0.574);
setWindAngle(-0.43);
setWaterTint(0.161, 0.286, 0.353);
setWaterColor(0.129, 0.176, 0.259);
setWaterWaviness(8);
setWaterMurkiness(0.87);
setWaterType("lake");
setTerrainAmbientColor(0.58, 0.443, 0.353);
setSunRotation(PI * 1.1);
setSunElevation(PI / 7);
setFogFactor(0);
setFogThickness(0);
setFogColor(0.69, 0.616, 0.541);
setPPEffect("hdr");
setPPContrast(0.67);
setPPSaturation(0.42);
setPPBloom(0.23);
log("Initializing biome...");
g_Terrains.mainTerrain = "desert_dirt_rocks_2";
g_Terrains.forestFloor1 = "desert_grass_a_sand";
g_Terrains.forestFloor2 = "desert_grass_a_sand";
g_Terrains.tier1Terrain = "desert_dirt_rocks_2";
g_Terrains.tier2Terrain = "desert_dirt_rough";
g_Terrains.tier3Terrain = "desert_dirt_rough";
g_Terrains.tier4Terrain = "desert_sand_stones";
g_Terrains.roadWild = "road2";
g_Terrains.road = "road2";
g_Gaia.tree1 = "gaia/flora_tree_date_palm";
g_Gaia.tree2 = "gaia/flora_tree_senegal_date_palm";
g_Gaia.tree3 = "gaia/flora_tree_fig";
g_Gaia.tree4 = "gaia/flora_tree_cretan_date_palm_tall";
g_Gaia.tree5 = "gaia/flora_tree_cretan_date_palm_short";
g_Gaia.fruitBush = "gaia/flora_bush_grapes";
g_Decoratives.grass = "actor|props/flora/grass_field_dry_tall_b.xml";
g_Decoratives.grassShort = "actor|props/flora/grass_field_parched_short.xml";
g_Decoratives.rockLarge = "actor|geology/stone_desert_med.xml";
g_Decoratives.rockMedium = "actor|geology/stone_savanna_med.xml";
g_Decoratives.bushMedium = "actor|props/flora/bush_desert_dry_a.xml";
g_Decoratives.bushSmall = "actor|props/flora/bush_medit_sm_dry.xml";
g_Decoratives.dust = "actor|particle/dust_storm_reddish.xml";
log("Resetting terrain...");
resetTerrain(g_Terrains.mainTerrain, g_TileClasses.land, getMapBaseHeight());
RMS.SetProgress(10);
log("Copying heightmap...");
var scale = paintHeightmap("red_sea", (tile, x, y) => {
if (tile.indexOf("cliff") >= 0)
addToClass(x, y, g_TileClasses.mountain);
});
RMS.SetProgress(30);
log("Rendering water...");
paintTileClassBasedOnHeight(-100, -1, 3, g_TileClasses.water);
RMS.SetProgress(40);
log("Placing players...");
// Coordinate system of the heightmap
var singleBases = [
[175, 30],
[45, 210],
[280, 180],
[180, 180],
[230, 115],
[130, 280],
[200, 253],
[90, 115],
[45, 45]
];
var strongholdBases = [
[50, 160],
[100, 50],
[170, 260],
[260, 160]
];
randomPlayerPlacementAt(getTeamsArray(), singleBases, strongholdBases, scale, 0.04);
RMS.SetProgress(50);
log("Adding mines and forests...");
addElements(shuffleArray([
{
"func": addMetal,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 2,
g_TileClasses.player, 30,
g_TileClasses.rock, 10,
g_TileClasses.metal, 20,
g_TileClasses.water, 3
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["normal", "many"]
},
{
"func": addStone,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 3,
g_TileClasses.mountain, 2,
g_TileClasses.player, 30,
g_TileClasses.rock, 20,
g_TileClasses.metal, 10,
g_TileClasses.water, 3
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["normal", "many"]
},
{
"func": addForests,
"avoid": [
g_TileClasses.berries, 3,
g_TileClasses.forest, 20,
g_TileClasses.metal, 3,
g_TileClasses.mountain, 3,
g_TileClasses.player, 20,
g_TileClasses.rock, 3,
g_TileClasses.water, 2
],
"sizes": ["big"],
"mixes": ["similar"],
"amounts": ["few"]
}
]));
RMS.SetProgress(60);
log("Ensure initial forests...");
addElements([{
"func": addForests,
"avoid": [
g_TileClasses.berries, 2,
g_TileClasses.forest, 25,
g_TileClasses.metal, 3,
g_TileClasses.mountain, 5,
g_TileClasses.player, 15,
g_TileClasses.rock, 3,
g_TileClasses.water, 2
],
"sizes": ["small"],
"mixes": ["similar"],
"amounts": ["tons"]
}]);
RMS.SetProgress(65);
log("Adding berries and animals...");
addElements(shuffleArray([
{
"func": addBerries,
"avoid": [
g_TileClasses.berries, 30,
g_TileClasses.forest, 5,
g_TileClasses.metal, 10,
g_TileClasses.mountain, 2,
g_TileClasses.player, 20,
g_TileClasses.rock, 10,
g_TileClasses.water, 3
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["normal", "many"]
},
{
"func": addAnimals,
"avoid": [
g_TileClasses.animals, 20,
g_TileClasses.forest, 2,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 1,
g_TileClasses.player, 20,
g_TileClasses.rock, 2,
g_TileClasses.water, 3
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["many"]
},
{
"func": addFish,
"avoid": [
g_TileClasses.fish, 12,
g_TileClasses.player, 8
],
"stay": [g_TileClasses.water, 4],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["many"]
},
{
"func": addStragglerTrees,
"avoid": [
g_TileClasses.berries, 5,
g_TileClasses.forest, 15,
g_TileClasses.metal, 2,
g_TileClasses.mountain, 1,
g_TileClasses.player, 20,
g_TileClasses.rock, 2,
g_TileClasses.water, 5
],
"sizes": ["normal"],
"mixes": ["same"],
"amounts": ["many"]
}
]));
RMS.SetProgress(70);
log("Adding decoration...");
addElements([
{
"func": addLayeredPatches,
"avoid": [
g_TileClasses.dirt, 5,
g_TileClasses.forest, 2,
g_TileClasses.mountain, 2,
g_TileClasses.player, 12,
g_TileClasses.water, 3
],
"sizes": ["normal"],
"mixes": ["normal"],
"amounts": ["many"]
},
{
"func": addDecoration,
"avoid": [
g_TileClasses.forest, 2,
g_TileClasses.mountain, 2,
g_TileClasses.player, 12,
g_TileClasses.water, 3
],
"sizes": ["normal"],
"mixes": ["similar"],
"amounts": ["many"]
}
]);
RMS.SetProgress(80);
log("Adding reeds...");
createObjectGroupsDeprecated(
new SimpleGroup(
[
new SimpleObject(g_Decoratives.reeds, 5, 12, 1, 4),
new SimpleObject(g_Decoratives.rockMedium, 1, 2, 1, 5)
],
true,
g_TileClasses.dirt
),
0,
[
stayClasses(g_TileClasses.water, 1),
borderClasses(g_TileClasses.water, scaleByMapSize(2,8), scaleByMapSize(2,5))
],
scaleByMapSize(100, 1000),
500
);
RMS.SetProgress(85);
log("Adding dust...");
createObjectGroupsDeprecated(
new SimpleGroup(
[new SimpleObject(g_Decoratives.dust, 1, 1, 1, 4)],
false
),
0,
[
stayClasses(g_TileClasses.dirt, 1),
avoidClasses(
g_TileClasses.player, 10,
g_TileClasses.water, 3
)
],
Math.square(scaleByMapSize(5, 20)),
500
);
RMS.SetProgress(90);
ExportMap();

View file

@ -1,12 +0,0 @@
{
"settings" : {
"Name" : "Red Sea",
"Script" : "red_sea.js",
"Description" : "Historically, the Red Sea was a sea of many nations. Ideally situated for trade with the Far East, it was coveted by all. Although dry, this land is by no means inhospitable, and is amply provided with all resources.",
"BaseTerrain" : ["medit_sea_depths"],
"BaseHeight" : 1,
"Keywords": [],
"Preview" : "red_sea.png",
"CircularMap" : false
}
}