Invincible women on survival of the fittest to prevent women fights and cheap tower...
[0ad.git] / binaries / data / mods / public / maps / random / stronghold.js
blob2dad0edd57cc4e066c6bea69f36ea8df4013f673
1 RMS.LoadLibrary("rmgen");
2 RMS.LoadLibrary("rmgen2");
4 InitMap();
6 randomizeBiome();
7 initMapSettings();
8 initTileClasses();
10 resetTerrain(g_Terrains.mainTerrain, g_TileClasses.land, 30);
11 RMS.SetProgress(20);
13 addBases("stronghold", randFloat(0.2, 0.35), randFloat(0.05, 0.1));
14 RMS.SetProgress(30);
16 addElements(shuffleArray([
17         {
18                 "func": addBluffs,
19                 "avoid": [
20                         g_TileClasses.bluff, 20,
21                         g_TileClasses.hill, 5,
22                         g_TileClasses.mountain, 20,
23                         g_TileClasses.plateau, 20,
24                         g_TileClasses.player, 30,
25                         g_TileClasses.valley, 5,
26                         g_TileClasses.water, 7
27                 ],
28                 "sizes": ["big", "huge"],
29                 "mixes": g_AllMixes,
30                 "amounts": g_AllAmounts
31         },
32         {
33                 "func": addHills,
34                 "avoid": [
35                         g_TileClasses.bluff, 5,
36                         g_TileClasses.hill, 15,
37                         g_TileClasses.mountain, 2,
38                         g_TileClasses.plateau, 2,
39                         g_TileClasses.player, 20,
40                         g_TileClasses.valley, 2,
41                         g_TileClasses.water, 2
42                 ],
43                 "sizes": ["normal", "big"],
44                 "mixes": g_AllMixes,
45                 "amounts": g_AllAmounts
46         },
47         {
48                 "func": addMountains,
49                 "avoid": [
50                         g_TileClasses.bluff, 20,
51                         g_TileClasses.mountain, 25,
52                         g_TileClasses.plateau, 20,
53                         g_TileClasses.player, 20,
54                         g_TileClasses.valley, 10,
55                         g_TileClasses.water, 15
56                 ],
57                 "sizes": ["big", "huge"],
58                 "mixes": g_AllMixes,
59                 "amounts": g_AllAmounts
60         },
61         {
62                 "func": addPlateaus,
63                 "avoid": [
64                         g_TileClasses.bluff, 20,
65                         g_TileClasses.mountain, 25,
66                         g_TileClasses.plateau, 25,
67                         g_TileClasses.player, 40,
68                         g_TileClasses.valley, 10,
69                         g_TileClasses.water, 15
70                 ],
71                 "sizes": ["big", "huge"],
72                 "mixes": g_AllMixes,
73                 "amounts": g_AllAmounts
74         },
75         {
76                 "func": addValleys,
77                 "avoid": [
78                         g_TileClasses.bluff, 5,
79                         g_TileClasses.hill, 5,
80                         g_TileClasses.mountain, 25,
81                         g_TileClasses.plateau, 10,
82                         g_TileClasses.player, 40,
83                         g_TileClasses.valley, 15,
84                         g_TileClasses.water, 10
85                 ],
86                 "sizes": ["normal", "big"],
87                 "mixes": g_AllMixes,
88                 "amounts": g_AllAmounts
89         }
90 ]));
91 RMS.SetProgress(60);
93 addElements([
94         {
95                 "func": addLayeredPatches,
96                 "avoid": [
97                         g_TileClasses.bluff, 2,
98                         g_TileClasses.dirt, 5,
99                         g_TileClasses.forest, 2,
100                         g_TileClasses.mountain, 2,
101                         g_TileClasses.plateau, 2,
102                         g_TileClasses.player, 12,
103                         g_TileClasses.valley, 5,
104                         g_TileClasses.water, 3
105                 ],
106                 "sizes": ["normal"],
107                 "mixes": ["normal"],
108                 "amounts": ["normal"]
109         },
110         {
111                 "func": addDecoration,
112                 "avoid": [
113                         g_TileClasses.bluff, 2,
114                         g_TileClasses.forest, 2,
115                         g_TileClasses.mountain, 2,
116                         g_TileClasses.plateau, 2,
117                         g_TileClasses.player, 12,
118                         g_TileClasses.water, 3
119                 ],
120                 "sizes": ["normal"],
121                 "mixes": ["normal"],
122                 "amounts": ["normal"]
123         }
125 RMS.SetProgress(70);
127 addElements(shuffleArray([
128         {
129                 "func": addMetal,
130                 "avoid": [
131                         g_TileClasses.berries, 5,
132                         g_TileClasses.bluff, 5,
133                         g_TileClasses.forest, 3,
134                         g_TileClasses.mountain, 2,
135                         g_TileClasses.plateau, 2,
136                         g_TileClasses.player, 30,
137                         g_TileClasses.rock, 10,
138                         g_TileClasses.metal, 20,
139                         g_TileClasses.water, 3
140                 ],
141                 "sizes": ["normal"],
142                 "mixes": ["same"],
143                 "amounts": g_AllAmounts
144         },
145         {
146                 "func": addStone,
147                 "avoid": [
148                         g_TileClasses.berries, 5,
149                         g_TileClasses.bluff, 5,
150                         g_TileClasses.forest, 3,
151                         g_TileClasses.mountain, 2,
152                         g_TileClasses.plateau, 2,
153                         g_TileClasses.player, 30,
154                         g_TileClasses.rock, 20,
155                         g_TileClasses.metal, 10,
156                         g_TileClasses.water, 3
157                 ],
158                 "sizes": ["normal"],
159                 "mixes": ["same"],
160                 "amounts": g_AllAmounts
161         },
162         {
163                 "func": addForests,
164                 "avoid": [
165                         g_TileClasses.berries,
166                         5, g_TileClasses.bluff,
167                         5, g_TileClasses.forest,
168                         18, g_TileClasses.metal, 3,
169                         g_TileClasses.mountain, 5,
170                         g_TileClasses.plateau, 5,
171                         g_TileClasses.player, 20,
172                         g_TileClasses.rock, 3,
173                         g_TileClasses.water, 2
174                 ],
175                 "sizes": g_AllSizes,
176                 "mixes": g_AllMixes,
177                 "amounts": ["few", "normal", "many", "tons"]
178         }
179 ]));
180 RMS.SetProgress(80);
182 addElements(shuffleArray([
183         {
184                 "func": addBerries,
185                 "avoid": [
186                         g_TileClasses.berries, 30,
187                         g_TileClasses.bluff, 5,
188                         g_TileClasses.forest, 5,
189                         g_TileClasses.metal, 10,
190                         g_TileClasses.mountain, 2,
191                         g_TileClasses.plateau, 2,
192                         g_TileClasses.player, 20,
193                         g_TileClasses.rock, 10,
194                         g_TileClasses.spine, 2,
195                         g_TileClasses.water, 3
196                 ],
197                 "sizes": g_AllSizes,
198                 "mixes": g_AllMixes,
199                 "amounts": g_AllAmounts
200         },
201         {
202                 "func": addAnimals,
203                 "avoid": [
204                         g_TileClasses.animals, 20,
205                         g_TileClasses.bluff, 5,
206                         g_TileClasses.forest, 2,
207                         g_TileClasses.metal, 2,
208                         g_TileClasses.mountain, 1,
209                         g_TileClasses.plateau, 2,
210                         g_TileClasses.player, 20,
211                         g_TileClasses.rock, 2,
212                         g_TileClasses.spine, 2,
213                         g_TileClasses.water, 3
214                 ],
215                 "sizes": g_AllSizes,
216                 "mixes": g_AllMixes,
217                 "amounts": g_AllAmounts
218         },
219         {
220                 "func": addStragglerTrees,
221                 "avoid": [
222                         g_TileClasses.berries, 5,
223                         g_TileClasses.bluff, 5,
224                         g_TileClasses.forest, 7,
225                         g_TileClasses.metal, 2,
226                         g_TileClasses.mountain, 1,
227                         g_TileClasses.plateau, 2,
228                         g_TileClasses.player, 12,
229                         g_TileClasses.rock, 2,
230                         g_TileClasses.spine, 2,
231                         g_TileClasses.water, 5
232                 ],
233                 "sizes": g_AllSizes,
234                 "mixes": g_AllMixes,
235                 "amounts": g_AllAmounts
236         }
237 ]));
238 RMS.SetProgress(90);
240 ExportMap();