| 1 | <!--  --> | 
|---|
| 2 | <LevelInfo | 
|---|
| 3 |  name = "Docking to a Space Station" | 
|---|
| 4 |  description = "Docking into a spacestation." | 
|---|
| 5 |  tags = "showcase" | 
|---|
| 6 |  screenshot = "emptylevel.png" | 
|---|
| 7 | /> | 
|---|
| 8 |  | 
|---|
| 9 | <?lua | 
|---|
| 10 |   include("stats.oxo") | 
|---|
| 11 |   include("HUDTemplates3.oxo") | 
|---|
| 12 |   include("templates/lodInformation.oxt") | 
|---|
| 13 |   include("templates/pickupRepresentationTemplates.oxt") | 
|---|
| 14 | ?> | 
|---|
| 15 |  | 
|---|
| 16 | <?lua | 
|---|
| 17 |   include("templates/spaceshipAssff.oxt") | 
|---|
| 18 |   include("templates/spaceshipPirate.oxt") | 
|---|
| 19 |   include("templates/spaceshipEscort.oxt") | 
|---|
| 20 |   include("templates/bigship.oxt") | 
|---|
| 21 |   include("templates/spaceshipTurret.oxt") | 
|---|
| 22 |   include("templates/spaceshipCollateralDamage.oxt") | 
|---|
| 23 |   include("templates/FPS.oxt") | 
|---|
| 24 | ?> | 
|---|
| 25 |  | 
|---|
| 26 | <Level | 
|---|
| 27 |   gametype = Deathmatch | 
|---|
| 28 | > | 
|---|
| 29 |   <templates> | 
|---|
| 30 |     <Template link=lodtemplate_default /> | 
|---|
| 31 |   </templates> | 
|---|
| 32 |  | 
|---|
| 33 |   <Scene | 
|---|
| 34 |     ambientlight = "0.5, 0.5, 0.5" | 
|---|
| 35 |     skybox       = "Orxonox/Starbox" | 
|---|
| 36 |     negativeWorldRange = "-100000, -100000, -100000" | 
|---|
| 37 |     positiveWorldRange = " 100000,  100000,  100000" | 
|---|
| 38 |     gravity      = "0,0,0" | 
|---|
| 39 |     hasPhysics   = true | 
|---|
| 40 |   > | 
|---|
| 41 |  | 
|---|
| 42 |     <?lua | 
|---|
| 43 |       include("includes/pickups.oxi") | 
|---|
| 44 |     ?> | 
|---|
| 45 |  | 
|---|
| 46 |     <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"/> | 
|---|
| 47 |     <SpawnPoint team=0 position="3200,0,0" lookat="2800,0,0" spawnclass=SpaceShip pawndesign=spaceshipescort /> | 
|---|
| 48 |  | 
|---|
| 49 |     <StaticEntity position  = "2800,0,0" mass=10000 collisionType=static > | 
|---|
| 50 |       <attached> | 
|---|
| 51 |         <Model mesh="HydroHarvester.mesh" mass=10 position="0,0,0" scale=50 /> | 
|---|
| 52 |       </attached> | 
|---|
| 53 |       <collisionShapes> | 
|---|
| 54 |         <BoxCollisionShape  position="-560,0,0" halfExtents="115,100,245" /><!-- Three lower boxes --> | 
|---|
| 55 |         <BoxCollisionShape  position="290,0,-480" halfExtents="115,100,245" yaw=-120 /> | 
|---|
| 56 |         <BoxCollisionShape  position="290,0,480" halfExtents="115,100,245" yaw=-240 /> | 
|---|
| 57 |         <BoxCollisionShape  position="-280,0,0" halfExtents="163,50,50" /><!-- Three lower connections --> | 
|---|
| 58 |         <BoxCollisionShape  position="140,0,-240" halfExtents="163,50,50" yaw=-120 /> | 
|---|
| 59 |         <BoxCollisionShape  position="140,0,240" halfExtents="163,50,50" yaw=-240 /> | 
|---|
| 60 |         <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" /><!-- Upper Tower --> | 
|---|
| 61 |         <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" yaw=-120 /> | 
|---|
| 62 |         <BoxCollisionShape  position="0,530,0" halfExtents="172,52,298" yaw=-240 /> | 
|---|
| 63 |         <BoxCollisionShape  position="0,400,0" halfExtents="43,110,26" yaw=-30 /><!-- Middle one--> | 
|---|
| 64 |         <BoxCollisionShape  position="-200,100,0" halfExtents="26,50,43" /><!--Three lower legs --> | 
|---|
| 65 |         <BoxCollisionShape  position="100,100,-173" halfExtents="43,50,26" yaw=-30 /> | 
|---|
| 66 |         <BoxCollisionShape  position="100,100,-173" halfExtents="43,50,26" yaw=30 /> | 
|---|
| 67 |         <BoxCollisionShape  position="-100,264,0" halfExtents="26,105,43" roll=-49 /><!--Three upper legs --> | 
|---|
| 68 |         <BoxCollisionShape  position="50,264,-87" halfExtents="26,105,43" roll=-49 yaw=-120 /> | 
|---|
| 69 |         <BoxCollisionShape  position="50,264,87" halfExtents="26,105,43" roll=-49 yaw=-240 /> | 
|---|
| 70 |       </collisionShapes> | 
|---|
| 71 |     </StaticEntity> | 
|---|
| 72 |  | 
|---|
| 73 | <!-- Docking  --> | 
|---|
| 74 |     <Dock position="2830,20,50" roll=0 yaw=0 > | 
|---|
| 75 |         <animations> | 
|---|
| 76 |             <MoveToDockingTarget target="destroyer" /> | 
|---|
| 77 |         </animations> | 
|---|
| 78 |         <effects> | 
|---|
| 79 |             <DockToShip target="spaceShip" /> | 
|---|
| 80 |         </effects> | 
|---|
| 81 |         <events> | 
|---|
| 82 |             <execute> | 
|---|
| 83 |                 <EventListener event="dockMe" /> | 
|---|
| 84 |             </execute> | 
|---|
| 85 |  | 
|---|
| 86 |             <undocking> | 
|---|
| 87 |                 <EventListener event="undockMe" /> | 
|---|
| 88 |             </undocking> | 
|---|
| 89 |          | 
|---|
| 90 |             <activity> | 
|---|
| 91 |                 <EventListener event=notGameEnd /> | 
|---|
| 92 |             </activity> | 
|---|
| 93 |         </events> | 
|---|
| 94 |         <attached> | 
|---|
| 95 |         <!-- Trigger for docking with billboard --> | 
|---|
| 96 |             <Billboard position="0,0,0" material="Flares/ringflare2" colour="0.2,0.4,0.8" scale=1 /> | 
|---|
| 97 |             <DistanceTrigger position="0,0,0" distance="200" target="Pawn" | 
|---|
| 98 |                 beaconMode="exclude" targetname="bcnDestroyer" name="dockMe" | 
|---|
| 99 |             /> | 
|---|
| 100 |         <!-- Trigger for undocking with billboard --> | 
|---|
| 101 |             <Billboard position="-2630,-19970,150" material="Flares/ringflare2" colour="0.2,0.4,0.8" scale=1 /> | 
|---|
| 102 |             <DistanceTrigger position="-2630,-19970,150" distance="50" target="Pawn" | 
|---|
| 103 |                 beaconMode="identify" targetname="bcnDestroyer" name="undockMe" | 
|---|
| 104 |             /> | 
|---|
| 105 |         </attached> | 
|---|
| 106 |  | 
|---|
| 107 |     </Dock> | 
|---|
| 108 |  | 
|---|
| 109 | <!-- FPS Player as destination of the dock --> | 
|---|
| 110 | <FpsPlayer template = "fps" radarname = "First Person Player" position = "0,-19900,0" > | 
|---|
| 111 |       <attached> | 
|---|
| 112 |         <DockingTarget name="spaceShip" /> | 
|---|
| 113 |         <DistanceTriggerBeacon name="bcnDestroyer" /> | 
|---|
| 114 |         <DockingTarget name="destroyer" /> | 
|---|
| 115 |       </attached> | 
|---|
| 116 | </FpsPlayer> | 
|---|
| 117 |  | 
|---|
| 118 |  | 
|---|
| 119 | <!-- Cube as test SpaceStation | 
|---|
| 120 |  | 
|---|
| 121 | 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. | 
|---|
| 122 | 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. | 
|---|
| 123 |  | 
|---|
| 124 | --> | 
|---|
| 125 |   <StaticEntity position="0,-20000,0" direction="0,-1,0" collisionType=static mass=100000 friction=0.01 > | 
|---|
| 126 |       <attached> | 
|---|
| 127 |         <Model position="0,0,0" mesh="crate.mesh" scale3D="80,80,5" /> | 
|---|
| 128 |       </attached> | 
|---|
| 129 |       <collisionShapes> | 
|---|
| 130 |         <BoxCollisionShape position="0,0,0" halfExtents="400,400,25" /> | 
|---|
| 131 |       </collisionShapes> | 
|---|
| 132 |   </StaticEntity> | 
|---|
| 133 |  | 
|---|
| 134 | <!-- Homogenous gravitationfield to simulate local gravity (activating the normal gravity will affect the spaceship terribly) --> | 
|---|
| 135 | <ForceField position="0,-20000,0" mode="homogen" diameter="2000" forcedirection = "0,-500,0" /> | 
|---|
| 136 |  | 
|---|
| 137 |  | 
|---|
| 138 | <!-- Some more stuff --> | 
|---|
| 139 |  | 
|---|
| 140 |     <!-- triple large belt around the planet  --> | 
|---|
| 141 |     <?lua | 
|---|
| 142 |         dofile("includes/asteroidField.lua") | 
|---|
| 143 |         asteroidBelt(15000, 0, 0, 30, 0, 30, 30, 50, 7190, 7800, 250, 1) | 
|---|
| 144 |     ?> | 
|---|
| 145 |     <?lua | 
|---|
| 146 |         dofile("includes/asteroidField.lua") | 
|---|
| 147 |         asteroidBelt(15000, 0, 0, 30, 0, 30, 30, 50, 10000, 11000, 300, 1) | 
|---|
| 148 |     ?> | 
|---|
| 149 |     <?lua | 
|---|
| 150 |         dofile("includes/asteroidField.lua") | 
|---|
| 151 |         asteroidBelt(15000, 0, 0, 30, 0, 30, 30, 50, 14000, 15000, 350, 1) | 
|---|
| 152 |     ?> | 
|---|
| 153 |  | 
|---|
| 154 |     <Planet | 
|---|
| 155 |       position="15000,0,-1000" | 
|---|
| 156 |       scale="5000" | 
|---|
| 157 |       collisionType="dynamic" | 
|---|
| 158 |       linearDamping="0.8" | 
|---|
| 159 |       angularDamping="0" | 
|---|
| 160 |       mass="10000000" | 
|---|
| 161 |       pitch="0" | 
|---|
| 162 |       mesh="planets/ganymede.mesh" | 
|---|
| 163 |       atmosphere="atmosphere1" | 
|---|
| 164 |       rotationaxis="1,0,0" | 
|---|
| 165 |       rotationrate="1.0" | 
|---|
| 166 |       atmospheresize="80.0f" | 
|---|
| 167 |       imagesize="1024.0f" | 
|---|
| 168 |       collisiondamage = 2 | 
|---|
| 169 |       enablecollisiondamage = true | 
|---|
| 170 |     > | 
|---|
| 171 |       <attached> | 
|---|
| 172 |         <ForceField position="5000,0,0" mode="sphere" diameter="10000" velocity="-50" /> | 
|---|
| 173 |       </attached> | 
|---|
| 174 |       <collisionShapes> | 
|---|
| 175 |         <SphereCollisionShape radius="5000" position="0,0,0" /> | 
|---|
| 176 |       </collisionShapes> | 
|---|
| 177 |     </Planet> | 
|---|
| 178 |  | 
|---|
| 179 |   </Scene> | 
|---|
| 180 |  | 
|---|
| 181 | </Level> | 
|---|
| 182 |  | 
|---|