1 Engine.LoadLibrary("rmgen");
2 Engine.LoadLibrary("rmgen2");
3 Engine.LoadLibrary("rmbiome");
9 Engine.SetProgress(10);
11 // Pick a random elevation with a bias towards lower elevations
12 var randElevation = randIntInclusive(0, 29);
13 if (randElevation < 25)
14 randElevation = randIntInclusive(1, 4);
16 resetTerrain(g_Terrains.mainTerrain, g_TileClasses.land, randElevation);
17 Engine.SetProgress(20);
19 const startPositions = randomStartingPositionPattern(getTeamsArray());
20 addBases(startPositions.setup, startPositions.distance, startPositions.separation, randFloat(0, 2 * Math.PI));
21 Engine.SetProgress(40);
26 "baseHeight": randElevation,
28 g_TileClasses.bluff, 20,
29 g_TileClasses.hill, 10,
30 g_TileClasses.mountain, 20,
31 g_TileClasses.plateau, 15,
32 g_TileClasses.player, 30,
33 g_TileClasses.valley, 5,
34 g_TileClasses.water, 7
38 "amounts": g_AllAmounts
43 g_TileClasses.bluff, 5,
44 g_TileClasses.hill, 15,
45 g_TileClasses.mountain, 2,
46 g_TileClasses.plateau, 15,
47 g_TileClasses.player, 20,
48 g_TileClasses.valley, 2,
49 g_TileClasses.water, 2
53 "amounts": g_AllAmounts
58 g_TileClasses.bluff, 20,
59 g_TileClasses.mountain, 25,
60 g_TileClasses.plateau, 15,
61 g_TileClasses.player, 20,
62 g_TileClasses.valley, 10,
63 g_TileClasses.water, 15
67 "amounts": g_AllAmounts
72 g_TileClasses.bluff, 20,
73 g_TileClasses.mountain, 25,
74 g_TileClasses.plateau, 25,
75 g_TileClasses.plateau, 25,
76 g_TileClasses.player, 40,
77 g_TileClasses.valley, 10,
78 g_TileClasses.water, 15
82 "amounts": g_AllAmounts
86 if (randElevation < 4)
90 g_TileClasses.bluff, 7,
91 g_TileClasses.hill, 2,
92 g_TileClasses.mountain, 15,
93 g_TileClasses.plateau, 10,
94 g_TileClasses.player, 20,
95 g_TileClasses.valley, 10,
96 g_TileClasses.water, 25
100 "amounts": g_AllAmounts
103 if (randElevation > 20)
106 "baseHeight": randElevation,
108 g_TileClasses.bluff, 5,
109 g_TileClasses.hill, 5,
110 g_TileClasses.mountain, 25,
111 g_TileClasses.plateau, 20,
112 g_TileClasses.player, 40,
113 g_TileClasses.valley, 15,
114 g_TileClasses.water, 10
118 "amounts": g_AllAmounts
121 addElements(shuffleArray(features));
122 Engine.SetProgress(50);
126 "func": addLayeredPatches,
128 g_TileClasses.bluff, 2,
129 g_TileClasses.dirt, 5,
130 g_TileClasses.forest, 2,
131 g_TileClasses.mountain, 2,
132 g_TileClasses.plateau, 2,
133 g_TileClasses.player, 12,
134 g_TileClasses.water, 3
138 "amounts": ["normal"]
141 "func": addDecoration,
143 g_TileClasses.bluff, 2,
144 g_TileClasses.forest, 2,
145 g_TileClasses.mountain, 2,
146 g_TileClasses.plateau, 2,
147 g_TileClasses.player, 12,
148 g_TileClasses.water, 3
152 "amounts": ["normal"]
155 Engine.SetProgress(60);
157 addElements(shuffleArray([
161 g_TileClasses.berries, 5,
162 g_TileClasses.bluff, 5,
163 g_TileClasses.forest, 3,
164 g_TileClasses.mountain, 2,
165 g_TileClasses.plateau, 2,
166 g_TileClasses.player, 30,
167 g_TileClasses.rock, 10,
168 g_TileClasses.metal, 20,
169 g_TileClasses.water, 3
173 "amounts": g_AllAmounts
178 g_TileClasses.berries, 5,
179 g_TileClasses.bluff, 5,
180 g_TileClasses.forest, 3,
181 g_TileClasses.mountain, 2,
182 g_TileClasses.plateau, 2,
183 g_TileClasses.player, 30,
184 g_TileClasses.rock, 20,
185 g_TileClasses.metal, 10,
186 g_TileClasses.water, 3
190 "amounts": g_AllAmounts
195 g_TileClasses.berries, 5,
196 g_TileClasses.bluff, 5,
197 g_TileClasses.forest, 18,
198 g_TileClasses.metal, 3,
199 g_TileClasses.mountain, 5,
200 g_TileClasses.plateau, 5,
201 g_TileClasses.player, 20,
202 g_TileClasses.rock, 3,
203 g_TileClasses.water, 2
207 "amounts": ["few", "normal", "many", "tons"]
210 Engine.SetProgress(70);
212 addElements(shuffleArray([
216 g_TileClasses.berries, 30,
217 g_TileClasses.bluff, 5,
218 g_TileClasses.forest, 5,
219 g_TileClasses.metal, 10,
220 g_TileClasses.mountain, 2,
221 g_TileClasses.plateau, 2,
222 g_TileClasses.player, 20,
223 g_TileClasses.rock, 10,
224 g_TileClasses.water, 3
228 "amounts": g_AllAmounts
233 g_TileClasses.animals, 20,
234 g_TileClasses.bluff, 5,
235 g_TileClasses.forest, 2,
236 g_TileClasses.metal, 2,
237 g_TileClasses.mountain, 1,
238 g_TileClasses.plateau, 2,
239 g_TileClasses.player, 20,
240 g_TileClasses.rock, 2,
241 g_TileClasses.water, 3
245 "amounts": g_AllAmounts
248 "func": addStragglerTrees,
250 g_TileClasses.berries, 5,
251 g_TileClasses.bluff, 5,
252 g_TileClasses.forest, 7,
253 g_TileClasses.metal, 2,
254 g_TileClasses.mountain, 1,
255 g_TileClasses.plateau, 2,
256 g_TileClasses.player, 12,
257 g_TileClasses.rock, 2,
258 g_TileClasses.water, 5
262 "amounts": g_AllAmounts
265 Engine.SetProgress(90);
268 g_TileClasses.player,
270 g_TileClasses.bluff, 4,
271 g_TileClasses.water, 4,
272 g_TileClasses.forest, 1,
273 g_TileClasses.metal, 4,
274 g_TileClasses.rock, 4,
275 g_TileClasses.mountain, 4,
276 g_TileClasses.plateau, 4,
277 g_TileClasses.animals, 2));