mirror of
https://gitea.wildfiregames.com/0ad/0ad.git
synced 2026-09-21 20:06:40 +00:00
Alternative player placement on River Archipelago: left strip vs right strip.
Differential Revision: https://code.wildfiregames.com/D610 Reviewed By: FeXoR This was SVN commit r19748.
This commit is contained in:
@@ -108,13 +108,27 @@ for (let i = 0; i < numPlayers; ++i)
|
||||
playerIDs.push(i+1);
|
||||
playerIDs = sortPlayers(playerIDs);
|
||||
|
||||
// Either left vs right or top vs bottom
|
||||
var leftVSRight = randBool();
|
||||
|
||||
for (let i = 0; i < numPlayers; ++i)
|
||||
{
|
||||
let playerX = playerPos[i % 2];
|
||||
let playerZ = (i + 1) / (numPlayers + 1);
|
||||
let id = playerIDs[i];
|
||||
let playerX;
|
||||
let playerZ;
|
||||
|
||||
log("Creating base for player " + id + "...");
|
||||
if (leftVSRight)
|
||||
{
|
||||
let left = i < numPlayers / 2;
|
||||
playerX = playerPos[left ? 0 : 1];
|
||||
playerZ = 2 * (left ? i + 1 : numPlayers - i - 0.5) / (numPlayers + 1 + numPlayers % 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
playerX = playerPos[i % 2];
|
||||
playerZ = (i + 1) / (numPlayers + 1);
|
||||
}
|
||||
|
||||
log("Creating base for player " + playerIDs[i] + "...");
|
||||
let radius = scaleByMapSize(12, 20);
|
||||
|
||||
let fx = fractionToTiles(playerX);
|
||||
@@ -130,7 +144,7 @@ for (let i = 0; i < numPlayers; ++i)
|
||||
|
||||
// Create the main island
|
||||
createArea(
|
||||
new ChainPlacer(1, 6, Math.floor(scaleByMapSize(25, 50)), 1, ix, iz, 0, [Math.floor(radius)]),
|
||||
new ChainPlacer(1, 6, 40, 1, ix, iz, 0, [Math.floor(radius)]),
|
||||
[
|
||||
new LayeredPainter([tGrass, tGrass, tGrass], [1, 4]),
|
||||
new SmoothElevationPainter(ELEVATION_SET, 3, 4),
|
||||
@@ -144,7 +158,7 @@ for (let i = 0; i < numPlayers; ++i)
|
||||
new LayeredPainter([tRoadWild, tRoad], [1]),
|
||||
null);
|
||||
|
||||
placeCivDefaultEntities(fx, fz, id, { 'iberWall': 'towers' });
|
||||
placeCivDefaultEntities(fx, fz, playerIDs[i], { 'iberWall': 'towers' });
|
||||
|
||||
placeDefaultChicken(fx, fz, clBaseResource, undefined, oPeacock);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user