1
0
mirror of https://github.com/tobspr/shapez.io.git synced 2025-06-13 13:04:03 +00:00

fix windmill shape generation - non recursive

This commit is contained in:
noctilucentgames 2020-10-26 18:36:50 +00:00
parent b855613fcf
commit d4666a99b8

View File

@ -198,8 +198,13 @@ export class MapChunk {
weights[enumSubShape.windmill] = 0;
}
// Makes sure windmills never spawn as whole
let windmillCount;
do {
windmillCount = 0;
if (distanceToOriginInChunks < 10) {
// Initial chunk patches always have the same shape
weights[enumSubShape.windmill] = 0; // no whole windmills
const subShape = this.internalGenerateRandomSubShape(rng, weights);
subShapes = [subShape, subShape, subShape, subShape];
} else if (distanceToOriginInChunks < 15) {
@ -216,18 +221,12 @@ export class MapChunk {
this.internalGenerateRandomSubShape(rng, weights),
];
}
// Makes sure windmills never spawn as whole
let windmillCount = 0;
for (let i = 0; i < subShapes.length; ++i) {
if (subShapes[i] === enumSubShape.windmill) {
++windmillCount;
}
}
if (windmillCount > 2) {
this.internalGenerateShapePatch(rng, shapePatchSize, distanceToOriginInChunks);
return;
}
} while (windmillCount > 2);
const definition = this.root.shapeDefinitionMgr.getDefinitionFromSimpleShapes(subShapes);
this.internalGeneratePatch(