mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-08-07 11:09:34 +00:00
dynamic oil field generation for different sized maps
This commit is contained in:
@@ -8,7 +8,20 @@ export function generateOilFields(map: GameMap, config: Config) {
|
|||||||
simpleHash("oil-fields-" + config.randomSeed()),
|
simpleHash("oil-fields-" + config.randomSeed()),
|
||||||
);
|
);
|
||||||
|
|
||||||
const numFields = random.nextInt(7, 10);
|
const landTiles = map.numLandTiles();
|
||||||
|
let numFields: number;
|
||||||
|
|
||||||
|
if (landTiles < 500000) {
|
||||||
|
// Small maps
|
||||||
|
numFields = random.nextInt(2, 5);
|
||||||
|
} else if (landTiles < 1500000) {
|
||||||
|
// Medium maps
|
||||||
|
numFields = random.nextInt(4, 8);
|
||||||
|
} else {
|
||||||
|
// Large maps
|
||||||
|
numFields = random.nextInt(7, 11);
|
||||||
|
}
|
||||||
|
|
||||||
const width = map.width();
|
const width = map.width();
|
||||||
const height = map.height();
|
const height = map.height();
|
||||||
|
|
||||||
@@ -66,8 +79,7 @@ export function generateOilFields(map: GameMap, config: Config) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 2. Elliptical Noise Base
|
// 2. Elliptical Noise Base
|
||||||
const totalLand = map.numLandTiles();
|
const avgTilesPerField = (landTiles * 0.045) / numFields;
|
||||||
const avgTilesPerField = (totalLand * 0.045) / numFields;
|
|
||||||
|
|
||||||
for (const seed of seeds) {
|
for (const seed of seeds) {
|
||||||
const targetSize = avgTilesPerField * (0.6 + random.next() * 1.8);
|
const targetSize = avgTilesPerField * (0.6 + random.next() * 1.8);
|
||||||
|
|||||||
Reference in New Issue
Block a user