Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

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

Minor level changes. Questmenu pauses game now.

File size: 16.0 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?>
14
15<?lua
16include("templates/pickupRepresentationTemplates.oxt")
17?>
18
19<Level
20 name         = "Tutorial"
21 description  = "How to steer a spaceship."
22>
23  <templates>
24    <Template link=lodtemplate_default />
25  </templates>
26  <?lua include("includes/notifications.oxi") ?>
27
28  <NotificationQueueCEGUI
29    name="narrative"
30    targets="simpleNotification"
31    size=1
32    displayTime=30
33    position="0.2, 0, 0.1, 0"
34    fontSize="24"
35    fontColor="0.3, 1, 0.2, 0.8"
36    alignment="HorzCentred"
37    displaySize="0.6, 0, 0, 0"
38    />
39  <Scene
40    ambientlight = "0.8, 0.8, 0.8"
41    skybox       = "Orxonox/Starbox"
42  >
43    <?lua
44      include("includes/pickups.oxi")
45    ?>
46
47    <WorldAmbientSound
48      ambientSource="AlphaCentauri.ogg"
49      looping="true"
50      playOnLoad="true"
51    />
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    <SpawnPoint team=0 position="-200,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff />
55    <!-- Script code="artificialcontroller setbotlevel 0.1" /--> <!-- Does not influence waypointPatrolController-->
56
57<!-- END OF INCLUDES & NECESSARITIES -->
58
59<!-- TUTORIAL-TODO: -->
60
61<!-- 1. Aiming & Weapons (static targets, moving targets, dangerous targets)--> <!-- 3 Mouse buttons + "T"-->
62<!-- 2. Flying & manoeuvring (basic flying, using pickups, forcefields, docks & portals) --> <!-- "W","S","SPACE"-->
63<!-- 3. Game handling (quests, knowing when a game is over :-), pausing, chat, ... ) --> <!--"F3", "F2", "ESC" -->
64<!-- 4. Extras (other things to discover) --> <!-- "Q","E","A","D","C", "CTRL", "", ... -->
65
66<!--
67Four boxes for aiming
68TODO: Turn engine off at the beginning.
69TODO: display text: "Destroy those four boxes. Aim the a the box and shoot by using the left mouse button."
70"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."
71"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."
72"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."
73
74TODO: send in waypoint controlled ship that moves
75
76"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."
77
78TODO: Turn engine on. Display a waypoint.
79"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 to A 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 .."
80"That thing you've just collected is a drone. It will follow and protect you."
81TODO: send in a level 0.1 bot on a pirate ship.
82"Hi. We have been attacked by a pirate lately. Please protect us. The drone pickup will help you."
83
84-->
85<!-------------------------------------- PART ONE: Destroy boxes --------------------------------------->
86    <DistanceTrigger name="spawndelaytrigger1" position="-200,0,0" target="Pawn" distance=10 stayActive="true" delay=2 />
87    <SimpleNotification message="Destroy those four boxes.">
88        <events>
89            <trigger>
90                <EventListener event=spawndelaytrigger1 />
91            </trigger>
92        </events>
93    </SimpleNotification>
94
95    <DistanceTrigger name="spawndelaytrigger2" position="-200,0,0" target="Pawn" distance=10 stayActive="true" delay=5 />
96    <SimpleNotification message=" 1. Aim the a the red cycle.">
97        <events>
98            <trigger>
99                <EventListener event=spawndelaytrigger2 />
100            </trigger>
101        </events>
102    </SimpleNotification>
103
104    <DistanceTrigger name="spawndelaytrigger3" position="-200,0,0" target="Pawn" distance=10 stayActive="true" delay=8 />
105    <SimpleNotification message="2. Click! (hold the left mouse button)">
106        <events>
107            <trigger>
108                <EventListener event=spawndelaytrigger3 />
109            </trigger>
110        </events>
111    </SimpleNotification>
112
113<!-- static briefing END // Interactive briefing start -->
114
115  <SimpleNotification message="Right click on the next target." broadcast="true">
116        <events>
117            <trigger>
118                <Pawn health=30 position="0,0,0" direction="0,-1,0" collisionType=dynamic mass=100000>
119                    <attached>
120                        <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
121                    </attached>
122                    <collisionShapes>
123                        <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
124                    </collisionShapes>
125                </Pawn>
126            </trigger>
127        </events>
128    </SimpleNotification>
129
130  <SimpleNotification message="Middle click on the next target." broadcast="true">
131        <events>
132            <trigger>
133                <Pawn health=30 position="0,100,0" direction="0,-1,0" collisionType=dynamic mass=100000>
134                    <attached>
135                        <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
136                    </attached>
137                    <collisionShapes>
138                        <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
139                    </collisionShapes>
140                </Pawn>
141            </trigger>
142        </events>
143    </SimpleNotification>
144
145  <SimpleNotification message="Aim at the last target and press 'T'." broadcast="true">
146        <events>
147            <trigger>
148                <Pawn health=30 position="0,200,0" direction="0,-1,0" collisionType=dynamic mass=100000>
149                    <attached>
150                        <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
151                    </attached>
152                    <collisionShapes>
153                        <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
154                    </collisionShapes>
155                </Pawn>
156            </trigger>
157        </events>
158    </SimpleNotification>
159
160  <SimpleNotification message="Fly towards the pirates. Press 'W'." broadcast="true">
161        <events>
162            <trigger>
163                <Pawn health=30 position="0,300,0" direction="0,-1,0" collisionType=dynamic mass=100000>
164                    <attached>
165                        <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
166                    </attached>
167                    <collisionShapes>
168                        <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
169                    </collisionShapes>
170                </Pawn>
171            </trigger>
172        </events>
173    </SimpleNotification>
174
175
176<!--------------------------------------PART TWO: Moving targets --------------------------------------->
177    <DistanceTrigger name="movingtargets" position="0,500,0" target="Pawn" distance=180 stayActive="true" delay=2 />
178    <Billboard position="0,500,0" material="Examples/Flare" colour="0.5,0,0" scale=3/>
179    <SimpleNotification message="Try to hit the pirates while you are flying.">
180        <events>
181            <trigger>
182                <EventListener event=movingtargets />
183            </trigger>
184        </events>
185    </SimpleNotification>
186
187
188
189  <SimpleNotification message="Now get the other one." broadcast="true">
190        <events>
191            <trigger>
192                <SpaceShip position="0,2000,200" lookat="0,0,0">
193                    <templates>
194                      <Template link=spaceshippirate />
195                    </templates>
196                    <controller>
197                      <WaypointController>
198                         <waypoints>
199                          <Model mesh="cube.mesh" scale=8 position="  0,1700,-200" />
200                          <Model mesh="cube.mesh" scale=8 position="  0,1700,-700" />
201                          <Model mesh="cube.mesh" scale=8 position="500,1700,-700" />
202                          <Model mesh="cube.mesh" scale=8 position="500,1700,-200" />
203                       </waypoints>
204                    </WaypointController>
205                  </controller>
206                </SpaceShip>
207            </trigger>
208        </events>
209    </SimpleNotification>
210
211  <SimpleNotification message="Fly towards the space station (grey dot)." broadcast="true">
212        <events>
213            <trigger>
214                <SpaceShip position="0,2000,400" lookat="0,0,0">
215                  <templates>
216                    <Template link=spaceshippirate />
217                  </templates>
218                  <controller>
219                    <WaypointController>
220                      <waypoints>
221                        <Model mesh="cube.mesh" scale=8 position="  0,2400,1000" />
222                        <Model mesh="cube.mesh" scale=8 position="  0,2400,500" />
223                        <Model mesh="cube.mesh" scale=8 position="500,2400,500" />
224                        <Model mesh="cube.mesh" scale=8 position="500,2400, 1000" />
225                      </waypoints>
226                    </WaypointController>
227                  </controller>
228                </SpaceShip>
229            </trigger>
230        </events>
231    </SimpleNotification>
232
233<!--------------------------------------PART THREE: to the space station --------------------------------------->
234    <DistanceTrigger name="duball1" position="-1000,-300,700" target="Pawn" distance=700 stayActive="true" delay=2 />
235    <SimpleNotification message="Welcome to the Duball Space Station!">
236        <events>
237            <trigger>
238                <EventListener event=duball1 />
239            </trigger>
240        </events>
241    </SimpleNotification>
242
243    <DistanceTrigger name="duball2" position="-1000,-300,700" target="Pawn" distance=700 stayActive="true" delay=5 />
244    <SimpleNotification message="Warning: Something big is coming.">
245        <events>
246            <trigger>
247                <EventListener event=duball2 />
248            </trigger>
249        </events>
250    </SimpleNotification>
251
252    <!--DistanceTrigger name="duball3" position="-1000,-300,700" target="Pawn" distance=700 stayActive="true" delay=9 />
253    <SimpleNotification message="Get some help,  before it is too late.">
254        <events>
255            <trigger>
256                <EventListener event=duball3 />
257            </trigger>
258        </events>
259    </SimpleNotification-->
260
261    <DistanceTrigger name="duball4" position="-1000,-300,700" target="Pawn" distance=700 stayActive="true" delay=10 />
262    <SimpleNotification message="Use the portals to get help. (grey dot)">
263        <events>
264            <trigger>
265                <EventListener event=duball4 />
266            </trigger>
267        </events>
268    </SimpleNotification>
269
270
271
272<!-- PORTALS -->
273    <Template name=PortalDefault>
274        <PortalEndPoint>
275            <attached>
276                <Billboard material="Portals/Default" />
277            </attached>
278        </PortalEndPoint>
279    </Template>
280
281    <PortalEndPoint position="-1400,-500,800" id="1" distance="40" target="MobileEntity" design="PortalDefault">
282        <!--events>
283            <visibility>
284                <EventListener event=portal />
285            </visibility>
286        </events-->
287    </PortalEndPoint>
288
289    <PortalEndPoint position="-40000,0,0" id="2" distance="40" target="MobileEntity" design="PortalDefault" />
290    <PortalLink fromID="1" toID="2" />
291    <PortalLink fromID="2" toID="1" />
292<!-- PORTALS END-->
293
294
295
296<StaticEntity position="-1000,-300,700" collisionType=static>
297      <attached>
298        <Model scale=11 mesh="DuBall1.mesh" position = "-100,0,0"/>
299        <Model scale=11 mesh="DuBall2.mesh" position = "100,0,0"/>
300        <Billboard scale=7 material="Examples/Flare" colour="0.5,0.5,0.5" position = "-100,0,0"/>
301        <Billboard scale=7 material="Examples/Flare" colour="0.5,0.5,0.5" position = "100,0,0"/>       
302      </attached>
303      <collisionShapes>
304        <SphereCollisionShape radius="80"            position = "-100,0,0" />
305        <SphereCollisionShape radius="120"           position = "100,0,0" />
306        <BoxCollisionShape    halfExtents="90,25,45" position = "-155,0,40" />
307      </collisionShapes>
308</StaticEntity>
309
310    <DistanceTrigger name="duball3" position="-1000,-300,700" target="Pawn" distance=700 stayActive="true" delay=6 />
311    <!-- SpaceShip position="-1000,900,700" lookat="0,0,0">
312      <templates>
313        <Template link=spaceshipTransporter />
314      </templates>
315      <controller>
316        <WaypointPatrolController>
317          <waypoints>
318            <Model mesh="cube.mesh" scale=8 position="-1000,500,700" />
319          </waypoints>
320        </WaypointPatrolController>
321      </controller>
322        <events>
323            <trigger>
324                <EventListener event=duball3 />
325            </trigger>
326        </events>
327    </SpaceShip -->
328
329<!-------------------------------------- PART FOUR : Get Help --------------------------------------->
330    <PickupSpawner position="-40400,100,0" triggerDistance="10" respawnTime="30" maxSpawnedItems="1">
331      <pickup>
332        <DronePickup template=dronepickup />
333      </pickup>
334    </PickupSpawner>   
335
336
337
338
339
340    <Planet
341      position="-50000,0,0"
342      scale="1000"
343      collisionType="dynamic"
344      linearDamping="0.8"
345      angularDamping="0"
346      mass="10000000"
347      pitch="0"
348      mesh="planets/muunilinst.mesh"
349      atmosphere="atmosphere1"
350      rotationaxis="1,0,0"
351      rotationrate="1.0"
352      atmospheresize="80.0f"
353      imagesize="1024.0f"
354      collisiondamage = 2
355      enablecollisiondamage = true
356    >
357      <attached>
358        <ForceField position="0,0,0" mode="sphere" diameter="10000" velocity="-50" />
359      </attached>
360      <collisionShapes>
361        <SphereCollisionShape radius="1000" position="0,0,0" />
362      </collisionShapes>
363    </Planet>
364
365
366<!--------------------------------------DUMP YARD --------------------------------------->
367<!-- Idea: Pawndeath should trigger several , delayed events. -->
368    <!--EventTrigger name="PawnDied4" >
369        <events>
370            <trigger>
371                <Pawn health=30 position="0,300,0" direction="0,-1,0" collisionType=dynamic mass=100000>
372                    <attached>
373                        <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
374                    </attached>
375                    <collisionShapes>
376                        <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
377                    </collisionShapes>
378                </Pawn>
379            </trigger>
380        </events>
381    </EventTrigger-->
382
383    <!--SimpleNotification message="Manual rockets are difficult to use.">
384        <events>
385            <trigger>
386                <EventListener event=PawnDied4 />
387            </trigger>
388        </events>
389    </SimpleNotification>
390
391    <Trigger name=boxend1 mode=and >
392        <EventTrigger name=trigger6>
393            <events>
394                <trigger>
395                    <EventListener event=PawnDied4/>
396                </trigger>
397            </events>
398        </EventTrigger>
399        <DistanceTrigger name="boxend2" position="-200,0,0" target="Pawn" distance=100 stayActive="true" delay=2 />
400    </Trigger>
401
402    <SimpleNotification message="Let's move on to the pirate ships.">
403        <events>
404            <trigger>
405                <EventListener event=boxend1 />
406            </trigger>
407        </events>
408    </SimpleNotification-->
409
410
411  </Scene>
412</Level>
413
Note: See TracBrowser for help on using the repository browser.