Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/ai2/data/levels/missionOne.oxw @ 8873

Last change on this file since 8873 was 8873, checked in by jo, 13 years ago

Some level polishing. E.g. better message display.

File size: 41.5 KB
RevLine 
[8773]1<LevelInfo
[8824]2 name = "Mission One"
[8773]3 description = "First guided steps in the orxonoxian universe."
[8824]4 tags = "singleplayer"
[8773]5/>
6
7<?lua
8  include("stats.oxo")
9  include("HUDTemplates3.oxo")
10  include("templates/lodInformation.oxt")
[8800]11  include("templates/spaceshipAssff.oxt")
[8773]12  include("templates/spaceshipPirate.oxt")
[8851]13  include("templates/spaceshipSpacecruiser.oxt")
[8869]14  include("templates/spaceshipTransporter.oxt")
[8773]15?>
16
[8800]17<?lua
18include("templates/pickupRepresentationTemplates.oxt")
19?>
20
[8773]21<Level
[8869]22 name         = "Mission One"
[8773]23 description  = "How to steer a spaceship."
24>
25  <templates>
26    <Template link=lodtemplate_default />
27  </templates>
28  <?lua include("includes/notifications.oxi") ?>
29
[8800]30  <NotificationQueueCEGUI
31    name="narrative"
32    targets="simpleNotification"
[8872]33    size=3
34    displayTime=3.9
[8800]35    position="0.2, 0, 0.1, 0"
[8872]36    fontSize="23"
[8800]37    fontColor="0.3, 1, 0.2, 0.8"
38    alignment="HorzCentred"
39    displaySize="0.6, 0, 0, 0"
40    />
[8773]41  <Scene
42    ambientlight = "0.8, 0.8, 0.8"
43    skybox       = "Orxonox/Starbox"
44  >
[8800]45    <?lua
46      include("includes/pickups.oxi")
47    ?>
[8773]48
[8871]49  <WorldAmbientSound source="Mars.ogg" looping="true" playOnLoad="true" /> <!-- AlphaCentauri.ogg-->
50
51
[8773]52    <Light type=directional position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0"/>
[8800]53    <SpawnPoint team=0 position="-200,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff />
[8869]54    <!-- Script code="artificialcontroller setbotlevel 0.1" /-->
[8773]55
[8800]56<!-- END OF INCLUDES & NECESSARITIES -->
57
[8871]58<!-- QUESTS: TODO! STORY!!
59    <LocalQuest id="orxonox-weaponsystem-check">
[8872]60        <QuestDescription title="Tutorial" description=" " /> //The description of the quest.
[8871]61        <subquests>
62            <Quest id ="questId1" />
63            <Quest id="questIdn" />
64        </subquests>
65        <hints>
66            <QuestHint id="hintId1" /> //A list of n QuestHints, see QuestHint for the full XML representation of those.
67            ...
68            <QuestHint id="hintIdn" />
69        </hints>
70        <fail-effects>
71            <QuestEffect /> //A list of QuestEffects, invoked when the Quest is failed, see QuestEffect for the full XML representation.
72            ...
73            <QuestEffect />
74        </fail-effects>
75        <complete-effects>
76            <QuestEffect /> //A list of QuestEffects, invoked when the Quest is completed, see QuestEffect for the full XML representation.
77            ...
78            <QuestEffect />
79        </complete-effects>
80    </LocalQuest-->
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
[8800]101<!-- TUTORIAL-TODO: -->
102
103<!-- 1. Aiming & Weapons (static targets, moving targets, dangerous targets)--> <!-- 3 Mouse buttons + "T"-->
104<!-- 2. Flying & manoeuvring (basic flying, using pickups, forcefields, docks & portals) --> <!-- "W","S","SPACE"-->
105<!-- 3. Game handling (quests, knowing when a game is over :-), pausing, chat, ... ) --> <!--"F3", "F2", "ESC" -->
106<!-- 4. Extras (other things to discover) --> <!-- "Q","E","A","D","C", "CTRL", "", ... -->
107
108<!--
109Four boxes for aiming
[8871]110
[8773]111TODO: display text: "Destroy those four boxes. Aim the a the box and shoot by using the left mouse button."
112"The laser is a standard weapon. It is fast and precise but does not deal much damage. Now do the same with the next target, but right click instead."
113"That was the lightning gun. Its plasma munition is quite slow, but a normal spaceship can't take more than three hits of such a strong weapon. That should be your favourite in close range combat or if you want to hit a really slow enemy. Try to destroy the next box by right clicking at it."
114"The target seeking rockets follow their target on their own and the explosive load shouldn't be underestimated. Now its time to hit the last target with the hand guided rocket. You can release one by pressing T once. Note: If you miss the target, you can get out of the rocket by clicking or pressing T once more."
115
116"Task complete. Manual rockets are your most powerful weapon. But since you have to steer it to your target yourself, you will leave your spaceship unprotected for a while. Now lets move to a slightly more difficult target. Take a look at your radar. The red dot is an enemy's ship. Try to turn your ship towards it, such that the red dot is in the radar's centre. You should be able to see it then directly. Your task is to destroy it."
117
[8847]118"Lets start flying. Use W to accelerate and S to brake. The goal is to reach the spacestation which is displayed on the radar. If you want to be faster you can temporarily boost by hitting additionally the space button. If you use too much boost your engine heats up and you won't be able to use boost for a while. By the way boost could be useful during combat .."
[8773]119
[8800]120-->
[8847]121
[8871]122    <DistanceTrigger name="spawndelaytrigger0" position="-200,0,0" target="Pawn" distance=10 stayActive="true" />
123    <SimpleNotification message="Welcome to the Orxonox Tutorial.">
124        <events>
125            <trigger>
126                <EventListener event="spawndelaytrigger0" />
127            </trigger>
128        </events>
129    </SimpleNotification>
[8872]130<!-------------------------------------- PART ZERO: How to fly --------------------------------------->
131
132<!-------------------------------------- PART ONE : Destroy boxes --------------------------------------->
133    <DistanceTrigger name="spawndelaytrigger1" position="-200,0,0" target="Pawn" distance=10 stayActive="true" delay=4 />
[8800]134    <SimpleNotification message="Destroy those four boxes.">
135        <events>
136            <trigger>
[8871]137                <EventListener event="spawndelaytrigger1" />
[8800]138            </trigger>
139        </events>
140    </SimpleNotification>
141
[8872]142    <DistanceTrigger name="spawndelaytrigger2" position="-200,0,0" target="Pawn" distance=10 stayActive="true" delay=8.1 />
[8800]143    <SimpleNotification message=" 1. Aim the a the red cycle.">
144        <events>
145            <trigger>
[8871]146                <EventListener event="spawndelaytrigger2" />
[8800]147            </trigger>
148        </events>
149    </SimpleNotification>
150
[8872]151    <DistanceTrigger name="spawndelaytrigger3" position="-200,0,0" target="Pawn" distance=10 stayActive="true" delay=12.2 />
[8800]152    <SimpleNotification message="2. Click! (hold the left mouse button)">
153        <events>
154            <trigger>
[8871]155                <EventListener event="spawndelaytrigger3" />
[8800]156            </trigger>
157        </events>
158    </SimpleNotification>
159
[8871]160<!-- @Objects: 4 boxes (uncontrolled pawns) -->
161                <Pawn health=30 position="0,0,0" direction="0,-1,0" collisionType=dynamic mass=100000 name=box >
[8824]162                    <attached>
163                        <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
164                    </attached>
165                    <collisionShapes>
166                        <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
167                    </collisionShapes>
168                </Pawn>
[8800]169
[8872]170                <Pawn health=30 position="0,100,0" direction="0,-1,0" collisionType=dynamic mass=100000 name=box visible="true">
[8847]171                    <!--events>
172                        <visibility>
173                            <EventListener event=spawndelaytrigger3 />
174                        </visibility>
175                   </events-->
176
[8824]177                    <attached>
178                        <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
179                    </attached>
180                    <collisionShapes>
181                        <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
182                    </collisionShapes>
183                </Pawn>
[8871]184                <Pawn health=30 position="0,200,0" direction="0,-1,0" collisionType=dynamic mass=100000 name=box >
185                    <attached>
186                        <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
187                    </attached>
188                    <collisionShapes>
189                        <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
190                    </collisionShapes>
191                </Pawn>
192                <Pawn health=30 position="0,300,0" direction="0,-1,0" collisionType=dynamic mass=100000 name=box >
193                    <attached>
194                        <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
195                    </attached>
196                    <collisionShapes>
197                        <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
198                    </collisionShapes>
199                </Pawn>
200
201<!-- @Triggers: boxtrigger1 <-> one   box   destroyed
202                boxtrigger2 <-> two   boxes destroyed
203                boxtrigger3 <-> three boxes destroyed
204                boxtrigger4 <-> four  boxes destroyed  -->
[8872]205    <EventTrigger name="boxtrigger4" activations="1" stayactive="true" delay=0.1>
[8871]206      <events>
207        <trigger>
208          <EventListener event="box" />
209        </trigger>
210      </events>
[8872]211      <EventTrigger name="boxtrigger3" activations="1" stayactive="true" delay=0.1>
[8871]212        <events>
213          <trigger>
214            <EventListener event="box" />
215          </trigger>
216        </events>
[8872]217        <EventTrigger name="boxtrigger2" activations="1" stayactive="true" delay=0.1>
[8871]218          <events>
219            <trigger>
220              <EventListener event="box" />
[8824]221            </trigger>
[8871]222          </events>
[8872]223          <EventTrigger name="boxtrigger1" activations="1" stayactive="true" delay=0.1>
[8871]224            <events>
225              <trigger>
226                <EventListener event="box" />
227              </trigger>
228            </events>
229          </EventTrigger>
230        </EventTrigger>
231      </EventTrigger>
232    </EventTrigger>
233
234
235  <SimpleNotification message="Right click on the next target." broadcast="true">
236        <events>
237            <trigger>
238                <EventListener event="boxtrigger1" />
239            </trigger>
[8824]240        </events>
241    </SimpleNotification>
[8800]242
[8871]243  <SimpleNotification message="Middle click on the next target." broadcast="true">
244        <events>
245            <trigger>
246                <EventListener event="boxtrigger2" />
247            </trigger>
248        </events>
249    </SimpleNotification>
[8847]250
[8871]251
[8824]252  <SimpleNotification message="Aim at the last target and press 'T'." broadcast="true">
[8800]253        <events>
254            <trigger>
[8871]255                <EventListener event="boxtrigger3" />
[8800]256            </trigger>
257        </events>
258    </SimpleNotification>
259
[8838]260  <SimpleNotification message="Fly towards the pirates. Press 'W'." broadcast="true">
[8824]261        <events>
262            <trigger>
[8871]263                <EventListener event="boxtrigger4" />
[8824]264            </trigger>
265        </events>
266    </SimpleNotification>
[8800]267
268
269<!--------------------------------------PART TWO: Moving targets --------------------------------------->
[8838]270    <DistanceTrigger name="movingtargets" position="0,500,0" target="Pawn" distance=180 stayActive="true" delay=2 />
[8847]271    <Billboard position="0,500,0" material="Examples/Flare" colour="0.5,0,0" scale=3/><!-- TODO: hide. -->
[8838]272    <SimpleNotification message="Try to hit the pirates while you are flying.">
273        <events>
274            <trigger>
275                <EventListener event=movingtargets />
276            </trigger>
277        </events>
278    </SimpleNotification>
[8800]279
[8871]280<!-- @Objects: 2 pirates moving in squares, nolethal -->
[8872]281                <SpaceShip position="0,2000,200" lookat="0,0,0" name="movingtarget" >
[8838]282                    <templates>
283                      <Template link=spaceshippirate />
284                    </templates>
285                    <controller>
286                      <WaypointController>
287                         <waypoints>
288                          <Model mesh="cube.mesh" scale=8 position="  0,1700,-200" />
289                          <Model mesh="cube.mesh" scale=8 position="  0,1700,-700" />
290                          <Model mesh="cube.mesh" scale=8 position="500,1700,-700" />
291                          <Model mesh="cube.mesh" scale=8 position="500,1700,-200" />
292                       </waypoints>
293                    </WaypointController>
294                  </controller>
295                </SpaceShip>
[8800]296
[8871]297                <SpaceShip position="0,2000,400" lookat="0,0,0" name="movingtarget">
[8838]298                  <templates>
299                    <Template link=spaceshippirate />
300                  </templates>
301                  <controller>
302                    <WaypointController>
303                      <waypoints>
304                        <Model mesh="cube.mesh" scale=8 position="  0,2400,1000" />
[8871]305                        <Model mesh="cube.mesh" scale=8 position="  0,2400, 500" />
306                        <Model mesh="cube.mesh" scale=8 position="500,2400, 500" />
307                        <Model mesh="cube.mesh" scale=8 position="500,2400,1000" />
[8838]308                      </waypoints>
309                    </WaypointController>
310                  </controller>
311                </SpaceShip>
[8871]312
313<!-- @Triggers: movingpirates1 <-> one  pirate  dead
314                movingpirates2 <-> both pirates dead  -->
[8872]315    <EventTrigger name="movingpirates2" activations="1" stayactive="true" delay=0.1>
[8871]316      <events>
317        <trigger>
318          <EventListener event="movingtarget" />
319        </trigger>
320      </events>
[8872]321      <EventTrigger name="movingpirates1" activations="1" stayactive="true" delay=0.1>
[8871]322        <events>
323          <trigger>
324            <EventListener event="movingtarget" />
325          </trigger>
326        </events>
327      </EventTrigger>
328    </EventTrigger>
329
330
331    <SimpleNotification message="Now get the other one."  broadcast="true">
332        <events>
333            <trigger>
334                <EventListener event="movingpirates1" />
[8838]335            </trigger>
336        </events>
337    </SimpleNotification>
338
[8871]339    <SimpleNotification message="Fly towards the space station (grey dot)."  broadcast="true">
340        <events>
341            <trigger>
342                <EventListener event="movingpirates2" />
343            </trigger>
344        </events>
345    </SimpleNotification>
346
347
348
349<!--------------------------------------PART THREE: the space station --------------------------------------->
[8872]350    <DistanceTrigger name="duball1" position="-1000,-300,700" target="Pawn" distance=700 stayActive="true" delay=1 />
[8800]351    <SimpleNotification message="Welcome to the Duball Space Station!">
352        <events>
353            <trigger>
354                <EventListener event=duball1 />
355            </trigger>
356        </events>
357    </SimpleNotification>
358
[8838]359    <DistanceTrigger name="duball2" position="-1000,-300,700" target="Pawn" distance=700 stayActive="true" delay=5 />
[8800]360    <SimpleNotification message="Warning: Something big is coming.">
361        <events>
362            <trigger>
363                <EventListener event=duball2 />
364            </trigger>
365        </events>
366    </SimpleNotification>
367
[8838]368    <!--DistanceTrigger name="duball3" position="-1000,-300,700" target="Pawn" distance=700 stayActive="true" delay=9 />
369    <SimpleNotification message="Get some help,  before it is too late.">
[8800]370        <events>
371            <trigger>
372                <EventListener event=duball3 />
373            </trigger>
374        </events>
[8838]375    </SimpleNotification-->
376
377    <DistanceTrigger name="duball4" position="-1000,-300,700" target="Pawn" distance=700 stayActive="true" delay=10 />
378    <SimpleNotification message="Use the portals to get help. (grey dot)">
379        <events>
380            <trigger>
381                <EventListener event=duball4 />
382            </trigger>
383        </events>
[8800]384    </SimpleNotification>
385
[8871]386
387<!-- @Objects: DuBall Space Station, (no pawn!) -->
388    <StaticEntity position="-1000,-300,700" collisionType=static>
[8869]389      <attached>
390        <Model scale=13 mesh="DuBall1.mesh" position = "-100,0,0"/>
391        <Model scale=13 mesh="DuBall2.mesh" position = "100,0,0"/>
392        <Billboard scale=7 material="Examples/Flare" colour="0.5,0.5,0.5" position = "-100,0,0"/>
393        <Billboard scale=7 material="Examples/Flare" colour="0.5,0.5,0.5" position = "100,0,0"/>       
394      </attached>
395      <collisionShapes>
396        <SphereCollisionShape radius="80"            position = "-100,0,0" />
397        <SphereCollisionShape radius="120"           position = "100,0,0" />
398        <BoxCollisionShape    halfExtents="90,25,45" position = "-155,0,40" />
399      </collisionShapes>
[8871]400    </StaticEntity>
[8838]401
402
[8873]403<!--
404          <events>
405            <visibility>
406              <EventTrigger>
407                <events>
408                  <trigger>
409                    <EventListener event=trigger1 />
410                  </trigger>
411                </events>
412                <EventTrigger invert=true>
413                  <events>
414                    <trigger>
415                      <EventListener event=trigger2 />
416                    </trigger>
417                  </events>
418                </EventTrigger>
419              </EventTrigger>
420            </visibility>
421          </events>
422Activated: after destroying pirates after successfull docking// Deactivated: @Beginning, after first usage, after second usage
423
424activate:
425
426                <EventListener event="movingpirates2" />
427
428                <EventListener event=ondock />
429
430deactivate:
431
432
433                <EventListener event=toHydroFarmer />
434
435
436                <EventListener event=attack />
437
438-->
439
[8871]440<!-- @Objects: PORTAL: from DuBall to HydroHarvester  -->
[8838]441    <Template name=PortalDefault>
442        <PortalEndPoint>
443            <attached>
444                <Billboard material="Portals/Default" />
445            </attached>
446        </PortalEndPoint>
447    </Template>
448
[8869]449    <PortalEndPoint position="-1400,-500,800" id="1" distance="50" target="MobileEntity" design="PortalDefault">
[8873]450          <events>
451            <activity>
452              <Trigger mode="or" activations="2">
453                <Trigger mode="and" activations="1">
454                  <EventTrigger>
455                    <events>
456                      <trigger>
457                        <EventListener event="movingpirates2" />
458                      </trigger>
459                    </events>
460                  </EventTrigger>
461                  <EventTrigger invert=true>
462                    <events>
463                      <trigger>
464                        <EventListener event=toHydroFarmer />
465                      </trigger>
466                    </events>
467                  </EventTrigger>
468                </Trigger>
469                <Trigger mode="and" activations="1">
470                  <EventTrigger>
471                    <events>
472                      <trigger>
473                        <EventListener event=ondock />
474                      </trigger>
475                    </events>
476                  </EventTrigger>
477                  <EventTrigger invert=true>
478                    <events>
479                      <trigger>
480                        <EventListener event=attack />
481                      </trigger>
482                    </events>
483                  </EventTrigger>
484                </Trigger>
485              </Trigger>
486            </activity>
487          </events>
[8838]488    </PortalEndPoint>
489
[8873]490    <PortalEndPoint position="-47000,-1000,1300" id="2" distance="70" target="MobileEntity" design="PortalDefault">
491          <events>
492            <activity>
493              <Trigger mode="or" activations="2">
494                <Trigger mode="and" activations="1">
495                  <EventTrigger>
496                    <events>
497                      <trigger>
498                        <EventListener event="movingpirates2" />
499                      </trigger>
500                    </events>
501                  </EventTrigger>
502                  <EventTrigger invert=true>
503                    <events>
504                      <trigger>
505                        <EventListener event=toHydroFarmer />
506                      </trigger>
507                    </events>
508                  </EventTrigger>
509                </Trigger>
510                <Trigger mode="and" activations="1">
511                  <EventTrigger>
512                    <events>
513                      <trigger>
514                        <EventListener event=ondock />
515                      </trigger>
516                    </events>
517                  </EventTrigger>
518                  <EventTrigger invert=true>
519                    <events>
520                      <trigger>
521                        <EventListener event=attack />
522                      </trigger>
523                    </events>
524                  </EventTrigger>
525                </Trigger>
526              </Trigger>
527            </activity>
528          </events>
529    </PortalEndPoint>
[8838]530    <PortalLink fromID="1" toID="2" />
531    <PortalLink fromID="2" toID="1" />
532<!-- PORTALS END-->
533
[8871]534    <!--DistanceTrigger name="toHydroFarmer" position="-47000,-1000,1300" target="Pawn" distance=700 stayActive="true" delay=0 /-->
[8869]535    <SimpleNotification message="Find the Hydrogen Farmer.">
[8800]536        <events>
537            <trigger>
[8869]538                <EventListener event=toHydroFarmer />
[8800]539            </trigger>
540        </events>
[8869]541    </SimpleNotification>
[8871]542
[8847]543<!-------------------------------------- PART FOUR : Get Help --------------------------------------->   
[8869]544    <DistanceTrigger name="famer1" position="-48200,100,0" target="Pawn" distance=650 stayActive="true" delay=0 />
[8847]545    <SimpleNotification message="We just received a message from DuBall.">
546        <events>
547            <trigger>
548                <EventListener event=famer1 />
549            </trigger>
550        </events>
551    </SimpleNotification>
[8773]552
[8869]553    <DistanceTrigger name="famer2" position="-48200,100,0" target="Pawn" distance=650 stayActive="true" delay=4 />
[8847]554    <SimpleNotification message="We will lend you our strongest ship.">
555        <events>
556            <trigger>
557                <EventListener event=famer2 />
558            </trigger>
559        </events>
560    </SimpleNotification>
[8838]561
[8869]562
[8871]563<!-- @Objects: HYDROGEN FARMER & DOCKING -->
[8869]564    <SpaceShip position="-48900,100,0" roll=90 yaw=0 pitch=20 mass=10000 health=100000 >
[8847]565      <attached>
566        <!-- Docking -->
[8851]567        <DistanceTriggerBeacon name="bcnDestroyer" />
568        <DockingTarget name="destroyer" />
[8838]569
[8847]570        <Model mesh="HydroHarvester.mesh" mass=10 position="0,0,0" scale=50 />
571   <!-- <Model mesh="cube.mesh" mass=10 position="-560,0,0" scale3D="115,100,245"  />
572        <Model mesh="cube.mesh" mass=10 position="290,0,-480" scale3D="115,100,245" yaw=-120 />
573        <Model mesh="cube.mesh" mass=10 position="290,0,480" scale3D="115,100,245" yaw=-240 />
574        <Model mesh="cube.mesh" mass=10 position="-280,0,0" scale3D="163,50,50" />
575        <Model mesh="cube.mesh" mass=10 position="140,0,-240" scale3D="163,50,50"  yaw=-120/>
576        <Model mesh="cube.mesh" mass=10 position="140,0,240" scale3D="163,50,50" yaw=-240/>
577        <Model mesh="cube.mesh" mass=10 position="0,530,0" scale3D="172,52,298" />
578        <Model mesh="cube.mesh" mass=10 position="0,530,0" scale3D="172,52,298" yaw=-120/>
579        <Model mesh="cube.mesh" mass=10 position="0,530,0" scale3D="172,52,298" yaw=-240/>
580        <Model mesh="cube.mesh" mass=10 position="0,400,0" scale3D="43,110,26" yaw=-30 />
581        <Model mesh="cube.mesh" mass=10 position="-200,100,0" scale3D="26,50,43" />
582        <Model mesh="cube.mesh" mass=10 position="100,100,-173" scale3D="43,50,26" yaw=-30/>
583        <Model mesh="cube.mesh" mass=10 position="100,100,173" scale3D="43,50,26" yaw=30/>
584        <Model mesh="cube.mesh" mass=10 position="-100,264,0" scale3D="26,105,43" roll=-49/>
585        <Model mesh="cube.mesh" mass=10 position="50,264,-87" scale3D="26,105,43" roll=-49 yaw=-120/>
586        <Model mesh="cube.mesh" mass=10 position="50,264,87" scale3D="26,105,43" roll=-49 yaw=-240/>     -->
587      </attached>
588      <collisionShapes>
589        <BoxCollisionShape  position="-560,0,0" halfExtents="115,100,245" /><!-- Three lower boxes -->
590        <BoxCollisionShape  position="290,0,-480" halfExtents="115,100,245" yaw=-120 />
591        <BoxCollisionShape  position="290,0,480" halfExtents="115,100,245" yaw=-240 />
592        <BoxCollisionShape  position="-280,0,0" halfExtents="163,50,50" /><!-- Three lower connections -->
593        <BoxCollisionShape  position="140,0,-240" halfExtents="163,50,50" yaw=-120 />
594        <BoxCollisionShape  position="140,0,240" halfExtents="163,50,50" yaw=-240 />
595        <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" /><!-- Upper Tower -->
596        <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" yaw=-120 />
597        <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" yaw=-240 />
598        <BoxCollisionShape  position="0,400,0" halfExtents="43,110,26" yaw=-30 /><!-- Middle one-->
599        <BoxCollisionShape  position="-200,100,0" halfExtents="26,50,43" /><!--Three lower legs -->
600        <BoxCollisionShape  position="100,100,-173" halfExtents="43,50,26" yaw=-30 />
601        <BoxCollisionShape  position="100,100,-173" halfExtents="43,50,26" yaw=30 />
602        <BoxCollisionShape  position="-100,264,0" halfExtents="26,105,43" roll=-49 /><!--Three upper legs -->
603        <BoxCollisionShape  position="50,264,-87" halfExtents="26,105,43" roll=-49 yaw=-120 />
604        <BoxCollisionShape  position="50,264,87" halfExtents="26,105,43" roll=-49 yaw=-240 />
605      </collisionShapes>
606    </SpaceShip>
[8838]607
[8869]608    <Billboard position="-48900,0,0" material="Examples/Flare" colour="0.6,0,0" scale=3/>
609    <Dock position="-48900,0,0" roll=90 yaw=180 >
[8851]610        <animations>
611            <MoveToDockingTarget target="destroyer" />
612        </animations>
613        <effects>
614            <DockToShip target="spaceShip" />
615        </effects>
616        <events>
617            <execute>
618                <EventListener event="dockMe" />
619            </execute>
620        </events>
621        <attached>
622            <DistanceTrigger position="10,-202, -42" distance="800" target="Pawn"
623                beaconMode="exclude" targetname="bcnDestroyer" name="dockMe"
624            />
625        </attached>
626    </Dock>
[8838]627
[8869]628    <SpaceShip template="spaceshipspacecruiser" position="-48900,800,0" orientation="-0.14, 0.68, 0.68, 0.223" health="300" maxhealth="400" initialhealth="300">
[8851]629      <attached>
630        <DockingTarget name="spaceShip" />
631      </attached>
632    </SpaceShip>
[8871]633<!-- hydrogen farmer & docking END -->
[8847]634
[8851]635
[8871]636<!-- @Objects: Pickup - find better place !! -->
637    <PickupSpawner position="-48650,700,100" triggerDistance="70" respawnTime="30" maxSpawnedItems="1">
638      <pickup>
639        <ShieldPickup template=hugeshieldpickup />
640      </pickup>
641    </PickupSpawner>
642
643
[8869]644    <DistanceTrigger name="pickup" position="-48650,700,100" target="Pawn" distance=60 stayActive="true" delay=0 />
645    <SimpleNotification message="This pickup protects your spaceship.">
[8847]646        <events>
647            <trigger>
[8851]648                <EventListener event=pickup />
[8847]649            </trigger>
650        </events>
651    </SimpleNotification>
652<!-- Pickup-->
653
654
[8871]655<!-- @Objects: planet && spaceboundaries  -->
[8838]656    <Planet
[8847]657      position="-44000,0,0"
658      scale="2500"
[8838]659      collisionType="dynamic"
660      linearDamping="0.8"
661      angularDamping="0"
662      mass="10000000"
663      pitch="0"
664      mesh="planets/muunilinst.mesh"
665      atmosphere="atmosphere1"
666      rotationaxis="1,0,0"
667      rotationrate="1.0"
668      atmospheresize="80.0f"
669      imagesize="1024.0f"
[8872]670      collisiondamage = "2"
671      enablecollisiondamage = "false"
[8838]672    >
[8847]673      <!--attached>
674        <ForceField position="0,0,0" mode="sphere" diameter="10000" velocity="-50" />
675      </attached-->  <!-- Forcefield kills HYDROGEN FARMER-->
[8838]676      <collisionShapes>
[8872]677        <SphereCollisionShape radius="2500" position="0,0,0" />
[8838]678      </collisionShapes>
679    </Planet>
680
681
[8869]682<!-------------------------------------- The attack --------------------------------------->
[8847]683
[8869]684<!-- TODO:
685     - better performance: 4-8 Transporters from different directions heading towards duball's station
686     - attached with triggers: - if all bots died, then display end message
687                               - do a count down: 'x enemies left'
688     - update spaceshipTransporter
689     - bots do friendly fire (is drone function reusable?)
690-->
[8871]691
692<!-- @Triggers: toHydroFamer <-> first  portal usage
693                ondock       <-> successfull docking
694                attack       <-> second portal usage -->
695
696    <DistanceTrigger name="attack" position="-1400,-500,800" target="Pawn" distance=100 stayActive="true" >
697        <EventTrigger name="ondock" activations="1" stayactive="true" delay=6>
698          <events>
699            <trigger>
700              <EventListener event="dockMe" />
701            </trigger>
702          </events>
703            <DistanceTrigger name="toHydroFarmer" position="-47000,-1000,1300" target="Pawn" distance=100 stayActive="true" />
704        </EventTrigger>
705    </DistanceTrigger>
706
[8872]707    <SimpleNotification message="Return before it's too late. Boost with 'Space'." broadcast="true">
[8871]708        <events>
709            <trigger>
710                <EventListener event=ondock />
711            </trigger>
712        </events>
713    </SimpleNotification>
714
715    <SimpleNotification message="Several serious enemies are approaching!">
716        <events>
717            <trigger>
718                <EventListener event=attack />
719            </trigger>
720        </events>
721    </SimpleNotification>
722
723
724
725<!-- @Objects: 6 pirates, heading towards DuBall, attacking  -->
[8869]726<!-- 1 -->
[8872]727    <SpaceShip position="3000,-4000,4000" lookat="-1300,-600,900" name="attacker"visible="true">
728        <events>
729            <visibility>
730                <EventListener event="ondock" />
731            </visibility>
732        </events>
[8869]733        <templates>
734            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
735        </templates>
736        <controller>
737            <WaypointPatrolController alertnessradius=3129 team=0 active=false>
738                <waypoints>
739                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
740                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
741                </waypoints>
742                <events>
743                    <activity>
744                        <EventListener event="attack" /> <!-- activates enemies-->
745                     </activity>
746                </events>
747            </WaypointPatrolController>
748        </controller>
749    </SpaceShip>
750<!-- 2 -->
[8872]751    <SpaceShip position="3000,-4000,-4000" lookat="-1300,-600,900" name="attacker" visible="true">
752        <events>
753            <visibility>
754                <EventListener event="ondock" />
755            </visibility>
756        </events>
[8869]757        <templates>
758            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
759        </templates>
760        <controller>
761            <WaypointPatrolController alertnessradius=3129 team=0 active=false>
762                <waypoints>
763                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
764                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
765                </waypoints>
766                <events>
767                    <activity>
768                        <EventListener event="attack" /> <!-- activates enemies-->
769                     </activity>
770                </events>
771            </WaypointPatrolController>
772        </controller>
773    </SpaceShip>
774<!-- 3 -->
[8872]775    <SpaceShip position="-4000,-3000,4000" lookat="-1300,-600,900" name="attacker" visible="true">
776        <events>
777            <visibility>
778                <EventListener event="ondock" />
779            </visibility>
780        </events>
[8869]781        <templates>
782            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
783        </templates>
784        <controller>
785            <WaypointPatrolController alertnessradius=3129 team=0 active=false>
786                <waypoints>
787                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
788                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
789                </waypoints>
790                <events>
791                    <activity>
792                        <EventListener event="attack" /> <!-- activates enemies-->
793                     </activity>
794                </events>
795            </WaypointPatrolController>
796        </controller>
797    </SpaceShip>
798<!-- 4 -->
[8872]799    <SpaceShip position="-3000,-3000,-5000" lookat="-1300,-600,900" name="attacker" visible="true">
800        <events>
801            <visibility>
802                <EventListener event="ondock" />
803            </visibility>
804        </events>
[8869]805        <templates>
806            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
807        </templates>
808        <controller>
809            <WaypointPatrolController alertnessradius=3129 team=0 active=false>
810                <waypoints>
811                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
812                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
813                </waypoints>
814                <events>
815                    <activity>
816                        <EventListener event="attack" /> <!-- activates enemies-->
817                     </activity>
818                </events>
819            </WaypointPatrolController>
820        </controller>
821    </SpaceShip>
822<!-- 5 -->
[8872]823    <SpaceShip position="4000,4000,3000" lookat="-1300,-600,900" name="attacker"visible="true">
824        <events>
825            <visibility>
826                <EventListener event="ondock" />
827            </visibility>
828        </events>
[8869]829        <templates>
830            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
831        </templates>
832        <controller>
833            <WaypointPatrolController alertnessradius=3129 team=0 active=false>
834                <waypoints>
835                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
836                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
837                </waypoints>
838                <events>
839                    <activity>
840                        <EventListener event="attack" /> <!-- activates enemies-->
841                     </activity>
842                </events>
843            </WaypointPatrolController>
844        </controller>
845    </SpaceShip>
846<!-- 6 -->
[8872]847    <SpaceShip position="2000,-4000,5000" lookat="-1300,-600,900" name="attacker" visible="true">
848        <events>
849            <visibility>
850                <EventListener event="ondock" />
851            </visibility>
852        </events>
[8869]853        <templates>
854            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
855        </templates>
856        <controller>
857            <WaypointPatrolController alertnessradius=3129 team=0 active=false>
858                <waypoints>
859                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
860                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
861                </waypoints>
862                <events>
863                    <activity>
864                        <EventListener event="attack" /> <!-- activates enemies-->
865                     </activity>
866                </events>
867            </WaypointPatrolController>
868        </controller>
869    </SpaceShip>
[8847]870
[8871]871<!-- @Triggers: attacktriggerX <-> X enemies destroyed , X is an element of [1,6] -->
872    <EventTrigger name="attacktrigger6" activations="1" stayactive="true">
873      <events>
874        <trigger>
875          <EventListener event="attacker" />
876        </trigger>
877      </events>
[8872]878      <EventTrigger name="attacktrigger5" activations="1" stayactive="true" delay=0.1>
[8871]879        <events>
880          <trigger>
881            <EventListener event="attacker" />
882          </trigger>
883        </events>
[8872]884        <EventTrigger name="attacktrigger4" activations="1" stayactive="true" delay=0.1>
[8871]885          <events>
886            <trigger>
887              <EventListener event="attacker" />
888            </trigger>
889          </events>
[8872]890          <EventTrigger name="attacktrigger3" activations="1" stayactive="true" delay=0.1>
[8871]891            <events>
892              <trigger>
893                <EventListener event="attacker" />
894              </trigger>
895            </events>
[8872]896            <EventTrigger name="attacktrigger2" activations="1" stayactive="true" delay=0.1>
[8871]897              <events>
898                <trigger>
899                  <EventListener event="attacker" />
900                </trigger>
901              </events>
[8872]902              <EventTrigger name="attacktrigger1" activations="1" stayactive="true" delay=0.1>
[8871]903                <events>
904                  <trigger>
905                    <EventListener event="attacker" />
906                  </trigger>
907                </events>
908              </EventTrigger>
909            </EventTrigger>
910          </EventTrigger>
911        </EventTrigger>
912      </EventTrigger>
913    </EventTrigger>
[8847]914
[8871]915
916    <SimpleNotification message="5 enemies left!" broadcast="true">
917      <events>
918        <trigger>
919          <EventListener event="attacktrigger1" />
920        </trigger>
921      </events>
922    </SimpleNotification>
923
924    <SimpleNotification message="4 enemies left!" broadcast="true">
925      <events>
926        <trigger>
927          <EventListener event="attacktrigger2" />
928        </trigger>
929      </events>
930    </SimpleNotification>
931
932    <SimpleNotification message="3 enemies left!" broadcast="true">
933      <events>
934        <trigger>
935          <EventListener event="attacktrigger3" />
936        </trigger>
937      </events>
938    </SimpleNotification>
939
940    <SimpleNotification message="2 enemies left!" broadcast="true">
941      <events>
942        <trigger>
943          <EventListener event="attacktrigger4" />
944        </trigger>
945      </events>
946    </SimpleNotification>
947    <SimpleNotification message="One enemy left!" broadcast="true">
948      <events>
949        <trigger>
950          <EventListener event="attacktrigger5" />
951        </trigger>
952      </events>
953    </SimpleNotification>
954    <SimpleNotification message="Well done. You finished this tutorial." broadcast="true">
955      <events>
956        <trigger>
957          <EventListener event="attacktrigger6" />
958        </trigger>
959      </events>
960    </SimpleNotification>
961
962<!-- @Triggers: postAttack <-> delayed attacktrigger6 -->
963    <EventTrigger name="postAttack1" activations="1" stayactive="true" delay=3>
964      <events>
965        <trigger>
966          <EventListener event="attacktrigger6" />
967        </trigger>
968      </events>
969    </EventTrigger>
970
971    <EventTrigger name="postAttack2" activations="1" stayactive="true" delay=6>
972      <events>
973        <trigger>
974          <EventListener event="attacktrigger6" />
975        </trigger>
976      </events>
977    </EventTrigger>
978
979    <SimpleNotification message="Either quit by pressing 'Esc' or ..." broadcast="true">
980      <events>
981        <trigger>
982          <EventListener event="postAttack1" />
983        </trigger>
984      </events>
985    </SimpleNotification>
986
[8872]987    <SimpleNotification message="... stay here to learn some tricks." broadcast="true">
[8871]988      <events>
989        <trigger>
990          <EventListener event="postAttack2" />
991        </trigger>
992      </events>
993    </SimpleNotification>
994
[8869]995<!-------------------------------------- |Bonus Part| --------------------------------------->
[8872]996<!-- @Triggers: "bonusX" <->  delayed "attacktrigger6" -->
997    <EventTrigger name="bonus1" activations="1" stayactive="true" delay=10>
998      <events>
999        <trigger>
1000          <EventListener event="attacktrigger6" />
1001        </trigger>
1002      </events>
1003    </EventTrigger>
1004    <EventTrigger name="bonus2" activations="1" stayactive="true" delay=16>
1005      <events>
1006        <trigger>
1007          <EventListener event="attacktrigger6" />
1008        </trigger>
1009      </events>
1010    </EventTrigger>
1011    <EventTrigger name="bonus3" activations="1" stayactive="true" delay=22>
1012      <events>
1013        <trigger>
1014          <EventListener event="attacktrigger6" />
1015        </trigger>
1016      </events>
1017    </EventTrigger>
1018    <EventTrigger name="bonus4" activations="1" stayactive="true" delay=28>
1019      <events>
1020        <trigger>
1021          <EventListener event="attacktrigger6" />
1022        </trigger>
1023      </events>
1024    </EventTrigger>
1025    <EventTrigger name="bonus5" activations="1" stayactive="true" delay=32.1>
1026      <events>
1027        <trigger>
1028          <EventListener event="attacktrigger6" />
1029        </trigger>
1030      </events>
1031    </EventTrigger>
1032    <EventTrigger name="bonus6" activations="1" stayactive="true" delay=36.2>
1033      <events>
1034        <trigger>
1035          <EventListener event="attacktrigger6" />
1036        </trigger>
1037      </events>
1038    </EventTrigger>
1039    <EventTrigger name="bonus7" activations="1" stayactive="true" delay=4>
1040      <events>
1041        <trigger>
1042          <EventListener event="bonus6" />
1043        </trigger>
1044      </events>
1045    </EventTrigger>
[8869]1046
1047
1048
[8872]1049    <SimpleNotification message="Rotate your ship. Press 'Q' or 'E'. "  broadcast="true">
[8869]1050        <events>
[8847]1051            <trigger>
[8869]1052                <EventListener event=bonus1 />
[8847]1053            </trigger>
1054        </events>
[8869]1055    </SimpleNotification>
[8847]1056
[8872]1057    <SimpleNotification message="Switch the camera's position. Press 'C'. "  broadcast="true">
[8869]1058        <events>
1059            <trigger>
1060                <EventListener event=bonus2 />
1061            </trigger>
1062        </events>
1063    </SimpleNotification>
[8847]1064
[8872]1065    <SimpleNotification message="360° view: press 'Ctrl' + use the mouse "  broadcast="true">
[8869]1066        <events>
1067            <trigger>
1068                <EventListener event=bonus3 />
1069            </trigger>
1070        </events>
1071    </SimpleNotification>
[8847]1072
[8872]1073    <SimpleNotification message="Have a look at the main menu's settings."  broadcast="true">
[8869]1074        <events>
1075            <trigger>
1076                <EventListener event=bonus4 />
1077            </trigger>
1078        </events>
1079    </SimpleNotification>
[8847]1080
[8872]1081    <SimpleNotification message="E.g: Settings > Miscellaneous > Nr. of bots"  broadcast="true">
[8869]1082        <events>
1083            <trigger>
1084                <EventListener event=bonus5 />
1085            </trigger>
1086        </events>
1087    </SimpleNotification>
[8847]1088
[8872]1089    <SimpleNotification message="You successfully finished Mission One!"  broadcast="true">
[8869]1090        <events>
1091            <trigger>
1092                <EventListener event=bonus6 />
1093            </trigger>
1094        </events>
1095    </SimpleNotification>
[8871]1096
[8872]1097    <SimpleNotification message="Press 'Esc' and return to the main menu."  broadcast="true">
[8869]1098        <events>
1099            <trigger>
[8872]1100                <EventListener event=bonus7 />
1101            </trigger>
1102        </events>
1103    </SimpleNotification>
1104
1105
1106    <!--Script code="addBots 3" onLoad="false">
1107        <events>
1108            <trigger>
[8869]1109                <EventListener event=bonus6 />
1110            </trigger>
1111        </events>
1112    </Script>
1113
[8871]1114    <Script code="artificialcontroller setbotlevel 0.1" onLoad="false">
[8869]1115        <events>
1116            <trigger>
1117                <EventListener event=bonus6 />
1118            </trigger>
1119        </events>
[8872]1120    </Script-->
[8869]1121
[8773]1122  </Scene>
1123</Level>
[8871]1124<!-- TODO:
1125! Quest Interface
1126- Foolproof text messages (e.g. verspätete Nachrichten unterdrücken)
[8872]1127- Radar visibility & Hud Markers
[8871]1128 -->
Note: See TracBrowser for help on using the repository browser.