Added more landscapes
[scorched3d.git] / data / tankais.xml
blob05a3b0436f2aeeb9d7ff75e0a2fc1a1fca6abba8
1 <ais>\r
2         <ai>\r
3                 <name>Cyborg</name>\r
4                 <description>A deady computer controlled player.  Ouch!!</description>\r
5                 <!-- Is the random computer player allowed this tank type -->\r
6                 <availableforrandom>true</availableforrandom>\r
7                 <!-- Are AIs controlling players allowed to use the type -->\r
8                 <availableforplayers>true</availableforplayers>\r
9 \r
10                 <weapons>\r
11                         <!-- A list of weapon sets that will be considered during buying.\r
12                                 Only one weaponset will be selected. -->\r
13                         <weaponset>WeaponSetFull</weaponset>\r
14                 </weapons>\r
15                 <defense>\r
16                         <!-- Use batteries if available -->\r
17                         <usebatteries>true</usebatteries>\r
18                         <!-- Use shields if available -->\r
19                         <useshields>true</useshields>\r
20                         <!-- Use parachutes if available -->\r
21                         <useparachutes>true</useparachutes>\r
22                 </defense>\r
23                 <attack>\r
24                         <resign>\r
25                                 <!-- Try resigning rules -->\r
26                                 <useresign>true</useresign>\r
27                                 <!-- Don't consider resigning unless you have less than this amount of life -->\r
28                                 <resignlife>10.0</resignlife>\r
29                         </resign>\r
30                         <movement>\r
31                                 <!-- Tank must have fuel before movement can occur. -->\r
32                                 <!-- Try movement rules -->\r
33                                 <usefuel>true</usefuel>\r
34                                 <!-- The amount of damage taken before movement is considered-->\r
35                                 <movementdamage>300.0</movementdamage>\r
36                                 <!-- Once the above damage has been taken the chance to move out the way -->\r
37                                 <movementdamagechance>0.3</movementdamagechance>\r
38                                 <!-- The amount of life before we consider moving -->\r
39                                 <movementlife>75.0</movementlife>\r
40                                 <!-- The randomness applied to the final movement position -->\r
41                                 <movementrandom>10.0</movementrandom>\r
42                                 <!-- The distance left between the target tank and the movement destination -->\r
43                                 <movementcloseness>15.0</movementcloseness>\r
44                         </movement>\r
45                         <groupshot>\r
46                                 <!-- The number of tanks that need to be grouped before considering a group shot \r
47                                         A group shot is available if targets are close together and the tank has\r
48                                         a hugeweapon. -->\r
49                                 <groupshotsize>2</groupshotsize>\r
50                                 <!-- The chance that a group shot will be considered -->\r
51                                 <groupshotchance>0.7</groupshotchance>\r
52                                 <!-- The max distance between tanks considered grouped -->\r
53                                 <grouptargetdistance>25.0</grouptargetdistance>\r
54                         </groupshot>\r
55                         <sniper>\r
56                                 <!-- Sniper shots are used for both lasers and projectiles on full power. -->\r
57                                 <!-- How close do I need to be from a target before considering a sniper shot -->\r
58                                 <sniperusedistance>80.0</sniperusedistance>\r
59                                 <!-- The distance in degress that my 1st sniper shot may miss by -->\r
60                                 <sniperstartdistance>0.0</sniperstartdistance>\r
61                                 <!-- The distance in degrees that my best sniper shot may miss by -->\r
62                                 <sniperenddistance>0.0</sniperenddistance>\r
63                                 <!-- The min distance in degrees that each sniper shot will improve -->\r
64                                 <snipermindecrement>2.0</snipermindecrement>\r
65                                 <!-- The max distance in degrees that each sniper shot will improve -->\r
66                                 <snipermaxdecrement>5.0</snipermaxdecrement>\r
67                                 <!-- The maximum amount of accuracy in degrees that will be lost if the tank moves -->\r
68                                 <snipermovementfactor>4.0</snipermovementfactor>\r
69                         </sniper>\r
70                         <projectile>\r
71                                 <!-- The minimum distance to allow for shots.  Stops self kills -->\r
72                                 <projectilemindistance>10.0</projectilemindistance>\r
73                                 <!-- These are all distances of the 1st particle of the projectile to hit the ground. -->\r
74                                 <!-- The distance that the 1st projectile shot may miss by -->\r
75                                 <projectilestartdistance>10.0</projectilestartdistance>\r
76                                 <!-- The distance that the my best projectile shot may get to -->\r
77                                 <projectileenddistance>5.0</projectileenddistance>\r
78                                 <!-- The min distance that each projecile shot will improve -->\r
79                                 <projectilemindecrement>2.0</projectilemindecrement>\r
80                                 <!-- The max distance that each projecile shot will improve -->\r
81                                 <projectilemaxdecrement>4.0</projectilemaxdecrement>\r
82                                 <!-- How close a shot do I need to get to a target before firing large weapons -->\r
83                                 <largeweaponusedistance>10.0</largeweaponusedistance>\r
84                                 <!-- The maximum amount of accuracy that will be lost if the tank moves -->\r
85                                 <projectilemovementfactor>10.0</projectilemovementfactor>\r
86                         </projectile>\r
88                         <!-- \r
89                                 Weighting factors use to determine which tank to fire at. \r
90                                 Targets are all ranked using these factors.\r
91                                 The top weighted targets are selected to be fired at 1st. \r
92                                 Each factor is multiplied by the weight and then all factors are added\r
93                                 to give the total weighting. \r
94                                 All factors are in the range -1.0 to 1.0 before weighting.\r
95                         -->\r
96                         <targets>\r
97                                 <health>-0.2</health>\r
98                                 <random>0.1</random>\r
99                                 <player>0</player>\r
100                                 <shield>-0.2</shield>\r
101                                 <score>0.3</score>\r
102                                 <repeat>0.3</repeat>\r
103                                 <damagetaken>0.3</damagetaken>\r
104                                 <damagedone>0.3</damagedone>\r
105                                 <distance>0.0</distance>\r
106                         </targets>                \r
107                 </attack>\r
108         </ai>\r
110         <ai>\r
111                 <name>Shark</name>\r
112                 <description>A very good computer controlled player.</description>\r
113                 <availableforrandom>true</availableforrandom>\r
114                 <availableforplayers>true</availableforplayers>\r
116                 <weapons>\r
117                         <weaponset>WeaponSetFull</weaponset>\r
118                 </weapons>\r
119                 <defense>\r
120                         <usebatteries>false</usebatteries>\r
121                         <useshields>true</useshields>\r
122                         <useparachutes>true</useparachutes>\r
123                 </defense>\r
124                 <attack>\r
125                         <resign>\r
126                                 <useresign>true</useresign>\r
127                                 <resignlife>10.0</resignlife>\r
128                         </resign>\r
129                         <movement>\r
130                                 <usefuel>true</usefuel>\r
131                                 <movementdamage>300.0</movementdamage>\r
132                                 <movementdamagechance>0.3</movementdamagechance>\r
133                                 <movementlife>75.0</movementlife>\r
134                                 <movementrandom>10.0</movementrandom>\r
135                                 <movementcloseness>15.0</movementcloseness>\r
136                         </movement>\r
137                         <groupshot>\r
138                                 <groupshotsize>2</groupshotsize>\r
139                                 <groupshotchance>0.2</groupshotchance>\r
140                                 <grouptargetdistance>25.0</grouptargetdistance>\r
141                         </groupshot>\r
142                         <sniper>\r
143                                 <sniperusedistance>80.0</sniperusedistance>\r
144                                 <sniperstartdistance>10.0</sniperstartdistance>\r
145                                 <sniperenddistance>0.0</sniperenddistance>\r
146                                 <snipermindecrement>2.0</snipermindecrement>\r
147                                 <snipermaxdecrement>3.0</snipermaxdecrement>\r
148                                 <snipermovementfactor>6.0</snipermovementfactor>\r
149                         </sniper>\r
150                         <projectile>\r
151                                 <projectilemindistance>10.0</projectilemindistance>\r
152                                 <projectilestartdistance>25.0</projectilestartdistance>\r
153                                 <projectileenddistance>5.0</projectileenddistance>\r
154                                 <projectilemindecrement>5.0</projectilemindecrement>\r
155                                 <projectilemaxdecrement>8.0</projectilemaxdecrement>\r
156                                 <largeweaponusedistance>10.0</largeweaponusedistance>\r
157                                 <projectilemovementfactor>15.0</projectilemovementfactor>\r
158                         </projectile>\r
159                         <targets>\r
160                                 <health>-0.1</health>\r
161                                 <random>0.2</random>\r
162                                 <player>0</player>\r
163                                 <shield>0</shield>\r
164                                 <score>0.2</score>\r
165                                 <repeat>0.4</repeat>\r
166                                 <damagetaken>0.2</damagetaken>\r
167                                 <damagedone>0</damagedone>\r
168                                 <distance>-0.5</distance>\r
169                         </targets>\r
170                 </attack>\r
171         </ai>\r
173         <ai>\r
174                 <name>Chooser</name>\r
175                 <description>A good computer controlled player.</description>\r
176                 <availableforrandom>true</availableforrandom>\r
177                 <availableforplayers>true</availableforplayers>\r
179                 <weapons>\r
180                         <weaponset>WeaponSetLarge</weaponset>\r
181                 </weapons>\r
182                 <defense>\r
183                         <usebatteries>false</usebatteries>\r
184                         <useshields>true</useshields>\r
185                         <useparachutes>true</useparachutes>\r
186                 </defense>\r
187                 <attack>\r
188                         <resign>\r
189                                 <useresign>true</useresign>\r
190                                 <resignlife>10.0</resignlife>\r
191                         </resign>\r
192                         <movement>\r
193                                 <usefuel>false</usefuel>\r
194                                 <movementdamage>300.0</movementdamage>\r
195                                 <movementdamagechance>0.3</movementdamagechance>\r
196                                 <movementlife>75.0</movementlife>\r
197                                 <movementrandom>10.0</movementrandom>\r
198                                 <movementcloseness>15.0</movementcloseness>\r
199                         </movement>\r
200                         <groupshot>\r
201                                 <groupshotsize>2</groupshotsize>\r
202                                 <groupshotchance>0.2</groupshotchance>\r
203                                 <grouptargetdistance>25.0</grouptargetdistance>\r
204                         </groupshot>\r
205                         <sniper>\r
206                                 <sniperusedistance>80.0</sniperusedistance>\r
207                                 <sniperstartdistance>10.0</sniperstartdistance>\r
208                                 <sniperenddistance>0.0</sniperenddistance>\r
209                                 <snipermindecrement>2.0</snipermindecrement>\r
210                                 <snipermaxdecrement>3.0</snipermaxdecrement>\r
211                                 <snipermovementfactor>6.0</snipermovementfactor>\r
212                         </sniper>\r
213                         <projectile>\r
214                                 <projectilemindistance>10.0</projectilemindistance>\r
215                                 <projectilestartdistance>40.0</projectilestartdistance>\r
216                                 <projectileenddistance>5.0</projectileenddistance>\r
217                                 <projectilemindecrement>5.0</projectilemindecrement>\r
218                                 <projectilemaxdecrement>10.0</projectilemaxdecrement>\r
219                                 <largeweaponusedistance>10.0</largeweaponusedistance>\r
220                                 <projectilemovementfactor>15.0</projectilemovementfactor>\r
221                         </projectile>\r
222                         <targets>\r
223                                 <health>0</health>\r
224                                 <random>0</random>\r
225                                 <player>-0.25</player>\r
226                                 <shield>0</shield>\r
227                                 <score>0.4</score>\r
228                                 <repeat>0.25</repeat>\r
229                                 <damagetaken>0.5</damagetaken>\r
230                                 <damagedone>0</damagedone>\r
231                                 <distance>-1.0</distance>\r
232                         </targets>\r
233                 </attack>\r
234         </ai>\r
236         <ai>\r
237                 <name>Tosser</name>\r
238                 <description>An average computer controlled player.</description>\r
239                 <availableforrandom>true</availableforrandom>\r
240                 <availableforplayers>true</availableforplayers>\r
242                 <weapons>\r
243                         <weaponset>WeaponSetBasic</weaponset>\r
244                 </weapons>\r
245                 <defense>\r
246                         <usebatteries>false</usebatteries>\r
247                         <useshields>false</useshields>\r
248                         <useparachutes>true</useparachutes>\r
249                 </defense>\r
250                 <attack>\r
251                         <resign>\r
252                                 <useresign>true</useresign>\r
253                                 <resignlife>10.0</resignlife>\r
254                         </resign>\r
255                         <movement>\r
256                                 <usefuel>false</usefuel>\r
257                                 <movementdamage>300.0</movementdamage>\r
258                                 <movementdamagechance>0.1</movementdamagechance>\r
259                                 <movementlife>75.0</movementlife>\r
260                                 <movementrandom>10.0</movementrandom>\r
261                                 <movementcloseness>15.0</movementcloseness>\r
262                         </movement>\r
263                         <groupshot>\r
264                                 <groupshotsize>5</groupshotsize>\r
265                                 <groupshotchance>0.2</groupshotchance>\r
266                                 <grouptargetdistance>25.0</grouptargetdistance>\r
267                         </groupshot>\r
268                         <sniper>\r
269                                 <sniperusedistance>50.0</sniperusedistance>\r
270                                 <sniperstartdistance>10.0</sniperstartdistance>\r
271                                 <sniperenddistance>0.0</sniperenddistance>\r
272                                 <snipermindecrement>2.0</snipermindecrement>\r
273                                 <snipermaxdecrement>3.0</snipermaxdecrement>\r
274                                 <snipermovementfactor>6.0</snipermovementfactor>\r
275                         </sniper>\r
276                         <projectile>\r
277                                 <projectilemindistance>10.0</projectilemindistance>\r
278                                 <projectilestartdistance>50.0</projectilestartdistance>\r
279                                 <projectileenddistance>5.0</projectileenddistance>\r
280                                 <projectilemindecrement>5.0</projectilemindecrement>\r
281                                 <projectilemaxdecrement>12.0</projectilemaxdecrement>\r
282                                 <largeweaponusedistance>10.0</largeweaponusedistance>\r
283                                 <projectilemovementfactor>20.0</projectilemovementfactor>\r
284                         </projectile>\r
285                         <targets>\r
286                                 <health>0</health>\r
287                                 <random>0</random>\r
288                                 <player>-0.5</player>\r
289                                 <shield>0</shield>\r
290                                 <score>0</score>\r
291                                 <repeat>0</repeat>\r
292                                 <damagetaken>0.5</damagetaken>\r
293                                 <damagedone>0</damagedone>\r
294                                 <distance>-1.0</distance>\r
295                         </targets>\r
296                 </attack>\r
297         </ai>\r
299         <ai>\r
300                 <name>Shooter</name>\r
301                 <description>A poor computer controlled player.</description>\r
302                 <availableforrandom>true</availableforrandom>\r
303                 <availableforplayers>true</availableforplayers>\r
305                 <weapons>\r
306                         <weaponset>WeaponSetBasic</weaponset>\r
307                 </weapons>\r
308                 <defense>\r
309                         <usebatteries>false</usebatteries>\r
310                         <useshields>false</useshields>\r
311                         <useparachutes>false</useparachutes>\r
312                 </defense>\r
313                 <attack>\r
314                         <resign>\r
315                                 <useresign>true</useresign>\r
316                                 <resignlife>10.0</resignlife>\r
317                         </resign>\r
318                         <movement>\r
319                                 <usefuel>false</usefuel>\r
320                                 <movementdamage>300.0</movementdamage>\r
321                                 <movementdamagechance>0.0</movementdamagechance>\r
322                                 <movementlife>75.0</movementlife>\r
323                                 <movementrandom>10.0</movementrandom>\r
324                                 <movementcloseness>15.0</movementcloseness>\r
325                         </movement>\r
326                         <groupshot>\r
327                                 <groupshotsize>2</groupshotsize>\r
328                                 <groupshotchance>0.2</groupshotchance>\r
329                                 <grouptargetdistance>25.0</grouptargetdistance>\r
330                         </groupshot>\r
331                         <sniper>\r
332                                 <sniperusedistance>80.0</sniperusedistance>\r
333                                 <sniperstartdistance>10.0</sniperstartdistance>\r
334                                 <sniperenddistance>0.0</sniperenddistance>\r
335                                 <snipermindecrement>2.0</snipermindecrement>\r
336                                 <snipermaxdecrement>3.0</snipermaxdecrement>\r
337                                 <snipermovementfactor>8.0</snipermovementfactor>\r
338                         </sniper>\r
339                         <projectile>\r
340                                 <projectilemindistance>5.0</projectilemindistance>\r
341                                 <projectilestartdistance>50.0</projectilestartdistance>\r
342                                 <projectileenddistance>5.0</projectileenddistance>\r
343                                 <projectilemindecrement>5.0</projectilemindecrement>\r
344                                 <projectilemaxdecrement>10.0</projectilemaxdecrement>\r
345                                 <largeweaponusedistance>10.0</largeweaponusedistance>\r
346                                 <projectilemovementfactor>30.0</projectilemovementfactor>\r
347                         </projectile>\r
348                         <targets>\r
349                                 <health>0</health>\r
350                                 <random>0</random>\r
351                                 <player>-1.0</player>\r
352                                 <shield>0</shield>\r
353                                 <score>0</score>\r
354                                 <repeat>0</repeat>\r
355                                 <damagetaken>0</damagetaken>\r
356                                 <damagedone>0</damagedone>\r
357                                 <distance>-1.0</distance>\r
358                         </targets>\r
359                 </attack>\r
360         </ai>\r
362         <ai>\r
363                 <name>Moron</name>\r
364                 <description>A very stupid computer controlled player.</description>\r
365                 <availableforrandom>true</availableforrandom>\r
366                 <availableforplayers>true</availableforplayers>\r
368                 <weapons>\r
369                         <weaponset>WeaponSetMinimal</weaponset>\r
370                 </weapons>\r
371                 <defense>\r
372                         <usebatteries>false</usebatteries>\r
373                         <useshields>false</useshields>\r
374                         <useparachutes>false</useparachutes>\r
375                 </defense>\r
376                 <attack>\r
377                         <resign>\r
378                                 <useresign>false</useresign>\r
379                                 <resignlife>10.0</resignlife>\r
380                         </resign>\r
381                         <movement>\r
382                                 <usefuel>false</usefuel>\r
383                                 <movementdamage>300.0</movementdamage>\r
384                                 <movementdamagechance>0.0</movementdamagechance>\r
385                                 <movementlife>75.0</movementlife>\r
386                                 <movementrandom>10.0</movementrandom>\r
387                                 <movementcloseness>15.0</movementcloseness>\r
388                         </movement>\r
389                         <groupshot>\r
390                                 <groupshotsize>0</groupshotsize>\r
391                                 <groupshotchance>0.2</groupshotchance>\r
392                                 <grouptargetdistance>25.0</grouptargetdistance>\r
393                         </groupshot>\r
394                         <sniper>\r
395                                 <sniperusedistance>10.0</sniperusedistance>\r
396                                 <sniperstartdistance>10.0</sniperstartdistance>\r
397                                 <sniperenddistance>0.0</sniperenddistance>\r
398                                 <snipermindecrement>0.0</snipermindecrement>\r
399                                 <snipermaxdecrement>0.0</snipermaxdecrement>\r
400                                 <snipermovementfactor>10.0</snipermovementfactor>\r
401                         </sniper>\r
402                         <projectile>\r
403                                 <projectilemindistance>0.0</projectilemindistance>\r
404                                 <projectilestartdistance>50.0</projectilestartdistance>\r
405                                 <projectileenddistance>5.0</projectileenddistance>\r
406                                 <projectilemindecrement>0.0</projectilemindecrement>\r
407                                 <projectilemaxdecrement>0.0</projectilemaxdecrement>\r
408                                 <largeweaponusedistance>25.0</largeweaponusedistance>\r
409                                 <projectilemovementfactor>20.0</projectilemovementfactor>\r
410                         </projectile>\r
411                         <targets>\r
412                                 <health>0</health>\r
413                                 <random>1.0</random>\r
414                                 <player>0</player>\r
415                                 <shield>0</shield>\r
416                                 <score>0</score>\r
417                                 <repeat>0</repeat>\r
418                                 <damagetaken>0</damagetaken>\r
419                                 <damagedone>0</damagedone>\r
420                                 <distance>0</distance>\r
421                         </targets>\r
422                 </attack>\r
423         </ai>\r
425         <ai>\r
426                 <name>Target</name>\r
427                 <description>A computer controlled player. \r
428 These tanks act as static targets. \r
429 They will NEVER fire back.</description>\r
430                 <availableforrandom>true</availableforrandom>\r
431                 <availableforplayers>true</availableforplayers>\r
433                 <weapons>\r
434                         <weaponset>WeaponSetEmpty</weaponset>\r
435                 </weapons>\r
436                 <defense>\r
437                         <usebatteries>false</usebatteries>\r
438                         <useshields>false</useshields>\r
439                         <useparachutes>false</useparachutes>\r
440                 </defense>\r
441                 <attack>\r
442                         <resign>\r
443                                 <useresign>false</useresign>\r
444                                 <resignlife>10.0</resignlife>\r
445                         </resign>\r
446                         <movement>\r
447                                 <usefuel>false</usefuel>\r
448                                 <movementdamage>300.0</movementdamage>\r
449                                 <movementdamagechance>0.3</movementdamagechance>\r
450                                 <movementlife>75.0</movementlife>\r
451                                 <movementrandom>10.0</movementrandom>\r
452                                 <movementcloseness>15.0</movementcloseness>\r
453                         </movement>\r
454                         <groupshot>\r
455                                 <groupshotsize>0</groupshotsize>\r
456                                 <groupshotchance>0.7</groupshotchance>\r
457                                 <grouptargetdistance>25.0</grouptargetdistance>\r
458                         </groupshot>\r
459                         <sniper>\r
460                                 <sniperusedistance>80.0</sniperusedistance>\r
461                                 <sniperstartdistance>0.0</sniperstartdistance>\r
462                                 <sniperenddistance>0.0</sniperenddistance>\r
463                                 <snipermindecrement>2.0</snipermindecrement>\r
464                                 <snipermaxdecrement>5.0</snipermaxdecrement>\r
465                                 <snipermovementfactor>4.0</snipermovementfactor>\r
466                         </sniper>\r
467                         <projectile>\r
468                                 <projectilemindistance>10.0</projectilemindistance>\r
469                                 <projectilestartdistance>10.0</projectilestartdistance>\r
470                                 <projectileenddistance>5.0</projectileenddistance>\r
471                                 <projectilemindecrement>1.0</projectilemindecrement>\r
472                                 <projectilemaxdecrement>4.0</projectilemaxdecrement>\r
473                                 <largeweaponusedistance>10.0</largeweaponusedistance>\r
474                                 <projectilemovementfactor>10.0</projectilemovementfactor>\r
475                         </projectile>\r
476                         <targets>\r
477                                 <health>0</health>\r
478                                 <random>0</random>\r
479                                 <player>0</player>\r
480                                 <shield>0</shield>\r
481                                 <score>0</score>\r
482                                 <repeat>0</repeat>\r
483                                 <damagetaken>0</damagetaken>\r
484                                 <damagedone>0</damagedone>\r
485                                 <distance>0.0</distance>\r
486                         </targets>\r
487                 </attack>       \r
488         </ai>\r
490 </ais>\r