Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/spacestationentry/data/levels/EntryTest.oxw @ 10179

Last change on this file since 10179 was 9713, checked in by agermann, 11 years ago

EntryTest2

File size: 40.9 KB
Line 
1<!-- -->
2<LevelInfo
3 name = "EntryTest"
4 description = "Test suite for Entry"
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  include("templates/FPS.oxt")
18?>
19
20<?lua
21include("templates/pickupRepresentationTemplates.oxt")
22?>
23
24<Level
25 gametype     = "Mission"
26>
27  <templates>
28    <Template link=lodtemplate_default />
29  </templates>
30  <?lua include("includes/notifications.oxi") ?>
31
32  <NotificationQueueCEGUI
33    name="narrative"
34    targets="simpleNotification"
35    size=3
36    displayTime=3.9
37    position="0.2, 0, 0.1, 0"
38    fontSize="23"
39    fontColor="0.3, 1, 0.2, 0.8"
40    alignment="HorzCentred"
41    displaySize="0.6, 0, 0, 0"
42    />
43  <Scene
44    ambientlight = "0.8, 0.8, 0.8"
45    skybox       = "Orxonox/Starbox"
46  >
47    <?lua
48      include("includes/pickups.oxi")
49    ?>
50
51    <WorldAmbientSound source="Earth.ogg" looping="true" playOnLoad="true" /> <!-- AlphaCentauri.ogg, Mars.ogg-->
52
53    <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"/>
54<!-- END OF INCLUDES & NECESSARITIES -->
55
56<!-- SPAWNPOINT & START OF QUESTS via spawntrigger -->
57    <EventMultiTrigger name=spawntrigger>
58        <events>
59            <trigger>
60                <TeamSpawnPoint team=0 position="-47000,-1000,1300" direction="-1,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff>
61                  <EventTrigger invert=true>
62                    <events>
63                      <trigger>
64                        <EventListener event="attack" />
65                      </trigger>
66                    </events>
67                  </EventTrigger>
68                </TeamSpawnPoint>
69            </trigger>
70        </events>
71    </EventMultiTrigger>
72
73        <QuestEffectBeacon times=1>
74            <effects>
75                <AddQuest questId="missionOne.basicFlying" />
76                <!--AddQuestHint hintId ="quest1hint3" /-->
77            </effects>
78            <events>
79                <execute>
80                    <EventListener event=spawntrigger />
81                </execute>
82            </events>
83        </QuestEffectBeacon>
84
85        <QuestEffectBeacon times=1>
86            <effects>
87                <CompleteQuest questId="missionOne.basicFlying" />
88            </effects>
89            <events>
90                <execute>
91                    <EventListener event="flying4" />
92                </execute>
93            </events>
94        </QuestEffectBeacon>
95
96        <QuestEffectBeacon times=1>
97            <effects>
98                <CompleteQuest questId="missionOne.navigation" />
99            </effects>
100            <events>
101                <execute>
102                    <EventListener event="navigationend" />
103                </execute>
104            </events>
105        </QuestEffectBeacon>
106
107<!--helper trigger to end the weaponsystemI quest -->
108    <DistanceTrigger name="boxend" position="0,0,0" distance=950 target="SpaceShip" stayActive="false" delay=0.1>
109              <EventTrigger>
110                <events>
111                  <trigger>
112                    <EventListener event="boxtrigger4" />
113                  </trigger>
114                </events>
115              </EventTrigger>
116    </DistanceTrigger>
117
118        <QuestEffectBeacon times=1>
119            <effects>
120                <CompleteQuest questId="missionOne.weaponsystemI" />
121            </effects>
122            <events>
123                <execute>
124                    <EventListener event="boxend" />
125                </execute>
126            </events>
127        </QuestEffectBeacon>
128
129<!--helper trigger to end the weaponsystemII quest -->
130    <DistanceTrigger name="piratesend" position="0,0,0" distance=2000 target="SpaceShip" stayActive="false" delay=0.1>
131              <EventTrigger>
132                <events>
133                  <trigger>
134                    <EventListener event="movingpirates2" />
135                  </trigger>
136                </events>
137              </EventTrigger>
138    </DistanceTrigger>
139
140        <QuestEffectBeacon times=1>
141            <effects>
142                <CompleteQuest questId="missionOne.weaponsystemII" />
143            </effects>
144            <events>
145                <execute>
146                    <EventListener event=piratesend />
147                </execute>
148            </events>
149        </QuestEffectBeacon>
150
151<!--helper trigger to end the DuBallStation quest -->
152    <DistanceTrigger name="duballend" position="-1000,-300,700" distance=2000 target="SpaceShip" stayActive="false" delay=0.1>
153              <EventTrigger>
154                <events>
155                  <trigger>
156                    <EventListener event="duball3" />
157                  </trigger>
158                </events>
159              </EventTrigger>
160    </DistanceTrigger>
161
162
163        <QuestEffectBeacon times=1>
164            <effects>
165                <CompleteQuest questId="missionOne.DuballStation" />
166            </effects>
167            <events>
168                <execute>
169                    <EventListener event=duballend />
170                </execute>
171            </events>
172        </QuestEffectBeacon>
173
174        <QuestEffectBeacon times=1> <!--  alternative quest end  -->
175            <effects>
176                <CompleteQuest questId="missionOne.DuballStation" />
177            </effects>
178            <events>
179                <execute>
180                    <EventListener event=toHydroFarmer />
181                </execute>
182            </events>
183        </QuestEffectBeacon>
184
185<!--helper trigger to end the getHelp quest -->
186    <DistanceTrigger name="getHelpEnd" position="-47000,-1000,1300" distance=1400 target="SpaceShip" stayActive="false" delay=0.1>
187              <EventTrigger>
188                <events>
189                  <trigger>
190                    <EventListener event="ondock" />
191                  </trigger>
192                </events>
193              </EventTrigger>
194    </DistanceTrigger>
195
196        <QuestEffectBeacon times=1>
197            <effects>
198                <CompleteQuest questId="missionOne.getHelp" />
199            </effects>
200            <events>
201                <execute>
202                    <EventListener event=getHelpEnd />
203                </execute>
204            </events>
205        </QuestEffectBeacon>
206
207<!--helper trigger to end the getHome quest -->
208    <DistanceTrigger name="getHomeEnd" position="0,0,0" distance=4000 target="SpaceShip" stayActive="false" delay=0.1>
209              <EventTrigger>
210                <events>
211                  <trigger>
212                    <EventListener event="attack" />
213                  </trigger>
214                </events>
215              </EventTrigger>
216    </DistanceTrigger>
217
218        <QuestEffectBeacon times=1>
219            <effects>
220                <CompleteQuest questId="missionOne.getHome" />
221            </effects>
222            <events>
223                <execute>
224                    <EventListener event=getHomeEnd />
225                </execute>
226            </events>
227        </QuestEffectBeacon>
228
229<!--helper trigger to end the defence quest -->
230    <DistanceTrigger name="defenceEnd" position="0,0,0" distance=4000 target="SpaceShip" stayActive="false" delay=0.1>
231              <EventTrigger>
232                <events>
233                  <trigger>
234                    <EventListener event="attacktrigger6" />
235                  </trigger>
236                </events>
237              </EventTrigger>
238    </DistanceTrigger>
239
240        <QuestEffectBeacon times=1>
241            <effects>
242                <CompleteQuest questId="missionOne.defence" />
243            </effects>
244            <events>
245                <execute>
246                    <EventListener event=defenceEnd />
247                </execute>
248            </events>
249        </QuestEffectBeacon>
250
251<!-- End the quest after own destruction of spacecruiser -->
252        <QuestEffectBeacon position="-100,0,0" times=1>
253            <effects>
254                <FailQuest questId="missionOne.getHelp" />
255            </effects>
256            <events>
257                <execute>
258                    <EventListener event="failQuest" />
259                </execute>
260            </events>
261            <attached>
262                <DistanceTrigger name="failQuest" position="-47000,-1000,1300" distance=2300 target="SpaceShip">
263                  <EventTrigger>
264                    <events>
265                      <trigger>
266                        <EventListener event="gameEnd" />
267                      </trigger>
268                    </events>
269                  </EventTrigger>
270                </DistanceTrigger>
271            </attached>
272        </QuestEffectBeacon>
273
274
275
276
277    <LocalQuest id="missionOne.basicFlying">
278        <QuestDescription title="Flying" description="Can you see the blinking light straight ahead? Your goal is to fly through it.
279Use (W) to accelerate and steer with your mouse.
280
281Further flying moves:
282break (S)
283roll     (Q) and (E)
284boost (Space)
285
286Whenever a new quest is added you can view it by pressing (F3). Quit this menu via (Esc)." failmessage="" completeMessage="" />
287        <complete-effects>
288            <AddQuest questId="missionOne.navigation" />
289        </complete-effects>
290    </LocalQuest>
291
292    <LocalQuest id="missionOne.navigation">
293        <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.
294
295Alternative 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="" />
296        <complete-effects>
297            <AddQuest questId="missionOne.weaponsystemI" />
298        </complete-effects>
299    </LocalQuest>
300
301            <LocalQuest id ="missionOne.weaponsystemI">
302                <QuestDescription title="Destroy the Boxes" description="Test your four different weapons on the four boxes:
3031. laser (left click)
3042. plasma (right click)
3053. target seeking rockets (middle click)
3064. manual rockets (T)
307
308Attention 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="" />
309                    <hints>
310                        <QuestHint id="missionOne.weaponsystem.laser">
311                            <QuestDescription title="Laser" description="The laser is a standard weapon. It is fast and precise but does not deal much damage." />
312                        </QuestHint>
313                        <QuestHint id="missionOne.weaponsystem.lightningGun">
314                            <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." />
315                        </QuestHint>
316                        <QuestHint id="missionOne.weaponsystem.targetSeekingRocket">
317                            <QuestDescription title="Target Seeking Rocket" description="The target seeking rockets follow slow targets on their own." />
318                        </QuestHint>
319                        <QuestHint id="missionOne.weaponsystem.manualrocket">
320                            <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." />
321                        </QuestHint>
322                    </hints>
323                <complete-effects>
324                    <AddQuest questId="missionOne.weaponsystemII" />
325                </complete-effects>
326            </LocalQuest>
327
328            <LocalQuest id="missionOne.weaponsystemII">
329                <QuestDescription title="Kill the pirates" description="Get rid of the patrolling pirates.
330Find out which weapon is best to tackle moving targets. Get close enough." failmessage="" completeMessage="" />
331                <complete-effects>
332                    <AddQuest questId="missionOne.DuballStation" />
333                </complete-effects>
334            </LocalQuest>
335
336    <LocalQuest id="missionOne.DuballStation">
337        <QuestDescription title="Duball Space Station" description="Fly towards the Duball Space Station. The grey radar marker will lead you to its position." failmessage="" completeMessage="" />
338        <complete-effects>
339            <AddQuest questId="missionOne.getHelp" />
340        </complete-effects>
341    </LocalQuest>
342
343    <LocalQuest id="missionOne.getHelp">
344        <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.
345The Hydrogen Farmer is a large spaceship with three legs.
346There 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.
347Simply fly to the center of the Hydrogen Farmer, which is between its three legs.
348
349How to dock: Accept the dialogue, take your hands off the keyboard and watch." failmessage="" completeMessage="" />
350        <complete-effects>
351            <AddQuest questId="missionOne.getHome" />
352        </complete-effects>
353    </LocalQuest>
354
355    <LocalQuest id="missionOne.getHome">
356        <QuestDescription title="Return ASAP" description="So you managed to get the spacecruiser. Use the portal to return to the DuBall Space Station.
357Hurry! Your help is desperately needed." failmessage="" completeMessage="" />
358        <complete-effects>
359            <AddQuest questId="missionOne.defence" />
360        </complete-effects>
361    </LocalQuest>
362
363    <LocalQuest id="missionOne.defence">
364        <QuestDescription title="Defence" description="Seven enemies were detected that seem to launch a coordinated attack.
365Do not hesitate to fight or you will be the target.
366
367Always take care of the enemy that is the closest to you." failmessage="" completeMessage="Yeah! You did it." />
368    </LocalQuest>
369
370    <SimpleNotification message="Dock to the Hydrogen Farmer." broadcast="true">
371        <events>
372            <trigger>
373                <EventListener event=toHydroFarmer />
374            </trigger>
375        </events>
376    </SimpleNotification>
377
378<!-------------------------------------- PART FOUR : Get Help --------------------------------------->
379
380    <Trigger name="famer1" mode="and" stayActive="true">
381        <DistanceTrigger position="-48200,100,0" target="Pawn" distance=650 stayActive="true" delay=0 />
382        <EventTrigger name="notGameEnd" activations="1" invert="true">
383          <events>
384            <trigger>
385              <EventListener event="gameEnd" />
386            </trigger>
387          </events>
388        </EventTrigger>
389    </Trigger>
390
391    <Trigger name="famer2" mode="and" stayActive="true">
392        <DistanceTrigger position="-48200,100,0" target="Pawn" distance=650 stayActive="true" delay=4 />
393        <EventTrigger activations="1" invert="true">
394          <events>
395            <trigger>
396              <EventListener event="gameEnd" />
397            </trigger>
398          </events>
399        </EventTrigger>
400    </Trigger>
401
402    <SimpleNotification message="We just received a message from DuBall." broadcast="true">
403        <events>
404            <trigger>
405                <EventListener event=famer1 />
406            </trigger>
407        </events>
408    </SimpleNotification>
409
410
411    <SimpleNotification message="We will lend you our strongest ship." broadcast="true">
412        <events>
413            <trigger>
414                <EventListener event=famer2 />
415            </trigger>
416        </events>
417    </SimpleNotification>
418
419
420<!-- @Objects: HYDROGEN FARMER & DOCKING -->
421    <SpaceShip
422        team      = 0
423        position  = "-48900,100,0"
424        roll      = 90   yaw=0  pitch=20
425        mass      = 10000
426        health    = 100000 initialhealth=100000 maxhealth="100000"
427        name      = "HydroFarmer"
428        radarname = "Hydrogen Farmer" >
429      <attached>
430        <!-- Docking -->
431        <DistanceTriggerBeacon name="bcnDestroyer" />
432        <DockingTarget name="destroyer" />
433
434        <Model mesh="HydroHarvester.mesh" mass=10 position="0,0,0" scale=50 />
435   <!-- <Model mesh="cube.mesh" mass=10 position="-560,0,0" scale3D="115,100,245"  />
436        <Model mesh="cube.mesh" mass=10 position="290,0,-480" scale3D="115,100,245" yaw=-120 />
437        <Model mesh="cube.mesh" mass=10 position="290,0,480" scale3D="115,100,245" yaw=-240 />
438        <Model mesh="cube.mesh" mass=10 position="-280,0,0" scale3D="163,50,50" />
439        <Model mesh="cube.mesh" mass=10 position="140,0,-240" scale3D="163,50,50"  yaw=-120/>
440        <Model mesh="cube.mesh" mass=10 position="140,0,240" scale3D="163,50,50" yaw=-240/>
441        <Model mesh="cube.mesh" mass=10 position="0,530,0" scale3D="172,52,298" />
442        <Model mesh="cube.mesh" mass=10 position="0,530,0" scale3D="172,52,298" yaw=-120/>
443        <Model mesh="cube.mesh" mass=10 position="0,530,0" scale3D="172,52,298" yaw=-240/>
444        <Model mesh="cube.mesh" mass=10 position="0,400,0" scale3D="43,110,26" yaw=-30 />
445        <Model mesh="cube.mesh" mass=10 position="-200,100,0" scale3D="26,50,43" />
446        <Model mesh="cube.mesh" mass=10 position="100,100,-173" scale3D="43,50,26" yaw=-30/>
447        <Model mesh="cube.mesh" mass=10 position="100,100,173" scale3D="43,50,26" yaw=30/>
448        <Model mesh="cube.mesh" mass=10 position="-100,264,0" scale3D="26,105,43" roll=-49/>
449        <Model mesh="cube.mesh" mass=10 position="50,264,-87" scale3D="26,105,43" roll=-49 yaw=-120/>
450        <Model mesh="cube.mesh" mass=10 position="50,264,87" scale3D="26,105,43" roll=-49 yaw=-240/>     -->
451      </attached>
452      <collisionShapes>
453        <BoxCollisionShape  position="-560,0,0" halfExtents="115,100,245" /><!-- Three lower boxes -->
454        <BoxCollisionShape  position="290,0,-480" halfExtents="115,100,245" yaw=-120 />
455        <BoxCollisionShape  position="290,0,480" halfExtents="115,100,245" yaw=-240 />
456        <BoxCollisionShape  position="-280,0,0" halfExtents="163,50,50" /><!-- Three lower connections -->
457        <BoxCollisionShape  position="140,0,-240" halfExtents="163,50,50" yaw=-120 />
458        <BoxCollisionShape  position="140,0,240" halfExtents="163,50,50" yaw=-240 />
459        <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" /><!-- Upper Tower -->
460        <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" yaw=-120 />
461        <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" yaw=-240 />
462        <BoxCollisionShape  position="0,400,0" halfExtents="43,110,26" yaw=-30 /><!-- Middle one-->
463        <BoxCollisionShape  position="-200,100,0" halfExtents="26,50,43" /><!--Three lower legs -->
464        <BoxCollisionShape  position="100,100,-173" halfExtents="43,50,26" yaw=-30 />
465        <BoxCollisionShape  position="100,100,-173" halfExtents="43,50,26" yaw=30 />
466        <BoxCollisionShape  position="-100,264,0" halfExtents="26,105,43" roll=-49 /><!--Three upper legs -->
467        <BoxCollisionShape  position="50,264,-87" halfExtents="26,105,43" roll=-49 yaw=-120 />
468        <BoxCollisionShape  position="50,264,87" halfExtents="26,105,43" roll=-49 yaw=-240 />
469      </collisionShapes>
470    </SpaceShip>
471
472    <Dock position="-48900,0,0" roll=90 yaw=180 >
473        <animations>
474            <MoveToDockingTarget target="destroyer" />
475        </animations>
476        <effects>
477            <DockToShip target="spaceShip" />
478        </effects>
479        <events>
480            <execute>
481                <EventListener event="dockMe" />
482            </execute>
483            <activity>
484                <EventListener event=notGameEnd />
485            </activity>
486        </events>
487        <attached>
488            <DistanceTrigger position="10,-202, -42" distance="800" target="Pawn"
489                beaconMode="exclude" targetname="bcnDestroyer" name="dockMe"
490            />
491        </attached>
492
493    </Dock>
494
495<!--@Objects: SpaceCruiser as docking target -->
496    <SpaceShip
497        template            = "spaceshipspacecruiser"
498        team                = "0"
499        position            = "-48900,800,0"
500        orientation         = "-0.14, 0.68, 0.68, 0.223"
501        health              = "400"
502        initialhealth       = "400"
503        maxhealth           = "500"
504        shieldhealth        = "80"
505        initialshieldhealth = "80"
506        maxshieldhealth     = "120"
507        shieldabsorption    = "0.8"
508        reloadrate          = "1"
509        reloadwaittime      = "1"
510        name                = "cruiser"
511        radarname           = "Spacecruiser" >
512    <!--FpsPlayer
513   spawnparticlesource    = "Orxonox/fairytwirl"
514   spawnparticleduration  = 3
515   explosionchunks        = 6
516
517   health            = 100
518   maxhealth         = 200
519   initialhealth     = 100
520
521   primaryThrust     = 0;
522   auxilaryThrust    = 0;
523   rotationThrust    = 0;
524
525   collisionType     = "dynamic"
526   mass              = 100
527   linearDamping     = 0.7
528   angularDamping    = 0.9999999
529   friction          = 0.01
530
531   weapon            = "hs-w01.mesh"
532
533   radarname         = "FPS"
534  -->
535      <attached>
536        <DockingTarget name="spaceShip" />
537      </attached>
538    </SpaceShip>
539
540
541<!-- cruiserKilled: if cuiser is killed & player hasn't taken control of spacecrusier -->
542          <Trigger name="cruiserKilled" mode="and" stayActive="true">
543            <EventTrigger  stayActive="true">
544              <events>
545                <trigger>
546                  <EventListener event="cruiser"/>
547                </trigger>
548              </events>
549            </EventTrigger>
550            <EventTrigger invert=true>
551              <events>
552                <trigger>
553                  <EventListener event="ondock" />
554                </trigger>
555              </events>
556            </EventTrigger>
557          </Trigger>
558
559
560<!-- triggers when either hydrofarmer or cruiser is killed -->
561            <Trigger mode=or name="gameEnd">
562                <EventTrigger activations="1">
563                  <events>
564                    <trigger>
565                      <EventListener event="HydroFarmer" />
566                    </trigger>
567                  </events>
568                </EventTrigger>
569                <EventTrigger activations="1">
570                  <events>
571                    <trigger>
572                      <EventListener event="cruiserKilled" />
573                    </trigger>
574                  </events>
575                </EventTrigger>
576            </Trigger>
577
578<!-- triggers delayed when either hydrofarmer or cruiser is killed -->
579            <EventTrigger delay=4 name="earlyEnd">
580              <events>
581                <trigger>
582                  <EventListener event="gameEnd" />
583                </trigger>
584              </events>
585              <events>
586                <activity>
587                  <EventListener event="movingpirates2" />
588                </activity>
589              </events>
590            </EventTrigger>
591
592
593    <SimpleNotification message="Oh no! You killed the Hydrogen Farmer!" broadcast="true">
594        <events>
595            <trigger>
596                <EventListener event="HydroFarmer" />
597            </trigger>
598        </events>
599    </SimpleNotification>
600
601    <SimpleNotification message="Oh no! You killed the SpaceCruiser!" broadcast="true">
602        <events>
603            <trigger>
604                <EventListener event="cruiserKilled" />
605            </trigger>
606        </events>
607    </SimpleNotification>
608
609    <SimpleNotification message="Press (Esc) and restart the mission." broadcast="true">
610        <events>
611            <trigger>
612                <EventListener event="earlyEnd" />
613            </trigger>
614        </events>
615    </SimpleNotification>
616
617<!-- hydrogen farmer & docking END -->
618
619
620<!-- @Objects: Pickup - find better place !! -->
621    <PickupSpawner pickup=hugeshieldpickup position="-48650,700,100" triggerDistance="70" respawnTime="30" maxSpawnedItems="1" />
622
623
624    <DistanceTrigger name="pickup" position="-48650,700,100" target="Pawn" distance=60 stayActive="true" delay=0 />
625    <SimpleNotification message="This pickup protects your spaceship.">
626        <events>
627            <trigger>
628                <EventListener event=pickup />
629            </trigger>
630        </events>
631    </SimpleNotification>
632<!-- Pickup-->
633
634
635<!-- @Objects: planet && spaceboundaries  -->
636    <Planet
637      position="-44000,0,0"
638      scale="2500"
639      collisionType="dynamic"
640      linearDamping="0.8"
641      angularDamping="0"
642      mass="10000000"
643      pitch="0"
644      mesh="planets/muunilinst.mesh"
645      atmosphere="atmosphere1"
646      rotationaxis="1,0,0"
647      rotationrate="1.0"
648      atmospheresize="80.0f"
649      imagesize="1024.0f"
650      collisiondamage = "2"
651      enablecollisiondamage = "false"
652    >
653      <!--attached>
654        <ForceField position="0,0,0" mode="sphere" diameter="10000" velocity="-50" />
655      </attached-->  <!-- Forcefield kills HYDROGEN FARMER-->
656      <collisionShapes>
657        <SphereCollisionShape radius="2500" position="0,0,0" />
658      </collisionShapes>
659    </Planet>
660
661
662<!-------------------------------------- The attack --------------------------------------->
663<!-- TODO:
664     - update spaceshipTransporter
665     - bots do friendly fire (is drone function reusable?)
666-->
667
668<!-- Fallback Spawnpoint: on cruiserdeath caused by pirates. Unfortunately unstable behaviour concerning activity. -->
669    <TeamSpawnPoint team=0 position="2000,1500,-1500" direction="-1,-1,1" spawnclass=SpaceShip pawndesign=spaceshipspacecruiser>
670        <events>
671            <activity>
672                <EventListener event="attack" />
673            </activity>
674        </events>
675    </TeamSpawnPoint>
676
677<!-- @Triggers: toHydroFamer <-> first  portal usage
678                ondock       <-> successfull docking
679                attack       <-> second portal usage -->
680
681    <DistanceTrigger name="attack" position="-1400,-500,800" target="Pawn" distance=100 stayActive="true" mode="and">
682        <EventTrigger name="ondock" activations="1" stayactive="true" delay=6>
683          <events>
684            <trigger>
685              <EventListener event="dockMe" />
686            </trigger>
687          </events>
688            <Trigger mode=and>
689              <DistanceTrigger name="toHydroFarmer" position="-47000,-1000,1300" target="Pawn" distance=100 stayActive="true" />
690              <EventTrigger activations="1" invert="true">
691                <events>
692                  <trigger>
693                    <EventListener event="gameEnd" />
694                  </trigger>
695                </events>
696              </EventTrigger>
697            </Trigger>
698        </EventTrigger>
699        <EventTrigger activations="1" invert="true">
700          <events>
701            <trigger>
702              <EventListener event="earlyEnd" />
703            </trigger>
704          </events>
705        </EventTrigger>
706    </DistanceTrigger>
707
708    <SimpleNotification message="Return before it's too late. Boost with (Space)." broadcast="true">
709        <events>
710            <trigger>
711                <EventListener event=ondock />
712            </trigger>
713        </events>
714    </SimpleNotification>
715
716    <SimpleNotification message="Several serious enemies are approaching!">
717        <events>
718            <trigger>
719                <EventListener event=attack />
720            </trigger>
721        </events>
722    </SimpleNotification>
723
724
725<!-- @Objects: 6 pirates, heading towards DuBall, attacking  -->
726<!-- TODO: re-hide pirates on early end-->
727<!-- 1 -->
728    <SpaceShip position="3000,-4000,4000" lookat="-1300,-600,900" name="attacker"visible="true">
729        <events>
730            <visibility>
731                <EventListener event="ondock" />
732            </visibility>
733        </events>
734        <templates>
735            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
736        </templates>
737        <controller>
738            <WaypointPatrolController alertnessradius=3129 team=1 active=false>
739                <waypoints>
740                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
741                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
742                </waypoints>
743                <events>
744                    <activity>
745                        <EventListener event="attack" /> <!-- activates enemies-->
746                     </activity>
747                </events>
748            </WaypointPatrolController>
749        </controller>
750    </SpaceShip>
751<!-- 2 -->
752    <SpaceShip position="3000,-4000,-4000" lookat="-1300,-600,900" name="attacker" visible="true">
753        <events>
754            <visibility>
755                <EventListener event="ondock" />
756            </visibility>
757        </events>
758        <templates>
759            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
760        </templates>
761        <controller>
762            <WaypointPatrolController alertnessradius=3129 team=1 active=false>
763                <waypoints>
764                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
765                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
766                </waypoints>
767                <events>
768                    <activity>
769                        <EventListener event="attack" /> <!-- activates enemies-->
770                     </activity>
771                </events>
772            </WaypointPatrolController>
773        </controller>
774    </SpaceShip>
775<!-- 3 -->
776    <SpaceShip position="-4000,-3000,4000" lookat="-1300,-600,900" name="attacker" visible="true">
777        <events>
778            <visibility>
779                <EventListener event="ondock" />
780            </visibility>
781        </events>
782        <templates>
783            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
784        </templates>
785        <controller>
786            <WaypointPatrolController alertnessradius=3129 team=1 active=false>
787                <waypoints>
788                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
789                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
790                </waypoints>
791                <events>
792                    <activity>
793                        <EventListener event="attack" /> <!-- activates enemies-->
794                     </activity>
795                </events>
796            </WaypointPatrolController>
797        </controller>
798    </SpaceShip>
799<!-- 4 -->
800    <SpaceShip position="-3000,-3000,-5000" lookat="-1300,-600,900" name="attacker" visible="true">
801        <events>
802            <visibility>
803                <EventListener event="ondock" />
804            </visibility>
805        </events>
806        <templates>
807            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
808        </templates>
809        <controller>
810            <WaypointPatrolController alertnessradius=3129 team=1 active=false>
811                <waypoints>
812                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
813                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
814                </waypoints>
815                <events>
816                    <activity>
817                        <EventListener event="attack" /> <!-- activates enemies-->
818                     </activity>
819                </events>
820            </WaypointPatrolController>
821        </controller>
822    </SpaceShip>
823<!-- 5 -->
824    <SpaceShip position="4000,4000,3000" lookat="-1300,-600,900" name="attacker"visible="true">
825        <events>
826            <visibility>
827                <EventListener event="ondock" />
828            </visibility>
829        </events>
830        <templates>
831            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
832        </templates>
833        <controller>
834            <WaypointPatrolController alertnessradius=3129 team=1 active=false>
835                <waypoints>
836                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
837                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
838                </waypoints>
839                <events>
840                    <activity>
841                        <EventListener event="attack" /> <!-- activates enemies-->
842                     </activity>
843                </events>
844            </WaypointPatrolController>
845        </controller>
846    </SpaceShip>
847<!-- 6 -->
848    <SpaceShip position="2000,-4000,5000" lookat="-1300,-600,900" name="attacker" visible="true">
849        <events>
850            <visibility>
851                <EventListener event="ondock" />
852            </visibility>
853        </events>
854        <templates>
855            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
856        </templates>
857        <controller>
858            <WaypointPatrolController alertnessradius=3129 team=1 active=false>
859                <waypoints>
860                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
861                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
862                </waypoints>
863                <events>
864                    <activity>
865                        <EventListener event="attack" /> <!-- activates enemies-->
866                     </activity>
867                </events>
868            </WaypointPatrolController>
869        </controller>
870    </SpaceShip>
871
872
873<!-- @Triggers: attacktriggerX <-> X enemies destroyed , X is an element of [1,6] -->
874    <EventTrigger name="attacktrigger6" activations="1" stayactive="true">
875      <events>
876        <trigger>
877          <EventListener event="attacker" />
878        </trigger>
879      </events>
880      <EventTrigger name="attacktrigger5" activations="1" stayactive="true" delay=0.1>
881        <events>
882          <trigger>
883            <EventListener event="attacker" />
884          </trigger>
885        </events>
886        <EventTrigger name="attacktrigger4" activations="1" stayactive="true" delay=0.1>
887          <events>
888            <trigger>
889              <EventListener event="attacker" />
890            </trigger>
891          </events>
892          <EventTrigger name="attacktrigger3" activations="1" stayactive="true" delay=0.1>
893            <events>
894              <trigger>
895                <EventListener event="attacker" />
896              </trigger>
897            </events>
898            <EventTrigger name="attacktrigger2" activations="1" stayactive="true" delay=0.1>
899              <events>
900                <trigger>
901                  <EventListener event="attacker" />
902                </trigger>
903              </events>
904              <EventTrigger name="attacktrigger1" activations="1" stayactive="true" delay=0.1>
905                <events>
906                  <trigger>
907                    <EventListener event="attacker" />
908                  </trigger>
909                </events>
910              </EventTrigger>
911            </EventTrigger>
912          </EventTrigger>
913        </EventTrigger>
914      </EventTrigger>
915    </EventTrigger>
916
917
918    <SimpleNotification message="5 enemies left!" broadcast="true">
919      <events>
920        <trigger>
921          <EventListener event="attacktrigger1" />
922        </trigger>
923      </events>
924    </SimpleNotification>
925
926    <SimpleNotification message="4 enemies left!" broadcast="true">
927      <events>
928        <trigger>
929          <EventListener event="attacktrigger2" />
930        </trigger>
931      </events>
932    </SimpleNotification>
933
934    <SimpleNotification message="3 enemies left!" broadcast="true">
935      <events>
936        <trigger>
937          <EventListener event="attacktrigger3" />
938        </trigger>
939      </events>
940    </SimpleNotification>
941
942    <SimpleNotification message="2 enemies left!" broadcast="true">
943      <events>
944        <trigger>
945          <EventListener event="attacktrigger4" />
946        </trigger>
947      </events>
948    </SimpleNotification>
949
950    <SimpleNotification message="One enemy left!" broadcast="true">
951      <events>
952        <trigger>
953          <EventListener event="attacktrigger5" />
954        </trigger>
955      </events>
956    </SimpleNotification>
957
958    <SimpleNotification message="Well done. You finished this tutorial." broadcast="true">
959      <events>
960        <trigger>
961          <EventListener event="attacktrigger6" />
962        </trigger>
963      </events>
964    </SimpleNotification>
965
966<!-- @Triggers: postAttack <-> delayed attacktrigger6 -->
967    <EventTrigger name="postAttack1" activations="1" stayactive="true" delay=4.1>
968      <events>
969        <trigger>
970          <EventListener event="attacktrigger6" />
971        </trigger>
972      </events>
973    </EventTrigger>
974
975    <EventTrigger name="postAttack2" activations="1" stayactive="true" delay=8.2>
976      <events>
977        <trigger>
978          <EventListener event="attacktrigger6" />
979        </trigger>
980      </events>
981    </EventTrigger>
982
983    <SimpleNotification message="Either quit by pressing (Esc) or ..." broadcast="true">
984      <events>
985        <trigger>
986          <EventListener event="postAttack1" />
987        </trigger>
988      </events>
989    </SimpleNotification>
990
991    <SimpleNotification message="... stay here to learn some tricks." broadcast="true">
992      <events>
993        <trigger>
994          <EventListener event="postAttack2" />
995        </trigger>
996      </events>
997    </SimpleNotification>
998
999<!-------------------------------------- |Bonus Part| --------------------------------------->
1000<!-- @Triggers: "bonusX" <->  delayed "attacktrigger6" -->
1001    <EventTrigger name="bonus1" activations="1" stayactive="true" delay=12.3>
1002      <events>
1003        <trigger>
1004          <EventListener event="attacktrigger6" />
1005        </trigger>
1006      </events>
1007    </EventTrigger>
1008    <EventTrigger name="bonus2" activations="1" stayactive="true" delay=16.4>
1009      <events>
1010        <trigger>
1011          <EventListener event="attacktrigger6" />
1012        </trigger>
1013      </events>
1014    </EventTrigger>
1015    <EventTrigger name="bonus3" activations="1" stayactive="true" delay=22>
1016      <events>
1017        <trigger>
1018          <EventListener event="attacktrigger6" />
1019        </trigger>
1020      </events>
1021    </EventTrigger>
1022    <EventTrigger name="bonus4" activations="1" stayactive="true" delay=28.1>
1023      <events>
1024        <trigger>
1025          <EventListener event="attacktrigger6" />
1026        </trigger>
1027      </events>
1028    </EventTrigger>
1029    <EventTrigger name="bonus5" activations="1" stayactive="true" delay=32.3>
1030      <events>
1031        <trigger>
1032          <EventListener event="attacktrigger6" />
1033        </trigger>
1034      </events>
1035    </EventTrigger>
1036    <EventTrigger name="bonus6" activations="1" stayactive="true" delay=36.5>
1037      <events>
1038        <trigger>
1039          <EventListener event="attacktrigger6" />
1040        </trigger>
1041      </events>
1042    </EventTrigger>
1043    <EventTrigger name="bonus7" activations="1" stayactive="true" delay=4.1>
1044      <events>
1045        <trigger>
1046          <EventListener event="bonus6" />
1047        </trigger>
1048      </events>
1049    </EventTrigger>
1050
1051
1052
1053    <SimpleNotification message="Rotate your ship. Press (Q) or (E). "  broadcast="true">
1054        <events>
1055            <trigger>
1056                <EventListener event=bonus1 />
1057            </trigger>
1058        </events>
1059    </SimpleNotification>
1060
1061    <SimpleNotification message="Switch the camera's position. Press (C). "  broadcast="true">
1062        <events>
1063            <trigger>
1064                <EventListener event=bonus2 />
1065            </trigger>
1066        </events>
1067    </SimpleNotification>
1068
1069    <SimpleNotification message="360° view: press (Ctrl) + use the mouse "  broadcast="true">
1070        <events>
1071            <trigger>
1072                <EventListener event=bonus3 />
1073            </trigger>
1074        </events>
1075    </SimpleNotification>
1076
1077    <SimpleNotification message="Have a look at the main menu's settings."  broadcast="true">
1078        <events>
1079            <trigger>
1080                <EventListener event=bonus4 />
1081            </trigger>
1082        </events>
1083    </SimpleNotification>
1084
1085    <SimpleNotification message="E.g: Settings > Miscellaneous > Nr. of bots"  broadcast="true">
1086        <events>
1087            <trigger>
1088                <EventListener event=bonus5 />
1089            </trigger>
1090        </events>
1091    </SimpleNotification>
1092
1093    <SimpleNotification message="You successfully finished Mission One!"  broadcast="true">
1094        <events>
1095            <trigger>
1096                <EventListener event=bonus6 />
1097            </trigger>
1098        </events>
1099    </SimpleNotification>
1100
1101    <SimpleNotification message="Press (Esc) and return to the main menu."  broadcast="true">
1102        <events>
1103            <trigger>
1104                <EventListener event=bonus7 />
1105            </trigger>
1106        </events>
1107    </SimpleNotification>
1108
1109
1110    <!--Script code="addBots 3" onLoad="false">
1111        <events>
1112            <trigger>
1113                <EventListener event=bonus6 />
1114            </trigger>
1115        </events>
1116    </Script>
1117
1118    <Script code="artificialcontroller setbotlevel 0.1" onLoad="false">
1119        <events>
1120            <trigger>
1121                <EventListener event=bonus6 />
1122            </trigger>
1123        </events>
1124    </Script-->
1125    <!-- Script code="artificialcontroller setbotlevel 0.1" /-->
1126  </Scene>
1127</Level>
1128
1129<!-- TODO:
1130- Story & more precise Questmessages; more quest hints; fail-quest;
1131- Colouring: Show who is friend or foe via the colour
1132- Waypoints: show the player the way
1133- Foolproof text messages (e.g. verspätete Nachrichten unterdrücken ~done )
1134- End Tutorial, if either the Hydrogen Farmer or the SpaceCruiser gets destroyed. (~done)
1135 -->
Note: See TracBrowser for help on using the repository browser.