| 1 | <!--FPS mode level | 
|---|
| 2 | autor: Florian Süess--> | 
|---|
| 3 | <LevelInfo | 
|---|
| 4 | name = "FPS Level HS14" | 
|---|
| 5 | description = "Entering a Space Station & finde a way through it." | 
|---|
| 6 | tags = "test" | 
|---|
| 7 | screenshot = "emptylevel.png" | 
|---|
| 8 | /> | 
|---|
| 9 |  | 
|---|
| 10 | <?lua | 
|---|
| 11 | include("stats.oxo") | 
|---|
| 12 | include("HUDTemplates3.oxo") | 
|---|
| 13 | include("HUDTemplatesFPS.oxo") | 
|---|
| 14 | include("templates/lodInformation.oxt") | 
|---|
| 15 | include("templates/pickupRepresentationTemplates.oxt") | 
|---|
| 16 | ?> | 
|---|
| 17 |  | 
|---|
| 18 | <?lua | 
|---|
| 19 | include("templates/spaceshipAssff.oxt") | 
|---|
| 20 | include("templates/spaceshipPirate.oxt") | 
|---|
| 21 | include("templates/spaceshipEscort.oxt") | 
|---|
| 22 | include("templates/bigship.oxt") | 
|---|
| 23 | include("templates/spaceshipTurret.oxt") | 
|---|
| 24 | include("templates/spaceshipCollateralDamage.oxt") | 
|---|
| 25 | include("templates/FPS.oxt") | 
|---|
| 26 | include("templates/HeavyCruiser.oxt") | 
|---|
| 27 | include("templates/spacestation_elements.oxt") | 
|---|
| 28 | ?> | 
|---|
| 29 |  | 
|---|
| 30 | <Level | 
|---|
| 31 | gametype = Deathmatch | 
|---|
| 32 | > | 
|---|
| 33 | <templates> | 
|---|
| 34 | <Template link=lodtemplate_default /> | 
|---|
| 35 | </templates> | 
|---|
| 36 |  | 
|---|
| 37 | <Scene | 
|---|
| 38 | ambientlight = "0.5, 0.5, 0.5" | 
|---|
| 39 | skybox       = "Orxonox/skyBoxMoreNebula" | 
|---|
| 40 | negativeWorldRange = "-100000, -100000, -100000" | 
|---|
| 41 | positiveWorldRange = " 100000,  100000,  100000" | 
|---|
| 42 | gravity      = "0,0,0" | 
|---|
| 43 | hasPhysics   = true | 
|---|
| 44 | > | 
|---|
| 45 |  | 
|---|
| 46 | <?lua | 
|---|
| 47 | include("includes/pickups.oxi") | 
|---|
| 48 | ?> | 
|---|
| 49 |  | 
|---|
| 50 | <!-- my ships --> | 
|---|
| 51 |  | 
|---|
| 52 | <Light type=directional position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0,1.0,1.0,0.5" specular="1.0, 0.9, 0.9, 1.0"/> | 
|---|
| 53 |  | 
|---|
| 54 | <SpawnPoint team=1 position="6000,2000,500" lookat="4000,-1000,-1000" spawnclass=SpaceShip pawndesign=spaceshipescort /> | 
|---|
| 55 | <!--Position normal Level: "6000,2000,500"; postion for work at the spacesation: "3000,0,0 "--> | 
|---|
| 56 |  | 
|---|
| 57 | <!--1,200,0--> | 
|---|
| 58 | <SpaceShip | 
|---|
| 59 | template            = "spaceshipassff" | 
|---|
| 60 | team                = "1" | 
|---|
| 61 | position            = "3337,-19,-320" | 
|---|
| 62 | orientation         = "5800,-200,-1200,0" | 
|---|
| 63 | health              = "200" | 
|---|
| 64 | initialhealth       = "200" | 
|---|
| 65 | maxhealth           = "200" | 
|---|
| 66 | shieldhealth        = "50" | 
|---|
| 67 | initialshieldhealth = "50" | 
|---|
| 68 | maxshieldhealth     = "50" | 
|---|
| 69 | shieldabsorption    = "0.8" | 
|---|
| 70 | shieldrechargerate  = "100" | 
|---|
| 71 | shieldrechargewaittime = "0.1" | 
|---|
| 72 | name                = "Tanis1" | 
|---|
| 73 | radarname           = "Light Destroyer" > | 
|---|
| 74 | <attached> | 
|---|
| 75 | <DockingTarget name="spaceShip" /> | 
|---|
| 76 | <DistanceTriggerBeacon name="bcnSpaceShip" /> | 
|---|
| 77 | </attached> | 
|---|
| 78 | </SpaceShip> | 
|---|
| 79 |  | 
|---|
| 80 |  | 
|---|
| 81 |  | 
|---|
| 82 | <StaticEntity position  = "2800,0,0" mass=10000 collisionType=static > | 
|---|
| 83 | <attached> | 
|---|
| 84 | <Model mesh="HydroHarvester.mesh" mass=10 position="0,0,0" scale=50 /> | 
|---|
| 85 | </attached> | 
|---|
| 86 | <collisionShapes> | 
|---|
| 87 | <BoxCollisionShape  position="-560,0,0" halfExtents="115,100,245" /><!-- Three lower boxes --> | 
|---|
| 88 | <BoxCollisionShape  position="290,0,-480" halfExtents="115,100,245" yaw=-120 /> | 
|---|
| 89 | <BoxCollisionShape  position="290,0,480" halfExtents="115,100,245" yaw=-240 /> | 
|---|
| 90 | <BoxCollisionShape  position="-280,0,0" halfExtents="163,50,50" /><!-- Three lower connections --> | 
|---|
| 91 | <BoxCollisionShape  position="140,0,-240" halfExtents="163,50,50" yaw=-120 /> | 
|---|
| 92 | <BoxCollisionShape  position="140,0,240" halfExtents="163,50,50" yaw=-240 /> | 
|---|
| 93 | <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" /><!-- Upper Tower --> | 
|---|
| 94 | <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" yaw=-120 /> | 
|---|
| 95 | <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" yaw=-240 /> | 
|---|
| 96 | <BoxCollisionShape  position="0,400,0" halfExtents="43,110,26" yaw=-30 /><!-- Middle one--> | 
|---|
| 97 | <BoxCollisionShape  position="-200,100,0" halfExtents="26,50,43" /><!--Three lower legs --> | 
|---|
| 98 | <BoxCollisionShape  position="100,100,-173" halfExtents="43,50,26" yaw=-30 /> | 
|---|
| 99 | <BoxCollisionShape  position="100,100,-173" halfExtents="43,50,26" yaw=30 /> | 
|---|
| 100 | <BoxCollisionShape  position="-100,264,0" halfExtents="26,105,43" roll=-49 /><!--Three upper legs --> | 
|---|
| 101 | <BoxCollisionShape  position="50,264,-87" halfExtents="26,105,43" roll=-49 yaw=-120 /> | 
|---|
| 102 | <BoxCollisionShape  position="50,264,87" halfExtents="26,105,43" roll=-49 yaw=-240 /> | 
|---|
| 103 | </collisionShapes> | 
|---|
| 104 | </StaticEntity> | 
|---|
| 105 |  | 
|---|
| 106 |  | 
|---|
| 107 | <!-- Docking I --> | 
|---|
| 108 | <Dock position="2830,20,50" roll=0 yaw=0 > | 
|---|
| 109 | <animations> | 
|---|
| 110 | <MoveToDockingTarget target="fistperson" /> | 
|---|
| 111 | </animations> | 
|---|
| 112 | <effects> | 
|---|
| 113 | <DockToShip target="fistperson" /> | 
|---|
| 114 | </effects> | 
|---|
| 115 | <events> | 
|---|
| 116 | <execute> | 
|---|
| 117 | <EventListener event="dockMe" /> | 
|---|
| 118 | </execute> | 
|---|
| 119 |  | 
|---|
| 120 | <undocking> | 
|---|
| 121 | <EventListener event="undockMe" /> | 
|---|
| 122 | </undocking> | 
|---|
| 123 |  | 
|---|
| 124 | </events> | 
|---|
| 125 | <attached> | 
|---|
| 126 | <!-- Trigger for docking with billboard --> | 
|---|
| 127 | <Billboard position="0,0,0" material="Flares/ringflare2" colour="0.2,0.4,0.8" scale=1 /> | 
|---|
| 128 | <DistanceTrigger position="0,0,0" distance="200" target="Pawn" | 
|---|
| 129 | beaconMode="exclude" targetname="bcnDestroyer" name="dockMe" | 
|---|
| 130 | /> | 
|---|
| 131 | <!-- Trigger for undocking with billboard -2800,-20055,-700--> | 
|---|
| 132 | <Billboard position="-1500,-20021,-50" material="Flares/ringflare2" colour="0.2,0.4,0.8" scale=1 /> | 
|---|
| 133 | <DistanceTrigger position="-1500,-20021,-50" distance="150" target="Pawn" | 
|---|
| 134 | beaconMode="identify" targetname="bcnDestroyer" name="undockMe" | 
|---|
| 135 | /> | 
|---|
| 136 | </attached> | 
|---|
| 137 |  | 
|---|
| 138 | </Dock> | 
|---|
| 139 |  | 
|---|
| 140 | <!-- FPS Player as destination of the dock --> | 
|---|
| 141 | <!-- My position after docking --> | 
|---|
| 142 | <FpsPlayer template = "fps" radarname = "First Person Player" position = "1330,-20016,0" > | 
|---|
| 143 | <attached> | 
|---|
| 144 | <DistanceTriggerBeacon name="bcnDestroyer" /> | 
|---|
| 145 | <DockingTarget name="fistperson" /> | 
|---|
| 146 | </attached> | 
|---|
| 147 | </FpsPlayer> | 
|---|
| 148 |  | 
|---|
| 149 |  | 
|---|
| 150 |  | 
|---|
| 151 |  | 
|---|
| 152 | <!-- Docking  II --> | 
|---|
| 153 | <Dock position="86,-20005,-700" roll=0 yaw=0 > | 
|---|
| 154 | <animations> | 
|---|
| 155 | <MoveToDockingTarget target="spaceShip" /> | 
|---|
| 156 | </animations> | 
|---|
| 157 | <effects> | 
|---|
| 158 | <DockToShip target="spaceShip" /> | 
|---|
| 159 | </effects> | 
|---|
| 160 | <events> | 
|---|
| 161 | <execute> | 
|---|
| 162 | <EventListener event="dockMe" /> | 
|---|
| 163 | </execute> | 
|---|
| 164 |  | 
|---|
| 165 | <undocking> | 
|---|
| 166 | <EventListener event="undockMe" /> | 
|---|
| 167 | </undocking> | 
|---|
| 168 |  | 
|---|
| 169 | </events> | 
|---|
| 170 | <attached> | 
|---|
| 171 | <!-- Trigger for docking with billboard --> | 
|---|
| 172 | <Billboard position="0,0,0" material="Flares/ringflare2" colour="0.3,0.4,0.5" scale=1 /> | 
|---|
| 173 | <DistanceTrigger position="0,0,0" distance="100" target="Pawn" | 
|---|
| 174 | beaconMode="exclude" targetname="bcnSpaceShip" name="dockMe" | 
|---|
| 175 | /> | 
|---|
| 176 | <!-- Trigger for undocking with billboard --> | 
|---|
| 177 | <Billboard position="3251,20006,380" material="Flares/ringflare2" colour="0.3,0.4,0.5" scale=1 /> | 
|---|
| 178 | <DistanceTrigger position="3251,20006,380" distance="100" target="Pawn" | 
|---|
| 179 | beaconMode="identify" targetname="bcnSpaceShip" name="undockMe" | 
|---|
| 180 | /> | 
|---|
| 181 | </attached> | 
|---|
| 182 | </Dock> | 
|---|
| 183 |  | 
|---|
| 184 |  | 
|---|
| 185 |  | 
|---|
| 186 | <!-- Enemy ships --> | 
|---|
| 187 |  | 
|---|
| 188 | <SpaceShip | 
|---|
| 189 | template            = "HeavyCruiser" | 
|---|
| 190 | team                = "0" | 
|---|
| 191 | position            = "5800,-200,-1200" | 
|---|
| 192 | orientation         = "1,200,0,0" | 
|---|
| 193 | health              = "2000" | 
|---|
| 194 | initialhealth       = "2000" | 
|---|
| 195 | maxhealth           = "2000" | 
|---|
| 196 | shieldhealth        = "200" | 
|---|
| 197 | initialshieldhealth = "200" | 
|---|
| 198 | maxshieldhealth     = "200" | 
|---|
| 199 | shieldabsorption    = "0.8" | 
|---|
| 200 | shieldrechargerate  = "1" | 
|---|
| 201 | shieldrechargewaittime = "1" | 
|---|
| 202 | name                = "Tanis0" | 
|---|
| 203 | radarname           = "Tanis big ship" > | 
|---|
| 204 | </SpaceShip> | 
|---|
| 205 | --> | 
|---|
| 206 |  | 
|---|
| 207 | <SpaceShip | 
|---|
| 208 | template            = "spaceshippirate" | 
|---|
| 209 | team                = "0" | 
|---|
| 210 | position            = "11000,0,-2500" | 
|---|
| 211 | orientation         = "1,200,0,0" | 
|---|
| 212 | health              = "200" | 
|---|
| 213 | initialhealth       = "200" | 
|---|
| 214 | maxhealth           = "200" | 
|---|
| 215 | shieldhealth        = "50" | 
|---|
| 216 | initialshieldhealth = "50" | 
|---|
| 217 | maxshieldhealth     = "50" | 
|---|
| 218 | shieldabsorption    = "0.8" | 
|---|
| 219 | shieldrechargerate  = "1" | 
|---|
| 220 | shieldrechargewaittime = "1" | 
|---|
| 221 | name                = "Tanis0" | 
|---|
| 222 | radarname           = "Pirate1" > | 
|---|
| 223 |  | 
|---|
| 224 | <controller> | 
|---|
| 225 | <AIController team=0/> | 
|---|
| 226 | </controller> | 
|---|
| 227 |  | 
|---|
| 228 | </SpaceShip> | 
|---|
| 229 |  | 
|---|
| 230 | <SpaceShip | 
|---|
| 231 | template            = "spaceshippirate" | 
|---|
| 232 | team                = "0" | 
|---|
| 233 | position            = "11000,0,-2500" | 
|---|
| 234 | orientation         = "1,200,0,0" | 
|---|
| 235 | health              = "200" | 
|---|
| 236 | initialhealth       = "200" | 
|---|
| 237 | maxhealth           = "200" | 
|---|
| 238 | shieldhealth        = "50" | 
|---|
| 239 | initialshieldhealth = "50" | 
|---|
| 240 | maxshieldhealth     = "50" | 
|---|
| 241 | shieldabsorption    = "0.8" | 
|---|
| 242 | shieldrechargerate  = "1" | 
|---|
| 243 | shieldrechargewaittime = "1" | 
|---|
| 244 | name                = "Tanis0" | 
|---|
| 245 | radarname           = "Pirate2" > | 
|---|
| 246 |  | 
|---|
| 247 | <controller> | 
|---|
| 248 | <AIController team=0/> | 
|---|
| 249 | </controller> | 
|---|
| 250 |  | 
|---|
| 251 | </SpaceShip> | 
|---|
| 252 |  | 
|---|
| 253 |  | 
|---|
| 254 | <!-- SpaceStation | 
|---|
| 255 |  | 
|---|
| 256 | The station can either be hidden outside of the skybox, within the hull of the space station if it is big enough or within a planet. | 
|---|
| 257 | Complex spacestations can be placed very far away from the spaceship so it is rendered at low resolution while the player uses the space ship. | 
|---|
| 258 |  | 
|---|
| 259 | --> | 
|---|
| 260 |  | 
|---|
| 261 | <!-- Hilfsobjekte fuer Koordinatensystem --> | 
|---|
| 262 |  | 
|---|
| 263 | <!-- The axis from the coordinatesystem are "red,green,yellow" and the orange boxe shows the negative direction. | 
|---|
| 264 | But atention, each element is different! A few of them are already rotatet with yaw, roll and pitch: | 
|---|
| 265 | -> "pitch" is a rotation around "red" in the "yellow, green" plain. | 
|---|
| 266 | -> "yaw" is a rotation around "green" in the "red, yellow" plain. | 
|---|
| 267 | -> "roll" is a rotation around "yellow" in the "green,red" plain. | 
|---|
| 268 | this chanches their negativ/positiv direction of the axis. | 
|---|
| 269 | --> | 
|---|
| 270 |  | 
|---|
| 271 |  | 
|---|
| 272 | <!--<Model position="0,0,0" mesh="cube_red.mesh" scale3D="10000,10,10" /> | 
|---|
| 273 | <Model position="0,0,0" mesh="cube_green.mesh" scale3D="10,10000,10" /> | 
|---|
| 274 | <Model position="0,0,0" mesh="cube.mesh" scale3D="10,10,10000" /> | 
|---|
| 275 |  | 
|---|
| 276 | <Model position="0,-100,0" mesh="cube_orange.mesh" scale3D="15,15,15" /> | 
|---|
| 277 | <Model position="-100,0,0" mesh="cube_orange.mesh" scale3D="15,15,15" /> | 
|---|
| 278 | <Model position="0,0,-100" mesh="cube_orange.mesh" scale3D="15,15,15" /> | 
|---|
| 279 |  | 
|---|
| 280 | <Model position="0,-20000,0" mesh="cube_red.mesh" scale3D="100,10,10" /> | 
|---|
| 281 | <Model position="0,-20000,0" mesh="cube_green.mesh" scale3D="10,100,10" /> | 
|---|
| 282 | <Model position="0,-20000,0" mesh="cube.mesh" scale3D="10,10,100" /> | 
|---|
| 283 |  | 
|---|
| 284 | <Model position="0,-20100,0" mesh="cube_orange.mesh" scale3D="15,15,15" /> | 
|---|
| 285 | <Model position="-100,-20000,0" mesh="cube_orange.mesh" scale3D="15,15,15" /> | 
|---|
| 286 | <Model position="0,-20000,-100" mesh="cube_orange.mesh" scale3D="15,15,15" /> --> | 
|---|
| 287 |  | 
|---|
| 288 |  | 
|---|
| 289 | <!-- Spacestation elements merged --> | 
|---|
| 290 | <StaticEntity position="0,-20000,0" direction="0,-1,0" collisionType=static mass=100000 friction=0.01 pitch=-90> | 
|---|
| 291 |  | 
|---|
| 292 | <attached> | 
|---|
| 293 |  | 
|---|
| 294 | <Model template = "ss_flag_room" position="750,-16,0"   yaw=180 /> | 
|---|
| 295 |  | 
|---|
| 296 | <Model template = "ss_machine"   position="1545,190,370"        yaw=32  pitch=180 /> | 
|---|
| 297 | <Model template = "ss_flag_aean" position="1330,16,0"           pitch=180 /> | 
|---|
| 298 | <Model template = "ss_chair"     position="1700,145,0" /> | 
|---|
| 299 |  | 
|---|
| 300 | <Model template = "ss_tube"              position="500,0,0" /> | 
|---|
| 301 | <Model template = "ss_table"     position="650,100,0" /> | 
|---|
| 302 | <Model template = "ss_cylinder"  position="0,75,0" /> | 
|---|
| 303 |  | 
|---|
| 304 | <Model template = "ss_curve"     position="-200,0,0"    yaw=180 /> | 
|---|
| 305 | <Model template = "ss_tube_x"    position="-10,0,700" /> | 
|---|
| 306 |  | 
|---|
| 307 | <Model template = "ss_curve"     position="-905,0,700"  yaw=180 /> | 
|---|
| 308 | <Model template = "ss_curve"     position="-810,0,1500" yaw=270/> | 
|---|
| 309 | <Model template = "ss_curve"     position="-10,0,1405"  yaw=0 /> | 
|---|
| 310 |  | 
|---|
| 311 | <Model template = "ss_wall"                     yaw=0   position="250,20,700" /> | 
|---|
| 312 | <Model template = "ss_table_cracked"    yaw=0   position="-110,100,700" /> | 
|---|
| 313 |  | 
|---|
| 314 |  | 
|---|
| 315 | </attached> | 
|---|
| 316 | </StaticEntity> | 
|---|
| 317 |  | 
|---|
| 318 |  | 
|---|
| 319 | <!-- Homogenous gravitationfield to simulate local gravity (activating the normal gravity will affect the spaceship terribly) --> | 
|---|
| 320 | <ForceField position="0,-20200,0" mode="homogen" diameter="5000" forcedirection = "0,-500,0" /> | 
|---|
| 321 |  | 
|---|
| 322 |  | 
|---|
| 323 |  | 
|---|
| 324 |  | 
|---|
| 325 |  | 
|---|
| 326 | <!-- Some more stuff --> | 
|---|
| 327 |  | 
|---|
| 328 | <!-- triple large belt around the planet  --> | 
|---|
| 329 | <?lua | 
|---|
| 330 | dofile("includes/asteroidField.lua") | 
|---|
| 331 | asteroidBelt(0, -19900, 0, 30, 0, 30, 30, 50, 7190, 7800, 250, 1) | 
|---|
| 332 | ?> | 
|---|
| 333 | <?lua | 
|---|
| 334 | dofile("includes/asteroidField.lua") | 
|---|
| 335 | asteroidBelt(0, -19900, 0, 30, 0, 30, 30, 50, 10000, 11000, 300, 1) | 
|---|
| 336 | ?> | 
|---|
| 337 | <?lua | 
|---|
| 338 | dofile("includes/asteroidField.lua") | 
|---|
| 339 | asteroidBelt(0, -19900, 0, 30, 0, 30, 30, 50, 14000, 15000, 350, 1) | 
|---|
| 340 | ?> | 
|---|
| 341 |  | 
|---|
| 342 | <Model position="0,-19900,0" mesh="planets/ganymede.mesh" scale="5000" /> | 
|---|
| 343 |  | 
|---|
| 344 |  | 
|---|
| 345 |  | 
|---|
| 346 | </Scene> | 
|---|
| 347 |  | 
|---|
| 348 | </Level> | 
|---|
| 349 |  | 
|---|