Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/campaignHS15/data/levels/Campaign1.oxw @ 10743

Last change on this file since 10743 was 10743, checked in by paulsc, 9 years ago

Did some more work in quests.

File size: 24.4 KB
Line 
1<LevelInfo
2    name = "CampaignHS15 1"
3    description = "Protect the transporter!"
4    tags = "mission"
5    screenshot = "missionOne.png"
6/>
7
8<?lua
9    include("stats.oxo")
10    include("HUDTemplates3.oxo")
11    include("templates/lodInformation.oxt")
12?>
13
14<?lua
15    include("templates/spaceshipAssff2.oxt")
16    include("templates/spaceshipPirate.oxt")
17    include("templates/spaceshipEscort.oxt")
18    include("templates/spaceshipRing.oxt")
19    include("templates/spaceshipSwallow.oxt")
20    include("templates/spaceshipTransporter.oxt")
21    include("templates/FPS.oxt")
22?>
23
24<Level gametype = "Mission">
25    <templates>
26        <Template link="lodtemplate_default" />
27    </templates>
28
29    <?lua include("includes/notifications.oxi") ?>
30
31    <NotificationQueueCEGUI
32        name="narrative"
33        targets="simpleNotification"
34        size=3
35        displayTime=3.9
36        position="0.15, 0, 0.1, 0"
37        fontSize="23"
38        fontColor="0.3, 1, 0.2, 0.8"
39        alignment="HorzCentred"
40        displaySize="0.7, 0, 0, 0"
41    />
42
43    <!-- GLOBAL LUA VARIABLES -->
44    <?lua
45        waves = 3
46        enemies = 5
47    ?>
48
49    <Scene
50        ambientlight = "0.8, 0.8, 0.8"
51        skybox = "Orxonox/Starbox"
52        hasPhysics = true
53    >
54
55    <SpawnPoint name="playerSpawn" team=0 position="0,-50,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff2 />
56
57    <WorldAmbientSound source="Earth.ogg" looping="true" playOnLoad="true" />
58
59    <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"/>
60
61    <!--QUEST DEFINITIONS-->
62
63    <GlobalQuest id="quest1">
64        <QuestDescription title="Reach the Station A!" description="" failMessage="" completeMessage="" />
65        <hints>
66            <QuestHint id="quest1hint1" />
67        </hints>
68        <complete-effects>
69            <AddQuest questId="quest2" />
70            <AddQuest questId="quest2.1" />
71        </complete-effects>
72    </GlobalQuest>
73
74    <GlobalQuest id="quest2">
75        <QuestDescription title="Prepare to fight the Enemy" description="" failMessage="" completeMessage="" />
76        <hints>
77        </hints>
78        <subquests>
79            <GlobalQuest id="quest2.1">
80                <QuestDescription title="> Get a better Spaceship" description="" failMessage="" completeMessage="" />
81                <complete-effects>
82                    <AddQuest questId="quest2.2" />
83                </complete-effects>
84            </GlobalQuest>
85            <GlobalQuest id="quest2.2">
86                <QuestDescription title="> Meet your Unit" description="" failMessage="" completeMessage="" />
87            </GlobalQuest>
88        </subquests>
89        <complete-effects>
90            <AddQuest questId="quest3" />
91        </complete-effects>
92    </GlobalQuest>
93
94    <GlobalQuest id="quest3">
95        <QuestDescription title="Fight the first Wave" description="" failMessage="" completeMessage="" />
96        <hints>
97        </hints>
98        <complete-effects>
99            <AddQuest questId="quest4" />
100            <AddQuest questId="quest4.1" />
101            <AddQuest questId="quest4.2" />
102        </complete-effects>
103    </GlobalQuest>
104
105    <GlobalQuest id="quest4">
106        <QuestDescription title="Prepare for the next Wave" description="" failMessage="" completeMessage="" />
107        <hints>
108        </hints>
109        <subquests>
110            <GlobalQuest id="quest4.1">
111                <QuestDescription title="> Get to the Defense Station" description="" failMessage="" completeMessage="" />
112            </GlobalQuest>
113            <GlobalQuest id="quest4.2">
114                <QuestDescription title="> Find the turret" description="" failMessage="" completeMessage="" />
115            </GlobalQuest>
116        </subquests>
117        <complete-effects>
118            <AddQuest questId="quest5" />
119        </complete-effects>
120    </GlobalQuest>
121
122    <GlobalQuest id="quest5">
123        <QuestDescription title="Fight the Hord!" description="" failMessage="" completeMessage="" />
124        <hints>
125        </hints>
126        <complete-effects>
127            <AddQuest questId="quest6" />
128            <AddQuest questId="quest6.1" />
129            <AddQuest questId="quest6.2" />
130        </complete-effects>
131    </GlobalQuest>
132
133    <GlobalQuest id="quest6">
134        <QuestDescription title="Get back to the Transporter" description="" failMessage="" completeMessage="" />
135        <hints>
136        </hints>
137        <subquests>
138            <GlobalQuest id="quest6.1">
139                <QuestDescription title="> Collect the local Pickups" description="" failMessage="" completeMessage="" />
140            </GlobalQuest>
141            <GlobalQuest id="quest6.2">
142                <QuestDescription title="> Use Portal to the Transporter" description="" failMessage="" completeMessage="" />
143            </GlobalQuest>
144        </subquests>
145        <complete-effects>
146            <AddQuest questId="quest7" />
147        </complete-effects>
148    </GlobalQuest>
149
150    <GlobalQuest id="quest7">
151        <QuestDescription title="Fight the final Wave" description="" failMessage="" completeMessage="" />
152        <hints>
153        </hints>
154        <subquests>
155        </subquests>
156    </GlobalQuest>
157
158    <!--EVENTS AND TRIGGERS
159        Usable events and triggers:
160        _spawntrigger
161        _reachedA
162        _dock<A|B|C>
163        _docked<A>      WIP; see below
164        -joinedUnit
165        _wave<k>
166        _killedEnemy<k>.<i>
167        _waveClear<k>
168    -->
169
170    <EventMultiTrigger name="spawntrigger">
171        <events>
172            <trigger>
173                <EventListener event="playerSpawn" />
174            </trigger>
175        </events>
176    </EventMultiTrigger>
177
178    <DistanceTrigger name="reachedA" position="5000,-3000,0" distance=1000 target="SpaceShip" beaconMode="exclude" targetname="NPC" stayactive=true />
179
180    <!-- TODO: find out how to link an event to the COMPLETION of a dock. How is this not possible?? -->
181    <EventMultiTrigger name="dockedA" activations="1" stayactive="true" delay=3>
182        <events>
183            <trigger>
184                <EventListener event="dockA" />
185            </trigger>
186        </events>
187    </EventMultiTrigger>
188
189    <!-- TODO: fictive unit; to be added later -->
190    <DistanceTrigger name="joinedUnit" position="3500,-1500,0" distance=100 target="SpaceShip" beaconMode="exclude" targetname="NPC" stayactive=true />
191    <Billboard position="3500,-1500,0" amplitude=1 material="Flares/lensflare" colour="1,0,0.05" />     <!-- For debugging puropses -->
192
193    <EventMultiTrigger name="wave1" activations="1" stayactive="true" delay=4>
194        <events>
195            <trigger>
196                <EventListener event="joinedUnit" />
197            </trigger>
198        </events>
199    </EventMultiTrigger>
200
201    <!-- Recursive helper function for the end-of-wave events. F*ck the event system, seriously. -->
202    <?lua
203    function enemyTriggerRecursor(i, k)
204    if i > 0 then
205    return [[
206    <EventTrigger name=killedEnemy]] .. k .. [[.]] .. i .. [[ activations=1 stayactive=true delay=0.1>
207        <events>
208            <trigger>
209                <EventListener event=attackers]] .. k .. [[ />
210            </trigger>
211        </events>
212        ]] .. enemyTriggerRecursor(i-1, k) .. [[
213    </EventTrigger>
214    ]]
215    else return ""
216    end
217    end
218    ?>
219    <!-- Actual recursive Event(s) for the respective waves. -->
220    <?lua
221    for k = 1, waves, 1
222    do
223    print(enemyTriggerRecursor(enemies,k))
224    ?>
225    <EventMultiTrigger name="waveClear<?lua print(k) ?>" delay=4.0>
226        <events>
227            <trigger>
228                <EventListener event="killedEnemy<?lua print(k .. [[.]] .. enemies) ?>" />
229            </trigger>
230        </events>
231    </EventMultiTrigger>
232    <?lua end ?>
233
234    <!-- FIXME: This trigger needs fixing, as endMission can only be called by a Pawn Distance Trigger. Herpaderp.
235        Also, the fix proposed in MissionOne does not work anymore... -->
236   <EventMultiTrigger name="missionFailed" target="Pawn" stayActive="true" delay=1.5>
237       <events>
238           <trigger>
239               <EventListener event="transporter" />
240           </trigger>
241       </events>
242   </EventMultiTrigger>
243
244    <Script code="Mission endMission fail" onLoad="false">
245        <events>
246            <trigger>
247                <EventListener event="missionFailed" />
248            </trigger>
249        </events>
250    </Script>
251
252    <!--QUEST EFFECT BEACONS -->
253
254    <QuestEffectBeacon times=1>
255        <effects>
256            <AddQuest questId="quest1" />
257        </effects>
258        <events>
259            <execute>
260                <EventListener event="spawntrigger" />
261            </execute>
262        </events>
263    </QuestEffectBeacon>
264
265    <QuestEffectBeacon times=1>
266        <effects>
267            <CompleteQuest questId="quest1" />
268        </effects>
269        <events>
270            <execute>
271                <EventListener event="reachedA" />
272            </execute>
273        </events>
274    </QuestEffectBeacon>
275
276    <QuestEffectBeacon times=1>
277        <effects>
278            <CompleteQuest questId="quest2.1" />
279        </effects>
280        <events>
281            <execute>
282                <EventListener event="dockedA" />
283            </execute>
284        </events>
285    </QuestEffectBeacon>
286
287    <QuestEffectBeacon times=1>
288        <effects>
289            <CompleteQuest questId="quest2.2" />
290            <CompleteQuest questId="quest2" />
291        </effects>
292        <events>
293            <execute>
294                <EventListener event="joinedUnit" />
295            </execute>
296        </events>
297    </QuestEffectBeacon>
298
299    <QuestEffectBeacon times=1>
300        <effects>
301            <CompleteQuest questId="quest3" />
302        </effects>
303        <events>
304            <execute>
305                <EventListener event="waveClear1" />
306            </execute>
307        </events>
308    </QuestEffectBeacon>
309
310    <!--NOTIFICATIONS -->
311
312    <SimpleNotification broadcast="true" message="Welcome, Commander. Please report at Station A.">
313        <events>
314            <trigger>
315                <EventTrigger stayactive="true" delay=4 >
316                   <events>
317                      <trigger>
318                         <EventListener event="spawntrigger" />
319                      </trigger>
320                   </events>
321                </EventTrigger>
322            </trigger>
323        </events>
324    </SimpleNotification>
325
326    <SimpleNotification broadcast="true" message="Our enemy is set to attack us very soon.">
327        <events>
328            <trigger>
329                <EventTrigger stayactive="true" delay=8 >
330                   <events>
331                      <trigger>
332                         <EventListener event="spawntrigger" />
333                      </trigger>
334                   </events>
335                </EventTrigger>
336            </trigger>
337        </events>
338    </SimpleNotification>
339
340    <SimpleNotification broadcast="true" message="Please study your mission briefing!">
341        <events>
342            <trigger>
343                <EventTrigger stayactive="true" delay=12 >
344                   <events>
345                      <trigger>
346                         <EventListener event="spawntrigger" />
347                      </trigger>
348                   </events>
349                </EventTrigger>
350            </trigger>
351        </events>
352    </SimpleNotification>
353
354    <SimpleNotification broadcast="true" message="Welcome to Station A, Commander.">
355        <events>
356            <trigger>
357                <EventListener event="reachedA" />
358            </trigger>
359        </events>
360    </SimpleNotification>
361
362    <SimpleNotification broadcast="true" message="We've prepared a reinforced Ship for you.">
363        <events>
364            <trigger>
365                <EventTrigger stayactive="true" delay=4 >
366                   <events>
367                      <trigger>
368                         <EventListener event="reachedA" />
369                      </trigger>
370                   </events>
371                </EventTrigger>
372            </trigger>
373        </events>
374    </SimpleNotification>
375
376    <SimpleNotification broadcast="true" message="Now join our defense Team.">
377        <events>
378            <trigger>
379                <EventListener event="dockedA" />
380            </trigger>
381        </events>
382    </SimpleNotification>
383
384    <SimpleNotification broadcast="true" message="An enemy wave is approaching the shuttle!">
385        <events>
386            <trigger>
387                <EventListener event="wave1" />
388                <EventListener event="wave2" />
389                <EventListener event="wave3" />
390            </trigger>
391        </events>
392    </SimpleNotification>
393
394    <SimpleNotification broadcast="true" message="yippie ki yay motherf*cker!">
395        <events>
396            <trigger>
397                <EventListener event="attackers1" />
398                <EventListener event="attackers2" />
399                <EventListener event="attackers3" />
400            </trigger>
401        </events>
402    </SimpleNotification>
403
404    <SimpleNotification broadcast="true" message="Phew, that was close! Well done, Commmander.">
405        <events>
406            <trigger>
407                <EventListener event="waveClear1" />
408                <EventListener event="waveClear2" />
409                <EventListener event="waveClear3" />
410            </trigger>
411        </events>
412    </SimpleNotification>
413
414    <SimpleNotification broadcast="true" message="It's over... we failed. Retreat!">
415        <events>
416            <trigger>
417                <EventListener event="missionFailed" />
418            </trigger>
419        </events>
420    </SimpleNotification>
421
422    <!--STATIONS -->
423
424    <!-- (Temporary) Template for stations. Used to define common features of all Stations. -->
425    <Template name="station">
426        <Pawn mass=10000 collisionType=dynamic friction=0.01>
427          <attached>
428            <Model mesh="HydroHarvester.mesh" position="0,0,0" scale=50 />
429            <DistanceTriggerBeacon name="NPC" />
430          </attached>
431          <collisionShapes>
432            <BoxCollisionShape  position="-560,0,0" halfExtents="115,100,245" /><!-- Three lower boxes -->
433            <BoxCollisionShape  position="290,0,-480" halfExtents="115,100,245" yaw=-120 />
434            <BoxCollisionShape  position="290,0,480" halfExtents="115,100,245" yaw=-240 />
435            <BoxCollisionShape  position="-280,0,0" halfExtents="163,50,50" /><!-- Three lower connections -->
436            <BoxCollisionShape  position="140,0,-240" halfExtents="163,50,50" yaw=-120 />
437            <BoxCollisionShape  position="140,0,240" halfExtents="163,50,50" yaw=-240 />
438            <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" /><!-- Upper Tower -->
439            <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" yaw=-120 />
440            <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" yaw=-240 />
441            <BoxCollisionShape  position="0,400,0" halfExtents="43,110,26" yaw=-30 /><!-- Middle one-->
442            <BoxCollisionShape  position="-200,100,0" halfExtents="26,50,43" /><!--Three lower legs -->
443            <BoxCollisionShape  position="100,100,-173" halfExtents="43,50,26" yaw=-30 />
444            <BoxCollisionShape  position="100,100,-173" halfExtents="43,50,26" yaw=30 />
445            <BoxCollisionShape  position="-100,264,0" halfExtents="26,105,43" roll=-49 /><!--Three upper legs -->
446            <BoxCollisionShape  position="50,264,-87" halfExtents="26,105,43" roll=-49 yaw=-120 />
447            <BoxCollisionShape  position="50,264,87" halfExtents="26,105,43" roll=-49 yaw=-240 />
448          </collisionShapes>
449      </Pawn>
450    </Template>
451
452    <!-- A, Coordinates are approx. (cos(29pi/16), sin(29pi/16), 0)*3000 -->
453    <Pawn name="statA" team=0 radarname="Station A" position="5000,-3000,0" direction="0,1,0" initialhealth=10000 maxhealth=10000>
454        <templates>
455            <Template link="station" />
456        </templates>
457        <attached>
458            <DockingTarget name="dockTargetA" />
459            <Dock position="0,0,0" active=true>
460                <animations>
461                    <MoveToDockingTarget target="dockTargetA" />
462                </animations>
463                <effects>
464                    <DockToShip target="newSpaceShip" />
465                </effects>
466                <events>
467                    <execute>
468                        <EventListener event="dockA" />
469                    </execute>
470                </events>
471                <attached>
472                    <DistanceTrigger position="0,0,0" distance="200" target="SpaceShip" beaconMode="exclude" targetname="NPC" name="dockA" />
473                    <Billboard position="0,0,0" amplitude=1 material="Flares/lensflare" colour="1,0,0.05" />
474                </attached>
475            </Dock>
476        </attached>
477    </Pawn>
478
479    <!-- B, Coordinates are approx. (-cos(29pi/16), sin(29pi/16), 0)*3000 -->
480    <Pawn name="statB" team=0 radarname="Station B" position="-5000,-3000,0" direction="0,1,0" initialhealth=10000 maxhealth=10000>
481        <templates>
482            <Template link="station" />
483        </templates>
484        <attached>
485            <DockingTarget name="dockTargetB" />
486            <Dock position="0,0,0" active=true>
487                <animations>
488                    <MoveToDockingTarget target="dockTargetB" />
489                </animations>
490                <effects>
491                    <DockToShip target="newSpaceShip" />
492                </effects>
493                <events>
494                    <execute>
495                        <EventListener event="dockB" />
496                    </execute>
497                </events>
498                <attached>
499                    <DistanceTrigger position="0,0,0" distance="200" target="SpaceShip" beaconMode="exclude" targetname="NPC" name="dockB" />
500                    <Billboard position="0,0,0" amplitude=1 material="Flares/lensflare" colour="1,0,0.05" />
501                </attached>
502            </Dock>
503        </attached>
504    </Pawn>
505
506    <!-- C -->
507    <Pawn name="statC" team=0 radarname="Station C" position="0,-2300,0" direction="0,1,0" initialhealth=10000 maxhealth=10000>
508        <templates>
509            <Template link="station" />
510        </templates>
511        <attached>
512            <DockingTarget name="dockTargetC" />
513            <Dock position="0,0,0" active=true>
514                <animations>
515                    <MoveToDockingTarget target="dockTargetC" />
516                </animations>
517                <effects>
518                    <DockToShip target="fpsMode" />
519                </effects>
520                <events>
521                    <execute>
522                        <EventListener event="dockC" />
523                    </execute>
524                </events>
525                <attached>
526                    <DistanceTrigger position="0,0,0" distance="200" target="SpaceShip" beaconMode="exclude" targetname="NPC" name="dockC" />
527                    <Billboard position="0,0,0" amplitude=1 material="Flares/lensflare" colour="1,0,0.05" />
528                </attached>
529            </Dock>
530        </attached>
531    </Pawn>
532
533    <!-- New SpaceShip as destination of dock A-->
534    <SpaceShip
535        template            = "spaceshipassff2"
536        team                = "0"
537        position            = "4100,-2100,0"
538        orientation         = "-0.14, 0.68, 0.68, 0.223"
539        health              = "400"
540        initialhealth       = "400"
541        maxhealth           = "500"
542        shieldhealth        = "80"
543        initialshieldhealth = "80"
544        maxshieldhealth     = "120"
545        shieldabsorption    = "0.8"
546        reloadrate          = "1"
547        reloadwaittime      = "1"
548        name                = "newSpaceShip"
549        radarname           = "Defender" >
550      <attached>
551        <DockingTarget name="newSpaceShip" />
552        <DistanceTriggerBeacon name="newSpaceShip" />
553      </attached>
554    </SpaceShip>
555
556    <!-- FPS Player as destination of dock C-->
557    <FpsPlayer team=0 template = "fps" radarname = "First Person Player" position = "0,-2300,1201">
558        <attached>
559            <DockingTarget name="fpsMode" />
560            <DistanceTriggerBeacon name="fpsPlayer" />
561        </attached>
562    </FpsPlayer>
563
564    <StaticEntity position="0,-2300,1001" direction="0,0,-1" collisionType=static mass=100000 friction=0.01 >
565        <attached>
566          <Model position="0,0,0" mesh="crate.mesh" scale3D="80,80,5" />
567        </attached>
568        <collisionShapes>
569          <BoxCollisionShape position="0,0,0" halfExtents="400,400,25" />
570        </collisionShapes>
571    </StaticEntity>
572
573    <ForceField position="0,-2300,1001" direction="0,0,1" mode="homogen" diameter="400" forcedirection = "0,0,-500" />
574
575    <!--ELEMENTS -->
576
577    <?lua
578        dofile("includes/asteroidField.lua")
579        asteroidBelt(0,-2000, 0, 30, 0, 5, 20, 40, 500, 3300, 75, 0)
580    ?>
581
582    <Planet
583        position="5000,0,0"
584        scale="1000"
585        collisionType="dynamic"
586        linearDamping="0.8"
587        angularDamping="0"
588        mass="5000000"
589        pitch="0"
590        mesh="planets/muunilinst.mesh"
591        atmosphere="atmosphere1"
592        rotationaxis="1,0,0"
593        rotationrate="1.0"
594        atmospheresize="80.0f"
595        imagesize="1024.0f"
596        collisiondamage = 2
597        enablecollisiondamage = true
598      >
599      <attached>
600        <ForceField position="0,0,0" mode="sphere" diameter="2000" velocity="-500" />
601        </attached>
602          <collisionShapes>
603            <SphereCollisionShape radius="1000" position="0,0,0" />
604      </collisionShapes>
605    </Planet>
606
607    <?lua
608        dofile("includes/asteroidField.lua")
609        asteroidBelt(5000, 0, 0, 30, 0, 30, 5, 10, 1400, 1500, 200, 1)
610    ?>
611
612    <!-- Enemies. Outer loop defines waves, inner loop defines enemies in every wave. -->
613    <?lua
614    for k = 1, waves, 1
615    do
616    ?>
617    <?lua
618    for i = 1, enemies, 1
619    do
620    x = math.cos(math.pi/8*(i+1))*1500
621    y = math.sin(math.pi/8*(i+1))*1500
622    ?>
623    <SpaceShip visible=false active=flase name="attackers<?lua print(k)?>" radarname="Attacker" position="<?lua print(x)?>,<?lua print(y)?>,<?lua print(math.pow(-1,i)*250) ?>" lookat="0,0,0" team=1>
624        <templates>
625            <Template link="spaceshippirate" />
626        </templates>
627        <events>
628            <visibility>
629                <EventListener event="wave<?lua print(k)?>" />
630            </visibility>
631            <activity>
632                <EventListener event="wave<?lua print(k)?>" />
633            </activity>
634        </events>
635        <attached>
636            <DistanceTriggerBeacon name="NPC" />
637        </attached>
638        <controller>
639            <WaypointPatrolController name="attackController" alertnessradius=50 team=1 active=false>
640                <waypoints>
641                    <Attacher target="transporter" deletewithparent=false />
642                </waypoints>
643                <events>
644                    <activity>
645                        <EventListener event="wave<?lua print(k)?>" />
646                    </activity>
647                </events>
648            </WaypointPatrolController>
649        </controller>
650    </SpaceShip>
651    <?lua end ?>
652    <?lua end ?>
653
654    <Formation>
655
656    </Formation>
657
658    <!-- Transporter, starting Point is near A, end Point near B, the circle parameters for the waypoints are: Center = (0, -887, 0), r = 2613 -->
659    <SpaceShip position="5000,-3000,0" lookat="-2494, -1667, 0" team=0 name="transporter" radarname="Shuttle">
660        <templates>
661            <Template link="spaceshipTransporter" />
662        </templates>
663        <attached>
664            <DistanceTriggerBeacon name="NPC" />
665        </attached>
666        <controller>
667            <WaypointController accuracy=10 team=0>
668                <waypoints>
669                    <!-- A to B -->
670                    <?lua
671                    max = 5
672                    for i = 1, max, 1
673                    do
674                    x = math.cos(math.pi*(i+1)/8)*5000
675                    y = -math.sin(math.pi*(i+1)/8)*700-3000
676                    ?>
677                    <Billboard position="<?lua print(x) ?>,<?lua print(y) ?>,0" amplitude=1 material="Flares/lensflare" colour="1,1,0.05"/>
678                    <?lua end ?>
679
680                    <!-- Return Point -->
681                    <Billboard position="-5000, -3000, 0" amplitude=1 material="Flares/lensflare" colour="1,1,0.05"/>
682
683                    <!-- B to A -->
684                    <?lua
685                    max = 5
686                    for i = 1, max, 1
687                    do
688                    x = math.cos(math.pi*(max+2-i)/8)*5000
689                    y = -math.sin(math.pi*(max+2-i)/8)*700-3000
690                    ?>
691                    <Billboard position="<?lua print(x) ?>,<?lua print(y) ?>,0" amplitude=1 material="Flares/lensflare" colour="1,1,0.05"/>
692                    <?lua end ?>
693
694                    <!-- Start Point -->
695                    <Billboard position="5000,-3000,0" amplitude=1 material="Flares/lensflare" colour="1,1,0.05"/>
696                </waypoints>
697            </WaypointController>
698        </controller>
699    </SpaceShip>
700
701    </Scene>
702</Level>
Note: See TracBrowser for help on using the repository browser.