Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/gamecontent/data/levels/missionOne.oxw @ 8936

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

Finetuning the triggers such that the HydrogenFarmer is practically indestructible and killing the SpaceCruiser makes the level unplayable.

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