Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

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

Started work on narrative notifications

File size: 11.5 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?>
22
23<Level gametype = "Mission">
24    <templates>
25        <Template link="lodtemplate_default" />
26    </templates>
27
28    <?lua include("includes/notifications.oxi") ?>
29    <NotificationQueueCEGUI
30      name="narrative"
31      targets="simpleNotification"
32      size=3
33      displayTime=3.9
34      position="0.15, 0, 0.1, 0"
35      fontSize="23"
36      fontColor="0.3, 1, 0.2, 0.8"
37      alignment="HorzCentred"
38      displaySize="0.7, 0, 0, 0"
39      />
40
41    <Scene
42        ambientlight = "0.8, 0.8, 0.8"
43        skybox = "Orxonox/Starbox"
44    >
45
46    <SpawnPoint name="PlayerSpawn" team=1 position="0,-50,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff2 />
47
48    <WorldAmbientSound source="Earth.ogg" looping="true" playOnLoad="true" />
49
50    <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"/>
51
52    <!--QUEST DEFINITIONS-->
53
54    <GlobalQuest id="quest1">
55        <QuestDescription title="Reach the Station!" description="" failMessage="" completeMessage="" />
56        <hints>
57            <QuestHint id="quest1hint1" />
58        </hints>
59        <complete-effects>
60            <AddQuest questId="quest2" />
61            <AddQuest questId="quest2.1" />
62            <AddQuest questId="quest2.2" />
63            <AddQuest questId="quest2.3" />
64        </complete-effects>
65    </GlobalQuest>
66
67    <GlobalQuest id="quest2">
68        <QuestDescription title="Prepare to fight the Wave" description="" failMessage="" completeMessage="" />
69        <hints>
70        </hints>
71        <subquests>
72            <GlobalQuest id="quest2.1">
73                <QuestDescription title="Get a better Spaceship" description="" failMessage="" completeMessage="" />
74            </GlobalQuest>
75            <GlobalQuest id="quest2.2">
76                <QuestDescription title="Get some Pickups" description="" failMessage="" completeMessage="" />
77            </GlobalQuest>
78            <GlobalQuest id="quest2.3">
79                <QuestDescription title="Meet your Unit" description="" failMessage="" completeMessage="" />
80            </GlobalQuest>
81        </subquests>
82        <complete-effects>
83            <AddQuest questId="quest3" />
84        </complete-effects>
85    </GlobalQuest>
86
87    <GlobalQuest id="quest3">
88        <QuestDescription title="Fight the first Wave" description="" failMessage="" completeMessage="" />
89        <hints>
90        </hints>
91        <complete-effects>
92            <AddQuest questId="quest4" />
93            <AddQuest questId="quest4.1" />
94            <AddQuest questId="quest4.2" />
95        </complete-effects>
96    </GlobalQuest>
97
98    <GlobalQuest id="quest4">
99        <QuestDescription title="Prepare for the next Wave" description="" failMessage="" completeMessage="" />
100        <hints>
101        </hints>
102        <subquests>
103            <GlobalQuest id="quest4.1">
104                <QuestDescription title="Get to the Defense Station" description="" failMessage="" completeMessage="" />
105            </GlobalQuest>
106            <GlobalQuest id="quest4.2">
107                <QuestDescription title="Find the turret" description="" failMessage="" completeMessage="" />
108            </GlobalQuest>
109        </subquests>
110        <complete-effects>
111            <AddQuest questId="quest5" />
112        </complete-effects>
113    </GlobalQuest>
114
115    <GlobalQuest id="quest5">
116        <QuestDescription title="Fight the Hord!" description="" failMessage="" completeMessage="" />
117        <hints>
118        </hints>
119        <complete-effects>
120            <AddQuest questId="quest6" />
121            <AddQuest questId="quest6.1" />
122            <AddQuest questId="quest6.2" />
123        </complete-effects>
124    </GlobalQuest>
125
126    <GlobalQuest id="quest6">
127        <QuestDescription title="Get back to the Transporter" description="" failMessage="" completeMessage="" />
128        <hints>
129        </hints>
130        <subquests>
131            <GlobalQuest id="quest6.1">
132                <QuestDescription title="Collect the local Pickups" description="" failMessage="" completeMessage="" />
133            </GlobalQuest>
134            <GlobalQuest id="quest6.2">
135                <QuestDescription title="Use Portal to the Transporter" description="" failMessage="" completeMessage="" />
136            </GlobalQuest>
137        </subquests>
138        <complete-effects>
139            <AddQuest questId="quest7" />
140        </complete-effects>
141    </GlobalQuest>
142
143    <GlobalQuest id="quest7">
144        <QuestDescription title="Fight the final Wave" description="" failMessage="" completeMessage="" />
145        <hints>
146        </hints>
147        <subquests>
148        </subquests>
149    </GlobalQuest>
150
151    <!--EVENTS AND TRIGGERS
152        Usable events and triggers:
153        _spawntrigger
154        _reachedA
155        _wave<1|2|3>
156    -->
157
158    <EventMultiTrigger name="spawntrigger">
159        <events>
160            <trigger>
161                <EventListener event="PlayerSpawn" />
162            </trigger>
163        </events>
164    </EventMultiTrigger>
165
166    <QuestEffectBeacon times=1>
167        <effects>
168            <AddQuest questId="quest1" />
169        </effects>
170        <events>
171            <execute>
172                <EventListener event="spawntrigger" />
173            </execute>
174        </events>
175    </QuestEffectBeacon>
176
177    <DistanceTrigger name="reachedA" position="2494,-1667,0" distance=200 target="SpaceShip" beaconMode="exclude" targetname="NPC" stayactive=true />
178
179    <EventMultiTrigger name="wave1">
180        <events>
181            <trigger>
182                <EventListener event="reachedA" />
183            </trigger>
184        </events>
185    </EventMultiTrigger>
186
187    <!--NOTIFICATIONS -->
188
189    <SimpleNotification broadcast="true" message="Welcome, Commander. Please report at Station A">
190        <events>
191            <trigger>
192                <EventListener event="spawntrigger" />
193            </trigger>
194        </events>
195    </SimpleNotification>
196
197    <SimpleNotification broadcast="true" message="An enemy wave is approaching the shuttle!">
198        <events>
199            <trigger>
200                <EventListener event="wave1" />
201                <EventListener event="wave2" />
202                <EventListener event="wave3" />
203            </trigger>
204        </events>
205    </SimpleNotification>
206
207    <SimpleNotification broadcast="true" message="yippie kai yay motherf*cker!">
208        <events>
209            <trigger>
210                <EventListener event="attackers1" />
211                <EventListener event="attackers2" />
212                <EventListener event="attackers3" />
213            </trigger>
214        </events>
215    </SimpleNotification>
216
217    <!--STRUCTURE -->
218
219    <!-- A, Coordinates are approx. (cos(29pi/16), sin(29pi/16), 0)*3000 -->
220    <StaticEntity name="statA" position="2494,-1667,0" direction="0,-1,0" collisionType=static mass=100000 friction=0.01>
221        <attached>
222            <Model position="0,0,0" mesh="cube.mesh" scale3D="40,40,40" />
223        </attached>
224        <collisionShapes>
225            <BoxCollisionShape position="0,0,0" halfExtents="10,10,10" />
226        </collisionShapes>
227    </StaticEntity>
228
229    <!-- B, Coordinates are approx. (-cos(29pi/16), sin(29pi/16), 0)*3000 -->
230    <StaticEntity name="statB" position="-2494,-1667,0" direction="0,-1,0" collisionType=static mass=100000 friction=0.01>
231        <attached>
232            <Model position="0,0,0" mesh="cube.mesh" scale3D="40,40,40" />
233        </attached>
234        <collisionShapes>
235            <BoxCollisionShape position="0,0,0" halfExtents="10,10,10" />
236        </collisionShapes>
237    </StaticEntity>
238
239    <!-- C -->
240    <StaticEntity name="statC" position="0,-1400,0" direction="0,-1,0" collisionType=static mass=100000 friction=0.01>
241        <attached>
242            <Model position="0,0,0" mesh="cube.mesh" scale3D="40,40,40" />
243        </attached>
244        <collisionShapes>
245            <BoxCollisionShape position="0,0,0" halfExtents="10,10,10" />
246        </collisionShapes>
247    </StaticEntity>
248
249    <!--ELEMENTS -->
250
251    <!-- Enemies. Outer loop defines waves, inner loop defines enemies in every wave. -->
252    <?lua
253    waves = 5
254    for k = 1, waves, 1
255    do
256    ?>
257    <?lua
258    enemies = 5
259    for i = 1, enemies, 1
260    do
261    x = math.cos(math.pi/8*(i+1))*1500
262    y = math.sin(math.pi/8*(i+1))*1500
263    ?>
264    <SpaceShip visible=false active=false 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=2>
265        <templates>
266            <Template link="spaceshippirate" />
267        </templates>
268        <events>
269            <visibility>
270                <EventListener event="wave<?lua print(k)?>" />
271            </visibility>
272            <activity>
273                <EventListener event="wave<?lua print(k)?>" />
274            </activity>
275        </events>
276        <attached>
277            <DistanceTriggerBeacon name="NPC" />
278        </attached>
279        <controller>
280            <WaypointPatrolController name="attackController" alertnessradius=50 team=1 active=false>
281                <waypoints>
282                    <Attacher target="transporter" deletewithparent=false />
283                </waypoints>
284                <events>
285                    <activity>
286                        <EventListener event="wave<?lua print(k)?>" />
287                    </activity>
288                </events>
289            </WaypointPatrolController>
290        </controller>
291    </SpaceShip>
292    <?lua end ?>
293    <?lua end ?>
294
295    <!-- Transporter, starting Point is near A, end Point near B, the circle parameters for the waypoints are: Center = (0, -887, 0), r = 2613 -->
296    <SpaceShip position="2450, -1667, 0" lookat="-2494, -1667, 0" team=1 name="transporter" radarname="Shuttle">
297        <templates>
298            <Template link="spaceshipTransporter" />
299        </templates>
300        <attached>
301            <DistanceTriggerBeacon name="NPC" />
302        </attached>
303        <controller>
304            <WaypointController accuracy=10>
305                <waypoints>
306                    <!-- A to B -->
307                    <?lua
308                    max = 5
309                    for i = 1, max, 1
310                    do
311                    x = math.cos(math.pi*(i+1)/8)*2613
312                    y = -math.sin(math.pi*(i+1)/8)*2613-887
313                    ?>
314                    <Model mesh="sphere.mesh" scale=100 position="<?lua print(x) ?>,<?lua print(y) ?>,0" />
315                    <?lua end ?>
316
317                    <!-- Return Point -->
318                    <Model mesh="sphere.mesh" scale=100 position="-2450, -1667, 0" />
319
320                    <!-- B to A -->
321                    <?lua
322                    max = 5
323                    for i = 1, max, 1
324                    do
325                    x = math.cos(math.pi*(max+2-i)/8)*2613
326                    y = -math.sin(math.pi*(max+2-i)/8)*2613-887
327                    ?>
328                    <Model mesh="sphere.mesh" scale=100 position="<?lua print(x) ?>,<?lua print(y) ?>,0" />
329                    <?lua end ?>
330
331                    <!-- Start Point -->
332                    <Model mesh="sphere.mesh" scale=100 position="2450,-1667,0" />
333                </waypoints>
334            </WaypointController>
335        </controller>
336    </SpaceShip>
337
338    </Scene>
339</Level>
Note: See TracBrowser for help on using the repository browser.