mirror of
https://gitea.wildfiregames.com/0ad/0ad.git
synced 2026-06-21 15:04:15 +00:00
Let SimpleObject also avoid other SimpleObjects within the same SimpleGroup following 0e0ed94926, refs #6.
Fixes unreachable small stone mines inside large stone mines.
Fixes #4338.
Differential Revision: https://code.wildfiregames.com/D189
Credit rapidelectron for working out the two main issues (refs
63e77de94e) and providing a similar patch.
This was SVN commit r21283.
This commit is contained in:
@@ -187,6 +187,7 @@
|
||||
{"nick": "qwertz"},
|
||||
{"nick": "Radagast"},
|
||||
{"nick": "Raj", "name": "Raj Sharma"},
|
||||
{"nick": "rapidelectron", "name": "Christian Weihsbach"},
|
||||
{"nick": "RedFox", "name": "Jorma Rebane"},
|
||||
{"nick": "RefinedCode"},
|
||||
{"nick": "Riemer"},
|
||||
|
||||
@@ -183,12 +183,12 @@ paintTerrainBasedOnHeight(heightCorralsLower, heightCorralsUpper, Elevation_Excl
|
||||
|
||||
g_Map.log("Creating island stone mines");
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)],
|
||||
[new SimpleObject(oStoneSmall, 2,5, 1,3)]
|
||||
],
|
||||
stayClasses(clIsland, 4),
|
||||
clRock);
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)],
|
||||
[new SimpleObject(oStoneSmall, 2,5, 1,3)]
|
||||
],
|
||||
stayClasses(clIsland, 4),
|
||||
clRock);
|
||||
|
||||
g_Map.log("Creating island metal mines");
|
||||
createMines(
|
||||
@@ -201,12 +201,12 @@ createMines(
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)],
|
||||
[new SimpleObject(oStoneSmall, 2,5, 1,3)]
|
||||
],
|
||||
avoidClasses(clForest, 1, clPlayer, 20, clRock, 10, clWater, 1, clHill, 1),
|
||||
clRock);
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)],
|
||||
[new SimpleObject(oStoneSmall, 2,5, 1,3)]
|
||||
],
|
||||
avoidClasses(clForest, 1, clPlayer, 20, clRock, 10, clWater, 1, clHill, 1),
|
||||
clRock);
|
||||
|
||||
g_Map.log("Creating metal mines");
|
||||
createMines(
|
||||
|
||||
@@ -149,8 +149,8 @@ Engine.SetProgress(60);
|
||||
g_Map.log("Creating stone mines");
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0,2, 0,4)],
|
||||
[new SimpleObject(oStoneSmall, 2,5, 1,3)]
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4)],
|
||||
[new SimpleObject(oStoneSmall, 2, 5, 1, 3)]
|
||||
],
|
||||
avoidClasses(clWater, 4, clForest, 4, clPlayer, 20, clRock, 10, clHill, 4),
|
||||
clRock);
|
||||
|
||||
@@ -178,7 +178,7 @@ Engine.SetProgress(65);
|
||||
g_Map.log("Creating stone mines");
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)],
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)],
|
||||
[new SimpleObject(oStoneSmall, 2,5, 1,3)]
|
||||
],
|
||||
avoidClasses(clWater, 3, clForest, 1, clPlayer, 20, clRock, 10, clHill, 1),
|
||||
|
||||
@@ -422,7 +422,7 @@ for (let size of [scaleByMapSize(2, 32), scaleByMapSize(3, 48), scaleByMapSize(5
|
||||
Engine.SetProgress(65);
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)], true, clRock);
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
avoidClasses(clForest, 1, clPlayer, 20, clRock, 10, clHill, 1),
|
||||
scaleByMapSize(4,16), 100
|
||||
|
||||
@@ -129,7 +129,7 @@ createLayeredPatches(
|
||||
Engine.SetProgress(55);
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)], true, clRock);
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
avoidClasses(clForest, 1, clPlayer, 20, clRock, 10, clHill, 1),
|
||||
scaleByMapSize(1,4), 100
|
||||
|
||||
@@ -175,7 +175,7 @@ Engine.SetProgress(55);
|
||||
g_Map.log("Creating stone mines");
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)],
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)],
|
||||
[new SimpleObject(oStoneSmall, 2,5, 1,3)]
|
||||
],
|
||||
[avoidClasses(clForest, 1, clPlayer, 7, clRock, 10, clHill, 1), stayClasses(clLand, 6)],
|
||||
|
||||
@@ -183,7 +183,7 @@ Engine.SetProgress(65);
|
||||
g_Map.log("Creating stone mines");
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4), new SimpleObject(oStoneLarge, 1, 1, 0, 4)],
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)],
|
||||
[new SimpleObject(oStoneSmall, 2, 5, 1, 3)]
|
||||
],
|
||||
avoidClasses(
|
||||
|
||||
@@ -345,15 +345,21 @@ for (let size of [scaleByMapSize(20, 120)])
|
||||
Engine.SetProgress(75);
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 1,2, 0,4), new SimpleObject(oStoneLarge, 0,1, 0,4)], true, clRock);
|
||||
createObjectGroupsByAreasDeprecated(group, 0,
|
||||
createObjectGroupsByAreasDeprecated(
|
||||
new SimpleGroup(
|
||||
[
|
||||
new SimpleObject(oStoneSmall, 1, 2, 0, 4, 0, 2 * Math.PI, 1),
|
||||
new SimpleObject(oStoneLarge, 0, 1, 0, 4, 0, 2 * Math.PI, 4)
|
||||
],
|
||||
true,
|
||||
clRock),
|
||||
0,
|
||||
[avoidClasses(clHill, 4, clForest, 2, clPlayer, 20, clRock, 10)],
|
||||
scaleByMapSize(6,20), 100,
|
||||
[explorableArea]
|
||||
);
|
||||
[explorableArea]);
|
||||
|
||||
g_Map.log("Creating small stone mines");
|
||||
group = new SimpleGroup([new SimpleObject(oStoneSmall, 2,5, 1,3)], true, clRock);
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 2, 5, 1, 3)], true, clRock);
|
||||
createObjectGroupsByAreasDeprecated(group, 0,
|
||||
[avoidClasses(clHill, 4, clForest, 2, clPlayer, 20, clRock, 10)],
|
||||
scaleByMapSize(6,20), 100,
|
||||
|
||||
@@ -118,7 +118,7 @@ Engine.SetProgress(50);
|
||||
g_Map.log("Creating stone mines");
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)],
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)],
|
||||
[new SimpleObject(oStoneSmall, 2,5, 1,3)]
|
||||
],
|
||||
avoidClasses(clForest, 1, clPlayer, 20, clMetal, 10, clRock, 5, clHill, 2),
|
||||
|
||||
@@ -195,7 +195,7 @@ Engine.SetProgress(50);
|
||||
g_Map.log("Creating stone mines");
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)],
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)],
|
||||
[new SimpleObject(oStoneSmall, 2,5, 1,3)]
|
||||
],
|
||||
avoidClasses(clWater, 0, clForest, 1, clPlayer, 5, clRock, 10, clHill, 1),
|
||||
|
||||
@@ -253,7 +253,7 @@ createPatches(
|
||||
g_Map.log("Creating stone mines");
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)],
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)],
|
||||
[new SimpleObject(oStoneSmall, 2,5, 1,3)]
|
||||
],
|
||||
[avoidClasses(clForest, 1, clPlayer, 3, clRock, 10, clHill, 1, clHill2, 1), stayClasses(clLand, 2)],
|
||||
|
||||
@@ -164,7 +164,7 @@ Engine.SetProgress(55);
|
||||
g_Map.log("Creating stone mines");
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)],
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)],
|
||||
[new SimpleObject(oStoneSmall, 2,5, 1,3)]
|
||||
],
|
||||
[avoidClasses(clForest, 1, clPlayer, 20, clRock, 10, clHill, 1), stayClasses(clLand, 6)],
|
||||
|
||||
@@ -168,7 +168,7 @@ Engine.SetProgress(60);
|
||||
g_Map.log("Creating stone mines");
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)],
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)],
|
||||
[new SimpleObject(oStoneSmall, 2,5, 1,3)]
|
||||
],
|
||||
avoidClasses(clForest, 4, clPlayer, 15, clRock, 10, clWater, 4, clHill, 4),
|
||||
|
||||
@@ -206,7 +206,7 @@ for (let type of forestTypes)
|
||||
Engine.SetProgress(42);
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)], true, clRock);
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)], true, clRock);
|
||||
createObjectGroupsByAreasDeprecated(group, 0,
|
||||
[avoidClasses(clWater, 1, clForest, 1, clHill, 1, clPlayer, 5, clRock, 6)],
|
||||
scaleByMapSize(4,16), 200, areas
|
||||
|
||||
@@ -238,7 +238,7 @@ Engine.SetProgress(70);
|
||||
g_Map.log("Creating stone mines");
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4), new SimpleObject(oStoneLarge, 1, 1, 0, 4)],
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)],
|
||||
[new SimpleObject(oStoneSmall, 2, 5, 1, 3)]
|
||||
],
|
||||
avoidClasses(clWater, 4, clVolcano, 4, clPlayerIsland, 0, clBaseResource, 4, clForest, 3, clMetal, 4, clRock, 4),
|
||||
|
||||
@@ -164,7 +164,7 @@ Engine.SetProgress(80);
|
||||
g_Map.log("Creating stone mines");
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)],
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)],
|
||||
[new SimpleObject(oStoneSmall, 2,5, 1,3)]
|
||||
],
|
||||
avoidClasses(clWater, 2, clForest, 1, clPlayer, 20, clRock, 10, clHill, 2),
|
||||
|
||||
@@ -212,7 +212,7 @@ Engine.SetProgress(60);
|
||||
g_Map.log("Creating stone mines");
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)],
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)],
|
||||
[new SimpleObject(oStoneSmall, 2,5, 1,3)]
|
||||
],
|
||||
avoidClasses(clWater, 0, clForest, 1, clPlayer, 5, clRock, 10, clHill, 1),
|
||||
|
||||
@@ -233,7 +233,7 @@ Engine.SetProgress(55);
|
||||
g_Map.log("Creating stone mines");
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)],
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)],
|
||||
[new SimpleObject(oStoneSmall, 2,5, 1,3)]
|
||||
],
|
||||
avoidClasses(clWater, 3, clForest, 1, clPlayer, 20, clRock, 10, clHill, 1),
|
||||
|
||||
@@ -174,7 +174,7 @@ Engine.SetProgress(55);
|
||||
g_Map.log("Creating stone mines");
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)],
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)],
|
||||
[new SimpleObject(oStoneSmall, 2,5, 1,3)]
|
||||
],
|
||||
[avoidClasses(clForest, 1, clPlayer, 20, clRock, 10, clRiver, 1), stayClasses(clLand, 5)],
|
||||
|
||||
@@ -163,7 +163,7 @@ Engine.SetProgress(65);
|
||||
g_Map.log("Creating stone mines");
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)],
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)],
|
||||
[new SimpleObject(oStoneSmall, 2,5, 1,3)]
|
||||
],
|
||||
avoidClasses(clWater, 3, clForest, 1, clPlayer, 20, clRock, 10, clHill, 1),
|
||||
|
||||
@@ -331,8 +331,8 @@ Engine.SetProgress(70);
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
var minesStone = [
|
||||
[new SimpleObject(biomes.common.gaia.mines.stoneLarge, 1, 1, 0, 4)],
|
||||
[new SimpleObject(biomes.common.gaia.mines.stoneSmall, 2, 3, 1, 3)]
|
||||
[new SimpleObject(biomes.common.gaia.mines.stoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)],
|
||||
[new SimpleObject(biomes.common.gaia.mines.stoneSmall, 2, 3, 1, 3, 0, 2 * Math.PI, 1)]
|
||||
];
|
||||
for (let mine of minesStone)
|
||||
createObjectGroups(
|
||||
@@ -345,8 +345,8 @@ Engine.SetProgress(75);
|
||||
|
||||
g_Map.log("Creating metal mines");
|
||||
var minesMetal = [
|
||||
[new SimpleObject(biomes.common.gaia.mines.metalLarge, 1, 1, 0, 4)],
|
||||
[new SimpleObject(biomes.common.gaia.mines.metalSmall, 2, 3, 1, 3)]
|
||||
[new SimpleObject(biomes.common.gaia.mines.metalLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)],
|
||||
[new SimpleObject(biomes.common.gaia.mines.metalSmall, 2, 3, 1, 3, 0, 2 * Math.PI, 1)]
|
||||
];
|
||||
for (let mine of minesMetal)
|
||||
createObjectGroups(
|
||||
|
||||
@@ -219,7 +219,7 @@ for (let size of [scaleByMapSize(2, 32), scaleByMapSize(3, 48), scaleByMapSize(5
|
||||
Engine.SetProgress(80);
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)], true, clRock);
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
[avoidClasses(clWater, 0, clForest, 1, clPlayer, 20, clRock, 10, clHill, 2)],
|
||||
scaleByMapSize(4,16), 100
|
||||
|
||||
@@ -215,20 +215,18 @@ Engine.SetProgress(85);
|
||||
createBumps(avoidClasses(clPlayer, 20));
|
||||
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oMetalLarge, 1, 1, 3, (numPlayers * 2) + 1)]
|
||||
],
|
||||
[avoidClasses(clForest, 1, clPlayer, 40, clRock, 20), stayClasses(clLand, 4)],
|
||||
clMetal
|
||||
);
|
||||
[
|
||||
[new SimpleObject(oMetalLarge, 1, 1, 0, 4)]
|
||||
],
|
||||
[avoidClasses(clForest, 1, clPlayer, 40, clRock, 20), stayClasses(clLand, 4)],
|
||||
clMetal);
|
||||
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oStoneLarge, 1, 1, 3, (numPlayers * 2) + 1)], [new SimpleObject(oStoneSmall, 2, 2, 2, (numPlayers * 2) + 1)]
|
||||
],
|
||||
[avoidClasses(clForest, 1, clPlayer, 40, clMetal, 20), stayClasses(clLand, 4)],
|
||||
clRock
|
||||
);
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)]
|
||||
],
|
||||
[avoidClasses(clForest, 1, clPlayer, 40, clMetal, 20), stayClasses(clLand, 4)],
|
||||
clRock);
|
||||
|
||||
var [forestTrees, stragglerTrees] = getTreeCounts(...rBiomeTreeCount(1));
|
||||
createForests(
|
||||
|
||||
@@ -223,7 +223,7 @@ for (let size of [scaleByMapSize(2, 4), scaleByMapSize(3, 7), scaleByMapSize(5,
|
||||
Engine.SetProgress(55);
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4), new SimpleObject(oStoneLarge, 1, 1, 0, 4)], true, clRock);
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
[avoidClasses(clForest, 1, clPlayer, 0, clRock, 10, clHill, 1), stayClasses(clLand, 5)],
|
||||
scaleByMapSize(4,16), 100
|
||||
|
||||
@@ -198,7 +198,7 @@ for (let size of [scaleByMapSize(2, 4), scaleByMapSize(3, 7), scaleByMapSize(5,
|
||||
scaleByMapSize(20, 80));
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)], true, clRock);
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
avoidClasses(clWater, 3, clForest, 1, clPlayer, 20, clRock, 10, clHill, 1),
|
||||
scaleByMapSize(4,16), 100
|
||||
|
||||
@@ -163,7 +163,7 @@ Engine.SetProgress(55);
|
||||
g_Map.log("Creating stone mines");
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)],
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)],
|
||||
[new SimpleObject(oStoneSmall, 2,5, 1,3)]
|
||||
],
|
||||
avoidClasses(clWater, 3, clForest, 1, clPlayer, 20, clRock, 10, clHill, 1),
|
||||
|
||||
@@ -378,7 +378,7 @@ createObjectGroupsDeprecated(group, 0,
|
||||
Engine.SetProgress(50);
|
||||
|
||||
g_Map.log("Creating large stone mines");
|
||||
group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)], true, clRock);
|
||||
group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
avoidClasses(clWater, 1, clForest, 4, clPlayer, 40, clRock, 60, clMetal, 10, clCliff, 3),
|
||||
scaleByMapSize(4,16), 100
|
||||
|
||||
@@ -193,7 +193,7 @@ for (let size of [scaleByMapSize(2, 4), scaleByMapSize(3, 7), scaleByMapSize(5,
|
||||
Engine.SetProgress(80);
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4), new SimpleObject(oStoneLarge, 1, 1, 0, 4)], true, clRock);
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
[avoidClasses(clWater, 0, clForest, 1, clPlayer, 15, clRock, 10, clHill, 1)],
|
||||
scaleByMapSize(4,16), 100
|
||||
|
||||
@@ -117,12 +117,12 @@ Engine.SetProgress(55);
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)],
|
||||
[new SimpleObject(oStoneSmall, 2,5, 1,3)]
|
||||
],
|
||||
avoidClasses(clForest, 1, clPlayer, 20, clRock, 10, clHill, 1),
|
||||
clRock);
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)]
|
||||
[new SimpleObject(oStoneSmall, 2, 5, 1, 3, 0, 2 * Math.PI, 1)]
|
||||
],
|
||||
avoidClasses(clForest, 1, clPlayer, 20, clRock, 10, clHill, 1),
|
||||
clRock);
|
||||
|
||||
g_Map.log("Creating metal mines");
|
||||
createMines(
|
||||
@@ -168,7 +168,7 @@ createFood(
|
||||
3 * numPlayers,
|
||||
3 * numPlayers
|
||||
],
|
||||
avoidClasses(clForest, 0, clPlayer, 20, clHill, 1, clFood, 20),
|
||||
avoidClasses(clForest, 0, clPlayer, 20, clHill, 1, clMetal, 4, clRock, 4, clFood, 20),
|
||||
clFood);
|
||||
|
||||
Engine.SetProgress(75);
|
||||
@@ -180,14 +180,14 @@ createFood(
|
||||
[
|
||||
3 * numPlayers
|
||||
],
|
||||
avoidClasses(clForest, 0, clPlayer, 20, clHill, 1, clFood, 10),
|
||||
avoidClasses(clForest, 0, clPlayer, 20, clHill, 1, clMetal, 4, clRock, 4, clFood, 10),
|
||||
clFood);
|
||||
|
||||
Engine.SetProgress(85);
|
||||
|
||||
createStragglerTrees(
|
||||
[oTree1, oTree2, oTree4, oTree3],
|
||||
avoidClasses(clForest, 8, clHill, 1, clPlayer, 12, clMetal, 6, clRock, 6),
|
||||
avoidClasses(clForest, 8, clHill, 1, clPlayer, 12, clMetal, 6, clRock, 6, clFood, 1),
|
||||
clForest,
|
||||
stragglerTrees);
|
||||
|
||||
|
||||
@@ -233,7 +233,7 @@ for (let size of [scaleByMapSize(2, 32), scaleByMapSize(3, 48), scaleByMapSize(5
|
||||
Engine.SetProgress(46);
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)], true, clRock);
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
[avoidClasses(clForest, 1, clPlayer, 10, clRock, 10, clHill, 1), stayClasses(clLand, 7)],
|
||||
scaleByMapSize(4,16), 100
|
||||
|
||||
@@ -209,7 +209,7 @@ for (let size of [scaleByMapSize(2, 4), scaleByMapSize(3, 7), scaleByMapSize(5,
|
||||
scaleByMapSize(20, 80));
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4), new SimpleObject(oStoneLarge, 1, 1, 0, 4)], true, clRock);
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
avoidClasses(clWater, 3, clForest, 1, clPlayer, 20, clRock, 10, clHill, 1),
|
||||
scaleByMapSize(8,32), 100
|
||||
|
||||
@@ -182,35 +182,53 @@ for (let type of types)
|
||||
Engine.SetProgress(50);
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4), new SimpleObject(oStoneLarge, 1, 1, 0, 4), new RandomObject(aBushes, 2, 4, 0, 2)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
createObjectGroupsDeprecated(
|
||||
new SimpleGroup(
|
||||
[
|
||||
new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1),
|
||||
new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4),
|
||||
new RandomObject(aBushes, 2, 4, 0, 2)
|
||||
],
|
||||
true,
|
||||
clRock),
|
||||
0,
|
||||
[avoidClasses(clForest, 1, clPlayer, 10, clRock, 10, clHill, 1, clCP, 1)],
|
||||
scaleByMapSize(2,8), 100
|
||||
);
|
||||
scaleByMapSize(2,8),
|
||||
100);
|
||||
|
||||
g_Map.log("Creating small stone quarries");
|
||||
group = new SimpleGroup([new SimpleObject(oStoneSmall, 2,5, 1,3), new RandomObject(aBushes, 2,4, 0,2)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
createObjectGroupsDeprecated(
|
||||
new SimpleGroup([new SimpleObject(oStoneSmall, 2, 5, 1, 3), new RandomObject(aBushes, 2, 4, 0, 2)], true, clRock),
|
||||
0,
|
||||
[avoidClasses(clForest, 1, clPlayer, 10, clRock, 10, clHill, 1, clCP, 1)],
|
||||
scaleByMapSize(2,8), 100
|
||||
);
|
||||
scaleByMapSize(2, 8),
|
||||
100);
|
||||
|
||||
g_Map.log("Creating metal mines");
|
||||
group = new SimpleGroup([new SimpleObject(oMetalLarge, 1,1, 0,4), new RandomObject(aBushes, 2,4, 0,2)], true, clMetal);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
createObjectGroupsDeprecated(
|
||||
new SimpleGroup([new SimpleObject(oMetalLarge, 1, 1, 0, 4), new RandomObject(aBushes, 2, 4, 0, 2)], true, clMetal),
|
||||
0,
|
||||
[avoidClasses(clForest, 1, clPlayer, 10, clMetal, 10, clRock, 5, clHill, 1, clCP, 1)],
|
||||
scaleByMapSize(2,8), 100
|
||||
);
|
||||
scaleByMapSize(2,8),
|
||||
100);
|
||||
|
||||
g_Map.log("Creating centeral stone mines");
|
||||
group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4), new RandomObject(aBushes, 2,4, 0,2)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
createObjectGroupsDeprecated(
|
||||
new SimpleGroup(
|
||||
[
|
||||
new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1),
|
||||
new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4),
|
||||
new RandomObject(aBushes, 2,4, 0,2)
|
||||
],
|
||||
true,
|
||||
clRock),
|
||||
0,
|
||||
stayClasses(clCP, 6),
|
||||
5*scaleByMapSize(5,30), 50
|
||||
);
|
||||
5*scaleByMapSize(5, 30),
|
||||
50);
|
||||
|
||||
g_Map.log("Creating small stone quarries");
|
||||
group = new SimpleGroup([new SimpleObject(oStoneSmall, 2,5, 1,3), new RandomObject(aBushes, 2,4, 0,2)], true, clRock);
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 2, 5, 1, 3), new RandomObject(aBushes, 2, 4, 0, 2)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
stayClasses(clCP, 6),
|
||||
5*scaleByMapSize(5,30), 50
|
||||
|
||||
@@ -193,7 +193,7 @@ createAreas(
|
||||
|
||||
g_Map.log("Creating cyprus mines");
|
||||
var mines = [
|
||||
new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4), new SimpleObject(oStoneLarge, 1, 1, 0, 4)], true, clRock),
|
||||
new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)], true, clRock),
|
||||
new SimpleGroup([new SimpleObject(oMetalLarge, 1, 1, 0, 4)], true, clMetal),
|
||||
new SimpleGroup([new SimpleObject(oStoneSmall, 2, 5, 1, 3)], true, clRock)
|
||||
];
|
||||
@@ -208,7 +208,7 @@ for (let mine of mines)
|
||||
scaleByMapSize(4, 16));
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)], true, clRock);
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
avoidClasses(clForest, 1, clPlayer, 20, clRock, 10, clWater, 3, clHill, 1),
|
||||
scaleByMapSize(4,16), 100
|
||||
|
||||
@@ -151,7 +151,7 @@ Engine.SetProgress(70);
|
||||
g_Map.log("Creating stone mines");
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)],
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)],
|
||||
[new SimpleObject(oStoneSmall, 2,5, 1,3)]
|
||||
],
|
||||
avoidClasses(clWater, 3, clPlayer, 20, clRock, 18, clHill, 2),
|
||||
|
||||
@@ -398,7 +398,7 @@ createObjectGroupsDeprecated(group, 0, avoidClasses(clWater, 2, clPlayer, 1, clP
|
||||
Engine.SetProgress(80);
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)], true, clRock);
|
||||
group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0, avoidClasses(clWater, 3, clForest, 1, clPlayer, 20, clRock, 8, clPyrenneans, 1), scaleByMapSize(4,16), 100 );
|
||||
|
||||
g_Map.log("Creating small stone quarries");
|
||||
|
||||
@@ -145,7 +145,7 @@ for (let size of [scaleByMapSize(3, 6), scaleByMapSize(5, 10), scaleByMapSize(8,
|
||||
scaleByMapSize(15, 45));
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4), new SimpleObject(oStoneLarge, 1, 1, 0, 4)], true, clRock);
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
[avoidClasses(clWater, 0, clForest, 1, clPlayer, 20, clRock, 10)],
|
||||
scaleByMapSize(4,16), 100
|
||||
|
||||
@@ -189,7 +189,7 @@ Engine.SetProgress(55);
|
||||
g_Map.log("Creating stone mines");
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)],
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)],
|
||||
[new SimpleObject(oStoneSmall, 2,5, 1,3)]
|
||||
],
|
||||
avoidClasses(clWater, 3, clForest, 1, clPlayer, 20, clRock, 10, clHill, 1),
|
||||
|
||||
@@ -34,22 +34,28 @@ SimpleGroup.prototype.setCenterPosition = function(position)
|
||||
this.centerPosition = deepfreeze(position.clone().round());
|
||||
};
|
||||
|
||||
SimpleGroup.prototype.place = function(player, constraint)
|
||||
SimpleGroup.prototype.place = function(playerID, constraint)
|
||||
{
|
||||
let entitySpecsResult = [];
|
||||
let avoidPositions = this.avoidSelf ? [] : undefined;
|
||||
|
||||
// Test if the Objects can be placed at the given location
|
||||
// Place none of them if one can't be placed.
|
||||
for (let object of this.objects)
|
||||
{
|
||||
let entitySpecs = object.place(this.centerPosition, player, this.avoidSelf, constraint);
|
||||
let entitySpecs = object.place(this.centerPosition, playerID, avoidPositions, constraint, 20);
|
||||
|
||||
if (!entitySpecs)
|
||||
return undefined;
|
||||
|
||||
entitySpecsResult = entitySpecsResult.concat(entitySpecs);
|
||||
}
|
||||
|
||||
if (this.avoidSelf)
|
||||
avoidPositions = avoidPositions.concat(entitySpecs.map(entitySpec => ({
|
||||
"position": entitySpec.position,
|
||||
"distance": object.avoidDistance
|
||||
})));
|
||||
}
|
||||
|
||||
// Create and place entities as specified
|
||||
let entities = [];
|
||||
@@ -79,7 +85,7 @@ RandomGroup.prototype.setCenterPosition = function(position)
|
||||
this.simpleGroup.setCenterPosition(position);
|
||||
};
|
||||
|
||||
RandomGroup.prototype.place = function(player, constraint)
|
||||
RandomGroup.prototype.place = function(playerID, constraint)
|
||||
{
|
||||
return this.simpleGroup.place(player, constraint);
|
||||
return this.simpleGroup.place(playerID, constraint);
|
||||
};
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
/**
|
||||
* The SimpleObject attempts to find locations for a random amount of entities with a random distance to the given center.
|
||||
*/
|
||||
function SimpleObject(templateName, minCount, maxCount, minDistance, maxDistance, minAngle = 0, maxAngle = 2 * Math.PI)
|
||||
function SimpleObject(templateName, minCount, maxCount, minDistance, maxDistance, minAngle = 0, maxAngle = 2 * Math.PI, avoidDistance = 1)
|
||||
{
|
||||
this.templateName = templateName;
|
||||
this.minCount = minCount;
|
||||
@@ -14,6 +14,7 @@ function SimpleObject(templateName, minCount, maxCount, minDistance, maxDistance
|
||||
this.maxDistance = maxDistance;
|
||||
this.minAngle = minAngle;
|
||||
this.maxAngle = maxAngle;
|
||||
this.avoidDistance = avoidDistance;
|
||||
|
||||
if (minCount > maxCount)
|
||||
throw new Error("SimpleObject: minCount should be less than or equal to maxCount");
|
||||
@@ -25,7 +26,7 @@ function SimpleObject(templateName, minCount, maxCount, minDistance, maxDistance
|
||||
throw new Error("SimpleObject: minAngle should be less than or equal to maxAngle");
|
||||
}
|
||||
|
||||
SimpleObject.prototype.place = function(centerPosition, playerID, avoidSelf, constraint, maxRetries = 20)
|
||||
SimpleObject.prototype.place = function(centerPosition, playerID, avoidPositions, constraint, maxRetries)
|
||||
{
|
||||
let entitySpecs = [];
|
||||
let numRetries = 0;
|
||||
@@ -40,7 +41,9 @@ SimpleObject.prototype.place = function(centerPosition, playerID, avoidSelf, con
|
||||
let position = Vector2D.sum([centerPosition, new Vector2D(0.5, 0.5), new Vector2D(distance, 0).rotate(-angle)]);
|
||||
|
||||
if (validTile(position) &&
|
||||
(!avoidSelf || entitySpecs.every(entSpec => entSpec.position.distanceTo(position) >= 1)) &&
|
||||
(!avoidPositions ||
|
||||
entitySpecs.every(entSpec => entSpec.position.distanceTo(position) >= this.avoidDistance) &&
|
||||
avoidPositions.every(avoid => avoid.position.distanceTo(position) >= Math.max(this.avoidDistance, avoid.distance))) &&
|
||||
constraint.allows(position.clone().floor()))
|
||||
{
|
||||
entitySpecs.push({
|
||||
@@ -66,7 +69,7 @@ function RandomObject(templateNames, minCount, maxCount, minDistance, maxDistanc
|
||||
this.simpleObject = new SimpleObject(pickRandom(templateNames), minCount, maxCount, minDistance, maxDistance, minAngle, maxAngle);
|
||||
}
|
||||
|
||||
RandomObject.prototype.place = function(centerPosition, player, avoidSelf, constraint, maxRetries = 20)
|
||||
RandomObject.prototype.place = function(centerPosition, player, avoidPositions, constraint, maxRetries)
|
||||
{
|
||||
return this.simpleObject.place(centerPosition, player, avoidSelf, constraint, maxRetries);
|
||||
return this.simpleObject.place(centerPosition, player, avoidPositions, constraint, maxRetries);
|
||||
};
|
||||
|
||||
@@ -130,7 +130,7 @@ for (let size of [scaleByMapSize(3, 48), scaleByMapSize(5, 84), scaleByMapSize(8
|
||||
Engine.SetProgress(60);
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)], true, clRock);
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
avoidClasses(clForest, 1, clPlayer, 26, clRock, 10, clWater, 1),
|
||||
2*scaleByMapSize(4,16), 100
|
||||
|
||||
@@ -212,7 +212,7 @@ for (let size of [scaleByMapSize(2, 32), scaleByMapSize(3, 48), scaleByMapSize(5
|
||||
Engine.SetProgress(55);
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4), new SimpleObject(oStoneLarge, 1, 1, 0, 4)], true, clRock);
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
avoidClasses(clWater, 3, clForest, 1, clPlayer, 20, clRock, 10, clHill, 1),
|
||||
scaleByMapSize(4,16), 100
|
||||
|
||||
@@ -205,7 +205,7 @@ g_Map.log("Creating stone mines");
|
||||
// Allow mines on the bumps at the river
|
||||
createMines(
|
||||
[
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4), new SimpleObject(oStoneLarge, 1, 1, 0, 4)],
|
||||
[new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)],
|
||||
[new SimpleObject(oStoneSmall, 2, 5, 1, 3)]
|
||||
],
|
||||
avoidClasses(clForest, 4, clWater, 1, clPlayer, 20, clRock, 15, clHill, 1),
|
||||
|
||||
@@ -289,7 +289,7 @@ for (let type of types)
|
||||
Engine.SetProgress(55);
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)], true, clRock);
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
[avoidClasses(clForest, 1, clPlayer, 10, clRock, 10), stayClasses(clLand, 5)],
|
||||
5*scaleByMapSize(4,16), 100
|
||||
|
||||
@@ -168,14 +168,22 @@ for (let size of [scaleByMapSize(6, 30), scaleByMapSize(10, 50), scaleByMapSize(
|
||||
Engine.SetProgress(70);
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4), new SimpleObject(oStoneLarge, 1, 1, 0,4), new RandomObject(aBushes, 2, 4, 0, 2)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
createObjectGroupsDeprecated(
|
||||
new SimpleGroup(
|
||||
[
|
||||
new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1),
|
||||
new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4),
|
||||
new RandomObject(aBushes, 2, 4, 0, 2)
|
||||
],
|
||||
true,
|
||||
clRock),
|
||||
0,
|
||||
[avoidClasses(clForest, 1, clPlayer, 10, clRock, 10, clHill, 1, clGrass, 1)],
|
||||
scaleByMapSize(2,8), 100
|
||||
);
|
||||
scaleByMapSize(2, 8),
|
||||
100);
|
||||
|
||||
g_Map.log("Creating small stone quarries");
|
||||
group = new SimpleGroup([new SimpleObject(oStoneSmall, 2,5, 1,3), new RandomObject(aBushes, 2,4, 0,2)], true, clRock);
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 2,5, 1,3), new RandomObject(aBushes, 2,4, 0,2)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
[avoidClasses(clForest, 1, clPlayer, 10, clRock, 10, clHill, 1, clGrass, 1)],
|
||||
scaleByMapSize(2,8), 100
|
||||
|
||||
@@ -256,7 +256,7 @@ for (let size of [scaleByMapSize(3, 48), scaleByMapSize(5, 84), scaleByMapSize(8
|
||||
Engine.SetProgress(60);
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4), new SimpleObject(oStoneLarge, 1, 1, 0, 4)], true, clRock);
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
avoidClasses(clForest, 1, clPlayer, 20, clRock, 10, clWater, 1, clPond, 1),
|
||||
scaleByMapSize(4,16), 100
|
||||
@@ -277,7 +277,7 @@ createObjectGroupsDeprecated(group, 0,
|
||||
);
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)], true, clRock);
|
||||
group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
[avoidClasses(clForest, 1, clPlayer, 20, clRock, 10, clWater, 1, clPond, 1), stayClasses(clDesert, 3)],
|
||||
scaleByMapSize(6,20), 100
|
||||
|
||||
@@ -894,7 +894,7 @@ function createUnknownObjects()
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
createObjectGroupsDeprecated(
|
||||
new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4), new SimpleObject(oStoneLarge, 1, 1, 0, 4)], true, clRock),
|
||||
new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)], true, clRock),
|
||||
0,
|
||||
[avoidClasses(clForest, 1, clPlayer, 10, clRock, 10, clHill, 2), stayClasses(clLand, 3)],
|
||||
randIntInclusive(scaleByMapSize(2, 9), scaleByMapSize(9, 40)),
|
||||
|
||||
@@ -128,7 +128,7 @@ for (let size of [scaleByMapSize(3, 48), scaleByMapSize(5, 84), scaleByMapSize(8
|
||||
);
|
||||
|
||||
g_Map.log("Creating stone mines");
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4), new SimpleObject(oStoneLarge, 1, 1, 0, 4)], true, clRock);
|
||||
var group = new SimpleGroup([new SimpleObject(oStoneSmall, 0, 2, 0, 4, 0, 2 * Math.PI, 1), new SimpleObject(oStoneLarge, 1, 1, 0, 4, 0, 2 * Math.PI, 4)], true, clRock);
|
||||
createObjectGroupsDeprecated(group, 0,
|
||||
avoidClasses(clForest, 1, clPlayer, 10, clRock, 10, clHill, 1),
|
||||
scaleByMapSize(4,16), 100
|
||||
|
||||
Reference in New Issue
Block a user