Invincible women on survival of the fittest to prevent women fights and cheap tower...
[0ad.git] / binaries / data / mods / public / maps / random / ambush.js
blob76313e542f11ee13d0cca19708cb869104a5e895
1 RMS.LoadLibrary("rmgen");
2 RMS.LoadLibrary("rmgen2");
4 InitMap();
6 randomizeBiome();
7 initMapSettings();
8 initTileClasses();
10 resetTerrain(g_Terrains.mainTerrain, g_TileClasses.land, 2);
11 RMS.SetProgress(10);
13 var pos = randomStartingPositionPattern();
14 addBases(pos.setup, pos.distance, pos.separation);
15 RMS.SetProgress(20);
17 addElements([
18         {
19                 "func": addBluffs,
20                 "avoid": [
21                         g_TileClasses.bluff, 12,
22                         g_TileClasses.hill, 5,
23                         g_TileClasses.player, 35
24                 ],
25                 "sizes": ["normal", "big", "huge"],
26                 "mixes": ["same"],
27                 "amounts": ["tons"]
28         },
29         {
30                 "func": addHills,
31                 "avoid": [
32                         g_TileClasses.bluff, 5,
33                         g_TileClasses.hill, 15,
34                         g_TileClasses.player, 20
35                 ],
36                 "sizes": ["normal", "big"],
37                 "mixes": ["normal"],
38                 "amounts": ["tons"]
39         }
40 ]);
41 RMS.SetProgress(30);
43 addElements([
44         {
45                 "func": addLayeredPatches,
46                 "avoid": [
47                         g_TileClasses.bluff, 2,
48                         g_TileClasses.dirt, 5,
49                         g_TileClasses.forest, 2,
50                         g_TileClasses.mountain, 2,
51                         g_TileClasses.player, 12,
52                         g_TileClasses.water, 3
53                 ],
54                 "sizes": ["normal"],
55                 "mixes": ["normal"],
56                 "amounts": ["normal"]
57         },
58         {
59                 "func": addDecoration,
60                 "avoid": [
61                         g_TileClasses.bluff, 2,
62                         g_TileClasses.forest, 2,
63                         g_TileClasses.mountain, 2,
64                         g_TileClasses.player, 12,
65                         g_TileClasses.water, 3
66                 ],
67                 "sizes": ["normal"],
68                 "mixes": ["normal"],
69                 "amounts": ["normal"]
70         }
71 ]);
72 RMS.SetProgress(50);
74 addElements(shuffleArray([
75         {
76                 "func": addMetal,
77                 "avoid": [
78                         g_TileClasses.berries, 5,
79                         g_TileClasses.forest, 3,
80                         g_TileClasses.mountain, 2,
81                         g_TileClasses.player, 30,
82                         g_TileClasses.rock, 10,
83                         g_TileClasses.metal, 20,
84                         g_TileClasses.water, 3
85                 ],
86                 "stay": [g_TileClasses.bluff, 5],
87                 "sizes": ["normal"],
88                 "mixes": ["same"],
89                 "amounts": ["tons"]
90         },
91         {
92                 "func": addStone,
93                 "avoid": [
94                         g_TileClasses.berries, 5,
95                         g_TileClasses.forest, 3,
96                         g_TileClasses.mountain, 2,
97                         g_TileClasses.player, 30,
98                         g_TileClasses.rock, 20,
99                         g_TileClasses.metal, 10,
100                         g_TileClasses.water, 3
101                 ],
102                 "stay": [g_TileClasses.bluff, 5],
103                 "sizes": ["normal"],
104                 "mixes": ["same"],
105                 "amounts": ["tons"]
106         },
107         // Forests on bluffs
108         {
109                 "func": addForests,
110                 "avoid": [
111                         g_TileClasses.forest, 6,
112                         g_TileClasses.metal, 3,
113                         g_TileClasses.mountain, 5,
114                         g_TileClasses.player, 20,
115                         g_TileClasses.rock, 3,
116                         g_TileClasses.water, 2
117                 ],
118                 "stay": [g_TileClasses.bluff, 5],
119                 "sizes": ["big"],
120                 "mixes": ["normal"],
121                 "amounts": ["tons"]
122         },
123         // Forests on mainland
124         {
125                 "func": addForests,
126                 "avoid": [
127                         g_TileClasses.bluff, 10,
128                         g_TileClasses.forest, 10,
129                         g_TileClasses.metal, 3,
130                         g_TileClasses.mountain, 5,
131                         g_TileClasses.player, 20,
132                         g_TileClasses.rock, 3,
133                         g_TileClasses.water, 2
134                 ],
135                 "sizes": ["small"],
136                 "mixes": ["same"],
137                 "amounts": ["normal"]
138         }
139 ]));
140 RMS.SetProgress(70);
142 addElements(shuffleArray([
143         {
144                 "func": addBerries,
145                 "avoid": [
146                         g_TileClasses.bluff, 5,
147                         g_TileClasses.forest, 5,
148                         g_TileClasses.metal, 10,
149                         g_TileClasses.mountain, 2,
150                         g_TileClasses.player, 20,
151                         g_TileClasses.rock, 10,
152                         g_TileClasses.water, 3
153                 ],
154                 "sizes": ["normal"],
155                 "mixes": ["same"],
156                 "amounts": ["few"]
157         },
158         {
159                 "func": addAnimals,
160                 "avoid": [
161                         g_TileClasses.bluff, 5,
162                         g_TileClasses.forest, 2,
163                         g_TileClasses.metal, 2,
164                         g_TileClasses.mountain, 1,
165                         g_TileClasses.player, 12,
166                         g_TileClasses.rock, 2,
167                         g_TileClasses.water, 3
168                 ],
169                 "sizes": ["small"],
170                 "mixes": ["similar"],
171                 "amounts": ["normal", "many"]
172         },
173         {
174                 "func": addStragglerTrees,
175                 "avoid": [
176                         g_TileClasses.berries, 5,
177                         g_TileClasses.bluff, 5,
178                         g_TileClasses.forest, 7,
179                         g_TileClasses.metal, 2,
180                         g_TileClasses.mountain, 1,
181                         g_TileClasses.player, 12,
182                         g_TileClasses.rock, 2,
183                         g_TileClasses.water, 5
184                 ],
185                 "sizes": ["tiny"],
186                 "mixes": ["same"],
187                 "amounts": ["many"]
188         }
189 ]));
190 RMS.SetProgress(90);
192 ExportMap();