forked from 0ad/0ad
historic_bruno
0e0ed94926
Includes default library "rmgen" w/ API based on rmgen tool. Modifies rmgen scripts Cantabrian Highlands, Neareastern Badlands, and Latium. Old map support dropped from MapReader. Fixes a few bugs in existing game setup and initialization scripts. This was SVN commit r9096.
61 lines
1.4 KiB
JavaScript
61 lines
1.4 KiB
JavaScript
RMS.LoadLibrary("rmgen");
|
|
|
|
// initialize map
|
|
|
|
log("Initializing map...");
|
|
|
|
InitMap();
|
|
|
|
var numPlayers = getNumPlayers();
|
|
var mapSize = getMapSize();
|
|
|
|
// create tile classes
|
|
|
|
var clPlayer = createTileClass();
|
|
var clPath = createTileClass();
|
|
var clHill = createTileClass();
|
|
var clForest = createTileClass();
|
|
var clWater = createTileClass();
|
|
var clRock = createTileClass();
|
|
var clFood = createTileClass();
|
|
var clBaseResource = createTileClass();
|
|
|
|
// place players
|
|
|
|
var playerX = new Array(numPlayers);
|
|
var playerY = new Array(numPlayers);
|
|
var playerAngle = new Array(numPlayers);
|
|
|
|
var startAngle = randFloat() * 2 * PI;
|
|
for (var i=0; i < numPlayers; i++)
|
|
{
|
|
playerAngle[i] = startAngle + i*2*PI/numPlayers;
|
|
playerX[i] = 0.5 + 0.39*cos(playerAngle[i]);
|
|
playerY[i] = 0.5 + 0.39*sin(playerAngle[i]);
|
|
}
|
|
|
|
for (var i=0; i < numPlayers; i++)
|
|
{
|
|
log("Creating base for player " + (i + 1) + "...");
|
|
|
|
// get the x and y in tiles
|
|
var fx = fractionToTiles(playerX[i]);
|
|
var fy = fractionToTiles(playerY[i]);
|
|
var ix = round(fx);
|
|
var iy = round(fy);
|
|
|
|
// create the TC and citizens
|
|
var civ = getCivCode(i);
|
|
var group = new SimpleGroup(
|
|
[ // elements (type, count, distance)
|
|
new SimpleObject("structures/"+civ+"_civil_centre", 1,1, 0,0),
|
|
new SimpleObject("units/"+civ+"_support_female_citizen", 3,3, 5,5)
|
|
],
|
|
true, null, ix, iy
|
|
);
|
|
createObjectGroup(group, i+1);
|
|
}
|
|
|
|
// Export map data
|
|
ExportMap();
|