Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

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

Further work on tutorial. More about it in the forums.

File size: 30.6 KB
Line 
1<LevelInfo
2 name = "Mission One"
3 description = "First guided steps in the orxonoxian universe."
4 tags = "singleplayer"
5/>
6
7<?lua
8  include("stats.oxo")
9  include("HUDTemplates3.oxo")
10  include("templates/lodInformation.oxt")
11  include("templates/spaceshipAssff.oxt")
12  include("templates/spaceshipPirate.oxt")
13  include("templates/spaceshipSpacecruiser.oxt")
14  include("templates/spaceshipTransporter.oxt")
15?>
16
17<?lua
18include("templates/pickupRepresentationTemplates.oxt")
19?>
20
21<Level
22 name         = "Mission One"
23 description  = "How to steer a spaceship."
24>
25  <templates>
26    <Template link=lodtemplate_default />
27  </templates>
28  <?lua include("includes/notifications.oxi") ?>
29
30  <NotificationQueueCEGUI
31    name="narrative"
32    targets="simpleNotification"
33    size=1
34    displayTime=30
35    position="0.2, 0, 0.1, 0"
36    fontSize="24"
37    fontColor="0.3, 1, 0.2, 0.8"
38    alignment="HorzCentred"
39    displaySize="0.6, 0, 0, 0"
40    />
41  <Scene
42    ambientlight = "0.8, 0.8, 0.8"
43    skybox       = "Orxonox/Starbox"
44  >
45    <?lua
46      include("includes/pickups.oxi")
47    ?>
48
49    <WorldAmbientSound
50      ambientSource="Jupiter.ogg"
51      looping="true"
52      playOnLoad="true"
53    />
54<!-- AlphaCentauri.ogg-->
55    <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"/>
56    <SpawnPoint team=0 position="-200,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff />
57    <!-- Script code="artificialcontroller setbotlevel 0.1" /-->
58
59<!-- END OF INCLUDES & NECESSARITIES -->
60
61<!-- TUTORIAL-TODO: -->
62
63<!-- 1. Aiming & Weapons (static targets, moving targets, dangerous targets)--> <!-- 3 Mouse buttons + "T"-->
64<!-- 2. Flying & manoeuvring (basic flying, using pickups, forcefields, docks & portals) --> <!-- "W","S","SPACE"-->
65<!-- 3. Game handling (quests, knowing when a game is over :-), pausing, chat, ... ) --> <!--"F3", "F2", "ESC" -->
66<!-- 4. Extras (other things to discover) --> <!-- "Q","E","A","D","C", "CTRL", "", ... -->
67
68<!--
69Four boxes for aiming
70TODO: Turn engine off at the beginning.
71TODO: display text: "Destroy those four boxes. Aim the a the box and shoot by using the left mouse button."
72"The laser is a standard weapon. It is fast and precise but does not deal much damage. Now do the same with the next target, but right click instead."
73"That was the lightning gun. Its plasma munition is quite slow, but a normal spaceship can't take more than three hits of such a strong weapon. That should be your favourite in close range combat or if you want to hit a really slow enemy. Try to destroy the next box by right clicking at it."
74"The target seeking rockets follow their target on their own and the explosive load shouldn't be underestimated. Now its time to hit the last target with the hand guided rocket. You can release one by pressing T once. Note: If you miss the target, you can get out of the rocket by clicking or pressing T once more."
75
76TODO: send in waypoint controlled ship that moves
77
78"Task complete. Manual rockets are your most powerful weapon. But since you have to steer it to your target yourself, you will leave your spaceship unprotected for a while. Now lets move to a slightly more difficult target. Take a look at your radar. The red dot is an enemy's ship. Try to turn your ship towards it, such that the red dot is in the radar's centre. You should be able to see it then directly. Your task is to destroy it."
79
80TODO: Turn engine on. Display a waypoint.
81"Lets start flying. Use W to accelerate and S to brake. The goal is to reach the spacestation which is displayed on the radar. If you want to be faster you can temporarily boost by hitting additionally the space button. If you use too much boost your engine heats up and you won't be able to use boost for a while. By the way boost could be useful during combat .."
82"That thing you've just collected is a drone. It will follow and protect you."
83TODO: send in a level 0.1 bot on a pirate ship.
84"Hi. We have been attacked by a pirate lately. Please protect us. The drone pickup will help you."
85
86-->
87
88
89<!-------------------------------------- PART ONE: Destroy boxes --------------------------------------->
90    <DistanceTrigger name="spawndelaytrigger1" position="-200,0,0" target="Pawn" distance=10 stayActive="true" delay=2 />
91    <SimpleNotification message="Destroy those four boxes.">
92        <events>
93            <trigger>
94                <EventListener event=spawndelaytrigger1 />
95            </trigger>
96        </events>
97    </SimpleNotification>
98
99    <DistanceTrigger name="spawndelaytrigger2" position="-200,0,0" target="Pawn" distance=10 stayActive="true" delay=5 />
100    <SimpleNotification message=" 1. Aim the a the red cycle.">
101        <events>
102            <trigger>
103                <EventListener event=spawndelaytrigger2 />
104            </trigger>
105        </events>
106    </SimpleNotification>
107
108    <DistanceTrigger name="spawndelaytrigger3" position="-200,0,0" target="Pawn" distance=10 stayActive="true" delay=8 />
109    <SimpleNotification message="2. Click! (hold the left mouse button)">
110        <events>
111            <trigger>
112                <EventListener event=spawndelaytrigger3 />
113            </trigger>
114        </events>
115    </SimpleNotification>
116
117<!-- static briefing END // Interactive briefing start -->
118
119  <SimpleNotification message="Right click on the next target." broadcast="true">
120        <events>
121            <trigger>
122                <Pawn health=30 position="0,0,0" direction="0,-1,0" collisionType=dynamic mass=100000>
123                    <attached>
124                        <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
125                    </attached>
126                    <collisionShapes>
127                        <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
128                    </collisionShapes>
129                </Pawn>
130            </trigger>
131        </events>
132    </SimpleNotification>
133
134  <SimpleNotification message="Middle click on the next target." broadcast="true">
135        <events>
136            <trigger>
137                <Pawn health=30 position="0,100,0" direction="0,-1,0" collisionType=dynamic mass=100000>
138                    <!--events>
139                        <visibility>
140                            <EventListener event=spawndelaytrigger3 />
141                        </visibility>
142                   </events-->
143
144                    <attached>
145                        <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
146                    </attached>
147                    <collisionShapes>
148                        <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
149                    </collisionShapes>
150                </Pawn>
151            </trigger>
152        </events>
153    </SimpleNotification>
154
155
156  <SimpleNotification message="Aim at the last target and press 'T'." broadcast="true">
157        <events>
158            <trigger>
159                <Pawn health=30 position="0,200,0" direction="0,-1,0" collisionType=dynamic mass=100000>
160                    <attached>
161                        <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
162                    </attached>
163                    <collisionShapes>
164                        <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
165                    </collisionShapes>
166                </Pawn>
167            </trigger>
168        </events>
169    </SimpleNotification>
170
171  <SimpleNotification message="Fly towards the pirates. Press 'W'." broadcast="true">
172        <events>
173            <trigger>
174                <Pawn health=30 position="0,300,0" direction="0,-1,0" collisionType=dynamic mass=100000>
175                    <attached>
176                        <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
177                    </attached>
178                    <collisionShapes>
179                        <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
180                    </collisionShapes>
181                </Pawn>
182            </trigger>
183        </events>
184    </SimpleNotification>
185
186
187<!--------------------------------------PART TWO: Moving targets --------------------------------------->
188    <DistanceTrigger name="movingtargets" position="0,500,0" target="Pawn" distance=180 stayActive="true" delay=2 />
189    <Billboard position="0,500,0" material="Examples/Flare" colour="0.5,0,0" scale=3/><!-- TODO: hide. -->
190    <SimpleNotification message="Try to hit the pirates while you are flying.">
191        <events>
192            <trigger>
193                <EventListener event=movingtargets />
194            </trigger>
195        </events>
196    </SimpleNotification>
197
198
199
200  <SimpleNotification message="Now get the other one." broadcast="true">
201        <events>
202            <trigger>
203                <SpaceShip position="0,2000,200" lookat="0,0,0">
204                    <templates>
205                      <Template link=spaceshippirate />
206                    </templates>
207                    <controller>
208                      <WaypointController>
209                         <waypoints>
210                          <Model mesh="cube.mesh" scale=8 position="  0,1700,-200" />
211                          <Model mesh="cube.mesh" scale=8 position="  0,1700,-700" />
212                          <Model mesh="cube.mesh" scale=8 position="500,1700,-700" />
213                          <Model mesh="cube.mesh" scale=8 position="500,1700,-200" />
214                       </waypoints>
215                    </WaypointController>
216                  </controller>
217                </SpaceShip>
218            </trigger>
219        </events>
220    </SimpleNotification>
221
222  <SimpleNotification message="Fly towards the space station (grey dot)." broadcast="true">
223        <events>
224            <trigger>
225                <SpaceShip position="0,2000,400" lookat="0,0,0">
226                  <templates>
227                    <Template link=spaceshippirate />
228                  </templates>
229                  <controller>
230                    <WaypointController>
231                      <waypoints>
232                        <Model mesh="cube.mesh" scale=8 position="  0,2400,1000" />
233                        <Model mesh="cube.mesh" scale=8 position="  0,2400,500" />
234                        <Model mesh="cube.mesh" scale=8 position="500,2400,500" />
235                        <Model mesh="cube.mesh" scale=8 position="500,2400, 1000" />
236                      </waypoints>
237                    </WaypointController>
238                  </controller>
239                </SpaceShip>
240            </trigger>
241        </events>
242    </SimpleNotification>
243
244<!--------------------------------------PART THREE: to the space station --------------------------------------->
245    <DistanceTrigger name="duball1" position="-1000,-300,700" target="Pawn" distance=700 stayActive="true" delay=2 />
246    <SimpleNotification message="Welcome to the Duball Space Station!">
247        <events>
248            <trigger>
249                <EventListener event=duball1 />
250            </trigger>
251        </events>
252    </SimpleNotification>
253
254    <DistanceTrigger name="duball2" position="-1000,-300,700" target="Pawn" distance=700 stayActive="true" delay=5 />
255    <SimpleNotification message="Warning: Something big is coming.">
256        <events>
257            <trigger>
258                <EventListener event=duball2 />
259            </trigger>
260        </events>
261    </SimpleNotification>
262
263    <!--DistanceTrigger name="duball3" position="-1000,-300,700" target="Pawn" distance=700 stayActive="true" delay=9 />
264    <SimpleNotification message="Get some help,  before it is too late.">
265        <events>
266            <trigger>
267                <EventListener event=duball3 />
268            </trigger>
269        </events>
270    </SimpleNotification-->
271
272    <DistanceTrigger name="duball4" position="-1000,-300,700" target="Pawn" distance=700 stayActive="true" delay=10 />
273    <SimpleNotification message="Use the portals to get help. (grey dot)">
274        <events>
275            <trigger>
276                <EventListener event=duball4 />
277            </trigger>
278        </events>
279    </SimpleNotification>
280
281<StaticEntity position="-1000,-300,700" collisionType=static>
282      <attached>
283        <Model scale=13 mesh="DuBall1.mesh" position = "-100,0,0"/>
284        <Model scale=13 mesh="DuBall2.mesh" position = "100,0,0"/>
285        <Billboard scale=7 material="Examples/Flare" colour="0.5,0.5,0.5" position = "-100,0,0"/>
286        <Billboard scale=7 material="Examples/Flare" colour="0.5,0.5,0.5" position = "100,0,0"/>       
287      </attached>
288      <collisionShapes>
289        <SphereCollisionShape radius="80"            position = "-100,0,0" />
290        <SphereCollisionShape radius="120"           position = "100,0,0" />
291        <BoxCollisionShape    halfExtents="90,25,45" position = "-155,0,40" />
292      </collisionShapes>
293</StaticEntity>
294
295
296
297<!-- PORTALS -->
298    <Template name=PortalDefault>
299        <PortalEndPoint>
300            <attached>
301                <Billboard material="Portals/Default" />
302            </attached>
303        </PortalEndPoint>
304    </Template>
305
306    <PortalEndPoint position="-1400,-500,800" id="1" distance="50" target="MobileEntity" design="PortalDefault">
307        <!--events>
308            <visibility>
309                <EventListener event=portal />
310            </visibility>
311        </events-->
312    </PortalEndPoint>
313
314    <PortalEndPoint position="-47000,-1000,1300" id="2" distance="70" target="MobileEntity" design="PortalDefault" />
315    <PortalLink fromID="1" toID="2" />
316    <PortalLink fromID="2" toID="1" />
317<!-- PORTALS END-->
318
319    <DistanceTrigger name="toHydroFarmer" position="-47000,-1000,1300" target="Pawn" distance=700 stayActive="true" delay=0 />
320    <SimpleNotification message="Find the Hydrogen Farmer.">
321        <events>
322            <trigger>
323                <EventListener event=toHydroFarmer />
324            </trigger>
325        </events>
326    </SimpleNotification>
327<!-------------------------------------- PART FOUR : Get Help --------------------------------------->   
328    <DistanceTrigger name="famer1" position="-48200,100,0" target="Pawn" distance=650 stayActive="true" delay=0 />
329    <SimpleNotification message="We just received a message from DuBall.">
330        <events>
331            <trigger>
332                <EventListener event=famer1 />
333            </trigger>
334        </events>
335    </SimpleNotification>
336
337    <DistanceTrigger name="famer2" position="-48200,100,0" target="Pawn" distance=650 stayActive="true" delay=4 />
338    <SimpleNotification message="We will lend you our strongest ship.">
339        <events>
340            <trigger>
341                <EventListener event=famer2 />
342            </trigger>
343        </events>
344    </SimpleNotification>
345
346<!-- TODO: c) enemy -->
347
348    <!-- HYDROGEN FARMER & DOCKING?? -->
349    <SpaceShip position="-48900,100,0" roll=90 yaw=0 pitch=20 mass=10000 health=100000 >
350      <attached>
351        <!-- Docking -->
352        <DistanceTriggerBeacon name="bcnDestroyer" />
353        <DockingTarget name="destroyer" />
354
355        <Model mesh="HydroHarvester.mesh" mass=10 position="0,0,0" scale=50 />
356   <!-- <Model mesh="cube.mesh" mass=10 position="-560,0,0" scale3D="115,100,245"  />
357        <Model mesh="cube.mesh" mass=10 position="290,0,-480" scale3D="115,100,245" yaw=-120 />
358        <Model mesh="cube.mesh" mass=10 position="290,0,480" scale3D="115,100,245" yaw=-240 />
359        <Model mesh="cube.mesh" mass=10 position="-280,0,0" scale3D="163,50,50" />
360        <Model mesh="cube.mesh" mass=10 position="140,0,-240" scale3D="163,50,50"  yaw=-120/>
361        <Model mesh="cube.mesh" mass=10 position="140,0,240" scale3D="163,50,50" yaw=-240/>
362        <Model mesh="cube.mesh" mass=10 position="0,530,0" scale3D="172,52,298" />
363        <Model mesh="cube.mesh" mass=10 position="0,530,0" scale3D="172,52,298" yaw=-120/>
364        <Model mesh="cube.mesh" mass=10 position="0,530,0" scale3D="172,52,298" yaw=-240/>
365        <Model mesh="cube.mesh" mass=10 position="0,400,0" scale3D="43,110,26" yaw=-30 />
366        <Model mesh="cube.mesh" mass=10 position="-200,100,0" scale3D="26,50,43" />
367        <Model mesh="cube.mesh" mass=10 position="100,100,-173" scale3D="43,50,26" yaw=-30/>
368        <Model mesh="cube.mesh" mass=10 position="100,100,173" scale3D="43,50,26" yaw=30/>
369        <Model mesh="cube.mesh" mass=10 position="-100,264,0" scale3D="26,105,43" roll=-49/>
370        <Model mesh="cube.mesh" mass=10 position="50,264,-87" scale3D="26,105,43" roll=-49 yaw=-120/>
371        <Model mesh="cube.mesh" mass=10 position="50,264,87" scale3D="26,105,43" roll=-49 yaw=-240/>     -->
372      </attached>
373      <collisionShapes>
374        <BoxCollisionShape  position="-560,0,0" halfExtents="115,100,245" /><!-- Three lower boxes -->
375        <BoxCollisionShape  position="290,0,-480" halfExtents="115,100,245" yaw=-120 />
376        <BoxCollisionShape  position="290,0,480" halfExtents="115,100,245" yaw=-240 />
377        <BoxCollisionShape  position="-280,0,0" halfExtents="163,50,50" /><!-- Three lower connections -->
378        <BoxCollisionShape  position="140,0,-240" halfExtents="163,50,50" yaw=-120 />
379        <BoxCollisionShape  position="140,0,240" halfExtents="163,50,50" yaw=-240 />
380        <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" /><!-- Upper Tower -->
381        <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" yaw=-120 />
382        <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" yaw=-240 />
383        <BoxCollisionShape  position="0,400,0" halfExtents="43,110,26" yaw=-30 /><!-- Middle one-->
384        <BoxCollisionShape  position="-200,100,0" halfExtents="26,50,43" /><!--Three lower legs -->
385        <BoxCollisionShape  position="100,100,-173" halfExtents="43,50,26" yaw=-30 />
386        <BoxCollisionShape  position="100,100,-173" halfExtents="43,50,26" yaw=30 />
387        <BoxCollisionShape  position="-100,264,0" halfExtents="26,105,43" roll=-49 /><!--Three upper legs -->
388        <BoxCollisionShape  position="50,264,-87" halfExtents="26,105,43" roll=-49 yaw=-120 />
389        <BoxCollisionShape  position="50,264,87" halfExtents="26,105,43" roll=-49 yaw=-240 />
390      </collisionShapes>
391    </SpaceShip>
392
393    <Billboard position="-48900,0,0" material="Examples/Flare" colour="0.6,0,0" scale=3/>
394    <Dock position="-48900,0,0" roll=90 yaw=180 >
395        <animations>
396            <MoveToDockingTarget target="destroyer" />
397        </animations>
398        <effects>
399            <DockToShip target="spaceShip" />
400        </effects>
401        <events>
402            <execute>
403                <EventListener event="dockMe" />
404            </execute>
405        </events>
406        <attached>
407            <DistanceTrigger position="10,-202, -42" distance="800" target="Pawn"
408                beaconMode="exclude" targetname="bcnDestroyer" name="dockMe"
409            />
410        </attached>
411    </Dock>
412
413    <SpaceShip template="spaceshipspacecruiser" position="-48900,800,0" orientation="-0.14, 0.68, 0.68, 0.223" health="300" maxhealth="400" initialhealth="300">
414      <attached>
415        <DockingTarget name="spaceShip" />
416      </attached>
417    </SpaceShip>
418
419
420<!-- Pickup - find better place !! -->
421    <DistanceTrigger name="pickup" position="-48650,700,100" target="Pawn" distance=60 stayActive="true" delay=0 />
422    <SimpleNotification message="This pickup protects your spaceship.">
423        <events>
424            <trigger>
425                <EventListener event=pickup />
426            </trigger>
427        </events>
428    </SimpleNotification>
429
430    <PickupSpawner position="-48650,700,100" triggerDistance="70" respawnTime="30" maxSpawnedItems="1">
431      <pickup>
432        <ShieldPickup template=hugeshieldpickup />
433      </pickup>
434    </PickupSpawner>
435<!-- Pickup-->
436
437    <DistanceTrigger name="attack" position="-48650,700,100" target="Pawn" distance=100 stayActive="true" delay=4 />
438    <SimpleNotification message="Return before it is too late. Boost with 'Space'.">
439        <events>
440            <trigger>
441                <EventListener event=attack />
442            </trigger>
443        </events>
444    </SimpleNotification>
445
446
447    <Planet
448      position="-44000,0,0"
449      scale="2500"
450      collisionType="dynamic"
451      linearDamping="0.8"
452      angularDamping="0"
453      mass="10000000"
454      pitch="0"
455      mesh="planets/muunilinst.mesh"
456      atmosphere="atmosphere1"
457      rotationaxis="1,0,0"
458      rotationrate="1.0"
459      atmospheresize="80.0f"
460      imagesize="1024.0f"
461      collisiondamage = 2
462      enablecollisiondamage = true
463    >
464      <!--attached>
465        <ForceField position="0,0,0" mode="sphere" diameter="10000" velocity="-50" />
466      </attached-->  <!-- Forcefield kills HYDROGEN FARMER-->
467      <collisionShapes>
468        <SphereCollisionShape radius="2400" position="0,0,0" /> <!-- Nasty: Collisionradius =! planet scale -->
469      </collisionShapes>
470    </Planet>
471
472
473
474<!-------------------------------------- The attack --------------------------------------->
475
476<!-- TODO:
477     - better performance: 4-8 Transporters from different directions heading towards duball's station
478     - attached with triggers: - if all bots died, then display end message
479                               - do a count down: 'x enemies left'
480     - update spaceshipTransporter
481     - bots do friendly fire (is drone function reusable?)
482-->
483<!-- 1 -->
484    <SpaceShip position="3000,-4000,4000" lookat="-1300,-600,900">
485        <templates>
486            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
487        </templates>
488        <controller>
489            <WaypointPatrolController alertnessradius=3129 team=0 active=false>
490                <waypoints>
491                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
492                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
493                </waypoints>
494                <events>
495                    <activity>
496                        <EventListener event="attack" /> <!-- activates enemies-->
497                     </activity>
498                </events>
499            </WaypointPatrolController>
500        </controller>
501    </SpaceShip>
502<!-- 2 -->
503    <SpaceShip position="3000,-4000,-4000" lookat="-1300,-600,900">
504        <templates>
505            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
506        </templates>
507        <controller>
508            <WaypointPatrolController alertnessradius=3129 team=0 active=false>
509                <waypoints>
510                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
511                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
512                </waypoints>
513                <events>
514                    <activity>
515                        <EventListener event="attack" /> <!-- activates enemies-->
516                     </activity>
517                </events>
518            </WaypointPatrolController>
519        </controller>
520    </SpaceShip>
521<!-- 3 -->
522    <SpaceShip position="-4000,-3000,4000" lookat="-1300,-600,900">
523        <templates>
524            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
525        </templates>
526        <controller>
527            <WaypointPatrolController alertnessradius=3129 team=0 active=false>
528                <waypoints>
529                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
530                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
531                </waypoints>
532                <events>
533                    <activity>
534                        <EventListener event="attack" /> <!-- activates enemies-->
535                     </activity>
536                </events>
537            </WaypointPatrolController>
538        </controller>
539    </SpaceShip>
540<!-- 4 -->
541    <SpaceShip position="-3000,-3000,-5000" lookat="-1300,-600,900">
542        <templates>
543            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
544        </templates>
545        <controller>
546            <WaypointPatrolController alertnessradius=3129 team=0 active=false>
547                <waypoints>
548                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
549                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
550                </waypoints>
551                <events>
552                    <activity>
553                        <EventListener event="attack" /> <!-- activates enemies-->
554                     </activity>
555                </events>
556            </WaypointPatrolController>
557        </controller>
558    </SpaceShip>
559<!-- 5 -->
560    <SpaceShip position="4000,4000,3000" lookat="-1300,-600,900">
561        <templates>
562            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
563        </templates>
564        <controller>
565            <WaypointPatrolController alertnessradius=3129 team=0 active=false>
566                <waypoints>
567                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
568                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
569                </waypoints>
570                <events>
571                    <activity>
572                        <EventListener event="attack" /> <!-- activates enemies-->
573                     </activity>
574                </events>
575            </WaypointPatrolController>
576        </controller>
577    </SpaceShip>
578<!-- 6 -->
579    <SpaceShip position="2000,-4000,5000" lookat="-1300,-600,900">
580        <templates>
581            <Template link=spaceshippirate /> <!--spaceshipTransporter -->
582        </templates>
583        <controller>
584            <WaypointPatrolController alertnessradius=3129 team=0 active=false>
585                <waypoints>
586                    <Model mesh="cube.mesh" scale=0 position="-1300,-600,900" />
587                    <Model mesh="cube.mesh" scale=0 position="0,0,0" />
588                </waypoints>
589                <events>
590                    <activity>
591                        <EventListener event="attack" /> <!-- activates enemies-->
592                     </activity>
593                </events>
594            </WaypointPatrolController>
595        </controller>
596    </SpaceShip>
597
598
599<!--- TODO: Catch event when all enemies are dead; display an end message --->
600<!--- Message: Mission accomplished. Well done. Either you return to the main menu by pressing 'Esc' & then the button 'return to main menu'
601      or you might want to discover some further tricks. Then use the new portal. --->
602
603<!-------------------------------------- |Bonus Part| --------------------------------------->
604<!-- PortalEndPoint is not invisible (and triggered yet); billboard has to be removed later.
605    <Billboard position="-48900,0,0" material="Examples/Flare" colour="7010,10010,-5010" scale=5/>
606    <Template name=PortalDefault>
607        <PortalEndPoint>
608            <attached>
609                <Billboard material="Portals/Default" />
610            </attached>
611        </PortalEndPoint>
612    </Template>
613
614    <PortalEndPoint position="800,-700,500" id="3" distance="50" target="MobileEntity" design="PortalDefault">
615        <events>
616            <visibility>
617                <EventListener event=bonus />
618            </visibility>
619        </events>
620    </PortalEndPoint>
621
622    <PortalEndPoint position="7000,10000,-5000" id="4" distance="70" target="MobileEntity" design="PortalDefault">
623        <events>
624            <visibility>
625                <EventListener event=bonus />
626            </visibility>
627        </events>
628    </PortalEndPoint>
629
630    <PortalLink fromID="3" toID="4" />
631    <PortalLink fromID="4" toID="3" />
632
633    <DistanceTrigger name="bonus1" position="7000,10000,-5000" target="Pawn" distance=100 stayActive="true" delay=4 />
634    <SimpleNotification message="Rotate your ship. Press 'Q' or 'E'. ">
635        <events>
636            <trigger>
637                <EventListener event=bonus1 />
638            </trigger>
639        </events>
640    </SimpleNotification>
641
642    <DistanceTrigger name="bonus2" position="7000,10000,-5000" target="Pawn" distance=100 stayActive="true" delay=8 />
643    <SimpleNotification message="Switch the camera's position. Press 'C'. ">
644        <events>
645            <trigger>
646                <EventListener event=bonus2 />
647            </trigger>
648        </events>
649    </SimpleNotification>
650
651    <DistanceTrigger name="bonus3" position="7000,10000,-5000" target="Pawn" distance=100 stayActive="true" delay=12 />
652    <SimpleNotification message="360° view: press 'Ctrl' + use the mouse ">
653        <events>
654            <trigger>
655                <EventListener event=bonus3 />
656            </trigger>
657        </events>
658    </SimpleNotification>
659
660    <DistanceTrigger name="bonus4" position="7000,10000,-5000" target="Pawn" distance=100 stayActive="true" delay=16 />
661    <SimpleNotification message="Have a look at the main menu's settings.">
662        <events>
663            <trigger>
664                <EventListener event=bonus4 />
665            </trigger>
666        </events>
667    </SimpleNotification>
668
669    <DistanceTrigger name="bonus5" position="7000,10000,-5000" target="Pawn" distance=100 stayActive="true" delay=20 />
670    <SimpleNotification message="E.g: Settings->Miscellaneous->Nr. of bots">
671        <events>
672            <trigger>
673                <EventListener event=bonus5 />
674            </trigger>
675        </events>
676    </SimpleNotification>
677
678    <DistanceTrigger name="bonus6" position="7000,10000,-5000" target="Pawn" distance=100 stayActive="true" delay=24 />
679    <SimpleNotification message="That's it.">
680        <events>
681            <trigger>
682                <EventListener event=bonus6 />
683            </trigger>
684        </events>
685    </SimpleNotification>
686-->
687<!-- ATTENTION: DOESN'T WORK YET
688    < Script code="artificialcontroller setbotlevel 0.1">
689        <events>
690            <trigger>
691                <EventListener event=bonus6 />
692            </trigger>
693        </events>
694    </Script>
695
696    < Script code="addbots 3">
697        <events>
698            <trigger>
699                <EventListener event=bonus6 />
700            </trigger>
701        </events>
702    </Script>
703-->
704
705<!--------------------------------------DUMP YARD --------------------------------------->
706
707
708<!-- Idea: Pawndeath should trigger several , delayed events. -->
709    <!--EventTrigger name="PawnDied4" >
710        <events>
711            <trigger>
712                <Pawn health=30 position="0,300,0" direction="0,-1,0" collisionType=dynamic mass=100000>
713                    <attached>
714                        <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
715                    </attached>
716                    <collisionShapes>
717                        <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
718                    </collisionShapes>
719                </Pawn>
720            </trigger>
721        </events>
722    </EventTrigger-->
723
724    <!--SimpleNotification message="Manual rockets are difficult to use.">
725        <events>
726            <trigger>
727                <EventListener event=PawnDied4 />
728            </trigger>
729        </events>
730    </SimpleNotification>
731
732    <Trigger name=boxend1 mode=and >
733        <EventTrigger name=trigger6>
734            <events>
735                <trigger>
736                    <EventListener event=PawnDied4/>
737                </trigger>
738            </events>
739        </EventTrigger>
740        <DistanceTrigger name="boxend2" position="-200,0,0" target="Pawn" distance=100 stayActive="true" delay=2 />
741    </Trigger>
742
743    <SimpleNotification message="Let's move on to the pirate ships.">
744        <events>
745            <trigger>
746                <EventListener event=boxend1 />
747            </trigger>
748        </events>
749    </SimpleNotification-->
750
751
752  </Scene>
753</Level>
754
Note: See TracBrowser for help on using the repository browser.