Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/trunk/data/levels/missionOne.oxw @ 9922

Last change on this file since 9922 was 9798, checked in by jo, 11 years ago

Testing alternative colouring mechanism for pawns → empty controller.

  • Property svn:eol-style set to native
File size: 60.6 KB
Line 
1<LevelInfo
2 name = "Mission One"
3 description = "First Guided Steps in the Orxonoxian Universe."
4 screenshot = "missionOne.png"
5 tags = "mission"
6/>
7
8<?lua
9  include("stats.oxo")
10  include("HUDTemplates3.oxo")
11  include("templates/lodInformation.oxt")
12  include("templates/spaceshipAssff.oxt")
13  include("templates/spaceshipPirate.oxt")
14  include("templates/spaceshipSpacecruiser.oxt")
15  include("templates/spaceshipTransporter.oxt")
16?>
17
18<?lua
19include("templates/pickupRepresentationTemplates.oxt")
20?>
21
22<Level
23 gametype     = "Mission"
24>
25  <templates>
26    <Template link=lodtemplate_default />
27  </templates>
28  <?lua include("includes/notifications.oxi") ?>
29
30  <NotificationQueueCEGUI
31    name="narrative"
32    targets="simpleNotification"
33    size=3
34    displayTime=3.9
35    position="0.2, 0, 0.1, 0"
36    fontSize="23"
37    fontColor="0.3, 1, 0.2, 0.8"
38    alignment="HorzCentred"
39    displaySize="0.6, 0, 0, 0"
40    />
41  <Scene
42    ambientlight = "0.8, 0.8, 0.8"
43    skybox       = "Orxonox/Starbox"
44  >
45    <?lua
46      include("includes/pickups.oxi")
47    ?>
48
49    <WorldAmbientSound source="Earth.ogg" looping="true" playOnLoad="true" /> <!-- AlphaCentauri.ogg, Mars.ogg-->
50
51    <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"/>
52<!-- END OF INCLUDES & NECESSARITIES -->
53
54<!-- SPAWNPOINT & START OF QUESTS via spawntrigger -->
55    <EventMultiTrigger name=spawntrigger>
56        <events>
57            <trigger>
58                <TeamSpawnPoint team=0 position="800,700,600" direction="-1,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff>
59                  <EventTrigger invert=true>
60                    <events>
61                      <trigger>
62                        <EventListener event="attack" />
63                      </trigger>
64                    </events>
65                  </EventTrigger>
66                </TeamSpawnPoint>
67            </trigger>
68        </events>
69    </EventMultiTrigger>
70
71        <QuestEffectBeacon times=1>
72            <effects>
73                <AddQuest questId="missionOne.basicFlying" />
74                <!--AddQuestHint hintId ="quest1hint3" /-->
75            </effects>
76            <events>
77                <execute>
78                    <EventListener event=spawntrigger />
79                </execute>
80            </events>
81        </QuestEffectBeacon>
82
83        <QuestEffectBeacon times=1>
84            <effects>
85                <CompleteQuest questId="missionOne.basicFlying" />
86            </effects>
87            <events>
88                <execute>
89                    <EventListener event="flying4" />
90                </execute>
91            </events>
92        </QuestEffectBeacon>
93
94        <QuestEffectBeacon times=1>
95            <effects>
96                <CompleteQuest questId="missionOne.navigation" />
97            </effects>
98            <events>
99                <execute>
100                    <EventListener event="navigationend" />
101                </execute>
102            </events>
103        </QuestEffectBeacon>
104
105<!--helper trigger to end the weaponsystemI quest -->
106    <DistanceTrigger name="boxend" position="0,0,0" distance=950 target="SpaceShip" stayActive="false" delay=0.1>
107              <EventTrigger>
108                <events>
109                  <trigger>
110                    <EventListener event="boxtrigger4" />
111                  </trigger>
112                </events>
113              </EventTrigger>
114    </DistanceTrigger>
115
116        <QuestEffectBeacon times=1>
117            <effects>
118                <CompleteQuest questId="missionOne.weaponsystemI" />
119            </effects>
120            <events>
121                <execute>
122                    <EventListener event="boxend" />
123                </execute>
124            </events>
125        </QuestEffectBeacon>
126
127<!--helper trigger to end the weaponsystemII quest -->
128    <DistanceTrigger name="piratesend" position="0,0,0" distance=2000 target="SpaceShip" stayActive="false" delay=0.1>
129              <EventTrigger>
130                <events>
131                  <trigger>
132                    <EventListener event="movingpirates2" />
133                  </trigger>
134                </events>
135              </EventTrigger>
136    </DistanceTrigger>
137
138        <QuestEffectBeacon times=1>
139            <effects>
140                <CompleteQuest questId="missionOne.weaponsystemII" />
141            </effects>
142            <events>
143                <execute>
144                    <EventListener event=piratesend />
145                </execute>
146            </events>
147        </QuestEffectBeacon>
148
149<!--helper trigger to end the DuBallStation quest -->
150    <DistanceTrigger name="duballend" position="-1000,-300,700" distance=2000 target="SpaceShip" stayActive="false" delay=0.1>
151              <EventTrigger>
152                <events>
153                  <trigger>
154                    <EventListener event="duball3" />
155                  </trigger>
156                </events>
157              </EventTrigger>
158    </DistanceTrigger>
159
160
161        <QuestEffectBeacon times=1>
162            <effects>
163                <CompleteQuest questId="missionOne.DuballStation" />
164            </effects>
165            <events>
166                <execute>
167                    <EventListener event=duballend />
168                </execute>
169            </events>
170        </QuestEffectBeacon>
171
172        <QuestEffectBeacon times=1> <!--  alternative quest end  -->
173            <effects>
174                <CompleteQuest questId="missionOne.DuballStation" />
175            </effects>
176            <events>
177                <execute>
178                    <EventListener event=toHydroFarmer />
179                </execute>
180            </events>
181        </QuestEffectBeacon>
182
183<!--helper trigger to end the getHelp quest -->
184    <DistanceTrigger name="getHelpEnd" position="-47000,-1000,1300" distance=1400 target="SpaceShip" stayActive="false" delay=0.1>
185              <EventTrigger>
186                <events>
187                  <trigger>
188                    <EventListener event="ondock" />
189                  </trigger>
190                </events>
191              </EventTrigger>
192    </DistanceTrigger>
193
194        <QuestEffectBeacon times=1>
195            <effects>
196                <CompleteQuest questId="missionOne.getHelp" />
197            </effects>
198            <events>
199                <execute>
200                    <EventListener event=getHelpEnd />
201                </execute>
202            </events>
203        </QuestEffectBeacon>
204
205<!--helper trigger to end the getHome quest -->
206    <DistanceTrigger name="getHomeEnd" position="0,0,0" distance=4000 target="SpaceShip" stayActive="false" delay=0.1>
207              <EventTrigger>
208                <events>
209                  <trigger>
210                    <EventListener event="attack" />
211                  </trigger>
212                </events>
213              </EventTrigger>
214    </DistanceTrigger>
215
216        <QuestEffectBeacon times=1>
217            <effects>
218                <CompleteQuest questId="missionOne.getHome" />
219            </effects>
220            <events>
221                <execute>
222                    <EventListener event=getHomeEnd />
223                </execute>
224            </events>
225        </QuestEffectBeacon>
226
227<!--helper trigger to end the defence quest -->
228    <DistanceTrigger name="defenceEnd" position="0,0,0" distance=4000 target="SpaceShip" stayActive="false" delay=0.1>
229              <EventTrigger>
230                <events>
231                  <trigger>
232                    <EventListener event="attacktrigger6" />
233                  </trigger>
234                </events>
235              </EventTrigger>
236    </DistanceTrigger>
237
238        <QuestEffectBeacon times=1>
239            <effects>
240                <CompleteQuest questId="missionOne.defence" />
241            </effects>
242            <events>
243                <execute>
244                    <EventListener event=defenceEnd />
245                </execute>
246            </events>
247        </QuestEffectBeacon>
248
249<!-- End the quest after own destruction of spacecruiser -->
250        <QuestEffectBeacon position="-100,0,0" times=1>
251            <effects>
252                <FailQuest questId="missionOne.getHelp" />
253            </effects>
254            <events>
255                <execute>
256                    <EventListener event="failQuest" />
257                </execute>
258            </events>
259            <attached>
260                <DistanceTrigger name="failQuest" position="-47000,-1000,1300" distance=2300 target="SpaceShip">
261                  <EventTrigger>
262                    <events>
263                      <trigger>
264                        <EventListener event="gameEnd" />
265                      </trigger>
266                    </events>
267                  </EventTrigger>
268                </DistanceTrigger>
269            </attached>
270        </QuestEffectBeacon>
271
272
273
274
275    <LocalQuest id="missionOne.basicFlying">
276        <QuestDescription title="Flying" description="Can you see the blinking light straight ahead? Your goal is to fly through it.
277Use (W) to accelerate and steer with your mouse.
278
279Further flying moves:
280break (S)
281roll     (Q) and (E)
282boost (Space)
283
284Whenever a new quest is added you can view it by pressing (F3). Quit this menu via (Esc)." failmessage="" completeMessage="" />
285        <complete-effects>
286            <AddQuest questId="missionOne.navigation" />
287        </complete-effects>
288    </LocalQuest>
289
290    <LocalQuest id="missionOne.navigation">
291        <QuestDescription title="Navigation" description="The next goal is to find and move towards the test targets for your weaponsystem. The three arrows that just appeared down in the right corner of your screen indicate in which direction you have to turn your spacefighter to find your next targets.
292
293Alternative navigation: There's a green circle in the left corner - the radar. The red dots on the radar represent your targets. If you manage to move your spaceship in a way such that a dot is at the center of the radar, you will be able to see the concerning object straight ahead." failmessage="" completeMessage="" />
294        <complete-effects>
295            <AddQuest questId="missionOne.weaponsystemI" />
296        </complete-effects>
297    </LocalQuest>
298
299            <LocalQuest id ="missionOne.weaponsystemI">
300                <QuestDescription title="Destroy the Boxes" description="Test your four different weapons on the four boxes:
3011. laser (left click)
3022. plasma (right click)
3033. target seeking rockets (middle click)
3044. manual rockets (T)
305
306Attention if you use manual rockets: Press (T) only once to start the rocket. If you miss your target you can get out of the rocket, by clicking or pressing (T) once more." failmessage="" completeMessage="" />
307                    <hints>
308                        <QuestHint id="missionOne.weaponsystem.laser">
309                            <QuestDescription title="Laser" description="The laser is a standard weapon. It is fast and precise but does not deal much damage." />
310                        </QuestHint>
311                        <QuestHint id="missionOne.weaponsystem.lightningGun">
312                            <QuestDescription title="Lightninggun" description="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 could be your favourite weapon for close range combat or if you want to hit a really slow enemy." />
313                        </QuestHint>
314                        <QuestHint id="missionOne.weaponsystem.targetSeekingRocket">
315                            <QuestDescription title="Target Seeking Rocket" description="The target seeking rockets follow slow targets on their own." />
316                        </QuestHint>
317                        <QuestHint id="missionOne.weaponsystem.manualrocket">
318                            <QuestDescription title="Manual Rocket" description="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. The total amount of both manual and target seeking rockets is limited to 10." />
319                        </QuestHint>
320                    </hints>
321                <complete-effects>
322                    <AddQuest questId="missionOne.weaponsystemII" />
323                </complete-effects>
324            </LocalQuest>
325
326            <LocalQuest id="missionOne.weaponsystemII">
327                <QuestDescription title="Kill the pirates" description="Get rid of the patrolling pirates.
328Find out which weapon is best to tackle moving targets. Get close enough." failmessage="" completeMessage="" />
329                <complete-effects>
330                    <AddQuest questId="missionOne.DuballStation" />
331                </complete-effects>
332            </LocalQuest>
333
334    <LocalQuest id="missionOne.DuballStation">
335        <QuestDescription title="Duball Space Station" description="Fly towards the Duball Space Station. The grey radar marker will lead you to its position." failmessage="" completeMessage="" />
336        <complete-effects>
337            <AddQuest questId="missionOne.getHelp" />
338        </complete-effects>
339    </LocalQuest>
340
341    <LocalQuest id="missionOne.getHelp">
342        <QuestDescription title="Get Help" description="There are several enemies approaching. You can't handle it on your own. Fortunately there's a shortcut to the next friendly unit. Use the portal (grey dot) to get near the Hydrogen Farmer.
343The Hydrogen Farmer is a large spaceship with three legs.
344There you might get help - as far as we know there should be a strong spaceruiser docked to the Hydrogen Farmer. In order to be able to use that stronger spaceship, you have to dock to the Hydrogen Farmer.
345Simply fly to the center of the Hydrogen Farmer, which is between its three legs.
346
347How to dock: Accept the dialogue, take your hands off the keyboard and watch." failmessage="" completeMessage="" />
348        <complete-effects>
349            <AddQuest questId="missionOne.getHome" />
350        </complete-effects>
351    </LocalQuest>
352
353    <LocalQuest id="missionOne.getHome">
354        <QuestDescription title="Return ASAP" description="So you managed to get the spacecruiser. Use the portal to return to the DuBall Space Station.
355Hurry! Your help is desperately needed." failmessage="" completeMessage="" />
356        <complete-effects>
357            <AddQuest questId="missionOne.defence" />
358        </complete-effects>
359    </LocalQuest>
360
361    <LocalQuest id="missionOne.defence">
362        <QuestDescription title="Defence" description="Seven enemies were detected that seem to launch a coordinated attack.
363Do not hesitate to fight or you will be the target.
364
365Always take care of the enemy that is the closest to you." failmessage="" completeMessage="Yeah! You did it." />
366    </LocalQuest>
367<!-- --------------------- END OF QUESTS -------------------------- -->
368
369
370    <DistanceTrigger name="spawndelaytrigger0" position="800,700,600" target="Pawn" distance=10 stayActive="true" delay=2/>
371    <SimpleNotification message="Press (F3) to see your mission briefing.">
372        <events>
373            <trigger>
374                <EventListener event="spawndelaytrigger0" />
375            </trigger>
376        </events>
377    </SimpleNotification>
378
379<!-- Blinking Billboard should be replaced with WAYPOINT -->
380<BlinkingBillboard position="-900,640,600" frequency=0.6 amplitude=3 material="Flares/lensflare" colour="1,1,0.05">
381          <events>
382            <visibility>
383              <EventTrigger invert=true>
384                <events>
385                  <trigger>
386                    <EventListener event=flying4 />
387                  </trigger>
388                </events>
389              </EventTrigger>
390            </visibility>
391          </events>
392</BlinkingBillboard>
393<Billboard position="-900,640,600" amplitude=1 material="Flares/lensflare" colour="0,0.8,0.1">
394          <events>
395            <visibility>
396              <EventTrigger>
397                <events>
398                  <trigger>
399                    <EventListener event=flying4 />
400                  </trigger>
401                </events>
402              </EventTrigger>
403            </visibility>
404          </events>
405</Billboard>
406
407<!-------------------------------------- PART ZERO: How to fly --------------------------------------->
408
409    <DistanceTrigger name="flying1" position="800,700,600" target="Pawn" distance=10 stayActive="true" delay=6/>
410    <SimpleNotification message="Let's fly to the blinking light.">
411        <events>
412            <trigger>
413                <EventListener event="flying1" />
414            </trigger>
415        </events>
416    </SimpleNotification>
417
418    <DistanceTrigger name="flying2" position="800,700,600" target="Pawn" distance=10 stayActive="true" delay=10/>
419    <SimpleNotification message="Use (W) to accelerate and the mouse to steer.">
420        <events>
421            <trigger>
422                <EventListener event="flying2" />
423            </trigger>
424        </events>
425    </SimpleNotification>
426
427<!-- QUEST-Trigger && Message Trigger: navigationend is activated after flying4 was triggered -->
428    <DistanceTrigger name="navigationend" position="0,0,0" distance=950 target="SpaceShip" stayActive="false" delay=1.1>
429        <DistanceTrigger name="flying4" position="-900,640,600" target="Pawn" distance=60 stayActive="true" delay=1/>
430    </DistanceTrigger>
431
432
433    <SimpleNotification message="Three arrows just appeared.">
434        <events>
435            <trigger>
436                <EventListener event="flying4" />
437            </trigger>
438        </events>
439    </SimpleNotification>
440
441    <DistanceTrigger name="flying5" position="-900,640,600" target="Pawn" distance=60 stayActive="true" delay=5/>
442    <SimpleNotification message="Follow those arrows.">
443        <events>
444            <trigger>
445                <EventListener event="flying5" />
446            </trigger>
447        </events>
448    </SimpleNotification>
449
450<!-------------------------------------- PART ONE : Destroy boxes --------------------------------------->
451<!-- @ triggers: spawndelaytriggerX: textoutput only if no box was destroyed -->
452    <Trigger name="spawndelaytrigger1" mode="and" stayActive="true">
453        <DistanceTrigger position="-900,640,600" target="Pawn" distance=60 stayActive="true" delay=9 />
454        <EventTrigger activations="1" invert="true">
455          <events>
456            <trigger>
457              <EventListener event="boxtrigger1" />
458            </trigger>
459          </events>
460        </EventTrigger>
461    </Trigger>
462
463    <Trigger name="spawndelaytrigger2" mode="and" stayActive="true">
464        <DistanceTrigger position="-900,640,600" target="Pawn" distance=60 stayActive="true" delay=13 />
465        <EventTrigger activations="1" invert="true">
466          <events>
467            <trigger>
468              <EventListener event="boxtrigger1" />
469            </trigger>
470          </events>
471        </EventTrigger>
472    </Trigger>
473
474    <Trigger name="spawndelaytrigger3" mode="and" stayActive="true">
475        <DistanceTrigger position="-900,640,600" target="Pawn" distance=60 stayActive="true" delay=17 />
476        <EventTrigger activations="1" invert="true">
477          <events>
478            <trigger>
479              <EventListener event="boxtrigger1" />
480            </trigger>
481          </events>
482        </EventTrigger>
483    </Trigger>
484
485<!-- @Text: How to shoot-->
486    <SimpleNotification message="Destroy the four boxes." broadcast="true">
487        <events>
488            <trigger>
489                <EventListener event="spawndelaytrigger1" />
490            </trigger>
491        </events>
492    </SimpleNotification>
493
494    <SimpleNotification message=" 1. Aim the a red cycle." broadcast="true">
495        <events>
496            <trigger>
497                <EventListener event="spawndelaytrigger2" />
498            </trigger>
499        </events>
500    </SimpleNotification>
501
502    <SimpleNotification message="2. Click! (hold the left mouse button)" broadcast="true">
503        <events>
504            <trigger>
505                <EventListener event="spawndelaytrigger3" />
506            </trigger>
507        </events>
508    </SimpleNotification>
509
510<!-- @Objects: 4 boxes (uncontrolled pawns) -->
511    <Pawn health=30 position="0,0,0" direction="0,-1,0" collisionType=dynamic mass=100000 name=box radarname = "Box 4" >
512        <events>
513          <visibility>
514            <EventListener event="flying4" />
515          </visibility>
516        </events>
517        <attached>
518            <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
519        </attached>
520        <collisionShapes>
521            <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
522        </collisionShapes>
523        <controller>
524            <WaypointController team=1>
525            </WaypointController>
526        </controller>
527    </Pawn>
528
529    <Pawn health=30 position="0,100,0" direction="0,-1,0" collisionType=dynamic mass=100000 name=box radarname = "Box 3">
530        <events>
531          <visibility>
532            <EventListener event="flying4" />
533          </visibility>
534        </events>
535        <attached>
536           <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
537        </attached>
538        <collisionShapes>
539            <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
540        </collisionShapes>
541        <controller>
542            <WaypointController team=1>
543            </WaypointController>
544        </controller>
545    </Pawn>
546
547    <Pawn health=30 position="0,200,0" direction="0,-1,0" collisionType=dynamic mass=100000 name=box radarname = "Box 2">
548        <events>
549          <visibility>
550            <EventListener event="flying4" />
551          </visibility>
552        </events>
553        <attached>
554           <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
555        </attached>
556        <controller>
557            <WaypointController team=1>
558            </WaypointController>
559        </controller>
560        <collisionShapes>
561            <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
562        </collisionShapes>
563    </Pawn>
564
565    <Pawn health=30 position="0,300,0" direction="0,-1,0" collisionType=dynamic mass=100000 name=box radarname = "Box 1">
566        <events>
567          <visibility>
568            <EventListener event="flying4" />
569          </visibility>
570        </events>
571        <attached>
572            <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
573        </attached>
574        <collisionShapes>
575           <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
576        </collisionShapes>
577        <controller>
578            <WaypointController team=1>
579            </WaypointController>
580        </controller>
581    </Pawn>
582
583<!-- @Triggers: boxtrigger1 <-> one   box   destroyed
584                boxtrigger2 <-> two   boxes destroyed
585                boxtrigger3 <-> three boxes destroyed
586                boxtrigger4 <-> four  boxes destroyed  -->
587    <EventTrigger name="boxtrigger4" activations="1" stayactive="true" delay=0.1>
588      <events>
589        <trigger>
590          <EventListener event="box" />
591        </trigger>
592      </events>
593      <EventTrigger name="boxtrigger3" activations="1" stayactive="true" delay=0.1>
594        <events>
595          <trigger>
596            <EventListener event="box" />
597          </trigger>
598        </events>
599        <EventTrigger name="boxtrigger2" activations="1" stayactive="true" delay=0.1>
600          <events>
601            <trigger>
602              <EventListener event="box" />
603            </trigger>
604          </events>
605          <EventTrigger name="boxtrigger1" activations="1" stayactive="true" delay=0.1>
606            <events>
607              <trigger>
608                <EventListener event="box" />
609              </trigger>
610            </events>
611          </EventTrigger>
612        </EventTrigger>
613      </EventTrigger>
614    </EventTrigger>
615
616
617  <SimpleNotification message="Right click on the next target." broadcast="true">
618        <events>
619            <trigger>
620                <EventListener event="boxtrigger1" />
621            </trigger>
622        </events>
623    </SimpleNotification>
624
625  <SimpleNotification message="Middle click on the next target." broadcast="true">
626        <events>
627            <trigger>
628                <EventListener event="boxtrigger2" />
629            </trigger>
630        </events>
631    </SimpleNotification>
632
633  <SimpleNotification message="Aim at the last target and press (T)." broadcast="true">
634        <events>
635            <trigger>
636                <EventListener event="boxtrigger3" />
637            </trigger>
638        </events>
639    </SimpleNotification>
640
641  <SimpleNotification message="Try to hit the pirates while you are flying." broadcast="true">
642        <events>
643            <trigger>
644                <EventListener event="boxtrigger4" />
645            </trigger>
646        </events>
647    </SimpleNotification>
648
649
650<!--------------------------------------PART TWO: Moving targets --------------------------------------->
651
652<!-- @Objects: 2 pirates moving in squares, nonlethal -->
653                <SpaceShip position="0,2000,200" lookat="0,0,0" name="movingtarget" radarname="Pirate">
654                            <events>
655                                <visibility>
656                                    <EventListener event="boxtrigger4" />
657                                </visibility>
658                            </events>
659                    <templates>
660                      <Template link=spaceshippirate />
661                    </templates>
662                    <controller>
663                      <WaypointController team=1>
664                         <waypoints>
665                          <Model mesh="cube.mesh" scale=8 position="  0,1700,-200" />
666                          <Model mesh="cube.mesh" scale=8 position="  0,1700,-700" />
667                          <Model mesh="cube.mesh" scale=8 position="500,1700,-700" />
668                          <Model mesh="cube.mesh" scale=8 position="500,1700,-200" />
669                       </waypoints>
670                    </WaypointController>
671                  </controller>
672                </SpaceShip>
673
674                <SpaceShip position="0,2000,400" lookat="0,0,0" name="movingtarget" radarname="Pirate">
675                            <events>
676                                <visibility>
677                                    <EventListener event="boxtrigger4" />
678                                </visibility>
679                            </events>
680                  <templates>
681                    <Template link=spaceshippirate />
682                  </templates>
683                  <controller>
684                    <WaypointController team=1>
685                      <waypoints>
686                        <Model mesh="cube.mesh" scale=8 position="  0,2400,1000" />
687                        <Model mesh="cube.mesh" scale=8 position="  0,2400, 500" />
688                        <Model mesh="cube.mesh" scale=8 position="500,2400, 500" />
689                        <Model mesh="cube.mesh" scale=8 position="500,2400,1000" />
690                      </waypoints>
691                    </WaypointController>
692                  </controller>
693                </SpaceShip>
694
695<!-- @Triggers: movingpirates1 <-> one  pirate  dead
696                movingpirates2 <-> both pirates dead  -->
697    <EventTrigger name="movingpirates2" activations="1" stayactive="true" delay=0.1>
698      <events>
699        <trigger>
700          <EventListener event="movingtarget" />
701        </trigger>
702      </events>
703      <EventTrigger name="movingpirates1" activations="1" stayactive="true" delay=0.1>
704        <events>
705          <trigger>
706            <EventListener event="movingtarget" />
707          </trigger>
708        </events>
709      </EventTrigger>
710    </EventTrigger>
711
712
713    <SimpleNotification message="Now get the other one."  broadcast="true">
714        <events>
715            <trigger>
716                <EventListener event="movingpirates1" />
717            </trigger>
718        </events>
719    </SimpleNotification>
720
721    <SimpleNotification message="Fly towards the space station (grey dot)."  broadcast="true">
722        <events>
723            <trigger>
724                <EventListener event="movingpirates2" />
725            </trigger>
726        </events>
727    </SimpleNotification>
728
729
730
731<!--------------------------------------PART THREE: the space station --------------------------------------->
732    <DistanceTrigger name="duball1" position="-1000,-300,700" target="Pawn" distance=700 stayActive="true" delay=1 >
733      <events>
734        <activity>
735          <EventListener event="movingpirates2" />
736        </activity>
737      </events>
738    </DistanceTrigger>
739
740    <Trigger name="duball2" mode="and" stayActive="true">
741        <EventTrigger activations="1" stayactive="true" delay=4 >
742           <events>
743              <trigger>
744                 <EventListener event="duball1" />
745              </trigger>
746           </events>
747        </EventTrigger>
748        <EventTrigger activations="1" invert="true">
749          <events>
750            <trigger>
751              <EventListener event="toHydroFarmer" />
752            </trigger>
753          </events>
754        </EventTrigger>
755    </Trigger>
756
757    <Trigger name="duball3" mode="and" stayActive="true">
758        <EventTrigger activations="1" stayactive="true" delay=4 >
759           <events>
760              <trigger>
761                 <EventListener event="duball2" />
762              </trigger>
763           </events>
764        </EventTrigger>
765        <EventTrigger activations="1" invert="true">
766          <events>
767            <trigger>
768              <EventListener event="toHydroFarmer" />
769            </trigger>
770          </events>
771        </EventTrigger>
772    </Trigger>
773
774
775    <SimpleNotification message="Welcome to the Duball Space Station!">
776        <events>
777            <trigger>
778                <EventListener event=duball1 />
779            </trigger>
780        </events>
781    </SimpleNotification>
782
783    <SimpleNotification message="Warning: Something big is coming." broadcast="true">
784        <events>
785            <trigger>
786                <EventListener event=duball2 />
787            </trigger>
788        </events>
789    </SimpleNotification>
790
791    <SimpleNotification message="Use the portals to get help. (grey dot)" broadcast="true">
792        <events>
793            <trigger>
794                <EventListener event=duball3 />
795            </trigger>
796        </events>
797    </SimpleNotification>
798
799
800<!-- @Objects: DuBall Space Station, (no pawn!) -->
801    <StaticEntity position="-1000,-300,700" collisionType=static>
802      <attached>
803        <Model scale=13 mesh="DuBall1.mesh" position = "-100,0,0"/>
804        <Model scale=13 mesh="DuBall2.mesh" position = "100,0,0"/>
805        <Billboard scale=7 material="Examples/Flare" colour="0.5,0.5,0.5" position = "-100,0,0"/>
806        <Billboard scale=7 material="Examples/Flare" colour="0.5,0.5,0.5" position = "100,0,0"/>
807      </attached>
808      <collisionShapes>
809        <SphereCollisionShape radius="80"            position = "-100,0,0" />
810        <SphereCollisionShape radius="120"           position = "100,0,0" />
811        <BoxCollisionShape    halfExtents="90,25,45" position = "-155,0,40" />
812      </collisionShapes>
813    </StaticEntity>
814
815
816<!-- @Objects: PORTAL: from DuBall to HydroHarvester  -->
817    <Template name=PortalDefault>
818        <PortalEndPoint>
819            <attached>
820                <Billboard material="Portals/Default" />
821            </attached>
822        </PortalEndPoint>
823    </Template>
824
825    <PortalEndPoint position="-1400,-500,800" id="1" distance="50" target="MobileEntity" design="PortalDefault">
826          <events>
827            <activity>
828              <Trigger mode="or" activations="2">
829                <Trigger mode="and" activations="1">
830                  <EventTrigger>
831                    <events>
832                      <trigger>
833                        <EventListener event="movingpirates2" />
834                      </trigger>
835                    </events>
836                  </EventTrigger>
837                  <EventTrigger invert=true>
838                    <events>
839                      <trigger>
840                        <EventListener event="toHydroFarmer" />
841                      </trigger>
842                    </events>
843                  </EventTrigger>
844                </Trigger>
845                <Trigger mode="and" activations="1">
846                  <EventTrigger>
847                    <events>
848                      <trigger>
849                        <EventListener event="ondock" />
850                      </trigger>
851                    </events>
852                  </EventTrigger>
853                  <EventTrigger invert=true>
854                    <events>
855                      <trigger>
856                        <EventListener event="attack" />
857                      </trigger>
858                    </events>
859                  </EventTrigger>
860                </Trigger>
861                <EventTrigger>
862                  <events>
863                    <trigger>
864                      <EventListener event="HydroFarmer" />
865                    </trigger>
866                  </events>
867                </EventTrigger>
868              </Trigger>
869            </activity>
870          </events>
871    </PortalEndPoint>
872
873    <PortalEndPoint position="-47000,-1000,1300" id="2" distance="70" target="MobileEntity" design="PortalDefault">
874          <events>
875            <activity>
876              <Trigger mode="or" activations="3">
877                <Trigger mode="and" activations="1">
878                  <EventTrigger>
879                    <events>
880                      <trigger>
881                        <EventListener event="movingpirates2" />
882                      </trigger>
883                    </events>
884                  </EventTrigger>
885                  <EventTrigger invert=true>
886                    <events>
887                      <trigger>
888                        <EventListener event="toHydroFarmer" />
889                      </trigger>
890                    </events>
891                  </EventTrigger>
892                </Trigger>
893                <Trigger mode="and" activations="1">
894                  <EventTrigger>
895                    <events>
896                      <trigger>
897                        <EventListener event="ondock" />
898                      </trigger>
899                    </events>
900                  </EventTrigger>
901                  <EventTrigger invert=true>
902                    <events>
903                      <trigger>
904                        <EventListener event="attack" />
905                      </trigger>
906                    </events>
907                  </EventTrigger>
908                </Trigger>
909                <EventTrigger>
910                  <events>
911                    <trigger>
912                      <EventListener event="HydroFarmer" />
913                    </trigger>
914                  </events>
915                </EventTrigger>
916              </Trigger>
917            </activity>
918          </events>
919    </PortalEndPoint>
920    <PortalLink fromID="1" toID="2" />
921    <PortalLink fromID="2" toID="1" />
922<!-- ????????????????????????????????????????????????????? why does this NOT work ??
923                <Trigger mode="and" activations="1">
924                  <EventTrigger>
925                    <events>
926                      <trigger>
927                        <EventListener event="HydroFarmer" />
928                      </trigger>
929                    </events>
930                  </EventTrigger>
931                  <EventTrigger invert=true>
932                    <events>
933                      <trigger>
934                        <EventListener event="attack" />
935                      </trigger>
936                    </events>
937                  </EventTrigger>
938                </Trigger>
939-->
940<!-- PORTALS END-->
941
942
943    <SimpleNotification message="Dock to the Hydrogen Farmer." broadcast="true">
944        <events>
945            <trigger>
946                <EventListener event=toHydroFarmer />
947            </trigger>
948        </events>
949    </SimpleNotification>
950
951<!-------------------------------------- PART FOUR : Get Help --------------------------------------->
952
953    <Trigger name="famer1" mode="and" stayActive="true">
954        <DistanceTrigger position="-48200,100,0" target="Pawn" distance=650 stayActive="true" delay=0 />
955        <EventTrigger name="notGameEnd" activations="1" invert="true">
956          <events>
957            <trigger>
958              <EventListener event="gameEnd" />
959            </trigger>
960          </events>
961        </EventTrigger>
962    </Trigger>
963
964    <Trigger name="famer2" mode="and" stayActive="true">
965        <DistanceTrigger position="-48200,100,0" target="Pawn" distance=650 stayActive="true" delay=4 />
966        <EventTrigger activations="1" invert="true">
967          <events>
968            <trigger>
969              <EventListener event="gameEnd" />
970            </trigger>
971          </events>
972        </EventTrigger>
973    </Trigger>
974
975    <SimpleNotification message="We just received a message from DuBall." broadcast="true">
976        <events>
977            <trigger>
978                <EventListener event=famer1 />
979            </trigger>
980        </events>
981    </SimpleNotification>
982
983
984    <SimpleNotification message="We will lend you our strongest ship." broadcast="true">
985        <events>
986            <trigger>
987                <EventListener event=famer2 />
988            </trigger>
989        </events>
990    </SimpleNotification>
991
992
993<!-- @Objects: HYDROGEN FARMER & DOCKING -->
994    <SpaceShip
995        team      = 0
996        position  = "-48900,100,0"
997        roll      = 90   yaw=0  pitch=20
998        mass      = 10000
999        health    = 100000 initialhealth=100000 maxhealth="100000"
1000        name      = "HydroFarmer"
1001        radarname = "Hydrogen Farmer" >
1002      <attached>
1003        <!-- Docking -->
1004        <DistanceTriggerBeacon name="bcnDestroyer" />
1005        <DockingTarget name="destroyer" />
1006
1007        <Model mesh="HydroHarvester.mesh" mass=10 position="0,0,0" scale=50 />
1008   <!-- <Model mesh="cube.mesh" mass=10 position="-560,0,0" scale3D="115,100,245"  />
1009        <Model mesh="cube.mesh" mass=10 position="290,0,-480" scale3D="115,100,245" yaw=-120 />
1010        <Model mesh="cube.mesh" mass=10 position="290,0,480" scale3D="115,100,245" yaw=-240 />
1011        <Model mesh="cube.mesh" mass=10 position="-280,0,0" scale3D="163,50,50" />
1012        <Model mesh="cube.mesh" mass=10 position="140,0,-240" scale3D="163,50,50"  yaw=-120/>
1013        <Model mesh="cube.mesh" mass=10 position="140,0,240" scale3D="163,50,50" yaw=-240/>
1014        <Model mesh="cube.mesh" mass=10 position="0,530,0" scale3D="172,52,298" />
1015        <Model mesh="cube.mesh" mass=10 position="0,530,0" scale3D="172,52,298" yaw=-120/>
1016        <Model mesh="cube.mesh" mass=10 position="0,530,0" scale3D="172,52,298" yaw=-240/>
1017        <Model mesh="cube.mesh" mass=10 position="0,400,0" scale3D="43,110,26" yaw=-30 />
1018        <Model mesh="cube.mesh" mass=10 position="-200,100,0" scale3D="26,50,43" />
1019        <Model mesh="cube.mesh" mass=10 position="100,100,-173" scale3D="43,50,26" yaw=-30/>
1020        <Model mesh="cube.mesh" mass=10 position="100,100,173" scale3D="43,50,26" yaw=30/>
1021        <Model mesh="cube.mesh" mass=10 position="-100,264,0" scale3D="26,105,43" roll=-49/>
1022        <Model mesh="cube.mesh" mass=10 position="50,264,-87" scale3D="26,105,43" roll=-49 yaw=-120/>
1023        <Model mesh="cube.mesh" mass=10 position="50,264,87" scale3D="26,105,43" roll=-49 yaw=-240/>     -->
1024      </attached>
1025      <collisionShapes>
1026        <BoxCollisionShape  position="-560,0,0" halfExtents="115,100,245" /><!-- Three lower boxes -->
1027        <BoxCollisionShape  position="290,0,-480" halfExtents="115,100,245" yaw=-120 />
1028        <BoxCollisionShape  position="290,0,480" halfExtents="115,100,245" yaw=-240 />
1029        <BoxCollisionShape  position="-280,0,0" halfExtents="163,50,50" /><!-- Three lower connections -->
1030        <BoxCollisionShape  position="140,0,-240" halfExtents="163,50,50" yaw=-120 />
1031        <BoxCollisionShape  position="140,0,240" halfExtents="163,50,50" yaw=-240 />
1032        <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" /><!-- Upper Tower -->
1033        <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" yaw=-120 />
1034        <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" yaw=-240 />
1035        <BoxCollisionShape  position="0,400,0" halfExtents="43,110,26" yaw=-30 /><!-- Middle one-->
1036        <BoxCollisionShape  position="-200,100,0" halfExtents="26,50,43" /><!--Three lower legs -->
1037        <BoxCollisionShape  position="100,100,-173" halfExtents="43,50,26" yaw=-30 />
1038        <BoxCollisionShape  position="100,100,-173" halfExtents="43,50,26" yaw=30 />
1039        <BoxCollisionShape  position="-100,264,0" halfExtents="26,105,43" roll=-49 /><!--Three upper legs -->
1040        <BoxCollisionShape  position="50,264,-87" halfExtents="26,105,43" roll=-49 yaw=-120 />
1041        <BoxCollisionShape  position="50,264,87" halfExtents="26,105,43" roll=-49 yaw=-240 />
1042      </collisionShapes>
1043    </SpaceShip>
1044
1045    <Dock position="-48900,0,0" roll=90 yaw=180 >
1046        <animations>
1047            <MoveToDockingTarget target="destroyer" />
1048        </animations>
1049        <effects>
1050            <DockToShip target="spaceShip" />
1051        </effects>
1052        <events>
1053            <execute>
1054                <EventListener event="dockMe" />
1055            </execute>
1056            <activity>
1057                <EventListener event=notGameEnd />
1058            </activity>
1059        </events>
1060        <attached>
1061            <DistanceTrigger position="10,-202, -42" distance="800" target="Pawn"
1062                beaconMode="exclude" targetname="bcnDestroyer" name="dockMe"
1063            />
1064        </attached>
1065
1066    </Dock>
1067
1068<!--@Objects: SpaceCruiser as docking target -->
1069    <SpaceShip
1070        template            = "spaceshipspacecruiser"
1071        team                = "0"
1072        position            = "-48900,800,0"
1073        orientation         = "-0.14, 0.68, 0.68, 0.223"
1074        health              = "400"
1075        initialhealth       = "400"
1076        maxhealth           = "500"
1077        shieldhealth        = "80"
1078        initialshieldhealth = "80"
1079        maxshieldhealth     = "120"
1080        shieldabsorption    = "0.8"
1081        reloadrate          = "1"
1082        reloadwaittime      = "1"
1083        name                = "cruiser"
1084        radarname           = "Spacecruiser" >
1085      <attached>
1086        <DockingTarget name="spaceShip" />
1087      </attached>
1088    </SpaceShip>
1089
1090
1091<!-- cruiserKilled: if cuiser is killed & player hasn't taken control of spacecrusier -->
1092          <Trigger name="cruiserKilled" mode="and" stayActive="true">
1093            <EventTrigger  stayActive="true">
1094              <events>
1095                <trigger>
1096                  <EventListener event="cruiser"/>
1097                </trigger>
1098              </events>
1099            </EventTrigger>
1100            <EventTrigger invert=true>
1101              <events>
1102                <trigger>
1103                  <EventListener event="ondock" />
1104                </trigger>
1105              </events>
1106            </EventTrigger>
1107          </Trigger>
1108
1109
1110<!-- triggers when either hydrofarmer or cruiser is killed -->
1111            <Trigger mode=or name="gameEnd">
1112                <EventTrigger activations="1">
1113                  <events>
1114                    <trigger>
1115                      <EventListener event="HydroFarmer" />
1116                    </trigger>
1117                  </events>
1118                </EventTrigger>
1119                <EventTrigger activations="1">
1120                  <events>
1121                    <trigger>
1122                      <EventListener event="cruiserKilled" />
1123                    </trigger>
1124                  </events>
1125                </EventTrigger>
1126            </Trigger>
1127
1128<!-- triggers delayed when either hydrofarmer or cruiser is killed -->
1129            <EventTrigger delay=4 name="earlyEnd">
1130              <events>
1131                <trigger>
1132                  <EventListener event="gameEnd" />
1133                </trigger>
1134              </events>
1135              <events>
1136                <activity>
1137                  <EventListener event="movingpirates2" />
1138                </activity>
1139              </events>
1140            </EventTrigger>
1141
1142
1143    <SimpleNotification message="Oh no! You killed the Hydrogen Farmer!" broadcast="true">
1144        <events>
1145            <trigger>
1146                <EventListener event="HydroFarmer" />
1147            </trigger>
1148        </events>
1149    </SimpleNotification>
1150
1151    <SimpleNotification message="Oh no! You killed the SpaceCruiser!" broadcast="true">
1152        <events>
1153            <trigger>
1154                <EventListener event="cruiserKilled" />
1155            </trigger>
1156        </events>
1157    </SimpleNotification>
1158
1159    <SimpleNotification message="Press (Esc) and restart the mission." broadcast="true">
1160        <events>
1161            <trigger>
1162                <EventListener event="earlyEnd" />
1163            </trigger>
1164        </events>
1165    </SimpleNotification>
1166
1167<!-- hydrogen farmer & docking END -->
1168
1169
1170<!-- @Objects: Pickup - find better place !! -->
1171    <PickupSpawner pickup=hugeshieldpickup position="-48650,700,100" triggerDistance="70" respawnTime="30" maxSpawnedItems="1" />
1172
1173
1174    <DistanceTrigger name="pickup" position="-48650,700,100" target="Pawn" distance=60 stayActive="true" delay=0 />
1175    <SimpleNotification message="This pickup protects your spaceship.">
1176        <events>
1177            <trigger>
1178                <EventListener event=pickup />
1179            </trigger>
1180        </events>
1181    </SimpleNotification>
1182<!-- Pickup-->
1183
1184
1185<!-- @Objects: planet && spaceboundaries  -->
1186    <Planet
1187      position="-44000,0,0"
1188      scale="2500"
1189      collisionType="dynamic"
1190      linearDamping="0.8"
1191      angularDamping="0"
1192      mass="10000000"
1193      pitch="0"
1194      mesh="planets/muunilinst.mesh"
1195      atmosphere="atmosphere1"
1196      rotationaxis="1,0,0"
1197      rotationrate="1.0"
1198      atmospheresize="80.0f"
1199      imagesize="1024.0f"
1200      collisiondamage = "2"
1201      enablecollisiondamage = "false"
1202    >
1203      <!--attached>
1204        <ForceField position="0,0,0" mode="sphere" diameter="10000" velocity="-50" />
1205      </attached-->  <!-- Forcefield kills HYDROGEN FARMER-->
1206      <collisionShapes>
1207        <SphereCollisionShape radius="2500" position="0,0,0" />
1208      </collisionShapes>
1209    </Planet>
1210
1211
1212<!-------------------------------------- The attack --------------------------------------->
1213<!-- TODO:
1214     - update spaceshipTransporter
1215     - bots do friendly fire (is drone function reusable?)
1216-->
1217
1218<!-- Fallback Spawnpoint: on cruiserdeath caused by pirates. Unfortunately unstable behaviour concerning activity. -->
1219    <TeamSpawnPoint team=0 position="2000,1500,-1500" direction="-1,-1,1" spawnclass=SpaceShip pawndesign=spaceshipspacecruiser>
1220        <events>
1221            <activity>
1222                <EventListener event="attack" />
1223            </activity>
1224        </events>
1225    </TeamSpawnPoint>
1226
1227<!-- @Triggers: toHydroFamer <-> first  portal usage
1228                ondock       <-> successfull docking
1229                attack       <-> second portal usage -->
1230
1231    <DistanceTrigger name="attack" position="-1400,-500,800" target="Pawn" distance=100 stayActive="true" mode="and">
1232        <EventTrigger name="ondock" activations="1" stayactive="true" delay=6>
1233          <events>
1234            <trigger>
1235              <EventListener event="dockMe" />
1236            </trigger>
1237          </events>
1238            <Trigger mode=and>
1239              <DistanceTrigger name="toHydroFarmer" position="-47000,-1000,1300" target="Pawn" distance=100 stayActive="true" />
1240              <EventTrigger activations="1" invert="true">
1241                <events>
1242                  <trigger>
1243                    <EventListener event="gameEnd" />
1244                  </trigger>
1245                </events>
1246              </EventTrigger>
1247            </Trigger>
1248        </EventTrigger>
1249        <EventTrigger activations="1" invert="true">
1250          <events>
1251            <trigger>
1252              <EventListener event="earlyEnd" />
1253            </trigger>
1254          </events>
1255        </EventTrigger>
1256    </DistanceTrigger>
1257
1258    <SimpleNotification message="Return before it's too late. Boost with (Space)." broadcast="true">
1259        <events>
1260            <trigger>
1261                <EventListener event=ondock />
1262            </trigger>
1263        </events>
1264    </SimpleNotification>
1265
1266    <SimpleNotification message="Several serious enemies are approaching!">
1267        <events>
1268            <trigger>
1269                <EventListener event=attack />
1270            </trigger>
1271        </events>
1272    </SimpleNotification>
1273
1274
1275<!-- @Objects: 6 pirates, heading towards DuBall, attacking  -->
1276<!-- TODO: re-hide pirates on early end-->
1277<!-- 1 -->
1278    <SpaceShip position="3000,-4000,4000" lookat="-1300,-600,900" name="attacker"visible="true">
1279        <events>
1280            <visibility>
1281                <EventListener event="ondock" />
1282            </visibility>
1283        </events>
1284        <templates>
1285            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
1286        </templates>
1287        <controller>
1288            <WaypointPatrolController alertnessradius=3129 team=1 active=false>
1289                <waypoints>
1290                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
1291                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
1292                </waypoints>
1293                <events>
1294                    <activity>
1295                        <EventListener event="attack" /> <!-- activates enemies-->
1296                     </activity>
1297                </events>
1298            </WaypointPatrolController>
1299        </controller>
1300    </SpaceShip>
1301<!-- 2 -->
1302    <SpaceShip position="3000,-4000,-4000" lookat="-1300,-600,900" name="attacker" visible="true">
1303        <events>
1304            <visibility>
1305                <EventListener event="ondock" />
1306            </visibility>
1307        </events>
1308        <templates>
1309            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
1310        </templates>
1311        <controller>
1312            <WaypointPatrolController alertnessradius=3129 team=1 active=false>
1313                <waypoints>
1314                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
1315                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
1316                </waypoints>
1317                <events>
1318                    <activity>
1319                        <EventListener event="attack" /> <!-- activates enemies-->
1320                     </activity>
1321                </events>
1322            </WaypointPatrolController>
1323        </controller>
1324    </SpaceShip>
1325<!-- 3 -->
1326    <SpaceShip position="-4000,-3000,4000" lookat="-1300,-600,900" name="attacker" visible="true">
1327        <events>
1328            <visibility>
1329                <EventListener event="ondock" />
1330            </visibility>
1331        </events>
1332        <templates>
1333            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
1334        </templates>
1335        <controller>
1336            <WaypointPatrolController alertnessradius=3129 team=1 active=false>
1337                <waypoints>
1338                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
1339                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
1340                </waypoints>
1341                <events>
1342                    <activity>
1343                        <EventListener event="attack" /> <!-- activates enemies-->
1344                     </activity>
1345                </events>
1346            </WaypointPatrolController>
1347        </controller>
1348    </SpaceShip>
1349<!-- 4 -->
1350    <SpaceShip position="-3000,-3000,-5000" lookat="-1300,-600,900" name="attacker" visible="true">
1351        <events>
1352            <visibility>
1353                <EventListener event="ondock" />
1354            </visibility>
1355        </events>
1356        <templates>
1357            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
1358        </templates>
1359        <controller>
1360            <WaypointPatrolController alertnessradius=3129 team=1 active=false>
1361                <waypoints>
1362                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
1363                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
1364                </waypoints>
1365                <events>
1366                    <activity>
1367                        <EventListener event="attack" /> <!-- activates enemies-->
1368                     </activity>
1369                </events>
1370            </WaypointPatrolController>
1371        </controller>
1372    </SpaceShip>
1373<!-- 5 -->
1374    <SpaceShip position="4000,4000,3000" lookat="-1300,-600,900" name="attacker"visible="true">
1375        <events>
1376            <visibility>
1377                <EventListener event="ondock" />
1378            </visibility>
1379        </events>
1380        <templates>
1381            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
1382        </templates>
1383        <controller>
1384            <WaypointPatrolController alertnessradius=3129 team=1 active=false>
1385                <waypoints>
1386                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
1387                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
1388                </waypoints>
1389                <events>
1390                    <activity>
1391                        <EventListener event="attack" /> <!-- activates enemies-->
1392                     </activity>
1393                </events>
1394            </WaypointPatrolController>
1395        </controller>
1396    </SpaceShip>
1397<!-- 6 -->
1398    <SpaceShip position="2000,-4000,5000" lookat="-1300,-600,900" name="attacker" visible="true">
1399        <events>
1400            <visibility>
1401                <EventListener event="ondock" />
1402            </visibility>
1403        </events>
1404        <templates>
1405            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
1406        </templates>
1407        <controller>
1408            <WaypointPatrolController alertnessradius=3129 team=1 active=false>
1409                <waypoints>
1410                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
1411                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
1412                </waypoints>
1413                <events>
1414                    <activity>
1415                        <EventListener event="attack" /> <!-- activates enemies-->
1416                     </activity>
1417                </events>
1418            </WaypointPatrolController>
1419        </controller>
1420    </SpaceShip>
1421
1422
1423<!-- @Triggers: attacktriggerX <-> X enemies destroyed , X is an element of [1,6] -->
1424    <EventTrigger name="attacktrigger6" activations="1" stayactive="true">
1425      <events>
1426        <trigger>
1427          <EventListener event="attacker" />
1428        </trigger>
1429      </events>
1430      <EventTrigger name="attacktrigger5" activations="1" stayactive="true" delay=0.1>
1431        <events>
1432          <trigger>
1433            <EventListener event="attacker" />
1434          </trigger>
1435        </events>
1436        <EventTrigger name="attacktrigger4" activations="1" stayactive="true" delay=0.1>
1437          <events>
1438            <trigger>
1439              <EventListener event="attacker" />
1440            </trigger>
1441          </events>
1442          <EventTrigger name="attacktrigger3" activations="1" stayactive="true" delay=0.1>
1443            <events>
1444              <trigger>
1445                <EventListener event="attacker" />
1446              </trigger>
1447            </events>
1448            <EventTrigger name="attacktrigger2" activations="1" stayactive="true" delay=0.1>
1449              <events>
1450                <trigger>
1451                  <EventListener event="attacker" />
1452                </trigger>
1453              </events>
1454              <EventTrigger name="attacktrigger1" activations="1" stayactive="true" delay=0.1>
1455                <events>
1456                  <trigger>
1457                    <EventListener event="attacker" />
1458                  </trigger>
1459                </events>
1460              </EventTrigger>
1461            </EventTrigger>
1462          </EventTrigger>
1463        </EventTrigger>
1464      </EventTrigger>
1465    </EventTrigger>
1466
1467
1468    <SimpleNotification message="5 enemies left!" broadcast="true">
1469      <events>
1470        <trigger>
1471          <EventListener event="attacktrigger1" />
1472        </trigger>
1473      </events>
1474    </SimpleNotification>
1475
1476    <SimpleNotification message="4 enemies left!" broadcast="true">
1477      <events>
1478        <trigger>
1479          <EventListener event="attacktrigger2" />
1480        </trigger>
1481      </events>
1482    </SimpleNotification>
1483
1484    <SimpleNotification message="3 enemies left!" broadcast="true">
1485      <events>
1486        <trigger>
1487          <EventListener event="attacktrigger3" />
1488        </trigger>
1489      </events>
1490    </SimpleNotification>
1491
1492    <SimpleNotification message="2 enemies left!" broadcast="true">
1493      <events>
1494        <trigger>
1495          <EventListener event="attacktrigger4" />
1496        </trigger>
1497      </events>
1498    </SimpleNotification>
1499
1500    <SimpleNotification message="One enemy left!" broadcast="true">
1501      <events>
1502        <trigger>
1503          <EventListener event="attacktrigger5" />
1504        </trigger>
1505      </events>
1506    </SimpleNotification>
1507
1508    <SimpleNotification message="Well done. You finished this tutorial." broadcast="true">
1509      <events>
1510        <trigger>
1511          <EventListener event="attacktrigger6" />
1512        </trigger>
1513      </events>
1514    </SimpleNotification>
1515
1516<!-- @Triggers: postAttack <-> delayed attacktrigger6 -->
1517    <EventTrigger name="postAttack1" activations="1" stayactive="true" delay=4.1>
1518      <events>
1519        <trigger>
1520          <EventListener event="attacktrigger6" />
1521        </trigger>
1522      </events>
1523    </EventTrigger>
1524
1525    <EventTrigger name="postAttack2" activations="1" stayactive="true" delay=8.2>
1526      <events>
1527        <trigger>
1528          <EventListener event="attacktrigger6" />
1529        </trigger>
1530      </events>
1531    </EventTrigger>
1532
1533    <SimpleNotification message="Either quit by pressing (Esc) or ..." broadcast="true">
1534      <events>
1535        <trigger>
1536          <EventListener event="postAttack1" />
1537        </trigger>
1538      </events>
1539    </SimpleNotification>
1540
1541    <SimpleNotification message="... stay here to learn some tricks." broadcast="true">
1542      <events>
1543        <trigger>
1544          <EventListener event="postAttack2" />
1545        </trigger>
1546      </events>
1547    </SimpleNotification>
1548
1549<!-------------------------------------- |Bonus Part| --------------------------------------->
1550<!-- @Triggers: "bonusX" <->  delayed "attacktrigger6" -->
1551    <EventTrigger name="bonus1" activations="1" stayactive="true" delay=12.3>
1552      <events>
1553        <trigger>
1554          <EventListener event="attacktrigger6" />
1555        </trigger>
1556      </events>
1557    </EventTrigger>
1558    <EventTrigger name="bonus2" activations="1" stayactive="true" delay=16.4>
1559      <events>
1560        <trigger>
1561          <EventListener event="attacktrigger6" />
1562        </trigger>
1563      </events>
1564    </EventTrigger>
1565    <EventTrigger name="bonus3" activations="1" stayactive="true" delay=22>
1566      <events>
1567        <trigger>
1568          <EventListener event="attacktrigger6" />
1569        </trigger>
1570      </events>
1571    </EventTrigger>
1572    <EventTrigger name="bonus4" activations="1" stayactive="true" delay=28.1>
1573      <events>
1574        <trigger>
1575          <EventListener event="attacktrigger6" />
1576        </trigger>
1577      </events>
1578    </EventTrigger>
1579    <EventTrigger name="bonus5" activations="1" stayactive="true" delay=32.3>
1580      <events>
1581        <trigger>
1582          <EventListener event="attacktrigger6" />
1583        </trigger>
1584      </events>
1585    </EventTrigger>
1586    <EventTrigger name="bonus6" activations="1" stayactive="true" delay=36.5>
1587      <events>
1588        <trigger>
1589          <EventListener event="attacktrigger6" />
1590        </trigger>
1591      </events>
1592    </EventTrigger>
1593    <EventTrigger name="bonus7" activations="1" stayactive="true" delay=4.1>
1594      <events>
1595        <trigger>
1596          <EventListener event="bonus6" />
1597        </trigger>
1598      </events>
1599    </EventTrigger>
1600
1601
1602
1603    <SimpleNotification message="Rotate your ship. Press (Q) or (E). "  broadcast="true">
1604        <events>
1605            <trigger>
1606                <EventListener event=bonus1 />
1607            </trigger>
1608        </events>
1609    </SimpleNotification>
1610
1611    <SimpleNotification message="Switch the camera's position. Press (C). "  broadcast="true">
1612        <events>
1613            <trigger>
1614                <EventListener event=bonus2 />
1615            </trigger>
1616        </events>
1617    </SimpleNotification>
1618
1619    <SimpleNotification message="360° view: press (Ctrl) + use the mouse "  broadcast="true">
1620        <events>
1621            <trigger>
1622                <EventListener event=bonus3 />
1623            </trigger>
1624        </events>
1625    </SimpleNotification>
1626
1627    <SimpleNotification message="Have a look at the main menu's settings."  broadcast="true">
1628        <events>
1629            <trigger>
1630                <EventListener event=bonus4 />
1631            </trigger>
1632        </events>
1633    </SimpleNotification>
1634
1635    <SimpleNotification message="E.g: Settings > Miscellaneous > Nr. of bots"  broadcast="true">
1636        <events>
1637            <trigger>
1638                <EventListener event=bonus5 />
1639            </trigger>
1640        </events>
1641    </SimpleNotification>
1642
1643    <SimpleNotification message="You successfully finished Mission One!"  broadcast="true">
1644        <events>
1645            <trigger>
1646                <EventListener event=bonus6 />
1647            </trigger>
1648        </events>
1649    </SimpleNotification>
1650
1651    <SimpleNotification message="Press (Esc) and return to the main menu."  broadcast="true">
1652        <events>
1653            <trigger>
1654                <EventListener event=bonus7 />
1655            </trigger>
1656        </events>
1657    </SimpleNotification>
1658
1659
1660    <!--Script code="addBots 3" onLoad="false">
1661        <events>
1662            <trigger>
1663                <EventListener event=bonus6 />
1664            </trigger>
1665        </events>
1666    </Script>
1667
1668    <Script code="artificialcontroller setbotlevel 0.1" onLoad="false">
1669        <events>
1670            <trigger>
1671                <EventListener event=bonus6 />
1672            </trigger>
1673        </events>
1674    </Script-->
1675    <!-- Script code="artificialcontroller setbotlevel 0.1" /-->
1676  </Scene>
1677</Level>
1678
1679<!-- TODO:
1680- Story & more precise Questmessages; more quest hints; fail-quest;
1681- Colouring: Show who is friend or foe via the colour
1682- Waypoints: show the player the way
1683- Foolproof text messages (e.g. verspätete Nachrichten unterdrücken ~done )
1684- End Tutorial, if either the Hydrogen Farmer or the SpaceCruiser gets destroyed. (~done)
1685 -->
Note: See TracBrowser for help on using the repository browser.