Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/Dialog_HS16/data/levels/missionOne.oxw @ 11247

Last change on this file since 11247 was 11247, checked in by dmoritz, 8 years ago

New Dialogue Class

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