Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/maps/random/mainland.js
Context not available. | |||||
var clFood = g_Map.createTileClass(); | var clFood = g_Map.createTileClass(); | ||||
var clBaseResource = g_Map.createTileClass(); | var clBaseResource = g_Map.createTileClass(); | ||||
placePlayerBases({ | if (g_MapSettings.EvenPlayerSpacing) { | ||||
lyv: This creates 20 or so tileclasses while using just one and several globals. | |||||
"PlayerPlacement": playerPlacementCircle(fractionToTiles(0.35)), | placePlayerBases({ | ||||
Not Done Inline ActionsThis is the only relevant line. The placement code already lives in rmgen1, so its better to just use the rmgen1 base creation function and create one more function to handle dynamic patterns in rmgen-common/player.js. "PlayerPlacement": playerPlacementByPattern(g_MapSettings.TeamPlacement), // something like this, with perhaps map script local parameters in an object literal or something lyv: This is the only relevant line. The placement code already lives in rmgen1, so its better to… | |||||
"PlayerTileClass": clPlayer, | "PlayerPlacement": playerPlacementCircle(fractionToTiles(0.35)), | ||||
"BaseResourceClass": clBaseResource, | "PlayerTileClass": clPlayer, | ||||
"CityPatch": { | "BaseResourceClass": clBaseResource, | ||||
"outerTerrain": tRoadWild, | "CityPatch": { | ||||
"innerTerrain": tRoad | "outerTerrain": tRoadWild, | ||||
Done Inline Actions@Jammyjamjamman , here for the second argument, and in African_Plains.js, shouldn't we be using `g_PlayerbaseTypes[pattern].distance' (note how it's done in Frontier.js). andy5995: @Jammyjamjamman , here for the second argument, and in African_Plains.js, shouldn't we be using… | |||||
}, | "innerTerrain": tRoad | ||||
"Chicken": { | }, | ||||
}, | "Chicken": { | ||||
"Berries": { | }, | ||||
"template": oFruitBush | "Berries": { | ||||
}, | "template": oFruitBush | ||||
"Mines": { | }, | ||||
"types": [ | "Mines": { | ||||
{ "template": oMetalLarge }, | "types": [ | ||||
{ "template": oStoneLarge } | { "template": oMetalLarge }, | ||||
] | { "template": oStoneLarge } | ||||
}, | ] | ||||
"Trees": { | }, | ||||
"template": oTree1, | "Trees": { | ||||
"count": 5 | "template": oTree1, | ||||
}, | "count": 5 | ||||
"Decoratives": { | }, | ||||
"template": aGrassShort | "Decoratives": { | ||||
} | "template": aGrassShort | ||||
}); | } | ||||
}); | |||||
} | |||||
else { | |||||
const mapCenter = g_Map.getCenter(); | |||||
var playerIDs = sortAllPlayers(); | |||||
placePlayerBases({ | |||||
"PlayerPlacement": [sortAllPlayers(), ...playerPlacementMultiArcs( | |||||
playerIDs, | |||||
mapCenter, | |||||
fractionToTiles(0.35), | |||||
0, | |||||
0.75)], | |||||
"PlayerTileClass": clPlayer, | |||||
"BaseResourceClass": clBaseResource, | |||||
"CityPatch": { | |||||
"outerTerrain": tRoadWild, | |||||
"innerTerrain": tRoad | |||||
}, | |||||
"Chicken": { | |||||
}, | |||||
"Berries": { | |||||
"template": oFruitBush | |||||
}, | |||||
"Mines": { | |||||
"types": [ | |||||
{ "template": oMetalLarge }, | |||||
{ "template": oStoneLarge } | |||||
] | |||||
}, | |||||
"Trees": { | |||||
"template": oTree1, | |||||
"count": 5 | |||||
}, | |||||
"Decoratives": { | |||||
"template": aGrassShort | |||||
} | |||||
}); | |||||
} | |||||
Engine.SetProgress(20); | Engine.SetProgress(20); | ||||
createBumps(avoidClasses(clPlayer, 20)); | createBumps(avoidClasses(clPlayer, 20)); | ||||
Context not available. |
Wildfire Games · Phabricator
This creates 20 or so tileclasses while using just one and several globals.