Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/ProtectBoss_HS17/data/levels/ProtectBoss.oxw @ 11585

Last change on this file since 11585 was 11585, checked in by lrigoni, 6 years ago

Changes 20.11.2017

File size: 10.1 KB
Line 
1<LevelInfo
2 name = "ProtectBoss"
3 description = "Protect a disabled cargo ship!"
4 tags = "test"
5 screenshot = "emptylevel.png"
6/>
7
8<?lua
9  include("stats.oxo")
10  include("HUDTemplates3.oxo")
11  include("templates/lodInformation.oxt")
12  include("templates/HeavyCruiser.oxt")
13?>
14
15<?lua
16  include("templates/spaceshipEscort.oxt")
17  include("templates/spaceshipAssff.oxt")
18  include("templates/endurancetest_template.oxt")
19  include("templates/spaceshipPirate.oxt")
20?>
21
22<Level gametype="Mission">
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=3
32    displayTime=7
33    position="0.2, 0, 0.1, 0"
34    fontSize="16"
35    fontColor="0.3, 1, 0.2, 0.8"
36    alignment="HorzCentred"
37    displaySize="0.6, 0, 0, 0"
38  />
39
40  <Scene
41    ambientlight = "0.8, 0.8, 0.8"
42    skybox       = "Orxonox/Starbox"
43  >
44
45    <WorldAmbientSound source="Earth.ogg" looping="true" playOnLoad="true" /> <!-- AlphaCentauri.ogg, Mars.ogg-->
46
47    <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"/>
48
49    <EventMultiTrigger name=spawntrigger>
50      <events>
51        <trigger>
52          <SpawnPoint team=0 position="0,0,1" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff />
53        </trigger>
54      </events>
55    </EventMultiTrigger>
56   
57    <Pawn
58        team      = 0
59        collisionType = kinematic
60        position  = "0,0,-2500"
61        mass      = 10000
62        health    = 1000 initialhealth=1000 maxhealth="1000"
63        direction = "1,0,0"
64        rotationaxis="0,0,1" rotationrate="4.5" velocity="0,0,30"
65        name      = "CargoShip"
66        radarname = "Cargo Ship" >
67      <attached>
68        <DistanceTriggerBeacon name="CargoShip" />
69        <Model mesh="escortShip.mesh" mass=10000 position="0,0,0" scale=100 />
70      </attached>
71      <collisionShapes>
72        <BoxCollisionShape position="0,0,0" halfExtents="300,100,200" /> <!-- laenge  ,   dicke    , breite -->
73        <BoxCollisionShape position="-100,-50,-280" halfExtents="220,70,100" />
74        <BoxCollisionShape position="-100,-50,280" halfExtents="220,70,100" />
75      </collisionShapes>
76      <explosion>
77        <ExplosionPart scale = 12 minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" />
78        <ExplosionPart scale = 12 minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" />
79        <ExplosionPart scale = 12 minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" />
80        <ExplosionPart offset="94,33,-50" delay=1 minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" />
81        <ExplosionPart offset="94,33,-50" delay=1 minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" />
82        <ExplosionPart offset="94,33,-50" delay=1 minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" />
83   
84        <ExplosionPart scale = 5 mesh="CockpitDebris.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
85        <ExplosionPart scale = 5 mesh="BodyDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
86        <ExplosionPart scale = 5 mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
87        <ExplosionPart scale = 5 mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
88        <ExplosionPart scale = 5 mesh="CockpitDebris.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
89        <ExplosionPart scale = 5 mesh="BodyDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
90        <ExplosionPart scale = 5 mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
91        <ExplosionPart scale = 5 mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
92        <ExplosionPart delay=0.8 scale = 2.5 mesh="CockpitDebris.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
93        <ExplosionPart delay=0.8 scale = 2.5 mesh="BodyDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
94        <ExplosionPart delay=0.8 scale = 2.5 mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
95        <ExplosionPart delay=0.8 scale = 2.5 mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" />
96       
97        <ExplosionPart offset="20,13,-15" scale=7 delay=1.3 minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" />
98        <ExplosionPart offset="30,13,-15" scale=7 delay=1.3 minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" />
99        <ExplosionPart offset="20,13,-15" scale=7 delay=1.3 minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" />
100        <ExplosionPart offset="-20,-13,-15" scale=5 delay=1.8 minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" />
101        <ExplosionPart offset="-20,-13,-15" scale=5 delay=1.8 minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" />
102        <ExplosionPart offset="-20,-13,-15" scale=5 delay=1.8 minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" />
103      </explosion>
104    </Pawn>
105
106    <!-- triggers when first quest is completed -->
107    <DistanceTrigger name="passedAsteroidFieldOne" beaconMode=identify position="0,0,3000" distance=1000 target="Pawn" targetname="CargoShip" />
108
109    <!-- create asteroids -->
110    <?lua
111      for count = 1, 30, 1 do
112        x = math.random(-1000, 1000)
113        y = math.random(-1000, 1000)
114        z = 125 * count + math.random(-250, 250)
115        vmax = 7
116        rx = math.random(-vmax, vmax)
117        ry = math.random(-vmax, vmax)
118        rz = math.random(-vmax, vmax)
119        vx = math.random(-vmax, vmax)
120        vy = math.random(-vmax, vmax)
121        vz = math.random(-vmax, vmax)
122        rr = math.random() * 10
123        print("<Pawn team=1 health=30 position=\"" .. x .. "," .. y .. "," .. z .. "\" direction=\"0,0,-1\" velocity=\"" .. vx .. "," .. vy .. "," .. vz .. "\"rotationaxis=\"" .. rx .. "," .. ry .. "," .. rz .. "\" rotationrate=" .. rr .. " collisionType=dynamic mass=1 name=asteroid radarname=Asteroid> <!--events> <visibility> <EventListener event=flying4 /> </visibility> </events--> <attached> <Model position=\"0,0,0\" mesh=\"ast" .. math.random(6) .. ".mesh\" scale3D=\"10,10,10\" /> </attached> <collisionShapes> <SphereCollisionShape position=\"0,0,0\" radius=5 /> </collisionShapes> <!--controller> <WaypointController team=1> </WaypointController> </controller--> <explosion> <ExplosionPart minspeed=0 maxspeed=0 effect1=\"orxonox/explosion_flash2\" effect2=\"orxonox/explosion_flame2\" /> <ExplosionPart minspeed=0 maxspeed=0 effect1=\"orxonox/explosion_shockwave2\" effect2=\"orxonox/explosion_sparks2\" /> <ExplosionPart minspeed=0 maxspeed=0 effect1=\"orxonox/explosion_streak2\" effect2=\"orxonox/explosion_afterglow\" /> </explosion> </Pawn>")
124      end
125    ?>
126
127    <!-- start first quest -->
128    <QuestEffectBeacon times=1>
129      <effects>
130        <AddQuest questId="ProtectBoss.AsteroidField" />
131      </effects>
132      <events>
133        <execute>
134          <EventListener event=spawntrigger />
135        </execute>
136      </events>
137    </QuestEffectBeacon>
138
139    <!-- start second quest (doesn't work yet) -->
140    <QuestEffectBeacon times=1>
141      <effects>
142        <CompleteQuest questId="ProtectBoss.AsteroidField" />
143        <!--AddQuest questId="ProtectBoss.PirateAttack" /-->
144      </effects>
145      <events>
146        <execute>
147          <EventListener event=passedAsteroidFieldOne />
148        </execute>
149      </events>
150    </QuestEffectBeacon>
151
152    <SimpleNotification message="Protect the cargo ship! (Info: F3)" broadcast="true">
153        <events>
154            <trigger>
155                <EventListener event=spawntrigger />
156            </trigger>
157        </events>
158    </SimpleNotification>
159
160    <LocalQuest id="ProtectBoss.AsteroidField">
161        <QuestDescription title="Asteroid Field" description="The cargo ship in front of you is disabled and is drifting uncontrolled! Shoot the asteroids out of the way to protect it!" failmessage="The cargo ship has been hit!" completeMessage="" />
162        <complete-effects>
163            <AddQuest questId="ProtectBoss.PirateAttack" />
164        </complete-effects>
165    </LocalQuest>
166
167    <LocalQuest id="ProtectBoss.PirateAttack">
168      <QuestDescription title="Pirate Attack" description="Protect the cargo ship from the attacking pirates!" failmessage="The pirates boarded the cargo ship!" completeMessage="" />
169    </LocalQuest>
170
171    <SimpleNotification message="Pirates are attacking!" broadcast="true" >
172        <events>
173            <trigger>
174                <EventListener event="passedAsteroidFieldOne" />
175            </trigger>
176        </events>
177    </SimpleNotification>
178
179    <SimpleNotification message="The cargo ship got destroyed!" broadcast=true >
180      <events>
181            <trigger>
182                <EventListener event="CargoShip" />
183            </trigger>
184        </events>
185    </SimpleNotification>
186
187    <!-- A function to put pirates to a certain location -->
188    <?lua
189      function placePirate(posX, posY, posZ, trigger)
190        print("<SpaceShip mass=10 position=\"" .. posX .. "," .. posY .. "," .. posZ .. "\" name=Pirate radarname=Pirate><events><visibility><EventListener event=\"" .. trigger .. "\"/></visibility><activity><EventListener event=\"" .. trigger .. "\"/></activity></events><templates><Template link=spaceshippirate /></templates><controller><WaypointPatrolController alertnessradius=3129 team=1 active=false><waypoints><Model mesh=\"cube.mesh\" scale=0 position=\"-1300,-600,900\" /><Model mesh=\"cube.mesh\" scale=0 position=\"0,0,0\" /></waypoints><events><activity><EventListener event=attack /></activity></events></WaypointPatrolController></controller></SpaceShip>")
191      end
192    ?>
193
194    <?lua
195      placePirate(0, 0, 5500, "passedAsteroidFieldOne")
196      placePirate(0, 0, 6500, "passedAsteroidFieldOne")
197      placePirate(0, 0, 7500, "passedAsteroidFieldOne")
198    ?>
199
200  </Scene>
201</Level>
202
Note: See TracBrowser for help on using the repository browser.